@shareai-lab/kode 2.0.1 → 2.0.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/LICENSE +201 -0
- package/README.md +649 -25
- package/README.zh-CN.md +579 -0
- package/cli-acp.js +3 -17
- package/cli.js +5 -7
- package/dist/chunks/Doctor-M3J7GRTJ.js +12 -0
- package/dist/chunks/LogList-ISWZ6DDD.js +121 -0
- package/dist/chunks/LogList-ISWZ6DDD.js.map +7 -0
- package/dist/chunks/REPL-RQ6LO6S7.js +56 -0
- package/dist/chunks/ResumeConversation-6DMVBEGH.js +56 -0
- package/dist/chunks/agentLoader-FCRG3TFJ.js +31 -0
- package/dist/{agentsValidate-7LH4HTNR.js → chunks/agentsValidate-PEWMYN4Q.js} +97 -69
- package/dist/chunks/agentsValidate-PEWMYN4Q.js.map +7 -0
- package/dist/{ask-3NHFFUQG.js → chunks/ask-D7SOHJ6Z.js} +36 -44
- package/dist/chunks/ask-D7SOHJ6Z.js.map +7 -0
- package/dist/chunks/autoUpdater-CNESBOKO.js +19 -0
- package/dist/{chunk-AFFSCMYS.js → chunks/chunk-2JN5MY67.js} +12 -14
- package/dist/chunks/chunk-2JN5MY67.js.map +7 -0
- package/dist/chunks/chunk-2QONJ5MG.js +14 -0
- package/dist/chunks/chunk-2QONJ5MG.js.map +7 -0
- package/dist/chunks/chunk-2WEXPKHH.js +903 -0
- package/dist/chunks/chunk-2WEXPKHH.js.map +7 -0
- package/dist/{chunk-ARZSBOAO.js → chunks/chunk-3BYE3ME6.js} +717 -792
- package/dist/chunks/chunk-3BYE3ME6.js.map +7 -0
- package/dist/chunks/chunk-3JDNWX7W.js +1264 -0
- package/dist/chunks/chunk-3JDNWX7W.js.map +7 -0
- package/dist/chunks/chunk-3OEJVB5A.js +906 -0
- package/dist/chunks/chunk-3OEJVB5A.js.map +7 -0
- package/dist/chunks/chunk-3TNIOEBO.js +369 -0
- package/dist/chunks/chunk-3TNIOEBO.js.map +7 -0
- package/dist/chunks/chunk-4A46ZXMJ.js +67 -0
- package/dist/chunks/chunk-4A46ZXMJ.js.map +7 -0
- package/dist/{chunk-UHYRLID6.js → chunks/chunk-4ATBQOFO.js} +107 -55
- package/dist/chunks/chunk-4ATBQOFO.js.map +7 -0
- package/dist/chunks/chunk-4CRUCZR4.js +0 -0
- package/dist/{chunk-YC6LJCDE.js → chunks/chunk-4EO6SIQY.js} +32 -75
- package/dist/chunks/chunk-4EO6SIQY.js.map +7 -0
- package/dist/chunks/chunk-53M46S5I.js +64 -0
- package/dist/chunks/chunk-53M46S5I.js.map +7 -0
- package/dist/{chunk-JC6NCUG5.js → chunks/chunk-54KOYG5C.js} +0 -2
- package/dist/{chunk-EZXMVTDU.js → chunks/chunk-6BAS4WY6.js} +29 -45
- package/dist/chunks/chunk-6BAS4WY6.js.map +7 -0
- package/dist/{chunk-3IN27HA5.js → chunks/chunk-6KRRFSDN.js} +4 -6
- package/dist/chunks/chunk-6KRRFSDN.js.map +7 -0
- package/dist/chunks/chunk-6LJNZK4K.js +39 -0
- package/dist/chunks/chunk-6LJNZK4K.js.map +7 -0
- package/dist/chunks/chunk-6ZWEOSEI.js +666 -0
- package/dist/chunks/chunk-6ZWEOSEI.js.map +7 -0
- package/dist/chunks/chunk-77XDJMBP.js +3326 -0
- package/dist/chunks/chunk-77XDJMBP.js.map +7 -0
- package/dist/chunks/chunk-7RRW4NTB.js +6454 -0
- package/dist/chunks/chunk-7RRW4NTB.js.map +7 -0
- package/dist/chunks/chunk-7X3TW4JB.js +4520 -0
- package/dist/chunks/chunk-7X3TW4JB.js.map +7 -0
- package/dist/chunks/chunk-B3MW3YGY.js +1409 -0
- package/dist/chunks/chunk-B3MW3YGY.js.map +7 -0
- package/dist/chunks/chunk-BBJFHTBC.js +28 -0
- package/dist/chunks/chunk-BBJFHTBC.js.map +7 -0
- package/dist/chunks/chunk-BHDHXOXB.js +24 -0
- package/dist/chunks/chunk-BHDHXOXB.js.map +7 -0
- package/dist/{chunk-73WGVYLQ.js → chunks/chunk-BTA7SZ26.js} +152 -223
- package/dist/chunks/chunk-BTA7SZ26.js.map +7 -0
- package/dist/chunks/chunk-CDGRYGPZ.js +103 -0
- package/dist/chunks/chunk-CDGRYGPZ.js.map +7 -0
- package/dist/{chunk-S6HRABTA.js → chunks/chunk-CP6E5UG6.js} +1 -4
- package/dist/chunks/chunk-CP6E5UG6.js.map +7 -0
- package/dist/{chunk-QVLYOPO5.js → chunks/chunk-DQ4JHXMT.js} +462 -424
- package/dist/chunks/chunk-DQ4JHXMT.js.map +7 -0
- package/dist/chunks/chunk-DXD76CMV.js +208 -0
- package/dist/chunks/chunk-DXD76CMV.js.map +7 -0
- package/dist/chunks/chunk-GCQCAXJZ.js +0 -0
- package/dist/chunks/chunk-GELCZWMB.js +42 -0
- package/dist/chunks/chunk-GELCZWMB.js.map +7 -0
- package/dist/{chunk-K2CWOTI2.js → chunks/chunk-HJYOH4HC.js} +23 -18
- package/dist/chunks/chunk-HJYOH4HC.js.map +7 -0
- package/dist/chunks/chunk-HPYNW6TT.js +744 -0
- package/dist/chunks/chunk-HPYNW6TT.js.map +7 -0
- package/dist/{chunk-RZWOUA25.js → chunks/chunk-HRJ3ICQK.js} +59 -55
- package/dist/chunks/chunk-HRJ3ICQK.js.map +7 -0
- package/dist/{chunk-DZE5YA7L.js → chunks/chunk-IFCIADS3.js} +571 -573
- package/dist/chunks/chunk-IFCIADS3.js.map +7 -0
- package/dist/chunks/chunk-IN7XZ7BC.js +27 -0
- package/dist/chunks/chunk-IN7XZ7BC.js.map +7 -0
- package/dist/chunks/chunk-L7P4M4KW.js +193 -0
- package/dist/chunks/chunk-L7P4M4KW.js.map +7 -0
- package/dist/chunks/chunk-LB6TCPDI.js +0 -0
- package/dist/{chunk-3RUXVV4S.js → chunks/chunk-LOCXPQNJ.js} +1 -4
- package/dist/{chunk-3RUXVV4S.js.map → chunks/chunk-LOCXPQNJ.js.map} +2 -2
- package/dist/{chunk-7M2YN6TU.js → chunks/chunk-LOD5ZHCI.js} +213 -208
- package/dist/chunks/chunk-LOD5ZHCI.js.map +7 -0
- package/dist/{chunk-S3J2TLV6.js → chunks/chunk-M7P3QNRU.js} +1 -4
- package/dist/{chunk-S3J2TLV6.js.map → chunks/chunk-M7P3QNRU.js.map} +2 -2
- package/dist/chunks/chunk-PPHLQVL7.js +4234 -0
- package/dist/chunks/chunk-PPHLQVL7.js.map +7 -0
- package/dist/{chunk-ABLVTESJ.js → chunks/chunk-QAXE37B5.js} +1 -4
- package/dist/chunks/chunk-QAXE37B5.js.map +7 -0
- package/dist/chunks/chunk-QHQOBUF6.js +60 -0
- package/dist/chunks/chunk-QHQOBUF6.js.map +7 -0
- package/dist/{chunk-W7GRKO7Q.js → chunks/chunk-RPJXO7GG.js} +241 -214
- package/dist/chunks/chunk-RPJXO7GG.js.map +7 -0
- package/dist/{chunk-NPFOMITO.js → chunks/chunk-SWQV4KSY.js} +1 -4
- package/dist/{chunk-NPFOMITO.js.map → chunks/chunk-SWQV4KSY.js.map} +2 -2
- package/dist/chunks/chunk-SZLAPULP.js +28 -0
- package/dist/chunks/chunk-SZLAPULP.js.map +7 -0
- package/dist/{chunk-7U7L4NMD.js → chunks/chunk-T7RB5V5J.js} +23 -25
- package/dist/chunks/chunk-T7RB5V5J.js.map +7 -0
- package/dist/{chunk-HN4E4UUQ.js → chunks/chunk-TI2CTTMA.js} +25 -17
- package/dist/chunks/chunk-TI2CTTMA.js.map +7 -0
- package/dist/{chunk-ZVDRDPII.js → chunks/chunk-TNGVRTO5.js} +45 -20
- package/dist/chunks/chunk-TNGVRTO5.js.map +7 -0
- package/dist/chunks/chunk-TNWB3U5Y.js +2077 -0
- package/dist/chunks/chunk-TNWB3U5Y.js.map +7 -0
- package/dist/chunks/chunk-U2IHWPCU.js +12 -0
- package/dist/chunks/chunk-U2IHWPCU.js.map +7 -0
- package/dist/{chunk-KAA5BGMQ.js → chunks/chunk-UNOY3VJ2.js} +1 -4
- package/dist/{chunk-KAA5BGMQ.js.map → chunks/chunk-UNOY3VJ2.js.map} +2 -2
- package/dist/{chunk-MWRSY4X6.js → chunks/chunk-UVDJL6ZZ.js} +97 -58
- package/dist/chunks/chunk-UVDJL6ZZ.js.map +7 -0
- package/dist/chunks/chunk-VNCW4C2Z.js +13452 -0
- package/dist/chunks/chunk-VNCW4C2Z.js.map +7 -0
- package/dist/chunks/chunk-W5EGGA44.js +15 -0
- package/dist/chunks/chunk-W5EGGA44.js.map +7 -0
- package/dist/chunks/chunk-XR2W3MAM.js +1533 -0
- package/dist/chunks/chunk-XR2W3MAM.js.map +7 -0
- package/dist/{chunk-STSX7GIX.js → chunks/chunk-YIO5EBMQ.js} +423 -377
- package/dist/chunks/chunk-YIO5EBMQ.js.map +7 -0
- package/dist/chunks/chunk-ZBVLKZ5V.js +1062 -0
- package/dist/chunks/chunk-ZBVLKZ5V.js.map +7 -0
- package/dist/{chunk-E6YNABER.js → chunks/chunk-ZCLTZIVP.js} +1 -4
- package/dist/chunks/chunk-ZCLTZIVP.js.map +7 -0
- package/dist/chunks/client-SILZNM5N.js +42 -0
- package/dist/{config-RUSD6G5Y.js → chunks/config-25HRTPSP.js} +48 -10
- package/dist/chunks/cost-tracker-Z2UZT2J5.js +28 -0
- package/dist/{customCommands-TOIJFZAL.js → chunks/customCommands-TYMYZRG5.js} +11 -8
- package/dist/chunks/engine-MRVF6FK6.js +39 -0
- package/dist/{env-XGKBLU3D.js → chunks/env-TJ5NOBEB.js} +7 -5
- package/dist/{kodeAgentSessionId-X6XWQW7B.js → chunks/kodeAgentSessionId-VTNISJ2L.js} +2 -4
- package/dist/chunks/kodeAgentSessionLoad-YB2RKBGJ.js +15 -0
- package/dist/chunks/kodeAgentSessionResume-DZSIVKVA.js +13 -0
- package/dist/chunks/kodeAgentStreamJson-X5PLS2S6.js +11 -0
- package/dist/{kodeAgentStreamJsonSession-UGEZJJEB.js → chunks/kodeAgentStreamJsonSession-RDXM4XYF.js} +38 -24
- package/dist/chunks/kodeAgentStreamJsonSession-RDXM4XYF.js.map +7 -0
- package/dist/{chunk-4RTX4AG4.js → chunks/kodeAgentStructuredStdio-SVGDSB4P.js} +14 -9
- package/dist/chunks/kodeAgentStructuredStdio-SVGDSB4P.js.map +7 -0
- package/dist/{kodeHooks-QWM36A3D.js → chunks/kodeHooks-RVKYRJHG.js} +11 -9
- package/dist/{llm-ZUQC4WYM.js → chunks/llm-62N6T5ZT.js} +1734 -1526
- package/dist/chunks/llm-62N6T5ZT.js.map +7 -0
- package/dist/chunks/llmLazy-ZUSSE3ZA.js +13 -0
- package/dist/{mentionProcessor-EE3XFHCJ.js → chunks/mentionProcessor-RJW5UPJD.js} +46 -16
- package/dist/chunks/mentionProcessor-RJW5UPJD.js.map +7 -0
- package/dist/{messages-EOYQKPGM.js → chunks/messages-EEWWLPHN.js} +2 -6
- package/dist/chunks/model-5TIEKQPD.js +37 -0
- package/dist/{openai-RRCWW33N.js → chunks/openai-XXK3YZG4.js} +13 -10
- package/dist/{outputStyles-62Q3VH2J.js → chunks/outputStyles-FAJTXN2A.js} +6 -9
- package/dist/chunks/permissions-HO7INPWM.js +27 -0
- package/dist/{pluginRuntime-6ETCZ2LL.js → chunks/pluginRuntime-C7K5ULK2.js} +31 -48
- package/dist/chunks/pluginRuntime-C7K5ULK2.js.map +7 -0
- package/dist/chunks/pluginValidation-DAM7WRTC.js +20 -0
- package/dist/chunks/registry-XYJXMOA5.js +60 -0
- package/dist/chunks/responsesStreaming-JNGE2P3D.js +8 -0
- package/dist/chunks/runNonTextPrintMode-SVBLCZQX.js +577 -0
- package/dist/chunks/runNonTextPrintMode-SVBLCZQX.js.map +7 -0
- package/dist/chunks/server-REXXF5IK.js +46 -0
- package/dist/{skillMarketplace-3RXQBVOL.js → chunks/skillMarketplace-N4HVHNST.js} +8 -6
- package/dist/chunks/src-OROQIWP3.js +44 -0
- package/dist/chunks/src-QXLGGMUW.js +1647 -0
- package/dist/chunks/src-QXLGGMUW.js.map +7 -0
- package/dist/{cli-DOPVY2CW.js → chunks/src-SSDT6MVP.js} +2659 -3384
- package/dist/chunks/src-SSDT6MVP.js.map +7 -0
- package/dist/chunks/theme-YBJUIMWK.js +10 -0
- package/dist/{toolPermissionContext-65L65VEZ.js → chunks/toolPermissionContext-MOCTRR7N.js} +2 -4
- package/dist/chunks/toolPermissionSettings-EV2EJAXL.js +18 -0
- package/dist/chunks/toolPermissionSettings-EV2EJAXL.js.map +7 -0
- package/dist/chunks/uuid-6577SO6X.js +7 -0
- package/dist/chunks/uuid-6577SO6X.js.map +7 -0
- package/dist/chunks/webOnlyMode-ALXX7UQY.js +66 -0
- package/dist/chunks/webOnlyMode-ALXX7UQY.js.map +7 -0
- package/dist/entrypoints/cli.js +10 -0
- package/dist/entrypoints/cli.js.map +7 -0
- package/dist/entrypoints/daemon.js +10 -0
- package/dist/entrypoints/daemon.js.map +7 -0
- package/dist/entrypoints/mcp.js +71 -0
- package/dist/entrypoints/mcp.js.map +7 -0
- package/dist/index.js +6 -7
- package/dist/index.js.map +3 -3
- package/dist/sdk/client.cjs +391 -0
- package/dist/sdk/client.cjs.map +7 -0
- package/dist/sdk/client.js +364 -0
- package/dist/sdk/client.js.map +7 -0
- package/dist/sdk/core.cjs +19932 -0
- package/dist/sdk/core.cjs.map +7 -0
- package/dist/sdk/core.js +19893 -0
- package/dist/sdk/core.js.map +7 -0
- package/dist/sdk/daemon-client.cjs +257 -0
- package/dist/sdk/daemon-client.cjs.map +7 -0
- package/dist/sdk/daemon-client.js +221 -0
- package/dist/sdk/daemon-client.js.map +7 -0
- package/dist/sdk/protocol.cjs +170 -0
- package/dist/sdk/protocol.cjs.map +7 -0
- package/dist/sdk/protocol.js +140 -0
- package/dist/sdk/protocol.js.map +7 -0
- package/dist/sdk/runtime-node.cjs +236 -0
- package/dist/sdk/runtime-node.cjs.map +7 -0
- package/dist/sdk/runtime-node.js +222 -0
- package/dist/sdk/runtime-node.js.map +7 -0
- package/dist/sdk/runtime.cjs +17 -0
- package/dist/sdk/runtime.cjs.map +7 -0
- package/dist/sdk/runtime.js +0 -0
- package/dist/sdk/runtime.js.map +7 -0
- package/dist/sdk/tools.cjs +30300 -0
- package/dist/sdk/tools.cjs.map +7 -0
- package/dist/sdk/tools.js +30282 -0
- package/dist/sdk/tools.js.map +7 -0
- package/dist/webui/assets/index-5hlfByVS.css +1 -0
- package/dist/webui/assets/index-BR9lm1lA.js +82 -0
- package/dist/webui/index.html +28 -0
- package/package.json +93 -22
- package/scripts/binary-utils.cjs +12 -4
- package/scripts/cli-acp-wrapper.cjs +3 -17
- package/scripts/cli-wrapper.cjs +5 -7
- package/scripts/postinstall.js +8 -4
- package/dist/REPL-CW7AYLVL.js +0 -42
- package/dist/acp-VEPJ74LT.js +0 -1357
- package/dist/acp-VEPJ74LT.js.map +0 -7
- package/dist/agentsValidate-7LH4HTNR.js.map +0 -7
- package/dist/ask-3NHFFUQG.js.map +0 -7
- package/dist/autoUpdater-ITPIHCOI.js +0 -17
- package/dist/chunk-3IN27HA5.js.map +0 -7
- package/dist/chunk-4FX3IVPT.js +0 -164
- package/dist/chunk-4FX3IVPT.js.map +0 -7
- package/dist/chunk-4RTX4AG4.js.map +0 -7
- package/dist/chunk-5PDP7R6N.js +0 -515
- package/dist/chunk-5PDP7R6N.js.map +0 -7
- package/dist/chunk-73WGVYLQ.js.map +0 -7
- package/dist/chunk-7M2YN6TU.js.map +0 -7
- package/dist/chunk-7U7L4NMD.js.map +0 -7
- package/dist/chunk-ABLVTESJ.js.map +0 -7
- package/dist/chunk-AFFSCMYS.js.map +0 -7
- package/dist/chunk-ARZSBOAO.js.map +0 -7
- package/dist/chunk-CIG63V4E.js +0 -72
- package/dist/chunk-CIG63V4E.js.map +0 -7
- package/dist/chunk-CM3EGTG6.js +0 -1609
- package/dist/chunk-CM3EGTG6.js.map +0 -7
- package/dist/chunk-DZE5YA7L.js.map +0 -7
- package/dist/chunk-E6YNABER.js.map +0 -7
- package/dist/chunk-EZXMVTDU.js.map +0 -7
- package/dist/chunk-F2SJXUDI.js +0 -148
- package/dist/chunk-F2SJXUDI.js.map +0 -7
- package/dist/chunk-FC5ZCKBI.js +0 -30167
- package/dist/chunk-FC5ZCKBI.js.map +0 -7
- package/dist/chunk-HCBELH4J.js +0 -145
- package/dist/chunk-HCBELH4J.js.map +0 -7
- package/dist/chunk-HN4E4UUQ.js.map +0 -7
- package/dist/chunk-IZVMU4S2.js +0 -654
- package/dist/chunk-IZVMU4S2.js.map +0 -7
- package/dist/chunk-K2CWOTI2.js.map +0 -7
- package/dist/chunk-LC4TVOCZ.js +0 -835
- package/dist/chunk-LC4TVOCZ.js.map +0 -7
- package/dist/chunk-MIW7N2MY.js +0 -2613
- package/dist/chunk-MIW7N2MY.js.map +0 -7
- package/dist/chunk-MWRSY4X6.js.map +0 -7
- package/dist/chunk-ND3XWFO6.js +0 -34
- package/dist/chunk-ND3XWFO6.js.map +0 -7
- package/dist/chunk-QVLYOPO5.js.map +0 -7
- package/dist/chunk-RZWOUA25.js.map +0 -7
- package/dist/chunk-S6HRABTA.js.map +0 -7
- package/dist/chunk-STSX7GIX.js.map +0 -7
- package/dist/chunk-UHYRLID6.js.map +0 -7
- package/dist/chunk-UKHTVRJM.js +0 -47
- package/dist/chunk-UKHTVRJM.js.map +0 -7
- package/dist/chunk-UYXEDKOZ.js +0 -24
- package/dist/chunk-UYXEDKOZ.js.map +0 -7
- package/dist/chunk-W7GRKO7Q.js.map +0 -7
- package/dist/chunk-WVHORZQ5.js +0 -17
- package/dist/chunk-WVHORZQ5.js.map +0 -7
- package/dist/chunk-WWUWDNWW.js +0 -49
- package/dist/chunk-WWUWDNWW.js.map +0 -7
- package/dist/chunk-YC6LJCDE.js.map +0 -7
- package/dist/chunk-YXYYDIMI.js +0 -2931
- package/dist/chunk-YXYYDIMI.js.map +0 -7
- package/dist/chunk-ZVDRDPII.js.map +0 -7
- package/dist/cli-DOPVY2CW.js.map +0 -7
- package/dist/commands-2BF2CJ3A.js +0 -46
- package/dist/context-6FXPETYH.js +0 -30
- package/dist/costTracker-6SL26FDB.js +0 -19
- package/dist/kodeAgentSessionLoad-MITZADPB.js +0 -18
- package/dist/kodeAgentSessionResume-GVRWB4WO.js +0 -16
- package/dist/kodeAgentStreamJson-NXFN7TXH.js +0 -13
- package/dist/kodeAgentStreamJsonSession-UGEZJJEB.js.map +0 -7
- package/dist/kodeAgentStructuredStdio-HGWJT7CU.js +0 -10
- package/dist/llm-ZUQC4WYM.js.map +0 -7
- package/dist/llmLazy-54QQHA54.js +0 -15
- package/dist/loader-FYHJQES5.js +0 -28
- package/dist/mcp-J332IKT3.js +0 -49
- package/dist/mentionProcessor-EE3XFHCJ.js.map +0 -7
- package/dist/model-FV3JDJKH.js +0 -30
- package/dist/pluginRuntime-6ETCZ2LL.js.map +0 -7
- package/dist/pluginValidation-I4YKUWGS.js +0 -17
- package/dist/prompts-ZLEKDD77.js +0 -48
- package/dist/query-VFRJPBGD.js +0 -50
- package/dist/responsesStreaming-AW344PQO.js +0 -10
- package/dist/ripgrep-3NTIKQYW.js +0 -17
- package/dist/state-P5G6CO5V.js +0 -16
- package/dist/theme-3LWP3BG7.js +0 -14
- package/dist/toolPermissionSettings-3ROBVTUK.js +0 -18
- package/dist/tools-RO7HSSE5.js +0 -47
- package/dist/userInput-JSBJRFSK.js +0 -311
- package/dist/userInput-JSBJRFSK.js.map +0 -7
- package/dist/uuid-QN2CNKKN.js +0 -9
- /package/dist/{REPL-CW7AYLVL.js.map → chunks/Doctor-M3J7GRTJ.js.map} +0 -0
- /package/dist/{autoUpdater-ITPIHCOI.js.map → chunks/REPL-RQ6LO6S7.js.map} +0 -0
- /package/dist/{chunk-JC6NCUG5.js.map → chunks/ResumeConversation-6DMVBEGH.js.map} +0 -0
- /package/dist/{commands-2BF2CJ3A.js.map → chunks/agentLoader-FCRG3TFJ.js.map} +0 -0
- /package/dist/{config-RUSD6G5Y.js.map → chunks/autoUpdater-CNESBOKO.js.map} +0 -0
- /package/dist/{context-6FXPETYH.js.map → chunks/chunk-4CRUCZR4.js.map} +0 -0
- /package/dist/{costTracker-6SL26FDB.js.map → chunks/chunk-54KOYG5C.js.map} +0 -0
- /package/dist/{customCommands-TOIJFZAL.js.map → chunks/chunk-GCQCAXJZ.js.map} +0 -0
- /package/dist/{env-XGKBLU3D.js.map → chunks/chunk-LB6TCPDI.js.map} +0 -0
- /package/dist/{kodeAgentSessionId-X6XWQW7B.js.map → chunks/client-SILZNM5N.js.map} +0 -0
- /package/dist/{kodeAgentSessionLoad-MITZADPB.js.map → chunks/config-25HRTPSP.js.map} +0 -0
- /package/dist/{kodeAgentSessionResume-GVRWB4WO.js.map → chunks/cost-tracker-Z2UZT2J5.js.map} +0 -0
- /package/dist/{kodeAgentStreamJson-NXFN7TXH.js.map → chunks/customCommands-TYMYZRG5.js.map} +0 -0
- /package/dist/{kodeAgentStructuredStdio-HGWJT7CU.js.map → chunks/engine-MRVF6FK6.js.map} +0 -0
- /package/dist/{kodeHooks-QWM36A3D.js.map → chunks/env-TJ5NOBEB.js.map} +0 -0
- /package/dist/{llmLazy-54QQHA54.js.map → chunks/kodeAgentSessionId-VTNISJ2L.js.map} +0 -0
- /package/dist/{loader-FYHJQES5.js.map → chunks/kodeAgentSessionLoad-YB2RKBGJ.js.map} +0 -0
- /package/dist/{mcp-J332IKT3.js.map → chunks/kodeAgentSessionResume-DZSIVKVA.js.map} +0 -0
- /package/dist/{messages-EOYQKPGM.js.map → chunks/kodeAgentStreamJson-X5PLS2S6.js.map} +0 -0
- /package/dist/{model-FV3JDJKH.js.map → chunks/kodeHooks-RVKYRJHG.js.map} +0 -0
- /package/dist/{openai-RRCWW33N.js.map → chunks/llmLazy-ZUSSE3ZA.js.map} +0 -0
- /package/dist/{outputStyles-62Q3VH2J.js.map → chunks/messages-EEWWLPHN.js.map} +0 -0
- /package/dist/{pluginValidation-I4YKUWGS.js.map → chunks/model-5TIEKQPD.js.map} +0 -0
- /package/dist/{prompts-ZLEKDD77.js.map → chunks/openai-XXK3YZG4.js.map} +0 -0
- /package/dist/{query-VFRJPBGD.js.map → chunks/outputStyles-FAJTXN2A.js.map} +0 -0
- /package/dist/{responsesStreaming-AW344PQO.js.map → chunks/permissions-HO7INPWM.js.map} +0 -0
- /package/dist/{ripgrep-3NTIKQYW.js.map → chunks/pluginValidation-DAM7WRTC.js.map} +0 -0
- /package/dist/{skillMarketplace-3RXQBVOL.js.map → chunks/registry-XYJXMOA5.js.map} +0 -0
- /package/dist/{state-P5G6CO5V.js.map → chunks/responsesStreaming-JNGE2P3D.js.map} +0 -0
- /package/dist/{theme-3LWP3BG7.js.map → chunks/server-REXXF5IK.js.map} +0 -0
- /package/dist/{toolPermissionContext-65L65VEZ.js.map → chunks/skillMarketplace-N4HVHNST.js.map} +0 -0
- /package/dist/{toolPermissionSettings-3ROBVTUK.js.map → chunks/src-OROQIWP3.js.map} +0 -0
- /package/dist/{tools-RO7HSSE5.js.map → chunks/theme-YBJUIMWK.js.map} +0 -0
- /package/dist/{uuid-QN2CNKKN.js.map → chunks/toolPermissionContext-MOCTRR7N.js.map} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../packages/core/src/model/flags.ts", "../../packages/core/src/model/capabilities.ts", "../../packages/core/src/model/defaults.ts", "../../packages/core/src/model/resolution.ts", "../../packages/core/src/model/switching.ts", "../../packages/core/src/model/manager.ts", "../../packages/core/src/model/selector.ts"],
|
|
4
|
+
"sourcesContent": ["export const USE_BEDROCK = !!(\n process.env.KODE_USE_BEDROCK ?? process.env.CLAUDE_CODE_USE_BEDROCK\n)\n\nexport const USE_VERTEX = !!(\n process.env.KODE_USE_VERTEX ?? process.env.CLAUDE_CODE_USE_VERTEX\n)\n", "import type { ModelProfile } from '#config'\n\nimport type { ContextCompatibility } from './types'\n\nexport function getVertexRegionForModel(\n model: string | undefined,\n): string | undefined {\n if (model?.startsWith('claude-3-5-haiku')) {\n return process.env.VERTEX_REGION_CLAUDE_3_5_HAIKU\n }\n if (model?.startsWith('claude-3-5-sonnet')) {\n return process.env.VERTEX_REGION_CLAUDE_3_5_SONNET\n }\n if (model?.startsWith('claude-3-7-sonnet')) {\n return process.env.VERTEX_REGION_CLAUDE_3_7_SONNET\n }\n}\n\nexport function analyzeContextCompatibility(\n model: ModelProfile,\n contextTokens: number,\n): ContextCompatibility {\n const usableContext = Math.floor(model.contextLength * 0.8)\n const usagePercentage = (contextTokens / usableContext) * 100\n\n if (usagePercentage <= 70) {\n return {\n compatible: true,\n severity: 'safe',\n usagePercentage,\n recommendation: 'Full context preserved',\n }\n }\n\n if (usagePercentage <= 90) {\n return {\n compatible: true,\n severity: 'warning',\n usagePercentage,\n recommendation: 'Context usage high, consider compression',\n }\n }\n\n return {\n compatible: false,\n severity: 'critical',\n usagePercentage,\n recommendation: 'Auto-compression or message truncation required',\n }\n}\n\nexport function canModelHandleContext(\n model: ModelProfile,\n contextTokens: number,\n): boolean {\n const analysis = analyzeContextCompatibility(model, contextTokens)\n return analysis.compatible\n}\n\nexport function findModelWithSufficientContext(\n models: ModelProfile[],\n contextTokens: number,\n): ModelProfile | null {\n return (\n models.find(model => canModelHandleContext(model, contextTokens)) || null\n )\n}\n", "import type { ModelConfig } from './types'\n\nconst DEFAULT_MODEL_CONFIG: ModelConfig = {\n bedrock: 'us.anthropic.claude-3-7-sonnet-20250219-v1:0',\n vertex: 'claude-3-7-sonnet@20250219',\n firstParty: 'claude-sonnet-4-20250514',\n}\n\nexport async function getModelConfig(): Promise<ModelConfig> {\n return DEFAULT_MODEL_CONFIG\n}\n", "import type { ModelPointerType, ModelProfile, ModelPointers } from '#config'\n\nimport type { ModelParam, ResolvedModelInfo } from './types'\n\ntype ModelResolutionConfig = {\n modelPointers?: Partial<ModelPointers>\n defaultModelName?: string\n defaultModelId?: string\n}\n\nconst POINTERS: ModelPointerType[] = ['main', 'task', 'compact', 'quick']\n\nfunction getDefaultModelProfile(\n config: ModelResolutionConfig,\n modelProfiles: ModelProfile[],\n): ModelProfile | null {\n if (config.defaultModelId) {\n const profile =\n modelProfiles.find(p => p.modelName === config.defaultModelId) || null\n if (profile && profile.isActive) return profile\n }\n return modelProfiles.find(p => p.isActive) || null\n}\n\nfunction resolveProviderQualifiedModel(\n modelProfiles: ModelProfile[],\n input: string,\n): ModelProfile | null {\n const trimmed = input.trim()\n const colonIndex = trimmed.indexOf(':')\n if (colonIndex <= 0 || colonIndex >= trimmed.length - 1) return null\n\n const provider = trimmed.slice(0, colonIndex).trim().toLowerCase()\n const modelOrName = trimmed.slice(colonIndex + 1).trim()\n if (!provider || !modelOrName) return null\n\n const providerProfiles = modelProfiles.filter(\n p => String(p.provider).trim().toLowerCase() === provider,\n )\n if (providerProfiles.length === 0) return null\n\n const byModelName = providerProfiles.find(p => p.modelName === modelOrName)\n if (byModelName) return byModelName\n\n const byName = providerProfiles.find(p => p.name === modelOrName)\n if (byName) return byName\n\n return null\n}\n\nfunction findByModelName(\n modelProfiles: ModelProfile[],\n modelName: string,\n): ModelProfile | null {\n return modelProfiles.find(p => p.modelName === modelName) || null\n}\n\nfunction findByName(\n modelProfiles: ModelProfile[],\n name: string,\n): ModelProfile | null {\n return modelProfiles.find(p => p.name === name) || null\n}\n\nexport function resolveModel(\n config: ModelResolutionConfig,\n modelProfiles: ModelProfile[],\n modelParam: ModelParam,\n): ModelProfile | null {\n if (\n typeof modelParam === 'string' &&\n POINTERS.includes(modelParam as ModelPointerType)\n ) {\n const pointerId = config.modelPointers?.[modelParam as ModelPointerType]\n if (pointerId) {\n const profile = findByModelName(modelProfiles, pointerId)\n if (profile && profile.isActive) return profile\n }\n return getDefaultModelProfile(config, modelProfiles)\n }\n\n const raw = String(modelParam)\n\n let profile = findByModelName(modelProfiles, raw)\n if (profile && profile.isActive) return profile\n\n profile = findByName(modelProfiles, raw)\n if (profile && profile.isActive) return profile\n\n const qualified = resolveProviderQualifiedModel(modelProfiles, raw)\n if (qualified && qualified.isActive) return qualified\n\n return getDefaultModelProfile(config, modelProfiles)\n}\n\nexport function resolveModelWithInfo(\n config: ModelResolutionConfig,\n modelProfiles: ModelProfile[],\n modelParam: ModelParam,\n): ResolvedModelInfo {\n const isPointer =\n typeof modelParam === 'string' &&\n POINTERS.includes(modelParam as ModelPointerType)\n\n if (isPointer) {\n const pointerId = config.modelPointers?.[modelParam as ModelPointerType]\n if (!pointerId) {\n return {\n success: false,\n profile: null,\n error: `Model pointer '${modelParam}' is not configured. Use /model to set up models.`,\n }\n }\n\n const profile = findByModelName(modelProfiles, pointerId)\n if (!profile) {\n return {\n success: false,\n profile: null,\n error: `Model pointer '${modelParam}' points to invalid model '${pointerId}'. Use /model to reconfigure.`,\n }\n }\n\n if (!profile.isActive) {\n return {\n success: false,\n profile: null,\n error: `Model '${profile.name}' (pointed by '${modelParam}') is inactive. Use /model to activate it.`,\n }\n }\n\n return { success: true, profile }\n }\n\n const raw = String(modelParam)\n let profile = findByModelName(modelProfiles, raw)\n if (!profile) profile = findByName(modelProfiles, raw)\n if (!profile && typeof modelParam === 'string') {\n profile = resolveProviderQualifiedModel(modelProfiles, modelParam)\n }\n\n if (!profile) {\n return {\n success: false,\n profile: null,\n error: `Model '${raw}' not found. Use /model to add models, or run 'kode models list' to see configured profiles.`,\n }\n }\n\n if (!profile.isActive) {\n return {\n success: false,\n profile: null,\n error: `Model '${profile.name}' is inactive. Use /model to activate it.`,\n }\n }\n\n return { success: true, profile }\n}\n", "import type { ModelProfile } from '#config'\n\nimport type { SwitchResult, SwitchWithContextCheckResult } from './types'\n\nfunction budgetForModel(\n model: ModelProfile,\n currentContextTokens: number,\n): {\n budgetTokens: number | null\n usagePercentage: number\n compatible: boolean\n} {\n const contextLength = Number(model.contextLength)\n if (!Number.isFinite(contextLength) || contextLength <= 0) {\n return { budgetTokens: null, usagePercentage: 0, compatible: true }\n }\n const budgetTokens = Math.floor(contextLength * 0.9)\n const usagePercentage =\n budgetTokens > 0 ? (currentContextTokens / budgetTokens) * 100 : 0\n return {\n budgetTokens,\n usagePercentage,\n compatible: budgetTokens > 0 ? currentContextTokens <= budgetTokens : true,\n }\n}\n\nfunction formatTokens(tokens: number): string {\n if (!Number.isFinite(tokens)) return 'unknown'\n if (tokens >= 1000) return `${Math.round(tokens / 1000)}k`\n return String(Math.round(tokens))\n}\n\nexport function chooseNextModelWithContextCheck(args: {\n modelProfiles: ModelProfile[]\n currentMainModelName: string | undefined\n currentContextTokens: number\n}): { selected: ModelProfile | null; result: SwitchWithContextCheckResult } {\n const allProfiles = [...args.modelProfiles]\n const currentContextTokens = args.currentContextTokens\n\n if (allProfiles.length === 0) {\n return {\n selected: null,\n result: {\n success: false,\n modelName: null,\n previousModelName: null,\n contextOverflow: false,\n usagePercentage: 0,\n currentContextTokens,\n },\n }\n }\n\n allProfiles.sort((a, b) => a.createdAt - b.createdAt)\n\n const currentModel = args.currentMainModelName\n ? (allProfiles.find(p => p.modelName === args.currentMainModelName) ?? null)\n : null\n const previousModelName = currentModel?.name || null\n\n if (allProfiles.length === 1) {\n return {\n selected: null,\n result: {\n success: false,\n modelName: null,\n previousModelName,\n contextOverflow: false,\n usagePercentage: 0,\n currentContextTokens,\n },\n }\n }\n\n const currentIndex =\n args.currentMainModelName !== undefined\n ? allProfiles.findIndex(p => p.modelName === args.currentMainModelName)\n : -1\n const startIndex = currentIndex >= 0 ? currentIndex : -1\n const maxOffsets =\n startIndex === -1 ? allProfiles.length : allProfiles.length - 1\n\n const skippedModels: NonNullable<\n SwitchWithContextCheckResult['skippedModels']\n > = []\n\n let selected: ModelProfile | null = null\n let selectedUsagePercentage = 0\n\n for (let offset = 1; offset <= maxOffsets; offset++) {\n const candidateIndex =\n (startIndex + offset + allProfiles.length) % allProfiles.length\n const candidate = allProfiles[candidateIndex]\n if (!candidate) continue\n\n const { budgetTokens, usagePercentage, compatible } = budgetForModel(\n candidate,\n currentContextTokens,\n )\n if (compatible) {\n selected = candidate\n selectedUsagePercentage = usagePercentage\n break\n }\n skippedModels.push({\n name: candidate.name,\n provider: candidate.provider,\n contextLength: candidate.contextLength,\n budgetTokens,\n usagePercentage,\n })\n }\n\n if (!selected) {\n const firstSkipped = skippedModels[0]\n return {\n selected: null,\n result: {\n success: false,\n modelName: null,\n previousModelName,\n contextOverflow: true,\n usagePercentage: firstSkipped?.usagePercentage ?? 0,\n currentContextTokens,\n skippedModels,\n },\n }\n }\n\n return {\n selected,\n result: {\n success: true,\n modelName: selected.name,\n previousModelName,\n contextOverflow: false,\n usagePercentage: selectedUsagePercentage,\n currentContextTokens,\n skippedModels,\n },\n }\n}\n\nexport function formatSwitchResult(args: {\n detailed: SwitchWithContextCheckResult\n modelProfiles: ModelProfile[]\n currentMainModelName: string | undefined\n}): SwitchResult {\n const result = args.detailed\n const allModels = args.modelProfiles\n\n if (allModels.length === 0) {\n return {\n success: false,\n modelName: null,\n blocked: false,\n message: '\u274C No models configured. Use /model to add models.',\n }\n }\n\n if (allModels.length === 1) {\n return {\n success: false,\n modelName: null,\n blocked: false,\n message: `\u26A0\uFE0F Only one model configured (${allModels[0].modelName}). Use /model to add more models for switching.`,\n }\n }\n\n const currentModel = args.currentMainModelName\n ? (allModels.find(p => p.modelName === args.currentMainModelName) ?? null)\n : null\n\n const modelsSorted = [...allModels].sort((a, b) => a.createdAt - b.createdAt)\n const currentIndex = modelsSorted.findIndex(\n m => m.modelName === currentModel?.modelName,\n )\n const totalModels = modelsSorted.length\n\n if (result.success && result.modelName) {\n const skippedCount = result.skippedModels?.length ?? 0\n const skippedSuffix =\n skippedCount > 0 ? ` \u00B7 skipped ${skippedCount} incompatible` : ''\n const contextSuffix =\n currentModel?.contextLength && result.currentContextTokens\n ? ` \u00B7 context ~${formatTokens(result.currentContextTokens)}/${formatTokens(currentModel.contextLength)}`\n : ''\n\n return {\n success: true,\n modelName: result.modelName,\n blocked: false,\n message: `\u2705 Switched to ${result.modelName} (${currentIndex + 1}/${totalModels})${currentModel?.provider ? ` [${currentModel.provider}]` : ''}${skippedSuffix}${contextSuffix}`,\n }\n }\n\n if (result.contextOverflow) {\n const attempted = result.skippedModels?.[0]\n const attemptedContext = attempted?.contextLength\n const attemptedBudget = attempted?.budgetTokens\n const currentLabel =\n currentModel?.name || currentModel?.modelName || 'current model'\n\n const attemptedText = attempted\n ? `Can't switch to ${attempted.name}: current ~${formatTokens(result.currentContextTokens)} tokens exceeds safe budget (~${formatTokens(attemptedBudget ?? 0)} tokens, 90% of ${formatTokens(attemptedContext ?? 0)}).`\n : `Can't switch models due to context size (~${formatTokens(result.currentContextTokens)} tokens).`\n\n return {\n success: false,\n modelName: null,\n blocked: true,\n message: `\u26A0\uFE0F ${attemptedText} Keeping ${currentLabel}.`,\n }\n }\n\n return {\n success: false,\n modelName: null,\n blocked: false,\n message: '\u274C Failed to switch models',\n }\n}\n", "import {\n saveGlobalConfig,\n type GlobalConfig,\n type ModelPointerType,\n type ModelProfile,\n type ModelPointers,\n} from '#config'\n\nimport { getModelConfig } from './defaults'\nimport { USE_BEDROCK, USE_VERTEX } from './flags'\nimport {\n analyzeContextCompatibility,\n canModelHandleContext,\n findModelWithSufficientContext,\n} from './capabilities'\nimport { resolveModel, resolveModelWithInfo } from './resolution'\nimport {\n chooseNextModelWithContextCheck,\n formatSwitchResult,\n} from './switching'\nimport type {\n ModelParam,\n SwitchResult,\n SwitchWithAnalysisResult,\n SwitchWithContextCheckResult,\n} from './types'\n\nconst POINTERS: ModelPointerType[] = ['main', 'task', 'compact', 'quick']\n\nconst DEFAULT_MODEL_POINTERS: ModelPointers = {\n main: '',\n task: '',\n compact: '',\n quick: '',\n}\n\nexport class ModelManager {\n private config: GlobalConfig & { defaultModelId?: string }\n private modelProfiles: ModelProfile[]\n\n constructor(config: GlobalConfig & { defaultModelId?: string }) {\n this.config = config\n this.modelProfiles = config.modelProfiles || []\n }\n\n getCurrentModel(): string | null {\n const mainModelName = this.config.modelPointers?.main\n if (mainModelName) {\n const profile = this.findByModelName(mainModelName)\n if (profile && profile.isActive) return profile.modelName\n }\n return this.getMainAgentModel()\n }\n\n getMainAgentModel(): string | null {\n const mainModelName = this.config.modelPointers?.main\n if (mainModelName) {\n const profile = this.findByModelName(mainModelName)\n if (profile && profile.isActive) return profile.modelName\n }\n\n const activeProfile = this.modelProfiles.find(p => p.isActive)\n return activeProfile ? activeProfile.modelName : null\n }\n\n getTaskToolModel(): string | null {\n const taskModelName = this.config.modelPointers?.task\n if (taskModelName) {\n const profile = this.findByModelName(taskModelName)\n if (profile && profile.isActive) return profile.modelName\n }\n return this.getMainAgentModel()\n }\n\n switchToNextModelWithContextCheck(\n currentContextTokens: number = 0,\n ): SwitchWithContextCheckResult {\n const { selected, result } = chooseNextModelWithContextCheck({\n modelProfiles: this.getAllConfiguredModels(),\n currentMainModelName: this.config.modelPointers?.main,\n currentContextTokens,\n })\n\n if (!selected) return result\n\n if (!selected.isActive) selected.isActive = true\n this.setPointer('main', selected.modelName)\n this.updateLastUsed(selected.modelName)\n\n return result\n }\n\n switchToNextModel(currentContextTokens: number = 0): SwitchResult {\n const detailed =\n this.switchToNextModelWithContextCheck(currentContextTokens)\n return formatSwitchResult({\n detailed,\n modelProfiles: this.getAllConfiguredModels(),\n currentMainModelName: this.config.modelPointers?.main,\n })\n }\n\n analyzeContextCompatibility = analyzeContextCompatibility\n\n switchToNextModelWithAnalysis(\n currentContextTokens: number = 0,\n ): SwitchWithAnalysisResult {\n const result = this.switchToNextModel(currentContextTokens)\n\n if (!result.success || !result.modelName) {\n return {\n modelName: null,\n contextAnalysis: null,\n requiresCompression: false,\n estimatedTokensAfterSwitch: 0,\n }\n }\n\n const newModel = this.getModel('main')\n if (!newModel) {\n return {\n modelName: result.modelName,\n contextAnalysis: null,\n requiresCompression: false,\n estimatedTokensAfterSwitch: currentContextTokens,\n }\n }\n\n const analysis = analyzeContextCompatibility(newModel, currentContextTokens)\n return {\n modelName: result.modelName,\n contextAnalysis: analysis,\n requiresCompression: analysis.severity === 'critical',\n estimatedTokensAfterSwitch: currentContextTokens,\n }\n }\n\n canModelHandleContext(model: ModelProfile, contextTokens: number): boolean {\n return canModelHandleContext(model, contextTokens)\n }\n\n findModelWithSufficientContext(\n models: ModelProfile[],\n contextTokens: number,\n ): ModelProfile | null {\n return findModelWithSufficientContext(models, contextTokens)\n }\n\n getModelForContext(\n contextType: 'terminal' | 'main-agent' | 'task-tool',\n ): string | null {\n switch (contextType) {\n case 'terminal':\n return this.getCurrentModel()\n case 'main-agent':\n return this.getMainAgentModel()\n case 'task-tool':\n return this.getTaskToolModel()\n default:\n return this.getMainAgentModel()\n }\n }\n\n getActiveModelProfiles(): ModelProfile[] {\n return this.modelProfiles.filter(p => p.isActive)\n }\n\n hasConfiguredModels(): boolean {\n return this.getActiveModelProfiles().length > 0\n }\n\n getModel(pointer: ModelPointerType): ModelProfile | null {\n const pointerId = this.config.modelPointers?.[pointer]\n if (!pointerId) return this.getDefaultModel()\n\n const profile = this.findByModelName(pointerId)\n return profile && profile.isActive ? profile : this.getDefaultModel()\n }\n\n getModelName(pointer: ModelPointerType): string | null {\n const profile = this.getModel(pointer)\n return profile ? profile.modelName : null\n }\n\n getCompactModel(): string | null {\n return this.getModelName('compact') || this.getModelName('main')\n }\n\n getQuickModel(): string | null {\n return (\n this.getModelName('quick') ||\n this.getModelName('task') ||\n this.getModelName('main')\n )\n }\n\n async addModel(\n config: Omit<ModelProfile, 'createdAt' | 'isActive'>,\n ): Promise<string> {\n const existingByModelName = this.modelProfiles.find(\n p => p.modelName === config.modelName,\n )\n if (existingByModelName) {\n throw new Error(\n `Model with modelName '${config.modelName}' already exists: ${existingByModelName.name}`,\n )\n }\n\n const existingByName = this.modelProfiles.find(p => p.name === config.name)\n if (existingByName) {\n throw new Error(`Model with name '${config.name}' already exists`)\n }\n\n const newModel: ModelProfile = {\n ...config,\n createdAt: Date.now(),\n isActive: true,\n }\n\n this.modelProfiles.push(newModel)\n\n if (this.modelProfiles.length === 1) {\n this.config.modelPointers = {\n main: config.modelName,\n task: config.modelName,\n compact: config.modelName,\n quick: config.modelName,\n }\n this.config.defaultModelName = config.modelName\n } else {\n if (!this.config.modelPointers) {\n this.config.modelPointers = {\n ...DEFAULT_MODEL_POINTERS,\n main: config.modelName,\n }\n } else {\n this.config.modelPointers.main = config.modelName\n }\n }\n\n this.saveConfig()\n return config.modelName\n }\n\n setPointer(pointer: ModelPointerType, modelName: string): void {\n if (!this.findByModelName(modelName)) {\n throw new Error(`Model '${modelName}' not found`)\n }\n\n if (!this.config.modelPointers) {\n this.config.modelPointers = { ...DEFAULT_MODEL_POINTERS }\n }\n\n this.config.modelPointers[pointer] = modelName\n this.saveConfig()\n }\n\n getAvailableModels(): ModelProfile[] {\n return this.modelProfiles.filter(p => p.isActive)\n }\n\n getAllConfiguredModels(): ModelProfile[] {\n return this.modelProfiles\n }\n\n getAllAvailableModelNames(): string[] {\n return this.getAvailableModels().map(p => p.modelName)\n }\n\n getAllConfiguredModelNames(): string[] {\n return this.getAllConfiguredModels().map(p => p.modelName)\n }\n\n getModelSwitchingDebugInfo(): {\n totalModels: number\n activeModels: number\n inactiveModels: number\n currentMainModel: string | null\n availableModels: Array<{\n name: string\n modelName: string\n provider: string\n isActive: boolean\n lastUsed?: number\n }>\n modelPointers: Record<string, string | undefined>\n } {\n const availableModels = this.getAvailableModels()\n const currentMainModelName = this.config.modelPointers?.main\n\n return {\n totalModels: this.modelProfiles.length,\n activeModels: availableModels.length,\n inactiveModels: this.modelProfiles.length - availableModels.length,\n currentMainModel: currentMainModelName || null,\n availableModels: this.modelProfiles.map(p => ({\n name: p.name,\n modelName: p.modelName,\n provider: p.provider,\n isActive: p.isActive,\n lastUsed: p.lastUsed,\n })),\n modelPointers: this.config.modelPointers || {},\n }\n }\n\n removeModel(modelName: string): void {\n this.modelProfiles = this.modelProfiles.filter(\n p => p.modelName !== modelName,\n )\n\n if (this.config.modelPointers) {\n for (const pointer of POINTERS) {\n if (this.config.modelPointers[pointer] === modelName) {\n this.config.modelPointers[pointer] =\n this.config.defaultModelName || ''\n }\n }\n }\n\n this.saveConfig()\n }\n\n private getDefaultModel(): ModelProfile | null {\n if (this.config.defaultModelId) {\n const profile = this.findByModelName(this.config.defaultModelId)\n if (profile && profile.isActive) return profile\n }\n return this.modelProfiles.find(p => p.isActive) || null\n }\n\n private saveConfig(): void {\n const updatedConfig = {\n ...this.config,\n modelProfiles: this.modelProfiles,\n }\n saveGlobalConfig(updatedConfig)\n }\n\n async getFallbackModel(): Promise<string> {\n const modelConfig = await getModelConfig()\n if (USE_BEDROCK) return modelConfig.bedrock\n if (USE_VERTEX) return modelConfig.vertex\n return modelConfig.firstParty\n }\n\n resolveModel(modelParam: ModelParam): ModelProfile | null {\n return resolveModel(this.config, this.modelProfiles, modelParam)\n }\n\n resolveModelWithInfo(modelParam: ModelParam) {\n return resolveModelWithInfo(this.config, this.modelProfiles, modelParam)\n }\n\n private findByModelName(modelName: string): ModelProfile | null {\n return this.modelProfiles.find(p => p.modelName === modelName) || null\n }\n\n private updateLastUsed(modelName: string): void {\n const profile = this.findByModelName(modelName)\n if (profile) profile.lastUsed = Date.now()\n }\n}\n", "import { memoize } from 'lodash-es'\n\nimport {\n DEFAULT_GLOBAL_CONFIG,\n getGlobalConfig,\n type GlobalConfig,\n type ModelPointers,\n} from '#config'\nimport { debug as debugLogger } from '#core/logging'\nimport { logError } from '#core/utils/log'\n\nimport { getModelConfig } from './defaults'\nimport { USE_BEDROCK, USE_VERTEX } from './flags'\nimport { ModelManager } from './manager'\n\nconst DEFAULT_MODEL_POINTERS: ModelPointers = {\n main: '',\n task: '',\n compact: '',\n quick: '',\n}\n\nexport const getSlowAndCapableModel = memoize(async (): Promise<string> => {\n const config = await getGlobalConfig()\n const modelManager = new ModelManager(config)\n const model = modelManager.getMainAgentModel()\n\n if (model) return model\n\n const modelConfig = await getModelConfig()\n if (USE_BEDROCK) return modelConfig.bedrock\n if (USE_VERTEX) return modelConfig.vertex\n return modelConfig.firstParty\n})\n\nexport async function isDefaultSlowAndCapableModel(): Promise<boolean> {\n return (\n !process.env.ANTHROPIC_MODEL ||\n process.env.ANTHROPIC_MODEL === (await getSlowAndCapableModel())\n )\n}\n\nlet globalModelManager: ModelManager | null = null\n\nexport const getModelManager = (): ModelManager => {\n try {\n if (!globalModelManager) {\n const config = getGlobalConfig()\n if (!config) {\n debugLogger.warn('MODEL_MANAGER_GLOBAL_CONFIG_MISSING', {})\n globalModelManager = new ModelManager({\n ...DEFAULT_GLOBAL_CONFIG,\n modelProfiles: [],\n modelPointers: { ...DEFAULT_MODEL_POINTERS },\n })\n } else {\n globalModelManager = new ModelManager(config)\n }\n }\n return globalModelManager\n } catch (error) {\n logError(error)\n debugLogger.error('MODEL_MANAGER_CREATE_FAILED', {\n error: error instanceof Error ? error.message : String(error),\n })\n return new ModelManager({\n ...(DEFAULT_GLOBAL_CONFIG as GlobalConfig),\n modelProfiles: [],\n modelPointers: { ...DEFAULT_MODEL_POINTERS },\n })\n }\n}\n\nexport const reloadModelManager = (): void => {\n globalModelManager = null\n getModelManager()\n}\n\nexport const getQuickModel = (): string => {\n const manager = getModelManager()\n const quickModel = manager.getModel('quick')\n return quickModel?.modelName || 'quick'\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["profile", "POINTERS", "DEFAULT_MODEL_POINTERS"]
|
|
7
|
+
}
|