@qwen-code/qwen-code 0.19.2 → 0.19.3-nightly.20260630.e00fe6a27
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/bundled/extension-creator/SKILL.md +357 -0
- package/bundled/loop/SKILL.md +21 -7
- package/bundled/loop/SKILL.test.ts +41 -0
- package/bundled/loop/loop-task-file.test.ts +1064 -0
- package/bundled/loop/loop-task-file.ts +404 -0
- package/bundled/loop/loop-tick-resolver.test.ts +665 -0
- package/bundled/loop/loop-tick-resolver.ts +347 -0
- package/bundled/qc-helper/SKILL.md +26 -19
- package/bundled/qc-helper/docs/configuration/auth.md +11 -11
- package/bundled/qc-helper/docs/configuration/model-providers.md +13 -13
- package/bundled/qc-helper/docs/configuration/settings.md +76 -75
- package/bundled/qc-helper/docs/features/channels/plugins.md +1 -1
- package/bundled/qc-helper/docs/features/commands.md +108 -77
- package/bundled/qc-helper/docs/features/hooks.md +6 -1
- package/bundled/qc-helper/docs/features/memory.md +52 -0
- package/bundled/qc-helper/docs/qwen-serve.md +24 -2
- package/bundled/qc-helper/docs/support/tos-privacy.md +16 -3
- package/bundled/qc-helper/docs/support/troubleshooting.md +6 -0
- package/chunks/{MaxSizedBox-7RERNLFK.js → MaxSizedBox-T5X5MN5Q.js} +29 -27
- package/chunks/{StandaloneSessionPicker-S22XBSN6.js → StandaloneSessionPicker-P3E3WTOQ.js} +42 -37
- package/chunks/{acpAgent-4MCETHF2.js → acpAgent-QEP6DXFW.js} +864 -175
- package/chunks/{agent-K3ENVYSB.js → agent-UDANDUF7.js} +24 -23
- package/chunks/{agent-headless-HO3V3A3A.js → agent-headless-KYVSZHSO.js} +24 -23
- package/chunks/{anthropicContentGenerator-E3TQ5XJJ.js → anthropicContentGenerator-KWSJAQ7B.js} +33 -12
- package/chunks/{artifact-tool-QA4KRO3B.js → artifact-tool-D2X7G3C3.js} +2 -2
- package/chunks/{askUserQuestion-HMWXW6VN.js → askUserQuestion-UGETICJQ.js} +2 -2
- package/chunks/{bridge-4LV2HBH2.js → bridge-X42LXPTA.js} +31 -30
- package/chunks/{ca-7WC7ELX6.js → ca-IUFWESZL.js} +1 -0
- package/chunks/{chunk-JXQ23SNT.js → chunk-2JKEQWDZ.js} +623 -78
- package/chunks/{chunk-2TJ3YN6Q.js → chunk-2RJA6J57.js} +416 -401
- package/chunks/{chunk-3UALQ56H.js → chunk-3227DZO4.js} +1 -1
- package/chunks/{chunk-BGUDAULQ.js → chunk-3CPCDXFR.js} +5 -5
- package/chunks/{chunk-5RVSM6NW.js → chunk-3HUHAQF3.js} +1 -1
- package/chunks/{chunk-D5E5TMYH.js → chunk-3M4W4U5G.js} +16 -2
- package/chunks/{chunk-DBZUXSSV.js → chunk-4X7NIEQJ.js} +3 -3
- package/chunks/chunk-5GOVVXEV.js +73 -0
- package/chunks/{chunk-2BAQ3ACS.js → chunk-5SM4VT6V.js} +405 -5
- package/chunks/{chunk-NYOHZYHM.js → chunk-5XQ4A26L.js} +45 -3
- package/chunks/{chunk-CI5O6SQL.js → chunk-6FKEVYCD.js} +4 -4
- package/chunks/{chunk-ZD3NW5KL.js → chunk-7LM4XHPE.js} +63 -9
- package/chunks/chunk-7UNP2XM7.js +840 -0
- package/chunks/{chunk-OQHQHJRK.js → chunk-ARYCHZ4B.js} +151 -4775
- package/chunks/chunk-BC3C4F3Q.js +40 -0
- package/chunks/{chunk-CGEGHF2C.js → chunk-BKXBARJZ.js} +1 -1
- package/chunks/chunk-BMFMJINR.js +45 -0
- package/chunks/chunk-BOJWHRMX.js +11273 -0
- package/chunks/{chunk-CGOMICBE.js → chunk-BSZEQNUA.js} +34 -1
- package/chunks/{chunk-OIC6S73E.js → chunk-BUUQ5HPX.js} +1 -1
- package/chunks/{chunk-2BIF2NVV.js → chunk-BVSVIN45.js} +2 -2
- package/chunks/{chunk-TOEGRAVX.js → chunk-BX5YO7UW.js} +17 -5
- package/chunks/{chunk-4W4T77MO.js → chunk-BXVWV4GI.js} +109 -6
- package/chunks/{chunk-VQRYPFCV.js → chunk-CYHVPQYT.js} +10 -460
- package/chunks/{chunk-PRYMDRBV.js → chunk-DDMOU62Q.js} +1 -1
- package/chunks/{chunk-S566HKUS.js → chunk-DHXWNSJA.js} +15 -1
- package/chunks/{chunk-F6XNTYNE.js → chunk-E6XQPQXW.js} +30 -307
- package/chunks/{chunk-QBZ22PQX.js → chunk-EWALXUAD.js} +3 -1
- package/chunks/{chunk-EL5IHQON.js → chunk-EWYQFWYF.js} +6 -27
- package/chunks/{chunk-HG6YKEBI.js → chunk-F2DOT6UZ.js} +161 -30
- package/chunks/{chunk-JTYRZODB.js → chunk-FOOIZCWL.js} +16 -7
- package/chunks/{chunk-EX4W6ZYG.js → chunk-G5G4TFZ7.js} +1 -1
- package/chunks/{chunk-EW6C27XX.js → chunk-GEHVIWAT.js} +9 -3
- package/chunks/chunk-HEVBZSXG.js +4923 -0
- package/chunks/chunk-HFQ2XSE7.js +690 -0
- package/chunks/{chunk-PF523XJX.js → chunk-HPGTGMP3.js} +1 -1
- package/chunks/{chunk-OTBK43JR.js → chunk-HYCC3XM3.js} +1 -1
- package/chunks/{chunk-TMBPDHXD.js → chunk-I4H7PRWQ.js} +1 -1
- package/chunks/{chunk-EEEZIVFJ.js → chunk-JOLIREYR.js} +1 -1
- package/chunks/{chunk-TZM5JIAX.js → chunk-JYPQTRA3.js} +10 -7
- package/chunks/chunk-K5XU6E4T.js +167 -0
- package/chunks/{chunk-BS64PXY3.js → chunk-KFVU7ODN.js} +1 -1
- package/chunks/{chunk-3RJ3ZPPR.js → chunk-KKQWC6WS.js} +7 -7
- package/chunks/{chunk-3QFE4OTE.js → chunk-LBW7NW7X.js} +4 -4
- package/chunks/{chunk-Z7XXFPGP.js → chunk-LDWTYE33.js} +1 -1
- package/chunks/{chunk-EXMX5YHG.js → chunk-LP5E4YIH.js} +1 -1
- package/chunks/{chunk-ZUAXI2OA.js → chunk-M2U5NM24.js} +188 -11366
- package/chunks/{chunk-I5T6PIBQ.js → chunk-MBV2CTRL.js} +1010 -925
- package/chunks/{chunk-5JZLXFPD.js → chunk-MTHMXSNT.js} +11 -11
- package/chunks/{chunk-FPACXT7T.js → chunk-MTJVHQDP.js} +534 -164
- package/chunks/chunk-NDOC6M5S.js +481 -0
- package/chunks/{chunk-HGNSRCRB.js → chunk-NL4C3H6C.js} +1 -1
- package/chunks/{chunk-GZCJS5WH.js → chunk-O2VBQ3Y2.js} +2 -2
- package/chunks/{chunk-UN3C6GOR.js → chunk-PPFWEV7G.js} +10 -108
- package/chunks/{chunk-RS4HRC75.js → chunk-QI2CFVRF.js} +85 -8
- package/chunks/{chunk-XU5P23GN.js → chunk-QLDPRILK.js} +3 -3
- package/chunks/chunk-QYUE6W3T.js +123 -0
- package/chunks/{chunk-USGMPVOY.js → chunk-R3LHDWF2.js} +21 -12
- package/chunks/{chunk-BNXANYLH.js → chunk-RD6YJJJ6.js} +81 -1
- package/chunks/{chunk-PXFFKNCO.js → chunk-RIP623NO.js} +4877 -2469
- package/chunks/{chunk-XKBP7M7A.js → chunk-RYBSUGOR.js} +142 -30
- package/chunks/{chunk-BG4BIP7F.js → chunk-SBBN4BWR.js} +4 -2
- package/chunks/{chunk-T2VDEFUU.js → chunk-SKQZZVAV.js} +2 -2
- package/chunks/{chunk-5R4SBCX6.js → chunk-SL5MOGQH.js} +3 -3
- package/chunks/chunk-SMXULRAN.js +37 -0
- package/chunks/{chunk-WA5OJGFL.js → chunk-SS6WJMQK.js} +363 -76
- package/chunks/{chunk-UAARVVBI.js → chunk-TNWFHGN6.js} +1 -1
- package/chunks/{chunk-I2RFAW6Q.js → chunk-TT6Q3EN4.js} +7 -5
- package/chunks/chunk-UAKXW3DN.js +30 -0
- package/chunks/{chunk-C4K3FEQ2.js → chunk-UX4SGCGN.js} +32 -3
- package/chunks/{chunk-J6AW7O5D.js → chunk-WHDQZHRU.js} +2 -2
- package/chunks/{chunk-WGAEWQTF.js → chunk-WN6K47NR.js} +1 -2
- package/chunks/{chunk-UAARJR2G.js → chunk-WQT5SOI6.js} +2 -2
- package/chunks/{chunk-VYFMN7C6.js → chunk-WUMVIRTN.js} +225 -37
- package/chunks/{chunk-R36VMVEP.js → chunk-XJMKOTVV.js} +5 -5
- package/chunks/{chunk-TXVGVZYR.js → chunk-XJYUPHRC.js} +3 -3
- package/chunks/{chunk-2JD55C6G.js → chunk-Y6YMRS3U.js} +2 -2
- package/chunks/{chunk-LLFFKXZZ.js → chunk-YALKC62D.js} +56 -29
- package/chunks/{chunk-GYZQA2FO.js → chunk-YLZJCUH6.js} +1 -1
- package/chunks/chunk-YTFBURQD.js +313 -0
- package/chunks/{chunk-KBXLIVWQ.js → chunk-ZFPRYHWR.js} +2 -2
- package/chunks/{chunk-X6EDWN44.js → chunk-ZP6UKOPB.js} +1 -1
- package/chunks/{computer-use-6BBRNT6S.js → computer-use-LF2S6LUZ.js} +103 -49
- package/chunks/{contextCommand-UJAJ6N57.js → contextCommand-VPX5UG55.js} +26 -25
- package/chunks/{cron-create-4KQE6YLH.js → cron-create-SKEY55RG.js} +4 -4
- package/chunks/{cron-delete-THME66UP.js → cron-delete-I3NAT32Z.js} +6 -6
- package/chunks/{cron-list-7A54SJ5N.js → cron-list-6XRRL6TH.js} +5 -5
- package/chunks/{daemon-status-provider-CSL3BUOY.js → daemon-status-provider-5JAWZS4V.js} +34 -34
- package/chunks/{de-ACHALDED.js → de-EOW5PVHF.js} +1 -0
- package/chunks/{dist-BD27IA3L.js → dist-4FCNM6KJ.js} +2 -2
- package/chunks/{dist-OD2FY543.js → dist-O3H4PABL.js} +2 -2
- package/chunks/{dist-BOOH5JWN.js → dist-SCAAUWPS.js} +18 -4
- package/chunks/{dist-QHJRBCMP.js → dist-UKPWQJCL.js} +44 -2
- package/chunks/{dist-QFFZWACU.js → dist-VD7HXTML.js} +20 -9
- package/chunks/{earlyInputCapture-X6KMCSHD.js → earlyInputCapture-7FRQMU4P.js} +25 -24
- package/chunks/{edit-7J6WXARF.js → edit-REKJDIRL.js} +68 -27
- package/chunks/{en-NCUBOJOY.js → en-HPWEJBTR.js} +8 -0
- package/chunks/{enter-worktree-KULCKJPJ.js → enter-worktree-GBKUDCD3.js} +24 -23
- package/chunks/{enterPlanMode-H2CIOLMH.js → enterPlanMode-WB3Y4FGT.js} +24 -23
- package/chunks/{errors-6G2JYR54.js → errors-2XJDYO3M.js} +26 -25
- package/chunks/{exit-worktree-ECBWBVC5.js → exit-worktree-KKC7O2ZV.js} +24 -23
- package/chunks/{exitPlanMode-DQV56GTW.js → exitPlanMode-7HMS3TF7.js} +24 -23
- package/chunks/{fast-path-35JJFS3C.js → fast-path-XVNIYWGG.js} +4 -4
- package/chunks/{fast-path-settings-TSVI53EB.js → fast-path-settings-UQLRFDQP.js} +3 -2
- package/chunks/{fr-GVKZ27MF.js → fr-BN5NKSAC.js} +1 -0
- package/chunks/{gemini-NDTG7WAX.js → gemini-U5TPU3IQ.js} +210 -104
- package/chunks/{geminiContentGenerator-XTG6SFLA.js → geminiContentGenerator-ZVWRHXOO.js} +4 -4
- package/chunks/{glob-SJ2JBZK4.js → glob-FEJWIH2W.js} +24 -23
- package/chunks/{grep-BRMWFEWR.js → grep-KMP25IIA.js} +24 -23
- package/chunks/{headlessSafetyWarnings-LJ6FJX77.js → headlessSafetyWarnings-5DEDET4M.js} +24 -23
- package/chunks/{initializer-P5AXF7PV.js → initializer-FJTACLOH.js} +31 -28
- package/chunks/{ja-FKZ2WZ4D.js → ja-7DEUB2TS.js} +1 -0
- package/chunks/{keychain-token-storage-CSYMNRPP.js → keychain-token-storage-YLMDLKXT.js} +2 -2
- package/chunks/{list-6COK34BP.js → list-SCQXYJUW.js} +32 -29
- package/chunks/{loadedSettingsAdapter-XIUTN245.js → loadedSettingsAdapter-P6KPNAG7.js} +30 -27
- package/chunks/{loop-wakeup-33GPXJLA.js → loop-wakeup-FYEQEJUA.js} +7 -7
- package/chunks/{ls-BYQY7RVV.js → ls-R5WP4BGZ.js} +4 -4
- package/chunks/{lsp-X54RO4IV.js → lsp-GSICJMMW.js} +2 -2
- package/chunks/{monitor-DH7KFSJV.js → monitor-JU3HHHVY.js} +24 -23
- package/chunks/nonInteractiveCli-IZEKUHU3.js +100 -0
- package/chunks/{notebook-edit-D4R4ZLMA.js → notebook-edit-YHY3Z2QQ.js} +52 -23
- package/chunks/{openaiContentGenerator-F74IPQ6E.js → openaiContentGenerator-4WUVA3Q2.js} +13 -12
- package/chunks/{pt-SY5NCFGR.js → pt-TNZRNLQB.js} +1 -0
- package/chunks/{qwenContentGenerator-ATTK5P4D.js → qwenContentGenerator-MVYYR44B.js} +26 -25
- package/chunks/{qwenOAuth2-K4AASPCV.js → qwenOAuth2-6HNGHALT.js} +5 -4
- package/chunks/{read-file-767G23OY.js → read-file-NABEO2X4.js} +8 -8
- package/chunks/{read-mcp-resource-I5HCZJ6X.js → read-mcp-resource-DQQW7H7T.js} +2 -2
- package/chunks/{ripGrep-4OMMGSWX.js → ripGrep-YXLK6UTX.js} +24 -23
- package/chunks/{ru-FWNXJG4F.js → ru-NIAUBKCN.js} +1 -0
- package/chunks/{run-qwen-serve-REKSTYRA.js → run-qwen-serve-4B5QBMLQ.js} +144 -41
- package/chunks/{scheduler-UNTFDQLG.js → scheduler-XAKIYBDL.js} +24 -23
- package/chunks/{send-message-2DAFXEYP.js → send-message-EE4TWKVU.js} +2 -2
- package/chunks/{serve-KZ56QB5S.js → serve-4RXVLUKD.js} +30 -28
- package/chunks/{server-BV5TZUMU.js → server-7PA5QGIA.js} +11037 -8747
- package/chunks/{session-OIBXFSGD.js → session-WNVWRYAH.js} +194 -57
- package/chunks/{settings-WJTCBIRA.js → settings-YJH32TFF.js} +30 -27
- package/chunks/{shell-WC52IBHW.js → shell-YFLABOS5.js} +24 -23
- package/chunks/{skill-U7F7JR4M.js → skill-N3J7FUAY.js} +38 -11
- package/chunks/{spawnChannel-EI2E5BCW.js → spawnChannel-D6WVMFZJ.js} +26 -25
- package/chunks/{src-4F6FBZFI.js → src-IU5GDBEH.js} +88 -28
- package/chunks/{startInteractiveUI-SFRVB3CE.js → startInteractiveUI-QIPQTRT4.js} +2784 -2474
- package/chunks/{syntheticOutput-PPS3HDVA.js → syntheticOutput-T5YHQ6S2.js} +3 -3
- package/chunks/{task-create-OUYCA553.js → task-create-BLY7RHXX.js} +6 -6
- package/chunks/{task-list-WAX7I2IA.js → task-list-3QUYNVYR.js} +5 -5
- package/chunks/{task-stop-CAIL6FNH.js → task-stop-U4RATK2V.js} +2 -2
- package/chunks/{task-update-AHEO5OUT.js → task-update-U54O7KJX.js} +6 -6
- package/chunks/{team-create-3WC7CIIW.js → team-create-TP4CLLM3.js} +24 -23
- package/chunks/{team-delete-HGHFG23B.js → team-delete-LKBYPASD.js} +5 -5
- package/chunks/{theme-manager-DICFCT3P.js → theme-manager-N2TBIBZT.js} +25 -24
- package/chunks/{todoWrite-IFBMN3FH.js → todoWrite-OYXKTVYN.js} +4 -4
- package/chunks/{tool-search-L5K7HLER.js → tool-search-GBBSICYB.js} +101 -16
- package/chunks/trustedFolders-F7TBU5CD.js +76 -0
- package/chunks/types-QX5C3CHJ.js +12 -0
- package/chunks/{validateNonInterActiveAuth-GCH4Z6KI.js → validateNonInterActiveAuth-EQDQPSMI.js} +55 -50
- package/chunks/{web-fetch-B5IIQ5TT.js → web-fetch-PCVCML2X.js} +29 -15
- package/chunks/{workflow-OB3AND7I.js → workflow-ANJ4FYBK.js} +32 -30
- package/chunks/{workspace-providers-status-ZIR5EPOO.js → workspace-providers-status-462QQKQM.js} +32 -29
- package/chunks/workspace-service-VTG4G6CW.js +75 -0
- package/chunks/{write-file-SEXBNDZM.js → write-file-3P3WMQQW.js} +63 -27
- package/chunks/{zh-RBEGQVQT.js → zh-5EUYXASN.js} +8 -0
- package/chunks/{zh-TW-QGAVRXT3.js → zh-TW-TR3XYGE5.js} +8 -0
- package/cli-entry.js +20 -9
- package/cli.js +6 -6
- package/locales/ca.js +2 -0
- package/locales/de.js +2 -0
- package/locales/en.js +14 -0
- package/locales/fr.js +2 -0
- package/locales/ja.js +1 -0
- package/locales/pt.js +2 -0
- package/locales/ru.js +2 -0
- package/locales/zh-TW.js +12 -0
- package/locales/zh.js +12 -0
- package/node_modules/@qwen-code/audio-capture/dist/index.d.ts +35 -0
- package/node_modules/@qwen-code/audio-capture/dist/index.js +48 -0
- package/node_modules/@qwen-code/audio-capture/dist/index.js.map +1 -0
- package/node_modules/@qwen-code/audio-capture/dist/platform.d.ts +7 -0
- package/node_modules/@qwen-code/audio-capture/dist/platform.js +18 -0
- package/node_modules/@qwen-code/audio-capture/dist/platform.js.map +1 -0
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/LICENSE +21 -0
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/README.md +58 -0
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/SECURITY.md +5 -0
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/bin.js +84 -0
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/build-test.js +19 -0
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/index.js +6 -0
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/node-gyp-build.js +207 -0
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/optional.js +7 -0
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/package.json +43 -0
- package/node_modules/@qwen-code/audio-capture/package.json +30 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-arm64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-x64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/linux-arm64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/linux-x64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/win32-x64/@qwen-code+audio-capture.node +0 -0
- package/package.json +18 -6
- package/patches/chrome-devtools-mcp+1.4.0.patch +31 -0
- package/postinstall.js +50 -0
- package/web-shell/assets/{arc-D_ae_Y9k.js → arc-DIemsO_F.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-BMLRjppa.js → architectureDiagram-3BPJPVTR-CTlUvIQv.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-qVDQC8KL.js → blockDiagram-GPEHLZMM-DG0jmIZK.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-CxWS6MBd.js → c4Diagram-AAUBKEIU-WljDBi55.js} +1 -1
- package/web-shell/assets/channel-CbzRbdpA.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-BtNuY5Yp.js → chunk-2J33WTMH-8nc6onr2.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-BU-x368d.js → chunk-4BX2VUAB-EopXix8Z.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-DRgTLvBu.js → chunk-55IACEB6-BE4Jz3N3.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-D2aElv7q.js → chunk-727SXJPM-C_eErgDN.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-BwHCMRQ0.js → chunk-AQP2D5EJ-DFtVW-Is.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-BMyPH-ku.js → chunk-FMBD7UC4-CJPyxIg9.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-BNKTstUf.js → chunk-ND2GUHAM-Bk-xgj6M.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-gD3vsFId.js → chunk-QZHKN3VN-p3Y4yaFB.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-BFdyQ52h.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BFdyQ52h.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-BG9FAsXE.js → cose-bilkent-S5V4N54A-BCMO6Js3.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-Cy1sR7om.js → dagre-BM42HDAG-DUMrwASf.js} +1 -1
- package/web-shell/assets/default-aEtf0G7-.svg +1 -0
- package/web-shell/assets/{diagram-2AECGRRQ-Bxi1I_Vu.js → diagram-2AECGRRQ-C5d7qJbL.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-BGCJjO6y.js → diagram-5GNKFQAL-CjLzMhbT.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-CMTeLXp7.js → diagram-KO2AKTUF-RCoNWeAm.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-BN1wyAGh.js → diagram-LMA3HP47-KThXjaNV.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-UYSG_zcp.js → diagram-OG6HWLK6-DKsC2BWz.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-DqXL08lw.js → erDiagram-TEJ5UH35-DJ2ukmq0.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-BPJ9SFji.js → flowDiagram-I6XJVG4X-zzqaARRX.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-BEd9Pnms.js → ganttDiagram-6RSMTGT7-kFUg-gqT.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-DrNRH3oi.js → gitGraphDiagram-PVQCEYII-C6JnMVzD.js} +1 -1
- package/web-shell/assets/index-B3XUm7dw.js +713 -0
- package/web-shell/assets/index-CHmzAWys.css +5 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-CFYBrkVI.js → infoDiagram-5YYISTIA-XqPVhp89.js} +1 -1
- package/web-shell/assets/insert-DmRbh9Rv.svg +1 -0
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-Dxsddth7.js → ishikawaDiagram-YF4QCWOH-D2k8sGpf.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-DxaDK80t.js → journeyDiagram-JHISSGLW-CQEST1GE.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-Q0jQCOct.js → kanban-definition-UN3LZRKU-DZ7kqVBC.js} +1 -1
- package/web-shell/assets/{linear-DGGM2kcP.js → linear-B6C_6q_E.js} +1 -1
- package/web-shell/assets/{mermaid.core-ByoxnWut.js → mermaid.core-CsyNP1qt.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-C0ZseHsi.js → mindmap-definition-RKZ34NQL-B1VDIzJq.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-MQXNhl5A.js → pieDiagram-4H26LBE5-DN0E7Jwu.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-DIR4ee2A.js → quadrantDiagram-W4KKPZXB-UKTQdHKm.js} +1 -1
- package/web-shell/assets/queue-DWpnpFgW.svg +1 -0
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-BTR0UdYQ.js → requirementDiagram-4Y6WPE33-BRGceQvN.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-sfnhMELN.js → sankeyDiagram-5OEKKPKP-2DDyu41v.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DXczHOHH.js → sequenceDiagram-3UESZ5HK-CT5iE8ZU.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-DdE_KQFH.js → stateDiagram-AJRCARHV-CqMQ_s4G.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CamhV5pM.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-DIc61uE8.js → timeline-definition-PNZ67QCA-Di37QSZU.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-BF7ODmxB.js → vennDiagram-CIIHVFJN-DCXvpz5S.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-3pc1MEaw.js → wardley-L42UT6IY-CpUCk6OX.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-9jnPcZuP.js → wardleyDiagram-YWT4CUSO-D01pVEBg.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-DcthaZK6.js → xychartDiagram-2RQKCTM6-DOu5JDoz.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/chunk-B6HQGTYR.js +0 -410
- package/chunks/chunk-R2BXK7SX.js +0 -13
- package/chunks/chunk-RKIZXJMB.js +0 -13
- package/chunks/nonInteractiveCli-7575LBXP.js +0 -91
- package/chunks/workspace-service-OM5D4OI2.js +0 -60
- package/web-shell/assets/channel-DYPNiTww.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-p_g25Tni.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-p_g25Tni.js +0 -1
- package/web-shell/assets/index-CpOXWDPh.js +0 -714
- package/web-shell/assets/index-oVK7qhre.css +0 -5
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BHUSEndU.js +0 -1
|
@@ -2,94 +2,103 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
runNonInteractive
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-F2DOT6UZ.js";
|
|
6
|
+
import "./chunk-7UNP2XM7.js";
|
|
7
|
+
import "./chunk-G5G4TFZ7.js";
|
|
8
8
|
import {
|
|
9
9
|
StreamJsonOutputAdapter
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-WHDQZHRU.js";
|
|
11
11
|
import {
|
|
12
12
|
getAvailableCommands
|
|
13
|
-
} from "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-JZSY4WP3.js";
|
|
19
|
-
import "./chunk-TZM5JIAX.js";
|
|
13
|
+
} from "./chunk-2RJA6J57.js";
|
|
14
|
+
import "./chunk-BOJWHRMX.js";
|
|
15
|
+
import "./chunk-JYPQTRA3.js";
|
|
16
|
+
import "./chunk-5GOVVXEV.js";
|
|
17
|
+
import "./chunk-FOOIZCWL.js";
|
|
20
18
|
import "./chunk-KSPVDFE4.js";
|
|
19
|
+
import "./chunk-MRO43B25.js";
|
|
20
|
+
import "./chunk-SMXULRAN.js";
|
|
21
|
+
import "./chunk-WQT5SOI6.js";
|
|
21
22
|
import "./chunk-KYMBIKIW.js";
|
|
22
|
-
import "./chunk-
|
|
23
|
+
import "./chunk-I4H7PRWQ.js";
|
|
24
|
+
import "./chunk-JZSY4WP3.js";
|
|
25
|
+
import "./chunk-4X7NIEQJ.js";
|
|
26
|
+
import "./chunk-TT6Q3EN4.js";
|
|
23
27
|
import "./chunk-3GONHQOA.js";
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-SL5MOGQH.js";
|
|
29
|
+
import "./chunk-LDWTYE33.js";
|
|
30
|
+
import "./chunk-2JKEQWDZ.js";
|
|
31
|
+
import "./chunk-NDOC6M5S.js";
|
|
32
|
+
import "./chunk-M2U5NM24.js";
|
|
33
|
+
import "./chunk-BSZEQNUA.js";
|
|
34
|
+
import "./chunk-6FKEVYCD.js";
|
|
31
35
|
import "./chunk-KHDZHZMH.js";
|
|
32
|
-
import "./chunk-RS4HRC75.js";
|
|
33
|
-
import "./chunk-BS64PXY3.js";
|
|
34
|
-
import "./chunk-DBZUXSSV.js";
|
|
35
|
-
import "./chunk-R2BXK7SX.js";
|
|
36
36
|
import "./chunk-ALX6BUYW.js";
|
|
37
|
+
import "./chunk-UFC57OYT.js";
|
|
38
|
+
import "./chunk-QI2CFVRF.js";
|
|
39
|
+
import "./chunk-5XQ4A26L.js";
|
|
40
|
+
import "./chunk-BC3C4F3Q.js";
|
|
41
|
+
import "./chunk-KFVU7ODN.js";
|
|
37
42
|
import "./chunk-5DWXLGOM.js";
|
|
38
43
|
import {
|
|
39
44
|
createMinimalSettings
|
|
40
|
-
} from "./chunk-
|
|
41
|
-
import "./chunk-
|
|
45
|
+
} from "./chunk-HEVBZSXG.js";
|
|
46
|
+
import "./chunk-MTHMXSNT.js";
|
|
42
47
|
import "./chunk-TLRYABYP.js";
|
|
48
|
+
import "./chunk-PPFWEV7G.js";
|
|
49
|
+
import "./chunk-ARYCHZ4B.js";
|
|
43
50
|
import "./chunk-Y6Z2O3WR.js";
|
|
44
|
-
import "./chunk-
|
|
45
|
-
import "./chunk-UN3C6GOR.js";
|
|
51
|
+
import "./chunk-QYUE6W3T.js";
|
|
46
52
|
import {
|
|
47
|
-
MCPServerConfig
|
|
48
|
-
|
|
53
|
+
MCPServerConfig,
|
|
54
|
+
TURN_INTERRUPTION_HISTORY_TAIL_COUNT,
|
|
55
|
+
detectTurnInterruption
|
|
56
|
+
} from "./chunk-RIP623NO.js";
|
|
49
57
|
import "./chunk-K5PGHDBN.js";
|
|
50
58
|
import "./chunk-5P5XGNYH.js";
|
|
51
59
|
import "./chunk-SKAZWEV5.js";
|
|
52
|
-
import "./chunk-
|
|
53
|
-
import "./chunk-
|
|
54
|
-
import "./chunk-
|
|
55
|
-
import "./chunk-
|
|
56
|
-
import "./chunk-
|
|
60
|
+
import "./chunk-XJYUPHRC.js";
|
|
61
|
+
import "./chunk-QLDPRILK.js";
|
|
62
|
+
import "./chunk-BVSVIN45.js";
|
|
63
|
+
import "./chunk-SBBN4BWR.js";
|
|
64
|
+
import "./chunk-7LM4XHPE.js";
|
|
57
65
|
import "./chunk-2MPVVENX.js";
|
|
58
66
|
import "./chunk-ZTQ26VBE.js";
|
|
59
|
-
import "./chunk-
|
|
67
|
+
import "./chunk-O2VBQ3Y2.js";
|
|
60
68
|
import "./chunk-MLZQVCF3.js";
|
|
61
69
|
import "./chunk-LQ7TMOCE.js";
|
|
62
70
|
import "./chunk-LD2XBG6Z.js";
|
|
63
|
-
import "./chunk-
|
|
64
|
-
import "./chunk-
|
|
65
|
-
import "./chunk-
|
|
66
|
-
import "./chunk-
|
|
67
|
-
import "./chunk-
|
|
71
|
+
import "./chunk-HYCC3XM3.js";
|
|
72
|
+
import "./chunk-NL4C3H6C.js";
|
|
73
|
+
import "./chunk-JOLIREYR.js";
|
|
74
|
+
import "./chunk-DDMOU62Q.js";
|
|
75
|
+
import "./chunk-SS6WJMQK.js";
|
|
68
76
|
import "./chunk-3PJXIDKI.js";
|
|
69
77
|
import "./chunk-UWCTAVOD.js";
|
|
70
78
|
import "./chunk-OFEVLU4C.js";
|
|
71
79
|
import "./chunk-OMX7CUOE.js";
|
|
72
|
-
import "./chunk-
|
|
73
|
-
import "./chunk-
|
|
74
|
-
import "./chunk-
|
|
75
|
-
import "./chunk-
|
|
76
|
-
import "./chunk-
|
|
77
|
-
import "./chunk-
|
|
80
|
+
import "./chunk-RD6YJJJ6.js";
|
|
81
|
+
import "./chunk-SKQZZVAV.js";
|
|
82
|
+
import "./chunk-BUUQ5HPX.js";
|
|
83
|
+
import "./chunk-BX5YO7UW.js";
|
|
84
|
+
import "./chunk-3CPCDXFR.js";
|
|
85
|
+
import "./chunk-GEHVIWAT.js";
|
|
78
86
|
import "./chunk-22IFUCVR.js";
|
|
79
|
-
import "./chunk-
|
|
80
|
-
import "./chunk-
|
|
81
|
-
import "./chunk-
|
|
82
|
-
import "./chunk-CGEGHF2C.js";
|
|
87
|
+
import "./chunk-3227DZO4.js";
|
|
88
|
+
import "./chunk-YTFBURQD.js";
|
|
89
|
+
import "./chunk-BKXBARJZ.js";
|
|
83
90
|
import "./chunk-IRJWHZWU.js";
|
|
84
91
|
import "./chunk-SYCJMSIJ.js";
|
|
85
92
|
import "./chunk-55ZMG67I.js";
|
|
86
93
|
import "./chunk-H6BD2ELD.js";
|
|
87
94
|
import "./chunk-5IFG2VC4.js";
|
|
95
|
+
import "./chunk-64WXLC72.js";
|
|
96
|
+
import "./chunk-E6XQPQXW.js";
|
|
88
97
|
import {
|
|
89
98
|
createDebugLogger
|
|
90
|
-
} from "./chunk-
|
|
91
|
-
import "./chunk-
|
|
92
|
-
import "./chunk-
|
|
99
|
+
} from "./chunk-UX4SGCGN.js";
|
|
100
|
+
import "./chunk-HPGTGMP3.js";
|
|
101
|
+
import "./chunk-YLZJCUH6.js";
|
|
93
102
|
import {
|
|
94
103
|
finalizeStartupProfile,
|
|
95
104
|
profileCheckpoint
|
|
@@ -184,6 +193,7 @@ var ControlContext = class {
|
|
|
184
193
|
mcpClients;
|
|
185
194
|
inputClosed;
|
|
186
195
|
onInterrupt;
|
|
196
|
+
onContinueLastTurn;
|
|
187
197
|
constructor(options) {
|
|
188
198
|
this.config = options.config;
|
|
189
199
|
this.streamJson = options.streamJson;
|
|
@@ -196,6 +206,7 @@ var ControlContext = class {
|
|
|
196
206
|
this.mcpClients = /* @__PURE__ */ new Map();
|
|
197
207
|
this.inputClosed = false;
|
|
198
208
|
this.onInterrupt = options.onInterrupt;
|
|
209
|
+
this.onContinueLastTurn = options.onContinueLastTurn;
|
|
199
210
|
}
|
|
200
211
|
};
|
|
201
212
|
|
|
@@ -354,6 +365,8 @@ var SystemController = class extends BaseController {
|
|
|
354
365
|
);
|
|
355
366
|
case "interrupt":
|
|
356
367
|
return this.handleInterrupt();
|
|
368
|
+
case "continue_last_turn":
|
|
369
|
+
return this.handleContinueLastTurn();
|
|
357
370
|
case "set_model":
|
|
358
371
|
return this.handleSetModel(
|
|
359
372
|
payload,
|
|
@@ -375,7 +388,7 @@ var SystemController = class extends BaseController {
|
|
|
375
388
|
throw new Error("Request aborted");
|
|
376
389
|
}
|
|
377
390
|
try {
|
|
378
|
-
const mod = await import("./contextCommand-
|
|
391
|
+
const mod = await import("./contextCommand-VPX5UG55.js");
|
|
379
392
|
if (signal.aborted) {
|
|
380
393
|
throw new Error("Request aborted");
|
|
381
394
|
}
|
|
@@ -630,6 +643,24 @@ var SystemController = class extends BaseController {
|
|
|
630
643
|
debugLogger.debug("[SystemController] Interrupt handled");
|
|
631
644
|
return { subtype: "interrupt" };
|
|
632
645
|
}
|
|
646
|
+
/**
|
|
647
|
+
* Handle continue_last_turn request
|
|
648
|
+
*
|
|
649
|
+
* Delegates to the session-provided callback, which classifies the last
|
|
650
|
+
* turn from chat history and (when interrupted) schedules a continuation
|
|
651
|
+
* turn. The response reports `{ accepted, interruption }`; the resumed
|
|
652
|
+
* turn's output flows as regular stream messages afterwards.
|
|
653
|
+
*/
|
|
654
|
+
async handleContinueLastTurn() {
|
|
655
|
+
if (!this.context.onContinueLastTurn) {
|
|
656
|
+
throw new Error(
|
|
657
|
+
"continue_last_turn callback (onContinueLastTurn) was not registered on ControlContext \u2014 check session wiring"
|
|
658
|
+
);
|
|
659
|
+
}
|
|
660
|
+
const result = await this.context.onContinueLastTurn();
|
|
661
|
+
debugLogger.debug("[SystemController] continue_last_turn handled:", result);
|
|
662
|
+
return { subtype: "continue_last_turn", ...result };
|
|
663
|
+
}
|
|
633
664
|
/**
|
|
634
665
|
* Handle set_model request
|
|
635
666
|
*
|
|
@@ -1464,6 +1495,7 @@ var ControlDispatcher = class {
|
|
|
1464
1495
|
switch (subtype) {
|
|
1465
1496
|
case "initialize":
|
|
1466
1497
|
case "interrupt":
|
|
1498
|
+
case "continue_last_turn":
|
|
1467
1499
|
case "set_model":
|
|
1468
1500
|
case "supported_commands":
|
|
1469
1501
|
case "get_context_usage":
|
|
@@ -1686,6 +1718,8 @@ var Session = class {
|
|
|
1686
1718
|
userMessageQueue = [];
|
|
1687
1719
|
monitorStartedQueue = [];
|
|
1688
1720
|
monitorQueue = [];
|
|
1721
|
+
pendingContinueTurn = false;
|
|
1722
|
+
continueTurnInProgress = false;
|
|
1689
1723
|
abortController;
|
|
1690
1724
|
config;
|
|
1691
1725
|
sessionId;
|
|
@@ -1853,7 +1887,8 @@ var Session = class {
|
|
|
1853
1887
|
abortSignal: this.abortController.signal,
|
|
1854
1888
|
settings: this.settings,
|
|
1855
1889
|
permissionMode: this.config.getApprovalMode(),
|
|
1856
|
-
onInterrupt: /* @__PURE__ */ __name(() => this.handleInterrupt(), "onInterrupt")
|
|
1890
|
+
onInterrupt: /* @__PURE__ */ __name(() => this.handleInterrupt(), "onInterrupt"),
|
|
1891
|
+
onContinueLastTurn: /* @__PURE__ */ __name(() => this.requestContinueLastTurn(), "onContinueLastTurn")
|
|
1857
1892
|
});
|
|
1858
1893
|
this.dispatcher = new ControlDispatcher(this.controlContext);
|
|
1859
1894
|
this.controlService = new ControlService(
|
|
@@ -1986,6 +2021,92 @@ var Session = class {
|
|
|
1986
2021
|
debugLogger3.error("[Session] Query execution error:", error);
|
|
1987
2022
|
}
|
|
1988
2023
|
}
|
|
2024
|
+
/**
|
|
2025
|
+
* Handle a continue_last_turn control request: classify the last turn
|
|
2026
|
+
* from chat history and, when it was interrupted, schedule a
|
|
2027
|
+
* continuation turn on the work queue. Returns the control reply
|
|
2028
|
+
* payload; the continuation itself runs serialized with user messages.
|
|
2029
|
+
*/
|
|
2030
|
+
async requestContinueLastTurn() {
|
|
2031
|
+
await this.waitForInitialization();
|
|
2032
|
+
if (this.isShuttingDown || this.abortController.signal.aborted) {
|
|
2033
|
+
debugLogger3.debug(
|
|
2034
|
+
"[Session] continue_last_turn rejected: session is shutting down"
|
|
2035
|
+
);
|
|
2036
|
+
return { accepted: false, interruption: "none" };
|
|
2037
|
+
}
|
|
2038
|
+
const geminiClient = this.config.getGeminiClient();
|
|
2039
|
+
if (!geminiClient || !geminiClient.isInitialized()) {
|
|
2040
|
+
debugLogger3.debug(
|
|
2041
|
+
"[Session] continue_last_turn rejected: gemini client is not ready"
|
|
2042
|
+
);
|
|
2043
|
+
return { accepted: false, interruption: "none" };
|
|
2044
|
+
}
|
|
2045
|
+
const chat = geminiClient.getChat();
|
|
2046
|
+
const historyTail = chat.getHistoryTailShallow?.(TURN_INTERRUPTION_HISTORY_TAIL_COUNT) ?? chat.getHistoryTail(TURN_INTERRUPTION_HISTORY_TAIL_COUNT);
|
|
2047
|
+
const detection = detectTurnInterruption(historyTail);
|
|
2048
|
+
debugLogger3.info("[Session] requestContinueLastTurn detection", {
|
|
2049
|
+
sessionId: this.sessionId,
|
|
2050
|
+
kind: detection.kind
|
|
2051
|
+
});
|
|
2052
|
+
if (detection.kind === "none") {
|
|
2053
|
+
debugLogger3.debug(
|
|
2054
|
+
"[Session] continue_last_turn rejected: no interrupted turn"
|
|
2055
|
+
);
|
|
2056
|
+
return { accepted: false, interruption: "none" };
|
|
2057
|
+
}
|
|
2058
|
+
if (this.pendingContinueTurn || this.continueTurnInProgress) {
|
|
2059
|
+
debugLogger3.debug(
|
|
2060
|
+
"[Session] continue_last_turn rejected: continuation already pending",
|
|
2061
|
+
{ kind: detection.kind }
|
|
2062
|
+
);
|
|
2063
|
+
return { accepted: false, interruption: detection.kind };
|
|
2064
|
+
}
|
|
2065
|
+
this.pendingContinueTurn = true;
|
|
2066
|
+
this.ensureProcessingStarted();
|
|
2067
|
+
debugLogger3.info("[Session] continue_last_turn accepted", {
|
|
2068
|
+
sessionId: this.sessionId,
|
|
2069
|
+
kind: detection.kind
|
|
2070
|
+
});
|
|
2071
|
+
return { accepted: true, interruption: detection.kind };
|
|
2072
|
+
}
|
|
2073
|
+
/**
|
|
2074
|
+
* Run a scheduled continuation turn. The authoritative interruption
|
|
2075
|
+
* re-detection happens inside runNonInteractive (history may have moved
|
|
2076
|
+
* since the request was accepted); a turn that became clean by then is
|
|
2077
|
+
* a no-op result message.
|
|
2078
|
+
*/
|
|
2079
|
+
async processContinueTurn() {
|
|
2080
|
+
this.continueTurnInProgress = true;
|
|
2081
|
+
let resultAlreadyEmitted = false;
|
|
2082
|
+
try {
|
|
2083
|
+
await this.waitForInitialization();
|
|
2084
|
+
const promptId = this.getNextPromptId();
|
|
2085
|
+
await runNonInteractive(this.config, this.settings, "", promptId, {
|
|
2086
|
+
abortController: this.abortController,
|
|
2087
|
+
adapter: this.outputAdapter,
|
|
2088
|
+
controlService: this.controlService ?? void 0,
|
|
2089
|
+
continueInterrupted: true,
|
|
2090
|
+
captureMonitorNotifications: false,
|
|
2091
|
+
captureMonitorRegistrations: false,
|
|
2092
|
+
onResultEmitted: /* @__PURE__ */ __name(() => {
|
|
2093
|
+
resultAlreadyEmitted = true;
|
|
2094
|
+
}, "onResultEmitted")
|
|
2095
|
+
});
|
|
2096
|
+
} catch (error) {
|
|
2097
|
+
debugLogger3.error("[Session] Continue turn execution error:", error);
|
|
2098
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
2099
|
+
if (resultAlreadyEmitted) {
|
|
2100
|
+
this.outputAdapter.emitSystemMessage("continue_turn_failed", {
|
|
2101
|
+
error: message
|
|
2102
|
+
});
|
|
2103
|
+
return;
|
|
2104
|
+
}
|
|
2105
|
+
throw new Error(`Continue turn failed: ${message}`, { cause: error });
|
|
2106
|
+
} finally {
|
|
2107
|
+
this.continueTurnInProgress = false;
|
|
2108
|
+
}
|
|
2109
|
+
}
|
|
1989
2110
|
async processMonitorNotificationBatch(batch) {
|
|
1990
2111
|
await this.waitForInitialization();
|
|
1991
2112
|
for (const item of batch) {
|
|
@@ -2018,7 +2139,17 @@ var Session = class {
|
|
|
2018
2139
|
if (this.isShuttingDown || this.abortController.signal.aborted) {
|
|
2019
2140
|
return;
|
|
2020
2141
|
}
|
|
2021
|
-
while ((this.userMessageQueue.length > 0 || this.monitorStartedQueue.length > 0 || this.monitorQueue.length > 0) && !this.isShuttingDown && !this.abortController.signal.aborted) {
|
|
2142
|
+
while ((this.pendingContinueTurn || this.userMessageQueue.length > 0 || this.monitorStartedQueue.length > 0 || this.monitorQueue.length > 0) && !this.isShuttingDown && !this.abortController.signal.aborted) {
|
|
2143
|
+
if (this.pendingContinueTurn) {
|
|
2144
|
+
this.pendingContinueTurn = false;
|
|
2145
|
+
try {
|
|
2146
|
+
await this.processContinueTurn();
|
|
2147
|
+
} catch (error) {
|
|
2148
|
+
debugLogger3.error("[Session] Error processing continue turn:", error);
|
|
2149
|
+
this.emitErrorResult(error);
|
|
2150
|
+
}
|
|
2151
|
+
continue;
|
|
2152
|
+
}
|
|
2022
2153
|
if (this.userMessageQueue.length > 0) {
|
|
2023
2154
|
const userMessage = this.userMessageQueue.shift();
|
|
2024
2155
|
try {
|
|
@@ -2067,7 +2198,7 @@ var Session = class {
|
|
|
2067
2198
|
}
|
|
2068
2199
|
this.processingPromise = this.processPendingWork().finally(() => {
|
|
2069
2200
|
this.processingPromise = null;
|
|
2070
|
-
if ((this.userMessageQueue.length > 0 || this.monitorStartedQueue.length > 0 || this.monitorQueue.length > 0) && !this.isShuttingDown && !this.abortController.signal.aborted) {
|
|
2201
|
+
if ((this.pendingContinueTurn || this.userMessageQueue.length > 0 || this.monitorStartedQueue.length > 0 || this.monitorQueue.length > 0) && !this.isShuttingDown && !this.abortController.signal.aborted) {
|
|
2071
2202
|
this.ensureProcessingStarted();
|
|
2072
2203
|
}
|
|
2073
2204
|
});
|
|
@@ -2125,6 +2256,12 @@ var Session = class {
|
|
|
2125
2256
|
debugLogger3.error("[Session] Error in user message processing:", error);
|
|
2126
2257
|
}
|
|
2127
2258
|
}
|
|
2259
|
+
if (this.pendingContinueTurn) {
|
|
2260
|
+
this.pendingContinueTurn = false;
|
|
2261
|
+
this.emitErrorResult(
|
|
2262
|
+
new Error("Continuation abandoned: session shut down before it ran")
|
|
2263
|
+
);
|
|
2264
|
+
}
|
|
2128
2265
|
}
|
|
2129
2266
|
async shutdown() {
|
|
2130
2267
|
debugLogger3.debug("[Session] Shutting down");
|
|
@@ -21,58 +21,61 @@ import {
|
|
|
21
21
|
resetHomeEnvBootstrapForTesting,
|
|
22
22
|
saveSettings,
|
|
23
23
|
setUpCloudShellEnvironment
|
|
24
|
-
} from "./chunk-
|
|
25
|
-
import "./chunk-
|
|
24
|
+
} from "./chunk-HEVBZSXG.js";
|
|
25
|
+
import "./chunk-MTHMXSNT.js";
|
|
26
26
|
import "./chunk-TLRYABYP.js";
|
|
27
|
-
import "./chunk-Y6Z2O3WR.js";
|
|
28
27
|
import {
|
|
29
28
|
DEFAULT_EXCLUDED_ENV_VARS,
|
|
30
29
|
ENV_CORRUPTED_PATH,
|
|
31
30
|
ENV_WAS_RECOVERED,
|
|
32
31
|
getSystemDefaultsPath,
|
|
33
32
|
getSystemSettingsPath
|
|
34
|
-
} from "./chunk-
|
|
35
|
-
import "./chunk-
|
|
33
|
+
} from "./chunk-PPFWEV7G.js";
|
|
34
|
+
import "./chunk-ARYCHZ4B.js";
|
|
35
|
+
import "./chunk-Y6Z2O3WR.js";
|
|
36
|
+
import "./chunk-QYUE6W3T.js";
|
|
37
|
+
import "./chunk-RIP623NO.js";
|
|
36
38
|
import "./chunk-K5PGHDBN.js";
|
|
37
39
|
import "./chunk-5P5XGNYH.js";
|
|
38
40
|
import "./chunk-SKAZWEV5.js";
|
|
39
|
-
import "./chunk-
|
|
40
|
-
import "./chunk-
|
|
41
|
-
import "./chunk-
|
|
42
|
-
import "./chunk-
|
|
43
|
-
import "./chunk-
|
|
41
|
+
import "./chunk-XJYUPHRC.js";
|
|
42
|
+
import "./chunk-QLDPRILK.js";
|
|
43
|
+
import "./chunk-BVSVIN45.js";
|
|
44
|
+
import "./chunk-SBBN4BWR.js";
|
|
45
|
+
import "./chunk-7LM4XHPE.js";
|
|
44
46
|
import "./chunk-2MPVVENX.js";
|
|
45
47
|
import "./chunk-ZTQ26VBE.js";
|
|
46
|
-
import "./chunk-
|
|
48
|
+
import "./chunk-O2VBQ3Y2.js";
|
|
47
49
|
import "./chunk-MLZQVCF3.js";
|
|
48
50
|
import "./chunk-LQ7TMOCE.js";
|
|
49
51
|
import "./chunk-LD2XBG6Z.js";
|
|
50
|
-
import "./chunk-
|
|
51
|
-
import "./chunk-
|
|
52
|
-
import "./chunk-
|
|
53
|
-
import "./chunk-
|
|
54
|
-
import "./chunk-
|
|
52
|
+
import "./chunk-HYCC3XM3.js";
|
|
53
|
+
import "./chunk-NL4C3H6C.js";
|
|
54
|
+
import "./chunk-JOLIREYR.js";
|
|
55
|
+
import "./chunk-DDMOU62Q.js";
|
|
56
|
+
import "./chunk-SS6WJMQK.js";
|
|
55
57
|
import "./chunk-3PJXIDKI.js";
|
|
56
58
|
import "./chunk-UWCTAVOD.js";
|
|
57
59
|
import "./chunk-OFEVLU4C.js";
|
|
58
60
|
import "./chunk-OMX7CUOE.js";
|
|
59
|
-
import "./chunk-
|
|
60
|
-
import "./chunk-
|
|
61
|
-
import "./chunk-
|
|
62
|
-
import "./chunk-
|
|
63
|
-
import "./chunk-
|
|
64
|
-
import "./chunk-
|
|
61
|
+
import "./chunk-RD6YJJJ6.js";
|
|
62
|
+
import "./chunk-SKQZZVAV.js";
|
|
63
|
+
import "./chunk-BUUQ5HPX.js";
|
|
64
|
+
import "./chunk-BX5YO7UW.js";
|
|
65
|
+
import "./chunk-3CPCDXFR.js";
|
|
66
|
+
import "./chunk-GEHVIWAT.js";
|
|
65
67
|
import "./chunk-22IFUCVR.js";
|
|
66
|
-
import "./chunk-
|
|
67
|
-
import "./chunk-
|
|
68
|
-
import "./chunk-
|
|
69
|
-
import "./chunk-CGEGHF2C.js";
|
|
68
|
+
import "./chunk-3227DZO4.js";
|
|
69
|
+
import "./chunk-YTFBURQD.js";
|
|
70
|
+
import "./chunk-BKXBARJZ.js";
|
|
70
71
|
import "./chunk-IRJWHZWU.js";
|
|
71
72
|
import "./chunk-SYCJMSIJ.js";
|
|
72
73
|
import "./chunk-55ZMG67I.js";
|
|
73
74
|
import "./chunk-H6BD2ELD.js";
|
|
74
75
|
import "./chunk-5IFG2VC4.js";
|
|
75
|
-
import "./chunk-
|
|
76
|
+
import "./chunk-64WXLC72.js";
|
|
77
|
+
import "./chunk-E6XQPQXW.js";
|
|
78
|
+
import "./chunk-UX4SGCGN.js";
|
|
76
79
|
import "./chunk-ZERZSAZL.js";
|
|
77
80
|
import "./chunk-QN5NZ3UQ.js";
|
|
78
81
|
import "./chunk-BR4QREVK.js";
|
|
@@ -7,47 +7,48 @@ import {
|
|
|
7
7
|
buildLongRunningForegroundHint,
|
|
8
8
|
detectBlockedSleepPattern,
|
|
9
9
|
parseNumstat
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-RIP623NO.js";
|
|
11
11
|
import "./chunk-K5PGHDBN.js";
|
|
12
12
|
import "./chunk-5P5XGNYH.js";
|
|
13
13
|
import "./chunk-SKAZWEV5.js";
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-XJYUPHRC.js";
|
|
15
|
+
import "./chunk-QLDPRILK.js";
|
|
16
|
+
import "./chunk-BVSVIN45.js";
|
|
17
|
+
import "./chunk-SBBN4BWR.js";
|
|
18
|
+
import "./chunk-7LM4XHPE.js";
|
|
19
19
|
import "./chunk-2MPVVENX.js";
|
|
20
20
|
import "./chunk-ZTQ26VBE.js";
|
|
21
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-O2VBQ3Y2.js";
|
|
22
22
|
import "./chunk-MLZQVCF3.js";
|
|
23
23
|
import "./chunk-LQ7TMOCE.js";
|
|
24
24
|
import "./chunk-LD2XBG6Z.js";
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-
|
|
29
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-HYCC3XM3.js";
|
|
26
|
+
import "./chunk-NL4C3H6C.js";
|
|
27
|
+
import "./chunk-JOLIREYR.js";
|
|
28
|
+
import "./chunk-DDMOU62Q.js";
|
|
29
|
+
import "./chunk-SS6WJMQK.js";
|
|
30
30
|
import "./chunk-3PJXIDKI.js";
|
|
31
31
|
import "./chunk-UWCTAVOD.js";
|
|
32
32
|
import "./chunk-OFEVLU4C.js";
|
|
33
33
|
import "./chunk-OMX7CUOE.js";
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
36
|
-
import "./chunk-
|
|
37
|
-
import "./chunk-
|
|
38
|
-
import "./chunk-
|
|
39
|
-
import "./chunk-
|
|
34
|
+
import "./chunk-RD6YJJJ6.js";
|
|
35
|
+
import "./chunk-SKQZZVAV.js";
|
|
36
|
+
import "./chunk-BUUQ5HPX.js";
|
|
37
|
+
import "./chunk-BX5YO7UW.js";
|
|
38
|
+
import "./chunk-3CPCDXFR.js";
|
|
39
|
+
import "./chunk-GEHVIWAT.js";
|
|
40
40
|
import "./chunk-22IFUCVR.js";
|
|
41
|
-
import "./chunk-
|
|
42
|
-
import "./chunk-
|
|
43
|
-
import "./chunk-
|
|
44
|
-
import "./chunk-CGEGHF2C.js";
|
|
41
|
+
import "./chunk-3227DZO4.js";
|
|
42
|
+
import "./chunk-YTFBURQD.js";
|
|
43
|
+
import "./chunk-BKXBARJZ.js";
|
|
45
44
|
import "./chunk-IRJWHZWU.js";
|
|
46
45
|
import "./chunk-SYCJMSIJ.js";
|
|
47
46
|
import "./chunk-55ZMG67I.js";
|
|
48
47
|
import "./chunk-H6BD2ELD.js";
|
|
49
48
|
import "./chunk-5IFG2VC4.js";
|
|
50
|
-
import "./chunk-
|
|
49
|
+
import "./chunk-64WXLC72.js";
|
|
50
|
+
import "./chunk-E6XQPQXW.js";
|
|
51
|
+
import "./chunk-UX4SGCGN.js";
|
|
51
52
|
import "./chunk-ZERZSAZL.js";
|
|
52
53
|
import "./chunk-QN5NZ3UQ.js";
|
|
53
54
|
import "./chunk-BR4QREVK.js";
|
|
@@ -5,27 +5,28 @@ import {
|
|
|
5
5
|
buildSkillLlmContent,
|
|
6
6
|
collectAvailableSkillEntries,
|
|
7
7
|
registerSkillHooks
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-HYCC3XM3.js";
|
|
9
|
+
import "./chunk-NL4C3H6C.js";
|
|
10
10
|
import {
|
|
11
11
|
SkillLaunchEvent,
|
|
12
|
-
logSkillLaunch
|
|
13
|
-
|
|
12
|
+
logSkillLaunch,
|
|
13
|
+
recordSkillInvocation
|
|
14
|
+
} from "./chunk-SS6WJMQK.js";
|
|
14
15
|
import "./chunk-3PJXIDKI.js";
|
|
15
16
|
import "./chunk-UWCTAVOD.js";
|
|
16
17
|
import "./chunk-OFEVLU4C.js";
|
|
17
18
|
import "./chunk-OMX7CUOE.js";
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-RD6YJJJ6.js";
|
|
20
|
+
import "./chunk-SKQZZVAV.js";
|
|
21
|
+
import "./chunk-BUUQ5HPX.js";
|
|
21
22
|
import {
|
|
22
23
|
BaseDeclarativeTool,
|
|
23
24
|
BaseToolInvocation,
|
|
24
25
|
ToolDisplayNames,
|
|
25
26
|
ToolNames
|
|
26
|
-
} from "./chunk-
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-
|
|
27
|
+
} from "./chunk-BX5YO7UW.js";
|
|
28
|
+
import "./chunk-3227DZO4.js";
|
|
29
|
+
import "./chunk-BKXBARJZ.js";
|
|
29
30
|
import "./chunk-IRJWHZWU.js";
|
|
30
31
|
import "./chunk-SYCJMSIJ.js";
|
|
31
32
|
import "./chunk-55ZMG67I.js";
|
|
@@ -33,7 +34,7 @@ import "./chunk-H6BD2ELD.js";
|
|
|
33
34
|
import "./chunk-5IFG2VC4.js";
|
|
34
35
|
import {
|
|
35
36
|
createDebugLogger
|
|
36
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-UX4SGCGN.js";
|
|
37
38
|
import "./chunk-ZERZSAZL.js";
|
|
38
39
|
import "./chunk-QN5NZ3UQ.js";
|
|
39
40
|
import "./chunk-BR4QREVK.js";
|
|
@@ -276,7 +277,9 @@ var SkillToolInvocation = class extends BaseToolInvocation {
|
|
|
276
277
|
async execute(_signal, _updateOutput) {
|
|
277
278
|
const disabled = this.config.getDisabledSkillNames().has(this.params.skill.toLowerCase());
|
|
278
279
|
if (disabled) {
|
|
280
|
+
let disabledCommandFallbackAttempted = false;
|
|
279
281
|
if (this.commandExecutor) {
|
|
282
|
+
disabledCommandFallbackAttempted = true;
|
|
280
283
|
try {
|
|
281
284
|
const content = await this.commandExecutor(
|
|
282
285
|
this.params.skill,
|
|
@@ -301,15 +304,23 @@ var SkillToolInvocation = class extends BaseToolInvocation {
|
|
|
301
304
|
this.config,
|
|
302
305
|
new SkillLaunchEvent(this.params.skill, false, this.promptId)
|
|
303
306
|
);
|
|
307
|
+
if (!disabledCommandFallbackAttempted) {
|
|
308
|
+
recordSkillInvocation(this.config, {
|
|
309
|
+
skillName: this.params.skill,
|
|
310
|
+
success: false
|
|
311
|
+
});
|
|
312
|
+
}
|
|
304
313
|
const msg = `Skill "${this.params.skill}" is disabled. Re-enable it via /skills or remove it from skills.disabled.`;
|
|
305
314
|
return { llmContent: msg, returnDisplay: msg };
|
|
306
315
|
}
|
|
316
|
+
let commandFallbackAttempted = false;
|
|
307
317
|
try {
|
|
308
318
|
const skill = await this.skillManager.loadSkillForRuntime(
|
|
309
319
|
this.params.skill
|
|
310
320
|
);
|
|
311
321
|
if (!skill) {
|
|
312
322
|
if (this.commandExecutor) {
|
|
323
|
+
commandFallbackAttempted = true;
|
|
313
324
|
const commandResult = await this.commandExecutor(
|
|
314
325
|
this.params.skill,
|
|
315
326
|
this.params.args ?? ""
|
|
@@ -340,6 +351,12 @@ var SkillToolInvocation = class extends BaseToolInvocation {
|
|
|
340
351
|
this.config,
|
|
341
352
|
new SkillLaunchEvent(this.params.skill, false, this.promptId)
|
|
342
353
|
);
|
|
354
|
+
if (!commandFallbackAttempted) {
|
|
355
|
+
recordSkillInvocation(this.config, {
|
|
356
|
+
skillName: this.params.skill,
|
|
357
|
+
success: false
|
|
358
|
+
});
|
|
359
|
+
}
|
|
343
360
|
const parseErrors = this.skillManager.getParseErrors();
|
|
344
361
|
const errorMessages = [];
|
|
345
362
|
for (const [filePath, error] of parseErrors) {
|
|
@@ -400,6 +417,10 @@ ${errorMessages.join("\n")}` : "";
|
|
|
400
417
|
}
|
|
401
418
|
const baseDir = path.dirname(skill.filePath);
|
|
402
419
|
const llmContent = buildSkillLlmContent(baseDir, skill.body);
|
|
420
|
+
recordSkillInvocation(this.config, {
|
|
421
|
+
skillName: this.params.skill,
|
|
422
|
+
success: true
|
|
423
|
+
});
|
|
403
424
|
return {
|
|
404
425
|
llmContent: [{ text: llmContent }],
|
|
405
426
|
returnDisplay: skill.description,
|
|
@@ -412,6 +433,12 @@ ${errorMessages.join("\n")}` : "";
|
|
|
412
433
|
this.config,
|
|
413
434
|
new SkillLaunchEvent(this.params.skill, false, this.promptId)
|
|
414
435
|
);
|
|
436
|
+
if (!commandFallbackAttempted) {
|
|
437
|
+
recordSkillInvocation(this.config, {
|
|
438
|
+
skillName: this.params.skill,
|
|
439
|
+
success: false
|
|
440
|
+
});
|
|
441
|
+
}
|
|
415
442
|
return {
|
|
416
443
|
llmContent: `Failed to load skill "${this.params.skill}": ${errorMessage}`,
|
|
417
444
|
returnDisplay: `Failed to load skill "${this.params.skill}": ${errorMessage}`
|