@shareai-lab/kode 2.1.0 → 2.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{Doctor-AES5ON33.js → Doctor-TWRIVOVW.js} +13 -13
- package/dist/chunks/{LogList-PQJEJHHE.js → LogList-PUTPM24L.js} +10 -10
- package/dist/chunks/REPL-YGIR5VXC.js +78 -0
- package/dist/chunks/{ResumeConversation-OWQ3DB4M.js → ResumeConversation-IJMKQXBU.js} +44 -44
- package/dist/chunks/{ScreenFrame-AGLR6B4D.js → ScreenFrame-PQJRZ5DQ.js} +2 -2
- package/dist/chunks/{agentLoader-BMWB4UKI.js → agentLoader-GOYNJTAO.js} +5 -5
- package/dist/chunks/{agentsValidate-LSMJSFYW.js → agentsValidate-R26AKPAA.js} +6 -6
- package/dist/chunks/{ask-3TSZR6AJ.js → ask-6SYVJONJ.js} +18 -18
- package/dist/chunks/{autoUpdater-MEPC7LJF.js → autoUpdater-SDLJ5QSH.js} +4 -4
- package/dist/chunks/{chunk-NC3RX5AB.js → chunk-2B2TR2S3.js} +4 -4
- package/dist/chunks/{chunk-HDEYMVIJ.js → chunk-437YGKVA.js} +2 -2
- package/dist/chunks/{chunk-WGMKKKS2.js → chunk-4BBWDSDC.js} +1 -1
- package/dist/chunks/{chunk-KKOES3YK.js → chunk-4T5LR4P5.js} +55 -116
- package/dist/chunks/chunk-4T5LR4P5.js.map +7 -0
- package/dist/chunks/{chunk-PMC3BZ3M.js → chunk-5HZWM4JB.js} +1 -1
- package/dist/chunks/{chunk-REQTXUXO.js → chunk-5LBRVQT5.js} +1 -1
- package/dist/chunks/{chunk-BEDQTC44.js → chunk-5LL33G6X.js} +2 -2
- package/dist/chunks/{chunk-YUXYJB45.js → chunk-5RCVEFJS.js} +19 -8
- package/dist/chunks/chunk-5RCVEFJS.js.map +7 -0
- package/dist/chunks/{chunk-MDCOIZVX.js → chunk-6C6VNA2D.js} +2 -2
- package/dist/chunks/{chunk-P77NF36M.js → chunk-6CAQXUDY.js} +1 -1
- package/dist/chunks/{chunk-DPQE5NA4.js → chunk-7SRIFZDJ.js} +1 -1
- package/dist/chunks/{chunk-TI2CTTMA.js → chunk-7ZC22R33.js} +1 -1
- package/dist/chunks/{chunk-EV56PDOI.js → chunk-AX3VXMUS.js} +1 -1
- package/dist/chunks/{chunk-5MVUCX6O.js → chunk-AZHJLRRP.js} +1 -1
- package/dist/chunks/{chunk-LIBZWJEW.js → chunk-BNSPVA24.js} +11 -10
- package/dist/chunks/chunk-BNSPVA24.js.map +7 -0
- package/dist/chunks/{chunk-Z3J3WJ2K.js → chunk-BPMYW5DT.js} +415 -414
- package/dist/chunks/chunk-BPMYW5DT.js.map +7 -0
- package/dist/chunks/{chunk-QBW7VU7C.js → chunk-DWKF6SQH.js} +3 -3
- package/dist/chunks/{chunk-4RVYYLN7.js → chunk-E4C4N7OV.js} +1 -1
- package/dist/chunks/{chunk-4RVYYLN7.js.map → chunk-E4C4N7OV.js.map} +1 -1
- package/dist/chunks/chunk-ESRGV7DC.js +34 -0
- package/dist/chunks/chunk-ESRGV7DC.js.map +7 -0
- package/dist/chunks/{chunk-VSKGDU73.js → chunk-FKWFR23G.js} +2 -2
- package/dist/chunks/{chunk-E6BU32L2.js → chunk-H5F7M5D3.js} +2 -2
- package/dist/chunks/{chunk-DZPD6H7A.js → chunk-JXYXMP2Q.js} +2 -2
- package/dist/chunks/{chunk-65FLXXMH.js → chunk-KA543BHH.js} +8 -8
- package/dist/chunks/{chunk-MEQ7TAT7.js → chunk-KHMXPPO7.js} +4 -4
- package/dist/chunks/{chunk-G5ET7GFB.js → chunk-KQV5FGSS.js} +5 -5
- package/dist/chunks/{chunk-DPVCHIF7.js → chunk-KRBZO255.js} +1 -1
- package/dist/chunks/{chunk-Y33AS3MY.js → chunk-L2LWCVUF.js} +21 -7
- package/dist/chunks/chunk-L2LWCVUF.js.map +7 -0
- package/dist/chunks/{chunk-EKXQ7ZWV.js → chunk-L5ZJIOEF.js} +4 -4
- package/dist/chunks/{chunk-UUJN5ZCN.js → chunk-LBHVWSUP.js} +2 -2
- package/dist/chunks/{chunk-GL6HUBBX.js → chunk-LKDMUCWA.js} +6 -6
- package/dist/chunks/{chunk-HJCYE2AS.js → chunk-LUZMHHQF.js} +10 -10
- package/dist/chunks/{chunk-MXFN7OSL.js → chunk-MOGUUWKG.js} +1 -1
- package/dist/chunks/{chunk-4UDKRYWZ.js → chunk-N4772IDQ.js} +3 -3
- package/dist/chunks/{chunk-TJMA65RL.js → chunk-N5AH66UG.js} +168 -23
- package/dist/chunks/chunk-N5AH66UG.js.map +7 -0
- package/dist/chunks/{chunk-JJ67KF6A.js → chunk-PTIAF6KF.js} +4 -4
- package/dist/chunks/{chunk-YUJB4WDK.js → chunk-PVMCLI36.js} +1 -1
- package/dist/chunks/{chunk-3TLVYEGW.js → chunk-RTGKCKD3.js} +1 -1
- package/dist/chunks/{chunk-AKC4BUW5.js → chunk-SOBWNYOW.js} +7 -6
- package/dist/chunks/chunk-SOBWNYOW.js.map +7 -0
- package/dist/chunks/{chunk-3DBNJOZI.js → chunk-SUNG5KP5.js} +1 -1
- package/dist/chunks/{chunk-VBGSHKHX.js → chunk-SVRXO73D.js} +16 -13
- package/dist/chunks/chunk-SVRXO73D.js.map +7 -0
- package/dist/chunks/{chunk-Q55CB4Y4.js → chunk-WE7CQGRG.js} +2 -2
- package/dist/chunks/{chunk-V3IXG64X.js → chunk-WOMV4RCI.js} +404 -446
- package/dist/chunks/chunk-WOMV4RCI.js.map +7 -0
- package/dist/chunks/{chunk-ZAT5BSQI.js → chunk-WVJMXIKQ.js} +12 -12
- package/dist/chunks/{chunk-ZAT5BSQI.js.map → chunk-WVJMXIKQ.js.map} +1 -1
- package/dist/chunks/{chunk-DELUVYKS.js → chunk-XVNEJVZC.js} +2 -2
- package/dist/chunks/{chunk-KDY7XYYS.js → chunk-YQ3YJSMI.js} +1 -1
- package/dist/chunks/{chunk-6CNJ3CYQ.js → chunk-YUZBVKVH.js} +3 -3
- package/dist/chunks/{chunk-VJ2QSQ3E.js → chunk-ZXOTOID7.js} +2 -2
- package/dist/chunks/{client-OWTJ7TPE.js → client-QUCHWMEW.js} +5 -5
- package/dist/chunks/{customCommands-FA6HRXXV.js → customCommands-S6YGRUED.js} +5 -5
- package/dist/chunks/{engine-UBCAVO7E.js → engine-FRDEQVDF.js} +17 -17
- package/dist/chunks/{env-JIMGBRE2.js → env-YH77MILU.js} +3 -3
- package/dist/chunks/{kodeAgentSessionLoad-BZRTCPMB.js → kodeAgentSessionLoad-TBPU4TWU.js} +3 -3
- package/dist/chunks/{kodeAgentSessionResume-V3WB3OWQ.js → kodeAgentSessionResume-3CNE5T6N.js} +3 -3
- package/dist/chunks/{kodeHooks-R3YHG4ZI.js → kodeHooks-6SWQE5W7.js} +4 -4
- package/dist/chunks/{llm-C4F2Q7I2.js → llm-PONI6QWH.js} +47 -20
- package/dist/chunks/llm-PONI6QWH.js.map +7 -0
- package/dist/chunks/{llmLazy-IBED5LIH.js → llmLazy-O4T62IIT.js} +1 -1
- package/dist/chunks/{mcpCli-A744Z3FL.js → mcpCli-HIA4I4GG.js} +5 -5
- package/dist/chunks/{mentionProcessor-VV6DN2LJ.js → mentionProcessor-HH4EF7BE.js} +6 -6
- package/dist/chunks/{messages-ZR64JVON.js → messages-WKWCZBGM.js} +1 -1
- package/dist/chunks/{model-NPMMYL2U.js → model-4EIFU5QN.js} +5 -5
- package/dist/chunks/{openai-FEBNBOGM.js → openai-KTBJ2KNZ.js} +5 -5
- package/dist/chunks/{permissions-34CRWMCH.js → permissions-C3N4DKS2.js} +7 -7
- package/dist/chunks/{pluginRuntime-7YBUMVFI.js → pluginRuntime-2FKZLVA5.js} +3 -3
- package/dist/chunks/{pluginValidation-NZ4LOT3Q.js → pluginValidation-X5NZZCFA.js} +7 -7
- package/dist/chunks/registry-3UVW32YF.js +68 -0
- package/dist/chunks/{responsesStreaming-JNGE2P3D.js → responsesStreaming-LB4THIUM.js} +2 -2
- package/dist/chunks/{ripgrep-KGHLK4RO.js → ripgrep-N7O6M4IE.js} +4 -4
- package/dist/chunks/{runNonTextPrintMode-U3TKEYYN.js → runNonTextPrintMode-YFWCUTWZ.js} +12 -12
- package/dist/chunks/server-3CICV7EL.js +59 -0
- package/dist/chunks/server-FRP7OT4H.js +61 -0
- package/dist/chunks/{skillMarketplace-PPPUBC4N.js → skillMarketplace-4Y2H4JFK.js} +4 -4
- package/dist/chunks/{src-TVS6YABL.js → src-IETAWKYR.js} +30 -30
- package/dist/chunks/{src-QST7UD2A.js → src-OB2HE3RX.js} +27 -27
- package/dist/chunks/{src-DB7GKD4L.js → src-Y2IM2VKU.js} +78 -78
- package/dist/chunks/{thinking-O7LIIMFW.js → thinking-XG3FB4HO.js} +6 -6
- package/dist/chunks/{toolPermissionContext-UWGATCUZ.js → toolPermissionContext-RFYFDINH.js} +1 -1
- package/dist/chunks/{toolPermissionSettings-WD7CB37T.js → toolPermissionSettings-EEFURGBO.js} +5 -5
- package/dist/chunks/{useScreenLayout-PKLCMNZD.js → useScreenLayout-OUGQRR4I.js} +2 -2
- package/dist/chunks/{webOnlyMode-GJ6PQCPU.js → webOnlyMode-FRQBIAXG.js} +1 -1
- package/dist/entrypoints/cli.js +1 -1
- package/dist/entrypoints/daemon.js +1 -1
- package/dist/entrypoints/mcp.js +28 -28
- package/dist/index.js +5 -5
- package/dist/sdk/core.cjs +93 -34
- package/dist/sdk/core.cjs.map +3 -3
- package/dist/sdk/core.js +96 -37
- package/dist/sdk/core.js.map +4 -4
- package/dist/sdk/tools.cjs +1787 -1748
- package/dist/sdk/tools.cjs.map +4 -4
- package/dist/sdk/tools.js +1611 -1572
- package/dist/sdk/tools.js.map +4 -4
- package/package.json +1 -1
- package/dist/chunks/REPL-KD7YOSI5.js +0 -78
- package/dist/chunks/chunk-AKC4BUW5.js.map +0 -7
- package/dist/chunks/chunk-KKOES3YK.js.map +0 -7
- package/dist/chunks/chunk-LIBZWJEW.js.map +0 -7
- package/dist/chunks/chunk-LOCXPQNJ.js +0 -20
- package/dist/chunks/chunk-LOCXPQNJ.js.map +0 -7
- package/dist/chunks/chunk-TJMA65RL.js.map +0 -7
- package/dist/chunks/chunk-V3IXG64X.js.map +0 -7
- package/dist/chunks/chunk-VBGSHKHX.js.map +0 -7
- package/dist/chunks/chunk-Y33AS3MY.js.map +0 -7
- package/dist/chunks/chunk-YUXYJB45.js.map +0 -7
- package/dist/chunks/chunk-Z3J3WJ2K.js.map +0 -7
- package/dist/chunks/llm-C4F2Q7I2.js.map +0 -7
- package/dist/chunks/registry-FHPZ36EO.js +0 -68
- package/dist/chunks/server-Y42VR6YJ.js +0 -59
- package/dist/chunks/server-ZSC5G3TU.js +0 -61
- /package/dist/chunks/{Doctor-AES5ON33.js.map → Doctor-TWRIVOVW.js.map} +0 -0
- /package/dist/chunks/{LogList-PQJEJHHE.js.map → LogList-PUTPM24L.js.map} +0 -0
- /package/dist/chunks/{REPL-KD7YOSI5.js.map → REPL-YGIR5VXC.js.map} +0 -0
- /package/dist/chunks/{ResumeConversation-OWQ3DB4M.js.map → ResumeConversation-IJMKQXBU.js.map} +0 -0
- /package/dist/chunks/{ScreenFrame-AGLR6B4D.js.map → ScreenFrame-PQJRZ5DQ.js.map} +0 -0
- /package/dist/chunks/{agentLoader-BMWB4UKI.js.map → agentLoader-GOYNJTAO.js.map} +0 -0
- /package/dist/chunks/{agentsValidate-LSMJSFYW.js.map → agentsValidate-R26AKPAA.js.map} +0 -0
- /package/dist/chunks/{ask-3TSZR6AJ.js.map → ask-6SYVJONJ.js.map} +0 -0
- /package/dist/chunks/{autoUpdater-MEPC7LJF.js.map → autoUpdater-SDLJ5QSH.js.map} +0 -0
- /package/dist/chunks/{chunk-NC3RX5AB.js.map → chunk-2B2TR2S3.js.map} +0 -0
- /package/dist/chunks/{chunk-HDEYMVIJ.js.map → chunk-437YGKVA.js.map} +0 -0
- /package/dist/chunks/{chunk-WGMKKKS2.js.map → chunk-4BBWDSDC.js.map} +0 -0
- /package/dist/chunks/{chunk-PMC3BZ3M.js.map → chunk-5HZWM4JB.js.map} +0 -0
- /package/dist/chunks/{chunk-REQTXUXO.js.map → chunk-5LBRVQT5.js.map} +0 -0
- /package/dist/chunks/{chunk-BEDQTC44.js.map → chunk-5LL33G6X.js.map} +0 -0
- /package/dist/chunks/{chunk-MDCOIZVX.js.map → chunk-6C6VNA2D.js.map} +0 -0
- /package/dist/chunks/{chunk-P77NF36M.js.map → chunk-6CAQXUDY.js.map} +0 -0
- /package/dist/chunks/{chunk-DPQE5NA4.js.map → chunk-7SRIFZDJ.js.map} +0 -0
- /package/dist/chunks/{chunk-TI2CTTMA.js.map → chunk-7ZC22R33.js.map} +0 -0
- /package/dist/chunks/{chunk-EV56PDOI.js.map → chunk-AX3VXMUS.js.map} +0 -0
- /package/dist/chunks/{chunk-5MVUCX6O.js.map → chunk-AZHJLRRP.js.map} +0 -0
- /package/dist/chunks/{chunk-QBW7VU7C.js.map → chunk-DWKF6SQH.js.map} +0 -0
- /package/dist/chunks/{chunk-VSKGDU73.js.map → chunk-FKWFR23G.js.map} +0 -0
- /package/dist/chunks/{chunk-E6BU32L2.js.map → chunk-H5F7M5D3.js.map} +0 -0
- /package/dist/chunks/{chunk-DZPD6H7A.js.map → chunk-JXYXMP2Q.js.map} +0 -0
- /package/dist/chunks/{chunk-65FLXXMH.js.map → chunk-KA543BHH.js.map} +0 -0
- /package/dist/chunks/{chunk-MEQ7TAT7.js.map → chunk-KHMXPPO7.js.map} +0 -0
- /package/dist/chunks/{chunk-G5ET7GFB.js.map → chunk-KQV5FGSS.js.map} +0 -0
- /package/dist/chunks/{chunk-DPVCHIF7.js.map → chunk-KRBZO255.js.map} +0 -0
- /package/dist/chunks/{chunk-EKXQ7ZWV.js.map → chunk-L5ZJIOEF.js.map} +0 -0
- /package/dist/chunks/{chunk-UUJN5ZCN.js.map → chunk-LBHVWSUP.js.map} +0 -0
- /package/dist/chunks/{chunk-GL6HUBBX.js.map → chunk-LKDMUCWA.js.map} +0 -0
- /package/dist/chunks/{chunk-HJCYE2AS.js.map → chunk-LUZMHHQF.js.map} +0 -0
- /package/dist/chunks/{chunk-MXFN7OSL.js.map → chunk-MOGUUWKG.js.map} +0 -0
- /package/dist/chunks/{chunk-4UDKRYWZ.js.map → chunk-N4772IDQ.js.map} +0 -0
- /package/dist/chunks/{chunk-JJ67KF6A.js.map → chunk-PTIAF6KF.js.map} +0 -0
- /package/dist/chunks/{chunk-YUJB4WDK.js.map → chunk-PVMCLI36.js.map} +0 -0
- /package/dist/chunks/{chunk-3TLVYEGW.js.map → chunk-RTGKCKD3.js.map} +0 -0
- /package/dist/chunks/{chunk-3DBNJOZI.js.map → chunk-SUNG5KP5.js.map} +0 -0
- /package/dist/chunks/{chunk-Q55CB4Y4.js.map → chunk-WE7CQGRG.js.map} +0 -0
- /package/dist/chunks/{chunk-DELUVYKS.js.map → chunk-XVNEJVZC.js.map} +0 -0
- /package/dist/chunks/{chunk-KDY7XYYS.js.map → chunk-YQ3YJSMI.js.map} +0 -0
- /package/dist/chunks/{chunk-6CNJ3CYQ.js.map → chunk-YUZBVKVH.js.map} +0 -0
- /package/dist/chunks/{chunk-VJ2QSQ3E.js.map → chunk-ZXOTOID7.js.map} +0 -0
- /package/dist/chunks/{client-OWTJ7TPE.js.map → client-QUCHWMEW.js.map} +0 -0
- /package/dist/chunks/{customCommands-FA6HRXXV.js.map → customCommands-S6YGRUED.js.map} +0 -0
- /package/dist/chunks/{engine-UBCAVO7E.js.map → engine-FRDEQVDF.js.map} +0 -0
- /package/dist/chunks/{env-JIMGBRE2.js.map → env-YH77MILU.js.map} +0 -0
- /package/dist/chunks/{kodeAgentSessionLoad-BZRTCPMB.js.map → kodeAgentSessionLoad-TBPU4TWU.js.map} +0 -0
- /package/dist/chunks/{kodeAgentSessionResume-V3WB3OWQ.js.map → kodeAgentSessionResume-3CNE5T6N.js.map} +0 -0
- /package/dist/chunks/{kodeHooks-R3YHG4ZI.js.map → kodeHooks-6SWQE5W7.js.map} +0 -0
- /package/dist/chunks/{llmLazy-IBED5LIH.js.map → llmLazy-O4T62IIT.js.map} +0 -0
- /package/dist/chunks/{mcpCli-A744Z3FL.js.map → mcpCli-HIA4I4GG.js.map} +0 -0
- /package/dist/chunks/{mentionProcessor-VV6DN2LJ.js.map → mentionProcessor-HH4EF7BE.js.map} +0 -0
- /package/dist/chunks/{messages-ZR64JVON.js.map → messages-WKWCZBGM.js.map} +0 -0
- /package/dist/chunks/{model-NPMMYL2U.js.map → model-4EIFU5QN.js.map} +0 -0
- /package/dist/chunks/{openai-FEBNBOGM.js.map → openai-KTBJ2KNZ.js.map} +0 -0
- /package/dist/chunks/{permissions-34CRWMCH.js.map → permissions-C3N4DKS2.js.map} +0 -0
- /package/dist/chunks/{pluginRuntime-7YBUMVFI.js.map → pluginRuntime-2FKZLVA5.js.map} +0 -0
- /package/dist/chunks/{pluginValidation-NZ4LOT3Q.js.map → pluginValidation-X5NZZCFA.js.map} +0 -0
- /package/dist/chunks/{registry-FHPZ36EO.js.map → registry-3UVW32YF.js.map} +0 -0
- /package/dist/chunks/{responsesStreaming-JNGE2P3D.js.map → responsesStreaming-LB4THIUM.js.map} +0 -0
- /package/dist/chunks/{ripgrep-KGHLK4RO.js.map → ripgrep-N7O6M4IE.js.map} +0 -0
- /package/dist/chunks/{runNonTextPrintMode-U3TKEYYN.js.map → runNonTextPrintMode-YFWCUTWZ.js.map} +0 -0
- /package/dist/chunks/{server-Y42VR6YJ.js.map → server-3CICV7EL.js.map} +0 -0
- /package/dist/chunks/{server-ZSC5G3TU.js.map → server-FRP7OT4H.js.map} +0 -0
- /package/dist/chunks/{skillMarketplace-PPPUBC4N.js.map → skillMarketplace-4Y2H4JFK.js.map} +0 -0
- /package/dist/chunks/{src-TVS6YABL.js.map → src-IETAWKYR.js.map} +0 -0
- /package/dist/chunks/{src-QST7UD2A.js.map → src-OB2HE3RX.js.map} +0 -0
- /package/dist/chunks/{src-DB7GKD4L.js.map → src-Y2IM2VKU.js.map} +0 -0
- /package/dist/chunks/{thinking-O7LIIMFW.js.map → thinking-XG3FB4HO.js.map} +0 -0
- /package/dist/chunks/{toolPermissionContext-UWGATCUZ.js.map → toolPermissionContext-RFYFDINH.js.map} +0 -0
- /package/dist/chunks/{toolPermissionSettings-WD7CB37T.js.map → toolPermissionSettings-EEFURGBO.js.map} +0 -0
- /package/dist/chunks/{useScreenLayout-PKLCMNZD.js.map → useScreenLayout-OUGQRR4I.js.map} +0 -0
- /package/dist/chunks/{webOnlyMode-GJ6PQCPU.js.map → webOnlyMode-FRQBIAXG.js.map} +0 -0
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk-M7P3QNRU.js";
|
|
7
7
|
import {
|
|
8
8
|
logError
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-SOBWNYOW.js";
|
|
10
10
|
import {
|
|
11
11
|
getCwd
|
|
12
12
|
} from "./chunk-5ARRC2T2.js";
|
|
@@ -330,7 +330,7 @@ async function runPromptHook(args) {
|
|
|
330
330
|
fallbackTimeoutMs: args.fallbackTimeoutMs
|
|
331
331
|
});
|
|
332
332
|
try {
|
|
333
|
-
const { queryQuick } = await import("./llmLazy-
|
|
333
|
+
const { queryQuick } = await import("./llmLazy-O4T62IIT.js");
|
|
334
334
|
const systemPrompt = [
|
|
335
335
|
"You are executing a Kode prompt hook.",
|
|
336
336
|
"Return a single JSON object only (no markdown, no prose).",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// apps/cli/src/ui/hooks/useTerminalSize.ts
|
|
2
2
|
import { useStdout } from "ink";
|
|
3
|
-
import { useEffect, useMemo, useState } from "react";
|
|
3
|
+
import { useEffect, useMemo, useRef, useState } from "react";
|
|
4
4
|
var streamStates = /* @__PURE__ */ new WeakMap();
|
|
5
5
|
function readSize(stream) {
|
|
6
6
|
return {
|
|
@@ -24,6 +24,7 @@ function getStreamState(stream) {
|
|
|
24
24
|
streamStates.set(stream, state);
|
|
25
25
|
return state;
|
|
26
26
|
}
|
|
27
|
+
var RESIZE_DEBOUNCE_MS = 150;
|
|
27
28
|
function useTerminalSize() {
|
|
28
29
|
const { stdout } = useStdout();
|
|
29
30
|
const stream = useMemo(
|
|
@@ -32,24 +33,34 @@ function useTerminalSize() {
|
|
|
32
33
|
);
|
|
33
34
|
const state = getStreamState(stream);
|
|
34
35
|
const [size, setSize] = useState(() => state.size);
|
|
36
|
+
const debounceTimerRef = useRef(null);
|
|
35
37
|
useEffect(() => {
|
|
36
38
|
const streamState = getStreamState(stream);
|
|
37
39
|
const listener = (next) => {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
if (debounceTimerRef.current) {
|
|
41
|
+
clearTimeout(debounceTimerRef.current);
|
|
42
|
+
}
|
|
43
|
+
debounceTimerRef.current = setTimeout(() => {
|
|
44
|
+
debounceTimerRef.current = null;
|
|
45
|
+
setSize((previous) => {
|
|
46
|
+
if (previous.columns === next.columns && previous.rows === next.rows) {
|
|
47
|
+
return previous;
|
|
48
|
+
}
|
|
49
|
+
return next;
|
|
50
|
+
});
|
|
51
|
+
}, RESIZE_DEBOUNCE_MS);
|
|
44
52
|
};
|
|
45
53
|
streamState.listeners.add(listener);
|
|
46
|
-
|
|
54
|
+
setSize(streamState.size);
|
|
47
55
|
if (!streamState.attached) {
|
|
48
56
|
streamState.attached = true;
|
|
49
57
|
stream.setMaxListeners?.(20);
|
|
50
58
|
stream.on?.("resize", streamState.onResize);
|
|
51
59
|
}
|
|
52
60
|
return () => {
|
|
61
|
+
if (debounceTimerRef.current) {
|
|
62
|
+
clearTimeout(debounceTimerRef.current);
|
|
63
|
+
}
|
|
53
64
|
streamState.listeners.delete(listener);
|
|
54
65
|
if (streamState.listeners.size === 0 && streamState.attached) {
|
|
55
66
|
streamState.attached = false;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../apps/cli/src/ui/hooks/useTerminalSize.ts"],
|
|
4
|
+
"sourcesContent": ["import { useStdout } from 'ink'\nimport { useEffect, useMemo, useRef, useState } from 'react'\nimport type { Writable } from 'node:stream'\n\ntype TerminalSize = { columns: number; rows: number }\n\ntype StreamState = {\n size: TerminalSize\n listeners: Set<(size: TerminalSize) => void>\n onResize: () => void\n attached: boolean\n}\n\nconst streamStates = new WeakMap<Writable, StreamState>()\n\nfunction readSize(stream: { columns?: number; rows?: number }): TerminalSize {\n return {\n columns: stream.columns || 80,\n rows: stream.rows || 24,\n }\n}\n\nfunction getStreamState(stream: Writable): StreamState {\n const existing = streamStates.get(stream)\n if (existing) return existing\n\n const state: StreamState = {\n size: readSize(stream as { columns?: number; rows?: number }),\n listeners: new Set(),\n onResize: () => {\n const next = readSize(stream as { columns?: number; rows?: number })\n state.size = next\n state.listeners.forEach(listener => listener(next))\n },\n attached: false,\n }\n\n streamStates.set(stream, state)\n return state\n}\n\nconst RESIZE_DEBOUNCE_MS = 150\n\nexport function useTerminalSize(): TerminalSize {\n const { stdout } = useStdout()\n const stream = useMemo(\n () => (stdout ?? process.stdout) as unknown as Writable,\n [stdout],\n )\n const state = getStreamState(stream)\n\n const [size, setSize] = useState<TerminalSize>(() => state.size)\n const debounceTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n\n useEffect(() => {\n const streamState = getStreamState(stream)\n const listener = (next: TerminalSize) => {\n // Debounce rapid resize events\n if (debounceTimerRef.current) {\n clearTimeout(debounceTimerRef.current)\n }\n debounceTimerRef.current = setTimeout(() => {\n debounceTimerRef.current = null\n setSize(previous => {\n if (previous.columns === next.columns && previous.rows === next.rows) {\n return previous\n }\n return next\n })\n }, RESIZE_DEBOUNCE_MS)\n }\n\n streamState.listeners.add(listener)\n // Force-sync in case size changed between render and effect.\n setSize(streamState.size)\n\n if (!streamState.attached) {\n streamState.attached = true\n stream.setMaxListeners?.(20)\n stream.on?.('resize', streamState.onResize)\n }\n\n return () => {\n if (debounceTimerRef.current) {\n clearTimeout(debounceTimerRef.current)\n }\n streamState.listeners.delete(listener)\n if (streamState.listeners.size === 0 && streamState.attached) {\n streamState.attached = false\n stream.off?.('resize', streamState.onResize)\n }\n }\n }, [stream])\n\n return size\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,iBAAiB;AAC1B,SAAS,WAAW,SAAS,QAAQ,gBAAgB;AAYrD,IAAM,eAAe,oBAAI,QAA+B;AAExD,SAAS,SAAS,QAA2D;AAC3E,SAAO;AAAA,IACL,SAAS,OAAO,WAAW;AAAA,IAC3B,MAAM,OAAO,QAAQ;AAAA,EACvB;AACF;AAEA,SAAS,eAAe,QAA+B;AACrD,QAAM,WAAW,aAAa,IAAI,MAAM;AACxC,MAAI,SAAU,QAAO;AAErB,QAAM,QAAqB;AAAA,IACzB,MAAM,SAAS,MAA6C;AAAA,IAC5D,WAAW,oBAAI,IAAI;AAAA,IACnB,UAAU,MAAM;AACd,YAAM,OAAO,SAAS,MAA6C;AACnE,YAAM,OAAO;AACb,YAAM,UAAU,QAAQ,cAAY,SAAS,IAAI,CAAC;AAAA,IACpD;AAAA,IACA,UAAU;AAAA,EACZ;AAEA,eAAa,IAAI,QAAQ,KAAK;AAC9B,SAAO;AACT;AAEA,IAAM,qBAAqB;AAEpB,SAAS,kBAAgC;AAC9C,QAAM,EAAE,OAAO,IAAI,UAAU;AAC7B,QAAM,SAAS;AAAA,IACb,MAAO,UAAU,QAAQ;AAAA,IACzB,CAAC,MAAM;AAAA,EACT;AACA,QAAM,QAAQ,eAAe,MAAM;AAEnC,QAAM,CAAC,MAAM,OAAO,IAAI,SAAuB,MAAM,MAAM,IAAI;AAC/D,QAAM,mBAAmB,OAA6C,IAAI;AAE1E,YAAU,MAAM;AACd,UAAM,cAAc,eAAe,MAAM;AACzC,UAAM,WAAW,CAAC,SAAuB;AAEvC,UAAI,iBAAiB,SAAS;AAC5B,qBAAa,iBAAiB,OAAO;AAAA,MACvC;AACA,uBAAiB,UAAU,WAAW,MAAM;AAC1C,yBAAiB,UAAU;AAC3B,gBAAQ,cAAY;AAClB,cAAI,SAAS,YAAY,KAAK,WAAW,SAAS,SAAS,KAAK,MAAM;AACpE,mBAAO;AAAA,UACT;AACA,iBAAO;AAAA,QACT,CAAC;AAAA,MACH,GAAG,kBAAkB;AAAA,IACvB;AAEA,gBAAY,UAAU,IAAI,QAAQ;AAElC,YAAQ,YAAY,IAAI;AAExB,QAAI,CAAC,YAAY,UAAU;AACzB,kBAAY,WAAW;AACvB,aAAO,kBAAkB,EAAE;AAC3B,aAAO,KAAK,UAAU,YAAY,QAAQ;AAAA,IAC5C;AAEA,WAAO,MAAM;AACX,UAAI,iBAAiB,SAAS;AAC5B,qBAAa,iBAAiB,OAAO;AAAA,MACvC;AACA,kBAAY,UAAU,OAAO,QAAQ;AACrC,UAAI,YAAY,UAAU,SAAS,KAAK,YAAY,UAAU;AAC5D,oBAAY,WAAW;AACvB,eAAO,MAAM,UAAU,YAAY,QAAQ;AAAA,MAC7C;AAAA,IACF;AAAA,EACF,GAAG,CAAC,MAAM,CAAC;AAEX,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
safeParseJSON
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-RTGKCKD3.js";
|
|
4
4
|
import {
|
|
5
5
|
KODE_HOOK_ENV
|
|
6
6
|
} from "./chunk-VDDN6ECO.js";
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
import {
|
|
11
11
|
PRODUCT_COMMAND,
|
|
12
12
|
logMCPError
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-SOBWNYOW.js";
|
|
14
14
|
import {
|
|
15
15
|
getCwd
|
|
16
16
|
} from "./chunk-5ARRC2T2.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getSessionStoreProjectNameCandidatesForRead,
|
|
3
3
|
getSessionStoreRoots
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-KRBZO255.js";
|
|
5
5
|
|
|
6
6
|
// packages/protocol/src/utils/kodeAgentSessionResume.ts
|
|
7
7
|
import { existsSync, readdirSync, readFileSync, statSync } from "node:fs";
|
|
@@ -11,17 +11,17 @@ import {
|
|
|
11
11
|
recordFileEdit,
|
|
12
12
|
recordFileRead,
|
|
13
13
|
writeTextContent
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-L5ZJIOEF.js";
|
|
15
15
|
import {
|
|
16
16
|
hasReadPermission,
|
|
17
17
|
hasWritePermission
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-N5AH66UG.js";
|
|
19
19
|
import {
|
|
20
20
|
emitReminderEvent
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-JXYXMP2Q.js";
|
|
22
22
|
import {
|
|
23
23
|
createAssistantMessage
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-L2LWCVUF.js";
|
|
25
25
|
import {
|
|
26
26
|
getTheme
|
|
27
27
|
} from "./chunk-HDVL5VTM.js";
|
|
@@ -34,7 +34,7 @@ import {
|
|
|
34
34
|
import {
|
|
35
35
|
getKodeBaseDir,
|
|
36
36
|
logError
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-SOBWNYOW.js";
|
|
38
38
|
import {
|
|
39
39
|
getCwd
|
|
40
40
|
} from "./chunk-5ARRC2T2.js";
|
|
@@ -1130,11 +1130,11 @@ var FileReadTool = {
|
|
|
1130
1130
|
const verbose = false;
|
|
1131
1131
|
switch (output.type) {
|
|
1132
1132
|
case "image":
|
|
1133
|
-
return /* @__PURE__ */ React.createElement(Box, { justifyContent: "space-between", overflowX: "hidden", width: "100%" }, /* @__PURE__ */ React.createElement(Box, { flexDirection: "row" }, /* @__PURE__ */ React.createElement(Text,
|
|
1133
|
+
return /* @__PURE__ */ React.createElement(Box, { justifyContent: "space-between", overflowX: "hidden", width: "100%" }, /* @__PURE__ */ React.createElement(Box, { flexDirection: "row", paddingLeft: 2 }, /* @__PURE__ */ React.createElement(Text, { color: getTheme().secondaryText }, "(image content)")));
|
|
1134
1134
|
case "text": {
|
|
1135
1135
|
const { filePath, content, numLines } = output.file;
|
|
1136
|
-
const contentWithFallback = content || "(
|
|
1137
|
-
return /* @__PURE__ */ React.createElement(Box, { justifyContent: "space-between", overflowX: "hidden", width: "100%" }, /* @__PURE__ */ React.createElement(Box, { flexDirection: "row"
|
|
1136
|
+
const contentWithFallback = content || "(empty file)";
|
|
1137
|
+
return /* @__PURE__ */ React.createElement(Box, { justifyContent: "space-between", overflowX: "hidden", width: "100%" }, /* @__PURE__ */ React.createElement(Box, { flexDirection: "row", paddingLeft: 2 }, /* @__PURE__ */ React.createElement(Box, { flexDirection: "column" }, /* @__PURE__ */ React.createElement(Text, null, highlightCode(
|
|
1138
1138
|
verbose ? contentWithFallback : contentWithFallback.split("\n").slice(0, MAX_LINES_TO_RENDER).filter((_) => _.trim() !== "").join("\n"),
|
|
1139
1139
|
extname4(filePath).slice(1)
|
|
1140
1140
|
)), !verbose && numLines > MAX_LINES_TO_RENDER && /* @__PURE__ */ React.createElement(Text, { color: getTheme().secondaryText }, "... (+", numLines - MAX_LINES_TO_RENDER, " lines)"))));
|
|
@@ -1190,7 +1190,7 @@ var FileReadTool = {
|
|
|
1190
1190
|
|
|
1191
1191
|
// packages/tools/src/tools/filesystem/FileWriteTool/FileWriteTool.tsx
|
|
1192
1192
|
import { mkdirSync as mkdirSync2, statSync as statSync4 } from "fs";
|
|
1193
|
-
import { dirname as dirname2, isAbsolute as isAbsolute2,
|
|
1193
|
+
import { dirname as dirname2, isAbsolute as isAbsolute2, resolve as resolve3 } from "path";
|
|
1194
1194
|
import { z as z2 } from "zod";
|
|
1195
1195
|
|
|
1196
1196
|
// packages/tools/src/tools/filesystem/FileWriteTool/prompt.ts
|
|
@@ -1265,7 +1265,8 @@ var FileWriteTool = {
|
|
|
1265
1265
|
return !hasWritePermission(file_path);
|
|
1266
1266
|
},
|
|
1267
1267
|
renderToolUseMessage(input, { verbose }) {
|
|
1268
|
-
|
|
1268
|
+
const fullPath = isAbsolute2(input.file_path) ? input.file_path : resolve3(getCwd(), input.file_path);
|
|
1269
|
+
return `file_path: ${fullPath}`;
|
|
1269
1270
|
},
|
|
1270
1271
|
async validateInput({ file_path }, { readFileTimestamps, readFileHashes }) {
|
|
1271
1272
|
const fullFilePath = isAbsolute2(file_path) ? file_path : resolve3(getCwd(), file_path);
|