reasonix 0.49.0 → 0.50.0
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/dashboard/dist/app.css +1 -0
- package/dashboard/dist/app.js +28 -30531
- package/dashboard/dist/app.js.map +1 -1
- package/dashboard/dist/assets/KaTeX_AMS-Regular.ttf +0 -0
- package/dashboard/dist/assets/KaTeX_AMS-Regular.woff +0 -0
- package/dashboard/dist/assets/KaTeX_AMS-Regular.woff2 +0 -0
- package/dashboard/dist/assets/KaTeX_Caligraphic-Bold.ttf +0 -0
- package/dashboard/dist/assets/KaTeX_Caligraphic-Bold.woff +0 -0
- package/dashboard/dist/assets/KaTeX_Caligraphic-Bold.woff2 +0 -0
- package/dashboard/dist/assets/KaTeX_Caligraphic-Regular.ttf +0 -0
- package/dashboard/dist/assets/KaTeX_Caligraphic-Regular.woff +0 -0
- package/dashboard/dist/assets/KaTeX_Caligraphic-Regular.woff2 +0 -0
- package/dashboard/dist/assets/KaTeX_Fraktur-Bold.ttf +0 -0
- package/dashboard/dist/assets/KaTeX_Fraktur-Bold.woff +0 -0
- package/dashboard/dist/assets/KaTeX_Fraktur-Bold.woff2 +0 -0
- package/dashboard/dist/assets/KaTeX_Fraktur-Regular.ttf +0 -0
- package/dashboard/dist/assets/KaTeX_Fraktur-Regular.woff +0 -0
- package/dashboard/dist/assets/KaTeX_Fraktur-Regular.woff2 +0 -0
- package/dashboard/dist/assets/KaTeX_Main-Bold.ttf +0 -0
- package/dashboard/dist/assets/KaTeX_Main-Bold.woff +0 -0
- package/dashboard/dist/assets/KaTeX_Main-Bold.woff2 +0 -0
- package/dashboard/dist/assets/KaTeX_Main-BoldItalic.ttf +0 -0
- package/dashboard/dist/assets/KaTeX_Main-BoldItalic.woff +0 -0
- package/dashboard/dist/assets/KaTeX_Main-BoldItalic.woff2 +0 -0
- package/dashboard/dist/assets/KaTeX_Main-Italic.ttf +0 -0
- package/dashboard/dist/assets/KaTeX_Main-Italic.woff +0 -0
- package/dashboard/dist/assets/KaTeX_Main-Italic.woff2 +0 -0
- package/dashboard/dist/assets/KaTeX_Main-Regular.ttf +0 -0
- package/dashboard/dist/assets/KaTeX_Main-Regular.woff +0 -0
- package/dashboard/dist/assets/KaTeX_Main-Regular.woff2 +0 -0
- package/dashboard/dist/assets/KaTeX_Math-BoldItalic.ttf +0 -0
- package/dashboard/dist/assets/KaTeX_Math-BoldItalic.woff +0 -0
- package/dashboard/dist/assets/KaTeX_Math-BoldItalic.woff2 +0 -0
- package/dashboard/dist/assets/KaTeX_Math-Italic.ttf +0 -0
- package/dashboard/dist/assets/KaTeX_Math-Italic.woff +0 -0
- package/dashboard/dist/assets/KaTeX_Math-Italic.woff2 +0 -0
- package/dashboard/dist/assets/KaTeX_SansSerif-Bold.ttf +0 -0
- package/dashboard/dist/assets/KaTeX_SansSerif-Bold.woff +0 -0
- package/dashboard/dist/assets/KaTeX_SansSerif-Bold.woff2 +0 -0
- package/dashboard/dist/assets/KaTeX_SansSerif-Italic.ttf +0 -0
- package/dashboard/dist/assets/KaTeX_SansSerif-Italic.woff +0 -0
- package/dashboard/dist/assets/KaTeX_SansSerif-Italic.woff2 +0 -0
- package/dashboard/dist/assets/KaTeX_SansSerif-Regular.ttf +0 -0
- package/dashboard/dist/assets/KaTeX_SansSerif-Regular.woff +0 -0
- package/dashboard/dist/assets/KaTeX_SansSerif-Regular.woff2 +0 -0
- package/dashboard/dist/assets/KaTeX_Script-Regular.ttf +0 -0
- package/dashboard/dist/assets/KaTeX_Script-Regular.woff +0 -0
- package/dashboard/dist/assets/KaTeX_Script-Regular.woff2 +0 -0
- package/dashboard/dist/assets/KaTeX_Size1-Regular.ttf +0 -0
- package/dashboard/dist/assets/KaTeX_Size1-Regular.woff +0 -0
- package/dashboard/dist/assets/KaTeX_Size1-Regular.woff2 +0 -0
- package/dashboard/dist/assets/KaTeX_Size2-Regular.ttf +0 -0
- package/dashboard/dist/assets/KaTeX_Size2-Regular.woff +0 -0
- package/dashboard/dist/assets/KaTeX_Size2-Regular.woff2 +0 -0
- package/dashboard/dist/assets/KaTeX_Size3-Regular.ttf +0 -0
- package/dashboard/dist/assets/KaTeX_Size3-Regular.woff +0 -0
- package/dashboard/dist/assets/KaTeX_Size4-Regular.ttf +0 -0
- package/dashboard/dist/assets/KaTeX_Size4-Regular.woff +0 -0
- package/dashboard/dist/assets/KaTeX_Size4-Regular.woff2 +0 -0
- package/dashboard/dist/assets/KaTeX_Typewriter-Regular.ttf +0 -0
- package/dashboard/dist/assets/KaTeX_Typewriter-Regular.woff +0 -0
- package/dashboard/dist/assets/KaTeX_Typewriter-Regular.woff2 +0 -0
- package/dashboard/dist/assets/geist-cyrillic-400-normal.woff +0 -0
- package/dashboard/dist/assets/geist-cyrillic-400-normal.woff2 +0 -0
- package/dashboard/dist/assets/geist-cyrillic-500-normal.woff +0 -0
- package/dashboard/dist/assets/geist-cyrillic-500-normal.woff2 +0 -0
- package/dashboard/dist/assets/geist-cyrillic-600-normal.woff +0 -0
- package/dashboard/dist/assets/geist-cyrillic-600-normal.woff2 +0 -0
- package/dashboard/dist/assets/geist-cyrillic-700-normal.woff +0 -0
- package/dashboard/dist/assets/geist-cyrillic-700-normal.woff2 +0 -0
- package/dashboard/dist/assets/geist-cyrillic-ext-500-normal.woff +0 -0
- package/dashboard/dist/assets/geist-cyrillic-ext-600-normal.woff +0 -0
- package/dashboard/dist/assets/geist-cyrillic-ext-700-normal.woff +0 -0
- package/dashboard/dist/assets/geist-latin-400-normal.woff +0 -0
- package/dashboard/dist/assets/geist-latin-400-normal.woff2 +0 -0
- package/dashboard/dist/assets/geist-latin-500-normal.woff +0 -0
- package/dashboard/dist/assets/geist-latin-500-normal.woff2 +0 -0
- package/dashboard/dist/assets/geist-latin-600-normal.woff +0 -0
- package/dashboard/dist/assets/geist-latin-600-normal.woff2 +0 -0
- package/dashboard/dist/assets/geist-latin-700-normal.woff +0 -0
- package/dashboard/dist/assets/geist-latin-700-normal.woff2 +0 -0
- package/dashboard/dist/assets/geist-latin-ext-400-normal.woff +0 -0
- package/dashboard/dist/assets/geist-latin-ext-400-normal.woff2 +0 -0
- package/dashboard/dist/assets/geist-latin-ext-500-normal.woff +0 -0
- package/dashboard/dist/assets/geist-latin-ext-500-normal.woff2 +0 -0
- package/dashboard/dist/assets/geist-latin-ext-600-normal.woff +0 -0
- package/dashboard/dist/assets/geist-latin-ext-600-normal.woff2 +0 -0
- package/dashboard/dist/assets/geist-latin-ext-700-normal.woff +0 -0
- package/dashboard/dist/assets/geist-latin-ext-700-normal.woff2 +0 -0
- package/dashboard/dist/assets/geist-mono-cyrillic-400-normal.woff +0 -0
- package/dashboard/dist/assets/geist-mono-cyrillic-400-normal.woff2 +0 -0
- package/dashboard/dist/assets/geist-mono-cyrillic-500-normal.woff +0 -0
- package/dashboard/dist/assets/geist-mono-cyrillic-500-normal.woff2 +0 -0
- package/dashboard/dist/assets/geist-mono-cyrillic-600-normal.woff +0 -0
- package/dashboard/dist/assets/geist-mono-cyrillic-600-normal.woff2 +0 -0
- package/dashboard/dist/assets/geist-mono-latin-400-normal.woff +0 -0
- package/dashboard/dist/assets/geist-mono-latin-400-normal.woff2 +0 -0
- package/dashboard/dist/assets/geist-mono-latin-500-normal.woff +0 -0
- package/dashboard/dist/assets/geist-mono-latin-500-normal.woff2 +0 -0
- package/dashboard/dist/assets/geist-mono-latin-600-normal.woff +0 -0
- package/dashboard/dist/assets/geist-mono-latin-600-normal.woff2 +0 -0
- package/dashboard/dist/assets/geist-mono-latin-ext-400-normal.woff +0 -0
- package/dashboard/dist/assets/geist-mono-latin-ext-400-normal.woff2 +0 -0
- package/dashboard/dist/assets/geist-mono-latin-ext-500-normal.woff +0 -0
- package/dashboard/dist/assets/geist-mono-latin-ext-500-normal.woff2 +0 -0
- package/dashboard/dist/assets/geist-mono-latin-ext-600-normal.woff +0 -0
- package/dashboard/dist/assets/geist-mono-latin-ext-600-normal.woff2 +0 -0
- package/dashboard/dist/assets/geist-mono-symbols2-400-normal.woff +0 -0
- package/dashboard/dist/assets/geist-mono-symbols2-500-normal.woff +0 -0
- package/dashboard/dist/assets/geist-mono-symbols2-600-normal.woff +0 -0
- package/dashboard/dist/assets/geist-mono-vietnamese-400-normal.woff +0 -0
- package/dashboard/dist/assets/geist-mono-vietnamese-500-normal.woff +0 -0
- package/dashboard/dist/assets/geist-mono-vietnamese-600-normal.woff +0 -0
- package/dashboard/dist/assets/geist-vietnamese-400-normal.woff +0 -0
- package/dashboard/dist/assets/geist-vietnamese-500-normal.woff +0 -0
- package/dashboard/dist/assets/geist-vietnamese-600-normal.woff +0 -0
- package/dashboard/dist/assets/geist-vietnamese-600-normal.woff2 +0 -0
- package/dashboard/dist/assets/geist-vietnamese-700-normal.woff +0 -0
- package/dashboard/dist/assets/inter-cyrillic-400-normal.woff +0 -0
- package/dashboard/dist/assets/inter-cyrillic-400-normal.woff2 +0 -0
- package/dashboard/dist/assets/inter-cyrillic-500-normal.woff +0 -0
- package/dashboard/dist/assets/inter-cyrillic-500-normal.woff2 +0 -0
- package/dashboard/dist/assets/inter-cyrillic-600-normal.woff +0 -0
- package/dashboard/dist/assets/inter-cyrillic-600-normal.woff2 +0 -0
- package/dashboard/dist/assets/inter-cyrillic-700-normal.woff +0 -0
- package/dashboard/dist/assets/inter-cyrillic-700-normal.woff2 +0 -0
- package/dashboard/dist/assets/inter-cyrillic-ext-400-normal.woff +0 -0
- package/dashboard/dist/assets/inter-cyrillic-ext-400-normal.woff2 +0 -0
- package/dashboard/dist/assets/inter-cyrillic-ext-500-normal.woff +0 -0
- package/dashboard/dist/assets/inter-cyrillic-ext-500-normal.woff2 +0 -0
- package/dashboard/dist/assets/inter-cyrillic-ext-600-normal.woff +0 -0
- package/dashboard/dist/assets/inter-cyrillic-ext-600-normal.woff2 +0 -0
- package/dashboard/dist/assets/inter-cyrillic-ext-700-normal.woff +0 -0
- package/dashboard/dist/assets/inter-cyrillic-ext-700-normal.woff2 +0 -0
- package/dashboard/dist/assets/inter-greek-400-normal.woff +0 -0
- package/dashboard/dist/assets/inter-greek-400-normal.woff2 +0 -0
- package/dashboard/dist/assets/inter-greek-500-normal.woff +0 -0
- package/dashboard/dist/assets/inter-greek-500-normal.woff2 +0 -0
- package/dashboard/dist/assets/inter-greek-600-normal.woff +0 -0
- package/dashboard/dist/assets/inter-greek-600-normal.woff2 +0 -0
- package/dashboard/dist/assets/inter-greek-700-normal.woff +0 -0
- package/dashboard/dist/assets/inter-greek-700-normal.woff2 +0 -0
- package/dashboard/dist/assets/inter-greek-ext-400-normal.woff +0 -0
- package/dashboard/dist/assets/inter-greek-ext-400-normal.woff2 +0 -0
- package/dashboard/dist/assets/inter-greek-ext-500-normal.woff +0 -0
- package/dashboard/dist/assets/inter-greek-ext-500-normal.woff2 +0 -0
- package/dashboard/dist/assets/inter-greek-ext-600-normal.woff +0 -0
- package/dashboard/dist/assets/inter-greek-ext-600-normal.woff2 +0 -0
- package/dashboard/dist/assets/inter-greek-ext-700-normal.woff +0 -0
- package/dashboard/dist/assets/inter-greek-ext-700-normal.woff2 +0 -0
- package/dashboard/dist/assets/inter-latin-400-normal.woff +0 -0
- package/dashboard/dist/assets/inter-latin-400-normal.woff2 +0 -0
- package/dashboard/dist/assets/inter-latin-500-normal.woff +0 -0
- package/dashboard/dist/assets/inter-latin-500-normal.woff2 +0 -0
- package/dashboard/dist/assets/inter-latin-600-normal.woff +0 -0
- package/dashboard/dist/assets/inter-latin-600-normal.woff2 +0 -0
- package/dashboard/dist/assets/inter-latin-700-normal.woff +0 -0
- package/dashboard/dist/assets/inter-latin-700-normal.woff2 +0 -0
- package/dashboard/dist/assets/inter-latin-ext-400-normal.woff +0 -0
- package/dashboard/dist/assets/inter-latin-ext-400-normal.woff2 +0 -0
- package/dashboard/dist/assets/inter-latin-ext-500-normal.woff +0 -0
- package/dashboard/dist/assets/inter-latin-ext-500-normal.woff2 +0 -0
- package/dashboard/dist/assets/inter-latin-ext-600-normal.woff +0 -0
- package/dashboard/dist/assets/inter-latin-ext-600-normal.woff2 +0 -0
- package/dashboard/dist/assets/inter-latin-ext-700-normal.woff +0 -0
- package/dashboard/dist/assets/inter-latin-ext-700-normal.woff2 +0 -0
- package/dashboard/dist/assets/inter-vietnamese-400-normal.woff +0 -0
- package/dashboard/dist/assets/inter-vietnamese-400-normal.woff2 +0 -0
- package/dashboard/dist/assets/inter-vietnamese-500-normal.woff +0 -0
- package/dashboard/dist/assets/inter-vietnamese-500-normal.woff2 +0 -0
- package/dashboard/dist/assets/inter-vietnamese-600-normal.woff +0 -0
- package/dashboard/dist/assets/inter-vietnamese-600-normal.woff2 +0 -0
- package/dashboard/dist/assets/inter-vietnamese-700-normal.woff +0 -0
- package/dashboard/dist/assets/inter-vietnamese-700-normal.woff2 +0 -0
- package/dashboard/dist/vendor-icons.js +102 -0
- package/dashboard/dist/vendor-icons.js.map +1 -0
- package/dashboard/dist/vendor-katex.css +1 -0
- package/dashboard/dist/vendor-katex.js +258 -0
- package/dashboard/dist/vendor-katex.js.map +1 -0
- package/dashboard/dist/vendor-markdown.js +36 -0
- package/dashboard/dist/vendor-markdown.js.map +1 -0
- package/dashboard/dist/vendor-prism.js +15 -0
- package/dashboard/dist/vendor-prism.js.map +1 -0
- package/dashboard/dist/vendor-react.js +50 -0
- package/dashboard/dist/vendor-react.js.map +1 -0
- package/dashboard/index.html +4 -3
- package/dist/cli/{acp-WFQIC6SO.js → acp-6B25WIFF.js} +48 -49
- package/dist/cli/acp-6B25WIFF.js.map +1 -0
- package/dist/cli/chat-7WASPB4O.js +50 -0
- package/dist/cli/{chunk-QF32ROX2.js → chunk-3KRRTLC5.js} +955 -788
- package/dist/cli/chunk-3KRRTLC5.js.map +1 -0
- package/dist/cli/{chunk-TEDWJKEI.js → chunk-3RNFYDDM.js} +11 -27
- package/dist/cli/chunk-3RNFYDDM.js.map +1 -0
- package/dist/cli/{chunk-ZWHSHFDP.js → chunk-6IUMTRFP.js} +35 -7
- package/dist/cli/chunk-6IUMTRFP.js.map +1 -0
- package/dist/cli/{chunk-GNS7BAT2.js → chunk-7WITYWKN.js} +2 -2
- package/dist/cli/{chunk-HIYTRCSW.js → chunk-7YPMTE3U.js} +65 -28
- package/dist/cli/chunk-7YPMTE3U.js.map +1 -0
- package/dist/cli/{chunk-DFX5ZH5L.js → chunk-AAHB2PFX.js} +2 -2
- package/dist/cli/{chunk-PB3MAFEI.js → chunk-AJIZ5KFK.js} +3 -3
- package/dist/cli/{chunk-U5XQDCK7.js → chunk-ALCOQP6R.js} +10 -9
- package/dist/cli/chunk-ALCOQP6R.js.map +1 -0
- package/dist/cli/{chunk-6OWJV3YW.js → chunk-CAGKEGNE.js} +1 -2
- package/dist/cli/{chunk-JNTMOX7G.js → chunk-ENFBF6HI.js} +15 -3
- package/dist/cli/chunk-ENFBF6HI.js.map +1 -0
- package/dist/cli/{chunk-J2IHQGPQ.js → chunk-EZ57UEZQ.js} +2 -2
- package/dist/cli/{chunk-QX5TWXRZ.js → chunk-FQSQFCBI.js} +41 -2
- package/dist/cli/chunk-FQSQFCBI.js.map +1 -0
- package/dist/cli/{chunk-ZAEJWKXB.js → chunk-GMSAB2TC.js} +2 -2
- package/dist/cli/{chunk-MQWO32ZD.js → chunk-GPUH2BNM.js} +123 -286
- package/dist/cli/chunk-GPUH2BNM.js.map +1 -0
- package/dist/cli/{chunk-7AST3QQ3.js → chunk-I4Q3QT4W.js} +2 -2
- package/dist/cli/{chunk-O5LIHAMP.js → chunk-I6FBSTTR.js} +3 -3
- package/dist/cli/{chunk-AWEULQG6.js → chunk-IBRTU5WO.js} +25 -15
- package/dist/cli/{chunk-AWEULQG6.js.map → chunk-IBRTU5WO.js.map} +1 -1
- package/dist/cli/{chunk-RRXUIPWG.js → chunk-IK6WWRIX.js} +1 -1
- package/dist/cli/chunk-IK6WWRIX.js.map +1 -0
- package/dist/cli/{chunk-WMTMMSXU.js → chunk-MXWPAPZW.js} +315 -233
- package/dist/cli/chunk-MXWPAPZW.js.map +1 -0
- package/dist/cli/{chunk-7JTKBJ2G.js → chunk-NLRC3DWQ.js} +3 -3
- package/dist/cli/{chunk-PXBQ6IZ7.js → chunk-OPGWCKKU.js} +2 -2
- package/dist/cli/{chunk-23ZPCIPR.js → chunk-OWA42BKS.js} +21 -20
- package/dist/cli/chunk-OWA42BKS.js.map +1 -0
- package/dist/cli/{chunk-YEF7C4XI.js → chunk-PYIZZAVQ.js} +102 -94
- package/dist/cli/chunk-PYIZZAVQ.js.map +1 -0
- package/dist/cli/{chunk-EQATK2L2.js → chunk-SVD4UPRQ.js} +4 -3
- package/dist/cli/chunk-SVD4UPRQ.js.map +1 -0
- package/dist/cli/{chunk-PEMG6CUB.js → chunk-TX652NBA.js} +2 -2
- package/dist/cli/{chunk-W46ZMNKO.js → chunk-VVMY4M7J.js} +21 -2
- package/dist/cli/chunk-VVMY4M7J.js.map +1 -0
- package/dist/cli/{chunk-TAIKVL35.js → chunk-WSBFVOCO.js} +2 -2
- package/dist/cli/{chunk-ASOLXV67.js → chunk-X2BQZQEE.js} +3 -3
- package/dist/cli/{chunk-E5WCLUIU.js → chunk-XJZWMU5P.js} +2 -2
- package/dist/cli/{chunk-MGTBP7GG.js → chunk-XWPZHWC2.js} +20 -7
- package/dist/cli/chunk-XWPZHWC2.js.map +1 -0
- package/dist/cli/{chunk-JGTX4RRQ.js → chunk-ZAXMJANP.js} +2 -2
- package/dist/cli/{code-R4IHI7SR.js → code-TBK2TASK.js} +49 -57
- package/dist/cli/code-TBK2TASK.js.map +1 -0
- package/dist/cli/{commands-DRHFCYMO.js → commands-NXTKSQTN.js} +4 -4
- package/dist/cli/{commit-AG5KB4YP.js → commit-IR5SPP7A.js} +7 -8
- package/dist/cli/commit-IR5SPP7A.js.map +1 -0
- package/dist/cli/config-XK5WQGTS.js +194 -0
- package/dist/cli/{desktop-JGL6GORA.js → desktop-5NTQBADL.js} +200 -113
- package/dist/cli/desktop-5NTQBADL.js.map +1 -0
- package/dist/cli/{diff-4Z7ETWZO.js → diff-JNYX5BSZ.js} +8 -8
- package/dist/cli/{doctor-VA3RHQLB.js → doctor-IKYLUFXX.js} +11 -11
- package/dist/cli/{events-VRYXOSKI.js → events-HSC57ONU.js} +12 -8
- package/dist/cli/{events-VRYXOSKI.js.map → events-HSC57ONU.js.map} +1 -1
- package/dist/cli/index.js +87 -84
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/{mcp-LZO4HXFA.js → mcp-BDJJWOCD.js} +3 -3
- package/dist/cli/{mcp-browse-C3GXVMYZ.js → mcp-browse-NJRZDI6V.js} +8 -8
- package/dist/cli/{mcp-inspect-ZMYUNFDS.js → mcp-inspect-Y62NWZQL.js} +7 -6
- package/dist/cli/mcp-inspect-Y62NWZQL.js.map +1 -0
- package/dist/cli/{prompt-MC3U5KRP.js → prompt-UTOIFUQC.js} +5 -5
- package/dist/cli/{prune-sessions-OEPFH4N6.js → prune-sessions-UCUD4XAP.js} +4 -4
- package/dist/cli/{replay-4TP7ZUMZ.js → replay-VVIN64MN.js} +10 -19
- package/dist/cli/replay-VVIN64MN.js.map +1 -0
- package/dist/cli/{run-6MXQYBOE.js → run-76OBDZFB.js} +28 -25
- package/dist/cli/run-76OBDZFB.js.map +1 -0
- package/dist/cli/{server-Z3IMJNNI.js → server-SZZDKTH2.js} +404 -163
- package/dist/cli/server-SZZDKTH2.js.map +1 -0
- package/dist/cli/{sessions-NXQ5SAV7.js → sessions-FZTGRCM5.js} +18 -18
- package/dist/cli/{setup-LHZELI6I.js → setup-4UNENGOE.js} +14 -40
- package/dist/cli/setup-4UNENGOE.js.map +1 -0
- package/dist/cli/{stats-SUIJ3QWY.js → stats-F4NDOD7D.js} +6 -6
- package/dist/cli/stats-F4NDOD7D.js.map +1 -0
- package/dist/cli/version-LUVTWHLL.js +33 -0
- package/dist/index.d.ts +325 -299
- package/dist/index.js +438 -528
- package/dist/index.js.map +1 -1
- package/package.json +5 -3
- package/dist/cli/acp-WFQIC6SO.js.map +0 -1
- package/dist/cli/chat-D32JGNVH.js +0 -51
- package/dist/cli/chunk-23ZPCIPR.js.map +0 -1
- package/dist/cli/chunk-EQATK2L2.js.map +0 -1
- package/dist/cli/chunk-HIYTRCSW.js.map +0 -1
- package/dist/cli/chunk-JNTMOX7G.js.map +0 -1
- package/dist/cli/chunk-LGEKVMMV.js +0 -59
- package/dist/cli/chunk-LGEKVMMV.js.map +0 -1
- package/dist/cli/chunk-MGTBP7GG.js.map +0 -1
- package/dist/cli/chunk-MQWO32ZD.js.map +0 -1
- package/dist/cli/chunk-QF32ROX2.js.map +0 -1
- package/dist/cli/chunk-QX5TWXRZ.js.map +0 -1
- package/dist/cli/chunk-RRXUIPWG.js.map +0 -1
- package/dist/cli/chunk-TEDWJKEI.js.map +0 -1
- package/dist/cli/chunk-U5XQDCK7.js.map +0 -1
- package/dist/cli/chunk-W46ZMNKO.js.map +0 -1
- package/dist/cli/chunk-WMTMMSXU.js.map +0 -1
- package/dist/cli/chunk-YEF7C4XI.js.map +0 -1
- package/dist/cli/chunk-ZWHSHFDP.js.map +0 -1
- package/dist/cli/code-R4IHI7SR.js.map +0 -1
- package/dist/cli/commit-AG5KB4YP.js.map +0 -1
- package/dist/cli/desktop-JGL6GORA.js.map +0 -1
- package/dist/cli/mcp-inspect-ZMYUNFDS.js.map +0 -1
- package/dist/cli/replay-4TP7ZUMZ.js.map +0 -1
- package/dist/cli/run-6MXQYBOE.js.map +0 -1
- package/dist/cli/server-Z3IMJNNI.js.map +0 -1
- package/dist/cli/setup-LHZELI6I.js.map +0 -1
- package/dist/cli/version-BIFONEUB.js +0 -33
- /package/dist/cli/{chat-D32JGNVH.js.map → chat-7WASPB4O.js.map} +0 -0
- /package/dist/cli/{chunk-GNS7BAT2.js.map → chunk-7WITYWKN.js.map} +0 -0
- /package/dist/cli/{chunk-DFX5ZH5L.js.map → chunk-AAHB2PFX.js.map} +0 -0
- /package/dist/cli/{chunk-PB3MAFEI.js.map → chunk-AJIZ5KFK.js.map} +0 -0
- /package/dist/cli/{chunk-6OWJV3YW.js.map → chunk-CAGKEGNE.js.map} +0 -0
- /package/dist/cli/{chunk-J2IHQGPQ.js.map → chunk-EZ57UEZQ.js.map} +0 -0
- /package/dist/cli/{chunk-ZAEJWKXB.js.map → chunk-GMSAB2TC.js.map} +0 -0
- /package/dist/cli/{chunk-7AST3QQ3.js.map → chunk-I4Q3QT4W.js.map} +0 -0
- /package/dist/cli/{chunk-O5LIHAMP.js.map → chunk-I6FBSTTR.js.map} +0 -0
- /package/dist/cli/{chunk-7JTKBJ2G.js.map → chunk-NLRC3DWQ.js.map} +0 -0
- /package/dist/cli/{chunk-PXBQ6IZ7.js.map → chunk-OPGWCKKU.js.map} +0 -0
- /package/dist/cli/{chunk-PEMG6CUB.js.map → chunk-TX652NBA.js.map} +0 -0
- /package/dist/cli/{chunk-TAIKVL35.js.map → chunk-WSBFVOCO.js.map} +0 -0
- /package/dist/cli/{chunk-ASOLXV67.js.map → chunk-X2BQZQEE.js.map} +0 -0
- /package/dist/cli/{chunk-E5WCLUIU.js.map → chunk-XJZWMU5P.js.map} +0 -0
- /package/dist/cli/{chunk-JGTX4RRQ.js.map → chunk-ZAXMJANP.js.map} +0 -0
- /package/dist/cli/{commands-DRHFCYMO.js.map → commands-NXTKSQTN.js.map} +0 -0
- /package/dist/cli/{doctor-VA3RHQLB.js.map → config-XK5WQGTS.js.map} +0 -0
- /package/dist/cli/{diff-4Z7ETWZO.js.map → diff-JNYX5BSZ.js.map} +0 -0
- /package/dist/cli/{prompt-MC3U5KRP.js.map → doctor-IKYLUFXX.js.map} +0 -0
- /package/dist/cli/{mcp-LZO4HXFA.js.map → mcp-BDJJWOCD.js.map} +0 -0
- /package/dist/cli/{mcp-browse-C3GXVMYZ.js.map → mcp-browse-NJRZDI6V.js.map} +0 -0
- /package/dist/cli/{stats-SUIJ3QWY.js.map → prompt-UTOIFUQC.js.map} +0 -0
- /package/dist/cli/{prune-sessions-OEPFH4N6.js.map → prune-sessions-UCUD4XAP.js.map} +0 -0
- /package/dist/cli/{sessions-NXQ5SAV7.js.map → sessions-FZTGRCM5.js.map} +0 -0
- /package/dist/cli/{version-BIFONEUB.js.map → version-LUVTWHLL.js.map} +0 -0
|
@@ -1,36 +1,33 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire as __cr } from 'node:module'; if (typeof globalThis.require === 'undefined') { globalThis.require = __cr(import.meta.url); }
|
|
3
3
|
import {
|
|
4
|
-
|
|
5
|
-
sanitizeMemoryName
|
|
6
|
-
} from "./chunk-O5LIHAMP.js";
|
|
7
|
-
import {
|
|
8
|
-
countTokens,
|
|
9
|
-
countTokensBounded,
|
|
10
|
-
estimateConversationTokens,
|
|
11
|
-
estimateRequestTokens
|
|
12
|
-
} from "./chunk-6OWJV3YW.js";
|
|
13
|
-
import {
|
|
14
|
-
Usage
|
|
15
|
-
} from "./chunk-J2IHQGPQ.js";
|
|
16
|
-
import {
|
|
4
|
+
COMPACTION_SUMMARY_MARKER,
|
|
17
5
|
applyEdit,
|
|
18
6
|
applyMultiEdit,
|
|
19
7
|
decodeFileBuffer,
|
|
20
8
|
encodeFile,
|
|
21
9
|
pauseGate
|
|
22
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-6IUMTRFP.js";
|
|
11
|
+
import {
|
|
12
|
+
MemoryStore,
|
|
13
|
+
sanitizeMemoryName
|
|
14
|
+
} from "./chunk-I6FBSTTR.js";
|
|
23
15
|
import {
|
|
24
16
|
NEGATIVE_CLAIM_RULE,
|
|
25
17
|
PROJECT_MEMORY_FILES,
|
|
26
18
|
PROJECT_MEMORY_MAX_CHARS,
|
|
27
19
|
TUI_FORMATTING_RULES,
|
|
28
20
|
memoryEnabled
|
|
29
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-ENFBF6HI.js";
|
|
22
|
+
import {
|
|
23
|
+
countTokens,
|
|
24
|
+
countTokensBounded,
|
|
25
|
+
estimateRequestTokens
|
|
26
|
+
} from "./chunk-CAGKEGNE.js";
|
|
30
27
|
import {
|
|
31
28
|
formatHookOutcomeMessage,
|
|
32
29
|
runHooks
|
|
33
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-AJIZ5KFK.js";
|
|
34
31
|
import {
|
|
35
32
|
ignoredByLayers,
|
|
36
33
|
loadGitignoreAt,
|
|
@@ -41,17 +38,21 @@ import {
|
|
|
41
38
|
archiveSession,
|
|
42
39
|
loadSessionMessages,
|
|
43
40
|
loadSessionMeta,
|
|
41
|
+
patchSessionMeta,
|
|
44
42
|
rewriteSession,
|
|
45
43
|
timestampSuffix
|
|
46
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-IK6WWRIX.js";
|
|
45
|
+
import {
|
|
46
|
+
Usage
|
|
47
|
+
} from "./chunk-EZ57UEZQ.js";
|
|
47
48
|
import {
|
|
48
49
|
DEEPSEEK_CONTEXT_TOKENS,
|
|
49
50
|
DEFAULT_CONTEXT_TOKENS,
|
|
50
51
|
SessionStats
|
|
51
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-FQSQFCBI.js";
|
|
52
53
|
import {
|
|
53
54
|
t
|
|
54
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-PYIZZAVQ.js";
|
|
55
56
|
import {
|
|
56
57
|
DEFAULT_INDEX_EXCLUDES,
|
|
57
58
|
ToolRateLimiter,
|
|
@@ -66,7 +67,7 @@ import {
|
|
|
66
67
|
require_picomatch,
|
|
67
68
|
webSearchEndpoint,
|
|
68
69
|
webSearchEngine
|
|
69
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-MXWPAPZW.js";
|
|
70
71
|
import {
|
|
71
72
|
__commonJS,
|
|
72
73
|
__esm,
|
|
@@ -6561,6 +6562,9 @@ function plainTextRejectedReason(name, result) {
|
|
|
6561
6562
|
if ((name === "edit_file" || name === "write_file") && /rejected this edit/i.test(result)) {
|
|
6562
6563
|
return "edit-gate";
|
|
6563
6564
|
}
|
|
6565
|
+
if ((name === "edit_file" || name === "write_file" || name === "multi_edit") && /queued \d+ edits? for review/i.test(result)) {
|
|
6566
|
+
return "edit-gate";
|
|
6567
|
+
}
|
|
6564
6568
|
if ((name === "edit_file" || name === "multi_edit") && /read_file first/i.test(result)) {
|
|
6565
6569
|
return "read-before-edit";
|
|
6566
6570
|
}
|
|
@@ -6786,12 +6790,9 @@ var HISTORY_FOLD_AGGRESSIVE_THRESHOLD = 0.78;
|
|
|
6786
6790
|
var HISTORY_FOLD_AGGRESSIVE_TAIL_FRACTION = 0.1;
|
|
6787
6791
|
var HISTORY_FOLD_MIN_SAVINGS_FRACTION = 0.3;
|
|
6788
6792
|
var FORCE_SUMMARY_THRESHOLD = 0.8;
|
|
6789
|
-
var
|
|
6790
|
-
var PREFLIGHT_MECHANICAL_TARGET_FRACTION = 0.7;
|
|
6791
|
-
var MAX_BODY_BYTES = 7e5;
|
|
6792
|
-
var MAX_BODY_BYTES_TARGET = 5e5;
|
|
6793
|
+
var TURN_START_FOLD_THRESHOLD = 0.9;
|
|
6793
6794
|
var HISTORY_FOLD_SUMMARY_TIMEOUT_MS = 15e3;
|
|
6794
|
-
var HISTORY_FOLD_MARKER =
|
|
6795
|
+
var HISTORY_FOLD_MARKER = COMPACTION_SUMMARY_MARKER;
|
|
6795
6796
|
var SKILL_PIN_MEMO_HEADER = "[Active skill memos \u2014 preserved verbatim across the fold:]";
|
|
6796
6797
|
var SKILL_PIN_REGEX = /<skill-pin name="([^"]+)">\n[\s\S]*?\n<\/skill-pin>/g;
|
|
6797
6798
|
function buildFoldSummaryInstruction(pinnedSkillNames) {
|
|
@@ -6861,28 +6862,13 @@ var ContextManager = class {
|
|
|
6861
6862
|
}
|
|
6862
6863
|
return { kind: "none", ...base };
|
|
6863
6864
|
}
|
|
6864
|
-
/**
|
|
6865
|
-
*
|
|
6866
|
-
|
|
6867
|
-
decidePreflight(messages, toolSpecs, model) {
|
|
6865
|
+
/** Turn-start estimate vs ctxMax — caller folds if the ratio crosses
|
|
6866
|
+
* TURN_START_FOLD_THRESHOLD. Replaces the old preflight/mechanical pair. */
|
|
6867
|
+
estimateTurnStart(messages, toolSpecs, model) {
|
|
6868
6868
|
const ctxMax = DEEPSEEK_CONTEXT_TOKENS[model] ?? DEFAULT_CONTEXT_TOKENS;
|
|
6869
6869
|
const estimate = estimateRequestTokens(messages, toolSpecs ?? null, true);
|
|
6870
|
-
|
|
6871
|
-
const tokensOver = estimate / ctxMax > PREFLIGHT_EMERGENCY_THRESHOLD;
|
|
6872
|
-
const bytesOver = estimateBytes > MAX_BODY_BYTES;
|
|
6873
|
-
let trigger = "none";
|
|
6874
|
-
if (tokensOver && bytesOver) trigger = "both";
|
|
6875
|
-
else if (tokensOver) trigger = "tokens";
|
|
6876
|
-
else if (bytesOver) trigger = "bytes";
|
|
6877
|
-
return {
|
|
6878
|
-
needsAction: tokensOver || bytesOver,
|
|
6879
|
-
estimateTokens: estimate,
|
|
6880
|
-
estimateBytes,
|
|
6881
|
-
ctxMax,
|
|
6882
|
-
trigger
|
|
6883
|
-
};
|
|
6870
|
+
return { estimateTokens: estimate, ctxMax, ratio: estimate / ctxMax };
|
|
6884
6871
|
}
|
|
6885
|
-
/** Replace older turns with one summary message; keep tail within keepRecentTokens budget. */
|
|
6886
6872
|
async fold(model, opts) {
|
|
6887
6873
|
const ctxMax = DEEPSEEK_CONTEXT_TOKENS[model] ?? DEFAULT_CONTEXT_TOKENS;
|
|
6888
6874
|
const tailBudget = opts?.keepRecentTokens ?? Math.floor(ctxMax * HISTORY_FOLD_TAIL_FRACTION);
|
|
@@ -6894,7 +6880,13 @@ var ContextManager = class {
|
|
|
6894
6880
|
summaryChars: 0
|
|
6895
6881
|
};
|
|
6896
6882
|
if (all.length === 0) return noop;
|
|
6897
|
-
const tokenCounts = all.map((m) =>
|
|
6883
|
+
const tokenCounts = all.map((m) => {
|
|
6884
|
+
let n = countTokensBounded(typeof m.content === "string" ? m.content : "");
|
|
6885
|
+
if (m.role === "assistant" && Array.isArray(m.tool_calls) && m.tool_calls.length > 0) {
|
|
6886
|
+
n += countTokensBounded(JSON.stringify(m.tool_calls));
|
|
6887
|
+
}
|
|
6888
|
+
return n;
|
|
6889
|
+
});
|
|
6898
6890
|
const totalTokens = tokenCounts.reduce((a, b) => a + b, 0);
|
|
6899
6891
|
let cumTokens = 0;
|
|
6900
6892
|
let boundary = all.length;
|
|
@@ -6904,6 +6896,7 @@ var ContextManager = class {
|
|
|
6904
6896
|
if (all[i].role === "user") boundary = i;
|
|
6905
6897
|
}
|
|
6906
6898
|
if (boundary <= 0) return noop;
|
|
6899
|
+
if (opts?.requireTailBoundary && boundary >= all.length) return noop;
|
|
6907
6900
|
const head = all.slice(0, boundary);
|
|
6908
6901
|
const tail = all.slice(boundary);
|
|
6909
6902
|
const headTokens = totalTokens - cumTokens;
|
|
@@ -6939,58 +6932,6 @@ ${constraints}` : "";
|
|
|
6939
6932
|
summaryChars: summary.content.length
|
|
6940
6933
|
};
|
|
6941
6934
|
}
|
|
6942
|
-
/** Pure local emergency compaction for preflight: drop oldest log entries and keep a valid tail.
|
|
6943
|
-
* Bounded by tokens AND bytes — bytes matter because DeepSeek's gateway 400s on bodies past
|
|
6944
|
-
* `MAX_BODY_BYTES` even when the token budget is far from exhausted. */
|
|
6945
|
-
mechanicalTruncate(model, opts) {
|
|
6946
|
-
const ctxMax = DEEPSEEK_CONTEXT_TOKENS[model] ?? DEFAULT_CONTEXT_TOKENS;
|
|
6947
|
-
const targetTokens = opts?.targetTokens ?? Math.floor(ctxMax * PREFLIGHT_MECHANICAL_TARGET_FRACTION);
|
|
6948
|
-
const targetBytes = opts?.targetBytes ?? MAX_BODY_BYTES_TARGET;
|
|
6949
|
-
const all = this.deps.log.toMessages();
|
|
6950
|
-
const noop = {
|
|
6951
|
-
folded: false,
|
|
6952
|
-
beforeMessages: all.length,
|
|
6953
|
-
afterMessages: all.length,
|
|
6954
|
-
summaryChars: 0
|
|
6955
|
-
};
|
|
6956
|
-
if (all.length === 0) return noop;
|
|
6957
|
-
const tokenCounts = all.map((m) => estimateConversationTokens([m], true));
|
|
6958
|
-
const byteCounts = all.map((m) => Buffer.byteLength(JSON.stringify(m), "utf8"));
|
|
6959
|
-
let latestUserBoundary = -1;
|
|
6960
|
-
for (let i = all.length - 1; i >= 0; i--) {
|
|
6961
|
-
if (all[i].role === "user") {
|
|
6962
|
-
latestUserBoundary = i;
|
|
6963
|
-
break;
|
|
6964
|
-
}
|
|
6965
|
-
}
|
|
6966
|
-
let cumTokens = 0;
|
|
6967
|
-
let cumBytes = 0;
|
|
6968
|
-
let boundary = all.length;
|
|
6969
|
-
let foundSafeBoundary = false;
|
|
6970
|
-
for (let i = all.length - 1; i >= 0; i--) {
|
|
6971
|
-
const nextTokens = cumTokens + tokenCounts[i];
|
|
6972
|
-
const nextBytes = cumBytes + byteCounts[i];
|
|
6973
|
-
if (nextTokens > targetTokens || nextBytes > targetBytes) break;
|
|
6974
|
-
cumTokens = nextTokens;
|
|
6975
|
-
cumBytes = nextBytes;
|
|
6976
|
-
if (all[i].role === "user") {
|
|
6977
|
-
boundary = i;
|
|
6978
|
-
foundSafeBoundary = true;
|
|
6979
|
-
}
|
|
6980
|
-
}
|
|
6981
|
-
if (boundary <= 0) return noop;
|
|
6982
|
-
const replacement = foundSafeBoundary ? all.slice(boundary) : opts?.allowEmpty ? [] : latestUserBoundary >= 0 ? all.slice(latestUserBoundary) : all;
|
|
6983
|
-
if (replacement.length === all.length) return noop;
|
|
6984
|
-
this.deps.log.compactInPlace(replacement);
|
|
6985
|
-
this.persistRewrite(replacement);
|
|
6986
|
-
this.deps.onLogRewrite?.();
|
|
6987
|
-
return {
|
|
6988
|
-
folded: true,
|
|
6989
|
-
beforeMessages: all.length,
|
|
6990
|
-
afterMessages: replacement.length,
|
|
6991
|
-
summaryChars: 0
|
|
6992
|
-
};
|
|
6993
|
-
}
|
|
6994
6935
|
/** Drop a trailing in-flight assistant-with-tool_calls before a forced summary. Tail-only mutation; prefix cache safe. */
|
|
6995
6936
|
trimTrailingToolCalls() {
|
|
6996
6937
|
const tail = this.deps.log.entries[this.deps.log.entries.length - 1];
|
|
@@ -7177,31 +7118,6 @@ function extractDeepSeekErrorMessage(body) {
|
|
|
7177
7118
|
return trimmed;
|
|
7178
7119
|
}
|
|
7179
7120
|
|
|
7180
|
-
// src/loop/escalation.ts
|
|
7181
|
-
var NEEDS_PRO_MARKER_PREFIX = "<<<NEEDS_PRO";
|
|
7182
|
-
var NEEDS_PRO_MARKER_RE = /^<<<NEEDS_PRO(?::\s*([^>]*))?>>>/;
|
|
7183
|
-
var NEEDS_PRO_BUFFER_CHARS = 256;
|
|
7184
|
-
function parseEscalationMarker(content) {
|
|
7185
|
-
const m = NEEDS_PRO_MARKER_RE.exec(content.trimStart());
|
|
7186
|
-
if (!m) return { matched: false };
|
|
7187
|
-
const reason = m[1]?.trim();
|
|
7188
|
-
return { matched: true, reason: reason || void 0 };
|
|
7189
|
-
}
|
|
7190
|
-
function isEscalationRequest(content) {
|
|
7191
|
-
return parseEscalationMarker(content).matched;
|
|
7192
|
-
}
|
|
7193
|
-
function looksLikePartialEscalationMarker(buf) {
|
|
7194
|
-
const t2 = buf.trimStart();
|
|
7195
|
-
if (t2.length === 0) return true;
|
|
7196
|
-
if (t2.length <= NEEDS_PRO_MARKER_PREFIX.length) {
|
|
7197
|
-
return NEEDS_PRO_MARKER_PREFIX.startsWith(t2);
|
|
7198
|
-
}
|
|
7199
|
-
if (!t2.startsWith(NEEDS_PRO_MARKER_PREFIX)) return false;
|
|
7200
|
-
const rest = t2.slice(NEEDS_PRO_MARKER_PREFIX.length);
|
|
7201
|
-
if (rest[0] !== ">" && rest[0] !== ":") return false;
|
|
7202
|
-
return true;
|
|
7203
|
-
}
|
|
7204
|
-
|
|
7205
7121
|
// src/loop/force-summary.ts
|
|
7206
7122
|
async function* forceSummaryAfterIterLimit(ctx, opts) {
|
|
7207
7123
|
try {
|
|
@@ -7736,7 +7652,6 @@ var ReadTracker = class _ReadTracker {
|
|
|
7736
7652
|
};
|
|
7737
7653
|
|
|
7738
7654
|
// src/loop.ts
|
|
7739
|
-
var ESCALATION_MODEL = "deepseek-v4-pro";
|
|
7740
7655
|
var MID_TURN_STEER_WRAPPER = "[Mid-turn steer queued by the user. Do not treat this as a new task; use it only as additional guidance for the current task after completing the current step.]";
|
|
7741
7656
|
function formatSteerUserMessage(content) {
|
|
7742
7657
|
return [MID_TURN_STEER_WRAPPER, content].join("\n");
|
|
@@ -7756,7 +7671,6 @@ var CacheFirstLoop = class {
|
|
|
7756
7671
|
model;
|
|
7757
7672
|
stream;
|
|
7758
7673
|
reasoningEffort;
|
|
7759
|
-
autoEscalate = true;
|
|
7760
7674
|
budgetUsd;
|
|
7761
7675
|
/** One-shot 80% warning latch — cleared by setBudget so a bump re-arms at the new boundary. */
|
|
7762
7676
|
_budgetWarned = false;
|
|
@@ -7772,6 +7686,7 @@ var CacheFirstLoop = class {
|
|
|
7772
7686
|
_streamPreference;
|
|
7773
7687
|
/** Threaded through HTTP + every tool dispatch so Esc cancels in-flight work, not after. */
|
|
7774
7688
|
_turnAbort = new AbortController();
|
|
7689
|
+
_discardAbortRequested = false;
|
|
7775
7690
|
/** Authoritative running-id set — UI cards consult this instead of trusting end-event delivery. Insert at dispatch entry, delete in finally. */
|
|
7776
7691
|
_inflight = new InflightSet();
|
|
7777
7692
|
/** Typeahead steer messages set by the UI; step() consumes one at each iter boundary. */
|
|
@@ -7792,8 +7707,6 @@ var CacheFirstLoop = class {
|
|
|
7792
7707
|
get steerConsumed() {
|
|
7793
7708
|
return this._steerConsumed;
|
|
7794
7709
|
}
|
|
7795
|
-
_proArmedForNextTurn = false;
|
|
7796
|
-
_escalateThisTurn = false;
|
|
7797
7710
|
_turnSelfCorrected = false;
|
|
7798
7711
|
_foldedThisTurn = false;
|
|
7799
7712
|
context;
|
|
@@ -7809,8 +7722,7 @@ var CacheFirstLoop = class {
|
|
|
7809
7722
|
this.prefix = opts.prefix;
|
|
7810
7723
|
this.tools = opts.tools ?? new ToolRegistry();
|
|
7811
7724
|
this.model = opts.model ?? "deepseek-v4-flash";
|
|
7812
|
-
this.reasoningEffort = opts.reasoningEffort ?? "
|
|
7813
|
-
if (opts.autoEscalate !== void 0) this.autoEscalate = opts.autoEscalate;
|
|
7725
|
+
this.reasoningEffort = opts.reasoningEffort ?? "high";
|
|
7814
7726
|
this.budgetUsd = typeof opts.budgetUsd === "number" && opts.budgetUsd > 0 ? opts.budgetUsd : null;
|
|
7815
7727
|
this.hooks = opts.hooks ?? [];
|
|
7816
7728
|
this.hookCwd = opts.hookCwd ?? process.cwd();
|
|
@@ -7850,6 +7762,7 @@ var CacheFirstLoop = class {
|
|
|
7850
7762
|
turnCount: meta.turnCount,
|
|
7851
7763
|
cacheHitTokens: meta.cacheHitTokens,
|
|
7852
7764
|
cacheMissTokens: meta.cacheMissTokens,
|
|
7765
|
+
totalCompletionTokens: meta.totalCompletionTokens,
|
|
7853
7766
|
lastPromptTokens: meta.lastPromptTokens
|
|
7854
7767
|
});
|
|
7855
7768
|
}
|
|
@@ -7967,35 +7880,15 @@ var CacheFirstLoop = class {
|
|
|
7967
7880
|
this.stream = opts.stream;
|
|
7968
7881
|
}
|
|
7969
7882
|
if (opts.reasoningEffort !== void 0) this.reasoningEffort = opts.reasoningEffort;
|
|
7970
|
-
if (opts.autoEscalate !== void 0) this.autoEscalate = opts.autoEscalate;
|
|
7971
7883
|
}
|
|
7972
7884
|
/** `null` disables the cap; any change re-arms the 80% warning. */
|
|
7973
7885
|
setBudget(usd) {
|
|
7974
7886
|
this.budgetUsd = typeof usd === "number" && usd > 0 ? usd : null;
|
|
7975
7887
|
this._budgetWarned = false;
|
|
7976
7888
|
}
|
|
7977
|
-
/**
|
|
7978
|
-
armProForNextTurn() {
|
|
7979
|
-
this._proArmedForNextTurn = true;
|
|
7980
|
-
}
|
|
7981
|
-
/** Cancel `/pro` arming before the next turn starts. */
|
|
7982
|
-
disarmPro() {
|
|
7983
|
-
this._proArmedForNextTurn = false;
|
|
7984
|
-
}
|
|
7985
|
-
/** UI surface — true while `/pro` is queued but hasn't fired yet. */
|
|
7986
|
-
get proArmed() {
|
|
7987
|
-
return this._proArmedForNextTurn;
|
|
7988
|
-
}
|
|
7989
|
-
/** UI surface — true while the current turn is running on pro (armed or auto-escalated). */
|
|
7990
|
-
get escalatedThisTurn() {
|
|
7991
|
-
return this._escalateThisTurn;
|
|
7992
|
-
}
|
|
7993
|
-
/** UI surface — model id of the call about to run (or running) right now, including escalation. */
|
|
7889
|
+
/** UI surface — model id of the call about to run (or running) right now. */
|
|
7994
7890
|
get currentCallModel() {
|
|
7995
|
-
return this.
|
|
7996
|
-
}
|
|
7997
|
-
modelForCurrentCall() {
|
|
7998
|
-
return this._escalateThisTurn ? ESCALATION_MODEL : this.model;
|
|
7891
|
+
return this.model;
|
|
7999
7892
|
}
|
|
8000
7893
|
/** A call counts as mutating when its definition reports `readOnly !== true` and any dynamic `readOnlyCheck` doesn't override that for these args. */
|
|
8001
7894
|
isMutating(call) {
|
|
@@ -8093,9 +7986,24 @@ ${reason}`
|
|
|
8093
7986
|
}
|
|
8094
7987
|
return healed.messages;
|
|
8095
7988
|
}
|
|
8096
|
-
abort() {
|
|
7989
|
+
abort(opts = {}) {
|
|
7990
|
+
if (opts.discardCurrentTurn) this._discardAbortRequested = true;
|
|
8097
7991
|
this._turnAbort.abort();
|
|
8098
7992
|
}
|
|
7993
|
+
resetAbortState() {
|
|
7994
|
+
this._turnAbort = new AbortController();
|
|
7995
|
+
this._discardAbortRequested = false;
|
|
7996
|
+
}
|
|
7997
|
+
discardLogFrom(index) {
|
|
7998
|
+
const preserved = this.log.entries.slice(0, index).map((m) => ({ ...m }));
|
|
7999
|
+
this.log.compactInPlace(preserved);
|
|
8000
|
+
if (this.sessionName) {
|
|
8001
|
+
try {
|
|
8002
|
+
rewriteSession(this.sessionName, preserved);
|
|
8003
|
+
} catch {
|
|
8004
|
+
}
|
|
8005
|
+
}
|
|
8006
|
+
}
|
|
8099
8007
|
/** Drop the last user message + everything after; caller re-sends. Persists to session file. */
|
|
8100
8008
|
retryLastUser() {
|
|
8101
8009
|
const entries = this.log.entries;
|
|
@@ -8178,38 +8086,54 @@ ${reason}`
|
|
|
8178
8086
|
this.scratch.reset();
|
|
8179
8087
|
this.repair.resetStorm();
|
|
8180
8088
|
this._turnSelfCorrected = false;
|
|
8181
|
-
this._escalateThisTurn = false;
|
|
8182
8089
|
this._foldedThisTurn = false;
|
|
8183
|
-
let armedConsumed = false;
|
|
8184
|
-
if (this._proArmedForNextTurn) {
|
|
8185
|
-
this._escalateThisTurn = true;
|
|
8186
|
-
this._proArmedForNextTurn = false;
|
|
8187
|
-
armedConsumed = true;
|
|
8188
|
-
}
|
|
8189
8090
|
const carryAbort = this._turnAbort.signal.aborted;
|
|
8190
8091
|
this._turnAbort = new AbortController();
|
|
8191
8092
|
if (carryAbort) this._turnAbort.abort();
|
|
8192
8093
|
const signal = this._turnAbort.signal;
|
|
8193
|
-
|
|
8194
|
-
yield {
|
|
8195
|
-
turn: this._turn,
|
|
8196
|
-
role: "warning",
|
|
8197
|
-
content: t("loop.proArmed")
|
|
8198
|
-
};
|
|
8199
|
-
}
|
|
8094
|
+
const turnStartLogIndex = this.log.length;
|
|
8200
8095
|
this.appendAndPersist({ role: "user", content: userInput });
|
|
8201
8096
|
const toolSpecs = this.prefix.tools();
|
|
8202
8097
|
let rateLimitWarningShown = false;
|
|
8203
|
-
|
|
8204
|
-
|
|
8205
|
-
|
|
8098
|
+
{
|
|
8099
|
+
const turnStart = this.context.estimateTurnStart(
|
|
8100
|
+
this.buildMessages(),
|
|
8101
|
+
this.prefix.toolSpecs,
|
|
8102
|
+
this.model
|
|
8103
|
+
);
|
|
8104
|
+
if (turnStart.ratio > TURN_START_FOLD_THRESHOLD) {
|
|
8105
|
+
yield {
|
|
8106
|
+
turn: this._turn,
|
|
8107
|
+
role: "status",
|
|
8108
|
+
content: t("loop.turnStartFoldStatus")
|
|
8109
|
+
};
|
|
8110
|
+
const result = await this.context.fold(this.model, { requireTailBoundary: true });
|
|
8111
|
+
if (result.folded) {
|
|
8112
|
+
this._foldedThisTurn = true;
|
|
8206
8113
|
yield {
|
|
8207
8114
|
turn: this._turn,
|
|
8208
8115
|
role: "warning",
|
|
8209
|
-
content: t("loop.
|
|
8116
|
+
content: t("loop.turnStartFolded", {
|
|
8117
|
+
estimate: turnStart.estimateTokens.toLocaleString(),
|
|
8118
|
+
ctxMax: turnStart.ctxMax.toLocaleString(),
|
|
8119
|
+
pct: Math.round(turnStart.ratio * 100),
|
|
8120
|
+
beforeMessages: result.beforeMessages,
|
|
8121
|
+
afterMessages: result.afterMessages
|
|
8122
|
+
})
|
|
8210
8123
|
};
|
|
8211
|
-
|
|
8212
|
-
|
|
8124
|
+
}
|
|
8125
|
+
}
|
|
8126
|
+
}
|
|
8127
|
+
for (let iter = 0; ; iter++) {
|
|
8128
|
+
if (signal.aborted) {
|
|
8129
|
+
try {
|
|
8130
|
+
const discardTurn = this._discardAbortRequested;
|
|
8131
|
+
const stoppedMsg = discardTurn ? "[aborted by user (Esc) \u2014 interrupted turn discarded. Ask again when ready.]" : "[aborted by user (Esc) \u2014 no summary produced. Ask again or /retry when ready; prior tool output is still in the log.]";
|
|
8132
|
+
if (discardTurn) {
|
|
8133
|
+
this.discardLogFrom(turnStartLogIndex);
|
|
8134
|
+
} else {
|
|
8135
|
+
this.appendAndPersist(buildSyntheticAssistantMessage(stoppedMsg, this.model));
|
|
8136
|
+
}
|
|
8213
8137
|
yield {
|
|
8214
8138
|
turn: this._turn,
|
|
8215
8139
|
role: "assistant_final",
|
|
@@ -8218,7 +8142,7 @@ ${reason}`
|
|
|
8218
8142
|
};
|
|
8219
8143
|
yield { turn: this._turn, role: "done", content: stoppedMsg };
|
|
8220
8144
|
} finally {
|
|
8221
|
-
this.
|
|
8145
|
+
this.resetAbortState();
|
|
8222
8146
|
}
|
|
8223
8147
|
this._steerQueue.length = 0;
|
|
8224
8148
|
return;
|
|
@@ -8245,51 +8169,6 @@ ${reason}`
|
|
|
8245
8169
|
content: steer
|
|
8246
8170
|
};
|
|
8247
8171
|
}
|
|
8248
|
-
{
|
|
8249
|
-
const decision2 = this.context.decidePreflight(messages, this.prefix.toolSpecs, this.model);
|
|
8250
|
-
if (decision2.needsAction) {
|
|
8251
|
-
const { estimateTokens: estimate, estimateBytes, ctxMax } = decision2;
|
|
8252
|
-
yield {
|
|
8253
|
-
turn: this._turn,
|
|
8254
|
-
role: "status",
|
|
8255
|
-
content: t("loop.preflightTruncateStatus")
|
|
8256
|
-
};
|
|
8257
|
-
const result = this.context.mechanicalTruncate(this.model, {
|
|
8258
|
-
allowEmpty: false
|
|
8259
|
-
});
|
|
8260
|
-
if (result.folded) {
|
|
8261
|
-
messages = this.buildMessages();
|
|
8262
|
-
const after = this.context.decidePreflight(messages, this.prefix.toolSpecs, this.model);
|
|
8263
|
-
const stillFull = after.needsAction;
|
|
8264
|
-
yield {
|
|
8265
|
-
turn: this._turn,
|
|
8266
|
-
role: "warning",
|
|
8267
|
-
content: t(
|
|
8268
|
-
stillFull ? "loop.preflightTruncatedStillFull" : "loop.preflightTruncated",
|
|
8269
|
-
{
|
|
8270
|
-
estimate: after.estimateTokens.toLocaleString(),
|
|
8271
|
-
ctxMax: after.ctxMax.toLocaleString(),
|
|
8272
|
-
pct: Math.round(after.estimateTokens / after.ctxMax * 100),
|
|
8273
|
-
bodyKB: Math.round(after.estimateBytes / 1024).toLocaleString(),
|
|
8274
|
-
beforeMessages: result.beforeMessages,
|
|
8275
|
-
afterMessages: result.afterMessages
|
|
8276
|
-
}
|
|
8277
|
-
)
|
|
8278
|
-
};
|
|
8279
|
-
} else {
|
|
8280
|
-
yield {
|
|
8281
|
-
turn: this._turn,
|
|
8282
|
-
role: "warning",
|
|
8283
|
-
content: t("loop.preflightNoFold", {
|
|
8284
|
-
estimate: estimate.toLocaleString(),
|
|
8285
|
-
ctxMax: ctxMax.toLocaleString(),
|
|
8286
|
-
pct: Math.round(estimate / ctxMax * 100),
|
|
8287
|
-
bodyKB: Math.round(estimateBytes / 1024).toLocaleString()
|
|
8288
|
-
})
|
|
8289
|
-
};
|
|
8290
|
-
}
|
|
8291
|
-
}
|
|
8292
|
-
}
|
|
8293
8172
|
let assistantContent = "";
|
|
8294
8173
|
let reasoningContent = "";
|
|
8295
8174
|
let toolCalls = [];
|
|
@@ -8298,10 +8177,7 @@ ${reason}`
|
|
|
8298
8177
|
if (this.stream) {
|
|
8299
8178
|
const callBuf = /* @__PURE__ */ new Map();
|
|
8300
8179
|
const readyIndices = /* @__PURE__ */ new Set();
|
|
8301
|
-
const callModel = this.
|
|
8302
|
-
const bufferForEscalation = this.autoEscalate && callModel !== ESCALATION_MODEL;
|
|
8303
|
-
let escalationBuf = "";
|
|
8304
|
-
let escalationBufFlushed = false;
|
|
8180
|
+
const callModel = this.model;
|
|
8305
8181
|
for await (const chunk of this.client.stream({
|
|
8306
8182
|
model: callModel,
|
|
8307
8183
|
messages,
|
|
@@ -8321,27 +8197,11 @@ ${reason}`
|
|
|
8321
8197
|
}
|
|
8322
8198
|
if (chunk.contentDelta) {
|
|
8323
8199
|
assistantContent += chunk.contentDelta;
|
|
8324
|
-
|
|
8325
|
-
|
|
8326
|
-
|
|
8327
|
-
|
|
8328
|
-
|
|
8329
|
-
if (escalationBuf.length >= NEEDS_PRO_BUFFER_CHARS || !looksLikePartialEscalationMarker(escalationBuf)) {
|
|
8330
|
-
escalationBufFlushed = true;
|
|
8331
|
-
yield {
|
|
8332
|
-
turn: this._turn,
|
|
8333
|
-
role: "assistant_delta",
|
|
8334
|
-
content: escalationBuf
|
|
8335
|
-
};
|
|
8336
|
-
escalationBuf = "";
|
|
8337
|
-
}
|
|
8338
|
-
} else {
|
|
8339
|
-
yield {
|
|
8340
|
-
turn: this._turn,
|
|
8341
|
-
role: "assistant_delta",
|
|
8342
|
-
content: chunk.contentDelta
|
|
8343
|
-
};
|
|
8344
|
-
}
|
|
8200
|
+
yield {
|
|
8201
|
+
turn: this._turn,
|
|
8202
|
+
role: "assistant_delta",
|
|
8203
|
+
content: chunk.contentDelta
|
|
8204
|
+
};
|
|
8345
8205
|
}
|
|
8346
8206
|
if (chunk.toolCallDelta) {
|
|
8347
8207
|
const d = chunk.toolCallDelta;
|
|
@@ -8373,17 +8233,8 @@ ${reason}`
|
|
|
8373
8233
|
if (chunk.usage) usage = chunk.usage;
|
|
8374
8234
|
}
|
|
8375
8235
|
toolCalls = [...callBuf.values()];
|
|
8376
|
-
if (bufferForEscalation && !escalationBufFlushed && escalationBuf.length > 0) {
|
|
8377
|
-
if (!isEscalationRequest(escalationBuf)) {
|
|
8378
|
-
yield {
|
|
8379
|
-
turn: this._turn,
|
|
8380
|
-
role: "assistant_delta",
|
|
8381
|
-
content: escalationBuf
|
|
8382
|
-
};
|
|
8383
|
-
}
|
|
8384
|
-
}
|
|
8385
8236
|
} else {
|
|
8386
|
-
const callModel = this.
|
|
8237
|
+
const callModel = this.model;
|
|
8387
8238
|
const resp = await this.client.chat({
|
|
8388
8239
|
model: callModel,
|
|
8389
8240
|
messages,
|
|
@@ -8399,10 +8250,11 @@ ${reason}`
|
|
|
8399
8250
|
}
|
|
8400
8251
|
} catch (err) {
|
|
8401
8252
|
if (signal.aborted) {
|
|
8253
|
+
if (this._discardAbortRequested) this.discardLogFrom(turnStartLogIndex);
|
|
8402
8254
|
try {
|
|
8403
8255
|
yield { turn: this._turn, role: "done", content: "" };
|
|
8404
8256
|
} finally {
|
|
8405
|
-
this.
|
|
8257
|
+
this.resetAbortState();
|
|
8406
8258
|
}
|
|
8407
8259
|
this._steerQueue.length = 0;
|
|
8408
8260
|
return;
|
|
@@ -8417,27 +8269,20 @@ ${reason}`
|
|
|
8417
8269
|
this._steerQueue.length = 0;
|
|
8418
8270
|
return;
|
|
8419
8271
|
}
|
|
8420
|
-
|
|
8421
|
-
|
|
8422
|
-
|
|
8423
|
-
|
|
8424
|
-
|
|
8425
|
-
|
|
8426
|
-
|
|
8427
|
-
|
|
8428
|
-
|
|
8429
|
-
|
|
8430
|
-
|
|
8431
|
-
|
|
8432
|
-
|
|
8433
|
-
iter--;
|
|
8434
|
-
continue;
|
|
8272
|
+
const turnStats = this.stats.record(this._turn, this.model, usage ?? new Usage());
|
|
8273
|
+
if (this.sessionName) {
|
|
8274
|
+
try {
|
|
8275
|
+
const last = this.stats.turns.length > 0 ? this.stats.turns[this.stats.turns.length - 1] : null;
|
|
8276
|
+
patchSessionMeta(this.sessionName, {
|
|
8277
|
+
totalCostUsd: this.stats.totalCost,
|
|
8278
|
+
cacheHitTokens: this.stats.cumulativeCacheHitTokens,
|
|
8279
|
+
cacheMissTokens: this.stats.cumulativeCacheMissTokens,
|
|
8280
|
+
totalCompletionTokens: this.stats.cumulativeCompletionTokens,
|
|
8281
|
+
lastPromptTokens: last?.usage.promptTokens
|
|
8282
|
+
});
|
|
8283
|
+
} catch {
|
|
8284
|
+
}
|
|
8435
8285
|
}
|
|
8436
|
-
const turnStats = this.stats.record(
|
|
8437
|
-
this._turn,
|
|
8438
|
-
this.modelForCurrentCall(),
|
|
8439
|
-
usage ?? new Usage()
|
|
8440
|
-
);
|
|
8441
8286
|
this.scratch.reasoning = reasoningContent || null;
|
|
8442
8287
|
const { calls: repairedCalls, report } = this.repair.process(
|
|
8443
8288
|
toolCalls,
|
|
@@ -8445,12 +8290,7 @@ ${reason}`
|
|
|
8445
8290
|
assistantContent || null
|
|
8446
8291
|
);
|
|
8447
8292
|
this.appendAndPersist(
|
|
8448
|
-
buildAssistantMessage(
|
|
8449
|
-
assistantContent,
|
|
8450
|
-
repairedCalls,
|
|
8451
|
-
this.modelForCurrentCall(),
|
|
8452
|
-
reasoningContent
|
|
8453
|
-
)
|
|
8293
|
+
buildAssistantMessage(assistantContent, repairedCalls, this.model, reasoningContent)
|
|
8454
8294
|
);
|
|
8455
8295
|
yield {
|
|
8456
8296
|
turn: this._turn,
|
|
@@ -8463,12 +8303,7 @@ ${reason}`
|
|
|
8463
8303
|
if (allSuppressed && !this._turnSelfCorrected) {
|
|
8464
8304
|
this._turnSelfCorrected = true;
|
|
8465
8305
|
this.replaceTailAssistantMessage(
|
|
8466
|
-
buildAssistantMessage(
|
|
8467
|
-
assistantContent,
|
|
8468
|
-
toolCalls,
|
|
8469
|
-
this.modelForCurrentCall(),
|
|
8470
|
-
reasoningContent
|
|
8471
|
-
)
|
|
8306
|
+
buildAssistantMessage(assistantContent, toolCalls, this.model, reasoningContent)
|
|
8472
8307
|
);
|
|
8473
8308
|
for (const call of toolCalls) {
|
|
8474
8309
|
this.appendAndPersist({
|
|
@@ -8481,6 +8316,7 @@ ${reason}`
|
|
|
8481
8316
|
yield {
|
|
8482
8317
|
turn: this._turn,
|
|
8483
8318
|
role: "warning",
|
|
8319
|
+
severity: "low",
|
|
8484
8320
|
content: t("loop.repeatToolCallWarning")
|
|
8485
8321
|
};
|
|
8486
8322
|
continue;
|
|
@@ -8491,6 +8327,7 @@ ${reason}`
|
|
|
8491
8327
|
yield {
|
|
8492
8328
|
turn: this._turn,
|
|
8493
8329
|
role: "warning",
|
|
8330
|
+
severity: allSuppressed ? "high" : "low",
|
|
8494
8331
|
content: `${phrase}${noteTail}`
|
|
8495
8332
|
};
|
|
8496
8333
|
}
|
|
@@ -12431,4 +12268,4 @@ export {
|
|
|
12431
12268
|
he/he.js:
|
|
12432
12269
|
(*! https://mths.be/he v1.2.0 by @mathias | MIT license *)
|
|
12433
12270
|
*/
|
|
12434
|
-
//# sourceMappingURL=chunk-
|
|
12271
|
+
//# sourceMappingURL=chunk-GPUH2BNM.js.map
|