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.
- package/dist/chunks/{AddWorkspaceDirectory-AyMy4OCD.js → AddWorkspaceDirectory-BAz_OE49.js} +3 -3
- package/dist/chunks/{App-DORYioIb.js → App-DjqoKdzZ.js} +4 -4
- package/dist/chunks/{ApproveApiKey-S_PhcDiO.js → ApproveApiKey-Bd-GuWGQ.js} +2 -2
- package/dist/chunks/{AssistantSessionChooser-_6CoGrsi.js → AssistantSessionChooser-cDCVWbRu.js} +3 -3
- package/dist/chunks/{BackgroundTasksDialog-DRXUENfu.js → BackgroundTasksDialog-A-bXtbQz.js} +5 -5
- package/dist/chunks/{BypassPermissionsModeDialog-C_0P04Qi.js → BypassPermissionsModeDialog-CeqXDtAk.js} +2 -2
- package/dist/chunks/{ClaudeInChromeOnboarding-CPgxw3Jd.js → ClaudeInChromeOnboarding-CVMVH-uW.js} +2 -2
- package/dist/chunks/{ClaudeMdExternalIncludesDialog-HW6hFwga.js → ClaudeMdExternalIncludesDialog-CKFjbncl.js} +2 -2
- package/dist/chunks/{ClaudeMdExternalIncludesDialog-nx6BnDFO.js → ClaudeMdExternalIncludesDialog-CW8FUIVN.js} +1 -1
- package/dist/chunks/ConsoleOAuthFlow-mEIkCzbi.js +3 -0
- package/dist/chunks/{DesktopHandoff-DDZW1f4B.js → DesktopHandoff-BNLQPXUF.js} +2 -2
- package/dist/chunks/{DevChannelsDialog-BxT1gBI-.js → DevChannelsDialog-5l9CKzbU.js} +1 -1
- package/dist/chunks/{DiffDialog-C_M5fcZ1.js → DiffDialog-BRbh1v9n.js} +3 -3
- package/dist/chunks/{Doctor-BeFtx51Y.js → Doctor-BKPcK-MS.js} +9 -9
- package/dist/chunks/{ExitFlow-Dol5ZTVp.js → ExitFlow-BNlryoxG.js} +2 -2
- package/dist/chunks/{Feedback-C6XXxkW_.js → Feedback-DgiWyIFi.js} +3 -3
- package/dist/chunks/{Grove-BXGgnmM2.js → Grove-Ci6HVvhm.js} +1 -1
- package/dist/chunks/{HybridTransport-6KE-2tdG.js → HybridTransport-DImnn3KV.js} +3 -3
- package/dist/chunks/{ITermBackend-DU4crlJ8.js → ITermBackend-B5UV37ee.js} +1 -1
- package/dist/chunks/{InvalidConfigDialog-COQp5wx6.js → InvalidConfigDialog-V1dZt-dr.js} +2 -2
- package/dist/chunks/{InvalidSettingsDialog-C4ZqH7ua.js → InvalidSettingsDialog-B5HKSbaV.js} +2 -2
- package/dist/chunks/{MCPConnectionManager-Ci26BuqG.js → MCPConnectionManager-LEKsUSr7.js} +4 -4
- package/dist/chunks/{McpParsingWarnings-k4GVGSbD.js → McpParsingWarnings-PXbJmU4y.js} +1 -1
- package/dist/chunks/{MessageSelector-C-OCaW_O.js → MessageSelector-CfB_icn6.js} +10 -12
- package/dist/chunks/{Messages-B9hbb5uA.js → Messages-SI98vKCn.js} +16 -16
- package/dist/chunks/{Onboarding-BDtHvYTx.js → Onboarding-55_xhADf.js} +8 -8
- package/dist/chunks/{OverageCreditUpsell-B4DOf4gh.js → OverageCreditUpsell-BcCQjrn2.js} +3 -3
- package/dist/chunks/{PluginSettings-3R1CqSfW.js → PluginSettings-xXk03JTg.js} +13 -13
- package/dist/chunks/{PromptInputFooterSuggestions-CxqTMId_.js → PromptInputFooterSuggestions-ChU0dwxp.js} +2 -2
- package/dist/chunks/{PromptInputHelpMenu-BGgyDIkK.js → PromptInputHelpMenu-Bu4DVlsf.js} +3 -3
- package/dist/chunks/{QueryEngine-ChpFG8gv.js → QueryEngine-D-I5zLOq.js} +6 -6
- package/dist/chunks/{REPL-CG0UgVfl.js → REPL-3gzD29Jx.js} +1081 -2150
- package/dist/chunks/{RemoteCallout-B0VqS1Qt.js → RemoteCallout-DZa1GMN3.js} +4 -4
- package/dist/chunks/{RemoteSessionManager-B1roy_8S.js → RemoteSessionManager-Dl3oP-RW.js} +10 -10
- package/dist/chunks/{ResumeConversation-BWrUge-0.js → ResumeConversation-DoG_8p6R.js} +5 -5
- package/dist/chunks/{SSETransport-C2QsETHl.js → SSETransport-BrAtv7Uv.js} +2 -2
- package/dist/chunks/{Settings-COOyI14X.js → Settings-DaWxTRL7.js} +15 -15
- package/dist/chunks/{TeleportProgress-qSHTYfot.js → TeleportProgress-DbQXwC6f.js} +1 -1
- package/dist/chunks/{TeleportRepoMismatchDialog-CGsCO8by.js → TeleportRepoMismatchDialog-Bqh7GtzH.js} +3 -3
- package/dist/chunks/{TeleportResumeWrapper-DXrpfnNe.js → TeleportResumeWrapper-DFozOXmi.js} +3 -3
- package/dist/chunks/{ThemePicker-DimvavHs.js → ThemePicker-B2A3Q2PJ.js} +3 -3
- package/dist/chunks/{TmuxBackend-H0XnczhB.js → TmuxBackend-BHVSdxI0.js} +1 -1
- package/dist/chunks/ToolSearchTool-CTr76adP.js +3 -0
- package/dist/chunks/{TrustDialog-DeSs6f0D.js → TrustDialog-Cd1jrJjA.js} +4 -4
- package/dist/chunks/{ValidationErrorsList-C4Km61yv.js → ValidationErrorsList-BVT83Ain.js} +1 -1
- package/dist/chunks/{WindowsTerminalBackend-Bgv7-JUL.js → WindowsTerminalBackend-Buqgk5o3.js} +1 -1
- package/dist/chunks/{add-dir-CHNcl-5z.js → add-dir-DZDlrqv0.js} +2 -2
- package/dist/chunks/{agentDisplay-BBigvlJ5.js → agentDisplay-uyubCgl8.js} +2 -2
- package/dist/chunks/{agents-CFvEeCnI.js → agents-CXGQlk_G.js} +9 -9
- package/dist/chunks/{agents-Bnzh76m3.js → agents-D0VMvYy6.js} +2 -2
- package/dist/chunks/{ant-DLe5klM_.js → ant-Vv3urgrx.js} +2 -2
- package/dist/chunks/{api-Bx57yPja.js → api-BAka7RGb.js} +1 -1
- package/dist/chunks/{api-HJVu8Bgf.js → api-q0v0qC6U.js} +1 -1
- package/dist/chunks/asciicast--W1-QPVl.js +2 -0
- package/dist/chunks/{assistant-BcJ2VyZO.js → assistant-BvK7La-m.js} +4 -4
- package/dist/chunks/{assistant-DKGoLYoz.js → assistant-_rU-HBfo.js} +2 -2
- package/dist/chunks/{auth-BVoXNOdu.js → auth-BYIRq4FR.js} +1 -1
- package/dist/chunks/auth-QiRSNaR0.js +3 -0
- package/dist/chunks/{autoMode-BjMFpRPS.js → autoMode-D-Vu_d5G.js} +3 -3
- package/dist/chunks/{autonomy-B142xgn9.js → autonomy-Cpzq6lOY.js} +42 -7
- package/dist/chunks/{autonomyPanel-DrItmDJf.js → autonomyPanel-DRlPhdsS.js} +2 -2
- package/dist/chunks/{backgroundHousekeeping-DPSnu12B.js → backgroundHousekeeping-B0XOYGPA.js} +6 -6
- package/dist/chunks/{backgroundHousekeeping-xKDy8FkD.js → backgroundHousekeeping-mtEIEw6l.js} +1 -1
- package/dist/chunks/{banner-2Io8Jttd.js → banner-trVEKeoE.js} +1 -1
- package/dist/chunks/{bg-D-cs4pwp.js → bg-AZpkHvVY.js} +1 -1
- package/dist/chunks/{bg-2DXXMI4u.js → bg-BhP-16DX.js} +5 -5
- package/dist/chunks/{branch-C70keLeV.js → branch-BbzfF7EC.js} +2 -2
- package/dist/chunks/{bridge-BggvL4iM.js → bridge-1LlgPjAx.js} +9 -9
- package/dist/chunks/{bridgeConfig-BeCM9dMF.js → bridgeConfig-B88funD-.js} +1 -1
- package/dist/chunks/{bridgeConfig-DsVyayv1.js → bridgeConfig-CLWrVvio.js} +1 -1
- package/dist/chunks/{bridgeEnabled-oCT5xVvX.js → bridgeEnabled-5qQEn2Oy.js} +1 -1
- package/dist/chunks/{bridgeEnabled-Dj8FWS0e.js → bridgeEnabled-CCY6kXcK.js} +2 -2
- package/dist/chunks/{bridgeMain-Cnni8EVq.js → bridgeMain-Dn6ZZ7En.js} +36 -36
- package/dist/chunks/{bridgeMessaging-CDla4R6o.js → bridgeMessaging-CwzNeRb-.js} +2 -2
- package/dist/chunks/{btw-BzdgUzJU.js → btw-DWVVSHYd.js} +5 -5
- package/dist/chunks/{buddy-ovy_skht.js → buddy-HTgZuWva.js} +3 -3
- package/dist/chunks/{bypassPermissionsKillswitch-BJ7iACst.js → bypassPermissionsKillswitch-DfqbYrGg.js} +1 -1
- package/dist/chunks/{caches-CBfjkIrn.js → caches-BZ70MTke.js} +8 -8
- package/dist/chunks/{caches-B5mZT9E-.js → caches-BkDAiZ40.js} +1 -1
- package/dist/chunks/{ccrClient-DKQN014H.js → ccrClient-Bu0_3uS9.js} +3 -3
- package/dist/chunks/changeDetector-DWNPUIOB.js +3 -0
- package/dist/chunks/{channelNotification-B1HVtfcI.js → channelNotification-Do1-GDXI.js} +1 -1
- package/dist/chunks/{channelNotification-Dgrgm0St.js → channelNotification-LQalwcBX.js} +2 -2
- package/dist/chunks/{chrome-A_IWe_cO.js → chrome-BDB0n9I0.js} +3 -3
- package/dist/chunks/{clear-Cv0qvLzE.js → clear-CN5Grsjj.js} +1 -1
- package/dist/chunks/{client-DEQ6taWJ.js → client-D7jFd9Op.js} +1 -1
- package/dist/chunks/{color-rH76d2GW.js → color-CLJdYFQw.js} +1 -1
- package/dist/chunks/{commands-BToVM-n_.js → commands-CJwQylUG.js} +1 -1
- package/dist/chunks/{commitAttribution-x-Y9qiEw.js → commitAttribution-B8-sImCH.js} +1 -1
- package/dist/chunks/{commitAttribution--kWCfiBX.js → commitAttribution-BoQuda3v.js} +1 -1
- package/dist/chunks/{compact-CuLy_ZmV.js → compact-CYBTrlSH.js} +1 -1
- package/dist/chunks/{companion-BserNxZw.js → companion-DqsAgrdS.js} +1 -1
- package/dist/chunks/{config-BbFdCtCZ.js → config-D-FSn46F.js} +1 -1
- package/dist/chunks/{config-WGaJE2Z-.js → config-DPO9MwXv.js} +1 -1
- package/dist/chunks/{context-WOOY0FLL.js → context-CYwihLLB.js} +5 -5
- package/dist/chunks/{context-noninteractive-CS0-TpiN.js → context-noninteractive-BvtukkBa.js} +4 -4
- package/dist/chunks/{conversation-DZ_UoE8s.js → conversation-CGmbYM2l.js} +1 -1
- package/dist/chunks/{conversation-LlZkX2yV.js → conversation-DtMeaxev.js} +4 -4
- package/dist/chunks/{copy-DCXi64ex.js → copy-BJ59zBCu.js} +2 -2
- package/dist/chunks/{cost-CoxvFCRD.js → cost-BRIrApbW.js} +2 -2
- package/dist/chunks/{createSSHSession-CP9c1m4g.js → createSSHSession-BHbaIF4j.js} +2 -2
- package/dist/chunks/{createSession-Cm7HpHez.js → createSession-D91-Um52.js} +17 -17
- package/dist/chunks/{cronJitterConfig-DYWTMlRv.js → cronJitterConfig-BsfJPbuz.js} +4 -4
- package/dist/chunks/{crossProjectResume-DeOsfSF5.js → crossProjectResume-CKAEJ3Ed.js} +8 -8
- package/dist/chunks/{daemon-Ci7b5c8J.js → daemon-DFpVgMMR.js} +2 -2
- package/dist/chunks/{datadog-FNzocPlm.js → datadog-C1pKO0Rj.js} +1 -1
- package/dist/chunks/{datadog-CgRauwXn.js → datadog-Dt0ofiPv.js} +1 -1
- package/dist/chunks/{desktop-B1EhowRo.js → desktop-OpnZstWS.js} +1 -1
- package/dist/chunks/{detached-BTZLi_wz.js → detached-BFTAxA_R.js} +1 -1
- package/dist/chunks/{diff-BXAZYSAe.js → diff-5vk56ZmO.js} +1 -1
- package/dist/chunks/{doctor-2TsPG9x4.js → doctor-BbBB7rBY.js} +1 -1
- package/dist/chunks/earlyInput-otsfyHlr.js +2 -0
- package/dist/chunks/{effort-DxhwjDgv.js → effort-DdkdyEx7.js} +3 -3
- package/dist/chunks/{entry-B37teFKO.js → entry-kV49Yn7y.js} +3 -3
- package/dist/chunks/{envLessBridgeConfig-OzRntxQ7.js → envLessBridgeConfig-uFAq9sG_.js} +2 -2
- package/dist/chunks/{exit-DXwVjHB_.js → exit-CqhqNnNJ.js} +3 -3
- package/dist/chunks/{export-CUxQmI8I.js → export-D1vsCF4u.js} +2 -2
- package/dist/chunks/{exportRenderer-BXcHLusv.js → exportRenderer-CHypbYP2.js} +3 -3
- package/dist/chunks/{extra-usage-D5F2Fab1.js → extra-usage-CK_NVQMH.js} +2 -2
- package/dist/chunks/{extra-usage-core-BjMJY05D.js → extra-usage-core-BKhblo3u.js} +4 -4
- package/dist/chunks/{extra-usage-noninteractive-C1eLncrU.js → extra-usage-noninteractive-BDjVnr2R.js} +1 -1
- package/dist/chunks/{extraUsage-B3Z9hxVY.js → extraUsage-BQyrSxb4.js} +3 -3
- package/dist/chunks/{fast-BPAOtiKR.js → fast-CDeuQdf_.js} +1 -1
- package/dist/chunks/{fast-vmSBT3wk.js → fast-LyVMIlcZ.js} +4 -4
- package/dist/chunks/{feedback-Bd4KPsMs.js → feedback-CUVHgQrH.js} +1 -1
- package/dist/chunks/{firstPartyEventLogger-DfayOxom.js → firstPartyEventLogger-BnFkAOZX.js} +1 -1
- package/dist/chunks/{flushGate-CEQ0eFpN.js → flushGate-BfNEpn9l.js} +4 -4
- package/dist/chunks/{fork-Cql3KSxE.js → fork-CbsSVzCt.js} +1 -1
- package/dist/chunks/{gates-CXbe08cU.js → gates-B8dRzViH.js} +1 -1
- package/dist/chunks/{gates-B6dXEO7B.js → gates-C9pi8g5k.js} +1 -1
- package/dist/chunks/{gemini-Dc1L8IRS.js → gemini-BQ_BKiUg.js} +3 -3
- package/dist/chunks/{generateSessionName-DnnfYlVp.js → generateSessionName-Bd9Yb-QJ.js} +3 -3
- package/dist/chunks/{githubRepoPathMapping-7sx6rtjX.js → githubRepoPathMapping-BmCak8dj.js} +1 -1
- package/dist/chunks/{grok-ZGDHie6x.js → grok-D8GQ5fXf.js} +4 -4
- package/dist/chunks/{growthbook-Cjl5wOGC.js → growthbook-Cu2helMF.js} +1 -1
- package/dist/chunks/{heapdump-BtjR8Avz.js → heapdump-CIWjb1r7.js} +1 -1
- package/dist/chunks/{help-CnGuF5OL.js → help-SjIHwRhX.js} +5 -5
- package/dist/chunks/{hooks-6SfXd_6y.js → hooks-BuNmkNsh.js} +2 -2
- package/dist/chunks/{hooks-EDuZo8rZ.js → hooks-CYkjVXEa.js} +1 -1
- package/dist/chunks/{hostAdapter-CutcCk0Y.js → hostAdapter-qIUeLA8_.js} +1 -1
- package/dist/chunks/{ide-DN0eFH-I.js → ide-2O2Fvgdo.js} +2 -2
- package/dist/chunks/{inboundAttachments-CTBWhskT.js → inboundAttachments-BAViYbsv.js} +1 -1
- package/dist/chunks/{initReplBridge-BKcPvixd.js → initReplBridge-DutMkxA9.js} +19 -19
- package/dist/chunks/{insights-BS0ZNRLw.js → insights-D2PDhPi5.js} +4 -4
- package/dist/chunks/{install-DicMWYKx.js → install-D8hhx_bQ.js} +2 -2
- package/dist/chunks/{install-github-app-DHSeHIaO.js → install-github-app-7KGa1Uf9.js} +3 -3
- package/dist/chunks/{install-slack-app-CLHR9i9n.js → install-slack-app-g6C3x4Wt.js} +1 -1
- package/dist/chunks/{instrumentation-CUTDZ6VV.js → instrumentation-BzAwzrC5.js} +3 -3
- package/dist/chunks/{job-DKQ89zqd.js → job-cGeOoFve.js} +1 -1
- package/dist/chunks/{keybindings-5wQbz4c8.js → keybindings-BqIvN3aw.js} +2 -2
- package/dist/chunks/{lang-BTCSHBFu.js → lang-6sw0pbHf.js} +2 -2
- package/dist/chunks/{language-Hl1jowwd.js → language-zlcSWbrw.js} +1 -1
- package/dist/chunks/{loadAgentsDir-9z4W5vjy.js → loadAgentsDir-C4LTbpHE.js} +1 -1
- package/dist/chunks/{loadAgentsDir-CKCr6KLl.js → loadAgentsDir-Vb46sydQ.js} +573 -1162
- package/dist/chunks/loadPluginHooks-CDSnlJOL.js +3 -0
- package/dist/chunks/{localSearch-DL5GhpDE.js → localSearch-46sF2Qcf.js} +1 -1
- package/dist/chunks/{localSearch-C5_bOr8q.js → localSearch-CGCwbEph.js} +1 -1
- package/dist/chunks/{login-D9BtI7Pb.js → login-B3ad2q29.js} +1 -1
- package/dist/chunks/{login-DgQJAdug.js → login-DlxkwUp6.js} +5 -5
- package/dist/chunks/{logoV2Utils-fw-X-t6i.js → logoV2Utils-DCR2mp3C.js} +4 -4
- package/dist/chunks/logout-D9QOjDYp.js +3 -0
- package/dist/chunks/{magicDocs-Crhut7gV.js → magicDocs-v7lt_LMd.js} +2 -2
- package/dist/chunks/{main-1IxSEB11.js → main-CM-7Ag0d.js} +7 -7
- package/dist/chunks/{main-vXOmPUE1.js → main-DtLB8Txx.js} +132 -134
- package/dist/chunks/{mappers-BCSKRNTR.js → mappers-Cgwoit82.js} +1 -1
- package/dist/chunks/{mcp-D1IOUzE7.js → mcp-DuHDARTT.js} +6 -6
- package/dist/chunks/{mcp-7YXd30Q0.js → mcp-DyEdsEhr.js} +3 -3
- package/dist/chunks/{mcp-Ci0gy5Wm.js → mcp-sy97T05v.js} +6 -6
- package/dist/chunks/{mcpServer-BHppS1ws.js → mcpServer-BRM-HTmU.js} +6 -6
- package/dist/chunks/{mcpServer-CCvSYftj.js → mcpServer-D9ETKGwP.js} +5 -5
- package/dist/chunks/{memory-IVFsZGbH.js → memory-0b_NDPYu.js} +5 -5
- package/dist/chunks/{mobile-DC30stZP.js → mobile-Cpzi4v6k.js} +1 -1
- package/dist/chunks/{model-CoZ6jhjM.js → model-B6k4KgMg.js} +1 -1
- package/dist/chunks/{model-CtTIthX3.js → model-BY6YlTaA.js} +3 -3
- package/dist/chunks/{onChangeAppState-C0crWlUU.js → onChangeAppState-Iv6JwzpI.js} +3 -3
- package/dist/chunks/{openai-Bq-tZzdA.js → openai-Chg9Em00.js} +4 -4
- package/dist/chunks/{overageCreditGrant-DA6Ji27r.js → overageCreditGrant-C7V_bAas.js} +2 -2
- package/dist/chunks/{passes-CQjMQxDF.js → passes-CDGIOxpP.js} +2 -2
- package/dist/chunks/{paths-DSkEVuBg.js → paths-CzeRf5XR.js} +3 -3
- package/dist/chunks/{permissions-bgBNVZj6.js → permissions-aQYTB4zs.js} +8 -8
- package/dist/chunks/pipeTransport-C3DGjgm4.js +78 -0
- package/dist/chunks/{plan-9HtDwIeE.js → plan-D3lV7RZr.js} +3 -3
- package/dist/chunks/{plugin-C2tIIFq9.js → plugin-BujIe7M9.js} +1 -1
- package/dist/chunks/{pluginAutoupdate-DZc2hFxf.js → pluginAutoupdate-BYYgDJAE.js} +4 -4
- package/dist/chunks/{pluginBlocklist-DiS_LOxs.js → pluginBlocklist-C2_ZBtKH.js} +3 -3
- package/dist/chunks/{pluginCliCommands-BiXap9Fy.js → pluginCliCommands-CCu6cJv0.js} +3 -3
- package/dist/chunks/{pluginFlagging-q8gMbkD5.js → pluginFlagging-BDG_ES7A.js} +1 -1
- package/dist/chunks/{pluginOperations-D9ol2ssj.js → pluginOperations-C19agFr2.js} +4 -4
- package/dist/chunks/{pluginStartupCheck-CG2qErc7.js → pluginStartupCheck-DLvmjvBS.js} +1 -1
- package/dist/chunks/{pluginStartupCheck-COh-DcKy.js → pluginStartupCheck-HHCKFPAx.js} +3 -3
- package/dist/chunks/{plugins-BietcZD3.js → plugins-B6kYfqAL.js} +8 -8
- package/dist/chunks/policyLimits-DJBAjQzZ.js +3 -0
- package/dist/chunks/{pollConfig-2I_nDHA7.js → pollConfig-BxiW2T58.js} +1 -1
- package/dist/chunks/{poor-CB5mtPXL.js → poor-DJkHzRYc.js} +1 -1
- package/dist/chunks/{poorMode-C7Tv4gyt.js → poorMode-CBfpLe_7.js} +1 -1
- package/dist/chunks/{poorMode-BQLnZVIm.js → poorMode-Dp5JmJCp.js} +1 -1
- package/dist/chunks/{print-BWjElYkB.js → print-xsTQDxt8.js} +27 -46
- package/dist/chunks/{privacy-settings-C5mvrXGG.js → privacy-settings-Dn8DDGjf.js} +2 -2
- package/dist/chunks/{processBashCommand-DJgkl_kf.js → processBashCommand-d0gIhdpP.js} +3 -3
- package/dist/chunks/{processSlashCommand-CvVng3uM.js → processSlashCommand-BThMxma6.js} +5 -5
- package/dist/chunks/{projectContext-CtnrRecP.js → projectContext-BHRSqJly.js} +1 -1
- package/dist/chunks/prompt-CSir0tim.js +3 -0
- package/dist/chunks/prompt-UiKjRIt9.js +3 -0
- package/dist/chunks/{promptEditor-B7ChKW5Y.js → promptEditor-B63MUoD4.js} +1 -1
- package/dist/chunks/{protocolHandler-4lEbHJxz.js → protocolHandler-DSOXS9US.js} +5 -5
- package/dist/chunks/{rate-limit-options-BYbGoNeE.js → rate-limit-options-D3SHxrp1.js} +4 -4
- package/dist/chunks/{sessionActivity-BChWrGEw.js → rcDebugLog-C52yKf5j.js} +28 -28
- package/dist/chunks/{referral-DWjXZbQX.js → referral-3sPYi3kw.js} +2 -2
- package/dist/chunks/{refresh-G0J3u5aZ.js → refresh-CczxgU5S.js} +1 -1
- package/dist/chunks/{registerProtocol-BOgiAPJV.js → registerProtocol-D_wzRlb_.js} +2 -2
- package/dist/chunks/registry-CN5d1qhB.js +3 -0
- package/dist/chunks/{release-notes-v3zOCxeU.js → release-notes-ClbOTBtN.js} +1 -1
- package/dist/chunks/{releaseNotes-BDI58OYX.js → releaseNotes-CLGhcfvJ.js} +1 -1
- package/dist/chunks/{reload-plugins-CFeA55V6.js → reload-plugins-CQ38fDmx.js} +4 -4
- package/dist/chunks/{remote-env-xOJjxQep.js → remote-env-C67RQfRF.js} +2 -2
- package/dist/chunks/{remoteBridgeCore-C09AjDw1.js → remoteBridgeCore-oZLy6yW1.js} +8 -8
- package/dist/chunks/{remoteControlServer-VNsby-E0.js → remoteControlServer-hjCgemAR.js} +7 -7
- package/dist/chunks/{rename-DeodVT8f.js → rename-551tfxnb.js} +4 -4
- package/dist/chunks/{resume-BkdC4Iyi.js → resume-DRWJ6RUq.js} +3 -3
- package/dist/chunks/{runtimeObserver-AfLQXrqg.js → runtimeObserver-CfL2iGeV.js} +8 -8
- package/dist/chunks/{runtimeObserver-DFFDac2w.js → runtimeObserver-D8qpgN-q.js} +1 -1
- package/dist/chunks/sandbox-adapter-oHvzMbb7.js +3 -0
- package/dist/chunks/{sandbox-toggle-KsZ9hetn.js → sandbox-toggle-CzfcFtm7.js} +2 -2
- package/dist/chunks/{session-Cl-xCJ8U.js → session-BSnldGog.js} +2 -2
- package/dist/chunks/{sessionDiscovery-DMnEeuJg.js → sessionDiscovery-BsY3Y2nr.js} +1 -1
- package/dist/chunks/sessionFileAccessHooks-Nfow0nDz.js +3 -0
- package/dist/chunks/{sessionMemory-CVMgpniu.js → sessionMemory-Bwc46d49.js} +4 -4
- package/dist/chunks/sessionMemoryUtils-BrEGcIf3.js +3 -0
- package/dist/chunks/{sessionObserver-DQQGWkXf.js → sessionObserver-BOIgycUZ.js} +1 -1
- package/dist/chunks/{sessionObserver-Drmv4DI0.js → sessionObserver-D-5BlE5D.js} +4 -4
- package/dist/chunks/{sessionStorage-CcdKJkyn.js → sessionStorage-Bpwv3avO.js} +1 -1
- package/dist/chunks/{sessionTitle-CynC1QWH.js → sessionTitle-DEd2kVLh.js} +2 -2
- package/dist/chunks/{sessionTracing-D9s950J5.js → sessionTracing-CwLzqV9t.js} +1 -1
- package/dist/chunks/{settingsSync-CPInbcj7.js → settingsSync-DCvZYaMQ.js} +2 -2
- package/dist/chunks/{setup-m0qLMFD7.js → setup-CJHEsMBO.js} +2 -2
- package/dist/chunks/{setup-oNcnnqr2.js → setup-DKoxrmuZ.js} +15 -18
- package/dist/chunks/{setup-D5on8ibP.js → setup-DhTITJbQ.js} +2 -2
- package/dist/chunks/{shadowedRuleDetection-Drf9u-db.js → shadowedRuleDetection-DzaIH3F1.js} +1 -1
- package/dist/chunks/{sideQuestion-BFd04Hpm.js → sideQuestion-5sgrvNO3.js} +2 -2
- package/dist/chunks/{sink-wb0QjAm7.js → sink-C0MK82-B.js} +1 -1
- package/dist/chunks/{sink-EtSaBh8E.js → sink-DIF5ULot.js} +2 -2
- package/dist/chunks/{sinks-C7QBA6x8.js → sinks-Bpyxmob4.js} +1 -1
- package/dist/chunks/{skill-learning-CshrpvXr.js → skill-learning-xvtysH_2.js} +7 -7
- package/dist/chunks/{skillChangeDetector-BXcvDT4K.js → skillChangeDetector-BRETBhcB.js} +5 -5
- package/dist/chunks/{skillGapStore-Ctpnj8SE.js → skillGapStore-HioNOSWE.js} +4 -4
- package/dist/chunks/{skillGapStore-B0fBE8ju.js → skillGapStore-oaBH0p2g.js} +1 -1
- package/dist/chunks/{skillGenerator-DxHhQT_d.js → skillGenerator-6xXp8l8O.js} +3 -3
- package/dist/chunks/{skillLearning-BQzbxDmM.js → skillLearning-sw3FL3pS.js} +9 -9
- package/dist/chunks/{skillPanel-DrqDoWdh.js → skillPanel-DZHcGCQx.js} +5 -5
- package/dist/chunks/{skillSearchPanel-UXTLla11.js → skillSearchPanel-Cp8XX0o6.js} +2 -2
- package/dist/chunks/{skills-CKx64w0R.js → skills-BtLy81vb.js} +3 -3
- package/dist/chunks/{sprites-CmcTBNjG.js → sprites-DVVIfKBQ.js} +1 -1
- package/dist/chunks/{src-Dx8ucMgB.js → src-HVJR0Zo0.js} +2 -2
- package/dist/chunks/{startupProfiler-CommxiJO.js → startupProfiler-CazxVJNo.js} +1 -0
- package/dist/chunks/{startupProfiler-DMJO2xz5.js → startupProfiler-XOIBwlp1.js} +1 -1
- package/dist/chunks/{stats-CUJL6gf6.js → stats-CI8Ocv6R.js} +4 -4
- package/dist/chunks/{stats-OQSoO8AA.js → stats-kwjQqb1p.js} +1 -1
- package/dist/chunks/{status-C2JI09Xw.js → status-CxEzelDy.js} +1 -1
- package/dist/chunks/{statusNoticeHelpers-BGzUypnF.js → statusNoticeHelpers-j4DlZKCG.js} +1 -1
- package/dist/chunks/{tag-D7eNyLsL.js → tag-ChsmL3mw.js} +2 -2
- package/dist/chunks/{tasks-ji7qrtQZ.js → tasks-CfpDSYIO.js} +1 -1
- package/dist/chunks/{teamHelpers-wA0wc9x7.js → teamHelpers-BvAnovSv.js} +1 -1
- package/dist/chunks/{teamHelpers-C1EYvVG8.js → teamHelpers-D6fwXj1v.js} +1 -1
- package/dist/chunks/{teammateModeSnapshot-ChmbBeGY.js → teammateModeSnapshot-BUQkCay6.js} +1 -1
- package/dist/chunks/{teammateModeSnapshot-D1C3CvY2.js → teammateModeSnapshot-BVFzdZ_x.js} +1 -1
- package/dist/chunks/teleport-Bp89My5r.js +3 -0
- package/dist/chunks/{templateJobs-juuqs5ID.js → templateJobs-Br2aKYrv.js} +1 -1
- package/dist/chunks/{terminalSetup-YfKbBHG2.js → terminalSetup-BYIyMuN2.js} +1 -1
- package/dist/chunks/{terminalSetup-DkW8kzTS.js → terminalSetup-BmDg3jRD.js} +1 -1
- package/dist/chunks/{theme-BZ0g686m.js → theme-BVjt_puz.js} +1 -1
- package/dist/chunks/{thinkback-BTvAN4SG.js → thinkback-B8oA4ceZ.js} +4 -4
- package/dist/chunks/{thinkback-play-BJV9UsS_.js → thinkback-play-Baap-i_Z.js} +2 -2
- package/dist/chunks/{tmux-b0jmod-m.js → tmux-CqbuPVsI.js} +1 -1
- package/dist/chunks/{toolEventObserver-BCMiKOMJ.js → toolEventObserver-BbfGYsgT.js} +4 -4
- package/dist/chunks/{toolEventObserver-C0lzru27.js → toolEventObserver-DD-7StWm.js} +1 -1
- package/dist/chunks/{toolPool-BFpy26rC.js → toolPool-CYdrUR-v.js} +2 -2
- package/dist/chunks/toolSearch-C8-En_Ip.js +3 -0
- package/dist/chunks/{trustedDevice-NWjic61P.js → trustedDevice-BHdQWw6x.js} +1 -1
- package/dist/chunks/{trustedDevice-BwB25RSK.js → trustedDevice-Du09NlP4.js} +1 -1
- package/dist/chunks/udsClient-uE-r0N-F.js +79 -0
- package/dist/chunks/{ultrareviewCommand-Dm_UZkUI.js → ultrareviewCommand-QSDpc-6Z.js} +4 -4
- package/dist/chunks/{undercover-BOjOeIVa.js → undercover--_4tGPsw.js} +1 -1
- package/dist/chunks/{undercover-3UBD5GtT.js → undercover-mT9rbX3i.js} +2 -2
- package/dist/chunks/{updateCCB-gqr4tTHw.js → updateCCB-D72yVofL.js} +1 -1
- package/dist/chunks/{upgrade-D11LGswH.js → upgrade-CxYm5cDy.js} +2 -2
- package/dist/chunks/{upload-DdAHsTCb.js → upload-CF9Sdacj.js} +1 -1
- package/dist/chunks/{usage-C-03An_-.js → usage-By35aKmd.js} +1 -1
- package/dist/chunks/{usage-BfgmPd0i.js → usage-DgFudEa4.js} +1 -1
- package/dist/chunks/{useMainLoopModel-DYfWygEv.js → useMainLoopModel-Bmf7oPQm.js} +2 -2
- package/dist/chunks/{useManagePlugins-D8K7TxOS.js → useManagePlugins-4akAhKD1.js} +3 -3
- package/dist/chunks/{useMergedTools-JQNt6cB4.js → useMergedTools-UzYVztPW.js} +2 -2
- package/dist/chunks/{useSearchInput-naZgTeTY.js → useSearchInput-DG2qZ1oP.js} +1 -1
- package/dist/chunks/{useSettingsErrors-B_ON2uhq.js → useSettingsErrors-BurMq1G8.js} +1 -1
- package/dist/chunks/{useVoice-DjvY6q_C.js → useVoice-DPofdCLT.js} +5 -5
- package/dist/chunks/{util-BwTRWVrl.js → util-w1BKHUpk.js} +10 -10
- package/dist/chunks/utils-BvK7ZSrK.js +3 -0
- package/dist/chunks/{validatePlugin-CMOY-08u.js → validatePlugin-COZqtea-.js} +2 -2
- package/dist/chunks/{vim-AaHpII0z.js → vim-CfLafzBg.js} +1 -1
- package/dist/chunks/{voice-I_niPDYx.js → voice-DJnMHbx5.js} +7 -7
- package/dist/chunks/{voiceModeEnabled-DUmAjLGG.js → voiceModeEnabled-ENVjUcB1.js} +1 -1
- package/dist/chunks/{voiceModeEnabled-BZsBgRyY.js → voiceModeEnabled-WL1Uaazp.js} +1 -1
- package/dist/chunks/{voiceStreamSTT-D78E5v0F.js → voiceStreamSTT-BJPa3rVi.js} +1 -1
- package/dist/chunks/{voiceStreamSTT-B2yBe7t0.js → voiceStreamSTT-DpfyZRVm.js} +1 -1
- package/dist/chunks/{workerRegistry-RMvzN7sg.js → workerRegistry-D1_6FrX-.js} +2 -2
- package/dist/chunks/{worktree-TqvDjo2A.js → worktree-CU08W3ws.js} +1 -1
- package/dist/chunks/{xml-CsdP7fK7.js → xml-DZjpkPob.js} +1 -1
- package/dist/cli.js +33 -33
- package/package.json +1 -1
- package/dist/chunks/ConsoleOAuthFlow-C1-SrEiG.js +0 -3
- package/dist/chunks/ToolSearchTool-BeZUtcX_.js +0 -3
- package/dist/chunks/asciicast-CWc3s8cO.js +0 -2
- package/dist/chunks/attach-CoVSthQI.js +0 -98
- package/dist/chunks/auth-CIEBUWAh.js +0 -3
- package/dist/chunks/changeDetector-BCuzf3ol.js +0 -3
- package/dist/chunks/claim-main-CwcSUu_w.js +0 -58
- package/dist/chunks/detach-0h-NxV2J.js +0 -75
- package/dist/chunks/earlyInput-B_aTbrmS.js +0 -2
- package/dist/chunks/history-vud-Tm1o.js +0 -68
- package/dist/chunks/lanBeacon-B9DUbPm5.js +0 -149
- package/dist/chunks/loadPluginHooks-pUErwUEr.js +0 -3
- package/dist/chunks/logout-D0IWuAdu.js +0 -3
- package/dist/chunks/ndjsonFramer-CKtNKe0_.js +0 -62
- package/dist/chunks/peers-DYT0TJOa.js +0 -46
- package/dist/chunks/pipe-status-BJlhlq2_.js +0 -49
- package/dist/chunks/pipeRegistry-Bqvffg4X.js +0 -316
- package/dist/chunks/pipeTransport-AYEUDuAI.js +0 -405
- package/dist/chunks/pipes-tMCTxKU7.js +0 -190
- package/dist/chunks/policyLimits-lOxwJSgx.js +0 -3
- package/dist/chunks/prompt-BRO4j8aV.js +0 -3
- package/dist/chunks/prompt-BWsbofSc.js +0 -3
- package/dist/chunks/registry-Bf_DxEcr.js +0 -3
- package/dist/chunks/sandbox-adapter-DlVhDXrc.js +0 -3
- package/dist/chunks/send-CCIavh7z.js +0 -85
- package/dist/chunks/sessionFileAccessHooks-CNUVTQ1R.js +0 -3
- package/dist/chunks/sessionMemoryUtils-xpfe6Pev.js +0 -3
- package/dist/chunks/teamDiscovery-BznSf4tS.js +0 -38
- package/dist/chunks/teleport-m6LivPjb.js +0 -3
- package/dist/chunks/toolSearch-CGzGQT9G.js +0 -3
- package/dist/chunks/udsClient-B70nBxvj.js +0 -242
- package/dist/chunks/udsClient-C5ukh5VE.js +0 -3
- package/dist/chunks/udsMessaging-C5P4nSg_.js +0 -3
- package/dist/chunks/udsMessaging-CccGgVgR.js +0 -603
- package/dist/chunks/useMasterMonitor-BQ1QhrlN.js +0 -323
- package/dist/chunks/utils-CxlU_Or6.js +0 -3
- /package/dist/chunks/{Dialog-XEoAY-lo.js → Dialog-Bl_rTts3.js} +0 -0
- /package/dist/chunks/{InProcessTransport-Dq207XBp.js → InProcessTransport-IHW2RJx8.js} +0 -0
- /package/dist/chunks/{ListItem-BLRpONzN.js → ListItem-D9LLl8Ek.js} +0 -0
- /package/dist/chunks/{PermissionDialog-CGmleW13.js → PermissionDialog-D7UNIOtc.js} +0 -0
- /package/dist/chunks/{PressEnterToContinue-B8M_HSdG.js → PressEnterToContinue-CluRNOCt.js} +0 -0
- /package/dist/chunks/{SearchBox-iXol4xrV.js → SearchBox-BoTCRPmh.js} +0 -0
- /package/dist/chunks/{WelcomeV2-BrLgacxm.js → WelcomeV2-oyf_KFt6.js} +0 -0
- /package/dist/chunks/{asciicast-BcRSJueh.js → asciicast-DOtXvlJV.js} +0 -0
- /package/dist/chunks/{attributionHooks-DYfOjXs3.js → attributionHooks-DW8sjooz.js} +0 -0
- /package/dist/chunks/{attributionTrailer-BRzn4tt-.js → attributionTrailer-D8ipr7az.js} +0 -0
- /package/dist/chunks/{autoModeDenials-DdxIfUGy.js → autoModeDenials-Ckzi8DmX.js} +0 -0
- /package/dist/chunks/{bedrockClient-a4lkLst1.js → bedrockClient-CPTpGv94.js} +0 -0
- /package/dist/chunks/{bridgePointer-D_ikNrjn.js → bridgePointer-BQxAs9Dm.js} +0 -0
- /package/dist/chunks/{capacityWake-D0JN23wy.js → capacityWake-DyITX1TI.js} +0 -0
- /package/dist/chunks/{ccshareResume-DQEqveUy.js → ccshareResume-pWbhmETG.js} +0 -0
- /package/dist/chunks/{chromeNativeHost-Q6-G2bfy.js → chromeNativeHost-nORMSo3F.js} +0 -0
- /package/dist/chunks/{claudeDesktop-WVwxxFNt.js → claudeDesktop-C8GpUuqs.js} +0 -0
- /package/dist/chunks/{cleanup-fEkK-hKc.js → cleanup-DK3NXHb1.js} +0 -0
- /package/dist/chunks/{cliLaunch-CzauAJZe.js → cliLaunch-aWiCQf9j.js} +0 -0
- /package/dist/chunks/{connectHeadless-CCqvGWfL.js → connectHeadless-CcD9v90v.js} +0 -0
- /package/dist/chunks/{controlMessageCompat-DWv-mIPh.js → controlMessageCompat-BRVmRRA9.js} +0 -0
- /package/dist/chunks/{dangerousBackend-MjbASa5S.js → dangerousBackend-BWGrtZgg.js} +0 -0
- /package/dist/chunks/{directoryCompletion-B8RCZO2J.js → directoryCompletion-BU0Dlg1v.js} +0 -0
- /package/dist/chunks/{earlyInput-BsKnIDJP.js → earlyInput-DZrfQ2am.js} +0 -0
- /package/dist/chunks/{eventLoopStallDetector-C2lxypdX.js → eventLoopStallDetector-DVrhwzc2.js} +0 -0
- /package/dist/chunks/{exit-Bc29hy_j.js → exit-DirA_fuf.js} +0 -0
- /package/dist/chunks/{featureCheck-B9SCC0vN.js → featureCheck-Cv993Ldm.js} +0 -0
- /package/dist/chunks/{files-0Y68WpCS.js → files-Cj4oj1So.js} +0 -0
- /package/dist/chunks/{fpsMetrics-Di0G8OGw.js → fpsMetrics-Ck4DjRL5.js} +0 -0
- /package/dist/chunks/{fuse-Df9YUVtR.js → fuse-thkBXtB1.js} +0 -0
- /package/dist/chunks/{instinctParser-Dez-rnKK.js → instinctParser-BFHgE5A4.js} +0 -0
- /package/dist/chunks/{jwtUtils-DgPQR3cZ.js → jwtUtils-DL8L2JPK.js} +0 -0
- /package/dist/chunks/{lib-LxJ6DoZY.js → lib-CnkuCi7e.js} +0 -0
- /package/dist/chunks/{lockfile-D65KX0SH.js → lockfile-BTwNnc6d.js} +0 -0
- /package/dist/chunks/{modalContext-D2kC2GcE.js → modalContext-7wVG_JCR.js} +0 -0
- /package/dist/chunks/{observationStore-DtE97mP4.js → observationStore-BW0N7kqX.js} +0 -0
- /package/dist/chunks/{openai-U_owM0Wc.js → openai-HuE31rEG.js} +0 -0
- /package/dist/chunks/{operations-ChPHc8e6.js → operations-Dv3d6vA6.js} +0 -0
- /package/dist/chunks/{output-style-BXQs3dnJ.js → output-style-BdMzAlhq.js} +0 -0
- /package/dist/chunks/{parseConnectUrl-MYfoAQ1a.js → parseConnectUrl-bPMCRn4n.js} +0 -0
- /package/dist/chunks/{poller-CJzreIZS.js → poller-BBFvAlJc.js} +0 -0
- /package/dist/chunks/{postCommitAttribution-DmuxexP6.js → postCommitAttribution-Dv_316Jg.js} +0 -0
- /package/dist/chunks/{projectContext-CEnG2izP.js → projectContext-ComAiFhS.js} +0 -0
- /package/dist/chunks/{prompt-BnKv9_mj.js → prompt-rbaI_D5u.js} +0 -0
- /package/dist/chunks/{renderOptions-CHpHxRwl.js → renderOptions-Ckbomiec.js} +0 -0
- /package/dist/chunks/{rewind-Ddhd2R_A.js → rewind-vw2ne4Xr.js} +0 -0
- /package/dist/chunks/{rollback-Gt4wFMPp.js → rollback-CXcDCnEi.js} +0 -0
- /package/dist/chunks/{sanitization-CYd1OuBT.js → sanitization-DTHqxW87.js} +0 -0
- /package/dist/chunks/{sdkHeapDumpMonitor-BTcjJax2.js → sdkHeapDumpMonitor-DPgYcat0.js} +0 -0
- /package/dist/chunks/{server-DBPAty_m.js → server-CVTxPXiN.js} +0 -0
- /package/dist/chunks/{serverBanner-Bq43BqnP.js → serverBanner-DwGxohre.js} +0 -0
- /package/dist/chunks/{serverLog-C1qKA5fJ.js → serverLog-B4k8TPNh.js} +0 -0
- /package/dist/chunks/{sessionDataUploader-Bnnb2afa.js → sessionDataUploader-CTyFNa9x.js} +0 -0
- /package/dist/chunks/{sessionManager-CprPE_HT.js → sessionManager-BMihleFs.js} +0 -0
- /package/dist/chunks/{slashCommandParsing-rs-ERr7C.js → slashCommandParsing-60JH6-d_.js} +0 -0
- /package/dist/chunks/{src-2yhJaeQZ.js → src-4WLsfC8V.js} +0 -0
- /package/dist/chunks/{src-C__qTDYF.js → src-iHiSipnJ.js} +0 -0
- /package/dist/chunks/{state-BVnzrPu7.js → state-DgMvaYzj.js} +0 -0
- /package/dist/chunks/{staticRender-Dhz8mkhA.js → staticRender-CAZ_Cg43.js} +0 -0
- /package/dist/chunks/{stdio-CWDcxFu0.js → stdio-CWFOXyFI.js} +0 -0
- /package/dist/chunks/{stickers-4SNqAchz.js → stickers-DeHxjhdM.js} +0 -0
- /package/dist/chunks/{systemTheme-Dp21I3Xt.js → systemTheme-A-hRlw_f.js} +0 -0
- /package/dist/chunks/{types-BrlxvD1M.js → types-DsgAHfPE.js} +0 -0
- /package/dist/chunks/{up-C0eEOvrs.js → up-DrjAA1yD.js} +0 -0
- /package/dist/chunks/{upstreamproxy-DoroF8oN.js → upstreamproxy-B_wN4My6.js} +0 -0
- /package/dist/chunks/{voice-CSkrOZl_.js → voice-D2hV1CU6.js} +0 -0
- /package/dist/chunks/{workSecret-CMZkIeol.js → workSecret-8KZlvhR2.js} +0 -0
|
@@ -1,405 +0,0 @@
|
|
|
1
|
-
import { i as __require, n as __esmMin, r as __exportAll } from "./chunk-CyLJMB0t.js";
|
|
2
|
-
import { n as getClaudeConfigHomeDir, s as init_envUtils } from "./envUtils-DVwWVCmJ.js";
|
|
3
|
-
import { n as init_defineProperty, t as _defineProperty } from "./defineProperty-Cq4c5J8x.js";
|
|
4
|
-
import { o as init_log, s as logError } from "./log-BtGcZqeW.js";
|
|
5
|
-
import { n as init_ndjsonFramer, t as attachNdjsonFramer } from "./ndjsonFramer-CKtNKe0_.js";
|
|
6
|
-
import { join } from "path";
|
|
7
|
-
import { mkdir, readdir, unlink, writeFile } from "fs/promises";
|
|
8
|
-
import { createConnection, createServer } from "net";
|
|
9
|
-
import { EventEmitter } from "events";
|
|
10
|
-
//#region src/utils/pipeTransport.ts
|
|
11
|
-
/**
|
|
12
|
-
* Named Pipe Transport - Unix domain socket IPC for CLI terminals
|
|
13
|
-
*
|
|
14
|
-
* Supports two modes:
|
|
15
|
-
* 1. Standalone: Two independent terminals chat via pipes
|
|
16
|
-
* 2. Master-Slave bridge: Master CLI attaches to Slave CLI, forwarding
|
|
17
|
-
* prompts and receiving streamed AI output back.
|
|
18
|
-
*
|
|
19
|
-
* Each CLI auto-creates a PipeServer at:
|
|
20
|
-
* ~/.claude/pipes/{session-short-id}.sock
|
|
21
|
-
*
|
|
22
|
-
* Protocol: newline-delimited JSON (NDJSON), one message per line.
|
|
23
|
-
*/
|
|
24
|
-
var pipeTransport_exports = /* @__PURE__ */ __exportAll({
|
|
25
|
-
PipeClient: () => PipeClient,
|
|
26
|
-
PipeServer: () => PipeServer,
|
|
27
|
-
connectToPipe: () => connectToPipe,
|
|
28
|
-
createPipeServer: () => createPipeServer,
|
|
29
|
-
getLocalIp: () => getLocalIp,
|
|
30
|
-
getPipeDisplayRole: () => getPipeDisplayRole,
|
|
31
|
-
getPipeIpc: () => getPipeIpc,
|
|
32
|
-
getPipePath: () => getPipePath,
|
|
33
|
-
getPipesDir: () => getPipesDir,
|
|
34
|
-
isPipeAlive: () => isPipeAlive,
|
|
35
|
-
isPipeControlled: () => isPipeControlled,
|
|
36
|
-
listAlivePipes: () => listAlivePipes,
|
|
37
|
-
listPipes: () => listPipes
|
|
38
|
-
});
|
|
39
|
-
function getPipesDir() {
|
|
40
|
-
return join(getClaudeConfigHomeDir(), "pipes");
|
|
41
|
-
}
|
|
42
|
-
function getPipePath(name) {
|
|
43
|
-
const safeName = name.replace(/[^a-zA-Z0-9_-]/g, "_");
|
|
44
|
-
if (process.platform === "win32") return `\\\\.\\pipe\\claude-code-${safeName}`;
|
|
45
|
-
return join(getPipesDir(), `${safeName}.sock`);
|
|
46
|
-
}
|
|
47
|
-
async function ensurePipesDir() {
|
|
48
|
-
await mkdir(getPipesDir(), { recursive: true });
|
|
49
|
-
}
|
|
50
|
-
async function createPipeServer(name, options) {
|
|
51
|
-
const server = new PipeServer(name);
|
|
52
|
-
await server.start(options);
|
|
53
|
-
return server;
|
|
54
|
-
}
|
|
55
|
-
async function connectToPipe(targetName, senderName, timeoutMs, tcpEndpoint) {
|
|
56
|
-
const client = new PipeClient(targetName, senderName, tcpEndpoint);
|
|
57
|
-
await client.connect(timeoutMs);
|
|
58
|
-
return client;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* List all registered pipe names (fast — file scan only, no network probe).
|
|
62
|
-
* Use isPipeAlive() separately to check liveness.
|
|
63
|
-
*/
|
|
64
|
-
async function listPipes() {
|
|
65
|
-
try {
|
|
66
|
-
await ensurePipesDir();
|
|
67
|
-
const files = await readdir(getPipesDir());
|
|
68
|
-
const ext = process.platform === "win32" ? ".pipe" : ".sock";
|
|
69
|
-
return files.filter((f) => f.endsWith(ext)).map((f) => f.replace(new RegExp(`\\${ext}$`), ""));
|
|
70
|
-
} catch {
|
|
71
|
-
return [];
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* List only alive pipes (probes each one — slower, use sparingly).
|
|
76
|
-
* Automatically cleans up stale registry files.
|
|
77
|
-
*/
|
|
78
|
-
async function listAlivePipes() {
|
|
79
|
-
const names = await listPipes();
|
|
80
|
-
const ext = process.platform === "win32" ? ".pipe" : ".sock";
|
|
81
|
-
const alive = [];
|
|
82
|
-
for (const name of names) if (await isPipeAlive(name, 1e3)) alive.push(name);
|
|
83
|
-
else unlink(join(getPipesDir(), `${name}${ext}`)).catch(() => {});
|
|
84
|
-
return alive;
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Probe whether a pipe server is alive by sending a ping.
|
|
88
|
-
*/
|
|
89
|
-
async function isPipeAlive(name, timeoutMs = 2e3) {
|
|
90
|
-
try {
|
|
91
|
-
const client = new PipeClient(name, "_probe");
|
|
92
|
-
await client.connect(timeoutMs);
|
|
93
|
-
return new Promise((resolve) => {
|
|
94
|
-
const timer = setTimeout(() => {
|
|
95
|
-
client.disconnect();
|
|
96
|
-
resolve(false);
|
|
97
|
-
}, timeoutMs);
|
|
98
|
-
client.onMessage((msg) => {
|
|
99
|
-
if (msg.type === "pong") {
|
|
100
|
-
clearTimeout(timer);
|
|
101
|
-
client.disconnect();
|
|
102
|
-
resolve(true);
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
client.send({ type: "ping" });
|
|
106
|
-
});
|
|
107
|
-
} catch {
|
|
108
|
-
return false;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
function isPipeControlled(pipeIpc) {
|
|
112
|
-
return Boolean(pipeIpc.attachedBy);
|
|
113
|
-
}
|
|
114
|
-
function getPipeDisplayRole(pipeIpc) {
|
|
115
|
-
if (pipeIpc.role === "master") return "master";
|
|
116
|
-
if (pipeIpc.subIndex != null) return `sub-${pipeIpc.subIndex}`;
|
|
117
|
-
return "main";
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Get the local (non-loopback) IPv4 address for registry metadata.
|
|
121
|
-
*/
|
|
122
|
-
function getLocalIp() {
|
|
123
|
-
try {
|
|
124
|
-
const { networkInterfaces } = __require("os");
|
|
125
|
-
const nets = networkInterfaces();
|
|
126
|
-
for (const name of Object.keys(nets)) for (const net of nets[name] ?? []) if (net.family === "IPv4" && !net.internal) return net.address;
|
|
127
|
-
} catch {}
|
|
128
|
-
return "127.0.0.1";
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Safely read pipeIpc from AppState, returning the default if not yet initialized.
|
|
132
|
-
* This avoids crashes when the state hasn't been extended by the PIPE_IPC bootstrap.
|
|
133
|
-
*/
|
|
134
|
-
function getPipeIpc(state) {
|
|
135
|
-
return state?.pipeIpc ?? DEFAULT_PIPE_IPC;
|
|
136
|
-
}
|
|
137
|
-
var PipeServer, PipeClient, DEFAULT_PIPE_IPC;
|
|
138
|
-
var init_pipeTransport = __esmMin((() => {
|
|
139
|
-
init_envUtils();
|
|
140
|
-
init_log();
|
|
141
|
-
init_ndjsonFramer();
|
|
142
|
-
init_defineProperty();
|
|
143
|
-
PipeServer = class extends EventEmitter {
|
|
144
|
-
constructor(name) {
|
|
145
|
-
super();
|
|
146
|
-
_defineProperty(this, "server", null);
|
|
147
|
-
_defineProperty(this, "tcpServer", null);
|
|
148
|
-
_defineProperty(this, "clients", /* @__PURE__ */ new Set());
|
|
149
|
-
_defineProperty(this, "handlers", []);
|
|
150
|
-
_defineProperty(this, "_tcpAddress", null);
|
|
151
|
-
_defineProperty(this, "name", void 0);
|
|
152
|
-
_defineProperty(this, "socketPath", void 0);
|
|
153
|
-
this.name = name;
|
|
154
|
-
this.socketPath = getPipePath(name);
|
|
155
|
-
}
|
|
156
|
-
/** TCP endpoint if TCP is enabled, null otherwise. */
|
|
157
|
-
get tcpAddress() {
|
|
158
|
-
return this._tcpAddress;
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Shared handler for both UDS and TCP sockets.
|
|
162
|
-
*/
|
|
163
|
-
setupSocket(socket) {
|
|
164
|
-
this.clients.add(socket);
|
|
165
|
-
this.emit("connection", socket);
|
|
166
|
-
attachNdjsonFramer(socket, (msg) => {
|
|
167
|
-
this.emit("message", msg);
|
|
168
|
-
const reply = (replyMsg) => {
|
|
169
|
-
replyMsg.from = replyMsg.from ?? this.name;
|
|
170
|
-
replyMsg.ts = replyMsg.ts ?? (/* @__PURE__ */ new Date()).toISOString();
|
|
171
|
-
if (!socket.destroyed) socket.write(JSON.stringify(replyMsg) + "\n");
|
|
172
|
-
};
|
|
173
|
-
for (const handler of this.handlers) handler(msg, reply);
|
|
174
|
-
});
|
|
175
|
-
socket.on("close", () => {
|
|
176
|
-
this.clients.delete(socket);
|
|
177
|
-
this.emit("disconnect", socket);
|
|
178
|
-
});
|
|
179
|
-
socket.on("error", (err) => {
|
|
180
|
-
this.clients.delete(socket);
|
|
181
|
-
logError(err);
|
|
182
|
-
});
|
|
183
|
-
}
|
|
184
|
-
/**
|
|
185
|
-
* Start listening for incoming connections.
|
|
186
|
-
* @param options - Optional TCP configuration for LAN mode.
|
|
187
|
-
*/
|
|
188
|
-
async start(options) {
|
|
189
|
-
await ensurePipesDir();
|
|
190
|
-
if (process.platform !== "win32") try {
|
|
191
|
-
await unlink(this.socketPath);
|
|
192
|
-
} catch {}
|
|
193
|
-
await new Promise((resolve, reject) => {
|
|
194
|
-
this.server = createServer((socket) => this.setupSocket(socket));
|
|
195
|
-
this.server.on("error", reject);
|
|
196
|
-
this.server.listen(this.socketPath, () => {
|
|
197
|
-
if (process.platform === "win32") {
|
|
198
|
-
const regFile = join(getPipesDir(), `${this.name}.pipe`);
|
|
199
|
-
const { hostname } = __require("os");
|
|
200
|
-
writeFile(regFile, JSON.stringify({
|
|
201
|
-
pid: process.pid,
|
|
202
|
-
ts: Date.now(),
|
|
203
|
-
ip: getLocalIp(),
|
|
204
|
-
hostname: hostname()
|
|
205
|
-
})).catch(() => {});
|
|
206
|
-
}
|
|
207
|
-
resolve();
|
|
208
|
-
});
|
|
209
|
-
});
|
|
210
|
-
if (options?.enableTcp) await this.startTcpServer(options.tcpPort ?? 0);
|
|
211
|
-
}
|
|
212
|
-
/**
|
|
213
|
-
* Start TCP listener for LAN peers.
|
|
214
|
-
*/
|
|
215
|
-
async startTcpServer(port) {
|
|
216
|
-
return new Promise((resolve, reject) => {
|
|
217
|
-
this.tcpServer = createServer((socket) => this.setupSocket(socket));
|
|
218
|
-
this.tcpServer.on("error", reject);
|
|
219
|
-
this.tcpServer.listen(port, "0.0.0.0", () => {
|
|
220
|
-
const addr = this.tcpServer.address();
|
|
221
|
-
if (addr && typeof addr === "object") this._tcpAddress = {
|
|
222
|
-
host: "0.0.0.0",
|
|
223
|
-
port: addr.port
|
|
224
|
-
};
|
|
225
|
-
resolve();
|
|
226
|
-
});
|
|
227
|
-
});
|
|
228
|
-
}
|
|
229
|
-
/**
|
|
230
|
-
* Register a handler for incoming messages.
|
|
231
|
-
*/
|
|
232
|
-
onMessage(handler) {
|
|
233
|
-
this.handlers.push(handler);
|
|
234
|
-
}
|
|
235
|
-
/**
|
|
236
|
-
* Broadcast a message to all connected clients.
|
|
237
|
-
*/
|
|
238
|
-
broadcast(msg) {
|
|
239
|
-
msg.from = msg.from ?? this.name;
|
|
240
|
-
msg.ts = msg.ts ?? (/* @__PURE__ */ new Date()).toISOString();
|
|
241
|
-
const line = JSON.stringify(msg) + "\n";
|
|
242
|
-
for (const client of this.clients) if (!client.destroyed) client.write(line);
|
|
243
|
-
}
|
|
244
|
-
/**
|
|
245
|
-
* Send to a specific socket (used for directed replies in attach flow).
|
|
246
|
-
*/
|
|
247
|
-
sendTo(socket, msg) {
|
|
248
|
-
msg.from = msg.from ?? this.name;
|
|
249
|
-
msg.ts = msg.ts ?? (/* @__PURE__ */ new Date()).toISOString();
|
|
250
|
-
if (!socket.destroyed) socket.write(JSON.stringify(msg) + "\n");
|
|
251
|
-
}
|
|
252
|
-
get connectionCount() {
|
|
253
|
-
return this.clients.size;
|
|
254
|
-
}
|
|
255
|
-
async close() {
|
|
256
|
-
for (const client of this.clients) client.destroy();
|
|
257
|
-
this.clients.clear();
|
|
258
|
-
if (this.tcpServer) await new Promise((resolve) => {
|
|
259
|
-
this.tcpServer.close(() => {
|
|
260
|
-
this.tcpServer = null;
|
|
261
|
-
this._tcpAddress = null;
|
|
262
|
-
resolve();
|
|
263
|
-
});
|
|
264
|
-
});
|
|
265
|
-
return new Promise((resolve) => {
|
|
266
|
-
if (!this.server) {
|
|
267
|
-
resolve();
|
|
268
|
-
return;
|
|
269
|
-
}
|
|
270
|
-
this.server.close(() => {
|
|
271
|
-
this.server = null;
|
|
272
|
-
if (process.platform === "win32") unlink(join(getPipesDir(), `${this.name}.pipe`)).catch(() => {});
|
|
273
|
-
else unlink(this.socketPath).catch(() => {});
|
|
274
|
-
resolve();
|
|
275
|
-
});
|
|
276
|
-
});
|
|
277
|
-
}
|
|
278
|
-
};
|
|
279
|
-
PipeClient = class extends EventEmitter {
|
|
280
|
-
constructor(targetName, senderName, tcpEndpoint) {
|
|
281
|
-
super();
|
|
282
|
-
_defineProperty(this, "socket", null);
|
|
283
|
-
_defineProperty(this, "handlers", []);
|
|
284
|
-
_defineProperty(this, "targetName", void 0);
|
|
285
|
-
_defineProperty(this, "senderName", void 0);
|
|
286
|
-
_defineProperty(this, "socketPath", void 0);
|
|
287
|
-
_defineProperty(this, "tcpEndpoint", void 0);
|
|
288
|
-
this.targetName = targetName;
|
|
289
|
-
this.senderName = senderName ?? `client-${process.pid}`;
|
|
290
|
-
this.socketPath = getPipePath(targetName);
|
|
291
|
-
this.tcpEndpoint = tcpEndpoint ?? null;
|
|
292
|
-
}
|
|
293
|
-
/**
|
|
294
|
-
* Connect to a pipe server (UDS or TCP).
|
|
295
|
-
* When tcpEndpoint was provided in constructor, connects over TCP.
|
|
296
|
-
* Otherwise uses UDS with retry for socket file existence.
|
|
297
|
-
*/
|
|
298
|
-
async connect(timeoutMs = 5e3) {
|
|
299
|
-
if (this.tcpEndpoint) return this.connectTcp(timeoutMs);
|
|
300
|
-
return this.connectUds(timeoutMs);
|
|
301
|
-
}
|
|
302
|
-
async connectTcp(timeoutMs) {
|
|
303
|
-
const { host, port } = this.tcpEndpoint;
|
|
304
|
-
return new Promise((resolve, reject) => {
|
|
305
|
-
const timer = setTimeout(() => {
|
|
306
|
-
reject(/* @__PURE__ */ new Error(`TCP connection to "${this.targetName}" at ${host}:${port} timed out after ${timeoutMs}ms`));
|
|
307
|
-
}, timeoutMs);
|
|
308
|
-
const socket = createConnection({
|
|
309
|
-
host,
|
|
310
|
-
port
|
|
311
|
-
}, () => {
|
|
312
|
-
clearTimeout(timer);
|
|
313
|
-
this.socket = socket;
|
|
314
|
-
this.setupSocketListeners(socket);
|
|
315
|
-
this.emit("connected");
|
|
316
|
-
resolve();
|
|
317
|
-
});
|
|
318
|
-
socket.on("error", (err) => {
|
|
319
|
-
clearTimeout(timer);
|
|
320
|
-
socket.destroy();
|
|
321
|
-
reject(err);
|
|
322
|
-
});
|
|
323
|
-
});
|
|
324
|
-
}
|
|
325
|
-
async connectUds(timeoutMs) {
|
|
326
|
-
const { access } = await import("fs/promises");
|
|
327
|
-
const deadline = Date.now() + timeoutMs;
|
|
328
|
-
const retryDelayMs = 300;
|
|
329
|
-
if (process.platform !== "win32") while (Date.now() < deadline) try {
|
|
330
|
-
await access(this.socketPath);
|
|
331
|
-
break;
|
|
332
|
-
} catch {
|
|
333
|
-
if (Date.now() + retryDelayMs >= deadline) throw new Error(`Pipe "${this.targetName}" not found at ${this.socketPath}. Is the server running?`);
|
|
334
|
-
await new Promise((r) => setTimeout(r, retryDelayMs));
|
|
335
|
-
}
|
|
336
|
-
return new Promise((resolve, reject) => {
|
|
337
|
-
const timer = setTimeout(() => {
|
|
338
|
-
reject(/* @__PURE__ */ new Error(`Connection to pipe "${this.targetName}" timed out after ${timeoutMs}ms`));
|
|
339
|
-
}, Math.max(deadline - Date.now(), 1e3));
|
|
340
|
-
const socket = createConnection({ path: this.socketPath }, () => {
|
|
341
|
-
clearTimeout(timer);
|
|
342
|
-
this.socket = socket;
|
|
343
|
-
this.setupSocketListeners(socket);
|
|
344
|
-
this.emit("connected");
|
|
345
|
-
resolve();
|
|
346
|
-
});
|
|
347
|
-
socket.on("error", (err) => {
|
|
348
|
-
clearTimeout(timer);
|
|
349
|
-
socket.destroy();
|
|
350
|
-
reject(err);
|
|
351
|
-
});
|
|
352
|
-
});
|
|
353
|
-
}
|
|
354
|
-
setupSocketListeners(socket) {
|
|
355
|
-
attachNdjsonFramer(socket, (msg) => {
|
|
356
|
-
this.emit("message", msg);
|
|
357
|
-
const reply = (replyMsg) => this.send(replyMsg);
|
|
358
|
-
for (const handler of this.handlers) handler(msg, reply);
|
|
359
|
-
});
|
|
360
|
-
socket.on("close", () => {
|
|
361
|
-
this.emit("disconnect");
|
|
362
|
-
});
|
|
363
|
-
socket.on("error", (err) => {
|
|
364
|
-
logError(err);
|
|
365
|
-
});
|
|
366
|
-
}
|
|
367
|
-
onMessage(handler) {
|
|
368
|
-
this.handlers.push(handler);
|
|
369
|
-
}
|
|
370
|
-
send(msg) {
|
|
371
|
-
if (!this.socket || this.socket.destroyed) throw new Error(`Not connected to pipe "${this.targetName}"`);
|
|
372
|
-
msg.from = msg.from ?? this.senderName;
|
|
373
|
-
msg.ts = msg.ts ?? (/* @__PURE__ */ new Date()).toISOString();
|
|
374
|
-
this.socket.write(JSON.stringify(msg) + "\n");
|
|
375
|
-
}
|
|
376
|
-
disconnect() {
|
|
377
|
-
if (this.socket) {
|
|
378
|
-
this.socket.destroy();
|
|
379
|
-
this.socket = null;
|
|
380
|
-
}
|
|
381
|
-
}
|
|
382
|
-
get connected() {
|
|
383
|
-
return this.socket !== null && !this.socket.destroyed;
|
|
384
|
-
}
|
|
385
|
-
};
|
|
386
|
-
DEFAULT_PIPE_IPC = {
|
|
387
|
-
role: "main",
|
|
388
|
-
subIndex: null,
|
|
389
|
-
displayRole: "main",
|
|
390
|
-
serverName: null,
|
|
391
|
-
attachedBy: null,
|
|
392
|
-
localIp: null,
|
|
393
|
-
hostname: null,
|
|
394
|
-
machineId: null,
|
|
395
|
-
mac: null,
|
|
396
|
-
statusVisible: false,
|
|
397
|
-
selectorOpen: false,
|
|
398
|
-
selectedPipes: [],
|
|
399
|
-
routeMode: "selected",
|
|
400
|
-
slaves: {},
|
|
401
|
-
discoveredPipes: []
|
|
402
|
-
};
|
|
403
|
-
}));
|
|
404
|
-
//#endregion
|
|
405
|
-
export { getPipeIpc as a, isPipeAlive as c, getPipeDisplayRole as i, isPipeControlled as l, createPipeServer as n, getPipesDir as o, getLocalIp as r, init_pipeTransport as s, connectToPipe as t, pipeTransport_exports as u };
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
import { a as __toCommonJS, n as __esmMin } from "./chunk-CyLJMB0t.js";
|
|
2
|
-
import { a as getPipeIpc, c as isPipeAlive, i as getPipeDisplayRole, l as isPipeControlled, s as init_pipeTransport } from "./pipeTransport-AYEUDuAI.js";
|
|
3
|
-
import { d as readRegistry, l as isMainMachine, n as cleanupStaleEntries, s as init_pipeRegistry, u as mergeWithLanPeers } from "./pipeRegistry-Bqvffg4X.js";
|
|
4
|
-
import { i as lanBeacon_exports, r as init_lanBeacon } from "./lanBeacon-B9DUbPm5.js";
|
|
5
|
-
//#region src/commands/pipes/pipes.ts
|
|
6
|
-
var call;
|
|
7
|
-
//#endregion
|
|
8
|
-
__esmMin((() => {
|
|
9
|
-
init_pipeTransport();
|
|
10
|
-
init_pipeRegistry();
|
|
11
|
-
call = async (_args, context) => {
|
|
12
|
-
const args = _args.trim();
|
|
13
|
-
context.setAppState((prev) => {
|
|
14
|
-
const pipeIpc = getPipeIpc(prev);
|
|
15
|
-
return {
|
|
16
|
-
...prev,
|
|
17
|
-
pipeIpc: {
|
|
18
|
-
...pipeIpc,
|
|
19
|
-
statusVisible: true,
|
|
20
|
-
selectorOpen: !pipeIpc.selectorOpen
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
});
|
|
24
|
-
if (args.startsWith("select ") || args.startsWith("sel ")) {
|
|
25
|
-
const pipeName = args.replace(/^(select|sel)\s+/, "").trim();
|
|
26
|
-
if (!pipeName) return {
|
|
27
|
-
type: "text",
|
|
28
|
-
value: "Usage: /pipes select <pipe-name>"
|
|
29
|
-
};
|
|
30
|
-
context.setAppState((prev) => {
|
|
31
|
-
const pipeIpc = getPipeIpc(prev);
|
|
32
|
-
const selected = pipeIpc.selectedPipes ?? [];
|
|
33
|
-
if (selected.includes(pipeName)) return prev;
|
|
34
|
-
return {
|
|
35
|
-
...prev,
|
|
36
|
-
pipeIpc: {
|
|
37
|
-
...pipeIpc,
|
|
38
|
-
selectedPipes: [...selected, pipeName]
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
});
|
|
42
|
-
return {
|
|
43
|
-
type: "text",
|
|
44
|
-
value: `Selected ${pipeName} — messages will be broadcast to this pipe.`
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
if (args.startsWith("deselect ") || args.startsWith("desel ") || args.startsWith("unsel ")) {
|
|
48
|
-
const pipeName = args.replace(/^(deselect|desel|unsel)\s+/, "").trim();
|
|
49
|
-
if (!pipeName) return {
|
|
50
|
-
type: "text",
|
|
51
|
-
value: "Usage: /pipes deselect <pipe-name>"
|
|
52
|
-
};
|
|
53
|
-
context.setAppState((prev) => {
|
|
54
|
-
const pipeIpc = getPipeIpc(prev);
|
|
55
|
-
const selected = (pipeIpc.selectedPipes ?? []).filter((n) => n !== pipeName);
|
|
56
|
-
return {
|
|
57
|
-
...prev,
|
|
58
|
-
pipeIpc: {
|
|
59
|
-
...pipeIpc,
|
|
60
|
-
selectedPipes: selected
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
});
|
|
64
|
-
return {
|
|
65
|
-
type: "text",
|
|
66
|
-
value: `Deselected ${pipeName}.`
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
if (args === "select-all" || args === "all") {
|
|
70
|
-
const pipeState = getPipeIpc(context.getAppState());
|
|
71
|
-
const slaveNames = Object.keys(pipeState.slaves);
|
|
72
|
-
context.setAppState((prev) => ({
|
|
73
|
-
...prev,
|
|
74
|
-
pipeIpc: {
|
|
75
|
-
...getPipeIpc(prev),
|
|
76
|
-
selectedPipes: slaveNames
|
|
77
|
-
}
|
|
78
|
-
}));
|
|
79
|
-
return {
|
|
80
|
-
type: "text",
|
|
81
|
-
value: `Selected all ${slaveNames.length} connected pipes.`
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
if (args === "deselect-all" || args === "none") {
|
|
85
|
-
context.setAppState((prev) => ({
|
|
86
|
-
...prev,
|
|
87
|
-
pipeIpc: {
|
|
88
|
-
...getPipeIpc(prev),
|
|
89
|
-
selectedPipes: []
|
|
90
|
-
}
|
|
91
|
-
}));
|
|
92
|
-
return {
|
|
93
|
-
type: "text",
|
|
94
|
-
value: "Deselected all pipes. Messages will only run locally."
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
const pipeState = getPipeIpc(context.getAppState());
|
|
98
|
-
const myName = pipeState.serverName;
|
|
99
|
-
const displayRole = getPipeDisplayRole(pipeState);
|
|
100
|
-
const selected = pipeState.selectedPipes ?? [];
|
|
101
|
-
await cleanupStaleEntries();
|
|
102
|
-
const registry = await readRegistry();
|
|
103
|
-
const lines = [];
|
|
104
|
-
lines.push(`Your pipe: ${myName ?? "(not started)"}`);
|
|
105
|
-
lines.push(`Role: ${displayRole}`);
|
|
106
|
-
if (pipeState.machineId) lines.push(`Machine ID: ${pipeState.machineId.slice(0, 8)}...`);
|
|
107
|
-
if (pipeState.localIp) lines.push(`IP: ${pipeState.localIp}`);
|
|
108
|
-
if (pipeState.hostname) lines.push(`Host: ${pipeState.hostname}`);
|
|
109
|
-
if (isPipeControlled(pipeState)) lines.push(`Controlled by: ${pipeState.attachedBy}`);
|
|
110
|
-
lines.push("");
|
|
111
|
-
if (registry.mainMachineId) {
|
|
112
|
-
const isMyMachine = isMainMachine(pipeState.machineId ?? "", registry);
|
|
113
|
-
lines.push(`Main machine: ${registry.mainMachineId.slice(0, 8)}...${isMyMachine ? " (this machine)" : ""}`);
|
|
114
|
-
}
|
|
115
|
-
if (registry.main) {
|
|
116
|
-
const m = registry.main;
|
|
117
|
-
const alive = await isPipeAlive(m.pipeName, 1e3);
|
|
118
|
-
const isSelf = m.pipeName === myName;
|
|
119
|
-
lines.push(` [main] ${m.pipeName} ${m.hostname}/${m.ip} [${alive ? "alive" : "stale"}]${isSelf ? " (you)" : ""}`);
|
|
120
|
-
}
|
|
121
|
-
const discoveredPipes = [];
|
|
122
|
-
for (const sub of registry.subs) {
|
|
123
|
-
const alive = await isPipeAlive(sub.pipeName, 1e3);
|
|
124
|
-
const isSelf = sub.pipeName === myName;
|
|
125
|
-
const checkbox = selected.includes(sub.pipeName) ? "☑" : "☐";
|
|
126
|
-
const isAttached = pipeState.slaves[sub.pipeName] ? " [connected]" : "";
|
|
127
|
-
lines.push(` ${checkbox} [sub-${sub.subIndex}] ${sub.pipeName} ${sub.hostname}/${sub.ip} [${alive ? "alive" : "stale"}]${isAttached}${isSelf ? " (you)" : ""}`);
|
|
128
|
-
if (alive) discoveredPipes.push({
|
|
129
|
-
id: sub.id,
|
|
130
|
-
pipeName: sub.pipeName,
|
|
131
|
-
role: `sub-${sub.subIndex}`,
|
|
132
|
-
machineId: sub.machineId,
|
|
133
|
-
ip: sub.ip,
|
|
134
|
-
hostname: sub.hostname,
|
|
135
|
-
alive
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
if (!registry.main && registry.subs.length === 0) lines.push("No other pipes in registry.");
|
|
139
|
-
{
|
|
140
|
-
const { getLanBeacon } = (init_lanBeacon(), __toCommonJS(lanBeacon_exports));
|
|
141
|
-
const lanBeaconRef = getLanBeacon();
|
|
142
|
-
if (lanBeaconRef) {
|
|
143
|
-
const lanOnly = mergeWithLanPeers(registry, lanBeaconRef.getPeers()).filter((e) => e.source === "lan");
|
|
144
|
-
if (lanOnly.length > 0) {
|
|
145
|
-
lines.push("");
|
|
146
|
-
lines.push("LAN Peers:");
|
|
147
|
-
for (const peer of lanOnly) {
|
|
148
|
-
const checkbox = selected.includes(peer.pipeName) ? "☑" : "☐";
|
|
149
|
-
const ep = peer.tcpEndpoint ? `tcp:${peer.tcpEndpoint.host}:${peer.tcpEndpoint.port}` : "";
|
|
150
|
-
lines.push(` ${checkbox} [${peer.role}] ${peer.pipeName} ${peer.hostname}/${peer.ip} ${ep} [LAN]`);
|
|
151
|
-
discoveredPipes.push({
|
|
152
|
-
id: peer.id,
|
|
153
|
-
pipeName: peer.pipeName,
|
|
154
|
-
role: peer.role,
|
|
155
|
-
machineId: peer.machineId,
|
|
156
|
-
ip: peer.ip,
|
|
157
|
-
hostname: peer.hostname,
|
|
158
|
-
alive: true
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
} else {
|
|
162
|
-
lines.push("");
|
|
163
|
-
lines.push("LAN Peers: (none discovered)");
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
context.setAppState((prev) => ({
|
|
168
|
-
...prev,
|
|
169
|
-
pipeIpc: {
|
|
170
|
-
...getPipeIpc(prev),
|
|
171
|
-
discoveredPipes
|
|
172
|
-
}
|
|
173
|
-
}));
|
|
174
|
-
lines.push("");
|
|
175
|
-
lines.push(`Selected: ${selected.length > 0 ? selected.join(", ") : "(none — messages run locally only)"}`);
|
|
176
|
-
lines.push("");
|
|
177
|
-
lines.push("Commands:");
|
|
178
|
-
lines.push(" /pipes select <name> — select pipe for broadcast");
|
|
179
|
-
lines.push(" /pipes deselect <name> — deselect pipe");
|
|
180
|
-
lines.push(" /pipes all — select all connected");
|
|
181
|
-
lines.push(" /pipes none — deselect all");
|
|
182
|
-
lines.push(" /send <name> <msg> — send to specific pipe");
|
|
183
|
-
lines.push(" /claim-main — claim this machine as main");
|
|
184
|
-
return {
|
|
185
|
-
type: "text",
|
|
186
|
-
value: lines.join("\n")
|
|
187
|
-
};
|
|
188
|
-
};
|
|
189
|
-
}))();
|
|
190
|
-
export { call };
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { Cd as resetBackendDetection, Sd as registerWindowsTerminalBackend, _d as init_registry, bd as registerITermBackend, dd as getBackendByType, fd as getCachedBackend, gd as getTeammateExecutor, hd as getResolvedTeammateMode, ld as detectAndGetBackend, md as getInProcessBackend, pd as getCachedDetectionResult, ud as ensureBackendsRegistered, vd as isInProcessEnabled, xd as registerTmuxBackend, yd as markInProcessFallback } from "./loadAgentsDir-CKCr6KLl.js";
|
|
2
|
-
init_registry();
|
|
3
|
-
export { detectAndGetBackend, ensureBackendsRegistered, getBackendByType, getCachedBackend, getCachedDetectionResult, getInProcessBackend, getResolvedTeammateMode, getTeammateExecutor, isInProcessEnabled, markInProcessFallback, registerITermBackend, registerTmuxBackend, registerWindowsTerminalBackend, resetBackendDetection };
|