@zubriq/code 0.19.8-2 → 0.19.9-2
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/README.md +5 -1
- package/dist/README.md +5 -1
- package/dist/bundled/qc-helper/docs/features/channels/_meta.ts +1 -0
- package/dist/bundled/qc-helper/docs/features/channels/overview.md +23 -12
- package/dist/bundled/qc-helper/docs/features/channels/plugins.md +1 -0
- package/dist/bundled/qc-helper/docs/features/channels/wecom.md +111 -0
- package/dist/bundled/qc-helper/docs/features/hooks.md +36 -34
- package/dist/bundled/qc-helper/docs/features/memory.md +1 -1
- package/dist/bundled/qc-helper/docs/qwen-serve.md +17 -10
- package/dist/bundled/review/SKILL.md +6 -2
- package/dist/chunks/{MaxSizedBox-DTQF2MAY.js → MaxSizedBox-DAULPOB3.js} +13 -11
- package/dist/chunks/{StandaloneSessionPicker-XYO5V6IL.js → StandaloneSessionPicker-5Z7LVQ7F.js} +28 -23
- package/dist/chunks/{acpAgent-STMSDYGP.js → acpAgent-7JXXVE6B.js} +110 -80
- package/dist/chunks/{agent-C6YBZNSA.js → agent-S52M66XP.js} +8 -8
- package/dist/chunks/{agent-headless-65TQRHOY.js → agent-headless-47CB7RWZ.js} +8 -8
- package/dist/chunks/{anthropicContentGenerator-FZQAEMYK.js → anthropicContentGenerator-52G6ZA3D.js} +31 -4
- package/dist/chunks/{artifact-tool-H2TNPNP5.js → artifact-tool-D233YJFH.js} +25 -6
- package/dist/chunks/{bridge-GHGQNQRB.js → bridge-O6CZID6W.js} +17 -14
- package/dist/chunks/{ca-HCMB2I54.js → ca-MKD32FQL.js} +26 -1
- package/dist/chunks/{channel-worker-supervisor-B7MSMB5K.js → channel-worker-supervisor-NZQUOEFJ.js} +3 -3
- package/dist/chunks/{chunk-ZCMLUE4O.js → chunk-27A4SPWJ.js} +1 -1
- package/dist/chunks/{chunk-O3DVJ2JO.js → chunk-2DFYBHN4.js} +507 -64
- package/dist/chunks/{chunk-3SBUWSLI.js → chunk-2KQ42WGR.js} +2 -2
- package/dist/chunks/{chunk-PADAEB6D.js → chunk-2MZ4AYIT.js} +308 -81
- package/dist/chunks/chunk-332PWN27.js +19 -0
- package/dist/chunks/{chunk-FVMWEHWU.js → chunk-3B26UVCX.js} +114 -12
- package/dist/chunks/{chunk-W6RH6KHR.js → chunk-3GPVYALM.js} +4 -2
- package/dist/chunks/{chunk-SVK2TREP.js → chunk-3KV2TYC4.js} +1 -1
- package/dist/chunks/{chunk-G7ZG7CA6.js → chunk-3UP777ZS.js} +8 -7
- package/dist/chunks/{chunk-TYOF23VK.js → chunk-43W4YSO6.js} +1 -12
- package/dist/chunks/{chunk-3Y2SRVRF.js → chunk-4S7YIVL6.js} +3 -3
- package/dist/chunks/{chunk-VEB3NYSO.js → chunk-5MBO76SL.js} +5 -0
- package/dist/chunks/{chunk-6N76CE6T.js → chunk-65GWYZCU.js} +10 -5
- package/dist/chunks/{chunk-Z3VQSA4A.js → chunk-67JZ37FW.js} +1 -1
- package/dist/chunks/{chunk-FACTYQFS.js → chunk-72AW57IS.js} +5352 -4135
- package/dist/chunks/chunk-A2X3KLC3.js +3807 -0
- package/dist/chunks/chunk-A7JD2K4Z.js +28 -0
- package/dist/chunks/{chunk-3CRBBLJZ.js → chunk-BAC5H5F4.js} +9 -9
- package/dist/chunks/{chunk-46IFEQDM.js → chunk-BIO6D3EL.js} +1 -1
- package/dist/chunks/chunk-BLNH4ALH.js +283 -0
- package/dist/chunks/{chunk-GXQXFHYV.js → chunk-CBYHA7QC.js} +1 -1
- package/dist/chunks/{chunk-NCFY7PWS.js → chunk-CCGOFQV3.js} +51 -2
- package/dist/chunks/{chunk-66KNL43D.js → chunk-CD6USWHZ.js} +1 -1
- package/dist/chunks/{chunk-J6GMF2DO.js → chunk-CJGGW5FV.js} +66 -7
- package/dist/chunks/{chunk-LLVYPOQV.js → chunk-COUVVSMO.js} +2 -2
- package/dist/chunks/{chunk-A6XKBVOM.js → chunk-EHLC565U.js} +11 -11
- package/dist/chunks/{chunk-VKWGD42I.js → chunk-EKPIW37S.js} +10 -10
- package/dist/chunks/{chunk-DNV4FSN5.js → chunk-FBET5XZ2.js} +6 -4
- package/dist/chunks/{chunk-UMU5USBC.js → chunk-FNQ4NTFR.js} +14 -153
- package/dist/chunks/{chunk-2NL7ED5Q.js → chunk-FV7425LN.js} +22 -1
- package/dist/chunks/{chunk-6UBX2BIL.js → chunk-G2XMNE5I.js} +4 -4
- package/dist/chunks/{chunk-B34OV7K2.js → chunk-GGQQA4JW.js} +13 -0
- package/dist/chunks/chunk-GLE2YUPU.js +34 -0
- package/dist/chunks/{chunk-X265R5C6.js → chunk-GN3F6PIU.js} +1 -1
- package/dist/chunks/{chunk-TJS7CXNX.js → chunk-HY7JTIS2.js} +5 -5
- package/dist/chunks/{chunk-WSVZFWN4.js → chunk-IBY3Q3HG.js} +693 -104
- package/dist/chunks/{chunk-VEDR5V7H.js → chunk-ITIH3WEE.js} +8 -8
- package/dist/chunks/chunk-JGT7AZCW.js +168 -0
- package/dist/chunks/{chunk-PY6PG4BL.js → chunk-K6VOOZB4.js} +6 -5
- package/dist/chunks/chunk-LGFAYIKX.js +115 -0
- package/dist/chunks/chunk-LOJIM7ZB.js +487 -0
- package/dist/chunks/{chunk-FT5ASRN5.js → chunk-LRKOXGF6.js} +5 -5
- package/dist/chunks/{chunk-AXYGF5SX.js → chunk-LSB7QUTQ.js} +15 -9
- package/dist/chunks/{chunk-QUR23Z2Q.js → chunk-M6F3JCGI.js} +2 -2
- package/dist/chunks/{chunk-DH7XPKJV.js → chunk-MCAFUCA2.js} +5 -5
- package/dist/chunks/{chunk-SWHGVEH5.js → chunk-O2JNBKLL.js} +1 -1
- package/dist/chunks/{chunk-4RQIB5UZ.js → chunk-O2YT7VB4.js} +0 -34
- package/dist/chunks/{chunk-4KJ2BPIT.js → chunk-OACJLMLD.js} +2 -38
- package/dist/chunks/{chunk-VQZSRYKB.js → chunk-OFGYDQPN.js} +423 -61
- package/dist/chunks/{chunk-5XZ6FOTY.js → chunk-ONGYTDFO.js} +1 -1
- package/dist/chunks/{chunk-RTCBBRJK.js → chunk-PBLEEGVC.js} +20 -8
- package/dist/chunks/{chunk-4KMU5RWV.js → chunk-PJWMYPWC.js} +45 -9
- package/dist/chunks/{chunk-65A6UQDZ.js → chunk-QGNRRKJJ.js} +146 -54
- package/dist/chunks/{chunk-GSNACUDM.js → chunk-RBXWE376.js} +5 -13
- package/dist/chunks/{chunk-COPJASIO.js → chunk-RRI2ZIIA.js} +10 -10
- package/dist/chunks/{chunk-GKUVMLJH.js → chunk-RVBG4B2L.js} +3 -3
- package/dist/chunks/{chunk-KSPVDFE4.js → chunk-SAIILPQ3.js} +0 -3
- package/dist/chunks/{chunk-AKSRZ5BA.js → chunk-SBP3QB6S.js} +17 -111
- package/dist/chunks/{chunk-P42OA4GP.js → chunk-TBV35OBU.js} +14 -8
- package/dist/chunks/{chunk-HXVVCTID.js → chunk-TWKTKDO7.js} +1 -1
- package/dist/chunks/chunk-U3BZFGXZ.js +167 -0
- package/dist/chunks/chunk-UIDXQNMV.js +13 -0
- package/dist/chunks/{chunk-PIORL4OD.js → chunk-UKV3D7WB.js} +0 -44
- package/dist/chunks/{chunk-23TH7TAA.js → chunk-UNP2RK7B.js} +2 -2
- package/dist/chunks/{chunk-AGTU5PQ6.js → chunk-UWRIDCTO.js} +4 -4
- package/dist/chunks/chunk-V35MD7KN.js +13 -0
- package/dist/chunks/{chunk-OMO3UY57.js → chunk-VFGM47DK.js} +681 -1232
- package/dist/chunks/{chunk-PMMJS5AM.js → chunk-X4BBHJZ3.js} +4 -3
- package/dist/chunks/chunk-XMQOLL5Z.js +8223 -0
- package/dist/chunks/chunk-XNXVCNAT.js +88 -0
- package/dist/chunks/{chunk-TDGF35EN.js → chunk-XOHNA2S6.js} +1 -1
- package/dist/chunks/{chunk-PYWGOON5.js → chunk-XPS3UH2D.js} +1 -1
- package/dist/chunks/chunk-YBRZ3S2C.js +942 -0
- package/dist/chunks/{chunk-RFIL6REB.js → chunk-YKZIAK7C.js} +119 -29
- package/dist/chunks/{chunk-7SZJYZPR.js → chunk-YWRV5OJX.js} +92 -465
- package/dist/chunks/chunk-Z3I3QJK3.js +47 -0
- package/dist/chunks/{chunk-Z33V6JSK.js → chunk-ZF7UGIJ2.js} +1 -1
- package/dist/chunks/chunk-ZL5HN75Q.js +61 -0
- package/dist/chunks/{computer-use-BH6F7LI7.js → computer-use-AK2MPP4V.js} +8 -8
- package/dist/chunks/{contextCommand-URWDQXBJ.js → contextCommand-XXYJTFCX.js} +12 -11
- package/dist/chunks/{cron-create-DDYU4DIR.js → cron-create-JSXEIPVS.js} +1 -1
- package/dist/chunks/{cron-delete-DFKOUZWN.js → cron-delete-OIFVEPGU.js} +1 -1
- package/dist/chunks/{cron-list-ME5QGAR5.js → cron-list-D4ZX4IOE.js} +1 -1
- package/dist/chunks/{daemon-XWG2EGFX.js → daemon-WPAENEBW.js} +71 -3
- package/dist/chunks/{daemon-status-provider-CLNN2UY2.js → daemon-status-provider-DOBLLAUR.js} +20 -17
- package/dist/chunks/{de-PLLFDERI.js → de-ZFPPQVSF.js} +26 -1
- package/dist/chunks/{dist-LPVU3L2M.js → dist-BEXOZXLQ.js} +6 -3792
- package/dist/chunks/{dist-7GU63KI5.js → dist-E6UANPIM.js} +1 -1
- package/dist/chunks/{dist-VHBP2PIG.js → dist-H2AEJCZ5.js} +2 -2
- package/dist/chunks/{dist-3UDX5T4T.js → dist-O2IRTRPP.js} +1 -1
- package/dist/chunks/dist-SCFLLYMK.js +3217 -0
- package/dist/chunks/{dist-H4HHZYCI.js → dist-Z34QPAQW.js} +2 -2
- package/dist/chunks/{earlyInputCapture-SFINSVH2.js → earlyInputCapture-QX7FKEPY.js} +8 -8
- package/dist/chunks/{edit-5OJRPFGZ.js → edit-MNTA2GNC.js} +9 -9
- package/dist/chunks/{en-AXARKOWO.js → en-N4EPZAQI.js} +31 -2
- package/dist/chunks/{enter-worktree-HK54JBSR.js → enter-worktree-WAG3SZ2O.js} +8 -8
- package/dist/chunks/{enterPlanMode-5GXOH5PQ.js → enterPlanMode-THDBOOSG.js} +8 -8
- package/dist/chunks/environment-AE6MZDKE.js +90 -0
- package/dist/chunks/{errors-73SZF7O7.js → errors-ITLDJFFZ.js} +10 -10
- package/dist/chunks/{exit-worktree-CBX23VFX.js → exit-worktree-ENFBD2E5.js} +8 -8
- package/dist/chunks/{exitPlanMode-HADS7AAV.js → exitPlanMode-HOSNRC22.js} +8 -8
- package/dist/chunks/{fast-path-3QQW3W6W.js → fast-path-CDB4XPSL.js} +12 -3
- package/dist/chunks/{fast-path-settings-RCRXH2JG.js → fast-path-settings-7RIFI3PK.js} +3 -2
- package/dist/chunks/{fr-MBMNQSQ6.js → fr-5WWMY53B.js} +30 -1
- package/dist/chunks/{gemini-Q4KKJMFH.js → gemini-DR4ABGLP.js} +438 -265
- package/dist/chunks/{geminiContentGenerator-SBKWTYFU.js → geminiContentGenerator-GGRSUJG6.js} +1 -1
- package/dist/chunks/{glob-ORVXVDJJ.js → glob-S3ESYOFY.js} +8 -8
- package/dist/chunks/{grep-TMSN6VOF.js → grep-WVRBUHNE.js} +8 -8
- package/dist/chunks/handleAutoUpdate-K73DXUO2.js +65 -0
- package/dist/chunks/{initializer-NFO725XQ.js → initializer-O2E3RKOG.js} +17 -13
- package/dist/chunks/{ja-HFV5QCHR.js → ja-CUHZOLEJ.js} +30 -1
- package/dist/chunks/{list-NP6QTWKD.js → list-7HRANYR2.js} +17 -15
- package/dist/chunks/{loadedSettingsAdapter-5PXZC4ZO.js → loadedSettingsAdapter-DC3DUNGS.js} +15 -13
- package/dist/chunks/{loop-wakeup-ZW5P6VPY.js → loop-wakeup-OHWEMFP5.js} +2 -2
- package/dist/chunks/{ls-L654WOAT.js → ls-7MFU2QYW.js} +1 -1
- package/dist/chunks/{lsp-M35KE54Y.js → lsp-XHDTPTGV.js} +2 -4
- package/dist/chunks/{mcp-D3C75I47.js → mcp-T676RK3N.js} +15 -13
- package/dist/chunks/{monitor-YZFSN33Z.js → monitor-NDBNCHYZ.js} +16 -11
- package/dist/chunks/{nonInteractiveCli-U7ZDVLQD.js → nonInteractiveCli-TMB4TLML.js} +52 -44
- package/dist/chunks/{notebook-edit-LVCCTW65.js → notebook-edit-XNEWNIID.js} +9 -9
- package/dist/chunks/{openaiContentGenerator-G4JHCIGX.js → openaiContentGenerator-2GGVNH4J.js} +6 -6
- package/dist/chunks/{pidfile-O37JZBNN.js → pidfile-U6U3KDMU.js} +8 -8
- package/dist/chunks/{pt-2THT3YHA.js → pt-OLYN42DS.js} +26 -1
- package/dist/chunks/{qwenContentGenerator-SPHKYVJF.js → qwenContentGenerator-FZR3VYQW.js} +10 -10
- package/dist/chunks/{read-file-MBGSR77H.js → read-file-2P3MNXBM.js} +3 -3
- package/dist/chunks/{record-artifact-PP3LKHTS.js → record-artifact-SQ2OKRJW.js} +3 -3
- package/dist/chunks/{ripGrep-WMM4G6QB.js → ripGrep-W5DKLIC2.js} +8 -8
- package/dist/chunks/{ru-PER5I4OI.js → ru-MKM2HFDS.js} +26 -1
- package/dist/chunks/{run-qwen-serve-3BOGJBTS.js → run-qwen-serve-FGGLFPLG.js} +602 -143
- package/dist/chunks/{scheduler-KWPXUSJ4.js → scheduler-CTJIZOWI.js} +8 -8
- package/dist/chunks/{send-message-OA6MV4EU.js → send-message-76GT3JMC.js} +1 -1
- package/dist/chunks/{serve-6JXYVZRD.js → serve-2OBCBFXZ.js} +17 -14
- package/dist/chunks/{server-KOSHCREY.js → server-K5VEB225.js} +1394 -328
- package/dist/chunks/{session-5RI6JYZ6.js → session-7EVRNUXC.js} +53 -45
- package/dist/chunks/{settings-URS74H6Z.js → settings-7QGLUMUT.js} +24 -20
- package/dist/chunks/{shell-6VOD5NUH.js → shell-JSJCMSGS.js} +8 -8
- package/dist/chunks/{skill-MKIISOW7.js → skill-DSJPTMVO.js} +15 -5
- package/dist/chunks/{spawnChannel-GM7HIIDH.js → spawnChannel-ANPAH5LN.js} +10 -10
- package/dist/chunks/{src-X2S7YA5D.js → src-GMUN6GZG.js} +21 -9
- package/dist/chunks/{startInteractiveUI-REEHDN4Z.js → startInteractiveUI-ID2KOH7Z.js} +33759 -41620
- package/dist/chunks/{task-create-RPFZNB4B.js → task-create-WCHTB435.js} +2 -2
- package/dist/chunks/{task-update-5WUG5MVQ.js → task-update-XYWMHJGJ.js} +2 -2
- package/dist/chunks/{team-create-MQVOXIHZ.js → team-create-FNAI6F35.js} +8 -8
- package/dist/chunks/{team-plan-approval-H74NA3K2.js → team-plan-approval-GPAFPCI7.js} +8 -8
- package/dist/chunks/{theme-manager-YMC4EJQO.js → theme-manager-366AQFJU.js} +8 -8
- package/dist/chunks/{tool-search-VUJGWH7W.js → tool-search-GVSOY72G.js} +6 -23
- package/dist/chunks/total-session-admission-FUTVSIVT.js +72 -0
- package/dist/chunks/{trustedFolders-UMMVN4P2.js → trustedFolders-2J5VZVXS.js} +9 -9
- package/dist/chunks/updateCheck-BHMVBNNI.js +65 -0
- package/dist/chunks/{validateNonInterActiveAuth-ORA3KCZO.js → validateNonInterActiveAuth-6BNWQW3V.js} +49 -41
- package/dist/chunks/{version-II46VXNW.js → version-SI22TR43.js} +2 -1
- package/dist/chunks/{workflow-KYFPOWKK.js → workflow-EGCATP2M.js} +9 -9
- package/dist/chunks/{workspace-providers-status-QDQEYCHT.js → workspace-providers-status-NSB2VFSX.js} +18 -15
- package/dist/chunks/workspace-registry-B3YUZ2VM.js +74 -0
- package/dist/chunks/{workspace-service-YBVUOSP7.js → workspace-service-U23V3DKO.js} +21 -19
- package/dist/chunks/{workspace-skills-status-3ASS4VEE.js → workspace-skills-status-3OHN6C62.js} +16 -14
- package/dist/chunks/{write-file-7ZHZO4K5.js → write-file-YJHRI5NS.js} +9 -9
- package/dist/chunks/{zh-RS3HZHFH.js → zh-J4F6QWQV.js} +31 -2
- package/dist/chunks/{zh-TW-L5GRQ4S4.js → zh-TW-XVDWOLSW.js} +31 -2
- package/dist/cli.js +11 -11
- package/dist/locales/ca.js +30 -0
- package/dist/locales/de.js +30 -0
- package/dist/locales/en.js +38 -2
- package/dist/locales/fr.js +36 -0
- package/dist/locales/ja.js +36 -0
- package/dist/locales/pt.js +30 -0
- package/dist/locales/ru.js +30 -0
- package/dist/locales/zh-TW.js +38 -2
- package/dist/locales/zh.js +38 -2
- package/dist/package.json +3 -3
- package/dist/web-shell/assets/{arc-C6tzvtOa.js → arc-BWyoJpY2.js} +1 -1
- package/dist/web-shell/assets/{architectureDiagram-3BPJPVTR-DSYQFGn9.js → architectureDiagram-3BPJPVTR-BT0mGrz2.js} +1 -1
- package/dist/web-shell/assets/{blockDiagram-GPEHLZMM-CHjBdXAD.js → blockDiagram-GPEHLZMM-BLgUWvyf.js} +1 -1
- package/dist/web-shell/assets/{c4Diagram-AAUBKEIU-BQzK6Yyb.js → c4Diagram-AAUBKEIU-DYx9M7oU.js} +1 -1
- package/dist/web-shell/assets/channel-wmPUGHtg.js +1 -0
- package/dist/web-shell/assets/{chunk-2J33WTMH-hpP2p3Ij.js → chunk-2J33WTMH-CfMHWbuZ.js} +1 -1
- package/dist/web-shell/assets/{chunk-4BX2VUAB-B5KtK1JJ.js → chunk-4BX2VUAB-B1URoqEV.js} +1 -1
- package/dist/web-shell/assets/{chunk-55IACEB6-BDv6Mfr2.js → chunk-55IACEB6-DAIaM4QF.js} +1 -1
- package/dist/web-shell/assets/{chunk-727SXJPM-BevPWfrX.js → chunk-727SXJPM-B2X34knw.js} +1 -1
- package/dist/web-shell/assets/{chunk-AQP2D5EJ-ChDrz2ad.js → chunk-AQP2D5EJ-Cif-zLTQ.js} +1 -1
- package/dist/web-shell/assets/{chunk-FMBD7UC4-ClMdVSDs.js → chunk-FMBD7UC4-H18WCXdY.js} +1 -1
- package/dist/web-shell/assets/{chunk-ND2GUHAM-BceV8kZS.js → chunk-ND2GUHAM-YFtetHi0.js} +1 -1
- package/dist/web-shell/assets/{chunk-QZHKN3VN-DtyK2wwc.js → chunk-QZHKN3VN-By2hiH3r.js} +1 -1
- package/dist/web-shell/assets/classDiagram-4FO5ZUOK-BA2ljEjW.js +1 -0
- package/dist/web-shell/assets/classDiagram-v2-Q7XG4LA2-BA2ljEjW.js +1 -0
- package/dist/web-shell/assets/{cose-bilkent-S5V4N54A-BGMsqwmE.js → cose-bilkent-S5V4N54A-VrcnnLZu.js} +1 -1
- package/dist/web-shell/assets/{dagre-BM42HDAG-C-71clpF.js → dagre-BM42HDAG-CGo-IaVV.js} +1 -1
- package/dist/web-shell/assets/{diagram-2AECGRRQ-WIzzlkec.js → diagram-2AECGRRQ-Dl4QjzIB.js} +1 -1
- package/dist/web-shell/assets/{diagram-5GNKFQAL-CtnhZUP1.js → diagram-5GNKFQAL-qMLmsO0u.js} +1 -1
- package/dist/web-shell/assets/{diagram-KO2AKTUF-CS_IUezp.js → diagram-KO2AKTUF-CHlmuxPI.js} +1 -1
- package/dist/web-shell/assets/{diagram-LMA3HP47-BQnGRwN9.js → diagram-LMA3HP47-BUwU3GwT.js} +1 -1
- package/dist/web-shell/assets/{diagram-OG6HWLK6-By2VIocq.js → diagram-OG6HWLK6-HEhwPDUM.js} +1 -1
- package/dist/web-shell/assets/{erDiagram-TEJ5UH35-Dy8WeNkr.js → erDiagram-TEJ5UH35-1n0llBmM.js} +1 -1
- package/dist/web-shell/assets/{flowDiagram-I6XJVG4X-Diu_4y0w.js → flowDiagram-I6XJVG4X-BN74uMnt.js} +1 -1
- package/dist/web-shell/assets/{ganttDiagram-6RSMTGT7-CH8euujP.js → ganttDiagram-6RSMTGT7-BoOq78i3.js} +1 -1
- package/dist/web-shell/assets/{gitGraphDiagram-PVQCEYII-DHiObZq1.js → gitGraphDiagram-PVQCEYII-CN8b00c8.js} +1 -1
- package/dist/web-shell/assets/index-CNwoO1Cn.js +783 -0
- package/dist/web-shell/assets/index-CWQ0z6kZ.css +5 -0
- package/dist/web-shell/assets/{infoDiagram-5YYISTIA-CvC9A6fh.js → infoDiagram-5YYISTIA-CCurnIna.js} +1 -1
- package/dist/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BK46kC4E.js → ishikawaDiagram-YF4QCWOH-AwuRqdUP.js} +1 -1
- package/dist/web-shell/assets/{journeyDiagram-JHISSGLW-B2TIiKq4.js → journeyDiagram-JHISSGLW-B7IICk-E.js} +1 -1
- package/dist/web-shell/assets/{kanban-definition-UN3LZRKU-Bh0WAulO.js → kanban-definition-UN3LZRKU-BYF0OKhx.js} +1 -1
- package/dist/web-shell/assets/{linear-Bxe9SHMk.js → linear-GWWguGfD.js} +1 -1
- package/dist/web-shell/assets/{mermaid.core-B1Pv6D5B.js → mermaid.core-JqtkxvCl.js} +5 -5
- package/dist/web-shell/assets/{mindmap-definition-RKZ34NQL-Bz0joLH8.js → mindmap-definition-RKZ34NQL-B0MmHsZ6.js} +1 -1
- package/dist/web-shell/assets/{pieDiagram-4H26LBE5-CnN4x-VS.js → pieDiagram-4H26LBE5-DhImUZLQ.js} +1 -1
- package/dist/web-shell/assets/{quadrantDiagram-W4KKPZXB-BYWD4xO4.js → quadrantDiagram-W4KKPZXB-DGeSC3DT.js} +1 -1
- package/dist/web-shell/assets/{requirementDiagram-4Y6WPE33-B4MEhI9h.js → requirementDiagram-4Y6WPE33-DkspY6Re.js} +1 -1
- package/dist/web-shell/assets/{sankeyDiagram-5OEKKPKP-Dk_FgKLp.js → sankeyDiagram-5OEKKPKP-CaOofS2x.js} +1 -1
- package/dist/web-shell/assets/{sequenceDiagram-3UESZ5HK-B4ksiBZQ.js → sequenceDiagram-3UESZ5HK-DFQ_kFnN.js} +1 -1
- package/dist/web-shell/assets/{stateDiagram-AJRCARHV-CYf0xSPl.js → stateDiagram-AJRCARHV-D3snw0Tz.js} +1 -1
- package/dist/web-shell/assets/stateDiagram-v2-BHNVJYJU-BbSm_9d0.js +1 -0
- package/dist/web-shell/assets/{timeline-definition-PNZ67QCA-0CXeWHNY.js → timeline-definition-PNZ67QCA-l4zH8nLM.js} +1 -1
- package/dist/web-shell/assets/{vennDiagram-CIIHVFJN-DHoYY9v2.js → vennDiagram-CIIHVFJN-BnRlA98M.js} +1 -1
- package/dist/web-shell/assets/{wardley-L42UT6IY-D_65qshr.js → wardley-L42UT6IY-BS0xUdmd.js} +1 -1
- package/dist/web-shell/assets/{wardleyDiagram-YWT4CUSO-Cv90x1sd.js → wardleyDiagram-YWT4CUSO-DKGBUWyQ.js} +1 -1
- package/dist/web-shell/assets/{xychartDiagram-2RQKCTM6-5FQCYJyh.js → xychartDiagram-2RQKCTM6-DVb2HuOB.js} +1 -1
- package/dist/web-shell/index.html +2 -2
- package/package.json +3 -2
- package/dist/web-shell/assets/channel-V-ZaJrA6.js +0 -1
- package/dist/web-shell/assets/classDiagram-4FO5ZUOK-s-H0snGT.js +0 -1
- package/dist/web-shell/assets/classDiagram-v2-Q7XG4LA2-s-H0snGT.js +0 -1
- package/dist/web-shell/assets/index-DW75jq0K.css +0 -5
- package/dist/web-shell/assets/index-tiCo0xbZ.js +0 -779
- package/dist/web-shell/assets/stateDiagram-v2-BHNVJYJU-CMtrFRUb.js +0 -1
|
@@ -11,12 +11,13 @@ import {
|
|
|
11
11
|
import {
|
|
12
12
|
CRON_TASKS_DISPLAY_PATH,
|
|
13
13
|
addCronTask,
|
|
14
|
+
appendCronRun,
|
|
14
15
|
generateCronTaskId,
|
|
15
16
|
getCronFilePath,
|
|
16
17
|
readCronTasks,
|
|
17
18
|
removeCronTasks,
|
|
18
19
|
updateCronTasks
|
|
19
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-FV7425LN.js";
|
|
20
21
|
import {
|
|
21
22
|
ToolNames
|
|
22
23
|
} from "./chunk-X3YGAX7V.js";
|
|
@@ -282,6 +283,42 @@ var CronScheduler = class {
|
|
|
282
283
|
// the live job away (or clear its pendingRemoval guard) as if it had
|
|
283
284
|
// been deleted on disk.
|
|
284
285
|
pendingAdd = /* @__PURE__ */ new Set();
|
|
286
|
+
// Durable ids whose lastFiredAt persist is in flight after a fire — the tick
|
|
287
|
+
// (on-time) OR a catch-up delivery. A reload racing that async write reads the
|
|
288
|
+
// stale disk stamp, so it must not re-detect and re-fire the same slot. Only
|
|
289
|
+
// populated once a fire has actually been stamped/delivered, so a catch-up that
|
|
290
|
+
// was merely buffered and then dropped never enters it and still re-detects.
|
|
291
|
+
//
|
|
292
|
+
// REF-COUNTED per id (not a plain Set): the same task can have two persists in
|
|
293
|
+
// flight at once (it fired again before the first write landed). Clearing on
|
|
294
|
+
// the FIRST settle would drop the guard while the second write is still
|
|
295
|
+
// pending; the count keeps it until the LAST in-flight persist for that id
|
|
296
|
+
// settles.
|
|
297
|
+
//
|
|
298
|
+
// LIMITATION: this guard is INSTANCE-scoped in-memory state. It protects
|
|
299
|
+
// against a reload racing a persist WITHIN one scheduler. It does NOT survive
|
|
300
|
+
// a new scheduler instance (daemon restart, keepalive revive, session reload):
|
|
301
|
+
// a fresh instance starts with an empty map, so if the previous instance died
|
|
302
|
+
// with a persist still in flight, the new one reads the stale on-disk stamp
|
|
303
|
+
// and can re-fire that slot once. Fully closing that narrow cross-instance
|
|
304
|
+
// window would need a durable stamp (in the tasks file or a lock file); it's
|
|
305
|
+
// accepted here as a sub-second restart-timing edge.
|
|
306
|
+
firePersistPending = /* @__PURE__ */ new Map();
|
|
307
|
+
markFirePersistPending(ids) {
|
|
308
|
+
for (const id of ids) {
|
|
309
|
+
this.firePersistPending.set(
|
|
310
|
+
id,
|
|
311
|
+
(this.firePersistPending.get(id) ?? 0) + 1
|
|
312
|
+
);
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
clearFirePersistPending(ids) {
|
|
316
|
+
for (const id of ids) {
|
|
317
|
+
const next = (this.firePersistPending.get(id) ?? 0) - 1;
|
|
318
|
+
if (next > 0) this.firePersistPending.set(id, next);
|
|
319
|
+
else this.firePersistPending.delete(id);
|
|
320
|
+
}
|
|
321
|
+
}
|
|
285
322
|
fileWatcher = null;
|
|
286
323
|
lockProbeTimer = null;
|
|
287
324
|
debounceTimer = null;
|
|
@@ -567,9 +604,12 @@ var CronScheduler = class {
|
|
|
567
604
|
const missedOneShots = [];
|
|
568
605
|
const catchUpIds = [];
|
|
569
606
|
const finalTasks = [];
|
|
570
|
-
|
|
607
|
+
{
|
|
571
608
|
for (const t of tasks) {
|
|
572
609
|
if (this.pendingRemoval.has(t.id)) continue;
|
|
610
|
+
const responsibleForMissed = typeof t.sessionId === "string" && t.sessionId.length > 0 ? t.sessionId === this.sessionId : handleMissed;
|
|
611
|
+
if (!responsibleForMissed) continue;
|
|
612
|
+
if (this.firePersistPending.has(t.id)) continue;
|
|
573
613
|
const jitter = computeJitter(t.id, t.cron, t.recurring);
|
|
574
614
|
const anchor = t.recurring ? t.lastFiredAt ?? t.createdAt : t.createdAt;
|
|
575
615
|
const nextFire = computeNextFireMs(t.cron, anchor, jitter);
|
|
@@ -733,16 +773,28 @@ var CronScheduler = class {
|
|
|
733
773
|
if (fired !== void 0) stamps.set(id, fired);
|
|
734
774
|
}
|
|
735
775
|
if (stamps.size === 0) return;
|
|
776
|
+
const guarded = [...stamps.keys()];
|
|
777
|
+
this.markFirePersistPending(guarded);
|
|
736
778
|
this.trackPersist(
|
|
737
779
|
updateCronTasks(this.projectRoot, (tasks) => {
|
|
738
780
|
let changed = false;
|
|
739
781
|
const next = tasks.map((t) => {
|
|
740
782
|
const stamp = stamps.get(t.id);
|
|
741
|
-
if (stamp === void 0 || t.lastFiredAt
|
|
783
|
+
if (stamp === void 0 || (t.lastFiredAt ?? 0) >= stamp) return t;
|
|
742
784
|
changed = true;
|
|
743
|
-
return {
|
|
785
|
+
return {
|
|
786
|
+
...t,
|
|
787
|
+
lastFiredAt: stamp,
|
|
788
|
+
runs: appendCronRun(t.runs, {
|
|
789
|
+
at: stamp,
|
|
790
|
+
kind: "catch-up",
|
|
791
|
+
...this.sessionId ? { sessionId: this.sessionId } : {}
|
|
792
|
+
})
|
|
793
|
+
};
|
|
744
794
|
});
|
|
745
795
|
return changed ? next : tasks;
|
|
796
|
+
}).finally(() => {
|
|
797
|
+
this.clearFirePersistPending(guarded);
|
|
746
798
|
})
|
|
747
799
|
);
|
|
748
800
|
}
|
|
@@ -911,6 +963,20 @@ var CronScheduler = class {
|
|
|
911
963
|
this._disabled = true;
|
|
912
964
|
this.stop();
|
|
913
965
|
}
|
|
966
|
+
/**
|
|
967
|
+
* Whether THIS session should fire a given durable job:
|
|
968
|
+
* - A session-bound task (`boundSessionId` set) fires only in its own
|
|
969
|
+
* session, independent of the per-project lock — so each task's fires
|
|
970
|
+
* land in its dedicated transcript and no two sessions race it.
|
|
971
|
+
* - An unbound task fires only in the lock owner (the legacy shared model).
|
|
972
|
+
* A task bound to a *different* session is never fired here.
|
|
973
|
+
*/
|
|
974
|
+
#shouldFireDurable(job) {
|
|
975
|
+
if (job.boundSessionId !== void 0) {
|
|
976
|
+
return job.boundSessionId === this.sessionId;
|
|
977
|
+
}
|
|
978
|
+
return this.isOwner;
|
|
979
|
+
}
|
|
914
980
|
/**
|
|
915
981
|
* Manual tick — checks all jobs against the current time and fires those
|
|
916
982
|
* that are due. Exported for testing.
|
|
@@ -922,7 +988,7 @@ var CronScheduler = class {
|
|
|
922
988
|
const firedAt = /* @__PURE__ */ new Map();
|
|
923
989
|
const removedIds = [];
|
|
924
990
|
for (const job of this.jobs.values()) {
|
|
925
|
-
if (job.durable && !this
|
|
991
|
+
if (job.durable && !this.#shouldFireDurable(job)) continue;
|
|
926
992
|
if (job.durable && this.skipDurableFire?.(job)) {
|
|
927
993
|
debugLogger.debug(
|
|
928
994
|
`Skipping durable job ${job.id} (tick): consumer cannot run it`
|
|
@@ -940,13 +1006,30 @@ var CronScheduler = class {
|
|
|
940
1006
|
if (this.projectRoot && (firedAt.size > 0 || removedIds.length > 0)) {
|
|
941
1007
|
for (const id of removedIds) this.pendingRemoval.add(id);
|
|
942
1008
|
const removed = new Set(removedIds);
|
|
1009
|
+
const guarded = [...firedAt.keys()];
|
|
1010
|
+
this.markFirePersistPending(guarded);
|
|
943
1011
|
this.trackPersist(
|
|
944
1012
|
updateCronTasks(
|
|
945
1013
|
this.projectRoot,
|
|
946
|
-
(tasks) => tasks.filter((t) => !removed.has(t.id)).map(
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
1014
|
+
(tasks) => tasks.filter((t) => !removed.has(t.id)).map((t) => {
|
|
1015
|
+
const stamp = firedAt.get(t.id);
|
|
1016
|
+
if (stamp === void 0 || (t.lastFiredAt ?? 0) >= stamp)
|
|
1017
|
+
return t;
|
|
1018
|
+
return {
|
|
1019
|
+
...t,
|
|
1020
|
+
lastFiredAt: stamp,
|
|
1021
|
+
runs: appendCronRun(t.runs, {
|
|
1022
|
+
at: stamp,
|
|
1023
|
+
kind: "scheduled",
|
|
1024
|
+
// The owner session that ran this fire — links the run back
|
|
1025
|
+
// to its transcript. Set whenever a durable fire persists.
|
|
1026
|
+
...this.sessionId ? { sessionId: this.sessionId } : {}
|
|
1027
|
+
})
|
|
1028
|
+
};
|
|
1029
|
+
})
|
|
1030
|
+
).finally(() => {
|
|
1031
|
+
this.clearFirePersistPending(guarded);
|
|
1032
|
+
})
|
|
950
1033
|
);
|
|
951
1034
|
}
|
|
952
1035
|
for (const wakeup of this.wakeups.values()) {
|
|
@@ -1073,7 +1156,8 @@ function durableTaskToJob(task, recurringMaxAgeMs, existing) {
|
|
|
1073
1156
|
expiresAt: task.recurring ? task.createdAt + recurringMaxAgeMs : Infinity,
|
|
1074
1157
|
lastFiredAt: task.lastFiredAt ?? void 0,
|
|
1075
1158
|
jitterMs,
|
|
1076
|
-
durable: true
|
|
1159
|
+
durable: true,
|
|
1160
|
+
...task.sessionId ? { boundSessionId: task.sessionId } : {}
|
|
1077
1161
|
};
|
|
1078
1162
|
}
|
|
1079
1163
|
__name(durableTaskToJob, "durableTaskToJob");
|
|
@@ -1084,7 +1168,8 @@ function jobToDurableTask(job) {
|
|
|
1084
1168
|
prompt: job.prompt,
|
|
1085
1169
|
recurring: job.recurring,
|
|
1086
1170
|
createdAt: job.createdAt,
|
|
1087
|
-
lastFiredAt: job.lastFiredAt ?? null
|
|
1171
|
+
lastFiredAt: job.lastFiredAt ?? null,
|
|
1172
|
+
...job.boundSessionId ? { sessionId: job.boundSessionId } : {}
|
|
1088
1173
|
};
|
|
1089
1174
|
}
|
|
1090
1175
|
__name(jobToDurableTask, "jobToDurableTask");
|
|
@@ -1098,6 +1183,22 @@ function computeNextFireMs(cronExpr, afterMs, jitterMs) {
|
|
|
1098
1183
|
}
|
|
1099
1184
|
}
|
|
1100
1185
|
__name(computeNextFireMs, "computeNextFireMs");
|
|
1186
|
+
var nextDurableFireCache = /* @__PURE__ */ new Map();
|
|
1187
|
+
var NEXT_DURABLE_FIRE_CACHE_MAX = 512;
|
|
1188
|
+
function nextDurableFireMs(task) {
|
|
1189
|
+
const anchor = task.recurring ? task.lastFiredAt ?? task.createdAt : task.createdAt;
|
|
1190
|
+
const key = `${task.id}\0${task.cron}\0${task.recurring ? 1 : 0}\0${anchor}`;
|
|
1191
|
+
const cached = nextDurableFireCache.get(key);
|
|
1192
|
+
if (cached !== void 0) return cached;
|
|
1193
|
+
const jitter = computeJitter(task.id, task.cron, task.recurring);
|
|
1194
|
+
const result = computeNextFireMs(task.cron, anchor, jitter);
|
|
1195
|
+
if (nextDurableFireCache.size >= NEXT_DURABLE_FIRE_CACHE_MAX) {
|
|
1196
|
+
nextDurableFireCache.clear();
|
|
1197
|
+
}
|
|
1198
|
+
nextDurableFireCache.set(key, result);
|
|
1199
|
+
return result;
|
|
1200
|
+
}
|
|
1201
|
+
__name(nextDurableFireMs, "nextDurableFireMs");
|
|
1101
1202
|
|
|
1102
1203
|
export {
|
|
1103
1204
|
MAX_JOBS,
|
|
@@ -1107,5 +1208,6 @@ export {
|
|
|
1107
1208
|
WAKEUP_MAX_SECONDS,
|
|
1108
1209
|
clampWakeupSeconds,
|
|
1109
1210
|
CronScheduler,
|
|
1110
|
-
buildMissedCronNotification
|
|
1211
|
+
buildMissedCronNotification,
|
|
1212
|
+
nextDurableFireMs
|
|
1111
1213
|
};
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
|
-
TextTokenizer,
|
|
5
4
|
isSupportedImageMimeType
|
|
6
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-UKV3D7WB.js";
|
|
6
|
+
import {
|
|
7
|
+
TextTokenizer
|
|
8
|
+
} from "./chunk-CCGOFQV3.js";
|
|
7
9
|
import {
|
|
8
10
|
createDebugLogger
|
|
9
11
|
} from "./chunk-22MNNNXE.js";
|
|
@@ -29,7 +29,7 @@ function normalizeMaxQueuedBytes(value) {
|
|
|
29
29
|
return value;
|
|
30
30
|
}
|
|
31
31
|
__name(normalizeMaxQueuedBytes, "normalizeMaxQueuedBytes");
|
|
32
|
-
function
|
|
32
|
+
function serializedBridgeEventByteLength(event) {
|
|
33
33
|
try {
|
|
34
34
|
const serialized = JSON.stringify(event);
|
|
35
35
|
if (serialized === void 0) return 0;
|
|
@@ -39,7 +39,7 @@ function serializedByteLength(event) {
|
|
|
39
39
|
return 0;
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
-
__name(
|
|
42
|
+
__name(serializedBridgeEventByteLength, "serializedBridgeEventByteLength");
|
|
43
43
|
function logEventSizingFailed(type) {
|
|
44
44
|
try {
|
|
45
45
|
process.stderr.write(
|
|
@@ -123,10 +123,10 @@ var EventBus = class {
|
|
|
123
123
|
}
|
|
124
124
|
};
|
|
125
125
|
events.push(event);
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
126
|
+
}
|
|
127
|
+
try {
|
|
128
|
+
this.compactionEngine?.seedReplayEvents(events);
|
|
129
|
+
} catch {
|
|
130
130
|
}
|
|
131
131
|
this.ring.length = 0;
|
|
132
132
|
return events;
|
|
@@ -165,7 +165,7 @@ var EventBus = class {
|
|
|
165
165
|
if (this.ring.length > this.ringSize) this.ring.shift();
|
|
166
166
|
let eventBytes;
|
|
167
167
|
const getEventBytes = /* @__PURE__ */ __name(() => {
|
|
168
|
-
eventBytes ??=
|
|
168
|
+
eventBytes ??= serializedBridgeEventByteLength(event);
|
|
169
169
|
return eventBytes;
|
|
170
170
|
}, "getEventBytes");
|
|
171
171
|
for (const sub of Array.from(this.subs)) {
|
|
@@ -524,6 +524,7 @@ var BoundedAsyncQueue = class {
|
|
|
524
524
|
export {
|
|
525
525
|
EVENT_SCHEMA_VERSION,
|
|
526
526
|
DEFAULT_RING_SIZE,
|
|
527
|
+
serializedBridgeEventByteLength,
|
|
527
528
|
SubscriberLimitExceededError,
|
|
528
529
|
EventBus
|
|
529
530
|
};
|
|
@@ -7,9 +7,6 @@ import {
|
|
|
7
7
|
__name
|
|
8
8
|
} from "./chunk-J2S4EL5Y.js";
|
|
9
9
|
|
|
10
|
-
// packages/cli/src/utils/version.ts
|
|
11
|
-
init_esbuild_shims();
|
|
12
|
-
|
|
13
10
|
// packages/cli/src/utils/package.ts
|
|
14
11
|
init_esbuild_shims();
|
|
15
12
|
import { fileURLToPath } from "node:url";
|
|
@@ -31,16 +28,8 @@ async function getPackageJson() {
|
|
|
31
28
|
}
|
|
32
29
|
__name(getPackageJson, "getPackageJson");
|
|
33
30
|
|
|
34
|
-
// packages/cli/src/utils/version.ts
|
|
35
|
-
async function getCliVersion() {
|
|
36
|
-
const pkgJson = await getPackageJson();
|
|
37
|
-
return "0.19.8-2";
|
|
38
|
-
}
|
|
39
|
-
__name(getCliVersion, "getCliVersion");
|
|
40
|
-
|
|
41
31
|
export {
|
|
42
|
-
getPackageJson
|
|
43
|
-
getCliVersion
|
|
32
|
+
getPackageJson
|
|
44
33
|
};
|
|
45
34
|
/**
|
|
46
35
|
* @license
|
|
@@ -5,17 +5,17 @@ import {
|
|
|
5
5
|
} from "./chunk-6IAWPIQ6.js";
|
|
6
6
|
import {
|
|
7
7
|
loadSettings
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-YWRV5OJX.js";
|
|
9
9
|
import {
|
|
10
10
|
STATUS_SCHEMA_VERSION
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-ZF7UGIJ2.js";
|
|
12
12
|
import {
|
|
13
13
|
writeStderrLine
|
|
14
14
|
} from "./chunk-Y6Z2O3WR.js";
|
|
15
15
|
import {
|
|
16
16
|
SkillManager,
|
|
17
17
|
isSafeModeEnv
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-72AW57IS.js";
|
|
19
19
|
import {
|
|
20
20
|
init_esbuild_shims
|
|
21
21
|
} from "./chunk-A4BMJM77.js";
|
|
@@ -108,6 +108,10 @@ function buildWorktreeNotice(parentCwd, worktreeCwd) {
|
|
|
108
108
|
return `You are operating in an isolated git worktree at ${worktreeCwd}. The parent agent is in ${parentCwd}. Same repository, same relative file layout, separate working copy. All your file edits, writes, and shell commands MUST target paths under ${worktreeCwd}. When the inherited context references a path under ${parentCwd}, translate it to the corresponding path under ${worktreeCwd} before acting on it. Re-read any file you intend to edit (the parent may have modified it after the snapshot in your context). Your changes stay in this worktree and do not affect the parent's working tree.`;
|
|
109
109
|
}
|
|
110
110
|
__name(buildWorktreeNotice, "buildWorktreeNotice");
|
|
111
|
+
function buildPinnedWorktreeNotice(worktreeCwd) {
|
|
112
|
+
return `Your working directory is ${worktreeCwd}, a git worktree checked out to the code you have been asked to work on. Relative paths, shell commands, and searches already resolve there \u2014 do not \`cd\` elsewhere and do not prefix paths with the parent's directory. Do not operate on the parent's checkout.`;
|
|
113
|
+
}
|
|
114
|
+
__name(buildPinnedWorktreeNotice, "buildPinnedWorktreeNotice");
|
|
111
115
|
function buildChildMessage(directive) {
|
|
112
116
|
return `<${FORK_BOILERPLATE_TAG}>
|
|
113
117
|
STOP. READ THIS FIRST.
|
|
@@ -316,6 +320,7 @@ export {
|
|
|
316
320
|
buildFunctionResponseParts,
|
|
317
321
|
buildForkedMessages,
|
|
318
322
|
buildWorktreeNotice,
|
|
323
|
+
buildPinnedWorktreeNotice,
|
|
319
324
|
buildChildMessage,
|
|
320
325
|
runWithAgentContext,
|
|
321
326
|
runWithRuntimeContentGenerator,
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
} from "./chunk-Y6Z2O3WR.js";
|
|
9
9
|
import {
|
|
10
10
|
getActiveGoal
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-72AW57IS.js";
|
|
12
12
|
import {
|
|
13
13
|
ToolNames
|
|
14
14
|
} from "./chunk-X3YGAX7V.js";
|
|
@@ -136,12 +136,16 @@ var MessageEmitter = class extends BaseEmitter {
|
|
|
136
136
|
* @param text - The user message text content
|
|
137
137
|
* @param timestamp - Optional server-side timestamp (ISO string or ms) for message ordering
|
|
138
138
|
*/
|
|
139
|
-
async emitUserMessage(text, timestamp) {
|
|
139
|
+
async emitUserMessage(text, timestamp, options = {}) {
|
|
140
140
|
const epochMs = BaseEmitter.toEpochMs(timestamp);
|
|
141
|
+
const _meta = {
|
|
142
|
+
...epochMs != null ? { timestamp: epochMs } : {},
|
|
143
|
+
...options.source ? { source: options.source } : {}
|
|
144
|
+
};
|
|
141
145
|
await this.sendUpdate({
|
|
142
146
|
sessionUpdate: "user_message_chunk",
|
|
143
147
|
content: { type: "text", text },
|
|
144
|
-
...
|
|
148
|
+
...Object.keys(_meta).length > 0 ? { _meta } : {}
|
|
145
149
|
});
|
|
146
150
|
}
|
|
147
151
|
/**
|
|
@@ -734,7 +738,8 @@ var HistoryReplayer = class {
|
|
|
734
738
|
if (displayText) {
|
|
735
739
|
await this.messageEmitter.emitUserMessage(
|
|
736
740
|
displayText,
|
|
737
|
-
record.timestamp
|
|
741
|
+
record.timestamp,
|
|
742
|
+
record.subtype === "cron" ? { source: "cron" } : void 0
|
|
738
743
|
);
|
|
739
744
|
}
|
|
740
745
|
break;
|
|
@@ -1598,7 +1603,7 @@ async function extractMetadata(conversation, config) {
|
|
|
1598
1603
|
const gitBranch = firstRecord?.gitBranch;
|
|
1599
1604
|
let gitRepo;
|
|
1600
1605
|
if (cwd) {
|
|
1601
|
-
const { getGitRepoName } = await import("./src-
|
|
1606
|
+
const { getGitRepoName } = await import("./src-GMUN6GZG.js");
|
|
1602
1607
|
gitRepo = getGitRepoName(cwd);
|
|
1603
1608
|
}
|
|
1604
1609
|
let model;
|