claude-code-best 1.10.8 → 1.10.9

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 (411) hide show
  1. package/dist/chunks/{AddWorkspaceDirectory-AyMy4OCD.js → AddWorkspaceDirectory-BAz_OE49.js} +3 -3
  2. package/dist/chunks/{App-DORYioIb.js → App-DjqoKdzZ.js} +4 -4
  3. package/dist/chunks/{ApproveApiKey-S_PhcDiO.js → ApproveApiKey-Bd-GuWGQ.js} +2 -2
  4. package/dist/chunks/{AssistantSessionChooser-_6CoGrsi.js → AssistantSessionChooser-cDCVWbRu.js} +3 -3
  5. package/dist/chunks/{BackgroundTasksDialog-DRXUENfu.js → BackgroundTasksDialog-A-bXtbQz.js} +5 -5
  6. package/dist/chunks/{BypassPermissionsModeDialog-C_0P04Qi.js → BypassPermissionsModeDialog-CeqXDtAk.js} +2 -2
  7. package/dist/chunks/{ClaudeInChromeOnboarding-CPgxw3Jd.js → ClaudeInChromeOnboarding-CVMVH-uW.js} +2 -2
  8. package/dist/chunks/{ClaudeMdExternalIncludesDialog-HW6hFwga.js → ClaudeMdExternalIncludesDialog-CKFjbncl.js} +2 -2
  9. package/dist/chunks/{ClaudeMdExternalIncludesDialog-nx6BnDFO.js → ClaudeMdExternalIncludesDialog-CW8FUIVN.js} +1 -1
  10. package/dist/chunks/ConsoleOAuthFlow-mEIkCzbi.js +3 -0
  11. package/dist/chunks/{DesktopHandoff-DDZW1f4B.js → DesktopHandoff-BNLQPXUF.js} +2 -2
  12. package/dist/chunks/{DevChannelsDialog-BxT1gBI-.js → DevChannelsDialog-5l9CKzbU.js} +1 -1
  13. package/dist/chunks/{DiffDialog-C_M5fcZ1.js → DiffDialog-BRbh1v9n.js} +3 -3
  14. package/dist/chunks/{Doctor-BeFtx51Y.js → Doctor-BKPcK-MS.js} +9 -9
  15. package/dist/chunks/{ExitFlow-Dol5ZTVp.js → ExitFlow-BNlryoxG.js} +2 -2
  16. package/dist/chunks/{Feedback-C6XXxkW_.js → Feedback-DgiWyIFi.js} +3 -3
  17. package/dist/chunks/{Grove-BXGgnmM2.js → Grove-Ci6HVvhm.js} +1 -1
  18. package/dist/chunks/{HybridTransport-6KE-2tdG.js → HybridTransport-DImnn3KV.js} +3 -3
  19. package/dist/chunks/{ITermBackend-DU4crlJ8.js → ITermBackend-B5UV37ee.js} +1 -1
  20. package/dist/chunks/{InvalidConfigDialog-COQp5wx6.js → InvalidConfigDialog-V1dZt-dr.js} +2 -2
  21. package/dist/chunks/{InvalidSettingsDialog-C4ZqH7ua.js → InvalidSettingsDialog-B5HKSbaV.js} +2 -2
  22. package/dist/chunks/{MCPConnectionManager-Ci26BuqG.js → MCPConnectionManager-LEKsUSr7.js} +4 -4
  23. package/dist/chunks/{McpParsingWarnings-k4GVGSbD.js → McpParsingWarnings-PXbJmU4y.js} +1 -1
  24. package/dist/chunks/{MessageSelector-C-OCaW_O.js → MessageSelector-CfB_icn6.js} +10 -12
  25. package/dist/chunks/{Messages-B9hbb5uA.js → Messages-SI98vKCn.js} +16 -16
  26. package/dist/chunks/{Onboarding-BDtHvYTx.js → Onboarding-55_xhADf.js} +8 -8
  27. package/dist/chunks/{OverageCreditUpsell-B4DOf4gh.js → OverageCreditUpsell-BcCQjrn2.js} +3 -3
  28. package/dist/chunks/{PluginSettings-3R1CqSfW.js → PluginSettings-xXk03JTg.js} +13 -13
  29. package/dist/chunks/{PromptInputFooterSuggestions-CxqTMId_.js → PromptInputFooterSuggestions-ChU0dwxp.js} +2 -2
  30. package/dist/chunks/{PromptInputHelpMenu-BGgyDIkK.js → PromptInputHelpMenu-Bu4DVlsf.js} +3 -3
  31. package/dist/chunks/{QueryEngine-ChpFG8gv.js → QueryEngine-D-I5zLOq.js} +6 -6
  32. package/dist/chunks/{REPL-CG0UgVfl.js → REPL-3gzD29Jx.js} +1081 -2150
  33. package/dist/chunks/{RemoteCallout-B0VqS1Qt.js → RemoteCallout-DZa1GMN3.js} +4 -4
  34. package/dist/chunks/{RemoteSessionManager-B1roy_8S.js → RemoteSessionManager-Dl3oP-RW.js} +10 -10
  35. package/dist/chunks/{ResumeConversation-BWrUge-0.js → ResumeConversation-DoG_8p6R.js} +5 -5
  36. package/dist/chunks/{SSETransport-C2QsETHl.js → SSETransport-BrAtv7Uv.js} +2 -2
  37. package/dist/chunks/{Settings-COOyI14X.js → Settings-DaWxTRL7.js} +15 -15
  38. package/dist/chunks/{TeleportProgress-qSHTYfot.js → TeleportProgress-DbQXwC6f.js} +1 -1
  39. package/dist/chunks/{TeleportRepoMismatchDialog-CGsCO8by.js → TeleportRepoMismatchDialog-Bqh7GtzH.js} +3 -3
  40. package/dist/chunks/{TeleportResumeWrapper-DXrpfnNe.js → TeleportResumeWrapper-DFozOXmi.js} +3 -3
  41. package/dist/chunks/{ThemePicker-DimvavHs.js → ThemePicker-B2A3Q2PJ.js} +3 -3
  42. package/dist/chunks/{TmuxBackend-H0XnczhB.js → TmuxBackend-BHVSdxI0.js} +1 -1
  43. package/dist/chunks/ToolSearchTool-CTr76adP.js +3 -0
  44. package/dist/chunks/{TrustDialog-DeSs6f0D.js → TrustDialog-Cd1jrJjA.js} +4 -4
  45. package/dist/chunks/{ValidationErrorsList-C4Km61yv.js → ValidationErrorsList-BVT83Ain.js} +1 -1
  46. package/dist/chunks/{WindowsTerminalBackend-Bgv7-JUL.js → WindowsTerminalBackend-Buqgk5o3.js} +1 -1
  47. package/dist/chunks/{add-dir-CHNcl-5z.js → add-dir-DZDlrqv0.js} +2 -2
  48. package/dist/chunks/{agentDisplay-BBigvlJ5.js → agentDisplay-uyubCgl8.js} +2 -2
  49. package/dist/chunks/{agents-CFvEeCnI.js → agents-CXGQlk_G.js} +9 -9
  50. package/dist/chunks/{agents-Bnzh76m3.js → agents-D0VMvYy6.js} +2 -2
  51. package/dist/chunks/{ant-DLe5klM_.js → ant-Vv3urgrx.js} +2 -2
  52. package/dist/chunks/{api-Bx57yPja.js → api-BAka7RGb.js} +1 -1
  53. package/dist/chunks/{api-HJVu8Bgf.js → api-q0v0qC6U.js} +1 -1
  54. package/dist/chunks/asciicast--W1-QPVl.js +2 -0
  55. package/dist/chunks/{assistant-BcJ2VyZO.js → assistant-BvK7La-m.js} +4 -4
  56. package/dist/chunks/{assistant-DKGoLYoz.js → assistant-_rU-HBfo.js} +2 -2
  57. package/dist/chunks/{auth-BVoXNOdu.js → auth-BYIRq4FR.js} +1 -1
  58. package/dist/chunks/auth-QiRSNaR0.js +3 -0
  59. package/dist/chunks/{autoMode-BjMFpRPS.js → autoMode-D-Vu_d5G.js} +3 -3
  60. package/dist/chunks/{autonomy-B142xgn9.js → autonomy-Cpzq6lOY.js} +42 -7
  61. package/dist/chunks/{autonomyPanel-DrItmDJf.js → autonomyPanel-DRlPhdsS.js} +2 -2
  62. package/dist/chunks/{backgroundHousekeeping-DPSnu12B.js → backgroundHousekeeping-B0XOYGPA.js} +6 -6
  63. package/dist/chunks/{backgroundHousekeeping-xKDy8FkD.js → backgroundHousekeeping-mtEIEw6l.js} +1 -1
  64. package/dist/chunks/{banner-2Io8Jttd.js → banner-trVEKeoE.js} +1 -1
  65. package/dist/chunks/{bg-D-cs4pwp.js → bg-AZpkHvVY.js} +1 -1
  66. package/dist/chunks/{bg-2DXXMI4u.js → bg-BhP-16DX.js} +5 -5
  67. package/dist/chunks/{branch-C70keLeV.js → branch-BbzfF7EC.js} +2 -2
  68. package/dist/chunks/{bridge-BggvL4iM.js → bridge-1LlgPjAx.js} +9 -9
  69. package/dist/chunks/{bridgeConfig-BeCM9dMF.js → bridgeConfig-B88funD-.js} +1 -1
  70. package/dist/chunks/{bridgeConfig-DsVyayv1.js → bridgeConfig-CLWrVvio.js} +1 -1
  71. package/dist/chunks/{bridgeEnabled-oCT5xVvX.js → bridgeEnabled-5qQEn2Oy.js} +1 -1
  72. package/dist/chunks/{bridgeEnabled-Dj8FWS0e.js → bridgeEnabled-CCY6kXcK.js} +2 -2
  73. package/dist/chunks/{bridgeMain-Cnni8EVq.js → bridgeMain-Dn6ZZ7En.js} +36 -36
  74. package/dist/chunks/{bridgeMessaging-CDla4R6o.js → bridgeMessaging-CwzNeRb-.js} +2 -2
  75. package/dist/chunks/{btw-BzdgUzJU.js → btw-DWVVSHYd.js} +5 -5
  76. package/dist/chunks/{buddy-ovy_skht.js → buddy-HTgZuWva.js} +3 -3
  77. package/dist/chunks/{bypassPermissionsKillswitch-BJ7iACst.js → bypassPermissionsKillswitch-DfqbYrGg.js} +1 -1
  78. package/dist/chunks/{caches-CBfjkIrn.js → caches-BZ70MTke.js} +8 -8
  79. package/dist/chunks/{caches-B5mZT9E-.js → caches-BkDAiZ40.js} +1 -1
  80. package/dist/chunks/{ccrClient-DKQN014H.js → ccrClient-Bu0_3uS9.js} +3 -3
  81. package/dist/chunks/changeDetector-DWNPUIOB.js +3 -0
  82. package/dist/chunks/{channelNotification-B1HVtfcI.js → channelNotification-Do1-GDXI.js} +1 -1
  83. package/dist/chunks/{channelNotification-Dgrgm0St.js → channelNotification-LQalwcBX.js} +2 -2
  84. package/dist/chunks/{chrome-A_IWe_cO.js → chrome-BDB0n9I0.js} +3 -3
  85. package/dist/chunks/{clear-Cv0qvLzE.js → clear-CN5Grsjj.js} +1 -1
  86. package/dist/chunks/{client-DEQ6taWJ.js → client-D7jFd9Op.js} +1 -1
  87. package/dist/chunks/{color-rH76d2GW.js → color-CLJdYFQw.js} +1 -1
  88. package/dist/chunks/{commands-BToVM-n_.js → commands-CJwQylUG.js} +1 -1
  89. package/dist/chunks/{commitAttribution-x-Y9qiEw.js → commitAttribution-B8-sImCH.js} +1 -1
  90. package/dist/chunks/{commitAttribution--kWCfiBX.js → commitAttribution-BoQuda3v.js} +1 -1
  91. package/dist/chunks/{compact-CuLy_ZmV.js → compact-CYBTrlSH.js} +1 -1
  92. package/dist/chunks/{companion-BserNxZw.js → companion-DqsAgrdS.js} +1 -1
  93. package/dist/chunks/{config-BbFdCtCZ.js → config-D-FSn46F.js} +1 -1
  94. package/dist/chunks/{config-WGaJE2Z-.js → config-DPO9MwXv.js} +1 -1
  95. package/dist/chunks/{context-WOOY0FLL.js → context-CYwihLLB.js} +5 -5
  96. package/dist/chunks/{context-noninteractive-CS0-TpiN.js → context-noninteractive-BvtukkBa.js} +4 -4
  97. package/dist/chunks/{conversation-DZ_UoE8s.js → conversation-CGmbYM2l.js} +1 -1
  98. package/dist/chunks/{conversation-LlZkX2yV.js → conversation-DtMeaxev.js} +4 -4
  99. package/dist/chunks/{copy-DCXi64ex.js → copy-BJ59zBCu.js} +2 -2
  100. package/dist/chunks/{cost-CoxvFCRD.js → cost-BRIrApbW.js} +2 -2
  101. package/dist/chunks/{createSSHSession-CP9c1m4g.js → createSSHSession-BHbaIF4j.js} +2 -2
  102. package/dist/chunks/{createSession-Cm7HpHez.js → createSession-D91-Um52.js} +17 -17
  103. package/dist/chunks/{cronJitterConfig-DYWTMlRv.js → cronJitterConfig-BsfJPbuz.js} +4 -4
  104. package/dist/chunks/{crossProjectResume-DeOsfSF5.js → crossProjectResume-CKAEJ3Ed.js} +8 -8
  105. package/dist/chunks/{daemon-Ci7b5c8J.js → daemon-DFpVgMMR.js} +2 -2
  106. package/dist/chunks/{datadog-FNzocPlm.js → datadog-C1pKO0Rj.js} +1 -1
  107. package/dist/chunks/{datadog-CgRauwXn.js → datadog-Dt0ofiPv.js} +1 -1
  108. package/dist/chunks/{desktop-B1EhowRo.js → desktop-OpnZstWS.js} +1 -1
  109. package/dist/chunks/{detached-BTZLi_wz.js → detached-BFTAxA_R.js} +1 -1
  110. package/dist/chunks/{diff-BXAZYSAe.js → diff-5vk56ZmO.js} +1 -1
  111. package/dist/chunks/{doctor-2TsPG9x4.js → doctor-BbBB7rBY.js} +1 -1
  112. package/dist/chunks/earlyInput-otsfyHlr.js +2 -0
  113. package/dist/chunks/{effort-DxhwjDgv.js → effort-DdkdyEx7.js} +3 -3
  114. package/dist/chunks/{entry-B37teFKO.js → entry-kV49Yn7y.js} +3 -3
  115. package/dist/chunks/{envLessBridgeConfig-OzRntxQ7.js → envLessBridgeConfig-uFAq9sG_.js} +2 -2
  116. package/dist/chunks/{exit-DXwVjHB_.js → exit-CqhqNnNJ.js} +3 -3
  117. package/dist/chunks/{export-CUxQmI8I.js → export-D1vsCF4u.js} +2 -2
  118. package/dist/chunks/{exportRenderer-BXcHLusv.js → exportRenderer-CHypbYP2.js} +3 -3
  119. package/dist/chunks/{extra-usage-D5F2Fab1.js → extra-usage-CK_NVQMH.js} +2 -2
  120. package/dist/chunks/{extra-usage-core-BjMJY05D.js → extra-usage-core-BKhblo3u.js} +4 -4
  121. package/dist/chunks/{extra-usage-noninteractive-C1eLncrU.js → extra-usage-noninteractive-BDjVnr2R.js} +1 -1
  122. package/dist/chunks/{extraUsage-B3Z9hxVY.js → extraUsage-BQyrSxb4.js} +3 -3
  123. package/dist/chunks/{fast-BPAOtiKR.js → fast-CDeuQdf_.js} +1 -1
  124. package/dist/chunks/{fast-vmSBT3wk.js → fast-LyVMIlcZ.js} +4 -4
  125. package/dist/chunks/{feedback-Bd4KPsMs.js → feedback-CUVHgQrH.js} +1 -1
  126. package/dist/chunks/{firstPartyEventLogger-DfayOxom.js → firstPartyEventLogger-BnFkAOZX.js} +1 -1
  127. package/dist/chunks/{flushGate-CEQ0eFpN.js → flushGate-BfNEpn9l.js} +4 -4
  128. package/dist/chunks/{fork-Cql3KSxE.js → fork-CbsSVzCt.js} +1 -1
  129. package/dist/chunks/{gates-CXbe08cU.js → gates-B8dRzViH.js} +1 -1
  130. package/dist/chunks/{gates-B6dXEO7B.js → gates-C9pi8g5k.js} +1 -1
  131. package/dist/chunks/{gemini-Dc1L8IRS.js → gemini-BQ_BKiUg.js} +3 -3
  132. package/dist/chunks/{generateSessionName-DnnfYlVp.js → generateSessionName-Bd9Yb-QJ.js} +3 -3
  133. package/dist/chunks/{githubRepoPathMapping-7sx6rtjX.js → githubRepoPathMapping-BmCak8dj.js} +1 -1
  134. package/dist/chunks/{grok-ZGDHie6x.js → grok-D8GQ5fXf.js} +4 -4
  135. package/dist/chunks/{growthbook-Cjl5wOGC.js → growthbook-Cu2helMF.js} +1 -1
  136. package/dist/chunks/{heapdump-BtjR8Avz.js → heapdump-CIWjb1r7.js} +1 -1
  137. package/dist/chunks/{help-CnGuF5OL.js → help-SjIHwRhX.js} +5 -5
  138. package/dist/chunks/{hooks-6SfXd_6y.js → hooks-BuNmkNsh.js} +2 -2
  139. package/dist/chunks/{hooks-EDuZo8rZ.js → hooks-CYkjVXEa.js} +1 -1
  140. package/dist/chunks/{hostAdapter-CutcCk0Y.js → hostAdapter-qIUeLA8_.js} +1 -1
  141. package/dist/chunks/{ide-DN0eFH-I.js → ide-2O2Fvgdo.js} +2 -2
  142. package/dist/chunks/{inboundAttachments-CTBWhskT.js → inboundAttachments-BAViYbsv.js} +1 -1
  143. package/dist/chunks/{initReplBridge-BKcPvixd.js → initReplBridge-DutMkxA9.js} +19 -19
  144. package/dist/chunks/{insights-BS0ZNRLw.js → insights-D2PDhPi5.js} +4 -4
  145. package/dist/chunks/{install-DicMWYKx.js → install-D8hhx_bQ.js} +2 -2
  146. package/dist/chunks/{install-github-app-DHSeHIaO.js → install-github-app-7KGa1Uf9.js} +3 -3
  147. package/dist/chunks/{install-slack-app-CLHR9i9n.js → install-slack-app-g6C3x4Wt.js} +1 -1
  148. package/dist/chunks/{instrumentation-CUTDZ6VV.js → instrumentation-BzAwzrC5.js} +3 -3
  149. package/dist/chunks/{job-DKQ89zqd.js → job-cGeOoFve.js} +1 -1
  150. package/dist/chunks/{keybindings-5wQbz4c8.js → keybindings-BqIvN3aw.js} +2 -2
  151. package/dist/chunks/{lang-BTCSHBFu.js → lang-6sw0pbHf.js} +2 -2
  152. package/dist/chunks/{language-Hl1jowwd.js → language-zlcSWbrw.js} +1 -1
  153. package/dist/chunks/{loadAgentsDir-9z4W5vjy.js → loadAgentsDir-C4LTbpHE.js} +1 -1
  154. package/dist/chunks/{loadAgentsDir-CKCr6KLl.js → loadAgentsDir-Vb46sydQ.js} +573 -1162
  155. package/dist/chunks/loadPluginHooks-CDSnlJOL.js +3 -0
  156. package/dist/chunks/{localSearch-DL5GhpDE.js → localSearch-46sF2Qcf.js} +1 -1
  157. package/dist/chunks/{localSearch-C5_bOr8q.js → localSearch-CGCwbEph.js} +1 -1
  158. package/dist/chunks/{login-D9BtI7Pb.js → login-B3ad2q29.js} +1 -1
  159. package/dist/chunks/{login-DgQJAdug.js → login-DlxkwUp6.js} +5 -5
  160. package/dist/chunks/{logoV2Utils-fw-X-t6i.js → logoV2Utils-DCR2mp3C.js} +4 -4
  161. package/dist/chunks/logout-D9QOjDYp.js +3 -0
  162. package/dist/chunks/{magicDocs-Crhut7gV.js → magicDocs-v7lt_LMd.js} +2 -2
  163. package/dist/chunks/{main-1IxSEB11.js → main-CM-7Ag0d.js} +7 -7
  164. package/dist/chunks/{main-vXOmPUE1.js → main-DtLB8Txx.js} +132 -134
  165. package/dist/chunks/{mappers-BCSKRNTR.js → mappers-Cgwoit82.js} +1 -1
  166. package/dist/chunks/{mcp-D1IOUzE7.js → mcp-DuHDARTT.js} +6 -6
  167. package/dist/chunks/{mcp-7YXd30Q0.js → mcp-DyEdsEhr.js} +3 -3
  168. package/dist/chunks/{mcp-Ci0gy5Wm.js → mcp-sy97T05v.js} +6 -6
  169. package/dist/chunks/{mcpServer-BHppS1ws.js → mcpServer-BRM-HTmU.js} +6 -6
  170. package/dist/chunks/{mcpServer-CCvSYftj.js → mcpServer-D9ETKGwP.js} +5 -5
  171. package/dist/chunks/{memory-IVFsZGbH.js → memory-0b_NDPYu.js} +5 -5
  172. package/dist/chunks/{mobile-DC30stZP.js → mobile-Cpzi4v6k.js} +1 -1
  173. package/dist/chunks/{model-CoZ6jhjM.js → model-B6k4KgMg.js} +1 -1
  174. package/dist/chunks/{model-CtTIthX3.js → model-BY6YlTaA.js} +3 -3
  175. package/dist/chunks/{onChangeAppState-C0crWlUU.js → onChangeAppState-Iv6JwzpI.js} +3 -3
  176. package/dist/chunks/{openai-Bq-tZzdA.js → openai-Chg9Em00.js} +4 -4
  177. package/dist/chunks/{overageCreditGrant-DA6Ji27r.js → overageCreditGrant-C7V_bAas.js} +2 -2
  178. package/dist/chunks/{passes-CQjMQxDF.js → passes-CDGIOxpP.js} +2 -2
  179. package/dist/chunks/{paths-DSkEVuBg.js → paths-CzeRf5XR.js} +3 -3
  180. package/dist/chunks/{permissions-bgBNVZj6.js → permissions-aQYTB4zs.js} +8 -8
  181. package/dist/chunks/pipeTransport-C3DGjgm4.js +78 -0
  182. package/dist/chunks/{plan-9HtDwIeE.js → plan-D3lV7RZr.js} +3 -3
  183. package/dist/chunks/{plugin-C2tIIFq9.js → plugin-BujIe7M9.js} +1 -1
  184. package/dist/chunks/{pluginAutoupdate-DZc2hFxf.js → pluginAutoupdate-BYYgDJAE.js} +4 -4
  185. package/dist/chunks/{pluginBlocklist-DiS_LOxs.js → pluginBlocklist-C2_ZBtKH.js} +3 -3
  186. package/dist/chunks/{pluginCliCommands-BiXap9Fy.js → pluginCliCommands-CCu6cJv0.js} +3 -3
  187. package/dist/chunks/{pluginFlagging-q8gMbkD5.js → pluginFlagging-BDG_ES7A.js} +1 -1
  188. package/dist/chunks/{pluginOperations-D9ol2ssj.js → pluginOperations-C19agFr2.js} +4 -4
  189. package/dist/chunks/{pluginStartupCheck-CG2qErc7.js → pluginStartupCheck-DLvmjvBS.js} +1 -1
  190. package/dist/chunks/{pluginStartupCheck-COh-DcKy.js → pluginStartupCheck-HHCKFPAx.js} +3 -3
  191. package/dist/chunks/{plugins-BietcZD3.js → plugins-B6kYfqAL.js} +8 -8
  192. package/dist/chunks/policyLimits-DJBAjQzZ.js +3 -0
  193. package/dist/chunks/{pollConfig-2I_nDHA7.js → pollConfig-BxiW2T58.js} +1 -1
  194. package/dist/chunks/{poor-CB5mtPXL.js → poor-DJkHzRYc.js} +1 -1
  195. package/dist/chunks/{poorMode-C7Tv4gyt.js → poorMode-CBfpLe_7.js} +1 -1
  196. package/dist/chunks/{poorMode-BQLnZVIm.js → poorMode-Dp5JmJCp.js} +1 -1
  197. package/dist/chunks/{print-BWjElYkB.js → print-xsTQDxt8.js} +27 -46
  198. package/dist/chunks/{privacy-settings-C5mvrXGG.js → privacy-settings-Dn8DDGjf.js} +2 -2
  199. package/dist/chunks/{processBashCommand-DJgkl_kf.js → processBashCommand-d0gIhdpP.js} +3 -3
  200. package/dist/chunks/{processSlashCommand-CvVng3uM.js → processSlashCommand-BThMxma6.js} +5 -5
  201. package/dist/chunks/{projectContext-CtnrRecP.js → projectContext-BHRSqJly.js} +1 -1
  202. package/dist/chunks/prompt-CSir0tim.js +3 -0
  203. package/dist/chunks/prompt-UiKjRIt9.js +3 -0
  204. package/dist/chunks/{promptEditor-B7ChKW5Y.js → promptEditor-B63MUoD4.js} +1 -1
  205. package/dist/chunks/{protocolHandler-4lEbHJxz.js → protocolHandler-DSOXS9US.js} +5 -5
  206. package/dist/chunks/{rate-limit-options-BYbGoNeE.js → rate-limit-options-D3SHxrp1.js} +4 -4
  207. package/dist/chunks/{sessionActivity-BChWrGEw.js → rcDebugLog-C52yKf5j.js} +28 -28
  208. package/dist/chunks/{referral-DWjXZbQX.js → referral-3sPYi3kw.js} +2 -2
  209. package/dist/chunks/{refresh-G0J3u5aZ.js → refresh-CczxgU5S.js} +1 -1
  210. package/dist/chunks/{registerProtocol-BOgiAPJV.js → registerProtocol-D_wzRlb_.js} +2 -2
  211. package/dist/chunks/registry-CN5d1qhB.js +3 -0
  212. package/dist/chunks/{release-notes-v3zOCxeU.js → release-notes-ClbOTBtN.js} +1 -1
  213. package/dist/chunks/{releaseNotes-BDI58OYX.js → releaseNotes-CLGhcfvJ.js} +1 -1
  214. package/dist/chunks/{reload-plugins-CFeA55V6.js → reload-plugins-CQ38fDmx.js} +4 -4
  215. package/dist/chunks/{remote-env-xOJjxQep.js → remote-env-C67RQfRF.js} +2 -2
  216. package/dist/chunks/{remoteBridgeCore-C09AjDw1.js → remoteBridgeCore-oZLy6yW1.js} +8 -8
  217. package/dist/chunks/{remoteControlServer-VNsby-E0.js → remoteControlServer-hjCgemAR.js} +7 -7
  218. package/dist/chunks/{rename-DeodVT8f.js → rename-551tfxnb.js} +4 -4
  219. package/dist/chunks/{resume-BkdC4Iyi.js → resume-DRWJ6RUq.js} +3 -3
  220. package/dist/chunks/{runtimeObserver-AfLQXrqg.js → runtimeObserver-CfL2iGeV.js} +8 -8
  221. package/dist/chunks/{runtimeObserver-DFFDac2w.js → runtimeObserver-D8qpgN-q.js} +1 -1
  222. package/dist/chunks/sandbox-adapter-oHvzMbb7.js +3 -0
  223. package/dist/chunks/{sandbox-toggle-KsZ9hetn.js → sandbox-toggle-CzfcFtm7.js} +2 -2
  224. package/dist/chunks/{session-Cl-xCJ8U.js → session-BSnldGog.js} +2 -2
  225. package/dist/chunks/{sessionDiscovery-DMnEeuJg.js → sessionDiscovery-BsY3Y2nr.js} +1 -1
  226. package/dist/chunks/sessionFileAccessHooks-Nfow0nDz.js +3 -0
  227. package/dist/chunks/{sessionMemory-CVMgpniu.js → sessionMemory-Bwc46d49.js} +4 -4
  228. package/dist/chunks/sessionMemoryUtils-BrEGcIf3.js +3 -0
  229. package/dist/chunks/{sessionObserver-DQQGWkXf.js → sessionObserver-BOIgycUZ.js} +1 -1
  230. package/dist/chunks/{sessionObserver-Drmv4DI0.js → sessionObserver-D-5BlE5D.js} +4 -4
  231. package/dist/chunks/{sessionStorage-CcdKJkyn.js → sessionStorage-Bpwv3avO.js} +1 -1
  232. package/dist/chunks/{sessionTitle-CynC1QWH.js → sessionTitle-DEd2kVLh.js} +2 -2
  233. package/dist/chunks/{sessionTracing-D9s950J5.js → sessionTracing-CwLzqV9t.js} +1 -1
  234. package/dist/chunks/{settingsSync-CPInbcj7.js → settingsSync-DCvZYaMQ.js} +2 -2
  235. package/dist/chunks/{setup-m0qLMFD7.js → setup-CJHEsMBO.js} +2 -2
  236. package/dist/chunks/{setup-oNcnnqr2.js → setup-DKoxrmuZ.js} +15 -18
  237. package/dist/chunks/{setup-D5on8ibP.js → setup-DhTITJbQ.js} +2 -2
  238. package/dist/chunks/{shadowedRuleDetection-Drf9u-db.js → shadowedRuleDetection-DzaIH3F1.js} +1 -1
  239. package/dist/chunks/{sideQuestion-BFd04Hpm.js → sideQuestion-5sgrvNO3.js} +2 -2
  240. package/dist/chunks/{sink-wb0QjAm7.js → sink-C0MK82-B.js} +1 -1
  241. package/dist/chunks/{sink-EtSaBh8E.js → sink-DIF5ULot.js} +2 -2
  242. package/dist/chunks/{sinks-C7QBA6x8.js → sinks-Bpyxmob4.js} +1 -1
  243. package/dist/chunks/{skill-learning-CshrpvXr.js → skill-learning-xvtysH_2.js} +7 -7
  244. package/dist/chunks/{skillChangeDetector-BXcvDT4K.js → skillChangeDetector-BRETBhcB.js} +5 -5
  245. package/dist/chunks/{skillGapStore-Ctpnj8SE.js → skillGapStore-HioNOSWE.js} +4 -4
  246. package/dist/chunks/{skillGapStore-B0fBE8ju.js → skillGapStore-oaBH0p2g.js} +1 -1
  247. package/dist/chunks/{skillGenerator-DxHhQT_d.js → skillGenerator-6xXp8l8O.js} +3 -3
  248. package/dist/chunks/{skillLearning-BQzbxDmM.js → skillLearning-sw3FL3pS.js} +9 -9
  249. package/dist/chunks/{skillPanel-DrqDoWdh.js → skillPanel-DZHcGCQx.js} +5 -5
  250. package/dist/chunks/{skillSearchPanel-UXTLla11.js → skillSearchPanel-Cp8XX0o6.js} +2 -2
  251. package/dist/chunks/{skills-CKx64w0R.js → skills-BtLy81vb.js} +3 -3
  252. package/dist/chunks/{sprites-CmcTBNjG.js → sprites-DVVIfKBQ.js} +1 -1
  253. package/dist/chunks/{src-Dx8ucMgB.js → src-HVJR0Zo0.js} +2 -2
  254. package/dist/chunks/{startupProfiler-CommxiJO.js → startupProfiler-CazxVJNo.js} +1 -0
  255. package/dist/chunks/{startupProfiler-DMJO2xz5.js → startupProfiler-XOIBwlp1.js} +1 -1
  256. package/dist/chunks/{stats-CUJL6gf6.js → stats-CI8Ocv6R.js} +4 -4
  257. package/dist/chunks/{stats-OQSoO8AA.js → stats-kwjQqb1p.js} +1 -1
  258. package/dist/chunks/{status-C2JI09Xw.js → status-CxEzelDy.js} +1 -1
  259. package/dist/chunks/{statusNoticeHelpers-BGzUypnF.js → statusNoticeHelpers-j4DlZKCG.js} +1 -1
  260. package/dist/chunks/{tag-D7eNyLsL.js → tag-ChsmL3mw.js} +2 -2
  261. package/dist/chunks/{tasks-ji7qrtQZ.js → tasks-CfpDSYIO.js} +1 -1
  262. package/dist/chunks/{teamHelpers-wA0wc9x7.js → teamHelpers-BvAnovSv.js} +1 -1
  263. package/dist/chunks/{teamHelpers-C1EYvVG8.js → teamHelpers-D6fwXj1v.js} +1 -1
  264. package/dist/chunks/{teammateModeSnapshot-ChmbBeGY.js → teammateModeSnapshot-BUQkCay6.js} +1 -1
  265. package/dist/chunks/{teammateModeSnapshot-D1C3CvY2.js → teammateModeSnapshot-BVFzdZ_x.js} +1 -1
  266. package/dist/chunks/teleport-Bp89My5r.js +3 -0
  267. package/dist/chunks/{templateJobs-juuqs5ID.js → templateJobs-Br2aKYrv.js} +1 -1
  268. package/dist/chunks/{terminalSetup-YfKbBHG2.js → terminalSetup-BYIyMuN2.js} +1 -1
  269. package/dist/chunks/{terminalSetup-DkW8kzTS.js → terminalSetup-BmDg3jRD.js} +1 -1
  270. package/dist/chunks/{theme-BZ0g686m.js → theme-BVjt_puz.js} +1 -1
  271. package/dist/chunks/{thinkback-BTvAN4SG.js → thinkback-B8oA4ceZ.js} +4 -4
  272. package/dist/chunks/{thinkback-play-BJV9UsS_.js → thinkback-play-Baap-i_Z.js} +2 -2
  273. package/dist/chunks/{tmux-b0jmod-m.js → tmux-CqbuPVsI.js} +1 -1
  274. package/dist/chunks/{toolEventObserver-BCMiKOMJ.js → toolEventObserver-BbfGYsgT.js} +4 -4
  275. package/dist/chunks/{toolEventObserver-C0lzru27.js → toolEventObserver-DD-7StWm.js} +1 -1
  276. package/dist/chunks/{toolPool-BFpy26rC.js → toolPool-CYdrUR-v.js} +2 -2
  277. package/dist/chunks/toolSearch-C8-En_Ip.js +3 -0
  278. package/dist/chunks/{trustedDevice-NWjic61P.js → trustedDevice-BHdQWw6x.js} +1 -1
  279. package/dist/chunks/{trustedDevice-BwB25RSK.js → trustedDevice-Du09NlP4.js} +1 -1
  280. package/dist/chunks/udsClient-uE-r0N-F.js +79 -0
  281. package/dist/chunks/{ultrareviewCommand-Dm_UZkUI.js → ultrareviewCommand-QSDpc-6Z.js} +4 -4
  282. package/dist/chunks/{undercover-BOjOeIVa.js → undercover--_4tGPsw.js} +1 -1
  283. package/dist/chunks/{undercover-3UBD5GtT.js → undercover-mT9rbX3i.js} +2 -2
  284. package/dist/chunks/{updateCCB-gqr4tTHw.js → updateCCB-D72yVofL.js} +1 -1
  285. package/dist/chunks/{upgrade-D11LGswH.js → upgrade-CxYm5cDy.js} +2 -2
  286. package/dist/chunks/{upload-DdAHsTCb.js → upload-CF9Sdacj.js} +1 -1
  287. package/dist/chunks/{usage-C-03An_-.js → usage-By35aKmd.js} +1 -1
  288. package/dist/chunks/{usage-BfgmPd0i.js → usage-DgFudEa4.js} +1 -1
  289. package/dist/chunks/{useMainLoopModel-DYfWygEv.js → useMainLoopModel-Bmf7oPQm.js} +2 -2
  290. package/dist/chunks/{useManagePlugins-D8K7TxOS.js → useManagePlugins-4akAhKD1.js} +3 -3
  291. package/dist/chunks/{useMergedTools-JQNt6cB4.js → useMergedTools-UzYVztPW.js} +2 -2
  292. package/dist/chunks/{useSearchInput-naZgTeTY.js → useSearchInput-DG2qZ1oP.js} +1 -1
  293. package/dist/chunks/{useSettingsErrors-B_ON2uhq.js → useSettingsErrors-BurMq1G8.js} +1 -1
  294. package/dist/chunks/{useVoice-DjvY6q_C.js → useVoice-DPofdCLT.js} +5 -5
  295. package/dist/chunks/{util-BwTRWVrl.js → util-w1BKHUpk.js} +10 -10
  296. package/dist/chunks/utils-BvK7ZSrK.js +3 -0
  297. package/dist/chunks/{validatePlugin-CMOY-08u.js → validatePlugin-COZqtea-.js} +2 -2
  298. package/dist/chunks/{vim-AaHpII0z.js → vim-CfLafzBg.js} +1 -1
  299. package/dist/chunks/{voice-I_niPDYx.js → voice-DJnMHbx5.js} +7 -7
  300. package/dist/chunks/{voiceModeEnabled-DUmAjLGG.js → voiceModeEnabled-ENVjUcB1.js} +1 -1
  301. package/dist/chunks/{voiceModeEnabled-BZsBgRyY.js → voiceModeEnabled-WL1Uaazp.js} +1 -1
  302. package/dist/chunks/{voiceStreamSTT-D78E5v0F.js → voiceStreamSTT-BJPa3rVi.js} +1 -1
  303. package/dist/chunks/{voiceStreamSTT-B2yBe7t0.js → voiceStreamSTT-DpfyZRVm.js} +1 -1
  304. package/dist/chunks/{workerRegistry-RMvzN7sg.js → workerRegistry-D1_6FrX-.js} +2 -2
  305. package/dist/chunks/{worktree-TqvDjo2A.js → worktree-CU08W3ws.js} +1 -1
  306. package/dist/chunks/{xml-CsdP7fK7.js → xml-DZjpkPob.js} +1 -1
  307. package/dist/cli.js +33 -33
  308. package/package.json +1 -1
  309. package/dist/chunks/ConsoleOAuthFlow-C1-SrEiG.js +0 -3
  310. package/dist/chunks/ToolSearchTool-BeZUtcX_.js +0 -3
  311. package/dist/chunks/asciicast-CWc3s8cO.js +0 -2
  312. package/dist/chunks/attach-CoVSthQI.js +0 -98
  313. package/dist/chunks/auth-CIEBUWAh.js +0 -3
  314. package/dist/chunks/changeDetector-BCuzf3ol.js +0 -3
  315. package/dist/chunks/claim-main-CwcSUu_w.js +0 -58
  316. package/dist/chunks/detach-0h-NxV2J.js +0 -75
  317. package/dist/chunks/earlyInput-B_aTbrmS.js +0 -2
  318. package/dist/chunks/history-vud-Tm1o.js +0 -68
  319. package/dist/chunks/lanBeacon-B9DUbPm5.js +0 -149
  320. package/dist/chunks/loadPluginHooks-pUErwUEr.js +0 -3
  321. package/dist/chunks/logout-D0IWuAdu.js +0 -3
  322. package/dist/chunks/ndjsonFramer-CKtNKe0_.js +0 -62
  323. package/dist/chunks/peers-DYT0TJOa.js +0 -46
  324. package/dist/chunks/pipe-status-BJlhlq2_.js +0 -49
  325. package/dist/chunks/pipeRegistry-Bqvffg4X.js +0 -316
  326. package/dist/chunks/pipeTransport-AYEUDuAI.js +0 -405
  327. package/dist/chunks/pipes-tMCTxKU7.js +0 -190
  328. package/dist/chunks/policyLimits-lOxwJSgx.js +0 -3
  329. package/dist/chunks/prompt-BRO4j8aV.js +0 -3
  330. package/dist/chunks/prompt-BWsbofSc.js +0 -3
  331. package/dist/chunks/registry-Bf_DxEcr.js +0 -3
  332. package/dist/chunks/sandbox-adapter-DlVhDXrc.js +0 -3
  333. package/dist/chunks/send-CCIavh7z.js +0 -85
  334. package/dist/chunks/sessionFileAccessHooks-CNUVTQ1R.js +0 -3
  335. package/dist/chunks/sessionMemoryUtils-xpfe6Pev.js +0 -3
  336. package/dist/chunks/teamDiscovery-BznSf4tS.js +0 -38
  337. package/dist/chunks/teleport-m6LivPjb.js +0 -3
  338. package/dist/chunks/toolSearch-CGzGQT9G.js +0 -3
  339. package/dist/chunks/udsClient-B70nBxvj.js +0 -242
  340. package/dist/chunks/udsClient-C5ukh5VE.js +0 -3
  341. package/dist/chunks/udsMessaging-C5P4nSg_.js +0 -3
  342. package/dist/chunks/udsMessaging-CccGgVgR.js +0 -603
  343. package/dist/chunks/useMasterMonitor-BQ1QhrlN.js +0 -323
  344. package/dist/chunks/utils-CxlU_Or6.js +0 -3
  345. /package/dist/chunks/{Dialog-XEoAY-lo.js → Dialog-Bl_rTts3.js} +0 -0
  346. /package/dist/chunks/{InProcessTransport-Dq207XBp.js → InProcessTransport-IHW2RJx8.js} +0 -0
  347. /package/dist/chunks/{ListItem-BLRpONzN.js → ListItem-D9LLl8Ek.js} +0 -0
  348. /package/dist/chunks/{PermissionDialog-CGmleW13.js → PermissionDialog-D7UNIOtc.js} +0 -0
  349. /package/dist/chunks/{PressEnterToContinue-B8M_HSdG.js → PressEnterToContinue-CluRNOCt.js} +0 -0
  350. /package/dist/chunks/{SearchBox-iXol4xrV.js → SearchBox-BoTCRPmh.js} +0 -0
  351. /package/dist/chunks/{WelcomeV2-BrLgacxm.js → WelcomeV2-oyf_KFt6.js} +0 -0
  352. /package/dist/chunks/{asciicast-BcRSJueh.js → asciicast-DOtXvlJV.js} +0 -0
  353. /package/dist/chunks/{attributionHooks-DYfOjXs3.js → attributionHooks-DW8sjooz.js} +0 -0
  354. /package/dist/chunks/{attributionTrailer-BRzn4tt-.js → attributionTrailer-D8ipr7az.js} +0 -0
  355. /package/dist/chunks/{autoModeDenials-DdxIfUGy.js → autoModeDenials-Ckzi8DmX.js} +0 -0
  356. /package/dist/chunks/{bedrockClient-a4lkLst1.js → bedrockClient-CPTpGv94.js} +0 -0
  357. /package/dist/chunks/{bridgePointer-D_ikNrjn.js → bridgePointer-BQxAs9Dm.js} +0 -0
  358. /package/dist/chunks/{capacityWake-D0JN23wy.js → capacityWake-DyITX1TI.js} +0 -0
  359. /package/dist/chunks/{ccshareResume-DQEqveUy.js → ccshareResume-pWbhmETG.js} +0 -0
  360. /package/dist/chunks/{chromeNativeHost-Q6-G2bfy.js → chromeNativeHost-nORMSo3F.js} +0 -0
  361. /package/dist/chunks/{claudeDesktop-WVwxxFNt.js → claudeDesktop-C8GpUuqs.js} +0 -0
  362. /package/dist/chunks/{cleanup-fEkK-hKc.js → cleanup-DK3NXHb1.js} +0 -0
  363. /package/dist/chunks/{cliLaunch-CzauAJZe.js → cliLaunch-aWiCQf9j.js} +0 -0
  364. /package/dist/chunks/{connectHeadless-CCqvGWfL.js → connectHeadless-CcD9v90v.js} +0 -0
  365. /package/dist/chunks/{controlMessageCompat-DWv-mIPh.js → controlMessageCompat-BRVmRRA9.js} +0 -0
  366. /package/dist/chunks/{dangerousBackend-MjbASa5S.js → dangerousBackend-BWGrtZgg.js} +0 -0
  367. /package/dist/chunks/{directoryCompletion-B8RCZO2J.js → directoryCompletion-BU0Dlg1v.js} +0 -0
  368. /package/dist/chunks/{earlyInput-BsKnIDJP.js → earlyInput-DZrfQ2am.js} +0 -0
  369. /package/dist/chunks/{eventLoopStallDetector-C2lxypdX.js → eventLoopStallDetector-DVrhwzc2.js} +0 -0
  370. /package/dist/chunks/{exit-Bc29hy_j.js → exit-DirA_fuf.js} +0 -0
  371. /package/dist/chunks/{featureCheck-B9SCC0vN.js → featureCheck-Cv993Ldm.js} +0 -0
  372. /package/dist/chunks/{files-0Y68WpCS.js → files-Cj4oj1So.js} +0 -0
  373. /package/dist/chunks/{fpsMetrics-Di0G8OGw.js → fpsMetrics-Ck4DjRL5.js} +0 -0
  374. /package/dist/chunks/{fuse-Df9YUVtR.js → fuse-thkBXtB1.js} +0 -0
  375. /package/dist/chunks/{instinctParser-Dez-rnKK.js → instinctParser-BFHgE5A4.js} +0 -0
  376. /package/dist/chunks/{jwtUtils-DgPQR3cZ.js → jwtUtils-DL8L2JPK.js} +0 -0
  377. /package/dist/chunks/{lib-LxJ6DoZY.js → lib-CnkuCi7e.js} +0 -0
  378. /package/dist/chunks/{lockfile-D65KX0SH.js → lockfile-BTwNnc6d.js} +0 -0
  379. /package/dist/chunks/{modalContext-D2kC2GcE.js → modalContext-7wVG_JCR.js} +0 -0
  380. /package/dist/chunks/{observationStore-DtE97mP4.js → observationStore-BW0N7kqX.js} +0 -0
  381. /package/dist/chunks/{openai-U_owM0Wc.js → openai-HuE31rEG.js} +0 -0
  382. /package/dist/chunks/{operations-ChPHc8e6.js → operations-Dv3d6vA6.js} +0 -0
  383. /package/dist/chunks/{output-style-BXQs3dnJ.js → output-style-BdMzAlhq.js} +0 -0
  384. /package/dist/chunks/{parseConnectUrl-MYfoAQ1a.js → parseConnectUrl-bPMCRn4n.js} +0 -0
  385. /package/dist/chunks/{poller-CJzreIZS.js → poller-BBFvAlJc.js} +0 -0
  386. /package/dist/chunks/{postCommitAttribution-DmuxexP6.js → postCommitAttribution-Dv_316Jg.js} +0 -0
  387. /package/dist/chunks/{projectContext-CEnG2izP.js → projectContext-ComAiFhS.js} +0 -0
  388. /package/dist/chunks/{prompt-BnKv9_mj.js → prompt-rbaI_D5u.js} +0 -0
  389. /package/dist/chunks/{renderOptions-CHpHxRwl.js → renderOptions-Ckbomiec.js} +0 -0
  390. /package/dist/chunks/{rewind-Ddhd2R_A.js → rewind-vw2ne4Xr.js} +0 -0
  391. /package/dist/chunks/{rollback-Gt4wFMPp.js → rollback-CXcDCnEi.js} +0 -0
  392. /package/dist/chunks/{sanitization-CYd1OuBT.js → sanitization-DTHqxW87.js} +0 -0
  393. /package/dist/chunks/{sdkHeapDumpMonitor-BTcjJax2.js → sdkHeapDumpMonitor-DPgYcat0.js} +0 -0
  394. /package/dist/chunks/{server-DBPAty_m.js → server-CVTxPXiN.js} +0 -0
  395. /package/dist/chunks/{serverBanner-Bq43BqnP.js → serverBanner-DwGxohre.js} +0 -0
  396. /package/dist/chunks/{serverLog-C1qKA5fJ.js → serverLog-B4k8TPNh.js} +0 -0
  397. /package/dist/chunks/{sessionDataUploader-Bnnb2afa.js → sessionDataUploader-CTyFNa9x.js} +0 -0
  398. /package/dist/chunks/{sessionManager-CprPE_HT.js → sessionManager-BMihleFs.js} +0 -0
  399. /package/dist/chunks/{slashCommandParsing-rs-ERr7C.js → slashCommandParsing-60JH6-d_.js} +0 -0
  400. /package/dist/chunks/{src-2yhJaeQZ.js → src-4WLsfC8V.js} +0 -0
  401. /package/dist/chunks/{src-C__qTDYF.js → src-iHiSipnJ.js} +0 -0
  402. /package/dist/chunks/{state-BVnzrPu7.js → state-DgMvaYzj.js} +0 -0
  403. /package/dist/chunks/{staticRender-Dhz8mkhA.js → staticRender-CAZ_Cg43.js} +0 -0
  404. /package/dist/chunks/{stdio-CWDcxFu0.js → stdio-CWFOXyFI.js} +0 -0
  405. /package/dist/chunks/{stickers-4SNqAchz.js → stickers-DeHxjhdM.js} +0 -0
  406. /package/dist/chunks/{systemTheme-Dp21I3Xt.js → systemTheme-A-hRlw_f.js} +0 -0
  407. /package/dist/chunks/{types-BrlxvD1M.js → types-DsgAHfPE.js} +0 -0
  408. /package/dist/chunks/{up-C0eEOvrs.js → up-DrjAA1yD.js} +0 -0
  409. /package/dist/chunks/{upstreamproxy-DoroF8oN.js → upstreamproxy-B_wN4My6.js} +0 -0
  410. /package/dist/chunks/{voice-CSkrOZl_.js → voice-D2hV1CU6.js} +0 -0
  411. /package/dist/chunks/{workSecret-CMZkIeol.js → workSecret-8KZlvhR2.js} +0 -0
