@organizaone/o1-code 0.9.0 → 0.11.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/qc-helper/docs/configuration/settings.md +34 -7
- package/bundled/qc-helper/docs/extension/introduction.md +23 -9
- package/bundled/qc-helper/docs/features/commands.md +4 -4
- package/chunks/{MaxSizedBox-YRO4IP7D.js → MaxSizedBox-4YD6N3PU.js} +46 -45
- package/chunks/{StandaloneSessionPicker-HM6FRRNB.js → StandaloneSessionPicker-I5FMAIU2.js} +62 -61
- package/chunks/{acp-subagent-executor-GKUWPZ3X.js → acp-subagent-executor-PRFEPDLD.js} +47 -46
- package/chunks/{acpAgent-NM2GJZPA.js → acpAgent-2SVJNE5B.js} +94 -93
- package/chunks/{agent-VI6IBJKP.js → agent-QONNC6CU.js} +32 -31
- package/chunks/{agent-headless-RG2RANBY.js → agent-headless-5HHGBH6Z.js} +32 -31
- package/chunks/{anthropicContentGenerator-OUXKGYR3.js → anthropicContentGenerator-2VK5J36U.js} +8 -8
- package/chunks/{bridge-ASDRIBGU.js → bridge-376JROPC.js} +47 -46
- package/chunks/{build-HLEIVF4Y.js → build-QRER4J4E.js} +2 -1
- package/chunks/{bwrap-execution-QFG5RQSP.js → bwrap-execution-UZAMPG6F.js} +3 -3
- package/chunks/{chunk-OZ2OT5BC.js → chunk-3DUYZD3L.js} +3 -3
- package/chunks/{chunk-CMZHL55Y.js → chunk-3KUQCZUE.js} +2 -2
- package/chunks/{chunk-CVAGYXMP.js → chunk-3YG4OBGV.js} +1 -1
- package/chunks/{chunk-3ODGANQH.js → chunk-4AJNXOC5.js} +2 -2
- package/chunks/{chunk-OBPGYMIV.js → chunk-4ESI3MQ5.js} +43 -22
- package/chunks/{chunk-YLMKYLNH.js → chunk-4FUKWWA7.js} +2 -2
- package/chunks/{chunk-ZFZB6WC5.js → chunk-4LCUE7BN.js} +3 -198
- package/chunks/{chunk-LQELD265.js → chunk-4O37MUA4.js} +2 -2
- package/chunks/{chunk-MUX4EKXE.js → chunk-4OI2JVHJ.js} +2 -2
- package/chunks/{chunk-LTQLCF23.js → chunk-4RA6DVZM.js} +1 -1
- package/chunks/{chunk-YBIK7JBH.js → chunk-5MX4BYWK.js} +3 -3
- package/chunks/{chunk-L66MHJW7.js → chunk-5V3EOW36.js} +5 -5
- package/chunks/{chunk-VCKGH2UF.js → chunk-653CF7X7.js} +3 -3
- package/chunks/{chunk-HFW4YMBT.js → chunk-6D6Z2RPR.js} +2 -2
- package/chunks/{chunk-LIM5RBA5.js → chunk-6IAGZKHT.js} +3 -3
- package/chunks/{chunk-F477I5JN.js → chunk-6LLJK4YT.js} +3 -3
- package/chunks/{chunk-K5SPVYI4.js → chunk-7DQWDZUQ.js} +1 -1
- package/chunks/{chunk-GNUA6XPQ.js → chunk-7H3GWNGJ.js} +1 -1
- package/chunks/{chunk-7UK4SIHI.js → chunk-7H7YR3TX.js} +1 -1
- package/chunks/{chunk-CLYICZHJ.js → chunk-7I52LFBI.js} +4 -4
- package/chunks/{chunk-TCME6IG6.js → chunk-7LFCBMVX.js} +1 -1
- package/chunks/{chunk-FRRKENS6.js → chunk-7LLX5ROK.js} +3 -3
- package/chunks/{chunk-ZQPD7WDS.js → chunk-7M4NSLWM.js} +2 -2
- package/chunks/{chunk-WUKHAI4J.js → chunk-7USF7X6U.js} +1 -1
- package/chunks/{chunk-KAW6TQNC.js → chunk-A4JNI44O.js} +11 -11
- package/chunks/{chunk-CWSGGQLH.js → chunk-AAXKDAOY.js} +1 -1
- package/chunks/{chunk-4FEIAOCC.js → chunk-ADBRWAV5.js} +1 -1
- package/chunks/{chunk-IUHFMWMV.js → chunk-AIQC2WHG.js} +4 -4
- package/chunks/{chunk-ZHTRFFVQ.js → chunk-ALIO4STD.js} +1 -1
- package/chunks/{chunk-2R42INUX.js → chunk-ALRR6EQ5.js} +2 -2
- package/chunks/{chunk-JGEPZYTM.js → chunk-AQFTTYP6.js} +4 -4
- package/chunks/{chunk-ZXMW3YT5.js → chunk-BAGPD67C.js} +1 -1
- package/chunks/{chunk-R4FAETL7.js → chunk-BIP774WW.js} +1 -1
- package/chunks/{chunk-KM2K4ERE.js → chunk-BLFBP3N2.js} +1 -1
- package/chunks/{chunk-EIPBVTYB.js → chunk-BSLKB37V.js} +2 -2
- package/chunks/{chunk-PCCUFQHX.js → chunk-C4WTDBKV.js} +5 -5
- package/chunks/{chunk-JVJT5UI7.js → chunk-CS4CELQI.js} +2 -2
- package/chunks/{chunk-SYR2YWGQ.js → chunk-DG6LRVVN.js} +1 -1
- package/chunks/{chunk-SVMEPMAZ.js → chunk-DMVMQMWZ.js} +44 -44
- package/chunks/{chunk-6TWJYLJE.js → chunk-DVRWYOU6.js} +1 -1
- package/chunks/{chunk-R5ILEKY4.js → chunk-EB5V6K5E.js} +3 -3
- package/chunks/{chunk-ZEVIKHNQ.js → chunk-EFN3RELD.js} +3 -3
- package/chunks/{chunk-IPTVBAQ5.js → chunk-EIJNDD2V.js} +1 -1
- package/chunks/{chunk-TQI6ULGQ.js → chunk-ER3EHNTV.js} +1 -1
- package/chunks/{chunk-RCVRWBNS.js → chunk-EXG47R4V.js} +2 -2
- package/chunks/{chunk-QDZTSZTF.js → chunk-FJHDFJVI.js} +1 -1
- package/chunks/{chunk-YB735VNN.js → chunk-FVO4TXS5.js} +4 -4
- package/chunks/{chunk-J2OKRT7N.js → chunk-FYQO4Y3N.js} +13 -13
- package/chunks/{chunk-ZT4BSBY4.js → chunk-GCAERMSL.js} +6 -6
- package/chunks/{chunk-YQP3ETMA.js → chunk-GXHNABHV.js} +8 -8
- package/chunks/{chunk-CS7C2L7J.js → chunk-H2U6QRJX.js} +6 -6
- package/chunks/{chunk-POHJY7RJ.js → chunk-HCE5HUQG.js} +1 -1
- package/chunks/{chunk-PLWOHBC7.js → chunk-HDGYCLNB.js} +1 -1
- package/chunks/{chunk-N335XRGH.js → chunk-HK7AV2JH.js} +1 -1
- package/chunks/{chunk-Q7ZF32SN.js → chunk-HUMRTP2R.js} +1 -1
- package/chunks/{chunk-WWRYYBOB.js → chunk-HVOUAFTO.js} +24 -5
- package/chunks/{chunk-DEULKIEJ.js → chunk-HWIVKRK4.js} +1 -1
- package/chunks/{chunk-QP3UCTAH.js → chunk-IKXBBMRT.js} +1 -1
- package/chunks/{chunk-XCO4NKA5.js → chunk-IYLIZY56.js} +1 -1
- package/chunks/{chunk-QG6AA2EE.js → chunk-J4QU4MC5.js} +6 -6
- package/chunks/{chunk-V23Q4GBY.js → chunk-J5UW3SF4.js} +1 -1
- package/chunks/{chunk-2TURUYOS.js → chunk-JHZM32LS.js} +2 -1
- package/chunks/{chunk-DZPGLX7M.js → chunk-JQPMOOCH.js} +1 -1
- package/chunks/{chunk-JVFO6PPS.js → chunk-JZ4ZEW3K.js} +1 -1
- package/chunks/{chunk-GKCZEQC7.js → chunk-KRZBFGAT.js} +579 -243
- package/chunks/{chunk-UUPZUWG5.js → chunk-KTOCX7IM.js} +1 -1
- package/chunks/{chunk-LU2Z7WRX.js → chunk-L6MGGTHA.js} +1 -1
- package/chunks/{chunk-OU5QAYET.js → chunk-L7JLMUG3.js} +2 -2
- package/chunks/{chunk-KAF4RHGK.js → chunk-LBM7FFM5.js} +1 -1
- package/chunks/{chunk-L6HTWOTF.js → chunk-LEBY6RZT.js} +5 -5
- package/chunks/{chunk-RQ2LQ5RB.js → chunk-LK74HWZ4.js} +102 -30
- package/chunks/{chunk-LBT6PT4Z.js → chunk-MLHBCLEP.js} +7 -7
- package/chunks/{chunk-NGE3GHMN.js → chunk-MWFHMYVA.js} +1 -1
- package/chunks/{chunk-XKOGHPWS.js → chunk-N7NBYHMJ.js} +1 -1
- package/chunks/{chunk-CK53F45C.js → chunk-NWG5SKCQ.js} +3 -3
- package/chunks/{chunk-3LIB2FAU.js → chunk-O5F6BGMF.js} +3 -3
- package/chunks/{chunk-RZQASTZP.js → chunk-OAGT2TNR.js} +7 -7
- package/chunks/{chunk-U2A23HJU.js → chunk-OD2XVV6S.js} +3 -3
- package/chunks/{chunk-UKUAUI76.js → chunk-OJP3SONV.js} +2 -2
- package/chunks/{chunk-NGPEFWU4.js → chunk-OJSW65PQ.js} +1 -1
- package/chunks/{chunk-7QFVAEBE.js → chunk-OKDNVNDE.js} +2 -2
- package/chunks/{chunk-GTNYSOQ2.js → chunk-OKR7R26W.js} +4 -4
- package/chunks/{chunk-KDS2IANW.js → chunk-PFRCGQAE.js} +1 -1
- package/chunks/{chunk-GLKPKVRO.js → chunk-PLGVOOCJ.js} +1 -1
- package/chunks/{chunk-FIIOIJX6.js → chunk-PQZRAMZG.js} +7 -7
- package/chunks/{chunk-FZUEC7ES.js → chunk-QCONHGJR.js} +1 -1
- package/chunks/{chunk-Q2SEZDMU.js → chunk-QE2GKG2B.js} +3 -3
- package/chunks/{chunk-LQWYK66V.js → chunk-QHENJTME.js} +5 -5
- package/chunks/{chunk-OOLEXGWB.js → chunk-QIRU74SA.js} +2 -2
- package/chunks/{chunk-3T5ZVERP.js → chunk-QKTYOXBW.js} +1 -1
- package/chunks/{chunk-G2I75T4C.js → chunk-QYUMJTBP.js} +2 -2
- package/chunks/{chunk-4IDJJ4KI.js → chunk-R3QYIDIU.js} +2 -2
- package/chunks/{chunk-DVDWT5I5.js → chunk-R7SPXY4A.js} +1 -1
- package/chunks/{chunk-2S3QOYP4.js → chunk-REDO4D2W.js} +6 -6
- package/chunks/chunk-RIN7SNJN.js +212 -0
- package/chunks/{chunk-Z32ZO4N2.js → chunk-RZGFYBL5.js} +2 -2
- package/chunks/{chunk-YNFJLMGL.js → chunk-SAGRWAPN.js} +10 -10
- package/chunks/{chunk-QBCC6DDB.js → chunk-SIZ4LTNU.js} +17 -17
- package/chunks/{chunk-7QM44EGU.js → chunk-SPLQKNEP.js} +1 -1
- package/chunks/{chunk-W3T7KUBS.js → chunk-TK7HNIQM.js} +1 -1
- package/chunks/{chunk-IBPY5AJI.js → chunk-U5KZBWKF.js} +4 -397
- package/chunks/{chunk-XJPQ7YBB.js → chunk-U7C4TQUX.js} +2 -2
- package/chunks/{chunk-6CNTKWVU.js → chunk-UDWKKKF3.js} +5 -5
- package/chunks/{chunk-D4GF3Z3J.js → chunk-UWV7KBPN.js} +2 -2
- package/chunks/{chunk-AC75ZC3R.js → chunk-VBJH6XAM.js} +2 -2
- package/chunks/{chunk-SQX3PXHY.js → chunk-VIAJ74X3.js} +2 -2
- package/chunks/{chunk-XAVVXBNC.js → chunk-VJFA7HHP.js} +1 -1
- package/chunks/{chunk-SRJTWTB2.js → chunk-VKBMJSAR.js} +50 -40
- package/chunks/{chunk-SB7HLYND.js → chunk-VPGICF4V.js} +3 -3
- package/chunks/{chunk-ELVKWFRK.js → chunk-VVF2QVSN.js} +2 -2
- package/chunks/{chunk-QLXCD56R.js → chunk-W4COM34L.js} +2 -2
- package/chunks/{chunk-5W2RZUTF.js → chunk-W4SBUUTI.js} +3 -3
- package/chunks/{chunk-656G544G.js → chunk-W6TGDESU.js} +2 -2
- package/chunks/{chunk-XLMO7VIH.js → chunk-W7NTX5RO.js} +5 -5
- package/chunks/{chunk-BMWNSOKM.js → chunk-WDCHA7NA.js} +2 -2
- package/chunks/{chunk-CPQGFFDW.js → chunk-WQ6CX6N3.js} +8 -5
- package/chunks/{chunk-33RS64W5.js → chunk-WS7DJM5N.js} +13 -13
- package/chunks/{chunk-HLWXBJCH.js → chunk-WZCKDUBO.js} +131 -15
- package/chunks/{chunk-Y37FNMS7.js → chunk-X427DWFD.js} +1 -1
- package/chunks/{chunk-35RKSP4A.js → chunk-XHYWPHWN.js} +1 -1
- package/chunks/{chunk-OMJU4YIQ.js → chunk-XOVXSDNN.js} +1 -1
- package/chunks/{chunk-W5NM2DOQ.js → chunk-XRY6XLJD.js} +16 -0
- package/chunks/{chunk-HQ5DN5W7.js → chunk-Y75AMWDB.js} +1 -1
- package/chunks/{chunk-SX5AXFZV.js → chunk-YPWPIBDR.js} +3 -3
- package/chunks/{chunk-UFUFCLDL.js → chunk-YR3UI5PL.js} +7 -7
- package/chunks/{chunk-EQQUC6HX.js → chunk-Z5UCVPGO.js} +5 -5
- package/chunks/{chunk-3HBUBIMD.js → chunk-ZBV6TO3P.js} +1 -1
- package/chunks/{chunk-MFSMNYXY.js → chunk-ZG7HDQQN.js} +9 -9
- package/chunks/{chunk-PL7VG3H5.js → chunk-ZUQTYSNU.js} +2 -2
- package/chunks/{codex-subagent-executor-RHTAEFXD.js → codex-subagent-executor-BDV2OYSK.js} +47 -46
- package/chunks/{container-execution-environment-PO7I26HR.js → container-execution-environment-INYC74GN.js} +1 -1
- package/chunks/{contextCommand-CQFH75BZ.js → contextCommand-4XBRYOBZ.js} +46 -45
- package/chunks/{core-runtime-5SGS3SVD.js → core-runtime-IYMVEYKI.js} +44 -43
- package/chunks/{create-sub-session-G7VWSOXC.js → create-sub-session-EAHSPBXY.js} +45 -44
- package/chunks/{daemon-git-worktree-guard-IUFLX2O4.js → daemon-git-worktree-guard-JPOH2ZV5.js} +44 -43
- package/chunks/{daemon-status-provider-6ZTLYNNK.js → daemon-status-provider-GOJGNJ2Y.js} +53 -52
- package/chunks/{daemon-trust-policy-254OGOCS.js → daemon-trust-policy-X5QLCVP2.js} +50 -49
- package/chunks/{daemon-trust-policy-monitor-LGXXCQEP.js → daemon-trust-policy-monitor-GOMIMXAS.js} +50 -49
- package/chunks/{deferred-core-runtime-7OORZHNH.js → deferred-core-runtime-MFMRVOPT.js} +44 -43
- package/chunks/dist-ID6B4BSH.js +3901 -0
- package/chunks/{edit-V46XHSY7.js → edit-N5WDGSAZ.js} +34 -33
- package/chunks/{en-VJBVNTY4.js → en-C4TIYTOH.js} +137 -1
- package/chunks/{enter-worktree-53CUMISV.js → enter-worktree-A2WD27HQ.js} +4 -4
- package/chunks/{enterPlanMode-ZPTXYQMB.js → enterPlanMode-52GAH43E.js} +32 -31
- package/chunks/{environment-4JNOLQYX.js → environment-RXHNLDLZ.js} +46 -45
- package/chunks/{errors-XFCASXKU.js → errors-D65OPVWO.js} +46 -45
- package/chunks/{execution-sandbox-config-7UDTKDKF.js → execution-sandbox-config-YE2XOT56.js} +4 -4
- package/chunks/{execution-tool-45FRLDNU.js → execution-tool-RK3OB5IY.js} +34 -33
- package/chunks/{execution-worker-YUQGSB2E.js → execution-worker-R7E5B7CA.js} +39 -38
- package/chunks/{exit-worktree-CZUYCPZ3.js → exit-worktree-S7KUQ4HO.js} +4 -4
- package/chunks/{exitPlanMode-IVJH3OXX.js → exitPlanMode-SRLMLRK5.js} +32 -31
- package/chunks/{fast-path-XN7NK4CH.js → fast-path-KOMJMO2I.js} +2 -2
- package/chunks/{glob-NHZYR52J.js → glob-MD6DOICU.js} +33 -32
- package/chunks/{goal-tools-GKFYH6GK.js → goal-tools-FLJYRSX6.js} +32 -31
- package/chunks/{grep-ENZEP6KL.js → grep-VO76ZOXG.js} +4 -4
- package/chunks/{handleAutoUpdate-SLCHZHWT.js → handleAutoUpdate-LX4OGPKI.js} +48 -47
- package/chunks/{i18n-4AFHUMG2.js → i18n-CSJNAMVB.js} +45 -44
- package/chunks/{image-gen-72F4XQEU.js → image-gen-GRJ73O3N.js} +6 -6
- package/chunks/{initializer-CDFNNZPN.js → initializer-UN73MGL2.js} +50 -49
- package/chunks/{installationInfo-WUQTTZHB.js → installationInfo-DOO2EVLV.js} +44 -43
- package/chunks/{list-K2EIWBPE.js → list-UMP3UXDE.js} +52 -51
- package/chunks/{llm-TLNZYLXJ.js → llm-4AHGUE2C.js} +81 -80
- package/chunks/{llm-content-generator-OXL4S7KY.js → llm-content-generator-I62R6Q4I.js} +4 -4
- package/chunks/{loadedSettingsAdapter-AUILEI5N.js → loadedSettingsAdapter-KHAGVCPO.js} +50 -49
- package/chunks/{local-execution-environment-OSK4IEYP.js → local-execution-environment-DOKSKTNZ.js} +39 -38
- package/chunks/{loggingContentGenerator-FINQP2Y4.js → loggingContentGenerator-53CAIYCN.js} +33 -32
- package/chunks/{managed-npm-update-5DFVQ475.js → managed-npm-update-KTATRLFZ.js} +44 -43
- package/chunks/{mcp-ZFQGAZRK.js → mcp-7GPEHQCC.js} +50 -49
- package/chunks/{model-call-collection-3WVMJQ5M.js → model-call-collection-J33XHZPS.js} +1 -1
- package/chunks/{model-configuration-TCLVVCJS.js → model-configuration-BK2FWMLQ.js} +51 -50
- package/chunks/{modelConfigUtils-LNDNXLJV.js → modelConfigUtils-RHOU5ENH.js} +46 -45
- package/chunks/{monitor-DVKR4R64.js → monitor-WXQOHZKP.js} +32 -31
- package/chunks/{nonInteractiveCli-JNH7PLWY.js → nonInteractiveCli-332KOMYW.js} +84 -83
- package/chunks/{nonInteractiveToolExecutor-L2K4LU2P.js → nonInteractiveToolExecutor-ULCR2RA7.js} +33 -32
- package/chunks/{notebook-edit-LLJZI52V.js → notebook-edit-HOKY5D6F.js} +33 -32
- package/chunks/{omni-4T23JD65.js → omni-O37J5JI3.js} +14 -14
- package/chunks/{openaiContentGenerator-Y5AW2S3K.js → openaiContentGenerator-62C5JSNE.js} +11 -11
- package/chunks/{openaiResponsesContentGenerator-VHLQZH36.js → openaiResponsesContentGenerator-JSS3U575.js} +5 -5
- package/chunks/{processUtils-OGQTTYVO.js → processUtils-Y66KDZSB.js} +2 -2
- package/chunks/{prompt-terminal-ledger-M23SMYZS.js → prompt-terminal-ledger-MXYMD7UN.js} +45 -44
- package/chunks/{proper-lockfile-YMJYGVGR.js → proper-lockfile-IRPL2CNM.js} +2 -1
- package/chunks/{pt-7ZZUXID3.js → pt-TCLIZMUA.js} +318 -5
- package/chunks/{reactive-degrade-CQ7ALF7Z.js → reactive-degrade-X2JSVX5V.js} +9 -9
- package/chunks/{read-file-TGXV7LRJ.js → read-file-UDFSKNBI.js} +4 -4
- package/chunks/{read-package-up-BNFTU7FA.js → read-package-up-MAONTKXW.js} +1 -1
- package/chunks/{record-source-PHBQTGL4.js → record-source-ANENC5K7.js} +3 -3
- package/chunks/{request-shutdown-OMWHNC3R.js → request-shutdown-LRWCJOEG.js} +2 -2
- package/chunks/{resumeHistoryUtils-5UTZ2RZE.js → resumeHistoryUtils-ABWHIQME.js} +49 -48
- package/chunks/{ripGrep-MJXCIT62.js → ripGrep-RMGB52RM.js} +8 -8
- package/chunks/{run-o1-code-serve-NFPIVOYJ.js → run-o1-code-serve-KVOUMETW.js} +37 -36
- package/chunks/{runtime-shell-policy-QXWSET5W.js → runtime-shell-policy-Y3TGAQLT.js} +1 -1
- package/chunks/{sandboxConfig-UOAIYSNY.js → sandboxConfig-6UNSTBMJ.js} +46 -45
- package/chunks/{scheduled-tasks-4MX5JTOU.js → scheduled-tasks-SHFPXK6P.js} +50 -49
- package/chunks/{scheduler-ZZCLKFWM.js → scheduler-N5K2SUQE.js} +46 -45
- package/chunks/{sdk-exporters-grpc-Q2GND2QR.js → sdk-exporters-grpc-J2ILXEUS.js} +377 -127
- package/chunks/{sdk-exporters-http-ALEY7IPF.js → sdk-exporters-http-HGBOA62S.js} +1 -1
- package/chunks/{sdk-impl-CFBASVEM.js → sdk-impl-G2NWB5MF.js} +4 -4
- package/chunks/{send-message-NATKTKQZ.js → send-message-QOWWQKZJ.js} +2 -2
- package/chunks/{serve-DGO6JMBA.js → serve-RQIMY7MC.js} +50 -49
- package/chunks/{server-N6BPWDPD.js → server-AA4LTEQ2.js} +92 -84
- package/chunks/{session-4YPHCRFC.js → session-4627GZ4S.js} +85 -84
- package/chunks/{session-attachments-root-RSL2YSFZ.js → session-attachments-root-Y4BXBBHX.js} +44 -43
- package/chunks/{session-pr-refresh-RPM3VLUQ.js → session-pr-refresh-XXIT42IO.js} +49 -48
- package/chunks/{settings-GSPRMMOT.js → settings-CHJS242C.js} +49 -48
- package/chunks/{shell-HWIE3YJY.js → shell-PDZIKVVS.js} +32 -31
- package/chunks/{skill-PAU4TRSD.js → skill-QOPISSJO.js} +8 -7
- package/chunks/{skill-settings-UFOTSN37.js → skill-settings-SSXT3JNN.js} +50 -49
- package/chunks/{spawnChannel-7IQPYOPP.js → spawnChannel-MPL2AUYX.js} +46 -45
- package/chunks/{standalone-update-U7HGJB2O.js → standalone-update-ACWQFW36.js} +47 -46
- package/chunks/{startInteractiveUI-N7XQZNFX.js → startInteractiveUI-PKMNIOMH.js} +4854 -3260
- package/chunks/{task-create-A3FAT34J.js → task-create-2BHPJUF3.js} +6 -5
- package/chunks/{task-list-FGRDSMJZ.js → task-list-6LPOL5UB.js} +3 -2
- package/chunks/{task-update-BE27HYCU.js → task-update-NGKKBFU5.js} +6 -5
- package/chunks/{team-create-4QRHJTSV.js → team-create-PDT7MW4F.js} +32 -31
- package/chunks/{team-delete-6T2NMHDV.js → team-delete-WBSKRFVF.js} +3 -2
- package/chunks/{team-plan-approval-U6QCZ3I7.js → team-plan-approval-4CFTZI2I.js} +32 -31
- package/chunks/{terminal-image-renderer-QRYTSBBI.js → terminal-image-renderer-C65IVJHI.js} +44 -43
- package/chunks/{theme-manager-VFNWDS5X.js → theme-manager-5FF3ROXZ.js} +44 -43
- package/chunks/{tool-call-7HZFNB7J.js → tool-call-GVZHLCX6.js} +3 -3
- package/chunks/{tool-result-media-NLHN7JZU.js → tool-result-media-YFEIOZDR.js} +14 -14
- package/chunks/{tool-search-QGTV2ON5.js → tool-search-WNOVTFBP.js} +6 -6
- package/chunks/{total-session-admission-PUJHR6FR.js → total-session-admission-Q6NUZVLI.js} +47 -46
- package/chunks/{trustedFolders-CLVE6DRI.js → trustedFolders-SFZUU4GO.js} +45 -44
- package/chunks/{undici-5EUQ6VID.js → undici-I7LHD7IT.js} +457 -166
- package/chunks/{update-relaunch-IPSN33OR.js → update-relaunch-ICPN37DV.js} +5 -5
- package/chunks/{updateCheck-REWSU2AC.js → updateCheck-PRCH4Y2X.js} +47 -46
- package/chunks/{upload-config-W3AEV3WP.js → upload-config-JG34DU4J.js} +7 -7
- package/chunks/{useAutoAcceptIndicator-2JODXT2R.js → useAutoAcceptIndicator-FZVG3NNO.js} +53 -52
- package/chunks/{validateNonInterActiveAuth-P5P5SI6T.js → validateNonInterActiveAuth-XRY2O6CQ.js} +81 -80
- package/chunks/{version-KCTVVQ6T.js → version-IU45BCJE.js} +2 -2
- package/chunks/{web-fetch-3Z32TKL7.js → web-fetch-WO3GHRIO.js} +8 -8
- package/chunks/{web-search-T7R5BOOJ.js → web-search-4GJLGZQM.js} +11 -11
- package/chunks/{web-shell-static-3BG3MTI5.js → web-shell-static-OOIIII74.js} +2 -2
- package/chunks/{workflow-XFMT6MFA.js → workflow-UG4V5VWR.js} +33 -32
- package/chunks/{workspace-providers-status-E2DKABEG.js → workspace-providers-status-IM5IUQXM.js} +56 -55
- package/chunks/{workspace-registration-store-FWU3W65M.js → workspace-registration-store-O36O7FTL.js} +3 -2
- package/chunks/{workspace-registry-EX6Q35BY.js → workspace-registry-TOE2NYGH.js} +47 -46
- package/chunks/{workspace-runtime-coordinator-RIA3VIAY.js → workspace-runtime-coordinator-LS7MYSDY.js} +48 -47
- package/chunks/{workspace-service-DDCBDEWZ.js → workspace-service-FL63YNEM.js} +55 -54
- package/chunks/{workspace-skills-status-B4J7CHRJ.js → workspace-skills-status-IXHCVUXS.js} +53 -52
- package/chunks/{workspace-trust-reconciler-HMJYGYMS.js → workspace-trust-reconciler-WTJ52TKZ.js} +53 -52
- package/chunks/{write-file-HVNSGPXF.js → write-file-VTHULBGP.js} +34 -33
- package/chunks/{zoom-image-WLBUTVWK.js → zoom-image-TJNJJATC.js} +4 -4
- package/cli.js +12 -12
- package/execution-worker.js +1 -1
- package/export-transcript-document.css +1 -1
- package/export-transcript-document.js +3 -3
- package/locales/en.js +156 -0
- package/locales/pt.js +428 -4
- package/package.json +3 -3
- package/release-notes.json +33 -0
- package/web-shell/assets/{abnfDiagram-VCTEODGH-x0S71JE3.js → abnfDiagram-VCTEODGH-anMh0rnI.js} +1 -1
- package/web-shell/assets/{arc-Cz75q_IV.js → arc-sPYpPSws.js} +1 -1
- package/web-shell/assets/architectureDiagram-5GKGNRK7-BKh0KCFR.js +36 -0
- package/web-shell/assets/{blockDiagram-NRAW4CY4-Vs4QVgsM.js → blockDiagram-NRAW4CY4-CUfywffW.js} +3 -3
- package/web-shell/assets/c4Diagram-UCG6FXSJ-CM2pLl5w.js +38 -0
- package/web-shell/assets/channel-DRltBDks.js +1 -0
- package/web-shell/assets/{chunk-2Q5K7J3B-6wq4aY1J.js → chunk-2Q5K7J3B-n9OTAsCE.js} +1 -1
- package/web-shell/assets/{chunk-5VM5RSS4-Bo9m0SiQ.js → chunk-5VM5RSS4-CC3dLmo9.js} +1 -1
- package/web-shell/assets/chunk-F27PBJKO-pIte4woe.js +1 -0
- package/web-shell/assets/chunk-G27WJ6UU-Bd4q9Va0.js +231 -0
- package/web-shell/assets/{chunk-JWPE2WC7-DT5_JHb_.js → chunk-JWPE2WC7-C1ornOGN.js} +1 -1
- package/web-shell/assets/chunk-LCL6LL3I-w09p9W09.js +206 -0
- package/web-shell/assets/{chunk-POPQ4Y6H-CryAaWS9.js → chunk-POPQ4Y6H-CHY7aAx4.js} +1 -1
- package/web-shell/assets/{chunk-SVP7TREG-D0mJDzI7.js → chunk-SVP7TREG-DKqS6ObW.js} +1 -1
- package/web-shell/assets/{chunk-XXDRQBXY-C5ffwsCM.js → chunk-XXDRQBXY-DWqNHE5T.js} +1 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-Bs6uTgrQ.js +1 -0
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-Bs6uTgrQ.js +1 -0
- package/web-shell/assets/cose-bilkent-JH36ORCC-CTuORHW-.js +1 -0
- package/web-shell/assets/{cynefin-OW5HDTMX-BnL4xySG.js → cynefin-OW5HDTMX-D38bIRGV.js} +8 -8
- package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-C_Vfdoz6.js → cynefinDiagram-5FMLGOSQ-zojG5SHE.js} +1 -1
- package/web-shell/assets/cytoscape.esm-OyMbaexL.js +331 -0
- package/web-shell/assets/{dagre-3AP2YEHR-DYpnUd3X.js → dagre-3AP2YEHR-B_mgdgxG.js} +1 -1
- package/web-shell/assets/{diagram-S7CK7UJ4-Oar04chd.js → diagram-S7CK7UJ4-Boe4tqaP.js} +1 -1
- package/web-shell/assets/{diagram-UQ7AKVKN-CdWEMvLi.js → diagram-UQ7AKVKN-DEFdgAk5.js} +1 -1
- package/web-shell/assets/{diagram-VSXAHHWV-Bir5CZNv.js → diagram-VSXAHHWV-lg-aIy2H.js} +1 -1
- package/web-shell/assets/diagram-VX7I27RA-B8GfIB8O.js +24 -0
- package/web-shell/assets/{diagram-Z3DM3KII-r1AOVQ0e.js → diagram-Z3DM3KII-B9d7kR6t.js} +1 -1
- package/web-shell/assets/{ebnfDiagram-PWID7BFC-DevtH3i5.js → ebnfDiagram-PWID7BFC-BbKPC4Lq.js} +1 -1
- package/web-shell/assets/erDiagram-SSCWMZ5O-CRAgoOe5.js +99 -0
- package/web-shell/assets/{flowDiagram-A5DVABFB-DgJ1KxI-.js → flowDiagram-A5DVABFB-Ur3ln_JM.js} +4 -4
- package/web-shell/assets/ganttDiagram-EL5Y4UJY-C9BN2b5E.js +292 -0
- package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-vCX1mSs_.js → gitGraphDiagram-WWUBYQGX-CRfkh-0v.js} +1 -1
- package/web-shell/assets/index-CL4z8Fsq.js +74 -0
- package/web-shell/assets/index-CNsJ4Mpd.css +36 -0
- package/web-shell/assets/index-CeQlCdwD.js +2276 -0
- package/web-shell/assets/{index-BEFE9XEw.js → index-DiA0wMqK.js} +1 -1
- package/web-shell/assets/{infoDiagram-RXCK75RN-_NepfAGI.js → infoDiagram-RXCK75RN-DK1-ESA4.js} +1 -1
- package/web-shell/assets/ishikawaDiagram-5VMMS53U-kxpIDlCX.js +70 -0
- package/web-shell/assets/journeyDiagram-EYS64GPL-DQ9EbXpv.js +139 -0
- package/web-shell/assets/{kanban-definition-3QL26DDD-BYaNwMqV.js → kanban-definition-3QL26DDD-UYveUTce.js} +3 -3
- package/web-shell/assets/layout-BPonaHzT.js +1 -0
- package/web-shell/assets/{linear-BEpGEQC7.js → linear-C-eJXPTS.js} +1 -1
- package/web-shell/assets/mermaid.core-BX1Kz_A0.js +312 -0
- package/web-shell/assets/{mindmap-definition-FBJOCRG2-Ci7nWQV9.js → mindmap-definition-FBJOCRG2-B6QyHOu0.js} +3 -3
- package/web-shell/assets/{pegDiagram-XKGWAZYB-CgNvWMe-.js → pegDiagram-XKGWAZYB-Caflqhs8.js} +1 -1
- package/web-shell/assets/{pieDiagram-E7YTZNPT-4V5XLQqW.js → pieDiagram-E7YTZNPT-6zzkWzNt.js} +1 -1
- package/web-shell/assets/quadrantDiagram-AXDQQJYC-BVL3cBz2.js +7 -0
- package/web-shell/assets/{railroadDiagram-O6MQD6OU-BjXTf6pU.js → railroadDiagram-O6MQD6OU-DqBEO3-Z.js} +1 -1
- package/web-shell/assets/requirementDiagram-EFPCY7ZU-CBFGB-6Q.js +84 -0
- package/web-shell/assets/{sankeyDiagram-P5KCCOFB-D75QSw7n.js → sankeyDiagram-P5KCCOFB-DOpW98KL.js} +3 -3
- package/web-shell/assets/sequenceDiagram-WJ2MYXX4-CVtDqArI.js +162 -0
- package/web-shell/assets/{sizeCapture-X5ZJPWSS-fFMG4DvB.js → sizeCapture-X5ZJPWSS-DQjMKuHP.js} +1 -1
- package/web-shell/assets/{stateDiagram-HBIQ2CUA-B1p5bjb3.js → stateDiagram-HBIQ2CUA-D4n_VP2j.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-Cy-H3uc5.js +1 -0
- package/web-shell/assets/swimlanes-XN3QIQJK-Dvr4Gk5J.js +1 -0
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-BmzgGPpR.js +8 -0
- package/web-shell/assets/timeline-definition-24CTP7MA-DXsPhzEF.js +120 -0
- package/web-shell/assets/{vennDiagram-4TSXK5OY-CFmjd4GT.js → vennDiagram-4TSXK5OY-aA8X42UU.js} +4 -4
- package/web-shell/assets/{wardleyDiagram-VM6X3IG4-DXyVTjgN.js → wardleyDiagram-VM6X3IG4-CuOx8tlj.js} +2 -2
- package/web-shell/assets/xychartDiagram-S5SC5T6Z-DIc2TzVm.js +7 -0
- package/web-shell/index.html +2 -2
- package/web-shell/sw.js +1 -1
- package/chunks/esm-QGHTLT3P.js +0 -5549
- package/web-shell/assets/architectureDiagram-5GKGNRK7-C_dL06R0.js +0 -36
- package/web-shell/assets/c4Diagram-UCG6FXSJ-CgRK6Jz0.js +0 -38
- package/web-shell/assets/channel-pE79vspw.js +0 -1
- package/web-shell/assets/chunk-F27PBJKO-C4L0MjFe.js +0 -1
- package/web-shell/assets/chunk-G27WJ6UU-BDQDTWF7.js +0 -231
- package/web-shell/assets/chunk-LCL6LL3I-1yVri9gU.js +0 -206
- package/web-shell/assets/classDiagram-DTDB5LWJ-0QITOU6l.js +0 -1
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-0QITOU6l.js +0 -1
- package/web-shell/assets/cose-bilkent-JH36ORCC-DHE8Zr-F.js +0 -1
- package/web-shell/assets/cytoscape.esm-DJK6lGiH.js +0 -331
- package/web-shell/assets/diagram-VX7I27RA-Bm1O69Id.js +0 -24
- package/web-shell/assets/erDiagram-SSCWMZ5O-SFNjhQIj.js +0 -99
- package/web-shell/assets/ganttDiagram-EL5Y4UJY-oAT0EGwX.js +0 -292
- package/web-shell/assets/index-Cqj9WNLr.js +0 -2276
- package/web-shell/assets/index-DfyXIq26.css +0 -36
- package/web-shell/assets/index-DohPy72Z.js +0 -74
- package/web-shell/assets/ishikawaDiagram-5VMMS53U-Bk3wYLfy.js +0 -70
- package/web-shell/assets/journeyDiagram-EYS64GPL-DUUHuAKD.js +0 -139
- package/web-shell/assets/layout-CH_OWxT7.js +0 -1
- package/web-shell/assets/mermaid.core-DhaXOJnx.js +0 -312
- package/web-shell/assets/quadrantDiagram-AXDQQJYC-DPdypjO1.js +0 -7
- package/web-shell/assets/requirementDiagram-EFPCY7ZU-DJss5V5T.js +0 -84
- package/web-shell/assets/sequenceDiagram-WJ2MYXX4-BDhXaEt_.js +0 -162
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-CSbHD2Wn.js +0 -1
- package/web-shell/assets/swimlanes-XN3QIQJK-bPx7cEqz.js +0 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-DTnMbaNo.js +0 -8
- package/web-shell/assets/timeline-definition-24CTP7MA-B3LCneiU.js +0 -120
- package/web-shell/assets/xychartDiagram-S5SC5T6Z-y2w_UoEl.js +0 -7
|
@@ -27,13 +27,13 @@ import {
|
|
|
27
27
|
sendStructuredMessage,
|
|
28
28
|
wrapConfirmWithBadge,
|
|
29
29
|
writeMessage
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-7H3GWNGJ.js";
|
|
31
31
|
import {
|
|
32
32
|
claimTask,
|
|
33
33
|
listTasks,
|
|
34
34
|
onTasksUpdated,
|
|
35
35
|
unassignTeammateTasks
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-X427DWFD.js";
|
|
37
37
|
import {
|
|
38
38
|
SessionArtifactSnapshotAccumulator,
|
|
39
39
|
aggregateTranscriptRecordFragments,
|
|
@@ -121,10 +121,10 @@ import {
|
|
|
121
121
|
stringify,
|
|
122
122
|
validateGoalProposalReason,
|
|
123
123
|
validateSkillName
|
|
124
|
-
} from "./chunk-
|
|
124
|
+
} from "./chunk-EB5V6K5E.js";
|
|
125
125
|
import {
|
|
126
126
|
canUseRipgrep
|
|
127
|
-
} from "./chunk-
|
|
127
|
+
} from "./chunk-XHYWPHWN.js";
|
|
128
128
|
import {
|
|
129
129
|
AGENT_WORKTREE_SLUG_PATTERN,
|
|
130
130
|
GitWorktreeService,
|
|
@@ -138,7 +138,7 @@ import {
|
|
|
138
138
|
worktreeHasWork,
|
|
139
139
|
writeRuntimeStatus,
|
|
140
140
|
writeWorktreeSessionMarker
|
|
141
|
-
} from "./chunk-
|
|
141
|
+
} from "./chunk-3KUQCZUE.js";
|
|
142
142
|
import {
|
|
143
143
|
hasVerifiableInode,
|
|
144
144
|
openSyncNoFollow
|
|
@@ -168,17 +168,17 @@ import {
|
|
|
168
168
|
import {
|
|
169
169
|
buildModelIdContext,
|
|
170
170
|
resolveModelId
|
|
171
|
-
} from "./chunk-
|
|
171
|
+
} from "./chunk-PLGVOOCJ.js";
|
|
172
172
|
import {
|
|
173
173
|
glob,
|
|
174
174
|
globSync
|
|
175
|
-
} from "./chunk-
|
|
175
|
+
} from "./chunk-4ESI3MQ5.js";
|
|
176
176
|
import {
|
|
177
177
|
isTruthy
|
|
178
178
|
} from "./chunk-SYMKXR42.js";
|
|
179
179
|
import {
|
|
180
180
|
normalizeImageGenerationBaseUrl
|
|
181
|
-
} from "./chunk-
|
|
181
|
+
} from "./chunk-7M4NSLWM.js";
|
|
182
182
|
import {
|
|
183
183
|
restoreSessionSources
|
|
184
184
|
} from "./chunk-CDYMT4OZ.js";
|
|
@@ -194,7 +194,7 @@ import {
|
|
|
194
194
|
getShellPagerEnv,
|
|
195
195
|
isSignalTermination,
|
|
196
196
|
normalizePathEnvForWindows
|
|
197
|
-
} from "./chunk-
|
|
197
|
+
} from "./chunk-QCONHGJR.js";
|
|
198
198
|
import {
|
|
199
199
|
stripAnsi
|
|
200
200
|
} from "./chunk-WU3R2YUE.js";
|
|
@@ -219,7 +219,7 @@ import {
|
|
|
219
219
|
shouldDefaultToNodePty,
|
|
220
220
|
splitCommands,
|
|
221
221
|
stripShellWrapper
|
|
222
|
-
} from "./chunk-
|
|
222
|
+
} from "./chunk-J5UW3SF4.js";
|
|
223
223
|
import {
|
|
224
224
|
resolveBundleDir
|
|
225
225
|
} from "./chunk-Z2IHOXIK.js";
|
|
@@ -235,7 +235,7 @@ import {
|
|
|
235
235
|
admitShellSandbox,
|
|
236
236
|
assertShellSandboxCwd,
|
|
237
237
|
probeShellSandbox
|
|
238
|
-
} from "./chunk-
|
|
238
|
+
} from "./chunk-N7NBYHMJ.js";
|
|
239
239
|
import {
|
|
240
240
|
resolveNetworkTarget
|
|
241
241
|
} from "./chunk-HPQNI3OQ.js";
|
|
@@ -243,10 +243,10 @@ import {
|
|
|
243
243
|
delay,
|
|
244
244
|
isUnattendedMode,
|
|
245
245
|
retryWithBackoff
|
|
246
|
-
} from "./chunk-
|
|
246
|
+
} from "./chunk-VIAJ74X3.js";
|
|
247
247
|
import {
|
|
248
248
|
isOmniDeliveryActive
|
|
249
|
-
} from "./chunk-
|
|
249
|
+
} from "./chunk-HK7AV2JH.js";
|
|
250
250
|
import {
|
|
251
251
|
MediaResourceRegistry,
|
|
252
252
|
evaluateMediaPolicyToolCall,
|
|
@@ -255,12 +255,12 @@ import {
|
|
|
255
255
|
} from "./chunk-CI2ZHR5C.js";
|
|
256
256
|
import {
|
|
257
257
|
require_proper_lockfile
|
|
258
|
-
} from "./chunk-
|
|
258
|
+
} from "./chunk-4LCUE7BN.js";
|
|
259
259
|
import {
|
|
260
260
|
DEFERRED_TOOL_CALL_CANCELLATION_PREFIX,
|
|
261
261
|
DEFERRED_TOOL_CALL_REFUSAL_PREFIX,
|
|
262
262
|
resolveDeferredToolCall
|
|
263
|
-
} from "./chunk-
|
|
263
|
+
} from "./chunk-7LFCBMVX.js";
|
|
264
264
|
import {
|
|
265
265
|
EXCLUDED_TOOLS_FOR_SUBAGENTS,
|
|
266
266
|
READ_ONLY_INSPECTION_TOOLS,
|
|
@@ -289,13 +289,13 @@ import {
|
|
|
289
289
|
splitCompoundCommand,
|
|
290
290
|
splitCompoundCommandSegments,
|
|
291
291
|
toolMatchesRuleToolName
|
|
292
|
-
} from "./chunk-
|
|
292
|
+
} from "./chunk-OJSW65PQ.js";
|
|
293
293
|
import {
|
|
294
294
|
APPROVAL_MODES
|
|
295
295
|
} from "./chunk-KQAVEXYD.js";
|
|
296
296
|
import {
|
|
297
297
|
require_shell_quote
|
|
298
|
-
} from "./chunk-
|
|
298
|
+
} from "./chunk-WZCKDUBO.js";
|
|
299
299
|
import {
|
|
300
300
|
AskUserQuestionTool,
|
|
301
301
|
TrustedUserAnswers,
|
|
@@ -336,7 +336,7 @@ import {
|
|
|
336
336
|
import {
|
|
337
337
|
DashScopeOpenAICompatibleProvider,
|
|
338
338
|
selectDashScopeThinkingKnob
|
|
339
|
-
} from "./chunk-
|
|
339
|
+
} from "./chunk-UDWKKKF3.js";
|
|
340
340
|
import {
|
|
341
341
|
childLaunchDepth,
|
|
342
342
|
getCurrentAgentConfiguredToolAllowlist,
|
|
@@ -382,7 +382,7 @@ import {
|
|
|
382
382
|
isRateLimitError,
|
|
383
383
|
isRetryableUpstreamError,
|
|
384
384
|
isStructuredError
|
|
385
|
-
} from "./chunk-
|
|
385
|
+
} from "./chunk-7USF7X6U.js";
|
|
386
386
|
import {
|
|
387
387
|
combineAbortSignals,
|
|
388
388
|
createAbortController,
|
|
@@ -390,7 +390,7 @@ import {
|
|
|
390
390
|
} from "./chunk-O4IWNFDK.js";
|
|
391
391
|
import {
|
|
392
392
|
ResponsesHttpError
|
|
393
|
-
} from "./chunk-
|
|
393
|
+
} from "./chunk-MWFHMYVA.js";
|
|
394
394
|
import {
|
|
395
395
|
getThoughtSummary
|
|
396
396
|
} from "./chunk-CP63SY5N.js";
|
|
@@ -408,14 +408,14 @@ import {
|
|
|
408
408
|
resolveSavedModelApiKey,
|
|
409
409
|
stripRuntimeSnapshotPrefix,
|
|
410
410
|
validateReasoningCapabilities
|
|
411
|
-
} from "./chunk-
|
|
411
|
+
} from "./chunk-JHZM32LS.js";
|
|
412
412
|
import {
|
|
413
413
|
BaseTokenStorage,
|
|
414
414
|
KeychainTokenStorage
|
|
415
415
|
} from "./chunk-RS2LNQEC.js";
|
|
416
416
|
import {
|
|
417
417
|
addDaemonRequestAttribute
|
|
418
|
-
} from "./chunk-
|
|
418
|
+
} from "./chunk-HCE5HUQG.js";
|
|
419
419
|
import {
|
|
420
420
|
ApiRetryEvent,
|
|
421
421
|
COMBINED_PASS_TOLERANCE_FACTOR,
|
|
@@ -508,7 +508,7 @@ import {
|
|
|
508
508
|
updateMCPServerStatus,
|
|
509
509
|
writeLine,
|
|
510
510
|
writeLineSync
|
|
511
|
-
} from "./chunk-
|
|
511
|
+
} from "./chunk-BSLKB37V.js";
|
|
512
512
|
import {
|
|
513
513
|
Mutex
|
|
514
514
|
} from "./chunk-242JUBPM.js";
|
|
@@ -599,14 +599,14 @@ import {
|
|
|
599
599
|
resolveContentGeneratorConfigWithSources,
|
|
600
600
|
setGeneratorReasoningEffort,
|
|
601
601
|
tokenLimit
|
|
602
|
-
} from "./chunk-
|
|
602
|
+
} from "./chunk-H2U6QRJX.js";
|
|
603
603
|
import {
|
|
604
604
|
getOrCreateMcpDispatcher,
|
|
605
605
|
loadUndici,
|
|
606
606
|
preloadRuntimeFetchModule,
|
|
607
607
|
redactProxyError,
|
|
608
608
|
setResolvedProxyUrlForRuntimeFetch
|
|
609
|
-
} from "./chunk-
|
|
609
|
+
} from "./chunk-HDGYCLNB.js";
|
|
610
610
|
import {
|
|
611
611
|
DEFAULT_O1CODE_MODEL
|
|
612
612
|
} from "./chunk-LEXKU5FI.js";
|
|
@@ -758,7 +758,7 @@ import {
|
|
|
758
758
|
startToolExecutionSpan,
|
|
759
759
|
startToolSpan,
|
|
760
760
|
truncateSpanError
|
|
761
|
-
} from "./chunk-
|
|
761
|
+
} from "./chunk-ER3EHNTV.js";
|
|
762
762
|
import {
|
|
763
763
|
normalizeContent,
|
|
764
764
|
stripAnsiAndControl,
|
|
@@ -36461,7 +36461,7 @@ var LlmChat = class {
|
|
|
36461
36461
|
const degradeAttempt = omniMediaDegradeAttempts++;
|
|
36462
36462
|
let degradeOutcome;
|
|
36463
36463
|
try {
|
|
36464
|
-
const { degradeOmniMediaAfterServerReject } = await import("./reactive-degrade-
|
|
36464
|
+
const { degradeOmniMediaAfterServerReject } = await import("./reactive-degrade-X2JSVX5V.js");
|
|
36465
36465
|
degradeOutcome = await degradeOmniMediaAfterServerReject(
|
|
36466
36466
|
self2.config,
|
|
36467
36467
|
self2.history,
|
|
@@ -70354,7 +70354,12 @@ var OAuthTokensSchema = object2({
|
|
|
70354
70354
|
token_type: string2(),
|
|
70355
70355
|
expires_in: coerce_exports.number().optional(),
|
|
70356
70356
|
scope: string2().optional(),
|
|
70357
|
-
refresh_token: string2().optional()
|
|
70357
|
+
refresh_token: string2().optional(),
|
|
70358
|
+
/**
|
|
70359
|
+
* Not part of the wire format: the authorization server this value was obtained from, added by
|
|
70360
|
+
* the client's `auth()` before it is stored and compared when it is read back.
|
|
70361
|
+
*/
|
|
70362
|
+
issuer: string2().optional().catch(void 0)
|
|
70358
70363
|
}).strip();
|
|
70359
70364
|
var OAuthErrorResponseSchema = object2({
|
|
70360
70365
|
error: string2(),
|
|
@@ -70384,7 +70389,12 @@ var OAuthClientInformationSchema = object2({
|
|
|
70384
70389
|
client_id: string2(),
|
|
70385
70390
|
client_secret: string2().optional(),
|
|
70386
70391
|
client_id_issued_at: number2().optional(),
|
|
70387
|
-
client_secret_expires_at: number2().optional()
|
|
70392
|
+
client_secret_expires_at: number2().optional(),
|
|
70393
|
+
/**
|
|
70394
|
+
* Not part of the wire format: the authorization server this value was obtained from, added by
|
|
70395
|
+
* the client's `auth()` before it is stored and compared when it is read back.
|
|
70396
|
+
*/
|
|
70397
|
+
issuer: string2().optional().catch(void 0)
|
|
70388
70398
|
}).strip();
|
|
70389
70399
|
var OAuthClientInformationFullSchema = OAuthClientMetadataSchema.merge(OAuthClientInformationSchema);
|
|
70390
70400
|
var OAuthClientRegistrationErrorSchema = object2({
|
|
@@ -70654,6 +70664,29 @@ async function parseErrorResponse(input) {
|
|
|
70654
70664
|
}
|
|
70655
70665
|
}
|
|
70656
70666
|
__name(parseErrorResponse, "parseErrorResponse");
|
|
70667
|
+
function issuersMatch(a, b2) {
|
|
70668
|
+
let [x, y] = [a, b2];
|
|
70669
|
+
try {
|
|
70670
|
+
[x, y] = [new URL(a).href, new URL(b2).href];
|
|
70671
|
+
} catch {
|
|
70672
|
+
}
|
|
70673
|
+
return x === y || x.endsWith("/") && x.slice(0, -1) === y || y.endsWith("/") && y.slice(0, -1) === x;
|
|
70674
|
+
}
|
|
70675
|
+
__name(issuersMatch, "issuersMatch");
|
|
70676
|
+
function discardIfIssuerMismatch(stored, issuer) {
|
|
70677
|
+
if (!stored)
|
|
70678
|
+
return void 0;
|
|
70679
|
+
if (typeof stored.issuer !== "string")
|
|
70680
|
+
return stored.issuer == null ? stored : { ...stored, issuer: void 0 };
|
|
70681
|
+
return issuersMatch(stored.issuer, issuer) ? stored : void 0;
|
|
70682
|
+
}
|
|
70683
|
+
__name(discardIfIssuerMismatch, "discardIfIssuerMismatch");
|
|
70684
|
+
var TokenResponseSchema = OAuthTokensSchema.omit({ issuer: true });
|
|
70685
|
+
var RegistrationResponseSchema = OAuthClientInformationFullSchema.omit({ issuer: true });
|
|
70686
|
+
function boundElsewhereError(stored, issuer) {
|
|
70687
|
+
return new Error(`OAuth client information is bound to authorization server ${stored.issuer} and is not presented to ${issuer}. Clear the stored client information, or correct \`expectedIssuer\`, if the authorization server has moved.`);
|
|
70688
|
+
}
|
|
70689
|
+
__name(boundElsewhereError, "boundElsewhereError");
|
|
70657
70690
|
async function auth(provider, options2) {
|
|
70658
70691
|
try {
|
|
70659
70692
|
return await authInternal(provider, options2);
|
|
@@ -70708,9 +70741,24 @@ async function authInternal(provider, { serverUrl, authorizationCode, scope, res
|
|
|
70708
70741
|
authorizationServerMetadata: metadata
|
|
70709
70742
|
});
|
|
70710
70743
|
}
|
|
70711
|
-
const
|
|
70744
|
+
const issuer = String(authorizationServerUrl);
|
|
70745
|
+
const selectedResource = await selectResourceURL(serverUrl, provider, resourceMetadata);
|
|
70746
|
+
const resource = selectedResource && resourceMetadata && !provider.validateResourceURL ? resourceMetadata.resource : selectedResource;
|
|
70712
70747
|
const resolvedScope = scope || resourceMetadata?.scopes_supported?.join(" ") || provider.clientMetadata.scope;
|
|
70713
|
-
|
|
70748
|
+
const storedClientInformation = await Promise.resolve(provider.clientInformation());
|
|
70749
|
+
let clientInformation = discardIfIssuerMismatch(storedClientInformation, issuer);
|
|
70750
|
+
const canRegisterAgain = provider.saveClientInformation !== void 0 && !!provider.redirectUrl;
|
|
70751
|
+
if (storedClientInformation && !clientInformation && !canRegisterAgain) {
|
|
70752
|
+
throw boundElsewhereError(storedClientInformation, issuer);
|
|
70753
|
+
}
|
|
70754
|
+
const unstampedClientInformation = clientInformation?.issuer == null ? clientInformation : void 0;
|
|
70755
|
+
const bindClientInformation = /* @__PURE__ */ __name(async () => {
|
|
70756
|
+
try {
|
|
70757
|
+
if (unstampedClientInformation)
|
|
70758
|
+
await provider.saveClientInformation?.({ ...unstampedClientInformation, issuer });
|
|
70759
|
+
} catch {
|
|
70760
|
+
}
|
|
70761
|
+
}, "bindClientInformation");
|
|
70714
70762
|
if (!clientInformation) {
|
|
70715
70763
|
if (authorizationCode !== void 0) {
|
|
70716
70764
|
throw new Error("Existing OAuth client information is required when exchanging an authorization code");
|
|
@@ -70722,9 +70770,7 @@ async function authInternal(provider, { serverUrl, authorizationCode, scope, res
|
|
|
70722
70770
|
}
|
|
70723
70771
|
const shouldUseUrlBasedClientId = supportsUrlBasedClientId && clientMetadataUrl;
|
|
70724
70772
|
if (shouldUseUrlBasedClientId) {
|
|
70725
|
-
clientInformation = {
|
|
70726
|
-
client_id: clientMetadataUrl
|
|
70727
|
-
};
|
|
70773
|
+
clientInformation = { client_id: clientMetadataUrl, issuer };
|
|
70728
70774
|
await provider.saveClientInformation?.(clientInformation);
|
|
70729
70775
|
} else {
|
|
70730
70776
|
if (!provider.saveClientInformation) {
|
|
@@ -70736,8 +70782,8 @@ async function authInternal(provider, { serverUrl, authorizationCode, scope, res
|
|
|
70736
70782
|
scope: resolvedScope,
|
|
70737
70783
|
fetchFn
|
|
70738
70784
|
});
|
|
70739
|
-
|
|
70740
|
-
clientInformation
|
|
70785
|
+
clientInformation = { ...fullInformation, issuer };
|
|
70786
|
+
await provider.saveClientInformation(clientInformation);
|
|
70741
70787
|
}
|
|
70742
70788
|
}
|
|
70743
70789
|
const nonInteractiveFlow = !provider.redirectUrl;
|
|
@@ -70748,10 +70794,14 @@ async function authInternal(provider, { serverUrl, authorizationCode, scope, res
|
|
|
70748
70794
|
authorizationCode,
|
|
70749
70795
|
fetchFn
|
|
70750
70796
|
});
|
|
70751
|
-
await
|
|
70797
|
+
await bindClientInformation();
|
|
70798
|
+
await provider.saveTokens({ ...tokens2, issuer });
|
|
70752
70799
|
return "AUTHORIZED";
|
|
70753
70800
|
}
|
|
70754
|
-
const tokens = await provider.tokens();
|
|
70801
|
+
const tokens = discardIfIssuerMismatch(await provider.tokens(), issuer);
|
|
70802
|
+
if (tokens?.refresh_token && tokens.issuer == null) {
|
|
70803
|
+
console.warn("[mcp-sdk] stored OAuth tokens have no 'issuer' property (saved by an earlier version, or by a provider that does not keep it) and are used as-is; make sure your OAuthClientProvider stores what saveTokens() and saveClientInformation() receive unchanged.");
|
|
70804
|
+
}
|
|
70755
70805
|
if (tokens?.refresh_token) {
|
|
70756
70806
|
try {
|
|
70757
70807
|
const newTokens = await refreshAuthorization(authorizationServerUrl, {
|
|
@@ -70762,7 +70812,8 @@ async function authInternal(provider, { serverUrl, authorizationCode, scope, res
|
|
|
70762
70812
|
addClientAuthentication: provider.addClientAuthentication,
|
|
70763
70813
|
fetchFn
|
|
70764
70814
|
});
|
|
70765
|
-
await
|
|
70815
|
+
await bindClientInformation();
|
|
70816
|
+
await provider.saveTokens({ ...newTokens, issuer });
|
|
70766
70817
|
return "AUTHORIZED";
|
|
70767
70818
|
} catch (error42) {
|
|
70768
70819
|
if (!(error42 instanceof OAuthError) || error42 instanceof ServerError) {
|
|
@@ -70999,6 +71050,10 @@ async function discoverOAuthServerInfo(serverUrl, opts) {
|
|
|
70999
71050
|
};
|
|
71000
71051
|
}
|
|
71001
71052
|
__name(discoverOAuthServerInfo, "discoverOAuthServerInfo");
|
|
71053
|
+
function resourceIndicatorToString(resource) {
|
|
71054
|
+
return typeof resource === "string" ? resource : resource.href;
|
|
71055
|
+
}
|
|
71056
|
+
__name(resourceIndicatorToString, "resourceIndicatorToString");
|
|
71002
71057
|
async function startAuthorization(authorizationServerUrl, { metadata, clientInformation, redirectUrl, scope, state, resource }) {
|
|
71003
71058
|
let authorizationUrl;
|
|
71004
71059
|
if (metadata) {
|
|
@@ -71030,7 +71085,7 @@ async function startAuthorization(authorizationServerUrl, { metadata, clientInfo
|
|
|
71030
71085
|
authorizationUrl.searchParams.append("prompt", "consent");
|
|
71031
71086
|
}
|
|
71032
71087
|
if (resource) {
|
|
71033
|
-
authorizationUrl.searchParams.set("resource", resource
|
|
71088
|
+
authorizationUrl.searchParams.set("resource", resourceIndicatorToString(resource));
|
|
71034
71089
|
}
|
|
71035
71090
|
return { authorizationUrl, codeVerifier };
|
|
71036
71091
|
}
|
|
@@ -71051,7 +71106,7 @@ async function executeTokenRequest(authorizationServerUrl, { metadata, tokenRequ
|
|
|
71051
71106
|
Accept: "application/json"
|
|
71052
71107
|
});
|
|
71053
71108
|
if (resource) {
|
|
71054
|
-
tokenRequestParams.set("resource", resource
|
|
71109
|
+
tokenRequestParams.set("resource", resourceIndicatorToString(resource));
|
|
71055
71110
|
}
|
|
71056
71111
|
if (addClientAuthentication) {
|
|
71057
71112
|
await addClientAuthentication(headers, tokenRequestParams, tokenUrl, metadata);
|
|
@@ -71068,7 +71123,7 @@ async function executeTokenRequest(authorizationServerUrl, { metadata, tokenRequ
|
|
|
71068
71123
|
if (!response.ok) {
|
|
71069
71124
|
throw await parseErrorResponse(response);
|
|
71070
71125
|
}
|
|
71071
|
-
return
|
|
71126
|
+
return TokenResponseSchema.parse(await response.json());
|
|
71072
71127
|
}
|
|
71073
71128
|
__name(executeTokenRequest, "executeTokenRequest");
|
|
71074
71129
|
async function refreshAuthorization(authorizationServerUrl, { metadata, clientInformation, refreshToken, resource, addClientAuthentication, fetchFn }) {
|
|
@@ -71088,6 +71143,15 @@ async function refreshAuthorization(authorizationServerUrl, { metadata, clientIn
|
|
|
71088
71143
|
}
|
|
71089
71144
|
__name(refreshAuthorization, "refreshAuthorization");
|
|
71090
71145
|
async function fetchToken(provider, authorizationServerUrl, { metadata, resource, authorizationCode, fetchFn } = {}) {
|
|
71146
|
+
const readClientInformation = /* @__PURE__ */ __name(async () => {
|
|
71147
|
+
const storedClientInformation = await provider.clientInformation();
|
|
71148
|
+
const checked = discardIfIssuerMismatch(storedClientInformation, String(authorizationServerUrl));
|
|
71149
|
+
if (storedClientInformation && !checked) {
|
|
71150
|
+
throw boundElsewhereError(storedClientInformation, String(authorizationServerUrl));
|
|
71151
|
+
}
|
|
71152
|
+
return checked;
|
|
71153
|
+
}, "readClientInformation");
|
|
71154
|
+
let clientInformation = await readClientInformation();
|
|
71091
71155
|
const scope = provider.clientMetadata.scope;
|
|
71092
71156
|
let tokenRequestParams;
|
|
71093
71157
|
if (provider.prepareTokenRequest) {
|
|
@@ -71103,11 +71167,11 @@ async function fetchToken(provider, authorizationServerUrl, { metadata, resource
|
|
|
71103
71167
|
const codeVerifier = await provider.codeVerifier();
|
|
71104
71168
|
tokenRequestParams = prepareAuthorizationCodeRequest(authorizationCode, codeVerifier, provider.redirectUrl);
|
|
71105
71169
|
}
|
|
71106
|
-
|
|
71170
|
+
clientInformation ?? (clientInformation = await readClientInformation());
|
|
71107
71171
|
return executeTokenRequest(authorizationServerUrl, {
|
|
71108
71172
|
metadata,
|
|
71109
71173
|
tokenRequestParams,
|
|
71110
|
-
clientInformation
|
|
71174
|
+
clientInformation,
|
|
71111
71175
|
addClientAuthentication: provider.addClientAuthentication,
|
|
71112
71176
|
resource,
|
|
71113
71177
|
fetchFn
|
|
@@ -71137,7 +71201,7 @@ async function registerClient(authorizationServerUrl, { metadata, clientMetadata
|
|
|
71137
71201
|
if (!response.ok) {
|
|
71138
71202
|
throw await parseErrorResponse(response);
|
|
71139
71203
|
}
|
|
71140
|
-
return
|
|
71204
|
+
return RegistrationResponseSchema.parse(await response.json());
|
|
71141
71205
|
}
|
|
71142
71206
|
__name(registerClient, "registerClient");
|
|
71143
71207
|
|
|
@@ -74115,7 +74179,7 @@ var CoreToolScheduler = class _CoreToolScheduler {
|
|
|
74115
74179
|
const notices = [];
|
|
74116
74180
|
let omniProcessed = responseParts;
|
|
74117
74181
|
if (this.config.isOmniEnabled?.()) {
|
|
74118
|
-
const { processToolResultOmniMedia } = await import("./tool-result-media-
|
|
74182
|
+
const { processToolResultOmniMedia } = await import("./tool-result-media-YFEIOZDR.js");
|
|
74119
74183
|
omniProcessed = await processToolResultOmniMedia(
|
|
74120
74184
|
responseParts,
|
|
74121
74185
|
this.config,
|
|
@@ -77273,7 +77337,7 @@ ${body}
|
|
|
77273
77337
|
artifacts: toolResult.artifacts
|
|
77274
77338
|
} : void 0;
|
|
77275
77339
|
if (policyArtifacts && policyArtifacts.executionOrigin.kind !== "fixed_policy" && scheduledCall.tool.mediaPolicyDescriptor) {
|
|
77276
|
-
const { collectModelPolicyCall } = await import("./model-call-collection-
|
|
77340
|
+
const { collectModelPolicyCall } = await import("./model-call-collection-J33XHZPS.js");
|
|
77277
77341
|
await collectModelPolicyCall({
|
|
77278
77342
|
config: this.config,
|
|
77279
77343
|
batch: policyArtifacts,
|
|
@@ -101293,7 +101357,7 @@ init_esbuild_shims();
|
|
|
101293
101357
|
// node_modules/@modelcontextprotocol/client/dist/index.mjs
|
|
101294
101358
|
init_esbuild_shims();
|
|
101295
101359
|
|
|
101296
|
-
// node_modules/@modelcontextprotocol/client/dist/src-
|
|
101360
|
+
// node_modules/@modelcontextprotocol/client/dist/src-xKF0PJN-.mjs
|
|
101297
101361
|
init_esbuild_shims();
|
|
101298
101362
|
|
|
101299
101363
|
// node_modules/@modelcontextprotocol/client/dist/chunk-Br0eD_fh.mjs
|
|
@@ -101360,7 +101424,7 @@ __name(declaredDialect, "declaredDialect");
|
|
|
101360
101424
|
// node_modules/@modelcontextprotocol/core/dist/internal.mjs
|
|
101361
101425
|
init_esbuild_shims();
|
|
101362
101426
|
|
|
101363
|
-
// node_modules/@modelcontextprotocol/core/dist/auth-
|
|
101427
|
+
// node_modules/@modelcontextprotocol/core/dist/auth-BNDyLTqp.mjs
|
|
101364
101428
|
init_esbuild_shims();
|
|
101365
101429
|
|
|
101366
101430
|
// node_modules/@modelcontextprotocol/core/node_modules/zod/v4/classic/external.js
|
|
@@ -107043,7 +107107,7 @@ __name(date7, "date");
|
|
|
107043
107107
|
// node_modules/@modelcontextprotocol/core/node_modules/zod/v4/classic/external.js
|
|
107044
107108
|
config2(en_default3());
|
|
107045
107109
|
|
|
107046
|
-
// node_modules/@modelcontextprotocol/core/dist/auth-
|
|
107110
|
+
// node_modules/@modelcontextprotocol/core/dist/auth-BNDyLTqp.mjs
|
|
107047
107111
|
var LATEST_PROTOCOL_VERSION2 = "2025-11-25";
|
|
107048
107112
|
var SUPPORTED_PROTOCOL_VERSIONS2 = [
|
|
107049
107113
|
LATEST_PROTOCOL_VERSION2,
|
|
@@ -107880,7 +107944,8 @@ var OAuthMetadataSchema2 = looseObject2({
|
|
|
107880
107944
|
introspection_endpoint_auth_signing_alg_values_supported: array2(string5()).optional(),
|
|
107881
107945
|
code_challenge_methods_supported: array2(string5()).optional(),
|
|
107882
107946
|
client_id_metadata_document_supported: boolean5().optional(),
|
|
107883
|
-
authorization_response_iss_parameter_supported: boolean5().optional().catch(void 0)
|
|
107947
|
+
authorization_response_iss_parameter_supported: boolean5().optional().catch(void 0),
|
|
107948
|
+
dpop_signing_alg_values_supported: array2(string5()).optional()
|
|
107884
107949
|
});
|
|
107885
107950
|
var OpenIdProviderMetadataSchema2 = looseObject2({
|
|
107886
107951
|
issuer: string5(),
|
|
@@ -107931,7 +107996,8 @@ var OAuthTokensSchema2 = object3({
|
|
|
107931
107996
|
token_type: string5(),
|
|
107932
107997
|
expires_in: coerce_exports2.number().optional(),
|
|
107933
107998
|
scope: string5().optional(),
|
|
107934
|
-
refresh_token: string5().optional()
|
|
107999
|
+
refresh_token: string5().optional(),
|
|
108000
|
+
issuer: string5().optional().catch(void 0)
|
|
107935
108001
|
}).strip();
|
|
107936
108002
|
var IdJagTokenExchangeResponseSchema = object3({
|
|
107937
108003
|
issued_token_type: literal3("urn:ietf:params:oauth:token-type:id-jag"),
|
|
@@ -107969,7 +108035,8 @@ var OAuthClientInformationSchema2 = object3({
|
|
|
107969
108035
|
client_id: string5(),
|
|
107970
108036
|
client_secret: string5().optional(),
|
|
107971
108037
|
client_id_issued_at: number5().optional(),
|
|
107972
|
-
client_secret_expires_at: number5().optional()
|
|
108038
|
+
client_secret_expires_at: number5().optional(),
|
|
108039
|
+
issuer: string5().optional().catch(void 0)
|
|
107973
108040
|
}).strip();
|
|
107974
108041
|
var OAuthClientInformationFullSchema2 = OAuthClientMetadataSchema2.merge(OAuthClientInformationSchema2);
|
|
107975
108042
|
var OAuthClientRegistrationErrorSchema2 = object3({
|
|
@@ -113663,7 +113730,7 @@ __name(preprocess3, "preprocess");
|
|
|
113663
113730
|
// node_modules/@modelcontextprotocol/client/node_modules/zod/v4/classic/external.js
|
|
113664
113731
|
config3(en_default4());
|
|
113665
113732
|
|
|
113666
|
-
// node_modules/@modelcontextprotocol/client/dist/src-
|
|
113733
|
+
// node_modules/@modelcontextprotocol/client/dist/src-xKF0PJN-.mjs
|
|
113667
113734
|
var BRANDS = Symbol.for("mcp.sdk.errorBrands");
|
|
113668
113735
|
function stampErrorBrands(instance, ctor) {
|
|
113669
113736
|
const brands = /* @__PURE__ */ new Set();
|
|
@@ -113711,6 +113778,8 @@ var OAuthErrorCode = /* @__PURE__ */ (function(OAuthErrorCode$1) {
|
|
|
113711
113778
|
OAuthErrorCode$1["InvalidRedirectUri"] = "invalid_redirect_uri";
|
|
113712
113779
|
OAuthErrorCode$1["InsufficientScope"] = "insufficient_scope";
|
|
113713
113780
|
OAuthErrorCode$1["InvalidTarget"] = "invalid_target";
|
|
113781
|
+
OAuthErrorCode$1["InvalidDpopProof"] = "invalid_dpop_proof";
|
|
113782
|
+
OAuthErrorCode$1["UseDpopNonce"] = "use_dpop_nonce";
|
|
113714
113783
|
return OAuthErrorCode$1;
|
|
113715
113784
|
})({});
|
|
113716
113785
|
var OAuthError2 = class OAuthError3 extends Error {
|
|
@@ -113806,8 +113875,18 @@ var SdkError = class extends Error {
|
|
|
113806
113875
|
if (typeof this !== "function") throw new TypeError("isInstance must be called on the class (e.g. `SdkError.isInstance(value)`); for callbacks use `v => SdkError.isInstance(v)`");
|
|
113807
113876
|
return brandedHasInstance(this, value);
|
|
113808
113877
|
}
|
|
113809
|
-
|
|
113810
|
-
|
|
113878
|
+
/**
|
|
113879
|
+
* @param code - Stable string code identifying the failure ({@linkcode SdkErrorCode}).
|
|
113880
|
+
* @param message - Human-readable description.
|
|
113881
|
+
* @param data - Optional structured payload (for example the HTTP status carried by
|
|
113882
|
+
* {@linkcode SdkHttpError}). Opaque to the SDK: a `cause` key inside `data` is not
|
|
113883
|
+
* promoted to `Error.cause`.
|
|
113884
|
+
* @param options - Standard `ErrorOptions`, forwarded to `Error`. Pass the underlying
|
|
113885
|
+
* failure as `{ cause }` so it is reachable through the `Error.cause` chain that
|
|
113886
|
+
* loggers and error trackers walk.
|
|
113887
|
+
*/
|
|
113888
|
+
constructor(code, message, data, options2) {
|
|
113889
|
+
super(message, options2);
|
|
113811
113890
|
this.code = code;
|
|
113812
113891
|
this.data = data;
|
|
113813
113892
|
this.name = "SdkError";
|
|
@@ -113821,8 +113900,11 @@ var SdkHttpError = class extends SdkError {
|
|
|
113821
113900
|
static {
|
|
113822
113901
|
Object.defineProperty(this, "mcpBrand", { value: "mcp.SdkHttpError" });
|
|
113823
113902
|
}
|
|
113824
|
-
|
|
113825
|
-
|
|
113903
|
+
/**
|
|
113904
|
+
* @param options - Standard `ErrorOptions`, forwarded to `Error` (see {@linkcode SdkError}).
|
|
113905
|
+
*/
|
|
113906
|
+
constructor(code, message, data, options2) {
|
|
113907
|
+
super(code, message, data, options2);
|
|
113826
113908
|
this.name = "SdkHttpError";
|
|
113827
113909
|
}
|
|
113828
113910
|
get status() {
|
|
@@ -113838,6 +113920,13 @@ function resourceUrlFromServerUrl2(url4) {
|
|
|
113838
113920
|
return resourceURL;
|
|
113839
113921
|
}
|
|
113840
113922
|
__name(resourceUrlFromServerUrl2, "resourceUrlFromServerUrl");
|
|
113923
|
+
function withoutIssuer(body) {
|
|
113924
|
+
if (typeof body !== "object" || body === null || Array.isArray(body)) return body;
|
|
113925
|
+
const copy = { ...body };
|
|
113926
|
+
delete copy.issuer;
|
|
113927
|
+
return copy;
|
|
113928
|
+
}
|
|
113929
|
+
__name(withoutIssuer, "withoutIssuer");
|
|
113841
113930
|
function checkResourceAllowed2({ requestedResource, configuredResource }) {
|
|
113842
113931
|
const requested = typeof requestedResource === "string" ? new URL(requestedResource) : new URL(requestedResource.href);
|
|
113843
113932
|
const configured = typeof configuredResource === "string" ? new URL(configuredResource) : new URL(configuredResource.href);
|
|
@@ -114965,10 +115054,10 @@ function getNotificationSchema(method) {
|
|
|
114965
115054
|
__name(getNotificationSchema, "getNotificationSchema");
|
|
114966
115055
|
var rev2025RequestMethods = Object.keys(requestMethodKeys$1);
|
|
114967
115056
|
var rev2025NotificationMethods = Object.keys(notificationMethodKeys$1);
|
|
114968
|
-
function isPlainObject$
|
|
115057
|
+
function isPlainObject$5(value) {
|
|
114969
115058
|
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
114970
115059
|
}
|
|
114971
|
-
__name(isPlainObject$
|
|
115060
|
+
__name(isPlainObject$5, "isPlainObject$5");
|
|
114972
115061
|
function triState$1(schema, raw) {
|
|
114973
115062
|
if (schema === void 0) return {
|
|
114974
115063
|
ok: false,
|
|
@@ -114990,7 +115079,7 @@ var NOT_IN_ERA$1 = {
|
|
|
114990
115079
|
reason: "not-in-era"
|
|
114991
115080
|
};
|
|
114992
115081
|
function toolNeedsLegacyWrap(t) {
|
|
114993
|
-
return isPlainObject$
|
|
115082
|
+
return isPlainObject$5(t) && isPlainObject$5(t["outputSchema"]) && isNonObjectJsonSchemaRoot(t["outputSchema"]);
|
|
114994
115083
|
}
|
|
114995
115084
|
__name(toolNeedsLegacyWrap, "toolNeedsLegacyWrap");
|
|
114996
115085
|
function toNeutralResult(value) {
|
|
@@ -115026,7 +115115,7 @@ var rev2025Codec = {
|
|
|
115026
115115
|
};
|
|
115027
115116
|
},
|
|
115028
115117
|
decodeResult(_method, raw) {
|
|
115029
|
-
if (isPlainObject$
|
|
115118
|
+
if (isPlainObject$5(raw) && "resultType" in raw) {
|
|
115030
115119
|
const stripped = { ...raw };
|
|
115031
115120
|
delete stripped["resultType"];
|
|
115032
115121
|
return {
|
|
@@ -116132,10 +116221,10 @@ function fillCacheFields(method, result) {
|
|
|
116132
116221
|
return filled;
|
|
116133
116222
|
}
|
|
116134
116223
|
__name(fillCacheFields, "fillCacheFields");
|
|
116135
|
-
function isPlainObject$
|
|
116224
|
+
function isPlainObject$4(value) {
|
|
116136
116225
|
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
116137
116226
|
}
|
|
116138
|
-
__name(isPlainObject$
|
|
116227
|
+
__name(isPlainObject$4, "isPlainObject$4");
|
|
116139
116228
|
function stampServerInfoMeta(result, serverInfo) {
|
|
116140
116229
|
if (serverInfo === void 0) return result;
|
|
116141
116230
|
const meta4 = result["_meta"];
|
|
@@ -116143,7 +116232,7 @@ function stampServerInfoMeta(result, serverInfo) {
|
|
|
116143
116232
|
...result,
|
|
116144
116233
|
_meta: { [SERVER_INFO_META_KEY]: serverInfo }
|
|
116145
116234
|
};
|
|
116146
|
-
if (!isPlainObject$
|
|
116235
|
+
if (!isPlainObject$4(meta4)) return result;
|
|
116147
116236
|
if (meta4[SERVER_INFO_META_KEY] !== void 0) return result;
|
|
116148
116237
|
return {
|
|
116149
116238
|
...result,
|
|
@@ -116261,10 +116350,10 @@ function getNotificationSchema2026(method) {
|
|
|
116261
116350
|
__name(getNotificationSchema2026, "getNotificationSchema2026");
|
|
116262
116351
|
var rev2026RequestMethods = Object.keys(requestMethodKeys);
|
|
116263
116352
|
var rev2026NotificationMethods = Object.keys(notificationMethodKeys);
|
|
116264
|
-
function isPlainObject$
|
|
116353
|
+
function isPlainObject$3(value) {
|
|
116265
116354
|
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
116266
116355
|
}
|
|
116267
|
-
__name(isPlainObject$
|
|
116356
|
+
__name(isPlainObject$3, "isPlainObject$3");
|
|
116268
116357
|
function triState(schema, raw) {
|
|
116269
116358
|
if (schema === void 0) return {
|
|
116270
116359
|
ok: false,
|
|
@@ -116297,14 +116386,14 @@ function enforceDeletedFields(method, result) {
|
|
|
116297
116386
|
return next;
|
|
116298
116387
|
}, "copy");
|
|
116299
116388
|
const tools = result.tools;
|
|
116300
|
-
if (method === "tools/list" && Array.isArray(tools) && tools.some((tool) => isPlainObject$
|
|
116301
|
-
if (!isPlainObject$
|
|
116389
|
+
if (method === "tools/list" && Array.isArray(tools) && tools.some((tool) => isPlainObject$3(tool) && "execution" in tool)) copy().tools = tools.map((tool) => {
|
|
116390
|
+
if (!isPlainObject$3(tool) || !("execution" in tool)) return tool;
|
|
116302
116391
|
const rest = { ...tool };
|
|
116303
116392
|
delete rest["execution"];
|
|
116304
116393
|
return rest;
|
|
116305
116394
|
});
|
|
116306
116395
|
const capabilities = result.capabilities;
|
|
116307
|
-
if (isPlainObject$
|
|
116396
|
+
if (isPlainObject$3(capabilities) && "tasks" in capabilities) {
|
|
116308
116397
|
const rest = { ...capabilities };
|
|
116309
116398
|
delete rest["tasks"];
|
|
116310
116399
|
copy().capabilities = rest;
|
|
@@ -116352,7 +116441,7 @@ var rev2026Codec = {
|
|
|
116352
116441
|
projectCallToolResult: /* @__PURE__ */ __name((result) => appendTextFallbackForNonObject(result), "projectCallToolResult"),
|
|
116353
116442
|
inputRequestSchema: getInputRequestSchema2026,
|
|
116354
116443
|
decodeResult(method, raw) {
|
|
116355
|
-
if (!isPlainObject$
|
|
116444
|
+
if (!isPlainObject$3(raw)) return {
|
|
116356
116445
|
kind: "invalid",
|
|
116357
116446
|
error: new SdkError(SdkErrorCode.InvalidResult, `Invalid result for ${method}: not an object`, { method })
|
|
116358
116447
|
};
|
|
@@ -116373,8 +116462,10 @@ var rev2026Codec = {
|
|
|
116373
116462
|
};
|
|
116374
116463
|
if (rawResultType === "input_required") {
|
|
116375
116464
|
const rawInputRequests = raw["inputRequests"];
|
|
116376
|
-
const inputRequests = isPlainObject$
|
|
116465
|
+
const inputRequests = isPlainObject$3(rawInputRequests) ? rawInputRequests : {};
|
|
116377
116466
|
const requestState = raw["requestState"];
|
|
116467
|
+
const metaParse = raw["_meta"] === void 0 ? void 0 : buildSchemas2026().ResultMetaSchema.safeParse(raw["_meta"]);
|
|
116468
|
+
const meta4 = metaParse?.success ? metaParse.data : void 0;
|
|
116378
116469
|
if (Object.keys(inputRequests).length === 0 && typeof requestState !== "string") return {
|
|
116379
116470
|
kind: "invalid",
|
|
116380
116471
|
error: new SdkError(SdkErrorCode.InvalidResult, `Invalid result for ${method}: input_required carries neither inputRequests nor requestState (every input_required result must include at least one of the two)`, {
|
|
@@ -116385,7 +116476,8 @@ var rev2026Codec = {
|
|
|
116385
116476
|
return {
|
|
116386
116477
|
kind: "input_required",
|
|
116387
116478
|
inputRequests,
|
|
116388
|
-
...typeof requestState === "string" && { requestState }
|
|
116479
|
+
...typeof requestState === "string" && { requestState },
|
|
116480
|
+
...meta4 !== void 0 && { _meta: meta4 }
|
|
116389
116481
|
};
|
|
116390
116482
|
}
|
|
116391
116483
|
if (rawResultType !== "complete") return {
|
|
@@ -116836,7 +116928,7 @@ var INBOUND_VALIDATION_LADDER = [
|
|
|
116836
116928
|
evaluatedAt: "pre-dispatch",
|
|
116837
116929
|
codes: [HEADER_MISMATCH_ERROR_CODE],
|
|
116838
116930
|
conformance: ["http-header-validation"],
|
|
116839
|
-
rationale: "SEP-2243 standard `Mcp-Method` / `Mcp-Name` headers \u2014 presence, sentinel decoding, and `Mcp-Name` \u2194 body cross-check \u2014 are validated by the HTTP entry on a modern-classified request after the supported-revision gate and before dispatch. The classifier\u2019s own header-mismatch cells (protocol-version, `Mcp-Method` mismatch) stay on the edge `era-classification` rung; this rung carries the entry-layer presence/`Mcp-Name` half. Evaluated before the capability gate, the factory call, and the `Mcp-Param-*` rung so a request that fails several rungs is answered by the standard-header rung first. The documented order (after method-registry 5 and request-params 6) is NOT the observed precedence: serveModern evaluates this rung immediately after the supported-revision gate, so a request that also fails a dispatch rung is answered here before the dispatch rungs (5\u20136) are consulted."
|
|
116931
|
+
rationale: "SEP-2243 standard `MCP-Protocol-Version` / `Mcp-Method` / `Mcp-Name` headers \u2014 presence, sentinel decoding, and `Mcp-Name` \u2194 body cross-check \u2014 are validated by the HTTP entry on a modern-classified request after the supported-revision gate and before dispatch. The spec requires `MCP-Protocol-Version` and `Mcp-Method` on every modern *request* POST (`Mcp-Name` only for the methods that mirror `params.name` / `params.uri` / `params.taskId`, see `MCP_NAME_HEADER_SOURCE`) and names them in that order, so a request missing several is answered by the earliest. Notification POSTs are exempt: the presence half runs on requests only, so a modern-enveloped notification is dispatched even with no standard headers at all. The classifier\u2019s own header-mismatch cells (protocol-version, `Mcp-Method` mismatch) stay on the edge `era-classification` rung; this rung carries the entry-layer presence/`Mcp-Name` half \u2014 including the missing `MCP-Protocol-Version` cell, which cannot live on the edge rung without breaking body-primary classification. Evaluated before the capability gate, the factory call, and the `Mcp-Param-*` rung so a request that fails several rungs is answered by the standard-header rung first. The documented order (after method-registry 5 and request-params 6) is NOT the observed precedence: serveModern evaluates this rung immediately after the supported-revision gate, so a request that also fails a dispatch rung is answered here before the dispatch rungs (5\u20136) are consulted."
|
|
116840
116932
|
},
|
|
116841
116933
|
{
|
|
116842
116934
|
rung: "client-capabilities",
|
|
@@ -116863,6 +116955,28 @@ var LADDER_ERROR_HTTP_STATUS = {
|
|
|
116863
116955
|
[ProtocolErrorCode.MissingRequiredClientCapability]: 400,
|
|
116864
116956
|
[HEADER_MISMATCH_ERROR_CODE]: 400
|
|
116865
116957
|
};
|
|
116958
|
+
var MCP_NAME_HEADER_SOURCE = {
|
|
116959
|
+
"tools/call": "name",
|
|
116960
|
+
"prompts/get": "name",
|
|
116961
|
+
"resources/read": "uri",
|
|
116962
|
+
"tasks/get": "taskId",
|
|
116963
|
+
"tasks/update": "taskId",
|
|
116964
|
+
"tasks/cancel": "taskId"
|
|
116965
|
+
};
|
|
116966
|
+
function mcpNameSource(method, params) {
|
|
116967
|
+
const field = Object.hasOwn(MCP_NAME_HEADER_SOURCE, method) ? MCP_NAME_HEADER_SOURCE[method] : void 0;
|
|
116968
|
+
if (field === void 0) return;
|
|
116969
|
+
const raw = isPlainObject$2(params) ? params[field] : void 0;
|
|
116970
|
+
return {
|
|
116971
|
+
field,
|
|
116972
|
+
value: typeof raw === "string" ? raw : void 0
|
|
116973
|
+
};
|
|
116974
|
+
}
|
|
116975
|
+
__name(mcpNameSource, "mcpNameSource");
|
|
116976
|
+
function isPlainObject$2(value) {
|
|
116977
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
116978
|
+
}
|
|
116979
|
+
__name(isPlainObject$2, "isPlainObject$2");
|
|
116866
116980
|
function parseSchema(schema, data) {
|
|
116867
116981
|
return safeParse7(schema, data);
|
|
116868
116982
|
}
|
|
@@ -117653,7 +117767,7 @@ var Protocol2 = class {
|
|
|
117653
117767
|
return this._requestHandlers.get(method);
|
|
117654
117768
|
}
|
|
117655
117769
|
async _oncancel(notification) {
|
|
117656
|
-
if (
|
|
117770
|
+
if (notification.params.requestId === void 0) return;
|
|
117657
117771
|
this._requestHandlerAbortControllers.get(notification.params.requestId)?.abort(notification.params.reason);
|
|
117658
117772
|
}
|
|
117659
117773
|
_setupTimeout(messageId, timeout, maxTotalTimeout, onTimeout, resetTimeoutOnProgress = false) {
|
|
@@ -118052,19 +118166,20 @@ var Protocol2 = class {
|
|
|
118052
118166
|
const cancel = /* @__PURE__ */ __name((reason) => {
|
|
118053
118167
|
if (responseReceived) return;
|
|
118054
118168
|
this._progressHandlers.delete(messageId);
|
|
118055
|
-
if (requestAbort === void 0)
|
|
118056
|
-
|
|
118057
|
-
|
|
118058
|
-
|
|
118059
|
-
|
|
118060
|
-
|
|
118061
|
-
|
|
118062
|
-
|
|
118063
|
-
|
|
118064
|
-
|
|
118065
|
-
|
|
118066
|
-
|
|
118067
|
-
|
|
118169
|
+
if (requestAbort === void 0) {
|
|
118170
|
+
if (request.method !== "initialize") this._transport?.send(this._envelopeOutbound({
|
|
118171
|
+
jsonrpc: "2.0",
|
|
118172
|
+
method: "notifications/cancelled",
|
|
118173
|
+
params: {
|
|
118174
|
+
requestId: messageId,
|
|
118175
|
+
reason: String(reason)
|
|
118176
|
+
}
|
|
118177
|
+
}), {
|
|
118178
|
+
relatedRequestId,
|
|
118179
|
+
resumptionToken,
|
|
118180
|
+
onresumptiontoken
|
|
118181
|
+
}).catch((error42) => this._onerror(/* @__PURE__ */ new Error(`Failed to send cancellation: ${error42}`)));
|
|
118182
|
+
} else requestAbort.abort();
|
|
118068
118183
|
reject(reason instanceof SdkError ? reason : new SdkError(SdkErrorCode.RequestTimeout, String(reason)));
|
|
118069
118184
|
}, "cancel");
|
|
118070
118185
|
this._responseHandlers.set(messageId, (response) => {
|
|
@@ -118126,7 +118241,7 @@ var Protocol2 = class {
|
|
|
118126
118241
|
* Emits a notification, which is a one-way message that does not expect a response.
|
|
118127
118242
|
*/
|
|
118128
118243
|
async notification(notification, options2) {
|
|
118129
|
-
return this._notificationViaCodec(this._resolveOutboundCodec(notification.method), notification, options2);
|
|
118244
|
+
return await this._notificationViaCodec(this._resolveOutboundCodec(notification.method), notification, options2);
|
|
118130
118245
|
}
|
|
118131
118246
|
/**
|
|
118132
118247
|
* The notification funnel proper, keyed by the resolved era codec —
|
|
@@ -118144,7 +118259,7 @@ var Protocol2 = class {
|
|
|
118144
118259
|
jsonrpc: "2.0",
|
|
118145
118260
|
...notification
|
|
118146
118261
|
});
|
|
118147
|
-
if ((this._options?.debouncedNotificationMethods ?? []).includes(notification.method) && !notification.params &&
|
|
118262
|
+
if ((this._options?.debouncedNotificationMethods ?? []).includes(notification.method) && !notification.params && options2?.relatedRequestId === void 0) {
|
|
118148
118263
|
if (this._pendingDebouncedNotifications.has(notification.method)) return;
|
|
118149
118264
|
this._pendingDebouncedNotifications.add(notification.method);
|
|
118150
118265
|
Promise.resolve().then(() => {
|
|
@@ -118365,7 +118480,8 @@ function manualInputRequiredValue(decoded) {
|
|
|
118365
118480
|
return {
|
|
118366
118481
|
resultType: "input_required",
|
|
118367
118482
|
inputRequests: decoded.inputRequests,
|
|
118368
|
-
...decoded.requestState !== void 0 && { requestState: decoded.requestState }
|
|
118483
|
+
...decoded.requestState !== void 0 && { requestState: decoded.requestState },
|
|
118484
|
+
...decoded._meta !== void 0 && { _meta: decoded._meta }
|
|
118369
118485
|
};
|
|
118370
118486
|
}
|
|
118371
118487
|
__name(manualInputRequiredValue, "manualInputRequiredValue");
|
|
@@ -126317,7 +126433,7 @@ var InsecureTokenEndpointError = class extends OAuthClientFlowError {
|
|
|
126317
126433
|
/** The token endpoint URL that was rejected. */
|
|
126318
126434
|
tokenEndpoint;
|
|
126319
126435
|
constructor(tokenEndpoint) {
|
|
126320
|
-
super(`Refusing to send credentials to non-https token endpoint '${tokenEndpoint}'. OAuth token requests MUST use TLS (localhost / 127.0.0.1 / ::1 are exempt).`);
|
|
126436
|
+
super(`Refusing to send credentials to non-https token endpoint '${tokenEndpoint}'. OAuth token requests MUST use TLS (localhost / *.localhost / 127.0.0.1 / ::1 are exempt).`);
|
|
126321
126437
|
this.tokenEndpoint = tokenEndpoint;
|
|
126322
126438
|
}
|
|
126323
126439
|
};
|
|
@@ -126329,7 +126445,7 @@ var AuthorizationServerMismatchError = class extends OAuthClientFlowError {
|
|
|
126329
126445
|
Object.defineProperty(this, "mcpBrand", { value: "mcp.AuthorizationServerMismatchError" });
|
|
126330
126446
|
}
|
|
126331
126447
|
constructor(recordedIssuer, currentIssuer) {
|
|
126332
|
-
super(`Authorization server
|
|
126448
|
+
super(`Authorization server mismatch: credentials are bound to ${JSON.stringify(recordedIssuer)} but this call resolved ${JSON.stringify(currentIssuer)}; refusing to present them to a different authorization server`);
|
|
126333
126449
|
this.recordedIssuer = recordedIssuer;
|
|
126334
126450
|
this.currentIssuer = currentIssuer;
|
|
126335
126451
|
}
|
|
@@ -126354,19 +126470,22 @@ var InsufficientScopeError2 = class extends OAuthClientFlowError {
|
|
|
126354
126470
|
this.errorDescription = init.errorDescription;
|
|
126355
126471
|
}
|
|
126356
126472
|
};
|
|
126357
|
-
function
|
|
126358
|
-
if (stored
|
|
126359
|
-
if (stored.issuer
|
|
126473
|
+
function discardIfIssuerMismatch2(stored, issuer, opts) {
|
|
126474
|
+
if (!stored) return void 0;
|
|
126475
|
+
if (typeof stored.issuer !== "string") {
|
|
126360
126476
|
if (opts?.canPersistStamp !== false) console.warn("[mcp-sdk] SEP-2352: stored OAuth credential has no 'issuer' stamp (pre-upgrade storage or provider not round-tripping the value). SEP-2352 isolation is inactive for this read; ensure your provider round-trips the issuer field.");
|
|
126361
|
-
return stored
|
|
126477
|
+
return stored.issuer === void 0 ? stored : {
|
|
126478
|
+
...stored,
|
|
126479
|
+
issuer: void 0
|
|
126480
|
+
};
|
|
126362
126481
|
}
|
|
126363
|
-
return
|
|
126482
|
+
return issuersMatch2(stored.issuer, issuer) ? stored : void 0;
|
|
126364
126483
|
}
|
|
126365
|
-
__name(
|
|
126366
|
-
function
|
|
126484
|
+
__name(discardIfIssuerMismatch2, "discardIfIssuerMismatch");
|
|
126485
|
+
function issuersMatch2(a, b2) {
|
|
126367
126486
|
return a === b2 || a.endsWith("/") && a.slice(0, -1) === b2 || b2.endsWith("/") && b2.slice(0, -1) === a;
|
|
126368
126487
|
}
|
|
126369
|
-
__name(
|
|
126488
|
+
__name(issuersMatch2, "issuersMatch");
|
|
126370
126489
|
function isOAuthClientProvider(provider) {
|
|
126371
126490
|
if (provider == null) return false;
|
|
126372
126491
|
const p2 = provider;
|
|
@@ -126532,7 +126651,7 @@ function applyPublicAuth2(clientId, params) {
|
|
|
126532
126651
|
}
|
|
126533
126652
|
__name(applyPublicAuth2, "applyPublicAuth");
|
|
126534
126653
|
function isLoopbackHost2(hostname4) {
|
|
126535
|
-
return hostname4 === "localhost" || hostname4 === "127.0.0.1" || hostname4 === "[::1]" || hostname4 === "::1";
|
|
126654
|
+
return hostname4 === "localhost" || hostname4.endsWith(".localhost") || hostname4 === "127.0.0.1" || hostname4 === "[::1]" || hostname4 === "::1";
|
|
126536
126655
|
}
|
|
126537
126656
|
__name(isLoopbackHost2, "isLoopbackHost");
|
|
126538
126657
|
function assertSecureTokenEndpoint(tokenEndpoint) {
|
|
@@ -126576,16 +126695,23 @@ async function parseErrorResponse2(input) {
|
|
|
126576
126695
|
}
|
|
126577
126696
|
}
|
|
126578
126697
|
__name(parseErrorResponse2, "parseErrorResponse");
|
|
126698
|
+
function warnCredentialInvalidation(provider, error42, invalidated) {
|
|
126699
|
+
const action = provider.invalidateCredentials === void 0 ? `retrying authorization without discarding the stored ${invalidated} (provider implements no invalidateCredentials())` : `invalidating the stored ${invalidated} and retrying authorization`;
|
|
126700
|
+
console.warn(`[mcp-sdk] OAuth ${JSON.stringify(error42.code)} \u2014 ${action}. Cause: ${JSON.stringify(error42.message)}`);
|
|
126701
|
+
}
|
|
126702
|
+
__name(warnCredentialInvalidation, "warnCredentialInvalidation");
|
|
126579
126703
|
async function auth2(provider, options2) {
|
|
126580
126704
|
try {
|
|
126581
126705
|
return await authInternal2(provider, options2);
|
|
126582
126706
|
} catch (error42) {
|
|
126583
126707
|
if (error42 instanceof OAuthError2) {
|
|
126584
126708
|
if (error42.code === OAuthErrorCode.InvalidClient || error42.code === OAuthErrorCode.UnauthorizedClient) {
|
|
126709
|
+
warnCredentialInvalidation(provider, error42, "client credentials and tokens");
|
|
126585
126710
|
await provider.invalidateCredentials?.("client");
|
|
126586
126711
|
await provider.invalidateCredentials?.("tokens");
|
|
126587
126712
|
return await authInternal2(provider, options2);
|
|
126588
|
-
} else if (error42.code === OAuthErrorCode.InvalidGrant) {
|
|
126713
|
+
} else if (error42.code === OAuthErrorCode.InvalidGrant || error42.code === OAuthErrorCode.InvalidDpopProof) {
|
|
126714
|
+
warnCredentialInvalidation(provider, error42, "tokens");
|
|
126589
126715
|
await provider.invalidateCredentials?.("tokens");
|
|
126590
126716
|
return await authInternal2(provider, options2);
|
|
126591
126717
|
}
|
|
@@ -126652,11 +126778,12 @@ async function authInternal2(provider, { serverUrl, authorizationCode, iss, scop
|
|
|
126652
126778
|
if (recordedIssuer === void 0) {
|
|
126653
126779
|
if (provider.saveDiscoveryState !== void 0) throw new AuthorizationServerMismatchError("discoveryState was not available on the callback leg; ensure your provider persists discoveryState alongside codeVerifier", issuer);
|
|
126654
126780
|
console.warn("[mcp-sdk] OAuthClientProvider does not implement saveDiscoveryState()/discoveryState(); the SEP-2352 callback-leg authorization-server binding cannot be checked. Implement discoveryState (persist alongside codeVerifier) \u2014 see docs/migration/upgrade-to-v2.md \xA7SEP-2352.");
|
|
126655
|
-
} else if (!
|
|
126781
|
+
} else if (!issuersMatch2(recordedIssuer, issuer)) throw new AuthorizationServerMismatchError(recordedIssuer, issuer);
|
|
126656
126782
|
}
|
|
126657
126783
|
if (freshDiscoveryState) await provider.saveDiscoveryState?.(freshDiscoveryState);
|
|
126658
|
-
const
|
|
126659
|
-
|
|
126784
|
+
const selectedResource = await selectResourceURL2(serverUrl, provider, resourceMetadata);
|
|
126785
|
+
const resource = selectedResource && resourceMetadata && !provider.validateResourceURL ? resourceMetadata.resource : selectedResource;
|
|
126786
|
+
if (resource) await provider.saveResourceUrl?.(resourceIndicatorToString2(resource));
|
|
126660
126787
|
const resolvedScope = determineScope({
|
|
126661
126788
|
requestedScope: scope,
|
|
126662
126789
|
resourceMetadata,
|
|
@@ -126664,7 +126791,7 @@ async function authInternal2(provider, { serverUrl, authorizationCode, iss, scop
|
|
|
126664
126791
|
clientMetadata: provider.clientMetadata
|
|
126665
126792
|
});
|
|
126666
126793
|
const rawClientInfo = await Promise.resolve(provider.clientInformation(infoCtx));
|
|
126667
|
-
let clientInformation =
|
|
126794
|
+
let clientInformation = discardIfIssuerMismatch2(rawClientInfo, issuer, { canPersistStamp: provider.saveClientInformation !== void 0 });
|
|
126668
126795
|
if (clientInformation === void 0 && rawClientInfo?.issuer && provider.saveClientInformation === void 0) throw new AuthorizationServerMismatchError(rawClientInfo.issuer, issuer);
|
|
126669
126796
|
if (clientInformation && clientInformation.issuer === void 0) {
|
|
126670
126797
|
clientInformation = {
|
|
@@ -126719,7 +126846,7 @@ async function authInternal2(provider, { serverUrl, authorizationCode, iss, scop
|
|
|
126719
126846
|
}, infoCtx);
|
|
126720
126847
|
return "AUTHORIZED";
|
|
126721
126848
|
}
|
|
126722
|
-
let tokens =
|
|
126849
|
+
let tokens = discardIfIssuerMismatch2(await provider.tokens(infoCtx), issuer);
|
|
126723
126850
|
if (tokens && tokens.issuer === void 0) {
|
|
126724
126851
|
tokens = {
|
|
126725
126852
|
...tokens,
|
|
@@ -126727,24 +126854,30 @@ async function authInternal2(provider, { serverUrl, authorizationCode, iss, scop
|
|
|
126727
126854
|
};
|
|
126728
126855
|
await provider.saveTokens(tokens, infoCtx);
|
|
126729
126856
|
}
|
|
126730
|
-
if (tokens?.refresh_token && !forceReauthorization)
|
|
126731
|
-
|
|
126732
|
-
|
|
126733
|
-
|
|
126734
|
-
|
|
126735
|
-
|
|
126736
|
-
|
|
126737
|
-
|
|
126738
|
-
|
|
126739
|
-
|
|
126740
|
-
|
|
126741
|
-
|
|
126742
|
-
}
|
|
126743
|
-
|
|
126744
|
-
|
|
126745
|
-
|
|
126746
|
-
|
|
126747
|
-
|
|
126857
|
+
if (tokens?.refresh_token && !forceReauthorization) {
|
|
126858
|
+
let newTokens;
|
|
126859
|
+
try {
|
|
126860
|
+
newTokens = await refreshAuthorization2(authorizationServerUrl, {
|
|
126861
|
+
metadata,
|
|
126862
|
+
clientInformation,
|
|
126863
|
+
refreshToken: tokens.refresh_token,
|
|
126864
|
+
resource,
|
|
126865
|
+
addClientAuthentication: provider.addClientAuthentication,
|
|
126866
|
+
dpop: await provider.dpop?.(),
|
|
126867
|
+
fetchFn
|
|
126868
|
+
});
|
|
126869
|
+
} catch (error42) {
|
|
126870
|
+
if (error42 instanceof InsecureTokenEndpointError) throw error42;
|
|
126871
|
+
if (!(error42 instanceof OAuthError2) || error42.code === OAuthErrorCode.ServerError) console.warn(`[mcp-sdk] Could not refresh OAuth tokens; falling back to a new authorization request. Cause: ${JSON.stringify(error42 instanceof Error ? error42.message : String(error42))}`);
|
|
126872
|
+
else throw error42;
|
|
126873
|
+
}
|
|
126874
|
+
if (newTokens) {
|
|
126875
|
+
await provider.saveTokens({
|
|
126876
|
+
...newTokens,
|
|
126877
|
+
issuer
|
|
126878
|
+
}, infoCtx);
|
|
126879
|
+
return "AUTHORIZED";
|
|
126880
|
+
}
|
|
126748
126881
|
}
|
|
126749
126882
|
const state = provider.state ? await provider.state() : void 0;
|
|
126750
126883
|
const { authorizationUrl, codeVerifier } = await startAuthorization2(authorizationServerUrl, {
|
|
@@ -126781,11 +126914,12 @@ async function selectResourceURL2(serverUrl, provider, resourceMetadata) {
|
|
|
126781
126914
|
return new URL(resourceMetadata.resource);
|
|
126782
126915
|
}
|
|
126783
126916
|
__name(selectResourceURL2, "selectResourceURL");
|
|
126917
|
+
var RECOGNIZED_CHALLENGE_SCHEMES = /* @__PURE__ */ new Set(["bearer", "dpop"]);
|
|
126784
126918
|
function extractWWWAuthenticateParams2(res) {
|
|
126785
126919
|
const authenticateHeader = res.headers.get("WWW-Authenticate");
|
|
126786
126920
|
if (!authenticateHeader) return {};
|
|
126787
126921
|
const [type, scheme] = authenticateHeader.split(" ");
|
|
126788
|
-
if (type
|
|
126922
|
+
if (!type || !RECOGNIZED_CHALLENGE_SCHEMES.has(type.toLowerCase()) || !scheme) return {};
|
|
126789
126923
|
const resourceMetadataMatch = extractFieldFromWwwAuth2(res, "resource_metadata") || void 0;
|
|
126790
126924
|
let resourceMetadataUrl;
|
|
126791
126925
|
if (resourceMetadataMatch) try {
|
|
@@ -126953,6 +127087,10 @@ async function discoverOAuthServerInfo2(serverUrl, opts) {
|
|
|
126953
127087
|
};
|
|
126954
127088
|
}
|
|
126955
127089
|
__name(discoverOAuthServerInfo2, "discoverOAuthServerInfo");
|
|
127090
|
+
function resourceIndicatorToString2(resource) {
|
|
127091
|
+
return typeof resource === "string" ? resource : resource.href;
|
|
127092
|
+
}
|
|
127093
|
+
__name(resourceIndicatorToString2, "resourceIndicatorToString");
|
|
126956
127094
|
async function startAuthorization2(authorizationServerUrl, { metadata, clientInformation, redirectUrl, scope, state, resource }) {
|
|
126957
127095
|
let authorizationUrl;
|
|
126958
127096
|
if (metadata) {
|
|
@@ -126971,7 +127109,7 @@ async function startAuthorization2(authorizationServerUrl, { metadata, clientInf
|
|
|
126971
127109
|
if (state) authorizationUrl.searchParams.set("state", state);
|
|
126972
127110
|
if (scope) authorizationUrl.searchParams.set("scope", scope);
|
|
126973
127111
|
if (scope?.split(" ").includes("offline_access")) authorizationUrl.searchParams.append("prompt", "consent");
|
|
126974
|
-
if (resource) authorizationUrl.searchParams.set("resource", resource
|
|
127112
|
+
if (resource) authorizationUrl.searchParams.set("resource", resourceIndicatorToString2(resource));
|
|
126975
127113
|
return {
|
|
126976
127114
|
authorizationUrl,
|
|
126977
127115
|
codeVerifier
|
|
@@ -126987,31 +127125,47 @@ function prepareAuthorizationCodeRequest2(authorizationCode, codeVerifier, redir
|
|
|
126987
127125
|
});
|
|
126988
127126
|
}
|
|
126989
127127
|
__name(prepareAuthorizationCodeRequest2, "prepareAuthorizationCodeRequest");
|
|
126990
|
-
async function executeTokenRequest2(authorizationServerUrl, { metadata, tokenRequestParams, clientInformation, addClientAuthentication, resource, fetchFn }) {
|
|
127128
|
+
async function executeTokenRequest2(authorizationServerUrl, { metadata, tokenRequestParams, clientInformation, addClientAuthentication, resource, dpop, fetchFn }) {
|
|
126991
127129
|
const tokenUrl = assertSecureTokenEndpoint(metadata?.token_endpoint ?? new URL("/token", authorizationServerUrl));
|
|
126992
127130
|
const headers = new Headers({
|
|
126993
127131
|
"Content-Type": "application/x-www-form-urlencoded",
|
|
126994
127132
|
Accept: "application/json"
|
|
126995
127133
|
});
|
|
126996
|
-
if (resource) tokenRequestParams.set("resource", resource
|
|
126997
|
-
if (addClientAuthentication)
|
|
126998
|
-
|
|
126999
|
-
|
|
127000
|
-
|
|
127001
|
-
|
|
127002
|
-
|
|
127003
|
-
|
|
127134
|
+
if (resource) tokenRequestParams.set("resource", resourceIndicatorToString2(resource));
|
|
127135
|
+
if (!addClientAuthentication && clientInformation) applyClientAuthentication2(selectClientAuthMethod2(clientInformation, metadata?.token_endpoint_auth_methods_supported ?? []), clientInformation, headers, tokenRequestParams);
|
|
127136
|
+
const requestOnce = /* @__PURE__ */ __name(async () => {
|
|
127137
|
+
const requestHeaders = new Headers(headers);
|
|
127138
|
+
if (addClientAuthentication) await addClientAuthentication(requestHeaders, tokenRequestParams, tokenUrl, metadata);
|
|
127139
|
+
if (dpop) requestHeaders.set("DPoP", await dpop.buildProof({
|
|
127140
|
+
htm: "POST",
|
|
127141
|
+
htu: tokenUrl
|
|
127142
|
+
}));
|
|
127143
|
+
return (fetchFn ?? fetch)(tokenUrl, {
|
|
127144
|
+
method: "POST",
|
|
127145
|
+
headers: requestHeaders,
|
|
127146
|
+
body: tokenRequestParams
|
|
127147
|
+
});
|
|
127148
|
+
}, "requestOnce");
|
|
127149
|
+
let response = await requestOnce();
|
|
127150
|
+
if (dpop && response.status === 400) {
|
|
127151
|
+
if ((await response.clone().json().catch(() => {
|
|
127152
|
+
}))?.error === OAuthErrorCode.UseDpopNonce) {
|
|
127153
|
+
dpop.observeNonce(response, tokenUrl);
|
|
127154
|
+
response = await requestOnce();
|
|
127155
|
+
}
|
|
127156
|
+
}
|
|
127157
|
+
dpop?.observeNonce(response, tokenUrl);
|
|
127004
127158
|
if (!response.ok) throw await parseErrorResponse2(response);
|
|
127005
127159
|
const json2 = await response.json();
|
|
127006
127160
|
try {
|
|
127007
|
-
return OAuthTokensSchema2.parse(json2);
|
|
127161
|
+
return OAuthTokensSchema2.parse(withoutIssuer(json2));
|
|
127008
127162
|
} catch (parseError) {
|
|
127009
127163
|
if (typeof json2 === "object" && json2 !== null && "error" in json2) throw await parseErrorResponse2(JSON.stringify(json2));
|
|
127010
127164
|
throw parseError;
|
|
127011
127165
|
}
|
|
127012
127166
|
}
|
|
127013
127167
|
__name(executeTokenRequest2, "executeTokenRequest");
|
|
127014
|
-
async function refreshAuthorization2(authorizationServerUrl, { metadata, clientInformation, refreshToken, resource, addClientAuthentication, fetchFn }) {
|
|
127168
|
+
async function refreshAuthorization2(authorizationServerUrl, { metadata, clientInformation, refreshToken, resource, addClientAuthentication, dpop, fetchFn }) {
|
|
127015
127169
|
return {
|
|
127016
127170
|
refresh_token: refreshToken,
|
|
127017
127171
|
...await executeTokenRequest2(authorizationServerUrl, {
|
|
@@ -127023,6 +127177,7 @@ async function refreshAuthorization2(authorizationServerUrl, { metadata, clientI
|
|
|
127023
127177
|
clientInformation,
|
|
127024
127178
|
addClientAuthentication,
|
|
127025
127179
|
resource,
|
|
127180
|
+
dpop,
|
|
127026
127181
|
fetchFn
|
|
127027
127182
|
})
|
|
127028
127183
|
};
|
|
@@ -127034,6 +127189,14 @@ async function fetchToken2(provider, authorizationServerUrl, { metadata, resourc
|
|
|
127034
127189
|
expectedIssuer: metadata?.issuer,
|
|
127035
127190
|
issParameterSupported: isIssParameterSupported(metadata)
|
|
127036
127191
|
});
|
|
127192
|
+
const issuer = metadata?.issuer ?? String(authorizationServerUrl);
|
|
127193
|
+
const readClientInformation = /* @__PURE__ */ __name(async () => {
|
|
127194
|
+
const rawClientInfo = await provider.clientInformation({ issuer });
|
|
127195
|
+
const checked = discardIfIssuerMismatch2(rawClientInfo, issuer, { canPersistStamp: false });
|
|
127196
|
+
if (rawClientInfo && checked === void 0) throw new AuthorizationServerMismatchError(String(rawClientInfo.issuer), issuer);
|
|
127197
|
+
return checked;
|
|
127198
|
+
}, "readClientInformation");
|
|
127199
|
+
let clientInformation = await readClientInformation();
|
|
127037
127200
|
const effectiveScope = scope ?? provider.clientMetadata.scope;
|
|
127038
127201
|
let tokenRequestParams;
|
|
127039
127202
|
if (provider.prepareTokenRequest) tokenRequestParams = await provider.prepareTokenRequest(effectiveScope);
|
|
@@ -127042,13 +127205,14 @@ async function fetchToken2(provider, authorizationServerUrl, { metadata, resourc
|
|
|
127042
127205
|
if (!provider.redirectUrl) throw new Error("redirectUrl is required for authorization_code flow");
|
|
127043
127206
|
tokenRequestParams = prepareAuthorizationCodeRequest2(authorizationCode, await provider.codeVerifier(), provider.redirectUrl);
|
|
127044
127207
|
}
|
|
127045
|
-
|
|
127208
|
+
clientInformation ??= await readClientInformation();
|
|
127046
127209
|
return executeTokenRequest2(authorizationServerUrl, {
|
|
127047
127210
|
metadata,
|
|
127048
127211
|
tokenRequestParams,
|
|
127049
|
-
clientInformation
|
|
127212
|
+
clientInformation,
|
|
127050
127213
|
addClientAuthentication: provider.addClientAuthentication,
|
|
127051
127214
|
resource,
|
|
127215
|
+
dpop: await provider.dpop?.(),
|
|
127052
127216
|
fetchFn
|
|
127053
127217
|
});
|
|
127054
127218
|
}
|
|
@@ -127073,7 +127237,7 @@ async function registerClient2(authorizationServerUrl, { metadata, clientMetadat
|
|
|
127073
127237
|
body: await response.text(),
|
|
127074
127238
|
submittedMetadata
|
|
127075
127239
|
});
|
|
127076
|
-
return OAuthClientInformationFullSchema2.parse(await response.json());
|
|
127240
|
+
return OAuthClientInformationFullSchema2.parse(withoutIssuer(await response.json()));
|
|
127077
127241
|
}
|
|
127078
127242
|
__name(registerClient2, "registerClient");
|
|
127079
127243
|
var CAP_EXEMPT_METHODS = /* @__PURE__ */ new Set([
|
|
@@ -127675,7 +127839,7 @@ function classifyNetworkError(error42, context2) {
|
|
|
127675
127839
|
if (context2.environment === "browser" && isOpaqueFetchTypeError(error42)) return { kind: "legacy" };
|
|
127676
127840
|
return {
|
|
127677
127841
|
kind: "error",
|
|
127678
|
-
error: new SdkError(SdkErrorCode.EraNegotiationFailed, `Version negotiation probe failed: ${describeError3(error42)}`, { cause: error42 })
|
|
127842
|
+
error: new SdkError(SdkErrorCode.EraNegotiationFailed, `Version negotiation probe failed: ${describeError3(error42)}`, { cause: error42 }, { cause: error42 })
|
|
127679
127843
|
};
|
|
127680
127844
|
}
|
|
127681
127845
|
__name(classifyNetworkError, "classifyNetworkError");
|
|
@@ -128736,7 +128900,7 @@ var Client2 = class extends Protocol2 {
|
|
|
128736
128900
|
}, options2);
|
|
128737
128901
|
const hit = await this._serveFromCache("prompts/list", void 0, options2);
|
|
128738
128902
|
if (hit !== void 0) return hit;
|
|
128739
|
-
return this._listAllPages("prompts/list", params, options2, (
|
|
128903
|
+
return this._listAllPages("prompts/list", params, options2, (r) => r.prompts);
|
|
128740
128904
|
}
|
|
128741
128905
|
/**
|
|
128742
128906
|
* Lists available resources.
|
|
@@ -128775,7 +128939,7 @@ var Client2 = class extends Protocol2 {
|
|
|
128775
128939
|
}, options2);
|
|
128776
128940
|
const hit = await this._serveFromCache("resources/list", void 0, options2);
|
|
128777
128941
|
if (hit !== void 0) return hit;
|
|
128778
|
-
return this._listAllPages("resources/list", params, options2, (
|
|
128942
|
+
return this._listAllPages("resources/list", params, options2, (r) => r.resources);
|
|
128779
128943
|
}
|
|
128780
128944
|
/**
|
|
128781
128945
|
* Lists available resource URI templates for dynamic resources.
|
|
@@ -128800,7 +128964,7 @@ var Client2 = class extends Protocol2 {
|
|
|
128800
128964
|
}, options2);
|
|
128801
128965
|
const hit = await this._serveFromCache("resources/templates/list", void 0, options2);
|
|
128802
128966
|
if (hit !== void 0) return hit;
|
|
128803
|
-
return this._listAllPages("resources/templates/list", params, options2, (
|
|
128967
|
+
return this._listAllPages("resources/templates/list", params, options2, (r) => r.resourceTemplates);
|
|
128804
128968
|
}
|
|
128805
128969
|
/**
|
|
128806
128970
|
* Walk every page of a paginated list verb, aggregate, and write ONE
|
|
@@ -128808,8 +128972,7 @@ var Client2 = class extends Protocol2 {
|
|
|
128808
128972
|
* methods' no-`cursor` auto-aggregate path. Page 1's result object is
|
|
128809
128973
|
* mutated in place (its items array is extended; `nextCursor` is
|
|
128810
128974
|
* cleared); page-1 metadata (`ttlMs`, `cacheScope`, `_meta`) is preserved.
|
|
128811
|
-
* A `nextCursor`
|
|
128812
|
-
* non-converging server, mcp.d's `drainList` guard);
|
|
128975
|
+
* A page with the same items and `nextCursor` as the previous page ends the walk;
|
|
128813
128976
|
* {@linkcode ClientOptions.listMaxPages} is a hard cap — hitting it
|
|
128814
128977
|
* throws, so a partial aggregate is never cached. The
|
|
128815
128978
|
* captured-generation guard skips the write when a `list_changed` landed
|
|
@@ -128824,7 +128987,7 @@ var Client2 = class extends Protocol2 {
|
|
|
128824
128987
|
* trace context) supplied to the public `list*()` reaches every wire
|
|
128825
128988
|
* request the walk issues.
|
|
128826
128989
|
*/
|
|
128827
|
-
async _listAllPages(method, baseParams, options2,
|
|
128990
|
+
async _listAllPages(method, baseParams, options2, items, finalize3) {
|
|
128828
128991
|
const bypass = options2?.cacheMode === "bypass";
|
|
128829
128992
|
const generation = this._cache.captureGeneration(method);
|
|
128830
128993
|
const acc = await this.request({
|
|
@@ -128832,14 +128995,13 @@ var Client2 = class extends Protocol2 {
|
|
|
128832
128995
|
...baseParams && { params: { ...baseParams } }
|
|
128833
128996
|
}, options2);
|
|
128834
128997
|
let cursor = acc.nextCursor;
|
|
128835
|
-
|
|
128998
|
+
let previous = acc;
|
|
128836
128999
|
let pages = 1;
|
|
128837
|
-
while (cursor !== void 0
|
|
129000
|
+
while (cursor !== void 0) {
|
|
128838
129001
|
if (this._listMaxPages !== 0 && pages >= this._listMaxPages) throw new SdkError(SdkErrorCode.ListPaginationExceeded, `${method}: exceeded listMaxPages (${this._listMaxPages}); server pagination did not terminate`, {
|
|
128839
129002
|
method,
|
|
128840
129003
|
listMaxPages: this._listMaxPages
|
|
128841
129004
|
});
|
|
128842
|
-
seen2.add(cursor);
|
|
128843
129005
|
const page = await this.request({
|
|
128844
129006
|
method,
|
|
128845
129007
|
params: {
|
|
@@ -128847,7 +129009,9 @@ var Client2 = class extends Protocol2 {
|
|
|
128847
129009
|
cursor
|
|
128848
129010
|
}
|
|
128849
129011
|
}, options2);
|
|
128850
|
-
|
|
129012
|
+
if (page.nextCursor === cursor && JSON.stringify(items(page)) === JSON.stringify(items(previous))) break;
|
|
129013
|
+
items(acc).push(...items(page));
|
|
129014
|
+
previous = page;
|
|
128851
129015
|
cursor = page.nextCursor;
|
|
128852
129016
|
pages++;
|
|
128853
129017
|
}
|
|
@@ -129111,19 +129275,22 @@ var Client2 = class extends Protocol2 {
|
|
|
129111
129275
|
notifications: filter
|
|
129112
129276
|
}
|
|
129113
129277
|
};
|
|
129278
|
+
const routeSendFailure = /* @__PURE__ */ __name((error42) => {
|
|
129279
|
+
settle({
|
|
129280
|
+
cause: "remote",
|
|
129281
|
+
error: error42 instanceof Error ? error42 : new Error(String(error42))
|
|
129282
|
+
});
|
|
129283
|
+
}, "routeSendFailure");
|
|
129114
129284
|
try {
|
|
129115
|
-
|
|
129285
|
+
this.transport.send(jsonrpcRequest, {
|
|
129116
129286
|
requestSignal: requestAbort.signal,
|
|
129117
129287
|
onRequestStreamEnd: /* @__PURE__ */ __name(() => settle({
|
|
129118
129288
|
cause: "remote",
|
|
129119
129289
|
error: /* @__PURE__ */ new Error("subscriptions/listen: stream ended")
|
|
129120
129290
|
}), "onRequestStreamEnd")
|
|
129121
|
-
});
|
|
129291
|
+
}).catch(routeSendFailure);
|
|
129122
129292
|
} catch (error42) {
|
|
129123
|
-
|
|
129124
|
-
cause: "remote",
|
|
129125
|
-
error: error42 instanceof Error ? error42 : new Error(String(error42))
|
|
129126
|
-
});
|
|
129293
|
+
routeSendFailure(error42);
|
|
129127
129294
|
}
|
|
129128
129295
|
return {
|
|
129129
129296
|
honoredFilter: await opening,
|
|
@@ -129375,7 +129542,7 @@ var Client2 = class extends Protocol2 {
|
|
|
129375
129542
|
}
|
|
129376
129543
|
const hit = await this._serveFromCache("tools/list", void 0, options2);
|
|
129377
129544
|
if (hit !== void 0) return hit;
|
|
129378
|
-
return this._listAllPages("tools/list", params, options2, (
|
|
129545
|
+
return this._listAllPages("tools/list", params, options2, (r) => r.tools, (acc) => this._excludeInvalidXMcpHeaderTools(acc));
|
|
129379
129546
|
}
|
|
129380
129547
|
/**
|
|
129381
129548
|
* SEP-2243 (protocol revision 2026-07-28): a Streamable HTTP client MUST
|
|
@@ -129446,6 +129613,65 @@ var Client2 = class extends Protocol2 {
|
|
|
129446
129613
|
return this.notification({ method: "notifications/roots/list_changed" });
|
|
129447
129614
|
}
|
|
129448
129615
|
};
|
|
129616
|
+
function hasDpopChallenge(wwwAuthenticate) {
|
|
129617
|
+
return /(?:^|,)\s*dpop(?:\s|$|,)/i.test(wwwAuthenticate);
|
|
129618
|
+
}
|
|
129619
|
+
__name(hasDpopChallenge, "hasDpopChallenge");
|
|
129620
|
+
function isDpopNonceChallenge(response) {
|
|
129621
|
+
if (response.status !== 401) return false;
|
|
129622
|
+
const wwwAuthenticate = response.headers.get("www-authenticate") ?? "";
|
|
129623
|
+
return hasDpopChallenge(wwwAuthenticate) && /use_dpop_nonce/i.test(wwwAuthenticate);
|
|
129624
|
+
}
|
|
129625
|
+
__name(isDpopNonceChallenge, "isDpopNonceChallenge");
|
|
129626
|
+
var withDpop = /* @__PURE__ */ __name((session, getToken) => (next) => {
|
|
129627
|
+
const resolveSession = typeof session === "function" ? session : () => session;
|
|
129628
|
+
return async (input, init) => {
|
|
129629
|
+
const method = (init?.method ?? "GET").toUpperCase();
|
|
129630
|
+
const url4 = new URL(input.toString());
|
|
129631
|
+
const activeSession = await resolveSession();
|
|
129632
|
+
if (!activeSession) return next(input, init);
|
|
129633
|
+
const makeRequest = /* @__PURE__ */ __name(async () => {
|
|
129634
|
+
const accessToken = await getToken();
|
|
129635
|
+
if (!accessToken) return next(input, init);
|
|
129636
|
+
const headers = new Headers(init?.headers);
|
|
129637
|
+
const proof = await activeSession.buildProof({
|
|
129638
|
+
htm: method,
|
|
129639
|
+
htu: url4,
|
|
129640
|
+
accessToken
|
|
129641
|
+
});
|
|
129642
|
+
headers.set("Authorization", `DPoP ${accessToken}`);
|
|
129643
|
+
headers.set("DPoP", proof);
|
|
129644
|
+
return next(input, {
|
|
129645
|
+
...init,
|
|
129646
|
+
headers
|
|
129647
|
+
});
|
|
129648
|
+
}, "makeRequest");
|
|
129649
|
+
let response = await makeRequest();
|
|
129650
|
+
if (isDpopNonceChallenge(response) && response.headers.has("dpop-nonce")) {
|
|
129651
|
+
activeSession.observeNonce(response, url4);
|
|
129652
|
+
await response.text?.().catch(() => {
|
|
129653
|
+
});
|
|
129654
|
+
response = await makeRequest();
|
|
129655
|
+
}
|
|
129656
|
+
activeSession.observeNonce(response, url4);
|
|
129657
|
+
return response;
|
|
129658
|
+
};
|
|
129659
|
+
}, "withDpop");
|
|
129660
|
+
var withDpopFromProvider = /* @__PURE__ */ __name((provider) => withDpop(async () => {
|
|
129661
|
+
try {
|
|
129662
|
+
return await provider.dpop?.();
|
|
129663
|
+
} catch (error42) {
|
|
129664
|
+
throw markAuthSeamEscape(error42);
|
|
129665
|
+
}
|
|
129666
|
+
}, async () => {
|
|
129667
|
+
let tokens;
|
|
129668
|
+
try {
|
|
129669
|
+
tokens = await provider.tokens();
|
|
129670
|
+
} catch (error42) {
|
|
129671
|
+
throw markAuthSeamEscape(error42);
|
|
129672
|
+
}
|
|
129673
|
+
return tokens?.token_type?.toLowerCase() === "dpop" ? tokens.access_token : void 0;
|
|
129674
|
+
}), "withDpopFromProvider");
|
|
129449
129675
|
var SseError = class extends Error {
|
|
129450
129676
|
static {
|
|
129451
129677
|
__name(this, "SseError");
|
|
@@ -129493,6 +129719,7 @@ var SSEClientTransport = class {
|
|
|
129493
129719
|
_skipIssuerMetadataValidation;
|
|
129494
129720
|
_fetch;
|
|
129495
129721
|
_fetchWithInit;
|
|
129722
|
+
_dpop;
|
|
129496
129723
|
_protocolVersion;
|
|
129497
129724
|
onclose;
|
|
129498
129725
|
onerror;
|
|
@@ -129504,32 +129731,33 @@ var SSEClientTransport = class {
|
|
|
129504
129731
|
this._eventSourceInit = opts?.eventSourceInit;
|
|
129505
129732
|
this._requestInit = opts?.requestInit;
|
|
129506
129733
|
this._skipIssuerMetadataValidation = opts?.skipIssuerMetadataValidation;
|
|
129734
|
+
this._fetch = opts?.fetch;
|
|
129507
129735
|
if (isOAuthClientProvider(opts?.authProvider)) {
|
|
129508
129736
|
this._oauthProvider = opts.authProvider;
|
|
129509
129737
|
this._authProvider = adaptOAuthProvider(opts.authProvider, { skipIssuerMetadataValidation: opts.skipIssuerMetadataValidation });
|
|
129738
|
+
if (opts.authProvider.dpop) {
|
|
129739
|
+
this._dpop = withDpopFromProvider(opts.authProvider);
|
|
129740
|
+
this._fetch = this._dpop(opts.fetch ?? fetch);
|
|
129741
|
+
}
|
|
129510
129742
|
} else this._authProvider = opts?.authProvider;
|
|
129511
|
-
this._fetch = opts?.fetch;
|
|
129512
129743
|
this._fetchWithInit = createFetchWithInit2(opts?.fetch, opts?.requestInit);
|
|
129513
129744
|
}
|
|
129514
129745
|
_last401Response;
|
|
129515
129746
|
async _commonHeaders() {
|
|
129516
|
-
const headers =
|
|
129747
|
+
const headers = new Headers(this._requestInit?.headers || void 0);
|
|
129517
129748
|
let token;
|
|
129518
129749
|
try {
|
|
129519
129750
|
token = await this._authProvider?.token();
|
|
129520
129751
|
} catch (error42) {
|
|
129521
129752
|
throw markAuthSeamEscape(error42);
|
|
129522
129753
|
}
|
|
129523
|
-
if (token) headers
|
|
129524
|
-
if (this._protocolVersion) headers
|
|
129525
|
-
|
|
129526
|
-
return new Headers({
|
|
129527
|
-
...headers,
|
|
129528
|
-
...extraHeaders
|
|
129529
|
-
});
|
|
129754
|
+
if (token) headers.set("Authorization", `Bearer ${token}`);
|
|
129755
|
+
if (this._protocolVersion) headers.set("mcp-protocol-version", this._protocolVersion);
|
|
129756
|
+
return headers;
|
|
129530
129757
|
}
|
|
129531
129758
|
_startOrAuth() {
|
|
129532
|
-
const
|
|
129759
|
+
const eventSourceFetch = this._eventSourceInit?.fetch;
|
|
129760
|
+
const fetchImpl = eventSourceFetch ? this._dpop?.(eventSourceFetch) ?? eventSourceFetch : this._fetch ?? fetch;
|
|
129533
129761
|
return new Promise((resolve34, reject) => {
|
|
129534
129762
|
this._eventSource = new EventSource(this._url.href, {
|
|
129535
129763
|
...this._eventSourceInit,
|
|
@@ -129699,6 +129927,7 @@ var DEFAULT_STREAMABLE_HTTP_RECONNECTION_OPTIONS2 = {
|
|
|
129699
129927
|
};
|
|
129700
129928
|
var RESERVED_REQUEST_HEADER_NAMES = /* @__PURE__ */ new Set([
|
|
129701
129929
|
"authorization",
|
|
129930
|
+
"dpop",
|
|
129702
129931
|
"content-type",
|
|
129703
129932
|
"mcp-protocol-version",
|
|
129704
129933
|
"mcp-method",
|
|
@@ -129767,11 +129996,12 @@ var StreamableHTTPClientTransport2 = class {
|
|
|
129767
129996
|
this._scope = void 0;
|
|
129768
129997
|
this._requestInit = opts?.requestInit;
|
|
129769
129998
|
this._skipIssuerMetadataValidation = opts?.skipIssuerMetadataValidation;
|
|
129999
|
+
this._fetch = opts?.fetch;
|
|
129770
130000
|
if (isOAuthClientProvider(opts?.authProvider)) {
|
|
129771
130001
|
this._oauthProvider = opts.authProvider;
|
|
129772
130002
|
this._authProvider = adaptOAuthProvider(opts.authProvider, { skipIssuerMetadataValidation: opts.skipIssuerMetadataValidation });
|
|
130003
|
+
if (opts.authProvider.dpop) this._fetch = withDpopFromProvider(opts.authProvider)(opts.fetch ?? fetch);
|
|
129773
130004
|
} else this._authProvider = opts?.authProvider;
|
|
129774
|
-
this._fetch = opts?.fetch;
|
|
129775
130005
|
this._fetchWithInit = createFetchWithInit2(opts?.fetch, opts?.requestInit);
|
|
129776
130006
|
this._sessionId = opts?.sessionId;
|
|
129777
130007
|
this._protocolVersion = opts?.protocolVersion;
|
|
@@ -129825,21 +130055,17 @@ var StreamableHTTPClientTransport2 = class {
|
|
|
129825
130055
|
});
|
|
129826
130056
|
}
|
|
129827
130057
|
async _commonHeaders() {
|
|
129828
|
-
const headers =
|
|
130058
|
+
const headers = new Headers(this._requestInit?.headers || void 0);
|
|
129829
130059
|
let token;
|
|
129830
130060
|
try {
|
|
129831
130061
|
token = await this._authProvider?.token();
|
|
129832
130062
|
} catch (error42) {
|
|
129833
130063
|
throw markAuthSeamEscape(error42);
|
|
129834
130064
|
}
|
|
129835
|
-
if (token) headers
|
|
129836
|
-
if (this._sessionId) headers
|
|
129837
|
-
if (this._protocolVersion) headers
|
|
129838
|
-
|
|
129839
|
-
return new Headers({
|
|
129840
|
-
...headers,
|
|
129841
|
-
...extraHeaders
|
|
129842
|
-
});
|
|
130065
|
+
if (token) headers.set("Authorization", `Bearer ${token}`);
|
|
130066
|
+
if (this._sessionId) headers.set("mcp-session-id", this._sessionId);
|
|
130067
|
+
if (this._protocolVersion) headers.set("mcp-protocol-version", this._protocolVersion);
|
|
130068
|
+
return headers;
|
|
129843
130069
|
}
|
|
129844
130070
|
/**
|
|
129845
130071
|
* Body-derived per-request headers: when an outgoing request carries a
|
|
@@ -129855,9 +130081,8 @@ var StreamableHTTPClientTransport2 = class {
|
|
|
129855
130081
|
if (typeof envelopeVersion !== "string") return;
|
|
129856
130082
|
headers.set("mcp-protocol-version", envelopeVersion);
|
|
129857
130083
|
headers.set("mcp-method", message.method);
|
|
129858
|
-
const
|
|
129859
|
-
|
|
129860
|
-
if (nameHeader !== void 0) headers.set("mcp-name", encodeMcpParamValue(nameHeader));
|
|
130084
|
+
const source = mcpNameSource(message.method, message.params);
|
|
130085
|
+
if (source?.value !== void 0) headers.set("mcp-name", encodeMcpParamValue(source.value));
|
|
129861
130086
|
}
|
|
129862
130087
|
/**
|
|
129863
130088
|
* `true` when the outbound message is a single request carrying a
|
|
@@ -130279,17 +130504,23 @@ import process7 from "node:process";
|
|
|
130279
130504
|
import { PassThrough as PassThrough2 } from "node:stream";
|
|
130280
130505
|
var DEFAULT_INHERITED_ENV_VARS2 = process7.platform === "win32" ? [
|
|
130281
130506
|
"APPDATA",
|
|
130507
|
+
"COMSPEC",
|
|
130282
130508
|
"HOMEDRIVE",
|
|
130283
130509
|
"HOMEPATH",
|
|
130284
130510
|
"LOCALAPPDATA",
|
|
130285
130511
|
"PATH",
|
|
130512
|
+
"PATHEXT",
|
|
130286
130513
|
"PROCESSOR_ARCHITECTURE",
|
|
130514
|
+
"PROGRAMDATA",
|
|
130515
|
+
"PROGRAMFILES",
|
|
130516
|
+
"PROGRAMFILES(X86)",
|
|
130517
|
+
"PROGRAMW6432",
|
|
130287
130518
|
"SYSTEMDRIVE",
|
|
130288
130519
|
"SYSTEMROOT",
|
|
130289
130520
|
"TEMP",
|
|
130290
130521
|
"USERNAME",
|
|
130291
130522
|
"USERPROFILE",
|
|
130292
|
-
"
|
|
130523
|
+
"WINDIR"
|
|
130293
130524
|
] : [
|
|
130294
130525
|
"HOME",
|
|
130295
130526
|
"LOGNAME",
|
|
@@ -151810,18 +152041,29 @@ var generatedConfigKeyAllowances = [
|
|
|
151810
152041
|
[/credential(..+)?.helper/, "allowUnsafeCredentialHelper"],
|
|
151811
152042
|
[/diff(..+)?.command/, "allowUnsafeDiffExternal"],
|
|
151812
152043
|
[/diff.external/, "allowUnsafeDiffExternal"],
|
|
152044
|
+
[/difftool(..+)?.cmd/, "allowUnsafeDiffExternal"],
|
|
151813
152045
|
[/diff(..+)?.textconv/, "allowUnsafeDiffTextConv"],
|
|
151814
152046
|
[/filter(..+)?.clean/, "allowUnsafeFilter"],
|
|
152047
|
+
[/filter(..+)?.process/, "allowUnsafeFilter"],
|
|
151815
152048
|
[/filter(..+)?.smudge/, "allowUnsafeFilter"],
|
|
151816
152049
|
[/gpg(..+)?.program/, "allowUnsafeGpgProgram"],
|
|
152050
|
+
[/include.path/, "allowUnsafeInclude"],
|
|
152051
|
+
[/includeif/, "allowUnsafeInclude"],
|
|
151817
152052
|
[/init.templatedir/, "allowUnsafeTemplateDir"],
|
|
152053
|
+
[/pager(..+)?./, "allowUnsafePager"],
|
|
151818
152054
|
[/merge(..+)?.driver/, "allowUnsafeMergeDriver"],
|
|
151819
152055
|
[/mergetool(..+)?.path/, "allowUnsafeMergeDriver"],
|
|
151820
152056
|
[/mergetool(..+)?.cmd/, "allowUnsafeMergeDriver"],
|
|
151821
152057
|
[/protocol(..+)?.allow/, "allowUnsafeProtocolOverride"],
|
|
151822
152058
|
[/remote(..+)?.receivepack/, "allowUnsafePack"],
|
|
151823
152059
|
[/remote(..+)?.uploadpack/, "allowUnsafePack"],
|
|
151824
|
-
[/
|
|
152060
|
+
[/uploadpack.packobjectshook/, "allowUnsafePack"],
|
|
152061
|
+
[/sequence.editor/, "allowUnsafeEditor"],
|
|
152062
|
+
[/submodule(..+)?.update/, "allowUnsafeSubmodule"],
|
|
152063
|
+
[/tar(..+)?.command/, "allowUnsafeCommandBinaries"],
|
|
152064
|
+
[/trailer(..+)?.cmd/, "allowUnsafeCommandBinaries"],
|
|
152065
|
+
[/trailer(..+)?.command/, "allowUnsafeCommandBinaries"],
|
|
152066
|
+
[/url(..+)?.insteadof/, "allowUnsafeUrlRewrite"]
|
|
151825
152067
|
];
|
|
151826
152068
|
function allowGeneratedConfigKeyFalsePositives(unsafe, key) {
|
|
151827
152069
|
const normalizedKey = key.toLowerCase().trim();
|
|
@@ -151853,7 +152095,14 @@ function createExtensionGitClient(simpleGit, {
|
|
|
151853
152095
|
const git = simpleGit(baseDir, {
|
|
151854
152096
|
...signal ? { abort: signal } : {},
|
|
151855
152097
|
...hasNetworkConfig ? { config: networkConfig } : {},
|
|
151856
|
-
...restrictEnvironment || hasNetworkConfig ? { unsafe } : {}
|
|
152098
|
+
...restrictEnvironment || hasNetworkConfig ? { unsafe } : {},
|
|
152099
|
+
...restrictEnvironment ? {
|
|
152100
|
+
allowEnvironment: [
|
|
152101
|
+
"GIT_CONFIG_NOSYSTEM",
|
|
152102
|
+
"GIT_CONFIG_GLOBAL",
|
|
152103
|
+
...authentication ? ["GIT_CONFIG_COUNT", "GIT_CONFIG_KEY_0", "GIT_CONFIG_VALUE_0"] : []
|
|
152104
|
+
]
|
|
152105
|
+
} : {}
|
|
151857
152106
|
});
|
|
151858
152107
|
if (!restrictEnvironment) return git;
|
|
151859
152108
|
const environment = {
|
|
@@ -153760,6 +154009,24 @@ var SourceRegistryStore = class {
|
|
|
153760
154009
|
sources.push(source);
|
|
153761
154010
|
this.write(sources);
|
|
153762
154011
|
}
|
|
154012
|
+
/** Replaces a validated source only while its original entry is unchanged. */
|
|
154013
|
+
replace(original, replacement) {
|
|
154014
|
+
const sources = this.read();
|
|
154015
|
+
const index = sources.findIndex((entry) => entry.name === original.name);
|
|
154016
|
+
const current = sources[index];
|
|
154017
|
+
if (!current || current.source !== original.source || current.type !== original.type || current.addedAt !== original.addedAt || current.lastUpdatedAt !== original.lastUpdatedAt) {
|
|
154018
|
+
throw new Error(
|
|
154019
|
+
"The selected marketplace source changed while it was being validated. Refresh the source list and try again."
|
|
154020
|
+
);
|
|
154021
|
+
}
|
|
154022
|
+
if (sources.some(
|
|
154023
|
+
(entry, entryIndex) => entryIndex !== index && (entry.name === replacement.name || entry.source === replacement.source)
|
|
154024
|
+
)) {
|
|
154025
|
+
throw new Error("Another marketplace already uses that name or source.");
|
|
154026
|
+
}
|
|
154027
|
+
sources[index] = replacement;
|
|
154028
|
+
this.write(sources);
|
|
154029
|
+
}
|
|
153763
154030
|
/** Removes a marketplace by name. Returns true if anything was removed. */
|
|
153764
154031
|
remove(name) {
|
|
153765
154032
|
const sources = this.read();
|
|
@@ -154098,10 +154365,34 @@ __name(applyOrDeferKeychainMutations, "applyOrDeferKeychainMutations");
|
|
|
154098
154365
|
function formatEnvContent(settings2) {
|
|
154099
154366
|
let envContent = "";
|
|
154100
154367
|
for (const [key, value] of Object.entries(settings2)) {
|
|
154101
|
-
const
|
|
154368
|
+
const doubleQuoted = !value.includes('"') ? [`"${value}"`] : [];
|
|
154369
|
+
const candidates = [
|
|
154370
|
+
...value.includes(" ") ? doubleQuoted : [],
|
|
154371
|
+
...!/^[\s]*['"`]/.test(value) ? [value] : [],
|
|
154372
|
+
...doubleQuoted,
|
|
154373
|
+
...!value.includes("'") ? [`'${value}'`] : [],
|
|
154374
|
+
...!value.includes("`") ? [`\`${value}\``] : [],
|
|
154375
|
+
...!value.includes('"') ? [`"${value.replace(/\r/g, "\\r").replace(/\n/g, "\\n")}"`] : []
|
|
154376
|
+
];
|
|
154377
|
+
const formattedValue = candidates.find((candidate) => {
|
|
154378
|
+
const parsed2 = dotenv.parse(`${key}=${candidate}
|
|
154379
|
+
`);
|
|
154380
|
+
return Object.keys(parsed2).length === 1 && parsed2[key] === value;
|
|
154381
|
+
});
|
|
154382
|
+
if (formattedValue === void 0) {
|
|
154383
|
+
throw new Error(
|
|
154384
|
+
`Extension setting "${key}" cannot be stored without changing its value.`
|
|
154385
|
+
);
|
|
154386
|
+
}
|
|
154102
154387
|
envContent += `${key}=${formattedValue}
|
|
154103
154388
|
`;
|
|
154104
154389
|
}
|
|
154390
|
+
const parsed = dotenv.parse(envContent);
|
|
154391
|
+
if (Object.keys(parsed).length !== Object.keys(settings2).length || Object.entries(settings2).some(([key, value]) => parsed[key] !== value)) {
|
|
154392
|
+
throw new Error(
|
|
154393
|
+
"Extension settings cannot be stored without changing their values."
|
|
154394
|
+
);
|
|
154395
|
+
}
|
|
154105
154396
|
return envContent;
|
|
154106
154397
|
}
|
|
154107
154398
|
__name(formatEnvContent, "formatEnvContent");
|
|
@@ -158459,6 +158750,47 @@ var ExtensionManager = class _ExtensionManager {
|
|
|
158459
158750
|
endMutation();
|
|
158460
158751
|
}
|
|
158461
158752
|
}
|
|
158753
|
+
async updateSource(name, source) {
|
|
158754
|
+
const original = this.getSources().find((entry) => entry.name === name);
|
|
158755
|
+
if (!original) {
|
|
158756
|
+
throw new Error("The selected marketplace source no longer exists.");
|
|
158757
|
+
}
|
|
158758
|
+
if (stripAnsiAndControl(source) !== source) {
|
|
158759
|
+
throw new Error(
|
|
158760
|
+
"Marketplace source must be a single line without control characters."
|
|
158761
|
+
);
|
|
158762
|
+
}
|
|
158763
|
+
const trimmed = source.trim();
|
|
158764
|
+
if (!trimmed) {
|
|
158765
|
+
throw new Error("Marketplace source cannot be empty.");
|
|
158766
|
+
}
|
|
158767
|
+
const config4 = await loadMarketplaceConfigFromSource(
|
|
158768
|
+
trimmed,
|
|
158769
|
+
this.networkPolicy
|
|
158770
|
+
);
|
|
158771
|
+
if (!config4 || typeof config4 !== "object" || Array.isArray(config4) || config4.name !== void 0 && typeof config4.name !== "string" || !Array.isArray(config4.plugins) || config4.plugins.some(
|
|
158772
|
+
(plugin) => !plugin || typeof plugin !== "object" || typeof plugin.name !== "string" || !plugin.name.trim()
|
|
158773
|
+
)) {
|
|
158774
|
+
throw new Error(
|
|
158775
|
+
"No valid marketplace found. Expected a marketplace manifest with a plugin list."
|
|
158776
|
+
);
|
|
158777
|
+
}
|
|
158778
|
+
const updated = {
|
|
158779
|
+
...original,
|
|
158780
|
+
name: config4.name || trimmed,
|
|
158781
|
+
source: trimmed,
|
|
158782
|
+
type: parseExtensionSourceType(trimmed),
|
|
158783
|
+
lastUpdatedAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
158784
|
+
};
|
|
158785
|
+
const endMutation = this.beginMutation("updateSource");
|
|
158786
|
+
try {
|
|
158787
|
+
this.sourceRegistryStore.replace(original, updated);
|
|
158788
|
+
this.discoverCache = null;
|
|
158789
|
+
return updated;
|
|
158790
|
+
} finally {
|
|
158791
|
+
endMutation();
|
|
158792
|
+
}
|
|
158793
|
+
}
|
|
158462
158794
|
removeSource(name) {
|
|
158463
158795
|
const endMutation = this.beginMutation("removeSource");
|
|
158464
158796
|
try {
|
|
@@ -158507,12 +158839,16 @@ var ExtensionManager = class _ExtensionManager {
|
|
|
158507
158839
|
installed: installedNames.has(plugin.name)
|
|
158508
158840
|
}));
|
|
158509
158841
|
}
|
|
158842
|
+
const sources = this.getSources();
|
|
158843
|
+
const sourceFingerprint = JSON.stringify(sources);
|
|
158510
158844
|
const result = await discoverPlugins(
|
|
158511
|
-
|
|
158845
|
+
sources,
|
|
158512
158846
|
installedNames,
|
|
158513
158847
|
this.networkPolicy
|
|
158514
158848
|
);
|
|
158515
|
-
this.
|
|
158849
|
+
if (JSON.stringify(this.getSources()) === sourceFingerprint) {
|
|
158850
|
+
this.discoverCache = result;
|
|
158851
|
+
}
|
|
158516
158852
|
return result;
|
|
158517
158853
|
}
|
|
158518
158854
|
readEnablementConfig() {
|
|
@@ -171225,7 +171561,7 @@ var Config = class _Config {
|
|
|
171225
171561
|
await this.proxyDispatcherReady;
|
|
171226
171562
|
options2?.signal?.throwIfAborted();
|
|
171227
171563
|
if (this.isOmniEnabled()) {
|
|
171228
|
-
const { normalizeDedicatedOmniUploadConfig } = await import("./upload-config-
|
|
171564
|
+
const { normalizeDedicatedOmniUploadConfig } = await import("./upload-config-JG34DU4J.js");
|
|
171229
171565
|
this.omniUploadConfig = normalizeDedicatedOmniUploadConfig({
|
|
171230
171566
|
baseUrl: this.omniUploadBaseUrl,
|
|
171231
171567
|
apiKeyEnv: this.omniUploadApiKeyEnv,
|
|
@@ -175125,7 +175461,7 @@ var Config = class _Config {
|
|
|
175125
175461
|
return this.omniPolicyTools;
|
|
175126
175462
|
}
|
|
175127
175463
|
async loadOmniMediaReader() {
|
|
175128
|
-
return import("./omni-
|
|
175464
|
+
return import("./omni-O37J5JI3.js");
|
|
175129
175465
|
}
|
|
175130
175466
|
/** Normalized `omni.processing` view. Undefined until tool warmup
|
|
175131
175467
|
* completes (or when omni is disabled). */
|
|
@@ -176701,7 +177037,7 @@ var Config = class _Config {
|
|
|
176701
177037
|
async registerWorkflowTool(registry4) {
|
|
176702
177038
|
if (registry4.getAllToolNames().includes(ToolNames.WORKFLOW)) return true;
|
|
176703
177039
|
await this.registerLazyTool(registry4, ToolNames.WORKFLOW, async () => {
|
|
176704
|
-
const { WorkflowTool } = await import("./workflow-
|
|
177040
|
+
const { WorkflowTool } = await import("./workflow-UG4V5VWR.js");
|
|
176705
177041
|
return new WorkflowTool(this);
|
|
176706
177042
|
});
|
|
176707
177043
|
return registry4.getAllToolNames().includes(ToolNames.WORKFLOW);
|
|
@@ -176723,7 +177059,7 @@ var Config = class _Config {
|
|
|
176723
177059
|
}
|
|
176724
177060
|
if (status === "disabled") return;
|
|
176725
177061
|
const factory = /* @__PURE__ */ __name(async () => {
|
|
176726
|
-
const { ImageGenTool } = await import("./image-gen-
|
|
177062
|
+
const { ImageGenTool } = await import("./image-gen-GRJ73O3N.js");
|
|
176727
177063
|
return new ImageGenTool(this);
|
|
176728
177064
|
}, "factory");
|
|
176729
177065
|
if (status === "deferred") {
|
|
@@ -176750,7 +177086,7 @@ var Config = class _Config {
|
|
|
176750
177086
|
return;
|
|
176751
177087
|
}
|
|
176752
177088
|
const factory = /* @__PURE__ */ __name(async () => {
|
|
176753
|
-
const { RecordSourceTool } = await import("./record-source-
|
|
177089
|
+
const { RecordSourceTool } = await import("./record-source-ANENC5K7.js");
|
|
176754
177090
|
return new RecordSourceTool(this);
|
|
176755
177091
|
}, "factory");
|
|
176756
177092
|
if (status === "deferred") {
|
|
@@ -176781,16 +177117,16 @@ var Config = class _Config {
|
|
|
176781
177117
|
const registerGoalWorkerTools = /* @__PURE__ */ __name(async () => {
|
|
176782
177118
|
if (options2?.forSubAgent) return;
|
|
176783
177119
|
await registerLazy(ToolNames.GET_GOAL, async () => {
|
|
176784
|
-
const { GetGoalTool: GetGoalTool2 } = await import("./goal-tools-
|
|
177120
|
+
const { GetGoalTool: GetGoalTool2 } = await import("./goal-tools-FLJYRSX6.js");
|
|
176785
177121
|
return new GetGoalTool2(this);
|
|
176786
177122
|
});
|
|
176787
177123
|
await registerLazy(ToolNames.UPDATE_GOAL, async () => {
|
|
176788
|
-
const { UpdateGoalTool: UpdateGoalTool2 } = await import("./goal-tools-
|
|
177124
|
+
const { UpdateGoalTool: UpdateGoalTool2 } = await import("./goal-tools-FLJYRSX6.js");
|
|
176789
177125
|
return new UpdateGoalTool2(this);
|
|
176790
177126
|
});
|
|
176791
177127
|
if (this.getModelProposedGoals() !== "disabled" && (resolveInteractionMode(this) === "interactive" || this.goalProposalHostSupported)) {
|
|
176792
177128
|
await registerLazy(ToolNames.PROPOSE_GOAL, async () => {
|
|
176793
|
-
const { ProposeGoalTool: ProposeGoalTool2 } = await import("./goal-tools-
|
|
177129
|
+
const { ProposeGoalTool: ProposeGoalTool2 } = await import("./goal-tools-FLJYRSX6.js");
|
|
176794
177130
|
return new ProposeGoalTool2(this);
|
|
176795
177131
|
});
|
|
176796
177132
|
}
|
|
@@ -176810,16 +177146,16 @@ var Config = class _Config {
|
|
|
176810
177146
|
});
|
|
176811
177147
|
}
|
|
176812
177148
|
await registerLazy(ToolNames.WEB_FETCH, async () => {
|
|
176813
|
-
const { WebFetchTool } = await import("./web-fetch-
|
|
177149
|
+
const { WebFetchTool } = await import("./web-fetch-WO3GHRIO.js");
|
|
176814
177150
|
return new WebFetchTool(this);
|
|
176815
177151
|
});
|
|
176816
177152
|
const hasExplicitWebSearchBackend = !!this.webSearchSettings?.model?.trim() || !!this.webSearchSettings?.baseUrl;
|
|
176817
177153
|
if (!this.getBareMode() && !this.isSafeMode() && this.webSearchSettings?.enabled !== false && (this.webSearchSettings?.enabled === true || !hasExplicitWebSearchBackend)) {
|
|
176818
|
-
const { evaluateWebSearchGate } = await import("./web-search-
|
|
177154
|
+
const { evaluateWebSearchGate } = await import("./web-search-4GJLGZQM.js");
|
|
176819
177155
|
const gate = evaluateWebSearchGate(this);
|
|
176820
177156
|
if (gate.ok) {
|
|
176821
177157
|
await registerLazy(ToolNames.WEB_SEARCH, async () => {
|
|
176822
|
-
const { WebSearchTool } = await import("./web-search-
|
|
177158
|
+
const { WebSearchTool } = await import("./web-search-4GJLGZQM.js");
|
|
176823
177159
|
return new WebSearchTool(this);
|
|
176824
177160
|
});
|
|
176825
177161
|
} else if (!gate.silent && !this.webSearchNoticeEmitted && !options2?.forSubAgent) {
|
|
@@ -176836,8 +177172,8 @@ var Config = class _Config {
|
|
|
176836
177172
|
);
|
|
176837
177173
|
}
|
|
176838
177174
|
const [{ createExecutionTools }, { wrapExecutionTool }] = await Promise.all([
|
|
176839
|
-
import("./local-execution-environment-
|
|
176840
|
-
import("./execution-tool-
|
|
177175
|
+
import("./local-execution-environment-DOKSKTNZ.js"),
|
|
177176
|
+
import("./execution-tool-RK3OB5IY.js")
|
|
176841
177177
|
]);
|
|
176842
177178
|
for (const [name, tool] of createExecutionTools(this)) {
|
|
176843
177179
|
if (environment.toolNames && !environment.toolNames.has(name)) continue;
|
|
@@ -176848,11 +177184,11 @@ var Config = class _Config {
|
|
|
176848
177184
|
);
|
|
176849
177185
|
}
|
|
176850
177186
|
await registerLazy(ToolNames.TOOL_CALL, async () => {
|
|
176851
|
-
const { ToolCallTool } = await import("./tool-call-
|
|
177187
|
+
const { ToolCallTool } = await import("./tool-call-GVZHLCX6.js");
|
|
176852
177188
|
return new ToolCallTool(registry4);
|
|
176853
177189
|
});
|
|
176854
177190
|
await registerLazy(ToolNames.TOOL_SEARCH, async () => {
|
|
176855
|
-
const { ToolSearchTool } = await import("./tool-search-
|
|
177191
|
+
const { ToolSearchTool } = await import("./tool-search-WNOVTFBP.js");
|
|
176856
177192
|
return new ToolSearchTool(this);
|
|
176857
177193
|
});
|
|
176858
177194
|
if (this.executionEnvironment && !options2?.forSubAgent) {
|
|
@@ -176864,7 +177200,7 @@ var Config = class _Config {
|
|
|
176864
177200
|
}
|
|
176865
177201
|
if (this.shellExecutionSandbox) {
|
|
176866
177202
|
await registerLazy(ToolNames.SHELL, async () => {
|
|
176867
|
-
const { ShellTool: ShellTool2 } = await import("./shell-
|
|
177203
|
+
const { ShellTool: ShellTool2 } = await import("./shell-PDZIKVVS.js");
|
|
176868
177204
|
return new ShellTool2(this);
|
|
176869
177205
|
});
|
|
176870
177206
|
await registerLazy(ToolNames.TASK_STOP, async () => {
|
|
@@ -176872,27 +177208,27 @@ var Config = class _Config {
|
|
|
176872
177208
|
return new TaskStopTool(this);
|
|
176873
177209
|
});
|
|
176874
177210
|
await registerLazy(ToolNames.READ_FILE, async () => {
|
|
176875
|
-
const { ReadFileTool } = await import("./read-file-
|
|
177211
|
+
const { ReadFileTool } = await import("./read-file-UDFSKNBI.js");
|
|
176876
177212
|
return new ReadFileTool(this);
|
|
176877
177213
|
});
|
|
176878
177214
|
await registerLazy(ToolNames.WRITE_FILE, async () => {
|
|
176879
|
-
const { WriteFileTool } = await import("./write-file-
|
|
177215
|
+
const { WriteFileTool } = await import("./write-file-VTHULBGP.js");
|
|
176880
177216
|
return new WriteFileTool(this);
|
|
176881
177217
|
});
|
|
176882
177218
|
await registerLazy(ToolNames.EDIT, async () => {
|
|
176883
|
-
const { EditTool } = await import("./edit-
|
|
177219
|
+
const { EditTool } = await import("./edit-N5WDGSAZ.js");
|
|
176884
177220
|
return new EditTool(this);
|
|
176885
177221
|
});
|
|
176886
177222
|
await registerLazy(ToolNames.MONITOR, async () => {
|
|
176887
|
-
const { MonitorTool } = await import("./monitor-
|
|
177223
|
+
const { MonitorTool } = await import("./monitor-WXQOHZKP.js");
|
|
176888
177224
|
return new MonitorTool(this);
|
|
176889
177225
|
});
|
|
176890
177226
|
await registerLazy(ToolNames.AGENT, async () => {
|
|
176891
|
-
const { AgentTool: AgentTool2 } = await import("./agent-
|
|
177227
|
+
const { AgentTool: AgentTool2 } = await import("./agent-QONNC6CU.js");
|
|
176892
177228
|
return new AgentTool2(this);
|
|
176893
177229
|
});
|
|
176894
177230
|
await registerLazy(ToolNames.GLOB, async () => {
|
|
176895
|
-
const { GlobTool } = await import("./glob-
|
|
177231
|
+
const { GlobTool } = await import("./glob-MD6DOICU.js");
|
|
176896
177232
|
return new GlobTool(this);
|
|
176897
177233
|
});
|
|
176898
177234
|
await registerLazy(ToolNames.LS, async () => {
|
|
@@ -176911,19 +177247,19 @@ var Config = class _Config {
|
|
|
176911
177247
|
}
|
|
176912
177248
|
if (this.getBareMode()) {
|
|
176913
177249
|
await registerLazy(ToolNames.READ_FILE, async () => {
|
|
176914
|
-
const { ReadFileTool } = await import("./read-file-
|
|
177250
|
+
const { ReadFileTool } = await import("./read-file-UDFSKNBI.js");
|
|
176915
177251
|
return new ReadFileTool(this);
|
|
176916
177252
|
});
|
|
176917
177253
|
await registerLazy(ToolNames.EDIT, async () => {
|
|
176918
|
-
const { EditTool } = await import("./edit-
|
|
177254
|
+
const { EditTool } = await import("./edit-N5WDGSAZ.js");
|
|
176919
177255
|
return new EditTool(this);
|
|
176920
177256
|
});
|
|
176921
177257
|
await registerLazy(ToolNames.NOTEBOOK_EDIT, async () => {
|
|
176922
|
-
const { NotebookEditTool } = await import("./notebook-edit-
|
|
177258
|
+
const { NotebookEditTool } = await import("./notebook-edit-HOKY5D6F.js");
|
|
176923
177259
|
return new NotebookEditTool(this);
|
|
176924
177260
|
});
|
|
176925
177261
|
await registerLazy(ToolNames.SHELL, async () => {
|
|
176926
|
-
const { ShellTool: ShellTool2 } = await import("./shell-
|
|
177262
|
+
const { ShellTool: ShellTool2 } = await import("./shell-PDZIKVVS.js");
|
|
176927
177263
|
return new ShellTool2(this);
|
|
176928
177264
|
});
|
|
176929
177265
|
await registerGoalWorkerTools();
|
|
@@ -176938,11 +177274,11 @@ var Config = class _Config {
|
|
|
176938
177274
|
await registerExecIfEnabled();
|
|
176939
177275
|
await registerGoalWorkerTools();
|
|
176940
177276
|
await registerLazy(ToolNames.TOOL_CALL, async () => {
|
|
176941
|
-
const { ToolCallTool } = await import("./tool-call-
|
|
177277
|
+
const { ToolCallTool } = await import("./tool-call-GVZHLCX6.js");
|
|
176942
177278
|
return new ToolCallTool(registry4);
|
|
176943
177279
|
});
|
|
176944
177280
|
await registerLazy(ToolNames.TOOL_SEARCH, async () => {
|
|
176945
|
-
const { ToolSearchTool } = await import("./tool-search-
|
|
177281
|
+
const { ToolSearchTool } = await import("./tool-search-WNOVTFBP.js");
|
|
176946
177282
|
return new ToolSearchTool(this);
|
|
176947
177283
|
});
|
|
176948
177284
|
await registerLazy(ToolNames.READ_MCP_RESOURCE, async () => {
|
|
@@ -176950,7 +177286,7 @@ var Config = class _Config {
|
|
|
176950
177286
|
return new ReadMcpResourceTool(this);
|
|
176951
177287
|
});
|
|
176952
177288
|
await registerLazy(ToolNames.AGENT, async () => {
|
|
176953
|
-
const { AgentTool: AgentTool2 } = await import("./agent-
|
|
177289
|
+
const { AgentTool: AgentTool2 } = await import("./agent-QONNC6CU.js");
|
|
176954
177290
|
return new AgentTool2(this);
|
|
176955
177291
|
});
|
|
176956
177292
|
await registerLazy(ToolNames.LIST_AGENTS, async () => {
|
|
@@ -176962,11 +177298,11 @@ var Config = class _Config {
|
|
|
176962
177298
|
return new TaskStopTool(this);
|
|
176963
177299
|
});
|
|
176964
177300
|
await registerLazy(ToolNames.SEND_MESSAGE, async () => {
|
|
176965
|
-
const { SendMessageTool } = await import("./send-message-
|
|
177301
|
+
const { SendMessageTool } = await import("./send-message-QOWWQKZJ.js");
|
|
176966
177302
|
return new SendMessageTool(this);
|
|
176967
177303
|
});
|
|
176968
177304
|
await registerLazy(ToolNames.SKILL, async () => {
|
|
176969
|
-
const { SkillTool } = await import("./skill-
|
|
177305
|
+
const { SkillTool } = await import("./skill-QOPISSJO.js");
|
|
176970
177306
|
return new SkillTool(this);
|
|
176971
177307
|
});
|
|
176972
177308
|
if (this.isLsToolEnabled()) {
|
|
@@ -176976,11 +177312,11 @@ var Config = class _Config {
|
|
|
176976
177312
|
});
|
|
176977
177313
|
}
|
|
176978
177314
|
await registerLazy(ToolNames.READ_FILE, async () => {
|
|
176979
|
-
const { ReadFileTool } = await import("./read-file-
|
|
177315
|
+
const { ReadFileTool } = await import("./read-file-UDFSKNBI.js");
|
|
176980
177316
|
return new ReadFileTool(this);
|
|
176981
177317
|
});
|
|
176982
177318
|
await registerLazy(ToolNames.ZOOM_IMAGE, async () => {
|
|
176983
|
-
const { ZoomImageTool } = await import("./zoom-image-
|
|
177319
|
+
const { ZoomImageTool } = await import("./zoom-image-TJNJJATC.js");
|
|
176984
177320
|
return new ZoomImageTool(this);
|
|
176985
177321
|
});
|
|
176986
177322
|
if (this.getUseRipgrep()) {
|
|
@@ -176995,7 +177331,7 @@ var Config = class _Config {
|
|
|
176995
177331
|
recordStartupEvent("config_initialize_ripgrep_probe_end");
|
|
176996
177332
|
if (useRipgrep) {
|
|
176997
177333
|
await registerLazy(ToolNames.GREP, async () => {
|
|
176998
|
-
const { RipGrepTool } = await import("./ripGrep-
|
|
177334
|
+
const { RipGrepTool } = await import("./ripGrep-RMGB52RM.js");
|
|
176999
177335
|
return new RipGrepTool(this);
|
|
177000
177336
|
});
|
|
177001
177337
|
} else {
|
|
@@ -177008,7 +177344,7 @@ var Config = class _Config {
|
|
|
177008
177344
|
)
|
|
177009
177345
|
);
|
|
177010
177346
|
await registerLazy(ToolNames.GREP, async () => {
|
|
177011
|
-
const { GrepTool } = await import("./grep-
|
|
177347
|
+
const { GrepTool } = await import("./grep-VO76ZOXG.js");
|
|
177012
177348
|
return new GrepTool(this);
|
|
177013
177349
|
});
|
|
177014
177350
|
}
|
|
@@ -177016,28 +177352,28 @@ var Config = class _Config {
|
|
|
177016
177352
|
recordStartupEvent("config_initialize_ripgrep_probe_start");
|
|
177017
177353
|
recordStartupEvent("config_initialize_ripgrep_probe_end");
|
|
177018
177354
|
await registerLazy(ToolNames.GREP, async () => {
|
|
177019
|
-
const { GrepTool } = await import("./grep-
|
|
177355
|
+
const { GrepTool } = await import("./grep-VO76ZOXG.js");
|
|
177020
177356
|
return new GrepTool(this);
|
|
177021
177357
|
});
|
|
177022
177358
|
}
|
|
177023
177359
|
await registerLazy(ToolNames.GLOB, async () => {
|
|
177024
|
-
const { GlobTool } = await import("./glob-
|
|
177360
|
+
const { GlobTool } = await import("./glob-MD6DOICU.js");
|
|
177025
177361
|
return new GlobTool(this);
|
|
177026
177362
|
});
|
|
177027
177363
|
await registerLazy(ToolNames.EDIT, async () => {
|
|
177028
|
-
const { EditTool } = await import("./edit-
|
|
177364
|
+
const { EditTool } = await import("./edit-N5WDGSAZ.js");
|
|
177029
177365
|
return new EditTool(this);
|
|
177030
177366
|
});
|
|
177031
177367
|
await registerLazy(ToolNames.NOTEBOOK_EDIT, async () => {
|
|
177032
|
-
const { NotebookEditTool } = await import("./notebook-edit-
|
|
177368
|
+
const { NotebookEditTool } = await import("./notebook-edit-HOKY5D6F.js");
|
|
177033
177369
|
return new NotebookEditTool(this);
|
|
177034
177370
|
});
|
|
177035
177371
|
await registerLazy(ToolNames.WRITE_FILE, async () => {
|
|
177036
|
-
const { WriteFileTool } = await import("./write-file-
|
|
177372
|
+
const { WriteFileTool } = await import("./write-file-VTHULBGP.js");
|
|
177037
177373
|
return new WriteFileTool(this);
|
|
177038
177374
|
});
|
|
177039
177375
|
await registerLazy(ToolNames.SHELL, async () => {
|
|
177040
|
-
const { ShellTool: ShellTool2 } = await import("./shell-
|
|
177376
|
+
const { ShellTool: ShellTool2 } = await import("./shell-PDZIKVVS.js");
|
|
177041
177377
|
return new ShellTool2(this);
|
|
177042
177378
|
});
|
|
177043
177379
|
await registerLazy(ToolNames.REPORT_FINDINGS, async () => {
|
|
@@ -177053,22 +177389,22 @@ var Config = class _Config {
|
|
|
177053
177389
|
}
|
|
177054
177390
|
if (!this.sdkMode && (supportsUserInteraction || options2?.forSubAgent)) {
|
|
177055
177391
|
await registerLazy(ToolNames.EXIT_PLAN_MODE, async () => {
|
|
177056
|
-
const { ExitPlanModeTool: ExitPlanModeTool2 } = await import("./exitPlanMode-
|
|
177392
|
+
const { ExitPlanModeTool: ExitPlanModeTool2 } = await import("./exitPlanMode-SRLMLRK5.js");
|
|
177057
177393
|
return new ExitPlanModeTool2(this);
|
|
177058
177394
|
});
|
|
177059
177395
|
}
|
|
177060
177396
|
if (!this.sdkMode && supportsUserInteraction) {
|
|
177061
177397
|
await registerLazy(ToolNames.ENTER_PLAN_MODE, async () => {
|
|
177062
|
-
const { EnterPlanModeTool } = await import("./enterPlanMode-
|
|
177398
|
+
const { EnterPlanModeTool } = await import("./enterPlanMode-52GAH43E.js");
|
|
177063
177399
|
return new EnterPlanModeTool(this);
|
|
177064
177400
|
});
|
|
177065
177401
|
}
|
|
177066
177402
|
await registerLazy(ToolNames.ENTER_WORKTREE, async () => {
|
|
177067
|
-
const { EnterWorktreeTool } = await import("./enter-worktree-
|
|
177403
|
+
const { EnterWorktreeTool } = await import("./enter-worktree-A2WD27HQ.js");
|
|
177068
177404
|
return new EnterWorktreeTool(this);
|
|
177069
177405
|
});
|
|
177070
177406
|
await registerLazy(ToolNames.EXIT_WORKTREE, async () => {
|
|
177071
|
-
const { ExitWorktreeTool } = await import("./exit-worktree-
|
|
177407
|
+
const { ExitWorktreeTool } = await import("./exit-worktree-S7KUQ4HO.js");
|
|
177072
177408
|
return new ExitWorktreeTool(this);
|
|
177073
177409
|
});
|
|
177074
177410
|
if (resolveInteractionMode(this) === "interactive" && !this.sdkMode && !this.getScreenReader() && !options2?.forSubAgent) {
|
|
@@ -177126,33 +177462,33 @@ var Config = class _Config {
|
|
|
177126
177462
|
}
|
|
177127
177463
|
if (this.isAgentTeamEnabled()) {
|
|
177128
177464
|
await registerLazy(ToolNames.TEAM_CREATE, async () => {
|
|
177129
|
-
const { TeamCreateTool } = await import("./team-create-
|
|
177465
|
+
const { TeamCreateTool } = await import("./team-create-PDT7MW4F.js");
|
|
177130
177466
|
return new TeamCreateTool(this);
|
|
177131
177467
|
});
|
|
177132
177468
|
await registerLazy(ToolNames.TEAM_DELETE, async () => {
|
|
177133
|
-
const { TeamDeleteTool } = await import("./team-delete-
|
|
177469
|
+
const { TeamDeleteTool } = await import("./team-delete-WBSKRFVF.js");
|
|
177134
177470
|
return new TeamDeleteTool(this);
|
|
177135
177471
|
});
|
|
177136
177472
|
await registerLazy(ToolNames.TEAM_PLAN_APPROVAL, async () => {
|
|
177137
|
-
const { TeamPlanApprovalTool } = await import("./team-plan-approval-
|
|
177473
|
+
const { TeamPlanApprovalTool } = await import("./team-plan-approval-4CFTZI2I.js");
|
|
177138
177474
|
return new TeamPlanApprovalTool(this);
|
|
177139
177475
|
});
|
|
177140
177476
|
if (!options2?.forSubAgent) {
|
|
177141
177477
|
await registerLazy(ToolNames.REQUEST_SHUTDOWN, async () => {
|
|
177142
|
-
const { RequestShutdownTool } = await import("./request-shutdown-
|
|
177478
|
+
const { RequestShutdownTool } = await import("./request-shutdown-LRWCJOEG.js");
|
|
177143
177479
|
return new RequestShutdownTool(this);
|
|
177144
177480
|
});
|
|
177145
177481
|
}
|
|
177146
177482
|
await registerLazy(ToolNames.TASK_CREATE, async () => {
|
|
177147
|
-
const { TaskCreateTool } = await import("./task-create-
|
|
177483
|
+
const { TaskCreateTool } = await import("./task-create-2BHPJUF3.js");
|
|
177148
177484
|
return new TaskCreateTool(this);
|
|
177149
177485
|
});
|
|
177150
177486
|
await registerLazy(ToolNames.TASK_UPDATE, async () => {
|
|
177151
|
-
const { TaskUpdateTool } = await import("./task-update-
|
|
177487
|
+
const { TaskUpdateTool } = await import("./task-update-NGKKBFU5.js");
|
|
177152
177488
|
return new TaskUpdateTool(this);
|
|
177153
177489
|
});
|
|
177154
177490
|
await registerLazy(ToolNames.TASK_LIST, async () => {
|
|
177155
|
-
const { TaskListTool } = await import("./task-list-
|
|
177491
|
+
const { TaskListTool } = await import("./task-list-6LPOL5UB.js");
|
|
177156
177492
|
return new TaskListTool(this);
|
|
177157
177493
|
});
|
|
177158
177494
|
}
|
|
@@ -177230,7 +177566,7 @@ var Config = class _Config {
|
|
|
177230
177566
|
}
|
|
177231
177567
|
}
|
|
177232
177568
|
await registerLazy(ToolNames.MONITOR, async () => {
|
|
177233
|
-
const { MonitorTool } = await import("./monitor-
|
|
177569
|
+
const { MonitorTool } = await import("./monitor-WXQOHZKP.js");
|
|
177234
177570
|
return new MonitorTool(this);
|
|
177235
177571
|
});
|
|
177236
177572
|
if (this.pendingMcpBudgetCallback) {
|
|
@@ -178488,7 +178824,7 @@ export {
|
|
|
178488
178824
|
*/
|
|
178489
178825
|
/*! Bundled license information:
|
|
178490
178826
|
|
|
178491
|
-
@modelcontextprotocol/client/dist/src-
|
|
178827
|
+
@modelcontextprotocol/client/dist/src-xKF0PJN-.mjs:
|
|
178492
178828
|
(*!
|
|
178493
178829
|
* content-type
|
|
178494
178830
|
* Copyright(c) 2015 Douglas Christopher Wilson
|