@readmagic/workmate 0.0.29 → 0.0.31
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-C0lrhffT.js → AddWorkspaceDirectory-C07tZJZN.js} +1 -1
- package/dist/chunks/{AgentsMdExternalIncludesDialog-Dmjjx4ql.js → AgentsMdExternalIncludesDialog-6_bT7l-8.js} +1 -1
- package/dist/chunks/AgentsMdExternalIncludesDialog-BbSA-E68.js +1 -0
- package/dist/chunks/{App-COz7knHS.js → App--Nvun0sE.js} +1 -1
- package/dist/chunks/{BackgroundTasksDialog-5IkCQ8lN.js → BackgroundTasksDialog-DTWNv4Gc.js} +1 -1
- package/dist/chunks/{BypassPermissionsModeDialog-g1FMGfQF.js → BypassPermissionsModeDialog-CJ6U9Vb2.js} +1 -1
- package/dist/chunks/{CustomSelect-BsEd2To5.js → CustomSelect-uOjgHk8D.js} +1 -1
- package/dist/chunks/{DiffDialog-Cwf8CdxZ.js → DiffDialog-CTFLCtYp.js} +4 -4
- package/dist/chunks/Doctor-Bd0k7Jo7.js +1 -0
- package/dist/chunks/{Doctor-GmT5aeAc.js → Doctor-CgZxiFf3.js} +1 -1
- package/dist/chunks/{ExitFlow-DPgUFqeC.js → ExitFlow-DGqwlF8J.js} +1 -1
- package/dist/chunks/{InvalidConfigDialog-Di6HZYDV.js → InvalidConfigDialog-8ZJmSDBO.js} +1 -1
- package/dist/chunks/{InvalidSettingsDialog-BHL-MERJ.js → InvalidSettingsDialog-B7czkYPj.js} +1 -1
- package/dist/chunks/{KeybindingProviderSetup-eE3o0bfp.js → KeybindingProviderSetup-C8rq4fwQ.js} +1 -1
- package/dist/chunks/{MCPConnectionManager-D-qpUJLV.js → MCPConnectionManager-DbPzbRdc.js} +1 -1
- package/dist/chunks/{MCPToolListView-DtHRw4jQ.js → MCPToolListView-BsO2uWCL.js} +1 -1
- package/dist/chunks/{McpParsingWarnings-ByyErvR3.js → McpParsingWarnings-BIpQ_Dle.js} +1 -1
- package/dist/chunks/{MessageSelector-CFz30wBL.js → MessageSelector-DuCpdn-Q.js} +1 -1
- package/dist/chunks/{Messages-CfY-Oj3M.js → Messages-SKlSLbVo.js} +1 -1
- package/dist/chunks/{Onboarding-BfWLRx3n.js → Onboarding-CLEqdl35.js} +1 -1
- package/dist/chunks/{PromptInputFooterSuggestions-BRyJj7XR.js → PromptInputFooterSuggestions-cu1KF4_b.js} +1 -1
- package/dist/chunks/{PromptInputHelpMenu-DLuRCXVS.js → PromptInputHelpMenu-MH_gVGmN.js} +1 -1
- package/dist/chunks/{ProviderSetup-CKZGG2B9.js → ProviderSetup-zjQQUmDr.js} +1 -1
- package/dist/chunks/{QueryEngine-B27MOtBA.js → QueryEngine-Cb2ncWE6.js} +1 -1
- package/dist/chunks/REPL-CWbLkb3q.js +124 -0
- package/dist/chunks/REPL-D1bn80_0.js +1 -0
- package/dist/chunks/{ResumeConversation-7eURPHmQ.js → ResumeConversation-DRcIMHTE.js} +1 -1
- package/dist/chunks/SearchExtraToolsTool-B6Qlr08G.js +1 -0
- package/dist/chunks/{Settings-4TNYpfUs.js → Settings-B-EscJrZ.js} +2 -2
- package/dist/chunks/{Spinner-BgjmQLjw.js → Spinner-ByYcKk2V.js} +1 -1
- package/dist/chunks/{SpinnerGlyph-BR_SiV9L.js → SpinnerGlyph-4aVLQdJf.js} +1 -1
- package/dist/chunks/{TextInput-BVEWdRz9.js → TextInput-eYxBj_1-.js} +1 -1
- package/dist/chunks/{ThemePicker-th2jdUjh.js → ThemePicker-BqeGU99Q.js} +1 -1
- package/dist/chunks/{TrustDialog-YsYqHyRR.js → TrustDialog-DYZ0i7rH.js} +1 -1
- package/dist/chunks/{ValidationErrorsList-CKeHoN2Z.js → ValidationErrorsList-Cw-sjz1h.js} +1 -1
- package/dist/chunks/{_baseEach-Bz5fQbIq.js → _baseEach-BQ2jM5Sg.js} +1 -1
- package/dist/chunks/{add-dir-BsO6l8Ue.js → add-dir-3q2C-Kfj.js} +1 -1
- package/dist/chunks/{agentDisplay-ChkgiTIH.js → agentDisplay-C18dbK7V.js} +1 -1
- package/dist/chunks/{agents-DqEB6iwV.js → agents--BKL-glS.js} +1 -1
- package/dist/chunks/{agents-BV1nan6b.js → agents-B_Ik_9lY.js} +1 -1
- package/dist/chunks/{allErrors-CkdguCDv.js → allErrors-CJOE7EGx.js} +1 -1
- package/dist/chunks/{appleTerminalBackup-CN8kS74J.js → appleTerminalBackup-j8nI5uNK.js} +1 -1
- package/dist/chunks/backgroundHousekeeping-COON_jRA.js +1 -0
- package/dist/chunks/{backgroundHousekeeping-1VsWy8xd.js → backgroundHousekeeping-FPn2H48W.js} +1 -1
- package/dist/chunks/banner-BsO6K4Ve.js +2 -0
- package/dist/chunks/{branch-CTIHtpwz.js → branch-7SdIl7ZG.js} +1 -1
- package/dist/chunks/bridgeControl-DMUu37uO.js +2 -0
- package/dist/chunks/{btw-BA39Zrhm.js → btw-BhVWw00h.js} +1 -1
- package/dist/chunks/{bundledMode-D9omqD3L.js → bundledMode-Dqe4pz0a.js} +1 -1
- package/dist/chunks/caches-DaOhyHsb.js +1 -0
- package/dist/chunks/caches-DgNr-KX3.js +1 -0
- package/dist/chunks/channel-BNS35qVl.js +2 -0
- package/dist/chunks/{channel-C5yKM1wf.js → channel-DWDK9jut.js} +1 -1
- package/dist/chunks/{clear-BmlaYYrD.js → clear-B5WkPxlz.js} +1 -1
- package/dist/chunks/{client-pA7fKk0-.js → client-D3QmHVeI.js} +1 -1
- package/dist/chunks/client-dTKhXxBT.js +1 -0
- package/dist/chunks/{client-2w-g5kMx.js → client-q_uGYC2E.js} +1 -1
- package/dist/chunks/client-y_U1O4mI.js +1 -0
- package/dist/chunks/commands-DJe5bkNw.js +1 -0
- package/dist/chunks/{compact-D3uePeI7.js → compact-DriVPdmX.js} +1 -1
- package/dist/chunks/config-CMtnYZR9.js +3 -0
- package/dist/chunks/config-CgzzjTUe.js +1 -0
- package/dist/chunks/config-FEF6EcWp.js +1 -0
- package/dist/chunks/{context-CBEWyVpE.js → context-CXi66Ghx.js} +1 -1
- package/dist/chunks/{context-noninteractive-B03nuxfN.js → context-noninteractive-BRoUkLxt.js} +1 -1
- package/dist/chunks/context-noninteractive-Bupgkyt9.js +1 -0
- package/dist/chunks/conversation-CCV0BYD_.js +1 -0
- package/dist/chunks/{conversation-BFL0rEIx.js → conversation-DrEE7olO.js} +1 -1
- package/dist/chunks/{conversationRecovery-Bt84CYO6.js → conversationRecovery-CZzxsT_R.js} +1 -1
- package/dist/chunks/{crossProjectResume-DwlYY6lV.js → crossProjectResume-CbXDWdHE.js} +1 -1
- package/dist/chunks/{debug-2pVES-2G.js → debug-NBJH_NxR.js} +2 -2
- package/dist/chunks/{detectRepository--luIRv5H.js → detectRepository-Bu0he_XM.js} +1 -1
- package/dist/chunks/{diff-CewYzu3Y.js → diff-CH8kHqwX.js} +1 -1
- package/dist/chunks/{directoryCompletion-BC0qRmrz.js → directoryCompletion-CwKPuwrS.js} +1 -1
- package/dist/chunks/doctor-HV7-zZgq.js +1 -0
- package/dist/chunks/{entry-DdVUdGWV.js → entry-CyH0Rkjq.js} +3 -3
- package/dist/chunks/{execFileNoThrow-DXSEj8ZO.js → execFileNoThrow-7Ys9mO27.js} +1 -1
- package/dist/chunks/{exit-QwCo2aJo.js → exit-zYpIKg68.js} +1 -1
- package/dist/chunks/{extraUsage-Cu0aV35i.js → extraUsage-Dp_LtcKE.js} +1 -1
- package/dist/chunks/extractMemories-1_fkJtc-.js +1 -0
- package/dist/chunks/fast-Bi-RRDlf.js +1 -0
- package/dist/chunks/{fast-BlhpCQ2f.js → fast-DnP_x58e.js} +1 -1
- package/dist/chunks/{fetchModelList-DjFCMjVN.js → fetchModelList-BctZn47N.js} +1 -1
- package/dist/chunks/fetchModelList-Dfyy0Yds.js +1 -0
- package/dist/chunks/fileSuggestions-CoYWpIJB.js +3 -0
- package/dist/chunks/{gemini-I-M5_sUA.js → gemini-CyZAw1Wg.js} +1 -1
- package/dist/chunks/{generateSessionName-CJ0sh6HD.js → generateSessionName-CJ13ZLWG.js} +1 -1
- package/dist/chunks/{genericProcessUtils-GqURdVAv.js → genericProcessUtils-XwqvFxyn.js} +1 -1
- package/dist/chunks/{goal-DIrBBT5J.js → goal-CiuF90SO.js} +1 -1
- package/dist/chunks/{grok-ZLjJN6b9.js → grok-B4R78Wy4.js} +1 -1
- package/dist/chunks/{help-CDMjVOl6.js → help-CQ8yZg8_.js} +1 -1
- package/dist/chunks/{history-CUrqO9rV.js → history-PZLMYab7.js} +1 -1
- package/dist/chunks/hooks-Cj3t3ItG.js +1 -0
- package/dist/chunks/{hooks-BNKCE023.js → hooks-DgsxCW0L.js} +1 -1
- package/dist/chunks/{install-xlfTw1j6.js → install-W_2JVR8Y.js} +1 -1
- package/dist/chunks/{instrumentation-DSt0UvGn.js → instrumentation-Yk5dlvD_.js} +3 -3
- package/dist/chunks/{job-BVElGsu0.js → job-CAbdQPkT.js} +1 -1
- package/dist/chunks/{keybindings-CxgQqQJe.js → keybindings-CkiE_uBG.js} +1 -1
- package/dist/chunks/{launchLocalMemory-DUkJCKmd.js → launchLocalMemory-C-KuYLDQ.js} +1 -1
- package/dist/chunks/{launchOnboarding-BvD-E_jC.js → launchOnboarding-2-AEYja0.js} +1 -1
- package/dist/chunks/{loadAgentsDir-BfLCckVj.js → loadAgentsDir-CgDTTnMX.js} +477 -477
- package/dist/chunks/loadAgentsDir-jBY44wEO.js +1 -0
- package/dist/chunks/{loadPluginHooks-BPwWtBzO.js → loadPluginHooks-CWkivYx4.js} +1 -1
- package/dist/chunks/{loader-BMAtuwRa.js → loader-DsEdsMHv.js} +1 -1
- package/dist/chunks/localSearch-B3aRqi3q.js +1 -0
- package/dist/chunks/{localSearch-BHG8sp8p.js → localSearch-BhygSl0K.js} +1 -1
- package/dist/chunks/{log-L1kqxa_P.js → log-D98mO6yJ.js} +1 -1
- package/dist/chunks/{logoUtils-BsNLv-qi.js → logoUtils-rZbHAggC.js} +1 -1
- package/dist/chunks/{magicDocs-Bue9vxzY.js → magicDocs-430IH4o3.js} +1 -1
- package/dist/chunks/{main-U71X4Thd.js → main-DuS6HbbE.js} +17 -17
- package/dist/chunks/managedEnv-BV6T_PdC.js +1 -0
- package/dist/chunks/{managedEnv-EZ2IirNa.js → managedEnv-O3Xqe_lk.js} +1 -1
- package/dist/chunks/{mcp-De3QGKvT.js → mcp-BoJ9rdef.js} +1 -1
- package/dist/chunks/{mcp-C4CxCMwJ.js → mcp-C2GF6Gp7.js} +1 -1
- package/dist/chunks/{mcp-D9HFARDy.js → mcp-XaHs-eh9.js} +1 -1
- package/dist/chunks/{memory-DVRdJFfI.js → memory-D0vG6luI.js} +1 -1
- package/dist/chunks/{mode-Bd5w-RBX.js → mode-4ZXGLC71.js} +1 -1
- package/dist/chunks/model-BidsdFhX.js +1 -0
- package/dist/chunks/{model-BCIcUhrc.js → model-CcgVXT3w.js} +1 -1
- package/dist/chunks/{modelOptions-COIU5U3w.js → modelOptions-Bw53Jebp.js} +1 -1
- package/dist/chunks/{nativeInstaller-CGSNzGNn.js → nativeInstaller-BczAzL96.js} +1 -1
- package/dist/chunks/{notifications-B5gzCmPC.js → notifications-B3v1XAdd.js} +1 -1
- package/dist/chunks/{onChangeAppState-NWwSE-I4.js → onChangeAppState-wASLrUas.js} +1 -1
- package/dist/chunks/{openai-CyJ3m4dI.js → openai-CvSNI6b2.js} +1 -1
- package/dist/chunks/{overlayContext-DYrGDe63.js → overlayContext-0wuZMXWl.js} +1 -1
- package/dist/chunks/{parser-CTnaXFVJ.js → parser-D2kggQDp.js} +1 -1
- package/dist/chunks/parser-DZUcp40d.js +1 -0
- package/dist/chunks/{partition-BavNaw1S.js → partition-CGKLltyv.js} +1 -1
- package/dist/chunks/{pasteStore-njJCBMKr.js → pasteStore-2RafnH7M.js} +1 -1
- package/dist/chunks/{permissions-CLYcBXIu.js → permissions-DawwDdur.js} +1 -1
- package/dist/chunks/{pidLock-Bao7SU6Z.js → pidLock-TOlSC34M.js} +2 -2
- package/dist/chunks/{plan-Dwj_ZX8G.js → plan-D_vIEUQa.js} +1 -1
- package/dist/chunks/{plugin-Cscvf8st.js → plugin-CDWB3AFL.js} +1 -1
- package/dist/chunks/{pluginAutoupdate-D5XyiZrP.js → pluginAutoupdate-CPzXHVsX.js} +1 -1
- package/dist/chunks/{pluginBlocklist-CpkjXXKQ.js → pluginBlocklist-Bu6GP9_C.js} +1 -1
- package/dist/chunks/{pluginCliCommands-DmLsxs1M.js → pluginCliCommands-CNpseXZD.js} +1 -1
- package/dist/chunks/{pluginFlagging-CRuX6sHR.js → pluginFlagging-1MM3zuMP.js} +1 -1
- package/dist/chunks/{pluginOperations-orq3bOCp.js → pluginOperations-qT-GGKNu.js} +1 -1
- package/dist/chunks/pluginStartupCheck-CCDpCchC.js +1 -0
- package/dist/chunks/{pluginStartupCheck-DGDl1WOZ.js → pluginStartupCheck-DXPIrR7f.js} +1 -1
- package/dist/chunks/{plugins-Cq5c-Qs1.js → plugins-Bbbvm9KH.js} +1 -1
- package/dist/chunks/{poorMode-CG2JNTD0.js → poorMode-BvypUTur.js} +1 -1
- package/dist/chunks/poorMode-CP6359Sz.js +1 -0
- package/dist/chunks/print-Db7IDW_T.js +13 -0
- package/dist/chunks/process-CewWh77C.js +1 -0
- package/dist/chunks/process-De2crvt4.js +1 -0
- package/dist/chunks/{processBashCommand-C7oVqf0B.js → processBashCommand-DtEP1Js2.js} +1 -1
- package/dist/chunks/{processSlashCommand-CPQB5_0w.js → processSlashCommand-BIIOr3n4.js} +1 -1
- package/dist/chunks/{projectOnboardingState-D-_ijZnG.js → projectOnboardingState-DqGLXSM_.js} +1 -1
- package/dist/chunks/prompt-CCP82QoX.js +1 -0
- package/dist/chunks/{prompt-DaYH88Oe.js → prompt-CduUPV0s.js} +3 -3
- package/dist/chunks/prompt-DmWyLDH6.js +1 -0
- package/dist/chunks/{promptEditor-14TB3MYt.js → promptEditor-CyMqa_av.js} +1 -1
- package/dist/chunks/{protocolHandler-CJO3CRYW.js → protocolHandler-DrGjosKa.js} +1 -1
- package/dist/chunks/{proxy--_NfbJhm.js → proxy-MzIsnPd7.js} +1 -1
- package/dist/chunks/{reconciler-B5Kr4do0.js → reconciler-DQxjz0OK.js} +1 -1
- package/dist/chunks/{refresh-DurNMJeS.js → refresh-BmkkYKno.js} +1 -1
- package/dist/chunks/{reject-CzjtO3fU.js → reject-DYsU8jkO.js} +1 -1
- package/dist/chunks/{reload-plugins-C38i_Eb3.js → reload-plugins-CmHAxvlA.js} +1 -1
- package/dist/chunks/{rename-BV-3ZpFx.js → rename-BrGuvkvC.js} +1 -1
- package/dist/chunks/{renderOptions-B0RFpjRI.js → renderOptions-B3DyIbF6.js} +1 -1
- package/dist/chunks/{resume-CUzQIor4.js → resume-COSo0ATp.js} +1 -1
- package/dist/chunks/ripgrep-CIIzTaSI.js +1 -0
- package/dist/chunks/{ripgrep-67m14ImZ.js → ripgrep-CnK9qx1e.js} +1 -1
- package/dist/chunks/{runtimeObserver-Ess1Cn8Y.js → runtimeObserver-CoNTwrJ3.js} +1 -1
- package/dist/chunks/{runtimeObserver-BKoQ5IEO.js → runtimeObserver-Dpi40Nfi.js} +2 -2
- package/dist/chunks/sandbox-adapter-D0bQ6nsv.js +1 -0
- package/dist/chunks/{sandbox-toggle-Bp6Xpjh3.js → sandbox-toggle-CrjErH9V.js} +1 -1
- package/dist/chunks/searchExtraTools-_Fo0KDnz.js +1 -0
- package/dist/chunks/{select-Bm29ymsI.js → select-BNeFiLNP.js} +1 -1
- package/dist/chunks/sessionFileAccessHooks-BCBV26Ut.js +1 -0
- package/dist/chunks/{sessionObserver-CBlzrJt1.js → sessionObserver-CAvR0MCN.js} +1 -1
- package/dist/chunks/sessionObserver-QbHl_0Dr.js +1 -0
- package/dist/chunks/sessionStorage-CscAodvT.js +1 -0
- package/dist/chunks/{sessionTracing-TDsq54Uc.js → sessionTracing-rMBtalMz.js} +1 -1
- package/dist/chunks/settings-B3WqnPDo.js +1 -0
- package/dist/chunks/{settings-D4M13toi.js → settings-CA-5Px85.js} +2 -2
- package/dist/chunks/setup-X5QOX_BW.js +3 -0
- package/dist/chunks/{shadowedRuleDetection-BG3jtA9Y.js → shadowedRuleDetection-BucAPuXp.js} +1 -1
- package/dist/chunks/{sideQuestion-C8GNVo4R.js → sideQuestion-B1W_L7NR.js} +1 -1
- package/dist/chunks/{sinks-BafJR6Fw.js → sinks-Bqzavjot.js} +1 -1
- package/dist/chunks/sinks-ofVW99nt.js +1 -0
- package/dist/chunks/{skillChangeDetector-CY17weG4.js → skillChangeDetector-jKxXTp4F.js} +1 -1
- package/dist/chunks/{skillGapStore-Cl4J1WoZ.js → skillGapStore-CQVCxlWd.js} +2 -2
- package/dist/chunks/{skillLifecycle-DdfeUHBf.js → skillLifecycle-GGpX7H8W.js} +2 -2
- package/dist/chunks/{skillSearchPanel-DtQYF9gN.js → skillSearchPanel-DDM0zZ_r.js} +2 -2
- package/dist/chunks/{skills-Fd12LJal.js → skills-Bmdrtecu.js} +1 -1
- package/dist/chunks/{sleep-xKMbXTJe.js → sleep-BGewNhNx.js} +1 -1
- package/dist/chunks/{startupProfiler-B9Qv2QGH.js → startupProfiler-C_xcIvEA.js} +1 -1
- package/dist/chunks/startupProfiler-uueg2S43.js +1 -0
- package/dist/chunks/status-CFpCBQX1.js +1 -0
- package/dist/chunks/{statusNoticeHelpers-D0tonVy0.js → statusNoticeHelpers-DRJcaVdx.js} +1 -1
- package/dist/chunks/{stringUtils-Cs6E5f-B.js → stringUtils-CtJhTszO.js} +1 -1
- package/dist/chunks/switcher-BCr3vwnq.js +1 -0
- package/dist/chunks/{switcher-BCq9Az_q.js → switcher-CqGz0hjQ.js} +1 -1
- package/dist/chunks/{tasks-DQmkY_xD.js → tasks-CNQUkXoq.js} +1 -1
- package/dist/chunks/{templateJobs-CEDUbFAY.js → templateJobs-CYArZLti.js} +1 -1
- package/dist/chunks/{terminalSetup-CaGbEVjB.js → terminalSetup-QvvwfSGV.js} +1 -1
- package/dist/chunks/{terminalSetup-xe_P98fY.js → terminalSetup-h_TPZN2E.js} +1 -1
- package/dist/chunks/{theme-DQjJ4R0o.js → theme-DVkXXIPx.js} +1 -1
- package/dist/chunks/{tipRegistry-BwxZ_G0j.js → tipRegistry-DzOyYhJT.js} +2 -2
- package/dist/chunks/{toolEventObserver-DdZ30on9.js → toolEventObserver-BAkhiG0F.js} +1 -1
- package/dist/chunks/{toolPool-CWIXwdX7.js → toolPool-D_7Onp-c.js} +1 -1
- package/dist/chunks/{udsClient-CWeoNrm3.js → udsClient-COYqIvvr.js} +1 -1
- package/dist/chunks/{useExitOnCtrlCDWithKeybindings-ClrtNKJ6.js → useExitOnCtrlCDWithKeybindings-z3RiW9jT.js} +1 -1
- package/dist/chunks/useMainLoopModel-DMB41HoQ.js +1 -0
- package/dist/chunks/{useManagePlugins-CmsPSHor.js → useManagePlugins-DSRLHKH5.js} +1 -1
- package/dist/chunks/{useMergedTools-C8PxReh0.js → useMergedTools-C7wh5W03.js} +1 -1
- package/dist/chunks/{useSearchInput-BZhTzjgN.js → useSearchInput-r534PKo1.js} +1 -1
- package/dist/chunks/{useSettingsErrors-GWIxCYyd.js → useSettingsErrors-DL_ai-el.js} +1 -1
- package/dist/chunks/{util-Bih2g-pV.js → util-DombpJHQ.js} +1 -1
- package/dist/chunks/{validatePlugin-BwcC_Wbr.js → validatePlugin-DU3C7Mvb.js} +1 -1
- package/dist/chunks/vim-BX8ljWbJ.js +1 -0
- package/dist/chunks/worktree-CjnMMjR6.js +1 -0
- package/dist/cli.js +1 -1
- package/package.json +1 -1
- package/dist/chunks/AgentsMdExternalIncludesDialog-DIahWLha.js +0 -1
- package/dist/chunks/Doctor-CcLoI7tF.js +0 -1
- package/dist/chunks/REPL-DMRD5wSN.js +0 -124
- package/dist/chunks/REPL-gzolQvzu.js +0 -1
- package/dist/chunks/SearchExtraToolsTool-BINZTstr.js +0 -1
- package/dist/chunks/backgroundHousekeeping-pMtrl4K2.js +0 -1
- package/dist/chunks/banner-BKOzHotb.js +0 -2
- package/dist/chunks/bridgeControl-C8xaGuwO.js +0 -2
- package/dist/chunks/caches-DHZHqVhf.js +0 -1
- package/dist/chunks/caches-fqs-Y-kW.js +0 -1
- package/dist/chunks/channel-B5FkNSZ3.js +0 -1
- package/dist/chunks/client-B0ngS4Uu.js +0 -1
- package/dist/chunks/client-BP4DOH3K.js +0 -1
- package/dist/chunks/commands-EUcHifS4.js +0 -1
- package/dist/chunks/config-Bio2EjUK.js +0 -3
- package/dist/chunks/config-C_AEhZrn.js +0 -1
- package/dist/chunks/config-GgGdlJ9h.js +0 -1
- package/dist/chunks/context-noninteractive-BLCyyyGL.js +0 -1
- package/dist/chunks/conversation-D-ker4RO.js +0 -1
- package/dist/chunks/doctor-CrQ0UfG2.js +0 -1
- package/dist/chunks/extractMemories-DHlbRc5g.js +0 -1
- package/dist/chunks/fast-C3JeBy3A.js +0 -1
- package/dist/chunks/fetchModelList-L2XarfAj.js +0 -1
- package/dist/chunks/fileSuggestions-BRwKV_KA.js +0 -3
- package/dist/chunks/hooks-ERYtmuNW.js +0 -1
- package/dist/chunks/loadAgentsDir-BImZsKrh.js +0 -1
- package/dist/chunks/localSearch-D3rvcRRC.js +0 -1
- package/dist/chunks/managedEnv-DCGLDTP_.js +0 -1
- package/dist/chunks/model-BIf2i1is.js +0 -1
- package/dist/chunks/parser-Diihup2V.js +0 -1
- package/dist/chunks/pluginStartupCheck-GHO77nmg.js +0 -1
- package/dist/chunks/poorMode-eMIFCAC_.js +0 -1
- package/dist/chunks/print-zo7Z--Ll.js +0 -13
- package/dist/chunks/process-CNfq37LF.js +0 -1
- package/dist/chunks/process-gEbdy6uY.js +0 -1
- package/dist/chunks/prompt-CAzFDybL.js +0 -1
- package/dist/chunks/prompt-Cm8SKZXY.js +0 -1
- package/dist/chunks/ripgrep-DB7KB8RZ.js +0 -1
- package/dist/chunks/sandbox-adapter-ClRO21Ci.js +0 -1
- package/dist/chunks/searchExtraTools-CV_fkuD6.js +0 -1
- package/dist/chunks/sessionFileAccessHooks-B5kAD4ol.js +0 -1
- package/dist/chunks/sessionObserver-CayxkuxO.js +0 -1
- package/dist/chunks/sessionStorage-vLxCo1Mh.js +0 -1
- package/dist/chunks/settings-Dfit5gGT.js +0 -1
- package/dist/chunks/setup-BbyfyeQk.js +0 -3
- package/dist/chunks/sinks-CHtjg7sn.js +0 -1
- package/dist/chunks/startupProfiler-DWcM4QBl.js +0 -1
- package/dist/chunks/status-CGEMRiPI.js +0 -1
- package/dist/chunks/switcher-DQMr6Anx.js +0 -1
- package/dist/chunks/useMainLoopModel-CULw8pB_.js +0 -1
- package/dist/chunks/vim-BlO9V5_5.js +0 -1
- package/dist/chunks/worktree-BB9lFWBB.js +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Br as e,In as t,Jr as n,Ur as r,Vn as i,ai as a,ni as o}from"./settings-CA-5Px85.js";import{Pt as s,q as c}from"./state-CXY-q5gr.js";import{c as l,i as u}from"./debug-NBJH_NxR.js";import{d,h as f,o as p}from"./config-CMtnYZR9.js";import{_ as m,f as h,p as g}from"./startupProfiler-C_xcIvEA.js";import{n as _,r as v}from"./detectRepository-Bu0he_XM.js";import{homedir as y}from"os";import{join as b,sep as x}from"path";import{realpath as S,stat as C}from"fs/promises";s(),d(),u(),v(),t(),a(),n();async function w(){try{let t=await _();if(!t){l(`Not in a GitHub repository, skipping path mapping update`);return}let n=c(),r=e(n)??n,i;try{i=(await S(r)).normalize(`NFC`)}catch{i=r}let a=t.toLowerCase(),o=p().githubRepoPaths?.[a]??[];if(o[0]===i){l(`Path ${i} already tracked for repo ${a}`);return}let s=o.filter(e=>e!==i),u=[i,...s];f(e=>({...e,githubRepoPaths:{...e.githubRepoPaths,[a]:u}})),l(`Added ${i} to tracked paths for repo ${a}`)}catch(e){l(`Error updating repo path mapping: ${e}`)}}function T(e){let t=p(),n=e.toLowerCase();return t.githubRepoPaths?.[n]??[]}async function E(e){let t=await Promise.all(e.map(i));return e.filter((e,n)=>t[n])}m(),a(),n();var D=10080*60*1e3,O=1e3;function k(e){let t=[`This session was opened by an external deep link in ${M(e.cwd)}`];if(e.repo){let n=e.lastFetch?g(e.lastFetch):`never`,r=!e.lastFetch||Date.now()-e.lastFetch.getTime()>D;t.push(`Resolved ${e.repo} from local clones · last fetched ${n}${r?` — AGENTS.md may be stale`:``}`)}return e.prefillLength&&t.push(e.prefillLength>O?`The prompt below (${h(e.prefillLength)} chars) was supplied by the link — scroll to review the entire prompt before pressing Enter.`:`The prompt below was supplied by the link — review carefully before pressing Enter.`),t.join(`
|
|
2
|
+
`)}async function A(e){let t=await r(e);if(!t)return;let n=await o(t),[i,a]=await Promise.all([j(b(t,`FETCH_HEAD`)),n?j(b(n,`FETCH_HEAD`)):Promise.resolve(void 0)]);return i&&a?i>a?i:a:i??a}async function j(e){try{let{mtime:t}=await C(e);return t}catch{return}}function M(e){let t=y();return e===t?`~`:e.startsWith(t+x)?`~${e.slice(t.length)}`:e}export{w as a,T as i,A as n,E as r,k as t};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{vn as t,yn as n}from"./settings-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{vn as t,yn as n}from"./settings-CA-5Px85.js";import{Pt as r,at as i,q as a}from"./state-CXY-q5gr.js";import{ci as o,hr as s,mr as c,ni as l,sr as u,vr as d,wr as f}from"./loadAgentsDir-CgDTTnMX.js";import{C as p,x as m}from"./debug-NBJH_NxR.js";import{n as h}from"./analytics-COpjZpvd.js";import{i as g,o as _}from"./stringUtils-CtJhTszO.js";import{randomUUID as v}from"crypto";import{mkdir as y,readFile as b,writeFile as x}from"fs/promises";function S(e){let t=e?.message?.content;if(!t)return`Branched conversation`;let n=typeof t==`string`?t:t.find(e=>e.type===`text`)?.text;return n&&n.replace(/\s+/g,` `).trim().slice(0,100)||`Branched conversation`}async function C(e){let t=v(),r=i(),o=u(a()),l=s(t),d=c();await y(o,{recursive:!0,mode:448});let m;try{m=await b(d)}catch{throw Error(`No conversation to branch`)}if(m.length===0)throw Error(`No conversation to branch`);let h=n(m),g=h.filter(e=>f(e)&&!e.isSidechain),_=h.filter(e=>e.type===`content-replacement`&&e.sessionId===r).flatMap(e=>e.replacements);if(g.length===0)throw Error(`No messages to branch`);let S=null,C=[],w=[];for(let e of g){let n={...e,sessionId:t,parentUuid:S,isSidechain:!1,forkedFrom:{sessionId:r,messageUuid:e.uuid}},i={...e,sessionId:t};w.push(i),C.push(p(n)),e.type!==`progress`&&(S=e.uuid)}if(_.length>0){let e={type:`content-replacement`,sessionId:t,replacements:_};C.push(p(e))}return await x(l,`${C.join(`
|
|
2
2
|
`)}\n`,{encoding:`utf8`,mode:384}),{sessionId:t,title:e,forkPath:l,serializedMessages:w,contentReplacementRecords:_}}async function w(e){let t=`${e} (Branch)`;if((await o(t,{exact:!0})).length===0)return t;let n=await o(`${e} (Branch`),r=new Set([1]),i=RegExp(`^${g(e)} \\(Branch(?: (\\d+))?\\)$`);for(let e of n){let t=e.customTitle?.match(i);t&&(t[1]?r.add(parseInt(t[1],10)):r.add(1))}let a=2;for(;r.has(a);)a++;return`${e} (Branch ${a})`}async function T(e,t,n){let r=n?.trim()||void 0,a=i();try{let{sessionId:n,title:i,forkPath:o,serializedMessages:s,contentReplacementRecords:c}=await C(r),u=new Date,d=S(s.find(e=>e.type===`user`)),f=await w(i??d);await l(n,f,o),s.length;let p={date:u.toISOString().split(`T`)[0],messages:s,fullPath:o,value:u.getTime(),created:u,modified:u,firstPrompt:d,messageCount:s.length,isSidechain:!1,sessionId:n,customTitle:f,contentReplacements:c},m=i?` "${i}"`:``,h=`Branched conversation${m}. You are now in the branch.${`\nTo resume the original: claude -r ${a}`}`;return t.resume?(await t.resume(n,p,`fork`),e(h,{display:`system`})):e(`Branched conversation${m}. Resume with: /resume ${n}`),null}catch(t){return e(`Failed to branch conversation: ${t instanceof Error?t.message:`Unknown error occurred`}`),null}}e((()=>{r(),h(),t(),d(),m(),_()}))();export{T as call,S as deriveFirstPrompt};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{i as t,o as n}from"./envUtils-QyzA_cFM.js";import{Gi as r,Hi as i,Ki as a,Pi as o,aa as s,na as c,sa as l,ta as u}from"./settings-CA-5Px85.js";import{c as d,i as f}from"./debug-NBJH_NxR.js";import{n as p,r as m}from"./process-CewWh77C.js";import{o as h,s as g}from"./log-D98mO6yJ.js";import{join as _}from"node:path";import{spawn as v,spawnSync as y}from"node:child_process";import{chmodSync as b,existsSync as x,mkdirSync as S,readFileSync as C,renameSync as w,writeFileSync as T}from"node:fs";function E(){return _(t(),`channel`)}function D(){return _(E(),`dingtalk.json`)}function O(){return P.parse({})}function k(){let e=D();try{if(!x(e))return O();let t=C(e,`utf8`),n=JSON.parse(t);return P.parse(n)}catch(e){return g(e),O()}}function A(e){let t=D(),n=e(k());S(E(),{recursive:!0});let r=`${t}.${process.pid}.tmp`;T(r,`${JSON.stringify(n,null,2)}\n`,{mode:384}),w(r,t);try{b(t,384)}catch{}return n}function j(e){return e.channel?.enabled===!0&&e.channel?.activePlugin===`dingtalk`}function M(e){return e.permissionMode}var N,P,F=e((()=>{o(),n(),h(),N=c({workmateSessionId:l(),transcriptPath:l().optional(),lastActiveAt:u(),senderId:l().optional()}),P=c({corpid:l().default(``),appKey:l().default(``),appSecret:l().default(``),robotName:l().default(`workmate`),cardTemplateId:l().default(``),permissionMode:i([`default`,`acceptEdits`,`bypassPermissions`,`plan`,`dontAsk`,`auto`]).default(`default`),sessionStrategy:i([`perConversation`,`perUser`,`shared`]).default(`perConversation`),confirmDangerous:a().default(!0),confirmTimeoutMs:u().default(300*1e3),admins:r(l()).default([]),sessions:s(l(),N).default({})})}));function I(){let e=B();if(e)return d(`[channel] bridge 已在运行,pid=${e}`,{level:`debug`}),{pid:e,started:!1};let t=m()?[process.argv[1],`channel`,`start`]:[`channel`,`start`],n=v(process.execPath,t,{detached:!0,stdio:`ignore`,cwd:process.cwd()});n.unref();let r=n.pid;return r?(d(`[channel] bridge 已启动,pid=${r}`,{level:`debug`}),{pid:r,started:!0}):{pid:0,started:!1}}function L(){let e=B();if(!e)return!1;try{return process.kill(e,`SIGTERM`),d(`[channel] 已发 SIGTERM 给 bridge pid=${e}`,{level:`debug`}),!0}catch(e){return g(e),!1}}function R(){return B()!==null}function z(){return B()}function B(){let e=y(`pgrep`,[`-f`,V],{encoding:`utf8`});if(e.status!==0||!e.stdout.trim())return null;let t=e.stdout.trim().split(`
|
|
2
|
+
`).map(Number).filter(e=>e&&e!==process.pid);return t.length?t[t.length-1]:null}var V,H=e((()=>{f(),h(),p(),V=`channel start$`}));export{L as a,F as c,I as i,j as l,H as n,k as o,R as r,M as s,z as t,A as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{I as n,P as r,ai as i,bn as a,ot as o,t as s,vn as c,xt as l}from"./src-BX54x08P.js";import{t as u}from"./jsx-runtime-Bb4Xn-E0.js";import{Gt as d}from"./settings-
|
|
1
|
+
import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{I as n,P as r,ai as i,bn as a,ot as o,t as s,vn as c,xt as l}from"./src-BX54x08P.js";import{t as u}from"./jsx-runtime-Bb4Xn-E0.js";import{Gt as d}from"./settings-CA-5Px85.js";import{Bx as f,Gs as p,Hv as m,I_ as h,Ks as g,L_ as _,R_ as v,Vv as y,Xi as b,ct as x,dd as S,lb as C,lt as w,pd as T,qS as E,ry as D}from"./loadAgentsDir-CgDTTnMX.js";import{I as O,M as k}from"./debug-NBJH_NxR.js";import{d as A,h as j}from"./config-CMtnYZR9.js";import{n as M,t as N}from"./SpinnerGlyph-4aVLQdJf.js";import{n as P,r as F}from"./sideQuestion-B1W_L7NR.js";import{i as I,n as L}from"./modalContext-sU2lfR08.js";function R({question:e,context:t,onDone:i}){let[s,c]=(0,H.useState)(null),[u,d]=(0,H.useState)(null),[f,p]=(0,H.useState)(0),m=(0,H.useRef)(null),{rows:h}=I(o());a(()=>p(e=>e+1),s||u?null:80);function g(e){if(e.key===`escape`||e.key===`return`||e.key===` `||e.ctrl&&(e.key===`c`||e.key===`d`)){e.preventDefault(),i(void 0,{display:`skip`});return}(e.key===`up`||e.ctrl&&e.key===`p`)&&(e.preventDefault(),m.current?.scrollBy(-3)),(e.key===`down`||e.ctrl&&e.key===`n`)&&(e.preventDefault(),m.current?.scrollBy(K))}(0,H.useEffect)(()=>{let n=y();async function r(){try{let r=await F({question:e,cacheSafeParams:await B(t)});n.signal.aborted||(r.response?c(r.response):d(`No response received`))}catch(e){n.signal.aborted||d(k(e)||`Failed to get response`)}}return r(),()=>{n.abort()}},[e,t]);let _=Math.max(5,h-W-G);return(0,U.jsxs)(n,{flexDirection:`column`,paddingLeft:2,marginTop:1,tabIndex:0,autoFocus:!0,onKeyDown:g,children:[(0,U.jsxs)(n,{children:[(0,U.jsxs)(r,{color:`warning`,bold:!0,children:[`/btw`,` `]}),(0,U.jsx)(r,{dimColor:!0,children:e})]}),(0,U.jsx)(n,{marginTop:1,marginLeft:2,maxHeight:_,children:(0,U.jsx)(l,{ref:m,flexDirection:`column`,flexGrow:1,children:u?(0,U.jsx)(r,{color:`error`,children:u}):s?(0,U.jsx)(S,{children:s}):(0,U.jsxs)(n,{children:[(0,U.jsx)(N,{frame:f,messageColor:`warning`}),(0,U.jsx)(r,{color:`warning`,children:`Answering...`})]})})}),(s||u)&&(0,U.jsx)(n,{marginTop:1,children:(0,U.jsxs)(r,{dimColor:!0,children:[`↑`,`/`,`↓`,` to scroll · Space, Enter, or Escape to dismiss`]})})]})}function z(e){let t=e.at(-1);return t?.type===`assistant`&&t.message.stop_reason===null?e.slice(0,-1):e}async function B(e){let t=f(z(e.messages)),n=p();if(n)return{systemPrompt:n.systemPrompt,userContext:n.userContext,systemContext:n.systemContext,toolUseContext:e,forkContextMessages:t};let[r,i,a]=await Promise.all([x(e.options.tools,e.options.mainLoopModel,[],e.options.mcpClients),_(),h()]);return{systemPrompt:E(r),userContext:i,systemContext:a,toolUseContext:e,forkContextMessages:t}}async function V(e,t,n){let r=n?.trim();return r?(j(e=>({...e,btwUseCount:e.btwUseCount+1})),(0,U.jsx)(R,{question:r,context:t,onDone:e})):(e(`Usage: /btw <your question>`,{display:`system`}),null)}var H,U,W,G,K;e((()=>{H=t(i(),1),c(),T(),M(),d(),w(),L(),v(),C(),s(),m(),A(),O(),g(),b(),P(),D(),U=u(),W=5,G=6,K=3}))();export{V as call};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{n as t,t as n}from"./memoize-BK3gG5ob.js";import{f as r,u as i,w as a,x as o}from"./debug-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{n as t,t as n}from"./memoize-BK3gG5ob.js";import{f as r,u as i,w as a,x as o}from"./debug-NBJH_NxR.js";import{r as s,t as c}from"./execa-CBhG1doD.js";import{o as l,s as u}from"./log-D98mO6yJ.js";import{release as d}from"os";import{readFile as f}from"fs/promises";import{execSync as p}from"child_process";function m(e,t){return a`execSync: ${e.slice(0,100)}`,p(e,t)}var h=e((()=>{o()}));async function g(e){if(process.platform===`win32`){let t=await c(`where.exe ${e}`,{shell:!0,stderr:`ignore`,reject:!1});return t.exitCode!==0||!t.stdout?null:t.stdout.trim().split(/\r?\n/)[0]||null}let t=await c(`which ${e}`,{shell:!0,stderr:`ignore`,reject:!1});return t.exitCode!==0||!t.stdout?null:t.stdout.trim()}function _(e){if(process.platform===`win32`)try{return m(`where.exe ${e}`,{encoding:`utf-8`,stdio:[`ignore`,`pipe`,`ignore`]}).toString().trim().split(/\r?\n/)[0]||null}catch{return null}try{return m(`which ${e}`,{encoding:`utf-8`,stdio:[`ignore`,`pipe`,`ignore`]}).toString().trim()||null}catch{return null}}var v,y,b,x=e((()=>{s(),h(),v=typeof Bun<`u`&&typeof Bun.which==`function`?Bun.which:null,y=v?async e=>v(e):g,b=v??_})),S,C,w=e((()=>{n(),r(),l(),S=t(()=>{try{if(process.platform===`darwin`)return`macos`;if(process.platform===`win32`)return`windows`;if(process.platform===`linux`){try{let e=i().readFileSync(`/proc/version`,{encoding:`utf8`});if(e.toLowerCase().includes(`microsoft`)||e.toLowerCase().includes(`wsl`))return`wsl`}catch(e){u(e)}return`linux`}return`unknown`}catch(e){return u(e),`unknown`}}),C=t(()=>{if(process.platform===`linux`)try{let e=i().readFileSync(`/proc/version`,{encoding:`utf8`}),t=e.match(/WSL(\d+)/i);return t?.[1]?t[1]:e.toLowerCase().includes(`microsoft`)?`1`:void 0}catch(e){u(e);return}}),t(async()=>{if(process.platform!==`linux`)return;let e={linuxKernel:d()};try{let t=await f(`/etc/os-release`,`utf8`);for(let n of t.split(`
|
|
2
2
|
`)){let t=n.match(/^(ID|VERSION_ID)=(.*)$/);if(t?.[1]&&t[2]){let n=t[2].replace(/^"|"$/g,``);t[1]===`ID`?e.linuxDistroId=n:e.linuxDistroVersion=n}}}catch{}return e})}));function T(){return process.versions.bun!==void 0}function E(){return typeof Bun<`u`&&Array.isArray(Bun.embeddedFiles)&&Bun.embeddedFiles.length>0}var D=e((()=>{}));export{C as a,y as c,h as d,S as i,b as l,E as n,w as o,T as r,x as s,D as t,m as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{ai as t,ti as n}from"./settings-CA-5Px85.js";import{Pt as r,l as i,mn as a}from"./state-CXY-q5gr.js";import{B_ as o,Bu as s,F_ as c,Hi as l,I_ as u,Ki as d,L_ as f,My as p,Pi as m,Pp as h,R_ as g,Ru as _,Tb as v,Ti as y,V_ as b,Y as x,_p as S,dh as C,dm as w,fh as T,hp as E,is as D,jy as O,lm as k,q as A,rs as j,wb as M,z_ as N}from"./loadAgentsDir-CgDTTnMX.js";import{a as P,n as F}from"./fileSuggestions-CoYWpIJB.js";import{r as I,t as L}from"./magicDocs-430IH4o3.js";import{r as R,t as z}from"./detectRepository-Bu0he_XM.js";function B(e=new Set){let t=e.size>0;f.cache.clear?.(),u.cache.clear?.(),c.cache.clear?.(),o.cache.clear?.(),F(),y(),t||S(),N(null),a(null),w(),D(),p(`session_start`),_(),z(),A(),i(e),n(),l(),T(),L(),M(),import(`./SearchExtraToolsTool-B6Qlr08G.js`).then(({clearSearchExtraToolsDescriptionCache:e})=>e()),import(`./loadAgentsDir-jBY44wEO.js`).then(({clearAgentDefinitionsCache:e})=>e()),import(`./prompt-DmWyLDH6.js`).then(({clearPromptCache:e})=>e())}var V=e((()=>{r(),m(),b(),g(),P(),h(),E(),k(),C(),I(),d(),j(),x(),O(),R(),t(),s(),v()}));export{V as n,B as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,t}from"./caches-DaOhyHsb.js";e();export{t as clearSessionCaches};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e,t}from"./defineProperty-C-QyHrDq.js";import{n,t as r}from"./axios-DaWTGg7G.js";import{n as i,r as a}from"./wrapper-DVKxC5fR.js";import{Cr as o,Pt as s,Tr as c,Vt as l,wr as u}from"./settings-CA-5Px85.js";import{U as d,W as f}from"./loadAgentsDir-CgDTTnMX.js";import{c as p,i as m}from"./debug-NBJH_NxR.js";import{d as h,o as g}from"./config-CMtnYZR9.js";import{n as _,r as v}from"./process-CewWh77C.js";import{o as y,s as b}from"./log-D98mO6yJ.js";import{a as x,c as S,l as C,n as w,o as T,r as E,s as D,t as O,u as k}from"./bridgeControl-DMUu37uO.js";import{createInterface as A}from"node:readline";import{join as j}from"node:path";import{spawn as M}from"node:child_process";import{existsSync as N,readdirSync as P}from"node:fs";import{randomUUID as F}from"node:crypto";import{EventEmitter as I}from"node:events";import L from"events";_(),y(),d(),S(),w(),m(),e();var R=`https://api.dingtalk.com`,z=`https://oapi.dingtalk.com`,ee=`/gettoken`,B=`/v1.0/card/instances/createAndDeliver`,V=`/v1.0/card/streaming`,H=300*1e3,U=class{constructor(e){t(this,`opts`,void 0),t(this,`tokenCache`,null),this.opts=e}async getAccessToken(){if(this.tokenCache&&Date.now()<this.tokenCache.expiresAt-H)return this.tokenCache.token;let e=`${z}${ee}?appkey=${encodeURIComponent(this.opts.appKey)}&appsecret=${encodeURIComponent(this.opts.appSecret)}`,t=await(await fetch(e)).json();if(t.errcode!==0||!t.access_token)throw Error(`gettoken 失败: errcode=${t.errcode} errmsg=${t.errmsg}`);return this.tokenCache={token:t.access_token,expiresAt:Date.now()+(t.expires_in??7200)*1e3},t.access_token}async createAndDeliverCard(e){let t=F(),n=e.conversationType===`2`,r=await this.getAccessToken(),i=n?`IM_GROUP`:`IM_ROBOT`,a=n?e.conversationId:e.senderStaffId,o={cardTemplateId:e.cardTemplateId,outTrackId:t,cardData:{cardParamMap:{content:e.initialMarkdown}},openSpaceId:`dtv1.card//${i}.${a}`};n?(o.imGroupOpenSpaceModel={supportForward:!0},o.imGroupOpenDeliverModel={robotCode:this.opts.robotCode}):(o.imRobotOpenSpaceModel={supportForward:!0},o.imRobotOpenDeliverModel={robotCode:this.opts.robotCode});let s=await fetch(`${R}${B}`,{method:`POST`,headers:{"Content-Type":`application/json`,"x-acs-dingtalk-access-token":r},body:JSON.stringify(o)});if(!s.ok){let e=await s.text();throw Error(`createAndDeliver 失败: ${s.status} ${e}`)}return p(`[channel] 卡片已创建 outTrackId=${t} ${n?`群聊`:`单聊`}`,{level:`debug`}),t}async streamingUpdate(e,t,n={}){let r=await this.getAccessToken(),i={outTrackId:e,guid:F(),key:`content`,content:t,isFull:!0,isFinalize:n.finalize??!1,isError:n.error??!1},a=await fetch(`${R}${V}`,{method:`PUT`,headers:{"Content-Type":`application/json`,"x-acs-dingtalk-access-token":r},body:JSON.stringify(i)});if(!a.ok){let e=await a.text();throw Error(`streaming 失败: ${a.status} ${e}`)}p(`[channel] streaming 推送 finalize=${n.finalize??!1} len=${t.length}`,{level:`debug`})}},W=`https://api.dingtalk.com/v1.0/gateway/connections/open`,G=`https://oapi.dingtalk.com/gettoken`,K=`/v1.0/im/bot/messages/get`;i(),r(),e();var q={autoReconnect:!0,keepAlive:!1,ua:``,subscriptions:[{type:`EVENT`,topic:`*`}]},J=class extends L{constructor(e){if(super(),t(this,`debug`,!1),t(this,`connected`,!1),t(this,`registered`,!1),t(this,`reconnecting`,!1),t(this,`userDisconnect`,!1),t(this,`reconnectBaseInterval`,1e3),t(this,`reconnectMaxInterval`,6e4),t(this,`reconnectAttempts`,0),t(this,`heartbeat_interval`,8e3),t(this,`heartbeatIntervallId`,void 0),t(this,`reconnectTimerId`,void 0),t(this,`isConnecting`,!1),t(this,`sslopts`,{rejectUnauthorized:!0}),t(this,`config`,void 0),t(this,`socket`,void 0),t(this,`dw_url`,void 0),t(this,`isAlive`,!1),t(this,`onEventReceived`,e=>({status:`SUCCESS`})),this.config={...q,...e},!this.config.clientId||!this.config.clientSecret)throw console.error(`clientId or clientSecret is null`),Error(`clientId or clientSecret is null`);this.config.debug!==void 0&&(this.debug=this.config.debug)}getConfig(){return{...this.config}}printDebug(e){if(this.debug){let t=`[`+new Date().toISOString()+`]`;console.info(t,e)}}registerAllEventListener(e){return this.onEventReceived=e,this}registerCallbackListener(e,t){if(!e||!t)throw console.error(`registerCallbackListener: eventId and callback must be defined`),Error(`registerCallbackListener: eventId and callback must be defined`);return this.config.subscriptions.find(t=>t.topic===e&&t.type===`CALLBACK`)||this.config.subscriptions.push({type:`CALLBACK`,topic:e}),this.on(e,t),this}async getAccessToken(){let e=await n.get(`${G}?appkey=${this.config.clientId}&appsecret=${this.config.clientSecret}`);if(e.status===200&&e.data.access_token)return this.config.access_token=e.data.access_token,e.data.access_token;throw Error(`getAccessToken: get access_token failed`)}async getEndpoint(){this.printDebug(`get connect endpoint by config`),this.printDebug(this.config);let e=await n({url:W,method:`POST`,responseType:`json`,data:{clientId:this.config.clientId,clientSecret:this.config.clientSecret,ua:this.config.ua,subscriptions:this.config.subscriptions},headers:{Accept:`application/json`}});if(this.printDebug(`res.data `+JSON.stringify(e.data)),e.data){this.config.endpoint=e.data;let{endpoint:t,ticket:n}=e.data;if(!t||!n)throw this.printDebug(`endpoint or ticket is null`),Error(`endpoint or ticket is null`);return this.dw_url=`${t}?ticket=${n}`,this}else throw Error(`build: get endpoint failed`)}cleanup(){this.heartbeatIntervallId!==void 0&&(clearInterval(this.heartbeatIntervallId),this.heartbeatIntervallId=void 0),this.socket&&(this.socket.removeAllListeners(),(this.socket.readyState===a.OPEN||this.socket.readyState===a.CONNECTING)&&this.socket.terminate(),this.socket=void 0)}scheduleReconnect(){if(!this.config.autoReconnect||this.userDisconnect||this.isConnecting)return;let e=Math.min(this.reconnectBaseInterval*2**this.reconnectAttempts+Math.random()*1e3,this.reconnectMaxInterval);this.reconnecting=!0,this.printDebug(`Reconnecting in `+(e/1e3).toFixed(1)+` seconds... (attempt `+(this.reconnectAttempts+1)+`)`),this.reconnectTimerId&&clearTimeout(this.reconnectTimerId),this.reconnectTimerId=setTimeout(()=>{this.reconnectTimerId=void 0,this.connect()},e)}_connect(){return new Promise((e,t)=>{this.printDebug(`Connecting to dingtalk websocket @ `+this.dw_url);try{this.socket=new a(this.dw_url,this.sslopts)}catch(e){this.printDebug(`WebSocket constructor error`),console.warn(`ERROR`,e),t(e);return}let n=!1;this.socket.on(`open`,()=>{this.connected=!0,this.reconnectAttempts=0,console.info(`[`+new Date().toISOString()+`] connect success`),this.config.keepAlive&&(this.isAlive=!0,this.heartbeatIntervallId=setInterval(()=>{var e;if(this.isAlive===!1)return console.error(`TERMINATE SOCKET: Ping Pong does not transfer heartbeat within heartbeat intervall`),this.socket?.terminate();this.isAlive=!1,(e=this.socket)==null||e.ping(``,!0)},this.heartbeat_interval)),n=!0,e()}),this.socket.on(`pong`,()=>{this.heartbeat()}),this.socket.on(`message`,e=>{this.onDownStream(e)}),this.socket.on(`close`,()=>{this.printDebug(`Socket closed`),this.connected=!1,this.registered=!1,this.heartbeatIntervallId!==void 0&&(clearInterval(this.heartbeatIntervallId),this.heartbeatIntervallId=void 0),n&&this.scheduleReconnect()}),this.socket.on(`error`,e=>{var r;this.printDebug(`SOCKET ERROR`),console.warn(`ERROR`,e),(r=this.socket)==null||r.terminate(),n||(n=!0,t(e))})})}async connect(){if(this.isConnecting){this.printDebug(`connect() already in progress, skipping`);return}this.userDisconnect=!1,this.isConnecting=!0;try{if(this.cleanup(),await this.getEndpoint(),this.userDisconnect)return;await this._connect()}catch(e){this.printDebug(`Connect failed: `+(e instanceof Error?e.message:String(e))),this.userDisconnect||(this.reconnectAttempts++,this.isConnecting=!1,this.scheduleReconnect());return}finally{this.isConnecting=!1}}disconnect(){console.info(`Disconnecting.`),this.userDisconnect=!0,this.reconnectTimerId&&(clearTimeout(this.reconnectTimerId),this.reconnectTimerId=void 0),this.reconnecting=!1,this.reconnectAttempts=0,this.cleanup(),this.connected=!1,this.registered=!1}heartbeat(){this.isAlive=!0,this.printDebug(`CLIENT-SIDE HEARTBEAT`)}onDownStream(e){this.printDebug(`Received message from dingtalk websocket server`);let t=JSON.parse(e);switch(this.printDebug(t),t.type){case`SYSTEM`:this.onSystem(t);break;case`EVENT`:this.onEvent(t);break;case`CALLBACK`:this.onCallback(t);break}}onSystem(e){var t;switch(e.headers.topic){case`CONNECTED`:this.printDebug(`CONNECTED`);break;case`REGISTERED`:this.registered=!0,this.reconnecting=!1;break;case`disconnect`:this.connected=!1,this.registered=!1;break;case`KEEPALIVE`:this.heartbeat();break;case`ping`:this.printDebug(`PING`),(t=this.socket)==null||t.send(JSON.stringify({code:200,headers:e.headers,message:`OK`,data:e.data}));break}}onEvent(e){var t;this.printDebug(`received event, message=`+JSON.stringify(e));let n=this.onEventReceived(e);(t=this.socket)==null||t.send(JSON.stringify({code:200,headers:{contentType:`application/json`,messageId:e.headers.messageId},message:`OK`,data:JSON.stringify(n)}))}onCallback(e){this.emit(e.headers.topic,e)}send(e,t){var n;if(!e)throw console.error(`send: messageId must be defined`),Error(`send: messageId must be defined`);let r={code:200,headers:{contentType:`application/json`,messageId:e},message:`OK`,data:JSON.stringify(t)};(n=this.socket)==null||n.send(JSON.stringify(r))}socketCallBackResponse(e,t){this.send(e,{response:t})}sendGraphAPIResponse(e,t){var n;if(!e)throw console.error(`send: messageId must be defined`),Error(`send: messageId must be defined`);let r={code:200,headers:{contentType:`application/json`,messageId:e},message:`OK`,data:JSON.stringify(t)};(n=this.socket)==null||n.send(JSON.stringify(r))}};i(),m(),e();var Y=class{constructor(e){t(this,`opts`,void 0),t(this,`client`,void 0),t(this,`messageHandler`,void 0),this.opts=e,this.client=new J({clientId:e.appKey,clientSecret:e.appSecret,debug:!1,keepAlive:!0})}onMessage(e){this.messageHandler=e,this.client.registerCallbackListener(K,e=>{this.handleDownstream(e)})}handleDownstream(e){try{let t=JSON.parse(e.data);if(p(`[channel] downstream 到达: msgtype=${t.msgtype} sender=${t.senderNick} conv=${t.conversationId}`,{level:`debug`}),t.msgtype!==`text`||!t.text?.content){p(`[channel] 丢弃: msgtype=${t.msgtype} 非文本或空 content`,{level:`debug`});return}let n=t.text.content.trim(),r=this.stripMention(n);if(!r){p(`[channel] 丢弃: 纯 @ 无正文`,{level:`debug`});return}p(`[channel] 派发消息: text="${r.slice(0,50)}" sender=${t.senderNick}`,{level:`debug`}),this.messageHandler?.({conversationId:t.conversationId,senderStaffId:t.senderStaffId,senderNick:t.senderNick,conversationType:t.conversationType,text:r,msgId:t.msgId,sessionWebhook:t.sessionWebhook,sessionWebhookExpiredTime:t.sessionWebhookExpiredTime,isAdmin:t.isAdmin})}catch(e){b(e)}try{this.client.socketCallBackResponse(e.headers.messageId,{status:`SUCCESS`,message:`OK`})}catch{}}stripMention(e){if(!this.opts.robotName)return e;let t=this.opts.robotName.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);return e.replace(RegExp(`^@${t}\\s*`),``).trim()}async connect(){await this.client.connect(),p(`[channel] dingtalk stream 已连接`,{level:`debug`})}disconnect(){this.client.disconnect()}async sendText(e,t){if(e)try{await fetch(e,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({msgtype:`text`,text:{content:t}})})}catch(e){b(e)}}async sendMarkdown(e,t,n){if(e)try{await fetch(e,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({msgtype:`markdown`,markdown:{title:t,text:n}})})}catch(e){b(e)}}};c();function X(e,t){if(t&&N(t))return t;try{let t=u();for(let n of P(t,{withFileTypes:!0})){if(!n.isDirectory())continue;let r=j(t,n.name,`${e}.jsonl`);if(N(r))return r}}catch{}return null}m(),y(),c(),s(),e();var Z=1800*1e3;function Q(e){return v()?{execPath:process.execPath,args:[process.argv[1],...e]}:{execPath:process.execPath,args:e}}var $=class{constructor(e){t(this,`opts`,void 0),t(this,`proc`,null),t(this,`rl`,null),t(this,`emitter`,new I),t(this,`lastActiveAt`,Date.now()),t(this,`idleTimer`,null),t(this,`closed`,!1),t(this,`spawnCwd`,process.cwd()),this.opts=e}onEvent(e){this.emitter.on(`event`,e)}async start(){let e=[`--print`,`--input-format`,`stream-json`,`--output-format`,`stream-json`,`--verbose`,`--permission-mode`,l(this.opts.permissionMode)];this.opts.transcriptPath?e.splice(1,0,`--resume`,this.opts.transcriptPath):this.opts.sessionId&&e.splice(1,0,`--resume`,this.opts.sessionId);let{execPath:t,args:n}=Q(e);this.proc=M(t,n,{stdio:[`pipe`,`pipe`,`pipe`],env:{...process.env,WORKMATE_INCLUDE_PARTIAL_MESSAGES:`true`,WORKMATE_STREAMLINED_OUTPUT:`true`}}),this.proc.on(`exit`,e=>{this.closed=!0,this.emit({type:`exit`,code:e}),this.cleanup()}),this.proc.on(`error`,e=>{b(e),this.emit({type:`stderr`,data:String(e)})}),this.proc.stderr&&this.proc.stderr.on(`data`,e=>{let t=e.toString();p(`[channel] workmate stderr: ${t}`,{level:`debug`}),this.emit({type:`stderr`,data:t})}),this.proc.stdout&&(this.rl=A({input:this.proc.stdout,crlfDelay:1/0}),this.rl.on(`line`,e=>this.handleLine(e))),this.idleTimer=setInterval(()=>this.checkIdle(),6e4)}checkIdle(){this.closed||Date.now()-this.lastActiveAt>Z&&(p(`[channel] workmate 子进程 idle 超时,回收`,{level:`debug`}),this.kill())}sendUserMessage(e){this.write({type:`user`,message:{role:`user`,content:e},parent_tool_use_id:null,priority:`now`}),this.lastActiveAt=Date.now()}respondPermission(e,t){this.write({type:`control_response`,response:{subtype:`success`,request_id:e,response:t}}),this.lastActiveAt=Date.now()}autoAllow(e){this.respondPermission(e,{behavior:`allow`})}interrupt(){this.write({type:`control_request`,request_id:F(),request:{subtype:`interrupt`}})}handleLine(e){let t=e.trim();if(!t)return;this.lastActiveAt=Date.now();let n;try{n=JSON.parse(t)}catch{return}switch(n.type){case`stream_event`:{let e=n.event;e?.type===`content_block_delta`&&e.delta?.type===`text_delta`&&typeof e.delta.text==`string`?this.emit({type:`text`,text:e.delta.text}):e?.type===`message_stop`&&this.emit({type:`message_end`});break}case`streamlined_text`:this.emit({type:`text`,text:String(n.text)}),this.emit({type:`message_end`});break;case`streamlined_tool_use_summary`:this.emit({type:`tool_summary`,summary:String(n.tool_summary)});break;case`control_request`:{let e=n.request;e?.subtype===`can_use_tool`&&this.emit({type:`permission_request`,requestId:String(n.request_id),toolName:String(e.tool_name??``),input:e.input??{},toolUseId:String(e.tool_use_id??``)});break}case`result`:{let e=typeof n.session_id==`string`?n.session_id:void 0,t=e&&!this.opts.transcriptPath?j(o(this.spawnCwd),`${e}.jsonl`):void 0;this.emit({type:`turn_end`,subtype:n.subtype===`success`?`success`:`error`,resultText:typeof n.result==`string`?n.result:void 0,errors:Array.isArray(n.errors)?n.errors.map(String):void 0,durationMs:typeof n.duration_ms==`number`?n.duration_ms:void 0,sessionId:e,transcriptPath:t});break}case`keep_alive`:break}}emit(e){this.emitter.emit(`event`,e)}write(e){!this.proc?.stdin?.writable||this.closed||this.proc.stdin.write(`${JSON.stringify(e)}\n`)}isAlive(){return!!this.proc&&!this.closed}kill(){if(!(this.closed||!this.proc)){try{this.proc.stdin?.end()}catch{}try{this.proc.kill(`SIGTERM`)}catch{}setTimeout(()=>{try{this.proc?.kill(`SIGKILL`)}catch{}},3e3)}}cleanup(){this.idleTimer&&(clearInterval(this.idleTimer),this.idleTimer=null),this.rl?.close(),this.rl=null,this.closed=!0}async stop(){this.kill(),this.proc&&await new Promise(e=>{if(this.closed)return e();this.proc.once(`exit`,()=>e()),setTimeout(e,5e3)}),this.cleanup()}};m(),y(),e();var te=400;function ne(e,t){switch(t){case`perUser`:return`user:${e.senderStaffId}`;case`shared`:return`shared`;default:return`conv:${e.conversationId}`}}var re=class{constructor(e){t(this,`stream`,void 0),t(this,`sessions`,new Map),t(this,`config`,void 0),t(this,`running`,!1),t(this,`cardClient`,void 0),this.config=e??T(),this.stream=new Y({appKey:this.config.appKey,appSecret:this.config.appSecret,robotName:this.config.robotName}),this.cardClient=this.config.cardTemplateId?new U({appKey:this.config.appKey,appSecret:this.config.appSecret,robotCode:this.config.appKey}):null}async start(){if(!this.config.appKey||!this.config.appSecret)throw Error(`钉钉 appKey/appSecret 未配置,请在 /channel 里填好`);this.stream.onMessage(e=>{this.handleMessage(e)}),await this.stream.connect(),this.running=!0;let e=!1,t=()=>{if(e)return;e=!0;let t=setTimeout(()=>{process.exit(0)},6e3);this.stop().finally(()=>{clearTimeout(t),process.exit(0)})};process.on(`SIGTERM`,t),process.on(`SIGINT`,t),p(`[channel] bridge 已启动,等待钉钉消息`,{level:`debug`})}async stop(){if(this.running){this.running=!1,this.stream.disconnect();for(let e of this.sessions.values())e.streamTimer&&clearTimeout(e.streamTimer),await e.driver.stop();this.sessions.clear(),p(`[channel] bridge 已停止`,{level:`debug`})}}async handleMessage(e){let t=ne(e,this.config.sessionStrategy);p(`[channel] handleMessage: sender=${e.senderNick} conv=${e.conversationId} text="${e.text.slice(0,50)}"`,{level:`debug`});let n=this.sessions.get(t);if(n||(n=await this.createSession(t,e),this.sessions.set(t,n)),n.sessionWebhook=e.sessionWebhook,n.currentSenderStaffId=e.senderStaffId,n.pendingConfirm){let t=ie(e.text);if(t!==null){let r=n.pendingConfirm;if(n.pendingConfirm=null,!this.canConfirm(e.senderStaffId,r.senderStaffId)){await this.stream.sendText(e.sessionWebhook,`⚠️ 只有任务发起人或管理员能确认`);return}t.behavior===`terminate`?(n.driver.respondPermission(r.requestId,{behavior:`deny`,message:`用户在钉钉终止任务`}),n.driver.interrupt(),await this.stream.sendText(e.sessionWebhook,`🛑 已终止整个任务`)):(n.driver.respondPermission(r.requestId,t),await this.stream.sendText(e.sessionWebhook,t.behavior===`allow`?`✅ 已同意,继续执行`:`❌ 已拒绝此工具,继续下一步`));return}n.pendingConfirm=null}n.textBuffer=``,n.turnInProgress=!0,n.cardOutTrackId=null,n.conversationType=e.conversationType,n.conversationId=e.conversationId,n.streamTimer&&(clearTimeout(n.streamTimer),n.streamTimer=null),n.driver.sendUserMessage(e.text),p(`[channel] 已发 driver.sendUserMessage`,{level:`debug`})}async createSession(e,t){let n=this.config.sessions[e],r=n?.workmateSessionId??``,i=r?X(r,n?.transcriptPath):null;i&&i!==n?.transcriptPath&&(k(t=>{let n=t.sessions[e];return n?{...t,sessions:{...t.sessions,[e]:{...n,transcriptPath:i}}}:t}),this.config=T()),p(`[channel] ${r?`复用`:`新建`}会话: ${e} sid=${r||`(待 workmate 分配)`} tp=${i??`(待分配)`}`,{level:`debug`});let a=new $({sessionId:r||null,transcriptPath:i,permissionMode:D(this.config)});return await a.start(),a.onEvent(t=>{this.handleDriverEvent(e,t)}),{driver:a,workmateSessionId:r,transcriptPath:i,sessionWebhook:t.sessionWebhook,currentSenderStaffId:t.senderStaffId,conversationType:t.conversationType,conversationId:t.conversationId,textBuffer:``,turnInProgress:!1,pendingConfirm:null,cardOutTrackId:null,streamTimer:null,eventQueue:Promise.resolve()}}handleDriverEvent(e,t){let n=this.sessions.get(e);n&&(n.eventQueue=n.eventQueue.then(()=>this.processDriverEvent(e,t)).catch(e=>{b(e)}))}async processDriverEvent(e,t){let n=this.sessions.get(e);if(n)switch(t.type){case`text`:if(!n.cardOutTrackId&&this.cardClient&&n.turnInProgress)try{n.cardOutTrackId=await this.cardClient.createAndDeliverCard({conversationType:n.conversationType,conversationId:n.conversationId,senderStaffId:n.currentSenderStaffId,cardTemplateId:this.config.cardTemplateId,initialMarkdown:` `})}catch(e){b(e),p(`[channel] 卡片创建失败,回退整段 sendText`,{level:`debug`}),n.cardOutTrackId=null}n.textBuffer+=t.text,n.cardOutTrackId&&this.cardClient&&this.scheduleStreamPush(n);break;case`message_end`:if(n.streamTimer&&(clearTimeout(n.streamTimer),n.streamTimer=null),n.cardOutTrackId&&this.cardClient){let e=n.cardOutTrackId;n.cardOutTrackId=null;try{await this.cardClient.streamingUpdate(e,n.textBuffer,{finalize:!0})}catch(e){b(e),n.textBuffer.trim()&&await this.stream.sendText(n.sessionWebhook,n.textBuffer)}}else n.textBuffer.trim()&&await this.stream.sendText(n.sessionWebhook,n.textBuffer);n.textBuffer=``;break;case`tool_summary`:break;case`turn_end`:{n.turnInProgress=!1;let r=t.sessionId,i=t.transcriptPath;if(t.subtype===`success`&&r&&r!==n.workmateSessionId&&(n.workmateSessionId=r,n.transcriptPath=i??n.transcriptPath,k(t=>{let a=t.sessions[e];return{...t,sessions:{...t.sessions,[e]:{workmateSessionId:r,transcriptPath:i??a?.transcriptPath,lastActiveAt:Date.now(),senderId:n.currentSenderStaffId}}}}),this.config=T()),n.streamTimer&&(clearTimeout(n.streamTimer),n.streamTimer=null),t.subtype===`error`){if(n.cardOutTrackId&&this.cardClient){let e=n.cardOutTrackId;n.cardOutTrackId=null;let t=n.textBuffer;if(n.textBuffer=``,t.trim())try{await this.cardClient.streamingUpdate(e,t,{finalize:!0})}catch(e){b(e)}}else n.textBuffer=``;let e=t.errors?.length?t.errors:[`任务执行出错`];await this.stream.sendText(n.sessionWebhook,`⚠️ ${e.join(`
|
|
2
|
+
`)}`),p(`[channel] turn_end error: ${e.join(` | `)}`,{level:`debug`});break}if(n.cardOutTrackId&&this.cardClient){let e=n.cardOutTrackId;n.cardOutTrackId=null;let r=n.textBuffer||t.resultText||``;n.textBuffer=``;try{await this.cardClient.streamingUpdate(e,r,{finalize:!0})}catch(e){b(e),r.trim()&&await this.stream.sendText(n.sessionWebhook,r)}}else if(n.textBuffer.trim()){let e=n.textBuffer;n.textBuffer=``,await this.stream.sendText(n.sessionWebhook,e)}else t.subtype===`success`&&t.resultText?.trim()&&!this.cardClient&&await this.stream.sendText(n.sessionWebhook,t.resultText);p(`[channel] turn_end: subtype=${t.subtype} sid=${t.sessionId??`-`} resultText=${t.resultText?`"${t.resultText.slice(0,50)}"`:`(空)`}`,{level:`debug`});break}case`permission_request`:await this.handlePermissionRequest(n,t);break;case`stderr`:break;case`exit`:p(`[channel] workmate 子进程退出 code=${t.code},清会话 ${e}`,{level:`debug`}),n.streamTimer&&(clearTimeout(n.streamTimer),n.streamTimer=null),this.sessions.delete(e);break}}async handlePermissionRequest(e,t){if(f(t.toolName)){e.driver.autoAllow(t.requestId),p(`[channel] 只读工具 autoAllow: ${t.toolName}`,{level:`debug`});return}if(!this.config.confirmDangerous){e.driver.autoAllow(t.requestId);return}e.pendingConfirm={requestId:t.requestId,webhook:e.sessionWebhook,senderStaffId:e.currentSenderStaffId,toolName:t.toolName},p(`[channel] permission_request: tool=${t.toolName}`,{level:`debug`});let n=JSON.stringify(t.input,null,2).slice(0,500),r=Math.round(this.config.confirmTimeoutMs/6e4);await this.stream.sendMarkdown(e.sessionWebhook,`需要确认`,`### ⚠️ 需要确认:${t.toolName}\n\n**参数预览:**\n\`\`\`json\n${n}\n\`\`\`\n\n**选项:**\n- 回复「**同意**」→ 执行此工具\n- 回复「**拒绝**」→ 跳过此工具,继续下一步\n- 回复「**终止**」→ 终止整个任务\n\n⏰ ${r} 分钟无回复自动拒绝`),setTimeout(()=>{if(e.pendingConfirm?.requestId===t.requestId){e.pendingConfirm=null;try{e.driver.respondPermission(t.requestId,{behavior:`deny`,message:`确认超时`})}catch(e){b(e)}this.stream.sendText(e.sessionWebhook,`⏰ 确认超时,已拒绝执行`)}},this.config.confirmTimeoutMs)}scheduleStreamPush(e){e.streamTimer||(e.streamTimer=setTimeout(()=>{e.streamTimer=null,!(!e.cardOutTrackId||!this.cardClient)&&this.cardClient.streamingUpdate(e.cardOutTrackId,e.textBuffer).catch(e=>b(e))},te))}canConfirm(e,t){return!!(this.config.admins.includes(e)||t&&e===t||!t)}};function ie(e){let t=e.trim().toLowerCase();return[`同意`,`yes`,`y`,`确认`,`ok`,`allow`,`同意了`].includes(t)?{behavior:`allow`}:[`拒绝`,`no`,`n`,`cancel`,`deny`,`不同意`,`拒绝执行`].includes(t)?{behavior:`deny`,message:`用户在钉钉拒绝`}:[`终止`,`stop`,`abort`,`中止`,`终止任务`,`终止整个任务`].includes(t)?{behavior:`terminate`}:null}S(),h(),y();async function ae(e){let t=e[0]??`start`;switch(t){case`start`:await oe();break;case`status`:ce();break;case`stop`:se();break;default:console.error(`未知子命令: ${t}。可用: start | stop | status`),process.exit(1)}}async function oe(){C(g())||(console.error(`channel 未启用。请在交互会话里运行 /channel,开启 channel 并选择 activePlugin=dingtalk`),process.exit(1));let e=new re;try{await e.start(),console.log(`[channel] bridge 已启动,Ctrl+C 退出`),await new Promise(()=>{})}catch(e){b(e),console.error(`bridge 启动失败: ${e instanceof Error?e.message:String(e)}`),process.exit(1)}}function se(){let e=O();if(!e){console.log(`bridge 未运行`);return}x()?console.log(`已发停止信号给 bridge pid=${e}`):(console.error(`停止失败:pid=${e} 信号发送异常`),process.exit(1))}function ce(){let e=E(),t=O(),n=T(),r=C(g());console.log(`channel.enabled: ${r}`),console.log(`bridge.running: ${e}`),t&&console.log(`bridge.pid: ${t}`),console.log(`dingtalk.appKey: ${n.appKey?`已配置`:`未配置`}`),console.log(`dingtalk.robotName: ${n.robotName}`),console.log(`dingtalk.permissionMode: ${n.permissionMode}`),console.log(`dingtalk.sessionStrategy: ${n.sessionStrategy}`),console.log(`dingtalk.confirmDangerous: ${n.confirmDangerous}`),console.log(`sessions: ${Object.keys(n.sessions).length} 个`)}export{ae as channelMain};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{I as n,P as r,ai as i,t as a}from"./src-BX54x08P.js";import{t as o}from"./jsx-runtime-Bb4Xn-E0.js";import{d as s,h as c,o as l}from"./config-
|
|
1
|
+
import{n as e,o as t}from"./rolldown-runtime-DaDcL9Zw.js";import{I as n,P as r,ai as i,t as a}from"./src-BX54x08P.js";import{t as o}from"./jsx-runtime-Bb4Xn-E0.js";import{d as s,h as c,o as l}from"./config-CMtnYZR9.js";import{n as u,t as d}from"./select-BNeFiLNP.js";import{a as f,c as p,i as m,n as h,o as g,r as _,t as v,u as y}from"./bridgeControl-DMUu37uO.js";function b({onClose:e}){let[t,i]=(0,x.useState)(0),[a,o]=(0,x.useState)(``),s=l(),u=g(),p=s.channel?.enabled===!0,h=s.channel?.activePlugin??null,b=_(),T=v();function E(){i(e=>e+1)}function D(e,t){c(n=>({...n,channel:{enabled:e,activePlugin:t}})),E()}function O(e,t,n){let r=t[(t.indexOf(e)+1)%t.length];n(r),E()}let k=[{label:(0,S.jsxs)(r,{children:[`Channel 开关:`,(0,S.jsx)(r,{bold:!0,children:p?`on`:`off`})]}),value:`toggle-enabled`},{label:(0,S.jsxs)(r,{children:[`激活渠道:`,(0,S.jsx)(r,{bold:!0,children:h??`(无)`})]}),value:`set-plugin`},{label:(0,S.jsxs)(r,{children:[`钉钉 corpid:`,(0,S.jsx)(r,{dimColor:!0,children:u.corpid||`(空) 编辑 dingtalk.json`})]}),value:`noop:corpid`},{label:(0,S.jsxs)(r,{children:[`钉钉 AppKey:`,(0,S.jsx)(r,{dimColor:!0,children:u.appKey?`已配置`:`(空) 编辑 dingtalk.json`})]}),value:`noop:appKey`},{label:(0,S.jsxs)(r,{children:[`钉钉 AppSecret:`,(0,S.jsx)(r,{dimColor:!0,children:u.appSecret?`已配置`:`(空) 编辑 dingtalk.json`})]}),value:`noop:appSecret`},{label:(0,S.jsxs)(r,{children:[`机器人名:`,(0,S.jsx)(r,{bold:!0,children:u.robotName})]}),value:`noop:robotName`},{label:(0,S.jsxs)(r,{children:[`AI 卡片模板:`,(0,S.jsx)(r,{dimColor:!0,children:u.cardTemplateId?`已配置`:`(空) 编辑 dingtalk.json`})]}),value:`noop:cardTemplateId`},{label:(0,S.jsxs)(r,{children:[`权限模式:`,(0,S.jsx)(r,{bold:!0,children:u.permissionMode})]}),value:`cycle-permissionMode`},{label:(0,S.jsxs)(r,{children:[`会话策略:`,(0,S.jsx)(r,{bold:!0,children:u.sessionStrategy}),(0,S.jsx)(r,{dimColor:!0,children:` (perConversation=每群一会话 / perUser=每人一会话 / shared=共用)`})]}),value:`cycle-sessionStrategy`},{label:(0,S.jsxs)(r,{children:[`危险操作钉钉确认:`,(0,S.jsx)(r,{bold:!0,children:u.confirmDangerous?`on`:`off`})]}),value:`toggle-confirmDangerous`},{label:(0,S.jsxs)(r,{bold:b,children:[b?`▶ bridge 运行中`:`▶ 启动 bridge`,T?` (pid=${T})`:``]}),value:`action:start`},{label:(0,S.jsx)(r,{bold:b,children:`■ 停止 bridge`}),value:`action:stop`}];function A(e){switch(o(``),e){case`toggle-enabled`:D(!p,h??`dingtalk`);break;case`set-plugin`:D(!0,`dingtalk`);break;case`cycle-permissionMode`:O(u.permissionMode,C,e=>y(t=>({...t,permissionMode:e})));break;case`cycle-sessionStrategy`:O(u.sessionStrategy,w,e=>y(t=>({...t,sessionStrategy:e})));break;case`toggle-confirmDangerous`:y(e=>({...e,confirmDangerous:!e.confirmDangerous})),E();break;case`action:start`:{let e=m();o(e.started?`bridge 已启动 (pid=${e.pid})`:`bridge 已在运行 (pid=${e.pid})`),E();break}case`action:stop`:{let e=f();o(e?`已发停止信号`:`bridge 未运行`),E();break}default:e.startsWith(`noop:`)&&o(`请编辑 ~/.workmate/channel/dingtalk.json 填入该字段`)}}return(0,S.jsxs)(n,{flexDirection:`column`,padding:1,children:[(0,S.jsxs)(n,{marginBottom:1,flexDirection:`column`,children:[(0,S.jsx)(r,{bold:!0,children:`远程对话渠道(钉钉)`}),(0,S.jsx)(r,{dimColor:!0,children:`↑↓ 导航 · Enter 切换/执行 · Esc 退出`}),(0,S.jsx)(r,{dimColor:!0,children:`corpid/AppKey/AppSecret 请直接编辑 ~/.workmate/channel/dingtalk.json`})]}),(0,S.jsx)(d,{options:k,onChange:A,onCancel:e,visibleOptionCount:k.length},t),a&&(0,S.jsx)(n,{marginTop:1,children:(0,S.jsx)(r,{bold:!0,children:a})})]})}var x,S,C,w,T=e((()=>{a(),x=t(i(),1),u(),s(),p(),h(),S=o(),C=[`default`,`acceptEdits`,`bypassPermissions`,`plan`,`dontAsk`,`auto`],w=[`perConversation`,`perUser`,`shared`]})),E,D;e((()=>{T(),E=o(),D=async e=>(0,E.jsx)(b,{onClose:()=>e()})}))();export{D as call};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{n as t,t as n}from"./conversation-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{n as t,t as n}from"./conversation-DrEE7olO.js";var r;e((()=>{t(),r=async(e,t)=>(await n(t),{type:`text`,value:``})}))();export{r as call};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{c as t,i as n}from"./proxy
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{c as t,i as n}from"./proxy-MzIsnPd7.js";import{n as r,t as i}from"./openai-CR3CcjCE.js";function a(e){if(s)return s;let t=new r({apiKey:process.env.GROK_API_KEY||process.env.XAI_API_KEY||``,baseURL:process.env.GROK_BASE_URL||o,maxRetries:e?.maxRetries??0,timeout:parseInt(process.env.API_TIMEOUT_MS||`600000`,10),dangerouslyAllowBrowser:!0,fetchOptions:n({forAnthropicAPI:!1}),...e?.fetchOverride&&{fetch:e.fetchOverride}});return e?.fetchOverride||(s=t),t}var o,s,c=e((()=>{i(),t(),o=`https://api.x.ai/v1`,s=null}));export{c as n,a as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e,t}from"./client-q_uGYC2E.js";e();export{t as clearOpenAIClientCache};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{c as t,i as n}from"./proxy
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{c as t,i as n}from"./proxy-MzIsnPd7.js";import{n as r,t as i}from"./openai-CR3CcjCE.js";import{r as a,t as o}from"./store-Z8rTjDHe.js";function s(e){if(!e)return 0;let t=0,n=/(\d+(?:\.\d+)?)(ms|s|m|h|d)/g,r;for(;(r=n.exec(e))!==null;){let e=Number(r[1]);switch(r[2]){case`ms`:t+=e/1e3;break;case`s`:t+=e;break;case`m`:t+=e*60;break;case`h`:t+=e*3600;break;case`d`:t+=e*86400;break}}if(t===0){let n=Number(e);Number.isFinite(n)&&(t=n)}return t<=0?0:Math.floor(Date.now()/1e3)+t}function c(e,t){if(e===null||t===null)return null;let n=Number(e),r=Number(t);if(!Number.isFinite(n)||!Number.isFinite(r)||r<=0)return null;let i=Math.max(0,r-n);return Math.min(1,Math.max(0,i/r))}var l,u=e((()=>{l={providerId:`openai`,parseHeaders(e){let t=[],n=c(e.get(`x-ratelimit-remaining-requests`),e.get(`x-ratelimit-limit-requests`));n!==null&&t.push({kind:`requests`,label:`RPM`,utilization:n,resetsAt:s(e.get(`x-ratelimit-reset-requests`))||void 0});let r=c(e.get(`x-ratelimit-remaining-tokens`),e.get(`x-ratelimit-limit-tokens`));return r!==null&&t.push({kind:`tokens`,label:`TPM`,utilization:r,resetsAt:s(e.get(`x-ratelimit-reset-tokens`))||void 0}),t}}}));function d(e){return async(...t)=>{let n=await e(...t);try{a(`openai`,l.parseHeaders(n.headers))}catch{}return n}}function f(e){if(m)return m;let t=process.env.OPENAI_API_KEY||``,i=process.env.OPENAI_BASE_URL,a=d(e?.fetchOverride??globalThis.fetch),o=new r({apiKey:t,...i&&{baseURL:i},maxRetries:e?.maxRetries??0,timeout:parseInt(process.env.API_TIMEOUT_MS||`600000`,10),dangerouslyAllowBrowser:!0,...process.env.OPENAI_ORG_ID&&{organization:process.env.OPENAI_ORG_ID},...process.env.OPENAI_PROJECT_ID&&{project:process.env.OPENAI_PROJECT_ID},fetchOptions:n({forAnthropicAPI:!1}),fetch:a});return e?.fetchOverride||(m=o),o}function p(){m=null}var m,h=e((()=>{i(),u(),o(),t(),m=null}));export{f as n,h as r,p as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,t}from"./client-D3QmHVeI.js";e();export{t as getGrokClient};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Pi as e,Ti as t,ki as n}from"./loadAgentsDir-CgDTTnMX.js";e();export{t as clearCommandsCache,n as getCommands};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{di as t,fi as n}from"./src-BX54x08P.js";import{It as r,Pt as i}from"./state-CXY-q5gr.js";import{$g as a,Bx as o,H_ as s,I_ as c,K_ as l,L_ as u,N_ as d,P_ as f,Qg as p,R_ as m,U_ as h,Xg as g,Xi as _,Yg as v,am as y,cb as b,ct as x,dm as S,gn as C,gp as w,hp as T,id as E,im as D,lm as O,lt as k,q_ as A,rd as j,sb as M,sv as N,tv as P}from"./loadAgentsDir-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{di as t,fi as n}from"./src-BX54x08P.js";import{It as r,Pt as i}from"./state-CXY-q5gr.js";import{$g as a,Bx as o,H_ as s,I_ as c,K_ as l,L_ as u,N_ as d,P_ as f,Qg as p,R_ as m,U_ as h,Xg as g,Xi as _,Yg as v,am as y,cb as b,ct as x,dm as S,gn as C,gp as w,hp as T,id as E,im as D,lm as O,lt as k,q_ as A,rd as j,sb as M,sv as N,tv as P}from"./loadAgentsDir-CgDTTnMX.js";import{F,I}from"./debug-NBJH_NxR.js";import{o as L,s as R}from"./log-D98mO6yJ.js";function z(e,n){let r=j(`tip`),i=M(`app:toggleTranscript`,`Global`,`ctrl+o`),a=[...e.options.verbose?[]:[`(${i} to see full summary)`],...n?[n]:[],...r?[r]:[]];return t.dim(`Compacted ${a.join(`
|
|
2
2
|
`)}`)}async function B(e,t){let n=e.getAppState(),r=await x(e.options.tools,e.options.mainLoopModel,Array.from(n.toolPermissionContext.additionalWorkingDirectories.keys()),e.options.mcpClients),i=d({mainThreadAgentDefinition:void 0,toolUseContext:e,customSystemPrompt:e.options.customSystemPrompt,defaultSystemPrompt:r,appendSystemPrompt:e.options.appendSystemPrompt}),[a,o]=await Promise.all([u(),c()]);return{systemPrompt:i,userContext:a,systemContext:o,toolUseContext:e,forkContextMessages:t}}var V;e((()=>{n(),i(),k(),m(),b(),T(),a(),l(),s(),O(),D(),P(),I(),C(),L(),_(),E(),f(),V=async(e,t)=>{let{abortController:n}=t,{messages:i}=t;if(i=o(i),i.length===0)throw Error(`No messages to compact`);let a=e.trim();try{if(!a){let e=await y(i,t.agentId);if(e)return u.cache.clear?.(),S(),w(t.options.querySource??`compact`,t.agentId),r(),A(),{type:`compact`,compactionResult:e,displayText:z(t)}}let e=(await h(i,t)).messages,n=await p(e,t,await B(t,e),!1,a,!1);return N(void 0),A(),u.cache.clear?.(),S(),{type:`compact`,compactionResult:n,displayText:z(t,n.userDisplayMessage)}}catch(e){throw n.signal.aborted?Error(`Compaction canceled.`):F(e,`Not enough messages to compact. Send a few more messages first, then try again.`)?Error(g):F(e,`Compaction interrupted · This may be due to network issues — please try again.`)?Error(v):(R(e),Error(`Error during compaction: ${e}`))}}}))();export{V as call};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{n as t,t as n}from"./isObject-C6qM3WEW.js";import{n as r,t as i}from"./memoize-BK3gG5ob.js";import{c as a,i as o,l as s,o as c}from"./envUtils-QyzA_cFM.js";import{Ai as l,Ar as u,Cn as d,Di as f,Ei as ee,In as te,Jr as p,Kn as ne,Sn as re,Xt as ie,Yt as m,bi as ae,bn as oe,di as se,fi as ce,ji as le,m as ue,mr as h,pr as de,rn as fe,s as g,t as pe,tn as me,vn as he,xi as ge,zr as _e}from"./settings-CA-5Px85.js";import{Hr as ve,Jr as ye,Pt as be,Ur as xe,X as _,Xr as Se,Yr as Ce,Zr as we,_r as Te,ai as Ee,ar as De,cr as Oe,dr as ke,ei as Ae,fr as je,gr as Me,ii as Ne,ir as Pe,lr as Fe,pr as Ie,q as Le,st as Re,ti as ze,ur as Be}from"./state-CXY-q5gr.js";import{n as Ve,t as He}from"./cwd-DrEEb4f5.js";import{$ as Ue,C as v,I as We,N as y,O as b,S as Ge,c as x,et as S,f as Ke,i as qe,u as C,x as Je}from"./debug-NBJH_NxR.js";import{d as Ye,o as Xe,s as Ze,u as Qe}from"./log-D98mO6yJ.js";import{n as $e}from"./analytics-COpjZpvd.js";import{i as et,n as tt}from"./lockfile-D_9vif6E.js";import{homedir as nt}from"os";import{basename as w,dirname as T,isAbsolute as rt,join as E,normalize as D,resolve as it,sep as at}from"path";import{unwatchFile as ot,watchFile as st}from"fs";import{randomBytes as ct}from"crypto";var O,lt=e((()=>{Ee(),ge(),Ce(),Se(),O=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)Ne(t,ye(e)),e=ae(e);return t}:we}));function ut(e){return Ae(e,f,O)}var dt=e((()=>{ze(),lt(),ee()}));function ft(){let e=process.env.WORKMATE_DISABLE_AUTO_MEMORY;if(s(e))return!1;if(a(e))return!0;if(s(process.env.WORKMATE_SIMPLE)||s(process.env.WORKMATE_REMOTE)&&!process.env.WORKMATE_REMOTE_MEMORY_DIR)return!1;let t=pe();return t.autoMemoryEnabled===void 0||t.autoMemoryEnabled}function pt(){return!1}function mt(){return process.env.WORKMATE_REMOTE_MEMORY_DIR?process.env.WORKMATE_REMOTE_MEMORY_DIR:o()}function ht(e,t){if(!e)return;let n=e;if(t&&(n.startsWith(`~/`)||n.startsWith(`~\\`))){let e=n.slice(2),t=D(e||`.`);if(t===`.`||t===`..`)return;n=E(nt(),e)}let r=D(n).replace(/[/\\]+$/,``);if(!(!rt(r)||r.length<3||/^[A-Za-z]:$/.test(r)||r.startsWith(`\\\\`)||r.startsWith(`//`)||r.includes(`\0`)))return(r+at).normalize(`NFC`)}function gt(){return ht(process.env.WORKMATE_COWORK_MEMORY_PATH_OVERRIDE,!1)}function _t(){return ht(g(`policySettings`)?.autoMemoryDirectory??g(`flagSettings`)?.autoMemoryDirectory??g(`localSettings`)?.autoMemoryDirectory??g(`userSettings`)?.autoMemoryDirectory,!0)}function vt(){return gt()!==void 0}function yt(){return _e(_())??_()}function bt(){return E(k(),Ct)}function xt(e){return D(e).startsWith(k())}var St,Ct,k,A=e((()=>{i(),be(),c(),p(),de(),ue(),St=`memory`,Ct=`MEMORY.md`,k=r(()=>(gt()??_t())||(E(E(mt(),`projects`),u(yt()),St)+at).normalize(`NFC`),()=>_())}));function j(e,n,r,i){if(!t(e))return e;n=je(n,e);for(var a=-1,o=n.length,s=o-1,c=e;c!=null&&++a<o;){var u=ke(n[a]),d=r;if(u===`__proto__`||u===`constructor`||u===`prototype`)return e;if(a!=s){var f=c[u];d=i?i(f,u,c):void 0,d===void 0&&(d=t(f)?f:xe(n[a+1])?[]:{})}l(c,u,d),c=c[u]}return e}var M=e((()=>{le(),Ie(),ve(),n(),Be()}));function wt(e,t,n){for(var r=-1,i=t.length,a={};++r<i;){var o=t[r],s=Oe(e,o);n(s,o)&&j(a,je(o,e),s)}return a}var Tt=e((()=>{Fe(),M(),Ie()}));function N(e,t){if(e==null)return{};var n=Me(ut(e),function(e){return[e]});return t=Pe(t),wt(e,n,function(e,n){return t(e,n[0])})}var Et=e((()=>{Te(),De(),Tt(),dt()}));function P(){return{numStartups:0,installMethod:void 0,autoUpdates:void 0,theme:`dark`,preferredNotifChannel:`auto`,verbose:!1,editorMode:`normal`,autoCompactEnabled:!0,showTurnDuration:!0,hasSeenTasksHint:!1,hasUsedStash:!1,hasUsedBackgroundTask:!1,queuedCommandUpHintCount:0,diffTool:`auto`,env:{},tipsHistory:{},memoryUsageCount:0,promptQueueUseCount:0,btwUseCount:0,todoFeatureEnabled:!0,showExpandedTodos:!1,messageIdleNotifThresholdMs:6e4,fileCheckpointingEnabled:!0,terminalProgressBarEnabled:!0,cachedStatsigGates:{},cachedDynamicConfigs:{},respectGitignore:!0,channel:{enabled:!1,activePlugin:null}}}function Dt(){return G||(G=Ot())}function Ot(){if(Re())return!0;let e=z(),t=$();if(e.projects?.[t]?.hasTrustDialogAccepted)return!0;let n=h(He());for(;;){if(e.projects?.[n]?.hasTrustDialogAccepted)return!0;let t=h(it(n,`..`));if(t===n)break;n=t}return!1}function F(e){let t=K.config;return t?t.hasCompletedOnboarding===!0&&e.hasCompletedOnboarding!==!0:!1}function I(e){let t=null;try{Nt(m(),P,n=>{let r=e(n);return r===n?n:(t={...r,projects:At(n.projects)},t)})&&t&&R(t)}catch(n){x(`Failed to save config with lock: ${n}`,{level:`error`});let r=V(m(),P);if(F(r)){x(`saveGlobalConfig fallback: re-read config is missing auth that cache has; refusing to write. See GH #3117.`,{level:`error`});return}let i=e(r);if(i===r)return;t={...i,projects:At(r.projects)},Mt(m(),t,W),R(t)}}function kt(){let e=J+Y;e>0&&J/e,J=0,Y=0}function L(e){if(e.editorMode===`emacs`&&(e={...e,editorMode:`normal`}),e.installMethod!==void 0)return e;let t=e,n=`unknown`,r=e.autoUpdates??!0;switch(t.autoUpdaterStatus){case`migrated`:n=`local`;break;case`installed`:n=`native`;break;case`disabled`:r=!1;break;case`enabled`:case`no_permissions`:case`not_configured`:n=`global`;break;case void 0:break}return{...e,installMethod:n,autoUpdates:r}}function At(e){if(!e)return e;let t={},n=!1;for(let[r,i]of Object.entries(e)){let e=i;if(e.history!==void 0){n=!0;let{history:i,...a}=e;t[r]=a}else t[r]=i}return n?t:e}function jt(){if(Z)return;Z=!0;let e=m();st(e,{interval:qt,persistent:!1},t=>{t.mtimeMs<=K.mtime||C().readFile(e,{encoding:`utf-8`}).then(e=>{if(t.mtimeMs<=K.mtime)return;let n=oe(d(e));typeof n!=`object`||!n||(K={config:L({...P(),...n}),mtime:t.mtimeMs},q={mtime:t.mtimeMs,size:t.size})}).catch(()=>{})}),S(async()=>{ot(e),Z=!1})}function R(e){K={config:e,mtime:Date.now()},q=null}function z(){if(K.config)return J++,K.config;Y++;try{let e=null;try{e=C().statSync(m())}catch{}let t=L(V(m(),P));return K={config:t,mtime:e?.mtimeMs??Date.now()},q=e?{mtime:e.mtimeMs,size:e.size}:null,jt(),t}catch{return L(V(m(),P))}}function Mt(e,t,n){let r=T(e);C().mkdirSync(r),ne(e,v(N(t,(e,t)=>v(e)!==v(n[t])),null,2),{encoding:`utf-8`,mode:384}),e===m()&&X++}function Nt(e,t,n){let r=t(),i=T(e),a=C();a.mkdirSync(i);let o;try{let i=`${e}.lock`,s=Date.now();if(o=et(e,{lockfilePath:i,onCompromised:e=>{x(`Config lock compromised: ${e}`,{level:`error`})}}),Date.now()-s>100&&x(`Lock acquisition took longer than expected - another Work Mate instance may be running`),q&&e===m())try{let t=a.statSync(e);(t.mtimeMs!==q.mtime||t.size!==q.size)&&(q.mtime,t.mtimeMs,q.size,t.size)}catch(e){if(y(e)!==`ENOENT`)throw e}let c=V(e,t);if(e===m()&&F(c))return x(`saveConfigWithLock: re-read config is missing auth that cache has; refusing to write to avoid wiping ~/.workmate.json. See GH #3117.`,{level:`error`}),!1;let l=n(c);if(l===c)return!1;let u=N(l,(e,t)=>v(e)!==v(r[t]));try{let t=w(e),n=B();try{a.mkdirSync(n)}catch(e){if(y(e)!==`EEXIST`)throw e}let r=a.readdirStringSync(n).filter(e=>e.startsWith(`${t}.backup.`)).sort().reverse(),i=r[0],o=i?Number(i.split(`.backup.`).pop()):0,s=Number.isNaN(o)||Date.now()-o>=6e4;if(s){let r=E(n,`${t}.backup.${Date.now()}`);a.copyFileSync(e,r)}let c=s?a.readdirStringSync(n).filter(e=>e.startsWith(`${t}.backup.`)).sort().reverse():r;for(let e of c.slice(5))try{a.unlinkSync(E(n,e))}catch{}}catch(e){y(e)!==`ENOENT`&&x(`Failed to backup config: ${e}`,{level:`error`})}return ne(e,v(u,null,2),{encoding:`utf-8`,mode:384}),e===m()&&X++,!0}finally{o&&o()}}function Pt(){if(Q)return;let e=Date.now();ce(`info`,`enable_configs_started`),Q=!0,V(m(),P,!0),ce(`info`,`enable_configs_completed`,{duration_ms:Date.now()-e})}function B(){return E(o(),`backups`)}function Ft(e){let t=C(),n=w(e),r=B();try{let e=t.readdirStringSync(r).filter(e=>e.startsWith(`${n}.backup.`)).sort().at(-1);if(e)return E(r,e)}catch{}let i=T(e);try{let r=t.readdirStringSync(i).filter(e=>e.startsWith(`${n}.backup.`)).sort().at(-1);if(r)return E(i,r);let a=`${e}.backup`;try{return t.statSync(a),a}catch{}}catch{}return null}function V(e,t,n){if(!Q)throw Error(`Config accessed before allowed.`);let r=C();try{let n=r.readFileSync(e,{encoding:`utf-8`});try{let e=Ge(d(n));return{...t(),...e}}catch(n){throw new b(n instanceof Error?n.message:String(n),e,t())}}catch(i){if(y(i)===`ENOENT`){let n=Ft(e);return n&&process.stderr.write(`\nWork Mate configuration file not found at: ${e}\nA backup file exists at: ${n}\nYou can manually restore it by running: cp "${n}" "${e}"\n\n`),t()}if(i instanceof b&&n)throw i;if(i instanceof b){if(x(`Config file corrupted, resetting to defaults: ${i.message}`,{level:`error`}),!H){H=!0;try{Ze(i);try{r.statSync(`${e}.backup`)}catch{}}finally{H=!1}}process.stderr.write(`\nWork Mate configuration file at ${e} is corrupted: ${i.message}\n`);let t=w(e),n=B();try{r.mkdirSync(n)}catch(e){if(y(e)!==`EEXIST`)throw e}let a=r.readdirStringSync(n).filter(e=>e.startsWith(`${t}.corrupted.`)),o,s=!1,c=r.readFileSync(e,{encoding:`utf-8`});for(let e of a)try{if(c===r.readFileSync(E(n,e),{encoding:`utf-8`})){s=!0;break}}catch{}if(!s){o=E(n,`${t}.corrupted.${Date.now()}`);try{r.copyFileSync(e,o),x(`Corrupted config backed up to: ${o}`,{level:`error`})}catch{}}let l=Ft(e);o?process.stderr.write(`The corrupted file has been backed up to: ${o}\n`):s&&process.stderr.write(`The corrupted file has already been backed up.
|
|
2
|
+
`),l?process.stderr.write(`A backup file exists at: ${l}\nYou can manually restore it by running: cp "${l}" "${e}"\n\n`):process.stderr.write(`
|
|
3
|
+
`)}return t()}}function It(){let e=$(),t=z();if(!t.projects)return U;let n=t.projects[e]??U;return typeof n.allowedTools==`string`&&(n.allowedTools=oe(n.allowedTools)??[]),n}function Lt(e){let t=$(),n=null;try{Nt(m(),P,r=>{let i=r.projects?.[t]??U,a=e(i);return a===i?r:(n={...r,projects:{...r.projects,[t]:a}},n)})&&n&&R(n)}catch(r){x(`Failed to save config with lock: ${r}`,{level:`error`});let i=V(m(),P);if(F(i)){x(`saveCurrentProjectConfig fallback: re-read config is missing auth that cache has; refusing to write. See GH #3117.`,{level:`error`});return}let a=i.projects?.[t]??U,o=e(a);if(o===a)return;n={...i,projects:{...i.projects,[t]:o}},Mt(m(),n,W),R(n)}}function Rt(){return Vt()!==null}function zt(){return Rt()&&!s(process.env.FORCE_AUTOUPDATE_PLUGINS)}function Bt(e){switch(e.type){case`development`:return`development build`;case`env`:return`${e.envVar} set`;case`config`:return`config`}}function Vt(){if(!s(process.env.ENABLE_AUTOUPDATER))return{type:`config`};if(s(process.env.DISABLE_AUTOUPDATER))return{type:`env`,envVar:`DISABLE_AUTOUPDATER`};let e=Qe();if(e)return{type:`env`,envVar:e};let t=z();return t.autoUpdates===!1&&(t.installMethod!==`native`||t.autoUpdatesProtectedForNative!==!0)?{type:`config`}:null}function Ht(){let e=z();if(e.userID)return e.userID;let t=ct(32).toString(`hex`);return I(e=>({...e,userID:t})),t}function Ut(){if(!z().firstStartTime){let e=new Date().toISOString();I(t=>({...t,firstStartTime:t.firstStartTime??e}))}}function Wt(e){let t=Le();switch(e){case`User`:return E(o(),`AGENTS.md`);case`Local`:return E(t,`AGENTS.local.md`);case`Project`:return E(t,`AGENTS.md`);case`Managed`:return E(me(),`AGENTS.md`);case`AutoMem`:return bt();default:return E(o(),`AGENTS.md`)}}function Gt(){return E(me(),`.workmate`,`rules`)}function Kt(){return E(o(),`rules`)}var H,U,W,G,K,q,J,Y,X,qt,Z,Q,$,Jt=e((()=>{i(),Et(),be(),A(),$e(),Ve(),Ue(),qe(),se(),ie(),c(),We(),te(),Ke(),p(),he(),re(),tt(),Xe(),de(),Ye(),fe(),Je(),H=!1,U={allowedTools:[],mcpContextUris:[],mcpServers:{},enabledMcpjsonServers:[],disabledMcpjsonServers:[],hasTrustDialogAccepted:!1,projectOnboardingSeenCount:0,hasAgentsMdExternalIncludesApproved:!1,hasAgentsMdExternalIncludesWarningShown:!1},W=P(),G=!1,{...W},{...U},K={config:null,mtime:0},q=null,J=0,Y=0,X=0,S(async()=>{kt()}),qt=1e3,Z=!1,Q=!1,$=r(()=>{let e=Le();return h(_e(e)||it(e))})}));export{lt as A,A as C,ut as D,pt as E,dt as O,vt as S,ft as T,j as _,It as a,k as b,Wt as c,Jt as d,Rt as f,zt as g,I as h,Vt as i,O as k,Ht as l,Lt as m,Pt as n,z as o,Ut as p,Bt as r,Gt as s,Dt as t,Kt as u,M as v,xt as w,mt as x,bt as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as e,n as t}from"./config-CMtnYZR9.js";e();export{t as enableConfigs};
|
|
@@ -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"./Settings-B-EscJrZ.js";var i,a;e((()=>{n(),i=t(),a=async(e,t)=>(0,i.jsx)(r,{onClose:e,context:t,defaultTab:`Config`})}))();export{a as call};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{n as t,t as n}from"./figures-5ThXQEtq.js";import{I as r,P as i,s as a,t as o}from"./src-BX54x08P.js";import{t as s}from"./jsx-runtime-Bb4Xn-E0.js";import{In as c,Nn as l,mn as u,pn as d}from"./settings-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{n as t,t as n}from"./figures-5ThXQEtq.js";import{I as r,P as i,s as a,t as o}from"./src-BX54x08P.js";import{t as s}from"./jsx-runtime-Bb4Xn-E0.js";import{In as c,Nn as l,mn as u,pn as d}from"./settings-CA-5Px85.js";import{A_ as f,Bx as p,H_ as m,M_ as h,U_ as g,Xi as _}from"./loadAgentsDir-CgDTTnMX.js";import{_ as v,g as y}from"./startupProfiler-C_xcIvEA.js";import{At as b,Ot as x,Yt as S,in as C,rn as w,tn as T}from"./prompt-CduUPV0s.js";import{n as E,t as D}from"./staticRender-Bt82RvGc.js";function O(e){let t=[];return k(e,t),A(e,t),M(e,t),ee(e,t),N(e,t),t.sort((e,t)=>e.severity===t.severity?(t.savingsTokens??0)-(e.savingsTokens??0):e.severity===`warning`?-1:1),t}function k(e,t){e.percentage>=L&&t.push({severity:`warning`,title:`Context is ${e.percentage}% full`,detail:e.isAutoCompactEnabled?`Autocompact will trigger soon, which discards older messages. Use /compact now to control what gets kept.`:`Autocompact is disabled. Use /compact to free space, or enable autocompact in /config.`})}function A(e,t){if(e.messageBreakdown)for(let n of e.messageBreakdown.toolCallsByType){let r=n.callTokens+n.resultTokens,i=r/e.rawMaxTokens*100;if(i<P||r<F)continue;let a=j(n.name,r,i);a&&t.push(a)}}function j(e,t,n){let r=y(t);switch(e){case w:return{severity:`warning`,title:`Bash results using ${r} tokens (${n.toFixed(0)}%)`,detail:`Pipe output through head, tail, or grep to reduce result size. Avoid cat on large files — use Read with offset/limit instead.`,savingsTokens:Math.floor(t*.5)};case S:return{severity:`info`,title:`Read results using ${r} tokens (${n.toFixed(0)}%)`,detail:`Use offset and limit parameters to read only the sections you need. Avoid re-reading entire files when you only need a few lines.`,savingsTokens:Math.floor(t*.3)};case x:return{severity:`info`,title:`Grep results using ${r} tokens (${n.toFixed(0)}%)`,detail:`Add more specific patterns or use the glob or type parameter to narrow file types. Consider Glob for file discovery instead of Grep.`,savingsTokens:Math.floor(t*.3)};default:return n>=20?{severity:`info`,title:`${e} using ${r} tokens (${n.toFixed(0)}%)`,detail:`This tool is consuming a significant portion of context.`,savingsTokens:Math.floor(t*.2)}:null}}function M(e,t){if(!e.messageBreakdown)return;let n=e.messageBreakdown.toolCallsByType.find(e=>e.name===S);if(!n)return;let r=n.callTokens+n.resultTokens,i=r/e.rawMaxTokens*100,a=n.resultTokens/e.rawMaxTokens*100;i>=P&&r>=F||a>=I&&n.resultTokens>=F&&t.push({severity:`info`,title:`File reads using ${y(n.resultTokens)} tokens (${a.toFixed(0)}%)`,detail:`If you are re-reading files, consider referencing earlier reads. Use offset/limit for large files.`,savingsTokens:Math.floor(n.resultTokens*.3)})}function ee(e,t){let n=e.memoryFiles.reduce((e,t)=>e+t.tokens,0),r=n/e.rawMaxTokens*100;if(r>=R&&n>=z){let i=[...e.memoryFiles].sort((e,t)=>t.tokens-e.tokens).slice(0,3).map(e=>`${l(e.path)} (${y(e.tokens)})`).join(`, `);t.push({severity:`info`,title:`Memory files using ${y(n)} tokens (${r.toFixed(0)}%)`,detail:`Largest: ${i}. Use /memory to review and prune stale entries.`,savingsTokens:Math.floor(n*.3)})}}function N(e,t){!e.isAutoCompactEnabled&&e.percentage>=50&&e.percentage<L&&t.push({severity:`info`,title:`Autocompact is disabled`,detail:`Without autocompact, you will hit context limits and lose the conversation. Enable it in /config or use /compact manually.`})}var P,F,I,L,R,z,B=e((()=>{C(),T(),b(),c(),v(),P=15,F=1e4,I=5,L=80,R=5,z=5e3}));function V({suggestions:e}){return e.length===0?null:(0,H.jsxs)(r,{flexDirection:`column`,marginTop:1,children:[(0,H.jsx)(i,{bold:!0,children:`Suggestions`}),e.map((e,t)=>(0,H.jsxs)(r,{flexDirection:`column`,marginTop:t===0?0:1,children:[(0,H.jsxs)(r,{children:[(0,H.jsx)(a,{status:e.severity,withSpace:!0}),(0,H.jsx)(i,{bold:!0,children:e.title}),e.savingsTokens?(0,H.jsxs)(i,{dimColor:!0,children:[` `,n.arrowRight,` save ~`,y(e.savingsTokens)]}):null]}),(0,H.jsx)(r,{marginLeft:2,children:(0,H.jsx)(i,{dimColor:!0,children:e.detail})})]},t))]})}var H,U=e((()=>{t(),o(),v(),H=s()}));function W(){return null}function G(e){let t=new Map;for(let n of e){let e=d(n.source),r=t.get(e)||[];r.push(n),t.set(e,r)}for(let[e,n]of t.entries())t.set(e,n.sort((e,t)=>t.tokens-e.tokens));let n=new Map;for(let e of Y){let r=t.get(e);r&&n.set(e,r)}return n}function K({data:e}){let{categories:t,totalTokens:n,rawMaxTokens:a,percentage:o,gridRows:s,model:c,memoryFiles:u,mcpTools:d,deferredBuiltinTools:f=[],agents:p,skills:m,cacheHitRate:h,cacheThreshold:g}=e,_=t.filter(e=>e.tokens>0&&e.name!==`Free space`&&e.name!==J&&!e.isDeferred),v=t.some(e=>e.isDeferred&&e.name.includes(`MCP`)),b=t.find(e=>e.name===J);return(0,q.jsxs)(r,{flexDirection:`column`,paddingLeft:1,children:[(0,q.jsx)(i,{bold:!0,children:`Context Usage`}),(0,q.jsxs)(r,{flexDirection:`row`,gap:2,children:[(0,q.jsx)(r,{flexDirection:`column`,flexShrink:0,children:s.map((e,t)=>(0,q.jsx)(r,{flexDirection:`row`,marginLeft:-1,children:e.map((e,t)=>e.categoryName===`Free space`?(0,q.jsx)(i,{dimColor:!0,children:`⛶ `},t):e.categoryName===J?(0,q.jsx)(i,{color:e.color,children:`⛝ `},t):(0,q.jsx)(i,{color:e.color,children:e.squareFullness>=.7?`⛁ `:`⛀ `},t))},t))}),(0,q.jsxs)(r,{flexDirection:`column`,gap:0,flexShrink:0,children:[(0,q.jsxs)(i,{dimColor:!0,children:[c,` · `,y(n),`/`,y(a),` tokens (`,o,`%)`]}),(0,q.jsx)(W,{}),h!==void 0&&g!==void 0&&(0,q.jsxs)(i,{color:h<g?`warning`:void 0,children:[`Cache hit rate: `,h.toFixed(0),`%`,h<g?` (below ${g}% threshold)`:``]}),(0,q.jsx)(i,{children:` `}),(0,q.jsx)(i,{dimColor:!0,italic:!0,children:`Estimated usage by category`}),_.map((e,t)=>{let n=y(e.tokens),o=e.isDeferred?`N/A`:`${(e.tokens/a*100).toFixed(1)}%`,s=e.name===J,c=e.name,l=e.isDeferred?` `:s?`⛝`:`⛁`;return(0,q.jsxs)(r,{children:[(0,q.jsx)(i,{color:e.color,children:l}),(0,q.jsxs)(i,{children:[` `,c,`: `]}),(0,q.jsxs)(i,{dimColor:!0,children:[n,` tokens (`,o,`)`]})]},t)}),(t.find(e=>e.name===`Free space`)?.tokens??0)>0&&(0,q.jsxs)(r,{children:[(0,q.jsx)(i,{dimColor:!0,children:`⛶`}),(0,q.jsx)(i,{children:` Free space: `}),(0,q.jsxs)(i,{dimColor:!0,children:[y(t.find(e=>e.name===`Free space`)?.tokens||0),` (`,((t.find(e=>e.name===`Free space`)?.tokens||0)/a*100).toFixed(1),`%)`]})]}),b&&b.tokens>0&&(0,q.jsxs)(r,{children:[(0,q.jsx)(i,{color:b.color,children:`⛝`}),(0,q.jsxs)(i,{dimColor:!0,children:[` `,b.name,`: `]}),(0,q.jsxs)(i,{dimColor:!0,children:[y(b.tokens),` tokens (`,(b.tokens/a*100).toFixed(1),`%)`]})]})]})]}),(0,q.jsxs)(r,{flexDirection:`column`,marginLeft:-1,children:[d.length>0&&(0,q.jsxs)(r,{flexDirection:`column`,marginTop:1,children:[(0,q.jsxs)(r,{children:[(0,q.jsx)(i,{bold:!0,children:`MCP tools`}),(0,q.jsxs)(i,{dimColor:!0,children:[` · /mcp`,v?` (loaded on-demand)`:``]})]}),d.some(e=>e.isLoaded)&&(0,q.jsxs)(r,{flexDirection:`column`,marginTop:1,children:[(0,q.jsx)(i,{dimColor:!0,children:`Loaded`}),d.filter(e=>e.isLoaded).map((e,t)=>(0,q.jsxs)(r,{children:[(0,q.jsxs)(i,{children:[`└ `,e.name,`: `]}),(0,q.jsxs)(i,{dimColor:!0,children:[y(e.tokens),` tokens`]})]},t))]}),v&&d.some(e=>!e.isLoaded)&&(0,q.jsxs)(r,{flexDirection:`column`,marginTop:1,children:[(0,q.jsx)(i,{dimColor:!0,children:`Available`}),d.filter(e=>!e.isLoaded).map((e,t)=>(0,q.jsx)(r,{children:(0,q.jsxs)(i,{dimColor:!0,children:[`└ `,e.name]})},t))]}),!v&&d.map((e,t)=>(0,q.jsxs)(r,{children:[(0,q.jsxs)(i,{children:[`└ `,e.name,`: `]}),(0,q.jsxs)(i,{dimColor:!0,children:[y(e.tokens),` tokens`]})]},t))]}),p.length>0&&(0,q.jsxs)(r,{flexDirection:`column`,marginTop:1,children:[(0,q.jsxs)(r,{children:[(0,q.jsx)(i,{bold:!0,children:`Custom agents`}),(0,q.jsx)(i,{dimColor:!0,children:` · /agents`})]}),Array.from(G(p).entries()).map(([e,t])=>(0,q.jsxs)(r,{flexDirection:`column`,marginTop:1,children:[(0,q.jsx)(i,{dimColor:!0,children:e}),t.map((e,t)=>(0,q.jsxs)(r,{children:[(0,q.jsxs)(i,{children:[`└ `,e.agentType,`: `]}),(0,q.jsxs)(i,{dimColor:!0,children:[y(e.tokens),` tokens`]})]},t))]},e))]}),u.length>0&&(0,q.jsxs)(r,{flexDirection:`column`,marginTop:1,children:[(0,q.jsxs)(r,{children:[(0,q.jsx)(i,{bold:!0,children:`Memory files`}),(0,q.jsx)(i,{dimColor:!0,children:` · /memory`})]}),u.map((e,t)=>(0,q.jsxs)(r,{children:[(0,q.jsxs)(i,{children:[`└ `,l(e.path),`: `]}),(0,q.jsxs)(i,{dimColor:!0,children:[y(e.tokens),` tokens`]})]},t))]}),m&&m.tokens>0&&(0,q.jsxs)(r,{flexDirection:`column`,marginTop:1,children:[(0,q.jsxs)(r,{children:[(0,q.jsx)(i,{bold:!0,children:`Skills`}),(0,q.jsx)(i,{dimColor:!0,children:` · /skills`})]}),Array.from(G(m.skillFrontmatter).entries()).map(([e,t])=>(0,q.jsxs)(r,{flexDirection:`column`,marginTop:1,children:[(0,q.jsx)(i,{dimColor:!0,children:e}),t.map((e,t)=>(0,q.jsxs)(r,{children:[(0,q.jsxs)(i,{children:[`└ `,e.name,`: `]}),(0,q.jsxs)(i,{dimColor:!0,children:[y(e.tokens),` tokens`]})]},t))]},e))]})]}),(0,q.jsx)(V,{suggestions:O(e)})]})}var q,J,Y,X=e((()=>{o(),B(),c(),v(),u(),U(),q=s(),J=`Autocompact buffer`,Y=[`Project`,`User`,`Managed`,`Plugin`,`Built-in`]}));function Z(e){return p(e)}async function Q(e,t){let{messages:n,getAppState:r,options:{mainLoopModel:i,tools:a}}=t,o=Z(n),{messages:s}=await g(o),c=process.stdout.columns||80,l=r();return e(await E((0,$.jsx)(K,{data:await f(s,i,async()=>l.toolPermissionContext,a,l.agentDefinitions,c,t,void 0,o)}))),null}var $;e((()=>{X(),m(),h(),_(),D(),$=s()}))();export{Q as call};
|
package/dist/chunks/{context-noninteractive-B03nuxfN.js → context-noninteractive-BRoUkLxt.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-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{mn as t,pn as n}from"./settings-CA-5Px85.js";import{A_ as r,Bx as i,H_ as a,M_ as o,U_ as s,Xi as c}from"./loadAgentsDir-CgDTTnMX.js";import{_ as l,g as u}from"./startupProfiler-C_xcIvEA.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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,r as t,t as n}from"./context-noninteractive-BRoUkLxt.js";t();export{n as call,e as collectContextData};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,t}from"./conversation-DrEE7olO.js";e();export{t as clearConversation};
|
|
@@ -1 +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-
|
|
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-CgDTTnMX.js";import{o as B,s as V}from"./log-D98mO6yJ.js";import{n as H}from"./analytics-COpjZpvd.js";import{n as U,t as W}from"./caches-DaOhyHsb.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};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Ht as e,Ut as t}from"./settings-
|
|
1
|
+
import{Ht as e,Ut as t}from"./settings-CA-5Px85.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-CgDTTnMX.js";import{n as P,t as F}from"./cwd-DrEEb4f5.js";import{o as I,s as L}from"./log-D98mO6yJ.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-COYqIvvr.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};
|
|
@@ -1,4 +1,4 @@
|
|
|
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:
|
|
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,Jr as y,Qn as re,Vr as ie}from"./settings-CA-5Px85.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-CgDTTnMX.js";import{S as _e,c as A,i as ve,x as j}from"./debug-NBJH_NxR.js";import{a as ye,o as be,s as xe}from"./log-D98mO6yJ.js";import{n as Se}from"./analytics-COpjZpvd.js";import{S as Ce,_ as we,d as Te,p as Ee}from"./startupProfiler-C_xcIvEA.js";import{f as De,u as Oe}from"./model-BidsdFhX.js";import{n as ke,t as M}from"./useExitOnCtrlCDWithKeybindings-z3RiW9jT.js";import{n as N,t as Ae}from"./TextInput-eYxBj_1-.js";import{n as je,t as Me}from"./select-BNeFiLNP.js";import{r as Ne,t as Pe}from"./Spinner-ByYcKk2V.js";import{l as Fe,u as Ie}from"./SpinnerGlyph-4aVLQdJf.js";import{t as Le}from"./SearchBox-zA5QwIpO.js";import{n as Re,t as ze}from"./useSearchInput-r534PKo1.js";import{n as P,t as F}from"./Messages-SKlSLbVo.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,_]),y=K.useCallback(e=>e?`▼ `:`▶ `,[]),re=K.useCallback(e=>` ▸ `,[]),ie=p??y,b=m??re,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 re=ne(),b=i===void 0?re.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(()=>{ie().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(),y(),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: ${re(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 ${re(s,e=>e.messages?.length>0)}/${a.length} logs with transcripts`);let c=`Sessions:
|
|
2
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
3
|
`)}
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e,r as t}from"./rolldown-runtime-DaDcL9Zw.js";import{n,t as r}from"./memoize-BK3gG5ob.js";import{i,l as a,o}from"./envUtils-QyzA_cFM.js";import{n as s,t as c}from"./defineProperty-C-QyHrDq.js";import{Pt as l,at as u}from"./state-CXY-q5gr.js";import{a as ee,n as d}from"./process-gEbdy6uY.js";import{homedir as f}from"os";import*as p from"path";import{dirname as te,join as ne,resolve as re}from"path";import*as m from"fs";import{closeSync as ie,fsyncSync as ae,openSync as oe,writeFileSync as se}from"fs";import{appendFile as ce,mkdir as le,open as ue,readFile as de,readdir as fe,rename as pe,rm as me,rmdir as he,stat as ge,symlink as _e,unlink as ve}from"fs/promises";function ye({writeFn:e,flushIntervalMs:t=1e3,maxBufferSize:n=100,maxBufferBytes:r=1/0,immediateMode:i=!1}){let a=[],o=0,s=null,c=null;function l(){s&&(clearTimeout(s),s=null)}function u(){c&&(e(c.join(``)),c=null),a.length!==0&&(e(a.join(``)),a=[],o=0,l())}function ee(){s||(s=setTimeout(u,t))}function d(){if(c){c.push(...a),a=[],o=0,l();return}let t=a;a=[],o=0,l(),c=t,setImmediate(()=>{let t=c;c=null,t&&e(t.join(``))})}return{write(t){if(i){e(t);return}a.push(t),o+=t.length,ee(),(a.length>=n||o>=r)&&d()},flush:u,dispose(){u()}}}var be=e((()=>{}));function xe(e){return Ce.add(e),()=>Ce.delete(e)}async function Se(){await Promise.all(Array.from(Ce).map(e=>e()))}var Ce,we=e((()=>{Ce=new Set}));function Te(e){let t=[],n=e.match(/^MCP server ["']([^"']+)["']/);if(n?.[1])t.push(`mcp`),t.push(n[1].toLowerCase());else{let n=e.match(/^([^:[]+):/);n?.[1]&&t.push(n[1].trim().toLowerCase())}let r=e.match(/^\[([^\]]+)]/);r?.[1]&&t.push(r[1].trim().toLowerCase()),e.toLowerCase().includes(`1p event:`)&&t.push(`1p`);let i=e.match(/:\s*([^:]+?)(?:\s+(?:type|mode|status|event))?:/);if(i?.[1]){let e=i[1].trim().toLowerCase();e.length<30&&!e.includes(` `)&&t.push(e)}return Array.from(new Set(t))}function Ee(e,t){return t?e.length===0?!1:t.isExclusive?!e.some(e=>t.exclude.includes(e)):e.some(e=>t.include.includes(e)):!0}function De(e,t){return!t||Ee(Te(e),t)}var Oe,ke=e((()=>{r(),Oe=n(e=>{if(!e||e.trim()===``)return null;let t=e.split(`,`).map(e=>e.trim()).filter(Boolean);if(t.length===0)return null;let n=t.some(e=>e.startsWith(`!`)),r=t.some(e=>!e.startsWith(`!`));if(n&&r)return null;let i=t.map(e=>e.replace(/^!/,``).toLowerCase());return{include:n?[]:i,exclude:n?i:[],isExclusive:n}})}));function h(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n}function g(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)}var _=e((()=>{})),Ae,je=e((()=>{Ae=function(){let{crypto:e}=globalThis;if(e?.randomUUID)return Ae=e.randomUUID.bind(e),e.randomUUID();let t=new Uint8Array(1),n=e?()=>e.getRandomValues(t)[0]:()=>Math.random()*255&255;return`10000000-1000-4000-8000-100000000000`.replace(/[018]/g,e=>(e^n()&15>>e/4).toString(16))}}));function Me(e){return typeof e==`object`&&!!e&&(`name`in e&&e.name===`AbortError`||`message`in e&&String(e.message).includes(`FetchRequestCanceledException`))}var Ne,Pe=e((()=>{Ne=e=>{if(e instanceof Error)return e;if(typeof e==`object`&&e){try{if(Object.prototype.toString.call(e)===`[object Error]`){let t=Error(e.message,e.cause?{cause:e.cause}:{});return e.stack&&(t.stack=e.stack),e.cause&&!t.cause&&(t.cause=e.cause),e.name&&(t.name=e.name),t}}catch{}try{return Error(JSON.stringify(e))}catch{}}return Error(e)}})),v,y,b,Fe,Ie,Le,Re,ze,Be,Ve,He,Ue,We,x=e((()=>{Pe(),v=class extends Error{},y=class e extends v{constructor(t,n,r,i,a){super(`${e.makeMessage(t,n,r)}`),this.status=t,this.headers=i,this.requestID=i?.get(`request-id`),this.error=n,this.type=a??null}static makeMessage(e,t,n){let r=t?.message?typeof t.message==`string`?t.message:JSON.stringify(t.message):t?JSON.stringify(t):n;return e&&r?`${e} ${r}`:e?`${e} status code (no body)`:r||`(no status code or body)`}static generate(t,n,r,i){if(!t||!i)return new Fe({message:r,cause:Ne(n)});let a=n,o=a?.error?.type;return t===400?new Le(t,a,r,i,o):t===401?new Re(t,a,r,i,o):t===403?new ze(t,a,r,i,o):t===404?new Be(t,a,r,i,o):t===409?new Ve(t,a,r,i,o):t===422?new He(t,a,r,i,o):t===429?new Ue(t,a,r,i,o):t>=500?new We(t,a,r,i,o):new e(t,a,r,i,o)}},b=class extends y{constructor({message:e}={}){super(void 0,void 0,e||`Request was aborted.`,void 0)}},Fe=class extends y{constructor({message:e,cause:t}){super(void 0,void 0,e||`Connection error.`,void 0),t&&(this.cause=t)}},Ie=class extends Fe{constructor({message:e}={}){super({message:e??`Request timed out.`})}},Le=class extends y{},Re=class extends y{},ze=class extends y{},Be=class extends y{},Ve=class extends y{},He=class extends y{},Ue=class extends y{},We=class extends y{}}));function Ge(e){return typeof e==`object`?e??{}:{}}function Ke(e){if(!e)return!0;for(let t in e)return!1;return!0}function qe(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var Je,Ye,Xe,Ze,Qe,$e,et=e((()=>{x(),Je=/^[a-z][a-z0-9+.-]*:/i,Ye=e=>Je.test(e),Xe=e=>(Xe=Array.isArray,Xe(e)),Ze=Xe,Qe=(e,t)=>{if(typeof t!=`number`||!Number.isInteger(t))throw new v(`${e} must be an integer`);if(t<0)throw new v(`${e} must be a positive integer`);return t},$e=e=>{try{return JSON.parse(e)}catch{return}}})),tt,nt=e((()=>{tt=e=>new Promise(t=>setTimeout(t,e))})),S,rt=e((()=>{S=`0.81.0`}));function it(){return typeof Deno<`u`&&Deno.build!=null?`deno`:typeof EdgeRuntime<`u`?`edge`:Object.prototype.toString.call(globalThis.process===void 0?0:globalThis.process)===`[object process]`?`node`:`unknown`}function at(){if(typeof navigator>`u`||!navigator)return null;for(let{key:e,pattern:t}of[{key:`edge`,pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`ie`,pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`ie`,pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`chrome`,pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`firefox`,pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`safari`,pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}]){let n=t.exec(navigator.userAgent);if(n)return{browser:e,version:`${n[1]||0}.${n[2]||0}.${n[3]||0}`}}return null}var ot,st,ct,lt,ut,dt,ft=e((()=>{rt(),ot=()=>typeof window<`u`&&window.document!==void 0&&typeof navigator<`u`,st=()=>{let e=it();if(e===`deno`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":S,"X-Stainless-OS":lt(Deno.build.os),"X-Stainless-Arch":ct(Deno.build.arch),"X-Stainless-Runtime":`deno`,"X-Stainless-Runtime-Version":typeof Deno.version==`string`?Deno.version:Deno.version?.deno??`unknown`};if(typeof EdgeRuntime<`u`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":S,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":`edge`,"X-Stainless-Runtime-Version":globalThis.process.version};if(e===`node`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":S,"X-Stainless-OS":lt(globalThis.process.platform??`unknown`),"X-Stainless-Arch":ct(globalThis.process.arch??`unknown`),"X-Stainless-Runtime":`node`,"X-Stainless-Runtime-Version":globalThis.process.version??`unknown`};let t=at();return t?{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":S,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`unknown`,"X-Stainless-Runtime":`browser:${t.browser}`,"X-Stainless-Runtime-Version":t.version}:{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":S,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`unknown`,"X-Stainless-Runtime":`unknown`,"X-Stainless-Runtime-Version":`unknown`}},ct=e=>e===`x32`?`x32`:e===`x86_64`||e===`x64`?`x64`:e===`arm`?`arm`:e===`aarch64`||e===`arm64`?`arm64`:e?`other:${e}`:`unknown`,lt=e=>(e=e.toLowerCase(),e.includes(`ios`)?`iOS`:e===`android`?`Android`:e===`darwin`?`MacOS`:e===`win32`?`Windows`:e===`freebsd`?`FreeBSD`:e===`openbsd`?`OpenBSD`:e===`linux`?`Linux`:e?`Other:${e}`:`Unknown`),dt=()=>ut??(ut=st())}));function pt(){if(typeof fetch<`u`)return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new Anthropic({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function mt(...e){let t=globalThis.ReadableStream;if(t===void 0)throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new t(...e)}function ht(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return mt({start(){},async pull(e){let{done:n,value:r}=await t.next();n?e.close():e.enqueue(r)},async cancel(){await t.return?.()}})}function gt(e){if(e[Symbol.asyncIterator])return e;let t=e.getReader();return{async next(){try{let e=await t.read();return e?.done&&t.releaseLock(),e}catch(e){throw t.releaseLock(),e}},async return(){let e=t.cancel();return t.releaseLock(),await e,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function _t(e){if(typeof e!=`object`||!e)return;if(e[Symbol.asyncIterator]){await e[Symbol.asyncIterator]().return?.();return}let t=e.getReader(),n=t.cancel();t.releaseLock(),await n}var vt=e((()=>{})),yt,bt=e((()=>{yt=({headers:e,body:t})=>({bodyHeaders:{"content-type":`application/json`},body:JSON.stringify(t)})}));function xt(e){return Object.entries(e).filter(([e,t])=>t!==void 0).map(([e,t])=>{if(typeof t==`string`||typeof t==`number`||typeof t==`boolean`)return`${encodeURIComponent(e)}=${encodeURIComponent(t)}`;if(t===null)return`${encodeURIComponent(e)}=`;throw new v(`Cannot stringify type ${typeof t}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join(`&`)}var St=e((()=>{x()}));function Ct(e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function wt(e){let t;return(Et??(t=new globalThis.TextEncoder,Et=t.encode.bind(t)))(e)}function Tt(e){let t;return(Dt??(t=new globalThis.TextDecoder,Dt=t.decode.bind(t)))(e)}var Et,Dt,Ot=e((()=>{}));function kt(e,t){for(let n=t??0;n<e.length;n++){if(e[n]===10)return{preceding:n,index:n+1,carriage:!1};if(e[n]===13)return{preceding:n,index:n+1,carriage:!0}}return null}function At(e){for(let t=0;t<e.length-1;t++){if(e[t]===10&&e[t+1]===10||e[t]===13&&e[t+1]===13)return t+2;if(e[t]===13&&e[t+1]===10&&t+3<e.length&&e[t+2]===13&&e[t+3]===10)return t+4}return-1}var C,w,jt,Mt=e((()=>{_(),Ot(),jt=class{constructor(){C.set(this,void 0),w.set(this,void 0),h(this,C,new Uint8Array,`f`),h(this,w,null,`f`)}decode(e){if(e==null)return[];let t=e instanceof ArrayBuffer?new Uint8Array(e):typeof e==`string`?wt(e):e;h(this,C,Ct([g(this,C,`f`),t]),`f`);let n=[],r;for(;(r=kt(g(this,C,`f`),g(this,w,`f`)))!=null;){if(r.carriage&&g(this,w,`f`)==null){h(this,w,r.index,`f`);continue}if(g(this,w,`f`)!=null&&(r.index!==g(this,w,`f`)+1||r.carriage)){n.push(Tt(g(this,C,`f`).subarray(0,g(this,w,`f`)-1))),h(this,C,g(this,C,`f`).subarray(g(this,w,`f`)),`f`),h(this,w,null,`f`);continue}let e=g(this,w,`f`)===null?r.preceding:r.preceding-1,t=Tt(g(this,C,`f`).subarray(0,e));n.push(t),h(this,C,g(this,C,`f`).subarray(r.index),`f`),h(this,w,null,`f`)}return n}flush(){return g(this,C,`f`).length?this.decode(`
|
|
1
|
+
import{n as e,r as t}from"./rolldown-runtime-DaDcL9Zw.js";import{n,t as r}from"./memoize-BK3gG5ob.js";import{i,l as a,o}from"./envUtils-QyzA_cFM.js";import{n as s,t as c}from"./defineProperty-C-QyHrDq.js";import{Pt as l,at as u}from"./state-CXY-q5gr.js";import{n as ee,o as d}from"./process-CewWh77C.js";import{homedir as f}from"os";import*as p from"path";import{dirname as te,join as ne,resolve as re}from"path";import*as m from"fs";import{closeSync as ie,fsyncSync as ae,openSync as oe,writeFileSync as se}from"fs";import{appendFile as ce,mkdir as le,open as ue,readFile as de,readdir as fe,rename as pe,rm as me,rmdir as he,stat as ge,symlink as _e,unlink as ve}from"fs/promises";function ye({writeFn:e,flushIntervalMs:t=1e3,maxBufferSize:n=100,maxBufferBytes:r=1/0,immediateMode:i=!1}){let a=[],o=0,s=null,c=null;function l(){s&&(clearTimeout(s),s=null)}function u(){c&&(e(c.join(``)),c=null),a.length!==0&&(e(a.join(``)),a=[],o=0,l())}function ee(){s||(s=setTimeout(u,t))}function d(){if(c){c.push(...a),a=[],o=0,l();return}let t=a;a=[],o=0,l(),c=t,setImmediate(()=>{let t=c;c=null,t&&e(t.join(``))})}return{write(t){if(i){e(t);return}a.push(t),o+=t.length,ee(),(a.length>=n||o>=r)&&d()},flush:u,dispose(){u()}}}var be=e((()=>{}));function xe(e){return Ce.add(e),()=>Ce.delete(e)}async function Se(){await Promise.all(Array.from(Ce).map(e=>e()))}var Ce,we=e((()=>{Ce=new Set}));function Te(e){let t=[],n=e.match(/^MCP server ["']([^"']+)["']/);if(n?.[1])t.push(`mcp`),t.push(n[1].toLowerCase());else{let n=e.match(/^([^:[]+):/);n?.[1]&&t.push(n[1].trim().toLowerCase())}let r=e.match(/^\[([^\]]+)]/);r?.[1]&&t.push(r[1].trim().toLowerCase()),e.toLowerCase().includes(`1p event:`)&&t.push(`1p`);let i=e.match(/:\s*([^:]+?)(?:\s+(?:type|mode|status|event))?:/);if(i?.[1]){let e=i[1].trim().toLowerCase();e.length<30&&!e.includes(` `)&&t.push(e)}return Array.from(new Set(t))}function Ee(e,t){return t?e.length===0?!1:t.isExclusive?!e.some(e=>t.exclude.includes(e)):e.some(e=>t.include.includes(e)):!0}function De(e,t){return!t||Ee(Te(e),t)}var Oe,ke=e((()=>{r(),Oe=n(e=>{if(!e||e.trim()===``)return null;let t=e.split(`,`).map(e=>e.trim()).filter(Boolean);if(t.length===0)return null;let n=t.some(e=>e.startsWith(`!`)),r=t.some(e=>!e.startsWith(`!`));if(n&&r)return null;let i=t.map(e=>e.replace(/^!/,``).toLowerCase());return{include:n?[]:i,exclude:n?i:[],isExclusive:n}})}));function h(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n}function g(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)}var _=e((()=>{})),Ae,je=e((()=>{Ae=function(){let{crypto:e}=globalThis;if(e?.randomUUID)return Ae=e.randomUUID.bind(e),e.randomUUID();let t=new Uint8Array(1),n=e?()=>e.getRandomValues(t)[0]:()=>Math.random()*255&255;return`10000000-1000-4000-8000-100000000000`.replace(/[018]/g,e=>(e^n()&15>>e/4).toString(16))}}));function Me(e){return typeof e==`object`&&!!e&&(`name`in e&&e.name===`AbortError`||`message`in e&&String(e.message).includes(`FetchRequestCanceledException`))}var Ne,Pe=e((()=>{Ne=e=>{if(e instanceof Error)return e;if(typeof e==`object`&&e){try{if(Object.prototype.toString.call(e)===`[object Error]`){let t=Error(e.message,e.cause?{cause:e.cause}:{});return e.stack&&(t.stack=e.stack),e.cause&&!t.cause&&(t.cause=e.cause),e.name&&(t.name=e.name),t}}catch{}try{return Error(JSON.stringify(e))}catch{}}return Error(e)}})),v,y,b,Fe,Ie,Le,Re,ze,Be,Ve,He,Ue,We,x=e((()=>{Pe(),v=class extends Error{},y=class e extends v{constructor(t,n,r,i,a){super(`${e.makeMessage(t,n,r)}`),this.status=t,this.headers=i,this.requestID=i?.get(`request-id`),this.error=n,this.type=a??null}static makeMessage(e,t,n){let r=t?.message?typeof t.message==`string`?t.message:JSON.stringify(t.message):t?JSON.stringify(t):n;return e&&r?`${e} ${r}`:e?`${e} status code (no body)`:r||`(no status code or body)`}static generate(t,n,r,i){if(!t||!i)return new Fe({message:r,cause:Ne(n)});let a=n,o=a?.error?.type;return t===400?new Le(t,a,r,i,o):t===401?new Re(t,a,r,i,o):t===403?new ze(t,a,r,i,o):t===404?new Be(t,a,r,i,o):t===409?new Ve(t,a,r,i,o):t===422?new He(t,a,r,i,o):t===429?new Ue(t,a,r,i,o):t>=500?new We(t,a,r,i,o):new e(t,a,r,i,o)}},b=class extends y{constructor({message:e}={}){super(void 0,void 0,e||`Request was aborted.`,void 0)}},Fe=class extends y{constructor({message:e,cause:t}){super(void 0,void 0,e||`Connection error.`,void 0),t&&(this.cause=t)}},Ie=class extends Fe{constructor({message:e}={}){super({message:e??`Request timed out.`})}},Le=class extends y{},Re=class extends y{},ze=class extends y{},Be=class extends y{},Ve=class extends y{},He=class extends y{},Ue=class extends y{},We=class extends y{}}));function Ge(e){return typeof e==`object`?e??{}:{}}function Ke(e){if(!e)return!0;for(let t in e)return!1;return!0}function qe(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var Je,Ye,Xe,Ze,Qe,$e,et=e((()=>{x(),Je=/^[a-z][a-z0-9+.-]*:/i,Ye=e=>Je.test(e),Xe=e=>(Xe=Array.isArray,Xe(e)),Ze=Xe,Qe=(e,t)=>{if(typeof t!=`number`||!Number.isInteger(t))throw new v(`${e} must be an integer`);if(t<0)throw new v(`${e} must be a positive integer`);return t},$e=e=>{try{return JSON.parse(e)}catch{return}}})),tt,nt=e((()=>{tt=e=>new Promise(t=>setTimeout(t,e))})),S,rt=e((()=>{S=`0.81.0`}));function it(){return typeof Deno<`u`&&Deno.build!=null?`deno`:typeof EdgeRuntime<`u`?`edge`:Object.prototype.toString.call(globalThis.process===void 0?0:globalThis.process)===`[object process]`?`node`:`unknown`}function at(){if(typeof navigator>`u`||!navigator)return null;for(let{key:e,pattern:t}of[{key:`edge`,pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`ie`,pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`ie`,pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`chrome`,pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`firefox`,pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`safari`,pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}]){let n=t.exec(navigator.userAgent);if(n)return{browser:e,version:`${n[1]||0}.${n[2]||0}.${n[3]||0}`}}return null}var ot,st,ct,lt,ut,dt,ft=e((()=>{rt(),ot=()=>typeof window<`u`&&window.document!==void 0&&typeof navigator<`u`,st=()=>{let e=it();if(e===`deno`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":S,"X-Stainless-OS":lt(Deno.build.os),"X-Stainless-Arch":ct(Deno.build.arch),"X-Stainless-Runtime":`deno`,"X-Stainless-Runtime-Version":typeof Deno.version==`string`?Deno.version:Deno.version?.deno??`unknown`};if(typeof EdgeRuntime<`u`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":S,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":`edge`,"X-Stainless-Runtime-Version":globalThis.process.version};if(e===`node`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":S,"X-Stainless-OS":lt(globalThis.process.platform??`unknown`),"X-Stainless-Arch":ct(globalThis.process.arch??`unknown`),"X-Stainless-Runtime":`node`,"X-Stainless-Runtime-Version":globalThis.process.version??`unknown`};let t=at();return t?{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":S,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`unknown`,"X-Stainless-Runtime":`browser:${t.browser}`,"X-Stainless-Runtime-Version":t.version}:{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":S,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`unknown`,"X-Stainless-Runtime":`unknown`,"X-Stainless-Runtime-Version":`unknown`}},ct=e=>e===`x32`?`x32`:e===`x86_64`||e===`x64`?`x64`:e===`arm`?`arm`:e===`aarch64`||e===`arm64`?`arm64`:e?`other:${e}`:`unknown`,lt=e=>(e=e.toLowerCase(),e.includes(`ios`)?`iOS`:e===`android`?`Android`:e===`darwin`?`MacOS`:e===`win32`?`Windows`:e===`freebsd`?`FreeBSD`:e===`openbsd`?`OpenBSD`:e===`linux`?`Linux`:e?`Other:${e}`:`Unknown`),dt=()=>ut??(ut=st())}));function pt(){if(typeof fetch<`u`)return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new Anthropic({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function mt(...e){let t=globalThis.ReadableStream;if(t===void 0)throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new t(...e)}function ht(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return mt({start(){},async pull(e){let{done:n,value:r}=await t.next();n?e.close():e.enqueue(r)},async cancel(){await t.return?.()}})}function gt(e){if(e[Symbol.asyncIterator])return e;let t=e.getReader();return{async next(){try{let e=await t.read();return e?.done&&t.releaseLock(),e}catch(e){throw t.releaseLock(),e}},async return(){let e=t.cancel();return t.releaseLock(),await e,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function _t(e){if(typeof e!=`object`||!e)return;if(e[Symbol.asyncIterator]){await e[Symbol.asyncIterator]().return?.();return}let t=e.getReader(),n=t.cancel();t.releaseLock(),await n}var vt=e((()=>{})),yt,bt=e((()=>{yt=({headers:e,body:t})=>({bodyHeaders:{"content-type":`application/json`},body:JSON.stringify(t)})}));function xt(e){return Object.entries(e).filter(([e,t])=>t!==void 0).map(([e,t])=>{if(typeof t==`string`||typeof t==`number`||typeof t==`boolean`)return`${encodeURIComponent(e)}=${encodeURIComponent(t)}`;if(t===null)return`${encodeURIComponent(e)}=`;throw new v(`Cannot stringify type ${typeof t}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join(`&`)}var St=e((()=>{x()}));function Ct(e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}function wt(e){let t;return(Et??(t=new globalThis.TextEncoder,Et=t.encode.bind(t)))(e)}function Tt(e){let t;return(Dt??(t=new globalThis.TextDecoder,Dt=t.decode.bind(t)))(e)}var Et,Dt,Ot=e((()=>{}));function kt(e,t){for(let n=t??0;n<e.length;n++){if(e[n]===10)return{preceding:n,index:n+1,carriage:!1};if(e[n]===13)return{preceding:n,index:n+1,carriage:!0}}return null}function At(e){for(let t=0;t<e.length-1;t++){if(e[t]===10&&e[t+1]===10||e[t]===13&&e[t+1]===13)return t+2;if(e[t]===13&&e[t+1]===10&&t+3<e.length&&e[t+2]===13&&e[t+3]===10)return t+4}return-1}var C,w,jt,Mt=e((()=>{_(),Ot(),jt=class{constructor(){C.set(this,void 0),w.set(this,void 0),h(this,C,new Uint8Array,`f`),h(this,w,null,`f`)}decode(e){if(e==null)return[];let t=e instanceof ArrayBuffer?new Uint8Array(e):typeof e==`string`?wt(e):e;h(this,C,Ct([g(this,C,`f`),t]),`f`);let n=[],r;for(;(r=kt(g(this,C,`f`),g(this,w,`f`)))!=null;){if(r.carriage&&g(this,w,`f`)==null){h(this,w,r.index,`f`);continue}if(g(this,w,`f`)!=null&&(r.index!==g(this,w,`f`)+1||r.carriage)){n.push(Tt(g(this,C,`f`).subarray(0,g(this,w,`f`)-1))),h(this,C,g(this,C,`f`).subarray(g(this,w,`f`)),`f`),h(this,w,null,`f`);continue}let e=g(this,w,`f`)===null?r.preceding:r.preceding-1,t=Tt(g(this,C,`f`).subarray(0,e));n.push(t),h(this,C,g(this,C,`f`).subarray(r.index),`f`),h(this,w,null,`f`)}return n}flush(){return g(this,C,`f`).length?this.decode(`
|
|
2
2
|
`):[]}},C=new WeakMap,w=new WeakMap,jt.NEWLINE_CHARS=new Set([`
|
|
3
3
|
`,`\r`]),jt.NEWLINE_REGEXP=/\r\n|[\n\r]/g}));function Nt(){}function Pt(e,t,n){return!t||Ft[e]>Ft[n]?Nt:t[e].bind(t)}function T(e){let t=e.logger,n=e.logLevel??`off`;if(!t)return Lt;let r=Rt.get(t);if(r&&r[0]===n)return r[1];let i={error:Pt(`error`,t,n),warn:Pt(`warn`,t,n),info:Pt(`info`,t,n),debug:Pt(`debug`,t,n)};return Rt.set(t,[n,i]),i}var Ft,It,Lt,Rt,E,zt=e((()=>{et(),Ft={off:0,error:200,warn:300,info:400,debug:500},It=(e,t,n)=>{if(e){if(qe(Ft,e))return e;T(n).warn(`${t} was set to ${JSON.stringify(e)}, expected one of ${JSON.stringify(Object.keys(Ft))}`)}},Lt={error:Nt,warn:Nt,info:Nt,debug:Nt},Rt=new WeakMap,E=e=>(e.options&&(e.options={...e.options},delete e.options.headers),e.headers&&(e.headers=Object.fromEntries((e.headers instanceof Headers?[...e.headers]:Object.entries(e.headers)).map(([e,t])=>[e,e.toLowerCase()===`x-api-key`||e.toLowerCase()===`authorization`||e.toLowerCase()===`cookie`||e.toLowerCase()===`set-cookie`?`***`:t]))),`retryOfRequestLogID`in e&&(e.retryOfRequestLogID&&(e.retryOf=e.retryOfRequestLogID),delete e.retryOfRequestLogID),e)}));async function*Bt(e,t){if(!e.body)throw t.abort(),globalThis.navigator!==void 0&&globalThis.navigator.product===`ReactNative`?new v(`The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api`):new v(`Attempted to iterate over a response with no body`);let n=new Gt,r=new jt,i=gt(e.body);for await(let e of Vt(i))for(let t of r.decode(e)){let e=n.decode(t);e&&(yield e)}for(let e of r.flush()){let t=n.decode(e);t&&(yield t)}}async function*Vt(e){let t=new Uint8Array;for await(let n of e){if(n==null)continue;let e=n instanceof ArrayBuffer?new Uint8Array(n):typeof n==`string`?wt(n):n,r=new Uint8Array(t.length+e.length);r.set(t),r.set(e,t.length),t=r;let i;for(;(i=At(t))!==-1;)yield t.slice(0,i),t=t.slice(i)}t.length>0&&(yield t)}function Ht(e,t){let n=e.indexOf(t);return n===-1?[e,``,``]:[e.substring(0,n),t,e.substring(n+t.length)]}var Ut,Wt,Gt,Kt=e((()=>{_(),x(),vt(),Mt(),Pe(),et(),Ot(),zt(),Wt=class e{constructor(e,t,n){this.iterator=e,Ut.set(this,void 0),this.controller=t,h(this,Ut,n,`f`)}static fromSSEResponse(t,n,r){let i=!1,a=r?T(r):console;async function*o(){if(i)throw new v("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");i=!0;let e=!1;try{for await(let e of Bt(t,n)){if(e.event===`completion`)try{yield JSON.parse(e.data)}catch(t){throw a.error(`Could not parse message into JSON:`,e.data),a.error(`From chunk:`,e.raw),t}if(e.event===`message_start`||e.event===`message_delta`||e.event===`message_stop`||e.event===`content_block_start`||e.event===`content_block_delta`||e.event===`content_block_stop`)try{yield JSON.parse(e.data)}catch(t){throw a.error(`Could not parse message into JSON:`,e.data),a.error(`From chunk:`,e.raw),t}if(e.event!==`ping`&&e.event===`error`){let n=$e(e.data)??e.data,r=n?.error?.type;throw new y(void 0,n,void 0,t.headers,r)}}e=!0}catch(e){if(Me(e))return;throw e}finally{e||n.abort()}}return new e(o,n,r)}static fromReadableStream(t,n,r){let i=!1;async function*a(){let e=new jt,n=gt(t);for await(let t of n)for(let n of e.decode(t))yield n;for(let t of e.flush())yield t}async function*o(){if(i)throw new v("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");i=!0;let e=!1;try{for await(let t of a())e||t&&(yield JSON.parse(t));e=!0}catch(e){if(Me(e))return;throw e}finally{e||n.abort()}}return new e(o,n,r)}[(Ut=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let t=[],n=[],r=this.iterator(),i=e=>({next:()=>{if(e.length===0){let e=r.next();t.push(e),n.push(e)}return e.shift()}});return[new e(()=>i(t),this.controller,g(this,Ut,`f`)),new e(()=>i(n),this.controller,g(this,Ut,`f`))]}toReadableStream(){let e=this,t;return mt({async start(){t=e[Symbol.asyncIterator]()},async pull(e){try{let{value:n,done:r}=await t.next();if(r)return e.close();let i=wt(JSON.stringify(n)+`
|
|
4
4
|
`);e.enqueue(i)}catch(t){e.error(t)}},async cancel(){await t.return?.()}})}},Gt=class{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){if(e.endsWith(`\r`)&&(e=e.substring(0,e.length-1)),!e){if(!this.event&&!this.data.length)return null;let e={event:this.event,data:this.data.join(`
|
|
@@ -36,4 +36,4 @@ new Anthropic({ apiKey, dangerouslyAllowBrowser: true });
|
|
|
36
36
|
`),r=n[0]??e.message,i=n.slice(1).filter(e=>e.trim().startsWith(`at `));return i.length<=t?e.stack:[r,...i.slice(0,t)].join(`
|
|
37
37
|
`)}function ea(e){let t=Xi(e);return t===`ENOENT`||t===`EACCES`||t===`EPERM`||t===`ENOTDIR`||t===`ELOOP`}var ta,na,ra,ia,aa,oa,sa=e((()=>{Gi(),s(),ta=class extends Error{constructor(e){super(e),this.name=this.constructor.name}},na=class extends Error{},ra=class extends Error{constructor(e){super(e),this.name=`AbortError`}},ia=class extends Error{constructor(e,t,n){super(e),c(this,`filePath`,void 0),c(this,`defaultConfig`,void 0),this.name=`ConfigParseError`,this.filePath=t,this.defaultConfig=n}},aa=class extends Error{constructor(e,t,n,r){super(`Shell command failed`),c(this,`stdout`,void 0),c(this,`stderr`,void 0),c(this,`code`,void 0),c(this,`interrupted`,void 0),this.stdout=e,this.stderr=t,this.code=n,this.interrupted=r,this.name=`ShellError`}},oa=class extends Error{constructor(e,t){super(e),c(this,`telemetryMessage`,void 0),this.name=`TelemetrySafeError`,this.telemetryMessage=t??e}}}));function ca(){return fa}function la(e,t,n){return $`JSON.stringify(${e})`,JSON.stringify(e,t,n)}function ua(e,t){return $`structuredClone(${e})`,structuredClone(e,t)}function da(e,t,n){if($`fs.writeFileSync(${e}, ${t})`,typeof n==`object`&&n&&`flush`in n&&n.flush===!0){let r=typeof n==`object`&&`encoding`in n?n.encoding:void 0,i=typeof n==`object`&&`mode`in n?n.mode:void 0,a;try{a=oe(e,`w`,i),se(a,t,{encoding:r??void 0}),ae(a)}finally{a!==void 0&&ie(a)}}else se(e,t,n)}var fa,$,pa,ma=e((()=>{l(),Ja(),(()=>{let e=process.env.WORKMATE_SLOW_OPERATION_THRESHOLD_MS;if(e!==void 0){let t=Number(e);if(!Number.isNaN(t)&&t>=0)return t}return 1/0})(),fa={[Symbol.dispose](){}},$=ca,pa=(e,t)=>($`JSON.parse(${e})`,t===void 0?JSON.parse(e):JSON.parse(e,t))}));function ha(){var e=typeof SuppressedError==`function`?SuppressedError:function(e,t){var n=Error();return n.name=`SuppressedError`,n.error=e,n.suppressed=t,n},t={},n=[];function r(e,t){if(t!=null){if(Object(t)!==t)throw TypeError(`using declarations can only be used with objects, functions, null, or undefined.`);if(e)var r=t[Symbol.asyncDispose||Symbol.for(`Symbol.asyncDispose`)];if(r===void 0&&(r=t[Symbol.dispose||Symbol.for(`Symbol.dispose`)],e))var i=r;if(typeof r!=`function`)throw TypeError(`Object is not disposable.`);i&&(r=function(){try{i.call(t)}catch(e){return Promise.reject(e)}}),n.push({v:t,d:r,a:e})}else e&&n.push({d:t,a:e});return t}return{e:t,u:r.bind(null,!1),a:r.bind(null,!0),d:function(){var r,i=this.e,a=0;function o(){for(;r=n.pop();)try{if(!r.a&&a===1)return a=0,n.push(r),Promise.resolve().then(o);if(r.d){var e=r.d.call(r.v);if(r.a)return a|=2,Promise.resolve(e).then(o,s)}else a|=1}catch(e){return s(e)}if(a===1)return i===t?Promise.resolve():Promise.reject(i);if(i!==t)throw i}function s(n){return i=i===t?n:new e(n,i),o()}return o()}}}var ga=e((()=>{}));function _a(e,t){if(t.startsWith(`//`)||t.startsWith(`\\\\`))return{resolvedPath:t,isSymlink:!1,isCanonical:!1};try{let n=e.lstatSync(t);if(n.isFIFO()||n.isSocket()||n.isCharacterDevice()||n.isBlockDevice())return{resolvedPath:t,isSymlink:!1,isCanonical:!1};let r=e.realpathSync(t);return{resolvedPath:r,isSymlink:r!==t,isCanonical:!0}}catch{return{resolvedPath:t,isSymlink:!1,isCanonical:!1}}}function va(e,t,n){let{resolvedPath:r}=_a(e,t);return n.has(r)?!0:(n.add(r),!1)}function ya(e,t){let n=t,r=[];for(;n!==p.dirname(n);){let t;try{t=e.lstatSync(n)}catch{r.unshift(p.basename(n)),n=p.dirname(n);continue}if(t.isSymbolicLink())try{let t=e.realpathSync(n);return r.length===0?t:p.join(t,...r)}catch{let t=e.readlinkSync(n),i=p.isAbsolute(t)?t:p.resolve(p.dirname(n),t);return r.length===0?i:p.join(i,...r)}try{let t=e.realpathSync(n);if(t!==n)return r.length===0?t:p.join(t,...r)}catch{}return}}function ba(e){let t=e;t===`~`?t=f().normalize(`NFC`):t.startsWith(`~/`)&&(t=p.join(f().normalize(`NFC`),t.slice(2)));let n=new Set,r=xa();if(n.add(t),t.startsWith(`//`)||t.startsWith(`\\\\`))return Array.from(n);try{let e=t,i=new Set;for(let a=0;a<40&&!i.has(e);a++){if(i.add(e),!r.existsSync(e)){if(e===t){let e=ya(r,t);e!==void 0&&n.add(e)}break}let a=r.lstatSync(e);if(a.isFIFO()||a.isSocket()||a.isCharacterDevice()||a.isBlockDevice()||!a.isSymbolicLink())break;let o=r.readlinkSync(e),s=p.isAbsolute(o)?o:p.resolve(p.dirname(e),o);n.add(s),e=s}}catch{}let{resolvedPath:i,isSymlink:a}=_a(r,t);return a&&i!==t&&n.add(i),Array.from(n)}function xa(){return Ea}async function Sa(e,t,n){try{var r=ha();let i=r.a(await ue(e,`r`)),a=(await i.stat()).size;if(a<=t)return null;let o=Math.min(a-t,n),s=Buffer.allocUnsafe(o),c=0;for(;c<o;){let{bytesRead:e}=await i.read(s,c,o-c,t+c);if(e===0)break;c+=e}return{content:s.toString(`utf8`,0,c),bytesRead:c,bytesTotal:a}}catch(e){r.e=e}finally{await r.d()}}async function Ca(e,t){try{var n=ha();let r=n.a(await ue(e,`r`)),i=(await r.stat()).size;if(i===0)return{content:``,bytesRead:0,bytesTotal:0};let a=Math.max(0,i-t),o=i-a,s=Buffer.allocUnsafe(o),c=0;for(;c<o;){let{bytesRead:e}=await r.read(s,c,o-c,a+c);if(e===0)break;c+=e}return{content:s.toString(`utf8`,0,c),bytesRead:c,bytesTotal:i}}catch(e){n.e=e}finally{await n.d()}}async function*wa(e){let t=1024*4,n=await ue(e,`r`);try{let e=(await n.stat()).size,r=Buffer.alloc(0),i=Buffer.alloc(t);for(;e>0;){let a=Math.min(t,e);e-=a,await n.read(i,0,a,e);let o=Buffer.concat([i.subarray(0,a),r]),s=o.indexOf(10);if(s===-1){r=o;continue}r=Buffer.from(o.subarray(0,s));let c=o.toString(`utf8`,s+1).split(`
|
|
38
38
|
`);for(let e=c.length-1;e>=0;e--){let t=c[e];t&&(yield t)}}r.length>0&&(yield r.toString(`utf8`))}finally{await n.close()}}var Ta,Ea,Da=e((()=>{sa(),ma(),ga(),Ta={cwd(){return process.cwd()},existsSync(e){return $`fs.existsSync(${e})`,m.existsSync(e)},async stat(e){return ge(e)},async readdir(e){return fe(e,{withFileTypes:!0})},async unlink(e){return ve(e)},async rmdir(e){return he(e)},async rm(e,t){return me(e,t)},async mkdir(e,t){try{await le(e,{recursive:!0,...t})}catch(e){if(Xi(e)!==`EEXIST`)throw e}},async readFile(e,t){return de(e,{encoding:t.encoding})},async rename(e,t){return pe(e,t)},statSync(e){return $`fs.statSync(${e})`,m.statSync(e)},lstatSync(e){return $`fs.lstatSync(${e})`,m.lstatSync(e)},readFileSync(e,t){return $`fs.readFileSync(${e})`,m.readFileSync(e,{encoding:t.encoding})},readFileBytesSync(e){return $`fs.readFileBytesSync(${e})`,m.readFileSync(e)},readSync(e,t){$`fs.readSync(${e}, ${t.length} bytes)`;let n;try{n=m.openSync(e,`r`);let r=Buffer.alloc(t.length);return{buffer:r,bytesRead:m.readSync(n,r,0,t.length,0)}}finally{n&&m.closeSync(n)}},appendFileSync(e,t,n){if($`fs.appendFileSync(${e}, ${t.length} chars)`,n?.mode!==void 0)try{let r=m.openSync(e,`ax`,n.mode);try{m.appendFileSync(r,t)}finally{m.closeSync(r)}return}catch(e){if(Xi(e)!==`EEXIST`)throw e}m.appendFileSync(e,t)},copyFileSync(e,t){$`fs.copyFileSync(${e} → ${t})`,m.copyFileSync(e,t)},unlinkSync(e){$`fs.unlinkSync(${e})`,m.unlinkSync(e)},renameSync(e,t){$`fs.renameSync(${e} → ${t})`,m.renameSync(e,t)},linkSync(e,t){$`fs.linkSync(${e} → ${t})`,m.linkSync(e,t)},symlinkSync(e,t,n){$`fs.symlinkSync(${e} → ${t})`,m.symlinkSync(e,t,n)},readlinkSync(e){return $`fs.readlinkSync(${e})`,m.readlinkSync(e)},realpathSync(e){return $`fs.realpathSync(${e})`,m.realpathSync(e).normalize(`NFC`)},mkdirSync(e,t){$`fs.mkdirSync(${e})`;let n={recursive:!0};t?.mode!==void 0&&(n.mode=t.mode);try{m.mkdirSync(e,n)}catch(e){if(Xi(e)!==`EEXIST`)throw e}},readdirSync(e){return $`fs.readdirSync(${e})`,m.readdirSync(e,{withFileTypes:!0})},readdirStringSync(e){return $`fs.readdirStringSync(${e})`,m.readdirSync(e)},isDirEmptySync(e){return $`fs.isDirEmptySync(${e})`,this.readdirSync(e).length===0},rmdirSync(e){$`fs.rmdirSync(${e})`,m.rmdirSync(e)},rmSync(e,t){$`fs.rmSync(${e})`,m.rmSync(e,t)},createWriteStream(e){return m.createWriteStream(e)},async readFileBytes(e,t){if(t===void 0)return de(e);let n=await ue(e,`r`);try{let{size:e}=await n.stat(),r=Math.min(e,t),i=Buffer.allocUnsafe(r),a=0;for(;a<r;){let{bytesRead:e}=await n.read(i,a,r-a,a);if(e===0)break;a+=e}return a<r?i.subarray(0,a):i}finally{await n.close()}}},Ea=Ta})),Oa=t({getDebugLogPath:()=>Ia,getHasFormattedOutput:()=>ja,isDebugMode:()=>Ba,isDebugToStdErr:()=>Ha,logAntError:()=>La,logForDebugging:()=>Fa,setHasFormattedOutput:()=>Aa});function ka(e){return!Ba()||typeof process>`u`||process.versions===void 0||process.versions.node===void 0?!1:De(e,Va())}function Aa(e){Wa=e}function ja(){return Wa}async function Ma(e,t,n,r){e&&await le(t,{recursive:!0}).catch(()=>{}),await ce(n,r),qa()}function Na(){}function Pa(){if(!Ga){let e=null;Ga=ye({writeFn:t=>{let n=Ia(),r=te(n),i=e!==r;if(e=r,Ba()){if(i)try{xa().mkdirSync(r)}catch{}try{xa().appendFileSync(n,t)}catch{try{xa().mkdirSync(r),xa().appendFileSync(n,t)}catch{}}qa();return}Ka=Ka.then(Ma.bind(null,i,r,n,t)).catch(Na)},flushIntervalMs:1e3,maxBufferSize:100,immediateMode:Ba()}),xe(async()=>{Ga?.dispose(),await Ka})}return Ga}function Fa(e,{level:t}={level:`debug`}){if(Ra[t]<Ra[za()]||!ka(e))return;Wa&&e.includes(`
|
|
39
|
-
`)&&(e=la(e));let n=`${new Date().toISOString()} [${t.toUpperCase()}] ${e.trim()}\n`;if(Ha()){
|
|
39
|
+
`)&&(e=la(e));let n=`${new Date().toISOString()} [${t.toUpperCase()}] ${e.trim()}\n`;if(Ha()){d(n);return}Pa().write(n)}function Ia(){return Ua()??(process.env.WORKMATE_DEBUG_LOGS_DIR?re(process.env.WORKMATE_DEBUG_LOGS_DIR):null)??ne(i(),`debug`,`${u()}.txt`)}function La(e,t){t instanceof Error&&t.stack&&Fa(`[ANT-ONLY] ${e} stack trace:\n${t.stack}`,{level:`error`})}var Ra,za,Ba,Va,Ha,Ua,Wa,Ga,Ka,qa,Ja=e((()=>{r(),l(),be(),we(),ke(),o(),Da(),ee(),ma(),Ra={verbose:0,debug:1,info:2,warn:3,error:4},za=n(()=>{let e=process.env.WORKMATE_DEBUG_LOG_LEVEL?.toLowerCase().trim();return e&&Object.hasOwn(Ra,e)?e:`debug`}),Ba=n(()=>a(process.env.DEBUG)||a(process.env.DEBUG_SDK)||process.argv.includes(`--debug`)||process.argv.includes(`-d`)||Ha()||process.argv.some(e=>e.startsWith(`--debug=`))||Ua()!==null),Va=n(()=>{let e=process.argv.find(e=>e.startsWith(`--debug=`));return e?Oe(e.substring(8)):null}),Ha=n(()=>process.argv.includes(`--debug-to-stderr`)),Ua=n(()=>{for(let e=0;e<process.argv.length;e++){let t=process.argv[e];if(t.startsWith(`--debug-file=`))return re(t.substring(13));if(t===`--debug-file`&&e+1<process.argv.length)return re(process.argv[e+1])}return null}),Wa=!1,Ga=null,Ka=Promise.resolve(),qa=n(async()=>{try{let e=Ia(),t=ne(te(e),`latest`);await ve(t).catch(()=>{}),await _e(e,t)}catch{}})}));export{we as $,aa as A,$i as B,la as C,ta as D,ra as E,qi as F,F as G,Gi as H,sa as I,y as J,Fe as K,Ki as L,Yi as M,Xi as N,ia as O,Qi as P,x as Q,Zi as R,pa as S,da as T,Ui as U,Ji as V,Wi as W,Re as X,b as Y,Be as Z,Ca as _,Ba as a,ua as b,Fa as c,ba as d,xe as et,Da as f,_a as g,wa as h,Ja as i,oa as j,na as k,Aa as l,Sa as m,Ia as n,ye as nt,Ha as o,va as p,Ie as q,ja as r,be as rt,La as s,Oa as t,Se as tt,xa as u,ha as v,$ as w,ma as x,ga as y,ea as z};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DaDcL9Zw.js";import{Gr as t,Jr as n}from"./settings-CA-5Px85.js";import{n as r,t as i}from"./cwd-DrEEb4f5.js";import{c as a,i as o}from"./debug-NBJH_NxR.js";function s(){f.clear()}async function c(){let e=await l();return!e||e.host!==`github.com`?null:`${e.owner}/${e.name}`}async function l(){let e=i();if(f.has(e))return f.get(e)??null;try{let n=await t();if(a(`Git remote URL: ${n}`),!n)return a(`没找到 git remote URL`),f.set(e,null),null;let r=u(n);return a(`Parsed repository: ${r?`${r.host}/${r.owner}/${r.name}`:null} from URL: ${n}`),f.set(e,r),r}catch(t){return a(`Error detecting repository: ${t}`),f.set(e,null),null}}function u(e){let t=e.trim(),n=t.match(/^git@([^:]+):([^/]+)\/([^/]+?)(?:\.git)?$/);if(n?.[1]&&n[2]&&n[3])return d(n[1])?{host:n[1],owner:n[2],name:n[3]}:null;let r=t.match(/^(https?|ssh|git):\/\/(?:[^@]+@)?([^/:]+(?::\d+)?)\/([^/]+)\/([^/]+?)(?:\.git)?$/);if(r?.[1]&&r[2]&&r[3]&&r[4]){let e=r[1],t=r[2],n=t.split(`:`)[0]??``;return d(n)?{host:e===`https`||e===`http`?t:n,owner:r[3],name:r[4]}:null}return null}function d(e){if(!e.includes(`.`))return!1;let t=e.split(`.`).pop();return t?/^[a-zA-Z]+$/.test(t):!1}var f,p=e((()=>{r(),o(),n(),f=new Map}));export{c as n,p as r,s as t};
|