@@ -1,68 +0,0 @@
1
- import { n as __esmMin } from "./chunk-CyLJMB0t.js";
2
- import { a as getPipeIpc, s as init_pipeTransport } from "./pipeTransport-AYEUDuAI.js";
3
- //#region src/commands/history/history.ts
4
- function formatEntryType(type) {
5
- switch (type) {
6
- case "prompt": return "[PROMPT]";
7
- case "prompt_ack": return "[ACK] ";
8
- case "stream": return "[AI] ";
9
- case "tool_start": return "[TOOL>] ";
10
- case "tool_result": return "[TOOL<] ";
11
- case "done": return "[DONE] ";
12
- case "error": return "[ERROR] ";
13
- default: return `[${type}]`;
14
- }
15
- }
16
- var call;
17
- //#endregion
18
- __esmMin((() => {
19
- init_pipeTransport();
20
- call = async (args, context) => {
21
- const currentState = context.getAppState();
22
- if (getPipeIpc(currentState).role !== "master") return {
23
- type: "text",
24
- value: "Not in master mode. Use /attach <pipe-name> first."
25
- };
26
- const parts = args.trim().split(/\s+/);
27
- const targetName = parts[0];
28
- if (!targetName) {
29
- const slaveNames = Object.keys(getPipeIpc(currentState).slaves);
30
- if (slaveNames.length === 0) return {
31
- type: "text",
32
- value: "No sub sessions connected."
33
- };
34
- return {
35
- type: "text",
36
- value: `Usage: /history <pipe-name>\nConnected sub sessions: ${slaveNames.join(", ")}`
37
- };
38
- }
39
- const slave = getPipeIpc(currentState).slaves[targetName];
40
- if (!slave) return {
41
- type: "text",
42
- value: `Not attached to "${targetName}". Use /status to see connected sub sessions.`
43
- };
44
- let limit = slave.history.length;
45
- const lastIdx = parts.indexOf("--last");
46
- if (lastIdx !== -1 && parts[lastIdx + 1]) {
47
- const n = parseInt(parts[lastIdx + 1], 10);
48
- if (!isNaN(n) && n > 0) limit = n;
49
- }
50
- const entries = slave.history.slice(-limit);
51
- if (entries.length === 0) return {
52
- type: "text",
53
- value: `No session history for "${targetName}" yet.`
54
- };
55
- const lines = [`Session history for "${targetName}" (${entries.length}/${slave.history.length} entries):`, ""];
56
- for (const entry of entries) {
57
- const time = entry.timestamp.slice(11, 19);
58
- const prefix = formatEntryType(entry.type);
59
- const content = entry.content.length > 200 ? entry.content.slice(0, 200) + "..." : entry.content;
60
- lines.push(`[${time}] ${prefix} ${content}`);
61
- }
62
- return {
63
- type: "text",
64
- value: lines.join("\n")
65
- };
66
- };
67
- }))();
68
- export { call };
@@ -1,149 +0,0 @@
1
- import { n as __esmMin, r as __exportAll } from "./chunk-CyLJMB0t.js";
2
- import { n as init_defineProperty, t as _defineProperty } from "./defineProperty-Cq4c5J8x.js";
3
- import { o as init_log, s as logError } from "./log-BtGcZqeW.js";
4
- import { EventEmitter } from "events";
5
- import { createSocket } from "dgram";
6
- //#region src/utils/lanBeacon.ts
7
- /**
8
- * LAN Beacon — UDP multicast peer discovery for Pipes system.
9
- *
10
- * Uses multicast group 224.0.71.67 ("CC" = Claude Code ASCII) on port 7101
11
- * to announce and discover CLI instances on the local network.
12
- *
13
- * Feature-gated by LAN_PIPES.
14
- */
15
- var lanBeacon_exports = /* @__PURE__ */ __exportAll({
16
- LanBeacon: () => LanBeacon,
17
- getLanBeacon: () => getLanBeacon,
18
- setLanBeacon: () => setLanBeacon
19
- });
20
- function getLanBeacon() {
21
- return _lanBeaconInstance;
22
- }
23
- function setLanBeacon(instance) {
24
- _lanBeaconInstance = instance;
25
- }
26
- var MULTICAST_GROUP, MULTICAST_PORT, ANNOUNCE_INTERVAL_MS, PEER_TIMEOUT_MS, _lanBeaconInstance, LanBeacon;
27
- var init_lanBeacon = __esmMin((() => {
28
- init_log();
29
- init_defineProperty();
30
- MULTICAST_GROUP = "224.0.71.67";
31
- MULTICAST_PORT = 7101;
32
- ANNOUNCE_INTERVAL_MS = 3e3;
33
- PEER_TIMEOUT_MS = 15e3;
34
- _lanBeaconInstance = null;
35
- LanBeacon = class extends EventEmitter {
36
- constructor(announce) {
37
- super();
38
- _defineProperty(this, "socket", null);
39
- _defineProperty(this, "announceTimer", null);
40
- _defineProperty(this, "cleanupTimer", null);
41
- _defineProperty(this, "peers", /* @__PURE__ */ new Map());
42
- _defineProperty(this, "announce", void 0);
43
- this.announce = {
44
- ...announce,
45
- proto: "claude-pipe-v1",
46
- ts: Date.now()
47
- };
48
- }
49
- /**
50
- * Start broadcasting announcements and listening for peers.
51
- */
52
- start() {
53
- if (this.socket) return;
54
- try {
55
- this.socket = createSocket({
56
- type: "udp4",
57
- reuseAddr: true
58
- });
59
- this.socket.on("error", (err) => {
60
- logError(err);
61
- });
62
- this.socket.on("message", (buf, rinfo) => {
63
- try {
64
- const msg = JSON.parse(buf.toString());
65
- if (msg.proto !== "claude-pipe-v1") return;
66
- if (msg.pipeName === this.announce.pipeName) return;
67
- const isNew = !this.peers.has(msg.pipeName);
68
- this.peers.set(msg.pipeName, {
69
- ...msg,
70
- ts: Date.now()
71
- });
72
- if (isNew) this.emit("peer-discovered", msg);
73
- } catch {}
74
- });
75
- this.socket.bind(MULTICAST_PORT, () => {
76
- try {
77
- const localIp = this.announce.ip;
78
- this.socket.addMembership(MULTICAST_GROUP, localIp);
79
- this.socket.setMulticastInterface(localIp);
80
- this.socket.setMulticastTTL(1);
81
- this.socket.setBroadcast(true);
82
- } catch (err) {
83
- logError(err);
84
- }
85
- this.announceTimer = setInterval(() => this.sendAnnounce(), ANNOUNCE_INTERVAL_MS);
86
- this.sendAnnounce();
87
- this.cleanupTimer = setInterval(() => this.cleanupStalePeers(), PEER_TIMEOUT_MS / 2);
88
- });
89
- } catch (err) {
90
- logError(err);
91
- }
92
- }
93
- /**
94
- * Stop broadcasting and close the socket.
95
- */
96
- stop() {
97
- if (this.announceTimer) {
98
- clearInterval(this.announceTimer);
99
- this.announceTimer = null;
100
- }
101
- if (this.cleanupTimer) {
102
- clearInterval(this.cleanupTimer);
103
- this.cleanupTimer = null;
104
- }
105
- if (this.socket) {
106
- try {
107
- this.socket.dropMembership(MULTICAST_GROUP);
108
- } catch {}
109
- this.socket.close();
110
- this.socket = null;
111
- }
112
- this.peers.clear();
113
- }
114
- /**
115
- * Get all currently known peers (excluding self).
116
- */
117
- getPeers() {
118
- return new Map(this.peers);
119
- }
120
- /**
121
- * Update the announce data (e.g., when role changes).
122
- */
123
- updateAnnounce(partial) {
124
- this.announce = {
125
- ...this.announce,
126
- ...partial
127
- };
128
- }
129
- sendAnnounce() {
130
- if (!this.socket) return;
131
- try {
132
- const payload = Buffer.from(JSON.stringify({
133
- ...this.announce,
134
- ts: Date.now()
135
- }));
136
- this.socket.send(payload, 0, payload.length, MULTICAST_PORT, MULTICAST_GROUP);
137
- } catch {}
138
- }
139
- cleanupStalePeers() {
140
- const now = Date.now();
141
- for (const [name, peer] of this.peers) if (now - peer.ts > PEER_TIMEOUT_MS) {
142
- this.peers.delete(name);
143
- this.emit("peer-lost", name);
144
- }
145
- }
146
- };
147
- }));
148
- //#endregion
149
- export { setLanBeacon as a, lanBeacon_exports as i, getLanBeacon as n, init_lanBeacon as r, LanBeacon as t };
@@ -1,3 +0,0 @@
1
- import { dv as init_loadPluginHooks, fv as loadPluginHooks, mv as setupPluginHookHotReload } from "./loadAgentsDir-CKCr6KLl.js";
2
- init_loadPluginHooks();
3
- export { loadPluginHooks, setupPluginHookHotReload };
@@ -1,3 +0,0 @@
1
- import { AT as clearAuthRelatedCaches, MT as performLogout, jT as init_logout, kT as call } from "./loadAgentsDir-CKCr6KLl.js";
2
- init_logout();
3
- export { call, clearAuthRelatedCaches, performLogout };
@@ -1,62 +0,0 @@
1
- import { n as __esmMin } from "./chunk-CyLJMB0t.js";
2
- //#region src/utils/ndjsonFramer.ts
3
- /**
4
- * Attach an NDJSON framer to a socket. Calls `onMessage` for each
5
- * complete JSON line received. Malformed lines are skipped by default;
6
- * callers may opt into error callbacks or socket destruction.
7
- *
8
- * @param parse - Optional custom JSON parser (defaults to JSON.parse).
9
- * Useful when the caller uses a wrapped parser like jsonParse
10
- * from slowOperations.
11
- */
12
- function attachNdjsonFramer(socket, onMessage, parse = (text) => JSON.parse(text), options = {}) {
13
- let buffer = "";
14
- let bufferBytes = 0;
15
- const maxFrameBytes = options.maxFrameBytes ?? Number.POSITIVE_INFINITY;
16
- const rejectOversizedFrame = (bytes) => {
17
- const error = /* @__PURE__ */ new Error(`NDJSON frame exceeded ${maxFrameBytes} bytes (${bytes})`);
18
- options.onFrameError?.(error);
19
- if (options.destroyOnFrameError ?? true) socket.destroy(error);
20
- };
21
- const rejectInvalidFrame = (error) => {
22
- const frameError = error instanceof Error ? error : /* @__PURE__ */ new Error("Invalid NDJSON frame");
23
- options.onInvalidFrame?.(frameError);
24
- if (options.destroyOnInvalidFrame ?? false) socket.destroy(frameError);
25
- };
26
- const emitLine = (line) => {
27
- if (!line.trim()) return;
28
- try {
29
- onMessage(parse(line));
30
- } catch (error) {
31
- rejectInvalidFrame(error);
32
- }
33
- };
34
- socket.on("data", (chunk) => {
35
- let start = 0;
36
- for (let index = 0; index < chunk.length; index++) {
37
- if (chunk[index] !== 10) continue;
38
- const segmentBytes = index - start;
39
- if (Number.isFinite(maxFrameBytes) && bufferBytes + segmentBytes > maxFrameBytes) {
40
- rejectOversizedFrame(bufferBytes + segmentBytes);
41
- return;
42
- }
43
- buffer += chunk.subarray(start, index).toString("utf8");
44
- emitLine(buffer);
45
- buffer = "";
46
- bufferBytes = 0;
47
- start = index + 1;
48
- }
49
- const tailBytes = chunk.length - start;
50
- if (Number.isFinite(maxFrameBytes) && bufferBytes + tailBytes > maxFrameBytes) {
51
- rejectOversizedFrame(bufferBytes + tailBytes);
52
- return;
53
- }
54
- if (tailBytes > 0) {
55
- buffer += chunk.subarray(start).toString("utf8");
56
- bufferBytes += tailBytes;
57
- }
58
- });
59
- }
60
- var init_ndjsonFramer = __esmMin((() => {}));
61
- //#endregion
62
- export { init_ndjsonFramer as n, attachNdjsonFramer as t };
@@ -1,46 +0,0 @@
1
- import { n as __esmMin } from "./chunk-CyLJMB0t.js";
2
- import { l as getUdsMessagingSocketPath, s as formatUdsAddress, u as init_udsMessaging } from "./udsMessaging-CccGgVgR.js";
3
- import { a as isPeerAlive, i as init_udsClient, s as listPeers } from "./udsClient-B70nBxvj.js";
4
- //#region src/commands/peers/peers.ts
5
- function formatAge(startedAt) {
6
- const elapsed = Date.now() - startedAt;
7
- const seconds = Math.floor(elapsed / 1e3);
8
- if (seconds < 60) return `${seconds}s ago`;
9
- const minutes = Math.floor(seconds / 60);
10
- if (minutes < 60) return `${minutes}m ago`;
11
- return `${Math.floor(minutes / 60)}h ${minutes % 60}m ago`;
12
- }
13
- var call;
14
- //#endregion
15
- __esmMin((() => {
16
- init_udsClient();
17
- init_udsMessaging();
18
- call = async (_args, _context) => {
19
- const mySocket = getUdsMessagingSocketPath();
20
- const peers = await listPeers();
21
- const lines = [];
22
- lines.push(`Your socket: ${mySocket ?? "(not started)"}`);
23
- lines.push("");
24
- if (peers.length === 0) lines.push("No other Claude Code peers found.");
25
- else {
26
- lines.push(`Peers (${peers.length}):`);
27
- lines.push("");
28
- for (const peer of peers) {
29
- const status = (peer.messagingSocketPath ? await isPeerAlive(peer.messagingSocketPath) : false) ? "reachable" : "unreachable";
30
- const label = peer.name ?? peer.kind ?? "interactive";
31
- const cwd = peer.cwd ? ` cwd: ${peer.cwd}` : "";
32
- const age = peer.startedAt ? ` started: ${formatAge(peer.startedAt)}` : "";
33
- lines.push(` [${status}] PID ${peer.pid} (${label})${cwd}${age}`);
34
- if (peer.messagingSocketPath) lines.push(` socket: ${formatUdsAddress(peer.messagingSocketPath)}`);
35
- if (peer.sessionId) lines.push(` session: ${peer.sessionId}`);
36
- }
37
- }
38
- lines.push("");
39
- lines.push("To message a peer: use SendMessage with the shown uds:<socket-path> address");
40
- return {
41
- type: "text",
42
- value: lines.join("\n")
43
- };
44
- };
45
- }))();
46
- export { call };
@@ -1,49 +0,0 @@
1
- import { n as __esmMin } from "./chunk-CyLJMB0t.js";
2
- import { a as getPipeIpc, i as getPipeDisplayRole, l as isPipeControlled, s as init_pipeTransport } from "./pipeTransport-AYEUDuAI.js";
3
- import { a as init_useMasterMonitor, n as getAllSlaveClients } from "./useMasterMonitor-BQ1QhrlN.js";
4
- //#region src/commands/pipe-status/pipe-status.ts
5
- var call;
6
- //#endregion
7
- __esmMin((() => {
8
- init_useMasterMonitor();
9
- init_pipeTransport();
10
- call = async (_args, context) => {
11
- const currentState = context.getAppState();
12
- if (getPipeIpc(currentState).role === "main") return {
13
- type: "text",
14
- value: "Main mode — not connected to any CLIs.\nUse /attach <pipe-name> to connect to a sub session."
15
- };
16
- if (isPipeControlled(getPipeIpc(currentState))) return {
17
- type: "text",
18
- value: `${getPipeDisplayRole(getPipeIpc(currentState))} mode — controlled by "${getPipeIpc(currentState).attachedBy}".\nAll session data is being reported to the master.`
19
- };
20
- const slaves = getPipeIpc(currentState).slaves;
21
- const slaveNames = Object.keys(slaves);
22
- const clients = getAllSlaveClients();
23
- if (slaveNames.length === 0) return {
24
- type: "text",
25
- value: "Master mode but no sub sessions connected.\nUse /attach <pipe-name> to connect."
26
- };
27
- const lines = [`Master mode — ${slaveNames.length} sub session(s) connected:`, ""];
28
- for (const name of slaveNames) {
29
- const slave = slaves[name];
30
- const connected = clients.get(name)?.connected ? "connected" : "disconnected";
31
- const historyCount = slave.history.length;
32
- const connectedAt = slave.connectedAt.slice(11, 19);
33
- lines.push(` ${name}`);
34
- lines.push(` Status: ${slave.status} (${connected})`);
35
- lines.push(` Connected: ${connectedAt}`);
36
- lines.push(` History: ${historyCount} entries`);
37
- lines.push("");
38
- }
39
- lines.push("Commands:");
40
- lines.push(" /send <name> <msg> — Send a task to a sub session");
41
- lines.push(" /history <name> — View sub session transcript");
42
- lines.push(" /detach [name] — Disconnect from a sub session (or all)");
43
- return {
44
- type: "text",
45
- value: lines.join("\n")
46
- };
47
- };
48
- }))();
49
- export { call };
@@ -1,316 +0,0 @@
1
- import { i as __require, n as __esmMin } from "./chunk-CyLJMB0t.js";
2
- import { c as isPipeAlive, o as getPipesDir, s as init_pipeTransport } from "./pipeTransport-AYEUDuAI.js";
3
- import { join } from "path";
4
- import { createHash } from "crypto";
5
- import { mkdir, readFile, unlink, writeFile } from "fs/promises";
6
- //#region src/utils/pipeRegistry.ts
7
- /**
8
- * Pipe Registry — central registry for multi-instance pipe coordination.
9
- *
10
- * Manages a shared registry.json that tracks all CLI instances (main + subs).
11
- * Main role is bound to machineId (OS-level stable fingerprint), not to
12
- * instance startup order.
13
- *
14
- * File locking prevents race conditions when multiple instances start
15
- * simultaneously.
16
- */
17
- function getRegistryPath() {
18
- return join(getPipesDir(), "registry.json");
19
- }
20
- function getLockPath() {
21
- return join(getPipesDir(), "registry.lock");
22
- }
23
- async function getMachineId() {
24
- if (_cachedMachineId) return _cachedMachineId;
25
- let raw = null;
26
- if (process.platform === "win32") try {
27
- const { execFile } = __require("child_process");
28
- raw = await new Promise((resolve, reject) => {
29
- execFile("reg", [
30
- "query",
31
- "HKLM\\SOFTWARE\\Microsoft\\Cryptography",
32
- "/v",
33
- "MachineGuid"
34
- ], { timeout: 3e3 }, (err, stdout) => err ? reject(err) : resolve(stdout));
35
- });
36
- const match = raw.match(/MachineGuid\s+REG_SZ\s+(\S+)/);
37
- if (match) {
38
- _cachedMachineId = match[1];
39
- return _cachedMachineId;
40
- }
41
- } catch {}
42
- else if (process.platform === "linux") try {
43
- raw = await readFile("/etc/machine-id", "utf8");
44
- raw = raw.trim();
45
- if (raw) {
46
- _cachedMachineId = raw;
47
- return _cachedMachineId;
48
- }
49
- } catch {}
50
- else if (process.platform === "darwin") try {
51
- const { execFile } = __require("child_process");
52
- raw = await new Promise((resolve, reject) => {
53
- execFile("bash", ["-c", "ioreg -rd1 -c IOPlatformExpertDevice | grep IOPlatformSerialNumber"], { timeout: 3e3 }, (err, stdout) => err ? reject(err) : resolve(stdout));
54
- });
55
- const match = raw.match(/"IOPlatformSerialNumber"\s*=\s*"(\S+)"/);
56
- if (match) {
57
- _cachedMachineId = match[1];
58
- return _cachedMachineId;
59
- }
60
- } catch {}
61
- _cachedMachineId = generateFallbackId();
62
- return _cachedMachineId;
63
- }
64
- function generateFallbackId() {
65
- const os = __require("os");
66
- const nets = os.networkInterfaces();
67
- const macs = [];
68
- for (const name of Object.keys(nets)) for (const net of nets[name] ?? []) if (net.mac && net.mac !== "00:00:00:00:00:00") macs.push(net.mac);
69
- macs.sort();
70
- const raw = `${os.hostname()}:${macs.join(",")}`;
71
- return createHash("sha256").update(raw).digest("hex").slice(0, 32);
72
- }
73
- function getMacAddress() {
74
- const nets = __require("os").networkInterfaces();
75
- for (const name of Object.keys(nets)) for (const net of nets[name] ?? []) if (net.family === "IPv4" && !net.internal && net.mac && net.mac !== "00:00:00:00:00:00") return net.mac;
76
- return "00:00:00:00:00:00";
77
- }
78
- async function acquireLock() {
79
- await mkdir(getPipesDir(), { recursive: true });
80
- const lockPath = getLockPath();
81
- const deadline = Date.now() + LOCK_TIMEOUT_MS;
82
- while (Date.now() < deadline) try {
83
- await writeFile(lockPath, String(process.pid), { flag: "wx" });
84
- return;
85
- } catch (err) {
86
- if (err.code === "EEXIST") {
87
- try {
88
- const content = await readFile(lockPath, "utf8");
89
- const lockPid = parseInt(content, 10);
90
- if (lockPid && lockPid !== process.pid) try {
91
- process.kill(lockPid, 0);
92
- } catch {
93
- await unlink(lockPath).catch(() => {});
94
- continue;
95
- }
96
- } catch {
97
- await unlink(lockPath).catch(() => {});
98
- continue;
99
- }
100
- await new Promise((r) => setTimeout(r, LOCK_RETRY_MS));
101
- } else throw err;
102
- }
103
- await unlink(getLockPath()).catch(() => {});
104
- await writeFile(lockPath, String(process.pid), { flag: "wx" }).catch(() => {});
105
- }
106
- async function releaseLock() {
107
- await unlink(getLockPath()).catch(() => {});
108
- }
109
- async function readRegistry() {
110
- try {
111
- const content = await readFile(getRegistryPath(), "utf8");
112
- const parsed = JSON.parse(content);
113
- if (parsed.version !== 1) return { ...EMPTY_REGISTRY };
114
- return parsed;
115
- } catch {
116
- return { ...EMPTY_REGISTRY };
117
- }
118
- }
119
- async function writeRegistry(registry) {
120
- await mkdir(getPipesDir(), { recursive: true });
121
- await writeFile(getRegistryPath(), JSON.stringify(registry, null, 2));
122
- }
123
- async function determineRole(machineId) {
124
- await acquireLock();
125
- try {
126
- const registry = await readRegistry();
127
- if (!registry.mainMachineId || !registry.main) return { role: "main" };
128
- if (registry.mainMachineId === machineId) {
129
- if (registry.main && await isPipeAlive(registry.main.pipeName, 1e3)) return {
130
- role: "sub",
131
- subIndex: registry.subs.length + 1
132
- };
133
- return { role: "main-recover" };
134
- }
135
- return {
136
- role: "sub",
137
- subIndex: registry.subs.length + 1
138
- };
139
- } finally {
140
- await releaseLock();
141
- }
142
- }
143
- async function registerAsMain(entry) {
144
- await acquireLock();
145
- try {
146
- const registry = await readRegistry();
147
- registry.mainMachineId = entry.machineId;
148
- registry.main = entry;
149
- await writeRegistry(registry);
150
- } finally {
151
- await releaseLock();
152
- }
153
- }
154
- async function registerAsSub(entry, subIndex) {
155
- await acquireLock();
156
- try {
157
- const registry = await readRegistry();
158
- registry.subs = registry.subs.filter((s) => s.id !== entry.id);
159
- registry.subs.push({
160
- ...entry,
161
- subIndex,
162
- boundToMain: registry.main?.id ?? null
163
- });
164
- await writeRegistry(registry);
165
- } finally {
166
- await releaseLock();
167
- }
168
- }
169
- async function unregister(id) {
170
- await acquireLock();
171
- try {
172
- const registry = await readRegistry();
173
- if (registry.main?.id === id) registry.main = null;
174
- registry.subs = registry.subs.filter((s) => s.id !== id);
175
- await writeRegistry(registry);
176
- } finally {
177
- await releaseLock();
178
- }
179
- }
180
- async function revertToIndependent(id) {
181
- await acquireLock();
182
- try {
183
- const registry = await readRegistry();
184
- const sub = registry.subs.find((s) => s.id === id);
185
- if (sub) sub.boundToMain = null;
186
- await writeRegistry(registry);
187
- } finally {
188
- await releaseLock();
189
- }
190
- }
191
- async function claimMain(newMachineId, entry) {
192
- await acquireLock();
193
- try {
194
- const registry = await readRegistry();
195
- registry.mainMachineId = newMachineId;
196
- registry.main = entry;
197
- for (const sub of registry.subs) sub.boundToMain = entry.id;
198
- await writeRegistry(registry);
199
- } finally {
200
- await releaseLock();
201
- }
202
- }
203
- async function isMainAlive() {
204
- const registry = await readRegistry();
205
- if (!registry.main) return false;
206
- return isPipeAlive(registry.main.pipeName, 1e3);
207
- }
208
- function isMainMachine(machineId, registry) {
209
- return registry.mainMachineId === machineId;
210
- }
211
- async function getAliveSubs() {
212
- const registry = await readRegistry();
213
- return (await Promise.all(registry.subs.map((sub) => isPipeAlive(sub.pipeName, 1e3).then((alive) => alive ? sub : null)))).filter((s) => s !== null);
214
- }
215
- async function cleanupStaleEntries() {
216
- const registry = await readRegistry();
217
- const [mainAlive, subResults] = await Promise.all([registry.main ? isPipeAlive(registry.main.pipeName, 1e3) : Promise.resolve(true), Promise.all(registry.subs.map((sub) => isPipeAlive(sub.pipeName, 1e3).then((alive) => ({
218
- sub,
219
- alive
220
- }))))]);
221
- if (!(!mainAlive || subResults.some((r) => !r.alive))) return;
222
- await acquireLock();
223
- try {
224
- const fresh = await readRegistry();
225
- let changed = false;
226
- if (!mainAlive && fresh.main?.pipeName === registry.main?.pipeName) {
227
- fresh.main = null;
228
- changed = true;
229
- }
230
- const deadNames = new Set(subResults.filter((r) => !r.alive).map((r) => r.sub.pipeName));
231
- const aliveSubs = fresh.subs.filter((s) => !deadNames.has(s.pipeName));
232
- if (aliveSubs.length !== fresh.subs.length) {
233
- fresh.subs = aliveSubs;
234
- changed = true;
235
- }
236
- if (changed) await writeRegistry(fresh);
237
- } finally {
238
- await releaseLock();
239
- }
240
- }
241
- /**
242
- * Merge local registry entries with LAN beacon-discovered peers.
243
- * Local entries take precedence — LAN peers are only added if not
244
- * already present in the local registry.
245
- */
246
- function mergeWithLanPeers(registry, lanPeers) {
247
- const result = [];
248
- const knownPipes = /* @__PURE__ */ new Set();
249
- if (registry.main) {
250
- knownPipes.add(registry.main.pipeName);
251
- result.push({
252
- id: registry.main.id,
253
- pipeName: registry.main.pipeName,
254
- role: "main",
255
- machineId: registry.main.machineId,
256
- ip: registry.main.ip,
257
- hostname: registry.main.hostname,
258
- alive: true,
259
- source: "local",
260
- tcpEndpoint: registry.main.tcpPort ? {
261
- host: registry.main.ip,
262
- port: registry.main.tcpPort
263
- } : void 0
264
- });
265
- }
266
- for (const sub of registry.subs) {
267
- knownPipes.add(sub.pipeName);
268
- result.push({
269
- id: sub.id,
270
- pipeName: sub.pipeName,
271
- role: `sub-${sub.subIndex}`,
272
- machineId: sub.machineId,
273
- ip: sub.ip,
274
- hostname: sub.hostname,
275
- alive: true,
276
- source: "local",
277
- tcpEndpoint: sub.tcpPort ? {
278
- host: sub.ip,
279
- port: sub.tcpPort
280
- } : void 0
281
- });
282
- }
283
- for (const [pipeName, peer] of lanPeers) {
284
- if (knownPipes.has(pipeName)) continue;
285
- result.push({
286
- id: `lan-${pipeName}`,
287
- pipeName,
288
- role: peer.role,
289
- machineId: peer.machineId,
290
- ip: peer.ip,
291
- hostname: peer.hostname,
292
- alive: true,
293
- source: "lan",
294
- tcpEndpoint: {
295
- host: peer.ip,
296
- port: peer.tcpPort
297
- }
298
- });
299
- }
300
- return result;
301
- }
302
- var _cachedMachineId, LOCK_TIMEOUT_MS, LOCK_RETRY_MS, EMPTY_REGISTRY;
303
- var init_pipeRegistry = __esmMin((() => {
304
- init_pipeTransport();
305
- _cachedMachineId = null;
306
- LOCK_TIMEOUT_MS = 2e3;
307
- LOCK_RETRY_MS = 50;
308
- EMPTY_REGISTRY = {
309
- version: 1,
310
- mainMachineId: null,
311
- main: null,
312
- subs: []
313
- };
314
- }));
315
- //#endregion
316
- export { getMacAddress as a, isMainAlive as c, readRegistry as d, registerAsMain as f, unregister as h, getAliveSubs as i, isMainMachine as l, revertToIndependent as m, cleanupStaleEntries as n, getMachineId as o, registerAsSub as p, determineRole as r, init_pipeRegistry as s, claimMain as t, mergeWithLanPeers as u };