@qwen-code/qwen-code 0.22.2 → 0.22.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/computer-use/SKILL.md +3 -3
- package/bundled/qc-helper/docs/configuration/settings.md +37 -36
- package/bundled/qc-helper/docs/features/channels/dws.md +2 -0
- package/bundled/qc-helper/docs/features/channels/overview.md +34 -3
- package/bundled/qc-helper/docs/features/code-review.md +3 -3
- package/bundled/qc-helper/docs/features/computer-use.md +2 -2
- package/bundled/qc-helper/docs/features/tool-use-summaries.md +1 -1
- package/bundled/qc-helper/docs/qwen-serve.md +1 -1
- package/bundled/review/SKILL.md +81 -31
- package/bundled/review/references/persistence.md +7 -3
- package/bundled/review/references/posting.md +10 -4
- package/chunks/{MaxSizedBox-X5FZSNAJ.js → MaxSizedBox-X42SXBJH.js} +33 -35
- package/chunks/{StandaloneSessionPicker-AVLI6VJP.js → StandaloneSessionPicker-2FJAOLGG.js} +51 -53
- package/chunks/{acpAgent-MXEAN54C.js → acpAgent-2ZMIJAFV.js} +268 -186
- package/chunks/{agent-PJIPDWHB.js → agent-X5WX3L2I.js} +24 -26
- package/chunks/{agent-headless-B4JVD7UK.js → agent-headless-IZM25LJA.js} +24 -26
- package/chunks/{anthropicContentGenerator-HGMBACVE.js → anthropicContentGenerator-YVTB6QX7.js} +43 -47
- package/chunks/{artifact-tool-5YT4QF7Y.js → artifact-tool-XSMPHZBT.js} +9 -1
- package/chunks/{bridge-FKZTVIS3.js → bridge-ME6QXZNA.js} +37 -39
- package/chunks/{channel-management-service-X4AZ6IXX.js → channel-management-service-HQ6KDS7C.js} +6 -6
- package/chunks/{channel-settings-store-4UFCLBBG.js → channel-settings-store-PEOI7XCG.js} +47 -44
- package/chunks/{channel-worker-group-27HMGD5S.js → channel-worker-group-6NA6BBZV.js} +5 -5
- package/chunks/{channel-worker-manager-QEGX646Z.js → channel-worker-manager-NEZ2J6RK.js} +5 -5
- package/chunks/{channel-worker-supervisor-UEW2WWCC.js → channel-worker-supervisor-FKU7DIHJ.js} +4 -4
- package/chunks/{chunk-P5GGM4KS.js → chunk-2HYKTO7V.js} +3 -3
- package/chunks/{chunk-XDFHY4R3.js → chunk-2LNNVAUV.js} +2 -2
- package/chunks/{chunk-ZFKOCECU.js → chunk-2OBKDPZZ.js} +2 -2
- package/chunks/{chunk-3DXFGHAJ.js → chunk-2OUD5T67.js} +1 -1
- package/chunks/{chunk-EOGELB3H.js → chunk-2SXSLSQE.js} +1 -1
- package/chunks/{chunk-4JWNNLPT.js → chunk-2YOHKHYR.js} +2 -2
- package/chunks/{chunk-JU4EEXC7.js → chunk-36GSQ3MM.js} +2 -2
- package/chunks/chunk-36LGBEM6.js +130 -0
- package/chunks/{chunk-H2WDGQ6D.js → chunk-3JXM2CVW.js} +1 -1
- package/chunks/{chunk-G34IR3D6.js → chunk-3SZC4VP4.js} +26 -109
- package/chunks/{chunk-HVEYF6VT.js → chunk-3WK3QDNV.js} +1 -1
- package/chunks/{chunk-5XBFCMWD.js → chunk-3XKLXHGK.js} +17 -9
- package/chunks/{chunk-SFPGAQUL.js → chunk-42IDLQWS.js} +24 -18
- package/chunks/{chunk-43GGFFLY.js → chunk-4K7KNVWH.js} +1 -1
- package/chunks/{chunk-F6FV3C5K.js → chunk-4NDLQAY2.js} +24 -272
- package/chunks/{chunk-VVW4ZNFY.js → chunk-4QHPPXK2.js} +15 -7
- package/chunks/{chunk-IJKTMLBE.js → chunk-4TT3IVGA.js} +1 -1
- package/chunks/{chunk-C6K43ZDE.js → chunk-4VPCTGH6.js} +5 -5
- package/chunks/chunk-4VQBQLIZ.js +293 -0
- package/chunks/{chunk-OIVXBW3W.js → chunk-62GQFYID.js} +1 -1
- package/chunks/{chunk-BRVWYMKV.js → chunk-6MBXY6WM.js} +1 -1
- package/chunks/{chunk-AGR5UROZ.js → chunk-6X7EU5TI.js} +17 -29
- package/chunks/{chunk-PFCQ62V4.js → chunk-6ZPDLGHN.js} +6 -6
- package/chunks/{chunk-RIEFGNTP.js → chunk-734C6JGI.js} +207 -43
- package/chunks/{chunk-FBSSIAAQ.js → chunk-73RM4POK.js} +7 -7
- package/chunks/{chunk-KGJGEEVR.js → chunk-7FA2II6K.js} +10 -1
- package/chunks/chunk-7J6OTNGO.js +424 -0
- package/chunks/{chunk-O2UN57NX.js → chunk-7LOELM2I.js} +19 -2
- package/chunks/{chunk-DIMEPKCW.js → chunk-7S226YTK.js} +1 -1
- package/chunks/{chunk-CPGJJJLU.js → chunk-7T52W4SW.js} +1 -1
- package/chunks/{chunk-5O72BNDD.js → chunk-7VMIMAVB.js} +7 -7
- package/chunks/{chunk-XRSOI3DL.js → chunk-A3LWD5MK.js} +1 -1
- package/chunks/{chunk-F7TNAPZ4.js → chunk-AIAOIFY4.js} +5 -5
- package/chunks/{chunk-4CDSK5AZ.js → chunk-AYFA7MZV.js} +2 -2
- package/chunks/{chunk-3JGZSIDA.js → chunk-B466ZSHZ.js} +1 -1
- package/chunks/{chunk-L6BZRIUL.js → chunk-B5PHIJGI.js} +182 -4
- package/chunks/{chunk-3I6UTTDX.js → chunk-BKWNKLZB.js} +19 -19
- package/chunks/{chunk-3FDFA4MZ.js → chunk-BOWFGCEU.js} +1 -1
- package/chunks/{chunk-3AFMQUTI.js → chunk-C2X7KY45.js} +1 -1
- package/chunks/{chunk-FY76G3G5.js → chunk-C3PEFRKD.js} +4 -4
- package/chunks/{chunk-FDY5RMGH.js → chunk-CFJY4DGX.js} +1 -1
- package/chunks/{chunk-CCBZDVUA.js → chunk-CIZCL2MW.js} +33 -20
- package/chunks/{chunk-LDP5OD6N.js → chunk-CLWO3B77.js} +2 -2
- package/chunks/chunk-DJBQCO2E.js +842 -0
- package/chunks/{chunk-4J657AJR.js → chunk-DJECZIJX.js} +40 -40
- package/chunks/{chunk-F5SZP77N.js → chunk-DJEZ55D4.js} +71 -65
- package/chunks/{chunk-BAJKAAOY.js → chunk-DJPASAUV.js} +3840 -1055
- package/chunks/{chunk-RUGNCYNO.js → chunk-DMLVSW7L.js} +532 -22
- package/chunks/{chunk-4FTKQNWJ.js → chunk-DYXFD5RO.js} +181 -2
- package/chunks/{chunk-PDMJ3KGS.js → chunk-EB6QRGHM.js} +1 -1
- package/chunks/{chunk-DZWPESIF.js → chunk-EFWRMA2I.js} +3 -3
- package/chunks/{chunk-4MQEPP3Y.js → chunk-EQSBPBZ3.js} +5 -119
- package/chunks/{chunk-Z7TGYN5F.js → chunk-FROAFEFB.js} +2 -2
- package/chunks/{chunk-MZS7GEC7.js → chunk-FTF2YIZ5.js} +1 -1
- package/chunks/{chunk-Z7VOMGDC.js → chunk-FTJMWDND.js} +0 -24
- package/chunks/{chunk-43UYNAWX.js → chunk-G6FECKTJ.js} +2 -2
- package/chunks/{chunk-SJ3ZUWFK.js → chunk-GBJBJ4HX.js} +4 -4
- package/chunks/{chunk-IOPCFOTF.js → chunk-GPGU4S2N.js} +2 -2
- package/chunks/{chunk-6LFJEACX.js → chunk-GVIVASYK.js} +7 -7
- package/chunks/{chunk-Z4X5MTRT.js → chunk-HCOBAG2L.js} +2 -4
- package/chunks/{chunk-A7YP63XN.js → chunk-HP5LR5HL.js} +5 -5
- package/chunks/{chunk-7JPW6IYH.js → chunk-HVC3PNVC.js} +1 -1
- package/chunks/{chunk-TRZTNIQ6.js → chunk-I6LYRJPB.js} +2 -2
- package/chunks/{chunk-E55H6BZ7.js → chunk-ICURCKIU.js} +1335 -119
- package/chunks/{chunk-4HV6HH33.js → chunk-ISKH4QX3.js} +9 -9
- package/chunks/{chunk-WKK5BQNP.js → chunk-JHYH6PYQ.js} +43 -420
- package/chunks/{chunk-6IUNAPLR.js → chunk-K5KXUXWC.js} +1 -1
- package/chunks/{chunk-JHS74YAB.js → chunk-KID24ZFN.js} +1 -1
- package/chunks/{chunk-EFUM7RVY.js → chunk-KJO2LBUK.js} +942 -16
- package/chunks/{chunk-B7CDU2SL.js → chunk-KYWTPLBJ.js} +17 -20
- package/chunks/{chunk-JSHHYW6T.js → chunk-LHBUKJG2.js} +3 -3
- package/chunks/{chunk-P2SU6ZTI.js → chunk-LUEHOUHM.js} +1 -1
- package/chunks/{chunk-66KDY3LV.js → chunk-M3QRM3DE.js} +1 -1
- package/chunks/{chunk-V4QXXQJ2.js → chunk-MF7HCQWZ.js} +2 -2
- package/chunks/{chunk-W5MJJ2V7.js → chunk-MK2GIB46.js} +1 -1
- package/chunks/{chunk-Y6LSMB6J.js → chunk-MO3FC2WT.js} +1 -1
- package/chunks/{chunk-L6YT5H34.js → chunk-MPNBVAEU.js} +4 -4
- package/chunks/{chunk-CSMI4FP5.js → chunk-MSBO7X2W.js} +1 -1
- package/chunks/{chunk-5PA6UEYA.js → chunk-MZCJWS5Y.js} +1 -1
- package/chunks/{chunk-BGXZBI5B.js → chunk-N4X7G4J2.js} +2 -1
- package/chunks/{chunk-6LFTG244.js → chunk-NMOD2FXQ.js} +15 -5
- package/chunks/{chunk-KUX5D6DK.js → chunk-NV55WWD6.js} +11330 -10971
- package/chunks/{chunk-Q26AYA62.js → chunk-OU5APVWO.js} +2 -2
- package/chunks/{chunk-2K6ORIHJ.js → chunk-P2G476QN.js} +11 -11
- package/chunks/{chunk-OIP7C4FE.js → chunk-PADPMMYM.js} +4 -4
- package/chunks/{chunk-SAH4BD2J.js → chunk-PQEISIKS.js} +67 -0
- package/chunks/{chunk-TGWAQ5RB.js → chunk-PZ66FRIC.js} +2071 -2124
- package/chunks/{chunk-7UYV53BC.js → chunk-Q2MSPKIJ.js} +1 -1
- package/chunks/{chunk-L2M46FP5.js → chunk-QYMAKPY5.js} +5 -5
- package/chunks/{chunk-JVPFTDBK.js → chunk-RFIDDFAL.js} +1 -1
- package/chunks/chunk-SEONHUS3.js +275 -0
- package/chunks/{chunk-ZGXYO7DY.js → chunk-SS4MRMKE.js} +122 -13
- package/chunks/{chunk-T32W2JHI.js → chunk-SS5SDCD3.js} +2 -2
- package/chunks/{chunk-3SGB2UHX.js → chunk-ST5MDGH3.js} +23 -11
- package/chunks/{chunk-MIIVI25Q.js → chunk-ST5V3ZOC.js} +2 -2
- package/chunks/{chunk-4K7NQDCG.js → chunk-T4EFG2P5.js} +18 -9
- package/chunks/{chunk-TWSKM647.js → chunk-T7KMERIX.js} +1 -1
- package/chunks/{chunk-77RG5SFQ.js → chunk-TEBDFQBZ.js} +1 -1
- package/chunks/{chunk-6CGL7E7G.js → chunk-TVC6HQ2U.js} +2 -2
- package/chunks/{chunk-BBWV7ONL.js → chunk-TZBSGJ6C.js} +6 -6
- package/chunks/{chunk-T3WXYEZ4.js → chunk-U54AYGEC.js} +38 -5
- package/chunks/{chunk-JCQD3INC.js → chunk-URE3QBBB.js} +1 -1
- package/chunks/{chunk-Y3QL45LS.js → chunk-V4264FEG.js} +8 -8
- package/chunks/{chunk-KEKZFOL6.js → chunk-V7EESTJV.js} +1 -1
- package/chunks/{chunk-R4PMVSR5.js → chunk-VBCPNIQD.js} +18 -20
- package/chunks/{chunk-RJC5EIKY.js → chunk-VGIFXISB.js} +3 -3
- package/chunks/{chunk-Z7FLBQPR.js → chunk-W3JH33JE.js} +7 -7
- package/chunks/{chunk-K2NQPH5D.js → chunk-WGY3AVGM.js} +3 -3
- package/chunks/{chunk-PKAYJDB3.js → chunk-WNPDGUJO.js} +21 -2
- package/chunks/{chunk-IZIVM7LZ.js → chunk-WXEA74YB.js} +1 -1
- package/chunks/{chunk-YRLW2MSX.js → chunk-XBVNNDPK.js} +11 -4
- package/chunks/{chunk-IK5BW3CS.js → chunk-XHF7WQ6B.js} +2 -2
- package/chunks/{chunk-2NYCN6F2.js → chunk-XSG6G3G6.js} +43 -26
- package/chunks/{chunk-HVQ3B7FF.js → chunk-Y5S7LBOZ.js} +43 -6
- package/chunks/{chunk-LXIBMVRN.js → chunk-YLSQLSH7.js} +13 -7
- package/chunks/{chunk-JSC3H3TD.js → chunk-ZEYFMJQA.js} +14 -6
- package/chunks/chunk-ZWJDJ6RU.js +2597 -0
- package/chunks/{chunk-QP4C6WCE.js → chunk-ZYMLPEZQ.js} +2 -2
- package/chunks/{chunk-BNMF3K5X.js → chunk-ZZMSC3RG.js} +52 -36
- package/chunks/{chunk-XDLEZ5HX.js → chunk-ZZUKP7HV.js} +1 -1
- package/chunks/{config-utils-BBOCOGZW.js → config-utils-R6M3TA34.js} +39 -39
- package/chunks/{contextCommand-EET67MQ2.js → contextCommand-ZCAP23J6.js} +36 -38
- package/chunks/{core-runtime-677KFX6Q.js → core-runtime-AXB6SK5D.js} +41 -43
- package/chunks/{create-sub-session-JKZAYZX7.js → create-sub-session-4QNE64MR.js} +34 -36
- package/chunks/{daemon-MJQUO7RA.js → daemon-3GNHB3M2.js} +495 -7
- package/chunks/{daemon-git-worktree-guard-6MVAAZZZ.js → daemon-git-worktree-guard-IVAJJWYK.js} +33 -35
- package/chunks/{daemon-status-provider-RFKZOK3S.js → daemon-status-provider-K3SJ5C2U.js} +42 -44
- package/chunks/{daemon-trust-policy-DRZPFB4Q.js → daemon-trust-policy-DOR3YG62.js} +41 -43
- package/chunks/{daemon-trust-policy-monitor-B5U6TQX5.js → daemon-trust-policy-monitor-KGGROSIV.js} +41 -43
- package/chunks/{deferred-core-runtime-BBVIOP24.js → deferred-core-runtime-WOYLUQQ7.js} +33 -35
- package/chunks/{dist-DJBNNPLN.js → dist-4WXLCBDR.js} +1 -1
- package/chunks/{dist-TJUDJTCB.js → dist-5VXFRTWU.js} +280 -48
- package/chunks/{dist-QODVOVWI.js → dist-6BPYWHVD.js} +31 -30
- package/chunks/{dist-ZBVOXSKF.js → dist-GFN5DCBX.js} +74 -65
- package/chunks/{dist-SATKXKUR.js → dist-HZNT6GQS.js} +1 -1
- package/chunks/{dist-ILDBUWDB.js → dist-LVZCXVPF.js} +1 -1
- package/chunks/{dist-7CKN54NL.js → dist-N6W6E753.js} +71 -64
- package/chunks/{dist-4Q7NTUNB.js → dist-NSV4NBPK.js} +31 -14
- package/chunks/{dist-UQUFZDIY.js → dist-SWQMYP2Q.js} +18 -16
- package/chunks/{earlyInputCapture-2JOMMNQ4.js → earlyInputCapture-OHBEVO4K.js} +33 -35
- package/chunks/{edit-BSV6YRVW.js → edit-LEQLAGPZ.js} +24 -26
- package/chunks/{enter-worktree-MQXFFPKM.js → enter-worktree-35QCAAFP.js} +3 -3
- package/chunks/{enterPlanMode-PKNF35FE.js → enterPlanMode-ONQN3WHE.js} +27 -29
- package/chunks/{environment-MOZMPUHR.js → environment-UANTR7A4.js} +37 -39
- package/chunks/{errors-DMPQVYJL.js → errors-WAK6KFBC.js} +36 -38
- package/chunks/{exit-worktree-L344UY7K.js → exit-worktree-XQD6D543.js} +3 -3
- package/chunks/{exitPlanMode-UE4FGCY4.js → exitPlanMode-UEYBG6P5.js} +24 -26
- package/chunks/{fast-path-773PV7PU.js → fast-path-WUL7UZ6H.js} +4 -4
- package/chunks/{fast-path-settings-XMFBYFUH.js → fast-path-settings-XH426LUU.js} +3 -3
- package/chunks/{glob-CZHOWUEA.js → glob-Y54QUWDY.js} +24 -26
- package/chunks/{goal-tools-YZQJXTGH.js → goal-tools-PTD3MBA7.js} +2 -1
- package/chunks/{handleAutoUpdate-SGXKTQM6.js → handleAutoUpdate-FP3NWNSG.js} +37 -39
- package/chunks/{i18n-B42HKHKH.js → i18n-INIU5X7A.js} +35 -37
- package/chunks/{image-gen-HAYOEQ4O.js → image-gen-J6FDGUZP.js} +4 -6
- package/chunks/{initializer-FB66WYR3.js → initializer-TYODV6GE.js} +41 -43
- package/chunks/{installationInfo-Y7AULNMX.js → installationInfo-AAPKYDSZ.js} +33 -35
- package/chunks/{list-2HWGSVRA.js → list-TUODDN6J.js} +44 -46
- package/chunks/{gemini-IP4FJAP5.js → llm-NSAVK5V3.js} +84 -82
- package/chunks/{geminiContentGenerator-PUNEBWJW.js → llm-content-generator-AY2QKXHE.js} +25 -25
- package/chunks/{loadedSettingsAdapter-7Y7IEI6T.js → loadedSettingsAdapter-KJCLZ3C4.js} +41 -43
- package/chunks/{loggingContentGenerator-2GGZNGLG.js → loggingContentGenerator-DSFQHXIF.js} +305 -27
- package/chunks/{managed-npm-update-5TEV2E3J.js → managed-npm-update-TSWENTK5.js} +33 -35
- package/chunks/{mcp-QGG5NMJJ.js → mcp-MWSAPFOL.js} +41 -43
- package/chunks/{monitor-FI7PY36Z.js → monitor-RW4GWJHB.js} +24 -26
- package/chunks/{nonInteractiveCli-4LO2TL72.js → nonInteractiveCli-JXKL343Q.js} +77 -78
- package/chunks/{notebook-edit-TPGMGBST.js → notebook-edit-CQNYS5OR.js} +24 -26
- package/chunks/{open-with-auth-4UI3KHUR.js → open-with-auth-YN3QZHVM.js} +1 -1
- package/chunks/{openaiContentGenerator-SUCYANUZ.js → openaiContentGenerator-J6QIF7EX.js} +13 -15
- package/chunks/{pidfile-JMF2CLMY.js → pidfile-QOIQZFT2.js} +33 -35
- package/chunks/process-registry-OAEG6WGC.js +662 -0
- package/chunks/{processUtils-IQZBYWSB.js → processUtils-GPHNANKZ.js} +2 -2
- package/chunks/{prompt-terminal-ledger-DCZO6S7C.js → prompt-terminal-ledger-FOMFTYOM.js} +34 -36
- package/chunks/{qwenContentGenerator-J4TXFGJT.js → qwenContentGenerator-WWDXPYQI.js} +28 -30
- package/chunks/{qwenOAuth2-RF33DNZW.js → qwenOAuth2-OF5WRBQT.js} +4 -6
- package/chunks/{read-file-QE2B5FTX.js → read-file-FQUQHC6N.js} +5 -5
- package/chunks/{record-artifact-RZGZBENU.js → record-artifact-VW23GS4F.js} +2 -2
- package/chunks/{report-findings-Q3SYKKW5.js → report-findings-AO5VYFLR.js} +7 -3
- package/chunks/{resumeHistoryUtils-CZ4JRDVW.js → resumeHistoryUtils-NSGF3UCB.js} +37 -39
- package/chunks/{ripGrep-R6B6HWPX.js → ripGrep-4CAT6SKV.js} +7 -7
- package/chunks/{run-qwen-serve-TPHZMSXJ.js → run-qwen-serve-5X6IDZER.js} +271 -86
- package/chunks/{runtime-TTIGSBM4.js → runtime-HK27GMPF.js} +46 -48
- package/chunks/{scheduled-tasks-QB4ZVUQS.js → scheduled-tasks-MN2ZZ5P6.js} +39 -41
- package/chunks/{scheduler-YRUG22M7.js → scheduler-WD4MHMO5.js} +35 -37
- package/chunks/{sdk-exporters-http-KCJ4ZFG7.js → sdk-exporters-http-TTU2CHBU.js} +1 -1
- package/chunks/{sdk-impl-HLSEDAEP.js → sdk-impl-UUMVYMAL.js} +10 -4
- package/chunks/{send-message-Y5I6NYAM.js → send-message-AJ4OCUBV.js} +18 -2
- package/chunks/{serve-MXXCDAQN.js → serve-2XCHPPGG.js} +41 -43
- package/chunks/{server-DFUSSSHI.js → server-GO2N5DH7.js} +4148 -3348
- package/chunks/{session-3TEHNENZ.js → session-IFNHTUBT.js} +81 -82
- package/chunks/session-pr-refresh-I3UBWMVP.js +364 -0
- package/chunks/{settings-VOZYKLTT.js → settings-L6N54CU6.js} +40 -42
- package/chunks/{shell-6RTKZVMI.js → shell-4Y5LLW6N.js} +24 -26
- package/chunks/{skill-FEOKFX26.js → skill-YOWTRAKQ.js} +58 -14
- package/chunks/{skill-settings-VA4XVYVL.js → skill-settings-ZL4JY5UE.js} +41 -43
- package/chunks/{spawnChannel-F6WVP723.js → spawnChannel-ZST6XJVJ.js} +35 -37
- package/chunks/{standalone-update-RGILUQVK.js → standalone-update-THVU3OKY.js} +36 -38
- package/chunks/{startInteractiveUI-WHJPFOGH.js → startInteractiveUI-XDFSHBZD.js} +401 -334
- package/chunks/{stdioHelpers-7A2EE64Z.js → stdioHelpers-AY6XCDY2.js} +3 -1
- package/chunks/{task-create-TMSV7RD5.js → task-create-QN4LYRSE.js} +3 -3
- package/chunks/{task-list-W55RBFRX.js → task-list-JPLGK45U.js} +2 -2
- package/chunks/{task-update-N536I4GQ.js → task-update-IWEOJFV2.js} +3 -3
- package/chunks/{team-create-QYSWCYCL.js → team-create-OOPXCDBA.js} +24 -26
- package/chunks/{team-delete-FJRFX33M.js → team-delete-RZVVSGCY.js} +2 -2
- package/chunks/{team-plan-approval-P7DAD644.js → team-plan-approval-DSX5EWAT.js} +24 -26
- package/chunks/{terminal-image-renderer-SMQE46UJ.js → terminal-image-renderer-KS25G33E.js} +33 -35
- package/chunks/{theme-manager-RFO5WWFF.js → theme-manager-YMZNG45F.js} +33 -35
- package/chunks/{tool-search-F2EMIAPV.js → tool-search-J5Q6U7DN.js} +9 -9
- package/chunks/{total-session-admission-HTVTP4BS.js → total-session-admission-PVN64JVV.js} +37 -39
- package/chunks/{trustedFolders-7OCNMUQE.js → trustedFolders-FATSC4YI.js} +35 -37
- package/chunks/{types-WYCFCEHR.js → types-HKLPXZB3.js} +1 -3
- package/chunks/{update-relaunch-4GF3OXMB.js → update-relaunch-SIKHLHVR.js} +6 -6
- package/chunks/{updateCheck-7QBDXZRT.js → updateCheck-D3YG2WCD.js} +36 -38
- package/chunks/{useAutoAcceptIndicator-UI4SNL2O.js → useAutoAcceptIndicator-ILINOSAS.js} +43 -45
- package/chunks/{validateNonInterActiveAuth-BPPA563H.js → validateNonInterActiveAuth-JUDQP6V4.js} +74 -75
- package/chunks/{version-ANP4TS6O.js → version-C63GDDWN.js} +1 -1
- package/chunks/{web-fetch-QJADSAH3.js → web-fetch-FOQZMNSC.js} +8 -10
- package/chunks/{web-search-7TTQKEKM.js → web-search-PUJTBFUC.js} +5 -7
- package/chunks/{web-shell-static-A6QMUNNV.js → web-shell-static-HNB4FDOE.js} +2 -2
- package/chunks/{workflow-5XN6XSOT.js → workflow-Y5IPINVH.js} +47 -58
- package/chunks/{workspace-providers-status-PDFZWL5Q.js → workspace-providers-status-IJ4VHFMB.js} +45 -47
- package/chunks/{workspace-registration-store-XKVW2YVH.js → workspace-registration-store-SMJWI2AI.js} +1 -1
- package/chunks/{workspace-registry-23R7XRB5.js → workspace-registry-BTGZIMPK.js} +37 -39
- package/chunks/{workspace-service-MUYO2QIC.js → workspace-service-SIN67ITC.js} +46 -51
- package/chunks/{workspace-skills-status-IKECTOOQ.js → workspace-skills-status-F3RKCUIX.js} +44 -46
- package/chunks/{workspace-trust-reconciler-KLGOB53D.js → workspace-trust-reconciler-PLIDLJZX.js} +45 -47
- package/chunks/{write-file-GGRBB5TZ.js → write-file-PAIGB33C.js} +26 -28
- package/chunks/{zoom-image-6ASG6J4C.js → zoom-image-LYQD7BQA.js} +5 -5
- package/cli.js +14 -14
- package/package.json +3 -3
- package/web-shell/assets/{abnfDiagram-VCTEODGH-uS-vtfs3.js → abnfDiagram-VCTEODGH-TRCMSA_6.js} +1 -1
- package/web-shell/assets/{arc-BSTnk5pu.js → arc-D9Uls5b3.js} +1 -1
- package/web-shell/assets/{architectureDiagram-5GKGNRK7-DCMyiqzy.js → architectureDiagram-5GKGNRK7-Bwb8jPXg.js} +1 -1
- package/web-shell/assets/{blockDiagram-NRAW4CY4-C7_gt0r1.js → blockDiagram-NRAW4CY4-DHj71TSX.js} +1 -1
- package/web-shell/assets/{c4Diagram-UCG6FXSJ-BeQg2L8B.js → c4Diagram-UCG6FXSJ-uKBBdbyr.js} +1 -1
- package/web-shell/assets/channel-CXjVLaBa.js +1 -0
- package/web-shell/assets/{chunk-2Q5K7J3B-DnV9bKBe.js → chunk-2Q5K7J3B-BZd0Phrl.js} +1 -1
- package/web-shell/assets/{chunk-5VM5RSS4-rT1GAcT7.js → chunk-5VM5RSS4-7KNeNBqN.js} +1 -1
- package/web-shell/assets/{chunk-F27PBJKO-BcgSxqGA.js → chunk-F27PBJKO-BeboS7Fi.js} +1 -1
- package/web-shell/assets/{chunk-G27WJ6UU-Bw1ZhyZq.js → chunk-G27WJ6UU-RV3JONoj.js} +1 -1
- package/web-shell/assets/{chunk-JWPE2WC7-D4iDw-96.js → chunk-JWPE2WC7-Yw9FCFsP.js} +1 -1
- package/web-shell/assets/{chunk-LCL6LL3I-D3MB3GTZ.js → chunk-LCL6LL3I-GIMnydDe.js} +1 -1
- package/web-shell/assets/{chunk-POPQ4Y6H-Cep2ndrS.js → chunk-POPQ4Y6H-Cfrux7bL.js} +1 -1
- package/web-shell/assets/{chunk-SVP7TREG-BuahMHJc.js → chunk-SVP7TREG-BlvIN0CO.js} +1 -1
- package/web-shell/assets/{chunk-XXDRQBXY-BdujIvJY.js → chunk-XXDRQBXY-DMs7Rr4t.js} +1 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-DANEijO3.js +1 -0
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-DANEijO3.js +1 -0
- package/web-shell/assets/{cose-bilkent-JH36ORCC-CGLLUbF8.js → cose-bilkent-JH36ORCC-DNGqTNwI.js} +1 -1
- package/web-shell/assets/{cynefin-OW5HDTMX-D6kDsRSh.js → cynefin-OW5HDTMX-CojMpaoH.js} +1 -1
- package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-CCy78qZx.js → cynefinDiagram-5FMLGOSQ-DF07YXGo.js} +1 -1
- package/web-shell/assets/{dagre-3AP2YEHR-D5gJuJsf.js → dagre-3AP2YEHR-17-4WtCH.js} +1 -1
- package/web-shell/assets/{diagram-S7CK7UJ4-ZwEZ5W__.js → diagram-S7CK7UJ4-G3Wuyz9m.js} +1 -1
- package/web-shell/assets/{diagram-UQ7AKVKN-B036APjv.js → diagram-UQ7AKVKN-nyWIKZ8P.js} +1 -1
- package/web-shell/assets/{diagram-VSXAHHWV-BfDJ57Fq.js → diagram-VSXAHHWV-tKHhmYSC.js} +1 -1
- package/web-shell/assets/{diagram-VX7I27RA-Wha0p5rT.js → diagram-VX7I27RA-CpDf1hYk.js} +1 -1
- package/web-shell/assets/{diagram-Z3DM3KII-L20bz2K1.js → diagram-Z3DM3KII-Cah2IFXG.js} +1 -1
- package/web-shell/assets/{ebnfDiagram-PWID7BFC-D1ZM0Cp7.js → ebnfDiagram-PWID7BFC-DNaCkgxy.js} +1 -1
- package/web-shell/assets/{erDiagram-SSCWMZ5O-CMtA19v8.js → erDiagram-SSCWMZ5O-CAdRgcf1.js} +1 -1
- package/web-shell/assets/{flowDiagram-A5DVABFB-D96m326S.js → flowDiagram-A5DVABFB-CMUJAShL.js} +1 -1
- package/web-shell/assets/{ganttDiagram-EL5Y4UJY-BuHiYG2o.js → ganttDiagram-EL5Y4UJY-o-_MUNey.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-Ck3NmkSw.js → gitGraphDiagram-WWUBYQGX-_aG-2Z7O.js} +1 -1
- package/web-shell/assets/{index-CBGz4Qjl.js → index-BK_NKxiJ.js} +1 -1
- package/web-shell/assets/index-Ci-z4zWY.js +1913 -0
- package/web-shell/assets/index-LDlXZRHA.css +36 -0
- package/web-shell/assets/{infoDiagram-RXCK75RN-B6DAOyXe.js → infoDiagram-RXCK75RN-qJPeZbGP.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-5VMMS53U-Bpg-joFo.js → ishikawaDiagram-5VMMS53U-7Om4vNo1.js} +1 -1
- package/web-shell/assets/{journeyDiagram-EYS64GPL-BclrHzGa.js → journeyDiagram-EYS64GPL-BNtXqmBW.js} +1 -1
- package/web-shell/assets/{kanban-definition-3QL26DDD-5gJzNTYG.js → kanban-definition-3QL26DDD-COgFec8P.js} +1 -1
- package/web-shell/assets/{layout-CEz_1L8z.js → layout-B9n81PC9.js} +1 -1
- package/web-shell/assets/{linear-CBjTq9Hc.js → linear-Bb6nXZQq.js} +1 -1
- package/web-shell/assets/{mermaid.core-Dzhbxx_I.js → mermaid.core-Cgrm3JVT.js} +6 -6
- package/web-shell/assets/{mindmap-definition-FBJOCRG2-DQdVqlBF.js → mindmap-definition-FBJOCRG2-TKwLTjnG.js} +1 -1
- package/web-shell/assets/{pegDiagram-XKGWAZYB-D1JZlYXL.js → pegDiagram-XKGWAZYB-BJPuvlpi.js} +1 -1
- package/web-shell/assets/{pieDiagram-E7YTZNPT-BmkpYL0w.js → pieDiagram-E7YTZNPT-D01VkNsW.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-AXDQQJYC-DRvD6co5.js → quadrantDiagram-AXDQQJYC-C4hHsiv-.js} +1 -1
- package/web-shell/assets/{railroadDiagram-O6MQD6OU-CEdjDuoo.js → railroadDiagram-O6MQD6OU-CuEO4xK2.js} +1 -1
- package/web-shell/assets/{requirementDiagram-EFPCY7ZU-BCHG-ie8.js → requirementDiagram-EFPCY7ZU-D5J_vIo5.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-P5KCCOFB-C9cZMnye.js → sankeyDiagram-P5KCCOFB-DQKY223V.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-DYHRV4zL.js → sequenceDiagram-WJ2MYXX4-D27YV_cm.js} +1 -1
- package/web-shell/assets/{sizeCapture-X5ZJPWSS-DlK21aye.js → sizeCapture-X5ZJPWSS-TJg8UcwV.js} +1 -1
- package/web-shell/assets/{stateDiagram-HBIQ2CUA-BrmZssvk.js → stateDiagram-HBIQ2CUA-CmnPzUIx.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-DNKPyrDc.js +1 -0
- package/web-shell/assets/{swimlanes-XN3QIQJK-D9xfcayR.js → swimlanes-XN3QIQJK-ByeP3_Nu.js} +1 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-ZL1HPC6w.js +8 -0
- package/web-shell/assets/{timeline-definition-24CTP7MA-D4gdDL_d.js → timeline-definition-24CTP7MA-BsFA5juR.js} +1 -1
- package/web-shell/assets/{vennDiagram-4TSXK5OY-DdhIExjI.js → vennDiagram-4TSXK5OY-DREP2ECo.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-VM6X3IG4-C9RS_Zof.js → wardleyDiagram-VM6X3IG4-iyd9lKi2.js} +1 -1
- package/web-shell/assets/{xychartDiagram-S5SC5T6Z-orRgmxWk.js → xychartDiagram-S5SC5T6Z-CVr1_j9q.js} +1 -1
- package/web-shell/index.html +3 -3
- package/chunks/chunk-7DJCPZE3.js +0 -945
- package/chunks/chunk-J2OSJFP3.js +0 -202
- package/chunks/chunk-K2OJUPOE.js +0 -78
- package/chunks/chunk-P3QQPMQA.js +0 -19
- package/chunks/process-registry-PMJOA5CO.js +0 -172
- package/web-shell/assets/channel-CENAhErJ.js +0 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-CM6FArGH.js +0 -1
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-CM6FArGH.js +0 -1
- package/web-shell/assets/index-8hXIpvo4.js +0 -1865
- package/web-shell/assets/index-DclEv91i.css +0 -5
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-B2Q7XDaE.js +0 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-DpZPOSbX.js +0 -8
|
@@ -24,14 +24,6 @@ import {
|
|
|
24
24
|
isChannelWebhookEnqueueErrorCode,
|
|
25
25
|
isChannelWebhookTaskResultMessage
|
|
26
26
|
} from "./chunk-STUJ7IMZ.js";
|
|
27
|
-
import {
|
|
28
|
-
createWorkerDiagnosticRedactor,
|
|
29
|
-
normalizeWorkerDiagnostic,
|
|
30
|
-
sanitizeWorkerDiagnostic
|
|
31
|
-
} from "./chunk-JVPFTDBK.js";
|
|
32
|
-
import {
|
|
33
|
-
channelSelectionNames
|
|
34
|
-
} from "./chunk-ALMR3E6Q.js";
|
|
35
27
|
import {
|
|
36
28
|
CHANNEL_DAEMON_WORKER_SENTINEL,
|
|
37
29
|
CHANNEL_WORKER_HEARTBEAT_INTERVAL_MS,
|
|
@@ -40,6 +32,14 @@ import {
|
|
|
40
32
|
QWEN_DAEMON_WORKSPACE_ENV,
|
|
41
33
|
QWEN_SERVER_TOKEN_ENV
|
|
42
34
|
} from "./chunk-GYTKQYDB.js";
|
|
35
|
+
import {
|
|
36
|
+
createWorkerDiagnosticRedactor,
|
|
37
|
+
normalizeWorkerDiagnostic,
|
|
38
|
+
sanitizeWorkerDiagnostic
|
|
39
|
+
} from "./chunk-RFIDDFAL.js";
|
|
40
|
+
import {
|
|
41
|
+
channelSelectionNames
|
|
42
|
+
} from "./chunk-ALMR3E6Q.js";
|
|
43
43
|
import {
|
|
44
44
|
CHANNEL_DELIVERY_IPC_TIMEOUT_MS,
|
|
45
45
|
ChannelDeliveryError,
|
|
@@ -57,7 +57,7 @@ import {
|
|
|
57
57
|
} from "./chunk-5HBA2Z7V.js";
|
|
58
58
|
import {
|
|
59
59
|
sanitizeLogText
|
|
60
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-ICURCKIU.js";
|
|
61
61
|
import {
|
|
62
62
|
init_esbuild_shims
|
|
63
63
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
isUserPromptSubmitContextPartText,
|
|
5
|
+
projectUserTranscriptForDisplay
|
|
6
|
+
} from "./chunk-7J6OTNGO.js";
|
|
3
7
|
import {
|
|
4
8
|
runSideQuery
|
|
5
9
|
} from "./chunk-BWORX6FA.js";
|
|
@@ -76,404 +80,6 @@ function validateGoalProposalReason(reason) {
|
|
|
76
80
|
}
|
|
77
81
|
__name(validateGoalProposalReason, "validateGoalProposalReason");
|
|
78
82
|
|
|
79
|
-
// packages/core/src/utils/transcript-records.ts
|
|
80
|
-
init_esbuild_shims();
|
|
81
|
-
var USER_PROMPT_SUBMIT_CONTEXT_OPEN = "<qwen:user-prompt-submit-context>";
|
|
82
|
-
var USER_PROMPT_SUBMIT_CONTEXT_CLOSE = "</qwen:user-prompt-submit-context>";
|
|
83
|
-
var TranscriptRecordPreparationError = class extends TypeError {
|
|
84
|
-
constructor(code, message) {
|
|
85
|
-
super(message);
|
|
86
|
-
this.code = code;
|
|
87
|
-
this.name = "TranscriptRecordPreparationError";
|
|
88
|
-
}
|
|
89
|
-
static {
|
|
90
|
-
__name(this, "TranscriptRecordPreparationError");
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
|
-
var RECORD_TYPES = /* @__PURE__ */ new Set([
|
|
94
|
-
"user",
|
|
95
|
-
"assistant",
|
|
96
|
-
"tool_result",
|
|
97
|
-
"system"
|
|
98
|
-
]);
|
|
99
|
-
var ARTIFACT_RECORD_SUBTYPES = /* @__PURE__ */ new Set([
|
|
100
|
-
"session_artifact_event",
|
|
101
|
-
"session_artifact_snapshot"
|
|
102
|
-
]);
|
|
103
|
-
var KNOWN_RECORD_SUBTYPES = /* @__PURE__ */ new Set([
|
|
104
|
-
"chat_compression",
|
|
105
|
-
"slash_command",
|
|
106
|
-
"ui_telemetry",
|
|
107
|
-
"at_command",
|
|
108
|
-
"attribution_snapshot",
|
|
109
|
-
"notification",
|
|
110
|
-
"cron",
|
|
111
|
-
"mid_turn_user_message",
|
|
112
|
-
"realtime_message",
|
|
113
|
-
"custom_title",
|
|
114
|
-
"parent_session",
|
|
115
|
-
"rewind",
|
|
116
|
-
"agent_bootstrap",
|
|
117
|
-
"agent_launch_prompt",
|
|
118
|
-
"agent_retry",
|
|
119
|
-
"file_history_snapshot",
|
|
120
|
-
"session_source",
|
|
121
|
-
"session_model",
|
|
122
|
-
"branch_checkpoint",
|
|
123
|
-
"goal_state",
|
|
124
|
-
"goal_runtime",
|
|
125
|
-
"turn_result",
|
|
126
|
-
...ARTIFACT_RECORD_SUBTYPES
|
|
127
|
-
]);
|
|
128
|
-
function isObjectRecord(value) {
|
|
129
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
130
|
-
}
|
|
131
|
-
__name(isObjectRecord, "isObjectRecord");
|
|
132
|
-
function wrapUserPromptSubmitContext(context) {
|
|
133
|
-
return `${USER_PROMPT_SUBMIT_CONTEXT_OPEN}
|
|
134
|
-
${context}
|
|
135
|
-
${USER_PROMPT_SUBMIT_CONTEXT_CLOSE}`;
|
|
136
|
-
}
|
|
137
|
-
__name(wrapUserPromptSubmitContext, "wrapUserPromptSubmitContext");
|
|
138
|
-
function isUserPromptSubmitContextPartText(text) {
|
|
139
|
-
const trimmed = text.trim();
|
|
140
|
-
const prefix = `${USER_PROMPT_SUBMIT_CONTEXT_OPEN}
|
|
141
|
-
`;
|
|
142
|
-
const suffix = `
|
|
143
|
-
${USER_PROMPT_SUBMIT_CONTEXT_CLOSE}`;
|
|
144
|
-
if (!trimmed.startsWith(prefix) || !trimmed.endsWith(suffix)) {
|
|
145
|
-
return false;
|
|
146
|
-
}
|
|
147
|
-
const body = trimmed.slice(prefix.length, -suffix.length);
|
|
148
|
-
return !body.includes(USER_PROMPT_SUBMIT_CONTEXT_OPEN) && !body.includes(USER_PROMPT_SUBMIT_CONTEXT_CLOSE);
|
|
149
|
-
}
|
|
150
|
-
__name(isUserPromptSubmitContextPartText, "isUserPromptSubmitContextPartText");
|
|
151
|
-
function isUserPromptSubmitContextPart(part) {
|
|
152
|
-
return isObjectRecord(part) && typeof part["text"] === "string" && isUserPromptSubmitContextPartText(part["text"]);
|
|
153
|
-
}
|
|
154
|
-
__name(isUserPromptSubmitContextPart, "isUserPromptSubmitContextPart");
|
|
155
|
-
function projectUserTranscriptForDisplay(record) {
|
|
156
|
-
const parts = record.message?.parts ?? [];
|
|
157
|
-
const hasFinalHookContextPart = parts.length > 1 && isUserPromptSubmitContextPart(parts[parts.length - 1]);
|
|
158
|
-
const payload = isObjectRecord(record.systemPayload) ? record.systemPayload : void 0;
|
|
159
|
-
const isUserPromptPayload = payload && (typeof payload["hookContext"] === "string" || hasFinalHookContextPart);
|
|
160
|
-
const displayText = isUserPromptPayload && typeof payload["displayText"] === "string" ? payload["displayText"] : void 0;
|
|
161
|
-
if (displayText !== void 0) {
|
|
162
|
-
const visibleParts = parts.filter(
|
|
163
|
-
(part) => !isObjectRecord(part) || typeof part["text"] !== "string"
|
|
164
|
-
);
|
|
165
|
-
return { displayText, parts: visibleParts };
|
|
166
|
-
}
|
|
167
|
-
if (payload === void 0 && hasFinalHookContextPart) {
|
|
168
|
-
return { displayText: void 0, parts: parts.slice(0, -1) };
|
|
169
|
-
}
|
|
170
|
-
return { displayText: void 0, parts };
|
|
171
|
-
}
|
|
172
|
-
__name(projectUserTranscriptForDisplay, "projectUserTranscriptForDisplay");
|
|
173
|
-
function diagnostic(code, message, affectsCompleteness, fields = {}, severity = affectsCompleteness ? "warning" : "info") {
|
|
174
|
-
return {
|
|
175
|
-
code,
|
|
176
|
-
severity,
|
|
177
|
-
message,
|
|
178
|
-
affectsCompleteness,
|
|
179
|
-
...fields
|
|
180
|
-
};
|
|
181
|
-
}
|
|
182
|
-
__name(diagnostic, "diagnostic");
|
|
183
|
-
function isTranscriptConversationRecord(record) {
|
|
184
|
-
return !isTranscriptArtifactRecord(record);
|
|
185
|
-
}
|
|
186
|
-
__name(isTranscriptConversationRecord, "isTranscriptConversationRecord");
|
|
187
|
-
function isTranscriptArtifactRecord(record) {
|
|
188
|
-
return record.type === "system" && typeof record.subtype === "string" && ARTIFACT_RECORD_SUBTYPES.has(record.subtype);
|
|
189
|
-
}
|
|
190
|
-
__name(isTranscriptArtifactRecord, "isTranscriptArtifactRecord");
|
|
191
|
-
function validateTranscriptRecord(value, recordIndex) {
|
|
192
|
-
const diagnostics = [];
|
|
193
|
-
if (!isObjectRecord(value)) {
|
|
194
|
-
diagnostics.push(
|
|
195
|
-
diagnostic(
|
|
196
|
-
"invalid_record",
|
|
197
|
-
"Skipped a transcript record that is not an object.",
|
|
198
|
-
true,
|
|
199
|
-
{ recordIndex }
|
|
200
|
-
)
|
|
201
|
-
);
|
|
202
|
-
return { diagnostics };
|
|
203
|
-
}
|
|
204
|
-
const uuid = value["uuid"];
|
|
205
|
-
const parentUuid = value["parentUuid"];
|
|
206
|
-
const sessionId = value["sessionId"];
|
|
207
|
-
const type = value["type"];
|
|
208
|
-
const recordId = typeof uuid === "string" ? uuid : void 0;
|
|
209
|
-
if (typeof uuid !== "string" || uuid.length === 0 || typeof parentUuid !== "string" && parentUuid !== null || typeof sessionId !== "string" || sessionId.length === 0) {
|
|
210
|
-
diagnostics.push(
|
|
211
|
-
diagnostic(
|
|
212
|
-
"invalid_record",
|
|
213
|
-
"Skipped a transcript record with invalid identity fields.",
|
|
214
|
-
true,
|
|
215
|
-
{ recordIndex, recordId }
|
|
216
|
-
)
|
|
217
|
-
);
|
|
218
|
-
return { diagnostics };
|
|
219
|
-
}
|
|
220
|
-
if (typeof type !== "string" || !RECORD_TYPES.has(type)) {
|
|
221
|
-
diagnostics.push(
|
|
222
|
-
diagnostic(
|
|
223
|
-
"unknown_record_or_part",
|
|
224
|
-
"Skipped a transcript record with an unknown record type.",
|
|
225
|
-
true,
|
|
226
|
-
{ recordIndex, recordId }
|
|
227
|
-
)
|
|
228
|
-
);
|
|
229
|
-
return { diagnostics };
|
|
230
|
-
}
|
|
231
|
-
const timestamp = value["timestamp"];
|
|
232
|
-
if (timestamp !== void 0 && (typeof timestamp !== "string" || !Number.isFinite(new Date(timestamp).getTime()))) {
|
|
233
|
-
diagnostics.push(
|
|
234
|
-
diagnostic(
|
|
235
|
-
"invalid_timestamp",
|
|
236
|
-
"Ignored an invalid transcript record timestamp.",
|
|
237
|
-
false,
|
|
238
|
-
{ recordIndex, recordId, path: "timestamp" }
|
|
239
|
-
)
|
|
240
|
-
);
|
|
241
|
-
}
|
|
242
|
-
const subtype = value["subtype"];
|
|
243
|
-
if (subtype !== void 0 && (typeof subtype !== "string" || !KNOWN_RECORD_SUBTYPES.has(subtype))) {
|
|
244
|
-
diagnostics.push(
|
|
245
|
-
diagnostic(
|
|
246
|
-
"unknown_record_or_part",
|
|
247
|
-
"The transcript record has an unknown subtype.",
|
|
248
|
-
true,
|
|
249
|
-
{ recordIndex, recordId, path: "subtype" }
|
|
250
|
-
)
|
|
251
|
-
);
|
|
252
|
-
}
|
|
253
|
-
let message;
|
|
254
|
-
if (value["message"] !== void 0) {
|
|
255
|
-
if (!isObjectRecord(value["message"])) {
|
|
256
|
-
diagnostics.push(
|
|
257
|
-
diagnostic(
|
|
258
|
-
"malformed_part",
|
|
259
|
-
"Ignored a malformed transcript message payload.",
|
|
260
|
-
true,
|
|
261
|
-
{ recordIndex, recordId, path: "message" }
|
|
262
|
-
)
|
|
263
|
-
);
|
|
264
|
-
} else {
|
|
265
|
-
const parts = value["message"]["parts"];
|
|
266
|
-
if (parts !== void 0 && !Array.isArray(parts)) {
|
|
267
|
-
diagnostics.push(
|
|
268
|
-
diagnostic(
|
|
269
|
-
"malformed_part",
|
|
270
|
-
"Ignored malformed transcript message parts.",
|
|
271
|
-
true,
|
|
272
|
-
{ recordIndex, recordId, path: "message.parts" }
|
|
273
|
-
)
|
|
274
|
-
);
|
|
275
|
-
}
|
|
276
|
-
message = {
|
|
277
|
-
...typeof value["message"]["role"] === "string" ? { role: value["message"]["role"] } : {},
|
|
278
|
-
...Array.isArray(parts) ? { parts } : {}
|
|
279
|
-
};
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
return {
|
|
283
|
-
record: {
|
|
284
|
-
...value,
|
|
285
|
-
uuid,
|
|
286
|
-
parentUuid,
|
|
287
|
-
sessionId,
|
|
288
|
-
type,
|
|
289
|
-
...typeof subtype === "string" ? { subtype } : { subtype: void 0 },
|
|
290
|
-
...typeof timestamp === "string" && Number.isFinite(new Date(timestamp).getTime()) ? { timestamp } : { timestamp: void 0 },
|
|
291
|
-
...message ? { message } : { message: void 0 }
|
|
292
|
-
},
|
|
293
|
-
diagnostics
|
|
294
|
-
};
|
|
295
|
-
}
|
|
296
|
-
__name(validateTranscriptRecord, "validateTranscriptRecord");
|
|
297
|
-
function selectTranscriptLeaf(records, leafUuid) {
|
|
298
|
-
if (leafUuid !== void 0) {
|
|
299
|
-
return records.some(
|
|
300
|
-
(record) => record.uuid === leafUuid && isTranscriptConversationRecord(record)
|
|
301
|
-
) ? leafUuid : void 0;
|
|
302
|
-
}
|
|
303
|
-
for (let index = records.length - 1; index >= 0; index -= 1) {
|
|
304
|
-
const record = records[index];
|
|
305
|
-
if (record && isTranscriptConversationRecord(record)) return record.uuid;
|
|
306
|
-
}
|
|
307
|
-
return void 0;
|
|
308
|
-
}
|
|
309
|
-
__name(selectTranscriptLeaf, "selectTranscriptLeaf");
|
|
310
|
-
function walkTranscriptUuidChain(leafUuid, lookup) {
|
|
311
|
-
const uuids = [];
|
|
312
|
-
const gaps = [];
|
|
313
|
-
const visited = /* @__PURE__ */ new Set();
|
|
314
|
-
let currentUuid = leafUuid;
|
|
315
|
-
let cycleUuid;
|
|
316
|
-
while (currentUuid) {
|
|
317
|
-
if (visited.has(currentUuid)) {
|
|
318
|
-
cycleUuid = currentUuid;
|
|
319
|
-
break;
|
|
320
|
-
}
|
|
321
|
-
visited.add(currentUuid);
|
|
322
|
-
const record = lookup(currentUuid);
|
|
323
|
-
if (!record) break;
|
|
324
|
-
uuids.push(currentUuid);
|
|
325
|
-
if (!record.parentUuid) break;
|
|
326
|
-
if (!lookup(record.parentUuid)) {
|
|
327
|
-
gaps.push({
|
|
328
|
-
childUuid: currentUuid,
|
|
329
|
-
missingParentUuid: record.parentUuid
|
|
330
|
-
});
|
|
331
|
-
break;
|
|
332
|
-
}
|
|
333
|
-
currentUuid = record.parentUuid;
|
|
334
|
-
}
|
|
335
|
-
uuids.reverse();
|
|
336
|
-
return { uuids, gaps, ...cycleUuid ? { cycleUuid } : {} };
|
|
337
|
-
}
|
|
338
|
-
__name(walkTranscriptUuidChain, "walkTranscriptUuidChain");
|
|
339
|
-
function aggregateTranscriptRecordFragments(records) {
|
|
340
|
-
const first = records[0];
|
|
341
|
-
if (!first) {
|
|
342
|
-
throw new Error("Cannot aggregate empty transcript record array");
|
|
343
|
-
}
|
|
344
|
-
const base = { ...first };
|
|
345
|
-
let message = first.message ? { ...first.message, parts: [...first.message.parts ?? []] } : void 0;
|
|
346
|
-
for (let index = 1; index < records.length; index += 1) {
|
|
347
|
-
const record = records[index];
|
|
348
|
-
if (record.message !== void 0) {
|
|
349
|
-
message = message ? {
|
|
350
|
-
role: message.role,
|
|
351
|
-
parts: [...message.parts ?? [], ...record.message.parts ?? []]
|
|
352
|
-
} : { ...record.message, parts: [...record.message.parts ?? []] };
|
|
353
|
-
}
|
|
354
|
-
if (record.usageMetadata) base["usageMetadata"] = record.usageMetadata;
|
|
355
|
-
if (record.toolCallResult && !base["toolCallResult"]) {
|
|
356
|
-
base["toolCallResult"] = record.toolCallResult;
|
|
357
|
-
}
|
|
358
|
-
if (record.model && !base["model"]) base["model"] = record.model;
|
|
359
|
-
if (record.timestamp && (!base["timestamp"] || record.timestamp > String(base["timestamp"]))) {
|
|
360
|
-
base["timestamp"] = record.timestamp;
|
|
361
|
-
}
|
|
362
|
-
}
|
|
363
|
-
base["message"] = message;
|
|
364
|
-
return base;
|
|
365
|
-
}
|
|
366
|
-
__name(aggregateTranscriptRecordFragments, "aggregateTranscriptRecordFragments");
|
|
367
|
-
function prepareTranscriptRecords(values, options = {}) {
|
|
368
|
-
if (!Array.isArray(values)) {
|
|
369
|
-
throw new TranscriptRecordPreparationError(
|
|
370
|
-
"invalid_records",
|
|
371
|
-
"Transcript records must be an array."
|
|
372
|
-
);
|
|
373
|
-
}
|
|
374
|
-
const diagnostics = [];
|
|
375
|
-
const records = [];
|
|
376
|
-
const sourceIndexByRecord = /* @__PURE__ */ new Map();
|
|
377
|
-
for (let index = 0; index < values.length; index += 1) {
|
|
378
|
-
const validated = validateTranscriptRecord(values[index], index);
|
|
379
|
-
diagnostics.push(...validated.diagnostics);
|
|
380
|
-
if (validated.record) {
|
|
381
|
-
records.push(validated.record);
|
|
382
|
-
sourceIndexByRecord.set(validated.record, index);
|
|
383
|
-
}
|
|
384
|
-
}
|
|
385
|
-
const sessionIds = new Set(records.map((record) => record.sessionId));
|
|
386
|
-
if (sessionIds.size > 1) {
|
|
387
|
-
throw new TranscriptRecordPreparationError(
|
|
388
|
-
"mixed_session_ids",
|
|
389
|
-
"Transcript records contain multiple session ids."
|
|
390
|
-
);
|
|
391
|
-
}
|
|
392
|
-
const leafUuid = selectTranscriptLeaf(records, options.leafUuid);
|
|
393
|
-
if (options.leafUuid !== void 0 && leafUuid === void 0) {
|
|
394
|
-
throw new TranscriptRecordPreparationError(
|
|
395
|
-
"leaf_not_found",
|
|
396
|
-
"The requested transcript leaf was not found."
|
|
397
|
-
);
|
|
398
|
-
}
|
|
399
|
-
if (!leafUuid) {
|
|
400
|
-
if (records.length > 0) {
|
|
401
|
-
diagnostics.push(
|
|
402
|
-
diagnostic(
|
|
403
|
-
"artifact_only",
|
|
404
|
-
"The input contains no conversation records.",
|
|
405
|
-
false
|
|
406
|
-
)
|
|
407
|
-
);
|
|
408
|
-
}
|
|
409
|
-
return {
|
|
410
|
-
...sessionIds.size === 1 ? { sessionId: records[0].sessionId } : {},
|
|
411
|
-
records: [],
|
|
412
|
-
gaps: [],
|
|
413
|
-
diagnostics
|
|
414
|
-
};
|
|
415
|
-
}
|
|
416
|
-
const fragmentsByUuid = /* @__PURE__ */ new Map();
|
|
417
|
-
const firstByUuid = /* @__PURE__ */ new Map();
|
|
418
|
-
for (const record of records) {
|
|
419
|
-
if (!isTranscriptConversationRecord(record)) continue;
|
|
420
|
-
const fragments = fragmentsByUuid.get(record.uuid);
|
|
421
|
-
if (fragments) {
|
|
422
|
-
if (fragments[0].parentUuid !== record.parentUuid) {
|
|
423
|
-
diagnostics.push(
|
|
424
|
-
diagnostic(
|
|
425
|
-
"conflicting_parent_uuid",
|
|
426
|
-
"Duplicate transcript record fragments disagree on parentUuid.",
|
|
427
|
-
true,
|
|
428
|
-
{
|
|
429
|
-
recordIndex: sourceIndexByRecord.get(record),
|
|
430
|
-
recordId: record.uuid,
|
|
431
|
-
path: "parentUuid"
|
|
432
|
-
}
|
|
433
|
-
)
|
|
434
|
-
);
|
|
435
|
-
}
|
|
436
|
-
fragments.push(record);
|
|
437
|
-
} else {
|
|
438
|
-
fragmentsByUuid.set(record.uuid, [record]);
|
|
439
|
-
firstByUuid.set(record.uuid, record);
|
|
440
|
-
}
|
|
441
|
-
}
|
|
442
|
-
const chain = walkTranscriptUuidChain(
|
|
443
|
-
leafUuid,
|
|
444
|
-
(uuid) => firstByUuid.get(uuid)
|
|
445
|
-
);
|
|
446
|
-
for (const gap of chain.gaps) {
|
|
447
|
-
diagnostics.push(
|
|
448
|
-
diagnostic(
|
|
449
|
-
"history_gap",
|
|
450
|
-
"The active transcript chain is missing a parent record.",
|
|
451
|
-
true,
|
|
452
|
-
{ recordId: gap.childUuid }
|
|
453
|
-
)
|
|
454
|
-
);
|
|
455
|
-
}
|
|
456
|
-
if (chain.cycleUuid) {
|
|
457
|
-
diagnostics.push(
|
|
458
|
-
diagnostic(
|
|
459
|
-
"parent_cycle",
|
|
460
|
-
"The active transcript chain contains a parent cycle.",
|
|
461
|
-
true,
|
|
462
|
-
{ recordId: chain.cycleUuid }
|
|
463
|
-
)
|
|
464
|
-
);
|
|
465
|
-
}
|
|
466
|
-
return {
|
|
467
|
-
...sessionIds.size === 1 ? { sessionId: records[0].sessionId } : {},
|
|
468
|
-
records: chain.uuids.map(
|
|
469
|
-
(uuid) => aggregateTranscriptRecordFragments(fragmentsByUuid.get(uuid) ?? [])
|
|
470
|
-
),
|
|
471
|
-
gaps: chain.gaps,
|
|
472
|
-
diagnostics
|
|
473
|
-
};
|
|
474
|
-
}
|
|
475
|
-
__name(prepareTranscriptRecords, "prepareTranscriptRecords");
|
|
476
|
-
|
|
477
83
|
// packages/core/src/goals/goal-evidence.ts
|
|
478
84
|
init_esbuild_shims();
|
|
479
85
|
var CATALOG_PREVIEW_LIMIT = 240;
|
|
@@ -2121,7 +1727,7 @@ function recoverLegacyGoal(records) {
|
|
|
2121
1727
|
}
|
|
2122
1728
|
for (let itemIndex = payload.outputHistoryItems.length - 1; itemIndex >= 0; itemIndex -= 1) {
|
|
2123
1729
|
const value = payload.outputHistoryItems[itemIndex];
|
|
2124
|
-
if (!
|
|
1730
|
+
if (!isObjectRecord(value) || value["type"] !== "goal_status") continue;
|
|
2125
1731
|
const kind = value["kind"];
|
|
2126
1732
|
const condition = value["condition"];
|
|
2127
1733
|
if (typeof kind !== "string" || typeof condition !== "string") {
|
|
@@ -2165,7 +1771,7 @@ function normalizeGoalRecoveryRecord(record) {
|
|
|
2165
1771
|
return void 0;
|
|
2166
1772
|
}
|
|
2167
1773
|
const goalStatusItems = payload.outputHistoryItems.filter(
|
|
2168
|
-
(value) =>
|
|
1774
|
+
(value) => isObjectRecord(value) && value["type"] === "goal_status"
|
|
2169
1775
|
);
|
|
2170
1776
|
if (goalStatusItems.length === 0) return void 0;
|
|
2171
1777
|
return {
|
|
@@ -2186,7 +1792,7 @@ function isGoalRecoveryCandidate(record) {
|
|
|
2186
1792
|
}
|
|
2187
1793
|
const payload = record.systemPayload;
|
|
2188
1794
|
return payload?.phase === "result" && Array.isArray(payload.outputHistoryItems) && payload.outputHistoryItems.some(
|
|
2189
|
-
(value) =>
|
|
1795
|
+
(value) => isObjectRecord(value) && value["type"] === "goal_status"
|
|
2190
1796
|
);
|
|
2191
1797
|
}
|
|
2192
1798
|
__name(isGoalRecoveryCandidate, "isGoalRecoveryCandidate");
|
|
@@ -2197,10 +1803,10 @@ function unsupportedLegacy(recordUuid) {
|
|
|
2197
1803
|
};
|
|
2198
1804
|
}
|
|
2199
1805
|
__name(unsupportedLegacy, "unsupportedLegacy");
|
|
2200
|
-
function
|
|
1806
|
+
function isObjectRecord(value) {
|
|
2201
1807
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
2202
1808
|
}
|
|
2203
|
-
__name(
|
|
1809
|
+
__name(isObjectRecord, "isObjectRecord");
|
|
2204
1810
|
function createMigratedGoalState(input) {
|
|
2205
1811
|
const objective = input.objective.trim();
|
|
2206
1812
|
if (!objective) {
|
|
@@ -2270,6 +1876,9 @@ function createGoalRuntime(options) {
|
|
|
2270
1876
|
let currentTurnKey;
|
|
2271
1877
|
let queuedTurnKey;
|
|
2272
1878
|
let continuationQueued = false;
|
|
1879
|
+
let announcedObjective;
|
|
1880
|
+
let currentTurnAnnouncement;
|
|
1881
|
+
let currentTurnDelivered = false;
|
|
2273
1882
|
let currentProposal;
|
|
2274
1883
|
let pendingProposal;
|
|
2275
1884
|
let verificationAttempt;
|
|
@@ -2383,6 +1992,13 @@ function createGoalRuntime(options) {
|
|
|
2383
1992
|
} catch {
|
|
2384
1993
|
}
|
|
2385
1994
|
}, "preemptHost");
|
|
1995
|
+
const settleCurrentTurnAnnouncement = /* @__PURE__ */ __name((delivered) => {
|
|
1996
|
+
if (delivered && currentTurnAnnouncement !== void 0) {
|
|
1997
|
+
announcedObjective = currentTurnAnnouncement;
|
|
1998
|
+
}
|
|
1999
|
+
currentTurnAnnouncement = void 0;
|
|
2000
|
+
currentTurnDelivered = false;
|
|
2001
|
+
}, "settleCurrentTurnAnnouncement");
|
|
2386
2002
|
const flushContinuation = /* @__PURE__ */ __name((cause, windDown = false) => {
|
|
2387
2003
|
if (!continuationQueued || !host || currentPermit || pendingProposal || verificationAttempt || checkpointAttempt || snapshot.activity !== "idle" || snapshot.goal?.status !== "active") {
|
|
2388
2004
|
return;
|
|
@@ -2401,12 +2017,16 @@ function createGoalRuntime(options) {
|
|
|
2401
2017
|
currentPermitHost = scheduledHost;
|
|
2402
2018
|
currentTurnKey = `goal-runtime:${currentPermit.turnId}`;
|
|
2403
2019
|
const startedPermit = structuredClone(currentPermit);
|
|
2020
|
+
const objectiveUpdated = announcedObjective !== void 0 && announcedObjective !== continuationContext;
|
|
2021
|
+
currentTurnAnnouncement = continuationContext;
|
|
2022
|
+
currentTurnDelivered = false;
|
|
2404
2023
|
windDownTurnId = windDown ? startedPermit.turnId : void 0;
|
|
2405
2024
|
snapshot = { ...snapshot, activity: "running" };
|
|
2406
2025
|
broadcast(cause);
|
|
2407
2026
|
const handleStartFailure = /* @__PURE__ */ __name(() => {
|
|
2408
2027
|
void enqueue(async () => {
|
|
2409
2028
|
if (isCurrentPermit(startedPermit)) {
|
|
2029
|
+
settleCurrentTurnAnnouncement(false);
|
|
2410
2030
|
const nextTurnKey = queuedTurnKey;
|
|
2411
2031
|
currentPermit = void 0;
|
|
2412
2032
|
currentPermitHost = void 0;
|
|
@@ -2443,6 +2063,7 @@ function createGoalRuntime(options) {
|
|
|
2443
2063
|
started = scheduledHost.startGoalTurn({
|
|
2444
2064
|
permit: startedPermit,
|
|
2445
2065
|
continuationContext,
|
|
2066
|
+
...objectiveUpdated ? { objectiveUpdated } : {},
|
|
2446
2067
|
...windDown ? { windDown } : {},
|
|
2447
2068
|
...verifierFeedback ? { verifierFeedback } : {}
|
|
2448
2069
|
});
|
|
@@ -2592,6 +2213,9 @@ function createGoalRuntime(options) {
|
|
|
2592
2213
|
continuationQueued = false;
|
|
2593
2214
|
nextVerifierFeedback = void 0;
|
|
2594
2215
|
currentTurnFeedback = void 0;
|
|
2216
|
+
if (attempt.proposal.status === "complete") {
|
|
2217
|
+
announcedObjective = void 0;
|
|
2218
|
+
}
|
|
2595
2219
|
snapshot = structuredClone(terminalSnapshot);
|
|
2596
2220
|
broadcast(attempt.proposal.status);
|
|
2597
2221
|
return void 0;
|
|
@@ -3107,6 +2731,7 @@ function createGoalRuntime(options) {
|
|
|
3107
2731
|
if (currentTurnFeedback !== void 0) {
|
|
3108
2732
|
nextVerifierFeedback ??= currentTurnFeedback;
|
|
3109
2733
|
}
|
|
2734
|
+
settleCurrentTurnAnnouncement(currentTurnDelivered);
|
|
3110
2735
|
currentPermit = void 0;
|
|
3111
2736
|
currentPermitHost = void 0;
|
|
3112
2737
|
currentTurnKey = void 0;
|
|
@@ -3135,6 +2760,12 @@ function createGoalRuntime(options) {
|
|
|
3135
2760
|
return released;
|
|
3136
2761
|
});
|
|
3137
2762
|
},
|
|
2763
|
+
markTurnDelivered(turnKey) {
|
|
2764
|
+
assertOperational();
|
|
2765
|
+
if (currentPermit && currentTurnKey === turnKey) {
|
|
2766
|
+
currentTurnDelivered = true;
|
|
2767
|
+
}
|
|
2768
|
+
},
|
|
3138
2769
|
permitForTurn(turnKey) {
|
|
3139
2770
|
assertOperational();
|
|
3140
2771
|
return currentPermit && currentTurnKey === turnKey ? structuredClone(currentPermit) : void 0;
|
|
@@ -3153,14 +2784,17 @@ function createGoalRuntime(options) {
|
|
|
3153
2784
|
if (!isCurrentPermit(permit) || !snapshot.goal) {
|
|
3154
2785
|
throw new Error(STALE_GOAL_TURN_MESSAGE);
|
|
3155
2786
|
}
|
|
2787
|
+
const delivered = currentTurnDelivered;
|
|
2788
|
+
settleCurrentTurnAnnouncement(delivered);
|
|
3156
2789
|
const recordUuid = randomUUID();
|
|
3157
|
-
const
|
|
2790
|
+
const heldWindDown = windDownTurnId === permit.turnId;
|
|
2791
|
+
const finishedWindDown = heldWindDown && delivered;
|
|
3158
2792
|
const nextGoal = reduceGoalTurnFinished(snapshot.goal, {
|
|
3159
2793
|
now: Date.now(),
|
|
3160
2794
|
tokensUsed: takeTurnTokens(permit.turnId),
|
|
3161
2795
|
...finishedWindDown ? { windDownTurnId: permit.turnId } : {}
|
|
3162
2796
|
});
|
|
3163
|
-
if (
|
|
2797
|
+
if (heldWindDown) windDownTurnId = void 0;
|
|
3164
2798
|
const persistedSnapshot = {
|
|
3165
2799
|
v: GOAL_STATE_VERSION,
|
|
3166
2800
|
goal: nextGoal,
|
|
@@ -3365,6 +2999,7 @@ ${proposal.reason}`;
|
|
|
3365
2999
|
invalidateAttempts(`Goal ${request.action}`);
|
|
3366
3000
|
}
|
|
3367
3001
|
if (invalidatesPermit) {
|
|
3002
|
+
settleCurrentTurnAnnouncement(currentTurnDelivered);
|
|
3368
3003
|
currentPermit = void 0;
|
|
3369
3004
|
currentPermitHost = void 0;
|
|
3370
3005
|
currentTurnKey = void 0;
|
|
@@ -3375,6 +3010,7 @@ ${proposal.reason}`;
|
|
|
3375
3010
|
nextVerifierFeedback = void 0;
|
|
3376
3011
|
currentTurnFeedback = void 0;
|
|
3377
3012
|
continuationQueued = false;
|
|
3013
|
+
if (request.action === "clear") announcedObjective = void 0;
|
|
3378
3014
|
} else if (request.action === "resume") {
|
|
3379
3015
|
blockedAudit = void 0;
|
|
3380
3016
|
}
|
|
@@ -3409,6 +3045,8 @@ ${proposal.reason}`;
|
|
|
3409
3045
|
blockedAudit = void 0;
|
|
3410
3046
|
nextVerifierFeedback = void 0;
|
|
3411
3047
|
currentTurnFeedback = void 0;
|
|
3048
|
+
currentTurnAnnouncement = void 0;
|
|
3049
|
+
currentTurnDelivered = false;
|
|
3412
3050
|
preemptHost("Goal runtime disposed", invalidatedHost);
|
|
3413
3051
|
host = void 0;
|
|
3414
3052
|
listeners.clear();
|
|
@@ -3428,16 +3066,6 @@ export {
|
|
|
3428
3066
|
emptyGoalSnapshot,
|
|
3429
3067
|
goalRequiresExactPermit,
|
|
3430
3068
|
validateGoalProposalReason,
|
|
3431
|
-
wrapUserPromptSubmitContext,
|
|
3432
|
-
isUserPromptSubmitContextPartText,
|
|
3433
|
-
projectUserTranscriptForDisplay,
|
|
3434
|
-
isTranscriptConversationRecord,
|
|
3435
|
-
isTranscriptArtifactRecord,
|
|
3436
|
-
validateTranscriptRecord,
|
|
3437
|
-
selectTranscriptLeaf,
|
|
3438
|
-
walkTranscriptUuidChain,
|
|
3439
|
-
aggregateTranscriptRecordFragments,
|
|
3440
|
-
prepareTranscriptRecords,
|
|
3441
3069
|
GOAL_EVIDENCE_REFERENCE_LIMIT,
|
|
3442
3070
|
EvidenceSourceUnavailableError,
|
|
3443
3071
|
InvalidGoalEvidenceReferenceError,
|
|
@@ -3466,8 +3094,3 @@ export {
|
|
|
3466
3094
|
* Copyright 2026 Qwen Team
|
|
3467
3095
|
* SPDX-License-Identifier: Apache-2.0
|
|
3468
3096
|
*/
|
|
3469
|
-
/**
|
|
3470
|
-
* @license
|
|
3471
|
-
* Copyright 2025 Qwen Team
|
|
3472
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
3473
|
-
*/
|