@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.
Files changed (245) hide show
  1. package/README.md +5 -1
  2. package/dist/README.md +5 -1
  3. package/dist/bundled/qc-helper/docs/features/channels/_meta.ts +1 -0
  4. package/dist/bundled/qc-helper/docs/features/channels/overview.md +23 -12
  5. package/dist/bundled/qc-helper/docs/features/channels/plugins.md +1 -0
  6. package/dist/bundled/qc-helper/docs/features/channels/wecom.md +111 -0
  7. package/dist/bundled/qc-helper/docs/features/hooks.md +36 -34
  8. package/dist/bundled/qc-helper/docs/features/memory.md +1 -1
  9. package/dist/bundled/qc-helper/docs/qwen-serve.md +17 -10
  10. package/dist/bundled/review/SKILL.md +6 -2
  11. package/dist/chunks/{MaxSizedBox-DTQF2MAY.js → MaxSizedBox-DAULPOB3.js} +13 -11
  12. package/dist/chunks/{StandaloneSessionPicker-XYO5V6IL.js → StandaloneSessionPicker-5Z7LVQ7F.js} +28 -23
  13. package/dist/chunks/{acpAgent-STMSDYGP.js → acpAgent-7JXXVE6B.js} +110 -80
  14. package/dist/chunks/{agent-C6YBZNSA.js → agent-S52M66XP.js} +8 -8
  15. package/dist/chunks/{agent-headless-65TQRHOY.js → agent-headless-47CB7RWZ.js} +8 -8
  16. package/dist/chunks/{anthropicContentGenerator-FZQAEMYK.js → anthropicContentGenerator-52G6ZA3D.js} +31 -4
  17. package/dist/chunks/{artifact-tool-H2TNPNP5.js → artifact-tool-D233YJFH.js} +25 -6
  18. package/dist/chunks/{bridge-GHGQNQRB.js → bridge-O6CZID6W.js} +17 -14
  19. package/dist/chunks/{ca-HCMB2I54.js → ca-MKD32FQL.js} +26 -1
  20. package/dist/chunks/{channel-worker-supervisor-B7MSMB5K.js → channel-worker-supervisor-NZQUOEFJ.js} +3 -3
  21. package/dist/chunks/{chunk-ZCMLUE4O.js → chunk-27A4SPWJ.js} +1 -1
  22. package/dist/chunks/{chunk-O3DVJ2JO.js → chunk-2DFYBHN4.js} +507 -64
  23. package/dist/chunks/{chunk-3SBUWSLI.js → chunk-2KQ42WGR.js} +2 -2
  24. package/dist/chunks/{chunk-PADAEB6D.js → chunk-2MZ4AYIT.js} +308 -81
  25. package/dist/chunks/chunk-332PWN27.js +19 -0
  26. package/dist/chunks/{chunk-FVMWEHWU.js → chunk-3B26UVCX.js} +114 -12
  27. package/dist/chunks/{chunk-W6RH6KHR.js → chunk-3GPVYALM.js} +4 -2
  28. package/dist/chunks/{chunk-SVK2TREP.js → chunk-3KV2TYC4.js} +1 -1
  29. package/dist/chunks/{chunk-G7ZG7CA6.js → chunk-3UP777ZS.js} +8 -7
  30. package/dist/chunks/{chunk-TYOF23VK.js → chunk-43W4YSO6.js} +1 -12
  31. package/dist/chunks/{chunk-3Y2SRVRF.js → chunk-4S7YIVL6.js} +3 -3
  32. package/dist/chunks/{chunk-VEB3NYSO.js → chunk-5MBO76SL.js} +5 -0
  33. package/dist/chunks/{chunk-6N76CE6T.js → chunk-65GWYZCU.js} +10 -5
  34. package/dist/chunks/{chunk-Z3VQSA4A.js → chunk-67JZ37FW.js} +1 -1
  35. package/dist/chunks/{chunk-FACTYQFS.js → chunk-72AW57IS.js} +5352 -4135
  36. package/dist/chunks/chunk-A2X3KLC3.js +3807 -0
  37. package/dist/chunks/chunk-A7JD2K4Z.js +28 -0
  38. package/dist/chunks/{chunk-3CRBBLJZ.js → chunk-BAC5H5F4.js} +9 -9
  39. package/dist/chunks/{chunk-46IFEQDM.js → chunk-BIO6D3EL.js} +1 -1
  40. package/dist/chunks/chunk-BLNH4ALH.js +283 -0
  41. package/dist/chunks/{chunk-GXQXFHYV.js → chunk-CBYHA7QC.js} +1 -1
  42. package/dist/chunks/{chunk-NCFY7PWS.js → chunk-CCGOFQV3.js} +51 -2
  43. package/dist/chunks/{chunk-66KNL43D.js → chunk-CD6USWHZ.js} +1 -1
  44. package/dist/chunks/{chunk-J6GMF2DO.js → chunk-CJGGW5FV.js} +66 -7
  45. package/dist/chunks/{chunk-LLVYPOQV.js → chunk-COUVVSMO.js} +2 -2
  46. package/dist/chunks/{chunk-A6XKBVOM.js → chunk-EHLC565U.js} +11 -11
  47. package/dist/chunks/{chunk-VKWGD42I.js → chunk-EKPIW37S.js} +10 -10
  48. package/dist/chunks/{chunk-DNV4FSN5.js → chunk-FBET5XZ2.js} +6 -4
  49. package/dist/chunks/{chunk-UMU5USBC.js → chunk-FNQ4NTFR.js} +14 -153
  50. package/dist/chunks/{chunk-2NL7ED5Q.js → chunk-FV7425LN.js} +22 -1
  51. package/dist/chunks/{chunk-6UBX2BIL.js → chunk-G2XMNE5I.js} +4 -4
  52. package/dist/chunks/{chunk-B34OV7K2.js → chunk-GGQQA4JW.js} +13 -0
  53. package/dist/chunks/chunk-GLE2YUPU.js +34 -0
  54. package/dist/chunks/{chunk-X265R5C6.js → chunk-GN3F6PIU.js} +1 -1
  55. package/dist/chunks/{chunk-TJS7CXNX.js → chunk-HY7JTIS2.js} +5 -5
  56. package/dist/chunks/{chunk-WSVZFWN4.js → chunk-IBY3Q3HG.js} +693 -104
  57. package/dist/chunks/{chunk-VEDR5V7H.js → chunk-ITIH3WEE.js} +8 -8
  58. package/dist/chunks/chunk-JGT7AZCW.js +168 -0
  59. package/dist/chunks/{chunk-PY6PG4BL.js → chunk-K6VOOZB4.js} +6 -5
  60. package/dist/chunks/chunk-LGFAYIKX.js +115 -0
  61. package/dist/chunks/chunk-LOJIM7ZB.js +487 -0
  62. package/dist/chunks/{chunk-FT5ASRN5.js → chunk-LRKOXGF6.js} +5 -5
  63. package/dist/chunks/{chunk-AXYGF5SX.js → chunk-LSB7QUTQ.js} +15 -9
  64. package/dist/chunks/{chunk-QUR23Z2Q.js → chunk-M6F3JCGI.js} +2 -2
  65. package/dist/chunks/{chunk-DH7XPKJV.js → chunk-MCAFUCA2.js} +5 -5
  66. package/dist/chunks/{chunk-SWHGVEH5.js → chunk-O2JNBKLL.js} +1 -1
  67. package/dist/chunks/{chunk-4RQIB5UZ.js → chunk-O2YT7VB4.js} +0 -34
  68. package/dist/chunks/{chunk-4KJ2BPIT.js → chunk-OACJLMLD.js} +2 -38
  69. package/dist/chunks/{chunk-VQZSRYKB.js → chunk-OFGYDQPN.js} +423 -61
  70. package/dist/chunks/{chunk-5XZ6FOTY.js → chunk-ONGYTDFO.js} +1 -1
  71. package/dist/chunks/{chunk-RTCBBRJK.js → chunk-PBLEEGVC.js} +20 -8
  72. package/dist/chunks/{chunk-4KMU5RWV.js → chunk-PJWMYPWC.js} +45 -9
  73. package/dist/chunks/{chunk-65A6UQDZ.js → chunk-QGNRRKJJ.js} +146 -54
  74. package/dist/chunks/{chunk-GSNACUDM.js → chunk-RBXWE376.js} +5 -13
  75. package/dist/chunks/{chunk-COPJASIO.js → chunk-RRI2ZIIA.js} +10 -10
  76. package/dist/chunks/{chunk-GKUVMLJH.js → chunk-RVBG4B2L.js} +3 -3
  77. package/dist/chunks/{chunk-KSPVDFE4.js → chunk-SAIILPQ3.js} +0 -3
  78. package/dist/chunks/{chunk-AKSRZ5BA.js → chunk-SBP3QB6S.js} +17 -111
  79. package/dist/chunks/{chunk-P42OA4GP.js → chunk-TBV35OBU.js} +14 -8
  80. package/dist/chunks/{chunk-HXVVCTID.js → chunk-TWKTKDO7.js} +1 -1
  81. package/dist/chunks/chunk-U3BZFGXZ.js +167 -0
  82. package/dist/chunks/chunk-UIDXQNMV.js +13 -0
  83. package/dist/chunks/{chunk-PIORL4OD.js → chunk-UKV3D7WB.js} +0 -44
  84. package/dist/chunks/{chunk-23TH7TAA.js → chunk-UNP2RK7B.js} +2 -2
  85. package/dist/chunks/{chunk-AGTU5PQ6.js → chunk-UWRIDCTO.js} +4 -4
  86. package/dist/chunks/chunk-V35MD7KN.js +13 -0
  87. package/dist/chunks/{chunk-OMO3UY57.js → chunk-VFGM47DK.js} +681 -1232
  88. package/dist/chunks/{chunk-PMMJS5AM.js → chunk-X4BBHJZ3.js} +4 -3
  89. package/dist/chunks/chunk-XMQOLL5Z.js +8223 -0
  90. package/dist/chunks/chunk-XNXVCNAT.js +88 -0
  91. package/dist/chunks/{chunk-TDGF35EN.js → chunk-XOHNA2S6.js} +1 -1
  92. package/dist/chunks/{chunk-PYWGOON5.js → chunk-XPS3UH2D.js} +1 -1
  93. package/dist/chunks/chunk-YBRZ3S2C.js +942 -0
  94. package/dist/chunks/{chunk-RFIL6REB.js → chunk-YKZIAK7C.js} +119 -29
  95. package/dist/chunks/{chunk-7SZJYZPR.js → chunk-YWRV5OJX.js} +92 -465
  96. package/dist/chunks/chunk-Z3I3QJK3.js +47 -0
  97. package/dist/chunks/{chunk-Z33V6JSK.js → chunk-ZF7UGIJ2.js} +1 -1
  98. package/dist/chunks/chunk-ZL5HN75Q.js +61 -0
  99. package/dist/chunks/{computer-use-BH6F7LI7.js → computer-use-AK2MPP4V.js} +8 -8
  100. package/dist/chunks/{contextCommand-URWDQXBJ.js → contextCommand-XXYJTFCX.js} +12 -11
  101. package/dist/chunks/{cron-create-DDYU4DIR.js → cron-create-JSXEIPVS.js} +1 -1
  102. package/dist/chunks/{cron-delete-DFKOUZWN.js → cron-delete-OIFVEPGU.js} +1 -1
  103. package/dist/chunks/{cron-list-ME5QGAR5.js → cron-list-D4ZX4IOE.js} +1 -1
  104. package/dist/chunks/{daemon-XWG2EGFX.js → daemon-WPAENEBW.js} +71 -3
  105. package/dist/chunks/{daemon-status-provider-CLNN2UY2.js → daemon-status-provider-DOBLLAUR.js} +20 -17
  106. package/dist/chunks/{de-PLLFDERI.js → de-ZFPPQVSF.js} +26 -1
  107. package/dist/chunks/{dist-LPVU3L2M.js → dist-BEXOZXLQ.js} +6 -3792
  108. package/dist/chunks/{dist-7GU63KI5.js → dist-E6UANPIM.js} +1 -1
  109. package/dist/chunks/{dist-VHBP2PIG.js → dist-H2AEJCZ5.js} +2 -2
  110. package/dist/chunks/{dist-3UDX5T4T.js → dist-O2IRTRPP.js} +1 -1
  111. package/dist/chunks/dist-SCFLLYMK.js +3217 -0
  112. package/dist/chunks/{dist-H4HHZYCI.js → dist-Z34QPAQW.js} +2 -2
  113. package/dist/chunks/{earlyInputCapture-SFINSVH2.js → earlyInputCapture-QX7FKEPY.js} +8 -8
  114. package/dist/chunks/{edit-5OJRPFGZ.js → edit-MNTA2GNC.js} +9 -9
  115. package/dist/chunks/{en-AXARKOWO.js → en-N4EPZAQI.js} +31 -2
  116. package/dist/chunks/{enter-worktree-HK54JBSR.js → enter-worktree-WAG3SZ2O.js} +8 -8
  117. package/dist/chunks/{enterPlanMode-5GXOH5PQ.js → enterPlanMode-THDBOOSG.js} +8 -8
  118. package/dist/chunks/environment-AE6MZDKE.js +90 -0
  119. package/dist/chunks/{errors-73SZF7O7.js → errors-ITLDJFFZ.js} +10 -10
  120. package/dist/chunks/{exit-worktree-CBX23VFX.js → exit-worktree-ENFBD2E5.js} +8 -8
  121. package/dist/chunks/{exitPlanMode-HADS7AAV.js → exitPlanMode-HOSNRC22.js} +8 -8
  122. package/dist/chunks/{fast-path-3QQW3W6W.js → fast-path-CDB4XPSL.js} +12 -3
  123. package/dist/chunks/{fast-path-settings-RCRXH2JG.js → fast-path-settings-7RIFI3PK.js} +3 -2
  124. package/dist/chunks/{fr-MBMNQSQ6.js → fr-5WWMY53B.js} +30 -1
  125. package/dist/chunks/{gemini-Q4KKJMFH.js → gemini-DR4ABGLP.js} +438 -265
  126. package/dist/chunks/{geminiContentGenerator-SBKWTYFU.js → geminiContentGenerator-GGRSUJG6.js} +1 -1
  127. package/dist/chunks/{glob-ORVXVDJJ.js → glob-S3ESYOFY.js} +8 -8
  128. package/dist/chunks/{grep-TMSN6VOF.js → grep-WVRBUHNE.js} +8 -8
  129. package/dist/chunks/handleAutoUpdate-K73DXUO2.js +65 -0
  130. package/dist/chunks/{initializer-NFO725XQ.js → initializer-O2E3RKOG.js} +17 -13
  131. package/dist/chunks/{ja-HFV5QCHR.js → ja-CUHZOLEJ.js} +30 -1
  132. package/dist/chunks/{list-NP6QTWKD.js → list-7HRANYR2.js} +17 -15
  133. package/dist/chunks/{loadedSettingsAdapter-5PXZC4ZO.js → loadedSettingsAdapter-DC3DUNGS.js} +15 -13
  134. package/dist/chunks/{loop-wakeup-ZW5P6VPY.js → loop-wakeup-OHWEMFP5.js} +2 -2
  135. package/dist/chunks/{ls-L654WOAT.js → ls-7MFU2QYW.js} +1 -1
  136. package/dist/chunks/{lsp-M35KE54Y.js → lsp-XHDTPTGV.js} +2 -4
  137. package/dist/chunks/{mcp-D3C75I47.js → mcp-T676RK3N.js} +15 -13
  138. package/dist/chunks/{monitor-YZFSN33Z.js → monitor-NDBNCHYZ.js} +16 -11
  139. package/dist/chunks/{nonInteractiveCli-U7ZDVLQD.js → nonInteractiveCli-TMB4TLML.js} +52 -44
  140. package/dist/chunks/{notebook-edit-LVCCTW65.js → notebook-edit-XNEWNIID.js} +9 -9
  141. package/dist/chunks/{openaiContentGenerator-G4JHCIGX.js → openaiContentGenerator-2GGVNH4J.js} +6 -6
  142. package/dist/chunks/{pidfile-O37JZBNN.js → pidfile-U6U3KDMU.js} +8 -8
  143. package/dist/chunks/{pt-2THT3YHA.js → pt-OLYN42DS.js} +26 -1
  144. package/dist/chunks/{qwenContentGenerator-SPHKYVJF.js → qwenContentGenerator-FZR3VYQW.js} +10 -10
  145. package/dist/chunks/{read-file-MBGSR77H.js → read-file-2P3MNXBM.js} +3 -3
  146. package/dist/chunks/{record-artifact-PP3LKHTS.js → record-artifact-SQ2OKRJW.js} +3 -3
  147. package/dist/chunks/{ripGrep-WMM4G6QB.js → ripGrep-W5DKLIC2.js} +8 -8
  148. package/dist/chunks/{ru-PER5I4OI.js → ru-MKM2HFDS.js} +26 -1
  149. package/dist/chunks/{run-qwen-serve-3BOGJBTS.js → run-qwen-serve-FGGLFPLG.js} +602 -143
  150. package/dist/chunks/{scheduler-KWPXUSJ4.js → scheduler-CTJIZOWI.js} +8 -8
  151. package/dist/chunks/{send-message-OA6MV4EU.js → send-message-76GT3JMC.js} +1 -1
  152. package/dist/chunks/{serve-6JXYVZRD.js → serve-2OBCBFXZ.js} +17 -14
  153. package/dist/chunks/{server-KOSHCREY.js → server-K5VEB225.js} +1394 -328
  154. package/dist/chunks/{session-5RI6JYZ6.js → session-7EVRNUXC.js} +53 -45
  155. package/dist/chunks/{settings-URS74H6Z.js → settings-7QGLUMUT.js} +24 -20
  156. package/dist/chunks/{shell-6VOD5NUH.js → shell-JSJCMSGS.js} +8 -8
  157. package/dist/chunks/{skill-MKIISOW7.js → skill-DSJPTMVO.js} +15 -5
  158. package/dist/chunks/{spawnChannel-GM7HIIDH.js → spawnChannel-ANPAH5LN.js} +10 -10
  159. package/dist/chunks/{src-X2S7YA5D.js → src-GMUN6GZG.js} +21 -9
  160. package/dist/chunks/{startInteractiveUI-REEHDN4Z.js → startInteractiveUI-ID2KOH7Z.js} +33759 -41620
  161. package/dist/chunks/{task-create-RPFZNB4B.js → task-create-WCHTB435.js} +2 -2
  162. package/dist/chunks/{task-update-5WUG5MVQ.js → task-update-XYWMHJGJ.js} +2 -2
  163. package/dist/chunks/{team-create-MQVOXIHZ.js → team-create-FNAI6F35.js} +8 -8
  164. package/dist/chunks/{team-plan-approval-H74NA3K2.js → team-plan-approval-GPAFPCI7.js} +8 -8
  165. package/dist/chunks/{theme-manager-YMC4EJQO.js → theme-manager-366AQFJU.js} +8 -8
  166. package/dist/chunks/{tool-search-VUJGWH7W.js → tool-search-GVSOY72G.js} +6 -23
  167. package/dist/chunks/total-session-admission-FUTVSIVT.js +72 -0
  168. package/dist/chunks/{trustedFolders-UMMVN4P2.js → trustedFolders-2J5VZVXS.js} +9 -9
  169. package/dist/chunks/updateCheck-BHMVBNNI.js +65 -0
  170. package/dist/chunks/{validateNonInterActiveAuth-ORA3KCZO.js → validateNonInterActiveAuth-6BNWQW3V.js} +49 -41
  171. package/dist/chunks/{version-II46VXNW.js → version-SI22TR43.js} +2 -1
  172. package/dist/chunks/{workflow-KYFPOWKK.js → workflow-EGCATP2M.js} +9 -9
  173. package/dist/chunks/{workspace-providers-status-QDQEYCHT.js → workspace-providers-status-NSB2VFSX.js} +18 -15
  174. package/dist/chunks/workspace-registry-B3YUZ2VM.js +74 -0
  175. package/dist/chunks/{workspace-service-YBVUOSP7.js → workspace-service-U23V3DKO.js} +21 -19
  176. package/dist/chunks/{workspace-skills-status-3ASS4VEE.js → workspace-skills-status-3OHN6C62.js} +16 -14
  177. package/dist/chunks/{write-file-7ZHZO4K5.js → write-file-YJHRI5NS.js} +9 -9
  178. package/dist/chunks/{zh-RS3HZHFH.js → zh-J4F6QWQV.js} +31 -2
  179. package/dist/chunks/{zh-TW-L5GRQ4S4.js → zh-TW-XVDWOLSW.js} +31 -2
  180. package/dist/cli.js +11 -11
  181. package/dist/locales/ca.js +30 -0
  182. package/dist/locales/de.js +30 -0
  183. package/dist/locales/en.js +38 -2
  184. package/dist/locales/fr.js +36 -0
  185. package/dist/locales/ja.js +36 -0
  186. package/dist/locales/pt.js +30 -0
  187. package/dist/locales/ru.js +30 -0
  188. package/dist/locales/zh-TW.js +38 -2
  189. package/dist/locales/zh.js +38 -2
  190. package/dist/package.json +3 -3
  191. package/dist/web-shell/assets/{arc-C6tzvtOa.js → arc-BWyoJpY2.js} +1 -1
  192. package/dist/web-shell/assets/{architectureDiagram-3BPJPVTR-DSYQFGn9.js → architectureDiagram-3BPJPVTR-BT0mGrz2.js} +1 -1
  193. package/dist/web-shell/assets/{blockDiagram-GPEHLZMM-CHjBdXAD.js → blockDiagram-GPEHLZMM-BLgUWvyf.js} +1 -1
  194. package/dist/web-shell/assets/{c4Diagram-AAUBKEIU-BQzK6Yyb.js → c4Diagram-AAUBKEIU-DYx9M7oU.js} +1 -1
  195. package/dist/web-shell/assets/channel-wmPUGHtg.js +1 -0
  196. package/dist/web-shell/assets/{chunk-2J33WTMH-hpP2p3Ij.js → chunk-2J33WTMH-CfMHWbuZ.js} +1 -1
  197. package/dist/web-shell/assets/{chunk-4BX2VUAB-B5KtK1JJ.js → chunk-4BX2VUAB-B1URoqEV.js} +1 -1
  198. package/dist/web-shell/assets/{chunk-55IACEB6-BDv6Mfr2.js → chunk-55IACEB6-DAIaM4QF.js} +1 -1
  199. package/dist/web-shell/assets/{chunk-727SXJPM-BevPWfrX.js → chunk-727SXJPM-B2X34knw.js} +1 -1
  200. package/dist/web-shell/assets/{chunk-AQP2D5EJ-ChDrz2ad.js → chunk-AQP2D5EJ-Cif-zLTQ.js} +1 -1
  201. package/dist/web-shell/assets/{chunk-FMBD7UC4-ClMdVSDs.js → chunk-FMBD7UC4-H18WCXdY.js} +1 -1
  202. package/dist/web-shell/assets/{chunk-ND2GUHAM-BceV8kZS.js → chunk-ND2GUHAM-YFtetHi0.js} +1 -1
  203. package/dist/web-shell/assets/{chunk-QZHKN3VN-DtyK2wwc.js → chunk-QZHKN3VN-By2hiH3r.js} +1 -1
  204. package/dist/web-shell/assets/classDiagram-4FO5ZUOK-BA2ljEjW.js +1 -0
  205. package/dist/web-shell/assets/classDiagram-v2-Q7XG4LA2-BA2ljEjW.js +1 -0
  206. package/dist/web-shell/assets/{cose-bilkent-S5V4N54A-BGMsqwmE.js → cose-bilkent-S5V4N54A-VrcnnLZu.js} +1 -1
  207. package/dist/web-shell/assets/{dagre-BM42HDAG-C-71clpF.js → dagre-BM42HDAG-CGo-IaVV.js} +1 -1
  208. package/dist/web-shell/assets/{diagram-2AECGRRQ-WIzzlkec.js → diagram-2AECGRRQ-Dl4QjzIB.js} +1 -1
  209. package/dist/web-shell/assets/{diagram-5GNKFQAL-CtnhZUP1.js → diagram-5GNKFQAL-qMLmsO0u.js} +1 -1
  210. package/dist/web-shell/assets/{diagram-KO2AKTUF-CS_IUezp.js → diagram-KO2AKTUF-CHlmuxPI.js} +1 -1
  211. package/dist/web-shell/assets/{diagram-LMA3HP47-BQnGRwN9.js → diagram-LMA3HP47-BUwU3GwT.js} +1 -1
  212. package/dist/web-shell/assets/{diagram-OG6HWLK6-By2VIocq.js → diagram-OG6HWLK6-HEhwPDUM.js} +1 -1
  213. package/dist/web-shell/assets/{erDiagram-TEJ5UH35-Dy8WeNkr.js → erDiagram-TEJ5UH35-1n0llBmM.js} +1 -1
  214. package/dist/web-shell/assets/{flowDiagram-I6XJVG4X-Diu_4y0w.js → flowDiagram-I6XJVG4X-BN74uMnt.js} +1 -1
  215. package/dist/web-shell/assets/{ganttDiagram-6RSMTGT7-CH8euujP.js → ganttDiagram-6RSMTGT7-BoOq78i3.js} +1 -1
  216. package/dist/web-shell/assets/{gitGraphDiagram-PVQCEYII-DHiObZq1.js → gitGraphDiagram-PVQCEYII-CN8b00c8.js} +1 -1
  217. package/dist/web-shell/assets/index-CNwoO1Cn.js +783 -0
  218. package/dist/web-shell/assets/index-CWQ0z6kZ.css +5 -0
  219. package/dist/web-shell/assets/{infoDiagram-5YYISTIA-CvC9A6fh.js → infoDiagram-5YYISTIA-CCurnIna.js} +1 -1
  220. package/dist/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BK46kC4E.js → ishikawaDiagram-YF4QCWOH-AwuRqdUP.js} +1 -1
  221. package/dist/web-shell/assets/{journeyDiagram-JHISSGLW-B2TIiKq4.js → journeyDiagram-JHISSGLW-B7IICk-E.js} +1 -1
  222. package/dist/web-shell/assets/{kanban-definition-UN3LZRKU-Bh0WAulO.js → kanban-definition-UN3LZRKU-BYF0OKhx.js} +1 -1
  223. package/dist/web-shell/assets/{linear-Bxe9SHMk.js → linear-GWWguGfD.js} +1 -1
  224. package/dist/web-shell/assets/{mermaid.core-B1Pv6D5B.js → mermaid.core-JqtkxvCl.js} +5 -5
  225. package/dist/web-shell/assets/{mindmap-definition-RKZ34NQL-Bz0joLH8.js → mindmap-definition-RKZ34NQL-B0MmHsZ6.js} +1 -1
  226. package/dist/web-shell/assets/{pieDiagram-4H26LBE5-CnN4x-VS.js → pieDiagram-4H26LBE5-DhImUZLQ.js} +1 -1
  227. package/dist/web-shell/assets/{quadrantDiagram-W4KKPZXB-BYWD4xO4.js → quadrantDiagram-W4KKPZXB-DGeSC3DT.js} +1 -1
  228. package/dist/web-shell/assets/{requirementDiagram-4Y6WPE33-B4MEhI9h.js → requirementDiagram-4Y6WPE33-DkspY6Re.js} +1 -1
  229. package/dist/web-shell/assets/{sankeyDiagram-5OEKKPKP-Dk_FgKLp.js → sankeyDiagram-5OEKKPKP-CaOofS2x.js} +1 -1
  230. package/dist/web-shell/assets/{sequenceDiagram-3UESZ5HK-B4ksiBZQ.js → sequenceDiagram-3UESZ5HK-DFQ_kFnN.js} +1 -1
  231. package/dist/web-shell/assets/{stateDiagram-AJRCARHV-CYf0xSPl.js → stateDiagram-AJRCARHV-D3snw0Tz.js} +1 -1
  232. package/dist/web-shell/assets/stateDiagram-v2-BHNVJYJU-BbSm_9d0.js +1 -0
  233. package/dist/web-shell/assets/{timeline-definition-PNZ67QCA-0CXeWHNY.js → timeline-definition-PNZ67QCA-l4zH8nLM.js} +1 -1
  234. package/dist/web-shell/assets/{vennDiagram-CIIHVFJN-DHoYY9v2.js → vennDiagram-CIIHVFJN-BnRlA98M.js} +1 -1
  235. package/dist/web-shell/assets/{wardley-L42UT6IY-D_65qshr.js → wardley-L42UT6IY-BS0xUdmd.js} +1 -1
  236. package/dist/web-shell/assets/{wardleyDiagram-YWT4CUSO-Cv90x1sd.js → wardleyDiagram-YWT4CUSO-DKGBUWyQ.js} +1 -1
  237. package/dist/web-shell/assets/{xychartDiagram-2RQKCTM6-5FQCYJyh.js → xychartDiagram-2RQKCTM6-DVb2HuOB.js} +1 -1
  238. package/dist/web-shell/index.html +2 -2
  239. package/package.json +3 -2
  240. package/dist/web-shell/assets/channel-V-ZaJrA6.js +0 -1
  241. package/dist/web-shell/assets/classDiagram-4FO5ZUOK-s-H0snGT.js +0 -1
  242. package/dist/web-shell/assets/classDiagram-v2-Q7XG4LA2-s-H0snGT.js +0 -1
  243. package/dist/web-shell/assets/index-DW75jq0K.css +0 -5
  244. package/dist/web-shell/assets/index-tiCo0xbZ.js +0 -779
  245. 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-2NL7ED5Q.js";
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
- if (handleMissed) {
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 === stamp) return t;
783
+ if (stamp === void 0 || (t.lastFiredAt ?? 0) >= stamp) return t;
742
784
  changed = true;
