@qwen-code/qwen-code 0.21.12-preview.1 → 0.21.12-preview.3
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/chunks/{MaxSizedBox-VSAJNP52.js → MaxSizedBox-EIK4BHBQ.js} +6 -6
- package/chunks/{StandaloneSessionPicker-N5MC42M2.js → StandaloneSessionPicker-NHVJDRYD.js} +23 -24
- package/chunks/{acpAgent-GUV7LTDH.js → acpAgent-37UDZP64.js} +46 -44
- package/chunks/{agent-WJT3BALC.js → agent-FAWBG7PP.js} +3 -3
- package/chunks/{agent-headless-JRRUUVP3.js → agent-headless-SHK4PCCH.js} +3 -3
- package/chunks/{bridge-VB3BPG7G.js → bridge-DEAYNDCI.js} +5 -5
- package/chunks/{channel-settings-store-UM7JZEW7.js → channel-settings-store-UIGYER6R.js} +9 -9
- package/chunks/{chunk-4W25XH7F.js → chunk-2J53A6MV.js} +1 -1
- package/chunks/{chunk-DEVFUPC5.js → chunk-32VOOMEF.js} +2 -2
- package/chunks/{chunk-QIN5P5BP.js → chunk-3TT6MZHJ.js} +24 -24
- package/chunks/{chunk-45TYWBCB.js → chunk-3ZYX7AUR.js} +1 -1
- package/chunks/{chunk-M2S67TPJ.js → chunk-4ETA3KRC.js} +1 -1
- package/chunks/{chunk-DNRV2US3.js → chunk-4GLFFNP3.js} +3 -3
- package/chunks/{chunk-FWJRWCKU.js → chunk-4M2F7OG7.js} +4 -4
- package/chunks/{chunk-JWXBLIQL.js → chunk-575MI5K3.js} +4 -4
- package/chunks/{chunk-VESDV72K.js → chunk-5I5NMQCU.js} +1 -1
- package/chunks/{chunk-SZ36WFVK.js → chunk-5UPJ774B.js} +1 -1
- package/chunks/{chunk-XAAL4IFG.js → chunk-6AECVSVX.js} +3 -3
- package/chunks/{chunk-XDN6SMAQ.js → chunk-6ZIIHBNV.js} +2 -2
- package/chunks/{chunk-VO52SIZW.js → chunk-7D4KEFOT.js} +2 -2
- package/chunks/{chunk-RE6JD2BH.js → chunk-7LZ7DK4D.js} +1 -1
- package/chunks/{chunk-JO45C3OY.js → chunk-AJX4ITUG.js} +2 -2
- package/chunks/{chunk-PDKLO2DN.js → chunk-CG3OQDNY.js} +127 -4
- package/chunks/{chunk-M3QYOPGN.js → chunk-CZXQ4UZA.js} +1 -1
- package/chunks/{chunk-MLZCPGDX.js → chunk-DAX3G67A.js} +1 -1
- package/chunks/{chunk-7PBUQKMT.js → chunk-DYVCDQW2.js} +1 -1
- package/chunks/{chunk-MMH3GO4Z.js → chunk-EXG2R5UR.js} +6 -6
- package/chunks/{chunk-WQOE4IYF.js → chunk-EYY4IBPV.js} +1 -1
- package/chunks/{chunk-PRWGIKKU.js → chunk-FDWH6CBK.js} +2 -2
- package/chunks/{chunk-AMXMM7DH.js → chunk-FRH4SSGX.js} +2 -0
- package/chunks/{chunk-6LK2QPIA.js → chunk-GYBDYWMV.js} +1 -1
- package/chunks/{chunk-EAJESCBT.js → chunk-HBZUU4AE.js} +2 -2
- package/chunks/{chunk-U6LT3QBF.js → chunk-I4XSOFH2.js} +1 -1
- package/chunks/{chunk-67LXZ6LV.js → chunk-ILVATFYJ.js} +3 -3
- package/chunks/{chunk-ABGS4FDQ.js → chunk-J7DNMZFO.js} +1 -1
- package/chunks/{chunk-ZIS5I56G.js → chunk-JEMR2FTD.js} +3 -3
- package/chunks/{chunk-CX2MARRJ.js → chunk-JL3LC3CQ.js} +1 -1
- package/chunks/{chunk-YQB3HSQ7.js → chunk-JXK3WAP7.js} +3 -3
- package/chunks/{chunk-5AWARYOK.js → chunk-KIFRFCCB.js} +3 -3
- package/chunks/{chunk-OLU7GIF4.js → chunk-KNXA5XXK.js} +64 -13
- package/chunks/chunk-L34XSHIZ.js +28 -0
- package/chunks/{chunk-G4C5RLX6.js → chunk-L7T742G2.js} +1 -1
- package/chunks/{chunk-C2VGLLNA.js → chunk-LHY6HBRA.js} +4 -4
- package/chunks/{chunk-DGM2XA3R.js → chunk-M2PY7CNK.js} +1 -1
- package/chunks/{chunk-JRRZFO4A.js → chunk-M4OYAR6J.js} +2 -2
- package/chunks/{chunk-INQN4KIA.js → chunk-M6HXP2SG.js} +36 -33
- package/chunks/{chunk-3ZLUA4GV.js → chunk-M6SXIXBV.js} +5 -5
- package/chunks/{chunk-OSPIZEAM.js → chunk-MDFUBQAQ.js} +11 -11
- package/chunks/{chunk-OH5UKBLL.js → chunk-N3FJOQX7.js} +2 -2
- package/chunks/{chunk-L2O7DJIE.js → chunk-N5ULBHP3.js} +1 -1
- package/chunks/{chunk-EN2J77G7.js → chunk-NELCY6JT.js} +2 -0
- package/chunks/{chunk-5DDUYIY6.js → chunk-NPE3STIW.js} +3 -3
- package/chunks/{chunk-VUTOKX6F.js → chunk-O5G7IQGM.js} +2 -2
- package/chunks/{chunk-FMLUVVQ6.js → chunk-P64FPV3G.js} +1 -1
- package/chunks/{chunk-WFBG4MF5.js → chunk-RQVVXDHS.js} +3 -3
- package/chunks/{chunk-7N6WK2W6.js → chunk-RRQJPCRQ.js} +1 -1
- package/chunks/{chunk-LCWRQA5U.js → chunk-SSAOTDK7.js} +1 -1
- package/chunks/{chunk-T2VEHZH3.js → chunk-TEKFBSMY.js} +2 -2
- package/chunks/{chunk-3SIXC6QC.js → chunk-TRYJ3BVE.js} +2 -2
- package/chunks/{chunk-MJ5FMYVQ.js → chunk-TYCXSMZU.js} +2 -2
- package/chunks/{chunk-TKAEODJR.js → chunk-TYGKUOEG.js} +9 -0
- package/chunks/{chunk-GQW6P73F.js → chunk-U6PTKAOW.js} +1 -1
- package/chunks/{chunk-MM4XBXF7.js → chunk-UNCIELQJ.js} +1 -1
- package/chunks/{chunk-T5ZFG4CI.js → chunk-UOMZKPI5.js} +4 -4
- package/chunks/{chunk-VUFEW3SF.js → chunk-UZPWH6SP.js} +18 -18
- package/chunks/{chunk-ZXUMPZRT.js → chunk-V4MJ56RS.js} +2 -2
- package/chunks/{chunk-P5Y23G2L.js → chunk-V7RNNPGC.js} +1 -18
- package/chunks/{chunk-FLUYVAQZ.js → chunk-VQZXRLEX.js} +1 -1
- package/chunks/{chunk-7L64FSYQ.js → chunk-VWD7SNNN.js} +2 -2
- package/chunks/{chunk-XYVBANG5.js → chunk-WFRHWDBT.js} +289 -3
- package/chunks/{chunk-LOJO2RPW.js → chunk-XWUQ4IH5.js} +5 -5
- package/chunks/{chunk-OYLNJPY3.js → chunk-Y66OOMKS.js} +39 -273
- package/chunks/{chunk-AJL3SAZG.js → chunk-YI6UGZF5.js} +9 -9
- package/chunks/{chunk-A7M57KOL.js → chunk-YZJVVQD3.js} +4 -4
- package/chunks/{chunk-Q6FGSG6B.js → chunk-ZQSNP4TG.js} +1 -1
- package/chunks/{computer-use-YOYLKIHT.js → computer-use-S4JEU5P7.js} +3 -3
- package/chunks/{contextCommand-KZMV5EOI.js → contextCommand-2H5OH2HW.js} +5 -5
- package/chunks/{core-runtime-VFUL2R7U.js → core-runtime-IAQ4DD4Y.js} +3 -3
- package/chunks/{create-sub-session-EZW2NP4Z.js → create-sub-session-EKHKXJAA.js} +3 -3
- package/chunks/{daemon-status-provider-6L3ZKVVR.js → daemon-status-provider-LPYR2GXY.js} +9 -9
- package/chunks/{daemon-trust-policy-SZ3V4JEY.js → daemon-trust-policy-7JOBVFH3.js} +9 -9
- package/chunks/{daemon-trust-policy-monitor-HN34EJQ5.js → daemon-trust-policy-monitor-OU3NRHAR.js} +9 -9
- package/chunks/{deferred-core-runtime-Z462KPKI.js → deferred-core-runtime-SFT3KI2C.js} +3 -3
- package/chunks/{earlyInputCapture-GSE6MMC7.js → earlyInputCapture-27RPWE2D.js} +3 -3
- package/chunks/{edit-YJX2HMSA.js → edit-WXVZ7FHS.js} +3 -3
- package/chunks/{enter-worktree-H3GV4KQ7.js → enter-worktree-TYMVXFLA.js} +3 -3
- package/chunks/{enterPlanMode-6LPSFIN2.js → enterPlanMode-FT4MRU5N.js} +3 -3
- package/chunks/{environment-IVCQ3H7T.js → environment-Z6OMA34I.js} +5 -5
- package/chunks/{errors-2K5VJQVK.js → errors-YMXK2GG3.js} +5 -5
- package/chunks/{exit-worktree-QZC6DXGO.js → exit-worktree-ODZUQLGJ.js} +3 -3
- package/chunks/{exitPlanMode-UHGM7I4A.js → exitPlanMode-MBPAPBBV.js} +3 -3
- package/chunks/{fast-path-BDDOO4H6.js → fast-path-ZU5T6XSN.js} +2 -2
- package/chunks/{gemini-VDUDROF7.js → gemini-OZK6AIMC.js} +39 -36
- package/chunks/{geminiContentGenerator-O4HYJOR7.js → geminiContentGenerator-MC6ZKWZG.js} +1 -1
- package/chunks/{glob-Z7VZDN7C.js → glob-KJ4A4ZOM.js} +3 -3
- package/chunks/{grep-JQ6AGN62.js → grep-QWBLG564.js} +3 -3
- package/chunks/{handleAutoUpdate-XZCLKEMR.js → handleAutoUpdate-M3ACKDKF.js} +7 -7
- package/chunks/{i18n-G2BMPGAS.js → i18n-FPW7XZL5.js} +4 -4
- package/chunks/{image-gen-NMKTIERQ.js → image-gen-OTFC2S7L.js} +1 -1
- package/chunks/{initializer-JEYFVIIG.js → initializer-5HKUXXBT.js} +10 -10
- package/chunks/{installationInfo-GY2OCLIS.js → installationInfo-4OA6UW7V.js} +4 -4
- package/chunks/{list-ZJ4GEKM4.js → list-3TKZ264A.js} +12 -12
- package/chunks/{loadedSettingsAdapter-5BO2PZLD.js → loadedSettingsAdapter-IRUANLS2.js} +9 -9
- package/chunks/{loggingContentGenerator-ER2Z5L3L.js → loggingContentGenerator-D4URLH2A.js} +1 -1
- package/chunks/{managed-npm-update-X66EZDQD.js → managed-npm-update-2O7XSAWJ.js} +4 -4
- package/chunks/{mcp-BDWPEXJF.js → mcp-AFVHCHKT.js} +9 -9
- package/chunks/{monitor-7J3DCMBL.js → monitor-PY4WDSX3.js} +3 -3
- package/chunks/{nonInteractiveCli-THJJIXKG.js → nonInteractiveCli-ZHW6F76F.js} +36 -36
- package/chunks/{notebook-edit-IX7GCTIL.js → notebook-edit-GEPL33NO.js} +3 -3
- package/chunks/{openaiContentGenerator-K65IDMQ6.js → openaiContentGenerator-ACYSXQ6R.js} +1 -1
- package/chunks/{opentui-entry-L76XJNPE.js → opentui-entry-SBAOWW7M.js} +5151 -771
- package/chunks/{pidfile-NNWTPHX2.js → pidfile-SUNYCAA4.js} +3 -3
- package/chunks/{processUtils-ILOXESNR.js → processUtils-F7LP7YUV.js} +2 -2
- package/chunks/{qwenContentGenerator-YIKX3NHW.js → qwenContentGenerator-BB6IPELF.js} +3 -3
- package/chunks/{qwenOAuth2-BLYU65Y4.js → qwenOAuth2-OU3WGDOI.js} +1 -1
- package/chunks/{read-file-GLBZFPNV.js → read-file-GORBXJTS.js} +1 -1
- package/chunks/{resumeHistoryUtils-UMC4Y3E2.js → resumeHistoryUtils-FOAJJJWK.js} +8 -9
- package/chunks/{ripGrep-53XOGSZ4.js → ripGrep-RNLIZGCY.js} +3 -3
- package/chunks/{run-qwen-serve-BTZ46CLW.js → run-qwen-serve-GVMMX3IU.js} +28 -28
- package/chunks/{runtime-RQ3ACQKH.js → runtime-RNBZ5FDD.js} +10 -10
- package/chunks/{scheduler-WEIFVKQH.js → scheduler-NTRFSPIP.js} +5 -5
- package/chunks/{serve-RJUR5OJH.js → serve-H3PGA26U.js} +9 -9
- package/chunks/{server-WQ2ID4U7.js → server-SUXD2F3C.js} +29 -29
- package/chunks/{session-O4OXRVNI.js → session-MTFVUWWM.js} +37 -37
- package/chunks/{settings-4BVJ36YG.js → settings-GUJ3TN2J.js} +8 -8
- package/chunks/{shell-DCQZWM5T.js → shell-C2UP5FF2.js} +3 -3
- package/chunks/{skill-4KWZ4J7U.js → skill-4XCNK55E.js} +1 -1
- package/chunks/{skill-settings-TEMNXCLU.js → skill-settings-Y2BU27XM.js} +8 -8
- package/chunks/{spawnChannel-ROYEZK57.js → spawnChannel-UUUUK734.js} +6 -4
- package/chunks/{standalone-update-G4BETY4B.js → standalone-update-MJ722XZ4.js} +5 -5
- package/chunks/{startInteractiveUI-PDFQ7N7A.js → startInteractiveUI-TCPIPNGN.js} +356 -444
- package/chunks/{team-create-KW4LOVHD.js → team-create-WZWH2NJI.js} +3 -3
- package/chunks/{team-plan-approval-XHFK2RTF.js → team-plan-approval-SUZQJCWJ.js} +3 -3
- package/chunks/{terminal-image-renderer-46R2LHGR.js → terminal-image-renderer-BCUN3Z3W.js} +3 -3
- package/chunks/{theme-manager-E56XY2JG.js → theme-manager-UGMFDREN.js} +4 -4
- package/chunks/{tool-search-EVVFQUMJ.js → tool-search-B6F3MPUZ.js} +1 -1
- package/chunks/{total-session-admission-CULMHRTA.js → total-session-admission-MQLBJ5WL.js} +5 -5
- package/chunks/{trustedFolders-BKLVSCXW.js → trustedFolders-2XST7U5C.js} +4 -4
- package/chunks/{update-relaunch-46H4Q4VL.js → update-relaunch-OVC7YNGD.js} +5 -5
- package/chunks/{updateCheck-3BQA7KNI.js → updateCheck-YAKM36WQ.js} +6 -6
- package/chunks/{useAutoAcceptIndicator-3QJ7QV5R.js → useAutoAcceptIndicator-RF6FVX3S.js} +11 -11
- package/chunks/{validateNonInterActiveAuth-QVFJVBSY.js → validateNonInterActiveAuth-IPPXFNQH.js} +33 -33
- package/chunks/{version-6JJA54HH.js → version-4IDFEXOU.js} +1 -1
- package/chunks/{web-fetch-75JBSDA3.js → web-fetch-NUOLHXPN.js} +1 -1
- package/chunks/{web-search-PKBISWS3.js → web-search-LVOOV4XZ.js} +2 -2
- package/chunks/{workflow-KEZDQISR.js → workflow-JSTYTG3K.js} +4 -4
- package/chunks/{workspace-providers-status-YQW4VNIV.js → workspace-providers-status-U4EYXA4K.js} +11 -11
- package/chunks/{workspace-registration-store-GQ42PR72.js → workspace-registration-store-OG66U3CB.js} +1 -1
- package/chunks/{workspace-registry-ZR6DVZQ6.js → workspace-registry-WSHWQRQQ.js} +5 -5
- package/chunks/{workspace-service-BCMK3NLA.js → workspace-service-QZXQHX2F.js} +12 -12
- package/chunks/{workspace-skills-status-ZHBYM2X7.js → workspace-skills-status-VRBHEX5O.js} +9 -9
- package/chunks/{workspace-trust-reconciler-TWRB3TW2.js → workspace-trust-reconciler-FCRIUIOF.js} +11 -11
- package/chunks/{write-file-CQBI7HXO.js → write-file-PYL3JCCD.js} +3 -3
- package/chunks/{zoom-image-36I4WZIL.js → zoom-image-RS6MU26F.js} +1 -1
- package/cli.js +12 -12
- package/package.json +3 -3
- package/chunks/chunk-7P32M35F.js +0 -51
|
@@ -4,12 +4,8 @@ import {
|
|
|
4
4
|
buildPermissionSuggestions
|
|
5
5
|
} from "./chunk-43T5WDQ7.js";
|
|
6
6
|
import {
|
|
7
|
-
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import {
|
|
10
|
-
classifyApiError,
|
|
11
|
-
fireSessionDeleteHook
|
|
12
|
-
} from "./chunk-P5Y23G2L.js";
|
|
7
|
+
classifyApiError
|
|
8
|
+
} from "./chunk-V7RNNPGC.js";
|
|
13
9
|
import {
|
|
14
10
|
DEFAULT_STATUS_LINE_PRESET_CONFIG,
|
|
15
11
|
RANGE_CYCLE,
|
|
@@ -19,9 +15,11 @@ import {
|
|
|
19
15
|
aggregateModelTokens,
|
|
20
16
|
buildStatusLinePresetData,
|
|
21
17
|
buildStatusLinePresetLines,
|
|
18
|
+
computeWindowTitle,
|
|
22
19
|
fmtDurationShort,
|
|
23
20
|
fmtSuccessBar,
|
|
24
21
|
fmtTokens,
|
|
22
|
+
formatSessionWindowTitle,
|
|
25
23
|
getCacheColor,
|
|
26
24
|
getHeatmapColors,
|
|
27
25
|
getRangeLabel,
|
|
@@ -31,12 +29,21 @@ import {
|
|
|
31
29
|
getSuccessColor,
|
|
32
30
|
normalizeStatusLinePresetConfig,
|
|
33
31
|
orderStatusLinePresetItems,
|
|
34
|
-
shortAsciiLogo
|
|
35
|
-
|
|
32
|
+
shortAsciiLogo,
|
|
33
|
+
titleStatusPrefix,
|
|
34
|
+
useGitBranchName,
|
|
35
|
+
writeTerminalTitle
|
|
36
|
+
} from "./chunk-CG3OQDNY.js";
|
|
37
|
+
import {
|
|
38
|
+
startPostRenderPrefetches
|
|
39
|
+
} from "./chunk-YI6UGZF5.js";
|
|
40
|
+
import {
|
|
41
|
+
fireSessionDeleteHook
|
|
42
|
+
} from "./chunk-L34XSHIZ.js";
|
|
36
43
|
import {
|
|
37
44
|
TUI_CHAT_RECORDING_FAILURE_MESSAGE,
|
|
38
45
|
reportChatRecordingFailureToAdapter
|
|
39
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-ZQSNP4TG.js";
|
|
40
47
|
import {
|
|
41
48
|
SESSION_MENTION_PREFIX,
|
|
42
49
|
buildMcpResourceRef,
|
|
@@ -47,16 +54,16 @@ import {
|
|
|
47
54
|
matchMcpServerPrefix,
|
|
48
55
|
resolveAtCommandQuery,
|
|
49
56
|
sanitizeDisplayText
|
|
50
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-HBZUU4AE.js";
|
|
51
58
|
import {
|
|
52
59
|
MAX_SUGGESTIONS_TO_SHOW
|
|
53
60
|
} from "./chunk-WLML6VIA.js";
|
|
54
61
|
import {
|
|
55
62
|
StreamJsonOutputAdapter
|
|
56
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-6ZIIHBNV.js";
|
|
57
64
|
import {
|
|
58
65
|
normalizePartList
|
|
59
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-UOMZKPI5.js";
|
|
60
67
|
import {
|
|
61
68
|
BuiltinCommandLoader,
|
|
62
69
|
BundledSkillLoader,
|
|
@@ -99,14 +106,14 @@ import {
|
|
|
99
106
|
resetBackgroundStateForSessionSwitch,
|
|
100
107
|
serializeUserPromptExpansionPrompt,
|
|
101
108
|
supportsMatchers
|
|
102
|
-
} from "./chunk-
|
|
109
|
+
} from "./chunk-3TT6MZHJ.js";
|
|
103
110
|
import {
|
|
104
111
|
EXTENSION_RELOAD_FAILED_REASON,
|
|
105
112
|
ExtensionRefreshState,
|
|
106
113
|
appEvents,
|
|
107
114
|
cleanupReviewWorktreeLeases,
|
|
108
115
|
loadHierarchicalGeminiMemory
|
|
109
|
-
} from "./chunk-
|
|
116
|
+
} from "./chunk-UZPWH6SP.js";
|
|
110
117
|
import {
|
|
111
118
|
AboutBox,
|
|
112
119
|
BaseSelectionList,
|
|
@@ -128,7 +135,6 @@ import {
|
|
|
128
135
|
SessionPicker,
|
|
129
136
|
SessionStatsProvider,
|
|
130
137
|
SettingsContext,
|
|
131
|
-
TOOL_DISPLAY_BY_NAME,
|
|
132
138
|
TerminalOutputProvider,
|
|
133
139
|
TextInput,
|
|
134
140
|
ThoughtExpandedProvider,
|
|
@@ -158,7 +164,6 @@ import {
|
|
|
158
164
|
removeLastGrapheme,
|
|
159
165
|
renderSoftwareCursor,
|
|
160
166
|
splitFencedMarkdown,
|
|
161
|
-
truncateText,
|
|
162
167
|
useArenaCommand,
|
|
163
168
|
useConfig,
|
|
164
169
|
useHistory,
|
|
@@ -177,33 +182,37 @@ import {
|
|
|
177
182
|
useUIActions,
|
|
178
183
|
useUIState,
|
|
179
184
|
useVirtualViewport
|
|
180
|
-
} from "./chunk-
|
|
185
|
+
} from "./chunk-Y66OOMKS.js";
|
|
181
186
|
import {
|
|
187
|
+
TOOL_DISPLAY_BY_NAME,
|
|
182
188
|
TOOL_SUCCESS_RATE_HIGH,
|
|
183
189
|
TOOL_SUCCESS_RATE_MEDIUM,
|
|
184
190
|
USER_AGREEMENT_RATE_HIGH,
|
|
185
191
|
USER_AGREEMENT_RATE_MEDIUM,
|
|
186
192
|
getArenaStatusLabel,
|
|
187
193
|
getStatusColor,
|
|
188
|
-
keyMatchers
|
|
189
|
-
|
|
194
|
+
keyMatchers,
|
|
195
|
+
truncateText
|
|
196
|
+
} from "./chunk-WFRHWDBT.js";
|
|
190
197
|
import {
|
|
191
198
|
getCommandDisplayName,
|
|
192
199
|
getCommandSourceBadge
|
|
193
|
-
} from "./chunk-
|
|
200
|
+
} from "./chunk-UNCIELQJ.js";
|
|
194
201
|
import {
|
|
195
202
|
computeSessionStats,
|
|
196
203
|
levelLabel
|
|
197
|
-
} from "./chunk-
|
|
204
|
+
} from "./chunk-M4OYAR6J.js";
|
|
198
205
|
import {
|
|
199
206
|
MaxSizedBox,
|
|
200
207
|
OverflowProvider,
|
|
201
208
|
useOverflowState
|
|
202
|
-
} from "./chunk-
|
|
209
|
+
} from "./chunk-EYY4IBPV.js";
|
|
203
210
|
import {
|
|
204
211
|
GeminiRespondingSpinner,
|
|
205
212
|
GeminiSpinner,
|
|
213
|
+
ICON,
|
|
206
214
|
SCREEN_READER_USER_PREFIX,
|
|
215
|
+
SHELL_COMMAND_NAME,
|
|
207
216
|
StreamingContext,
|
|
208
217
|
applyCollapsePolicyAndSummary,
|
|
209
218
|
buildResumedHistoryItems,
|
|
@@ -214,14 +223,10 @@ import {
|
|
|
214
223
|
useStreamingContext,
|
|
215
224
|
waitForGoalRuntime,
|
|
216
225
|
wrapAnsi
|
|
217
|
-
} from "./chunk-
|
|
218
|
-
import {
|
|
219
|
-
ICON,
|
|
220
|
-
SHELL_COMMAND_NAME
|
|
221
|
-
} from "./chunk-7P32M35F.js";
|
|
226
|
+
} from "./chunk-KNXA5XXK.js";
|
|
222
227
|
import {
|
|
223
228
|
theme
|
|
224
|
-
} from "./chunk-
|
|
229
|
+
} from "./chunk-DAX3G67A.js";
|
|
225
230
|
import {
|
|
226
231
|
stopAndGetCapturedInput
|
|
227
232
|
} from "./chunk-T4FTABSW.js";
|
|
@@ -233,13 +238,13 @@ import {
|
|
|
233
238
|
} from "./chunk-NYX53SV4.js";
|
|
234
239
|
import {
|
|
235
240
|
useAutoAcceptIndicator
|
|
236
|
-
} from "./chunk-
|
|
241
|
+
} from "./chunk-TYCXSMZU.js";
|
|
237
242
|
import {
|
|
238
243
|
KeypressProvider,
|
|
239
244
|
useFocus,
|
|
240
245
|
useKeypress,
|
|
241
246
|
useKeypressContext
|
|
242
|
-
} from "./chunk-
|
|
247
|
+
} from "./chunk-2J53A6MV.js";
|
|
243
248
|
import {
|
|
244
249
|
BEL,
|
|
245
250
|
OSC_PREFIX,
|
|
@@ -252,24 +257,24 @@ import {
|
|
|
252
257
|
oscKittyNotify,
|
|
253
258
|
saveClipboardImage,
|
|
254
259
|
writeOsc52
|
|
255
|
-
} from "./chunk-
|
|
260
|
+
} from "./chunk-FRH4SSGX.js";
|
|
256
261
|
import {
|
|
257
262
|
require_jsx_runtime
|
|
258
263
|
} from "./chunk-SV5PQVQE.js";
|
|
259
|
-
import "./chunk-
|
|
264
|
+
import "./chunk-32VOOMEF.js";
|
|
260
265
|
import "./chunk-4WGODMVR.js";
|
|
261
266
|
import {
|
|
262
267
|
setUpdateHandler
|
|
263
|
-
} from "./chunk-
|
|
268
|
+
} from "./chunk-JXK3WAP7.js";
|
|
264
269
|
import {
|
|
265
270
|
isHistoryItemVisibleAfterRestore
|
|
266
271
|
} from "./chunk-EKTCKZV5.js";
|
|
267
|
-
import "./chunk-
|
|
272
|
+
import "./chunk-4GLFFNP3.js";
|
|
268
273
|
import {
|
|
269
274
|
AUTO_THEME_NAME,
|
|
270
275
|
DEFAULT_THEME,
|
|
271
276
|
themeManager
|
|
272
|
-
} from "./chunk-
|
|
277
|
+
} from "./chunk-NELCY6JT.js";
|
|
273
278
|
import "./chunk-KW7NOTN6.js";
|
|
274
279
|
import {
|
|
275
280
|
Box_default,
|
|
@@ -288,12 +293,12 @@ import {
|
|
|
288
293
|
import {
|
|
289
294
|
require_react
|
|
290
295
|
} from "./chunk-5QWWOFGG.js";
|
|
291
|
-
import "./chunk-
|
|
296
|
+
import "./chunk-575MI5K3.js";
|
|
292
297
|
import {
|
|
293
298
|
getErrorMessage as getErrorMessage2
|
|
294
|
-
} from "./chunk-
|
|
295
|
-
import "./chunk-
|
|
296
|
-
import "./chunk-
|
|
299
|
+
} from "./chunk-TEKFBSMY.js";
|
|
300
|
+
import "./chunk-FDWH6CBK.js";
|
|
301
|
+
import "./chunk-7D4KEFOT.js";
|
|
297
302
|
import "./chunk-YAF2MQZ6.js";
|
|
298
303
|
import "./chunk-6S52N6PG.js";
|
|
299
304
|
import {
|
|
@@ -303,8 +308,8 @@ import {
|
|
|
303
308
|
} from "./chunk-ZWPWQEF5.js";
|
|
304
309
|
import {
|
|
305
310
|
relaunchApp
|
|
306
|
-
} from "./chunk-
|
|
307
|
-
import "./chunk-
|
|
311
|
+
} from "./chunk-7LZ7DK4D.js";
|
|
312
|
+
import "./chunk-ILVATFYJ.js";
|
|
308
313
|
import "./chunk-6H67XLET.js";
|
|
309
314
|
import {
|
|
310
315
|
openQwenAsrRealtimeStream,
|
|
@@ -312,7 +317,7 @@ import {
|
|
|
312
317
|
openVoiceStreamWithRetry
|
|
313
318
|
} from "./chunk-3XZYK76R.js";
|
|
314
319
|
import "./chunk-ZBBVBZBR.js";
|
|
315
|
-
import "./chunk-
|
|
320
|
+
import "./chunk-VWD7SNNN.js";
|
|
316
321
|
import "./chunk-47FQVRCO.js";
|
|
317
322
|
import {
|
|
318
323
|
cpLen,
|
|
@@ -326,7 +331,7 @@ import {
|
|
|
326
331
|
stripUnsafeCharacters,
|
|
327
332
|
toCodePoints
|
|
328
333
|
} from "./chunk-4NFY2S7N.js";
|
|
329
|
-
import "./chunk-
|
|
334
|
+
import "./chunk-U6PTKAOW.js";
|
|
330
335
|
import {
|
|
331
336
|
stringWidth
|
|
332
337
|
} from "./chunk-2MIN6GRR.js";
|
|
@@ -342,15 +347,15 @@ import {
|
|
|
342
347
|
isStreamingVoiceModel,
|
|
343
348
|
resolveVoiceStreamConfig,
|
|
344
349
|
transcribeVoiceAudio
|
|
345
|
-
} from "./chunk-
|
|
350
|
+
} from "./chunk-VQZXRLEX.js";
|
|
346
351
|
import {
|
|
347
352
|
formatUnsupportedVoiceModelMessage,
|
|
348
353
|
isSelectableVoiceModel
|
|
349
|
-
} from "./chunk-
|
|
354
|
+
} from "./chunk-5UPJ774B.js";
|
|
350
355
|
import "./chunk-IQFYO5BF.js";
|
|
351
356
|
import {
|
|
352
357
|
getExtendedSystemInfo
|
|
353
|
-
} from "./chunk-
|
|
358
|
+
} from "./chunk-JEMR2FTD.js";
|
|
354
359
|
import {
|
|
355
360
|
formatDuration,
|
|
356
361
|
formatRelativeTime,
|
|
@@ -360,17 +365,17 @@ import "./chunk-MZSJ43WV.js";
|
|
|
360
365
|
import "./chunk-XCGIMOLN.js";
|
|
361
366
|
import {
|
|
362
367
|
isInlineModelOverrideAllowed
|
|
363
|
-
} from "./chunk-
|
|
368
|
+
} from "./chunk-NPE3STIW.js";
|
|
364
369
|
import {
|
|
365
370
|
computeWorkspaceSkillListUpdates,
|
|
366
371
|
resolveSkillSettings,
|
|
367
372
|
skillSettingStrings
|
|
368
373
|
} from "./chunk-Z4X5MTRT.js";
|
|
369
|
-
import "./chunk-
|
|
374
|
+
import "./chunk-TRYJ3BVE.js";
|
|
370
375
|
import {
|
|
371
376
|
requestConsentInteractive,
|
|
372
377
|
requestConsentOrFail
|
|
373
|
-
} from "./chunk-
|
|
378
|
+
} from "./chunk-LHY6HBRA.js";
|
|
374
379
|
import "./chunk-57OAHC2Y.js";
|
|
375
380
|
import "./chunk-YTYPRVIZ.js";
|
|
376
381
|
import "./chunk-ENEEQMGM.js";
|
|
@@ -378,10 +383,10 @@ import "./chunk-DEG7R6Z6.js";
|
|
|
378
383
|
import "./chunk-V6WHFGST.js";
|
|
379
384
|
import {
|
|
380
385
|
createLoadedSettingsAdapter
|
|
381
|
-
} from "./chunk-
|
|
386
|
+
} from "./chunk-DYVCDQW2.js";
|
|
382
387
|
import "./chunk-3GCU5O2E.js";
|
|
383
388
|
import "./chunk-DP3IHZGG.js";
|
|
384
|
-
import "./chunk-
|
|
389
|
+
import "./chunk-N5ULBHP3.js";
|
|
385
390
|
import "./chunk-6PLDPT2C.js";
|
|
386
391
|
import "./chunk-FYJ7W2PI.js";
|
|
387
392
|
import "./chunk-YP5KH5Y7.js";
|
|
@@ -395,7 +400,7 @@ import "./chunk-IW6RQPQB.js";
|
|
|
395
400
|
import "./chunk-AQHNAA7E.js";
|
|
396
401
|
import {
|
|
397
402
|
loadMcpApprovals
|
|
398
|
-
} from "./chunk-
|
|
403
|
+
} from "./chunk-4M2F7OG7.js";
|
|
399
404
|
import {
|
|
400
405
|
CORRUPTED_SUFFIX,
|
|
401
406
|
getDefaultValue,
|
|
@@ -415,11 +420,11 @@ import {
|
|
|
415
420
|
setPendingSettingValueAny,
|
|
416
421
|
validateSettingValue,
|
|
417
422
|
writeOutputLanguageAndRegisterPath
|
|
418
|
-
} from "./chunk-
|
|
423
|
+
} from "./chunk-M6SXIXBV.js";
|
|
419
424
|
import "./chunk-RKUWKYED.js";
|
|
420
425
|
import {
|
|
421
426
|
TOGGLE_TYPES
|
|
422
|
-
} from "./chunk-
|
|
427
|
+
} from "./chunk-L7T742G2.js";
|
|
423
428
|
import "./chunk-GOXKNSDZ.js";
|
|
424
429
|
import "./chunk-IDS7MSUP.js";
|
|
425
430
|
import {
|
|
@@ -427,19 +432,19 @@ import {
|
|
|
427
432
|
localizeToolDisplayName,
|
|
428
433
|
t,
|
|
429
434
|
ta
|
|
430
|
-
} from "./chunk-
|
|
435
|
+
} from "./chunk-GYBDYWMV.js";
|
|
431
436
|
import "./chunk-5EJZE3FP.js";
|
|
432
|
-
import "./chunk-
|
|
437
|
+
import "./chunk-RRQJPCRQ.js";
|
|
433
438
|
import "./chunk-MS7GNABG.js";
|
|
434
439
|
import "./chunk-URK542T4.js";
|
|
435
440
|
import {
|
|
436
441
|
getCliVersion
|
|
437
|
-
} from "./chunk-
|
|
442
|
+
} from "./chunk-M2PY7CNK.js";
|
|
438
443
|
import "./chunk-VJNBRRZG.js";
|
|
439
444
|
import {
|
|
440
445
|
isWorkspaceTrusted,
|
|
441
446
|
loadTrustedFolders
|
|
442
|
-
} from "./chunk-
|
|
447
|
+
} from "./chunk-4ETA3KRC.js";
|
|
443
448
|
import {
|
|
444
449
|
require_strip_json_comments
|
|
445
450
|
} from "./chunk-NPQ5ZKRP.js";
|
|
@@ -540,7 +545,6 @@ import {
|
|
|
540
545
|
refreshMemoryAfterManagedWrite,
|
|
541
546
|
refreshMemoryInstruction,
|
|
542
547
|
resolveBaseUrl,
|
|
543
|
-
resolveBranchName,
|
|
544
548
|
resolveMetadataKey,
|
|
545
549
|
restoreWorktreeContext,
|
|
546
550
|
saveWelcomeBackRestartChoice,
|
|
@@ -550,9 +554,8 @@ import {
|
|
|
550
554
|
stripTerminalControlSequences,
|
|
551
555
|
subagentGenerator,
|
|
552
556
|
validateWorkflowName,
|
|
553
|
-
watchRepoBranch,
|
|
554
557
|
writeRuntimeStatus
|
|
555
|
-
} from "./chunk-
|
|
558
|
+
} from "./chunk-M6HXP2SG.js";
|
|
556
559
|
import "./chunk-GOFAQQZA.js";
|
|
557
560
|
import "./chunk-5M6IDOMF.js";
|
|
558
561
|
import {
|
|
@@ -566,7 +569,7 @@ import "./chunk-N7NBMAMW.js";
|
|
|
566
569
|
import "./chunk-6PVPNMXU.js";
|
|
567
570
|
import {
|
|
568
571
|
resolveModelId
|
|
569
|
-
} from "./chunk-
|
|
572
|
+
} from "./chunk-I4XSOFH2.js";
|
|
570
573
|
import "./chunk-IRH27ZC2.js";
|
|
571
574
|
import "./chunk-QHWCP53L.js";
|
|
572
575
|
import "./chunk-XLQS3VI6.js";
|
|
@@ -670,7 +673,6 @@ import {
|
|
|
670
673
|
import {
|
|
671
674
|
osc8Hyperlink,
|
|
672
675
|
qwenOAuth2Events,
|
|
673
|
-
sanitizeForOsc,
|
|
674
676
|
supportsHyperlinks,
|
|
675
677
|
wrapForMultiplexer
|
|
676
678
|
} from "./chunk-TBVNYG5B.js";
|
|
@@ -680,7 +682,7 @@ import "./chunk-EYW54TBD.js";
|
|
|
680
682
|
import "./chunk-P3QQPMQA.js";
|
|
681
683
|
import "./chunk-O4BBDP2G.js";
|
|
682
684
|
import "./chunk-KPVVWKF3.js";
|
|
683
|
-
import "./chunk-
|
|
685
|
+
import "./chunk-XWUQ4IH5.js";
|
|
684
686
|
import {
|
|
685
687
|
MAINLINE_CODER_MODEL
|
|
686
688
|
} from "./chunk-F6WFNA7U.js";
|
|
@@ -720,11 +722,11 @@ import {
|
|
|
720
722
|
tildeifyPath
|
|
721
723
|
} from "./chunk-MPBRV3UU.js";
|
|
722
724
|
import "./chunk-VOQXFAY5.js";
|
|
723
|
-
import "./chunk-
|
|
725
|
+
import "./chunk-CZXQ4UZA.js";
|
|
724
726
|
import {
|
|
725
727
|
registerCleanup,
|
|
726
728
|
runExitCleanup
|
|
727
|
-
} from "./chunk-
|
|
729
|
+
} from "./chunk-J7DNMZFO.js";
|
|
728
730
|
import {
|
|
729
731
|
finalizeStartupProfile,
|
|
730
732
|
profileCheckpoint
|
|
@@ -758,7 +760,7 @@ import {
|
|
|
758
760
|
init_esbuild_shims();
|
|
759
761
|
import { stat as stat2 } from "node:fs/promises";
|
|
760
762
|
import { basename as basename4 } from "node:path";
|
|
761
|
-
var
|
|
763
|
+
var import_react163 = __toESM(require_react(), 1);
|
|
762
764
|
|
|
763
765
|
// packages/cli/src/dualOutput/DualOutputBridge.ts
|
|
764
766
|
init_esbuild_shims();
|
|
@@ -1374,7 +1376,7 @@ var useRemoteInput = /* @__PURE__ */ __name(() => (0, import_react2.useContext)(
|
|
|
1374
1376
|
|
|
1375
1377
|
// packages/cli/src/ui/AppContainer.tsx
|
|
1376
1378
|
init_esbuild_shims();
|
|
1377
|
-
var
|
|
1379
|
+
var import_react161 = __toESM(require_react(), 1);
|
|
1378
1380
|
|
|
1379
1381
|
// packages/cli/src/ui/App.tsx
|
|
1380
1382
|
init_esbuild_shims();
|
|
@@ -35928,59 +35930,6 @@ __name(useDoublePress, "useDoublePress");
|
|
|
35928
35930
|
import * as fs20 from "node:fs";
|
|
35929
35931
|
import { basename as basename3 } from "node:path";
|
|
35930
35932
|
|
|
35931
|
-
// packages/cli/src/utils/windowTitle.ts
|
|
35932
|
-
init_esbuild_shims();
|
|
35933
|
-
var DEFAULT_WINDOW_TITLE = "qwen";
|
|
35934
|
-
var MULTIPLEXER_ENV_KEYS = ["TMUX", "STY", "ZELLIJ", "DVTM"];
|
|
35935
|
-
function sanitizeWindowTitle(title) {
|
|
35936
|
-
return sanitizeForOsc(title);
|
|
35937
|
-
}
|
|
35938
|
-
__name(sanitizeWindowTitle, "sanitizeWindowTitle");
|
|
35939
|
-
function computeWindowTitle(folderName) {
|
|
35940
|
-
return sanitizeWindowTitle(
|
|
35941
|
-
process.env["CLI_TITLE"] || `Qwen - ${folderName || DEFAULT_WINDOW_TITLE}`
|
|
35942
|
-
);
|
|
35943
|
-
}
|
|
35944
|
-
__name(computeWindowTitle, "computeWindowTitle");
|
|
35945
|
-
function writeTerminalTitle(write, title) {
|
|
35946
|
-
const clean = sanitizeWindowTitle(title);
|
|
35947
|
-
if (process.platform === "win32") {
|
|
35948
|
-
process.title = clean;
|
|
35949
|
-
}
|
|
35950
|
-
const inMultiplexer = MULTIPLEXER_ENV_KEYS.some((k) => !!process.env[k]);
|
|
35951
|
-
if (clean.length === 0) {
|
|
35952
|
-
if (inMultiplexer) {
|
|
35953
|
-
write("\x1B]2;\x07");
|
|
35954
|
-
} else {
|
|
35955
|
-
write("\x1B]0;\x07\x1B]2;\x07");
|
|
35956
|
-
}
|
|
35957
|
-
return;
|
|
35958
|
-
}
|
|
35959
|
-
if (inMultiplexer) {
|
|
35960
|
-
write(`\x1B]2;${clean}\x07`);
|
|
35961
|
-
} else {
|
|
35962
|
-
const padded = clean.substring(0, 80).padEnd(80, " ");
|
|
35963
|
-
write(`\x1B]0;${padded}\x07\x1B]2;${padded}\x07`);
|
|
35964
|
-
}
|
|
35965
|
-
}
|
|
35966
|
-
__name(writeTerminalTitle, "writeTerminalTitle");
|
|
35967
|
-
function formatSessionWindowTitle(sessionName, folderName, statusPrefix = "") {
|
|
35968
|
-
const base = sessionName ? sanitizeWindowTitle(sessionName) : computeWindowTitle(folderName);
|
|
35969
|
-
return sanitizeWindowTitle(statusPrefix + base);
|
|
35970
|
-
}
|
|
35971
|
-
__name(formatSessionWindowTitle, "formatSessionWindowTitle");
|
|
35972
|
-
function titleStatusPrefix(streamingState) {
|
|
35973
|
-
switch (streamingState) {
|
|
35974
|
-
case "responding" /* Responding */:
|
|
35975
|
-
return `${ICON.CIRCLE_LEFT_HALF} `;
|
|
35976
|
-
case "waiting_for_confirmation" /* WaitingForConfirmation */:
|
|
35977
|
-
return `${ICON.SPARKLE} `;
|
|
35978
|
-
default:
|
|
35979
|
-
return "";
|
|
35980
|
-
}
|
|
35981
|
-
}
|
|
35982
|
-
__name(titleStatusPrefix, "titleStatusPrefix");
|
|
35983
|
-
|
|
35984
35933
|
// packages/cli/src/ui/hooks/useLogger.ts
|
|
35985
35934
|
init_esbuild_shims();
|
|
35986
35935
|
var import_react131 = __toESM(require_react(), 1);
|
|
@@ -42622,67 +42571,15 @@ function sendNotification(opts, terminal, enabled) {
|
|
|
42622
42571
|
}
|
|
42623
42572
|
__name(sendNotification, "sendNotification");
|
|
42624
42573
|
|
|
42625
|
-
// packages/cli/src/ui/hooks/useGitBranchName.ts
|
|
42626
|
-
init_esbuild_shims();
|
|
42627
|
-
var import_react146 = __toESM(require_react(), 1);
|
|
42628
|
-
var BRANCH_POLL_INTERVAL_MS = 5e3;
|
|
42629
|
-
function useGitBranchName(cwd3) {
|
|
42630
|
-
const [branchName, setBranchName] = (0, import_react146.useState)(void 0);
|
|
42631
|
-
const branchNameRef = (0, import_react146.useRef)(branchName);
|
|
42632
|
-
branchNameRef.current = branchName;
|
|
42633
|
-
(0, import_react146.useEffect)(() => {
|
|
42634
|
-
let cancelled = false;
|
|
42635
|
-
let dispose;
|
|
42636
|
-
let pollTimer;
|
|
42637
|
-
let refreshGeneration = 0;
|
|
42638
|
-
const refresh = /* @__PURE__ */ __name(async () => {
|
|
42639
|
-
const generation = ++refreshGeneration;
|
|
42640
|
-
const name = await resolveBranchName(cwd3);
|
|
42641
|
-
if (!cancelled && generation === refreshGeneration && name !== branchNameRef.current) {
|
|
42642
|
-
setBranchName(name);
|
|
42643
|
-
}
|
|
42644
|
-
}, "refresh");
|
|
42645
|
-
const init = /* @__PURE__ */ __name(async () => {
|
|
42646
|
-
await refresh();
|
|
42647
|
-
if (cancelled) return;
|
|
42648
|
-
const disposer = await watchRepoBranch(cwd3, () => {
|
|
42649
|
-
void refresh().catch(() => {
|
|
42650
|
-
});
|
|
42651
|
-
});
|
|
42652
|
-
if (cancelled) {
|
|
42653
|
-
disposer();
|
|
42654
|
-
} else {
|
|
42655
|
-
dispose = disposer;
|
|
42656
|
-
}
|
|
42657
|
-
if (!cancelled) {
|
|
42658
|
-
pollTimer = setInterval(() => {
|
|
42659
|
-
void refresh().catch(() => {
|
|
42660
|
-
});
|
|
42661
|
-
}, BRANCH_POLL_INTERVAL_MS);
|
|
42662
|
-
pollTimer.unref?.();
|
|
42663
|
-
}
|
|
42664
|
-
}, "init");
|
|
42665
|
-
void init().catch(() => {
|
|
42666
|
-
});
|
|
42667
|
-
return () => {
|
|
42668
|
-
cancelled = true;
|
|
42669
|
-
dispose?.();
|
|
42670
|
-
if (pollTimer) clearInterval(pollTimer);
|
|
42671
|
-
};
|
|
42672
|
-
}, [cwd3]);
|
|
42673
|
-
return branchName;
|
|
42674
|
-
}
|
|
42675
|
-
__name(useGitBranchName, "useGitBranchName");
|
|
42676
|
-
|
|
42677
42574
|
// packages/cli/src/ui/hooks/useWorktreeSession.ts
|
|
42678
42575
|
init_esbuild_shims();
|
|
42679
|
-
var
|
|
42576
|
+
var import_react146 = __toESM(require_react(), 1);
|
|
42680
42577
|
import fs19 from "node:fs";
|
|
42681
42578
|
import fsPromises from "node:fs/promises";
|
|
42682
42579
|
import path14 from "node:path";
|
|
42683
42580
|
function useWorktreeSession(config) {
|
|
42684
|
-
const [session, setSession] = (0,
|
|
42685
|
-
(0,
|
|
42581
|
+
const [session, setSession] = (0, import_react146.useState)(null);
|
|
42582
|
+
(0, import_react146.useEffect)(() => {
|
|
42686
42583
|
let cancelled = false;
|
|
42687
42584
|
const safeLoad = /* @__PURE__ */ __name(async () => {
|
|
42688
42585
|
try {
|
|
@@ -42722,7 +42619,7 @@ __name(useWorktreeSession, "useWorktreeSession");
|
|
|
42722
42619
|
|
|
42723
42620
|
// packages/cli/src/ui/hooks/useExtensionUpdates.ts
|
|
42724
42621
|
init_esbuild_shims();
|
|
42725
|
-
var
|
|
42622
|
+
var import_react147 = __toESM(require_react(), 1);
|
|
42726
42623
|
function confirmationRequestsReducer(state, action) {
|
|
42727
42624
|
switch (action.type) {
|
|
42728
42625
|
case "add":
|
|
@@ -42739,8 +42636,8 @@ var useConfirmUpdateRequests = /* @__PURE__ */ __name(() => {
|
|
|
42739
42636
|
const [
|
|
42740
42637
|
confirmUpdateExtensionRequests,
|
|
42741
42638
|
dispatchConfirmUpdateExtensionRequests
|
|
42742
|
-
] = (0,
|
|
42743
|
-
const addConfirmUpdateExtensionRequest = (0,
|
|
42639
|
+
] = (0, import_react147.useReducer)(confirmationRequestsReducer, []);
|
|
42640
|
+
const addConfirmUpdateExtensionRequest = (0, import_react147.useCallback)(
|
|
42744
42641
|
(original) => {
|
|
42745
42642
|
const wrappedRequest = {
|
|
42746
42643
|
prompt: original.prompt,
|
|
@@ -42778,11 +42675,11 @@ function settingInputRequestsReducer(state, action) {
|
|
|
42778
42675
|
}
|
|
42779
42676
|
__name(settingInputRequestsReducer, "settingInputRequestsReducer");
|
|
42780
42677
|
var useSettingInputRequests = /* @__PURE__ */ __name(() => {
|
|
42781
|
-
const [settingInputRequests, dispatchSettingInputRequests] = (0,
|
|
42678
|
+
const [settingInputRequests, dispatchSettingInputRequests] = (0, import_react147.useReducer)(
|
|
42782
42679
|
settingInputRequestsReducer,
|
|
42783
42680
|
[]
|
|
42784
42681
|
);
|
|
42785
|
-
const addSettingInputRequest = (0,
|
|
42682
|
+
const addSettingInputRequest = (0, import_react147.useCallback)(
|
|
42786
42683
|
(original) => {
|
|
42787
42684
|
const wrappedRequest = {
|
|
42788
42685
|
settingName: original.settingName,
|
|
@@ -42829,11 +42726,11 @@ function pluginChoiceRequestsReducer(state, action) {
|
|
|
42829
42726
|
}
|
|
42830
42727
|
__name(pluginChoiceRequestsReducer, "pluginChoiceRequestsReducer");
|
|
42831
42728
|
var usePluginChoiceRequests = /* @__PURE__ */ __name(() => {
|
|
42832
|
-
const [pluginChoiceRequests, dispatchPluginChoiceRequests] = (0,
|
|
42729
|
+
const [pluginChoiceRequests, dispatchPluginChoiceRequests] = (0, import_react147.useReducer)(
|
|
42833
42730
|
pluginChoiceRequestsReducer,
|
|
42834
42731
|
[]
|
|
42835
42732
|
);
|
|
42836
|
-
const addPluginChoiceRequest = (0,
|
|
42733
|
+
const addPluginChoiceRequest = (0, import_react147.useCallback)(
|
|
42837
42734
|
(original) => {
|
|
42838
42735
|
const wrappedRequest = {
|
|
42839
42736
|
marketplaceName: original.marketplaceName,
|
|
@@ -42867,12 +42764,12 @@ var usePluginChoiceRequests = /* @__PURE__ */ __name(() => {
|
|
|
42867
42764
|
};
|
|
42868
42765
|
}, "usePluginChoiceRequests");
|
|
42869
42766
|
var useExtensionUpdates = /* @__PURE__ */ __name((extensionManager, addItem, cwd3) => {
|
|
42870
|
-
const [extensionsUpdateState, dispatchExtensionStateUpdate] = (0,
|
|
42767
|
+
const [extensionsUpdateState, dispatchExtensionStateUpdate] = (0, import_react147.useReducer)(
|
|
42871
42768
|
extensionUpdatesReducer,
|
|
42872
42769
|
initialExtensionUpdatesState
|
|
42873
42770
|
);
|
|
42874
42771
|
const extensions = extensionManager.getLoadedExtensions();
|
|
42875
|
-
(0,
|
|
42772
|
+
(0, import_react147.useEffect)(() => {
|
|
42876
42773
|
(async () => {
|
|
42877
42774
|
const extensionsToCheck = extensions.filter((extension) => {
|
|
42878
42775
|
const currentStatus = extensionsUpdateState.extensionStatuses.get(
|
|
@@ -42900,7 +42797,7 @@ var useExtensionUpdates = /* @__PURE__ */ __name((extensionManager, addItem, cwd
|
|
|
42900
42797
|
extensionsUpdateState.extensionStatuses,
|
|
42901
42798
|
dispatchExtensionStateUpdate
|
|
42902
42799
|
]);
|
|
42903
|
-
(0,
|
|
42800
|
+
(0, import_react147.useEffect)(() => {
|
|
42904
42801
|
if (extensionsUpdateState.batchChecksInProgress > 0) {
|
|
42905
42802
|
return;
|
|
42906
42803
|
}
|
|
@@ -42969,7 +42866,7 @@ var useExtensionUpdates = /* @__PURE__ */ __name((extensionManager, addItem, cwd
|
|
|
42969
42866
|
);
|
|
42970
42867
|
}
|
|
42971
42868
|
}, [extensions, extensionManager, extensionsUpdateState, addItem, cwd3]);
|
|
42972
|
-
const extensionsUpdateStateComputed = (0,
|
|
42869
|
+
const extensionsUpdateStateComputed = (0, import_react147.useMemo)(() => {
|
|
42973
42870
|
const result = /* @__PURE__ */ new Map();
|
|
42974
42871
|
for (const [
|
|
42975
42872
|
key,
|
|
@@ -42988,14 +42885,14 @@ var useExtensionUpdates = /* @__PURE__ */ __name((extensionManager, addItem, cwd
|
|
|
42988
42885
|
|
|
42989
42886
|
// packages/cli/src/ui/hooks/useWelcomeBack.ts
|
|
42990
42887
|
init_esbuild_shims();
|
|
42991
|
-
var
|
|
42888
|
+
var import_react148 = __toESM(require_react(), 1);
|
|
42992
42889
|
function useWelcomeBack(config, submitQuery, buffer, settings) {
|
|
42993
|
-
const [welcomeBackInfo, setWelcomeBackInfo] = (0,
|
|
42994
|
-
const [showWelcomeBackDialog, setShowWelcomeBackDialog] = (0,
|
|
42995
|
-
const [welcomeBackChoice, setWelcomeBackChoice] = (0,
|
|
42996
|
-
const [shouldFillInput, setShouldFillInput] = (0,
|
|
42997
|
-
const [inputFillText, setInputFillText] = (0,
|
|
42998
|
-
const checkWelcomeBack = (0,
|
|
42890
|
+
const [welcomeBackInfo, setWelcomeBackInfo] = (0, import_react148.useState)(null);
|
|
42891
|
+
const [showWelcomeBackDialog, setShowWelcomeBackDialog] = (0, import_react148.useState)(false);
|
|
42892
|
+
const [welcomeBackChoice, setWelcomeBackChoice] = (0, import_react148.useState)(null);
|
|
42893
|
+
const [shouldFillInput, setShouldFillInput] = (0, import_react148.useState)(false);
|
|
42894
|
+
const [inputFillText, setInputFillText] = (0, import_react148.useState)(null);
|
|
42895
|
+
const checkWelcomeBack = (0, import_react148.useCallback)(async () => {
|
|
42999
42896
|
if (settings.ui?.enableWelcomeBack === false) {
|
|
43000
42897
|
return;
|
|
43001
42898
|
}
|
|
@@ -43014,7 +42911,7 @@ function useWelcomeBack(config, submitQuery, buffer, settings) {
|
|
|
43014
42911
|
config.getDebugLogger().debug("Welcome back check failed:", error);
|
|
43015
42912
|
}
|
|
43016
42913
|
}, [config, settings.ui?.enableWelcomeBack]);
|
|
43017
|
-
const handleWelcomeBackSelection = (0,
|
|
42914
|
+
const handleWelcomeBackSelection = (0, import_react148.useCallback)(
|
|
43018
42915
|
(choice) => {
|
|
43019
42916
|
setWelcomeBackChoice(choice);
|
|
43020
42917
|
setShowWelcomeBackDialog(false);
|
|
@@ -43038,21 +42935,21 @@ function useWelcomeBack(config, submitQuery, buffer, settings) {
|
|
|
43038
42935
|
},
|
|
43039
42936
|
[config, welcomeBackInfo]
|
|
43040
42937
|
);
|
|
43041
|
-
const handleWelcomeBackClose = (0,
|
|
42938
|
+
const handleWelcomeBackClose = (0, import_react148.useCallback)(() => {
|
|
43042
42939
|
setWelcomeBackChoice("restart");
|
|
43043
42940
|
setShowWelcomeBackDialog(false);
|
|
43044
42941
|
}, []);
|
|
43045
|
-
const clearInputFill = (0,
|
|
42942
|
+
const clearInputFill = (0, import_react148.useCallback)(() => {
|
|
43046
42943
|
setShouldFillInput(false);
|
|
43047
42944
|
setInputFillText(null);
|
|
43048
42945
|
}, []);
|
|
43049
|
-
(0,
|
|
42946
|
+
(0, import_react148.useEffect)(() => {
|
|
43050
42947
|
if (shouldFillInput && inputFillText) {
|
|
43051
42948
|
buffer.setText(inputFillText);
|
|
43052
42949
|
clearInputFill();
|
|
43053
42950
|
}
|
|
43054
42951
|
}, [shouldFillInput, inputFillText, buffer, clearInputFill]);
|
|
43055
|
-
(0,
|
|
42952
|
+
(0, import_react148.useEffect)(() => {
|
|
43056
42953
|
checkWelcomeBack();
|
|
43057
42954
|
}, [checkWelcomeBack]);
|
|
43058
42955
|
return {
|
|
@@ -43073,9 +42970,9 @@ __name(useWelcomeBack, "useWelcomeBack");
|
|
|
43073
42970
|
|
|
43074
42971
|
// packages/cli/src/ui/hooks/useDialogClose.ts
|
|
43075
42972
|
init_esbuild_shims();
|
|
43076
|
-
var
|
|
42973
|
+
var import_react149 = __toESM(require_react(), 1);
|
|
43077
42974
|
function useDialogClose(options) {
|
|
43078
|
-
const closeAnyOpenDialog = (0,
|
|
42975
|
+
const closeAnyOpenDialog = (0, import_react149.useCallback)(() => {
|
|
43079
42976
|
if (options.isThemeDialogOpen) {
|
|
43080
42977
|
options.handleThemeSelect(void 0, "User" /* User */);
|
|
43081
42978
|
return true;
|
|
@@ -43147,14 +43044,14 @@ __name(useDialogClose, "useDialogClose");
|
|
|
43147
43044
|
|
|
43148
43045
|
// packages/cli/src/ui/hooks/useInitializationAuthError.ts
|
|
43149
43046
|
init_esbuild_shims();
|
|
43150
|
-
var
|
|
43047
|
+
var import_react150 = __toESM(require_react(), 1);
|
|
43151
43048
|
var useInitializationAuthError = /* @__PURE__ */ __name((authError, onAuthError) => {
|
|
43152
|
-
const hasHandled = (0,
|
|
43153
|
-
const authErrorRef = (0,
|
|
43154
|
-
const onAuthErrorRef = (0,
|
|
43049
|
+
const hasHandled = (0, import_react150.useRef)(false);
|
|
43050
|
+
const authErrorRef = (0, import_react150.useRef)(authError);
|
|
43051
|
+
const onAuthErrorRef = (0, import_react150.useRef)(onAuthError);
|
|
43155
43052
|
authErrorRef.current = authError;
|
|
43156
43053
|
onAuthErrorRef.current = onAuthError;
|
|
43157
|
-
(0,
|
|
43054
|
+
(0, import_react150.useEffect)(() => {
|
|
43158
43055
|
if (hasHandled.current) {
|
|
43159
43056
|
return;
|
|
43160
43057
|
}
|
|
@@ -43167,13 +43064,13 @@ var useInitializationAuthError = /* @__PURE__ */ __name((authError, onAuthError)
|
|
|
43167
43064
|
|
|
43168
43065
|
// packages/cli/src/ui/hooks/useSubagentCreateDialog.ts
|
|
43169
43066
|
init_esbuild_shims();
|
|
43170
|
-
var
|
|
43067
|
+
var import_react151 = __toESM(require_react(), 1);
|
|
43171
43068
|
function useSubagentCreateDialog() {
|
|
43172
|
-
const [isSubagentCreateDialogOpen, setIsSubagentCreateDialogOpen] = (0,
|
|
43173
|
-
const openSubagentCreateDialog = (0,
|
|
43069
|
+
const [isSubagentCreateDialogOpen, setIsSubagentCreateDialogOpen] = (0, import_react151.useState)(false);
|
|
43070
|
+
const openSubagentCreateDialog = (0, import_react151.useCallback)(() => {
|
|
43174
43071
|
setIsSubagentCreateDialogOpen(true);
|
|
43175
43072
|
}, []);
|
|
43176
|
-
const closeSubagentCreateDialog = (0,
|
|
43073
|
+
const closeSubagentCreateDialog = (0, import_react151.useCallback)(() => {
|
|
43177
43074
|
setIsSubagentCreateDialogOpen(false);
|
|
43178
43075
|
}, []);
|
|
43179
43076
|
return {
|
|
@@ -43186,13 +43083,13 @@ __name(useSubagentCreateDialog, "useSubagentCreateDialog");
|
|
|
43186
43083
|
|
|
43187
43084
|
// packages/cli/src/ui/hooks/useAgentsManagerDialog.ts
|
|
43188
43085
|
init_esbuild_shims();
|
|
43189
|
-
var
|
|
43086
|
+
var import_react152 = __toESM(require_react(), 1);
|
|
43190
43087
|
var useAgentsManagerDialog = /* @__PURE__ */ __name(() => {
|
|
43191
|
-
const [isAgentsManagerDialogOpen, setIsAgentsManagerDialogOpen] = (0,
|
|
43192
|
-
const openAgentsManagerDialog = (0,
|
|
43088
|
+
const [isAgentsManagerDialogOpen, setIsAgentsManagerDialogOpen] = (0, import_react152.useState)(false);
|
|
43089
|
+
const openAgentsManagerDialog = (0, import_react152.useCallback)(() => {
|
|
43193
43090
|
setIsAgentsManagerDialogOpen(true);
|
|
43194
43091
|
}, []);
|
|
43195
|
-
const closeAgentsManagerDialog = (0,
|
|
43092
|
+
const closeAgentsManagerDialog = (0, import_react152.useCallback)(() => {
|
|
43196
43093
|
setIsAgentsManagerDialogOpen(false);
|
|
43197
43094
|
}, []);
|
|
43198
43095
|
return {
|
|
@@ -43204,13 +43101,13 @@ var useAgentsManagerDialog = /* @__PURE__ */ __name(() => {
|
|
|
43204
43101
|
|
|
43205
43102
|
// packages/cli/src/ui/hooks/useSkillsManagerDialog.ts
|
|
43206
43103
|
init_esbuild_shims();
|
|
43207
|
-
var
|
|
43104
|
+
var import_react153 = __toESM(require_react(), 1);
|
|
43208
43105
|
var useSkillsManagerDialog = /* @__PURE__ */ __name(() => {
|
|
43209
|
-
const [isSkillsManagerDialogOpen, setIsSkillsManagerDialogOpen] = (0,
|
|
43210
|
-
const openSkillsManagerDialog = (0,
|
|
43106
|
+
const [isSkillsManagerDialogOpen, setIsSkillsManagerDialogOpen] = (0, import_react153.useState)(false);
|
|
43107
|
+
const openSkillsManagerDialog = (0, import_react153.useCallback)(() => {
|
|
43211
43108
|
setIsSkillsManagerDialogOpen(true);
|
|
43212
43109
|
}, []);
|
|
43213
|
-
const closeSkillsManagerDialog = (0,
|
|
43110
|
+
const closeSkillsManagerDialog = (0, import_react153.useCallback)(() => {
|
|
43214
43111
|
setIsSkillsManagerDialogOpen(false);
|
|
43215
43112
|
}, []);
|
|
43216
43113
|
return {
|
|
@@ -43222,13 +43119,13 @@ var useSkillsManagerDialog = /* @__PURE__ */ __name(() => {
|
|
|
43222
43119
|
|
|
43223
43120
|
// packages/cli/src/ui/hooks/useExtensionsManagerDialog.ts
|
|
43224
43121
|
init_esbuild_shims();
|
|
43225
|
-
var
|
|
43122
|
+
var import_react154 = __toESM(require_react(), 1);
|
|
43226
43123
|
var useExtensionsManagerDialog = /* @__PURE__ */ __name(() => {
|
|
43227
|
-
const [isExtensionsManagerDialogOpen, setIsExtensionsManagerDialogOpen] = (0,
|
|
43228
|
-
const openExtensionsManagerDialog = (0,
|
|
43124
|
+
const [isExtensionsManagerDialogOpen, setIsExtensionsManagerDialogOpen] = (0, import_react154.useState)(false);
|
|
43125
|
+
const openExtensionsManagerDialog = (0, import_react154.useCallback)(() => {
|
|
43229
43126
|
setIsExtensionsManagerDialogOpen(true);
|
|
43230
43127
|
}, []);
|
|
43231
|
-
const closeExtensionsManagerDialog = (0,
|
|
43128
|
+
const closeExtensionsManagerDialog = (0, import_react154.useCallback)(() => {
|
|
43232
43129
|
setIsExtensionsManagerDialogOpen(false);
|
|
43233
43130
|
}, []);
|
|
43234
43131
|
return {
|
|
@@ -43240,13 +43137,13 @@ var useExtensionsManagerDialog = /* @__PURE__ */ __name(() => {
|
|
|
43240
43137
|
|
|
43241
43138
|
// packages/cli/src/ui/hooks/useMcpDialog.ts
|
|
43242
43139
|
init_esbuild_shims();
|
|
43243
|
-
var
|
|
43140
|
+
var import_react155 = __toESM(require_react(), 1);
|
|
43244
43141
|
var useMcpDialog = /* @__PURE__ */ __name(() => {
|
|
43245
|
-
const [isMcpDialogOpen, setIsMcpDialogOpen] = (0,
|
|
43246
|
-
const openMcpDialog = (0,
|
|
43142
|
+
const [isMcpDialogOpen, setIsMcpDialogOpen] = (0, import_react155.useState)(false);
|
|
43143
|
+
const openMcpDialog = (0, import_react155.useCallback)(() => {
|
|
43247
43144
|
setIsMcpDialogOpen(true);
|
|
43248
43145
|
}, []);
|
|
43249
|
-
const closeMcpDialog = (0,
|
|
43146
|
+
const closeMcpDialog = (0, import_react155.useCallback)(() => {
|
|
43250
43147
|
setIsMcpDialogOpen(false);
|
|
43251
43148
|
}, []);
|
|
43252
43149
|
return {
|
|
@@ -43258,13 +43155,13 @@ var useMcpDialog = /* @__PURE__ */ __name(() => {
|
|
|
43258
43155
|
|
|
43259
43156
|
// packages/cli/src/ui/hooks/useHooksDialog.ts
|
|
43260
43157
|
init_esbuild_shims();
|
|
43261
|
-
var
|
|
43158
|
+
var import_react156 = __toESM(require_react(), 1);
|
|
43262
43159
|
var useHooksDialog = /* @__PURE__ */ __name(() => {
|
|
43263
|
-
const [isHooksDialogOpen, setIsHooksDialogOpen] = (0,
|
|
43264
|
-
const openHooksDialog = (0,
|
|
43160
|
+
const [isHooksDialogOpen, setIsHooksDialogOpen] = (0, import_react156.useState)(false);
|
|
43161
|
+
const openHooksDialog = (0, import_react156.useCallback)(() => {
|
|
43265
43162
|
setIsHooksDialogOpen(true);
|
|
43266
43163
|
}, []);
|
|
43267
|
-
const closeHooksDialog = (0,
|
|
43164
|
+
const closeHooksDialog = (0, import_react156.useCallback)(() => {
|
|
43268
43165
|
setIsHooksDialogOpen(false);
|
|
43269
43166
|
}, []);
|
|
43270
43167
|
return {
|
|
@@ -43276,23 +43173,23 @@ var useHooksDialog = /* @__PURE__ */ __name(() => {
|
|
|
43276
43173
|
|
|
43277
43174
|
// packages/cli/src/ui/hooks/useStatsDialog.ts
|
|
43278
43175
|
init_esbuild_shims();
|
|
43279
|
-
var
|
|
43176
|
+
var import_react157 = __toESM(require_react(), 1);
|
|
43280
43177
|
var useStatsDialog = /* @__PURE__ */ __name(() => {
|
|
43281
|
-
const [isStatsDialogOpen, setIsStatsDialogOpen] = (0,
|
|
43282
|
-
const openStatsDialog = (0,
|
|
43283
|
-
const closeStatsDialog = (0,
|
|
43178
|
+
const [isStatsDialogOpen, setIsStatsDialogOpen] = (0, import_react157.useState)(false);
|
|
43179
|
+
const openStatsDialog = (0, import_react157.useCallback)(() => setIsStatsDialogOpen(true), []);
|
|
43180
|
+
const closeStatsDialog = (0, import_react157.useCallback)(() => setIsStatsDialogOpen(false), []);
|
|
43284
43181
|
return { isStatsDialogOpen, openStatsDialog, closeStatsDialog };
|
|
43285
43182
|
}, "useStatsDialog");
|
|
43286
43183
|
|
|
43287
43184
|
// packages/cli/src/ui/hooks/useMemoryDialog.ts
|
|
43288
43185
|
init_esbuild_shims();
|
|
43289
|
-
var
|
|
43186
|
+
var import_react158 = __toESM(require_react(), 1);
|
|
43290
43187
|
var useMemoryDialog = /* @__PURE__ */ __name(() => {
|
|
43291
|
-
const [isMemoryDialogOpen, setIsMemoryDialogOpen] = (0,
|
|
43292
|
-
const openMemoryDialog = (0,
|
|
43188
|
+
const [isMemoryDialogOpen, setIsMemoryDialogOpen] = (0, import_react158.useState)(false);
|
|
43189
|
+
const openMemoryDialog = (0, import_react158.useCallback)(() => {
|
|
43293
43190
|
setIsMemoryDialogOpen(true);
|
|
43294
43191
|
}, []);
|
|
43295
|
-
const closeMemoryDialog = (0,
|
|
43192
|
+
const closeMemoryDialog = (0, import_react158.useCallback)(() => {
|
|
43296
43193
|
setIsMemoryDialogOpen(false);
|
|
43297
43194
|
}, []);
|
|
43298
43195
|
return {
|
|
@@ -43304,7 +43201,7 @@ var useMemoryDialog = /* @__PURE__ */ __name(() => {
|
|
|
43304
43201
|
|
|
43305
43202
|
// packages/cli/src/ui/hooks/useAttentionNotifications.ts
|
|
43306
43203
|
init_esbuild_shims();
|
|
43307
|
-
var
|
|
43204
|
+
var import_react159 = __toESM(require_react(), 1);
|
|
43308
43205
|
var LONG_TASK_NOTIFICATION_THRESHOLD_SECONDS = 20;
|
|
43309
43206
|
var NOTIFICATION_TITLE = "Qwen Code";
|
|
43310
43207
|
var useAttentionNotifications = /* @__PURE__ */ __name(({
|
|
@@ -43319,16 +43216,16 @@ var useAttentionNotifications = /* @__PURE__ */ __name(({
|
|
|
43319
43216
|
const terminalBellEnabled = settings?.merged?.general?.terminalBell ?? true;
|
|
43320
43217
|
const notificationMode = settings?.merged?.general?.notificationMode === "task-complete" ? "task-complete" : "all";
|
|
43321
43218
|
const approvalNotificationsEnabled = notificationMode === "all";
|
|
43322
|
-
const awaitingNotificationSentRef = (0,
|
|
43323
|
-
const respondingElapsedRef = (0,
|
|
43324
|
-
const idleNotificationSentRef = (0,
|
|
43325
|
-
const awaitingToolName = (0,
|
|
43219
|
+
const awaitingNotificationSentRef = (0, import_react159.useRef)(false);
|
|
43220
|
+
const respondingElapsedRef = (0, import_react159.useRef)(0);
|
|
43221
|
+
const idleNotificationSentRef = (0, import_react159.useRef)(false);
|
|
43222
|
+
const awaitingToolName = (0, import_react159.useMemo)(() => {
|
|
43326
43223
|
const awaitingTool = pendingToolCalls?.find(
|
|
43327
43224
|
(tc) => tc.status === "awaiting_approval"
|
|
43328
43225
|
);
|
|
43329
43226
|
return awaitingTool?.request.name;
|
|
43330
43227
|
}, [pendingToolCalls]);
|
|
43331
|
-
(0,
|
|
43228
|
+
(0, import_react159.useEffect)(() => {
|
|
43332
43229
|
if (streamingState === "waiting_for_confirmation" /* WaitingForConfirmation */ && !isFocused && !awaitingNotificationSentRef.current && terminalBellEnabled && approvalNotificationsEnabled) {
|
|
43333
43230
|
const message = awaitingToolName ? `Qwen Code needs your permission to use ${awaitingToolName}` : "Qwen Code is waiting for your input";
|
|
43334
43231
|
sendNotification(
|
|
@@ -43349,7 +43246,7 @@ var useAttentionNotifications = /* @__PURE__ */ __name(({
|
|
|
43349
43246
|
terminal,
|
|
43350
43247
|
awaitingToolName
|
|
43351
43248
|
]);
|
|
43352
|
-
(0,
|
|
43249
|
+
(0, import_react159.useEffect)(() => {
|
|
43353
43250
|
if (streamingState === "responding" /* Responding */) {
|
|
43354
43251
|
respondingElapsedRef.current = elapsedTime;
|
|
43355
43252
|
idleNotificationSentRef.current = false;
|
|
@@ -43502,7 +43399,7 @@ __name(buildTerminalNotification, "buildTerminalNotification");
|
|
|
43502
43399
|
|
|
43503
43400
|
// packages/cli/src/ui/hooks/useContextualTips.ts
|
|
43504
43401
|
init_esbuild_shims();
|
|
43505
|
-
var
|
|
43402
|
+
var import_react160 = __toESM(require_react(), 1);
|
|
43506
43403
|
function useContextualTips({
|
|
43507
43404
|
streamingState,
|
|
43508
43405
|
lastPromptTokenCount,
|
|
@@ -43512,9 +43409,9 @@ function useContextualTips({
|
|
|
43512
43409
|
addItem,
|
|
43513
43410
|
hideTips
|
|
43514
43411
|
}) {
|
|
43515
|
-
const prevStreamingState = (0,
|
|
43516
|
-
const hadResponsePhase = (0,
|
|
43517
|
-
(0,
|
|
43412
|
+
const prevStreamingState = (0, import_react160.useRef)("idle" /* Idle */);
|
|
43413
|
+
const hadResponsePhase = (0, import_react160.useRef)(false);
|
|
43414
|
+
(0, import_react160.useEffect)(() => {
|
|
43518
43415
|
if (streamingState === "responding" /* Responding */ || prevStreamingState.current === "responding" /* Responding */ && streamingState === "waiting_for_confirmation" /* WaitingForConfirmation */) {
|
|
43519
43416
|
hadResponsePhase.current = true;
|
|
43520
43417
|
}
|
|
@@ -43568,6 +43465,7 @@ var import_jsx_runtime131 = __toESM(require_jsx_runtime(), 1);
|
|
|
43568
43465
|
var MCP_BATCH_FLUSH_MS = 16;
|
|
43569
43466
|
var STARTUP_PROFILE_FINALIZE_CAP_MS = 35e3;
|
|
43570
43467
|
var CTRL_EXIT_PROMPT_DURATION_MS = 1e3;
|
|
43468
|
+
var GOAL_RUNTIME_STARTUP_TIMEOUT_MS = 5e3;
|
|
43571
43469
|
var debugLogger40 = createDebugLogger("APP_CONTAINER");
|
|
43572
43470
|
function isRenderModeToggleKey(key) {
|
|
43573
43471
|
return keyMatchers["toggleRenderMode" /* TOGGLE_RENDER_MODE */](key) || key.name === "m" && key.meta && !key.ctrl && !key.paste;
|
|
@@ -43637,8 +43535,8 @@ function useQueuedSubmissionDrain({
|
|
|
43637
43535
|
submissionSettledRevision
|
|
43638
43536
|
}) {
|
|
43639
43537
|
const goalRuntimeSessionId = config.getSessionId();
|
|
43640
|
-
const [goalQueueRevision, setGoalQueueRevision] = (0,
|
|
43641
|
-
(0,
|
|
43538
|
+
const [goalQueueRevision, setGoalQueueRevision] = (0, import_react161.useState)(0);
|
|
43539
|
+
(0, import_react161.useEffect)(() => {
|
|
43642
43540
|
try {
|
|
43643
43541
|
return config.getGoalRuntime().subscribe(() => {
|
|
43644
43542
|
setGoalQueueRevision((revision) => revision + 1);
|
|
@@ -43647,10 +43545,10 @@ function useQueuedSubmissionDrain({
|
|
|
43647
43545
|
return void 0;
|
|
43648
43546
|
}
|
|
43649
43547
|
}, [config, goalRuntimeSessionId]);
|
|
43650
|
-
const queueDrainingRef = (0,
|
|
43651
|
-
const admissionFailureRef = (0,
|
|
43652
|
-
const [queueDrainNonce, setQueueDrainNonce] = (0,
|
|
43653
|
-
(0,
|
|
43548
|
+
const queueDrainingRef = (0, import_react161.useRef)(false);
|
|
43549
|
+
const admissionFailureRef = (0, import_react161.useRef)(null);
|
|
43550
|
+
const [queueDrainNonce, setQueueDrainNonce] = (0, import_react161.useState)(0);
|
|
43551
|
+
(0, import_react161.useEffect)(() => {
|
|
43654
43552
|
if (queueDrainingRef.current || submissionInFlightRef.current) return;
|
|
43655
43553
|
const admissionFailure = admissionFailureRef.current;
|
|
43656
43554
|
if (admissionFailure) {
|
|
@@ -43774,7 +43672,7 @@ function getResponseCandidateTokens(pendingGeminiHistoryItems) {
|
|
|
43774
43672
|
__name(getResponseCandidateTokens, "getResponseCandidateTokens");
|
|
43775
43673
|
function useStableStickyTodos(todos) {
|
|
43776
43674
|
const renderKey = getStickyTodosRenderKey(todos);
|
|
43777
|
-
const stableTodosRef = (0,
|
|
43675
|
+
const stableTodosRef = (0, import_react161.useRef)(null);
|
|
43778
43676
|
if (stableTodosRef.current?.renderKey !== renderKey) {
|
|
43779
43677
|
stableTodosRef.current = { renderKey, todos };
|
|
43780
43678
|
}
|
|
@@ -43811,29 +43709,29 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
43811
43709
|
initialUseVirtualViewport,
|
|
43812
43710
|
repaintViewport
|
|
43813
43711
|
} = props;
|
|
43814
|
-
const extensionRefreshState = (0,
|
|
43712
|
+
const extensionRefreshState = (0, import_react161.useMemo)(
|
|
43815
43713
|
() => props.extensionRefreshState ?? new ExtensionRefreshState(),
|
|
43816
43714
|
[props.extensionRefreshState]
|
|
43817
43715
|
);
|
|
43818
43716
|
const historyManager = useHistory();
|
|
43819
|
-
const historyRef = (0,
|
|
43717
|
+
const historyRef = (0, import_react161.useRef)(historyManager.history);
|
|
43820
43718
|
historyRef.current = historyManager.history;
|
|
43821
43719
|
useMemoryMonitor(historyManager);
|
|
43822
|
-
const [debugMessage, setDebugMessage] = (0,
|
|
43823
|
-
const [quittingMessages, setQuittingMessages] = (0,
|
|
43824
|
-
const [themeError, setThemeError] = (0,
|
|
43720
|
+
const [debugMessage, setDebugMessage] = (0, import_react161.useState)("");
|
|
43721
|
+
const [quittingMessages, setQuittingMessages] = (0, import_react161.useState)(null);
|
|
43722
|
+
const [themeError, setThemeError] = (0, import_react161.useState)(
|
|
43825
43723
|
initializationResult.themeError
|
|
43826
43724
|
);
|
|
43827
|
-
const [isProcessing, setIsProcessing] = (0,
|
|
43828
|
-
const [embeddedShellFocused, setEmbeddedShellFocused] = (0,
|
|
43829
|
-
const [geminiMdFileCount, setGeminiMdFileCount] = (0,
|
|
43725
|
+
const [isProcessing, setIsProcessing] = (0, import_react161.useState)(false);
|
|
43726
|
+
const [embeddedShellFocused, setEmbeddedShellFocused] = (0, import_react161.useState)(false);
|
|
43727
|
+
const [geminiMdFileCount, setGeminiMdFileCount] = (0, import_react161.useState)(
|
|
43830
43728
|
initializationResult.geminiMdFileCount
|
|
43831
43729
|
);
|
|
43832
|
-
const [shellModeActive, setShellModeActive] = (0,
|
|
43833
|
-
const [modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError] = (0,
|
|
43834
|
-
const [historyRemountKey, setHistoryRemountKey] = (0,
|
|
43835
|
-
const [updateInfo, setUpdateInfo] = (0,
|
|
43836
|
-
const [isTrustedFolder, setIsTrustedFolder] = (0,
|
|
43730
|
+
const [shellModeActive, setShellModeActive] = (0, import_react161.useState)(false);
|
|
43731
|
+
const [modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError] = (0, import_react161.useState)(false);
|
|
43732
|
+
const [historyRemountKey, setHistoryRemountKey] = (0, import_react161.useState)(0);
|
|
43733
|
+
const [updateInfo, setUpdateInfo] = (0, import_react161.useState)(null);
|
|
43734
|
+
const [isTrustedFolder, setIsTrustedFolder] = (0, import_react161.useState)(
|
|
43837
43735
|
config.isTrustedFolder()
|
|
43838
43736
|
);
|
|
43839
43737
|
const extensionManager = config.getExtensionManager();
|
|
@@ -43892,24 +43790,24 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
43892
43790
|
config,
|
|
43893
43791
|
historyManager.addItem
|
|
43894
43792
|
);
|
|
43895
|
-
const [isTrustDialogOpen, setTrustDialogOpen] = (0,
|
|
43896
|
-
const openTrustDialog = (0,
|
|
43897
|
-
const closeTrustDialog = (0,
|
|
43898
|
-
const [isPermissionsDialogOpen, setPermissionsDialogOpen] = (0,
|
|
43899
|
-
const openPermissionsDialog = (0,
|
|
43793
|
+
const [isTrustDialogOpen, setTrustDialogOpen] = (0, import_react161.useState)(false);
|
|
43794
|
+
const openTrustDialog = (0, import_react161.useCallback)(() => setTrustDialogOpen(true), []);
|
|
43795
|
+
const closeTrustDialog = (0, import_react161.useCallback)(() => setTrustDialogOpen(false), []);
|
|
43796
|
+
const [isPermissionsDialogOpen, setPermissionsDialogOpen] = (0, import_react161.useState)(false);
|
|
43797
|
+
const openPermissionsDialog = (0, import_react161.useCallback)(
|
|
43900
43798
|
() => setPermissionsDialogOpen(true),
|
|
43901
43799
|
[]
|
|
43902
43800
|
);
|
|
43903
|
-
const closePermissionsDialog = (0,
|
|
43801
|
+
const closePermissionsDialog = (0, import_react161.useCallback)(
|
|
43904
43802
|
() => setPermissionsDialogOpen(false),
|
|
43905
43803
|
[]
|
|
43906
43804
|
);
|
|
43907
|
-
const [currentModel, setCurrentModel] = (0,
|
|
43908
|
-
const [isConfigInitialized, setConfigInitialized] = (0,
|
|
43909
|
-
const [userMessages, setUserMessages] = (0,
|
|
43910
|
-
const [thoughtExpanded, setThoughtExpanded] = (0,
|
|
43911
|
-
const [expandedThoughtHeadIds, setExpandedThoughtHeadIds] = (0,
|
|
43912
|
-
const toggleThoughtExpanded = (0,
|
|
43805
|
+
const [currentModel, setCurrentModel] = (0, import_react161.useState)(() => config.getModel());
|
|
43806
|
+
const [isConfigInitialized, setConfigInitialized] = (0, import_react161.useState)(false);
|
|
43807
|
+
const [userMessages, setUserMessages] = (0, import_react161.useState)([]);
|
|
43808
|
+
const [thoughtExpanded, setThoughtExpanded] = (0, import_react161.useState)(false);
|
|
43809
|
+
const [expandedThoughtHeadIds, setExpandedThoughtHeadIds] = (0, import_react161.useState)(() => /* @__PURE__ */ new Set());
|
|
43810
|
+
const toggleThoughtExpanded = (0, import_react161.useCallback)((headId) => {
|
|
43913
43811
|
setExpandedThoughtHeadIds((prev) => {
|
|
43914
43812
|
const next = new Set(prev);
|
|
43915
43813
|
if (next.has(headId)) {
|
|
@@ -43923,10 +43821,10 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
43923
43821
|
const { columns: terminalWidth, rows: terminalHeight } = useTerminalSize();
|
|
43924
43822
|
const { stdin, setRawMode } = use_stdin_default();
|
|
43925
43823
|
const { stdout } = use_stdout_default();
|
|
43926
|
-
const writeRaw = (0,
|
|
43824
|
+
const writeRaw = (0, import_react161.useCallback)((data) => {
|
|
43927
43825
|
process18.stdout.write(data);
|
|
43928
43826
|
}, []);
|
|
43929
|
-
const terminal = (0,
|
|
43827
|
+
const terminal = (0, import_react161.useMemo)(
|
|
43930
43828
|
() => buildTerminalNotification(writeRaw),
|
|
43931
43829
|
[writeRaw]
|
|
43932
43830
|
);
|
|
@@ -43940,10 +43838,10 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
43940
43838
|
const branchName = useGitBranchName(
|
|
43941
43839
|
worktreeSession?.worktreePath ?? config.getTargetDir()
|
|
43942
43840
|
);
|
|
43943
|
-
const [showWorktreeExitDialog, setShowWorktreeExitDialog] = (0,
|
|
43944
|
-
const [workflowKeywordActive, setWorkflowKeywordActive] = (0,
|
|
43945
|
-
const pendingWorktreeNoticeRef = (0,
|
|
43946
|
-
const activeWorktree = (0,
|
|
43841
|
+
const [showWorktreeExitDialog, setShowWorktreeExitDialog] = (0, import_react161.useState)(false);
|
|
43842
|
+
const [workflowKeywordActive, setWorkflowKeywordActive] = (0, import_react161.useState)(false);
|
|
43843
|
+
const pendingWorktreeNoticeRef = (0, import_react161.useRef)(null);
|
|
43844
|
+
const activeWorktree = (0, import_react161.useMemo)(
|
|
43947
43845
|
() => worktreeSession ? {
|
|
43948
43846
|
slug: worktreeSession.slug,
|
|
43949
43847
|
branch: worktreeSession.worktreeBranch,
|
|
@@ -43954,24 +43852,31 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
43954
43852
|
} : null,
|
|
43955
43853
|
[worktreeSession]
|
|
43956
43854
|
);
|
|
43957
|
-
const mainControlsRef = (0,
|
|
43958
|
-
const lastTitleRef = (0,
|
|
43959
|
-
const [startupWarnings, setStartupWarnings] = (0,
|
|
43855
|
+
const mainControlsRef = (0, import_react161.useRef)(null);
|
|
43856
|
+
const lastTitleRef = (0, import_react161.useRef)(null);
|
|
43857
|
+
const [startupWarnings, setStartupWarnings] = (0, import_react161.useState)(
|
|
43960
43858
|
() => props.startupWarnings || []
|
|
43961
43859
|
);
|
|
43962
43860
|
const staticExtraHeight = 3;
|
|
43963
|
-
(0,
|
|
43861
|
+
(0, import_react161.useEffect)(() => {
|
|
43964
43862
|
void loadLowlight().catch((err) => {
|
|
43965
43863
|
debugLogger40.warn(
|
|
43966
43864
|
`Failed to load lowlight chunk; code blocks will render as plain text: ${err instanceof Error ? err.message : String(err)}`
|
|
43967
43865
|
);
|
|
43968
43866
|
});
|
|
43969
43867
|
}, []);
|
|
43970
|
-
(0,
|
|
43868
|
+
(0, import_react161.useEffect)(() => {
|
|
43971
43869
|
(async () => {
|
|
43972
43870
|
profileCheckpoint("config_initialize_start");
|
|
43973
43871
|
await config.initialize();
|
|
43974
|
-
await waitForGoalRuntime(config
|
|
43872
|
+
const goalRuntimeReady = await waitForGoalRuntime(config, {
|
|
43873
|
+
timeoutMs: GOAL_RUNTIME_STARTUP_TIMEOUT_MS
|
|
43874
|
+
});
|
|
43875
|
+
if (!goalRuntimeReady) {
|
|
43876
|
+
debugLogger40.warn(
|
|
43877
|
+
`Goal runtime did not settle within ${GOAL_RUNTIME_STARTUP_TIMEOUT_MS}ms (session writer lease contention?); continuing with goal features degraded.`
|
|
43878
|
+
);
|
|
43879
|
+
}
|
|
43975
43880
|
setStartupWarnings(
|
|
43976
43881
|
(currentWarnings) => mergeStartupWarnings(currentWarnings, config.getWarnings())
|
|
43977
43882
|
);
|
|
@@ -44054,7 +43959,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44054
43959
|
await ideClient.disconnect();
|
|
44055
43960
|
});
|
|
44056
43961
|
}, [config]);
|
|
44057
|
-
(0,
|
|
43962
|
+
(0, import_react161.useEffect)(() => {
|
|
44058
43963
|
if (!isConfigInitialized) return void 0;
|
|
44059
43964
|
const geminiClient2 = config.getGeminiClient();
|
|
44060
43965
|
if (!geminiClient2) return void 0;
|
|
@@ -44118,11 +44023,11 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44118
44023
|
clearTimeout(finalizeCap);
|
|
44119
44024
|
};
|
|
44120
44025
|
}, [isConfigInitialized, config]);
|
|
44121
|
-
const isIdleRef = (0,
|
|
44122
|
-
const availableTerminalHeightRef = (0,
|
|
44123
|
-
const terminalWidthRef = (0,
|
|
44124
|
-
const updateHandlerRef = (0,
|
|
44125
|
-
(0,
|
|
44026
|
+
const isIdleRef = (0, import_react161.useRef)(true);
|
|
44027
|
+
const availableTerminalHeightRef = (0, import_react161.useRef)(0);
|
|
44028
|
+
const terminalWidthRef = (0, import_react161.useRef)(0);
|
|
44029
|
+
const updateHandlerRef = (0, import_react161.useRef)(null);
|
|
44030
|
+
(0, import_react161.useEffect)(() => {
|
|
44126
44031
|
const handler = setUpdateHandler(
|
|
44127
44032
|
historyManager.addItem,
|
|
44128
44033
|
setUpdateInfo,
|
|
@@ -44131,13 +44036,13 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44131
44036
|
updateHandlerRef.current = handler;
|
|
44132
44037
|
return () => handler?.cleanup();
|
|
44133
44038
|
}, [historyManager.addItem]);
|
|
44134
|
-
const { inputWidth, suggestionsWidth } = (0,
|
|
44039
|
+
const { inputWidth, suggestionsWidth } = (0, import_react161.useMemo)(() => {
|
|
44135
44040
|
const { inputWidth: inputWidth2, suggestionsWidth: suggestionsWidth2 } = calculatePromptWidths(terminalWidth);
|
|
44136
44041
|
return { inputWidth: inputWidth2, suggestionsWidth: suggestionsWidth2 };
|
|
44137
44042
|
}, [terminalWidth]);
|
|
44138
44043
|
const mainAreaWidth = Math.min(terminalWidth - 4, 100);
|
|
44139
44044
|
const staticAreaMaxItemHeight = Math.max(terminalHeight * 4, 100);
|
|
44140
|
-
const isValidPath = (0,
|
|
44045
|
+
const isValidPath = (0, import_react161.useCallback)((filePath) => {
|
|
44141
44046
|
try {
|
|
44142
44047
|
return fs20.existsSync(filePath) && fs20.statSync(filePath).isFile();
|
|
44143
44048
|
} catch (_e) {
|
|
@@ -44145,14 +44050,14 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44145
44050
|
}
|
|
44146
44051
|
}, []);
|
|
44147
44052
|
const preferredEditor = usePreferredEditor();
|
|
44148
|
-
const restoredSubmissionRef = (0,
|
|
44149
|
-
const submittedPromptProvenanceUnavailableRef = (0,
|
|
44150
|
-
const setBufferTextRef = (0,
|
|
44151
|
-
const invalidateSubmittedPromptProvenance = (0,
|
|
44053
|
+
const restoredSubmissionRef = (0, import_react161.useRef)(null);
|
|
44054
|
+
const submittedPromptProvenanceUnavailableRef = (0, import_react161.useRef)(false);
|
|
44055
|
+
const setBufferTextRef = (0, import_react161.useRef)(null);
|
|
44056
|
+
const invalidateSubmittedPromptProvenance = (0, import_react161.useCallback)(() => {
|
|
44152
44057
|
restoredSubmissionRef.current = null;
|
|
44153
44058
|
submittedPromptProvenanceUnavailableRef.current = true;
|
|
44154
44059
|
}, []);
|
|
44155
|
-
const handleBufferChange = (0,
|
|
44060
|
+
const handleBufferChange = (0, import_react161.useCallback)((text) => {
|
|
44156
44061
|
if (text.length === 0) {
|
|
44157
44062
|
if (restoredSubmissionRef.current !== null || submittedPromptProvenanceUnavailableRef.current) {
|
|
44158
44063
|
setBufferTextRef.current?.("", { clearUndoHistory: true });
|
|
@@ -44178,9 +44083,9 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44178
44083
|
});
|
|
44179
44084
|
const setBufferText = buffer.setText;
|
|
44180
44085
|
setBufferTextRef.current = setBufferText;
|
|
44181
|
-
const restoredPromptStashTargetsRef = (0,
|
|
44086
|
+
const restoredPromptStashTargetsRef = (0, import_react161.useRef)(/* @__PURE__ */ new Set());
|
|
44182
44087
|
const promptStashTargetDir = config.getTargetDir();
|
|
44183
|
-
(0,
|
|
44088
|
+
(0, import_react161.useEffect)(() => {
|
|
44184
44089
|
if (restoredPromptStashTargetsRef.current.has(promptStashTargetDir)) {
|
|
44185
44090
|
return;
|
|
44186
44091
|
}
|
|
@@ -44191,7 +44096,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44191
44096
|
buffer.setText(text);
|
|
44192
44097
|
});
|
|
44193
44098
|
}, [buffer, promptStashTargetDir]);
|
|
44194
|
-
(0,
|
|
44099
|
+
(0, import_react161.useEffect)(() => {
|
|
44195
44100
|
const fetchUserMessages = /* @__PURE__ */ __name(async () => {
|
|
44196
44101
|
const pastMessagesRaw = await logger?.getPreviousUserMessages() || [];
|
|
44197
44102
|
const currentSessionUserMessages = realUserPromptTexts(
|
|
@@ -44205,21 +44110,21 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44205
44110
|
}, "fetchUserMessages");
|
|
44206
44111
|
fetchUserMessages();
|
|
44207
44112
|
}, [historyManager.history, logger]);
|
|
44208
|
-
const remountStaticHistory = (0,
|
|
44113
|
+
const remountStaticHistory = (0, import_react161.useCallback)(() => {
|
|
44209
44114
|
setHistoryRemountKey((prev) => prev + 1);
|
|
44210
44115
|
}, []);
|
|
44211
|
-
const [useTerminalBuffer] = (0,
|
|
44116
|
+
const [useTerminalBuffer] = (0, import_react161.useState)(
|
|
44212
44117
|
() => initialUseVirtualViewport ?? shouldUseVirtualViewport(
|
|
44213
44118
|
settings.merged.ui?.useTerminalBuffer,
|
|
44214
44119
|
config.getScreenReader(),
|
|
44215
44120
|
isInteractiveTerminal()
|
|
44216
44121
|
)
|
|
44217
44122
|
);
|
|
44218
|
-
const prevTerminalWidthRef = (0,
|
|
44219
|
-
const shrinkRemountTimerRef = (0,
|
|
44123
|
+
const prevTerminalWidthRef = (0, import_react161.useRef)(terminalWidth);
|
|
44124
|
+
const shrinkRemountTimerRef = (0, import_react161.useRef)(
|
|
44220
44125
|
null
|
|
44221
44126
|
);
|
|
44222
|
-
(0,
|
|
44127
|
+
(0, import_react161.useEffect)(() => {
|
|
44223
44128
|
const prev = prevTerminalWidthRef.current;
|
|
44224
44129
|
prevTerminalWidthRef.current = terminalWidth;
|
|
44225
44130
|
if (useTerminalBuffer && terminalWidth < prev) {
|
|
@@ -44230,7 +44135,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44230
44135
|
shrinkRemountTimerRef.current = setTimeout(remountStaticHistory, 650);
|
|
44231
44136
|
}
|
|
44232
44137
|
}, [terminalWidth, useTerminalBuffer, remountStaticHistory]);
|
|
44233
|
-
(0,
|
|
44138
|
+
(0, import_react161.useEffect)(
|
|
44234
44139
|
() => () => {
|
|
44235
44140
|
if (shrinkRemountTimerRef.current) {
|
|
44236
44141
|
clearTimeout(shrinkRemountTimerRef.current);
|
|
@@ -44239,13 +44144,13 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44239
44144
|
[]
|
|
44240
44145
|
);
|
|
44241
44146
|
const showScrollbar = settings.merged.ui?.showScrollbar ?? true;
|
|
44242
|
-
const refreshStatic = (0,
|
|
44147
|
+
const refreshStatic = (0, import_react161.useCallback)(() => {
|
|
44243
44148
|
if (!useTerminalBuffer) {
|
|
44244
44149
|
stdout.write(base_exports.clearTerminal);
|
|
44245
44150
|
}
|
|
44246
44151
|
remountStaticHistory();
|
|
44247
44152
|
}, [useTerminalBuffer, remountStaticHistory, stdout]);
|
|
44248
|
-
const wakeRepaint = (0,
|
|
44153
|
+
const wakeRepaint = (0, import_react161.useMemo)(
|
|
44249
44154
|
() => buildWakeRepaint({
|
|
44250
44155
|
isVP: useTerminalBuffer,
|
|
44251
44156
|
repaintViewport,
|
|
@@ -44254,8 +44159,8 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44254
44159
|
}),
|
|
44255
44160
|
[useTerminalBuffer, repaintViewport, refreshStatic, remountStaticHistory]
|
|
44256
44161
|
);
|
|
44257
|
-
const lastNotifiedModelRef = (0,
|
|
44258
|
-
(0,
|
|
44162
|
+
const lastNotifiedModelRef = (0, import_react161.useRef)(currentModel);
|
|
44163
|
+
(0, import_react161.useEffect)(() => {
|
|
44259
44164
|
const unsubscribe = config.onModelChange((model) => {
|
|
44260
44165
|
if (lastNotifiedModelRef.current === model) {
|
|
44261
44166
|
return;
|
|
@@ -44294,7 +44199,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44294
44199
|
const { onAuthError, openAuthDialog, closeAuthDialog } = authActions;
|
|
44295
44200
|
const { isAuthDialogOpen, isAuthenticating, pendingAuthType } = authState;
|
|
44296
44201
|
useInitializationAuthError(initializationResult.authError, onAuthError);
|
|
44297
|
-
(0,
|
|
44202
|
+
(0, import_react161.useEffect)(() => {
|
|
44298
44203
|
const currentAuthType = config.getModelsConfig().getCurrentAuthType();
|
|
44299
44204
|
if (settings.merged.security?.auth?.enforcedType && currentAuthType && settings.merged.security?.auth.enforcedType !== currentAuthType) {
|
|
44300
44205
|
onAuthError(
|
|
@@ -44308,7 +44213,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44308
44213
|
);
|
|
44309
44214
|
}
|
|
44310
44215
|
}, [settings.merged.security?.auth?.enforcedType, config, onAuthError]);
|
|
44311
|
-
const [editorError, setEditorError] = (0,
|
|
44216
|
+
const [editorError, setEditorError] = (0, import_react161.useState)(null);
|
|
44312
44217
|
const {
|
|
44313
44218
|
isEditorDialogOpen,
|
|
44314
44219
|
openEditorDialog,
|
|
@@ -44321,18 +44226,18 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44321
44226
|
config
|
|
44322
44227
|
);
|
|
44323
44228
|
const { isSettingsDialogOpen, openSettingsDialog, closeSettingsDialog } = useSettingsCommand();
|
|
44324
|
-
const [isStatusLineDialogOpen, setStatusLineDialogOpen] = (0,
|
|
44325
|
-
const openStatusLineDialog = (0,
|
|
44229
|
+
const [isStatusLineDialogOpen, setStatusLineDialogOpen] = (0, import_react161.useState)(false);
|
|
44230
|
+
const openStatusLineDialog = (0, import_react161.useCallback)(
|
|
44326
44231
|
() => setStatusLineDialogOpen(true),
|
|
44327
44232
|
[]
|
|
44328
44233
|
);
|
|
44329
|
-
const closeStatusLineDialog = (0,
|
|
44234
|
+
const closeStatusLineDialog = (0, import_react161.useCallback)(
|
|
44330
44235
|
() => setStatusLineDialogOpen(false),
|
|
44331
44236
|
[]
|
|
44332
44237
|
);
|
|
44333
|
-
const [statusLineSettingsVersion, setStatusLineSettingsVersion] = (0,
|
|
44334
|
-
const [statusLineConfigOverride, setStatusLineConfigOverride] = (0,
|
|
44335
|
-
const notifyStatusLineSettingsChanged = (0,
|
|
44238
|
+
const [statusLineSettingsVersion, setStatusLineSettingsVersion] = (0, import_react161.useState)(0);
|
|
44239
|
+
const [statusLineConfigOverride, setStatusLineConfigOverride] = (0, import_react161.useState)(void 0);
|
|
44240
|
+
const notifyStatusLineSettingsChanged = (0, import_react161.useCallback)(
|
|
44336
44241
|
(newConfig) => {
|
|
44337
44242
|
setStatusLineConfigOverride(newConfig);
|
|
44338
44243
|
setStatusLineSettingsVersion((version) => version + 1);
|
|
@@ -44352,8 +44257,8 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44352
44257
|
closeModelDialog
|
|
44353
44258
|
} = useModelCommand();
|
|
44354
44259
|
const { activeArenaDialog, openArenaDialog, closeArenaDialog } = useArenaCommand();
|
|
44355
|
-
const [sessionName, setSessionName] = (0,
|
|
44356
|
-
(0,
|
|
44260
|
+
const [sessionName, setSessionName] = (0, import_react161.useState)(null);
|
|
44261
|
+
(0, import_react161.useEffect)(() => {
|
|
44357
44262
|
const chatRecordingService = config.getChatRecordingService();
|
|
44358
44263
|
if (!chatRecordingService?.setTitleRecordedCallback) return;
|
|
44359
44264
|
const existingCallback = chatRecordingService.getTitleRecordedCallback();
|
|
@@ -44370,7 +44275,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44370
44275
|
};
|
|
44371
44276
|
}, [config]);
|
|
44372
44277
|
const addHistoryItem = historyManager.addItem;
|
|
44373
|
-
(0,
|
|
44278
|
+
(0, import_react161.useEffect)(() => {
|
|
44374
44279
|
if (typeof config.onChatRecordingFailure !== "function") return;
|
|
44375
44280
|
return config.onChatRecordingFailure(() => {
|
|
44376
44281
|
addHistoryItem(
|
|
@@ -44382,9 +44287,9 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44382
44287
|
);
|
|
44383
44288
|
});
|
|
44384
44289
|
}, [addHistoryItem, config]);
|
|
44385
|
-
const clearPendingStateRef = (0,
|
|
44290
|
+
const clearPendingStateRef = (0, import_react161.useRef)(() => {
|
|
44386
44291
|
});
|
|
44387
|
-
const clearPendingStateFromRef = (0,
|
|
44292
|
+
const clearPendingStateFromRef = (0, import_react161.useCallback)(
|
|
44388
44293
|
() => clearPendingStateRef.current(),
|
|
44389
44294
|
[]
|
|
44390
44295
|
);
|
|
@@ -44422,13 +44327,13 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44422
44327
|
config,
|
|
44423
44328
|
addItem: historyManager.addItem
|
|
44424
44329
|
});
|
|
44425
|
-
const [isHelpDialogOpen, setHelpDialogOpen] = (0,
|
|
44426
|
-
const [activeHelpTab, setHelpTab] = (0,
|
|
44427
|
-
const openHelpDialog = (0,
|
|
44428
|
-
const closeHelpDialog = (0,
|
|
44330
|
+
const [isHelpDialogOpen, setHelpDialogOpen] = (0, import_react161.useState)(false);
|
|
44331
|
+
const [activeHelpTab, setHelpTab] = (0, import_react161.useState)("general");
|
|
44332
|
+
const openHelpDialog = (0, import_react161.useCallback)(() => setHelpDialogOpen(true), []);
|
|
44333
|
+
const closeHelpDialog = (0, import_react161.useCallback)(() => setHelpDialogOpen(false), []);
|
|
44429
44334
|
const { vimEnabled, vimMode } = useVimModeState();
|
|
44430
44335
|
const { toggleVimEnabled } = useVimModeActions();
|
|
44431
|
-
(0,
|
|
44336
|
+
(0, import_react161.useLayoutEffect)(() => {
|
|
44432
44337
|
if (vimEnabled && buffer.text.length > 0) {
|
|
44433
44338
|
invalidateSubmittedPromptProvenance();
|
|
44434
44339
|
}
|
|
@@ -44456,31 +44361,31 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44456
44361
|
const { isMcpDialogOpen, openMcpDialog, closeMcpDialog } = useMcpDialog();
|
|
44457
44362
|
const { isHooksDialogOpen, openHooksDialog, closeHooksDialog } = useHooksDialog();
|
|
44458
44363
|
const { isStatsDialogOpen, openStatsDialog, closeStatsDialog } = useStatsDialog();
|
|
44459
|
-
const openRewindSelectorRef = (0,
|
|
44364
|
+
const openRewindSelectorRef = (0, import_react161.useRef)(() => {
|
|
44460
44365
|
});
|
|
44461
|
-
const cancelOngoingRequestRef = (0,
|
|
44366
|
+
const cancelOngoingRequestRef = (0, import_react161.useRef)(() => {
|
|
44462
44367
|
});
|
|
44463
|
-
const [isDiffDialogOpen, setIsDiffDialogOpen] = (0,
|
|
44464
|
-
const openDiffDialog = (0,
|
|
44368
|
+
const [isDiffDialogOpen, setIsDiffDialogOpen] = (0, import_react161.useState)(false);
|
|
44369
|
+
const openDiffDialog = (0, import_react161.useCallback)(() => {
|
|
44465
44370
|
setIsDiffDialogOpen(true);
|
|
44466
44371
|
}, []);
|
|
44467
|
-
const closeDiffDialog = (0,
|
|
44372
|
+
const closeDiffDialog = (0, import_react161.useCallback)(() => {
|
|
44468
44373
|
setIsDiffDialogOpen(false);
|
|
44469
44374
|
}, []);
|
|
44470
|
-
const [isSkillReviewDialogOpen, setIsSkillReviewDialogOpen] = (0,
|
|
44471
|
-
const [skillReviewPending, setSkillReviewPending] = (0,
|
|
44472
|
-
const skillReviewDismissedTaskIdsRef = (0,
|
|
44473
|
-
const dismissSkillReviewDialog = (0,
|
|
44375
|
+
const [isSkillReviewDialogOpen, setIsSkillReviewDialogOpen] = (0, import_react161.useState)(false);
|
|
44376
|
+
const [skillReviewPending, setSkillReviewPending] = (0, import_react161.useState)(null);
|
|
44377
|
+
const skillReviewDismissedTaskIdsRef = (0, import_react161.useRef)(/* @__PURE__ */ new Set());
|
|
44378
|
+
const dismissSkillReviewDialog = (0, import_react161.useCallback)(() => {
|
|
44474
44379
|
if (skillReviewPending) {
|
|
44475
44380
|
skillReviewDismissedTaskIdsRef.current.add(skillReviewPending.taskId);
|
|
44476
44381
|
}
|
|
44477
44382
|
setIsSkillReviewDialogOpen(false);
|
|
44478
44383
|
}, [skillReviewPending]);
|
|
44479
|
-
const closeSkillReviewDialog = (0,
|
|
44384
|
+
const closeSkillReviewDialog = (0, import_react161.useCallback)(
|
|
44480
44385
|
() => setIsSkillReviewDialogOpen(false),
|
|
44481
44386
|
[]
|
|
44482
44387
|
);
|
|
44483
|
-
const acceptPendingSkill = (0,
|
|
44388
|
+
const acceptPendingSkill = (0, import_react161.useCallback)(
|
|
44484
44389
|
(skillName) => {
|
|
44485
44390
|
if (!skillReviewPending) return;
|
|
44486
44391
|
void config.getMemoryManager().acceptPendingSkillFromTask(skillReviewPending.taskId, skillName).catch(() => {
|
|
@@ -44488,7 +44393,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44488
44393
|
},
|
|
44489
44394
|
[config, skillReviewPending]
|
|
44490
44395
|
);
|
|
44491
|
-
const rejectPendingSkill = (0,
|
|
44396
|
+
const rejectPendingSkill = (0, import_react161.useCallback)(
|
|
44492
44397
|
(skillName) => {
|
|
44493
44398
|
if (!skillReviewPending) return;
|
|
44494
44399
|
void config.getMemoryManager().rejectPendingSkillFromTask(skillReviewPending.taskId, skillName).catch(() => {
|
|
@@ -44496,7 +44401,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44496
44401
|
},
|
|
44497
44402
|
[config, skillReviewPending]
|
|
44498
44403
|
);
|
|
44499
|
-
(0,
|
|
44404
|
+
(0, import_react161.useEffect)(() => {
|
|
44500
44405
|
const mgr = config.getMemoryManager();
|
|
44501
44406
|
const projectRoot = config.getProjectRoot();
|
|
44502
44407
|
let lastSig = "";
|
|
@@ -44530,7 +44435,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44530
44435
|
refresh();
|
|
44531
44436
|
return unsub;
|
|
44532
44437
|
}, [config]);
|
|
44533
|
-
const slashCommandActions = (0,
|
|
44438
|
+
const slashCommandActions = (0, import_react161.useMemo)(
|
|
44534
44439
|
() => ({
|
|
44535
44440
|
openAuthDialog,
|
|
44536
44441
|
openThemeDialog,
|
|
@@ -44641,13 +44546,13 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44641
44546
|
setSessionName,
|
|
44642
44547
|
extensionRefreshState
|
|
44643
44548
|
);
|
|
44644
|
-
const onDebugMessage = (0,
|
|
44549
|
+
const onDebugMessage = (0, import_react161.useCallback)(
|
|
44645
44550
|
(message) => {
|
|
44646
44551
|
config.getDebugLogger().debug(message);
|
|
44647
44552
|
},
|
|
44648
44553
|
[config]
|
|
44649
44554
|
);
|
|
44650
|
-
const handleWorktreeExit = (0,
|
|
44555
|
+
const handleWorktreeExit = (0, import_react161.useCallback)(
|
|
44651
44556
|
async (choice) => {
|
|
44652
44557
|
if (choice === "cancel") {
|
|
44653
44558
|
setShowWorktreeExitDialog(false);
|
|
@@ -44712,7 +44617,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44712
44617
|
},
|
|
44713
44618
|
[activeWorktree, config, handleSlashCommand, historyManager]
|
|
44714
44619
|
);
|
|
44715
|
-
const performMemoryRefresh = (0,
|
|
44620
|
+
const performMemoryRefresh = (0, import_react161.useCallback)(async () => {
|
|
44716
44621
|
if (config.isSafeMode()) {
|
|
44717
44622
|
config.setUserMemory("");
|
|
44718
44623
|
config.setGeminiMdFileCount(0);
|
|
@@ -44784,20 +44689,20 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44784
44689
|
debugLogger40.error("Error refreshing memory:", error);
|
|
44785
44690
|
}
|
|
44786
44691
|
}, [config, historyManager, settings.merged]);
|
|
44787
|
-
const cancelHandlerRef = (0,
|
|
44692
|
+
const cancelHandlerRef = (0, import_react161.useRef)(() => {
|
|
44788
44693
|
});
|
|
44789
|
-
const midTurnDrainRef = (0,
|
|
44694
|
+
const midTurnDrainRef = (0, import_react161.useRef)(
|
|
44790
44695
|
null
|
|
44791
44696
|
);
|
|
44792
|
-
const midTurnRestoreRef = (0,
|
|
44793
|
-
const goalQueueRef = (0,
|
|
44794
|
-
const goalReservationSettlementRef = (0,
|
|
44795
|
-
const submissionInFlightRef = (0,
|
|
44796
|
-
const [submissionSettledRevision, setSubmissionSettledRevision] = (0,
|
|
44797
|
-
const onSubmissionSettled = (0,
|
|
44697
|
+
const midTurnRestoreRef = (0, import_react161.useRef)(null);
|
|
44698
|
+
const goalQueueRef = (0, import_react161.useRef)(null);
|
|
44699
|
+
const goalReservationSettlementRef = (0, import_react161.useRef)(Promise.resolve());
|
|
44700
|
+
const submissionInFlightRef = (0, import_react161.useRef)(false);
|
|
44701
|
+
const [submissionSettledRevision, setSubmissionSettledRevision] = (0, import_react161.useState)(0);
|
|
44702
|
+
const onSubmissionSettled = (0, import_react161.useCallback)(() => {
|
|
44798
44703
|
setSubmissionSettledRevision((revision) => revision + 1);
|
|
44799
44704
|
}, []);
|
|
44800
|
-
const waitForReservationSettlement = (0,
|
|
44705
|
+
const waitForReservationSettlement = (0, import_react161.useCallback)(
|
|
44801
44706
|
() => goalReservationSettlementRef.current,
|
|
44802
44707
|
[]
|
|
44803
44708
|
);
|
|
@@ -44847,13 +44752,13 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44847
44752
|
cancelOngoingRequestRef.current = cancelOngoingRequest;
|
|
44848
44753
|
clearPendingStateRef.current = clearPendingState;
|
|
44849
44754
|
isIdleRef.current = streamingState === "idle" /* Idle */;
|
|
44850
|
-
(0,
|
|
44755
|
+
(0, import_react161.useEffect)(() => {
|
|
44851
44756
|
if (streamingState === "idle" /* Idle */) {
|
|
44852
44757
|
updateHandlerRef.current?.flush();
|
|
44853
44758
|
setWorkflowKeywordActive(false);
|
|
44854
44759
|
}
|
|
44855
44760
|
}, [streamingState]);
|
|
44856
|
-
(0,
|
|
44761
|
+
(0, import_react161.useEffect)(() => {
|
|
44857
44762
|
if (shouldAutoOpenSkillReview({
|
|
44858
44763
|
pending: skillReviewPending,
|
|
44859
44764
|
streamingState,
|
|
@@ -44865,7 +44770,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44865
44770
|
}
|
|
44866
44771
|
}, [skillReviewPending, streamingState, isMemoryDialogOpen, config]);
|
|
44867
44772
|
const tipsDisabled = !!(settings.merged.ui?.hideTips || config.getScreenReader());
|
|
44868
|
-
const tipHistory = (0,
|
|
44773
|
+
const tipHistory = (0, import_react161.useMemo)(
|
|
44869
44774
|
() => tipsDisabled ? null : getTipHistory(),
|
|
44870
44775
|
[tipsDisabled]
|
|
44871
44776
|
);
|
|
@@ -44878,7 +44783,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44878
44783
|
addItem: historyManager.addItem,
|
|
44879
44784
|
hideTips: tipsDisabled
|
|
44880
44785
|
});
|
|
44881
|
-
const [hasTabConsumer, setHasTabConsumer] = (0,
|
|
44786
|
+
const [hasTabConsumer, setHasTabConsumer] = (0, import_react161.useState)(false);
|
|
44882
44787
|
const agentViewState = useAgentViewState();
|
|
44883
44788
|
const {
|
|
44884
44789
|
dialogOpen: bgTasksDialogOpen,
|
|
@@ -44886,11 +44791,11 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44886
44791
|
livePanelFocused: bgLivePanelFocused
|
|
44887
44792
|
} = useBackgroundTaskViewState();
|
|
44888
44793
|
const { closeDialog: closeBgTasksDialog } = useBackgroundTaskViewActions();
|
|
44889
|
-
const [promptSuggestion, setPromptSuggestion] = (0,
|
|
44890
|
-
const prevStreamingStateRef = (0,
|
|
44891
|
-
const speculationRef = (0,
|
|
44892
|
-
const suggestionAbortRef = (0,
|
|
44893
|
-
const abortPromptSuggestion = (0,
|
|
44794
|
+
const [promptSuggestion, setPromptSuggestion] = (0, import_react161.useState)(null);
|
|
44795
|
+
const prevStreamingStateRef = (0, import_react161.useRef)("idle" /* Idle */);
|
|
44796
|
+
const speculationRef = (0, import_react161.useRef)(IDLE_SPECULATION);
|
|
44797
|
+
const suggestionAbortRef = (0, import_react161.useRef)(null);
|
|
44798
|
+
const abortPromptSuggestion = (0, import_react161.useCallback)(() => {
|
|
44894
44799
|
suggestionAbortRef.current?.abort();
|
|
44895
44800
|
suggestionAbortRef.current = null;
|
|
44896
44801
|
if (speculationRef.current.status !== "idle") {
|
|
@@ -44936,7 +44841,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44936
44841
|
submissionInFlightRef,
|
|
44937
44842
|
onSubmissionSettled
|
|
44938
44843
|
};
|
|
44939
|
-
const releaseQueuedGoalReservations = (0,
|
|
44844
|
+
const releaseQueuedGoalReservations = (0, import_react161.useCallback)(
|
|
44940
44845
|
(turnKeys) => {
|
|
44941
44846
|
let runtime;
|
|
44942
44847
|
try {
|
|
@@ -44958,7 +44863,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44958
44863
|
},
|
|
44959
44864
|
[config]
|
|
44960
44865
|
);
|
|
44961
|
-
const popAllQueuedMessages = (0,
|
|
44866
|
+
const popAllQueuedMessages = (0, import_react161.useCallback)(() => {
|
|
44962
44867
|
const goalTurnKeys = removeGoalTurns();
|
|
44963
44868
|
if (goalTurnKeys.length > 0) {
|
|
44964
44869
|
releaseQueuedGoalReservations(goalTurnKeys);
|
|
@@ -44969,7 +44874,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44969
44874
|
submittedPromptProvenanceUnavailableRef.current = false;
|
|
44970
44875
|
return submission.modelText;
|
|
44971
44876
|
}, [popAllMessages, releaseQueuedGoalReservations, removeGoalTurns]);
|
|
44972
|
-
(0,
|
|
44877
|
+
(0, import_react161.useEffect)(() => {
|
|
44973
44878
|
const host = {
|
|
44974
44879
|
startGoalTurn: /* @__PURE__ */ __name(async (input) => {
|
|
44975
44880
|
enqueueGoalTurn(input);
|
|
@@ -44982,24 +44887,24 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
44982
44887
|
return config.bindGoalTurnHost(host);
|
|
44983
44888
|
}, [config, enqueueGoalTurn, preemptGoalTurn, removeGoalTurns]);
|
|
44984
44889
|
const remoteInput = useRemoteInput();
|
|
44985
|
-
(0,
|
|
44890
|
+
(0, import_react161.useEffect)(() => {
|
|
44986
44891
|
if (!remoteInput) return;
|
|
44987
44892
|
remoteInput.setSubmitFn((text) => {
|
|
44988
44893
|
addMessage(text);
|
|
44989
44894
|
return true;
|
|
44990
44895
|
});
|
|
44991
44896
|
}, [addMessage, remoteInput]);
|
|
44992
|
-
(0,
|
|
44897
|
+
(0, import_react161.useEffect)(() => {
|
|
44993
44898
|
if (!remoteInput) return;
|
|
44994
44899
|
if (streamingState === "idle" /* Idle */) {
|
|
44995
44900
|
remoteInput.notifyIdle();
|
|
44996
44901
|
}
|
|
44997
44902
|
}, [remoteInput, streamingState]);
|
|
44998
44903
|
const dualOutput = useDualOutput();
|
|
44999
|
-
const confirmRequestMap = (0,
|
|
45000
|
-
const confirmCallIdMap = (0,
|
|
45001
|
-
const confirmEmitted = (0,
|
|
45002
|
-
(0,
|
|
44904
|
+
const confirmRequestMap = (0, import_react161.useRef)(/* @__PURE__ */ new Map());
|
|
44905
|
+
const confirmCallIdMap = (0, import_react161.useRef)(/* @__PURE__ */ new Map());
|
|
44906
|
+
const confirmEmitted = (0, import_react161.useRef)(/* @__PURE__ */ new Set());
|
|
44907
|
+
(0, import_react161.useEffect)(() => {
|
|
45003
44908
|
if (!dualOutput || !dualOutput.isConnected) return;
|
|
45004
44909
|
for (const tc of pendingToolCalls) {
|
|
45005
44910
|
if (tc.status === "awaiting_approval" && !confirmEmitted.current.has(tc.request.callId)) {
|
|
@@ -45028,11 +44933,11 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
45028
44933
|
}
|
|
45029
44934
|
}
|
|
45030
44935
|
}, [dualOutput, pendingToolCalls]);
|
|
45031
|
-
const pendingToolCallsRef = (0,
|
|
44936
|
+
const pendingToolCallsRef = (0, import_react161.useRef)(pendingToolCalls);
|
|
45032
44937
|
pendingToolCallsRef.current = pendingToolCalls;
|
|
45033
|
-
const dualOutputRef = (0,
|
|
44938
|
+
const dualOutputRef = (0, import_react161.useRef)(dualOutput);
|
|
45034
44939
|
dualOutputRef.current = dualOutput;
|
|
45035
|
-
(0,
|
|
44940
|
+
(0, import_react161.useEffect)(() => {
|
|
45036
44941
|
if (!remoteInput) return;
|
|
45037
44942
|
remoteInput.setConfirmationHandler(
|
|
45038
44943
|
(requestId, allowed) => {
|
|
@@ -45072,7 +44977,7 @@ var AppContainer = /* @__PURE__ */ __name((props) => {
|
|
|
45072
44977
|
});
|
|
45073
44978
|
};
|
|
45074
44979
|
}, [remoteInput]);
|
|
45075
|
-
const handleFinalSubmit = (0,
|
|
44980
|
+
const handleFinalSubmit = (0, import_react161.useCallback)(
|
|
45076
44981
|
(submittedValue, options) => {
|
|
45077
44982
|
const consumesComposerState = options !== void 0;
|
|
45078
44983
|
const restoredSubmission = consumesComposerState ? restoredSubmissionRef.current : null;
|
|
@@ -45265,7 +45170,7 @@ ${buildWorkflowSteeringNotice()}
|
|
|
45265
45170
|
vimEnabled
|
|
45266
45171
|
]
|
|
45267
45172
|
);
|
|
45268
|
-
const handleArenaModelsSelected = (0,
|
|
45173
|
+
const handleArenaModelsSelected = (0, import_react161.useCallback)(
|
|
45269
45174
|
(models) => {
|
|
45270
45175
|
const value = models.join(",");
|
|
45271
45176
|
buffer.setText(`/arena start --models ${value} `);
|
|
@@ -45280,11 +45185,11 @@ ${buildWorkflowSteeringNotice()}
|
|
|
45280
45185
|
handleWelcomeBackSelection,
|
|
45281
45186
|
handleWelcomeBackClose
|
|
45282
45187
|
} = useWelcomeBack(config, handleFinalSubmit, buffer, settings.merged);
|
|
45283
|
-
const pendingHistoryItems = (0,
|
|
45188
|
+
const pendingHistoryItems = (0, import_react161.useMemo)(
|
|
45284
45189
|
() => [...pendingSlashCommandHistoryItems, ...pendingGeminiHistoryItems],
|
|
45285
45190
|
[pendingSlashCommandHistoryItems, pendingGeminiHistoryItems]
|
|
45286
45191
|
);
|
|
45287
|
-
const rawStickyTodos = (0,
|
|
45192
|
+
const rawStickyTodos = (0, import_react161.useMemo)(
|
|
45288
45193
|
() => getStickyTodos(historyManager.history, pendingHistoryItems),
|
|
45289
45194
|
[historyManager.history, pendingHistoryItems]
|
|
45290
45195
|
);
|
|
@@ -45292,7 +45197,7 @@ ${buildWorkflowSteeringNotice()}
|
|
|
45292
45197
|
const hasExecutingTool = isToolExecuting(pendingHistoryItems);
|
|
45293
45198
|
const hasPendingCompression = isCompressionPending(pendingHistoryItems);
|
|
45294
45199
|
useTerminalProgress(streamingState, hasExecutingTool);
|
|
45295
|
-
cancelHandlerRef.current = (0,
|
|
45200
|
+
cancelHandlerRef.current = (0, import_react161.useCallback)(
|
|
45296
45201
|
(info) => {
|
|
45297
45202
|
const pendingHistoryItems2 = [
|
|
45298
45203
|
...pendingSlashCommandHistoryItems,
|
|
@@ -45415,7 +45320,7 @@ ${currentText}` : popped.modelText
|
|
|
45415
45320
|
pendingGeminiHistoryItems
|
|
45416
45321
|
]
|
|
45417
45322
|
);
|
|
45418
|
-
const handleClearScreen = (0,
|
|
45323
|
+
const handleClearScreen = (0, import_react161.useCallback)(() => {
|
|
45419
45324
|
clearPendingStateRef.current();
|
|
45420
45325
|
historyManager.clearItems();
|
|
45421
45326
|
clearScreen();
|
|
@@ -45439,13 +45344,13 @@ ${currentText}` : popped.modelText
|
|
|
45439
45344
|
history: historyManager.history,
|
|
45440
45345
|
awayThresholdMinutes: settings.merged.general?.sessionRecapAwayThresholdMinutes
|
|
45441
45346
|
});
|
|
45442
|
-
const contextFileNames = (0,
|
|
45347
|
+
const contextFileNames = (0, import_react161.useMemo)(() => {
|
|
45443
45348
|
const fromSettings = settings.merged.context?.fileName;
|
|
45444
45349
|
return fromSettings ? Array.isArray(fromSettings) ? fromSettings : [fromSettings] : getAllGeminiMdFilenames();
|
|
45445
45350
|
}, [settings.merged.context?.fileName]);
|
|
45446
|
-
const initialPrompt = (0,
|
|
45447
|
-
const initialPromptSubmitted = (0,
|
|
45448
|
-
(0,
|
|
45351
|
+
const initialPrompt = (0, import_react161.useMemo)(() => config.getQuestion(), [config]);
|
|
45352
|
+
const initialPromptSubmitted = (0, import_react161.useRef)(false);
|
|
45353
|
+
(0, import_react161.useEffect)(() => {
|
|
45449
45354
|
if (initialPrompt && isConfigInitialized && !initialPromptSubmitted.current && !isAuthenticating && !isAuthDialogOpen && !isThemeDialogOpen && !isEditorDialogOpen && !showWelcomeBackDialog && welcomeBackChoice !== "restart" && geminiClient?.isInitialized?.()) {
|
|
45450
45355
|
handleFinalSubmit(initialPrompt);
|
|
45451
45356
|
initialPromptSubmitted.current = true;
|
|
@@ -45463,7 +45368,7 @@ ${currentText}` : popped.modelText
|
|
|
45463
45368
|
geminiClient
|
|
45464
45369
|
]);
|
|
45465
45370
|
const followupSuggestionsEnabled = settings.merged.ui?.enableFollowupSuggestions !== false;
|
|
45466
|
-
(0,
|
|
45371
|
+
(0, import_react161.useEffect)(() => {
|
|
45467
45372
|
if (!followupSuggestionsEnabled) {
|
|
45468
45373
|
suggestionAbortRef.current?.abort();
|
|
45469
45374
|
setPromptSuggestion(null);
|
|
@@ -45532,17 +45437,17 @@ ${currentText}` : popped.modelText
|
|
|
45532
45437
|
isPermissionsDialogOpen,
|
|
45533
45438
|
settingInputRequests
|
|
45534
45439
|
]);
|
|
45535
|
-
(0,
|
|
45440
|
+
(0, import_react161.useEffect)(() => {
|
|
45536
45441
|
if (!promptSuggestion && speculationRef.current.status !== "idle") {
|
|
45537
45442
|
abortSpeculation(speculationRef.current).catch(() => {
|
|
45538
45443
|
});
|
|
45539
45444
|
speculationRef.current = IDLE_SPECULATION;
|
|
45540
45445
|
}
|
|
45541
45446
|
}, [promptSuggestion]);
|
|
45542
|
-
const [idePromptAnswered, setIdePromptAnswered] = (0,
|
|
45543
|
-
const [currentIDE, setCurrentIDE] = (0,
|
|
45544
|
-
const [startupIdeConnectionStatus, setStartupIdeConnectionStatus] = (0,
|
|
45545
|
-
(0,
|
|
45447
|
+
const [idePromptAnswered, setIdePromptAnswered] = (0, import_react161.useState)(false);
|
|
45448
|
+
const [currentIDE, setCurrentIDE] = (0, import_react161.useState)(null);
|
|
45449
|
+
const [startupIdeConnectionStatus, setStartupIdeConnectionStatus] = (0, import_react161.useState)({ state: "idle" });
|
|
45450
|
+
(0, import_react161.useEffect)(() => {
|
|
45546
45451
|
const getIde = /* @__PURE__ */ __name(async () => {
|
|
45547
45452
|
const ideClient = await IdeClient.getInstance();
|
|
45548
45453
|
const currentIde = ideClient.getCurrentIde();
|
|
@@ -45558,40 +45463,40 @@ ${currentText}` : popped.modelText
|
|
|
45558
45463
|
tomlFiles: commandMigrationTomlFiles,
|
|
45559
45464
|
setShowMigrationNudge: setShowCommandMigrationNudge
|
|
45560
45465
|
} = useCommandMigration(settings, config.storage);
|
|
45561
|
-
const [showToolDescriptions, setShowToolDescriptions] = (0,
|
|
45466
|
+
const [showToolDescriptions, setShowToolDescriptions] = (0, import_react161.useState)(false);
|
|
45562
45467
|
const configuredRenderMode = settings.merged.ui?.renderMode;
|
|
45563
|
-
const [renderMode, setRenderMode] = (0,
|
|
45468
|
+
const [renderMode, setRenderMode] = (0, import_react161.useState)(
|
|
45564
45469
|
configuredRenderMode === "raw" ? "raw" : "render"
|
|
45565
45470
|
);
|
|
45566
|
-
const renderModeConfigMountedRef = (0,
|
|
45567
|
-
(0,
|
|
45471
|
+
const renderModeConfigMountedRef = (0, import_react161.useRef)(false);
|
|
45472
|
+
(0, import_react161.useEffect)(() => {
|
|
45568
45473
|
if (!renderModeConfigMountedRef.current) {
|
|
45569
45474
|
renderModeConfigMountedRef.current = true;
|
|
45570
45475
|
return;
|
|
45571
45476
|
}
|
|
45572
45477
|
setRenderMode(configuredRenderMode === "raw" ? "raw" : "render");
|
|
45573
45478
|
}, [configuredRenderMode]);
|
|
45574
|
-
const renderModeMountedRef = (0,
|
|
45575
|
-
(0,
|
|
45479
|
+
const renderModeMountedRef = (0, import_react161.useRef)(false);
|
|
45480
|
+
(0, import_react161.useEffect)(() => {
|
|
45576
45481
|
if (!renderModeMountedRef.current) {
|
|
45577
45482
|
renderModeMountedRef.current = true;
|
|
45578
45483
|
return;
|
|
45579
45484
|
}
|
|
45580
45485
|
refreshStatic();
|
|
45581
45486
|
}, [renderMode, refreshStatic]);
|
|
45582
|
-
const [ctrlCPressedOnce, setCtrlCPressedOnce] = (0,
|
|
45583
|
-
const ctrlCTimerRef = (0,
|
|
45584
|
-
const [ctrlDPressedOnce, setCtrlDPressedOnce] = (0,
|
|
45585
|
-
const ctrlDTimerRef = (0,
|
|
45586
|
-
const [escapePressedOnce, setEscapePressedOnce] = (0,
|
|
45587
|
-
const escapeTimerRef = (0,
|
|
45588
|
-
const dialogsVisibleRef = (0,
|
|
45589
|
-
const [isRewindSelectorOpen, setIsRewindSelectorOpen] = (0,
|
|
45590
|
-
const [rewindEscPending, setRewindEscPending] = (0,
|
|
45591
|
-
const [constrainHeight, setConstrainHeight] = (0,
|
|
45592
|
-
const [ideContextState, setIdeContextState] = (0,
|
|
45593
|
-
const [showEscapePrompt, setShowEscapePrompt] = (0,
|
|
45594
|
-
const [showIdeRestartPrompt, setShowIdeRestartPrompt] = (0,
|
|
45487
|
+
const [ctrlCPressedOnce, setCtrlCPressedOnce] = (0, import_react161.useState)(false);
|
|
45488
|
+
const ctrlCTimerRef = (0, import_react161.useRef)(null);
|
|
45489
|
+
const [ctrlDPressedOnce, setCtrlDPressedOnce] = (0, import_react161.useState)(false);
|
|
45490
|
+
const ctrlDTimerRef = (0, import_react161.useRef)(null);
|
|
45491
|
+
const [escapePressedOnce, setEscapePressedOnce] = (0, import_react161.useState)(false);
|
|
45492
|
+
const escapeTimerRef = (0, import_react161.useRef)(null);
|
|
45493
|
+
const dialogsVisibleRef = (0, import_react161.useRef)(false);
|
|
45494
|
+
const [isRewindSelectorOpen, setIsRewindSelectorOpen] = (0, import_react161.useState)(false);
|
|
45495
|
+
const [rewindEscPending, setRewindEscPending] = (0, import_react161.useState)(false);
|
|
45496
|
+
const [constrainHeight, setConstrainHeight] = (0, import_react161.useState)(true);
|
|
45497
|
+
const [ideContextState, setIdeContextState] = (0, import_react161.useState)();
|
|
45498
|
+
const [showEscapePrompt, setShowEscapePrompt] = (0, import_react161.useState)(false);
|
|
45499
|
+
const [showIdeRestartPrompt, setShowIdeRestartPrompt] = (0, import_react161.useState)(false);
|
|
45595
45500
|
const { isFolderTrustDialogOpen, handleFolderTrustSelect, isRestarting } = useFolderTrust(settings, setIsTrustedFolder);
|
|
45596
45501
|
const {
|
|
45597
45502
|
isMcpApprovalDialogOpen,
|
|
@@ -45630,12 +45535,12 @@ ${currentText}` : popped.modelText
|
|
|
45630
45535
|
stickyTodoWidth,
|
|
45631
45536
|
stickyTodoMaxVisibleItems
|
|
45632
45537
|
) : "hidden";
|
|
45633
|
-
const [controlsHeight, setControlsHeight] = (0,
|
|
45538
|
+
const [controlsHeight, setControlsHeight] = (0, import_react161.useState)(0);
|
|
45634
45539
|
const liveAgentPanelLayoutKey = getLiveAgentPanelLayoutKey(
|
|
45635
45540
|
bgTaskEntries,
|
|
45636
45541
|
bgLivePanelFocused
|
|
45637
45542
|
);
|
|
45638
|
-
(0,
|
|
45543
|
+
(0, import_react161.useLayoutEffect)(() => {
|
|
45639
45544
|
if (!mainControlsRef.current) {
|
|
45640
45545
|
setControlsHeight(
|
|
45641
45546
|
(previousHeight) => previousHeight === 0 ? previousHeight : 0
|
|
@@ -45682,7 +45587,7 @@ ${currentText}` : popped.modelText
|
|
|
45682
45587
|
pager: settings.merged.tools?.shell?.pager,
|
|
45683
45588
|
showColor: settings.merged.tools?.shell?.showColor
|
|
45684
45589
|
});
|
|
45685
|
-
(0,
|
|
45590
|
+
(0, import_react161.useEffect)(() => {
|
|
45686
45591
|
if (activePtyId) {
|
|
45687
45592
|
ShellExecutionService.resizePty(
|
|
45688
45593
|
activePtyId,
|
|
@@ -45692,17 +45597,17 @@ ${currentText}` : popped.modelText
|
|
|
45692
45597
|
}
|
|
45693
45598
|
}, [terminalWidth, availableTerminalHeight, activePtyId]);
|
|
45694
45599
|
useWakeRepaint(wakeRepaint);
|
|
45695
|
-
(0,
|
|
45600
|
+
(0, import_react161.useEffect)(() => {
|
|
45696
45601
|
if (ideNeedsRestart) {
|
|
45697
45602
|
setShowIdeRestartPrompt(true);
|
|
45698
45603
|
}
|
|
45699
45604
|
}, [ideNeedsRestart]);
|
|
45700
|
-
(0,
|
|
45605
|
+
(0, import_react161.useEffect)(() => {
|
|
45701
45606
|
const unsubscribe = ideContextStore.subscribe(setIdeContextState);
|
|
45702
45607
|
setIdeContextState(ideContextStore.get());
|
|
45703
45608
|
return unsubscribe;
|
|
45704
45609
|
}, []);
|
|
45705
|
-
(0,
|
|
45610
|
+
(0, import_react161.useEffect)(() => {
|
|
45706
45611
|
const listener = /* @__PURE__ */ __name((status) => {
|
|
45707
45612
|
setStartupIdeConnectionStatus(status);
|
|
45708
45613
|
}, "listener");
|
|
@@ -45711,10 +45616,10 @@ ${currentText}` : popped.modelText
|
|
|
45711
45616
|
appEvents.off("startup-ide-connection-status-changed" /* StartupIdeConnectionStatusChanged */, listener);
|
|
45712
45617
|
};
|
|
45713
45618
|
}, []);
|
|
45714
|
-
const handleEscapePromptChange = (0,
|
|
45619
|
+
const handleEscapePromptChange = (0, import_react161.useCallback)((showPrompt) => {
|
|
45715
45620
|
setShowEscapePrompt(showPrompt);
|
|
45716
45621
|
}, []);
|
|
45717
|
-
const openRewindSelector = (0,
|
|
45622
|
+
const openRewindSelector = (0, import_react161.useCallback)(() => {
|
|
45718
45623
|
if (streamingState !== "idle" /* Idle */) return;
|
|
45719
45624
|
if (dialogsVisibleRef.current) return;
|
|
45720
45625
|
if (config.getIdeMode()) {
|
|
@@ -45732,10 +45637,10 @@ ${currentText}` : popped.modelText
|
|
|
45732
45637
|
setIsRewindSelectorOpen(true);
|
|
45733
45638
|
}, [streamingState, config, historyManager]);
|
|
45734
45639
|
openRewindSelectorRef.current = openRewindSelector;
|
|
45735
|
-
const closeRewindSelector = (0,
|
|
45640
|
+
const closeRewindSelector = (0, import_react161.useCallback)(() => {
|
|
45736
45641
|
setIsRewindSelectorOpen(false);
|
|
45737
45642
|
}, []);
|
|
45738
|
-
const handleRewindConfirm = (0,
|
|
45643
|
+
const handleRewindConfirm = (0, import_react161.useCallback)(
|
|
45739
45644
|
async (userItem, option) => {
|
|
45740
45645
|
try {
|
|
45741
45646
|
const needsConversation = option === "conversation" || option === "both";
|
|
@@ -45900,7 +45805,7 @@ ${currentText}` : popped.modelText
|
|
|
45900
45805
|
openRewindSelector,
|
|
45901
45806
|
(pending) => setRewindEscPending(pending)
|
|
45902
45807
|
);
|
|
45903
|
-
const handleIdePromptComplete = (0,
|
|
45808
|
+
const handleIdePromptComplete = (0, import_react161.useCallback)(
|
|
45904
45809
|
(result) => {
|
|
45905
45810
|
if (result.userSelection === "yes") {
|
|
45906
45811
|
if (result.isExtensionPreInstalled) {
|
|
@@ -45916,7 +45821,7 @@ ${currentText}` : popped.modelText
|
|
|
45916
45821
|
},
|
|
45917
45822
|
[handleSlashCommand, settings]
|
|
45918
45823
|
);
|
|
45919
|
-
const handleCommandMigrationComplete = (0,
|
|
45824
|
+
const handleCommandMigrationComplete = (0, import_react161.useCallback)(
|
|
45920
45825
|
async (result) => {
|
|
45921
45826
|
setShowCommandMigrationNudge(false);
|
|
45922
45827
|
if (result.userSelection === "yes") {
|
|
@@ -46008,7 +45913,7 @@ ${migrationResult.failedFiles.map((f) => ` \u2022 ${f.file}: ${f.error}`).join(
|
|
|
46008
45913
|
pendingToolCalls
|
|
46009
45914
|
});
|
|
46010
45915
|
const workflowBellEnabled = settings.merged.general?.terminalBell ?? true;
|
|
46011
|
-
(0,
|
|
45916
|
+
(0, import_react161.useEffect)(() => {
|
|
46012
45917
|
const registry = config.getWorkflowRunRegistry?.();
|
|
46013
45918
|
if (!registry?.setNotificationCallback) return;
|
|
46014
45919
|
registry.setNotificationCallback((entry) => {
|
|
@@ -46058,7 +45963,7 @@ ${migrationResult.failedFiles.map((f) => ` \u2022 ${f.file}: ${f.error}`).join(
|
|
|
46058
45963
|
showWorktreeExitDialog,
|
|
46059
45964
|
closeWorktreeExitDialog: /* @__PURE__ */ __name(() => setShowWorktreeExitDialog(false), "closeWorktreeExitDialog")
|
|
46060
45965
|
});
|
|
46061
|
-
const handleExit = (0,
|
|
45966
|
+
const handleExit = (0, import_react161.useCallback)(
|
|
46062
45967
|
(pressedOnce, setPressedOnce, timerRef) => {
|
|
46063
45968
|
if (pressedOnce) {
|
|
46064
45969
|
if (timerRef.current) {
|
|
@@ -46111,7 +46016,7 @@ ${migrationResult.failedFiles.map((f) => ` \u2022 ${f.file}: ${f.error}`).join(
|
|
|
46111
46016
|
activeWorktree
|
|
46112
46017
|
]
|
|
46113
46018
|
);
|
|
46114
|
-
const handleGlobalKeypress = (0,
|
|
46019
|
+
const handleGlobalKeypress = (0, import_react161.useCallback)(
|
|
46115
46020
|
(key) => {
|
|
46116
46021
|
if (settings.merged.general?.debugKeystrokeLogging) {
|
|
46117
46022
|
debugLogger40.debug("[DEBUG] Keystroke:", JSON.stringify(key));
|
|
@@ -46285,7 +46190,7 @@ ${migrationResult.failedFiles.map((f) => ` \u2022 ${f.file}: ${f.error}`).join(
|
|
|
46285
46190
|
]
|
|
46286
46191
|
);
|
|
46287
46192
|
useKeypress(handleGlobalKeypress, { isActive: true });
|
|
46288
|
-
(0,
|
|
46193
|
+
(0, import_react161.useEffect)(() => {
|
|
46289
46194
|
if (settings.merged.ui?.hideWindowTitle) {
|
|
46290
46195
|
return;
|
|
46291
46196
|
}
|
|
@@ -46333,7 +46238,7 @@ ${migrationResult.failedFiles.map((f) => ` \u2022 ${f.file}: ${f.error}`).join(
|
|
|
46333
46238
|
submissionSettledRevision
|
|
46334
46239
|
});
|
|
46335
46240
|
const nightly = props.version.includes("nightly");
|
|
46336
|
-
const uiState = (0,
|
|
46241
|
+
const uiState = (0, import_react161.useMemo)(
|
|
46337
46242
|
() => ({
|
|
46338
46243
|
history: historyManager.history,
|
|
46339
46244
|
historyManager,
|
|
@@ -46628,7 +46533,7 @@ ${migrationResult.failedFiles.map((f) => ` \u2022 ${f.file}: ${f.error}`).join(
|
|
|
46628
46533
|
isDiffDialogOpen
|
|
46629
46534
|
]
|
|
46630
46535
|
);
|
|
46631
|
-
const uiActions = (0,
|
|
46536
|
+
const uiActions = (0, import_react161.useMemo)(
|
|
46632
46537
|
() => ({
|
|
46633
46538
|
openThemeDialog,
|
|
46634
46539
|
openEditorDialog,
|
|
@@ -46811,11 +46716,11 @@ ${migrationResult.failedFiles.map((f) => ` \u2022 ${f.file}: ${f.error}`).join(
|
|
|
46811
46716
|
closeDiffDialog
|
|
46812
46717
|
]
|
|
46813
46718
|
);
|
|
46814
|
-
const renderModeValue = (0,
|
|
46719
|
+
const renderModeValue = (0, import_react161.useMemo)(
|
|
46815
46720
|
() => ({ renderMode, setRenderMode }),
|
|
46816
46721
|
[renderMode, setRenderMode]
|
|
46817
46722
|
);
|
|
46818
|
-
const thoughtExpandedValue = (0,
|
|
46723
|
+
const thoughtExpandedValue = (0, import_react161.useMemo)(
|
|
46819
46724
|
() => ({
|
|
46820
46725
|
allExpanded: thoughtExpanded,
|
|
46821
46726
|
expandedHeadIds: expandedThoughtHeadIds,
|
|
@@ -46837,9 +46742,9 @@ ${migrationResult.failedFiles.map((f) => ` \u2022 ${f.file}: ${f.error}`).join(
|
|
|
46837
46742
|
|
|
46838
46743
|
// packages/cli/src/ui/hooks/useKittyKeyboardProtocol.ts
|
|
46839
46744
|
init_esbuild_shims();
|
|
46840
|
-
var
|
|
46745
|
+
var import_react162 = __toESM(require_react(), 1);
|
|
46841
46746
|
function useKittyKeyboardProtocol() {
|
|
46842
|
-
const [status] = (0,
|
|
46747
|
+
const [status] = (0, import_react162.useState)({
|
|
46843
46748
|
supported: isKittyProtocolSupported(),
|
|
46844
46749
|
enabled: isKittyProtocolEnabled(),
|
|
46845
46750
|
checking: false
|
|
@@ -46938,8 +46843,15 @@ async function startInteractiveUI(config, settings, startupWarnings, workspaceRo
|
|
|
46938
46843
|
if (isExperimentalRenderer(pickRenderer())) {
|
|
46939
46844
|
const { probeOpenTuiRuntime } = await import("./runtime-gate-T4ICWGQJ.js");
|
|
46940
46845
|
if (probeOpenTuiRuntime().supported) {
|
|
46941
|
-
const { startOpenTuiUI } = await import("./opentui-entry-
|
|
46942
|
-
await startOpenTuiUI({
|
|
46846
|
+
const { startOpenTuiUI } = await import("./opentui-entry-SBAOWW7M.js");
|
|
46847
|
+
await startOpenTuiUI({
|
|
46848
|
+
config,
|
|
46849
|
+
settings,
|
|
46850
|
+
postRender: {
|
|
46851
|
+
connectIde: options.postRenderConnectIde ?? false,
|
|
46852
|
+
initializeTelemetry: options.postRenderInitializeTelemetry ?? config.isTelemetryInitializationDeferred()
|
|
46853
|
+
}
|
|
46854
|
+
});
|
|
46943
46855
|
return;
|
|
46944
46856
|
}
|
|
46945
46857
|
}
|
|
@@ -47053,7 +46965,7 @@ ${error.stack ?? ""}`
|
|
|
47053
46965
|
}
|
|
47054
46966
|
);
|
|
47055
46967
|
const instance = render_default(
|
|
47056
|
-
process.env["DEBUG"] ? /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(
|
|
46968
|
+
process.env["DEBUG"] ? /* @__PURE__ */ (0, import_jsx_runtime132.jsx)(import_react163.default.StrictMode, { children: appTree }) : appTree,
|
|
47057
46969
|
{
|
|
47058
46970
|
exitOnCtrlC: false,
|
|
47059
46971
|
isScreenReaderEnabled: config.getScreenReader(),
|