@readmagic/workmate 0.0.27 → 0.0.29
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-DqlPtsVK.js → AddWorkspaceDirectory-C0lrhffT.js} +1 -1
- package/dist/chunks/AgentsMdExternalIncludesDialog-DIahWLha.js +1 -0
- package/dist/chunks/{AgentsMdExternalIncludesDialog-rJS5l6yk.js → AgentsMdExternalIncludesDialog-Dmjjx4ql.js} +1 -1
- package/dist/chunks/App-COz7knHS.js +1 -0
- package/dist/chunks/{BackgroundTasksDialog-CBhSmdz_.js → BackgroundTasksDialog-5IkCQ8lN.js} +2 -2
- package/dist/chunks/{BypassPermissionsModeDialog-zz-lnmJt.js → BypassPermissionsModeDialog-g1FMGfQF.js} +1 -1
- package/dist/chunks/{CustomSelect-CYmc4vRh.js → CustomSelect-BsEd2To5.js} +1 -1
- package/dist/chunks/{DiffDialog-CTUIAcEE.js → DiffDialog-Cwf8CdxZ.js} +5 -5
- package/dist/chunks/Doctor-CcLoI7tF.js +1 -0
- package/dist/chunks/Doctor-GmT5aeAc.js +3 -0
- package/dist/chunks/ExitFlow-DPgUFqeC.js +2 -0
- package/dist/chunks/{InvalidConfigDialog-B-9Z58oD.js → InvalidConfigDialog-Di6HZYDV.js} +1 -1
- package/dist/chunks/{InvalidSettingsDialog-B4EWjbp7.js → InvalidSettingsDialog-BHL-MERJ.js} +1 -1
- package/dist/chunks/{KeybindingProviderSetup-Dzg77_Xn.js → KeybindingProviderSetup-eE3o0bfp.js} +1 -1
- package/dist/chunks/MCPConnectionManager-D-qpUJLV.js +1 -0
- package/dist/chunks/MCPToolListView-DtHRw4jQ.js +1 -0
- package/dist/chunks/{McpParsingWarnings-Dj_Fu5o-.js → McpParsingWarnings-ByyErvR3.js} +1 -1
- package/dist/chunks/MessageSelector-CFz30wBL.js +3 -0
- package/dist/chunks/Messages-CfY-Oj3M.js +10 -0
- package/dist/chunks/{Onboarding-BRSXxc2E.js → Onboarding-BfWLRx3n.js} +1 -1
- package/dist/chunks/{PromptInputFooterSuggestions-ChpyD9B7.js → PromptInputFooterSuggestions-BRyJj7XR.js} +1 -1
- package/dist/chunks/{PromptInputHelpMenu-CrTT8MKE.js → PromptInputHelpMenu-DLuRCXVS.js} +1 -1
- package/dist/chunks/{ProviderSetup-BEV95bnz.js → ProviderSetup-CKZGG2B9.js} +1 -1
- package/dist/chunks/QueryEngine-B27MOtBA.js +1 -0
- package/dist/chunks/{REPL-BDnZnm__.js → REPL-DMRD5wSN.js} +23 -23
- package/dist/chunks/REPL-gzolQvzu.js +1 -0
- package/dist/chunks/ResumeConversation-7eURPHmQ.js +1 -0
- package/dist/chunks/SearchExtraToolsTool-BINZTstr.js +1 -0
- package/dist/chunks/Settings-4TNYpfUs.js +2 -0
- package/dist/chunks/Spinner-BgjmQLjw.js +1 -0
- package/dist/chunks/{TextInput-ZKU-x_FD.js → TextInput-BVEWdRz9.js} +5 -5
- package/dist/chunks/{ThemePicker-B69oDgXN.js → ThemePicker-th2jdUjh.js} +1 -1
- package/dist/chunks/{TrustDialog-BSG8Ibh8.js → TrustDialog-YsYqHyRR.js} +1 -1
- package/dist/chunks/{ValidationErrorsList-BUYHEft4.js → ValidationErrorsList-CKeHoN2Z.js} +1 -1
- package/dist/chunks/{_baseEach-P0u1zIx6.js → _baseEach-Bz5fQbIq.js} +1 -1
- package/dist/chunks/{add-dir-C8RmmyQK.js → add-dir-BsO6l8Ue.js} +1 -1
- package/dist/chunks/{agentDisplay-np7CH47m.js → agentDisplay-ChkgiTIH.js} +1 -1
- package/dist/chunks/{agents-DedoH0Q4.js → agents-BV1nan6b.js} +6 -6
- package/dist/chunks/{agents-DRQlR5M1.js → agents-DqEB6iwV.js} +1 -1
- package/dist/chunks/allErrors-CkdguCDv.js +1 -0
- package/dist/chunks/{appleTerminalBackup-Bemd4RXh.js → appleTerminalBackup-CN8kS74J.js} +1 -1
- package/dist/chunks/{backgroundHousekeeping-BtEJ6TeC.js → backgroundHousekeeping-1VsWy8xd.js} +1 -1
- package/dist/chunks/backgroundHousekeeping-pMtrl4K2.js +1 -0
- package/dist/chunks/{banner-CuoceXzz.js → banner-BKOzHotb.js} +1 -1
- package/dist/chunks/{branch-ClhlS7f8.js → branch-CTIHtpwz.js} +2 -2
- package/dist/chunks/bridgeControl-C8xaGuwO.js +2 -0
- package/dist/chunks/{btw-B-FLxlx-.js → btw-BA39Zrhm.js} +1 -1
- package/dist/chunks/caches-DHZHqVhf.js +1 -0
- package/dist/chunks/caches-fqs-Y-kW.js +1 -0
- package/dist/chunks/channel-B5FkNSZ3.js +1 -0
- package/dist/chunks/channel-C5yKM1wf.js +1 -0
- package/dist/chunks/{clear-BnWv0i65.js → clear-BmlaYYrD.js} +1 -1
- package/dist/chunks/commands-EUcHifS4.js +1 -0
- package/dist/chunks/compact-D3uePeI7.js +2 -0
- package/dist/chunks/{config-BDn2YIjC.js → config-Bio2EjUK.js} +1 -1
- package/dist/chunks/config-C_AEhZrn.js +1 -0
- package/dist/chunks/config-GgGdlJ9h.js +1 -0
- package/dist/chunks/{context-BvDBAyJ9.js → context-CBEWyVpE.js} +1 -1
- package/dist/chunks/{context-noninteractive-CuHHniJn.js → context-noninteractive-B03nuxfN.js} +2 -2
- package/dist/chunks/context-noninteractive-BLCyyyGL.js +1 -0
- package/dist/chunks/conversation-BFL0rEIx.js +1 -0
- package/dist/chunks/conversation-D-ker4RO.js +1 -0
- package/dist/chunks/{conversationRecovery-NL05oJb1.js → conversationRecovery-Bt84CYO6.js} +1 -1
- package/dist/chunks/crossProjectResume-DwlYY6lV.js +40 -0
- package/dist/chunks/{diff--6gQCx_x.js → diff-CewYzu3Y.js} +1 -1
- package/dist/chunks/doctor-CrQ0UfG2.js +1 -0
- package/dist/chunks/{entry-DWYOrkFS.js → entry-DdVUdGWV.js} +3 -3
- package/dist/chunks/exit-QwCo2aJo.js +1 -0
- package/dist/chunks/{extraUsage-Dr0YXm1w.js → extraUsage-Cu0aV35i.js} +1 -1
- package/dist/chunks/extractMemories-DHlbRc5g.js +1 -0
- package/dist/chunks/{fast-C5-lNCQi.js → fast-BlhpCQ2f.js} +1 -1
- package/dist/chunks/fast-C3JeBy3A.js +1 -0
- package/dist/chunks/{fetchModelList-9w1E4Ue8.js → fetchModelList-DjFCMjVN.js} +1 -1
- package/dist/chunks/fetchModelList-L2XarfAj.js +1 -0
- package/dist/chunks/{fileSuggestions-BYD78vcF.js → fileSuggestions-BRwKV_KA.js} +2 -2
- package/dist/chunks/{gemini-BNBptTET.js → gemini-I-M5_sUA.js} +2 -2
- package/dist/chunks/{generateSessionName-CO2484aJ.js → generateSessionName-CJ0sh6HD.js} +1 -1
- package/dist/chunks/{goal-j0wdadwM.js → goal-DIrBBT5J.js} +3 -3
- package/dist/chunks/{grok-BpO1ZwK_.js → grok-ZLjJN6b9.js} +1 -1
- package/dist/chunks/{help-DwhA0qQ6.js → help-CDMjVOl6.js} +1 -1
- package/dist/chunks/{hooks-DG4_WdZ2.js → hooks-BNKCE023.js} +2 -2
- package/dist/chunks/hooks-ERYtmuNW.js +1 -0
- package/dist/chunks/{install-BbmCNCuM.js → install-xlfTw1j6.js} +1 -1
- package/dist/chunks/{instrumentation-DpPmDyNF.js → instrumentation-DSt0UvGn.js} +3 -3
- package/dist/chunks/{job-GcmX1ALd.js → job-BVElGsu0.js} +1 -1
- package/dist/chunks/{launchLocalMemory-CDgT5lst.js → launchLocalMemory-DUkJCKmd.js} +2 -2
- package/dist/chunks/{launchOnboarding-uQ_ux9sS.js → launchOnboarding-BvD-E_jC.js} +1 -1
- package/dist/chunks/loadAgentsDir-BImZsKrh.js +1 -0
- package/dist/chunks/{loadAgentsDir-uuZYOgKn.js → loadAgentsDir-BfLCckVj.js} +343 -343
- package/dist/chunks/loadPluginHooks-BPwWtBzO.js +1 -0
- package/dist/chunks/{localSearch-yVCDrVrf.js → localSearch-BHG8sp8p.js} +1 -1
- package/dist/chunks/localSearch-D3rvcRRC.js +1 -0
- package/dist/chunks/{logoUtils-B4wCDKs9.js → logoUtils-BsNLv-qi.js} +1 -1
- package/dist/chunks/{magicDocs-D53lV8b5.js → magicDocs-Bue9vxzY.js} +2 -2
- package/dist/chunks/{main-fy_XSXGj.js → main-U71X4Thd.js} +22 -22
- package/dist/chunks/managedEnv-DCGLDTP_.js +1 -0
- package/dist/chunks/{managedEnv-B8YWmM4A.js → managedEnv-EZ2IirNa.js} +1 -1
- package/dist/chunks/{mcp-CZUVaPb3.js → mcp-C4CxCMwJ.js} +3 -3
- package/dist/chunks/mcp-D9HFARDy.js +1 -0
- package/dist/chunks/mcp-De3QGKvT.js +2 -0
- package/dist/chunks/memory-DVRdJFfI.js +1 -0
- package/dist/chunks/{mode-Bteqe2QG.js → mode-Bd5w-RBX.js} +2 -2
- package/dist/chunks/{model-CHDU5yqH.js → model-BCIcUhrc.js} +1 -1
- package/dist/chunks/{model-CcHyMyBv.js → model-BIf2i1is.js} +1 -1
- package/dist/chunks/{modelOptions-CJV1R3Jt.js → modelOptions-COIU5U3w.js} +1 -1
- package/dist/chunks/{nativeInstaller-CIUYh1aD.js → nativeInstaller-CGSNzGNn.js} +1 -1
- package/dist/chunks/{notifications-GLnjirCl.js → notifications-B5gzCmPC.js} +1 -1
- package/dist/chunks/{onChangeAppState-CxGW2d-l.js → onChangeAppState-NWwSE-I4.js} +1 -1
- package/dist/chunks/{openai-BpGQT2Iv.js → openai-CyJ3m4dI.js} +2 -2
- package/dist/chunks/{overlayContext-7wgLio1O.js → overlayContext-DYrGDe63.js} +1 -1
- package/dist/chunks/{partition-djFY9gGI.js → partition-BavNaw1S.js} +1 -1
- package/dist/chunks/permissions-CLYcBXIu.js +3 -0
- package/dist/chunks/{pidLock-CFUBtZck.js → pidLock-Bao7SU6Z.js} +2 -2
- package/dist/chunks/{plan-DI0n7LIV.js → plan-Dwj_ZX8G.js} +1 -1
- package/dist/chunks/plugin-Cscvf8st.js +17 -0
- package/dist/chunks/{pluginAutoupdate-CNrHb4RJ.js → pluginAutoupdate-D5XyiZrP.js} +1 -1
- package/dist/chunks/pluginBlocklist-CpkjXXKQ.js +1 -0
- package/dist/chunks/pluginCliCommands-DmLsxs1M.js +1 -0
- package/dist/chunks/{pluginFlagging-CUvkKGOB.js → pluginFlagging-CRuX6sHR.js} +1 -1
- package/dist/chunks/pluginOperations-orq3bOCp.js +2 -0
- package/dist/chunks/{pluginStartupCheck-DftTiXct.js → pluginStartupCheck-DGDl1WOZ.js} +1 -1
- package/dist/chunks/pluginStartupCheck-GHO77nmg.js +1 -0
- package/dist/chunks/plugins-Cq5c-Qs1.js +4 -0
- package/dist/chunks/{print-DSHypGJa.js → print-zo7Z--Ll.js} +9 -9
- package/dist/chunks/processBashCommand-C7oVqf0B.js +1 -0
- package/dist/chunks/processSlashCommand-CPQB5_0w.js +5 -0
- package/dist/chunks/{projectOnboardingState-nTCycGCD.js → projectOnboardingState-D-_ijZnG.js} +1 -1
- package/dist/chunks/prompt-CAzFDybL.js +1 -0
- package/dist/chunks/prompt-Cm8SKZXY.js +1 -0
- package/dist/chunks/{prompt-BfXryFt-.js → prompt-DaYH88Oe.js} +1 -1
- package/dist/chunks/{protocolHandler-VigBkAQQ.js → protocolHandler-CJO3CRYW.js} +1 -1
- package/dist/chunks/{reconciler-B9XFdL4f.js → reconciler-B5Kr4do0.js} +1 -1
- package/dist/chunks/refresh-DurNMJeS.js +1 -0
- package/dist/chunks/{reject-CBxnwckZ.js → reject-CzjtO3fU.js} +1 -1
- package/dist/chunks/{reload-plugins-5eFWrQlL.js → reload-plugins-C38i_Eb3.js} +1 -1
- package/dist/chunks/rename-BV-3ZpFx.js +1 -0
- package/dist/chunks/{resume-U2D0ybfU.js → resume-CUzQIor4.js} +2 -2
- package/dist/chunks/{runtimeObserver-CWaYMJG8.js → runtimeObserver-BKoQ5IEO.js} +4 -4
- package/dist/chunks/{runtimeObserver-DOYlxx9H.js → runtimeObserver-Ess1Cn8Y.js} +1 -1
- package/dist/chunks/sandbox-adapter-ClRO21Ci.js +1 -0
- package/dist/chunks/{sandbox-toggle-BtiPyjT3.js → sandbox-toggle-Bp6Xpjh3.js} +1 -1
- package/dist/chunks/searchExtraTools-CV_fkuD6.js +1 -0
- package/dist/chunks/{select-BuTJbu_Q.js → select-Bm29ymsI.js} +1 -1
- package/dist/chunks/sessionFileAccessHooks-B5kAD4ol.js +1 -0
- package/dist/chunks/{sessionObserver-cfwD8pV8.js → sessionObserver-CBlzrJt1.js} +1 -1
- package/dist/chunks/sessionObserver-CayxkuxO.js +1 -0
- package/dist/chunks/sessionStorage-vLxCo1Mh.js +1 -0
- package/dist/chunks/{sessionTracing-DsdcOqvc.js → sessionTracing-TDsq54Uc.js} +1 -1
- package/dist/chunks/setup-BbyfyeQk.js +3 -0
- package/dist/chunks/{shadowedRuleDetection-DiZUDzxU.js → shadowedRuleDetection-BG3jtA9Y.js} +1 -1
- package/dist/chunks/{sideQuestion-CdgUarC2.js → sideQuestion-C8GNVo4R.js} +3 -3
- package/dist/chunks/{sinks-Cy3NqVbk.js → sinks-BafJR6Fw.js} +1 -1
- package/dist/chunks/sinks-CHtjg7sn.js +1 -0
- package/dist/chunks/skillChangeDetector-CY17weG4.js +1 -0
- package/dist/chunks/{skillGapStore-BJV8ZIB1.js → skillGapStore-Cl4J1WoZ.js} +2 -2
- package/dist/chunks/{skillLifecycle-iO_3s9Ff.js → skillLifecycle-DdfeUHBf.js} +2 -2
- package/dist/chunks/{skillSearchPanel-BL5gXTHU.js → skillSearchPanel-DtQYF9gN.js} +4 -4
- package/dist/chunks/{skills-BEp3_RyT.js → skills-Fd12LJal.js} +1 -1
- package/dist/chunks/status-CGEMRiPI.js +1 -0
- package/dist/chunks/statusNoticeHelpers-D0tonVy0.js +1 -0
- package/dist/chunks/{switcher-DSt2cVjA.js → switcher-BCq9Az_q.js} +1 -1
- package/dist/chunks/switcher-DQMr6Anx.js +1 -0
- package/dist/chunks/{tasks-DyBUXnQb.js → tasks-DQmkY_xD.js} +1 -1
- package/dist/chunks/{templateJobs-BBnReWWj.js → templateJobs-CEDUbFAY.js} +1 -1
- package/dist/chunks/{terminalSetup-CDpFfqqV.js → terminalSetup-CaGbEVjB.js} +1 -1
- package/dist/chunks/{terminalSetup-DedaY1P7.js → terminalSetup-xe_P98fY.js} +1 -1
- package/dist/chunks/{theme-BZOy9Iqh.js → theme-DQjJ4R0o.js} +1 -1
- package/dist/chunks/tipRegistry-BwxZ_G0j.js +2 -0
- package/dist/chunks/{toolEventObserver-ClwWmVbH.js → toolEventObserver-DdZ30on9.js} +1 -1
- package/dist/chunks/toolPool-CWIXwdX7.js +1 -0
- package/dist/chunks/{useExitOnCtrlCDWithKeybindings-ClN4NJnB.js → useExitOnCtrlCDWithKeybindings-ClrtNKJ6.js} +1 -1
- package/dist/chunks/useMainLoopModel-CULw8pB_.js +1 -0
- package/dist/chunks/{useManagePlugins-CxHz-gUP.js → useManagePlugins-CmsPSHor.js} +1 -1
- package/dist/chunks/useMergedTools-C8PxReh0.js +1 -0
- package/dist/chunks/{useSearchInput-BIQN_-Hm.js → useSearchInput-BZhTzjgN.js} +1 -1
- package/dist/chunks/useSettingsErrors-GWIxCYyd.js +1 -0
- package/dist/chunks/{util-BHr5l6Bx.js → util-Bih2g-pV.js} +1 -1
- package/dist/chunks/validatePlugin-BwcC_Wbr.js +1 -0
- package/dist/chunks/{vim-CYjMtnwH.js → vim-BlO9V5_5.js} +1 -1
- package/dist/chunks/worktree-BB9lFWBB.js +1 -0
- package/dist/chunks/wrapper-B-Q3Illb.js +1 -0
- package/dist/chunks/{wrapper-K8ZapJVu.js → wrapper-DVKxC5fR.js} +1 -1
- package/dist/cli.js +1 -1
- package/package.json +2 -1
- package/dist/chunks/AgentsMdExternalIncludesDialog-CgSethgo.js +0 -1
- package/dist/chunks/App-DzRQpRKr.js +0 -1
- package/dist/chunks/Doctor-CLOYkPRR.js +0 -3
- package/dist/chunks/Doctor-CiZNe_qx.js +0 -1
- package/dist/chunks/ExitFlow-CATwJC4c.js +0 -2
- package/dist/chunks/MCPConnectionManager-CBY8nqdU.js +0 -1
- package/dist/chunks/MCPToolListView-C7HT6rrl.js +0 -1
- package/dist/chunks/MessageSelector-Dw_ERK_Z.js +0 -3
- package/dist/chunks/Messages-RBfRELKn.js +0 -10
- package/dist/chunks/QueryEngine-BBBkZWu2.js +0 -1
- package/dist/chunks/REPL-BHk0vZDf.js +0 -1
- package/dist/chunks/ResumeConversation-BuSqBrm1.js +0 -1
- package/dist/chunks/SearchExtraToolsTool-CdWB9sO8.js +0 -1
- package/dist/chunks/Settings-DYKmPdbd.js +0 -2
- package/dist/chunks/Spinner-DOI8qqZi.js +0 -1
- package/dist/chunks/allErrors-DvcU0w0F.js +0 -1
- package/dist/chunks/backgroundHousekeeping-B56nFTzq.js +0 -1
- package/dist/chunks/caches-D7arwhaa.js +0 -1
- package/dist/chunks/caches-Dn8yrJmL.js +0 -1
- package/dist/chunks/commands-AcfFLgl5.js +0 -1
- package/dist/chunks/compact-Banc-SNk.js +0 -2
- package/dist/chunks/config-BhBcadjZ.js +0 -1
- package/dist/chunks/config-Bm5pVdCq.js +0 -1
- package/dist/chunks/context-noninteractive-BK2IDLSS.js +0 -1
- package/dist/chunks/conversation-B2dX3X4Z.js +0 -1
- package/dist/chunks/conversation-Cjaftrrw.js +0 -1
- package/dist/chunks/crossProjectResume-BzltC4NJ.js +0 -40
- package/dist/chunks/doctor-CQf8xPZH.js +0 -1
- package/dist/chunks/exit-uKtXb5U3.js +0 -1
- package/dist/chunks/extractMemories-8yvMGZ1J.js +0 -1
- package/dist/chunks/fast-aNkj6WvB.js +0 -1
- package/dist/chunks/fetchModelList-D2quBF6M.js +0 -1
- package/dist/chunks/hooks-B5Wq-KxE.js +0 -1
- package/dist/chunks/loadAgentsDir-BBbIAiay.js +0 -1
- package/dist/chunks/loadPluginHooks-QoVXsBjy.js +0 -1
- package/dist/chunks/localSearch-D6MhwvnR.js +0 -1
- package/dist/chunks/managedEnv-ulQBH73B.js +0 -1
- package/dist/chunks/mcp--LmEVBRg.js +0 -1
- package/dist/chunks/mcp-DCl-Tz-C.js +0 -2
- package/dist/chunks/memory-Bu5ku7y9.js +0 -1
- package/dist/chunks/permissions-DNedQyLg.js +0 -3
- package/dist/chunks/plugin-BQ8gRVYF.js +0 -17
- package/dist/chunks/pluginBlocklist-CKCsgWdY.js +0 -1
- package/dist/chunks/pluginCliCommands-CACeyIwz.js +0 -1
- package/dist/chunks/pluginOperations-Ca_T-HYn.js +0 -2
- package/dist/chunks/pluginStartupCheck-Du9yx2P8.js +0 -1
- package/dist/chunks/plugins-Divl-P-X.js +0 -4
- package/dist/chunks/processBashCommand-BLcFmbyG.js +0 -1
- package/dist/chunks/processSlashCommand-Caif46Gi.js +0 -5
- package/dist/chunks/prompt-BZmu5CeK.js +0 -1
- package/dist/chunks/prompt-Cogr_WZr.js +0 -1
- package/dist/chunks/refresh-CBHbWTGg.js +0 -1
- package/dist/chunks/rename-Cw7cMerG.js +0 -1
- package/dist/chunks/sandbox-adapter-Df7Wpt77.js +0 -1
- package/dist/chunks/searchExtraTools-CbJVb_Zk.js +0 -1
- package/dist/chunks/sessionFileAccessHooks-_mxyfQmn.js +0 -1
- package/dist/chunks/sessionObserver-BZVgzp3W.js +0 -1
- package/dist/chunks/sessionStorage-SC5RfnUP.js +0 -1
- package/dist/chunks/setup-DR-KEmxL.js +0 -3
- package/dist/chunks/sinks-D41OiGE4.js +0 -1
- package/dist/chunks/skillChangeDetector-CVFCJcG7.js +0 -1
- package/dist/chunks/status-6JMz8jmM.js +0 -1
- package/dist/chunks/statusNoticeHelpers-BoloSeXY.js +0 -1
- package/dist/chunks/switcher-95d4TrQH.js +0 -1
- package/dist/chunks/tipRegistry-Cl5sdLRX.js +0 -2
- package/dist/chunks/toolPool-DSTbgGmX.js +0 -1
- package/dist/chunks/useMainLoopModel-Bgxpmn2Q.js +0 -1
- package/dist/chunks/useMergedTools-BUuWew0-.js +0 -1
- package/dist/chunks/useSettingsErrors-BDJCLei_.js +0 -1
- package/dist/chunks/validatePlugin-fx1Y8vam.js +0 -1
- package/dist/chunks/worktree-CGu_58ue.js +0 -1
package/dist/chunks/{context-noninteractive-CuHHniJn.js → context-noninteractive-B03nuxfN.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{mn as t,pn as n}from"./settings-D4M13toi.js";import{A_ as r,
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{mn as t,pn as n}from"./settings-D4M13toi.js";import{A_ as r,Bx as i,H_ as a,M_ as o,U_ as s,Xi as c}from"./loadAgentsDir-BfLCckVj.js";import{_ as l,g as u}from"./startupProfiler-B9Qv2QGH.js";async function d(e){let{messages:t,getAppState:n,options:{mainLoopModel:a,tools:o,agentDefinitions:c,customSystemPrompt:l,appendSystemPrompt:u}}=e,d=i(t),{messages:f}=await s(d),p=n();return r(f,a,async()=>p.toolPermissionContext,o,c,void 0,{options:{customSystemPrompt:l,appendSystemPrompt:u}},void 0,d)}async function f(e,t){return{type:`text`,value:p(await d(t))}}function p(e){let{categories:t,totalTokens:r,rawMaxTokens:i,percentage:a,model:o,memoryFiles:s,mcpTools:c,agents:l,skills:d}=e,f=`## Context Usage
|
|
2
2
|
|
|
3
3
|
`;f+=`**Model:** ${o} \n`,f+=`**Tokens:** ${u(r)} / ${u(i)} (${a}%)\n`,f+=`
|
|
4
4
|
`;let p=t.filter(e=>e.tokens>0&&e.name!==`Free space`&&e.name!==`Autocompact buffer`);if(p.length>0){f+=`### Estimated usage by category
|
|
@@ -26,4 +26,4 @@ import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{mn as t,pn as n}from".
|
|
|
26
26
|
`,f+=`| Skill | Source | Tokens |
|
|
27
27
|
`,f+=`|-------|--------|--------|
|
|
28
28
|
`;for(let e of d.skillFrontmatter)f+=`| ${e.name} | ${n(e.source)} | ${u(e.tokens)} |\n`;f+=`
|
|
29
|
-
`}return f}var m=e((()=>{
|
|
29
|
+
`}return f}var m=e((()=>{a(),o(),l(),c(),t()}));export{d as n,m as r,f as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,r as t,t as n}from"./context-noninteractive-B03nuxfN.js";t();export{n as call,e as collectContextData};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,n as t}from"./rolldown-runtime-DaDcL9Zw.js";import{B as n,Pt as r,Ut as i,Vt as a,dn as o,pn as s,q as c,un as l}from"./state-CXY-q5gr.js";import{Cb as u,Dn as d,Eg as f,KC as p,Kn as m,On as h,Sb as g,Tn as _,Yt as v,ZC as y,Zr as b,cn as x,er as S,gn as C,gs as w,hh as T,hs as E,i_ as D,ph as O,r_ as k,rw as A,si as j,ui as M,uw as N,vg as P,vr as F,wg as I,wt as L,xt as R,yg as z}from"./loadAgentsDir-BfLCckVj.js";import{o as B,s as V}from"./log-L1kqxa_P.js";import{n as H}from"./analytics-COpjZpvd.js";import{n as U,t as W}from"./caches-fqs-Y-kW.js";import{randomUUID as G}from"crypto";async function K({setMessages:t,readFileState:r,discoveredSkillNames:f,loadedNestedMemoryPaths:h,getAppState:g,setAppState:C,setConversationId:T}){let E=x();await v(`clear`,{getAppState:g,setAppState:C,signal:AbortSignal.timeout(E),timeoutMs:E}),n();let k=new Set,N=[],P=e=>`isBackgrounded`in e&&e.isBackgrounded===!1;if(g)for(let e of Object.values(g().tasks))P(e)||w(e)&&(k.add(e.agentId),N.push(e));t(()=>[]);let{setContextBlocked:L}=(p(),e(y));L(!1),T&&T(G()),W(k),l(null),o(null),s(null),i(),u(c()),r.clear(),f?.clear(),h?.clear(),C&&C(e=>{let t={};for(let[n,r]of Object.entries(e.tasks)){if(!P(r)){t[n]=r;continue}try{r.status===`running`&&(z(r)&&(r.shellCommand?.kill(),r.shellCommand?.cleanup(),r.cleanupTimeoutId&&clearTimeout(r.cleanupTimeoutId)),`abortController`in r&&r.abortController?.abort(),`unregisterCleanup`in r&&r.unregisterCleanup?.())}catch(e){V(e)}_(n)}return{...e,tasks:t,attribution:O(),standaloneAgentContext:void 0,fileHistory:{snapshots:[],trackedFiles:new Set,snapshotSequence:0},mcp:{clients:[],tools:[],commands:[],resources:{},pluginReconnectKey:e.mcp.pluginReconnectKey}}}),A(),m(),a({setCurrentAsParent:!0}),await b();for(let e of N)e.status===`running`&&d(e.id,S(I(e.agentId)));let{saveMode:B}=(F(),e(M));B(`normal`);let H=R();H&&j(H);let U=await D(`clear`);U.length>0&&t(()=>U)}var q=t((()=>{r(),H(),E(),P(),f(),T(),C(),B(),N(),g(),k(),F(),h(),L(),U()}));export{q as n,K as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,t}from"./conversation-BFL0rEIx.js";e();export{t as clearConversation};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Ht as e,Ut as t}from"./settings-D4M13toi.js";import{Pt as n,t as r}from"./state-CXY-q5gr.js";import{$
|
|
1
|
+
import{Ht as e,Ut as t}from"./settings-D4M13toi.js";import{Pt as n,t as r}from"./state-CXY-q5gr.js";import{$h as i,Ar as a,Ea as o,Eg as s,Fr as c,Sr as l,Tg as u,Vn as d,Xi as f,as as p,aw as m,ba as h,ca as g,da as _,dr as v,i_ as y,ir as b,jr as x,os as S,qr as C,qx as w,r_ as T,rs as E,sg as D,tS as O,uS as k,uw as A,vr as j,ya as M,zn as N}from"./loadAgentsDir-BfLCckVj.js";import{n as P,t as F}from"./cwd-DrEEb4f5.js";import{o as I,s as L}from"./log-L1kqxa_P.js";import{relative as R}from"path";P(),n(),s(),t(),E(),D(),I(),f(),A(),T(),j();function z(e){if(e.type!==`attachment`)return e;let t=e.attachment;if(t.type===`new_file`)return{...e,attachment:{...t,type:`file`,displayPath:R(F(),t.filename)}};if(t.type===`new_directory`)return{...e,attachment:{...t,type:`directory`,displayPath:R(F(),t.path)}};if(!(`displayPath`in t)){let n=`filename`in t?t.filename:`path`in t?t.path:`skillDir`in t?t.skillDir:void 0;if(n)return{...e,attachment:{...t,displayPath:R(F(),n)}}}return e}function B(e){return V(e).messages}function V(t){try{let n=t.map(z),r=new Set(e);for(let e of n)e.type===`user`&&e.permissionMode!==void 0&&!r.has(e.permissionMode)&&(e.permissionMode=void 0);let i=g(M(h(n))),a=H(i),o;if(a.kind===`interrupted_turn`){let[e]=_([O({content:`Continue from where you left off.`,isMeta:!0})]);i.push(e),o={kind:`interrupted_prompt`,message:e}}else o=a;let s=i.findLastIndex(e=>e.type!==`system`&&e.type!==`progress`);return s!==-1&&i[s].type===`user`&&i.splice(s+1,0,w({content:k})),{messages:i,turnInterruptionState:o}}catch(e){throw L(e),e}}function H(e){if(e.length===0)return{kind:`none`};let t=e.findLastIndex(e=>e.type!==`system`&&e.type!==`progress`&&!(e.type===`assistant`&&e.isApiErrorMessage)),n=t===-1?void 0:e[t];return!n||n.type===`assistant`?{kind:`none`}:n.type===`user`?n.isMeta||n.isCompactSummary?{kind:`none`}:o(n)?{kind:`interrupted_turn`}:{kind:`interrupted_prompt`,message:n}:n.type===`attachment`?{kind:`interrupted_turn`}:{kind:`none`}}function U(e){for(let t of e)if(t.type===`attachment`){if(t.attachment.type===`invoked_skills`){let e=t.attachment.skills;for(let t of e)t.name&&t.path&&t.content&&r(t.name,t.path,t.content,null)}t.attachment.type===`skill_listing`&&S()}S(),p()}async function W(e){let{messages:t,leafUuids:n}=await c(e),r=null,i=0;for(let e of t.values()){if(e.isSidechain||!n.has(e.uuid))continue;let t=new Date(e.timestamp).getTime();t>i&&(i=t,r=e)}return r?{messages:C(N(t,r)),sessionId:r.sessionId}:{messages:[],sessionId:void 0}}async function G(e,t){try{let n=null,r=null,o;if(e===void 0){let e=x(),t=new Set;try{let{listAllLiveSessions:e}=await import(`./udsClient-CWeoNrm3.js`),n=await e();t=new Set(n.flatMap(e=>e.kind&&e.kind!==`interactive`&&e.sessionId?[e.sessionId]:[]))}catch{}n=(await e).find(e=>{let n=v(e);return!n||!t.has(n)})??null}else if(t){let e=await W(t);r=e.messages,o=e.sessionId}else typeof e==`string`?(n=await b(e),o=e):n=e;if(!n&&!r)return null;n&&(l(n)&&(n=await a(n)),o||(o=v(n)),o&&await m(n,u(o)),i(n),r=n.messages,d(r)),U(r);let s=V(r);r=s.messages;let c=await y(`resume`,{sessionId:o});return r.push(...c),{messages:r,turnInterruptionState:s.turnInterruptionState,fileHistorySnapshots:n?.fileHistorySnapshots,attributionSnapshots:n?.attributionSnapshots,contentReplacements:n?.contentReplacements,contextCollapseCommits:n?.contextCollapseCommits,contextCollapseSnapshot:n?.contextCollapseSnapshot,sessionId:o,agentName:n?.agentName,agentColor:n?.agentColor,agentSetting:n?.agentSetting,customTitle:n?.customTitle,tag:n?.tag,mode:n?.mode,worktreeSession:n?.worktreeSession,prNumber:n?.prNumber,prUrl:n?.prUrl,prRepository:n?.prRepository,fullPath:n?.fullPath,goal:n?.goal}}catch(e){throw L(e),e}}export{G as n,B as t};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{C as n,D as r,Gr as i,H as a,I as o,P as s,T as c,Wt as l,Xn as u,ai as d,di as f,fi as p,hn as m,k as ee,oi as te,ot as ne,p as h,t as g}from"./src-BX54x08P.js";import{t as _}from"./jsx-runtime-Bb4Xn-E0.js";import{$n as v,Br as re,Qn as y,qr as ie}from"./settings-D4M13toi.js";import{Pt as b,at as ae,q as oe}from"./state-CXY-q5gr.js";import{Ar as x,Db as se,Dc as S,Eb as ce,Si as le,Sr as C,_d as w,bS as ue,br as de,dr as T,gd as E,kc as D,lb as fe,ni as pe,rb as O,rr as me,vr as he,xS as k,xi as ge}from"./loadAgentsDir-BfLCckVj.js";import{S as _e,c as A,i as ve,x as j}from"./debug-2pVES-2G.js";import{a as ye,o as be,s as xe}from"./log-L1kqxa_P.js";import{n as Se}from"./analytics-COpjZpvd.js";import{S as Ce,_ as we,d as Te,p as Ee}from"./startupProfiler-B9Qv2QGH.js";import{f as De,u as Oe}from"./model-BIf2i1is.js";import{n as ke,t as M}from"./useExitOnCtrlCDWithKeybindings-ClrtNKJ6.js";import{n as N,t as Ae}from"./TextInput-BVEWdRz9.js";import{n as je,t as Me}from"./select-Bm29ymsI.js";import{r as Ne,t as Pe}from"./Spinner-BgjmQLjw.js";import{l as Fe,u as Ie}from"./SpinnerGlyph-BR_SiV9L.js";import{t as Le}from"./SearchBox-zA5QwIpO.js";import{n as Re,t as ze}from"./useSearchInput-BZhTzjgN.js";import{n as P,t as F}from"./Messages-CfY-Oj3M.js";function Be({log:e,onExit:t,onSelect:n}){let[i,a]=I.useState(null);I.useEffect(()=>{a(null),C(e)&&x(e).then(a)},[e]);let u=C(e)&&i===null,d=i??e,f=T(d)||``,p=S();return l(`confirm:no`,t,{context:`Confirmation`}),l(`confirm:yes`,(0,I.useCallback)(()=>{n(i??e)},[n,i,e]),{context:`Confirmation`}),u?(0,L.jsxs)(o,{flexDirection:`column`,padding:1,children:[(0,L.jsx)(h,{message:`Loading session…`}),(0,L.jsx)(s,{dimColor:!0,children:(0,L.jsx)(c,{children:(0,L.jsx)(E,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})})})]}):(0,L.jsxs)(o,{flexDirection:`column`,children:[(0,L.jsx)(F,{messages:d.messages,tools:p,commands:[],verbose:!0,toolJSX:null,toolUseConfirmQueue:[],inProgressToolUseIDs:new Set,isMessageSelectorVisible:!1,conversationId:f,screen:`transcript`,streamingToolUses:[],showAllInTranscript:!0,isLoading:!1}),(0,L.jsxs)(o,{flexShrink:0,flexDirection:`column`,borderTopDimColor:!0,borderBottom:!1,borderLeft:!1,borderRight:!1,borderStyle:`single`,paddingLeft:2,children:[(0,L.jsxs)(s,{children:[Ee(d.modified),` · `,d.messageCount,` messages`,d.gitBranch?` · ${d.gitBranch}`:``]}),(0,L.jsx)(s,{dimColor:!0,children:(0,L.jsxs)(c,{children:[(0,L.jsx)(r,{shortcut:`Enter`,action:`resume`}),(0,L.jsx)(E,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})})]})]})}var I,L,Ve=e((()=>{I=t(d(),1),g(),O(),D(),we(),he(),w(),P(),L=_()}));function R(e,t){if(e===B)return 5;let n=i(e),r=t?Math.min(n,t-V-H):n;return Math.max(0,r)+V+H}function He(e,t){let n=t-V-H;return i(e)<=n?e:n<=1?e.charAt(0):Ce(e,n)}function Ue({tabs:e,selectedIndex:t,availableWidth:n,showAllProjects:r=!1}){let i=r?`Resume (All Projects)`:`Resume`,a=i.length+1,c=Math.max(Je,W),l=n-a-c-2,u=Math.max(0,Math.min(t,e.length-1)),d=Math.max(20,Math.floor(l/2)),f=e.map(e=>R(e,d)),p=0,m=e.length;if(f.reduce((e,t,n)=>e+t+ +(n<f.length-1),0)>l){let t=l-qe,n=f[u]??0;for(p=u,m=u+1;p>0||m<e.length;){let r=p>0,i=m<e.length;if(r){let e=(f[p-1]??0)+1;if(n+e<=t){p--,n+=e;continue}}if(i){let e=(f[m]??0)+1;if(n+e<=t){m++,n+=e;continue}}break}}let ee=p,te=e.length-m,ne=e.slice(p,m),h=ne.map((e,t)=>p+t);return(0,z.jsxs)(o,{flexDirection:`row`,gap:1,children:[(0,z.jsx)(s,{color:`suggestion`,children:i}),ee>0&&(0,z.jsxs)(s,{dimColor:!0,children:[U,ee]}),ne.map((e,t)=>{let n=h[t]===u,r=e===B?e:`#${He(e,d-V)}`;return(0,z.jsxs)(s,{backgroundColor:n?`suggestion`:void 0,color:n?`inverseText`:void 0,bold:n,children:[` `,r,` `]},e)}),te>0?(0,z.jsxs)(s,{dimColor:!0,children:[We,te,Ge]}):(0,z.jsx)(s,{dimColor:!0,children:Ke})]})}var z,B,V,H,U,We,Ge,Ke,qe,Je,W,G=e((()=>{g(),we(),z=_(),B=`All`,V=2,H=1,U=`← `,We=`→`,Ge=` (tab to cycle)`,Ke=`(tab to cycle)`,qe=5,Je=18,W=14}));function Ye({nodes:e,onSelect:t,onCancel:n,onFocus:r,focusNodeId:i,visibleOptionCount:a,layout:s=`expanded`,isDisabled:c=!1,hideIndexes:l=!1,isNodeExpanded:u,onExpand:d,onCollapse:f,getParentPrefix:p,getChildPrefix:m,onUpFromFirstItem:ee}){let[te,ne]=K.useState(new Set),h=K.useRef(!1),g=K.useRef(null),_=K.useCallback(e=>u?u(e):te.has(e),[u,te]),v=K.useMemo(()=>{let t=[];function n(e,r,i){let a=!!e.children&&e.children.length>0,o=_(e.id);if(t.push({node:e,depth:r,isExpanded:o,hasChildren:a,parentId:i}),a&&o&&e.children)for(let t of e.children)n(t,r+1,e.id)}for(let t of e)n(t,0);return t},[e,_]),re=K.useCallback(e=>e?`▼ `:`▶ `,[]),y=K.useCallback(e=>` ▸ `,[]),ie=p??re,b=m??y,ae=K.useCallback(e=>{let t=``;return e.hasChildren?t=ie(e.isExpanded):e.depth>0&&(t=b(e.depth)),t+e.node.label},[ie,b]),oe=K.useMemo(()=>v.map(e=>({label:ae(e),description:e.node.description,dimDescription:e.node.dimDescription??!0,value:e.node.id})),[v,ae]),x=K.useMemo(()=>{let e=new Map;return v.forEach(t=>e.set(t.node.id,t.node)),e},[v]),se=K.useCallback(e=>v.find(t=>t.node.id===e),[v]),S=K.useCallback((e,t)=>{se(e)?.hasChildren&&(t?d?d(e):ne(t=>new Set(t).add(e)):f?f(e):ne(t=>{let n=new Set(t);return n.delete(e),n}))},[se,d,f]);return(0,Xe.jsx)(o,{tabIndex:0,autoFocus:!0,onKeyDown:e=>{if(!i||c)return;let t=se(i);if(t){if(e.key===`right`&&t.hasChildren)e.preventDefault(),S(i,!0);else if(e.key===`left`){if(t.hasChildren&&t.isExpanded)e.preventDefault(),S(i,!1);else if(t.parentId!==void 0&&(e.preventDefault(),h.current=!0,S(t.parentId,!1),r)){let e=x.get(t.parentId);e&&r(e)}}}},children:(0,Xe.jsx)(Me,{options:oe,onChange:K.useCallback(e=>{let n=x.get(e);n&&t(n)},[x,t]),onFocus:K.useCallback(e=>{if(h.current){h.current=!1;return}if(g.current!==e&&(g.current=e,r)){let t=x.get(e);t&&r(t)}},[r,x]),onCancel:n,defaultFocusValue:i,visibleOptionCount:a,layout:s,isDisabled:c,hideIndexes:l,onUpFromFirstItem:ee})})}var K,Xe,Ze=e((()=>{K=t(d(),1),g(),je(),Xe=_()}));function Qe(e,t){return Ce(e.replace(/\s+/g,` `).trim(),t)}function $e({before:e,match:t,after:n},r){return f.dim(e)+r(t)+f.dim(n)}function et(e,t,n){let r=e.toLowerCase().indexOf(t.toLowerCase());if(r===-1)return null;let i=r+t.length,a=Math.max(0,r-n),o=Math.min(e.length,i+n),s=e.slice(a,r),c=e.slice(r,i),l=e.slice(i,o);return{before:(a>0?`…`:``)+s.replace(/\s+/g,` `).trimStart(),match:c.trim(),after:l.replace(/\s+/g,` `).trimEnd()+(o<e.length?`…`:``)}}function tt(e,t,n){let{isGroupHeader:r=!1,isChild:i=!1,forkCount:a=0}=n||{},o=r&&a>0?ct:i?lt:0,s=r&&a>0?` (+${a} other ${a===1?`session`:`sessions`})`:``,c=e.isSidechain?` (sidechain)`:``,l=t-o-c.length-s.length;return`${Qe(ye(e),l)}${c}${s}`}function nt(e,t){let{isChild:n=!1,showProjectPath:r=!1}=t||{},i=n?` `:``,a=Te(e),o=r&&e.projectPath?` · ${e.projectPath}`:``;return i+a+o}function rt({logs:e,maxHeight:t=1/0,forceWidth:i,onCancel:d,onSelect:f,onLogsChanged:p,onLoadMore:h,initialSearchQuery:g,showAllProjects:_=!1,onToggleAllProjects:v,onAgenticSearch:y}){let ie=ne(),b=i===void 0?ie.columns:i,x=ke(d),se=u(),S=de(),[ce]=a(),le=Fe(ce),C=q.useMemo(()=>e=>te(e,le.warning),[le.warning]),[w,ue]=q.useState(null),[D,fe]=q.useState(!1),[O,he]=q.useState(!1),[k,_e]=q.useState(!1),A=q.useMemo(()=>oe(),[]),[ve,j]=q.useState(``),[be,xe]=q.useState(0),[Se,Ce]=q.useState(new Set),[we,Ee]=q.useState(null),[De,Oe]=q.useState(1),[M,N]=q.useState(`list`),[je,Ne]=q.useState(null),Ie=q.useRef(null),[Le,ze]=q.useState(0),[P,F]=q.useState({status:`idle`}),[I,L]=q.useState(!1),Ve=q.useRef(null),{query:R,setQuery:He,cursorOffset:z}=Re({isActive:M===`search`&&P.status!==`searching`,onExit:()=>{N(`list`)},onExitUp:()=>{N(`list`)},passthroughCtrlKeys:[`n`],initialQuery:g||``}),B=q.useDeferredValue(R),[V,H]=q.useState(``);q.useEffect(()=>{if(!B){H(``);return}let e=setTimeout(H,300,B);return()=>clearTimeout(e)},[B]);let[U,We]=q.useState(null),[Ge,Ke]=q.useState(!1);q.useEffect(()=>{re().then(e=>ue(e)),ge(A).then(e=>{_e(e.length>1)})},[A]);let qe=q.useMemo(()=>new Map(e.map(e=>[e,at(e)])),[e]),Je=q.useMemo(()=>null,[e,qe,!1]),W=q.useMemo(()=>st(e),[e]),G=W.length>0,K=q.useMemo(()=>G?[`All`,...W]:[],[G,W]),Xe=K.length>0&&Le<K.length?Le:0,Ze=K[Xe],rt=Ze===`All`?void 0:Ze,it=+!!G,ct=q.useMemo(()=>{let t=e;return S&&(t=e.filter(e=>{let t=ae(),n=T(e);return!!(t&&n===t||e.customTitle||me(e.messages)||e.firstPrompt||e.customTitle)})),rt!==void 0&&(t=t.filter(e=>e.tag===rt)),D&&w&&(t=t.filter(e=>e.gitBranch===w)),k&&!O&&(t=t.filter(e=>e.projectPath===A)),t},[e,S,rt,D,w,k,O,A]),lt=q.useMemo(()=>{if(!R)return ct;let e=R.toLowerCase();return ct.filter(t=>{let n=ye(t).toLowerCase(),r=(t.gitBranch||``).toLowerCase(),i=(t.tag||``).toLowerCase(),a=t.prNumber?`pr #${t.prNumber} ${t.prRepository||``}`.toLowerCase():``;return n.includes(e)||r.includes(e)||i.includes(e)||a.includes(e)})},[ct,R]);q.useEffect(()=>{},[B,V,!1]),q.useEffect(()=>{We(null),Ke(!1)},[V,Je,!1]);let{filteredLogs:Y,snippets:X}=q.useMemo(()=>{let e=new Map,t=lt;if(U&&V&&U.query===V){for(let t of U.results)if(t.searchableText){let n=et(t.searchableText,V,ut);n&&e.set(t.log,n)}let n=new Set(t.map(e=>e.messages[0]?.uuid)),r=U.results.map(e=>e.log).filter(e=>!n.has(e.messages[0]?.uuid));t=[...t,...r]}return{filteredLogs:t,snippets:e}},[lt,U,V]),Z=q.useMemo(()=>P.status===`results`&&P.results.length>0?P.results:Y,[P,Y]),Q=Math.max(30,b-4),dt=q.useMemo(()=>{if(!S)return[];let e=ot(Z);return Array.from(e.entries()).map(([e,t])=>{let n=t[0],r=Z.indexOf(n),i=X.get(n),a=i?$e(i,C):null;if(t.length===1){let t=nt(n,{showProjectPath:_});return{id:`log:${e}:0`,value:{log:n,indexInFiltered:r},label:tt(n,Q),description:a?`${t}\n ${a}`:t,dimDescription:!0}}let o=t.length-1,s=t.slice(1).map((t,n)=>{let r=Z.indexOf(t),i=X.get(t),a=i?$e(i,C):null,o=nt(t,{isChild:!0,showProjectPath:_});return{id:`log:${e}:${n+1}`,value:{log:t,indexInFiltered:r},label:tt(t,Q,{isChild:!0}),description:a?`${o}\n ${a}`:o,dimDescription:!0}}),c=nt(n,{showProjectPath:_});return{id:`group:${e}`,value:{log:n,indexInFiltered:r},label:tt(n,Q,{isGroupHeader:!0,forkCount:o}),description:a?`${c}\n ${a}`:c,dimDescription:!0,children:s}})},[S,Z,Q,_,X,C]),ft=q.useMemo(()=>S?[]:Z.map((e,t)=>{let n=Qe(ye(e)+(e.isSidechain?` (sidechain)`:``),Q),r=Te(e),i=_&&e.projectPath?` · ${e.projectPath}`:``,a=X.get(e),o=a?$e(a,C):null;return{label:n,description:o?`${r}${i}\n ${o}`:r+i,dimDescription:!0,value:t.toString()}}),[S,Z,C,Q,_,X]),$=we?.value.log??null,pt=()=>{if(!S||!$)return``;let e=T($);if(!e)return``;let t=Z.filter(t=>T(t)===e);if(!(t.length>1))return``;let n=Se.has(e);return t.indexOf($)>0||n?`← to collapse`:`→ to expand`},mt=q.useCallback(async()=>{let e=$?T($):void 0;if(!$||!e){N(`list`),j(``);return}ve.trim()&&(await pe(e,ve.trim(),$.fullPath),S&&p&&p()),N(`list`),j(``)},[$,ve,p,S]),ht=q.useCallback(()=>{N(`list`)},[]),gt=q.useCallback(()=>{N(`search`)},[]),_t=q.useCallback(async()=>{if(!R.trim()||!y||!0)return;Ve.current?.abort();let t=new AbortController;Ve.current=t,F({status:`searching`}),R.length;try{let n=await y(R,e,t.signal);if(t.signal.aborted)return;F({status:`results`,results:n,query:R}),R.length,n.length}catch(e){if(t.signal.aborted)return;F({status:`error`,message:e instanceof Error?e.message:`Search failed`}),R.length}},[R,y,!1,e]);q.useEffect(()=>{P.status!==`idle`&&P.status!==`searching`&&(P.status===`results`&&P.query!==R||P.status===`error`)&&F({status:`idle`})},[R,P]),q.useEffect(()=>()=>{Ve.current?.abort()},[]);let vt=q.useRef(P.status);q.useEffect(()=>{let e=vt.current;if(vt.current=P.status,e===`searching`&&P.status===`results`){if(S&&dt.length>0)Ee(dt[0]);else if(!S&&Z.length>0){let e=Z[0];Ee({id:`0`,value:{log:e,indexInFiltered:0},label:``})}}},[P.status,S,dt,Z]);let yt=q.useCallback(e=>{let t=parseInt(e,10),n=Z[t];!n||Ie.current===t.toString()||(Ie.current=t.toString(),Ee({id:t.toString(),value:{log:n,indexInFiltered:t},label:``}),Oe(t+1))},[Z]),bt=q.useCallback(e=>{Ee(e);let t=Z.findIndex(t=>T(t)===T(e.value.log));t>=0&&Oe(t+1)},[Z]);l(`confirm:no`,()=>{Ve.current?.abort(),F({status:`idle`})},{context:`Confirmation`,isActive:M!==`preview`&&P.status===`searching`}),l(`confirm:no`,()=>{N(`list`),j(``)},{context:`Settings`,isActive:M===`rename`&&P.status!==`searching`}),l(`confirm:no`,()=>{He(``),L(!1),d?.()},{context:`Confirmation`,isActive:M!==`preview`&&M!==`rename`&&M!==`search`&&I&&P.status!==`searching`}),m((e,t)=>{if(M!==`preview`&&P.status!==`searching`&&M!==`rename`)if(M===`search`)e.toLowerCase()===`n`&&t.ctrl?ht():(t.return||t.downArrow)&&R.trim();else{if(I){if(t.return){_t(),L(!1);return}else if(t.downArrow){L(!1);return}else if(t.upArrow){N(`search`),L(!1);return}}if(G&&t.tab){let e=t.shift?-1:1;ze(t=>{let n=((t<K.length?t:0)+K.length+e)%K.length;return K[n],W.length,n});return}let n=!t.ctrl&&!t.meta,r=e.toLowerCase();r===`a`&&t.ctrl&&v?v():r===`b`&&t.ctrl?fe(!D):r===`w`&&t.ctrl&&k?he(!O):r===`/`&&n?N(`search`):r===`r`&&t.ctrl&&$?(N(`rename`),j(``)):r===`v`&&t.ctrl&&$?(Ne($),N(`preview`),$.messageCount):$&&n&&e.length>0&&!/^\s+$/.test(e)&&(N(`search`),He(e))}},{isActive:!0});let xt=[];D&&w&&xt.push(w),k&&!O&&xt.push(`current worktree`);let St=8+ +(xt.length>0&&M!==`search`)+it,Ct=Math.max(1,Math.floor((t-St-2)/3));return q.useEffect(()=>{if(!h)return;let e=Ct*2;De+e>=Z.length&&h(Ct*3)},[De,Ct,Z.length,h]),e.length===0?null:M===`preview`&&je&&S?(0,J.jsx)(Be,{log:je,onExit:()=>{N(`list`),Ne(null)},onSelect:f}):(0,J.jsxs)(o,{flexDirection:`column`,height:t-1,children:[(0,J.jsx)(o,{flexShrink:0,children:(0,J.jsx)(n,{color:`suggestion`})}),(0,J.jsx)(o,{flexShrink:0,children:(0,J.jsx)(s,{children:` `})}),G?(0,J.jsx)(Ue,{tabs:K,selectedIndex:Xe,availableWidth:b,showAllProjects:_}):(0,J.jsx)(o,{flexShrink:0,children:(0,J.jsxs)(s,{bold:!0,color:`suggestion`,children:[`Resume Session`,M===`list`&&Z.length>Ct&&(0,J.jsxs)(s,{dimColor:!0,children:[` `,`(`,De,` of `,Z.length,`)`]})]})}),(0,J.jsx)(ee,{query:R,isFocused:M===`search`,isTerminalFocused:se,cursorOffset:z}),xt.length>0&&M!==`search`&&(0,J.jsx)(o,{flexShrink:0,paddingLeft:2,children:(0,J.jsx)(s,{dimColor:!0,children:(0,J.jsx)(c,{children:xt})})}),(0,J.jsx)(o,{flexShrink:0,children:(0,J.jsx)(s,{children:` `})}),P.status===`searching`&&(0,J.jsxs)(o,{paddingLeft:1,flexShrink:0,children:[(0,J.jsx)(Pe,{}),(0,J.jsx)(s,{children:` Searching…`})]}),P.status===`results`&&P.results.length>0&&(0,J.jsx)(o,{paddingLeft:1,marginBottom:1,flexShrink:0,children:(0,J.jsx)(s,{dimColor:!0,italic:!0,children:`Work Mate found these results:`})}),P.status===`results`&&P.results.length===0&&Y.length===0&&(0,J.jsx)(o,{paddingLeft:1,marginBottom:1,flexShrink:0,children:(0,J.jsx)(s,{dimColor:!0,italic:!0,children:`No matching sessions found.`})}),P.status===`error`&&Y.length===0&&(0,J.jsx)(o,{paddingLeft:1,marginBottom:1,flexShrink:0,children:(0,J.jsx)(s,{dimColor:!0,italic:!0,children:`No matching sessions found.`})}),!!R.trim()&&y&&!1,P.status===`searching`?null:M===`rename`&&$?(0,J.jsxs)(o,{paddingLeft:2,flexDirection:`column`,children:[(0,J.jsx)(s,{bold:!0,children:`Rename session:`}),(0,J.jsx)(o,{paddingTop:1,children:(0,J.jsx)(Ae,{value:ve,onChange:j,onSubmit:mt,placeholder:ye($,`Enter new session name`),columns:b,cursorOffset:be,onChangeCursorOffset:xe,showCursor:!0})})]}):S?(0,J.jsx)(Ye,{nodes:dt,onSelect:e=>{f(e.value.log)},onFocus:bt,onCancel:d,focusNodeId:we?.id,visibleOptionCount:Ct,layout:`expanded`,isDisabled:M===`search`||I,hideIndexes:!1,isNodeExpanded:e=>{if(M===`search`||D)return!0;let t=typeof e==`string`&&e.startsWith(`group:`)?e.substring(6):null;return t?Se.has(t):!1},onExpand:e=>{let t=typeof e==`string`&&e.startsWith(`group:`)?e.substring(6):null;t&&Ce(e=>new Set(e).add(t))},onCollapse:e=>{let t=typeof e==`string`&&e.startsWith(`group:`)?e.substring(6):null;t&&Ce(e=>{let n=new Set(e);return n.delete(t),n})},onUpFromFirstItem:gt}):(0,J.jsx)(Me,{options:ft,onChange:e=>{let t=Z[parseInt(e,10)];t&&f(t)},visibleOptionCount:Ct,onCancel:d,onFocus:yt,defaultFocusValue:we?.id.toString(),layout:`expanded`,isDisabled:M===`search`||I,onUpFromFirstItem:gt}),(0,J.jsx)(o,{paddingLeft:2,children:x.pending?(0,J.jsxs)(s,{dimColor:!0,children:[`Press `,x.keyName,` again to exit`]}):M===`rename`?(0,J.jsx)(s,{dimColor:!0,children:(0,J.jsxs)(c,{children:[(0,J.jsx)(r,{shortcut:`Enter`,action:`save`}),(0,J.jsx)(E,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})}):P.status===`searching`?(0,J.jsx)(s,{dimColor:!0,children:(0,J.jsxs)(c,{children:[(0,J.jsx)(s,{children:`Searching with Work Mate…`}),(0,J.jsx)(E,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})}):I?(0,J.jsx)(s,{dimColor:!0,children:(0,J.jsxs)(c,{children:[(0,J.jsx)(r,{shortcut:`Enter`,action:`search`}),(0,J.jsx)(r,{shortcut:`↓`,action:`skip`}),(0,J.jsx)(E,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`})]})}):M===`search`?(0,J.jsx)(s,{dimColor:!0,children:(0,J.jsxs)(c,{children:[(0,J.jsx)(s,{children:`Type to Search`}),(0,J.jsx)(r,{shortcut:`Enter`,action:`select`}),(0,J.jsx)(E,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`clear`})]})}):(0,J.jsx)(s,{dimColor:!0,children:(0,J.jsxs)(c,{children:[v&&(0,J.jsx)(r,{shortcut:`Ctrl+A`,action:`show ${_?`current dir`:`all projects`}`}),w&&(0,J.jsx)(r,{shortcut:`Ctrl+B`,action:`toggle branch`}),k&&(0,J.jsx)(r,{shortcut:`Ctrl+W`,action:`show ${O?`current worktree`:`all worktrees`}`}),(0,J.jsx)(r,{shortcut:`Ctrl+V`,action:`preview`}),(0,J.jsx)(r,{shortcut:`Ctrl+R`,action:`rename`}),(0,J.jsx)(s,{children:`Type to search`}),(0,J.jsx)(E,{action:`confirm:no`,context:`Confirmation`,fallback:`Esc`,description:`cancel`}),pt()&&(0,J.jsx)(s,{children:pt()})]})})})]})}function it(e){if(e.type!==`user`&&e.type!==`assistant`)return``;let t=`message`in e?e.message?.content:void 0;return t?typeof t==`string`?t:Array.isArray(t)?t.map(e=>typeof e==`string`?e:`text`in e&&typeof e.text==`string`?e.text:``).filter(Boolean).join(` `):``:``}function at(e){let t=(e.messages.length<=Y?e.messages:[...e.messages.slice(0,X),...e.messages.slice(-1e3)]).map(it).filter(Boolean).join(` `),n=`${[e.customTitle,e.summary,e.firstPrompt,e.gitBranch,e.tag,e.prNumber?`PR #${e.prNumber}`:void 0,e.prRepository].filter(Boolean).join(` `)} ${t}`.trim();return n.length>Z?n.slice(0,Z):n}function ot(e){let t=new Map;for(let n of e){let e=T(n);if(e){let r=t.get(e);r?r.push(n):t.set(e,[n])}}return t.forEach(e=>e.sort((e,t)=>new Date(t.modified).getTime()-new Date(e.modified).getTime())),t}function st(e){let t=new Set;for(let n of e)n.tag&&t.add(n.tag);return Array.from(t).sort((e,t)=>e.localeCompare(t))}var q,J,ct,lt,Y,X,Z,ut,Q=e((()=>{p(),q=t(d(),1),b(),M(),ze(),fe(),g(),O(),Se(),we(),le(),ie(),be(),he(),Ie(),w(),je(),Le(),Ve(),Ne(),G(),N(),Ze(),J=_(),ct=2,lt=4,Y=2e3,X=1e3,Z=5e4,ut=50}));function dt(e){if(e.type!==`user`&&e.type!==`assistant`)return``;let t=`message`in e?e.message?.content:void 0;return t?typeof t==`string`?t:Array.isArray(t)?t.map(e=>typeof e==`string`?e:`text`in e&&typeof e.text==`string`?e.text:``).filter(Boolean).join(` `):``:``}function ft(e){if(e.length===0)return``;let t=(e.length<=ht?e:[...e.slice(0,ht/2),...e.slice(-100/2)]).map(dt).filter(Boolean).join(` `).replace(/\s+/g,` `).trim();return t.length>mt?`${t.slice(0,mt)}…`:t}function $(e,t){return!!(ye(e).toLowerCase().includes(t)||e.customTitle?.toLowerCase().includes(t)||e.tag?.toLowerCase().includes(t)||e.gitBranch?.toLowerCase().includes(t)||e.summary?.toLowerCase().includes(t)||e.firstPrompt?.toLowerCase().includes(t)||e.messages&&e.messages.length>0&&ft(e.messages).toLowerCase().includes(t))}async function pt(e,t,n){if(!e.trim()||t.length===0)return[];let r=e.toLowerCase(),i=t.filter(e=>$(e,r)),a;if(i.length>=gt)a=i.slice(0,gt);else{let e=t.filter(e=>!$(e,r)),n=gt-i.length;a=[...i,...e.slice(0,n)]}A(`Agentic search: ${a.length}/${t.length} logs, query="${e}", matching: ${i.length}, with messages: ${y(a,e=>e.messages?.length>0)}`);let o=a.map(async e=>{if(C(e))try{return await x(e)}catch(t){return xe(t),e}return e}),s=await Promise.all(o);A(`Agentic search: loaded ${y(s,e=>e.messages?.length>0)}/${a.length} logs with transcripts`);let c=`Sessions:
|
|
2
|
+
${s.map((e,t)=>{let n=[`${t}:`],r=ye(e);if(n.push(r),e.customTitle&&e.customTitle!==r&&n.push(`[custom title: ${e.customTitle}]`),e.tag&&n.push(`[tag: ${e.tag}]`),e.gitBranch&&n.push(`[branch: ${e.gitBranch}]`),e.summary&&n.push(`- Summary: ${e.summary}`),e.firstPrompt&&e.firstPrompt!==`No prompt`&&n.push(`- First message: ${e.firstPrompt.slice(0,300)}`),e.messages&&e.messages.length>0){let t=ft(e.messages);t&&n.push(`- Transcript: ${t}`)}return n.join(` `)}).join(`
|
|
3
|
+
`)}
|
|
4
|
+
|
|
5
|
+
Search query: "${e}"
|
|
6
|
+
|
|
7
|
+
Find the sessions that are most relevant to this query.`;A(`Agentic search prompt (first 500 chars): ${c.slice(0,500)}...`);try{let e=Oe();A(`Agentic search using model: ${e}`);let t=(await k({model:e,system:_t,messages:[{role:`user`,content:c}],signal:n,querySource:`session_search`})).content.find(e=>e.type===`text`);if(t?.type!==`text`)return A(`No text content in agentic search response`),[];A(`Agentic search response: ${t.text}`);let r=t.text.match(/\{[\s\S]*\}/);if(!r)return A(`Could not find JSON in agentic search response`),[];let i=(_e(r[0]).relevant_indices||[]).filter(e=>e>=0&&e<s.length).map(e=>s[e]);return A(`Agentic search found ${i.length} relevant sessions`),i}catch(e){return xe(e),A(`Agentic search error: ${e}`),[]}}var mt,ht,gt,_t,vt=e((()=>{v(),ve(),be(),De(),he(),ue(),j(),mt=2e3,ht=100,gt=100,_t=`Your goal is to find relevant sessions based on a user's search query.
|
|
8
|
+
|
|
9
|
+
You will be given a list of sessions with their metadata and a search query. Identify which sessions are most relevant to the query.
|
|
10
|
+
|
|
11
|
+
Each session may include:
|
|
12
|
+
- Title (display name or custom title)
|
|
13
|
+
- Tag (user-assigned category, shown as [tag: name] - users tag sessions with /tag command to categorize them)
|
|
14
|
+
- Branch (git branch name, shown as [branch: name])
|
|
15
|
+
- Summary (AI-generated summary)
|
|
16
|
+
- First message (beginning of the conversation)
|
|
17
|
+
- Transcript (excerpt of conversation content)
|
|
18
|
+
|
|
19
|
+
IMPORTANT: Tags are user-assigned labels that indicate the session's topic or category. If the query matches a tag exactly or partially, those sessions should be highly prioritized.
|
|
20
|
+
|
|
21
|
+
For each session, consider (in order of priority):
|
|
22
|
+
1. Exact tag matches (highest priority - user explicitly categorized this session)
|
|
23
|
+
2. Partial tag matches or tag-related terms
|
|
24
|
+
3. Title matches (custom titles or first message content)
|
|
25
|
+
4. Branch name matches
|
|
26
|
+
5. Summary and transcript content matches
|
|
27
|
+
6. Semantic similarity and related concepts
|
|
28
|
+
|
|
29
|
+
CRITICAL: Be VERY inclusive in your matching. Include sessions that:
|
|
30
|
+
- Contain the query term anywhere in any field
|
|
31
|
+
- Are semantically related to the query (e.g., "testing" matches sessions about "tests", "unit tests", "QA", etc.)
|
|
32
|
+
- Discuss topics that could be related to the query
|
|
33
|
+
- Have transcripts that mention the concept even in passing
|
|
34
|
+
|
|
35
|
+
When in doubt, INCLUDE the session. It's better to return too many results than too few. The user can easily scan through results, but missing relevant sessions is frustrating.
|
|
36
|
+
|
|
37
|
+
Return sessions ordered by relevance (most relevant first). If truly no sessions have ANY connection to the query, return an empty array - but this should be rare.
|
|
38
|
+
|
|
39
|
+
Respond with ONLY the JSON object, no markdown formatting:
|
|
40
|
+
{"relevant_indices": [2, 5, 0]}`}));function yt(e,t){let n=oe();if(!t||!e.projectPath||e.projectPath===n)return{isCrossProject:!1};let r=T(e);return{isCrossProject:!0,isSameRepoWorktree:!1,command:`cd ${se([e.projectPath])} && claude --resume ${r}`,projectPath:e.projectPath}}var bt=e((()=>{b(),ce(),he()}));export{rt as a,vt as i,bt as n,Q as o,pt as r,yt as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{t}from"./jsx-runtime-Bb4Xn-E0.js";var n,r;e((()=>{n=t(),r=async(e,t)=>{let{DiffDialog:r}=await import(`./DiffDialog-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{t}from"./jsx-runtime-Bb4Xn-E0.js";var n,r;e((()=>{n=t(),r=async(e,t)=>{let{DiffDialog:r}=await import(`./DiffDialog-Cwf8CdxZ.js`);return(0,n.jsx)(r,{messages:t.messages,onDone:e})}}))();export{r as call};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{t}from"./jsx-runtime-Bb4Xn-E0.js";import{n,t as r}from"./Doctor-GmT5aeAc.js";var i,a;e((()=>{n(),i=t(),a=(e,t,n)=>Promise.resolve((0,i.jsx)(r,{onDone:e}))}))();export{a as call};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{n as e,t}from"./defineProperty-C-QyHrDq.js";import{Gi as n,Ni as r,Or as i,Vi as a,Wi as o,Yi as s,Zi as c,ca as l,d as u,ea as d,ia as f,m as p,oa as m,sa as h,ta as g,ua as _,vr as v,wr as y}from"./settings-D4M13toi.js";import{$n as b,Hn as x,Pt as S,Qn as ee,Tn as C,ot as te,q as ne}from"./state-CXY-q5gr.js";import{B as re,Dc as ie,Di as ae,Ds as oe,Ec as se,Gv as ce,Mi as le,Os as ue,V as de,Vv as fe,Xl as pe,Yl as me,gr as he,i as ge,nr as w,o as _e}from"./loadAgentsDir-uuZYOgKn.js";import{d as ve,n as ye}from"./config-BDn2YIjC.js";import{f as be,s as xe}from"./model-CcHyMyBv.js";import{_n as Se,vn as Ce}from"./prompt-BfXryFt-.js";import{t as T}from"./conversationRecovery-NL05oJb1.js";import{t as we}from"./QueryEngine-BBBkZWu2.js";import{n as Te,r as Ee}from"./modelOptions-CJV1R3Jt.js";import{n as De,r as Oe}from"./managedEnv-B8YWmM4A.js";import{dirname as ke}from"node:path";import{randomUUID as E}from"node:crypto";import{Readable as Ae,Writable as je}from"node:stream";import{unlink as Me}from"node:fs/promises";import*as D from"node:path/posix";import{isAbsolute as Ne,resolve as Pe}from"node:path/posix";r();var O={authenticate:`authenticate`,document_did_change:`document/didChange`,document_did_close:`document/didClose`,document_did_focus:`document/didFocus`,document_did_open:`document/didOpen`,document_did_save:`document/didSave`,initialize:`initialize`,logout:`logout`,nes_accept:`nes/accept`,nes_close:`nes/close`,nes_reject:`nes/reject`,nes_start:`nes/start`,nes_suggest:`nes/suggest`,session_cancel:`session/cancel`,session_close:`session/close`,session_fork:`session/fork`,session_list:`session/list`,session_load:`session/load`,session_new:`session/new`,session_prompt:`session/prompt`,session_resume:`session/resume`,session_set_config_option:`session/set_config_option`,session_set_mode:`session/set_mode`,session_set_model:`session/set_model`},k={elicitation_complete:`elicitation/complete`,elicitation_create:`elicitation/create`,fs_read_text_file:`fs/read_text_file`,fs_write_text_file:`fs/write_text_file`,session_request_permission:`session/request_permission`,session_update:`session/update`,terminal_create:`terminal/create`,terminal_kill:`terminal/kill`,terminal_output:`terminal/output`,terminal_release:`terminal/release`,terminal_wait_for_exit:`terminal/wait_for_exit`},Fe=g({_meta:f(m(),l()).nullish(),terminal:n().optional().default(!1)}),Ie=g({_meta:f(m(),l()).nullish(),label:m().nullish(),name:m(),optional:n().optional().default(!1),secret:n().optional().default(!0)}),Le=g({_meta:f(m(),l()).nullish(),description:m().nullish(),id:m(),name:m()}),Re=g({_meta:f(m(),l()).nullish(),description:m().nullish(),id:m(),link:m().nullish(),name:m(),vars:o(Ie)}),ze=g({_meta:f(m(),l()).nullish(),args:o(m()).optional(),description:m().nullish(),env:f(m(),m()).optional(),id:m(),name:m()}),Be=h([Re.and(g({type:c(`env_var`)})),ze.and(g({type:c(`terminal`)})),Le]),Ve=g({_meta:f(m(),l()).nullish(),methodId:m()}),He=g({_meta:f(m(),l()).nullish()}),Ue=g({_meta:f(m(),l()).nullish(),blob:m(),mimeType:m().nullish(),uri:m()}),We=g({default:n().nullish(),description:m().nullish(),title:m().nullish()}),Ge=g({_meta:f(m(),l()).nullish()}),Ke=g({_meta:f(m(),l()).nullish()}),qe=g({amount:d(),currency:m()}),Je=g({_meta:f(m(),l()).nullish(),terminalId:m()}),Ye=g({_meta:f(m(),l()).nullish(),newText:m(),oldText:m().nullish(),path:m()}),Xe=h([m(),d(),d(),n(),o(m())]),Ze=s(h([g({content:f(m(),Xe).nullish()}).and(g({action:c(`accept`)})),g({action:c(`decline`)}),g({action:c(`cancel`)})]),g({_meta:f(m(),l()).nullish()})),Qe=g({_meta:f(m(),l()).nullish()}),$e=m(),et=g({_meta:f(m(),l()).nullish(),elicitationId:$e}),tt=c(`object`),nt=c(`string`),rt=g({_meta:f(m(),l()).nullish()}),it=g({_meta:f(m(),l()).nullish(),form:Qe.nullish(),url:rt.nullish()}),at=g({const:m(),title:m()}),ot=g({_meta:f(m(),l()).nullish(),name:m(),value:m()}),st=g({code:h([c(-32700),c(-32600),c(-32601),c(-32602),c(-32603),c(-32800),c(-32e3),c(-32002),c(-32042),d().int().min(-2147483648,{message:`Invalid value: Expected int32 to be >= -2147483648`}).max(2147483647,{message:`Invalid value: Expected int32 to be <= 2147483647`})]),data:l().optional(),message:m()}),ct=l(),lt=l(),ut=l(),dt=g({_meta:f(m(),l()).nullish(),readTextFile:n().optional().default(!1),writeTextFile:n().optional().default(!1)}),ft=g({_meta:f(m(),l()).nullish(),name:m(),value:m()}),pt=g({_meta:f(m(),l()).nullish(),name:m(),title:m().nullish(),version:m()}),mt=g({default:d().nullish(),description:m().nullish(),maximum:d().nullish(),minimum:d().nullish(),title:m().nullish()}),ht=g({_meta:f(m(),l()).nullish()}),gt=g({_meta:f(m(),l()).nullish(),additionalDirectories:o(m()).optional(),cursor:m().nullish(),cwd:m().nullish()}),_t=g({_meta:f(m(),l()).nullish()}),vt=g({_meta:f(m(),l()).nullish(),logout:_t.nullish()}),yt=g({_meta:f(m(),l()).nullish()}),bt=g({_meta:f(m(),l()).nullish()}),xt=g({_meta:f(m(),l()).nullish(),http:n().optional().default(!1),sse:n().optional().default(!1)}),St=g({_meta:f(m(),l()).nullish(),headers:o(ft),name:m(),url:m()}),Ct=g({_meta:f(m(),l()).nullish(),headers:o(ft),name:m(),url:m()}),wt=g({_meta:f(m(),l()).nullish(),args:o(m()),command:m(),env:o(ot),name:m()}),A=h([St.and(g({type:c(`http`)})),Ct.and(g({type:c(`sse`)})),wt]),j=m(),Tt=g({_meta:f(m(),l()).nullish(),description:m().nullish(),modelId:j,name:m()}),Et=h([c(`error`),c(`warning`),c(`information`),c(`hint`)]),Dt=g({_meta:f(m(),l()).nullish()}),Ot=g({_meta:f(m(),l()).nullish()}),kt=g({_meta:f(m(),l()).nullish()}),At=g({_meta:f(m(),l()).nullish()}),jt=g({_meta:f(m(),l()).nullish()}),Mt=g({_meta:f(m(),l()).nullish(),maxCount:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),Nt=g({diff:m(),uri:m()}),Pt=g({endLine:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),startLine:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),text:m()}),Ft=g({_meta:f(m(),l()).nullish()}),It=g({_meta:f(m(),l()).nullish()}),Lt=g({languageId:m(),text:m(),uri:m()}),Rt=g({_meta:f(m(),l()).nullish(),maxCount:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),zt=h([c(`rejected`),c(`ignored`),c(`replaced`),c(`cancelled`)]),Bt=g({excerpts:o(Pt),uri:m()}),Vt=g({_meta:f(m(),l()).nullish()}),Ht=g({_meta:f(m(),l()).nullish()}),Ut=g({name:m(),owner:m(),remoteUrl:m()}),Wt=g({_meta:f(m(),l()).nullish()}),Gt=g({_meta:f(m(),l()).nullish(),jump:Ft.nullish(),rename:Ht.nullish(),searchAndReplace:Wt.nullish()}),Kt=g({id:m(),isRegex:n().nullish(),replace:m(),search:m(),uri:m()}),qt=h([c(`automatic`),c(`diagnostic`),c(`manual`)]),Jt=g({_meta:f(m(),l()).nullish(),maxCount:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),Yt=g({_meta:f(m(),l()).nullish(),diagnostics:Dt.nullish(),editHistory:Mt.nullish(),openFiles:It.nullish(),recentFiles:Rt.nullish(),relatedSnippets:Vt.nullish(),userActions:Jt.nullish()}),Xt=g({_meta:f(m(),l()).nullish(),additionalDirectories:o(m()).optional(),cwd:m(),mcpServers:o(A)}),Zt=g({default:d().nullish(),description:m().nullish(),maximum:d().nullish(),minimum:d().nullish(),title:m().nullish()}),Qt=m(),$t=h([c(`allow_once`),c(`allow_always`),c(`reject_once`),c(`reject_always`)]),en=g({_meta:f(m(),l()).nullish(),kind:$t,name:m(),optionId:Qt}),tn=h([c(`high`),c(`medium`),c(`low`)]),nn=h([c(`pending`),c(`in_progress`),c(`completed`)]),rn=g({_meta:f(m(),l()).nullish(),content:m(),priority:tn,status:nn}),an=g({_meta:f(m(),l()).nullish(),entries:o(rn)}),M=g({character:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),line:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`})}),on=g({id:m(),position:M,uri:m()}),sn=g({id:m(),newName:m(),position:M,uri:m()}),cn=g({action:m(),position:M,timestampMs:d(),uri:m()}),ln=h([c(`utf-16`),c(`utf-32`),c(`utf-8`)]),un=g({_meta:f(m(),l()).nullish(),auth:Fe.optional().default({terminal:!1}),elicitation:it.nullish(),fs:dt.optional().default({readTextFile:!1,writeTextFile:!1}),nes:Gt.nullish(),positionEncodings:o(ln).optional(),terminal:n().optional().default(!1)}),dn=g({_meta:f(m(),l()).nullish(),audio:n().optional().default(!1),embeddedContext:n().optional().default(!1),image:n().optional().default(!1)}),fn=d().int().gte(0).lte(65535),pn=g({_meta:f(m(),l()).nullish(),clientCapabilities:un.optional().default({auth:{terminal:!1},fs:{readTextFile:!1,writeTextFile:!1},terminal:!1}),clientInfo:pt.nullish(),protocolVersion:fn}),N=g({end:M,start:M}),mn=g({message:m(),range:N,severity:Et,uri:m()}),hn=g({languageId:m(),lastFocusedMs:d().nullish(),uri:m(),visibleRange:N.nullish()}),gn=g({_meta:f(m(),l()).nullish(),diagnostics:o(mn).nullish(),editHistory:o(Nt).nullish(),openFiles:o(hn).nullish(),recentFiles:o(Lt).nullish(),relatedSnippets:o(Bt).nullish(),userActions:o(cn).nullish()}),_n=g({newText:m(),range:N}),vn=h([g({cursorPosition:M.nullish(),edits:o(_n),id:m(),uri:m()}).and(g({kind:c(`edit`)})),on.and(g({kind:c(`jump`)})),sn.and(g({kind:c(`rename`)})),Kt.and(g({kind:c(`searchAndReplace`)}))]),yn=g({_meta:f(m(),l()).nullish(),content:m()}),bn=g({_meta:f(m(),l()).nullish()}),P=h([d(),m()]).nullable();g({_meta:f(m(),l()).nullish(),requestId:P});var xn=g({requestId:P}),Sn=a([`assistant`,`user`]),F=g({_meta:f(m(),l()).nullish(),audience:o(Sn).nullish(),lastModified:m().nullish(),priority:d().nullish()}),Cn=g({_meta:f(m(),l()).nullish(),annotations:F.nullish(),data:m(),mimeType:m()}),wn=g({_meta:f(m(),l()).nullish(),annotations:F.nullish(),data:m(),mimeType:m(),uri:m().nullish()}),Tn=g({_meta:f(m(),l()).nullish(),annotations:F.nullish(),description:m().nullish(),mimeType:m().nullish(),name:m(),size:d().nullish(),title:m().nullish(),uri:m()}),En=g({_meta:f(m(),l()).nullish(),optionId:Qt}),Dn=h([g({outcome:c(`cancelled`)}),En.and(g({outcome:c(`selected`)}))]),On=g({_meta:f(m(),l()).nullish(),outcome:Dn}),kn=g({_meta:f(m(),l()).nullish()}),An=g({_meta:f(m(),l()).nullish()}),jn=g({currentValue:n()}),Mn=m(),Nn=m(),Pn=h([c(`mode`),c(`model`),c(`thought_level`),m()]),I=m(),Fn=g({_meta:f(m(),l()).nullish(),description:m().nullish(),name:m(),value:I}),In=g({_meta:f(m(),l()).nullish(),group:Mn,name:m(),options:o(Fn)}),L=s(h([g({currentValue:I,options:h([o(Fn),o(In)])}).and(g({type:c(`select`)})),jn.and(g({type:c(`boolean`)}))]),g({_meta:f(m(),l()).nullish(),category:Pn.nullish(),description:m().nullish(),id:Nn,name:m()})),Ln=g({_meta:f(m(),l()).nullish(),configOptions:o(L)}),Rn=g({_meta:f(m(),l()).nullish()}),R=m(),zn=g({_meta:f(m(),l()).nullish(),id:m(),sessionId:R}),Bn=g({_meta:f(m(),l()).nullish(),sessionId:R}),Vn=g({_meta:f(m(),l()).nullish(),sessionId:R}),Hn=g({_meta:f(m(),l()).nullish(),sessionId:R}),Un=g({_meta:f(m(),l()).nullish(),args:o(m()).optional(),command:m(),cwd:m().nullish(),env:o(ot).optional(),outputByteLimit:d().nullish(),sessionId:R}),Wn=g({_meta:f(m(),l()).nullish(),sessionId:R,uri:m()}),Gn=g({_meta:f(m(),l()).nullish(),position:M,sessionId:R,uri:m(),version:d(),visibleRange:N}),Kn=g({_meta:f(m(),l()).nullish(),languageId:m(),sessionId:R,text:m(),uri:m(),version:d()}),z=g({_meta:f(m(),l()).nullish(),sessionId:R,uri:m()}),qn=g({_meta:f(m(),l()).nullish(),additionalDirectories:o(m()).optional(),cwd:m(),mcpServers:o(A).optional(),sessionId:R}),Jn=g({_meta:f(m(),l()).nullish(),sessionId:R,terminalId:m()}),Yn=g({_meta:f(m(),l()).nullish(),additionalDirectories:o(m()).optional(),cwd:m(),mcpServers:o(A),sessionId:R}),Xn=g({_meta:f(m(),l()).nullish(),limit:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),line:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),path:m(),sessionId:R}),Zn=g({_meta:f(m(),l()).nullish(),id:m(),reason:zt.nullish(),sessionId:R}),Qn=g({_meta:f(m(),l()).nullish(),sessionId:R,terminalId:m()}),$n=g({_meta:f(m(),l()).nullish(),additionalDirectories:o(m()).optional(),cwd:m(),mcpServers:o(A).optional(),sessionId:R}),er=g({_meta:f(m(),l()).nullish(),additionalDirectories:o(m()).optional(),cwd:m(),sessionId:R,title:m().nullish(),updatedAt:m().nullish()}),tr=g({_meta:f(m(),l()).nullish(),nextCursor:m().nullish(),sessions:o(er)}),nr=g({_meta:f(m(),l()).nullish(),title:m().nullish(),updatedAt:m().nullish()}),rr=g({_meta:f(m(),l()).nullish()}),B=m(),ir=g({_meta:f(m(),l()).nullish(),currentModeId:B}),ar=g({_meta:f(m(),l()).nullish(),description:m().nullish(),id:B,name:m()}),V=g({_meta:f(m(),l()).nullish(),availableModes:o(ar),currentModeId:B}),H=g({_meta:f(m(),l()).nullish(),availableModels:o(Tt),currentModelId:j}),or=g({_meta:f(m(),l()).nullish(),configOptions:o(L).nullish(),models:H.nullish(),modes:V.nullish(),sessionId:R}),sr=g({_meta:f(m(),l()).nullish(),configOptions:o(L).nullish(),models:H.nullish(),modes:V.nullish()}),cr=g({_meta:f(m(),l()).nullish(),configOptions:o(L).nullish(),models:H.nullish(),modes:V.nullish(),sessionId:R}),lr=g({_meta:f(m(),l()).nullish(),configOptions:o(L).nullish(),models:H.nullish(),modes:V.nullish()}),ur=g({_meta:f(m(),l()).nullish()}),dr=g({_meta:f(m(),l()).nullish(),additionalDirectories:kn.nullish(),close:An.nullish(),fork:Rn.nullish(),list:rr.nullish(),resume:ur.nullish()}),fr=s(h([g({type:c(`boolean`),value:n()}),g({value:I})]),g({_meta:f(m(),l()).nullish(),configId:Nn,sessionId:R})),pr=g({_meta:f(m(),l()).nullish(),configOptions:o(L)}),mr=g({_meta:f(m(),l()).nullish(),modeId:B,sessionId:R}),hr=g({_meta:f(m(),l()).nullish()}),gr=g({_meta:f(m(),l()).nullish(),modelId:j,sessionId:R}),_r=g({_meta:f(m(),l()).nullish()}),vr=g({_meta:f(m(),l()).nullish(),sessionId:R}),yr=h([c(`end_turn`),c(`max_tokens`),c(`max_turn_requests`),c(`refusal`),c(`cancelled`)]),br=h([c(`email`),c(`uri`),c(`date`),c(`date-time`)]),xr=g({default:m().nullish(),description:m().nullish(),enum:o(m()).nullish(),format:br.nullish(),maxLength:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),minLength:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),oneOf:o(at).nullish(),pattern:m().nullish(),title:m().nullish()}),Sr=g({_meta:f(m(),l()).nullish(),context:gn.nullish(),position:M,selection:N.nullish(),sessionId:R,triggerKind:qt,uri:m(),version:d()}),Cr=g({_meta:f(m(),l()).nullish(),suggestions:o(vn)}),wr=g({_meta:f(m(),l()).nullish(),terminalId:m()}),Tr=g({_meta:f(m(),l()).nullish(),exitCode:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),signal:m().nullish()}),Er=g({_meta:f(m(),l()).nullish(),sessionId:R,terminalId:m()}),Dr=g({_meta:f(m(),l()).nullish(),exitStatus:Tr.nullish(),output:m(),truncated:n()}),Or=g({_meta:f(m(),l()).nullish(),annotations:F.nullish(),text:m()}),kr=g({range:N.nullish(),text:m()}),Ar=g({_meta:f(m(),l()).nullish(),contentChanges:o(kr),sessionId:R,uri:m(),version:d()});g({method:m(),params:h([Bn,Kn,Ar,Wn,z,Gn,zn,Zn,ct]).nullish()});var jr=h([c(`full`),c(`incremental`)]),Mr=g({_meta:f(m(),l()).nullish(),syncKind:jr}),Nr=g({_meta:f(m(),l()).nullish(),didChange:Mr.nullish(),didClose:Ot.nullish(),didFocus:kt.nullish(),didOpen:At.nullish(),didSave:jt.nullish()}),Pr=g({_meta:f(m(),l()).nullish(),document:Nr.nullish()}),Fr=g({_meta:f(m(),l()).nullish(),context:Yt.nullish(),events:Pr.nullish()}),Ir=g({_meta:f(m(),l()).nullish(),auth:vt.optional().default({}),loadSession:n().optional().default(!1),mcpCapabilities:xt.optional().default({http:!1,sse:!1}),nes:Fr.nullish(),positionEncoding:ln.nullish(),promptCapabilities:dn.optional().default({audio:!1,embeddedContext:!1,image:!1}),sessionCapabilities:dr.optional().default({})}),Lr=g({_meta:f(m(),l()).nullish(),agentCapabilities:Ir.optional().default({auth:{},loadSession:!1,mcpCapabilities:{http:!1,sse:!1},promptCapabilities:{audio:!1,embeddedContext:!1,image:!1},sessionCapabilities:{}}),agentInfo:pt.nullish(),authMethods:o(Be).optional().default([]),protocolVersion:fn}),Rr=h([g({_meta:f(m(),l()).nullish(),mimeType:m().nullish(),text:m(),uri:m()}),Ue]),zr=g({_meta:f(m(),l()).nullish(),annotations:F.nullish(),resource:Rr}),U=h([Or.and(g({type:c(`text`)})),wn.and(g({type:c(`image`)})),Cn.and(g({type:c(`audio`)})),Tn.and(g({type:c(`resource_link`)})),zr.and(g({type:c(`resource`)}))]),Br=g({_meta:f(m(),l()).nullish(),content:U}),W=g({_meta:f(m(),l()).nullish(),content:U,messageId:m().nullish()}),Vr=g({_meta:f(m(),l()).nullish(),messageId:m().nullish(),prompt:o(U),sessionId:R}),Hr=g({anyOf:o(at)}),Ur=h([Br.and(g({type:c(`content`)})),Ye.and(g({type:c(`diff`)})),wr.and(g({type:c(`terminal`)}))]),G=m(),Wr=g({sessionId:R,toolCallId:G.nullish()}),Gr=s(h([Wr,xn]),g({elicitationId:$e,url:m().url()})),Kr=g({_meta:f(m(),l()).nullish(),line:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),path:m()}),qr=h([c(`pending`),c(`in_progress`),c(`completed`),c(`failed`)]),Jr=h([c(`read`),c(`edit`),c(`delete`),c(`move`),c(`search`),c(`execute`),c(`think`),c(`fetch`),c(`switch_mode`),c(`other`)]),Yr=g({_meta:f(m(),l()).nullish(),content:o(Ur).optional(),kind:Jr.optional(),locations:o(Kr).optional(),rawInput:l().optional(),rawOutput:l().optional(),status:qr.optional(),title:m(),toolCallId:G}),Xr=g({_meta:f(m(),l()).nullish(),content:o(Ur).nullish(),kind:Jr.nullish(),locations:o(Kr).nullish(),rawInput:l().optional(),rawOutput:l().optional(),status:qr.nullish(),title:m().nullish(),toolCallId:G}),Zr=g({_meta:f(m(),l()).nullish(),options:o(en),sessionId:R,toolCall:Xr}),Qr=g({_meta:f(m(),l()).nullish(),hint:m()}),$r=g({_meta:f(m(),l()).nullish(),description:m(),input:Qr.nullish(),name:m()}),ei=g({_meta:f(m(),l()).nullish(),availableCommands:o($r)}),ti=h([g({enum:o(m()),type:nt}),Hr]),ni=g({default:o(m()).nullish(),description:m().nullish(),items:ti,maxItems:d().nullish(),minItems:d().nullish(),title:m().nullish()}),ri=h([xr.and(g({type:c(`string`)})),Zt.and(g({type:c(`number`)})),mt.and(g({type:c(`integer`)})),We.and(g({type:c(`boolean`)})),ni.and(g({type:c(`array`)}))]),ii=g({description:m().nullish(),properties:f(m(),ri).optional().default({}),required:o(m()).nullish(),title:m().nullish(),type:tt.optional().default(`object`)}),ai=s(h([s(h([Wr,xn]),g({requestedSchema:ii})).and(g({mode:c(`form`)})),Gr.and(g({mode:c(`url`)}))]),g({_meta:f(m(),l()).nullish(),message:m()})),oi=g({cachedReadTokens:d().nullish(),cachedWriteTokens:d().nullish(),inputTokens:d(),outputTokens:d(),thoughtTokens:d().nullish(),totalTokens:d()});h([g({id:P,result:h([Lr,He,bt,cr,sr,tr,or,lr,Ke,hr,pr,g({_meta:f(m(),l()).nullish(),stopReason:yr,usage:oi.nullish(),userMessageId:m().nullish()}),_r,vr,Cr,Ge,ut])}),g({error:st,id:P})]);var si=g({_meta:f(m(),l()).nullish(),cost:qe.nullish(),size:d(),used:d()}),ci=h([W.and(g({sessionUpdate:c(`user_message_chunk`)})),W.and(g({sessionUpdate:c(`agent_message_chunk`)})),W.and(g({sessionUpdate:c(`agent_thought_chunk`)})),Yr.and(g({sessionUpdate:c(`tool_call`)})),Xr.and(g({sessionUpdate:c(`tool_call_update`)})),an.and(g({sessionUpdate:c(`plan`)})),ei.and(g({sessionUpdate:c(`available_commands_update`)})),ir.and(g({sessionUpdate:c(`current_mode_update`)})),Ln.and(g({sessionUpdate:c(`config_option_update`)})),nr.and(g({sessionUpdate:c(`session_info_update`)})),si.and(g({sessionUpdate:c(`usage_update`)}))]),li=g({_meta:f(m(),l()).nullish(),sessionId:R,update:ci});g({method:m(),params:h([li,et,ct]).nullish()});var ui=g({_meta:f(m(),l()).nullish(),sessionId:R,terminalId:m()}),di=g({_meta:f(m(),l()).nullish(),exitCode:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),signal:m().nullish()}),fi=g({name:m(),uri:m()}),pi=g({_meta:f(m(),l()).nullish(),repository:Ut.nullish(),workspaceFolders:o(fi).nullish(),workspaceUri:m().nullish()});g({id:P,method:m(),params:h([pn,Ve,yt,Xt,Yn,gt,qn,$n,Hn,mr,fr,Vr,gr,pi,Sr,Vn,lt]).nullish()});var mi=g({_meta:f(m(),l()).nullish(),content:m(),path:m(),sessionId:R});g({id:P,method:m(),params:h([mi,Xn,Zr,Un,Er,Qn,ui,Jn,ai,lt]).nullish()}),h([g({id:P,result:h([g({_meta:f(m(),l()).nullish()}),yn,On,Je,Dr,bn,di,ht,Ze,ut])}),g({error:st,id:P})]),e();function hi(e,t){let n=new TextEncoder,r=new TextDecoder;return{readable:new ReadableStream({async start(e){let n=``,i=t.getReader();try{for(;;){let{value:t,done:a}=await i.read();if(a){n+=r.decode();break}if(!t)continue;n+=r.decode(t,{stream:!0});let o=n.split(`
|
|
1
|
+
import{n as e,t}from"./defineProperty-C-QyHrDq.js";import{Gi as n,Ni as r,Or as i,Vi as a,Wi as o,Yi as s,Zi as c,ca as l,d as u,ea as d,ia as f,m as p,oa as m,sa as h,ta as g,ua as _,vr as v,wr as y}from"./settings-D4M13toi.js";import{$n as b,Hn as x,Pt as S,Qn as ee,Tn as C,ot as te,q as ne}from"./state-CXY-q5gr.js";import{As as re,B as ie,Oc as ae,Pi as oe,Ql as se,Uv as ce,V as le,Zl as ue,i as de,ir as w,kc as fe,ki as pe,ks as me,o as he,qv as ge,vr as _e}from"./loadAgentsDir-BfLCckVj.js";import{d as ve,n as ye}from"./config-Bio2EjUK.js";import{f as be,s as xe}from"./model-BIf2i1is.js";import{_n as Se,vn as Ce}from"./prompt-DaYH88Oe.js";import{t as T}from"./conversationRecovery-Bt84CYO6.js";import{t as we}from"./QueryEngine-B27MOtBA.js";import{n as Te,r as Ee}from"./modelOptions-COIU5U3w.js";import{n as De,r as Oe}from"./managedEnv-EZ2IirNa.js";import{dirname as ke}from"node:path";import{randomUUID as E}from"node:crypto";import{Readable as Ae,Writable as je}from"node:stream";import{unlink as Me}from"node:fs/promises";import*as D from"node:path/posix";import{isAbsolute as Ne,resolve as Pe}from"node:path/posix";r();var O={authenticate:`authenticate`,document_did_change:`document/didChange`,document_did_close:`document/didClose`,document_did_focus:`document/didFocus`,document_did_open:`document/didOpen`,document_did_save:`document/didSave`,initialize:`initialize`,logout:`logout`,nes_accept:`nes/accept`,nes_close:`nes/close`,nes_reject:`nes/reject`,nes_start:`nes/start`,nes_suggest:`nes/suggest`,session_cancel:`session/cancel`,session_close:`session/close`,session_fork:`session/fork`,session_list:`session/list`,session_load:`session/load`,session_new:`session/new`,session_prompt:`session/prompt`,session_resume:`session/resume`,session_set_config_option:`session/set_config_option`,session_set_mode:`session/set_mode`,session_set_model:`session/set_model`},k={elicitation_complete:`elicitation/complete`,elicitation_create:`elicitation/create`,fs_read_text_file:`fs/read_text_file`,fs_write_text_file:`fs/write_text_file`,session_request_permission:`session/request_permission`,session_update:`session/update`,terminal_create:`terminal/create`,terminal_kill:`terminal/kill`,terminal_output:`terminal/output`,terminal_release:`terminal/release`,terminal_wait_for_exit:`terminal/wait_for_exit`},Fe=g({_meta:f(m(),l()).nullish(),terminal:n().optional().default(!1)}),Ie=g({_meta:f(m(),l()).nullish(),label:m().nullish(),name:m(),optional:n().optional().default(!1),secret:n().optional().default(!0)}),Le=g({_meta:f(m(),l()).nullish(),description:m().nullish(),id:m(),name:m()}),Re=g({_meta:f(m(),l()).nullish(),description:m().nullish(),id:m(),link:m().nullish(),name:m(),vars:o(Ie)}),ze=g({_meta:f(m(),l()).nullish(),args:o(m()).optional(),description:m().nullish(),env:f(m(),m()).optional(),id:m(),name:m()}),Be=h([Re.and(g({type:c(`env_var`)})),ze.and(g({type:c(`terminal`)})),Le]),Ve=g({_meta:f(m(),l()).nullish(),methodId:m()}),He=g({_meta:f(m(),l()).nullish()}),Ue=g({_meta:f(m(),l()).nullish(),blob:m(),mimeType:m().nullish(),uri:m()}),We=g({default:n().nullish(),description:m().nullish(),title:m().nullish()}),Ge=g({_meta:f(m(),l()).nullish()}),Ke=g({_meta:f(m(),l()).nullish()}),qe=g({amount:d(),currency:m()}),Je=g({_meta:f(m(),l()).nullish(),terminalId:m()}),Ye=g({_meta:f(m(),l()).nullish(),newText:m(),oldText:m().nullish(),path:m()}),Xe=h([m(),d(),d(),n(),o(m())]),Ze=s(h([g({content:f(m(),Xe).nullish()}).and(g({action:c(`accept`)})),g({action:c(`decline`)}),g({action:c(`cancel`)})]),g({_meta:f(m(),l()).nullish()})),Qe=g({_meta:f(m(),l()).nullish()}),$e=m(),et=g({_meta:f(m(),l()).nullish(),elicitationId:$e}),tt=c(`object`),nt=c(`string`),rt=g({_meta:f(m(),l()).nullish()}),it=g({_meta:f(m(),l()).nullish(),form:Qe.nullish(),url:rt.nullish()}),at=g({const:m(),title:m()}),ot=g({_meta:f(m(),l()).nullish(),name:m(),value:m()}),st=g({code:h([c(-32700),c(-32600),c(-32601),c(-32602),c(-32603),c(-32800),c(-32e3),c(-32002),c(-32042),d().int().min(-2147483648,{message:`Invalid value: Expected int32 to be >= -2147483648`}).max(2147483647,{message:`Invalid value: Expected int32 to be <= 2147483647`})]),data:l().optional(),message:m()}),ct=l(),lt=l(),ut=l(),dt=g({_meta:f(m(),l()).nullish(),readTextFile:n().optional().default(!1),writeTextFile:n().optional().default(!1)}),ft=g({_meta:f(m(),l()).nullish(),name:m(),value:m()}),pt=g({_meta:f(m(),l()).nullish(),name:m(),title:m().nullish(),version:m()}),mt=g({default:d().nullish(),description:m().nullish(),maximum:d().nullish(),minimum:d().nullish(),title:m().nullish()}),ht=g({_meta:f(m(),l()).nullish()}),gt=g({_meta:f(m(),l()).nullish(),additionalDirectories:o(m()).optional(),cursor:m().nullish(),cwd:m().nullish()}),_t=g({_meta:f(m(),l()).nullish()}),vt=g({_meta:f(m(),l()).nullish(),logout:_t.nullish()}),yt=g({_meta:f(m(),l()).nullish()}),bt=g({_meta:f(m(),l()).nullish()}),xt=g({_meta:f(m(),l()).nullish(),http:n().optional().default(!1),sse:n().optional().default(!1)}),St=g({_meta:f(m(),l()).nullish(),headers:o(ft),name:m(),url:m()}),Ct=g({_meta:f(m(),l()).nullish(),headers:o(ft),name:m(),url:m()}),wt=g({_meta:f(m(),l()).nullish(),args:o(m()),command:m(),env:o(ot),name:m()}),A=h([St.and(g({type:c(`http`)})),Ct.and(g({type:c(`sse`)})),wt]),j=m(),Tt=g({_meta:f(m(),l()).nullish(),description:m().nullish(),modelId:j,name:m()}),Et=h([c(`error`),c(`warning`),c(`information`),c(`hint`)]),Dt=g({_meta:f(m(),l()).nullish()}),Ot=g({_meta:f(m(),l()).nullish()}),kt=g({_meta:f(m(),l()).nullish()}),At=g({_meta:f(m(),l()).nullish()}),jt=g({_meta:f(m(),l()).nullish()}),Mt=g({_meta:f(m(),l()).nullish(),maxCount:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),Nt=g({diff:m(),uri:m()}),Pt=g({endLine:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),startLine:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),text:m()}),Ft=g({_meta:f(m(),l()).nullish()}),It=g({_meta:f(m(),l()).nullish()}),Lt=g({languageId:m(),text:m(),uri:m()}),Rt=g({_meta:f(m(),l()).nullish(),maxCount:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),zt=h([c(`rejected`),c(`ignored`),c(`replaced`),c(`cancelled`)]),Bt=g({excerpts:o(Pt),uri:m()}),Vt=g({_meta:f(m(),l()).nullish()}),Ht=g({_meta:f(m(),l()).nullish()}),Ut=g({name:m(),owner:m(),remoteUrl:m()}),Wt=g({_meta:f(m(),l()).nullish()}),Gt=g({_meta:f(m(),l()).nullish(),jump:Ft.nullish(),rename:Ht.nullish(),searchAndReplace:Wt.nullish()}),Kt=g({id:m(),isRegex:n().nullish(),replace:m(),search:m(),uri:m()}),qt=h([c(`automatic`),c(`diagnostic`),c(`manual`)]),Jt=g({_meta:f(m(),l()).nullish(),maxCount:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish()}),Yt=g({_meta:f(m(),l()).nullish(),diagnostics:Dt.nullish(),editHistory:Mt.nullish(),openFiles:It.nullish(),recentFiles:Rt.nullish(),relatedSnippets:Vt.nullish(),userActions:Jt.nullish()}),Xt=g({_meta:f(m(),l()).nullish(),additionalDirectories:o(m()).optional(),cwd:m(),mcpServers:o(A)}),Zt=g({default:d().nullish(),description:m().nullish(),maximum:d().nullish(),minimum:d().nullish(),title:m().nullish()}),Qt=m(),$t=h([c(`allow_once`),c(`allow_always`),c(`reject_once`),c(`reject_always`)]),en=g({_meta:f(m(),l()).nullish(),kind:$t,name:m(),optionId:Qt}),tn=h([c(`high`),c(`medium`),c(`low`)]),nn=h([c(`pending`),c(`in_progress`),c(`completed`)]),rn=g({_meta:f(m(),l()).nullish(),content:m(),priority:tn,status:nn}),an=g({_meta:f(m(),l()).nullish(),entries:o(rn)}),M=g({character:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}),line:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`})}),on=g({id:m(),position:M,uri:m()}),sn=g({id:m(),newName:m(),position:M,uri:m()}),cn=g({action:m(),position:M,timestampMs:d(),uri:m()}),ln=h([c(`utf-16`),c(`utf-32`),c(`utf-8`)]),un=g({_meta:f(m(),l()).nullish(),auth:Fe.optional().default({terminal:!1}),elicitation:it.nullish(),fs:dt.optional().default({readTextFile:!1,writeTextFile:!1}),nes:Gt.nullish(),positionEncodings:o(ln).optional(),terminal:n().optional().default(!1)}),dn=g({_meta:f(m(),l()).nullish(),audio:n().optional().default(!1),embeddedContext:n().optional().default(!1),image:n().optional().default(!1)}),fn=d().int().gte(0).lte(65535),pn=g({_meta:f(m(),l()).nullish(),clientCapabilities:un.optional().default({auth:{terminal:!1},fs:{readTextFile:!1,writeTextFile:!1},terminal:!1}),clientInfo:pt.nullish(),protocolVersion:fn}),N=g({end:M,start:M}),mn=g({message:m(),range:N,severity:Et,uri:m()}),hn=g({languageId:m(),lastFocusedMs:d().nullish(),uri:m(),visibleRange:N.nullish()}),gn=g({_meta:f(m(),l()).nullish(),diagnostics:o(mn).nullish(),editHistory:o(Nt).nullish(),openFiles:o(hn).nullish(),recentFiles:o(Lt).nullish(),relatedSnippets:o(Bt).nullish(),userActions:o(cn).nullish()}),_n=g({newText:m(),range:N}),vn=h([g({cursorPosition:M.nullish(),edits:o(_n),id:m(),uri:m()}).and(g({kind:c(`edit`)})),on.and(g({kind:c(`jump`)})),sn.and(g({kind:c(`rename`)})),Kt.and(g({kind:c(`searchAndReplace`)}))]),yn=g({_meta:f(m(),l()).nullish(),content:m()}),bn=g({_meta:f(m(),l()).nullish()}),P=h([d(),m()]).nullable();g({_meta:f(m(),l()).nullish(),requestId:P});var xn=g({requestId:P}),Sn=a([`assistant`,`user`]),F=g({_meta:f(m(),l()).nullish(),audience:o(Sn).nullish(),lastModified:m().nullish(),priority:d().nullish()}),Cn=g({_meta:f(m(),l()).nullish(),annotations:F.nullish(),data:m(),mimeType:m()}),wn=g({_meta:f(m(),l()).nullish(),annotations:F.nullish(),data:m(),mimeType:m(),uri:m().nullish()}),Tn=g({_meta:f(m(),l()).nullish(),annotations:F.nullish(),description:m().nullish(),mimeType:m().nullish(),name:m(),size:d().nullish(),title:m().nullish(),uri:m()}),En=g({_meta:f(m(),l()).nullish(),optionId:Qt}),Dn=h([g({outcome:c(`cancelled`)}),En.and(g({outcome:c(`selected`)}))]),On=g({_meta:f(m(),l()).nullish(),outcome:Dn}),kn=g({_meta:f(m(),l()).nullish()}),An=g({_meta:f(m(),l()).nullish()}),jn=g({currentValue:n()}),Mn=m(),Nn=m(),Pn=h([c(`mode`),c(`model`),c(`thought_level`),m()]),I=m(),Fn=g({_meta:f(m(),l()).nullish(),description:m().nullish(),name:m(),value:I}),In=g({_meta:f(m(),l()).nullish(),group:Mn,name:m(),options:o(Fn)}),L=s(h([g({currentValue:I,options:h([o(Fn),o(In)])}).and(g({type:c(`select`)})),jn.and(g({type:c(`boolean`)}))]),g({_meta:f(m(),l()).nullish(),category:Pn.nullish(),description:m().nullish(),id:Nn,name:m()})),Ln=g({_meta:f(m(),l()).nullish(),configOptions:o(L)}),Rn=g({_meta:f(m(),l()).nullish()}),R=m(),zn=g({_meta:f(m(),l()).nullish(),id:m(),sessionId:R}),Bn=g({_meta:f(m(),l()).nullish(),sessionId:R}),Vn=g({_meta:f(m(),l()).nullish(),sessionId:R}),Hn=g({_meta:f(m(),l()).nullish(),sessionId:R}),Un=g({_meta:f(m(),l()).nullish(),args:o(m()).optional(),command:m(),cwd:m().nullish(),env:o(ot).optional(),outputByteLimit:d().nullish(),sessionId:R}),Wn=g({_meta:f(m(),l()).nullish(),sessionId:R,uri:m()}),Gn=g({_meta:f(m(),l()).nullish(),position:M,sessionId:R,uri:m(),version:d(),visibleRange:N}),Kn=g({_meta:f(m(),l()).nullish(),languageId:m(),sessionId:R,text:m(),uri:m(),version:d()}),qn=g({_meta:f(m(),l()).nullish(),sessionId:R,uri:m()}),Jn=g({_meta:f(m(),l()).nullish(),additionalDirectories:o(m()).optional(),cwd:m(),mcpServers:o(A).optional(),sessionId:R}),Yn=g({_meta:f(m(),l()).nullish(),sessionId:R,terminalId:m()}),Xn=g({_meta:f(m(),l()).nullish(),additionalDirectories:o(m()).optional(),cwd:m(),mcpServers:o(A),sessionId:R}),Zn=g({_meta:f(m(),l()).nullish(),limit:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),line:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),path:m(),sessionId:R}),Qn=g({_meta:f(m(),l()).nullish(),id:m(),reason:zt.nullish(),sessionId:R}),$n=g({_meta:f(m(),l()).nullish(),sessionId:R,terminalId:m()}),er=g({_meta:f(m(),l()).nullish(),additionalDirectories:o(m()).optional(),cwd:m(),mcpServers:o(A).optional(),sessionId:R}),tr=g({_meta:f(m(),l()).nullish(),additionalDirectories:o(m()).optional(),cwd:m(),sessionId:R,title:m().nullish(),updatedAt:m().nullish()}),nr=g({_meta:f(m(),l()).nullish(),nextCursor:m().nullish(),sessions:o(tr)}),rr=g({_meta:f(m(),l()).nullish(),title:m().nullish(),updatedAt:m().nullish()}),ir=g({_meta:f(m(),l()).nullish()}),z=m(),ar=g({_meta:f(m(),l()).nullish(),currentModeId:z}),or=g({_meta:f(m(),l()).nullish(),description:m().nullish(),id:z,name:m()}),B=g({_meta:f(m(),l()).nullish(),availableModes:o(or),currentModeId:z}),V=g({_meta:f(m(),l()).nullish(),availableModels:o(Tt),currentModelId:j}),sr=g({_meta:f(m(),l()).nullish(),configOptions:o(L).nullish(),models:V.nullish(),modes:B.nullish(),sessionId:R}),cr=g({_meta:f(m(),l()).nullish(),configOptions:o(L).nullish(),models:V.nullish(),modes:B.nullish()}),lr=g({_meta:f(m(),l()).nullish(),configOptions:o(L).nullish(),models:V.nullish(),modes:B.nullish(),sessionId:R}),ur=g({_meta:f(m(),l()).nullish(),configOptions:o(L).nullish(),models:V.nullish(),modes:B.nullish()}),dr=g({_meta:f(m(),l()).nullish()}),fr=g({_meta:f(m(),l()).nullish(),additionalDirectories:kn.nullish(),close:An.nullish(),fork:Rn.nullish(),list:ir.nullish(),resume:dr.nullish()}),pr=s(h([g({type:c(`boolean`),value:n()}),g({value:I})]),g({_meta:f(m(),l()).nullish(),configId:Nn,sessionId:R})),mr=g({_meta:f(m(),l()).nullish(),configOptions:o(L)}),hr=g({_meta:f(m(),l()).nullish(),modeId:z,sessionId:R}),gr=g({_meta:f(m(),l()).nullish()}),_r=g({_meta:f(m(),l()).nullish(),modelId:j,sessionId:R}),vr=g({_meta:f(m(),l()).nullish()}),yr=g({_meta:f(m(),l()).nullish(),sessionId:R}),br=h([c(`end_turn`),c(`max_tokens`),c(`max_turn_requests`),c(`refusal`),c(`cancelled`)]),xr=h([c(`email`),c(`uri`),c(`date`),c(`date-time`)]),Sr=g({default:m().nullish(),description:m().nullish(),enum:o(m()).nullish(),format:xr.nullish(),maxLength:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),minLength:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),oneOf:o(at).nullish(),pattern:m().nullish(),title:m().nullish()}),Cr=g({_meta:f(m(),l()).nullish(),context:gn.nullish(),position:M,selection:N.nullish(),sessionId:R,triggerKind:qt,uri:m(),version:d()}),wr=g({_meta:f(m(),l()).nullish(),suggestions:o(vn)}),Tr=g({_meta:f(m(),l()).nullish(),terminalId:m()}),Er=g({_meta:f(m(),l()).nullish(),exitCode:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),signal:m().nullish()}),Dr=g({_meta:f(m(),l()).nullish(),sessionId:R,terminalId:m()}),Or=g({_meta:f(m(),l()).nullish(),exitStatus:Er.nullish(),output:m(),truncated:n()}),kr=g({_meta:f(m(),l()).nullish(),annotations:F.nullish(),text:m()}),Ar=g({range:N.nullish(),text:m()}),H=g({_meta:f(m(),l()).nullish(),contentChanges:o(Ar),sessionId:R,uri:m(),version:d()});g({method:m(),params:h([Bn,Kn,H,Wn,qn,Gn,zn,Qn,ct]).nullish()});var jr=h([c(`full`),c(`incremental`)]),Mr=g({_meta:f(m(),l()).nullish(),syncKind:jr}),Nr=g({_meta:f(m(),l()).nullish(),didChange:Mr.nullish(),didClose:Ot.nullish(),didFocus:kt.nullish(),didOpen:At.nullish(),didSave:jt.nullish()}),Pr=g({_meta:f(m(),l()).nullish(),document:Nr.nullish()}),Fr=g({_meta:f(m(),l()).nullish(),context:Yt.nullish(),events:Pr.nullish()}),Ir=g({_meta:f(m(),l()).nullish(),auth:vt.optional().default({}),loadSession:n().optional().default(!1),mcpCapabilities:xt.optional().default({http:!1,sse:!1}),nes:Fr.nullish(),positionEncoding:ln.nullish(),promptCapabilities:dn.optional().default({audio:!1,embeddedContext:!1,image:!1}),sessionCapabilities:fr.optional().default({})}),Lr=g({_meta:f(m(),l()).nullish(),agentCapabilities:Ir.optional().default({auth:{},loadSession:!1,mcpCapabilities:{http:!1,sse:!1},promptCapabilities:{audio:!1,embeddedContext:!1,image:!1},sessionCapabilities:{}}),agentInfo:pt.nullish(),authMethods:o(Be).optional().default([]),protocolVersion:fn}),Rr=h([g({_meta:f(m(),l()).nullish(),mimeType:m().nullish(),text:m(),uri:m()}),Ue]),zr=g({_meta:f(m(),l()).nullish(),annotations:F.nullish(),resource:Rr}),U=h([kr.and(g({type:c(`text`)})),wn.and(g({type:c(`image`)})),Cn.and(g({type:c(`audio`)})),Tn.and(g({type:c(`resource_link`)})),zr.and(g({type:c(`resource`)}))]),Br=g({_meta:f(m(),l()).nullish(),content:U}),W=g({_meta:f(m(),l()).nullish(),content:U,messageId:m().nullish()}),Vr=g({_meta:f(m(),l()).nullish(),messageId:m().nullish(),prompt:o(U),sessionId:R}),Hr=g({anyOf:o(at)}),Ur=h([Br.and(g({type:c(`content`)})),Ye.and(g({type:c(`diff`)})),Tr.and(g({type:c(`terminal`)}))]),G=m(),Wr=g({sessionId:R,toolCallId:G.nullish()}),Gr=s(h([Wr,xn]),g({elicitationId:$e,url:m().url()})),Kr=g({_meta:f(m(),l()).nullish(),line:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),path:m()}),qr=h([c(`pending`),c(`in_progress`),c(`completed`),c(`failed`)]),Jr=h([c(`read`),c(`edit`),c(`delete`),c(`move`),c(`search`),c(`execute`),c(`think`),c(`fetch`),c(`switch_mode`),c(`other`)]),Yr=g({_meta:f(m(),l()).nullish(),content:o(Ur).optional(),kind:Jr.optional(),locations:o(Kr).optional(),rawInput:l().optional(),rawOutput:l().optional(),status:qr.optional(),title:m(),toolCallId:G}),Xr=g({_meta:f(m(),l()).nullish(),content:o(Ur).nullish(),kind:Jr.nullish(),locations:o(Kr).nullish(),rawInput:l().optional(),rawOutput:l().optional(),status:qr.nullish(),title:m().nullish(),toolCallId:G}),Zr=g({_meta:f(m(),l()).nullish(),options:o(en),sessionId:R,toolCall:Xr}),Qr=g({_meta:f(m(),l()).nullish(),hint:m()}),$r=g({_meta:f(m(),l()).nullish(),description:m(),input:Qr.nullish(),name:m()}),ei=g({_meta:f(m(),l()).nullish(),availableCommands:o($r)}),ti=h([g({enum:o(m()),type:nt}),Hr]),ni=g({default:o(m()).nullish(),description:m().nullish(),items:ti,maxItems:d().nullish(),minItems:d().nullish(),title:m().nullish()}),ri=h([Sr.and(g({type:c(`string`)})),Zt.and(g({type:c(`number`)})),mt.and(g({type:c(`integer`)})),We.and(g({type:c(`boolean`)})),ni.and(g({type:c(`array`)}))]),ii=g({description:m().nullish(),properties:f(m(),ri).optional().default({}),required:o(m()).nullish(),title:m().nullish(),type:tt.optional().default(`object`)}),ai=s(h([s(h([Wr,xn]),g({requestedSchema:ii})).and(g({mode:c(`form`)})),Gr.and(g({mode:c(`url`)}))]),g({_meta:f(m(),l()).nullish(),message:m()})),oi=g({cachedReadTokens:d().nullish(),cachedWriteTokens:d().nullish(),inputTokens:d(),outputTokens:d(),thoughtTokens:d().nullish(),totalTokens:d()});h([g({id:P,result:h([Lr,He,bt,lr,cr,nr,sr,ur,Ke,gr,mr,g({_meta:f(m(),l()).nullish(),stopReason:br,usage:oi.nullish(),userMessageId:m().nullish()}),vr,yr,wr,Ge,ut])}),g({error:st,id:P})]);var si=g({_meta:f(m(),l()).nullish(),cost:qe.nullish(),size:d(),used:d()}),ci=h([W.and(g({sessionUpdate:c(`user_message_chunk`)})),W.and(g({sessionUpdate:c(`agent_message_chunk`)})),W.and(g({sessionUpdate:c(`agent_thought_chunk`)})),Yr.and(g({sessionUpdate:c(`tool_call`)})),Xr.and(g({sessionUpdate:c(`tool_call_update`)})),an.and(g({sessionUpdate:c(`plan`)})),ei.and(g({sessionUpdate:c(`available_commands_update`)})),ar.and(g({sessionUpdate:c(`current_mode_update`)})),Ln.and(g({sessionUpdate:c(`config_option_update`)})),rr.and(g({sessionUpdate:c(`session_info_update`)})),si.and(g({sessionUpdate:c(`usage_update`)}))]),li=g({_meta:f(m(),l()).nullish(),sessionId:R,update:ci});g({method:m(),params:h([li,et,ct]).nullish()});var ui=g({_meta:f(m(),l()).nullish(),sessionId:R,terminalId:m()}),di=g({_meta:f(m(),l()).nullish(),exitCode:d().int().gte(0).max(4294967295,{message:`Invalid value: Expected uint32 to be <= 4294967295`}).nullish(),signal:m().nullish()}),fi=g({name:m(),uri:m()}),pi=g({_meta:f(m(),l()).nullish(),repository:Ut.nullish(),workspaceFolders:o(fi).nullish(),workspaceUri:m().nullish()});g({id:P,method:m(),params:h([pn,Ve,yt,Xt,Xn,gt,Jn,er,Hn,hr,pr,Vr,_r,pi,Cr,Vn,lt]).nullish()});var mi=g({_meta:f(m(),l()).nullish(),content:m(),path:m(),sessionId:R});g({id:P,method:m(),params:h([mi,Zn,Zr,Un,Dr,$n,ui,Yn,ai,lt]).nullish()}),h([g({id:P,result:h([g({_meta:f(m(),l()).nullish()}),yn,On,Je,Or,bn,di,ht,Ze,ut])}),g({error:st,id:P})]),e();function hi(e,t){let n=new TextEncoder,r=new TextDecoder;return{readable:new ReadableStream({async start(e){let n=``,i=t.getReader();try{for(;;){let{value:t,done:a}=await i.read();if(a){n+=r.decode();break}if(!t)continue;n+=r.decode(t,{stream:!0});let o=n.split(`
|
|
2
2
|
`);n=o.pop()||``;for(let t of o){let n=t.trim();if(n)try{let t=JSON.parse(n);e.enqueue(t)}catch(e){console.error(`Failed to parse JSON message:`,n,e)}}}let t=n.trim();if(t)try{let n=JSON.parse(t);e.enqueue(n)}catch(e){console.error(`Failed to parse JSON message:`,t,e)}}catch(t){e.error(t);return}finally{i.releaseLock()}e.close()}}),writable:new WritableStream({async write(t){let r=JSON.stringify(t)+`
|
|
3
|
-
`,i=e.getWriter();try{await i.write(n.encode(r))}finally{i.releaseLock()}}})}}r();var gi,_i=class{constructor(e,n){t(this,`connection`,void 0);let r=e(this),i=async(e,t)=>{switch(e){case O.initialize:{let e=pn.parse(t);return r.initialize(e)}case O.session_new:{let e=Xt.parse(t);return r.newSession(e)}case O.session_load:{if(!r.loadSession)throw K.methodNotFound(e);let n=Yn.parse(t);return r.loadSession(n)}case O.session_list:{if(!r.listSessions)throw K.methodNotFound(e);let n=gt.parse(t);return r.listSessions(n)}case O.session_fork:{if(!r.unstable_forkSession)throw K.methodNotFound(e);let n=qn.parse(t);return r.unstable_forkSession(n)}case O.session_resume:{if(!r.unstable_resumeSession)throw K.methodNotFound(e);let n=$n.parse(t);return r.unstable_resumeSession(n)}case O.session_close:{if(!r.unstable_closeSession)throw K.methodNotFound(e);let n=Hn.parse(t);return r.unstable_closeSession(n)}case O.session_set_mode:{if(!r.setSessionMode)throw K.methodNotFound(e);let n=mr.parse(t);return await r.setSessionMode(n)??{}}case O.authenticate:{let e=Ve.parse(t);return await r.authenticate(e)??{}}case O.logout:{if(!r.unstable_logout)throw K.methodNotFound(e);let n=yt.parse(t);return await r.unstable_logout(n)??{}}case O.session_prompt:{let e=Vr.parse(t);return r.prompt(e)}case O.session_set_model:{if(!r.unstable_setSessionModel)throw K.methodNotFound(e);let n=gr.parse(t);return await r.unstable_setSessionModel(n)??{}}case O.session_set_config_option:{if(!r.setSessionConfigOption)throw K.methodNotFound(e);let n=fr.parse(t);return r.setSessionConfigOption(n)}case O.nes_start:{if(!r.unstable_startNes)throw K.methodNotFound(e);let n=pi.parse(t);return r.unstable_startNes(n)}case O.nes_suggest:{if(!r.unstable_suggestNes)throw K.methodNotFound(e);let n=Sr.parse(t);return r.unstable_suggestNes(n)}case O.nes_close:{if(!r.unstable_closeNes)throw K.methodNotFound(e);let n=Vn.parse(t);return await r.unstable_closeNes(n)??{}}default:if(r.extMethod)return r.extMethod(e,t);throw K.methodNotFound(e)}},a=async(e,t)=>{switch(e){case O.session_cancel:{let e=Bn.parse(t);return r.cancel(e)}case O.document_did_open:{if(!r.unstable_didOpenDocument)return;let e=Kn.parse(t);return r.unstable_didOpenDocument(e)}case O.document_did_change:{if(!r.unstable_didChangeDocument)return;let e=Ar.parse(t);return r.unstable_didChangeDocument(e)}case O.document_did_close:{if(!r.unstable_didCloseDocument)return;let e=Wn.parse(t);return r.unstable_didCloseDocument(e)}case O.document_did_save:{if(!r.unstable_didSaveDocument)return;let e=z.parse(t);return r.unstable_didSaveDocument(e)}case O.document_did_focus:{if(!r.unstable_didFocusDocument)return;let e=Gn.parse(t);return r.unstable_didFocusDocument(e)}case O.nes_accept:{if(!r.unstable_acceptNes)return;let e=zn.parse(t);return r.unstable_acceptNes(e)}case O.nes_reject:{if(!r.unstable_rejectNes)return;let e=Zn.parse(t);return r.unstable_rejectNes(e)}default:if(r.extNotification)return r.extNotification(e,t);throw K.methodNotFound(e)}};this.connection=new yi(i,a,n)}async sessionUpdate(e){return await this.connection.sendNotification(k.session_update,e)}async requestPermission(e){return await this.connection.sendRequest(k.session_request_permission,e)}async readTextFile(e){return await this.connection.sendRequest(k.fs_read_text_file,e)}async writeTextFile(e){return await this.connection.sendRequest(k.fs_write_text_file,e)??{}}async createTerminal(e){return new vi((await this.connection.sendRequest(k.terminal_create,e)).terminalId,e.sessionId,this.connection)}async unstable_createElicitation(e){return await this.connection.sendRequest(k.elicitation_create,e)}async unstable_completeElicitation(e){return await this.connection.sendNotification(k.elicitation_complete,e)}async extMethod(e,t){return await this.connection.sendRequest(e,t)}async extNotification(e,t){return await this.connection.sendNotification(e,t)}get signal(){return this.connection.signal}get closed(){return this.connection.closed}};gi=Symbol.asyncDispose;var vi=class{constructor(e,n,r){t(this,`id`,void 0),t(this,`sessionId`,void 0),t(this,`connection`,void 0),this.id=e,this.sessionId=n,this.connection=r}async currentOutput(){return await this.connection.sendRequest(k.terminal_output,{sessionId:this.sessionId,terminalId:this.id})}async waitForExit(){return await this.connection.sendRequest(k.terminal_wait_for_exit,{sessionId:this.sessionId,terminalId:this.id})}async kill(){return await this.connection.sendRequest(k.terminal_kill,{sessionId:this.sessionId,terminalId:this.id})??{}}async release(){return await this.connection.sendRequest(k.terminal_release,{sessionId:this.sessionId,terminalId:this.id})??{}}async[gi](){await this.release()}},yi=class{constructor(e,n,r){t(this,`pendingResponses`,new Map),t(this,`nextRequestId`,0),t(this,`requestHandler`,void 0),t(this,`notificationHandler`,void 0),t(this,`stream`,void 0),t(this,`writeQueue`,Promise.resolve()),t(this,`abortController`,new AbortController),t(this,`closedPromise`,void 0),this.requestHandler=e,this.notificationHandler=n,this.stream=r,this.closedPromise=new Promise(e=>{this.abortController.signal.addEventListener(`abort`,()=>e())}),this.receive()}get signal(){return this.abortController.signal}get closed(){return this.closedPromise}async receive(){let e;try{let e=this.stream.readable.getReader();try{for(;!this.abortController.signal.aborted;){let{value:t,done:n}=await e.read();if(n)break;if(t)try{this.processMessage(t)}catch(e){console.error(`Unexpected error during message processing:`,t,e),`id`in t&&t.id!==void 0&&this.sendMessage({jsonrpc:`2.0`,id:t.id,error:{code:-32700,message:`Parse error`}})}}}finally{e.releaseLock()}}catch(t){e=t}finally{this.close(e)}}close(e){if(this.abortController.signal.aborted)return;let t=e??Error(`ACP connection closed`);for(let e of this.pendingResponses.values())e.reject(t);this.pendingResponses.clear(),this.abortController.abort(t)}async processMessage(e){if(`method`in e&&`id`in e){let t=await this.tryCallRequestHandler(e.method,e.params);`error`in t&&console.error(`Error handling request`,e,t.error),await this.sendMessage({jsonrpc:`2.0`,id:e.id,...t})}else if(`method`in e){let t=await this.tryCallNotificationHandler(e.method,e.params);`error`in t&&console.error(`Error handling notification`,e,t.error)}else`id`in e?this.handleResponse(e):console.error(`Invalid message`,{message:e})}async tryCallRequestHandler(e,t){try{return{result:await this.requestHandler(e,t)??null}}catch(e){if(e instanceof K)return e.toResult();if(e instanceof _)return K.invalidParams(e.format()).toResult();let t;(e instanceof Error||typeof e==`object`&&e&&`message`in e&&typeof e.message==`string`)&&(t=e.message);try{return K.internalError(t?JSON.parse(t):{}).toResult()}catch{return K.internalError({details:t}).toResult()}}}async tryCallNotificationHandler(e,t){try{return await this.notificationHandler(e,t),{result:null}}catch(e){if(e instanceof K)return e.toResult();if(e instanceof _)return K.invalidParams(e.format()).toResult();let t;(e instanceof Error||typeof e==`object`&&e&&`message`in e&&typeof e.message==`string`)&&(t=e.message);try{return K.internalError(t?JSON.parse(t):{}).toResult()}catch{return K.internalError({details:t}).toResult()}}}handleResponse(e){let t=this.pendingResponses.get(e.id);if(t){if(`result`in e)t.resolve(e.result);else if(`error`in e){let{code:n,message:r,data:i}=e.error;t.reject(new K(n,r,i))}this.pendingResponses.delete(e.id)}else console.error(`Got response to unknown request`,e.id)}sendRequest(e,t){this.throwIfClosed();let n=this.nextRequestId++,r=new Promise((e,t)=>{this.pendingResponses.set(n,{resolve:e,reject:t})});return r.catch(()=>{}),this.sendMessage({jsonrpc:`2.0`,id:n,method:e,params:t}),r}async sendNotification(e,t){this.throwIfClosed(),await this.sendMessage({jsonrpc:`2.0`,method:e,params:t})}throwIfClosed(){if(this.abortController.signal.aborted)throw this.abortController.signal.reason??Error(`ACP connection closed`)}async sendMessage(e){return this.writeQueue=this.writeQueue.then(async()=>{let t=this.stream.writable.getWriter();try{await t.write(e)}finally{t.releaseLock()}}).catch(e=>{this.close(e)}),this.writeQueue}},K=class e extends Error{constructor(e,n,r){super(n),t(this,`code`,void 0),t(this,`data`,void 0),this.code=e,this.name=`RequestError`,this.data=r}static parseError(t,n){return new e(-32700,`Parse error${n?`: ${n}`:``}`,t)}static invalidRequest(t,n){return new e(-32600,`Invalid request${n?`: ${n}`:``}`,t)}static methodNotFound(t){return new e(-32601,`"Method not found": ${t}`,{method:t})}static invalidParams(t,n){return new e(-32602,`Invalid params${n?`: ${n}`:``}`,t)}static internalError(t,n){return new e(-32603,`Internal error${n?`: ${n}`:``}`,t)}static authRequired(t,n){return new e(-32e3,`Authentication required${n?`: ${n}`:``}`,t)}static resourceNotFound(t){return new e(-32002,`Resource not found${t?`: ${t}`:``}`,t&&{uri:t})}toResult(){return{error:{code:this.code,message:this.message,data:this.data}}}toErrorResponse(){return{code:this.code,message:this.message,data:this.data}}};ee(),S(),p(),Ce(),ve(),ce(),ie(),ue(),le(),de(),_e(),Oe();function q(e,t){if(e)return t?Ne(e)?e:Pe(t,e):e}var bi=!(typeof process.geteuid==`function`?process.geteuid()===0:typeof process.getuid==`function`&&process.getuid()===0)||!!process.env.IS_SANDBOX,xi={auto:`auto`,default:`default`,acceptedits:`acceptEdits`,dontask:`dontAsk`,plan:`plan`,bypasspermissions:`bypassPermissions`,bypass:`bypassPermissions`};function Si(e,t=`permissions.defaultMode`){if(e===void 0)return`default`;if(typeof e!=`string`)throw Error(`Invalid ${t}: expected a string.`);let n=e.trim().toLowerCase();if(n===``)throw Error(`Invalid ${t}: expected a non-empty string.`);let r=xi[n];if(!r)throw Error(`Invalid ${t}: ${e}.`);if(r===`bypassPermissions`&&!bi)throw Error(`Invalid ${t}: bypassPermissions is not available when running as root.`);return r}function Ci(e){let t=[...e.mcpServers??[]].sort((e,t)=>e.name.localeCompare(t.name));return JSON.stringify({cwd:e.cwd,mcpServers:t})}var wi=256;function Ti(e){let t=e.replace(/[\r\n]+/g,` `).replace(/\s+/g,` `).trim();return t.length<=wi?t:`${t.slice(0,wi-1)}…`}function J(e,t){if(!t)return e;let n=D.resolve(t),r=D.resolve(e);return r.startsWith(n+D.sep)||r===n?D.relative(n,r):e}function Ei(e){let t="```";for(let n of e.matchAll(/^```+/gm)??[])for(;n[0].length>=t.length;)t+="`";return`${t}\n${e}${e.endsWith(`
|
|
3
|
+
`,i=e.getWriter();try{await i.write(n.encode(r))}finally{i.releaseLock()}}})}}r();var gi,_i=class{constructor(e,n){t(this,`connection`,void 0);let r=e(this),i=async(e,t)=>{switch(e){case O.initialize:{let e=pn.parse(t);return r.initialize(e)}case O.session_new:{let e=Xt.parse(t);return r.newSession(e)}case O.session_load:{if(!r.loadSession)throw K.methodNotFound(e);let n=Xn.parse(t);return r.loadSession(n)}case O.session_list:{if(!r.listSessions)throw K.methodNotFound(e);let n=gt.parse(t);return r.listSessions(n)}case O.session_fork:{if(!r.unstable_forkSession)throw K.methodNotFound(e);let n=Jn.parse(t);return r.unstable_forkSession(n)}case O.session_resume:{if(!r.unstable_resumeSession)throw K.methodNotFound(e);let n=er.parse(t);return r.unstable_resumeSession(n)}case O.session_close:{if(!r.unstable_closeSession)throw K.methodNotFound(e);let n=Hn.parse(t);return r.unstable_closeSession(n)}case O.session_set_mode:{if(!r.setSessionMode)throw K.methodNotFound(e);let n=hr.parse(t);return await r.setSessionMode(n)??{}}case O.authenticate:{let e=Ve.parse(t);return await r.authenticate(e)??{}}case O.logout:{if(!r.unstable_logout)throw K.methodNotFound(e);let n=yt.parse(t);return await r.unstable_logout(n)??{}}case O.session_prompt:{let e=Vr.parse(t);return r.prompt(e)}case O.session_set_model:{if(!r.unstable_setSessionModel)throw K.methodNotFound(e);let n=_r.parse(t);return await r.unstable_setSessionModel(n)??{}}case O.session_set_config_option:{if(!r.setSessionConfigOption)throw K.methodNotFound(e);let n=pr.parse(t);return r.setSessionConfigOption(n)}case O.nes_start:{if(!r.unstable_startNes)throw K.methodNotFound(e);let n=pi.parse(t);return r.unstable_startNes(n)}case O.nes_suggest:{if(!r.unstable_suggestNes)throw K.methodNotFound(e);let n=Cr.parse(t);return r.unstable_suggestNes(n)}case O.nes_close:{if(!r.unstable_closeNes)throw K.methodNotFound(e);let n=Vn.parse(t);return await r.unstable_closeNes(n)??{}}default:if(r.extMethod)return r.extMethod(e,t);throw K.methodNotFound(e)}},a=async(e,t)=>{switch(e){case O.session_cancel:{let e=Bn.parse(t);return r.cancel(e)}case O.document_did_open:{if(!r.unstable_didOpenDocument)return;let e=Kn.parse(t);return r.unstable_didOpenDocument(e)}case O.document_did_change:{if(!r.unstable_didChangeDocument)return;let e=H.parse(t);return r.unstable_didChangeDocument(e)}case O.document_did_close:{if(!r.unstable_didCloseDocument)return;let e=Wn.parse(t);return r.unstable_didCloseDocument(e)}case O.document_did_save:{if(!r.unstable_didSaveDocument)return;let e=qn.parse(t);return r.unstable_didSaveDocument(e)}case O.document_did_focus:{if(!r.unstable_didFocusDocument)return;let e=Gn.parse(t);return r.unstable_didFocusDocument(e)}case O.nes_accept:{if(!r.unstable_acceptNes)return;let e=zn.parse(t);return r.unstable_acceptNes(e)}case O.nes_reject:{if(!r.unstable_rejectNes)return;let e=Qn.parse(t);return r.unstable_rejectNes(e)}default:if(r.extNotification)return r.extNotification(e,t);throw K.methodNotFound(e)}};this.connection=new yi(i,a,n)}async sessionUpdate(e){return await this.connection.sendNotification(k.session_update,e)}async requestPermission(e){return await this.connection.sendRequest(k.session_request_permission,e)}async readTextFile(e){return await this.connection.sendRequest(k.fs_read_text_file,e)}async writeTextFile(e){return await this.connection.sendRequest(k.fs_write_text_file,e)??{}}async createTerminal(e){return new vi((await this.connection.sendRequest(k.terminal_create,e)).terminalId,e.sessionId,this.connection)}async unstable_createElicitation(e){return await this.connection.sendRequest(k.elicitation_create,e)}async unstable_completeElicitation(e){return await this.connection.sendNotification(k.elicitation_complete,e)}async extMethod(e,t){return await this.connection.sendRequest(e,t)}async extNotification(e,t){return await this.connection.sendNotification(e,t)}get signal(){return this.connection.signal}get closed(){return this.connection.closed}};gi=Symbol.asyncDispose;var vi=class{constructor(e,n,r){t(this,`id`,void 0),t(this,`sessionId`,void 0),t(this,`connection`,void 0),this.id=e,this.sessionId=n,this.connection=r}async currentOutput(){return await this.connection.sendRequest(k.terminal_output,{sessionId:this.sessionId,terminalId:this.id})}async waitForExit(){return await this.connection.sendRequest(k.terminal_wait_for_exit,{sessionId:this.sessionId,terminalId:this.id})}async kill(){return await this.connection.sendRequest(k.terminal_kill,{sessionId:this.sessionId,terminalId:this.id})??{}}async release(){return await this.connection.sendRequest(k.terminal_release,{sessionId:this.sessionId,terminalId:this.id})??{}}async[gi](){await this.release()}},yi=class{constructor(e,n,r){t(this,`pendingResponses`,new Map),t(this,`nextRequestId`,0),t(this,`requestHandler`,void 0),t(this,`notificationHandler`,void 0),t(this,`stream`,void 0),t(this,`writeQueue`,Promise.resolve()),t(this,`abortController`,new AbortController),t(this,`closedPromise`,void 0),this.requestHandler=e,this.notificationHandler=n,this.stream=r,this.closedPromise=new Promise(e=>{this.abortController.signal.addEventListener(`abort`,()=>e())}),this.receive()}get signal(){return this.abortController.signal}get closed(){return this.closedPromise}async receive(){let e;try{let e=this.stream.readable.getReader();try{for(;!this.abortController.signal.aborted;){let{value:t,done:n}=await e.read();if(n)break;if(t)try{this.processMessage(t)}catch(e){console.error(`Unexpected error during message processing:`,t,e),`id`in t&&t.id!==void 0&&this.sendMessage({jsonrpc:`2.0`,id:t.id,error:{code:-32700,message:`Parse error`}})}}}finally{e.releaseLock()}}catch(t){e=t}finally{this.close(e)}}close(e){if(this.abortController.signal.aborted)return;let t=e??Error(`ACP connection closed`);for(let e of this.pendingResponses.values())e.reject(t);this.pendingResponses.clear(),this.abortController.abort(t)}async processMessage(e){if(`method`in e&&`id`in e){let t=await this.tryCallRequestHandler(e.method,e.params);`error`in t&&console.error(`Error handling request`,e,t.error),await this.sendMessage({jsonrpc:`2.0`,id:e.id,...t})}else if(`method`in e){let t=await this.tryCallNotificationHandler(e.method,e.params);`error`in t&&console.error(`Error handling notification`,e,t.error)}else`id`in e?this.handleResponse(e):console.error(`Invalid message`,{message:e})}async tryCallRequestHandler(e,t){try{return{result:await this.requestHandler(e,t)??null}}catch(e){if(e instanceof K)return e.toResult();if(e instanceof _)return K.invalidParams(e.format()).toResult();let t;(e instanceof Error||typeof e==`object`&&e&&`message`in e&&typeof e.message==`string`)&&(t=e.message);try{return K.internalError(t?JSON.parse(t):{}).toResult()}catch{return K.internalError({details:t}).toResult()}}}async tryCallNotificationHandler(e,t){try{return await this.notificationHandler(e,t),{result:null}}catch(e){if(e instanceof K)return e.toResult();if(e instanceof _)return K.invalidParams(e.format()).toResult();let t;(e instanceof Error||typeof e==`object`&&e&&`message`in e&&typeof e.message==`string`)&&(t=e.message);try{return K.internalError(t?JSON.parse(t):{}).toResult()}catch{return K.internalError({details:t}).toResult()}}}handleResponse(e){let t=this.pendingResponses.get(e.id);if(t){if(`result`in e)t.resolve(e.result);else if(`error`in e){let{code:n,message:r,data:i}=e.error;t.reject(new K(n,r,i))}this.pendingResponses.delete(e.id)}else console.error(`Got response to unknown request`,e.id)}sendRequest(e,t){this.throwIfClosed();let n=this.nextRequestId++,r=new Promise((e,t)=>{this.pendingResponses.set(n,{resolve:e,reject:t})});return r.catch(()=>{}),this.sendMessage({jsonrpc:`2.0`,id:n,method:e,params:t}),r}async sendNotification(e,t){this.throwIfClosed(),await this.sendMessage({jsonrpc:`2.0`,method:e,params:t})}throwIfClosed(){if(this.abortController.signal.aborted)throw this.abortController.signal.reason??Error(`ACP connection closed`)}async sendMessage(e){return this.writeQueue=this.writeQueue.then(async()=>{let t=this.stream.writable.getWriter();try{await t.write(e)}finally{t.releaseLock()}}).catch(e=>{this.close(e)}),this.writeQueue}},K=class e extends Error{constructor(e,n,r){super(n),t(this,`code`,void 0),t(this,`data`,void 0),this.code=e,this.name=`RequestError`,this.data=r}static parseError(t,n){return new e(-32700,`Parse error${n?`: ${n}`:``}`,t)}static invalidRequest(t,n){return new e(-32600,`Invalid request${n?`: ${n}`:``}`,t)}static methodNotFound(t){return new e(-32601,`"Method not found": ${t}`,{method:t})}static invalidParams(t,n){return new e(-32602,`Invalid params${n?`: ${n}`:``}`,t)}static internalError(t,n){return new e(-32603,`Internal error${n?`: ${n}`:``}`,t)}static authRequired(t,n){return new e(-32e3,`Authentication required${n?`: ${n}`:``}`,t)}static resourceNotFound(t){return new e(-32002,`Resource not found${t?`: ${t}`:``}`,t&&{uri:t})}toResult(){return{error:{code:this.code,message:this.message,data:this.data}}}toErrorResponse(){return{code:this.code,message:this.message,data:this.data}}};ee(),S(),p(),Ce(),ve(),ge(),fe(),re(),oe(),le(),he(),Oe();function q(e,t){if(e)return t?Ne(e)?e:Pe(t,e):e}var bi=!(typeof process.geteuid==`function`?process.geteuid()===0:typeof process.getuid==`function`&&process.getuid()===0)||!!process.env.IS_SANDBOX,xi={auto:`auto`,default:`default`,acceptedits:`acceptEdits`,dontask:`dontAsk`,plan:`plan`,bypasspermissions:`bypassPermissions`,bypass:`bypassPermissions`};function Si(e,t=`permissions.defaultMode`){if(e===void 0)return`default`;if(typeof e!=`string`)throw Error(`Invalid ${t}: expected a string.`);let n=e.trim().toLowerCase();if(n===``)throw Error(`Invalid ${t}: expected a non-empty string.`);let r=xi[n];if(!r)throw Error(`Invalid ${t}: ${e}.`);if(r===`bypassPermissions`&&!bi)throw Error(`Invalid ${t}: bypassPermissions is not available when running as root.`);return r}function Ci(e){let t=[...e.mcpServers??[]].sort((e,t)=>e.name.localeCompare(t.name));return JSON.stringify({cwd:e.cwd,mcpServers:t})}var wi=256;function Ti(e){let t=e.replace(/[\r\n]+/g,` `).replace(/\s+/g,` `).trim();return t.length<=wi?t:`${t.slice(0,wi-1)}…`}function J(e,t){if(!t)return e;let n=D.resolve(t),r=D.resolve(e);return r.startsWith(n+D.sep)||r===n?D.relative(n,r):e}function Ei(e){let t="```";for(let n of e.matchAll(/^```+/gm)??[])for(;n[0].length>=t.length;)t+="`";return`${t}\n${e}${e.endsWith(`
|
|
4
4
|
`)?``:`
|
|
5
5
|
`}${t}`}function Y(e,t=!1,n){let r=e.name,i=e.input;switch(r){case`Agent`:case`Task`:{let e=i?.description??`Task`,t=i?.prompt;return{title:e,kind:`think`,content:t?[{type:`content`,content:{type:`text`,text:t}}]:[]}}case`Bash`:{let e=i?.command??`Terminal`,t=i?.description;return{title:e,kind:`execute`,content:t?[{type:`content`,content:{type:`text`,text:t}}]:[]}}case`Read`:{let e=i?.file_path,t=e??`File`,r=i?.offset,a=i?.limit,o=``;a&&a>0?o=` (${r??1} - ${(r??1)+a-1})`:r&&(o=` (from line ${r})`);let s=t?J(t,n):`File`,c=q(e,n);return{title:`Read ${s}${o}`,kind:`read`,locations:c?[{path:c,line:r??1}]:[],content:[]}}case`Write`:{let e=i?.file_path??``,t=i?.content??``,r=e?J(e,n):void 0,a=q(e,n);return{title:r?`Write ${r}`:`Write`,kind:`edit`,content:a?[{type:`diff`,path:a,oldText:null,newText:t}]:[{type:`content`,content:{type:`text`,text:t}}],locations:a?[{path:a}]:[]}}case`Edit`:{let e=i?.file_path??``,t=i?.old_string??``,r=i?.new_string??``,a=e?J(e,n):void 0,o=q(e,n);return{title:a?`Edit ${a}`:`Edit`,kind:`edit`,content:o?[{type:`diff`,path:o,oldText:t||null,newText:r}]:[],locations:o?[{path:o}]:[]}}case`Glob`:{let e=i?.path??``,t=i?.pattern??``,r=q(e,n),a=`Find`;return e&&(a+=` \`${e}\``),t&&(a+=` \`${t}\``),{title:a,kind:`search`,content:[],locations:r?[{path:r}]:[]}}case`Grep`:{let e=i?.pattern??``,t=i?.path??``,n=`grep`;return i?.[`-i`]&&(n+=` -i`),i?.[`-n`]&&(n+=` -n`),i?.[`-A`]!==void 0&&(n+=` -A ${i[`-A`]}`),i?.[`-B`]!==void 0&&(n+=` -B ${i[`-B`]}`),i?.[`-C`]!==void 0&&(n+=` -C ${i[`-C`]}`),i?.output_mode===`files_with_matches`?n+=` -l`:i?.output_mode===`count`&&(n+=` -c`),i?.head_limit!==void 0&&(n+=` | head -${i.head_limit}`),i?.glob&&(n+=` --include="${i.glob}"`),i?.type&&(n+=` --type=${i.type}`),i?.multiline&&(n+=` -P`),e&&(n+=` "${e}"`),t&&(n+=` ${t}`),{title:n,kind:`search`,content:[]}}case`TodoWrite`:{let e=i?.todos;return{title:Array.isArray(e)?`Update TODOs: ${e.map(e=>e.content).join(`, `)}`:`Update TODOs`,kind:`think`,content:[]}}case`ExitPlanMode`:{let e=i?.plan;return{title:`Ready to code?`,kind:`switch_mode`,content:e?[{type:`content`,content:{type:`text`,text:e}}]:[]}}default:return{title:r||`Unknown Tool`,kind:`other`,content:[]}}}function Di(e,t){return Array.isArray(e)&&e.length>0?{content:e.map(e=>({type:`content`,content:Oi(e,t)}))}:typeof e==`string`&&e.length>0?{content:[{type:`content`,content:{type:`text`,text:t?`\`\`\`\n${e}\n\`\`\``:e}}]}:{}}function Oi(e,t){let n=e=>({type:`text`,text:t?`\`\`\`\n${e}\n\`\`\``:e});switch(e.type){case`text`:{let n=e.text;return{type:`text`,text:t?`\`\`\`\n${n}\n\`\`\``:n}}case`image`:{let t=e.source;return t?.type===`base64`?{type:`image`,data:t.data,mimeType:t.media_type}:n(t?.type===`url`?`[image: ${t.url}]`:`[image: file reference]`)}case`resource_link`:{let t=e.uri;return{type:`resource_link`,uri:t,name:e.name??t,mimeType:e.mimeType}}case`resource`:{let t=e.resource;return{type:`resource`,resource:{uri:t?.uri??``,mimeType:t?.mimeType,...typeof t?.text==`string`?{text:t.text}:{},...typeof t?.blob==`string`?{blob:t.blob}:{}}}}case`tool_reference`:return n(`Tool: ${e.tool_name}`);case`tool_search_tool_search_result`:{let t=e.tool_references;return n(`Tools found: ${t?.map(e=>e.tool_name).join(`, `)||`none`}`)}case`tool_search_tool_result_error`:return n(`Error: ${e.error_code}${e.error_message?` - ${e.error_message}`:``}`);case`web_fetch_result`:return n(`Fetched: ${e.url}`);case`web_fetch_tool_result_error`:return n(`Error: ${e.error_code}`);case`code_execution_result`:case`bash_code_execution_result`:return n(`Output: ${e.stdout||e.stderr||``}`);case`code_execution_tool_result_error`:case`bash_code_execution_tool_result_error`:return n(`Error: ${e.error_code}`);case`text_editor_code_execution_view_result`:return n(e.content);case`text_editor_code_execution_create_result`:return n(e.is_file_update?`File updated`:`File created`);case`text_editor_code_execution_str_replace_result`:{let t=e.lines;return n(t?.join(`
|
|
6
6
|
`)||``)}case`text_editor_code_execution_tool_result_error`:return n(`Error: ${e.error_code}${e.error_message?` - ${e.error_message}`:``}`);default:try{return{type:`text`,text:JSON.stringify(e)}}catch{return{type:`text`,text:`[content]`}}}}function ki(e,t,n=!1){if(!t)return{};let r=e.is_error===!0,i=e.content;if(r&&i)return Di(i,!0);switch(t.name){case`Read`:return typeof i==`string`&&i.length>0?{content:[{type:`content`,content:{type:`text`,text:Ei(i)}}]}:Array.isArray(i)&&i.length>0?{content:i.map(e=>({type:`content`,content:e.type===`text`?{type:`text`,text:Ei(e.text)}:Oi(e,!1)}))}:{};case`Bash`:{let e=``;if(i&&typeof i==`object`&&!Array.isArray(i)&&i.type===`bash_code_execution_result`){let t=i;e=[t.stdout,t.stderr].filter(Boolean).join(`
|
|
@@ -9,5 +9,5 @@ import{n as e,t}from"./defineProperty-C-QyHrDq.js";import{Gi as n,Ni as r,Or as
|
|
|
9
9
|
|
|
10
10
|
Compacting completed.`}}}));break;case`result`:{let t=g.usage;t&&(l.inputTokens+=t.input_tokens??0,l.outputTokens+=t.output_tokens??0,l.cachedReadTokens+=t.cache_read_input_tokens??0,l.cachedWriteTokens+=t.cache_creation_input_tokens??0);let i=g.modelUsage;if(i&&d){let e=Pi(i,d);e?.contextWindow&&(f=e.contextWindow)}u!==null&&await n.sessionUpdate({sessionId:e,update:{sessionUpdate:`usage_update`,used:u,size:f}});let a=g.subtype,o=g.is_error;if(r.aborted){c=`cancelled`;break}switch(a){case`success`:{let e=g.stop_reason;c=e===`max_tokens`?`max_tokens`:e===`refusal`?`refusal`:`end_turn`,o&&(c=`end_turn`);break}case`error_during_execution`:c=g.stop_reason===`max_tokens`?`max_tokens`:`end_turn`;break;case`error_max_budget_usd`:case`error_max_turns`:case`error_max_structured_output_retries`:c=`max_turn_requests`;break}break}case`stream_event`:{let t=g.parent_tool_use_id;t===null&&m===null&&(m=E());let r=Mi(g,e,i,n,{clientCapabilities:a,cwd:o,messageId:t===null?m??void 0:void 0});for(let e of r)await n.sessionUpdate(e);p=!0;break}case`assistant`:{let t=g.message,r=g.parent_tool_use_id;if(t?.usage&&r===null){let e=t.usage;u=(typeof e.input_tokens==`number`?e.input_tokens:0)+(typeof e.output_tokens==`number`?e.output_tokens:0)+(typeof e.cache_read_input_tokens==`number`?e.cache_read_input_tokens:0)+(typeof e.cache_creation_input_tokens==`number`?e.cache_creation_input_tokens:0)}r===null&&t?.model&&t.model!==`<synthetic>`&&(d=t.model);let s;r===null&&(m===null&&(m=E()),s=m);let c=ji(g,e,i,n,{clientCapabilities:a,cwd:o,parentToolUseId:r,streamingActive:p,messageId:s});for(let e of c)await n.sessionUpdate(e);r===null&&(m=null);break}case`user`:break;case`progress`:{let t=g.data;if(!t)break;let r=t.type;if(r===`agent_progress`||r===`skill_progress`){let r=t.message;if(r){let t=r.content;if(t)for(let r of t)r.type===`text`&&await n.sessionUpdate({sessionId:e,update:{sessionUpdate:`agent_message_chunk`,content:{type:`text`,text:r.text}}})}}break}case`tool_use_summary`:break;case`attachment`:break;case`compact_boundary`:u=0,await n.sessionUpdate({sessionId:e,update:{sessionUpdate:`agent_message_chunk`,content:{type:`text`,text:`
|
|
11
11
|
|
|
12
|
-
Compacting completed.`}}});break;default:Fi.debug(`Ignoring unknown SDK message type`);break}}if(r.aborted||s?.())return{stopReason:`cancelled`,usage:l}}catch(e){if(r.aborted)return{stopReason:`cancelled`,usage:l};throw e}return{stopReason:c,usage:l}}async function Ri(e,t,n,r,i,a){for(let o of t){let t=o;if(t.type!==`user`&&t.type!==`assistant`){Fi.debug(`Ignoring unknown SDK message type`);continue}if(t.isMeta===!0)continue;let s=t.message?.content;if(!s)continue;let c=t.type===`assistant`?`assistant`:`user`;if(typeof s==`string`){if(!s.trim())continue;let t=E();await n.sessionUpdate({sessionId:e,update:{sessionUpdate:c===`assistant`?`agent_message_chunk`:`user_message_chunk`,...t?{messageId:t}:{},content:{type:`text`,text:s}}});continue}if(Array.isArray(s)){let t=X(s,c,e,r,n,void 0,{clientCapabilities:i,cwd:a,messageId:E()});for(let e of t)await n.sessionUpdate(e)}}}function zi(e,t,n,r,i,a,o,s){return async(n,c,l,u,d,f)=>{let p=Vi(r);if(n.name===`ExitPlanMode`)return Bi(e,t,d,c,p,i,a,o,s);if(f!==void 0)return f;try{let e=await re(n,c,l,u,d);if(e.behavior===`allow`||e.behavior===`deny`)return e}catch(e){return console.error(`[ACP Permissions] Pipeline error:`,e),{behavior:`deny`,message:`Permission pipeline failed`,decisionReason:{type:`other`,reason:`Permission pipeline failed`},toolUseID:d}}let m=Y({name:n.name,id:d,input:c},p,i),h={toolCallId:d,title:m.title,kind:m.kind,status:`pending`,rawInput:c},g=[{kind:`allow_always`,name:`Always Allow`,optionId:`allow_always`},{kind:`allow_once`,name:`Allow`,optionId:`allow`},{kind:`reject_once`,name:`Reject`,optionId:`reject`},{kind:`reject_always`,name:`Always Reject`,optionId:`reject_always`}];try{let n=await e.requestPermission({sessionId:t,toolCall:h,options:g});if(n.outcome.outcome===`cancelled`)return s?.(),{behavior:`deny`,message:`Permission request cancelled by client`,decisionReason:{type:`mode`,mode:`default`},toolUseID:d};if(n.outcome.outcome===`selected`&&`optionId`in n.outcome&&n.outcome.optionId!==void 0){let e=n.outcome.optionId;if(e===`allow`||e===`allow_always`)return{behavior:`allow`,updatedInput:c}}return{behavior:`deny`,message:`Permission denied by client`,decisionReason:{type:`mode`,mode:`default`}}}catch(e){return console.error(`[ACP Permissions] Client request error:`,e),{behavior:`deny`,message:`Permission request failed`,decisionReason:{type:`mode`,mode:`default`}}}}}async function Bi(e,t,n,r,i,a,o,s,c){let l=[{kind:`allow_always`,name:`Yes, and use "auto" mode`,optionId:`auto`},{kind:`allow_always`,name:`Yes, and auto-accept edits`,optionId:`acceptEdits`},{kind:`allow_once`,name:`Yes, and manually approve edits`,optionId:`default`},{kind:`reject_once`,name:`No, keep planning`,optionId:`plan`}];s?.()===!0&&l.unshift({kind:`allow_always`,name:`Yes, and bypass permissions`,optionId:`bypassPermissions`});let u=Y({name:`ExitPlanMode`,id:n,input:r},i,a),d={toolCallId:n,title:u.title,kind:u.kind,status:`pending`,rawInput:r},f=await e.requestPermission({sessionId:t,toolCall:d,options:l});if(f.outcome.outcome===`cancelled`)return c?.(),{behavior:`deny`,message:`Tool use aborted`,decisionReason:{type:`mode`,mode:`default`}};if(f.outcome.outcome===`selected`&&`optionId`in f.outcome&&f.outcome.optionId!==void 0){let n=f.outcome.optionId;if(l.some(e=>e.optionId===n)&&(n==="default"||n===`acceptEdits`||n===`auto`||n===`bypassPermissions`))return o?.(n),await e.sessionUpdate({sessionId:t,update:{sessionUpdate:`current_mode_update`,currentModeId:n}}),{behavior:`allow`,updatedInput:r}}return{behavior:`deny`,message:`User rejected request to exit plan mode.`,decisionReason:{type:`mode`,mode:`plan`}}}function Vi(e){if(!e)return!1;if(e.terminal===!0)return!0;let t=e._meta;return!t||typeof t!=`object`?!1:t.terminal_output===!0}be(),Ee(),me(),y(),e(),he();var Z=class{constructor(e){t(this,`conn`,void 0),t(this,`sessions`,new Map),t(this,`clientCapabilities`,void 0),this.conn=e}async initialize(e){return this.clientCapabilities=e.clientCapabilities,{protocolVersion:1,authMethods:[],agentInfo:{name:`workmate`,title:`Work Mate`,version:typeof globalThis.MACRO==`object`&&globalThis.MACRO!==null?String(globalThis.MACRO.VERSION??`0.0.0`):`0.0.0`},agentCapabilities:{_meta:{workMate:{promptQueueing:!0,forkSession:!0}},promptCapabilities:{image:!1,embeddedContext:!0},mcpCapabilities:{http:!0,sse:!0},loadSession:!0,sessionCapabilities:{list:{},resume:{},close:{},delete:{}}}}}async authenticate(e){return{}}async newSession(e){let t=await this.createSession(e);return this.scheduleAvailableCommandsUpdate(t.sessionId),t}async unstable_resumeSession(e){let t=await this.getOrCreateSession({...e,replay:!1});return this.scheduleAvailableCommandsUpdate(t.sessionId),t}async loadSession(e){let t=await this.getOrCreateSession(e);return this.scheduleAvailableCommandsUpdate(t.sessionId),t}async listSessions(e){if(e.cursor!==void 0&&e.cursor!==null)throw Error(`Pagination cursor not supported: listSessions returns all results in a single page.`);let t=e.cwd||ne(),n=await v(t),r=await pe({dir:t}),i=[];for(let e of r){if(!e.cwd||await v(e.cwd)!==n)continue;let t=Ti(e.summary??``);i.push({sessionId:e.sessionId,cwd:e.cwd,...t?{title:t}:{},updatedAt:new Date(e.lastModified).toISOString()})}return{sessions:i}}async unstable_forkSession(e){let{initialMessages:t}=await Hi(e.sessionId),n=await this.createSession({cwd:e.cwd,mcpServers:e.mcpServers??[],_meta:e._meta},{initialMessages:t});return this.scheduleAvailableCommandsUpdate(n.sessionId),n}async unstable_closeSession(e){if(!this.sessions.get(e.sessionId))throw Error(`Session not found`);return await this.teardownSession(e.sessionId),{}}async unstable_deleteSession(e){let t=await i(e.sessionId);if(t)try{await Me(t.filePath)}catch(e){if(e.code!==`ENOENT`)throw e}return this.sessions.has(e.sessionId)&&await this.teardownSession(e.sessionId),{}}async extMethod(e,t){if(e===`session/delete`){let e=t.sessionId;if(typeof e!=`string`||e.length===0)throw Error(`session/delete requires a non-empty sessionId`);return this.unstable_deleteSession({sessionId:e})}throw K.methodNotFound(e)}async cancel(e){let t=this.sessions.get(e.sessionId);if(t){t.cancelled=!0,t.cancelGeneration+=1;for(let[,e]of t.pendingMessages)e.resolve(!0);t.pendingMessages.clear(),t.pendingQueue=[],t.pendingQueueHead=0,t.queryEngine.interrupt()}}async setSessionMode(e){if(!this.sessions.get(e.sessionId))throw Error(`Session not found`);return this.applySessionMode(e.sessionId,e.modeId),await this.conn.sessionUpdate({sessionId:e.sessionId,update:{sessionUpdate:`current_mode_update`,currentModeId:e.modeId}}),await this.updateConfigOption(e.sessionId,`mode`,e.modeId),{}}async unstable_setSessionModel(e){let t=this.sessions.get(e.sessionId);if(!t)throw Error(`Session not found`);return t.queryEngine.setModel(e.modelId),await this.updateConfigOption(e.sessionId,`model`,e.modelId),{}}async sendAvailableCommandsUpdate(e){let t=this.sessions.get(e);if(!t)return;let n=t.commands.filter(e=>e.type===`prompt`&&!e.isHidden&&e.userInvocable!==!1).map(e=>({name:e.name,description:e.description,input:e.argumentHint?{hint:e.argumentHint}:void 0}));await this.conn.sessionUpdate({sessionId:e,update:{sessionUpdate:`available_commands_update`,availableCommands:n}})}scheduleAvailableCommandsUpdate(e){setTimeout(()=>{this.sendAvailableCommandsUpdate(e).catch(e=>{console.error(`[ACP] Failed to send available commands update:`,e)})},0)}};async function Hi(e){let t;try{let n=await w(e);n&&n.messages.length>0&&(t=T(n.messages))}catch(e){console.error(`[ACP] fork source load failed:`,e)}return{initialMessages:t}}var Ui=[`auto`,`default`,`acceptEdits`,`bypassPermissions`,`dontAsk`,`plan`];function Wi(e){return Ui.includes(e)}function Gi(e,t,n){if(t){let t=Ki(e,`_meta.permissionMode`);if(t===`bypassPermissions`&&!Yi())throw Error(`Mode not available: bypassPermissions cannot run as root (start the agent as a non-root user, or set IS_SANDBOX=1).`);return t}return qi(n)??`default`}function Ki(e,t){if(e==null)throw Error(`Invalid ${t}: expected a string.`);return Si(e,t)}function qi(e){if(e!=null)try{return Si(e,`permissions.defaultMode`)}catch(e){let t=e instanceof Error?e.message:String(e);console.error(`[ACP] Invalid permissions.defaultMode, using default:`,t);return}}function Ji(e,t){return!!e&&Object.hasOwn(e,t)}function Yi(){return Xi()}function Xi(){return process.env.IS_SANDBOX?!0:typeof process.geteuid==`function`?process.geteuid()!==0:typeof process.getuid!=`function`||process.getuid()!==0}function Zi(e,t){return[{id:`mode`,name:`Mode`,description:`Session permission mode`,category:`mode`,type:`select`,currentValue:e.currentModeId,options:e.availableModes.map(e=>({value:e.id,name:e.name,description:e.description}))},{id:`model`,name:`Model`,description:`AI model to use`,category:`model`,type:`select`,currentValue:t.currentModelId,options:t.availableModels.map(e=>({value:e.modelId,name:e.name,description:e.description??void 0}))}]}function Qi(e){let t=[];if(!Array.isArray(e))return t;for(let n of e){if(typeof n!=`object`||!n)continue;let e=n;if(Array.isArray(e.options))for(let n of e.options)n&&typeof n==`object`&&typeof n.value==`string`&&t.push(n.value);else typeof n.value==`string`&&t.push(n.value)}return t}function Q(e){return e.conn}function $(e){return e.clientCapabilities}function $i(e,t,n,r){n===`mode`?t.modes={...t.modes,currentModeId:r}:n===`model`&&(t.models={...t.models,currentModelId:r})}S();function ea(){return u().permissions?.defaultMode}async function ta(e,t={}){ye();let n=t.sessionId??E(),r=e.cwd;x(n,te()),C(r);let i=process.cwd(),a=!1;try{process.chdir(r),a=!0}catch{}b(),De();try{let i=Se(),a=se(i),o=e._meta,s=Ji(o,`permissionMode`),c=Gi(s?o?.permissionMode:void 0,s,ea()),l=$(this),u=this.conn,d=zi(u,n,()=>this.sessions.get(n)?.modes.currentModeId??`default`,l,r,e=>{this.applySessionMode(n,e)},()=>this.sessions.get(n)?.appState.toolPermissionContext.isBypassPermissionsModeAvailable??!1),f=Yi(),p={...oe(),toolPermissionContext:{...i,mode:c,isBypassPermissionsModeAvailable:f}},[m,h]=await Promise.all([ae(r),ge(r)]);p.agentDefinitions=h;let g=new we({cwd:r,tools:a,commands:m,mcpClients:[],agents:h.activeAgents,canUseTool:d,getAppState:()=>p,setAppState:e=>{let t=e(p);Object.assign(p,t)},readFileCache:new fe(500,50*1024*1024),includePartialMessages:!0,replayUserMessages:!0,initialMessages:t.initialMessages}),_={currentModeId:c,availableModes:[{id:`default`,name:`Default`,description:`Standard behavior, prompts for dangerous operations`},{id:`acceptEdits`,name:`Accept Edits`,description:`Auto-accept file edit operations`},{id:`plan`,name:`Plan Mode`,description:`Planning mode, no actual tool execution`},{id:`auto`,name:`Auto`,description:`Use a model classifier to approve/deny permission prompts.`},...f?[{id:`bypassPermissions`,name:`Bypass Permissions`,description:`Skip all permission checks`}]:[],{id:`dontAsk`,name:`Don't Ask`,description:`Don't prompt for permissions, deny if not pre-approved`}]},v=Te(),y=xe(),b={availableModels:v.map(e=>({modelId:String(e.value??``),name:e.label??String(e.value??``),description:e.description??void 0})),currentModelId:y};g.setModel(y);let x=Zi(_,b),S={queryEngine:g,cancelled:!1,cancelGeneration:0,cwd:r,modes:_,models:b,configOptions:x,promptRunning:!1,pendingMessages:new Map,pendingQueue:[],pendingQueueHead:0,toolUseCache:{},clientCapabilities:l,appState:p,commands:m,sessionFingerprint:Ci({cwd:r,mcpServers:e.mcpServers})};return this.sessions.set(n,S),{sessionId:n,modes:_,models:b,configOptions:x}}finally{a&&process.chdir(i)}}Object.assign(Z.prototype,{createSession:ta}),he(),S(),y();async function na(e){let t=e.replay!==!1,n=this.sessions.get(e.sessionId);if(n){if(Ci({cwd:e.cwd,mcpServers:e.mcpServers})===n.sessionFingerprint){let r=await i(e.sessionId,e.cwd);return x(e.sessionId,r?ke(r.filePath):null),C(e.cwd),t&&await this.replaySessionHistory(e),{sessionId:e.sessionId,modes:n.modes,models:n.models,configOptions:n.configOptions}}await this.teardownSession(e.sessionId)}let r=await i(e.sessionId,e.cwd),a=r?ke(r.filePath):null;x(e.sessionId,a),C(e.cwd);let o;if(r)try{let t=await w(e.sessionId);t&&t.messages.length>0&&(o=T(t.messages))}catch(e){console.error(`[ACP] Failed to load session history:`,e)}let s=await this.createSession({cwd:e.cwd,mcpServers:e.mcpServers??[],_meta:e._meta},{sessionId:e.sessionId,initialMessages:o});if(t&&o&&o.length>0){let t=this.sessions.get(e.sessionId);t&&await Ri(e.sessionId,o,Q(this),t.toolUseCache,$(this),t.cwd)}return{sessionId:s.sessionId,modes:s.modes,models:s.models,configOptions:s.configOptions}}async function ra(e){this.sessions.get(e)&&(await this.cancel({sessionId:e}),this.sessions.delete(e))}async function ia(e){try{let t=await w(e.sessionId);if(!t||t.messages.length===0)return;let n=T(t.messages);if(n.length===0)return;let r=this.sessions.get(e.sessionId);if(!r)return;await Ri(e.sessionId,n,Q(this),r.toolUseCache,$(this),r.cwd)}catch(e){console.error(`[ACP] Failed to replay session history:`,e)}}function aa(e,t){if(!Wi(t))throw Error(`Invalid mode: ${t}`);let n=this.sessions.get(e);if(n){if(t===`bypassPermissions`&&!n.appState.toolPermissionContext.isBypassPermissionsModeAvailable||!n.modes.availableModes.some(e=>e.id===t))throw Error(`Mode not available: ${t}`);n.modes={...n.modes,currentModeId:t},n.appState.toolPermissionContext={...n.appState.toolPermissionContext,mode:t}}}async function oa(e,t,n){let r=this.sessions.get(e);r&&($i(this,r,t,n),r.configOptions=r.configOptions.map(e=>e.id===t&&typeof e.currentValue==`string`?{...e,currentValue:n}:e),await Q(this).sessionUpdate({sessionId:e,update:{sessionUpdate:`config_option_update`,configOptions:r.configOptions}}))}Object.assign(Z.prototype,{getOrCreateSession:na,teardownSession:ra,replaySessionHistory:ia,applySessionMode:aa,updateConfigOption:oa});function sa(e){if(!e||e.length===0)return``;let t=[];for(let n of e){let e=n;if(e.type===`text`)t.push(String(e.text??``));else if(e.type===`resource_link`){let n=typeof e.name==`string`?e.name:void 0,r=typeof e.uri==`string`?e.uri:void 0;t.push(ca(n,r))}else if(e.type===`resource`){let n=e.resource;if(n&&typeof n.text==`string`)t.push(n.text);else if(n&&typeof n.blob==`string`){let e=typeof n.mimeType==`string`?n.mimeType:`application/octet-stream`,r=typeof n.uri==`string`?n.uri:`(unknown uri)`;t.push(`Embedded resource: ${r} (${e}, base64 blob, ${n.blob.length} chars)`)}}}return t.filter(e=>e.length>0).join(`
|
|
12
|
+
Compacting completed.`}}});break;default:Fi.debug(`Ignoring unknown SDK message type`);break}}if(r.aborted||s?.())return{stopReason:`cancelled`,usage:l}}catch(e){if(r.aborted)return{stopReason:`cancelled`,usage:l};throw e}return{stopReason:c,usage:l}}async function Ri(e,t,n,r,i,a){for(let o of t){let t=o;if(t.type!==`user`&&t.type!==`assistant`){Fi.debug(`Ignoring unknown SDK message type`);continue}if(t.isMeta===!0)continue;let s=t.message?.content;if(!s)continue;let c=t.type===`assistant`?`assistant`:`user`;if(typeof s==`string`){if(!s.trim())continue;let t=E();await n.sessionUpdate({sessionId:e,update:{sessionUpdate:c===`assistant`?`agent_message_chunk`:`user_message_chunk`,...t?{messageId:t}:{},content:{type:`text`,text:s}}});continue}if(Array.isArray(s)){let t=X(s,c,e,r,n,void 0,{clientCapabilities:i,cwd:a,messageId:E()});for(let e of t)await n.sessionUpdate(e)}}}function zi(e,t,n,r,i,a,o,s){return async(n,c,l,u,d,f)=>{let p=Vi(r);if(n.name===`ExitPlanMode`)return Bi(e,t,d,c,p,i,a,o,s);if(f!==void 0)return f;try{let e=await ie(n,c,l,u,d);if(e.behavior===`allow`||e.behavior===`deny`)return e}catch(e){return console.error(`[ACP Permissions] Pipeline error:`,e),{behavior:`deny`,message:`Permission pipeline failed`,decisionReason:{type:`other`,reason:`Permission pipeline failed`},toolUseID:d}}let m=Y({name:n.name,id:d,input:c},p,i),h={toolCallId:d,title:m.title,kind:m.kind,status:`pending`,rawInput:c},g=[{kind:`allow_always`,name:`Always Allow`,optionId:`allow_always`},{kind:`allow_once`,name:`Allow`,optionId:`allow`},{kind:`reject_once`,name:`Reject`,optionId:`reject`},{kind:`reject_always`,name:`Always Reject`,optionId:`reject_always`}];try{let n=await e.requestPermission({sessionId:t,toolCall:h,options:g});if(n.outcome.outcome===`cancelled`)return s?.(),{behavior:`deny`,message:`Permission request cancelled by client`,decisionReason:{type:`mode`,mode:`default`},toolUseID:d};if(n.outcome.outcome===`selected`&&`optionId`in n.outcome&&n.outcome.optionId!==void 0){let e=n.outcome.optionId;if(e===`allow`||e===`allow_always`)return{behavior:`allow`,updatedInput:c}}return{behavior:`deny`,message:`Permission denied by client`,decisionReason:{type:`mode`,mode:`default`}}}catch(e){return console.error(`[ACP Permissions] Client request error:`,e),{behavior:`deny`,message:`Permission request failed`,decisionReason:{type:`mode`,mode:`default`}}}}}async function Bi(e,t,n,r,i,a,o,s,c){let l=[{kind:`allow_always`,name:`Yes, and use "auto" mode`,optionId:`auto`},{kind:`allow_always`,name:`Yes, and auto-accept edits`,optionId:`acceptEdits`},{kind:`allow_once`,name:`Yes, and manually approve edits`,optionId:`default`},{kind:`reject_once`,name:`No, keep planning`,optionId:`plan`}];s?.()===!0&&l.unshift({kind:`allow_always`,name:`Yes, and bypass permissions`,optionId:`bypassPermissions`});let u=Y({name:`ExitPlanMode`,id:n,input:r},i,a),d={toolCallId:n,title:u.title,kind:u.kind,status:`pending`,rawInput:r},f=await e.requestPermission({sessionId:t,toolCall:d,options:l});if(f.outcome.outcome===`cancelled`)return c?.(),{behavior:`deny`,message:`Tool use aborted`,decisionReason:{type:`mode`,mode:`default`}};if(f.outcome.outcome===`selected`&&`optionId`in f.outcome&&f.outcome.optionId!==void 0){let n=f.outcome.optionId;if(l.some(e=>e.optionId===n)&&(n==="default"||n===`acceptEdits`||n===`auto`||n===`bypassPermissions`))return o?.(n),await e.sessionUpdate({sessionId:t,update:{sessionUpdate:`current_mode_update`,currentModeId:n}}),{behavior:`allow`,updatedInput:r}}return{behavior:`deny`,message:`User rejected request to exit plan mode.`,decisionReason:{type:`mode`,mode:`plan`}}}function Vi(e){if(!e)return!1;if(e.terminal===!0)return!0;let t=e._meta;return!t||typeof t!=`object`?!1:t.terminal_output===!0}be(),Ee(),ue(),y(),e(),_e();var Z=class{constructor(e){t(this,`conn`,void 0),t(this,`sessions`,new Map),t(this,`clientCapabilities`,void 0),this.conn=e}async initialize(e){return this.clientCapabilities=e.clientCapabilities,{protocolVersion:1,authMethods:[],agentInfo:{name:`workmate`,title:`Work Mate`,version:typeof globalThis.MACRO==`object`&&globalThis.MACRO!==null?String(globalThis.MACRO.VERSION??`0.0.0`):`0.0.0`},agentCapabilities:{_meta:{workMate:{promptQueueing:!0,forkSession:!0}},promptCapabilities:{image:!1,embeddedContext:!0},mcpCapabilities:{http:!0,sse:!0},loadSession:!0,sessionCapabilities:{list:{},resume:{},close:{},delete:{}}}}}async authenticate(e){return{}}async newSession(e){let t=await this.createSession(e);return this.scheduleAvailableCommandsUpdate(t.sessionId),t}async unstable_resumeSession(e){let t=await this.getOrCreateSession({...e,replay:!1});return this.scheduleAvailableCommandsUpdate(t.sessionId),t}async loadSession(e){let t=await this.getOrCreateSession(e);return this.scheduleAvailableCommandsUpdate(t.sessionId),t}async listSessions(e){if(e.cursor!==void 0&&e.cursor!==null)throw Error(`Pagination cursor not supported: listSessions returns all results in a single page.`);let t=e.cwd||ne(),n=await v(t),r=await se({dir:t}),i=[];for(let e of r){if(!e.cwd||await v(e.cwd)!==n)continue;let t=Ti(e.summary??``);i.push({sessionId:e.sessionId,cwd:e.cwd,...t?{title:t}:{},updatedAt:new Date(e.lastModified).toISOString()})}return{sessions:i}}async unstable_forkSession(e){let{initialMessages:t}=await Hi(e.sessionId),n=await this.createSession({cwd:e.cwd,mcpServers:e.mcpServers??[],_meta:e._meta},{initialMessages:t});return this.scheduleAvailableCommandsUpdate(n.sessionId),n}async unstable_closeSession(e){if(!this.sessions.get(e.sessionId))throw Error(`Session not found`);return await this.teardownSession(e.sessionId),{}}async unstable_deleteSession(e){let t=await i(e.sessionId);if(t)try{await Me(t.filePath)}catch(e){if(e.code!==`ENOENT`)throw e}return this.sessions.has(e.sessionId)&&await this.teardownSession(e.sessionId),{}}async extMethod(e,t){if(e===`session/delete`){let e=t.sessionId;if(typeof e!=`string`||e.length===0)throw Error(`session/delete requires a non-empty sessionId`);return this.unstable_deleteSession({sessionId:e})}throw K.methodNotFound(e)}async cancel(e){let t=this.sessions.get(e.sessionId);if(t){t.cancelled=!0,t.cancelGeneration+=1;for(let[,e]of t.pendingMessages)e.resolve(!0);t.pendingMessages.clear(),t.pendingQueue=[],t.pendingQueueHead=0,t.queryEngine.interrupt()}}async setSessionMode(e){if(!this.sessions.get(e.sessionId))throw Error(`Session not found`);return this.applySessionMode(e.sessionId,e.modeId),await this.conn.sessionUpdate({sessionId:e.sessionId,update:{sessionUpdate:`current_mode_update`,currentModeId:e.modeId}}),await this.updateConfigOption(e.sessionId,`mode`,e.modeId),{}}async unstable_setSessionModel(e){let t=this.sessions.get(e.sessionId);if(!t)throw Error(`Session not found`);return t.queryEngine.setModel(e.modelId),await this.updateConfigOption(e.sessionId,`model`,e.modelId),{}}async sendAvailableCommandsUpdate(e){let t=this.sessions.get(e);if(!t)return;let n=t.commands.filter(e=>e.type===`prompt`&&!e.isHidden&&e.userInvocable!==!1).map(e=>({name:e.name,description:e.description,input:e.argumentHint?{hint:e.argumentHint}:void 0}));await this.conn.sessionUpdate({sessionId:e,update:{sessionUpdate:`available_commands_update`,availableCommands:n}})}scheduleAvailableCommandsUpdate(e){setTimeout(()=>{this.sendAvailableCommandsUpdate(e).catch(e=>{console.error(`[ACP] Failed to send available commands update:`,e)})},0)}};async function Hi(e){let t;try{let n=await w(e);n&&n.messages.length>0&&(t=T(n.messages))}catch(e){console.error(`[ACP] fork source load failed:`,e)}return{initialMessages:t}}var Ui=[`auto`,`default`,`acceptEdits`,`bypassPermissions`,`dontAsk`,`plan`];function Wi(e){return Ui.includes(e)}function Gi(e,t,n){if(t){let t=Ki(e,`_meta.permissionMode`);if(t===`bypassPermissions`&&!Yi())throw Error(`Mode not available: bypassPermissions cannot run as root (start the agent as a non-root user, or set IS_SANDBOX=1).`);return t}return qi(n)??`default`}function Ki(e,t){if(e==null)throw Error(`Invalid ${t}: expected a string.`);return Si(e,t)}function qi(e){if(e!=null)try{return Si(e,`permissions.defaultMode`)}catch(e){let t=e instanceof Error?e.message:String(e);console.error(`[ACP] Invalid permissions.defaultMode, using default:`,t);return}}function Ji(e,t){return!!e&&Object.hasOwn(e,t)}function Yi(){return Xi()}function Xi(){return process.env.IS_SANDBOX?!0:typeof process.geteuid==`function`?process.geteuid()!==0:typeof process.getuid!=`function`||process.getuid()!==0}function Zi(e,t){return[{id:`mode`,name:`Mode`,description:`Session permission mode`,category:`mode`,type:`select`,currentValue:e.currentModeId,options:e.availableModes.map(e=>({value:e.id,name:e.name,description:e.description}))},{id:`model`,name:`Model`,description:`AI model to use`,category:`model`,type:`select`,currentValue:t.currentModelId,options:t.availableModels.map(e=>({value:e.modelId,name:e.name,description:e.description??void 0}))}]}function Qi(e){let t=[];if(!Array.isArray(e))return t;for(let n of e){if(typeof n!=`object`||!n)continue;let e=n;if(Array.isArray(e.options))for(let n of e.options)n&&typeof n==`object`&&typeof n.value==`string`&&t.push(n.value);else typeof n.value==`string`&&t.push(n.value)}return t}function Q(e){return e.conn}function $(e){return e.clientCapabilities}function $i(e,t,n,r){n===`mode`?t.modes={...t.modes,currentModeId:r}:n===`model`&&(t.models={...t.models,currentModelId:r})}S();function ea(){return u().permissions?.defaultMode}async function ta(e,t={}){ye();let n=t.sessionId??E(),r=e.cwd;x(n,te()),C(r);let i=process.cwd(),a=!1;try{process.chdir(r),a=!0}catch{}b(),De();try{let i=Se(),a=ae(i),o=e._meta,s=Ji(o,`permissionMode`),c=Gi(s?o?.permissionMode:void 0,s,ea()),l=$(this),u=this.conn,d=zi(u,n,()=>this.sessions.get(n)?.modes.currentModeId??`default`,l,r,e=>{this.applySessionMode(n,e)},()=>this.sessions.get(n)?.appState.toolPermissionContext.isBypassPermissionsModeAvailable??!1),f=Yi(),p={...me(),toolPermissionContext:{...i,mode:c,isBypassPermissionsModeAvailable:f}},[m,h]=await Promise.all([pe(r),de(r)]);p.agentDefinitions=h;let g=new we({cwd:r,tools:a,commands:m,mcpClients:[],agents:h.activeAgents,canUseTool:d,getAppState:()=>p,setAppState:e=>{let t=e(p);Object.assign(p,t)},readFileCache:new ce(500,50*1024*1024),includePartialMessages:!0,replayUserMessages:!0,initialMessages:t.initialMessages}),_={currentModeId:c,availableModes:[{id:`default`,name:`Default`,description:`Standard behavior, prompts for dangerous operations`},{id:`acceptEdits`,name:`Accept Edits`,description:`Auto-accept file edit operations`},{id:`plan`,name:`Plan Mode`,description:`Planning mode, no actual tool execution`},{id:`auto`,name:`Auto`,description:`Use a model classifier to approve/deny permission prompts.`},...f?[{id:`bypassPermissions`,name:`Bypass Permissions`,description:`Skip all permission checks`}]:[],{id:`dontAsk`,name:`Don't Ask`,description:`Don't prompt for permissions, deny if not pre-approved`}]},v=Te(),y=xe(),b={availableModels:v.map(e=>({modelId:String(e.value??``),name:e.label??String(e.value??``),description:e.description??void 0})),currentModelId:y};g.setModel(y);let x=Zi(_,b),S={queryEngine:g,cancelled:!1,cancelGeneration:0,cwd:r,modes:_,models:b,configOptions:x,promptRunning:!1,pendingMessages:new Map,pendingQueue:[],pendingQueueHead:0,toolUseCache:{},clientCapabilities:l,appState:p,commands:m,sessionFingerprint:Ci({cwd:r,mcpServers:e.mcpServers})};return this.sessions.set(n,S),{sessionId:n,modes:_,models:b,configOptions:x}}finally{a&&process.chdir(i)}}Object.assign(Z.prototype,{createSession:ta}),_e(),S(),y();async function na(e){let t=e.replay!==!1,n=this.sessions.get(e.sessionId);if(n){if(Ci({cwd:e.cwd,mcpServers:e.mcpServers})===n.sessionFingerprint){let r=await i(e.sessionId,e.cwd);return x(e.sessionId,r?ke(r.filePath):null),C(e.cwd),t&&await this.replaySessionHistory(e),{sessionId:e.sessionId,modes:n.modes,models:n.models,configOptions:n.configOptions}}await this.teardownSession(e.sessionId)}let r=await i(e.sessionId,e.cwd),a=r?ke(r.filePath):null;x(e.sessionId,a),C(e.cwd);let o;if(r)try{let t=await w(e.sessionId);t&&t.messages.length>0&&(o=T(t.messages))}catch(e){console.error(`[ACP] Failed to load session history:`,e)}let s=await this.createSession({cwd:e.cwd,mcpServers:e.mcpServers??[],_meta:e._meta},{sessionId:e.sessionId,initialMessages:o});if(t&&o&&o.length>0){let t=this.sessions.get(e.sessionId);t&&await Ri(e.sessionId,o,Q(this),t.toolUseCache,$(this),t.cwd)}return{sessionId:s.sessionId,modes:s.modes,models:s.models,configOptions:s.configOptions}}async function ra(e){this.sessions.get(e)&&(await this.cancel({sessionId:e}),this.sessions.delete(e))}async function ia(e){try{let t=await w(e.sessionId);if(!t||t.messages.length===0)return;let n=T(t.messages);if(n.length===0)return;let r=this.sessions.get(e.sessionId);if(!r)return;await Ri(e.sessionId,n,Q(this),r.toolUseCache,$(this),r.cwd)}catch(e){console.error(`[ACP] Failed to replay session history:`,e)}}function aa(e,t){if(!Wi(t))throw Error(`Invalid mode: ${t}`);let n=this.sessions.get(e);if(n){if(t===`bypassPermissions`&&!n.appState.toolPermissionContext.isBypassPermissionsModeAvailable||!n.modes.availableModes.some(e=>e.id===t))throw Error(`Mode not available: ${t}`);n.modes={...n.modes,currentModeId:t},n.appState.toolPermissionContext={...n.appState.toolPermissionContext,mode:t}}}async function oa(e,t,n){let r=this.sessions.get(e);r&&($i(this,r,t,n),r.configOptions=r.configOptions.map(e=>e.id===t&&typeof e.currentValue==`string`?{...e,currentValue:n}:e),await Q(this).sessionUpdate({sessionId:e,update:{sessionUpdate:`config_option_update`,configOptions:r.configOptions}}))}Object.assign(Z.prototype,{getOrCreateSession:na,teardownSession:ra,replaySessionHistory:ia,applySessionMode:aa,updateConfigOption:oa});function sa(e){if(!e||e.length===0)return``;let t=[];for(let n of e){let e=n;if(e.type===`text`)t.push(String(e.text??``));else if(e.type===`resource_link`){let n=typeof e.name==`string`?e.name:void 0,r=typeof e.uri==`string`?e.uri:void 0;t.push(ca(n,r))}else if(e.type===`resource`){let n=e.resource;if(n&&typeof n.text==`string`)t.push(n.text);else if(n&&typeof n.blob==`string`){let e=typeof n.mimeType==`string`?n.mimeType:`application/octet-stream`,r=typeof n.uri==`string`?n.uri:`(unknown uri)`;t.push(`Embedded resource: ${r} (${e}, base64 blob, ${n.blob.length} chars)`)}}}return t.filter(e=>e.length>0).join(`
|
|
13
13
|
`)}function ca(e,t){let n=[];return e&&e.length>0&&n.push(`name=${e}`),t&&t.length>0&&n.push(`uri=${t}`),n.length>0?`Resource link: ${n.join(`, `)}`:`Resource link`}function la(e){for(;e.pendingQueueHead<e.pendingQueue.length;){let t=e.pendingQueue[e.pendingQueueHead++];if(!t)continue;let n=e.pendingMessages.get(t);if(n)return e.pendingMessages.delete(t),ua(e),n}ua(e)}function ua(e){if(e.pendingQueueHead!==0){if(e.pendingQueueHead>=e.pendingQueue.length){e.pendingQueue=[],e.pendingQueueHead=0;return}e.pendingQueueHead>1024&&e.pendingQueueHead*2>e.pendingQueue.length&&(e.pendingQueue=e.pendingQueue.slice(e.pendingQueueHead),e.pendingQueueHead=0)}}S();async function da(e){let t=this.sessions.get(e.sessionId);if(!t)throw Error(`Session ${e.sessionId} not found`);let n=e.messageId??void 0,r=sa(e.prompt);if(!r.trim())throw Error(`Prompt content is empty`);let i=t.cancelGeneration;if(t.promptRunning){let e=E();if(await new Promise(n=>{t.pendingQueue.push(e),t.pendingMessages.set(e,{resolve:n})}))return{stopReason:`cancelled`}}if(t.cancelGeneration!==i)return{stopReason:`cancelled`};t.cancelled=!1,t.promptRunning=!0;try{t.queryEngine.resetAbortController(),x(e.sessionId,te());let i=t.queryEngine.submitMessage(r),{stopReason:a,usage:o}=await Li(e.sessionId,i,Q(this),t.queryEngine.getAbortSignal(),t.toolUseCache,$(this),t.cwd,()=>t.cancelled);if(t.cancelled)return{stopReason:`cancelled`};if(await pa(this,e.sessionId,r),o){let e={inputTokens:o.inputTokens,outputTokens:o.outputTokens,cachedReadTokens:o.cachedReadTokens,cachedWriteTokens:o.cachedWriteTokens,thoughtTokens:0,totalTokens:o.inputTokens+o.outputTokens+o.cachedReadTokens+o.cachedWriteTokens+0};return{stopReason:a,usage:e,...n?{userMessageId:n}:{},_meta:{workMate:{usage:e}}}}return{stopReason:a,...n?{userMessageId:n}:{}}}catch(n){let r=n instanceof Error&&(n.name===`AbortError`||/abort|cancelled|interrupt/i.test(n.message));if(t.cancelled||r)return{stopReason:`cancelled`};throw n instanceof Error&&(n.message.includes(`terminated`)||n.message.includes(`process exited`))?(await this.teardownSession(e.sessionId),Error(`The Work Mate Agent process exited unexpectedly. Please start a new session.`)):n}finally{let e=la(t);e?(t.promptRunning=!0,e.resolve(!1)):t.promptRunning=!1}}async function fa(e){let t=this.sessions.get(e.sessionId);if(!t)throw Error(`Session not found`);if(typeof e.value!=`string`)throw Error(`Invalid value for config option ${e.configId}: ${String(e.value)}`);let n=t.configOptions.find(t=>t.id===e.configId);if(!n)throw Error(`Unknown config option: ${e.configId}`);if(n.type===`select`){let t=Qi(n.options);if(!t.includes(e.value))throw Error(`Invalid value '${e.value}' for config option ${e.configId}; must be one of: ${t.join(`, `)}`)}let r=e.value;return e.configId===`mode`?(this.applySessionMode(e.sessionId,r),await Q(this).sessionUpdate({sessionId:e.sessionId,update:{sessionUpdate:`current_mode_update`,currentModeId:r}})):e.configId===`model`&&t.queryEngine.setModel(r),$i(this,t,e.configId,r),t.configOptions=t.configOptions.map(t=>t.id===e.configId&&typeof t.currentValue==`string`?{...t,currentValue:r}:t),{configOptions:t.configOptions}}async function pa(e,t,n){let r=e.sessions.get(t);if(!r)return;let i=r.toolUseCache;if(i.__sessionInfoTitleSent)return;i.__sessionInfoTitleSent=!0;let a=Ti(n).slice(0,100);try{await Q(e).sessionUpdate({sessionId:t,update:{sessionUpdate:`session_info_update`,...a?{title:a}:{},updatedAt:new Date().toISOString()}})}catch(e){console.error(`[ACP] Failed to send session_info_update:`,e)}}Object.assign(Z.prototype,{prompt:da,setSessionConfigOption:fa}),ve(),Oe();function ma(e,t){let n=Ae.toWeb(e);return hi(je.toWeb(t),n)}async function ha(){ye(),De();let e=ma(process.stdin,process.stdout),t,n=new _i(e=>(t=new Z(e),t),e);console.log=console.error,console.info=console.error,console.warn=console.error,console.debug=console.error;async function r(){for(let[e]of t.sessions)try{await t.unstable_closeSession({sessionId:e})}catch{}process.exit(0)}n.closed.then(r).catch(r),process.on(`SIGTERM`,r),process.on(`SIGINT`,r),process.on(`unhandledRejection`,(e,t)=>{console.error(`Unhandled Rejection at:`,t,`reason:`,e)}),process.stdin.resume()}export{ha as runAcpAgent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{t}from"./jsx-runtime-Bb4Xn-E0.js";import{$s as n,Qs as r,gC as i,gi as a,hC as o,vi as s,wt as c,xt as l}from"./loadAgentsDir-BfLCckVj.js";import{n as u,t as d}from"./ExitFlow-DPgUFqeC.js";import{spawnSync as f}from"child_process";function p(){return i(g)??`Goodbye!`}async function m(e){if(n())return e(),f(`tmux`,[`detach-client`],{stdio:`ignore`}),null;let t=l()!==null;return t?(0,h.jsx)(d,{showWorktree:t,onDone:e,onCancel:()=>e()}):(e(p()),await a(0,`prompt_input_exit`),null)}var h,g;e((()=>{o(),u(),r(),s(),c(),h=t(),g=[`Goodbye!`,`See ya!`,`Bye!`,`Catch you later!`]}))();export{m as call};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{D as n,Gt as r,I as i,P as a,T as o,ai as s,t as c,x as l}from"./src-BX54x08P.js";import{t as u}from"./jsx-runtime-Bb4Xn-E0.js";import{
|
|
1
|
+
import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{D as n,Gt as r,I as i,P as a,T as o,ai as s,t as c,x as l}from"./src-BX54x08P.js";import{t as u}from"./jsx-runtime-Bb4Xn-E0.js";import{FC as d,Hh as f,MC as p,NC as m,PC as h,TC as g,Vh as _,_d as v,gd as y,rb as b}from"./loadAgentsDir-BfLCckVj.js";import{at as x,f as S,g as C,it as w}from"./model-BIf2i1is.js";import{n as T,t as E}from"./useExitOnCtrlCDWithKeybindings-ClrtNKJ6.js";import{t as D}from"./select-Bm29ymsI.js";import{n as O,r as k,t as A}from"./modelOptions-COIU5U3w.js";import{t as j}from"./CustomSelect-BsEd2To5.js";import{n as M,t as N}from"./fetchModelList-DjFCMjVN.js";function P({initial:e,sessionModel:t,onSelect:s,onCancel:c,isStandaloneCommand:u,showFastModeNotice:p,headerText:_}){let v=T(),b=e===null?L:e,[x,S]=(0,F.useState)(b),E=f(e=>d()?e.fastMode:!1),[k,j]=(0,F.useState)(()=>new Set(w(b)?[b.replace(/\[1m\]/i,``)]:[])),M=(0,F.useCallback)(()=>{if(!x||x===L)return;let e=x.replace(/\[1m\]/i,``);j(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[x]),P=(0,F.useMemo)(()=>O(E??!1),[E]),[R,z]=(0,F.useState)(null),[B,V]=(0,F.useState)(!1);(0,F.useEffect)(()=>{let e=!1;return V(!1),N().then(t=>{if(!e){if(!t||t.length===0){z(null),V(!0);return}z(t)}}).catch(()=>{e||V(!0)}),()=>{e=!0}},[]);let H=(0,F.useMemo)(()=>R?A(R,E??!1):null,[R,E]),U=R===null&&!B,W=(0,F.useMemo)(()=>{let t=H??P;return e!==null&&!t.some(t=>t.value===e)?[...t,{value:e,label:C(e),description:`Current model`}]:t},[H,P,e]),G=(0,F.useMemo)(()=>W.map(e=>({...e,value:e.value===null?L:e.value})),[W]),K=(0,F.useMemo)(()=>G.some(e=>e.value===b)?b:G[0]?.value??void 0,[G,b]),q=Math.min(10,G.length),J=Math.max(0,G.length-q),Y=G.find(e=>e.value===x)?.label,X=x!==void 0&&x!==L&&k.has(x.replace(/\[1m\]/i,``)),Z=(0,F.useCallback)(e=>{S(e)},[]);r({"modelPicker:toggle1M":()=>M()},{context:`ModelPicker`});function Q(e){if(e===L){s(null);return}let t=e.replace(/\[1m\]/i,``);s(k.has(t)?`${t}[1m]`:t)}let $=(0,I.jsxs)(i,{flexDirection:`column`,children:[(0,I.jsxs)(i,{flexDirection:`column`,children:[(0,I.jsxs)(i,{marginBottom:1,flexDirection:`column`,children:[(0,I.jsx)(a,{color:`remember`,bold:!0,children:`Select model`}),(0,I.jsx)(a,{dimColor:!0,children:_??`Choose a model for this and future sessions. Use Space to toggle 1M context.`}),t&&(0,I.jsxs)(a,{dimColor:!0,children:[`Currently using `,C(t),` for this session (set by plan mode). Selecting a model will undo this.`]})]}),(0,I.jsxs)(i,{flexDirection:`column`,marginBottom:1,children:[(0,I.jsx)(i,{flexDirection:`column`,children:(0,I.jsx)(D,{defaultValue:b,defaultFocusValue:K,options:G,onChange:Q,onFocus:Z,onCancel:c??(()=>{}),visibleOptionCount:q})}),J>0&&(0,I.jsx)(i,{paddingLeft:3,children:(0,I.jsxs)(a,{dimColor:!0,children:[`and `,J,` more…`]})}),U&&(0,I.jsx)(i,{paddingLeft:3,children:(0,I.jsx)(a,{dimColor:!0,children:`正在从 API 拉取可用模型列表…`})}),B&&R===null&&(0,I.jsx)(i,{paddingLeft:3,children:(0,I.jsx)(a,{dimColor:!0,children:`API 拉取失败,使用内置列表`})})]}),(0,I.jsx)(i,{marginBottom:1,flexDirection:`column`,children:X?(0,I.jsxs)(a,{dimColor:!0,children:[`1M context on`,(0,I.jsx)(a,{color:`subtle`,children:` · Space to toggle`})]}):(0,I.jsxs)(a,{color:`subtle`,children:[`1M context off`,Y?` for ${Y}`:``,(0,I.jsx)(a,{color:`subtle`,children:` · Space to toggle`})]})}),d()?p?(0,I.jsx)(i,{marginBottom:1,children:(0,I.jsxs)(a,{dimColor:!0,children:[`Fast mode is `,(0,I.jsx)(a,{bold:!0,children:`ON`}),` and available with `,g,` only (/fast). Switching to other models turn off fast mode.`]})}):m()&&!h()?(0,I.jsx)(i,{marginBottom:1,children:(0,I.jsxs)(a,{dimColor:!0,children:[`Use `,(0,I.jsx)(a,{bold:!0,children:`/fast`}),` to turn on Fast mode (`,g,` only).`]})}):null:null]}),u&&(0,I.jsx)(a,{dimColor:!0,italic:!0,children:v.pending?(0,I.jsxs)(I.Fragment,{children:[`Press `,v.keyName,` again to exit`]}):(0,I.jsxs)(o,{children:[(0,I.jsx)(n,{shortcut:`Enter`,action:`confirm`}),(0,I.jsx)(y,{action:`select:cancel`,context:`Select`,fallback:`Esc`,description:`exit`})]})})]});return u?(0,I.jsx)(l,{color:`permission`,children:$}):$}var F,I,L,R=e((()=>{F=t(s(),1),x(),E(),p(),c(),b(),_(),S(),k(),M(),v(),j(),I=u(),L=`__NO_PREFERENCE__`}));function z(e,t,n){return!1}var B=e((()=>{}));export{R as i,z as n,P as r,B as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{dc as e,fc as t,pc as n,uc as r}from"./loadAgentsDir-BfLCckVj.js";n();export{r as drainPendingExtraction,e as executeExtractMemories,t as initExtractMemories};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{Gt as n,I as r,Lt as i,P as a,ai as o,di as s,fi as c,j as l,t as u,y as d}from"./src-BX54x08P.js";import{t as f}from"./jsx-runtime-Bb4Xn-E0.js";import{Gt as p,m,y as h}from"./settings-D4M13toi.js";import{AC as g,
|
|
1
|
+
import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{Gt as n,I as r,Lt as i,P as a,ai as o,di as s,fi as c,j as l,t as u,y as d}from"./src-BX54x08P.js";import{t as f}from"./jsx-runtime-Bb4Xn-E0.js";import{Gt as p,m,y as h}from"./settings-D4M13toi.js";import{AC as g,DC as _,EC as v,FC as y,Hh as b,IC as x,MC as S,OC as C,TC as w,VC as T,Vh as E,Wh as D,by as O,rb as k,vy as A,yy as j}from"./loadAgentsDir-BfLCckVj.js";import{d as M,o as N}from"./config-Bio2EjUK.js";import{n as P}from"./analytics-COpjZpvd.js";import{_ as F,l as I}from"./startupProfiler-B9Qv2QGH.js";import{n as L,t as R}from"./systemTheme-Ceakddth.js";function z({cooldown:e}){return e?(0,V.jsx)(a,{color:`promptBorder`,dimColor:!0,children:`↯`}):(0,V.jsx)(a,{color:`fastMode`,children:`↯`})}function B(e=!0,t=!1){if(!e)return`↯`;let n=L(N().theme);return t?s.dim(l(`promptBorder`,n)(`↯`)):l(`fastMode`,n)(`↯`)}var V,H=e((()=>{c(),p(),u(),M(),R(),V=f()}));function U(e,t){v(),h(`userSettings`,{fastMode:e?!0:void 0}),t(e?e=>{let t=!x(e.mainLoopModel);return{...e,...t?{mainLoopModel:_(),mainLoopModelForSession:null}:{},fastMode:!0}}:e=>({...e,fastMode:!1}))}function W({onDone:e,unavailableReason:t}){let o=b(e=>e.mainLoopModel),s=b(e=>e.fastMode),c=D(),[l,u]=(0,q.useState)(s??!1),f=C(),p=f.status===`cooldown`,m=t!==null,h=A(j(!0));function g(){m||(U(l,c),l?e(`${B(l)} Fast mode ON${x(o)?``:` · model set to ${w}`} · ${h}`):(c(e=>({...e,fastMode:!1})),e(`Fast mode OFF`)))}function _(){if(m){s&&U(!1,c),e(`Fast mode OFF`,{display:`system`});return}e(s?`${B()} Kept Fast mode ON`:`Kept Fast mode OFF`,{display:`system`})}function v(){m||u(e=>!e)}return n({"confirm:yes":g,"confirm:nextField":v,"confirm:next":v,"confirm:previous":v,"confirm:cycleMode":v,"confirm:toggle":v},{context:`Confirmation`}),(0,J.jsxs)(d,{title:(0,J.jsxs)(a,{children:[(0,J.jsx)(z,{cooldown:p}),` Fast mode (research preview)`]}),subtitle:`High-speed mode for ${w}. Billed as extra usage at a premium rate. Separate rate limits apply.`,onCancel:_,color:`fastMode`,inputGuide:e=>e.pending?(0,J.jsxs)(a,{children:[`Press `,e.keyName,` again to exit`]}):m?(0,J.jsx)(a,{children:`Esc to cancel`}):(0,J.jsx)(a,{children:`Tab to toggle · Enter to confirm · Esc to cancel`}),children:[t?(0,J.jsx)(r,{marginLeft:2,children:(0,J.jsx)(a,{color:`error`,children:t})}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(r,{flexDirection:`column`,gap:0,marginLeft:2,children:(0,J.jsxs)(r,{flexDirection:`row`,gap:2,children:[(0,J.jsx)(a,{bold:!0,children:`Fast mode`}),(0,J.jsx)(a,{color:l?`fastMode`:void 0,bold:l,children:l?`ON `:`OFF`}),(0,J.jsx)(a,{dimColor:!0,children:h})]})}),p&&f.status===`cooldown`&&(0,J.jsx)(r,{marginLeft:2,children:(0,J.jsxs)(a,{color:`warning`,children:[f.reason===`overloaded`?`Fast mode overloaded and is temporarily unavailable`:`You've hit your fast limit`,` · resets in `,I(f.resetAt-Date.now(),{hideTrailingZeros:!0})]})})]}),(0,J.jsxs)(a,{dimColor:!0,children:[`Learn more:`,` `,(0,J.jsx)(i,{url:`https://code.workmate.com/docs/en/fast-mode`,children:`https://code.workmate.com/docs/en/fast-mode`})]})]})}async function G(e,t,n){let r=g();if(r)return`Fast mode unavailable: ${r}`;let{mainLoopModel:i}=t();return U(e,n),e?`${B(!0)} Fast mode ON${x(i)?``:` · model set to ${w}`} · ${A(j(!0))}`:`Fast mode OFF`}async function K(e,t,n){if(!y())return null;await T();let r=n?.trim().toLowerCase();if(r===`on`||r===`off`)return e(await G(r===`on`,t.getAppState,t.setAppState)),null;let i=g();return(0,J.jsx)(W,{onDone:e,unavailableReason:i})}var q,J,Y=e((()=>{q=t(o(),1),u(),H(),k(),P(),E(),S(),F(),O(),m(),J=f()}));export{H as a,B as i,K as n,Y as r,W as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,r as t,t as n}from"./fast-BlhpCQ2f.js";t();export{n as FastModePicker,e as call};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{Yr as t,Zr as n}from"./settings-D4M13toi.js";import{c as r,i}from"./debug-2pVES-2G.js";import{Mt as a,Pt as o,W as s,dt as c,q as l,ut as u}from"./model-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{Yr as t,Zr as n}from"./settings-D4M13toi.js";import{c as r,i}from"./debug-2pVES-2G.js";import{Mt as a,Pt as o,W as s,dt as c,q as l,ut as u}from"./model-BIf2i1is.js";import{n as d,r as f}from"./client-2w-g5kMx.js";async function p(){let e=a();try{switch(e){case`firstParty`:{let e=await u({maxRetries:1}),t=[];for await(let n of e.models.list())t.push({value:n.id,label:n.display_name??n.id,description:n.id});return t.length>0?t:null}case`openai`:{let e=d({maxRetries:1}),t=[];for await(let n of e.models.list())t.push({value:n.id,label:n.id,description:`via openai-compat`});return t.length>0?t:null}case`grok`:{let{getGrokClient:e}=await import(`./client-B0ngS4Uu.js`),t=e({maxRetries:1}),n=[];for await(let e of t.models.list())n.push({value:e.id,label:e.id,description:`via grok`});return n.length>0?n:null}case`bedrock`:{let e=(await s()).map(e=>({value:e,label:e,description:`Bedrock inference profile`}));return e.length>0?e:null}case`gemini`:case`vertex`:case`foundry`:return null}}catch(t){return r(`[fetchModelList] ${e} failed: ${t instanceof Error?t.message:`unknown`}`),null}return null}var m,h,g=e((()=>{c(),f(),i(),t(),l(),o(),m=300*1e3,h=n(p,m)}));export{g as n,h as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,t}from"./fetchModelList-DjFCMjVN.js";e();export{t as fetchAvailableModels};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{n,t as r}from"./defineProperty-C-QyHrDq.js";import{m as i}from"./zod-CuNujUwx.js";import{Kr as a,dr as o,m as s,pr as c,qr as l,t as u,zr as d}from"./settings-D4M13toi.js";import{Gn as f,Kn as p}from"./state-CXY-q5gr.js";import{
|
|
1
|
+
import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{n,t as r}from"./defineProperty-C-QyHrDq.js";import{m as i}from"./zod-CuNujUwx.js";import{Kr as a,dr as o,m as s,pr as c,qr as l,t as u,zr as d}from"./settings-D4M13toi.js";import{Gn as f,Kn as p}from"./state-CXY-q5gr.js";import{Bt as m,Pt as h,_ as g,g as _,gn as v,p as ee}from"./loadAgentsDir-BfLCckVj.js";import{n as y,t as b}from"./cwd-DrEEb4f5.js";import{I as x,M as te,c as S,f as ne,i as re,u as ie}from"./debug-2pVES-2G.js";import{d as ae,o as oe}from"./config-Bio2EjUK.js";import{o as se,s as C}from"./log-L1kqxa_P.js";import{i as ce,n as le}from"./execFileNoThrow-DXSEj8ZO.js";import{n as ue}from"./analytics-COpjZpvd.js";import{a as de,s as fe}from"./ripgrep-67m14ImZ.js";import*as w from"path";import{statSync as pe}from"fs";function me(e,t,n){if(t===0)return n?D:0;let r=e.charCodeAt(t-1);return he(r)?be:ge(r)&&_e(e.charCodeAt(t))?xe:0}function he(e){return e===47||e===92||e===45||e===95||e===46||e===32}function ge(e){return e>=97&&e<=122}function _e(e){return e>=65&&e<=90}function T(){return new Promise(e=>setImmediate(e))}function ve(e,t){let n=new Set;for(let r of e){let e=r.length;for(let t=0;t<r.length;t++){let n=r.charCodeAt(t);if(n===47||n===92){e=t;break}}let i=r.slice(0,e);if(i.length>0&&(n.add(i),n.size>=t))break}let r=Array.from(n);return r.sort((e,t)=>{let n=e.length-t.length;return n===0?e<t?-1:+(e>t):n}),r.slice(0,t).map(e=>({path:e,score:0}))}var ye,be,xe,E,D,O,k,A,j,M,N,Se=e((()=>{n(),ye=16,be=8,xe=6,E=4,D=8,O=3,k=1,A=100,j=64,M=new Int32Array(j),N=class{constructor(){r(this,`paths`,[]),r(this,`lowerPaths`,[]),r(this,`charBits`,new Int32Array),r(this,`pathLens`,new Uint16Array),r(this,`topLevelCache`,null),r(this,`readyCount`,0)}loadFromFileList(e){let t=new Set,n=[];for(let r of e)r.length>0&&!t.has(r)&&(t.add(r),n.push(r));this.buildIndex(n)}loadFromFileListAsync(e){let t=()=>{};return{queryable:new Promise(e=>{t=e}),done:this.buildAsync(e,t)}}async buildAsync(e,t){let n=new Set,r=[],i=performance.now();for(let t=0;t<e.length;t++){let a=e[t];a.length>0&&!n.has(a)&&(n.add(a),r.push(a)),(t&255)==255&&performance.now()-i>4&&(await T(),i=performance.now())}this.resetArrays(r),i=performance.now();let a=!0;for(let e=0;e<r.length;e++)this.indexPath(e),(e&255)==255&&performance.now()-i>4&&(this.readyCount=e+1,a&&(t(),a=!1),await T(),i=performance.now());this.readyCount=r.length,t()}buildIndex(e){this.resetArrays(e);for(let t=0;t<e.length;t++)this.indexPath(t);this.readyCount=e.length}resetArrays(e){let t=e.length;this.paths=e,this.lowerPaths=Array(t),this.charBits=new Int32Array(t),this.pathLens=new Uint16Array(t),this.readyCount=0,this.topLevelCache=ve(e,A)}indexPath(e){let t=this.paths[e].toLowerCase();this.lowerPaths[e]=t;let n=t.length;this.pathLens[e]=n;let r=0;for(let e=0;e<n;e++){let n=t.charCodeAt(e);n>=97&&n<=122&&(r|=1<<n-97)}this.charBits[e]=r}search(e,t){if(t<=0)return[];if(e.length===0)return this.topLevelCache?this.topLevelCache.slice(0,t):[];let n=e!==e.toLowerCase(),r=n?e:e.toLowerCase(),i=Math.min(r.length,j),a=Array(i),o=0;for(let e=0;e<i;e++){let t=r.charAt(e);a[e]=t;let n=t.charCodeAt(0);n>=97&&n<=122&&(o|=1<<n-97)}let s=i*24+D+32,c=[],l=-1/0,{paths:u,lowerPaths:d,charBits:f,pathLens:p,readyCount:m}=this;for(let e=0;e<m;e++){if((f[e]&o)!==o)continue;let r=n?u[e]:d[e],m=a[0],h=0,g=[],_=r.indexOf(m);if(_===-1)continue;g[h++]=_;for(let e=_+1;e<r.length;e++){if(r.charCodeAt(e)!==m.charCodeAt(0))continue;let t=r.charCodeAt(e-1);(t===47||t===92||t===45||t===95||t===46||t===32)&&(g[h++]=e)}let v=u[e],ee=p[e],y=Math.max(0,32-(ee>>2)),b=-1/0;for(let e=0;e<h;e++){M[0]=g[e];let n=0,o=0,u=M[0],d=!0;for(let e=1;e<i;e++){let t=r.indexOf(a[e],u+1);if(t===-1){d=!1;break}M[e]=t;let i=t-u-1;i===0?o+=E:n+=O+i*k,u=t}if(!d||c.length===t&&s+o-n+y<=l)continue;let f=i*ye+o-n;f+=me(v,M[0],!0);for(let e=1;e<i;e++)f+=me(v,M[e],!1);f+=y,f>b&&(b=f)}if(b===-1/0)continue;let x=b;if(c.length<t)c.push({path:v,fuzzScore:x}),c.length===t&&(c.sort((e,t)=>e.fuzzScore-t.fuzzScore),l=c[0].fuzzScore);else if(x>l){let e=0,t=c.length;for(;e<t;){let n=e+t>>1;c[n].fuzzScore<x?e=n+1:t=n}c.splice(e,0,{path:v,fuzzScore:x}),c.shift(),l=c[0].fuzzScore}}c.sort((e,t)=>t.fuzzScore-e.fuzzScore);let h=c.length,g=Math.max(h,1),_=Array(h);for(let e=0;e<h;e++){let t=c[e].path,n=e/g;_[e]={path:t,score:t.includes(`test`)?Math.min(n*1.05,1):n}}return _}}}));function P(){return z||(z=new N),z}function Ce(){z=null,B=null,H++,U=null,W=[],G=[],K=[],V.clear(),q=null,J=null,Y=0,X=null,Z=null,Q=null}function F(e){let t=e.length,n=Math.max(1,Math.floor(t/500)),r=-2128831035;for(let i=0;i<t;i+=n){let t=e[i];for(let e=0;e<t.length;e++)r=(r^t.charCodeAt(e))*16777619|0;r=r*16777619|0}if(t>0){let n=e[t-1];for(let e=0;e<n.length;e++)r=(r^n.charCodeAt(e))*16777619|0}return`${t}:${(r>>>0).toString(16)}`}function we(){let e=d(b());if(!e)return null;try{return pe(w.join(e,`.git`,`index`)).mtimeMs}catch{return null}}function I(e,t,n){return n===t?e:e.map(e=>{let r=w.join(t,e);return w.relative(n,r)})}async function Te(e){if(e.length===0||!z||W.length===0)return;let t=await Oe(e),n=[...W,...G,...K,...e,...t],r=F(n);if(r===Q){S(`[FileIndex] skipped index rebuild — merged paths unchanged`);return}await z.loadFromFileListAsync(n).done,Q=r,S(`[FileIndex] rebuilt index with ${W.length} tracked + ${e.length} untracked files`)}async function Ee(e,t){let n=`${e}:${t}`;if(J===n)return q;let r=ie(),i=[`.ignore`,`.rgignore`],a=[...new Set([e,t])],o=(0,ze.default)(),s=!1,c=a.flatMap(e=>i.map(t=>w.join(e,t))),l=await Promise.all(c.map(e=>r.readFile(e,{encoding:`utf8`}).catch(()=>null)));for(let[e,t]of l.entries())t!==null&&(o.add(t),s=!0,S(`[FileIndex] loaded ignore patterns from ${c[e]}`));let u=s?o:null;return q=u,J=n,u}async function De(e,t){let n=Date.now();S(`[FileIndex] getFilesUsingGit called`);let r=b(),i=d(r);if(!i)return S(`[FileIndex] not a git repo, returning null`),null;try{let o=Date.now(),s=await le(a(),[`-c`,`core.quotepath=false`,`ls-files`,`--recurse-submodules`],{timeout:5e3,abortSignal:e,cwd:i});if(S(`[FileIndex] git ls-files (tracked) took ${Date.now()-o}ms`),s.code!==0)return S(`[FileIndex] git ls-files failed (code=${s.code}, stderr=${s.stderr}), falling back to ripgrep`),null;let c=I(s.stdout.trim().split(`
|
|
2
2
|
`).filter(Boolean),i,r),l=await Ee(i,r);if(l){let e=c.length;c=l.filter(c),S(`[FileIndex] applied ignore patterns: ${e} -> ${c.length} files`)}W=c;let u=Date.now()-n;if(S(`[FileIndex] git ls-files: ${c.length} tracked files in ${u}ms`),c.length,c.length,!U){let e=t?[`-c`,`core.quotepath=false`,`ls-files`,`--others`,`--exclude-standard`]:[`-c`,`core.quotepath=false`,`ls-files`,`--others`],n=H;U=le(a(),e,{timeout:1e4,cwd:i}).then(async e=>{if(n===H&&e.code===0){let t=I(e.stdout.trim().split(`
|
|
3
|
-
`).filter(Boolean),i,r),n=await Ee(i,r);if(n&&t.length>0){let e=t.length;t=n.filter(t),S(`[FileIndex] applied ignore patterns to untracked: ${e} -> ${t.length} files`)}S(`[FileIndex] background untracked fetch: ${t.length} files`),Te(t)}}).catch(e=>{S(`[FileIndex] background untracked fetch failed: ${e}`)}).finally(()=>{U=null})}return c}catch(e){return S(`[FileIndex] git ls-files error: ${te(e)}`),null}}async function Oe(e){let t=new Set,n=performance.now();for(let r=0;r<e.length;r++)ke(e,r,r+1,t),(r&255)==255&&performance.now()-n>4&&(await T(),n=performance.now());return[...t].map(e=>e+w.sep)}function ke(e,t,n,r){for(let i=t;i<n;i++){let t=w.dirname(e[i]);for(;t!==`.`&&!r.has(t);){let e=w.dirname(t);if(e===t)break;r.add(t),t=e}}}async function Ae(e){return(await Promise.all(ee.map(t=>g(t,e)))).flatMap(e=>e.map(e=>e.filePath))}async function je(e,t){S(`[FileIndex] getProjectFiles called, respectGitignore=${t}`);let n=await De(e,t);if(n!==null)return S(`[FileIndex] using git ls-files result (${n.length} files)`),n;S(`[FileIndex] git ls-files returned null, falling back to ripgrep`);let r=Date.now(),i=[`--files`,`--follow`,`--hidden`,`--glob`,`!.git/`,`--glob`,`!.svn/`,`--glob`,`!.hg/`,`--glob`,`!.bzr/`,`--glob`,`!.jj/`,`--glob`,`!.sl/`];t||i.push(`--no-ignore-vcs`);let a=(await fe(i,`.`,e)).map(e=>w.relative(b(),e)),o=Date.now()-r;return S(`[FileIndex] ripgrep: ${a.length} files in ${o}ms`),a.length,a}async function Me(){let e=AbortSignal.timeout(1e4),t=P();try{let n=u(),r=oe(),i=n.respectGitignore??r.respectGitignore??!0,a=b(),[o,s]=await Promise.all([je(e,i),Ae(a)]);G=s;let c=[...o,...s],l=await Oe(c);K=l;let d=[...l,...c],f=F(d);f===Z?S(`[FileIndex] skipped index rebuild — tracked paths unchanged`):(await t.loadFromFileListAsync(d).done,Z=f,Q=null)}catch(e){C(e)}return t}function Ne(e,t){let n=Math.min(e.length,t.length),r=0;for(;r<n&&e[r]===t[r];)r++;return e.substring(0,r)}function Pe(e){if(e.length===0)return``;let t=e.map(e=>e.displayText),n=t[0];for(let e=1;e<t.length;e++){let r=t[e];if(n=Ne(n,r),n===``)return``}return n}function L(e,t){return{id:`file-${e}`,displayText:e,metadata:t===void 0?void 0:{score:t}}}function Fe(e,t){return e.search(t,$).map(e=>L(e.path,e.score))}function R(){if(B)return;let e=we();if(z&&!(e!==null&&e!==X)&&Date.now()-Y<Ve)return;let t=H,n=Date.now();P(),B=Me().then(r=>t===H?(B=null,V.emit(),X=e,Y=Date.now(),S(`[FileIndex] cache refresh completed in ${Date.now()-n}ms`),r):r).catch(e=>(S(`[FileIndex] Cache refresh failed: ${te(e)}`),C(e),t===H&&(B=null),P()))}async function Ie(){let e=ie(),t=b();try{return(await e.readdir(t)).map(e=>{let n=w.join(t,e.name),r=w.relative(t,n);return e.isDirectory()?r+w.sep:r})}catch(e){return C(e),[]}}async function Le(e,t=!1){if(!e&&!t)return[];if(u().fileSuggestion?.type===`command`)return(await
|
|
3
|
+
`).filter(Boolean),i,r),n=await Ee(i,r);if(n&&t.length>0){let e=t.length;t=n.filter(t),S(`[FileIndex] applied ignore patterns to untracked: ${e} -> ${t.length} files`)}S(`[FileIndex] background untracked fetch: ${t.length} files`),Te(t)}}).catch(e=>{S(`[FileIndex] background untracked fetch failed: ${e}`)}).finally(()=>{U=null})}return c}catch(e){return S(`[FileIndex] git ls-files error: ${te(e)}`),null}}async function Oe(e){let t=new Set,n=performance.now();for(let r=0;r<e.length;r++)ke(e,r,r+1,t),(r&255)==255&&performance.now()-n>4&&(await T(),n=performance.now());return[...t].map(e=>e+w.sep)}function ke(e,t,n,r){for(let i=t;i<n;i++){let t=w.dirname(e[i]);for(;t!==`.`&&!r.has(t);){let e=w.dirname(t);if(e===t)break;r.add(t),t=e}}}async function Ae(e){return(await Promise.all(ee.map(t=>g(t,e)))).flatMap(e=>e.map(e=>e.filePath))}async function je(e,t){S(`[FileIndex] getProjectFiles called, respectGitignore=${t}`);let n=await De(e,t);if(n!==null)return S(`[FileIndex] using git ls-files result (${n.length} files)`),n;S(`[FileIndex] git ls-files returned null, falling back to ripgrep`);let r=Date.now(),i=[`--files`,`--follow`,`--hidden`,`--glob`,`!.git/`,`--glob`,`!.svn/`,`--glob`,`!.hg/`,`--glob`,`!.bzr/`,`--glob`,`!.jj/`,`--glob`,`!.sl/`];t||i.push(`--no-ignore-vcs`);let a=(await fe(i,`.`,e)).map(e=>w.relative(b(),e)),o=Date.now()-r;return S(`[FileIndex] ripgrep: ${a.length} files in ${o}ms`),a.length,a}async function Me(){let e=AbortSignal.timeout(1e4),t=P();try{let n=u(),r=oe(),i=n.respectGitignore??r.respectGitignore??!0,a=b(),[o,s]=await Promise.all([je(e,i),Ae(a)]);G=s;let c=[...o,...s],l=await Oe(c);K=l;let d=[...l,...c],f=F(d);f===Z?S(`[FileIndex] skipped index rebuild — tracked paths unchanged`):(await t.loadFromFileListAsync(d).done,Z=f,Q=null)}catch(e){C(e)}return t}function Ne(e,t){let n=Math.min(e.length,t.length),r=0;for(;r<n&&e[r]===t[r];)r++;return e.substring(0,r)}function Pe(e){if(e.length===0)return``;let t=e.map(e=>e.displayText),n=t[0];for(let e=1;e<t.length;e++){let r=t[e];if(n=Ne(n,r),n===``)return``}return n}function L(e,t){return{id:`file-${e}`,displayText:e,metadata:t===void 0?void 0:{score:t}}}function Fe(e,t){return e.search(t,$).map(e=>L(e.path,e.score))}function R(){if(B)return;let e=we();if(z&&!(e!==null&&e!==X)&&Date.now()-Y<Ve)return;let t=H,n=Date.now();P(),B=Me().then(r=>t===H?(B=null,V.emit(),X=e,Y=Date.now(),S(`[FileIndex] cache refresh completed in ${Date.now()-n}ms`),r):r).catch(e=>(S(`[FileIndex] Cache refresh failed: ${te(e)}`),C(e),t===H&&(B=null),P()))}async function Ie(){let e=ie(),t=b();try{return(await e.readdir(t)).map(e=>{let n=w.join(t,e.name),r=w.relative(t,n);return e.isDirectory()?r+w.sep:r})}catch(e){return C(e),[]}}async function Le(e,t=!1){if(!e&&!t)return[];if(u().fileSuggestion?.type===`command`)return(await m({...h(),query:e})).slice(0,$).map(L);if(e===``||e===`.`||e===`./`){let e=await Ie();return R(),e.slice(0,$).map(L)}let n=Date.now();try{let t=B!==null;R();let r=e,i=`.${w.sep}`;e.startsWith(i)&&(r=e.substring(2)),r.startsWith(`~`)&&(r=o(r));let a=z?Fe(z,r):[],s=Date.now()-n;return S(`[FileIndex] generateFileSuggestions: ${a.length} results in ${s}ms (${t?`partial`:`full`} index)`),a.length,e.length,a}catch(e){return C(e),[]}}function Re(e,t,n,r,i,a){let o=typeof e==`string`?e:e.displayText;i(t.substring(0,r)+o+t.substring(r+n.length)),a(r+o.length)}var ze,z,B,V,Be,H,U,W,G,K,q,J,Y,X,Z,Q,$,Ve,He=e((()=>{ze=t(i(),1),_(),Se(),ue(),ae(),y(),re(),x(),ce(),ne(),l(),v(),se(),c(),de(),s(),p(),z=null,B=null,V=f(),Be=V.subscribe,H=0,U=null,W=[],G=[],K=[],q=null,J=null,Y=0,X=null,Z=null,Q=null,$=15,Ve=5e3}));export{He as a,Le as i,Ce as n,Be as o,Pe as r,R as s,Re as t};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{
|
|
2
|
-
`)){let t=e[e.length-1]===`\r`?e.slice(0,-1):e;if(t.startsWith(`:`))continue;let n=t.indexOf(`:`);if(n===-1)continue;let r=t.slice(0,n),i=t[n+1]===` `?t.slice(n+2):t.slice(n+1);r===`data`&&(o.data=o.data?`${o.data}\n${i}`:i)}o.data&&t.push(o)}return{frames:t,remaining:e.slice(n)}}function S(){return(process.env.GEMINI_BASE_URL||T).replace(/\/+$/,``)}function C(e){let t=e.replace(/^\/+/,``);return t.startsWith(`models/`)?t:`models/${t}`}async function*w(e){let t=await(e.fetchOverride??fetch)(`${S()}/${C(e.model)}:streamGenerateContent?alt=sse`,{method:`POST`,headers:{"Content-Type":`application/json`,"x-goog-api-key":process.env.GEMINI_API_KEY||``},body:JSON.stringify(e.body),signal:e.signal,...y({forAnthropicAPI:!1})});if(!t.ok){let e=await t.text();throw Error(`Gemini API request failed (${t.status} ${t.statusText}): ${e||`empty response body`}`)}if(!t.body)throw Error(`Gemini API returned no response body`);let n=t.body.getReader(),r=new TextDecoder,i=``;try{for(;;){let{done:e,value:t}=await n.read();if(e)break;i+=r.decode(t,E);let{frames:a,remaining:o}=x(i);i=o;for(let e of a)if(!(!e.data||e.data===`[DONE]`))try{yield JSON.parse(e.data)}catch(e){throw Error(`Failed to parse Gemini SSE payload: ${h(e)}`)}}i+=r.decode();let{frames:e}=x(i);for(let t of e)if(!(!t.data||t.data===`[DONE]`))try{yield JSON.parse(t.data)}catch(e){throw Error(`Failed to parse trailing Gemini SSE payload: ${h(e)}`)}}finally{n.releaseLock()}}var T,E,D=e((()=>{m(),v(),T=`https://generativelanguage.googleapis.com/v1beta`,E={stream:!0}}));async function*O(e,
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{FS as t,HS as n,Kx as r,LS as i,MS as a,PS as o,SS as s,Xi as c,at as l,fa as u,nt as d,ua as f,zS as p}from"./loadAgentsDir-BfLCckVj.js";import{I as m,M as h,c as g,i as _}from"./debug-2pVES-2G.js";import{c as v,i as y}from"./proxy--_NfbJhm.js";import{randomUUID as b}from"crypto";function x(e){let t=[],n=0,r=/\r?\n\r?\n/g;r.lastIndex=n;let i;for(;(i=r.exec(e))!==null;){let r=i.index,a=e.slice(n,r);if(n=r+i[0].length,!a.trim())continue;let o={};for(let e of a.split(`
|
|
2
|
+
`)){let t=e[e.length-1]===`\r`?e.slice(0,-1):e;if(t.startsWith(`:`))continue;let n=t.indexOf(`:`);if(n===-1)continue;let r=t.slice(0,n),i=t[n+1]===` `?t.slice(n+2):t.slice(n+1);r===`data`&&(o.data=o.data?`${o.data}\n${i}`:i)}o.data&&t.push(o)}return{frames:t,remaining:e.slice(n)}}function S(){return(process.env.GEMINI_BASE_URL||T).replace(/\/+$/,``)}function C(e){let t=e.replace(/^\/+/,``);return t.startsWith(`models/`)?t:`models/${t}`}async function*w(e){let t=await(e.fetchOverride??fetch)(`${S()}/${C(e.model)}:streamGenerateContent?alt=sse`,{method:`POST`,headers:{"Content-Type":`application/json`,"x-goog-api-key":process.env.GEMINI_API_KEY||``},body:JSON.stringify(e.body),signal:e.signal,...y({forAnthropicAPI:!1})});if(!t.ok){let e=await t.text();throw Error(`Gemini API request failed (${t.status} ${t.statusText}): ${e||`empty response body`}`)}if(!t.body)throw Error(`Gemini API returned no response body`);let n=t.body.getReader(),r=new TextDecoder,i=``;try{for(;;){let{done:e,value:t}=await n.read();if(e)break;i+=r.decode(t,E);let{frames:a,remaining:o}=x(i);i=o;for(let e of a)if(!(!e.data||e.data===`[DONE]`))try{yield JSON.parse(e.data)}catch(e){throw Error(`Failed to parse Gemini SSE payload: ${h(e)}`)}}i+=r.decode();let{frames:e}=x(i);for(let t of e)if(!(!t.data||t.data===`[DONE]`))try{yield JSON.parse(t.data)}catch(e){throw Error(`Failed to parse trailing Gemini SSE payload: ${h(e)}`)}}finally{n.releaseLock()}}var T,E,D=e((()=>{m(),v(),T=`https://generativelanguage.googleapis.com/v1beta`,E={stream:!0}}));async function*O(e,s,c,d,m,h){try{let r=n(m.model),_=u(e,c),v=(await Promise.all(c.map(e=>l(e,{getToolPermissionContext:m.getToolPermissionContext,tools:c,agents:m.agents,allowedAgentTypes:m.allowedAgentTypes,model:m.model})))).filter(e=>{let t=e;return t.type!==`advisor_20260301`&&t.type!==`computer_20250124`}),{contents:y,systemInstruction:x}=i(_,s),S=t(v),C=o(m.toolChoice),T=w({model:r,signal:d,fetchOverride:m.fetchOverride,body:{contents:y,...x&&{systemInstruction:x},...S.length>0&&{tools:S},...C&&{toolConfig:{functionCallingConfig:C}},generationConfig:{...m.temperatureOverride!==void 0&&{temperature:m.temperatureOverride},...h.type!==`disabled`&&{thinkingConfig:{includeThoughts:!0,...h.type===`enabled`&&{thinkingBudget:h.budgetTokens}}}}}});g(`[Gemini] Calling model=${r}, messages=${y.length}, tools=${S.length}`);let E=a(T,r),D={},O=null,k=0,A=Date.now();for await(let e of E){switch(e.type){case`message_start`:O=e.message,k=Date.now()-A;break;case`content_block_start`:{let t=e.index,n=e.content_block;n.type===`tool_use`?D[t]={...n,input:``}:n.type===`text`?D[t]={...n,text:``}:n.type===`thinking`?D[t]={...n,thinking:``,signature:``}:D[t]={...n};break}case`content_block_delta`:{let t=e.index,n=e.delta,r=D[t];if(!r)break;n.type===`text_delta`?r.text=(r.text||``)+n.text:n.type===`input_json_delta`?r.input=(r.input||``)+n.partial_json:n.type===`thinking_delta`?r.thinking=(r.thinking||``)+n.thinking:n.type===`signature_delta`&&(r.type===`thinking`?r.signature=n.signature:r[p]=n.signature);break}case`content_block_stop`:{let t=D[e.index];if(!t||!O)break;yield{message:{...O,content:f([t],c,m.agentId)},requestId:void 0,type:`assistant`,uuid:b(),timestamp:new Date().toISOString()};break}case`message_delta`:case`message_stop`:break}yield{type:`stream_event`,event:e,...e.type===`message_start`?{ttftMs:k}:void 0}}}catch(e){let t=e instanceof Error?e.message:String(e);g(`[Gemini] Error: ${t}`,{level:`error`}),yield r({content:`API Error: ${t}`,apiError:`api_error`,error:e instanceof Error?e:Error(String(e))})}}e((()=>{d(),_(),c(),D(),s()}))();export{O as queryModelGemini};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{bn as t,vn as n}from"./settings-D4M13toi.js";import{
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{bn as t,vn as n}from"./settings-D4M13toi.js";import{$ as r,Lx as i,Q as a,Xi as o,qS as s,ry as c}from"./loadAgentsDir-BfLCckVj.js";import{I as l,M as u,c as d,i as f}from"./debug-2pVES-2G.js";import{r as p,t as m}from"./sessionTitle-k4wpUS5l.js";async function h(e,n){let a=m(e);if(!a)return null;try{let e=await r({systemPrompt:s([`Generate a short kebab-case name (2-4 words) that captures the main topic of this conversation. Use lowercase words separated by hyphens. Examples: "fix-login-bug", "add-auth-feature", "refactor-api-client", "debug-test-failures". Return JSON with a "name" field.`]),userPrompt:a,outputFormat:{type:`json_schema`,schema:{type:`object`,properties:{name:{type:`string`}},required:[`name`],additionalProperties:!1}},signal:n,options:{querySource:`rename_generate_name`,agents:[],isNonInteractiveSession:!1,hasAppendSystemPrompt:!1,mcpTools:[]}}),o=t(Array.isArray(e.message.content)?i(e.message.content):e.message.content);return o&&typeof o==`object`&&`name`in o&&typeof o.name==`string`?o.name:null}catch(e){return d(`generateSessionName failed: ${u(e)}`,{level:`error`}),null}}var g=e((()=>{a(),f(),l(),n(),o(),p(),c()}));export{g as n,h as t};
|