743
- return { ...t, lastFiredAt: stamp };
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.isOwner) continue;
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
- (t) => firedAt.has(t.id) ? { ...t, lastFiredAt: firedAt.get(t.id) } : t
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-PIORL4OD.js";
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";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  runExitCleanup
5
- } from "./chunk-ZCMLUE4O.js";
5
+ } from "./chunk-27A4SPWJ.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-A4BMJM77.js";
@@ -29,7 +29,7 @@ function normalizeMaxQueuedBytes(value) {
29
29
  return value;
30
30
  }
31
31
  __name(normalizeMaxQueuedBytes, "normalizeMaxQueuedBytes");
32
- function serializedByteLength(event) {
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(serializedByteLength, "serializedByteLength");
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
- try {
127
- this.compactionEngine?.ingest(event);
128
- } catch {
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 ??= serializedByteLength(event);
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-7SZJYZPR.js";
8
+ } from "./chunk-YWRV5OJX.js";
9
9
  import {
10
10
  STATUS_SCHEMA_VERSION
11
- } from "./chunk-Z33V6JSK.js";
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-FACTYQFS.js";
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-FACTYQFS.js";
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
- ...epochMs != null && { _meta: { timestamp: epochMs } }
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-X2S7YA5D.js");
1606
+ const { getGitRepoName } = await import("./src-GMUN6GZG.js");
1602
1607
  gitRepo = getGitRepoName(cwd);
1603
1608
  }
1604
1609
  let model;
@@ -11,7 +11,7 @@ import {
11
11
  } from "./chunk-QYUE6W3T.js";
12
12
  import {
13
13
  ideContextStore
14
- } from "./chunk-FACTYQFS.js";
14
+ } from "./chunk-72AW57IS.js";
15
15
  import {
16
16
  atomicWriteFileSync
17
17
  } from "./chunk-7LTB54MK.js";