@readmagic/workmate 0.0.23 → 0.0.24
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-OgcBcK5A.js → AddWorkspaceDirectory-Ch8IcWXO.js} +1 -1
- package/dist/chunks/AgentsMdExternalIncludesDialog-Cyia0s4g.js +1 -0
- package/dist/chunks/{AgentsMdExternalIncludesDialog-CNEifEyV.js → AgentsMdExternalIncludesDialog-LjI_H_Au.js} +1 -1
- package/dist/chunks/{App-B-3tPQ3k.js → App-BOqh_1tN.js} +1 -1
- package/dist/chunks/{BackgroundTasksDialog-COuhHcey.js → BackgroundTasksDialog-CSEuuoq9.js} +1 -1
- package/dist/chunks/{BypassPermissionsModeDialog-bJek4siJ.js → BypassPermissionsModeDialog-CwfCwUr9.js} +1 -1
- package/dist/chunks/CustomSelect-wmZ9jz0W.js +1 -0
- package/dist/chunks/{DiffDialog-B3X9FMpO.js → DiffDialog-BpXIEWiE.js} +1 -1
- package/dist/chunks/Doctor-CMpr7tdf.js +1 -0
- package/dist/chunks/{Doctor-6PXyjIi6.js → Doctor-DqW6j3_B.js} +1 -1
- package/dist/chunks/{ExitFlow-DgAZp_8U.js → ExitFlow-DacaBTlk.js} +1 -1
- package/dist/chunks/{Grove-CHatOzcE.js → Grove-CNqYPWI6.js} +1 -1
- package/dist/chunks/{InvalidConfigDialog-DXL92MN9.js → InvalidConfigDialog-0TMJItCC.js} +1 -1
- package/dist/chunks/{InvalidSettingsDialog-Dtmpzeps.js → InvalidSettingsDialog-iwh8H52b.js} +1 -1
- package/dist/chunks/{KeybindingProviderSetup-DA37QUFs.js → KeybindingProviderSetup-D49HHTXD.js} +1 -1
- package/dist/chunks/{MCPConnectionManager-thZd-xA_.js → MCPConnectionManager-Cie77ZAK.js} +1 -1
- package/dist/chunks/{MCPToolListView-CpY-YJg4.js → MCPToolListView-B4ehtkXd.js} +1 -1
- package/dist/chunks/{McpParsingWarnings-JvChf3xr.js → McpParsingWarnings-Bff66RtJ.js} +1 -1
- package/dist/chunks/{MessageSelector-C0_iw7SI.js → MessageSelector-Dpd6Iywp.js} +1 -1
- package/dist/chunks/{Messages-K4DDsDP9.js → Messages-DN7M3oS_.js} +1 -1
- package/dist/chunks/{Onboarding-C1UdzM-1.js → Onboarding-CQmE3rUf.js} +1 -1
- package/dist/chunks/{PromptInputFooterSuggestions-AyLog8p7.js → PromptInputFooterSuggestions-HI6HH3TP.js} +1 -1
- package/dist/chunks/{PromptInputHelpMenu-oyic20ip.js → PromptInputHelpMenu-3QNUC2Cg.js} +1 -1
- package/dist/chunks/{ProviderSetup-XcBHjUnd.js → ProviderSetup-BCSPsvfv.js} +1 -1
- package/dist/chunks/{QueryEngine-DYxBjJ4i.js → QueryEngine-DdLWvJv6.js} +1 -1
- package/dist/chunks/{REPL-CQBJRrT0.js → REPL-BqO9KcK_.js} +5 -5
- package/dist/chunks/REPL-CmZmypfF.js +1 -0
- package/dist/chunks/{ResumeConversation-Dl8H9Gfy.js → ResumeConversation-DBqX7gva.js} +1 -1
- package/dist/chunks/SearchExtraToolsTool-BsSoILFj.js +1 -0
- package/dist/chunks/{SelectMulti-Bc6l11_K.js → SelectMulti-BQRHed-d.js} +1 -1
- package/dist/chunks/{Settings-TGp3fPrS.js → Settings-B-7yBewS.js} +3 -3
- package/dist/chunks/{Spinner-zYPFVFHN.js → Spinner-ByQXTvAA.js} +1 -1
- package/dist/chunks/{TextInput-CD9iau2k.js → TextInput-B8ruWRf2.js} +1 -1
- package/dist/chunks/{ThemePicker-0F0hZYPX.js → ThemePicker-BQErFFW1.js} +1 -1
- package/dist/chunks/{TrustDialog-C76YiMKz.js → TrustDialog-BIhz6AZE.js} +1 -1
- package/dist/chunks/{_baseEach-4ff-vRlp.js → _baseEach-CsIRoaTH.js} +1 -1
- package/dist/chunks/{add-dir-JMsRLGfx.js → add-dir-CrUDs19x.js} +1 -1
- package/dist/chunks/{agentDisplay-BReJUBWg.js → agentDisplay-M4pfwbMC.js} +1 -1
- package/dist/chunks/{agents-9qQ8I6zW.js → agents-CGaCQeLw.js} +1 -1
- package/dist/chunks/{agents-B3x8yJ_r.js → agents-DddX7lLX.js} +1 -1
- package/dist/chunks/{allErrors-DfWylHSw.js → allErrors-BF73lon8.js} +1 -1
- package/dist/chunks/{backgroundHousekeeping-CVNIhQg8.js → backgroundHousekeeping-Bq3LMsVR.js} +2 -2
- package/dist/chunks/backgroundHousekeeping-Cl3Ox7Qh.js +1 -0
- package/dist/chunks/{branch-C4TsMEkx.js → branch-Yg_taNlT.js} +1 -1
- package/dist/chunks/{btw-Dn1eYFAz.js → btw-udbprVvu.js} +1 -1
- package/dist/chunks/caches-ChjIEcdd.js +1 -0
- package/dist/chunks/{caches-DArHxBgL.js → caches-DLJ6urv-.js} +1 -1
- package/dist/chunks/{clear-Bdhb6b39.js → clear-B8ZtFPOK.js} +1 -1
- package/dist/chunks/commands-CVCpJo7M.js +1 -0
- package/dist/chunks/{compact-Bu9BUpxV.js → compact-izk6RKHQ.js} +1 -1
- package/dist/chunks/config-CFqpXMFX.js +1 -0
- package/dist/chunks/{context-CY_yfdYa.js → context-BbVm4SWK.js} +1 -1
- package/dist/chunks/{context-noninteractive-Dd4xIoP1.js → context-noninteractive-C7wrRZnM.js} +1 -1
- package/dist/chunks/context-noninteractive-x0HAzWhc.js +1 -0
- package/dist/chunks/conversation-DouVzO0K.js +1 -0
- package/dist/chunks/{conversation-DUu9qBnq.js → conversation-DrVkifKy.js} +1 -1
- package/dist/chunks/{conversationRecovery-2ft8sCPE.js → conversationRecovery-DliPBo_z.js} +1 -1
- package/dist/chunks/{crossProjectResume-6boHMUBx.js → crossProjectResume-DxMy05_P.js} +1 -1
- package/dist/chunks/{datadog-BPuGcxxC.js → datadog-Cu3s7P48.js} +1 -1
- package/dist/chunks/{diff-BOAElpfQ.js → diff-DdpHThJ7.js} +1 -1
- package/dist/chunks/doctor-D_kV_D_l.js +1 -0
- package/dist/chunks/{entry-TNOoyy7_.js → entry-Bxseqbi_.js} +1 -1
- package/dist/chunks/{esm-eTAUP-La.js → esm-BXTZz3av.js} +1 -1
- package/dist/chunks/{exit-DXApFJIP.js → exit-C_R_FgzR.js} +1 -1
- package/dist/chunks/{extraUsage-CmQaLPV1.js → extraUsage-xMuDiNKh.js} +1 -1
- package/dist/chunks/extractMemories-D4Dl1itt.js +1 -0
- package/dist/chunks/{fast-eGx2IxD7.js → fast-DH-C5IZs.js} +1 -1
- package/dist/chunks/fast-bopOPrtf.js +1 -0
- package/dist/chunks/fetchModelList-DC4VQpqa.js +1 -0
- package/dist/chunks/{fetchModelList-CxLsVNsu.js → fetchModelList-FE8tzTDc.js} +1 -1
- package/dist/chunks/{fileSuggestions-DHxdwq28.js → fileSuggestions-C-9unnoJ.js} +1 -1
- package/dist/chunks/{firstPartyEventLogger-M6UMli2c.js → firstPartyEventLogger-QmjjQmgt.js} +2 -2
- package/dist/chunks/firstPartyEventLogger-lFeqhtfh.js +1 -0
- package/dist/chunks/{gemini-D_ORb_L6.js → gemini-C_ApXgwc.js} +1 -1
- package/dist/chunks/{generateSessionName-BQoDduyA.js → generateSessionName-CQ03xlYI.js} +1 -1
- package/dist/chunks/{goal-D7c2mSds.js → goal-CdL29Y8C.js} +1 -1
- package/dist/chunks/{grok-B2-ZbUiR.js → grok-C6WAslUT.js} +1 -1
- package/dist/chunks/{help-CZJdRviD.js → help-DxanITNN.js} +1 -1
- package/dist/chunks/{history-CQiUERTL.js → history-BMycjPTT.js} +1 -1
- package/dist/chunks/hooks-D9ApLkBp.js +1 -0
- package/dist/chunks/{hooks-DIvN6gdv.js → hooks-DR3IYPJ3.js} +1 -1
- package/dist/chunks/{install-T_CV1Slu.js → install-0D9u2dZw.js} +1 -1
- package/dist/chunks/{instrumentation-BjqUZ383.js → instrumentation-BFiGwntt.js} +3 -3
- package/dist/chunks/{job-R6c4-3c8.js → job-YhJQWgE0.js} +1 -1
- package/dist/chunks/{keybindings-CLRaiL_Z.js → keybindings-DZrF9iNd.js} +1 -1
- package/dist/chunks/{launchLocalMemory-DrbKrwXc.js → launchLocalMemory-DhJ56KDc.js} +1 -1
- package/dist/chunks/{launchOnboarding-tqsMD8ni.js → launchOnboarding-DmMoZwv5.js} +1 -1
- package/dist/chunks/{loadAgentsDir-DlPbtIsS.js → loadAgentsDir-B0Anodo0.js} +23 -23
- package/dist/chunks/loadAgentsDir-BbUR6pqH.js +1 -0
- package/dist/chunks/{loadPluginHooks-C_msxVIc.js → loadPluginHooks-BSwCtQ6T.js} +1 -1
- package/dist/chunks/{localSearch-CK-sFzPm.js → localSearch-BxLYi6w_.js} +1 -1
- package/dist/chunks/localSearch-zfn7jgrh.js +1 -0
- package/dist/chunks/{logoUtils-x2pHV-Nl.js → logoUtils-CRxTutvr.js} +1 -1
- package/dist/chunks/{magicDocs-BEF8D3if.js → magicDocs-Bkz7ZcmL.js} +1 -1
- package/dist/chunks/{main-kOVUGxOS.js → main-9ksgUUY_.js} +5 -5
- package/dist/chunks/{mcp-D0wAJrRT.js → mcp-ChF12reQ.js} +1 -1
- package/dist/chunks/{mcp-mgOlm1cY.js → mcp-DoEl5uah.js} +1 -1
- package/dist/chunks/{mcp-BNd29r6p.js → mcp-hp9qqjAy.js} +2 -2
- package/dist/chunks/{memory-DDLk9_LJ.js → memory-Qv-wGNQ5.js} +1 -1
- package/dist/chunks/{mode-CcNsWgK3.js → mode-bFXPCR2P.js} +1 -1
- package/dist/chunks/{model-DzCP4K-9.js → model-6lkW4o2c.js} +1 -1
- package/dist/chunks/{model-BwBG0V1u.js → model-BvQFFOf8.js} +1 -1
- package/dist/chunks/{modelOptions-DRaG3bo0.js → modelOptions-BBvF3wHK.js} +1 -1
- package/dist/chunks/{nativeInstaller-C3pVPqrZ.js → nativeInstaller-CdjmE9Zy.js} +1 -1
- package/dist/chunks/{notifications-4wP1Tx9Y.js → notifications-Bc6k-Ozy.js} +1 -1
- package/dist/chunks/{onChangeAppState-BlaoFbYF.js → onChangeAppState-DLjZ1x95.js} +1 -1
- package/dist/chunks/{openai-CDN71NdX.js → openai-D46QvESE.js} +1 -1
- package/dist/chunks/{overlayContext-BT2Lq8ei.js → overlayContext-8--_fbvY.js} +1 -1
- package/dist/chunks/{partition-CIl_ORUT.js → partition-DznN4XZH.js} +1 -1
- package/dist/chunks/{permissions-zSNOZSwr.js → permissions-DmGFViHI.js} +1 -1
- package/dist/chunks/{pidLock-BTqO-h7Y.js → pidLock-Cm4sW35f.js} +2 -2
- package/dist/chunks/{plan-Bs6em6lk.js → plan-CzGBz_87.js} +1 -1
- package/dist/chunks/{plugin-DDDxjBa0.js → plugin-CluR79xX.js} +1 -1
- package/dist/chunks/{pluginAutoupdate-8qugAFhb.js → pluginAutoupdate-ennb9k8_.js} +1 -1
- package/dist/chunks/{pluginBlocklist-q01ackCf.js → pluginBlocklist-9OrNEh--.js} +1 -1
- package/dist/chunks/{pluginCliCommands-DXZfCZsv.js → pluginCliCommands-CJv5uhOG.js} +1 -1
- package/dist/chunks/{pluginFlagging-BG2MHCQJ.js → pluginFlagging-js_-WmYj.js} +1 -1
- package/dist/chunks/{pluginOperations-hXYLrzM2.js → pluginOperations-CcUSHAIa.js} +1 -1
- package/dist/chunks/pluginStartupCheck-CRBUO9gP.js +1 -0
- package/dist/chunks/{pluginStartupCheck-DTMa6TgL.js → pluginStartupCheck-SRXOyqr7.js} +1 -1
- package/dist/chunks/{plugins-COoGBYk6.js → plugins-IwwaCDba.js} +1 -1
- package/dist/chunks/{print-BASybEtO.js → print-CgszM1ea.js} +2 -2
- package/dist/chunks/{processBashCommand-DDi_Pymt.js → processBashCommand-D098WsqY.js} +1 -1
- package/dist/chunks/{processSlashCommand-Cq9kaoSF.js → processSlashCommand-DOQFjJ88.js} +1 -1
- package/dist/chunks/prompt-BKPmDAuL.js +1 -0
- package/dist/chunks/{prompt-mM79EGnT.js → prompt-CJ1l3XXk.js} +1 -1
- package/dist/chunks/prompt-CgOklk7z.js +1 -0
- package/dist/chunks/{promptEditor-DLGN_eLu.js → promptEditor-DoGHJN_W.js} +1 -1
- package/dist/chunks/{reconciler-CeXqh95g.js → reconciler-ykkSPR-i.js} +1 -1
- package/dist/chunks/{refresh-Ce2yk28a.js → refresh-Dn_I1R4v.js} +1 -1
- package/dist/chunks/{reject-Bld5E-bn.js → reject-DtcCfuZV.js} +1 -1
- package/dist/chunks/{reload-plugins-C42xSB5l.js → reload-plugins-CQZFQLWP.js} +1 -1
- package/dist/chunks/{rename-CtBghpxZ.js → rename-DyEfsZiq.js} +1 -1
- package/dist/chunks/{resume-BWkaTDqd.js → resume-BcXEDUqZ.js} +1 -1
- package/dist/chunks/{runtimeObserver-1wQO8HSZ.js → runtimeObserver-DEuR8z0f.js} +1 -1
- package/dist/chunks/{runtimeObserver-XQrOux41.js → runtimeObserver-PJ1o8GRA.js} +2 -2
- package/dist/chunks/sandbox-adapter-DfB9kgQD.js +1 -0
- package/dist/chunks/{sandbox-toggle-Dir9Polo.js → sandbox-toggle-D9GDUsTl.js} +1 -1
- package/dist/chunks/searchExtraTools-D4gMMQv0.js +1 -0
- package/dist/chunks/{select-Bxf5-5sI.js → select-DIxfl_VN.js} +1 -1
- package/dist/chunks/sessionFileAccessHooks-lbgHnVvi.js +1 -0
- package/dist/chunks/{sessionObserver-DS4G6mb9.js → sessionObserver-BtKjvteq.js} +1 -1
- package/dist/chunks/sessionObserver-D6qzEdGJ.js +1 -0
- package/dist/chunks/sessionStorage-C_7gow_z.js +1 -0
- package/dist/chunks/{sessionTracing-BoDDYLxW.js → sessionTracing-CtbeAD0s.js} +1 -1
- package/dist/chunks/{setup-BRypY6iT.js → setup-qecdf-ES.js} +2 -2
- package/dist/chunks/{shadowedRuleDetection-BRxZjobz.js → shadowedRuleDetection-Bg_aIc5Z.js} +1 -1
- package/dist/chunks/{sideQuestion-DLJxyrlp.js → sideQuestion-D49GsfH7.js} +1 -1
- package/dist/chunks/sinks-C-lP7uyO.js +1 -0
- package/dist/chunks/{sinks-Cz2HfgMU.js → sinks-De-B1lPQ.js} +1 -1
- package/dist/chunks/{skillChangeDetector-xviGstqm.js → skillChangeDetector-DkOJoNhT.js} +1 -1
- package/dist/chunks/{skillGapStore-CKN_d3pO.js → skillGapStore-CcFoHNLl.js} +2 -2
- package/dist/chunks/{skillLifecycle-BMY2JGGG.js → skillLifecycle-Bnz_4wE5.js} +2 -2
- package/dist/chunks/{skillSearchPanel-D9trHULQ.js → skillSearchPanel-C_5yUhqn.js} +2 -2
- package/dist/chunks/{skills-CX_AvwLG.js → skills-BE5scC-g.js} +1 -1
- package/dist/chunks/status-Dw09WZLd.js +1 -0
- package/dist/chunks/{statusNoticeHelpers-vFVgIYuw.js → statusNoticeHelpers-BRQpUIlH.js} +1 -1
- package/dist/chunks/switcher-CgZVah7U.js +1 -0
- package/dist/chunks/{switcher-CAajZeNL.js → switcher-DZwUo5Ed.js} +1 -1
- package/dist/chunks/{tasks-BWNQr2d3.js → tasks-DdcUQEeD.js} +1 -1
- package/dist/chunks/{templateJobs-gUET39Ho.js → templateJobs-C8qsPrLj.js} +1 -1
- package/dist/chunks/{theme-B7fKI6E5.js → theme-f1h2QI8J.js} +1 -1
- package/dist/chunks/{tipRegistry-DamZr34w.js → tipRegistry-B71o4qWr.js} +1 -1
- package/dist/chunks/{toolEventObserver-BL06sDI4.js → toolEventObserver-7QP38x4t.js} +1 -1
- package/dist/chunks/{toolPool-CX5wDBi1.js → toolPool-V-7Yv0GA.js} +1 -1
- package/dist/chunks/{use-select-navigation-BiUJdWai.js → use-select-navigation-hWL5VHnL.js} +1 -1
- package/dist/chunks/{useExitOnCtrlCDWithKeybindings-C9BYG8Bo.js → useExitOnCtrlCDWithKeybindings-BKwzUpgb.js} +1 -1
- package/dist/chunks/useMainLoopModel-DxvV70Ru.js +1 -0
- package/dist/chunks/{useManagePlugins-BqfIVa6E.js → useManagePlugins-BXLXazrR.js} +1 -1
- package/dist/chunks/useMergedTools-CCgnBJzO.js +1 -0
- package/dist/chunks/{useSearchInput-B25K1RnK.js → useSearchInput-CzopttqC.js} +1 -1
- package/dist/chunks/{useSettingsErrors-DYQ44kX4.js → useSettingsErrors-SFPWfxsA.js} +1 -1
- package/dist/chunks/{util-CtlC2dsN.js → util-Cbb3S6SX.js} +1 -1
- package/dist/chunks/{validatePlugin-D6tFo87L.js → validatePlugin-BMSoeb_b.js} +1 -1
- package/dist/chunks/worktree-Vm-SNY5x.js +1 -0
- package/dist/cli.js +1 -1
- package/package.json +1 -1
- package/dist/chunks/AgentsMdExternalIncludesDialog-CDNd5-7E.js +0 -1
- package/dist/chunks/CustomSelect-DoeEXOIP.js +0 -1
- package/dist/chunks/Doctor-DNgkgYhB.js +0 -1
- package/dist/chunks/REPL-CrVuMQY2.js +0 -1
- package/dist/chunks/SearchExtraToolsTool-lv7VE50N.js +0 -1
- package/dist/chunks/backgroundHousekeeping-BGxHB_OX.js +0 -1
- package/dist/chunks/caches-BGzKwpnc.js +0 -1
- package/dist/chunks/commands-QepeBbFn.js +0 -1
- package/dist/chunks/config-D58C3_Lu.js +0 -1
- package/dist/chunks/context-noninteractive-BDDi3NLF.js +0 -1
- package/dist/chunks/conversation-B0wxBwzv.js +0 -1
- package/dist/chunks/doctor-CkLzqAMd.js +0 -1
- package/dist/chunks/extractMemories-xP63mv6R.js +0 -1
- package/dist/chunks/fast-C5nQH8rm.js +0 -1
- package/dist/chunks/fetchModelList-D24lRIgR.js +0 -1
- package/dist/chunks/firstPartyEventLogger-BVAogAX8.js +0 -1
- package/dist/chunks/hooks-BNuUlMzL.js +0 -1
- package/dist/chunks/loadAgentsDir-CcmY8zCj.js +0 -1
- package/dist/chunks/localSearch-DrUj0B-d.js +0 -1
- package/dist/chunks/pluginStartupCheck-HS1ZceZa.js +0 -1
- package/dist/chunks/prompt-CHobfCB1.js +0 -1
- package/dist/chunks/prompt-CMm6RHHc.js +0 -1
- package/dist/chunks/sandbox-adapter-8GO6eJxw.js +0 -1
- package/dist/chunks/searchExtraTools-BhDq8DTJ.js +0 -1
- package/dist/chunks/sessionFileAccessHooks-CozocHQE.js +0 -1
- package/dist/chunks/sessionObserver-DGEQM4cO.js +0 -1
- package/dist/chunks/sessionStorage-BcAscOGE.js +0 -1
- package/dist/chunks/sinks-CGdKmq_8.js +0 -1
- package/dist/chunks/status-Daaak6Bo.js +0 -1
- package/dist/chunks/switcher-BpgmH4AI.js +0 -1
- package/dist/chunks/useMainLoopModel-DwjSVzzO.js +0 -1
- package/dist/chunks/useMergedTools-Bw8FchX8.js +0 -1
- package/dist/chunks/worktree-B8apCnVe.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e,t}from"./loadAgentsDir-B0Anodo0.js";e();export{t as clearAgentDefinitionsCache};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ah as e,ih as t,sh as n}from"./loadAgentsDir-
|
|
1
|
+
import{ah as e,ih as t,sh as n}from"./loadAgentsDir-B0Anodo0.js";t();export{e as loadPluginHooks,n as setupPluginHookHotReload};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{c as t,i as n}from"./debug-Bglx1aTu.js";function r(e){return g.test(e)}function i(e){let t=[],n=e.toLowerCase(),i=0;for(;i<n.length;)if(r(n[i])){let e=``;for(;i<n.length&&r(n[i]);)e+=n[i],i++;for(let n=0;n<e.length-1;n++)t.push(e.slice(n,n+2))}else if(/[a-z0-9]/.test(n[i])){let e=``;for(;i<n.length&&/[a-z0-9\-_]/.test(n[i]);)e+=n[i],i++;let r=e.replace(/^[-_]+|[-_]+$/g,``);r&&!h.has(r)&&t.push(r)}else i++;return t}function a(e){if(r(e[0]??``))return e;let t=e;return t.endsWith(`ing`)&&t.length>5?t=t.slice(0,-3):t.endsWith(`tion`)&&t.length>5||t.endsWith(`ness`)&&t.length>5||t.endsWith(`ment`)&&t.length>5?t=t.slice(0,-4):t.endsWith(`ers`)&&t.length>4?t=t.slice(0,-1):t.endsWith(`er`)&&t.length>4||t.endsWith(`es`)&&t.length>4?t=t.slice(0,-2):t.endsWith(`s`)&&t.length>3&&!t.endsWith(`ss`)?t=t.slice(0,-1):(t.endsWith(`ed`)&&t.length>4||t.endsWith(`ly`)&&t.length>4)&&(t=t.slice(0,-2)),t}function o(e){return i(e).map(a)}function s(e){let t=new Map;for(let n of e){let e=new Map;for(let t of n.tokens)e.set(t,(e.get(t)??0)+1);let r=1;for(let t of e.values())t>r&&(r=t);for(let[i,a]of e){let e=a/r*n.weight;e>(t.get(i)??0)&&t.set(i,e)}}return t}function c(e){let t=new Map;for(let n of e){let e=new Set;for(let r of n.tokens)e.has(r)||(t.set(r,(t.get(r)??0)+1),e.add(r))}let n=e.length,r=new Map;for(let[e,i]of t)r.set(e,Math.log(n/i));return r}function l(e,t){let n=0,r=0,i=0;for(let[i,a]of e){let e=t.get(i)??0;n+=a*e,r+=a*a}for(let e of t.values())i+=e*e;let a=Math.sqrt(r)*Math.sqrt(i);return a===0?0:n/a}function u(e){return e.toLowerCase().replace(/[-_]/g,` `)}function d(e){return e.toLowerCase().split(/[-_]/).filter(e=>e.length>=3)}function f(){x=null,S=null,C=null,t(`[skill-search] index cache cleared`)}async function p(e){if(x&&C===e)return x;let{getCommands:n}=await import(`./commands-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{c as t,i as n}from"./debug-Bglx1aTu.js";function r(e){return g.test(e)}function i(e){let t=[],n=e.toLowerCase(),i=0;for(;i<n.length;)if(r(n[i])){let e=``;for(;i<n.length&&r(n[i]);)e+=n[i],i++;for(let n=0;n<e.length-1;n++)t.push(e.slice(n,n+2))}else if(/[a-z0-9]/.test(n[i])){let e=``;for(;i<n.length&&/[a-z0-9\-_]/.test(n[i]);)e+=n[i],i++;let r=e.replace(/^[-_]+|[-_]+$/g,``);r&&!h.has(r)&&t.push(r)}else i++;return t}function a(e){if(r(e[0]??``))return e;let t=e;return t.endsWith(`ing`)&&t.length>5?t=t.slice(0,-3):t.endsWith(`tion`)&&t.length>5||t.endsWith(`ness`)&&t.length>5||t.endsWith(`ment`)&&t.length>5?t=t.slice(0,-4):t.endsWith(`ers`)&&t.length>4?t=t.slice(0,-1):t.endsWith(`er`)&&t.length>4||t.endsWith(`es`)&&t.length>4?t=t.slice(0,-2):t.endsWith(`s`)&&t.length>3&&!t.endsWith(`ss`)?t=t.slice(0,-1):(t.endsWith(`ed`)&&t.length>4||t.endsWith(`ly`)&&t.length>4)&&(t=t.slice(0,-2)),t}function o(e){return i(e).map(a)}function s(e){let t=new Map;for(let n of e){let e=new Map;for(let t of n.tokens)e.set(t,(e.get(t)??0)+1);let r=1;for(let t of e.values())t>r&&(r=t);for(let[i,a]of e){let e=a/r*n.weight;e>(t.get(i)??0)&&t.set(i,e)}}return t}function c(e){let t=new Map;for(let n of e){let e=new Set;for(let r of n.tokens)e.has(r)||(t.set(r,(t.get(r)??0)+1),e.add(r))}let n=e.length,r=new Map;for(let[e,i]of t)r.set(e,Math.log(n/i));return r}function l(e,t){let n=0,r=0,i=0;for(let[i,a]of e){let e=t.get(i)??0;n+=a*e,r+=a*a}for(let e of t.values())i+=e*e;let a=Math.sqrt(r)*Math.sqrt(i);return a===0?0:n/a}function u(e){return e.toLowerCase().replace(/[-_]/g,` `)}function d(e){return e.toLowerCase().split(/[-_]/).filter(e=>e.length>=3)}function f(){x=null,S=null,C=null,t(`[skill-search] index cache cleared`)}async function p(e){if(x&&C===e)return x;let{getCommands:n}=await import(`./commands-CVCpJo7M.js`),r=await n(e),i=[];for(let e of r){if(e.type!==`prompt`||e.disableModelInvocation)continue;let t=e.name,n=e.description??``,r=e.whenToUse,c=e.allowedTools?.join(` `)??``,l=o(t),f=d(t),p=[...l,...f.map(a).filter(e=>!h.has(e))],m=o(n),g=o(r??``),v=o(c),y=[...new Set([...p,...m,...g,...v])],b=s([{tokens:p,weight:_.name},{tokens:g,weight:_.whenToUse},{tokens:m,weight:_.description},{tokens:v,weight:_.allowedTools}]);i.push({name:t,normalizedName:u(t),description:n,whenToUse:r,source:e.source??`unknown`,loadedFrom:e.loadedFrom,skillRoot:e.skillRoot,contentLength:e.contentLength,tokens:y,tfVector:b})}let l=c(i);for(let e of i)for(let[t,n]of e.tfVector)e.tfVector.set(t,n*(l.get(t)??0));return x=i,S=l,C=e,t(`[skill-search] indexed ${i.length} skills from ${r.length} commands`),i}function m(e,t,n=5){if(t.length===0||!e?.trim())return[];let i=o(e);if(i.length===0)return[];let a=new Map,s=new Map;for(let e of i)s.set(e,(s.get(e)??0)+1);let u=1;for(let e of s.values())e>u&&(u=e);for(let[e,t]of s)a.set(e,t/u);let d=x===t&&S?S:c(t),f=new Map;for(let[e,t]of a)f.set(e,t*(d.get(e)??0));let p=i.filter(e=>r(e[0]??``)),m=i.filter(e=>!r(e[0]??``)),h=e.toLowerCase().replace(/[-_]/g,` `),g=[];for(let e of t){let t=l(f,e.tfVector);p.length>0&&t>0&&p.filter(t=>e.tfVector.has(t)).length<b&&(m.some(t=>e.tfVector.has(t))||(t=0)),e.name.length>=y&&h.includes(e.normalizedName)&&(t=Math.max(t,.75)),t>=v&&g.push({name:e.name,description:e.description,score:t,source:e.source,loadedFrom:e.loadedFrom,skillRoot:e.skillRoot,contentLength:e.contentLength})}return g.sort((e,t)=>t.score-e.score),g.slice(0,n)}var h,g,_,v,y,b,x,S,C,w=e((()=>{n(),h=new Set(`a.an.the.is.are.was.were.be.been.being.have.has.had.do.does.did.will.would.could.should.may.might.shall.can.need.dare.ought.used.to.of.in.for.on.with.at.by.from.as.into.through.during.before.after.above.below.between.out.off.over.under.again.further.then.once.here.there.when.where.why.how.all.each.every.both.few.more.most.other.some.such.no.nor.not.only.own.same.so.than.too.very.just.because.but.and.or.if.while.this.that.these.those.it.its.i.me.my.we.our.you.your.he.him.his.she.her.they.them.their.what.which.who.whom.use.using.used`.split(`.`)),g=/[\u4e00-\u9fff\u3400-\u4dbf]/,_={name:3,whenToUse:2,description:1,allowedTools:.3},v=Number(process.env.SKILL_SEARCH_DISPLAY_MIN_SCORE??`0.10`),y=4,b=2,x=null,S=null,C=null}));export{p as a,i as c,l as i,o as l,c as n,w as o,s as r,m as s,f as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,o as t,s as n,t as r}from"./localSearch-BxLYi6w_.js";t();export{r as clearSkillIndexCache,e as getSkillIndex,n as searchSkills};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{Ar as t,_r as n}from"./loadAgentsDir-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{Ar as t,_r as n}from"./loadAgentsDir-B0Anodo0.js";import{Gr as r,t as i}from"./src-DL3w8VPk.js";import{It as a,st as o}from"./state-B4jiUise.js";import{n as s,t as c}from"./cwd-Pa83R95t.js";import{h as l,t as u,wn as d,xn as f}from"./settings-B2jvL8Dp.js";import{C as p,S as m,_ as h,y as g}from"./startupProfiler-CJdr3SxP.js";function _(e){return e>=70?`horizontal`:`compact`}function v(e,t,n){if(t===`horizontal`){let t=n,r=e-(7+t),i=Math.max(30,r),a=Math.min(t+i+k+A,e-O);return a<t+i+k+A&&(i=a-t-k-A),{leftWidth:t,rightWidth:i,totalWidth:a}}let r=Math.min(e-O,70);return{leftWidth:r,rightWidth:r,totalWidth:r}}function y(e,t,n){let i=Math.max(r(e),r(t),r(n),20);return Math.min(i+4,E)}function b(e){return!e||e.length>D?`Welcome back!`:`Welcome back ${e}!`}function x(e,t){if(r(e)<=t)return e;let n=e.split(`/`),i=n[0]||``,a=n[n.length-1]||``,o=r(i),s=r(a);if(n.length===1)return m(e,t);if(i===``&&2+s>=t)return`/${m(a,Math.max(1,t-1))}`;if(i!==``&&3+s>=t)return`…/${m(a,Math.max(1,t-1-1))}`;if(n.length===2)return`${p(i,t-1-1-s)}…/${a}`;let c=t-o-s-1-2;if(c<=0)return`${p(i,Math.max(0,t-s-1-2))}/…/${a}`;let l=[];for(let e=n.length-2;e>0;e--){let t=n[e];if(t&&r(t)+1<=c)l.unshift(t),c-=r(t)+1;else break}return l.length===0?`${i}/…/${a}`:`${i}/…/${l.join(`/`)}/${a}`}async function S(){if(M)return M;let e=o();return M=t(10).then(t=>(j=t.filter(t=>{if(t.isSidechain||t.sessionId===e||t.summary?.includes(`I apologize`))return!1;let n=t.summary&&t.summary!==`No prompt`,r=t.firstPrompt&&t.firstPrompt!==`No prompt`;return n||r}).slice(0,3),j)).catch(()=>(j=[],j)),M}function C(){return j}function w(){return{version:process.env.DEMO_VERSION??`0.0.24`,cwd:process.env.DEMO_VERSION?`/code/claude`:f(c()),billingType:`API Usage Billing`,agentName:u().agent}}function T(e,t,n){return r(e)+3+r(t)>n?{shouldSplit:!0,truncatedModel:g(e,n),truncatedBilling:g(t,n)}:{shouldSplit:!1,truncatedModel:g(e,Math.max(n-r(t)-3,10)),truncatedBilling:t}}var E,D,O,k,A,j,M,N=e((()=>{a(),i(),s(),d(),h(),n(),l(),E=50,D=20,O=4,k=1,A=2,j=[],M=null}));export{_ as a,C as c,b as i,N as l,y as n,w as o,T as r,S as s,v as t,x as u};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{i as t,o as n}from"./envUtils-DfkgIdYf.js";import{$y as r,E_ as i,Qy as a,Yi as o,ba as s,gd as c,hd as l,pS as u,w_ as d}from"./loadAgentsDir-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{i as t,o as n}from"./envUtils-DfkgIdYf.js";import{$y as r,E_ as i,Qy as a,Yi as o,ba as s,gd as c,hd as l,pS as u,w_ as d}from"./loadAgentsDir-B0Anodo0.js";import{I as f,f as p,u as m,z as h}from"./debug-Bglx1aTu.js";import{d as g,dt as _,o as v,ut as y}from"./model-BvQFFOf8.js";import{pn as b,un as x}from"./prompt-CJ1l3XXk.js";import{join as S}from"path";function C(){return`IMPORTANT: This message and these instructions are NOT part of the actual user conversation. Do NOT include any references to "documentation updates", "magic docs", or these update instructions in the document content.
|
|
2
2
|
|
|
3
3
|
Based on the user conversation above (EXCLUDING this documentation update instruction message), update the Magic Doc file to incorporate any NEW learnings, insights, or information that would be valuable to preserve.
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,i as t,o as n,t as r}from"./rolldown-runtime-DaDcL9Zw.js";import{n as i,t as a}from"./memoize-BK3gG5ob.js";import{a as o,d as s,l as c,o as l,s as u,u as d}from"./envUtils-DfkgIdYf.js";import{n as f,t as p}from"./defineProperty-C-QyHrDq.js";import{_t as m,dt as ee,ft as te,pt as ne}from"./esm-eTAUP-La.js";import{$_ as re,$m as ie,$r as ae,$s as oe,Ai as se,Ao as ce,Av as le,Bc as ue,Bi as h,CC as g,Cx as _,Ds as v,Dv as y,Ec as de,Es as fe,Ev as pe,Fa as me,Gl as he,Hg as ge,Id as _e,Ip as ve,Ja as ye,Jf as be,Js as xe,Jv as Se,Ka as b,Kv as Ce,La as we,Ld as Te,Ls as Ee,M as De,MC as Oe,Mh as ke,Mn as x,Mo as S,Ms as Ae,NC as je,Nh as C,Ni as w,Nn as Me,OC as T,Oi as Ne,On as Pe,Pp as Fe,Ps as Ie,QC as E,Q_ as Le,Qm as Re,S as ze,St as Be,Sv as Ve,T as He,Tc as Ue,Ts as We,Tt as Ge,Tv as Ke,Uh as qe,Wh as Je,Wu as Ye,Xm as Xe,Xv as D,Ya as Ze,Yf as Qe,Yi as O,Ys as $e,Yv as et,Zs as tt,__ as nt,_i as rt,_r as it,_w as at,ac as ot,au as st,av as ct,b as lt,bi as ut,bv as dt,ci as ft,cp as pt,cs as mt,cw as ht,dC as gt,dw as _t,eh as vt,ep as yt,et as bt,ev as xt,f as St,fw as k,gC as A,gi as Ct,gv as j,gw as M,hC as wt,h_ as Tt,hi as N,i as Et,ic as P,iu as F,iv as I,ja as Dt,jh as Ot,k as kt,kC as At,ks as jt,kv as Mt,lC as Nt,mC as Pt,md as Ft,mv as It,mw as Lt,mx as Rt,o as zt,or as Bt,ou as Vt,ov as Ht,ow as Ut,pC as Wt,pS as Gt,pd as Kt,pw as L,qC as R,qa as qt,ql as Jt,qu as Yt,qv as Xt,r as Zt,rp as Qt,s as $t,si as en,tp as tn,tt as nn,uC as rn,uS as an,up as on,ur as sn,us as cn,vv as ln,vx as un,wC as dn,x as fn,x_ as pn,xi as mn,xt as hn,xv as gn,xx as _n,yC as vn,y_ as yn,yi as bn,yt as xn,yv as Sn,zc as Cn,zg as wn,zi as Tn,zn as En}from"./loadAgentsDir-DlPbtIsS.js";import{B as Dn,D as On,I as kn,Lt as An,P as jn,R as Mn,T as Nn,ai as Pn,di as z,fi as Fn,rr as In,t as Ln,xr as Rn,y as zn}from"./src-DL3w8VPk.js";import{t as Bn}from"./jsx-runtime-Bb4Xn-E0.js";import{A as Vn,G as Hn,P as Un,Q as Wn,Y as Gn,Z as Kn,f as qn,j as Jn,l as Yn,o as Xn,s as Zn,x as Qn}from"./types-Dx7P7JLQ.js";import{$t as $n,Fn as er,I as tr,In as nr,It as rr,J as ir,Ln as ar,M as or,Nn as sr,Rn as cr,Sn as lr,W as ur,Yt as dr,Zt as fr,an as pr,at as mr,bn as hr,dn as gr,er as _r,ln as vr,ot as yr,tr as br,un as xr,xn as Sr,zn as Cr}from"./state-B4jiUise.js";import{n as wr,t as Tr}from"./cwd-Pa83R95t.js";import{$ as Er,C as Dr,I as Or,M as kr,N as Ar,O as jr,R as Mr,S as Nr,T as Pr,c as B,et as Fr,f as Ir,g as Lr,i as Rr,l as zr,u as Br,x as Vr}from"./debug-Bglx1aTu.js";import{Cr as Hr,D as Ur,Fr as Wr,Jt as Gr,Lr as Kr,Mr as qr,O as Jr,Tr as Yr,Xr as V,Yr as Xr,Yt as Zr,Z as Qr,b as H,d as $r,dn as ei,h as U,jt as ti,l as ni,ln as ri,m as ii,q as ai,r as oi,s as si,t as ci,w as li,x as ui,zt as di}from"./settings-B2jvL8Dp.js";import{A as fi,O as pi,T as mi,_ as W,g as hi,h as gi,m as _i,n as vi,o as yi,p as G,r as bi,s as K}from"./config-C-Y2qtB2.js";import{a as xi,n as Si,r as Ci}from"./process-gEbdy6uY.js";import{a as wi,s as Ti}from"./execFileNoThrow-BTachNBI.js";import{d as Ei,f as Di,o as Oi,s as q}from"./log-D2TIwHBV.js";import{_ as ki,h as Ai,l as ji,m as Mi,o as Ni,v as Pi}from"./stringUtils-C718f5ey.js";import{i as Fi,o as Ii}from"./platform-BacQ6ACS.js";import{n as J,r as Y}from"./analytics-DJobLaWP.js";import{i as Li,n as Ri,r as X}from"./startupProfiler-CJdr3SxP.js";import{Ct as zi,G as Bi,H as Vi,St as Hi,Yt as Ui,Zt as Wi,_ as Gi,bt as Ki,d as qi,et as Ji,f as Yi,g as Xi,ht as Zi,m as Qi,n as $i,nt as ea,u as ta,z as na}from"./model-BwBG0V1u.js";import{Ft as ra,Kt as ia,Nt as aa,Pt as oa,at as sa,it as ca,kt as la,ot as ua,qt as da}from"./prompt-mM79EGnT.js";import{c as fa,d as pa,m as ma,n as ha}from"./proxy-CDBfZjO7.js";import{n as ga,t as _a}from"./partition-CIl_ORUT.js";import{a as va,n as ya}from"./ripgrep-Dl3y5r4m.js";import{n as ba,r as xa}from"./loader-CICGtLp2.js";import{d as Sa,f as Ca,l as wa,u as Ta}from"./firstPartyEventLogger-M6UMli2c.js";import{D as Ea,O as Da}from"./sessionTracing-BoDDYLxW.js";import{n as Oa,t as ka}from"./worktreeModeEnabled-BFOYTTTr.js";import{s as Aa,t as ja}from"./history-CQiUERTL.js";import{n as Ma,t as Na}from"./SelectMulti-Bc6l11_K.js";import{t as Pa}from"./KeybindingProviderSetup-DA37QUFs.js";import{n as Fa,t as Ia}from"./exit-s9XGerrH.js";import{n as La,s as Ra,t as za}from"./pluginOperations-hXYLrzM2.js";import"./pluginCliCommands-DXZfCZsv.js";import{n as Ba}from"./conversationRecovery-2ft8sCPE.js";import{t as Va}from"./select-Bxf5-5sI.js";import{a as Ha}from"./grove-O6qp7ITR.js";import{i as Ua,t as Wa}from"./skillChangeDetector-xviGstqm.js";import{n as Ga,t as Ka}from"./tempfile-CHO5wXsV.js";import{n as qa,r as Ja}from"./detectRepository-CfX8Lc0A.js";import{n as Ya,t as Xa}from"./allErrors-DfWylHSw.js";import{t as Za}from"./CustomSelect-DoeEXOIP.js";import{r as Qa,t as $a}from"./onChangeAppState-BlaoFbYF.js";import{n as eo,r as to,t as no}from"./managedEnv-OPlzUPbJ.js";import{t as ro}from"./renderOptions-DV0dn0IW.js";import{i as io,l as ao,o as oo,t as so,u as co}from"./tipRegistry-DamZr34w.js";import{i as lo,n as uo}from"./earlyInput-IghoCjG5.js";import{a as fo,t as po}from"./banner-Cu2-XUek.js";import{posix as mo,resolve as ho,win32 as go}from"path";import{appendFileSync as _o,readFileSync as vo}from"fs";import{execFile as yo}from"child_process";a(),f(),_r(),rr(),Er(),Or(),Vr(),Ir(),Si(),Rr(),J(),Ri(),Ur(),l(),et();var bo=1e4,xo=null;function So(e){return new Promise(t=>{yo(`security`,[`find-generic-password`,`-a`,Se(),`-w`,`-s`,e],{encoding:`utf-8`,timeout:bo},(e,n)=>{t({stdout:e?null:n?.trim()||null,timedOut:!!(e&&`killed`in e&&e.killed)})})})}function Co(){if(process.platform!==`darwin`||xo||u())return;let e=So(Xt(Ce));xo=Promise.all([e]).then(([e])=>{e.timedOut||D(e.stdout)})}async function wo(){xo&&await xo}var To=r((e=>{var t=class extends Error{constructor(e,t,n){super(n),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=t,this.exitCode=e,this.nestedError=void 0}},n=class extends t{constructor(e){super(1,`commander.invalidArgument`,e),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}};e.CommanderError=t,e.InvalidArgumentError=n})),Eo=r((e=>{var{InvalidArgumentError:t}=To(),n=class{constructor(e,t){switch(this.description=t||``,this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,e[0]){case`<`:this.required=!0,this._name=e.slice(1,-1);break;case`[`:this.required=!1,this._name=e.slice(1,-1);break;default:this.required=!0,this._name=e;break}this._name.endsWith(`...`)&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_collectValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:(t.push(e),t)}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}argParser(e){return this.parseArg=e,this}choices(e){return this.argChoices=e.slice(),this.parseArg=(e,n)=>{if(!this.argChoices.includes(e))throw new t(`Allowed choices are ${this.argChoices.join(`, `)}.`);return this.variadic?this._collectValue(e,n):e},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}};function r(e){let t=e.name()+(e.variadic===!0?`...`:``);return e.required?`<`+t+`>`:`[`+t+`]`}e.Argument=n,e.humanReadableArgName=r})),Do=r((e=>{var{humanReadableArgName:t}=Eo(),n=class{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(e){this.helpWidth=this.helpWidth??e.helpWidth??80}visibleCommands(e){let t=e.commands.filter(e=>!e._hidden),n=e._getHelpCommand();return n&&!n._hidden&&t.push(n),this.sortSubcommands&&t.sort((e,t)=>e.name().localeCompare(t.name())),t}compareOptions(e,t){let n=e=>e.short?e.short.replace(/^-/,``):e.long.replace(/^--/,``);return n(e).localeCompare(n(t))}visibleOptions(e){let t=e.options.filter(e=>!e.hidden),n=e._getHelpOption();if(n&&!n.hidden){let r=n.short&&e._findOption(n.short),i=n.long&&e._findOption(n.long);!r&&!i?t.push(n):n.long&&!i?t.push(e.createOption(n.long,n.description)):n.short&&!r&&t.push(e.createOption(n.short,n.description))}return this.sortOptions&&t.sort(this.compareOptions),t}visibleGlobalOptions(e){if(!this.showGlobalOptions)return[];let t=[];for(let n=e.parent;n;n=n.parent){let e=n.options.filter(e=>!e.hidden);t.push(...e)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleArguments(e){return e._argsDescription&&e.registeredArguments.forEach(t=>{t.description=t.description||e._argsDescription[t.name()]||``}),e.registeredArguments.find(e=>e.description)?e.registeredArguments:[]}subcommandTerm(e){let n=e.registeredArguments.map(e=>t(e)).join(` `);return e._name+(e._aliases[0]?`|`+e._aliases[0]:``)+(e.options.length?` [options]`:``)+(n?` `+n:``)}optionTerm(e){return e.flags}argumentTerm(e){return e.name()}longestSubcommandTermLength(e,t){return t.visibleCommands(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleSubcommandTerm(t.subcommandTerm(n)))),0)}longestOptionTermLength(e,t){return t.visibleOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestGlobalOptionTermLength(e,t){return t.visibleGlobalOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestArgumentTermLength(e,t){return t.visibleArguments(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleArgumentTerm(t.argumentTerm(n)))),0)}commandUsage(e){let t=e._name;e._aliases[0]&&(t=t+`|`+e._aliases[0]);let n=``;for(let t=e.parent;t;t=t.parent)n=t.name()+` `+n;return n+t+` `+e.usage()}commandDescription(e){return e.description()}subcommandDescription(e){return e.summary()||e.description()}optionDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&(e.required||e.optional||e.isBoolean()&&typeof e.defaultValue==`boolean`)&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),e.presetArg!==void 0&&e.optional&&t.push(`preset: ${JSON.stringify(e.presetArg)}`),e.envVar!==void 0&&t.push(`env: ${e.envVar}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}argumentDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}formatItemList(e,t,n){return t.length===0?[]:[n.styleTitle(e),...t,``]}groupItems(e,t,n){let r=new Map;return e.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[])}),t.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[]),r.get(t).push(e)}),r}formatHelp(e,t){let n=t.padWidth(e,t),r=t.helpWidth??80;function i(e,r){return t.formatItem(e,n,r,t)}let a=[`${t.styleTitle(`Usage:`)} ${t.styleUsage(t.commandUsage(e))}`,``],o=t.commandDescription(e);o.length>0&&(a=a.concat([t.boxWrap(t.styleCommandDescription(o),r),``]));let s=t.visibleArguments(e).map(e=>i(t.styleArgumentTerm(t.argumentTerm(e)),t.styleArgumentDescription(t.argumentDescription(e))));if(a=a.concat(this.formatItemList(`Arguments:`,s,t)),this.groupItems(e.options,t.visibleOptions(e),e=>e.helpGroupHeading??`Options:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),t.showGlobalOptions){let n=t.visibleGlobalOptions(e).map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(`Global Options:`,n,t))}return this.groupItems(e.commands,t.visibleCommands(e),e=>e.helpGroup()||`Commands:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleSubcommandTerm(t.subcommandTerm(e)),t.styleSubcommandDescription(t.subcommandDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),a.join(`
|
|
1
|
+
import{a as e,i as t,o as n,t as r}from"./rolldown-runtime-DaDcL9Zw.js";import{n as i,t as a}from"./memoize-BK3gG5ob.js";import{a as o,d as s,l as c,o as l,s as u,u as d}from"./envUtils-DfkgIdYf.js";import{n as f,t as p}from"./defineProperty-C-QyHrDq.js";import{_t as m,dt as ee,ft as te,pt as ne}from"./esm-BXTZz3av.js";import{$_ as re,$m as ie,$r as ae,$s as oe,Ai as se,Ao as ce,Av as le,Bc as ue,Bi as h,CC as g,Cx as _,Ds as v,Dv as y,Ec as de,Es as fe,Ev as pe,Fa as me,Gl as he,Hg as ge,Id as _e,Ip as ve,Ja as ye,Jf as be,Js as xe,Jv as Se,Ka as b,Kv as Ce,La as we,Ld as Te,Ls as Ee,M as De,MC as Oe,Mh as ke,Mn as x,Mo as S,Ms as Ae,NC as je,Nh as C,Ni as w,Nn as Me,OC as T,Oi as Ne,On as Pe,Pp as Fe,Ps as Ie,QC as E,Q_ as Le,Qm as Re,S as ze,St as Be,Sv as Ve,T as He,Tc as Ue,Ts as We,Tt as Ge,Tv as Ke,Uh as qe,Wh as Je,Wu as Ye,Xm as Xe,Xv as D,Ya as Ze,Yf as Qe,Yi as O,Ys as $e,Yv as et,Zs as tt,__ as nt,_i as rt,_r as it,_w as at,ac as ot,au as st,av as ct,b as lt,bi as ut,bv as dt,ci as ft,cp as pt,cs as mt,cw as ht,dC as gt,dw as _t,eh as vt,ep as yt,et as bt,ev as xt,f as St,fw as k,gC as A,gi as Ct,gv as j,gw as M,hC as wt,h_ as Tt,hi as N,i as Et,ic as P,iu as F,iv as I,ja as Dt,jh as Ot,k as kt,kC as At,ks as jt,kv as Mt,lC as Nt,mC as Pt,md as Ft,mv as It,mw as Lt,mx as Rt,o as zt,or as Bt,ou as Vt,ov as Ht,ow as Ut,pC as Wt,pS as Gt,pd as Kt,pw as L,qC as R,qa as qt,ql as Jt,qu as Yt,qv as Xt,r as Zt,rp as Qt,s as $t,si as en,tp as tn,tt as nn,uC as rn,uS as an,up as on,ur as sn,us as cn,vv as ln,vx as un,wC as dn,x as fn,x_ as pn,xi as mn,xt as hn,xv as gn,xx as _n,yC as vn,y_ as yn,yi as bn,yt as xn,yv as Sn,zc as Cn,zg as wn,zi as Tn,zn as En}from"./loadAgentsDir-B0Anodo0.js";import{B as Dn,D as On,I as kn,Lt as An,P as jn,R as Mn,T as Nn,ai as Pn,di as z,fi as Fn,rr as In,t as Ln,xr as Rn,y as zn}from"./src-DL3w8VPk.js";import{t as Bn}from"./jsx-runtime-Bb4Xn-E0.js";import{A as Vn,G as Hn,P as Un,Q as Wn,Y as Gn,Z as Kn,f as qn,j as Jn,l as Yn,o as Xn,s as Zn,x as Qn}from"./types-Dx7P7JLQ.js";import{$t as $n,Fn as er,I as tr,In as nr,It as rr,J as ir,Ln as ar,M as or,Nn as sr,Rn as cr,Sn as lr,W as ur,Yt as dr,Zt as fr,an as pr,at as mr,bn as hr,dn as gr,er as _r,ln as vr,ot as yr,tr as br,un as xr,xn as Sr,zn as Cr}from"./state-B4jiUise.js";import{n as wr,t as Tr}from"./cwd-Pa83R95t.js";import{$ as Er,C as Dr,I as Or,M as kr,N as Ar,O as jr,R as Mr,S as Nr,T as Pr,c as B,et as Fr,f as Ir,g as Lr,i as Rr,l as zr,u as Br,x as Vr}from"./debug-Bglx1aTu.js";import{Cr as Hr,D as Ur,Fr as Wr,Jt as Gr,Lr as Kr,Mr as qr,O as Jr,Tr as Yr,Xr as V,Yr as Xr,Yt as Zr,Z as Qr,b as H,d as $r,dn as ei,h as U,jt as ti,l as ni,ln as ri,m as ii,q as ai,r as oi,s as si,t as ci,w as li,x as ui,zt as di}from"./settings-B2jvL8Dp.js";import{A as fi,O as pi,T as mi,_ as W,g as hi,h as gi,m as _i,n as vi,o as yi,p as G,r as bi,s as K}from"./config-C-Y2qtB2.js";import{a as xi,n as Si,r as Ci}from"./process-gEbdy6uY.js";import{a as wi,s as Ti}from"./execFileNoThrow-BTachNBI.js";import{d as Ei,f as Di,o as Oi,s as q}from"./log-D2TIwHBV.js";import{_ as ki,h as Ai,l as ji,m as Mi,o as Ni,v as Pi}from"./stringUtils-C718f5ey.js";import{i as Fi,o as Ii}from"./platform-BacQ6ACS.js";import{n as J,r as Y}from"./analytics-DJobLaWP.js";import{i as Li,n as Ri,r as X}from"./startupProfiler-CJdr3SxP.js";import{Ct as zi,G as Bi,H as Vi,St as Hi,Yt as Ui,Zt as Wi,_ as Gi,bt as Ki,d as qi,et as Ji,f as Yi,g as Xi,ht as Zi,m as Qi,n as $i,nt as ea,u as ta,z as na}from"./model-BvQFFOf8.js";import{Ft as ra,Kt as ia,Nt as aa,Pt as oa,at as sa,it as ca,kt as la,ot as ua,qt as da}from"./prompt-CJ1l3XXk.js";import{c as fa,d as pa,m as ma,n as ha}from"./proxy-CDBfZjO7.js";import{n as ga,t as _a}from"./partition-DznN4XZH.js";import{a as va,n as ya}from"./ripgrep-Dl3y5r4m.js";import{n as ba,r as xa}from"./loader-CICGtLp2.js";import{d as Sa,f as Ca,l as wa,u as Ta}from"./firstPartyEventLogger-QmjjQmgt.js";import{D as Ea,O as Da}from"./sessionTracing-CtbeAD0s.js";import{n as Oa,t as ka}from"./worktreeModeEnabled-BFOYTTTr.js";import{s as Aa,t as ja}from"./history-BMycjPTT.js";import{n as Ma,t as Na}from"./SelectMulti-BQRHed-d.js";import{t as Pa}from"./KeybindingProviderSetup-D49HHTXD.js";import{n as Fa,t as Ia}from"./exit-s9XGerrH.js";import{n as La,s as Ra,t as za}from"./pluginOperations-CcUSHAIa.js";import"./pluginCliCommands-CJv5uhOG.js";import{n as Ba}from"./conversationRecovery-DliPBo_z.js";import{t as Va}from"./select-DIxfl_VN.js";import{a as Ha}from"./grove-O6qp7ITR.js";import{i as Ua,t as Wa}from"./skillChangeDetector-DkOJoNhT.js";import{n as Ga,t as Ka}from"./tempfile-CHO5wXsV.js";import{n as qa,r as Ja}from"./detectRepository-CfX8Lc0A.js";import{n as Ya,t as Xa}from"./allErrors-BF73lon8.js";import{t as Za}from"./CustomSelect-wmZ9jz0W.js";import{r as Qa,t as $a}from"./onChangeAppState-DLjZ1x95.js";import{n as eo,r as to,t as no}from"./managedEnv-OPlzUPbJ.js";import{t as ro}from"./renderOptions-DV0dn0IW.js";import{i as io,l as ao,o as oo,t as so,u as co}from"./tipRegistry-B71o4qWr.js";import{i as lo,n as uo}from"./earlyInput-IghoCjG5.js";import{a as fo,t as po}from"./banner-Cu2-XUek.js";import{posix as mo,resolve as ho,win32 as go}from"path";import{appendFileSync as _o,readFileSync as vo}from"fs";import{execFile as yo}from"child_process";a(),f(),_r(),rr(),Er(),Or(),Vr(),Ir(),Si(),Rr(),J(),Ri(),Ur(),l(),et();var bo=1e4,xo=null;function So(e){return new Promise(t=>{yo(`security`,[`find-generic-password`,`-a`,Se(),`-w`,`-s`,e],{encoding:`utf-8`,timeout:bo},(e,n)=>{t({stdout:e?null:n?.trim()||null,timedOut:!!(e&&`killed`in e&&e.killed)})})})}function Co(){if(process.platform!==`darwin`||xo||u())return;let e=So(Xt(Ce));xo=Promise.all([e]).then(([e])=>{e.timedOut||D(e.stdout)})}async function wo(){xo&&await xo}var To=r((e=>{var t=class extends Error{constructor(e,t,n){super(n),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=t,this.exitCode=e,this.nestedError=void 0}},n=class extends t{constructor(e){super(1,`commander.invalidArgument`,e),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}};e.CommanderError=t,e.InvalidArgumentError=n})),Eo=r((e=>{var{InvalidArgumentError:t}=To(),n=class{constructor(e,t){switch(this.description=t||``,this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,e[0]){case`<`:this.required=!0,this._name=e.slice(1,-1);break;case`[`:this.required=!1,this._name=e.slice(1,-1);break;default:this.required=!0,this._name=e;break}this._name.endsWith(`...`)&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_collectValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:(t.push(e),t)}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}argParser(e){return this.parseArg=e,this}choices(e){return this.argChoices=e.slice(),this.parseArg=(e,n)=>{if(!this.argChoices.includes(e))throw new t(`Allowed choices are ${this.argChoices.join(`, `)}.`);return this.variadic?this._collectValue(e,n):e},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}};function r(e){let t=e.name()+(e.variadic===!0?`...`:``);return e.required?`<`+t+`>`:`[`+t+`]`}e.Argument=n,e.humanReadableArgName=r})),Do=r((e=>{var{humanReadableArgName:t}=Eo(),n=class{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(e){this.helpWidth=this.helpWidth??e.helpWidth??80}visibleCommands(e){let t=e.commands.filter(e=>!e._hidden),n=e._getHelpCommand();return n&&!n._hidden&&t.push(n),this.sortSubcommands&&t.sort((e,t)=>e.name().localeCompare(t.name())),t}compareOptions(e,t){let n=e=>e.short?e.short.replace(/^-/,``):e.long.replace(/^--/,``);return n(e).localeCompare(n(t))}visibleOptions(e){let t=e.options.filter(e=>!e.hidden),n=e._getHelpOption();if(n&&!n.hidden){let r=n.short&&e._findOption(n.short),i=n.long&&e._findOption(n.long);!r&&!i?t.push(n):n.long&&!i?t.push(e.createOption(n.long,n.description)):n.short&&!r&&t.push(e.createOption(n.short,n.description))}return this.sortOptions&&t.sort(this.compareOptions),t}visibleGlobalOptions(e){if(!this.showGlobalOptions)return[];let t=[];for(let n=e.parent;n;n=n.parent){let e=n.options.filter(e=>!e.hidden);t.push(...e)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleArguments(e){return e._argsDescription&&e.registeredArguments.forEach(t=>{t.description=t.description||e._argsDescription[t.name()]||``}),e.registeredArguments.find(e=>e.description)?e.registeredArguments:[]}subcommandTerm(e){let n=e.registeredArguments.map(e=>t(e)).join(` `);return e._name+(e._aliases[0]?`|`+e._aliases[0]:``)+(e.options.length?` [options]`:``)+(n?` `+n:``)}optionTerm(e){return e.flags}argumentTerm(e){return e.name()}longestSubcommandTermLength(e,t){return t.visibleCommands(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleSubcommandTerm(t.subcommandTerm(n)))),0)}longestOptionTermLength(e,t){return t.visibleOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestGlobalOptionTermLength(e,t){return t.visibleGlobalOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestArgumentTermLength(e,t){return t.visibleArguments(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleArgumentTerm(t.argumentTerm(n)))),0)}commandUsage(e){let t=e._name;e._aliases[0]&&(t=t+`|`+e._aliases[0]);let n=``;for(let t=e.parent;t;t=t.parent)n=t.name()+` `+n;return n+t+` `+e.usage()}commandDescription(e){return e.description()}subcommandDescription(e){return e.summary()||e.description()}optionDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&(e.required||e.optional||e.isBoolean()&&typeof e.defaultValue==`boolean`)&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),e.presetArg!==void 0&&e.optional&&t.push(`preset: ${JSON.stringify(e.presetArg)}`),e.envVar!==void 0&&t.push(`env: ${e.envVar}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}argumentDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}formatItemList(e,t,n){return t.length===0?[]:[n.styleTitle(e),...t,``]}groupItems(e,t,n){let r=new Map;return e.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[])}),t.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[]),r.get(t).push(e)}),r}formatHelp(e,t){let n=t.padWidth(e,t),r=t.helpWidth??80;function i(e,r){return t.formatItem(e,n,r,t)}let a=[`${t.styleTitle(`Usage:`)} ${t.styleUsage(t.commandUsage(e))}`,``],o=t.commandDescription(e);o.length>0&&(a=a.concat([t.boxWrap(t.styleCommandDescription(o),r),``]));let s=t.visibleArguments(e).map(e=>i(t.styleArgumentTerm(t.argumentTerm(e)),t.styleArgumentDescription(t.argumentDescription(e))));if(a=a.concat(this.formatItemList(`Arguments:`,s,t)),this.groupItems(e.options,t.visibleOptions(e),e=>e.helpGroupHeading??`Options:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),t.showGlobalOptions){let n=t.visibleGlobalOptions(e).map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(`Global Options:`,n,t))}return this.groupItems(e.commands,t.visibleCommands(e),e=>e.helpGroup()||`Commands:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleSubcommandTerm(t.subcommandTerm(e)),t.styleSubcommandDescription(t.subcommandDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),a.join(`
|
|
2
2
|
`)}displayWidth(e){return r(e).length}styleTitle(e){return e}styleUsage(e){return e.split(` `).map(e=>e===`[options]`?this.styleOptionText(e):e===`[command]`?this.styleSubcommandText(e):e[0]===`[`||e[0]===`<`?this.styleArgumentText(e):this.styleCommandText(e)).join(` `)}styleCommandDescription(e){return this.styleDescriptionText(e)}styleOptionDescription(e){return this.styleDescriptionText(e)}styleSubcommandDescription(e){return this.styleDescriptionText(e)}styleArgumentDescription(e){return this.styleDescriptionText(e)}styleDescriptionText(e){return e}styleOptionTerm(e){return this.styleOptionText(e)}styleSubcommandTerm(e){return e.split(` `).map(e=>e===`[options]`?this.styleOptionText(e):e[0]===`[`||e[0]===`<`?this.styleArgumentText(e):this.styleSubcommandText(e)).join(` `)}styleArgumentTerm(e){return this.styleArgumentText(e)}styleOptionText(e){return e}styleArgumentText(e){return e}styleSubcommandText(e){return e}styleCommandText(e){return e}padWidth(e,t){return Math.max(t.longestOptionTermLength(e,t),t.longestGlobalOptionTermLength(e,t),t.longestSubcommandTermLength(e,t),t.longestArgumentTermLength(e,t))}preformatted(e){return/\n[^\S\r\n]/.test(e)}formatItem(e,t,n,r){let i=` `.repeat(2);if(!n)return i+e;let a=e.padEnd(t+e.length-r.displayWidth(e)),o=(this.helpWidth??80)-t-2-2,s;return s=o<this.minWidthToWrap||r.preformatted(n)?n:r.boxWrap(n,o).replace(/\n/g,`
|
|
3
3
|
`+` `.repeat(t+2)),i+a+` `.repeat(2)+s.replace(/\n/g,`\n${i}`)}boxWrap(e,t){if(t<this.minWidthToWrap)return e;let n=e.split(/\r\n|\n/),r=/[\s]*[^\s]+/g,i=[];return n.forEach(e=>{let n=e.match(r);if(n===null){i.push(``);return}let a=[n.shift()],o=this.displayWidth(a[0]);n.forEach(e=>{let n=this.displayWidth(e);if(o+n<=t){a.push(e),o+=n;return}i.push(a.join(``));let r=e.trimStart();a=[r],o=this.displayWidth(r)}),i.push(a.join(``))}),i.join(`
|
|
4
4
|
`)}};function r(e){return e.replace(/\x1b\[\d*(;\d*)*m/g,``)}e.Help=n,e.stripColor=r})),Oo=r((e=>{var{InvalidArgumentError:t}=To(),n=class{constructor(e,t){this.flags=e,this.description=t||``,this.required=e.includes(`<`),this.optional=e.includes(`[`),this.variadic=/\w\.\.\.[>\]]$/.test(e),this.mandatory=!1;let n=a(e);this.short=n.shortFlag,this.long=n.longFlag,this.negate=!1,this.long&&(this.negate=this.long.startsWith(`--no-`)),this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0,this.helpGroupHeading=void 0}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}preset(e){return this.presetArg=e,this}conflicts(e){return this.conflictsWith=this.conflictsWith.concat(e),this}implies(e){let t=e;return typeof e==`string`&&(t={[e]:!0}),this.implied=Object.assign(this.implied||{},t),this}env(e){return this.envVar=e,this}argParser(e){return this.parseArg=e,this}makeOptionMandatory(e=!0){return this.mandatory=!!e,this}hideHelp(e=!0){return this.hidden=!!e,this}_collectValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:(t.push(e),t)}choices(e){return this.argChoices=e.slice(),this.parseArg=(e,n)=>{if(!this.argChoices.includes(e))throw new t(`Allowed choices are ${this.argChoices.join(`, `)}.`);return this.variadic?this._collectValue(e,n):e},this}name(){return this.long?this.long.replace(/^--/,``):this.short.replace(/^-/,``)}attributeName(){return this.negate?i(this.name().replace(/^no-/,``)):i(this.name())}helpGroup(e){return this.helpGroupHeading=e,this}is(e){return this.short===e||this.long===e}isBoolean(){return!this.required&&!this.optional&&!this.negate}},r=class{constructor(e){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,e.forEach(e=>{e.negate?this.negativeOptions.set(e.attributeName(),e):this.positiveOptions.set(e.attributeName(),e)}),this.negativeOptions.forEach((e,t)=>{this.positiveOptions.has(t)&&this.dualOptions.add(t)})}valueFromOption(e,t){let n=t.attributeName();if(!this.dualOptions.has(n))return!0;let r=this.negativeOptions.get(n).presetArg,i=r!==void 0&&r;return t.negate===(i===e)}};function i(e){return e.split(`-`).reduce((e,t)=>e+t[0].toUpperCase()+t.slice(1))}function a(e){let t,n,r=/^-[^-]$/,i=/^--[^-]/,a=e.split(/[ |,]+/).concat(`guard`);if(r.test(a[0])&&(t=a.shift()),i.test(a[0])&&(n=a.shift()),!t&&r.test(a[0])&&(t=a.shift()),!t&&i.test(a[0])&&(t=n,n=a.shift()),a[0].startsWith(`-`)){let t=a[0],n=`option creation failed due to '${t}' in option flags '${e}'`;throw/^-[^-][^-]/.test(t)?Error(`${n}
|
|
@@ -16,7 +16,7 @@ Expecting one of '${n.join(`', '`)}'`);return this._lifeCycleHooks[e]?this._life
|
|
|
16
16
|
- if the default executable name is not suitable, use the executableFile option to supply a custom name or path
|
|
17
17
|
- ${t?`searched for local subcommand relative to directory '${t}'`:`no directory for search for local subcommand, use .executableDir() to supply a custom directory`}`;throw Error(r)}_executeSubCommand(e,t){t=t.slice();let n=!1,s=[`.js`,`.ts`,`.tsx`,`.mjs`,`.cjs`];function c(e,t){let n=i.resolve(e,t);if(a.existsSync(n))return n;if(s.includes(i.extname(t)))return;let r=s.find(e=>a.existsSync(`${n}${e}`));if(r)return`${n}${r}`}this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let u=e._executableFile||`${this._name}-${e._name}`,d=this._executableDir||``;if(this._scriptPath){let e;try{e=a.realpathSync(this._scriptPath)}catch{e=this._scriptPath}d=i.resolve(i.dirname(e),d)}if(d){let t=c(d,u);if(!t&&!e._executableFile&&this._scriptPath){let n=i.basename(this._scriptPath,i.extname(this._scriptPath));n!==this._name&&(t=c(d,`${n}-${e._name}`))}u=t||u}n=s.includes(i.extname(u));let f;o.platform===`win32`?(this._checkForMissingExecutable(u,d,e._name),t.unshift(u),t=te(o.execArgv).concat(t),f=r.spawn(o.execPath,t,{stdio:`inherit`})):n?(t.unshift(u),t=te(o.execArgv).concat(t),f=r.spawn(o.argv[0],t,{stdio:`inherit`})):f=r.spawn(u,t,{stdio:`inherit`}),f.killed||[`SIGUSR1`,`SIGUSR2`,`SIGTERM`,`SIGINT`,`SIGHUP`].forEach(e=>{o.on(e,()=>{f.killed===!1&&f.exitCode===null&&f.kill(e)})});let p=this._exitCallback;f.on(`close`,e=>{e=e??1,p?p(new l(e,`commander.executeSubCommandAsync`,`(close)`)):o.exit(e)}),f.on(`error`,t=>{if(t.code===`ENOENT`)this._checkForMissingExecutable(u,d,e._name);else if(t.code===`EACCES`)throw Error(`'${u}' not executable`);if(!p)o.exit(1);else{let e=new l(1,`commander.executeSubCommandAsync`,`(error)`);e.nestedError=t,p(e)}}),this.runningCommand=f}_dispatchSubcommand(e,t,n){let r=this._findCommand(e);r||this.help({error:!0}),r._prepareForParse();let i;return i=this._chainOrCallSubCommandHook(i,r,`preSubcommand`),i=this._chainOrCall(i,()=>{if(r._executableHandler)this._executeSubCommand(r,t.concat(n));else return r._parseCommand(t,n)}),i}_dispatchHelpCommand(e){e||this.help();let t=this._findCommand(e);return t&&!t._executableHandler&&t.help(),this._dispatchSubcommand(e,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??`--help`])}_checkNumberOfArguments(){this.registeredArguments.forEach((e,t)=>{e.required&&this.args[t]==null&&this.missingArgument(e.name())}),!(this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic)&&this.args.length>this.registeredArguments.length&&this._excessArguments(this.args)}_processArguments(){let e=(e,t,n)=>{let r=t;if(t!==null&&e.parseArg){let i=`error: command-argument value '${t}' is invalid for argument '${e.name()}'.`;r=this._callParseArg(e,t,n,i)}return r};this._checkNumberOfArguments();let t=[];this.registeredArguments.forEach((n,r)=>{let i=n.defaultValue;n.variadic?r<this.args.length?(i=this.args.slice(r),n.parseArg&&(i=i.reduce((t,r)=>e(n,r,t),n.defaultValue))):i===void 0&&(i=[]):r<this.args.length&&(i=this.args[r],n.parseArg&&(i=e(n,i,n.defaultValue))),t[r]=i}),this.processedArgs=t}_chainOrCall(e,t){return e?.then&&typeof e.then==`function`?e.then(()=>t()):t()}_chainOrCallHooks(e,t){let n=e,r=[];return this._getCommandAndAncestors().reverse().filter(e=>e._lifeCycleHooks[t]!==void 0).forEach(e=>{e._lifeCycleHooks[t].forEach(t=>{r.push({hookedCommand:e,callback:t})})}),t===`postAction`&&r.reverse(),r.forEach(e=>{n=this._chainOrCall(n,()=>e.callback(e.hookedCommand,this))}),n}_chainOrCallSubCommandHook(e,t,n){let r=e;return this._lifeCycleHooks[n]!==void 0&&this._lifeCycleHooks[n].forEach(e=>{r=this._chainOrCall(r,()=>e(this,t))}),r}_parseCommand(e,t){let n=this.parseOptions(t);if(this._parseOptionsEnv(),this._parseOptionsImplied(),e=e.concat(n.operands),t=n.unknown,this.args=e.concat(t),e&&this._findCommand(e[0]))return this._dispatchSubcommand(e[0],e.slice(1),t);if(this._getHelpCommand()&&e[0]===this._getHelpCommand().name())return this._dispatchHelpCommand(e[1]);if(this._defaultCommandName)return this._outputHelpIfRequested(t),this._dispatchSubcommand(this._defaultCommandName,e,t);this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName&&this.help({error:!0}),this._outputHelpIfRequested(n.unknown),this._checkForMissingMandatoryOptions(),this._checkForConflictingOptions();let r=()=>{n.unknown.length>0&&this.unknownOption(n.unknown[0])},i=`command:${this.name()}`;if(this._actionHandler){r(),this._processArguments();let n;return n=this._chainOrCallHooks(n,`preAction`),n=this._chainOrCall(n,()=>this._actionHandler(this.processedArgs)),this.parent&&(n=this._chainOrCall(n,()=>{this.parent.emit(i,e,t)})),n=this._chainOrCallHooks(n,`postAction`),n}if(this.parent?.listenerCount(i))r(),this._processArguments(),this.parent.emit(i,e,t);else if(e.length){if(this._findCommand(`*`))return this._dispatchSubcommand(`*`,e,t);this.listenerCount(`command:*`)?this.emit(`command:*`,e,t):this.commands.length?this.unknownCommand():(r(),this._processArguments())}else this.commands.length?(r(),this.help({error:!0})):(r(),this._processArguments())}_findCommand(e){if(e)return this.commands.find(t=>t._name===e||t._aliases.includes(e))}_findOption(e){return this.options.find(t=>t.is(e))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach(e=>{e.options.forEach(t=>{t.mandatory&&e.getOptionValue(t.attributeName())===void 0&&e.missingMandatoryOptionValue(t)})})}_checkForConflictingLocalOptions(){let e=this.options.filter(e=>{let t=e.attributeName();return this.getOptionValue(t)!==void 0&&this.getOptionValueSource(t)!=="default"});e.filter(e=>e.conflictsWith.length>0).forEach(t=>{let n=e.find(e=>t.conflictsWith.includes(e.attributeName()));n&&this._conflictingOption(t,n)})}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach(e=>{e._checkForConflictingLocalOptions()})}parseOptions(e){let t=[],n=[],r=t;function i(e){return e.length>1&&e[0]===`-`}let a=e=>/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(e)?!this._getCommandAndAncestors().some(e=>e.options.map(e=>e.short).some(e=>/^-\d$/.test(e))):!1,o=null,s=null,c=0;for(;c<e.length||s;){let l=s??e[c++];if(s=null,l===`--`){r===n&&r.push(l),r.push(...e.slice(c));break}if(o&&(!i(l)||a(l))){this.emit(`option:${o.name()}`,l);continue}if(o=null,i(l)){let t=this._findOption(l);if(t){if(t.required){let n=e[c++];n===void 0&&this.optionMissingArgument(t),this.emit(`option:${t.name()}`,n)}else if(t.optional){let n=null;c<e.length&&(!i(e[c])||a(e[c]))&&(n=e[c++]),this.emit(`option:${t.name()}`,n)}else this.emit(`option:${t.name()}`);o=t.variadic?t:null;continue}}if(l.length>2&&l[0]===`-`&&l[1]!==`-`){let e=this._findOption(`-${l[1]}`);if(e){e.required||e.optional&&this._combineFlagAndOptionalValue?this.emit(`option:${e.name()}`,l.slice(2)):(this.emit(`option:${e.name()}`),s=`-${l.slice(2)}`);continue}}if(/^--[^=]+=/.test(l)){let e=l.indexOf(`=`),t=this._findOption(l.slice(0,e));if(t&&(t.required||t.optional)){this.emit(`option:${t.name()}`,l.slice(e+1));continue}}if(r===t&&i(l)&&!(this.commands.length===0&&a(l))&&(r=n),(this._enablePositionalOptions||this._passThroughOptions)&&t.length===0&&n.length===0){if(this._findCommand(l)){t.push(l),n.push(...e.slice(c));break}else if(this._getHelpCommand()&&l===this._getHelpCommand().name()){t.push(l,...e.slice(c));break}else if(this._defaultCommandName){n.push(l,...e.slice(c));break}}if(this._passThroughOptions){r.push(l,...e.slice(c));break}r.push(l)}return{operands:t,unknown:n}}opts(){if(this._storeOptionsAsProperties){let e={},t=this.options.length;for(let n=0;n<t;n++){let t=this.options[n].attributeName();e[t]=t===this._versionOptionName?this._version:this[t]}return e}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce((e,t)=>Object.assign(e,t.opts()),{})}error(e,t){this._outputConfiguration.outputError(`${e}\n`,this._outputConfiguration.writeErr),typeof this._showHelpAfterError==`string`?this._outputConfiguration.writeErr(`${this._showHelpAfterError}\n`):this._showHelpAfterError&&(this._outputConfiguration.writeErr(`
|
|
18
18
|
`),this.outputHelp({error:!0}));let n=t||{},r=n.exitCode||1,i=n.code||`commander.error`;this._exit(r,i,e)}_parseOptionsEnv(){this.options.forEach(e=>{if(e.envVar&&e.envVar in o.env){let t=e.attributeName();(this.getOptionValue(t)===void 0||[`default`,`config`,`env`].includes(this.getOptionValueSource(t)))&&(e.required||e.optional?this.emit(`optionEnv:${e.name()}`,o.env[e.envVar]):this.emit(`optionEnv:${e.name()}`))}})}_parseOptionsImplied(){let e=new p(this.options),t=e=>this.getOptionValue(e)!==void 0&&![`default`,`implied`].includes(this.getOptionValueSource(e));this.options.filter(n=>n.implied!==void 0&&t(n.attributeName())&&e.valueFromOption(this.getOptionValue(n.attributeName()),n)).forEach(e=>{Object.keys(e.implied).filter(e=>!t(e)).forEach(t=>{this.setOptionValueWithSource(t,e.implied[t],`implied`)})})}missingArgument(e){let t=`error: missing required argument '${e}'`;this.error(t,{code:`commander.missingArgument`})}optionMissingArgument(e){let t=`error: option '${e.flags}' argument missing`;this.error(t,{code:`commander.optionMissingArgument`})}missingMandatoryOptionValue(e){let t=`error: required option '${e.flags}' not specified`;this.error(t,{code:`commander.missingMandatoryOptionValue`})}_conflictingOption(e,t){let n=e=>{let t=e.attributeName(),n=this.getOptionValue(t),r=this.options.find(e=>e.negate&&t===e.attributeName()),i=this.options.find(e=>!e.negate&&t===e.attributeName());return r&&(r.presetArg===void 0&&n===!1||r.presetArg!==void 0&&n===r.presetArg)?r:i||e},r=e=>{let t=n(e),r=t.attributeName();return this.getOptionValueSource(r)===`env`?`environment variable '${t.envVar}'`:`option '${t.flags}'`},i=`error: ${r(e)} cannot be used with ${r(t)}`;this.error(i,{code:`commander.conflictingOption`})}unknownOption(e){if(this._allowUnknownOption)return;let t=``;if(e.startsWith(`--`)&&this._showSuggestionAfterError){let n=[],r=this;do{let e=r.createHelp().visibleOptions(r).filter(e=>e.long).map(e=>e.long);n=n.concat(e),r=r.parent}while(r&&!r._enablePositionalOptions);t=m(e,n)}let n=`error: unknown option '${e}'${t}`;this.error(n,{code:`commander.unknownOption`})}_excessArguments(e){if(this._allowExcessArguments)return;let t=this.registeredArguments.length,n=t===1?``:`s`,r=`error: too many arguments${this.parent?` for '${this.name()}'`:``}. Expected ${t} argument${n} but got ${e.length}.`;this.error(r,{code:`commander.excessArguments`})}unknownCommand(){let e=this.args[0],t=``;if(this._showSuggestionAfterError){let n=[];this.createHelp().visibleCommands(this).forEach(e=>{n.push(e.name()),e.alias()&&n.push(e.alias())}),t=m(e,n)}let n=`error: unknown command '${e}'${t}`;this.error(n,{code:`commander.unknownCommand`})}version(e,t,n){if(e===void 0)return this._version;this._version=e,t=t||`-V, --version`,n=n||`output the version number`;let r=this.createOption(t,n);return this._versionOptionName=r.attributeName(),this._registerOption(r),this.on(`option:`+r.name(),()=>{this._outputConfiguration.writeOut(`${e}\n`),this._exit(0,`commander.version`,e)}),this}description(e,t){return e===void 0&&t===void 0?this._description:(this._description=e,t&&(this._argsDescription=t),this)}summary(e){return e===void 0?this._summary:(this._summary=e,this)}alias(e){if(e===void 0)return this._aliases[0];let t=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler&&(t=this.commands[this.commands.length-1]),e===t._name)throw Error(`Command alias can't be the same as its name`);let n=this.parent?._findCommand(e);if(n){let t=[n.name()].concat(n.aliases()).join(`|`);throw Error(`cannot add alias '${e}' to command '${this.name()}' as already have command '${t}'`)}return t._aliases.push(e),this}aliases(e){return e===void 0?this._aliases:(e.forEach(e=>this.alias(e)),this)}usage(e){if(e===void 0){if(this._usage)return this._usage;let e=this.registeredArguments.map(e=>c(e));return[].concat(this.options.length||this._helpOption!==null?`[options]`:[],this.commands.length?`[command]`:[],this.registeredArguments.length?e:[]).join(` `)}return this._usage=e,this}name(e){return e===void 0?this._name:(this._name=e,this)}helpGroup(e){return e===void 0?this._helpGroupHeading??``:(this._helpGroupHeading=e,this)}commandsGroup(e){return e===void 0?this._defaultCommandGroup??``:(this._defaultCommandGroup=e,this)}optionsGroup(e){return e===void 0?this._defaultOptionGroup??``:(this._defaultOptionGroup=e,this)}_initOptionGroup(e){this._defaultOptionGroup&&!e.helpGroupHeading&&e.helpGroup(this._defaultOptionGroup)}_initCommandGroup(e){this._defaultCommandGroup&&!e.helpGroup()&&e.helpGroup(this._defaultCommandGroup)}nameFromFilename(e){return this._name=i.basename(e,i.extname(e)),this}executableDir(e){return e===void 0?this._executableDir:(this._executableDir=e,this)}helpInformation(e){let t=this.createHelp(),n=this._getOutputContext(e);t.prepareContext({error:n.error,helpWidth:n.helpWidth,outputHasColors:n.hasColors});let r=t.formatHelp(this,t);return n.hasColors?r:this._outputConfiguration.stripColor(r)}_getOutputContext(e){e=e||{};let t=!!e.error,n,r,i;return t?(n=e=>this._outputConfiguration.writeErr(e),r=this._outputConfiguration.getErrHasColors(),i=this._outputConfiguration.getErrHelpWidth()):(n=e=>this._outputConfiguration.writeOut(e),r=this._outputConfiguration.getOutHasColors(),i=this._outputConfiguration.getOutHelpWidth()),{error:t,write:e=>(r||(e=this._outputConfiguration.stripColor(e)),n(e)),hasColors:r,helpWidth:i}}outputHelp(e){let t;typeof e==`function`&&(t=e,e=void 0);let n=this._getOutputContext(e),r={error:n.error,write:n.write,command:this};this._getCommandAndAncestors().reverse().forEach(e=>e.emit(`beforeAllHelp`,r)),this.emit(`beforeHelp`,r);let i=this.helpInformation({error:n.error});if(t&&(i=t(i),typeof i!=`string`&&!Buffer.isBuffer(i)))throw Error(`outputHelp callback must return a string or a Buffer`);n.write(i),this._getHelpOption()?.long&&this.emit(this._getHelpOption().long),this.emit(`afterHelp`,r),this._getCommandAndAncestors().forEach(e=>e.emit(`afterAllHelp`,r))}helpOption(e,t){return typeof e==`boolean`?(e?(this._helpOption===null&&(this._helpOption=void 0),this._defaultOptionGroup&&this._initOptionGroup(this._getHelpOption())):this._helpOption=null,this):(this._helpOption=this.createOption(e??`-h, --help`,t??`display help for command`),(e||t)&&this._initOptionGroup(this._helpOption),this)}_getHelpOption(){return this._helpOption===void 0&&this.helpOption(void 0,void 0),this._helpOption}addHelpOption(e){return this._helpOption=e,this._initOptionGroup(e),this}help(e){this.outputHelp(e);let t=Number(o.exitCode??0);t===0&&e&&typeof e!=`function`&&e.error&&(t=1),this._exit(t,`commander.help`,`(outputHelp)`)}addHelpText(e,t){let n=[`beforeAll`,`before`,`after`,`afterAll`];if(!n.includes(e))throw Error(`Unexpected value for position to addHelpText.
|
|
19
|
-
Expecting one of '${n.join(`', '`)}'`);let r=`${e}Help`;return this.on(r,e=>{let n;n=typeof t==`function`?t({error:e.error,command:e.command}):t,n&&e.write(`${n}\n`)}),this}_outputHelpIfRequested(e){let t=this._getHelpOption();t&&e.find(e=>t.is(e))&&(this.outputHelp(),this._exit(0,`commander.helpDisplayed`,`(outputHelp)`))}};function te(e){return e.map(e=>{if(!e.startsWith(`--inspect`))return e;let t,n=`127.0.0.1`,r=`9229`,i;return(i=e.match(/^(--inspect(-brk)?)$/))===null?(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))===null?(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(t=i[1],n=i[3],r=i[4]):(t=i[1],/^\d+$/.test(i[3])?r=i[3]:n=i[3]):t=i[1],t&&r!==`0`?`${t}=${n}:${parseInt(r)+1}`:e})}function ne(){if(o.env.NO_COLOR||o.env.FORCE_COLOR===`0`||o.env.FORCE_COLOR===`false`)return!1;if(o.env.FORCE_COLOR||o.env.CLICOLOR_FORCE!==void 0)return!0}e.Command=ee,e.useColor=ne})),jo=r((e=>{var{Argument:t}=Eo(),{Command:n}=Ao(),{CommanderError:r,InvalidArgumentError:i}=To(),{Help:a}=Do(),{Option:o}=Oo();e.program=new n,e.createCommand=e=>new n(e),e.createOption=(e,t)=>new o(e,t),e.createArgument=(e,n)=>new t(e,n),e.Command=n,e.Option=o,e.Argument=t,e.Help=a,e.CommanderError=r,e.InvalidArgumentError=i,e.InvalidOptionArgumentError=i})),Mo=r(((e,t)=>{var n=jo();e=t.exports={},e.program=new n.Command,e.Argument=n.Argument,e.Command=n.Command,e.CommanderError=n.CommanderError,e.Help=n.Help,e.InvalidArgumentError=n.InvalidArgumentError,e.InvalidOptionArgumentError=n.InvalidArgumentError,e.Option=n.Option,e.createCommand=e=>new n.Command(e),e.createOption=(e,t)=>new n.Option(e,t),e.createArgument=(e,t)=>new n.Argument(e,t)}));Zr();var{program:No,createCommand:Po,createArgument:Fo,createOption:Io,CommanderError:Lo,InvalidArgumentError:Ro,InvalidOptionArgumentError:zo,Command:Bo,Argument:Vo,Option:Z,Help:Ho}=n(Mo(),1).default;Fn();var Uo=n(Pn(),1),Q=Bn();Ln(),Qn(),wr(),Xr(),Ti(),Oi(),ki(),Kr(),Ii(),Hr(),Yn(),ri(),li(),U(),pi(),G(),Oe(),T(),yn(),C(),yt(),_e(),$e(),O(),Tn(),w(),mn(),rt(),it(),x(),l(),Ei();var Wo=!1;function Go(){if(Wo||(Wo=!0,Di())||c(process.env.CLAUDE_CODE_USE_BEDROCK)||c(process.env.CLAUDE_CODE_USE_VERTEX)||c(process.env.CLAUDE_CODE_USE_FOUNDRY)||process.env.HTTPS_PROXY||process.env.https_proxy||process.env.HTTP_PROXY||process.env.http_proxy||process.env.ANTHROPIC_UNIX_SOCKET||process.env.CLAUDE_CODE_CLIENT_CERT||process.env.CLAUDE_CODE_CLIENT_KEY)return;let e=process.env.ANTHROPIC_BASE_URL||Gr().BASE_API_URL;fetch(e,{method:`HEAD`,signal:AbortSignal.timeout(1e4)}).catch(()=>{})}function Ko(){if(process.env.NODE_EXTRA_CA_CERTS)return;let e=qo();e&&(process.env.NODE_EXTRA_CA_CERTS=e,B(`CA certs: Applied NODE_EXTRA_CA_CERTS from config to process.env: ${e}`))}function qo(){try{let e=K()?.env,t=si(`userSettings`)?.env;B(`CA certs: Config fallback - globalEnv keys: ${e?Object.keys(e).join(`,`):`none`}, settingsEnv keys: ${t?Object.keys(t).join(`,`):`none`}`);let n=t?.NODE_EXTRA_CA_CERTS||e?.NODE_EXTRA_CA_CERTS;return n&&B(`CA certs: Found NODE_EXTRA_CA_CERTS in config/settings: ${n}`),n}catch(e){B(`CA certs: Config fallback failed: ${e}`,{level:`error`});return}}G(),Rr(),Ja(),te(),l(),to(),ma(),fa(),Da(),Ta();var Jo=!1,Yo=i(async()=>{let e=Date.now();V(`info`,`init_started`),X(`init_function_start`);try{let t=Date.now();bi(),Dn({loadTheme:()=>K().theme,saveTheme:e=>W(t=>({...t,theme:e}))}),V(`info`,`init_configs_enabled`,{duration_ms:Date.now()-t}),X(`init_configs_enabled`);let n=Date.now();eo();try{let{restoreActiveProvider:e}=await import(`./switcher-BpgmH4AI.js`),t=await e();if(t?.warnings.length)for(let e of t.warnings)B(`[init] ${e}`)}catch(e){B(`[init] restoreActiveProvider failed: ${e instanceof Error?e.message:String(e)}`,{level:`warn`})}Ko(),V(`info`,`init_safe_env_vars_applied`,{duration_ms:Date.now()-n}),X(`init_safe_env_vars_applied`),bn(),X(`init_after_graceful_shutdown`),import(`./firstPartyEventLogger-BVAogAX8.js`).then(e=>{e.initialize1PEventLogging()}),X(`init_after_1p_event_logging`),import(`./poller-CpLBoB-N.js`).then(e=>e.startBalancePolling()),X(`init_after_balance_polling`),ee(),X(`init_after_jetbrains_detection`),qa(),ao(),X(`init_after_remote_settings_check`),gi();let r=Date.now();B(`[init] configureGlobalMTLS starting`),pa(),V(`info`,`init_mtls_configured`,{duration_ms:Date.now()-r}),B(`[init] configureGlobalMTLS complete`);let i=Date.now();if(B(`[init] configureGlobalAgents starting`),ha(),V(`info`,`init_proxy_configured`,{duration_ms:Date.now()-i}),B(`[init] configureGlobalAgents complete`),X(`init_network_configured`),await wa(),Go(),Yr(),Fr(Qt),Me()){let e=Date.now();await Pe(),V(`info`,`init_scratchpad_created`,{duration_ms:Date.now()-e})}try{let{getRipgrepStatus:e}=await import(`./ripgrep-DLs8MraF.js`),t=e();t.note&&process.stderr.write(`[ripgrep] ${t.note}\n`)}catch{B(`[init] ripgrep status check skipped`)}V(`info`,`init_completed`,{duration_ms:Date.now()-e}),X(`init_function_end`)}catch(e){if(e instanceof jr){if(tr()){process.stderr.write(`Configuration error in ${e.filePath}: ${e.message}\n`),Ct(1);return}return import(`./InvalidConfigDialog-DXL92MN9.js`).then(t=>t.showInvalidConfigDialog({error:e}))}else throw e}});function Xo(){Zo().catch(e=>{B(`[3P telemetry] Telemetry init failed: ${kr(e)}`,{level:`error`})})}async function Zo(){if(!Jo){if(!c(process.env.CLAUDE_CODE_ENABLE_TELEMETRY)){Jo=!0,B(`[3P telemetry] Skipped — CLAUDE_CODE_ENABLE_TELEMETRY not set`);return}Jo=!0;try{await Qo()}catch(e){throw Jo=!1,e}}}async function Qo(){let{initializeTelemetry:e}=await import(`./instrumentation-BjqUZ383.js`),t=await e();t&&(lr(t,(e,n)=>{let r=t?.createCounter(e,n);return{add(e,t={}){let n={...Ea(),...t};r?.add(e,n)}}}),yr()?.add(1))}ba(),Aa();async function $o(e,t,n,r){let{App:i}=await import(`./App-B-3tPQ3k.js`),{REPL:a}=await import(`./REPL-CrVuMQY2.js`);await r(e,(0,Q.jsx)(i,{...t,children:(0,Q.jsx)(a,{...n})}))}Xn(),Mi(),Ni(),Wi(),Hi(),Ki(),ea(),Vi(),qi(),g(),m(),gt(),sa(),ka(),de(),Rr(),l();var es=new Map;function ts(){let e=process.argv[1]||``,t=process.execPath||process.argv[0]||``;Fi()===`windows`&&(e=e.split(go.sep).join(mo.sep),t=t.split(go.sep).join(mo.sep));let n=[e,t],r=[`/build-ant/`,`/build-external/`,`/build-external-native/`,`/build-ant-native/`];return n.some(e=>r.some(t=>e.includes(t)))}var ns=[/MaxListenersExceededWarning.*AbortSignal/,/MaxListenersExceededWarning.*EventTarget/];function rs(e){let t=`${e.name}: ${e.message}`;return ns.some(e=>e.test(t))}var is=null;function as(){let e=process.listeners(`warning`);is&&e.includes(is)||(ts()||process.removeAllListeners(`warning`),is=e=>{try{let t=`${e.name}: ${e.message.slice(0,50)}`,n=es.get(t)||0;(es.has(t)||es.size<1e3)&&es.set(t,n+1);let r=rs(e);Y(`tengu_node_warning`,{is_internal:+!!r,occurrence_count:n+1,classname:e.name}),c(process.env.CLAUDE_DEBUG)&&B(`${r?`[Internal Warning]`:`[Warning]`} ${e.toString()}`,{level:`warn`})}catch{}},process.on(`warning`,is))}Sa(),Ma(),Za(),Ln();function os(){return(0,Q.jsxs)(jn,{children:[`MCP servers may execute code or access system resources. All tool calls require approval. Learn more in the`,` `,(0,Q.jsx)(An,{url:`https://code.workmate.com/docs/en/mcp`,children:`MCP documentation`}),`.`]})}J(),U(),Ln();function ss({serverName:e,onDone:t}){function n(n){switch(Y(`tengu_mcp_dialog_choice`,{choice:n}),n){case`yes`:case`yes_all`:{let r=($r()||{}).enabledMcpjsonServers||[];r.includes(e)||H(`localSettings`,{enabledMcpjsonServers:[...r,e]}),n===`yes_all`&&H(`localSettings`,{enableAllProjectMcpServers:!0}),t();break}case`no`:{let n=($r()||{}).disabledMcpjsonServers||[];n.includes(e)||H(`localSettings`,{disabledMcpjsonServers:[...n,e]}),t();break}}}return(0,Q.jsxs)(zn,{title:`New MCP server found in .mcp.json: ${e}`,color:`warning`,onCancel:()=>n(`no`),children:[(0,Q.jsx)(os,{}),(0,Q.jsx)(Va,{options:[{label:`Use this and all future MCP servers in this project`,value:`yes_all`},{label:`Use this MCP server`,value:`yes`},{label:`Continue without using this MCP server`,value:`no`}],onChange:e=>n(e),onCancel:()=>n(`no`)})]})}_a(),J(),Ln(),U(),Ft();function cs({serverNames:e,onDone:t}){function n(n){let r=$r()||{},i=r.enabledMcpjsonServers||[],a=r.disabledMcpjsonServers||[],[o,s]=ga(e,e=>n.includes(e));Y(`tengu_mcp_multidialog_choice`,{approved:o.length,rejected:s.length}),o.length>0&&H(`localSettings`,{enabledMcpjsonServers:[...new Set([...i,...o])]}),s.length>0&&H(`localSettings`,{disabledMcpjsonServers:[...new Set([...a,...s])]}),t()}let r=(0,Uo.useCallback)(()=>{let n=($r()||{}).disabledMcpjsonServers||[];H(`localSettings`,{disabledMcpjsonServers:[...new Set([...n,...e])]}),t()},[e,t]);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(zn,{title:`${e.length} new MCP servers found in .mcp.json`,subtitle:`Select any you wish to enable.`,color:`warning`,onCancel:r,hideInputGuide:!0,children:[(0,Q.jsx)(os,{}),(0,Q.jsx)(Na,{options:e.map(e=>({label:e,value:e})),defaultValue:e,onSubmit:n,onCancel:r,hideIndexes:!0})]}),(0,Q.jsx)(kn,{paddingX:1,children:(0,Q.jsx)(jn,{dimColor:!0,italic:!0,children:(0,Q.jsxs)(Nn,{children:[(0,Q.jsx)(On,{shortcut:`Space`,action:`select`}),(0,Q.jsx)(On,{shortcut:`Enter`,action:`confirm`}),(0,Q.jsx)(Kt,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`reject all`})]})})})]})}ve(),y(),j();async function ls(e){let{servers:t}=Ke(`project`),n=Object.keys(t).filter(e=>It(e)===`pending`);n.length!==0&&await new Promise(t=>{let r=()=>void t();if(n.length===1&&n[0]!==void 0){let t=n[0];e.render((0,Q.jsx)(Fe,{children:(0,Q.jsx)(Pa,{children:(0,Q.jsx)(ss,{serverName:t,onDone:r})})}))}else e.render((0,Q.jsx)(Fe,{children:(0,Q.jsx)(Pa,{children:(0,Q.jsx)(cs,{serverNames:n,onDone:r})})}))})}ti(),Qr(),_(),wn(),Je(),on(),Ye(),Ee(),jt(),v(),ye(),qt(),me(),lt(),G(),Rr();var us={iterm:`iTerm`,"iterm.app":`iTerm`,ghostty:`Ghostty`,kitty:`kitty`,alacritty:`Alacritty`,wezterm:`WezTerm`,apple_terminal:`Terminal`};function ds(){if(process.platform!==`darwin`)return;let e=process.env.TERM_PROGRAM;if(!e)return;let t=us[e.toLowerCase()];t&&K().deepLinkTerminal!==t&&(W(e=>({...e,deepLinkTerminal:t})),B(`Stored deep link terminal preference: ${t}`))}var fs=class{constructor(){p(this,`frameDurations`,[]),p(this,`firstRenderTime`,void 0),p(this,`lastRenderTime`,void 0)}record(e){let t=performance.now();this.firstRenderTime===void 0&&(this.firstRenderTime=t),this.lastRenderTime=t,this.frameDurations.push(e)}getMetrics(){if(this.frameDurations.length===0||this.firstRenderTime===void 0||this.lastRenderTime===void 0)return;let e=this.lastRenderTime-this.firstRenderTime;if(e<=0)return;let t=this.frameDurations.length/(e/1e3),n=this.frameDurations.slice().sort((e,t)=>t-e),r=n[Math.max(0,Math.ceil(n.length*.01)-1)],i=r>0?1e3/r:0;return{averageFps:Math.round(t*100)/100,low1PctFps:Math.round(i*100)/100}}};J(),rt(),rr(),Ln(),ve(),G(),l(),to(),Ya(),U();function ps(){W(e=>({...e,hasCompletedOnboarding:!0,lastOnboardingVersion:`0.0.23`}))}function ms(e,t){return new Promise(n=>{e.render(t(e=>void n(e)))})}async function hs(e,t,n){return gs(e,t,{color:`error`,beforeExit:n})}async function gs(e,t,n){let{Text:r}=await import(`./src-9vmGsuSI.js`),i=n?.color,a=n?.exitCode??1;e.render(i?(0,Q.jsx)(r,{color:i,children:t}):(0,Q.jsx)(r,{children:t})),e.unmount(),await n?.beforeExit?.(),process.exit(a)}function $(e,t,n){return ms(e,e=>(0,Q.jsx)(Mn,{initialState:K().theme,onThemeSave:e=>W(t=>({...t,theme:e})),children:(0,Q.jsx)(Fe,{onChangeAppState:n?.onChangeAppState,children:(0,Q.jsx)(Pa,{children:t(e)})})}))}async function _s(e,t){e.render(t),bc(),await e.waitUntilExit(),await N(0)}async function vs(e,t,n,r){if(c(!1)||process.env.IS_DEMO)return!1;let i=K(),a=!1;if(!i.theme||!i.hasCompletedOnboarding){a=!0;let{Onboarding:t}=await import(`./Onboarding-C1UdzM-1.js`);await $(e,e=>(0,Q.jsx)(t,{onDone:()=>{ps(),e()}}),{onChangeAppState:$a})}if(xa().length===0){let{ProviderSetup:t}=await import(`./ProviderSetup-XcBHjUnd.js`);await $(e,e=>(0,Q.jsx)(t,{onDone:e}),{onChangeAppState:$a})}if(!c(process.env.CLAUBBIT)){if(!vi()){let{TrustDialog:t}=await import(`./TrustDialog-C76YiMKz.js`);await $(e,e=>(0,Q.jsx)(t,{commands:r,onDone:e}))}cr(!0),Ot();let{errors:t}=Xa();if(t.length===0&&await ls(e),await pn()){let t=Tt(await nt(!0)),{AgentsMdExternalIncludesDialog:n}=await import(`./AgentsMdExternalIncludesDialog-CDNd5-7E.js`);await $(e,e=>(0,Q.jsx)(n,{onDone:e,isStandaloneDialog:!0,externalIncludes:t}))}}if(fo(),ds(),no(),setImmediate(()=>Xo()),await Ha()){let{GroveDialog:t}=await import(`./Grove-CHatOzcE.js`);if(await $(e,e=>(0,Q.jsx)(t,{showIfAlreadyViewed:!1,location:a?`onboarding`:`policy_update_modal`,onDone:e}))===`escape`)return Y(`tengu_grove_policy_exited`,{}),Ct(0),!1}if((t===`bypassPermissions`||n)&&!ii()){let{BypassPermissionsModeDialog:t}=await import(`./BypassPermissionsModeDialog-bJek4siJ.js`);await $(e,e=>(0,Q.jsx)(t,{onAccept:e}))}return a}function ys(e){let t=0,n=ro(e);n.stdin&&Y(`tengu_stdin_interactive`,{});let r=new fs,i=Qa();Cr(i);let a=process.env.CLAUDE_CODE_FRAME_TIMING_LOG;return{getFpsMetrics:()=>r.getMetrics(),stats:i,renderOptions:{...n,onFrame:e=>{if(r.record(e.durationMs),i.observe(`frame_duration_ms`,e.durationMs),a&&e.phases){let t=`${JSON.stringify({total:e.durationMs,...e.phases,rss:process.memoryUsage.rss(),cpu:process.cpuUsage()})}\n`;_o(a,t)}if(!In())for(let n of e.flickers){if(n.reason===`resize`)continue;let e=Date.now();e-t<1e3&&Y(`tengu_flicker`,{desiredHeight:n.desiredHeight,actualHeight:n.availableHeight,reason:n.reason}),t=e}}}}}async function bs(e,t){let{InvalidSettingsDialog:n}=await import(`./InvalidSettingsDialog-Dtmpzeps.js`);return $(e,e=>(0,Q.jsx)(n,{settingsErrors:t.settingsErrors,onContinue:e,onExit:t.onExit}))}async function xs(e,t,n,r){let[i,{ResumeConversation:a},{App:o}]=await Promise.all([n,import(`./ResumeConversation-Dl8H9Gfy.js`),import(`./App-B-3tPQ3k.js`)]);await _s(e,(0,Q.jsx)(o,{getFpsMetrics:t.getFpsMetrics,stats:t.stats,initialState:t.initialState,children:(0,Q.jsx)(Pa,{children:(0,Q.jsx)(a,{...r,worktreePaths:i})})}))}re(),aa(),ra(),da();var Ss=5,Cs=30,ws="After you finish implementing the change:\n1. **Run unit tests** — Run the project's test suite (check for package.json scripts, Makefile targets, or common commands like `npm test`, `bun test`, `pytest`, `go test`). If tests fail, fix them.\n2. **Test end-to-end** — Follow the e2e test recipe from the coordinator's prompt (below). If the recipe says to skip e2e for this unit, skip it.\n3. **Commit and push** — Commit all changes with a clear message, push the branch, and create a PR with `gh pr create`. Use a descriptive title. If `gh` is not available or the push fails, note it in your final message.\n4. **Report** — End with a single line: `PR: <url>` so the coordinator can track it. If no PR was created, end with `PR: none — <reason>`.";function Ts(e){return`# Batch: Parallel Work Orchestration
|
|
19
|
+
Expecting one of '${n.join(`', '`)}'`);let r=`${e}Help`;return this.on(r,e=>{let n;n=typeof t==`function`?t({error:e.error,command:e.command}):t,n&&e.write(`${n}\n`)}),this}_outputHelpIfRequested(e){let t=this._getHelpOption();t&&e.find(e=>t.is(e))&&(this.outputHelp(),this._exit(0,`commander.helpDisplayed`,`(outputHelp)`))}};function te(e){return e.map(e=>{if(!e.startsWith(`--inspect`))return e;let t,n=`127.0.0.1`,r=`9229`,i;return(i=e.match(/^(--inspect(-brk)?)$/))===null?(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))===null?(i=e.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(t=i[1],n=i[3],r=i[4]):(t=i[1],/^\d+$/.test(i[3])?r=i[3]:n=i[3]):t=i[1],t&&r!==`0`?`${t}=${n}:${parseInt(r)+1}`:e})}function ne(){if(o.env.NO_COLOR||o.env.FORCE_COLOR===`0`||o.env.FORCE_COLOR===`false`)return!1;if(o.env.FORCE_COLOR||o.env.CLICOLOR_FORCE!==void 0)return!0}e.Command=ee,e.useColor=ne})),jo=r((e=>{var{Argument:t}=Eo(),{Command:n}=Ao(),{CommanderError:r,InvalidArgumentError:i}=To(),{Help:a}=Do(),{Option:o}=Oo();e.program=new n,e.createCommand=e=>new n(e),e.createOption=(e,t)=>new o(e,t),e.createArgument=(e,n)=>new t(e,n),e.Command=n,e.Option=o,e.Argument=t,e.Help=a,e.CommanderError=r,e.InvalidArgumentError=i,e.InvalidOptionArgumentError=i})),Mo=r(((e,t)=>{var n=jo();e=t.exports={},e.program=new n.Command,e.Argument=n.Argument,e.Command=n.Command,e.CommanderError=n.CommanderError,e.Help=n.Help,e.InvalidArgumentError=n.InvalidArgumentError,e.InvalidOptionArgumentError=n.InvalidArgumentError,e.Option=n.Option,e.createCommand=e=>new n.Command(e),e.createOption=(e,t)=>new n.Option(e,t),e.createArgument=(e,t)=>new n.Argument(e,t)}));Zr();var{program:No,createCommand:Po,createArgument:Fo,createOption:Io,CommanderError:Lo,InvalidArgumentError:Ro,InvalidOptionArgumentError:zo,Command:Bo,Argument:Vo,Option:Z,Help:Ho}=n(Mo(),1).default;Fn();var Uo=n(Pn(),1),Q=Bn();Ln(),Qn(),wr(),Xr(),Ti(),Oi(),ki(),Kr(),Ii(),Hr(),Yn(),ri(),li(),U(),pi(),G(),Oe(),T(),yn(),C(),yt(),_e(),$e(),O(),Tn(),w(),mn(),rt(),it(),x(),l(),Ei();var Wo=!1;function Go(){if(Wo||(Wo=!0,Di())||c(process.env.CLAUDE_CODE_USE_BEDROCK)||c(process.env.CLAUDE_CODE_USE_VERTEX)||c(process.env.CLAUDE_CODE_USE_FOUNDRY)||process.env.HTTPS_PROXY||process.env.https_proxy||process.env.HTTP_PROXY||process.env.http_proxy||process.env.ANTHROPIC_UNIX_SOCKET||process.env.CLAUDE_CODE_CLIENT_CERT||process.env.CLAUDE_CODE_CLIENT_KEY)return;let e=process.env.ANTHROPIC_BASE_URL||Gr().BASE_API_URL;fetch(e,{method:`HEAD`,signal:AbortSignal.timeout(1e4)}).catch(()=>{})}function Ko(){if(process.env.NODE_EXTRA_CA_CERTS)return;let e=qo();e&&(process.env.NODE_EXTRA_CA_CERTS=e,B(`CA certs: Applied NODE_EXTRA_CA_CERTS from config to process.env: ${e}`))}function qo(){try{let e=K()?.env,t=si(`userSettings`)?.env;B(`CA certs: Config fallback - globalEnv keys: ${e?Object.keys(e).join(`,`):`none`}, settingsEnv keys: ${t?Object.keys(t).join(`,`):`none`}`);let n=t?.NODE_EXTRA_CA_CERTS||e?.NODE_EXTRA_CA_CERTS;return n&&B(`CA certs: Found NODE_EXTRA_CA_CERTS in config/settings: ${n}`),n}catch(e){B(`CA certs: Config fallback failed: ${e}`,{level:`error`});return}}G(),Rr(),Ja(),te(),l(),to(),ma(),fa(),Da(),Ta();var Jo=!1,Yo=i(async()=>{let e=Date.now();V(`info`,`init_started`),X(`init_function_start`);try{let t=Date.now();bi(),Dn({loadTheme:()=>K().theme,saveTheme:e=>W(t=>({...t,theme:e}))}),V(`info`,`init_configs_enabled`,{duration_ms:Date.now()-t}),X(`init_configs_enabled`);let n=Date.now();eo();try{let{restoreActiveProvider:e}=await import(`./switcher-CgZVah7U.js`),t=await e();if(t?.warnings.length)for(let e of t.warnings)B(`[init] ${e}`)}catch(e){B(`[init] restoreActiveProvider failed: ${e instanceof Error?e.message:String(e)}`,{level:`warn`})}Ko(),V(`info`,`init_safe_env_vars_applied`,{duration_ms:Date.now()-n}),X(`init_safe_env_vars_applied`),bn(),X(`init_after_graceful_shutdown`),import(`./firstPartyEventLogger-lFeqhtfh.js`).then(e=>{e.initialize1PEventLogging()}),X(`init_after_1p_event_logging`),import(`./poller-CpLBoB-N.js`).then(e=>e.startBalancePolling()),X(`init_after_balance_polling`),ee(),X(`init_after_jetbrains_detection`),qa(),ao(),X(`init_after_remote_settings_check`),gi();let r=Date.now();B(`[init] configureGlobalMTLS starting`),pa(),V(`info`,`init_mtls_configured`,{duration_ms:Date.now()-r}),B(`[init] configureGlobalMTLS complete`);let i=Date.now();if(B(`[init] configureGlobalAgents starting`),ha(),V(`info`,`init_proxy_configured`,{duration_ms:Date.now()-i}),B(`[init] configureGlobalAgents complete`),X(`init_network_configured`),await wa(),Go(),Yr(),Fr(Qt),Me()){let e=Date.now();await Pe(),V(`info`,`init_scratchpad_created`,{duration_ms:Date.now()-e})}try{let{getRipgrepStatus:e}=await import(`./ripgrep-DLs8MraF.js`),t=e();t.note&&process.stderr.write(`[ripgrep] ${t.note}\n`)}catch{B(`[init] ripgrep status check skipped`)}V(`info`,`init_completed`,{duration_ms:Date.now()-e}),X(`init_function_end`)}catch(e){if(e instanceof jr){if(tr()){process.stderr.write(`Configuration error in ${e.filePath}: ${e.message}\n`),Ct(1);return}return import(`./InvalidConfigDialog-0TMJItCC.js`).then(t=>t.showInvalidConfigDialog({error:e}))}else throw e}});function Xo(){Zo().catch(e=>{B(`[3P telemetry] Telemetry init failed: ${kr(e)}`,{level:`error`})})}async function Zo(){if(!Jo){if(!c(process.env.CLAUDE_CODE_ENABLE_TELEMETRY)){Jo=!0,B(`[3P telemetry] Skipped — CLAUDE_CODE_ENABLE_TELEMETRY not set`);return}Jo=!0;try{await Qo()}catch(e){throw Jo=!1,e}}}async function Qo(){let{initializeTelemetry:e}=await import(`./instrumentation-BFiGwntt.js`),t=await e();t&&(lr(t,(e,n)=>{let r=t?.createCounter(e,n);return{add(e,t={}){let n={...Ea(),...t};r?.add(e,n)}}}),yr()?.add(1))}ba(),Aa();async function $o(e,t,n,r){let{App:i}=await import(`./App-BOqh_1tN.js`),{REPL:a}=await import(`./REPL-CmZmypfF.js`);await r(e,(0,Q.jsx)(i,{...t,children:(0,Q.jsx)(a,{...n})}))}Xn(),Mi(),Ni(),Wi(),Hi(),Ki(),ea(),Vi(),qi(),g(),m(),gt(),sa(),ka(),de(),Rr(),l();var es=new Map;function ts(){let e=process.argv[1]||``,t=process.execPath||process.argv[0]||``;Fi()===`windows`&&(e=e.split(go.sep).join(mo.sep),t=t.split(go.sep).join(mo.sep));let n=[e,t],r=[`/build-ant/`,`/build-external/`,`/build-external-native/`,`/build-ant-native/`];return n.some(e=>r.some(t=>e.includes(t)))}var ns=[/MaxListenersExceededWarning.*AbortSignal/,/MaxListenersExceededWarning.*EventTarget/];function rs(e){let t=`${e.name}: ${e.message}`;return ns.some(e=>e.test(t))}var is=null;function as(){let e=process.listeners(`warning`);is&&e.includes(is)||(ts()||process.removeAllListeners(`warning`),is=e=>{try{let t=`${e.name}: ${e.message.slice(0,50)}`,n=es.get(t)||0;(es.has(t)||es.size<1e3)&&es.set(t,n+1);let r=rs(e);Y(`tengu_node_warning`,{is_internal:+!!r,occurrence_count:n+1,classname:e.name}),c(process.env.CLAUDE_DEBUG)&&B(`${r?`[Internal Warning]`:`[Warning]`} ${e.toString()}`,{level:`warn`})}catch{}},process.on(`warning`,is))}Sa(),Ma(),Za(),Ln();function os(){return(0,Q.jsxs)(jn,{children:[`MCP servers may execute code or access system resources. All tool calls require approval. Learn more in the`,` `,(0,Q.jsx)(An,{url:`https://code.workmate.com/docs/en/mcp`,children:`MCP documentation`}),`.`]})}J(),U(),Ln();function ss({serverName:e,onDone:t}){function n(n){switch(Y(`tengu_mcp_dialog_choice`,{choice:n}),n){case`yes`:case`yes_all`:{let r=($r()||{}).enabledMcpjsonServers||[];r.includes(e)||H(`localSettings`,{enabledMcpjsonServers:[...r,e]}),n===`yes_all`&&H(`localSettings`,{enableAllProjectMcpServers:!0}),t();break}case`no`:{let n=($r()||{}).disabledMcpjsonServers||[];n.includes(e)||H(`localSettings`,{disabledMcpjsonServers:[...n,e]}),t();break}}}return(0,Q.jsxs)(zn,{title:`New MCP server found in .mcp.json: ${e}`,color:`warning`,onCancel:()=>n(`no`),children:[(0,Q.jsx)(os,{}),(0,Q.jsx)(Va,{options:[{label:`Use this and all future MCP servers in this project`,value:`yes_all`},{label:`Use this MCP server`,value:`yes`},{label:`Continue without using this MCP server`,value:`no`}],onChange:e=>n(e),onCancel:()=>n(`no`)})]})}_a(),J(),Ln(),U(),Ft();function cs({serverNames:e,onDone:t}){function n(n){let r=$r()||{},i=r.enabledMcpjsonServers||[],a=r.disabledMcpjsonServers||[],[o,s]=ga(e,e=>n.includes(e));Y(`tengu_mcp_multidialog_choice`,{approved:o.length,rejected:s.length}),o.length>0&&H(`localSettings`,{enabledMcpjsonServers:[...new Set([...i,...o])]}),s.length>0&&H(`localSettings`,{disabledMcpjsonServers:[...new Set([...a,...s])]}),t()}let r=(0,Uo.useCallback)(()=>{let n=($r()||{}).disabledMcpjsonServers||[];H(`localSettings`,{disabledMcpjsonServers:[...new Set([...n,...e])]}),t()},[e,t]);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(zn,{title:`${e.length} new MCP servers found in .mcp.json`,subtitle:`Select any you wish to enable.`,color:`warning`,onCancel:r,hideInputGuide:!0,children:[(0,Q.jsx)(os,{}),(0,Q.jsx)(Na,{options:e.map(e=>({label:e,value:e})),defaultValue:e,onSubmit:n,onCancel:r,hideIndexes:!0})]}),(0,Q.jsx)(kn,{paddingX:1,children:(0,Q.jsx)(jn,{dimColor:!0,italic:!0,children:(0,Q.jsxs)(Nn,{children:[(0,Q.jsx)(On,{shortcut:`Space`,action:`select`}),(0,Q.jsx)(On,{shortcut:`Enter`,action:`confirm`}),(0,Q.jsx)(Kt,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`reject all`})]})})})]})}ve(),y(),j();async function ls(e){let{servers:t}=Ke(`project`),n=Object.keys(t).filter(e=>It(e)===`pending`);n.length!==0&&await new Promise(t=>{let r=()=>void t();if(n.length===1&&n[0]!==void 0){let t=n[0];e.render((0,Q.jsx)(Fe,{children:(0,Q.jsx)(Pa,{children:(0,Q.jsx)(ss,{serverName:t,onDone:r})})}))}else e.render((0,Q.jsx)(Fe,{children:(0,Q.jsx)(Pa,{children:(0,Q.jsx)(cs,{serverNames:n,onDone:r})})}))})}ti(),Qr(),_(),wn(),Je(),on(),Ye(),Ee(),jt(),v(),ye(),qt(),me(),lt(),G(),Rr();var us={iterm:`iTerm`,"iterm.app":`iTerm`,ghostty:`Ghostty`,kitty:`kitty`,alacritty:`Alacritty`,wezterm:`WezTerm`,apple_terminal:`Terminal`};function ds(){if(process.platform!==`darwin`)return;let e=process.env.TERM_PROGRAM;if(!e)return;let t=us[e.toLowerCase()];t&&K().deepLinkTerminal!==t&&(W(e=>({...e,deepLinkTerminal:t})),B(`Stored deep link terminal preference: ${t}`))}var fs=class{constructor(){p(this,`frameDurations`,[]),p(this,`firstRenderTime`,void 0),p(this,`lastRenderTime`,void 0)}record(e){let t=performance.now();this.firstRenderTime===void 0&&(this.firstRenderTime=t),this.lastRenderTime=t,this.frameDurations.push(e)}getMetrics(){if(this.frameDurations.length===0||this.firstRenderTime===void 0||this.lastRenderTime===void 0)return;let e=this.lastRenderTime-this.firstRenderTime;if(e<=0)return;let t=this.frameDurations.length/(e/1e3),n=this.frameDurations.slice().sort((e,t)=>t-e),r=n[Math.max(0,Math.ceil(n.length*.01)-1)],i=r>0?1e3/r:0;return{averageFps:Math.round(t*100)/100,low1PctFps:Math.round(i*100)/100}}};J(),rt(),rr(),Ln(),ve(),G(),l(),to(),Ya(),U();function ps(){W(e=>({...e,hasCompletedOnboarding:!0,lastOnboardingVersion:`0.0.24`}))}function ms(e,t){return new Promise(n=>{e.render(t(e=>void n(e)))})}async function hs(e,t,n){return gs(e,t,{color:`error`,beforeExit:n})}async function gs(e,t,n){let{Text:r}=await import(`./src-9vmGsuSI.js`),i=n?.color,a=n?.exitCode??1;e.render(i?(0,Q.jsx)(r,{color:i,children:t}):(0,Q.jsx)(r,{children:t})),e.unmount(),await n?.beforeExit?.(),process.exit(a)}function $(e,t,n){return ms(e,e=>(0,Q.jsx)(Mn,{initialState:K().theme,onThemeSave:e=>W(t=>({...t,theme:e})),children:(0,Q.jsx)(Fe,{onChangeAppState:n?.onChangeAppState,children:(0,Q.jsx)(Pa,{children:t(e)})})}))}async function _s(e,t){e.render(t),bc(),await e.waitUntilExit(),await N(0)}async function vs(e,t,n,r){if(c(!1)||process.env.IS_DEMO)return!1;let i=K(),a=!1;if(!i.theme||!i.hasCompletedOnboarding){a=!0;let{Onboarding:t}=await import(`./Onboarding-CQmE3rUf.js`);await $(e,e=>(0,Q.jsx)(t,{onDone:()=>{ps(),e()}}),{onChangeAppState:$a})}if(xa().length===0){let{ProviderSetup:t}=await import(`./ProviderSetup-BCSPsvfv.js`);await $(e,e=>(0,Q.jsx)(t,{onDone:e}),{onChangeAppState:$a})}if(!c(process.env.CLAUBBIT)){if(!vi()){let{TrustDialog:t}=await import(`./TrustDialog-BIhz6AZE.js`);await $(e,e=>(0,Q.jsx)(t,{commands:r,onDone:e}))}cr(!0),Ot();let{errors:t}=Xa();if(t.length===0&&await ls(e),await pn()){let t=Tt(await nt(!0)),{AgentsMdExternalIncludesDialog:n}=await import(`./AgentsMdExternalIncludesDialog-Cyia0s4g.js`);await $(e,e=>(0,Q.jsx)(n,{onDone:e,isStandaloneDialog:!0,externalIncludes:t}))}}if(fo(),ds(),no(),setImmediate(()=>Xo()),await Ha()){let{GroveDialog:t}=await import(`./Grove-CNqYPWI6.js`);if(await $(e,e=>(0,Q.jsx)(t,{showIfAlreadyViewed:!1,location:a?`onboarding`:`policy_update_modal`,onDone:e}))===`escape`)return Y(`tengu_grove_policy_exited`,{}),Ct(0),!1}if((t===`bypassPermissions`||n)&&!ii()){let{BypassPermissionsModeDialog:t}=await import(`./BypassPermissionsModeDialog-CwfCwUr9.js`);await $(e,e=>(0,Q.jsx)(t,{onAccept:e}))}return a}function ys(e){let t=0,n=ro(e);n.stdin&&Y(`tengu_stdin_interactive`,{});let r=new fs,i=Qa();Cr(i);let a=process.env.CLAUDE_CODE_FRAME_TIMING_LOG;return{getFpsMetrics:()=>r.getMetrics(),stats:i,renderOptions:{...n,onFrame:e=>{if(r.record(e.durationMs),i.observe(`frame_duration_ms`,e.durationMs),a&&e.phases){let t=`${JSON.stringify({total:e.durationMs,...e.phases,rss:process.memoryUsage.rss(),cpu:process.cpuUsage()})}\n`;_o(a,t)}if(!In())for(let n of e.flickers){if(n.reason===`resize`)continue;let e=Date.now();e-t<1e3&&Y(`tengu_flicker`,{desiredHeight:n.desiredHeight,actualHeight:n.availableHeight,reason:n.reason}),t=e}}}}}async function bs(e,t){let{InvalidSettingsDialog:n}=await import(`./InvalidSettingsDialog-iwh8H52b.js`);return $(e,e=>(0,Q.jsx)(n,{settingsErrors:t.settingsErrors,onContinue:e,onExit:t.onExit}))}async function xs(e,t,n,r){let[i,{ResumeConversation:a},{App:o}]=await Promise.all([n,import(`./ResumeConversation-DBqX7gva.js`),import(`./App-BOqh_1tN.js`)]);await _s(e,(0,Q.jsx)(o,{getFpsMetrics:t.getFpsMetrics,stats:t.stats,initialState:t.initialState,children:(0,Q.jsx)(Pa,{children:(0,Q.jsx)(a,{...r,worktreePaths:i})})}))}re(),aa(),ra(),da();var Ss=5,Cs=30,ws="After you finish implementing the change:\n1. **Run unit tests** — Run the project's test suite (check for package.json scripts, Makefile targets, or common commands like `npm test`, `bun test`, `pytest`, `go test`). If tests fail, fix them.\n2. **Test end-to-end** — Follow the e2e test recipe from the coordinator's prompt (below). If the recipe says to skip e2e for this unit, skip it.\n3. **Commit and push** — Commit all changes with a clear message, push the branch, and create a PR with `gh pr create`. Use a descriptive title. If `gh` is not available or the push fails, note it in your final message.\n4. **Report** — End with a single line: `PR: <url>` so the coordinator can track it. If no PR was created, end with `PR: none — <reason>`.";function Ts(e){return`# Batch: Parallel Work Orchestration
|
|
20
20
|
|
|
21
21
|
You are orchestrating a large, parallelizable change across this codebase.
|
|
22
22
|
|
|
@@ -327,7 +327,7 @@ Usage: claude mcp add <name> <command> [args...]`):Ia(`Error: Server name is req
|
|
|
327
327
|
Usage: claude mcp add <name> <command> [args...]`);try{let t=ct(r.scope),n=Ht(r.transport),o=r.transport!==void 0,c=i.startsWith(`http://`)||i.startsWith(`https://`)||i.startsWith(`localhost`)||i.endsWith(`/sse`)||i.endsWith(`/mcp`);if(Y(`tengu_mcp_add`,{type:n,scope:t,source:`command`,transport:n,transportExplicit:o,looksLikeUrl:c}),n===`sse`){i||Ia(`Error: URL is required for SSE transport.`);let n=r.header?ln(r.header):void 0;await Sn(e,{type:`sse`,url:i,headers:n},t),process.stdout.write(`Added SSE MCP server ${e} with URL: ${i} to ${t} config\n`),n&&process.stdout.write(`Headers: ${Dr(n,null,2)}\n`)}else if(n===`http`){i||Ia(`Error: URL is required for HTTP transport.`);let n=r.header?ln(r.header):void 0;await Sn(e,{type:`http`,url:i,headers:n},t),process.stdout.write(`Added HTTP MCP server ${e} with URL: ${i} to ${t} config\n`),n&&process.stdout.write(`Headers: ${Dr(n,null,2)}\n`)}else!o&&c&&(process.stderr.write(`\nWarning: The command "${i}" looks like a URL, but is being interpreted as a stdio server as --transport was not specified.\n`),process.stderr.write(`If this is an HTTP server, use: claude mcp add --transport http ${e} ${i}\n`),process.stderr.write(`If this is an SSE server, use: claude mcp add --transport sse ${e} ${i}\n`)),await Sn(e,{type:`stdio`,command:i,args:a,env:s(r.env)},t),process.stdout.write(`Added stdio MCP server ${e} with command: ${i} ${a.join(` `)} to ${t} config\n`);Fa(`File modified: ${I(t)}`)}catch(e){Ia(e.message)}})}Xe(),bt();function oc(e,t=process.argv){for(let n=0;n<t.length;n++){let r=t[n];if(r?.startsWith(`${e}=`))return r.slice(e.length+1);if(r===e&&n+1<t.length)return t[n+1]}}mt(),J(),G(),U();function sc(){if(K().bypassPermissionsModeAccepted)try{ii()||H(`userSettings`,{skipDangerousModePermissionPrompt:!0}),Y(`tengu_migrate_bypass_permissions_accepted`,{}),W(e=>{if(!(`bypassPermissionsModeAccepted`in e))return e;let{bypassPermissionsModeAccepted:t,...n}=e;return n})}catch(e){q(Error(`Failed to migrate bypass permissions accepted: ${e}`))}}J(),G(),Oi(),U();function cc(){let e=yi(),t=e.enableAllProjectMcpServers!==void 0,n=e.enabledMcpjsonServers&&e.enabledMcpjsonServers.length>0,r=e.disabledMcpjsonServers&&e.disabledMcpjsonServers.length>0;if(!(!t&&!n&&!r))try{let i=si(`localSettings`)||{},a={},o=[];if(t&&i.enableAllProjectMcpServers===void 0?(a.enableAllProjectMcpServers=e.enableAllProjectMcpServers,o.push(`enableAllProjectMcpServers`)):t&&o.push(`enableAllProjectMcpServers`),n&&e.enabledMcpjsonServers){let t=i.enabledMcpjsonServers||[];a.enabledMcpjsonServers=[...new Set([...t,...e.enabledMcpjsonServers])],o.push(`enabledMcpjsonServers`)}if(r&&e.disabledMcpjsonServers){let t=i.disabledMcpjsonServers||[];a.disabledMcpjsonServers=[...new Set([...t,...e.disabledMcpjsonServers])],o.push(`disabledMcpjsonServers`)}Object.keys(a).length>0&&H(`localSettings`,a),(o.includes(`enableAllProjectMcpServers`)||o.includes(`enabledMcpjsonServers`)||o.includes(`disabledMcpjsonServers`))&&hi(e=>{let{enableAllProjectMcpServers:t,enabledMcpjsonServers:n,disabledMcpjsonServers:r,...i}=e;return i}),Y(`tengu_migrate_mcp_approval_fields_success`,{migratedCount:o.length})}catch(e){q(e),Y(`tengu_migrate_mcp_approval_fields_error`,{})}}J(),G(),U();function lc(){if(Ui()!==`firstParty`||!Yi())return;let e=si(`userSettings`)?.model;e!==`claude-opus-4-20250514`&&e!==`claude-opus-4-1-20250805`&&e!==`claude-opus-4-0`&&e!==`claude-opus-4-1`||(H(`userSettings`,{model:`opus`}),W(e=>({...e,legacyOpusMigrationTimestamp:Date.now()})),Y(`tengu_legacy_opus_migration`,{from_model:e}))}J(),qi();function uc(){Qi()&&Y(`tengu_opus_to_opus1m_migration`,{skipped:!0})}rr(),G(),U();function dc(){K().sonnet1m45MigrationComplete||(si(`userSettings`)?.model===`sonnet[1m]`&&H(`userSettings`,{model:`sonnet-4-5-20250929[1m]`}),ur()===`sonnet[1m]`&&hr(`sonnet-4-5-20250929[1m]`),W(e=>({...e,sonnet1m45MigrationComplete:!0})))}G(),Oi(),U(),G();function fc(){K().opusProMigrationComplete||W(e=>({...e,opusProMigrationComplete:!0}))}Ri(),C(),G(),to(),Ii(),Vr(),J(),rr(),w(),Ln(),Ra(),l(),Kr(),Oi(),qi(),lt(),it(),U(),y(),Er(),Rr(),Or(),rt(),yt(),Xr(),vn(),Ta(),hn(),X(`main_tsx_entry`),Jr(),Co(),X(`main_tsx_imports_loaded`);function pc(){try{let e=si(`policySettings`);if(e){let t=oi(e);Y(`tengu_managed_settings_loaded`,{keyCount:t.length,keys:t.join(`,`)})}}catch{}}function mc(){let e=Gi(or()??$i());ic(Tr(),Zi(e,mr())),we().then(({enabled:e,errors:t})=>{let n=b();Vt(e,n,_n()),st(t,n)}).catch(e=>q(e))}function hc(){let e={};return process.env.NODE_EXTRA_CA_CERTS&&(e.has_node_extra_ca_certs=!0),process.env.CLAUDE_CODE_CLIENT_CERT&&(e.has_client_cert=!0),o(`--use-system-ca`)&&(e.has_use_system_ca=!0),o(`--use-openssl-ca`)&&(e.has_use_openssl_ca=!0),e}async function gc(){if(Ca())return;let[e,t,n]=await Promise.all([qr(),Wr(),rc()]);Y(`tengu_startup_telemetry`,{is_git:e,worktree_count:t,gh_auth_status:n,sandbox_enabled:A.isSandboxingEnabled(),are_unsandboxed_commands_allowed:A.areUnsandboxedCommandsAllowed(),is_auto_bash_allowed_if_sandbox_enabled:A.isAutoAllowBashIfSandboxedEnabled(),auto_updater_disabled:_i(),prefers_reduced_motion:ci().prefersReducedMotion??!1,...hc()})}var _c=11;function vc(){K().migrationVersion!==_c&&(sc(),cc(),fc(),dc(),lc(),uc(),W(e=>e.migrationVersion===_c?e:{...e,migrationVersion:_c}))}function yc(){if(tr()){V(`info`,`prefetch_system_context_non_interactive`),Ot();return}vi()?(V(`info`,`prefetch_system_context_has_trust`),Ot()):V(`info`,`prefetch_system_context_skipped_no_trust`)}function bc(){c(process.env.CLAUDE_CODE_EXIT_AFTER_FIRST_RENDER)||u()||(ke(),yc(),so(),ya(Tr(),AbortSignal.timeout(3e3),[]),zi(),dn.initialize(),u()||Wa.initialize())}function xc(e){try{let t=e.trim(),n=t.startsWith(`{`)&&t.endsWith(`}`),r;if(n)qn(t)||(process.stderr.write(z.red(`Error: Invalid JSON provided to --settings
|
|
328
328
|
`)),process.exit(1)),r=Ka(`claude-settings`,`.json`,{contentHash:t}),Pr(r,t,`utf8`);else{let{resolvedPath:t}=Lr(Br(),e);try{vo(t,`utf8`)}catch(e){throw Mr(e)&&(process.stderr.write(z.red(`Error: Settings file not found: ${t}\n`)),process.exit(1)),e}r=t}pr(r),br()}catch(e){e instanceof Error&&q(e),process.stderr.write(z.red(`Error processing settings: ${kr(e)}\n`)),process.exit(1)}}function Sc(e){try{fr(ei(e)),br()}catch(e){e instanceof Error&&q(e),process.stderr.write(z.red(`Error processing --setting-sources: ${kr(e)}\n`)),process.exit(1)}}function Cc(){X(`eagerLoadSettings_start`);let e=oc(`--settings`);e&&xc(e);let t=oc(`--setting-sources`);t!==void 0&&Sc(t),X(`eagerLoadSettings_end`)}function wc(e){if(process.env.CLAUDE_CODE_ENTRYPOINT)return;let t=process.argv.slice(2),n=t.indexOf(`mcp`);if(n!==-1&&t[n+1]===`serve`){process.env.CLAUDE_CODE_ENTRYPOINT=`mcp`;return}if(c(process.env.CLAUDE_CODE_ACTION)){process.env.CLAUDE_CODE_ENTRYPOINT=`claude-code-github-action`;return}process.env.CLAUDE_CODE_ENTRYPOINT=e?`sdk-cli`:`cli`}async function Tc(){X(`main_function_start`),process.env.NoDefaultCurrentDirectoryInExePath=`1`,as(),process.on(`exit`,()=>{Ac();try{let{peekWorkflowService:t}=(Cn(),e(ue));t()?.shutdown()}catch{}}),process.on(`SIGINT`,()=>{process.argv.includes(`-p`)||process.argv.includes(`--print`)||process.exit(0)}),X(`main_warning_handler_initialized`);{let e=process.argv.indexOf(`--handle-uri`);if(e!==-1&&process.argv[e+1]){let{enableConfigs:t}=await import(`./config-DD8fCYXn.js`);t();let n=process.argv[e+1],{handleDeepLinkUri:r}=await import(`./protocolHandler-DjQALaU2.js`),i=await r(n);process.exit(i)}if(process.platform===`darwin`&&process.env.__CFBundleIdentifier===`com.anthropic.claude-code-url-handler`){let{enableConfigs:e}=await import(`./config-DD8fCYXn.js`);e();let{handleUrlSchemeLaunch:t}=await import(`./protocolHandler-DjQALaU2.js`),n=await t();process.exit(n??1)}}let t=process.argv.slice(2),n=t.includes(`-p`)||t.includes(`--print`),r=t.includes(`--init-only`),i=t.some(e=>e.startsWith(`--sdk-url`)),a=c(process.env.CLAUDE_CODE_FORCE_INTERACTIVE),o=n||r||i||!a&&!process.stdout.isTTY;o&&lo(),gr(!o),wc(o);let s=c(process.env.GITHUB_ACTIONS)?`github-action`:process.env.CLAUDE_CODE_ENTRYPOINT===`sdk-ts`?`sdk-typescript`:process.env.CLAUDE_CODE_ENTRYPOINT===`sdk-py`?`sdk-python`:process.env.CLAUDE_CODE_ENTRYPOINT===`sdk-cli`?`sdk-cli`:process.env.CLAUDE_CODE_ENTRYPOINT===`claude-vscode`?`claude-vscode`:process.env.CLAUDE_CODE_ENTRYPOINT===`local-agent`?`local-agent`:process.env.CLAUDE_CODE_ENTRYPOINT===`claude-desktop`?`claude-desktop`:`cli`;$n(s);let l=process.env.CLAUDE_CODE_QUESTION_PREVIEW_FORMAT;l===`markdown`||l===`html`?sr(l):!s.startsWith(`sdk-`)&&s!==`claude-desktop`&&s!==`local-agent`&&sr(`markdown`),X(`main_client_type_determined`),Cc(),X(`main_before_run`),await Dc(),X(`main_after_run`)}async function Ec(e,t){if(!process.stdin.isTTY&&!process.argv.includes(`mcp`)){if(t===`stream-json`)return process.stdin;process.stdin.setEncoding(`utf8`);let n=``,r=e=>{n+=e};process.stdin.on(`data`,r);let i=await Ci(process.stdin,3e3);return process.stdin.off(`data`,r),i&&process.stderr.write(`Warning: no stdin data received in 3s, proceeding without it. If piping from a slow command, redirect stdin explicitly: < /dev/null to skip, or wait longer.
|
|
329
329
|
`),[e,n].filter(Boolean).join(`
|
|
330
|
-
`)}return e}async function Dc(){X(`run_function_start`);function e(){let e=e=>e.long?.replace(/^--/,``)??e.short?.replace(/^-/,``)??``;return Object.assign({sortSubcommands:!0,sortOptions:!0},{compareOptions:(t,n)=>e(t).localeCompare(e(n))})}let t=new Bo().configureHelp(e()).enablePositionalOptions();X(`run_commander_initialized`),t.hook(`preAction`,async e=>{X(`preAction_start`),await Promise.all([ui(),wo()]),X(`preAction_after_mdm`),await Yo(),X(`preAction_after_init`),c(process.env.CLAUDE_CODE_DISABLE_TERMINAL_TITLE)||(process.title=`workMate`);let{initSinks:t}=await import(`./sinks-CGdKmq_8.js`);t(),X(`preAction_after_sinks`);let n=e.getOptionValue(`pluginDir`);Array.isArray(n)&&n.length>0&&n.every(e=>typeof e==`string`)&&(xr(n),Dt(`preAction: --plugin-dir inline plugins`)),vc(),X(`preAction_after_migrations`),co(),X(`preAction_after_policy_limits`)}),t.name(`wm`).description(`Work Mate - starts an interactive session by default, use -p/--print for non-interactive output`).argument(`[prompt]`,`Your prompt`,String).helpOption(`-h, --help`,`Display help for command`).option(`-d, --debug [filter]`,`Enable debug mode with optional category filtering (e.g., "api,hooks" or "!1p,!file")`,e=>!0).addOption(new Z(`--debug-to-stderr`,`Enable debug mode (to stderr)`).argParser(Boolean).hideHelp()).option(`--debug-file <path>`,`Write debug logs to a specific file path (implicitly enables debug mode)`,()=>!0).option(`--verbose`,`Override verbose mode setting from config`,()=>!0).option(`-p, --print`,`Print response and exit (useful for pipes). Note: The workspace trust dialog is skipped when Work Mate is run with the -p mode. Only use this flag in directories you trust.`,()=>!0).option(`--bare`,`Minimal mode: skip hooks, LSP, plugin sync, attribution, auto-memory, background prefetches, keychain reads, and AGENTS.md auto-discovery. Sets CLAUDE_CODE_SIMPLE=1. Skills still resolve via /skill-name. Explicitly provide context via: --system-prompt[-file], --append-system-prompt[-file], --add-dir (AGENTS.md dirs), --mcp-config, --settings, --agents, --plugin-dir.`,()=>!0).addOption(new Z(`--init`,`Run Setup hooks with init trigger, then continue`).hideHelp()).addOption(new Z(`--init-only`,`Run Setup and SessionStart:startup hooks, then exit`).hideHelp()).addOption(new Z(`--maintenance`,`Run Setup hooks with maintenance trigger, then continue`).hideHelp()).addOption(new Z(`--output-format <format>`,`Output format (only works with --print): "text" (default), "json" (single result), or "stream-json" (realtime streaming)`).choices([`text`,`json`,`stream-json`])).addOption(new Z(`--json-schema <schema>`,`JSON Schema for structured output validation. Example: {"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}`).argParser(String)).option(`--include-hook-events`,`Include all hook lifecycle events in the output stream (only works with --output-format=stream-json)`,()=>!0).option(`--include-partial-messages`,`Include partial message chunks as they arrive (only works with --print and --output-format=stream-json)`,()=>!0).addOption(new Z(`--input-format <format>`,`Input format (only works with --print): "text" (default), or "stream-json" (realtime streaming input)`).choices([`text`,`stream-json`])).option(`--mcp-debug`,`[DEPRECATED. Use --debug instead] Enable MCP debug mode (shows MCP server errors)`,()=>!0).option(`--dangerously-skip-permissions`,`Bypass all permission checks. Recommended only for sandboxes with no internet access.`,()=>!0).option(`--allow-dangerously-skip-permissions`,`Enable bypassing all permission checks as an option, without it being enabled by default. Recommended only for sandboxes with no internet access.`,()=>!0).addOption(new Z(`--thinking <mode>`,`Thinking mode: enabled (equivalent to adaptive), disabled`).choices([`enabled`,`adaptive`,`disabled`]).hideHelp()).addOption(new Z(`--max-thinking-tokens <tokens>`,`[DEPRECATED. Use --thinking instead for newer models] Maximum number of thinking tokens (only works with --print)`).argParser(Number).hideHelp()).addOption(new Z(`--max-turns <turns>`,`Maximum number of agentic turns in non-interactive mode. This will early exit the conversation after the specified number of turns. (only works with --print)`).argParser(Number).hideHelp()).addOption(new Z(`--max-budget-usd <amount>`,`Maximum dollar amount to spend on API calls (only works with --print)`).argParser(e=>{let t=Number(e);if(isNaN(t)||t<=0)throw Error(`--max-budget-usd must be a positive number greater than 0`);return t})).addOption(new Z(`--task-budget <tokens>`,`API-side task budget in tokens (output_config.task_budget)`).argParser(e=>{let t=Number(e);if(isNaN(t)||t<=0||!Number.isInteger(t))throw Error(`--task-budget must be a positive integer`);return t}).hideHelp()).option(`--replay-user-messages`,`Re-emit user messages from stdin back on stdout for acknowledgment (only works with --input-format=stream-json and --output-format=stream-json)`,()=>!0).option(`--allowedTools, --allowed-tools <tools...>`,`Comma or space-separated list of tool names to allow (e.g. "Bash(git:*) Edit")`).option(`--tools <tools...>`,`Specify the list of available tools from the built-in set. Use "" to disable all tools, "default" to use all tools, or specify tool names (e.g. "Bash,Edit,Read").`).option(`--disallowedTools, --disallowed-tools <tools...>`,`Comma or space-separated list of tool names to deny (e.g. "Bash(git:*) Edit")`).option(`--mcp-config <configs...>`,`Load MCP servers from JSON files or strings (space-separated)`).addOption(new Z(`--permission-prompt-tool <tool>`,`MCP tool to use for permission prompts (only works with --print)`).argParser(String).hideHelp()).addOption(new Z(`--system-prompt <prompt>`,`System prompt to use for the session`).argParser(String)).addOption(new Z(`--system-prompt-file <file>`,`Read system prompt from a file`).argParser(String).hideHelp()).addOption(new Z(`--append-system-prompt <prompt>`,`Append a system prompt to the default system prompt`).argParser(String)).addOption(new Z(`--append-system-prompt-file <file>`,`Read system prompt from a file and append to the default system prompt`).argParser(String).hideHelp()).addOption(new Z(`--permission-mode <mode>`,`Permission mode to use for the session`).argParser(String).choices(di)).option(`-c, --continue`,`Continue the most recent conversation in the current directory`,()=>!0).option(`-r, --resume [value]`,`Resume a conversation by session ID, or open interactive picker with optional search term`,e=>e||!0).option(`--fork-session`,`When resuming, create a new session ID instead of reusing the original (use with --resume or --continue)`,()=>!0).addOption(new Z(`--prefill <text>`,`Pre-fill the prompt input with text without submitting it`).hideHelp()).addOption(new Z(`--deep-link-origin`,`Signal that this session was launched from a deep link`).hideHelp()).addOption(new Z(`--deep-link-repo <slug>`,`Repo slug the deep link ?repo= parameter resolved to the current cwd`).hideHelp()).addOption(new Z(`--deep-link-last-fetch <ms>`,`FETCH_HEAD mtime in epoch ms, precomputed by the deep link trampoline`).argParser(e=>{let t=Number(e);return Number.isFinite(t)?t:void 0}).hideHelp()).option(`--from-pr [value]`,`Resume a session linked to a PR by PR number/URL, or open interactive picker with optional search term`,e=>e||!0).option(`--no-session-persistence`,`Disable session persistence - sessions will not be saved to disk and cannot be resumed (only works with --print)`).addOption(new Z(`--resume-session-at <message id>`,`When resuming, only messages up to and including the assistant message with <message.id> (use with --resume in print mode)`).argParser(String).hideHelp()).addOption(new Z(`--rewind-files <user-message-id>`,`Restore files to state at the specified user message and exit (requires --resume)`).hideHelp()).option(`--model <model>`,`Model for the current session. Provide an alias for the latest model (e.g. 'sonnet' or 'opus') or a model's full name (e.g. 'claude-sonnet-4-6').`).option(`--agent <agent>`,`Agent for the current session. Overrides the 'agent' setting.`).option(`--betas <betas...>`,`Beta headers to include in API requests (API key users only)`).option(`--fallback-model <model>`,`Enable automatic fallback to specified model when default model is overloaded (only works with --print)`).addOption(new Z(`--workload <tag>`,`Workload tag for billing-header attribution (cc_workload). Process-scoped; set by SDK daemon callers that spawn subprocesses for cron work. (only works with --print)`).hideHelp()).option(`--settings <file-or-json>`,`Path to a settings JSON file or a JSON string to load additional settings from`).option(`--add-dir <directories...>`,`Additional directories to allow tool access to`).option(`--ide`,`Automatically connect to IDE on startup if exactly one valid IDE is available`,()=>!0).option(`--strict-mcp-config`,`Only use MCP servers from --mcp-config, ignoring all other MCP configurations`,()=>!0).option(`--session-id <uuid>`,`Use a specific session ID for the conversation (must be a valid UUID)`).option(`-n, --name <name>`,`Set a display name for this session (shown in /resume and terminal title)`).option(`--agents <json>`,`JSON object defining custom agents (e.g. '{"reviewer": {"description": "Reviews code", "prompt": "You are a code reviewer"}}')`).option(`--setting-sources <sources>`,`Comma-separated list of setting sources to load (user, project, local).`).option(`--plugin-dir <path>`,`Load plugins from a directory for this session only (repeatable: --plugin-dir A --plugin-dir B)`,(e,t)=>[...t,e],[]).option(`--disable-slash-commands`,`Disable all skills`,()=>!0).option(`--file <specs...>`,`File resources to download at startup. Format: file_id:relative_path (e.g., --file file_abc:doc.txt file_def:img.png)`).action(async(e,t)=>{X(`action_handler_start`),t.bare&&(process.env.CLAUDE_CODE_SIMPLE=`1`),e===`code`&&(Y(`tengu_code_prompt_ignored`,{}),console.warn(z.yellow("Tip: You can launch Work Mate with just `claude`")),e=void 0),e&&typeof e==`string`&&!/\s/.test(e)&&e.length>0&&Y(`tengu_single_word_prompt`,{length:e.length});let{debug:n=!1,debugToStderr:r=!1,dangerouslySkipPermissions:i,allowDangerouslySkipPermissions:a=!1,tools:o=[],allowedTools:s=[],disallowedTools:l=[],mcpConfig:d=[],permissionMode:f,addDir:p=[],fallbackModel:m,betas:ee=[],ide:te=!1,sessionId:re,includeHookEvents:se,includePartialMessages:ue}=t;t.prefill&&uo(t.prefill);let h=t.agents,g=t.agent;g&&(process.env.CLAUDE_CODE_AGENT=g);let _=t.outputFormat,v=t.inputFormat,y=t.verbose??K().verbose,de=t.print,me=t.init??!1,he=t.initOnly??!1,_e=t.maintenance??!1,ve=t.disableSlashCommands||!1,ye=Oa()?t.worktree:void 0,Se=typeof ye==`string`?ye:void 0,b=ye!==void 0,Ce;if(Se){let e=Ge(Se);e!==null&&(Ce=e,Se=void 0)}let we=Oa()&&t.tmux===!0;we&&(b||(process.stderr.write(z.red(`Error: --tmux requires --worktree
|
|
330
|
+
`)}return e}async function Dc(){X(`run_function_start`);function e(){let e=e=>e.long?.replace(/^--/,``)??e.short?.replace(/^-/,``)??``;return Object.assign({sortSubcommands:!0,sortOptions:!0},{compareOptions:(t,n)=>e(t).localeCompare(e(n))})}let t=new Bo().configureHelp(e()).enablePositionalOptions();X(`run_commander_initialized`),t.hook(`preAction`,async e=>{X(`preAction_start`),await Promise.all([ui(),wo()]),X(`preAction_after_mdm`),await Yo(),X(`preAction_after_init`),c(process.env.CLAUDE_CODE_DISABLE_TERMINAL_TITLE)||(process.title=`workMate`);let{initSinks:t}=await import(`./sinks-C-lP7uyO.js`);t(),X(`preAction_after_sinks`);let n=e.getOptionValue(`pluginDir`);Array.isArray(n)&&n.length>0&&n.every(e=>typeof e==`string`)&&(xr(n),Dt(`preAction: --plugin-dir inline plugins`)),vc(),X(`preAction_after_migrations`),co(),X(`preAction_after_policy_limits`)}),t.name(`wm`).description(`Work Mate - starts an interactive session by default, use -p/--print for non-interactive output`).argument(`[prompt]`,`Your prompt`,String).helpOption(`-h, --help`,`Display help for command`).option(`-d, --debug [filter]`,`Enable debug mode with optional category filtering (e.g., "api,hooks" or "!1p,!file")`,e=>!0).addOption(new Z(`--debug-to-stderr`,`Enable debug mode (to stderr)`).argParser(Boolean).hideHelp()).option(`--debug-file <path>`,`Write debug logs to a specific file path (implicitly enables debug mode)`,()=>!0).option(`--verbose`,`Override verbose mode setting from config`,()=>!0).option(`-p, --print`,`Print response and exit (useful for pipes). Note: The workspace trust dialog is skipped when Work Mate is run with the -p mode. Only use this flag in directories you trust.`,()=>!0).option(`--bare`,`Minimal mode: skip hooks, LSP, plugin sync, attribution, auto-memory, background prefetches, keychain reads, and AGENTS.md auto-discovery. Sets CLAUDE_CODE_SIMPLE=1. Skills still resolve via /skill-name. Explicitly provide context via: --system-prompt[-file], --append-system-prompt[-file], --add-dir (AGENTS.md dirs), --mcp-config, --settings, --agents, --plugin-dir.`,()=>!0).addOption(new Z(`--init`,`Run Setup hooks with init trigger, then continue`).hideHelp()).addOption(new Z(`--init-only`,`Run Setup and SessionStart:startup hooks, then exit`).hideHelp()).addOption(new Z(`--maintenance`,`Run Setup hooks with maintenance trigger, then continue`).hideHelp()).addOption(new Z(`--output-format <format>`,`Output format (only works with --print): "text" (default), "json" (single result), or "stream-json" (realtime streaming)`).choices([`text`,`json`,`stream-json`])).addOption(new Z(`--json-schema <schema>`,`JSON Schema for structured output validation. Example: {"type":"object","properties":{"name":{"type":"string"}},"required":["name"]}`).argParser(String)).option(`--include-hook-events`,`Include all hook lifecycle events in the output stream (only works with --output-format=stream-json)`,()=>!0).option(`--include-partial-messages`,`Include partial message chunks as they arrive (only works with --print and --output-format=stream-json)`,()=>!0).addOption(new Z(`--input-format <format>`,`Input format (only works with --print): "text" (default), or "stream-json" (realtime streaming input)`).choices([`text`,`stream-json`])).option(`--mcp-debug`,`[DEPRECATED. Use --debug instead] Enable MCP debug mode (shows MCP server errors)`,()=>!0).option(`--dangerously-skip-permissions`,`Bypass all permission checks. Recommended only for sandboxes with no internet access.`,()=>!0).option(`--allow-dangerously-skip-permissions`,`Enable bypassing all permission checks as an option, without it being enabled by default. Recommended only for sandboxes with no internet access.`,()=>!0).addOption(new Z(`--thinking <mode>`,`Thinking mode: enabled (equivalent to adaptive), disabled`).choices([`enabled`,`adaptive`,`disabled`]).hideHelp()).addOption(new Z(`--max-thinking-tokens <tokens>`,`[DEPRECATED. Use --thinking instead for newer models] Maximum number of thinking tokens (only works with --print)`).argParser(Number).hideHelp()).addOption(new Z(`--max-turns <turns>`,`Maximum number of agentic turns in non-interactive mode. This will early exit the conversation after the specified number of turns. (only works with --print)`).argParser(Number).hideHelp()).addOption(new Z(`--max-budget-usd <amount>`,`Maximum dollar amount to spend on API calls (only works with --print)`).argParser(e=>{let t=Number(e);if(isNaN(t)||t<=0)throw Error(`--max-budget-usd must be a positive number greater than 0`);return t})).addOption(new Z(`--task-budget <tokens>`,`API-side task budget in tokens (output_config.task_budget)`).argParser(e=>{let t=Number(e);if(isNaN(t)||t<=0||!Number.isInteger(t))throw Error(`--task-budget must be a positive integer`);return t}).hideHelp()).option(`--replay-user-messages`,`Re-emit user messages from stdin back on stdout for acknowledgment (only works with --input-format=stream-json and --output-format=stream-json)`,()=>!0).option(`--allowedTools, --allowed-tools <tools...>`,`Comma or space-separated list of tool names to allow (e.g. "Bash(git:*) Edit")`).option(`--tools <tools...>`,`Specify the list of available tools from the built-in set. Use "" to disable all tools, "default" to use all tools, or specify tool names (e.g. "Bash,Edit,Read").`).option(`--disallowedTools, --disallowed-tools <tools...>`,`Comma or space-separated list of tool names to deny (e.g. "Bash(git:*) Edit")`).option(`--mcp-config <configs...>`,`Load MCP servers from JSON files or strings (space-separated)`).addOption(new Z(`--permission-prompt-tool <tool>`,`MCP tool to use for permission prompts (only works with --print)`).argParser(String).hideHelp()).addOption(new Z(`--system-prompt <prompt>`,`System prompt to use for the session`).argParser(String)).addOption(new Z(`--system-prompt-file <file>`,`Read system prompt from a file`).argParser(String).hideHelp()).addOption(new Z(`--append-system-prompt <prompt>`,`Append a system prompt to the default system prompt`).argParser(String)).addOption(new Z(`--append-system-prompt-file <file>`,`Read system prompt from a file and append to the default system prompt`).argParser(String).hideHelp()).addOption(new Z(`--permission-mode <mode>`,`Permission mode to use for the session`).argParser(String).choices(di)).option(`-c, --continue`,`Continue the most recent conversation in the current directory`,()=>!0).option(`-r, --resume [value]`,`Resume a conversation by session ID, or open interactive picker with optional search term`,e=>e||!0).option(`--fork-session`,`When resuming, create a new session ID instead of reusing the original (use with --resume or --continue)`,()=>!0).addOption(new Z(`--prefill <text>`,`Pre-fill the prompt input with text without submitting it`).hideHelp()).addOption(new Z(`--deep-link-origin`,`Signal that this session was launched from a deep link`).hideHelp()).addOption(new Z(`--deep-link-repo <slug>`,`Repo slug the deep link ?repo= parameter resolved to the current cwd`).hideHelp()).addOption(new Z(`--deep-link-last-fetch <ms>`,`FETCH_HEAD mtime in epoch ms, precomputed by the deep link trampoline`).argParser(e=>{let t=Number(e);return Number.isFinite(t)?t:void 0}).hideHelp()).option(`--from-pr [value]`,`Resume a session linked to a PR by PR number/URL, or open interactive picker with optional search term`,e=>e||!0).option(`--no-session-persistence`,`Disable session persistence - sessions will not be saved to disk and cannot be resumed (only works with --print)`).addOption(new Z(`--resume-session-at <message id>`,`When resuming, only messages up to and including the assistant message with <message.id> (use with --resume in print mode)`).argParser(String).hideHelp()).addOption(new Z(`--rewind-files <user-message-id>`,`Restore files to state at the specified user message and exit (requires --resume)`).hideHelp()).option(`--model <model>`,`Model for the current session. Provide an alias for the latest model (e.g. 'sonnet' or 'opus') or a model's full name (e.g. 'claude-sonnet-4-6').`).option(`--agent <agent>`,`Agent for the current session. Overrides the 'agent' setting.`).option(`--betas <betas...>`,`Beta headers to include in API requests (API key users only)`).option(`--fallback-model <model>`,`Enable automatic fallback to specified model when default model is overloaded (only works with --print)`).addOption(new Z(`--workload <tag>`,`Workload tag for billing-header attribution (cc_workload). Process-scoped; set by SDK daemon callers that spawn subprocesses for cron work. (only works with --print)`).hideHelp()).option(`--settings <file-or-json>`,`Path to a settings JSON file or a JSON string to load additional settings from`).option(`--add-dir <directories...>`,`Additional directories to allow tool access to`).option(`--ide`,`Automatically connect to IDE on startup if exactly one valid IDE is available`,()=>!0).option(`--strict-mcp-config`,`Only use MCP servers from --mcp-config, ignoring all other MCP configurations`,()=>!0).option(`--session-id <uuid>`,`Use a specific session ID for the conversation (must be a valid UUID)`).option(`-n, --name <name>`,`Set a display name for this session (shown in /resume and terminal title)`).option(`--agents <json>`,`JSON object defining custom agents (e.g. '{"reviewer": {"description": "Reviews code", "prompt": "You are a code reviewer"}}')`).option(`--setting-sources <sources>`,`Comma-separated list of setting sources to load (user, project, local).`).option(`--plugin-dir <path>`,`Load plugins from a directory for this session only (repeatable: --plugin-dir A --plugin-dir B)`,(e,t)=>[...t,e],[]).option(`--disable-slash-commands`,`Disable all skills`,()=>!0).option(`--file <specs...>`,`File resources to download at startup. Format: file_id:relative_path (e.g., --file file_abc:doc.txt file_def:img.png)`).action(async(e,t)=>{X(`action_handler_start`),t.bare&&(process.env.CLAUDE_CODE_SIMPLE=`1`),e===`code`&&(Y(`tengu_code_prompt_ignored`,{}),console.warn(z.yellow("Tip: You can launch Work Mate with just `claude`")),e=void 0),e&&typeof e==`string`&&!/\s/.test(e)&&e.length>0&&Y(`tengu_single_word_prompt`,{length:e.length});let{debug:n=!1,debugToStderr:r=!1,dangerouslySkipPermissions:i,allowDangerouslySkipPermissions:a=!1,tools:o=[],allowedTools:s=[],disallowedTools:l=[],mcpConfig:d=[],permissionMode:f,addDir:p=[],fallbackModel:m,betas:ee=[],ide:te=!1,sessionId:re,includeHookEvents:se,includePartialMessages:ue}=t;t.prefill&&uo(t.prefill);let h=t.agents,g=t.agent;g&&(process.env.CLAUDE_CODE_AGENT=g);let _=t.outputFormat,v=t.inputFormat,y=t.verbose??K().verbose,de=t.print,me=t.init??!1,he=t.initOnly??!1,_e=t.maintenance??!1,ve=t.disableSlashCommands||!1,ye=Oa()?t.worktree:void 0,Se=typeof ye==`string`?ye:void 0,b=ye!==void 0,Ce;if(Se){let e=Ge(Se);e!==null&&(Ce=e,Se=void 0)}let we=Oa()&&t.tmux===!0;we&&(b||(process.stderr.write(z.red(`Error: --tmux requires --worktree
|
|
331
331
|
`)),process.exit(1)),Fi()===`windows`&&(process.stderr.write(z.red(`Error: --tmux is not supported on Windows
|
|
332
332
|
`)),process.exit(1)),await Be()||(process.stderr.write(z.red(`Error: tmux is not installed.\n${xn()}\n`)),process.exit(1)));let Ee=t.sdkUrl??void 0,Oe=ue||c(process.env.CLAUDE_CODE_INCLUDE_PARTIAL_MESSAGES);if(se&&cn(!0),Ee&&(v||(v=`stream-json`),_||(_=`stream-json`),t.verbose===void 0&&(y=!0),t.print||(de=!0)),re&&((t.continue||t.resume)&&!t.forkSession&&(process.stderr.write(z.red(`Error: --session-id can only be used with --continue or --resume if --fork-session is also specified.
|
|
333
333
|
`)),process.exit(1)),!Ee)){let e=Te(re);e||(process.stderr.write(z.red(`Error: Invalid session ID. Must be a valid UUID.
|
|
@@ -335,11 +335,11 @@ Usage: claude mcp add <name> <command> [args...]`);try{let t=ct(r.scope),n=Ht(r.
|
|
|
335
335
|
`)),process.exit(1));let S=t.systemPrompt;if(t.systemPromptFile){t.systemPrompt&&(process.stderr.write(z.red(`Error: Cannot use both --system-prompt and --system-prompt-file. Please use only one.
|
|
336
336
|
`)),process.exit(1));try{S=vo(ho(t.systemPromptFile),`utf8`)}catch(e){Ar(e)===`ENOENT`&&(process.stderr.write(z.red(`Error: System prompt file not found: ${ho(t.systemPromptFile)}\n`)),process.exit(1)),process.stderr.write(z.red(`Error reading system prompt file: ${kr(e)}\n`)),process.exit(1)}}let C=t.appendSystemPrompt;if(t.appendSystemPromptFile){t.appendSystemPrompt&&(process.stderr.write(z.red(`Error: Cannot use both --append-system-prompt and --append-system-prompt-file. Please use only one.
|
|
337
337
|
`)),process.exit(1));try{C=vo(ho(t.appendSystemPromptFile),`utf8`)}catch(e){Ar(e)===`ENOENT`&&(process.stderr.write(z.red(`Error: Append system prompt file not found: ${ho(t.appendSystemPromptFile)}\n`)),process.exit(1)),process.stderr.write(z.red(`Error reading append system prompt file: ${kr(e)}\n`)),process.exit(1)}}let{mode:w,notification:Me}=fn({permissionModeCli:f,dangerouslySkipPermissions:i});nr(w===`bypassPermissions`),(t.enableAutoMode||f===`auto`||w===`auto`||!f&&He())&&ge(!0);let T={};if(d&&d.length>0){let e=d.map(e=>e.trim()).filter(e=>e.length>0),t={},n=[];for(let r of e){let e=null,i=[],a=qn(r);if(a){let t=Mt({configObject:a,filePath:`command line`,expandVars:!0,scope:`dynamic`});t.config?e=t.config.mcpServers:i=t.errors}else{let t=le({filePath:ho(r),expandVars:!0,scope:`dynamic`});t.config?e=t.config.mcpServers:i=t.errors}i.length>0?n.push(...i):e&&(t={...t,...e})}if(n.length>0){let e=n.map(e=>`${e.path?`${e.path}: `:``}${e.message}`).join(`
|
|
338
|
-
`);B(`--mcp-config validation failed (${n.length} errors): ${e}`,{level:`error`}),process.stderr.write(`Error: Invalid MCP configuration:\n${e}\n`),process.exit(1)}if(Object.keys(t).length>0){let{allowed:e,blocked:n}=Ve(je(t,e=>({...e,scope:`dynamic`})));n.length>0&&process.stderr.write(`Warning: MCP ${ji(n.length,`server`)} blocked by enterprise policy: ${n.join(`, `)}\n`),T={...T,...e}}}let Pe=t.strictMcpConfig||!1;gn()&&(Pe&&(process.stderr.write(z.red(`You cannot use --strict-mcp-config when an enterprise MCP config is present`)),process.exit(1)),T&&!dt(T)&&(process.stderr.write(z.red(`You cannot dynamically configure MCP servers when an enterprise MCP config is present`)),process.exit(1))),dr(p);let Fe=await ze({allowedToolsCli:s,disallowedToolsCli:l,baseToolsCli:o,permissionMode:w,allowDangerouslySkipPermissions:a,addDirs:p}),E=Fe.toolPermissionContext,{warnings:Re,dangerousPermissions:Ke}=Fe;Ke.length>0&&(E=kt(E)),Re.forEach(e=>{console.error(e)}),B(`[STARTUP] Loading MCP configs...`);let Je=Date.now(),Ye,Xe=(Pe||u()?Promise.resolve({servers:{}}):pe(T)).then(e=>(Ye=Date.now()-Je,e));v&&v!==`text`&&v!==`stream-json`&&(console.error(`Error: Invalid input format "${v}".`),process.exit(1)),v===`stream-json`&&_!==`stream-json`&&(console.error(`Error: --input-format=stream-json requires output-format=stream-json.`),process.exit(1)),Ee&&(v!==`stream-json`||_!==`stream-json`)&&(console.error(`Error: --sdk-url requires both --input-format=stream-json and --output-format=stream-json.`),process.exit(1)),t.replayUserMessages&&(v!==`stream-json`||_!==`stream-json`)&&(console.error(`Error: --replay-user-messages requires both --input-format=stream-json and --output-format=stream-json.`),process.exit(1)),Oe&&(!x||_!==`stream-json`)&&(xi(`Error: --include-partial-messages requires --print and --output-format=stream-json.`),process.exit(1)),t.sessionPersistence===!1&&!x&&(xi(`Error: --no-session-persistence can only be used with --print mode.`),process.exit(1));let D=await Ec(e||``,v??`text`);X(`action_after_input_prompt`),kc(t);let Qe=Ue(E);X(`action_tools_loaded`);let O;if(ua({isNonInteractiveSession:x})&&t.jsonSchema&&(O=Nr(t.jsonSchema)),O){let e=ca(O);`tool`in e?(Qe=[...Qe,e.tool],Y(`tengu_structured_output_enabled`,{schema_property_count:Object.keys(O.properties||{}).length,has_required_fields:!!O.required})):Y(`tengu_structured_output_failure`,{error:`Invalid JSON schema`})}X(`action_before_setup`),B(`[STARTUP] Running setup()...`);let $e=Date.now(),{setup:et}=await import(`./setup-
|
|
338
|
+
`);B(`--mcp-config validation failed (${n.length} errors): ${e}`,{level:`error`}),process.stderr.write(`Error: Invalid MCP configuration:\n${e}\n`),process.exit(1)}if(Object.keys(t).length>0){let{allowed:e,blocked:n}=Ve(je(t,e=>({...e,scope:`dynamic`})));n.length>0&&process.stderr.write(`Warning: MCP ${ji(n.length,`server`)} blocked by enterprise policy: ${n.join(`, `)}\n`),T={...T,...e}}}let Pe=t.strictMcpConfig||!1;gn()&&(Pe&&(process.stderr.write(z.red(`You cannot use --strict-mcp-config when an enterprise MCP config is present`)),process.exit(1)),T&&!dt(T)&&(process.stderr.write(z.red(`You cannot dynamically configure MCP servers when an enterprise MCP config is present`)),process.exit(1))),dr(p);let Fe=await ze({allowedToolsCli:s,disallowedToolsCli:l,baseToolsCli:o,permissionMode:w,allowDangerouslySkipPermissions:a,addDirs:p}),E=Fe.toolPermissionContext,{warnings:Re,dangerousPermissions:Ke}=Fe;Ke.length>0&&(E=kt(E)),Re.forEach(e=>{console.error(e)}),B(`[STARTUP] Loading MCP configs...`);let Je=Date.now(),Ye,Xe=(Pe||u()?Promise.resolve({servers:{}}):pe(T)).then(e=>(Ye=Date.now()-Je,e));v&&v!==`text`&&v!==`stream-json`&&(console.error(`Error: Invalid input format "${v}".`),process.exit(1)),v===`stream-json`&&_!==`stream-json`&&(console.error(`Error: --input-format=stream-json requires output-format=stream-json.`),process.exit(1)),Ee&&(v!==`stream-json`||_!==`stream-json`)&&(console.error(`Error: --sdk-url requires both --input-format=stream-json and --output-format=stream-json.`),process.exit(1)),t.replayUserMessages&&(v!==`stream-json`||_!==`stream-json`)&&(console.error(`Error: --replay-user-messages requires both --input-format=stream-json and --output-format=stream-json.`),process.exit(1)),Oe&&(!x||_!==`stream-json`)&&(xi(`Error: --include-partial-messages requires --print and --output-format=stream-json.`),process.exit(1)),t.sessionPersistence===!1&&!x&&(xi(`Error: --no-session-persistence can only be used with --print mode.`),process.exit(1));let D=await Ec(e||``,v??`text`);X(`action_after_input_prompt`),kc(t);let Qe=Ue(E);X(`action_tools_loaded`);let O;if(ua({isNonInteractiveSession:x})&&t.jsonSchema&&(O=Nr(t.jsonSchema)),O){let e=ca(O);`tool`in e?(Qe=[...Qe,e.tool],Y(`tengu_structured_output_enabled`,{schema_property_count:Object.keys(O.properties||{}).length,has_required_fields:!!O.required})):Y(`tengu_structured_output_failure`,{error:`Invalid JSON schema`})}X(`action_before_setup`),B(`[STARTUP] Running setup()...`);let $e=Date.now(),{setup:et}=await import(`./setup-qecdf-ES.js`),nt=Tr();process.env.CLAUDE_CODE_ENTRYPOINT!==`local-agent`&&nc();let rt=et(nt,w,a,b,Se,we,re?Te(re):void 0,Ce),it=b?null:Ne(nt),at=b?null:Et(nt);it?.catch(()=>{}),at?.catch(()=>{}),await rt,B(`[STARTUP] setup() completed in ${Date.now()-$e}ms`),X(`action_after_setup`);let ot=!!t.replayUserMessages;tr()&&(no(),Ot(),ke(),Ji());let st=t.name?.trim();st&&En(st);let ct=t.model==="default"?$i():t.model,lt=m==="default"?$i():m,mt=b?Tr():nt;B(`[STARTUP] Loading commands and agents...`);let ht=Date.now(),[gt,_t]=await Promise.all([it??Ne(mt),at??Et(mt)]);B(`[STARTUP] Commands and agents loaded in ${Date.now()-ht}ms`),X(`action_commands_loaded`);let yt=[];if(h)try{let e=qn(h);e&&(yt=St(e,`flagSettings`))}catch(e){q(e)}let bt=[..._t.allAgents,...yt],k={..._t,allAgents:bt,activeAgents:Zt(bt)},A=g??ci().agent,j;if(A&&(j=k.activeAgents.find(e=>e.agentType===A),j||B(`Warning: agent "${A}" not found. Available agents: ${k.activeAgents.map(e=>e.agentType).join(`, `)}. Using default behavior.`)),Sr(j?.agentType),j&&Y(`tengu_agent_flag`,{agentType:$t(j)?j.agentType:`custom`,...g&&{source:`cli`}}),j?.agentType&&ae(j.agentType),x&&j&&!S&&!$t(j)){let e=j.getSystemPrompt();e&&(S=e)}j?.initialPrompt&&(typeof D==`string`?D=D?`${j.initialPrompt}\n\n${D}`:j.initialPrompt:D||(D=j.initialPrompt));let M=ct;!M&&j?.model&&j.model!==`inherit`&&(M=Gi(j.model)),hr(M),vr(ta()||null);let Tt=or(),N=Gi(Tt??$i()),P;if(Wt()){let e=Nt()?t.advisor:void 0;e&&(B(`[AdvisorTool] --advisor ${e}`),wt(N)||(process.stderr.write(z.red(`Error: The model "${N}" does not support the advisor tool.\n`)),process.exit(1)),Pt(Xi(Gi(e)))||(process.stderr.write(z.red(`Error: The model "${e}" cannot be used as an advisor.\n`)),process.exit(1))),P=Nt()?e??rn():e,P&&B(`[AdvisorTool] Advisor model: ${P}`)}if(t.proactive||c(process.env.CLAUDE_CODE_PROACTIVE)){let e=`
|
|
339
339
|
# Proactive Mode
|
|
340
340
|
|
|
341
341
|
You are in proactive mode. Take initiative — explore, act, and make progress without waiting for instructions.
|
|
342
342
|
|
|
343
343
|
Start by briefly greeting the user.
|
|
344
344
|
|
|
345
|
-
You will receive periodic <tick> prompts. These are check-ins. Do whatever seems most useful, or call Sleep if there's nothing to do. The user will see any text you output.`;C=C?`${C}\n\n${e}`:e}let F,I,Dt;if(!x){let e=ys(!1);I=e.getFpsMetrics,Dt=e.stats;let{createRoot:t}=await import(`./src-9vmGsuSI.js`);F=await t(e.renderOptions),Y(`tengu_timer`,{event:`startup`,durationMs:Math.round(process.uptime()*1e3)}),B(`[STARTUP] Running showSetupScreens()...`);let n=Date.now();await vs(F,w,a,gt),B(`[STARTUP] showSetupScreens() completed in ${Date.now()-n}ms`)}if(process.exitCode!==void 0){B(`Graceful shutdown initiated, skipping further initialization`);return}if(tn(),!x){let{errors:e}=ni(),t=e.filter(e=>!e.mcpErrorMetadata);t.length>0&&await bs(F,{settingsErrors:t,onExit:()=>Ct(1)})}let jt=K().startupPrefetchedAt??0;u()?B(`Skipping startup prefetches, last ran ${Math.round((Date.now()-jt)/1e3)}s ago`):(B(`Starting background startup prefetches${jt>0?` last ran ${Math.round((Date.now()-jt)/1e3)}s ago`:``}`),Ie().catch(e=>q(e))),x||oo();let{servers:Ft}=await Xe;B(`[STARTUP] MCP configs resolved in ${Ye}ms (awaited at +${Date.now()-Je}ms)`);let It={...Ft,...T},Lt={},Rt={};for(let[e,t]of Object.entries(It)){let n=t;n.type===`sdk`?Lt[e]=n:Rt[e]=n}X(`action_mcp_configs_loaded`);let zt=(x||Pe?Promise.resolve({clients:[],tools:[],commands:[]}):xt(Rt)).then(e=>({clients:e.clients,tools:At(e.tools,`name`),commands:At(e.commands,`name`)})),Bt=he||me||_e||x||t.continue||t.resume?null:ie(`startup`,{agentType:j?.agentType,model:N}),Vt=[];zt.catch(()=>{});let Ht=[],Ut=[],Kt=[],L=Yt(),R=L===!1?{type:`disabled`}:{type:`adaptive`};if(t.thinking===`adaptive`||t.thinking===`enabled`)L=!0,R={type:`adaptive`};else if(t.thinking===`disabled`)L=!1,R={type:`disabled`};else{let e=process.env.MAX_THINKING_TOKENS?parseInt(process.env.MAX_THINKING_TOKENS,10):t.maxThinkingTokens;e!==void 0&&(e>0?(L=!0,R={type:`enabled`,budgetTokens:e}):e===0&&(L=!1,R={type:`disabled`}))}V(`info`,`started`,{version:`0.0.23`,is_native_binary:Ai()}),Fr(async()=>{V(`info`,`exited`)}),Oc({hasInitialPrompt:!!e,hasStdin:!!D,verbose:y,debug:n,debugToStderr:r,print:de??!1,outputFormat:_??`text`,inputFormat:v??`text`,numAllowedTools:s.length,numDisallowedTools:l.length,mcpClientCount:Object.keys(It).length,worktreeEnabled:b,skipWebFetchPreflight:ci().skipWebFetchPreflight,githubActionInputs:process.env.GITHUB_ACTION_INPUTS,dangerouslySkipPermissionsPassed:i??!1,permissionMode:w,modeIsBypass:w===`bypassPermissions`,allowDangerouslySkipPermissionsPassed:a,systemPromptFlag:S?t.systemPromptFile?`file`:`flag`:void 0,appendSystemPromptFlag:C?t.appendSystemPromptFile?`file`:`flag`:void 0,thinkingConfig:R,assistantActivationPath:void 0}),nn(Rt,E),pc(),tt().then(e=>{e&&(st&&oe(st),xe().then(e=>{e>=2&&Y(`tengu_concurrent_sessions`,{num_sessions:e})}))}),u()||(x?(await Ze(),X(`action_after_plugins_init`),ce().then(()=>be())):Ze().then(async()=>{X(`action_after_plugins_init`),await ce(),be()}));let qt=he||me?`init`:_e?`maintenance`:null;if(he){no(),await vt(`init`,{forceSyncExecution:!0}),await ie(`startup`,{forceSyncExecution:!0}),Ct(0);return}if(x){(_===`stream-json`||_===`json`)&&zr(!0),no(),Xo();let e=t.continue||t.resume||qt?void 0:ie(`startup`);e?.catch(()=>{});let n=ve?[]:gt.filter(e=>e.type===`prompt`&&!e.disableNonInteractive||e.type===`local`&&e.supportsNonInteractive),r=fe(),i=qe({...r,mcp:{...r.mcp,clients:Ht,commands:Kt,tools:Ut},toolPermissionContext:E,...Bi()&&{fastMode:na(M??null)},...Wt()&&P&&{advisorModel:P}},$a);De(E,i.getState().fastMode).then(({updateContext:e})=>{i.setState(t=>{let n=e(t.toolPermissionContext);return n===t.toolPermissionContext?t:{...t,toolPermissionContext:n}})}),t.sessionPersistence===!1&&ar(!0),er(ne(ee)),X(`before_connectMcp`),await((e,t)=>Object.keys(e).length===0?Promise.resolve():(i.setState(t=>({...t,mcp:{...t.mcp,clients:[...t.mcp.clients,...Object.entries(e).map(([e,t])=>({name:e,type:`pending`,config:t}))]}})),Le(({client:e,tools:t,commands:n})=>{i.setState(r=>({...r,mcp:{...r.mcp,clients:r.mcp.clients.some(t=>t.name===e.name)?r.mcp.clients.map(t=>t.name===e.name?e:t):[...r.mcp.clients,e],tools:At([...r.mcp.tools,...t],`name`),commands:At([...r.mcp.commands,...n],`name`)}}))},e).catch(e=>B(`[MCP] ${t} connect error: ${e}`))))(Rt,`regular`),X(`after_connectMcp`),u()||(bc(),import(`./backgroundHousekeeping-BGxHB_OX.js`).then(e=>e.startBackgroundHousekeeping())),mc(),X(`before_print_import`);let{runHeadless:a}=await import(`./print-BASybEtO.js`);X(`after_print_import`),a(D,()=>i.getState(),i.setState,n,Qe,Lt,k.activeAgents,{continue:t.continue,resume:t.resume,verbose:y,outputFormat:_,jsonSchema:O,permissionPromptToolName:t.permissionPromptTool,allowedTools:s,thinkingConfig:R,maxTurns:t.maxTurns,maxBudgetUsd:t.maxBudgetUsd,taskBudget:t.taskBudget?{total:t.taskBudget}:void 0,systemPrompt:S,appendSystemPrompt:C,userSpecifiedModel:M,fallbackModel:lt,sdkUrl:Ee,replayUserMessages:ot,includePartialMessages:Oe,forkSession:t.forkSession||!1,resumeSessionAt:t.resumeSessionAt||void 0,rewindFiles:t.rewindFiles,agent:g,workload:t.workload,setupTrigger:qt??void 0,sessionStartHooksPromise:e});return}Y(`tengu_startup_manual_model_config`,{cli_flag:t.model,env_var:process.env.ANTHROPIC_MODEL,settings_file:ci()?.model,agent:A});let Jt=io(N),Xt=[];Me&&Xt.push({key:`permission-mode-notification`,text:Me,priority:`high`}),Jt&&Xt.push({key:`model-deprecation-warning`,text:Jt,color:`warning`,priority:`high`});let Qt={...E},on={settings:ci(),tasks:{},agentNameRegistry:new Map,verbose:y??K().verbose??!1,mainLoopModel:Tt,mainLoopModelForSession:null,expandedView:K().showExpandedTodos?`tasks`:`none`,selectedIPAgentIndex:-1,selectedBgAgentIndex:-1,viewSelectionMode:`none`,footerSelection:null,toolPermissionContext:Qt,agent:j?.agentType,agentDefinitions:k,mcp:{clients:[],tools:[],commands:[],resources:{},pluginReconnectKey:0},plugins:{enabled:[],disabled:[],commands:[],errors:[],installationStatus:{marketplaces:[],plugins:[]},needsRefresh:!1},statusLineText:void 0,notifications:{current:null,queue:Xt},elicitation:{queue:[]},todos:{},fileHistory:{snapshots:[],trackedFiles:new Set,snapshotSequence:0},attribution:pt(),thinkingEnabled:L,promptSuggestionEnabled:Ae(),sessionHooks:new Map,inbox:{messages:[]},promptSuggestion:{text:null,promptId:null,shownAt:0,acceptedAt:0,generationRequestId:null},speculation:We,speculationSessionTimeSavedMs:0,skillImprovement:{suggestion:null},initialMessage:D?{message:Gt({content:String(D)})}:null,activeOverlays:new Set,fastMode:na(N),...Wt()&&P&&{advisorModel:P}};D&&ja(String(D));let ln=Ut;W(e=>({...e,numStartups:(e.numStartups??0)+1})),setImmediate(()=>{gc(),mc()});let un={debug:n||r,commands:[...gt,...Kt],initialTools:ln,mcpClients:Ht,autoConnectIdeFlag:te,mainThreadAgentDefinition:j,disableSlashCommands:ve,dynamicMcpConfig:T,strictMcpConfig:Pe,systemPrompt:S,appendSystemPrompt:C,thinkingConfig:R},dn={mainThreadAgentDefinition:j,agentDefinitions:k,currentCwd:mt,cliAgents:yt,initialState:on};if(t.continue){let e=!1;try{let n=performance.now(),{clearSessionCaches:r}=await import(`./caches-BGzKwpnc.js`);r();let i=await Ba(void 0,void 0);if(!i)return Y(`tengu_continue`,{success:!1}),await hs(F,`No conversation found to continue`);let a=await Ua(i,{forkSession:!!t.forkSession,includeAttribution:!0,transcriptPath:i.fullPath},dn);a.restoredAgentDef&&(j=a.restoredAgentDef),kc(t),Y(`tengu_continue`,{success:!0,resume_duration_ms:Math.round(performance.now()-n)}),e=!0,await $o(F,{getFpsMetrics:I,stats:Dt,initialState:a.initialState},{...un,mainThreadAgentDefinition:a.restoredAgentDef??j,initialMessages:a.messages,initialFileHistorySnapshots:a.fileHistorySnapshots,initialContentReplacements:a.contentReplacements,initialAgentName:a.agentName,initialAgentColor:a.agentColor},_s)}catch(t){e||Y(`tengu_continue`,{success:!1}),q(t),process.exit(1)}}else if(t.resume||t.fromPr){let{clearSessionCaches:e}=await import(`./caches-BGzKwpnc.js`);e();let n,r=Te(t.resume),i,a=null,o;if(t.fromPr&&(t.fromPr===!0?o=!0:typeof t.fromPr==`string`&&(o=t.fromPr)),t.resume&&typeof t.resume==`string`&&!r){let e=t.resume.trim();if(e){let t=await en(e,{exact:!0});t.length===1?(a=t[0],r=sn(a)??null):i=e}}if(r){let e=r;try{let r=performance.now(),i=await Ba(a??e,void 0);if(!i)return Y(`tengu_session_resumed`,{entrypoint:`cli_flag`,success:!1}),await hs(F,`No conversation found with session ID: ${e}`);let o=a?.fullPath??i.fullPath;n=await Ua(i,{forkSession:!!t.forkSession,sessionIdOverride:e,transcriptPath:o},dn),n.restoredAgentDef&&(j=n.restoredAgentDef),Y(`tengu_session_resumed`,{entrypoint:`cli_flag`,success:!0,resume_duration_ms:Math.round(performance.now()-r)})}catch(t){Y(`tengu_session_resumed`,{entrypoint:`cli_flag`,success:!1}),q(t),await hs(F,`Failed to resume session ${e}`)}}let s=n??(Array.isArray(null)?{messages:null,fileHistorySnapshots:void 0,agentName:void 0,agentColor:void 0,restoredAgentDef:j,initialState:on,contentReplacements:void 0}:void 0);s?(kc(t),await $o(F,{getFpsMetrics:I,stats:Dt,initialState:s.initialState},{...un,mainThreadAgentDefinition:s.restoredAgentDef??j,initialMessages:s.messages,initialFileHistorySnapshots:s.fileHistorySnapshots,initialContentReplacements:s.contentReplacements,initialAgentName:s.agentName,initialAgentColor:s.agentColor},_s)):await xs(F,{getFpsMetrics:I,stats:Dt,initialState:on},ut(ir()),{...un,initialSearchQuery:i,forkSession:t.forkSession,filterByPr:o})}else{let e=Bt&&Vt.length===0?Bt:void 0;X(`action_after_hooks`),kc(t);let n=null;t.deepLinkOrigin?(Y(`tengu_deep_link_opened`,{has_prefill:!!t.prefill,has_repo:!!t.deepLinkRepo}),n=an(po({cwd:Tr(),prefillLength:t.prefill?.length,repo:t.deepLinkRepo,lastFetch:t.deepLinkLastFetch===void 0?void 0:new Date(t.deepLinkLastFetch)}),`warning`)):t.prefill&&(n=an(`Launched with a pre-filled prompt — review it before pressing Enter.`,`warning`));let r=n?[n,...Vt]:Vt.length>0?Vt:void 0;await $o(F,{getFpsMetrics:I,stats:Dt,initialState:on},{...un,initialMessages:r,pendingHookMessages:e},_s)}}).version(`0.0.23 (Work Mate)`,`-v, --version`,`Output the version number`),t.option(`-w, --worktree [name]`,`Create a new git worktree for this session (optionally specify a name)`),t.option(`--tmux`,`Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.`),Nt()&&t.addOption(new Z(`--advisor <model>`,`Enable the server-side advisor tool with the specified model (alias or full ID).`).hideHelp()),t.addOption(new Z(`--enable-auto-mode`,`Opt in to auto mode`).hideHelp()),t.addOption(new Z(`--proactive`,`Start in proactive autonomous mode`)),X(`run_main_options_built`);let n=process.argv.includes(`-p`)||process.argv.includes(`--print`),r=process.argv.some(e=>e.startsWith(`cc://`)||e.startsWith(`cc+unix://`));if(n&&!r)return X(`run_before_parse`),await t.parseAsync(process.argv),X(`run_after_parse`),t;let i=t.command(`mcp`).description(`Configure and manage MCP servers`).configureHelp(e()).enablePositionalOptions();i.command(`serve`).description(`Start the Work Mate MCP server`).option(`-d, --debug`,`Enable debug mode`,()=>!0).option(`--verbose`,`Override verbose mode setting from config`,()=>!0).action(async({debug:e,verbose:t})=>{let{mcpServeHandler:n}=await import(`./mcp-BNd29r6p.js`);await n({debug:e,verbose:t})}),ac(i),i.command(`remove <name>`).description(`Remove an MCP server`).option(`-s, --scope <scope>`,`Configuration scope (local, user, or project) - if not specified, removes from whichever scope it exists in`).action(async(e,t)=>{let{mcpRemoveHandler:n}=await import(`./mcp-BNd29r6p.js`);await n(e,t)}),i.command(`list`).description(`List configured MCP servers. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.`).action(async()=>{let{mcpListHandler:e}=await import(`./mcp-BNd29r6p.js`);await e()}),i.command(`get <name>`).description(`Get details about an MCP server. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.`).action(async e=>{let{mcpGetHandler:t}=await import(`./mcp-BNd29r6p.js`);await t(e)}),i.command(`add-json <name> <json>`).description(`Add an MCP server (stdio or SSE) with a JSON string`).option(`-s, --scope <scope>`,`Configuration scope (local, user, or project)`,`local`).action(async(e,t,n)=>{let{mcpAddJsonHandler:r}=await import(`./mcp-BNd29r6p.js`);await r(e,t,n)}),i.command(`add-from-claude-desktop`).description(`Import MCP servers from Work Mate Desktop (Mac and WSL only)`).option(`-s, --scope <scope>`,`Configuration scope (local, user, or project)`,`local`).action(async e=>{let{mcpAddFromDesktopHandler:t}=await import(`./mcp-BNd29r6p.js`);await t(e)}),i.command(`reset-project-choices`).description(`Reset all approved and rejected project-scoped (.mcp.json) servers within this project`).action(async()=>{let{mcpResetChoicesHandler:e}=await import(`./mcp-BNd29r6p.js`);await e()});let a=()=>new Z(`--cowork`,`Use cowork_plugins directory`).hideHelp(),o=t.command(`plugin`).alias(`plugins`).description(`Manage Work Mate plugins`).configureHelp(e());o.command(`validate <path>`).description(`Validate a plugin or marketplace manifest`).addOption(a()).action(async(e,t)=>{let{pluginValidateHandler:n}=await import(`./plugins-COoGBYk6.js`);await n(e,t)}),o.command(`list`).description(`List installed plugins`).option(`--json`,`Output as JSON`).option(`--available`,`Include available plugins from marketplaces (requires --json)`).addOption(a()).action(async e=>{let{pluginListHandler:t}=await import(`./plugins-COoGBYk6.js`);await t(e)});let s=o.command(`marketplace`).description(`Manage Work Mate marketplaces`).configureHelp(e());return s.command(`add <source>`).description(`Add a marketplace from a URL, path, or GitHub repo`).addOption(a()).option(`--sparse <paths...>`,`Limit checkout to specific directories via git sparse-checkout (for monorepos). Example: --sparse .claude-plugin plugins`).option(`--scope <scope>`,`Where to declare the marketplace: user (default), project, or local`).action(async(e,t)=>{let{marketplaceAddHandler:n}=await import(`./plugins-COoGBYk6.js`);await n(e,t)}),s.command(`list`).description(`List all configured marketplaces`).option(`--json`,`Output as JSON`).addOption(a()).action(async e=>{let{marketplaceListHandler:t}=await import(`./plugins-COoGBYk6.js`);await t(e)}),s.command(`remove <name>`).alias(`rm`).description(`Remove a configured marketplace`).addOption(a()).action(async(e,t)=>{let{marketplaceRemoveHandler:n}=await import(`./plugins-COoGBYk6.js`);await n(e,t)}),s.command(`update [name]`).description(`Update marketplace(s) from their source - updates all if no name specified`).addOption(a()).action(async(e,t)=>{let{marketplaceUpdateHandler:n}=await import(`./plugins-COoGBYk6.js`);await n(e,t)}),o.command(`install <plugin>`).alias(`i`).description(`Install a plugin from available marketplaces (use plugin@marketplace for specific marketplace)`).option(`-s, --scope <scope>`,`Installation scope: user, project, or local`,`user`).addOption(a()).action(async(e,t)=>{let{pluginInstallHandler:n}=await import(`./plugins-COoGBYk6.js`);await n(e,t)}),o.command(`uninstall <plugin>`).alias(`remove`).alias(`rm`).description(`Uninstall an installed plugin`).option(`-s, --scope <scope>`,`Uninstall from scope: user, project, or local`,`user`).option(`--keep-data`,`Preserve the plugin's persistent data directory (~/.workmate/plugins/data/{id}/)`).addOption(a()).action(async(e,t)=>{let{pluginUninstallHandler:n}=await import(`./plugins-COoGBYk6.js`);await n(e,t)}),o.command(`enable <plugin>`).description(`Enable a disabled plugin`).option(`-s, --scope <scope>`,`Installation scope: ${za.join(`, `)} (default: auto-detect)`).addOption(a()).action(async(e,t)=>{let{pluginEnableHandler:n}=await import(`./plugins-COoGBYk6.js`);await n(e,t)}),o.command(`disable [plugin]`).description(`Disable an enabled plugin`).option(`-a, --all`,`Disable all enabled plugins`).option(`-s, --scope <scope>`,`Installation scope: ${za.join(`, `)} (default: auto-detect)`).addOption(a()).action(async(e,t)=>{let{pluginDisableHandler:n}=await import(`./plugins-COoGBYk6.js`);await n(e,t)}),o.command(`update <plugin>`).description(`Update a plugin to the latest version (restart required to apply)`).option(`-s, --scope <scope>`,`Installation scope: ${La.join(`, `)} (default: user)`).addOption(a()).action(async(e,t)=>{let{pluginUpdateHandler:n}=await import(`./plugins-COoGBYk6.js`);await n(e,t)}),t.command(`agents`).description(`List configured agents`).option(`--setting-sources <sources>`,`Comma-separated list of setting sources to load (user, project, local).`).action(async()=>{let{agentsHandler:e}=await import(`./agents-B3x8yJ_r.js`);await e(),process.exit(0)}),t.command(`doctor`).description(`Check the health of your Work Mate auto-updater. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.`).action(async()=>{let[{doctorHandler:e},{createRoot:t}]=await Promise.all([import(`./util-CtlC2dsN.js`),import(`./src-9vmGsuSI.js`)]);await e(await t(ro(!1)))}),t.command(`install [target]`).description(`Install Work Mate native build. Use [target] to specify version (stable, latest, or specific version)`).option(`--force`,`Force installation even if already installed`).action(async(e,t)=>{let{installHandler:n}=await import(`./util-CtlC2dsN.js`);await n(e,t)}),X(`run_before_parse`),await t.parseAsync(process.argv),X(`run_after_parse`),X(`main_after_run`),Li(),t}async function Oc({hasInitialPrompt:e,hasStdin:t,verbose:n,debug:r,debugToStderr:i,print:a,outputFormat:o,inputFormat:s,numAllowedTools:c,numDisallowedTools:l,mcpClientCount:f,worktreeEnabled:p,skipWebFetchPreflight:m,githubActionInputs:ee,dangerouslySkipPermissionsPassed:te,permissionMode:ne,modeIsBypass:re,allowDangerouslySkipPermissionsPassed:ie,systemPromptFlag:ae,appendSystemPromptFlag:oe,thinkingConfig:se,assistantActivationPath:ce}){try{Y(`tengu_init`,{entrypoint:`claude`,hasInitialPrompt:e,hasStdin:t,verbose:n,debug:r,debugToStderr:i,print:a,outputFormat:o,inputFormat:s,numAllowedTools:c,numDisallowedTools:l,mcpClientCount:f,worktree:p,skipWebFetchPreflight:m,...ee&&{githubActionInputs:ee},dangerouslySkipPermissionsPassed:te,permissionMode:ne,modeIsBypass:re,inProtectedNamespace:d(),allowDangerouslySkipPermissionsPassed:ie,thinkingType:se.type,...se.type===`enabled`&&{thinkingBudgetTokens:se.budgetTokens},...ae&&{systemPromptFlag:ae},...oe&&{appendSystemPromptFlag:oe},is_simple:u()||void 0,...ce&&{assistantActivationPath:ce},autoUpdatesChannel:ci().autoUpdatesChannel??`latest`})}catch(e){q(e)}}function kc(t){if(t.proactive||c(process.env.CLAUDE_CODE_PROACTIVE)){let t=(R(),e(E));t.isProactiveActive()||t.activateProactive(`command`)}}function Ac(){(process.stderr.isTTY?process.stderr:process.stdout.isTTY?process.stdout:void 0)?.write(Rn)}export{Tc as main};
|
|
345
|
+
You will receive periodic <tick> prompts. These are check-ins. Do whatever seems most useful, or call Sleep if there's nothing to do. The user will see any text you output.`;C=C?`${C}\n\n${e}`:e}let F,I,Dt;if(!x){let e=ys(!1);I=e.getFpsMetrics,Dt=e.stats;let{createRoot:t}=await import(`./src-9vmGsuSI.js`);F=await t(e.renderOptions),Y(`tengu_timer`,{event:`startup`,durationMs:Math.round(process.uptime()*1e3)}),B(`[STARTUP] Running showSetupScreens()...`);let n=Date.now();await vs(F,w,a,gt),B(`[STARTUP] showSetupScreens() completed in ${Date.now()-n}ms`)}if(process.exitCode!==void 0){B(`Graceful shutdown initiated, skipping further initialization`);return}if(tn(),!x){let{errors:e}=ni(),t=e.filter(e=>!e.mcpErrorMetadata);t.length>0&&await bs(F,{settingsErrors:t,onExit:()=>Ct(1)})}let jt=K().startupPrefetchedAt??0;u()?B(`Skipping startup prefetches, last ran ${Math.round((Date.now()-jt)/1e3)}s ago`):(B(`Starting background startup prefetches${jt>0?` last ran ${Math.round((Date.now()-jt)/1e3)}s ago`:``}`),Ie().catch(e=>q(e))),x||oo();let{servers:Ft}=await Xe;B(`[STARTUP] MCP configs resolved in ${Ye}ms (awaited at +${Date.now()-Je}ms)`);let It={...Ft,...T},Lt={},Rt={};for(let[e,t]of Object.entries(It)){let n=t;n.type===`sdk`?Lt[e]=n:Rt[e]=n}X(`action_mcp_configs_loaded`);let zt=(x||Pe?Promise.resolve({clients:[],tools:[],commands:[]}):xt(Rt)).then(e=>({clients:e.clients,tools:At(e.tools,`name`),commands:At(e.commands,`name`)})),Bt=he||me||_e||x||t.continue||t.resume?null:ie(`startup`,{agentType:j?.agentType,model:N}),Vt=[];zt.catch(()=>{});let Ht=[],Ut=[],Kt=[],L=Yt(),R=L===!1?{type:`disabled`}:{type:`adaptive`};if(t.thinking===`adaptive`||t.thinking===`enabled`)L=!0,R={type:`adaptive`};else if(t.thinking===`disabled`)L=!1,R={type:`disabled`};else{let e=process.env.MAX_THINKING_TOKENS?parseInt(process.env.MAX_THINKING_TOKENS,10):t.maxThinkingTokens;e!==void 0&&(e>0?(L=!0,R={type:`enabled`,budgetTokens:e}):e===0&&(L=!1,R={type:`disabled`}))}V(`info`,`started`,{version:`0.0.24`,is_native_binary:Ai()}),Fr(async()=>{V(`info`,`exited`)}),Oc({hasInitialPrompt:!!e,hasStdin:!!D,verbose:y,debug:n,debugToStderr:r,print:de??!1,outputFormat:_??`text`,inputFormat:v??`text`,numAllowedTools:s.length,numDisallowedTools:l.length,mcpClientCount:Object.keys(It).length,worktreeEnabled:b,skipWebFetchPreflight:ci().skipWebFetchPreflight,githubActionInputs:process.env.GITHUB_ACTION_INPUTS,dangerouslySkipPermissionsPassed:i??!1,permissionMode:w,modeIsBypass:w===`bypassPermissions`,allowDangerouslySkipPermissionsPassed:a,systemPromptFlag:S?t.systemPromptFile?`file`:`flag`:void 0,appendSystemPromptFlag:C?t.appendSystemPromptFile?`file`:`flag`:void 0,thinkingConfig:R,assistantActivationPath:void 0}),nn(Rt,E),pc(),tt().then(e=>{e&&(st&&oe(st),xe().then(e=>{e>=2&&Y(`tengu_concurrent_sessions`,{num_sessions:e})}))}),u()||(x?(await Ze(),X(`action_after_plugins_init`),ce().then(()=>be())):Ze().then(async()=>{X(`action_after_plugins_init`),await ce(),be()}));let qt=he||me?`init`:_e?`maintenance`:null;if(he){no(),await vt(`init`,{forceSyncExecution:!0}),await ie(`startup`,{forceSyncExecution:!0}),Ct(0);return}if(x){(_===`stream-json`||_===`json`)&&zr(!0),no(),Xo();let e=t.continue||t.resume||qt?void 0:ie(`startup`);e?.catch(()=>{});let n=ve?[]:gt.filter(e=>e.type===`prompt`&&!e.disableNonInteractive||e.type===`local`&&e.supportsNonInteractive),r=fe(),i=qe({...r,mcp:{...r.mcp,clients:Ht,commands:Kt,tools:Ut},toolPermissionContext:E,...Bi()&&{fastMode:na(M??null)},...Wt()&&P&&{advisorModel:P}},$a);De(E,i.getState().fastMode).then(({updateContext:e})=>{i.setState(t=>{let n=e(t.toolPermissionContext);return n===t.toolPermissionContext?t:{...t,toolPermissionContext:n}})}),t.sessionPersistence===!1&&ar(!0),er(ne(ee)),X(`before_connectMcp`),await((e,t)=>Object.keys(e).length===0?Promise.resolve():(i.setState(t=>({...t,mcp:{...t.mcp,clients:[...t.mcp.clients,...Object.entries(e).map(([e,t])=>({name:e,type:`pending`,config:t}))]}})),Le(({client:e,tools:t,commands:n})=>{i.setState(r=>({...r,mcp:{...r.mcp,clients:r.mcp.clients.some(t=>t.name===e.name)?r.mcp.clients.map(t=>t.name===e.name?e:t):[...r.mcp.clients,e],tools:At([...r.mcp.tools,...t],`name`),commands:At([...r.mcp.commands,...n],`name`)}}))},e).catch(e=>B(`[MCP] ${t} connect error: ${e}`))))(Rt,`regular`),X(`after_connectMcp`),u()||(bc(),import(`./backgroundHousekeeping-Cl3Ox7Qh.js`).then(e=>e.startBackgroundHousekeeping())),mc(),X(`before_print_import`);let{runHeadless:a}=await import(`./print-CgszM1ea.js`);X(`after_print_import`),a(D,()=>i.getState(),i.setState,n,Qe,Lt,k.activeAgents,{continue:t.continue,resume:t.resume,verbose:y,outputFormat:_,jsonSchema:O,permissionPromptToolName:t.permissionPromptTool,allowedTools:s,thinkingConfig:R,maxTurns:t.maxTurns,maxBudgetUsd:t.maxBudgetUsd,taskBudget:t.taskBudget?{total:t.taskBudget}:void 0,systemPrompt:S,appendSystemPrompt:C,userSpecifiedModel:M,fallbackModel:lt,sdkUrl:Ee,replayUserMessages:ot,includePartialMessages:Oe,forkSession:t.forkSession||!1,resumeSessionAt:t.resumeSessionAt||void 0,rewindFiles:t.rewindFiles,agent:g,workload:t.workload,setupTrigger:qt??void 0,sessionStartHooksPromise:e});return}Y(`tengu_startup_manual_model_config`,{cli_flag:t.model,env_var:process.env.ANTHROPIC_MODEL,settings_file:ci()?.model,agent:A});let Jt=io(N),Xt=[];Me&&Xt.push({key:`permission-mode-notification`,text:Me,priority:`high`}),Jt&&Xt.push({key:`model-deprecation-warning`,text:Jt,color:`warning`,priority:`high`});let Qt={...E},on={settings:ci(),tasks:{},agentNameRegistry:new Map,verbose:y??K().verbose??!1,mainLoopModel:Tt,mainLoopModelForSession:null,expandedView:K().showExpandedTodos?`tasks`:`none`,selectedIPAgentIndex:-1,selectedBgAgentIndex:-1,viewSelectionMode:`none`,footerSelection:null,toolPermissionContext:Qt,agent:j?.agentType,agentDefinitions:k,mcp:{clients:[],tools:[],commands:[],resources:{},pluginReconnectKey:0},plugins:{enabled:[],disabled:[],commands:[],errors:[],installationStatus:{marketplaces:[],plugins:[]},needsRefresh:!1},statusLineText:void 0,notifications:{current:null,queue:Xt},elicitation:{queue:[]},todos:{},fileHistory:{snapshots:[],trackedFiles:new Set,snapshotSequence:0},attribution:pt(),thinkingEnabled:L,promptSuggestionEnabled:Ae(),sessionHooks:new Map,inbox:{messages:[]},promptSuggestion:{text:null,promptId:null,shownAt:0,acceptedAt:0,generationRequestId:null},speculation:We,speculationSessionTimeSavedMs:0,skillImprovement:{suggestion:null},initialMessage:D?{message:Gt({content:String(D)})}:null,activeOverlays:new Set,fastMode:na(N),...Wt()&&P&&{advisorModel:P}};D&&ja(String(D));let ln=Ut;W(e=>({...e,numStartups:(e.numStartups??0)+1})),setImmediate(()=>{gc(),mc()});let un={debug:n||r,commands:[...gt,...Kt],initialTools:ln,mcpClients:Ht,autoConnectIdeFlag:te,mainThreadAgentDefinition:j,disableSlashCommands:ve,dynamicMcpConfig:T,strictMcpConfig:Pe,systemPrompt:S,appendSystemPrompt:C,thinkingConfig:R},dn={mainThreadAgentDefinition:j,agentDefinitions:k,currentCwd:mt,cliAgents:yt,initialState:on};if(t.continue){let e=!1;try{let n=performance.now(),{clearSessionCaches:r}=await import(`./caches-ChjIEcdd.js`);r();let i=await Ba(void 0,void 0);if(!i)return Y(`tengu_continue`,{success:!1}),await hs(F,`No conversation found to continue`);let a=await Ua(i,{forkSession:!!t.forkSession,includeAttribution:!0,transcriptPath:i.fullPath},dn);a.restoredAgentDef&&(j=a.restoredAgentDef),kc(t),Y(`tengu_continue`,{success:!0,resume_duration_ms:Math.round(performance.now()-n)}),e=!0,await $o(F,{getFpsMetrics:I,stats:Dt,initialState:a.initialState},{...un,mainThreadAgentDefinition:a.restoredAgentDef??j,initialMessages:a.messages,initialFileHistorySnapshots:a.fileHistorySnapshots,initialContentReplacements:a.contentReplacements,initialAgentName:a.agentName,initialAgentColor:a.agentColor},_s)}catch(t){e||Y(`tengu_continue`,{success:!1}),q(t),process.exit(1)}}else if(t.resume||t.fromPr){let{clearSessionCaches:e}=await import(`./caches-ChjIEcdd.js`);e();let n,r=Te(t.resume),i,a=null,o;if(t.fromPr&&(t.fromPr===!0?o=!0:typeof t.fromPr==`string`&&(o=t.fromPr)),t.resume&&typeof t.resume==`string`&&!r){let e=t.resume.trim();if(e){let t=await en(e,{exact:!0});t.length===1?(a=t[0],r=sn(a)??null):i=e}}if(r){let e=r;try{let r=performance.now(),i=await Ba(a??e,void 0);if(!i)return Y(`tengu_session_resumed`,{entrypoint:`cli_flag`,success:!1}),await hs(F,`No conversation found with session ID: ${e}`);let o=a?.fullPath??i.fullPath;n=await Ua(i,{forkSession:!!t.forkSession,sessionIdOverride:e,transcriptPath:o},dn),n.restoredAgentDef&&(j=n.restoredAgentDef),Y(`tengu_session_resumed`,{entrypoint:`cli_flag`,success:!0,resume_duration_ms:Math.round(performance.now()-r)})}catch(t){Y(`tengu_session_resumed`,{entrypoint:`cli_flag`,success:!1}),q(t),await hs(F,`Failed to resume session ${e}`)}}let s=n??(Array.isArray(null)?{messages:null,fileHistorySnapshots:void 0,agentName:void 0,agentColor:void 0,restoredAgentDef:j,initialState:on,contentReplacements:void 0}:void 0);s?(kc(t),await $o(F,{getFpsMetrics:I,stats:Dt,initialState:s.initialState},{...un,mainThreadAgentDefinition:s.restoredAgentDef??j,initialMessages:s.messages,initialFileHistorySnapshots:s.fileHistorySnapshots,initialContentReplacements:s.contentReplacements,initialAgentName:s.agentName,initialAgentColor:s.agentColor},_s)):await xs(F,{getFpsMetrics:I,stats:Dt,initialState:on},ut(ir()),{...un,initialSearchQuery:i,forkSession:t.forkSession,filterByPr:o})}else{let e=Bt&&Vt.length===0?Bt:void 0;X(`action_after_hooks`),kc(t);let n=null;t.deepLinkOrigin?(Y(`tengu_deep_link_opened`,{has_prefill:!!t.prefill,has_repo:!!t.deepLinkRepo}),n=an(po({cwd:Tr(),prefillLength:t.prefill?.length,repo:t.deepLinkRepo,lastFetch:t.deepLinkLastFetch===void 0?void 0:new Date(t.deepLinkLastFetch)}),`warning`)):t.prefill&&(n=an(`Launched with a pre-filled prompt — review it before pressing Enter.`,`warning`));let r=n?[n,...Vt]:Vt.length>0?Vt:void 0;await $o(F,{getFpsMetrics:I,stats:Dt,initialState:on},{...un,initialMessages:r,pendingHookMessages:e},_s)}}).version(`0.0.24 (Work Mate)`,`-v, --version`,`Output the version number`),t.option(`-w, --worktree [name]`,`Create a new git worktree for this session (optionally specify a name)`),t.option(`--tmux`,`Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.`),Nt()&&t.addOption(new Z(`--advisor <model>`,`Enable the server-side advisor tool with the specified model (alias or full ID).`).hideHelp()),t.addOption(new Z(`--enable-auto-mode`,`Opt in to auto mode`).hideHelp()),t.addOption(new Z(`--proactive`,`Start in proactive autonomous mode`)),X(`run_main_options_built`);let n=process.argv.includes(`-p`)||process.argv.includes(`--print`),r=process.argv.some(e=>e.startsWith(`cc://`)||e.startsWith(`cc+unix://`));if(n&&!r)return X(`run_before_parse`),await t.parseAsync(process.argv),X(`run_after_parse`),t;let i=t.command(`mcp`).description(`Configure and manage MCP servers`).configureHelp(e()).enablePositionalOptions();i.command(`serve`).description(`Start the Work Mate MCP server`).option(`-d, --debug`,`Enable debug mode`,()=>!0).option(`--verbose`,`Override verbose mode setting from config`,()=>!0).action(async({debug:e,verbose:t})=>{let{mcpServeHandler:n}=await import(`./mcp-hp9qqjAy.js`);await n({debug:e,verbose:t})}),ac(i),i.command(`remove <name>`).description(`Remove an MCP server`).option(`-s, --scope <scope>`,`Configuration scope (local, user, or project) - if not specified, removes from whichever scope it exists in`).action(async(e,t)=>{let{mcpRemoveHandler:n}=await import(`./mcp-hp9qqjAy.js`);await n(e,t)}),i.command(`list`).description(`List configured MCP servers. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.`).action(async()=>{let{mcpListHandler:e}=await import(`./mcp-hp9qqjAy.js`);await e()}),i.command(`get <name>`).description(`Get details about an MCP server. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.`).action(async e=>{let{mcpGetHandler:t}=await import(`./mcp-hp9qqjAy.js`);await t(e)}),i.command(`add-json <name> <json>`).description(`Add an MCP server (stdio or SSE) with a JSON string`).option(`-s, --scope <scope>`,`Configuration scope (local, user, or project)`,`local`).action(async(e,t,n)=>{let{mcpAddJsonHandler:r}=await import(`./mcp-hp9qqjAy.js`);await r(e,t,n)}),i.command(`add-from-claude-desktop`).description(`Import MCP servers from Work Mate Desktop (Mac and WSL only)`).option(`-s, --scope <scope>`,`Configuration scope (local, user, or project)`,`local`).action(async e=>{let{mcpAddFromDesktopHandler:t}=await import(`./mcp-hp9qqjAy.js`);await t(e)}),i.command(`reset-project-choices`).description(`Reset all approved and rejected project-scoped (.mcp.json) servers within this project`).action(async()=>{let{mcpResetChoicesHandler:e}=await import(`./mcp-hp9qqjAy.js`);await e()});let a=()=>new Z(`--cowork`,`Use cowork_plugins directory`).hideHelp(),o=t.command(`plugin`).alias(`plugins`).description(`Manage Work Mate plugins`).configureHelp(e());o.command(`validate <path>`).description(`Validate a plugin or marketplace manifest`).addOption(a()).action(async(e,t)=>{let{pluginValidateHandler:n}=await import(`./plugins-IwwaCDba.js`);await n(e,t)}),o.command(`list`).description(`List installed plugins`).option(`--json`,`Output as JSON`).option(`--available`,`Include available plugins from marketplaces (requires --json)`).addOption(a()).action(async e=>{let{pluginListHandler:t}=await import(`./plugins-IwwaCDba.js`);await t(e)});let s=o.command(`marketplace`).description(`Manage Work Mate marketplaces`).configureHelp(e());return s.command(`add <source>`).description(`Add a marketplace from a URL, path, or GitHub repo`).addOption(a()).option(`--sparse <paths...>`,`Limit checkout to specific directories via git sparse-checkout (for monorepos). Example: --sparse .claude-plugin plugins`).option(`--scope <scope>`,`Where to declare the marketplace: user (default), project, or local`).action(async(e,t)=>{let{marketplaceAddHandler:n}=await import(`./plugins-IwwaCDba.js`);await n(e,t)}),s.command(`list`).description(`List all configured marketplaces`).option(`--json`,`Output as JSON`).addOption(a()).action(async e=>{let{marketplaceListHandler:t}=await import(`./plugins-IwwaCDba.js`);await t(e)}),s.command(`remove <name>`).alias(`rm`).description(`Remove a configured marketplace`).addOption(a()).action(async(e,t)=>{let{marketplaceRemoveHandler:n}=await import(`./plugins-IwwaCDba.js`);await n(e,t)}),s.command(`update [name]`).description(`Update marketplace(s) from their source - updates all if no name specified`).addOption(a()).action(async(e,t)=>{let{marketplaceUpdateHandler:n}=await import(`./plugins-IwwaCDba.js`);await n(e,t)}),o.command(`install <plugin>`).alias(`i`).description(`Install a plugin from available marketplaces (use plugin@marketplace for specific marketplace)`).option(`-s, --scope <scope>`,`Installation scope: user, project, or local`,`user`).addOption(a()).action(async(e,t)=>{let{pluginInstallHandler:n}=await import(`./plugins-IwwaCDba.js`);await n(e,t)}),o.command(`uninstall <plugin>`).alias(`remove`).alias(`rm`).description(`Uninstall an installed plugin`).option(`-s, --scope <scope>`,`Uninstall from scope: user, project, or local`,`user`).option(`--keep-data`,`Preserve the plugin's persistent data directory (~/.workmate/plugins/data/{id}/)`).addOption(a()).action(async(e,t)=>{let{pluginUninstallHandler:n}=await import(`./plugins-IwwaCDba.js`);await n(e,t)}),o.command(`enable <plugin>`).description(`Enable a disabled plugin`).option(`-s, --scope <scope>`,`Installation scope: ${za.join(`, `)} (default: auto-detect)`).addOption(a()).action(async(e,t)=>{let{pluginEnableHandler:n}=await import(`./plugins-IwwaCDba.js`);await n(e,t)}),o.command(`disable [plugin]`).description(`Disable an enabled plugin`).option(`-a, --all`,`Disable all enabled plugins`).option(`-s, --scope <scope>`,`Installation scope: ${za.join(`, `)} (default: auto-detect)`).addOption(a()).action(async(e,t)=>{let{pluginDisableHandler:n}=await import(`./plugins-IwwaCDba.js`);await n(e,t)}),o.command(`update <plugin>`).description(`Update a plugin to the latest version (restart required to apply)`).option(`-s, --scope <scope>`,`Installation scope: ${La.join(`, `)} (default: user)`).addOption(a()).action(async(e,t)=>{let{pluginUpdateHandler:n}=await import(`./plugins-IwwaCDba.js`);await n(e,t)}),t.command(`agents`).description(`List configured agents`).option(`--setting-sources <sources>`,`Comma-separated list of setting sources to load (user, project, local).`).action(async()=>{let{agentsHandler:e}=await import(`./agents-DddX7lLX.js`);await e(),process.exit(0)}),t.command(`doctor`).description(`Check the health of your Work Mate auto-updater. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.`).action(async()=>{let[{doctorHandler:e},{createRoot:t}]=await Promise.all([import(`./util-Cbb3S6SX.js`),import(`./src-9vmGsuSI.js`)]);await e(await t(ro(!1)))}),t.command(`install [target]`).description(`Install Work Mate native build. Use [target] to specify version (stable, latest, or specific version)`).option(`--force`,`Force installation even if already installed`).action(async(e,t)=>{let{installHandler:n}=await import(`./util-Cbb3S6SX.js`);await n(e,t)}),X(`run_before_parse`),await t.parseAsync(process.argv),X(`run_after_parse`),X(`main_after_run`),Li(),t}async function Oc({hasInitialPrompt:e,hasStdin:t,verbose:n,debug:r,debugToStderr:i,print:a,outputFormat:o,inputFormat:s,numAllowedTools:c,numDisallowedTools:l,mcpClientCount:f,worktreeEnabled:p,skipWebFetchPreflight:m,githubActionInputs:ee,dangerouslySkipPermissionsPassed:te,permissionMode:ne,modeIsBypass:re,allowDangerouslySkipPermissionsPassed:ie,systemPromptFlag:ae,appendSystemPromptFlag:oe,thinkingConfig:se,assistantActivationPath:ce}){try{Y(`tengu_init`,{entrypoint:`claude`,hasInitialPrompt:e,hasStdin:t,verbose:n,debug:r,debugToStderr:i,print:a,outputFormat:o,inputFormat:s,numAllowedTools:c,numDisallowedTools:l,mcpClientCount:f,worktree:p,skipWebFetchPreflight:m,...ee&&{githubActionInputs:ee},dangerouslySkipPermissionsPassed:te,permissionMode:ne,modeIsBypass:re,inProtectedNamespace:d(),allowDangerouslySkipPermissionsPassed:ie,thinkingType:se.type,...se.type===`enabled`&&{thinkingBudgetTokens:se.budgetTokens},...ae&&{systemPromptFlag:ae},...oe&&{appendSystemPromptFlag:oe},is_simple:u()||void 0,...ce&&{assistantActivationPath:ce},autoUpdatesChannel:ci().autoUpdatesChannel??`latest`})}catch(e){q(e)}}function kc(t){if(t.proactive||c(process.env.CLAUDE_CODE_PROACTIVE)){let t=(R(),e(E));t.isProactiveActive()||t.activateProactive(`command`)}}function Ac(){(process.stderr.isTTY?process.stderr:process.stdout.isTTY?process.stdout:void 0)?.write(Rn)}export{Tc as main};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{n,t as r}from"./figures-5ThXQEtq.js";import{Ip as i,Lp as a,Rp as o,dv as s,gv as c,iv as l,mb as u,md as d,pd as f,pv as p}from"./loadAgentsDir-DlPbtIsS.js";import{D as m,Gt as h,H as g,I as _,Lt as ee,P as v,T as y,ai as b,j as x,t as S,y as C}from"./src-DL3w8VPk.js";import{t as w}from"./jsx-runtime-Bb4Xn-E0.js";import{a as te,i as T}from"./debug-Bglx1aTu.js";import{l as ne,n as E,o as D}from"./stringUtils-C718f5ey.js";import{i as O,n as k,r as A}from"./MCPConnectionManager-thZd-xA_.js";import{t as re}from"./select-Bxf5-5sI.js";import{r as ie,t as ae}from"./Spinner-zYPFVFHN.js";import{t as j}from"./CustomSelect-DoeEXOIP.js";import{n as M,t as oe}from"./McpParsingWarnings-JvChf3xr.js";import{a as se,c as N,i as P,n as F,o as I,r as ce,s as le,t as ue}from"./MCPToolListView-CpY-YJg4.js";function de({agentServer:e,onCancel:t}){let[n]=g();return(0,L.jsxs)(C,{title:`${E(String(e.name))} MCP Server`,subtitle:`agent-only`,onCancel:t,inputGuide:e=>e.pending?(0,L.jsxs)(v,{children:[`Press `,e.keyName,` again to exit`]}):(0,L.jsxs)(y,{children:[(0,L.jsx)(m,{shortcut:`↑↓`,action:`navigate`}),(0,L.jsx)(m,{shortcut:`Enter`,action:`confirm`}),(0,L.jsx)(f,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`go back`})]}),children:[(0,L.jsxs)(_,{flexDirection:`column`,gap:0,children:[(0,L.jsxs)(_,{children:[(0,L.jsx)(v,{bold:!0,children:`Type: `}),(0,L.jsx)(v,{dimColor:!0,children:e.transport})]}),e.url&&(0,L.jsxs)(_,{children:[(0,L.jsx)(v,{bold:!0,children:`URL: `}),(0,L.jsx)(v,{dimColor:!0,children:e.url})]}),e.command&&(0,L.jsxs)(_,{children:[(0,L.jsx)(v,{bold:!0,children:`Command: `}),(0,L.jsx)(v,{dimColor:!0,children:e.command})]}),(0,L.jsxs)(_,{children:[(0,L.jsx)(v,{bold:!0,children:`Used by: `}),(0,L.jsx)(v,{dimColor:!0,children:e.sourceAgents.join(`, `)})]}),(0,L.jsxs)(_,{marginTop:1,children:[(0,L.jsx)(v,{bold:!0,children:`Status: `}),(0,L.jsxs)(v,{children:[x(`inactive`,n)(r.radioOff),` not connected (agent-only)`]})]})]}),(0,L.jsx)(_,{children:(0,L.jsx)(v,{dimColor:!0,children:`This server connects only when running the agent.`})}),(0,L.jsx)(_,{children:(0,L.jsx)(re,{options:[{label:`Back`,value:`back`}],onChange:e=>{e===`back`&&t()},onCancel:t})})]})}var L,R=e((()=>{n(),S(),D(),d(),j(),L=w()}));function z(e){switch(e){case`project`:return{label:`Project MCPs`,path:l(e)};case`user`:return{label:`User MCPs`,path:l(e)};case`local`:return{label:`Local MCPs`,path:l(e)};case`enterprise`:return{label:`Enterprise MCPs`};case`dynamic`:return{label:`Built-in MCPs`,path:`always available`};default:return{label:e}}}function B(e){let t=new Map;for(let n of e){let e=n.scope;t.has(e)||t.set(e,[]),t.get(e).push(n)}for(let[,e]of t)e.sort((e,t)=>e.name.localeCompare(t.name));return t}function V({servers:e,agentServers:t=[],onSelectServer:n,onSelectAgentServer:i,onComplete:a}){let[o]=g(),[s,c]=(0,H.useState)(0),l=H.useMemo(()=>B(e.filter(e=>e.client.config.type!==`claudeai-proxy`)),[e]),u=H.useMemo(()=>e.filter(e=>e.client.config.type===`claudeai-proxy`).sort((e,t)=>e.name.localeCompare(t.name)),[e]),d=H.useMemo(()=>(l.get(`dynamic`)??[]).sort((e,t)=>e.name.localeCompare(t.name)),[l]),p=z(`dynamic`),b=H.useMemo(()=>{let e=[];for(let t of W){let n=l.get(t)??[];for(let t of n)e.push({type:`server`,server:t})}for(let t of u)e.push({type:`server`,server:t});for(let n of t)e.push({type:`agent-server`,agentServer:n});for(let t of d)e.push({type:`server`,server:t});return e},[l,u,t,d]),S=(0,H.useCallback)(()=>{a(`MCP dialog dismissed`,{display:`system`})},[a]);h({"confirm:previous":()=>c(e=>e===0?b.length-1:e-1),"confirm:next":()=>c(e=>e===b.length-1?0:e+1),"confirm:yes":(0,H.useCallback)(()=>{let e=b[s];e&&(e.type===`server`?n(e.server):e.type===`agent-server`&&i&&i(e.agentServer))},[b,s,n,i]),"confirm:no":S},{context:`Confirmation`});let w=e=>b.findIndex(t=>t.type===`server`&&t.server===e),T=e=>b.findIndex(t=>t.type===`agent-server`&&t.agentServer===e),E=te(),D=e.some(e=>e.client.type===`failed`);if(e.length===0&&t.length===0)return null;let O=e=>{let t=w(e),n=s===t,i=``,a=``;if(e.client.type===`disabled`)i=x(`inactive`,o)(r.radioOff),a=`disabled`;else if(e.client.type===`connected`)i=x(`success`,o)(r.tick),a=`connected`;else if(e.client.type===`pending`){i=x(`inactive`,o)(r.radioOff);let{reconnectAttempt:t,maxReconnectAttempts:n}=e.client;a=t&&n?`reconnecting (${t}/${n})…`:`connecting…`}else e.client.type===`needs-auth`?(i=x(`warning`,o)(r.triangleUpOutline),a=`needs authentication`):(i=x(`error`,o)(r.cross),a=`failed`);return(0,U.jsxs)(_,{children:[(0,U.jsx)(v,{color:n?`suggestion`:void 0,children:n?`${r.pointer} `:` `}),(0,U.jsx)(v,{color:n?`suggestion`:void 0,children:e.name}),(0,U.jsxs)(v,{dimColor:!n,children:[` · `,i,` `]}),(0,U.jsx)(v,{dimColor:!n,children:a})]},`${e.name}-${t}`)},k=e=>{let t=T(e),n=s===t,i=e.needsAuth?x(`warning`,o)(r.triangleUpOutline):x(`inactive`,o)(r.radioOff),a=e.needsAuth?`may need auth`:`agent-only`;return(0,U.jsxs)(_,{children:[(0,U.jsx)(v,{color:n?`suggestion`:void 0,children:n?`${r.pointer} `:` `}),(0,U.jsx)(v,{color:n?`suggestion`:void 0,children:e.name}),(0,U.jsxs)(v,{dimColor:!n,children:[` · `,i,` `]}),(0,U.jsx)(v,{dimColor:!n,children:a})]},`agent-${e.name}-${t}`)},A=e.length+t.length;return(0,U.jsxs)(_,{flexDirection:`column`,children:[(0,U.jsx)(oe,{}),(0,U.jsx)(C,{title:`Manage MCP servers`,subtitle:`${A} ${ne(A,`server`)}`,onCancel:S,hideInputGuide:!0,children:(0,U.jsxs)(_,{flexDirection:`column`,children:[W.map(e=>{let t=l.get(e);if(!t||t.length===0)return null;let n=z(e);return(0,U.jsxs)(_,{flexDirection:`column`,marginBottom:1,children:[(0,U.jsxs)(_,{paddingLeft:2,children:[(0,U.jsx)(v,{bold:!0,children:n.label}),n.path&&(0,U.jsxs)(v,{dimColor:!0,children:[` (`,n.path,`)`]})]}),t.map(e=>O(e))]},e)}),u.length>0&&(0,U.jsxs)(_,{flexDirection:`column`,marginBottom:1,children:[(0,U.jsx)(_,{paddingLeft:2,children:(0,U.jsx)(v,{bold:!0,children:`claude.ai`})}),u.map(e=>O(e))]}),t.length>0&&(0,U.jsxs)(_,{flexDirection:`column`,marginBottom:1,children:[(0,U.jsx)(_,{paddingLeft:2,children:(0,U.jsx)(v,{bold:!0,children:`Agent MCPs`})}),[...new Set(t.flatMap(e=>e.sourceAgents))].map(e=>(0,U.jsxs)(_,{flexDirection:`column`,marginTop:1,children:[(0,U.jsx)(_,{paddingLeft:2,children:(0,U.jsxs)(v,{dimColor:!0,children:[`@`,e]})}),t.filter(t=>t.sourceAgents.includes(e)).map(e=>k(e))]},e))]}),d.length>0&&(0,U.jsxs)(_,{flexDirection:`column`,marginBottom:1,children:[(0,U.jsxs)(_,{paddingLeft:2,children:[(0,U.jsx)(v,{bold:!0,children:p.label}),p.path&&(0,U.jsxs)(v,{dimColor:!0,children:[` (`,p.path,`)`]})]}),d.map(e=>O(e))]}),(0,U.jsxs)(_,{flexDirection:`column`,children:[D&&(0,U.jsx)(v,{dimColor:!0,children:E?`※ Error logs shown inline with --debug`:`※ Run claude --debug to see error logs`}),(0,U.jsxs)(v,{dimColor:!0,children:[(0,U.jsx)(ee,{url:`https://code.workmate.com/docs/en/mcp`,children:`https://code.workmate.com/docs/en/mcp`}),` for help`]})]})]})}),(0,U.jsx)(_,{paddingX:1,children:(0,U.jsx)(v,{dimColor:!0,italic:!0,children:(0,U.jsxs)(y,{children:[(0,U.jsx)(m,{shortcut:`↑↓`,action:`navigate`}),(0,U.jsx)(m,{shortcut:`Enter`,action:`confirm`}),(0,U.jsx)(f,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})})})]})}var H,U,W,G=e((()=>{n(),H=t(b(),1),S(),u(),c(),T(),D(),d(),M(),U=w(),W=[`project`,`local`,`user`,`enterprise`]}));function fe({serverName:e,onComplete:t}){let[n]=g(),i=o(),a=A(),[s,c]=(0,K.useState)(!0),[l,u]=(0,K.useState)(null);return(0,K.useEffect)(()=>{async function n(){try{if(!i.getState().mcp.clients.find(t=>t.name===e)){u(`MCP server "${e}" not found`),c(!1),t(`MCP server "${e}" not found`);return}switch((await a(e)).client.type){case`connected`:c(!1),t(`Successfully reconnected to ${e}`);break;case`needs-auth`:u(`${e} requires authentication`),c(!1),t(`${e} requires authentication.`);break;case`pending`:case`failed`:case`disabled`:u(`Failed to reconnect to ${e}`),c(!1),t(`Failed to reconnect to ${e}`);break}}catch(e){let n=e instanceof Error?e.message:String(e);u(n),c(!1),t(`Error: ${n}`)}}n()},[e,a,i,t]),s?(0,q.jsxs)(_,{flexDirection:`column`,gap:1,padding:1,children:[(0,q.jsxs)(v,{color:`text`,children:[`Reconnecting to `,(0,q.jsx)(v,{bold:!0,children:e})]}),(0,q.jsxs)(_,{children:[(0,q.jsx)(ae,{}),(0,q.jsx)(v,{children:` Establishing connection to MCP server`})]})]}):l?(0,q.jsxs)(_,{flexDirection:`column`,gap:1,padding:1,children:[(0,q.jsxs)(_,{children:[(0,q.jsxs)(v,{children:[x(`error`,n)(r.cross),` `]}),(0,q.jsxs)(v,{color:`error`,children:[`Failed to reconnect to `,e]})]}),(0,q.jsxs)(v,{dimColor:!0,children:[`Error: `,l]})]}):null}var K,q,J=e((()=>{n(),K=t(b(),1),S(),k(),i(),ie(),q=w()}));function Y({onComplete:e}){let t=a(e=>e.mcp),n=a(e=>e.agentDefinitions),r=t.clients,[i,o]=X.useState({type:`list`}),[c,l]=X.useState([]),u=(0,X.useMemo)(()=>s(n.allAgents),[n.allAgents]),d=X.useMemo(()=>r.filter(e=>e.name!==`ide`).sort((e,t)=>e.name.localeCompare(t.name)),[r]);switch(X.useEffect(()=>{let e=!1;async function n(){let n=await Promise.all(d.map(async e=>{let n=e.config.scope,r=e.config.type===`sse`,i=e.config.type===`http`,a=e.config.type===`claudeai-proxy`,o;(r||i)&&(o=e.type===`connected`&&p(t.tools,e.name).length>0);let s={name:e.name,client:e,scope:n};return a?{...s,transport:`claudeai-proxy`,isAuthenticated:!1,config:e.config}:r?{...s,transport:`sse`,isAuthenticated:o,config:e.config}:i?{...s,transport:`http`,isAuthenticated:o,config:e.config}:{...s,transport:`stdio`,config:e.config}}));e||l(n)}return n(),()=>{e=!0}},[d,t.tools]),(0,X.useEffect)(()=>{c.length===0&&d.length>0||c.length===0&&u.length===0&&e("No MCP servers configured. Please run /doctor if this is unexpected. Otherwise, run `claude mcp --help` or visit https://code.workmate.com/docs/en/mcp to learn more.")},[c.length,d.length,u.length,e]),i.type){case`list`:return(0,Z.jsx)(V,{servers:c,agentServers:u,onSelectServer:e=>o({type:`server-menu`,server:e}),onSelectAgentServer:e=>o({type:`agent-server-menu`,agentServer:e}),onComplete:e,defaultTab:i.defaultTab});case`server-menu`:{let n=p(t.tools,i.server.name),r=i.server.transport===`claudeai-proxy`?`claude.ai`:`Work Mate`;return i.server.transport===`stdio`?(0,Z.jsx)(se,{server:i.server,serverToolsCount:n.length,onViewTools:()=>o({type:`server-tools`,server:i.server}),onCancel:()=>o({type:`list`,defaultTab:r}),onComplete:e}):(0,Z.jsx)(le,{server:i.server,serverToolsCount:n.length,onViewTools:()=>o({type:`server-tools`,server:i.server}),onCancel:()=>o({type:`list`,defaultTab:r}),onComplete:e})}case`server-tools`:return(0,Z.jsx)(ue,{server:i.server,onSelectTool:(e,t)=>o({type:`server-tool-detail`,server:i.server,toolIndex:t}),onBack:()=>o({type:`server-menu`,server:i.server})});case`server-tool-detail`:{let e=p(t.tools,i.server.name)[i.toolIndex];return e?(0,Z.jsx)(ce,{tool:e,server:i.server,onBack:()=>o({type:`server-tools`,server:i.server})}):(o({type:`server-tools`,server:i.server}),null)}case`agent-server-menu`:return(0,Z.jsx)(de,{agentServer:i.agentServer,onCancel:()=>o({type:`list`,defaultTab:`Agents`}),onComplete:e})}}var X,Z,pe=e((()=>{X=t(b(),1),c(),i(),R(),G(),N(),I(),P(),F(),Z=w()})),me=e((()=>{R(),G(),J(),N(),pe(),I(),P(),F()}));function he({action:e,target:t,onComplete:n}){let r=a(e=>e.mcp.clients),i=O(),o=(0,Q.useRef)(!1);return(0,Q.useEffect)(()=>{if(o.current)return;o.current=!0;let a=e===`enable`,s=r.filter(e=>e.name!==`ide`),c=t===`all`?s.filter(e=>a?e.type===`disabled`:e.type!==`disabled`):s.filter(e=>e.name===t);if(c.length===0){n(t===`all`?`All MCP servers are already ${a?`enabled`:`disabled`}`:`MCP server "${t}" not found`);return}for(let e of c)i(e.name);n(t===`all`?`${a?`Enabled`:`Disabled`} ${c.length} MCP server(s)`:`MCP server "${t}" ${a?`enabled`:`disabled`}`)},[e,t,r,i,n]),null}async function ge(e,t,n){if(n){let t=n.trim().split(/\s+/);if(t[0]===`no-redirect`)return(0,$.jsx)(Y,{onComplete:e});if(t[0]===`reconnect`&&t[1])return(0,$.jsx)(fe,{serverName:t.slice(1).join(` `),onComplete:e});if(t[0]===`enable`||t[0]===`disable`)return(0,$.jsx)(he,{action:t[0],target:t.length>1?t.slice(1).join(` `):`all`,onComplete:e})}return(0,$.jsx)(Y,{onComplete:e})}var Q,$;e((()=>{Q=t(b(),1),me(),J(),k(),i(),$=w()}))();export{ge as call};
|
|
1
|
+
import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{n,t as r}from"./figures-5ThXQEtq.js";import{Ip as i,Lp as a,Rp as o,dv as s,gv as c,iv as l,mb as u,md as d,pd as f,pv as p}from"./loadAgentsDir-B0Anodo0.js";import{D as m,Gt as h,H as g,I as _,Lt as ee,P as v,T as y,ai as b,j as x,t as S,y as C}from"./src-DL3w8VPk.js";import{t as w}from"./jsx-runtime-Bb4Xn-E0.js";import{a as te,i as T}from"./debug-Bglx1aTu.js";import{l as ne,n as E,o as D}from"./stringUtils-C718f5ey.js";import{i as O,n as k,r as A}from"./MCPConnectionManager-Cie77ZAK.js";import{t as re}from"./select-DIxfl_VN.js";import{r as ie,t as ae}from"./Spinner-ByQXTvAA.js";import{t as j}from"./CustomSelect-wmZ9jz0W.js";import{n as M,t as oe}from"./McpParsingWarnings-Bff66RtJ.js";import{a as se,c as N,i as P,n as F,o as I,r as ce,s as le,t as ue}from"./MCPToolListView-B4ehtkXd.js";function de({agentServer:e,onCancel:t}){let[n]=g();return(0,L.jsxs)(C,{title:`${E(String(e.name))} MCP Server`,subtitle:`agent-only`,onCancel:t,inputGuide:e=>e.pending?(0,L.jsxs)(v,{children:[`Press `,e.keyName,` again to exit`]}):(0,L.jsxs)(y,{children:[(0,L.jsx)(m,{shortcut:`↑↓`,action:`navigate`}),(0,L.jsx)(m,{shortcut:`Enter`,action:`confirm`}),(0,L.jsx)(f,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`go back`})]}),children:[(0,L.jsxs)(_,{flexDirection:`column`,gap:0,children:[(0,L.jsxs)(_,{children:[(0,L.jsx)(v,{bold:!0,children:`Type: `}),(0,L.jsx)(v,{dimColor:!0,children:e.transport})]}),e.url&&(0,L.jsxs)(_,{children:[(0,L.jsx)(v,{bold:!0,children:`URL: `}),(0,L.jsx)(v,{dimColor:!0,children:e.url})]}),e.command&&(0,L.jsxs)(_,{children:[(0,L.jsx)(v,{bold:!0,children:`Command: `}),(0,L.jsx)(v,{dimColor:!0,children:e.command})]}),(0,L.jsxs)(_,{children:[(0,L.jsx)(v,{bold:!0,children:`Used by: `}),(0,L.jsx)(v,{dimColor:!0,children:e.sourceAgents.join(`, `)})]}),(0,L.jsxs)(_,{marginTop:1,children:[(0,L.jsx)(v,{bold:!0,children:`Status: `}),(0,L.jsxs)(v,{children:[x(`inactive`,n)(r.radioOff),` not connected (agent-only)`]})]})]}),(0,L.jsx)(_,{children:(0,L.jsx)(v,{dimColor:!0,children:`This server connects only when running the agent.`})}),(0,L.jsx)(_,{children:(0,L.jsx)(re,{options:[{label:`Back`,value:`back`}],onChange:e=>{e===`back`&&t()},onCancel:t})})]})}var L,R=e((()=>{n(),S(),D(),d(),j(),L=w()}));function z(e){switch(e){case`project`:return{label:`Project MCPs`,path:l(e)};case`user`:return{label:`User MCPs`,path:l(e)};case`local`:return{label:`Local MCPs`,path:l(e)};case`enterprise`:return{label:`Enterprise MCPs`};case`dynamic`:return{label:`Built-in MCPs`,path:`always available`};default:return{label:e}}}function B(e){let t=new Map;for(let n of e){let e=n.scope;t.has(e)||t.set(e,[]),t.get(e).push(n)}for(let[,e]of t)e.sort((e,t)=>e.name.localeCompare(t.name));return t}function V({servers:e,agentServers:t=[],onSelectServer:n,onSelectAgentServer:i,onComplete:a}){let[o]=g(),[s,c]=(0,H.useState)(0),l=H.useMemo(()=>B(e.filter(e=>e.client.config.type!==`claudeai-proxy`)),[e]),u=H.useMemo(()=>e.filter(e=>e.client.config.type===`claudeai-proxy`).sort((e,t)=>e.name.localeCompare(t.name)),[e]),d=H.useMemo(()=>(l.get(`dynamic`)??[]).sort((e,t)=>e.name.localeCompare(t.name)),[l]),p=z(`dynamic`),b=H.useMemo(()=>{let e=[];for(let t of W){let n=l.get(t)??[];for(let t of n)e.push({type:`server`,server:t})}for(let t of u)e.push({type:`server`,server:t});for(let n of t)e.push({type:`agent-server`,agentServer:n});for(let t of d)e.push({type:`server`,server:t});return e},[l,u,t,d]),S=(0,H.useCallback)(()=>{a(`MCP dialog dismissed`,{display:`system`})},[a]);h({"confirm:previous":()=>c(e=>e===0?b.length-1:e-1),"confirm:next":()=>c(e=>e===b.length-1?0:e+1),"confirm:yes":(0,H.useCallback)(()=>{let e=b[s];e&&(e.type===`server`?n(e.server):e.type===`agent-server`&&i&&i(e.agentServer))},[b,s,n,i]),"confirm:no":S},{context:`Confirmation`});let w=e=>b.findIndex(t=>t.type===`server`&&t.server===e),T=e=>b.findIndex(t=>t.type===`agent-server`&&t.agentServer===e),E=te(),D=e.some(e=>e.client.type===`failed`);if(e.length===0&&t.length===0)return null;let O=e=>{let t=w(e),n=s===t,i=``,a=``;if(e.client.type===`disabled`)i=x(`inactive`,o)(r.radioOff),a=`disabled`;else if(e.client.type===`connected`)i=x(`success`,o)(r.tick),a=`connected`;else if(e.client.type===`pending`){i=x(`inactive`,o)(r.radioOff);let{reconnectAttempt:t,maxReconnectAttempts:n}=e.client;a=t&&n?`reconnecting (${t}/${n})…`:`connecting…`}else e.client.type===`needs-auth`?(i=x(`warning`,o)(r.triangleUpOutline),a=`needs authentication`):(i=x(`error`,o)(r.cross),a=`failed`);return(0,U.jsxs)(_,{children:[(0,U.jsx)(v,{color:n?`suggestion`:void 0,children:n?`${r.pointer} `:` `}),(0,U.jsx)(v,{color:n?`suggestion`:void 0,children:e.name}),(0,U.jsxs)(v,{dimColor:!n,children:[` · `,i,` `]}),(0,U.jsx)(v,{dimColor:!n,children:a})]},`${e.name}-${t}`)},k=e=>{let t=T(e),n=s===t,i=e.needsAuth?x(`warning`,o)(r.triangleUpOutline):x(`inactive`,o)(r.radioOff),a=e.needsAuth?`may need auth`:`agent-only`;return(0,U.jsxs)(_,{children:[(0,U.jsx)(v,{color:n?`suggestion`:void 0,children:n?`${r.pointer} `:` `}),(0,U.jsx)(v,{color:n?`suggestion`:void 0,children:e.name}),(0,U.jsxs)(v,{dimColor:!n,children:[` · `,i,` `]}),(0,U.jsx)(v,{dimColor:!n,children:a})]},`agent-${e.name}-${t}`)},A=e.length+t.length;return(0,U.jsxs)(_,{flexDirection:`column`,children:[(0,U.jsx)(oe,{}),(0,U.jsx)(C,{title:`Manage MCP servers`,subtitle:`${A} ${ne(A,`server`)}`,onCancel:S,hideInputGuide:!0,children:(0,U.jsxs)(_,{flexDirection:`column`,children:[W.map(e=>{let t=l.get(e);if(!t||t.length===0)return null;let n=z(e);return(0,U.jsxs)(_,{flexDirection:`column`,marginBottom:1,children:[(0,U.jsxs)(_,{paddingLeft:2,children:[(0,U.jsx)(v,{bold:!0,children:n.label}),n.path&&(0,U.jsxs)(v,{dimColor:!0,children:[` (`,n.path,`)`]})]}),t.map(e=>O(e))]},e)}),u.length>0&&(0,U.jsxs)(_,{flexDirection:`column`,marginBottom:1,children:[(0,U.jsx)(_,{paddingLeft:2,children:(0,U.jsx)(v,{bold:!0,children:`claude.ai`})}),u.map(e=>O(e))]}),t.length>0&&(0,U.jsxs)(_,{flexDirection:`column`,marginBottom:1,children:[(0,U.jsx)(_,{paddingLeft:2,children:(0,U.jsx)(v,{bold:!0,children:`Agent MCPs`})}),[...new Set(t.flatMap(e=>e.sourceAgents))].map(e=>(0,U.jsxs)(_,{flexDirection:`column`,marginTop:1,children:[(0,U.jsx)(_,{paddingLeft:2,children:(0,U.jsxs)(v,{dimColor:!0,children:[`@`,e]})}),t.filter(t=>t.sourceAgents.includes(e)).map(e=>k(e))]},e))]}),d.length>0&&(0,U.jsxs)(_,{flexDirection:`column`,marginBottom:1,children:[(0,U.jsxs)(_,{paddingLeft:2,children:[(0,U.jsx)(v,{bold:!0,children:p.label}),p.path&&(0,U.jsxs)(v,{dimColor:!0,children:[` (`,p.path,`)`]})]}),d.map(e=>O(e))]}),(0,U.jsxs)(_,{flexDirection:`column`,children:[D&&(0,U.jsx)(v,{dimColor:!0,children:E?`※ Error logs shown inline with --debug`:`※ Run claude --debug to see error logs`}),(0,U.jsxs)(v,{dimColor:!0,children:[(0,U.jsx)(ee,{url:`https://code.workmate.com/docs/en/mcp`,children:`https://code.workmate.com/docs/en/mcp`}),` for help`]})]})]})}),(0,U.jsx)(_,{paddingX:1,children:(0,U.jsx)(v,{dimColor:!0,italic:!0,children:(0,U.jsxs)(y,{children:[(0,U.jsx)(m,{shortcut:`↑↓`,action:`navigate`}),(0,U.jsx)(m,{shortcut:`Enter`,action:`confirm`}),(0,U.jsx)(f,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})})})]})}var H,U,W,G=e((()=>{n(),H=t(b(),1),S(),u(),c(),T(),D(),d(),M(),U=w(),W=[`project`,`local`,`user`,`enterprise`]}));function fe({serverName:e,onComplete:t}){let[n]=g(),i=o(),a=A(),[s,c]=(0,K.useState)(!0),[l,u]=(0,K.useState)(null);return(0,K.useEffect)(()=>{async function n(){try{if(!i.getState().mcp.clients.find(t=>t.name===e)){u(`MCP server "${e}" not found`),c(!1),t(`MCP server "${e}" not found`);return}switch((await a(e)).client.type){case`connected`:c(!1),t(`Successfully reconnected to ${e}`);break;case`needs-auth`:u(`${e} requires authentication`),c(!1),t(`${e} requires authentication.`);break;case`pending`:case`failed`:case`disabled`:u(`Failed to reconnect to ${e}`),c(!1),t(`Failed to reconnect to ${e}`);break}}catch(e){let n=e instanceof Error?e.message:String(e);u(n),c(!1),t(`Error: ${n}`)}}n()},[e,a,i,t]),s?(0,q.jsxs)(_,{flexDirection:`column`,gap:1,padding:1,children:[(0,q.jsxs)(v,{color:`text`,children:[`Reconnecting to `,(0,q.jsx)(v,{bold:!0,children:e})]}),(0,q.jsxs)(_,{children:[(0,q.jsx)(ae,{}),(0,q.jsx)(v,{children:` Establishing connection to MCP server`})]})]}):l?(0,q.jsxs)(_,{flexDirection:`column`,gap:1,padding:1,children:[(0,q.jsxs)(_,{children:[(0,q.jsxs)(v,{children:[x(`error`,n)(r.cross),` `]}),(0,q.jsxs)(v,{color:`error`,children:[`Failed to reconnect to `,e]})]}),(0,q.jsxs)(v,{dimColor:!0,children:[`Error: `,l]})]}):null}var K,q,J=e((()=>{n(),K=t(b(),1),S(),k(),i(),ie(),q=w()}));function Y({onComplete:e}){let t=a(e=>e.mcp),n=a(e=>e.agentDefinitions),r=t.clients,[i,o]=X.useState({type:`list`}),[c,l]=X.useState([]),u=(0,X.useMemo)(()=>s(n.allAgents),[n.allAgents]),d=X.useMemo(()=>r.filter(e=>e.name!==`ide`).sort((e,t)=>e.name.localeCompare(t.name)),[r]);switch(X.useEffect(()=>{let e=!1;async function n(){let n=await Promise.all(d.map(async e=>{let n=e.config.scope,r=e.config.type===`sse`,i=e.config.type===`http`,a=e.config.type===`claudeai-proxy`,o;(r||i)&&(o=e.type===`connected`&&p(t.tools,e.name).length>0);let s={name:e.name,client:e,scope:n};return a?{...s,transport:`claudeai-proxy`,isAuthenticated:!1,config:e.config}:r?{...s,transport:`sse`,isAuthenticated:o,config:e.config}:i?{...s,transport:`http`,isAuthenticated:o,config:e.config}:{...s,transport:`stdio`,config:e.config}}));e||l(n)}return n(),()=>{e=!0}},[d,t.tools]),(0,X.useEffect)(()=>{c.length===0&&d.length>0||c.length===0&&u.length===0&&e("No MCP servers configured. Please run /doctor if this is unexpected. Otherwise, run `claude mcp --help` or visit https://code.workmate.com/docs/en/mcp to learn more.")},[c.length,d.length,u.length,e]),i.type){case`list`:return(0,Z.jsx)(V,{servers:c,agentServers:u,onSelectServer:e=>o({type:`server-menu`,server:e}),onSelectAgentServer:e=>o({type:`agent-server-menu`,agentServer:e}),onComplete:e,defaultTab:i.defaultTab});case`server-menu`:{let n=p(t.tools,i.server.name),r=i.server.transport===`claudeai-proxy`?`claude.ai`:`Work Mate`;return i.server.transport===`stdio`?(0,Z.jsx)(se,{server:i.server,serverToolsCount:n.length,onViewTools:()=>o({type:`server-tools`,server:i.server}),onCancel:()=>o({type:`list`,defaultTab:r}),onComplete:e}):(0,Z.jsx)(le,{server:i.server,serverToolsCount:n.length,onViewTools:()=>o({type:`server-tools`,server:i.server}),onCancel:()=>o({type:`list`,defaultTab:r}),onComplete:e})}case`server-tools`:return(0,Z.jsx)(ue,{server:i.server,onSelectTool:(e,t)=>o({type:`server-tool-detail`,server:i.server,toolIndex:t}),onBack:()=>o({type:`server-menu`,server:i.server})});case`server-tool-detail`:{let e=p(t.tools,i.server.name)[i.toolIndex];return e?(0,Z.jsx)(ce,{tool:e,server:i.server,onBack:()=>o({type:`server-tools`,server:i.server})}):(o({type:`server-tools`,server:i.server}),null)}case`agent-server-menu`:return(0,Z.jsx)(de,{agentServer:i.agentServer,onCancel:()=>o({type:`list`,defaultTab:`Agents`}),onComplete:e})}}var X,Z,pe=e((()=>{X=t(b(),1),c(),i(),R(),G(),N(),I(),P(),F(),Z=w()})),me=e((()=>{R(),G(),J(),N(),pe(),I(),P(),F()}));function he({action:e,target:t,onComplete:n}){let r=a(e=>e.mcp.clients),i=O(),o=(0,Q.useRef)(!1);return(0,Q.useEffect)(()=>{if(o.current)return;o.current=!0;let a=e===`enable`,s=r.filter(e=>e.name!==`ide`),c=t===`all`?s.filter(e=>a?e.type===`disabled`:e.type!==`disabled`):s.filter(e=>e.name===t);if(c.length===0){n(t===`all`?`All MCP servers are already ${a?`enabled`:`disabled`}`:`MCP server "${t}" not found`);return}for(let e of c)i(e.name);n(t===`all`?`${a?`Enabled`:`Disabled`} ${c.length} MCP server(s)`:`MCP server "${t}" ${a?`enabled`:`disabled`}`)},[e,t,r,i,n]),null}async function ge(e,t,n){if(n){let t=n.trim().split(/\s+/);if(t[0]===`no-redirect`)return(0,$.jsx)(Y,{onComplete:e});if(t[0]===`reconnect`&&t[1])return(0,$.jsx)(fe,{serverName:t.slice(1).join(` `),onComplete:e});if(t[0]===`enable`||t[0]===`disable`)return(0,$.jsx)(he,{action:t[0],target:t.length>1?t.slice(1).join(` `):`all`,onComplete:e})}return(0,$.jsx)(Y,{onComplete:e})}var Q,$;e((()=>{Q=t(b(),1),me(),J(),k(),i(),$=w()}))();export{ge as call};
|