@blade-hq/agent-kit 0.5.32 → 0.5.33
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/{SkillStatusBar-CvgcEiSi.d.ts → SkillStatusBar-Dp93pqlP.d.ts} +14 -3
- package/dist/{blade-client-DoodJJDz.d.ts → blade-client-DS7lV19a.d.ts} +4 -1
- package/dist/{chunk-ZWO6YBLA.js → chunk-DQXXSHCR.js} +5 -3
- package/dist/chunk-DQXXSHCR.js.map +1 -0
- package/dist/{chunk-QMOW3TDA.js → chunk-EBTZAB6X.js} +5 -3
- package/dist/{chunk-QMOW3TDA.js.map → chunk-EBTZAB6X.js.map} +1 -1
- package/dist/{chunk-CFW62YND.js → chunk-MGXPILAM.js} +3 -3
- package/dist/{chunk-EAZ7AGFY.js → chunk-PMG4N3JO.js} +2 -2
- package/dist/{chunk-FXEELOLI.js → chunk-SGOR4YXZ.js} +51 -11
- package/dist/chunk-SGOR4YXZ.js.map +1 -0
- package/dist/{chunk-YPFIWC45.js → chunk-UR6C4AJB.js} +2 -2
- package/dist/client/index.d.ts +28 -1
- package/dist/client/index.js +1 -1
- package/dist/react/api/vibe-coding.d.ts +2 -2
- package/dist/react/api/vibe-coding.js +2 -2
- package/dist/react/components/chat/index.d.ts +3 -3
- package/dist/react/components/chat/index.js +5 -5
- package/dist/react/components/plan/index.js +4 -4
- package/dist/react/components/session/index.js +3 -3
- package/dist/react/components/workspace/index.d.ts +2 -2
- package/dist/react/components/workspace/index.js +3 -3
- package/dist/react/index.d.ts +7 -5
- package/dist/react/index.js +6 -6
- package/dist/{sessions-DFGsAOPa.d.ts → sessions-DaddUdO6.d.ts} +4 -1
- package/package.json +1 -1
- package/dist/chunk-FXEELOLI.js.map +0 -1
- package/dist/chunk-ZWO6YBLA.js.map +0 -1
- /package/dist/{chunk-CFW62YND.js.map → chunk-MGXPILAM.js.map} +0 -0
- /package/dist/{chunk-EAZ7AGFY.js.map → chunk-PMG4N3JO.js.map} +0 -0
- /package/dist/{chunk-YPFIWC45.js.map → chunk-UR6C4AJB.js.map} +0 -0
|
@@ -5,12 +5,12 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
getSessionFilePath,
|
|
7
7
|
resolveSessionFilePreviewTarget
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-PMG4N3JO.js";
|
|
9
9
|
import {
|
|
10
10
|
formatToolName,
|
|
11
11
|
getAuthedUrl,
|
|
12
12
|
useUiStore
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-EBTZAB6X.js";
|
|
14
14
|
import {
|
|
15
15
|
cn,
|
|
16
16
|
copyToClipboard
|
|
@@ -1933,4 +1933,4 @@ export {
|
|
|
1933
1933
|
PlanSummaryCard,
|
|
1934
1934
|
extractLatestPlanMessages
|
|
1935
1935
|
};
|
|
1936
|
-
//# sourceMappingURL=chunk-
|
|
1936
|
+
//# sourceMappingURL=chunk-MGXPILAM.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
apiFetchResponse,
|
|
3
3
|
getAuthedUrl
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-EBTZAB6X.js";
|
|
5
5
|
|
|
6
6
|
// src/react/lib/session-file-preview.ts
|
|
7
7
|
var IMAGE_EXTS = /* @__PURE__ */ new Set(["png", "jpg", "jpeg", "gif", "svg", "webp", "ico", "bmp"]);
|
|
@@ -117,4 +117,4 @@ export {
|
|
|
117
117
|
resolveTextPreviewType,
|
|
118
118
|
resolveSessionFilePreviewTarget
|
|
119
119
|
};
|
|
120
|
-
//# sourceMappingURL=chunk-
|
|
120
|
+
//# sourceMappingURL=chunk-PMG4N3JO.js.map
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
getCodeLanguageFromFilename,
|
|
9
9
|
parseAskUserQuestion,
|
|
10
10
|
useHighlightedCodeHtml
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-MGXPILAM.js";
|
|
12
12
|
import {
|
|
13
13
|
Collapsible,
|
|
14
14
|
CollapsibleContent,
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
} from "./chunk-H62LH2AG.js";
|
|
17
17
|
import {
|
|
18
18
|
resolveSessionFilePreviewTarget
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-PMG4N3JO.js";
|
|
20
20
|
import {
|
|
21
21
|
apiFetchResponse,
|
|
22
22
|
buildMessageContent,
|
|
@@ -60,7 +60,7 @@ import {
|
|
|
60
60
|
useUiBridgeStore,
|
|
61
61
|
useUiStore,
|
|
62
62
|
writeFile
|
|
63
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-EBTZAB6X.js";
|
|
64
64
|
import {
|
|
65
65
|
registerBridgeIframe,
|
|
66
66
|
tapBridgeEvent
|
|
@@ -69,7 +69,7 @@ import {
|
|
|
69
69
|
ModelOption,
|
|
70
70
|
ModelsConfig,
|
|
71
71
|
ModelsResource
|
|
72
|
-
} from "./chunk-
|
|
72
|
+
} from "./chunk-DQXXSHCR.js";
|
|
73
73
|
import {
|
|
74
74
|
cn,
|
|
75
75
|
copyToClipboard
|
|
@@ -198,6 +198,7 @@ import {
|
|
|
198
198
|
Paperclip,
|
|
199
199
|
Plus,
|
|
200
200
|
Rocket,
|
|
201
|
+
RotateCcw,
|
|
201
202
|
Scissors,
|
|
202
203
|
Send,
|
|
203
204
|
Sparkles as Sparkles2,
|
|
@@ -2046,6 +2047,7 @@ var SkillMention = Mention2.extend({
|
|
|
2046
2047
|
|
|
2047
2048
|
// src/react/components/chat/ChatInput.tsx
|
|
2048
2049
|
import { Fragment as Fragment2, jsx as jsx9, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
2050
|
+
var DOUBLE_ESCAPE_MS = 450;
|
|
2049
2051
|
function getEditorText(editor) {
|
|
2050
2052
|
return editor?.getText({ blockSeparator: "\n" }) ?? "";
|
|
2051
2053
|
}
|
|
@@ -2685,7 +2687,9 @@ function ChatInput({
|
|
|
2685
2687
|
skillStatusBarInnerClassName,
|
|
2686
2688
|
onResyncSkills,
|
|
2687
2689
|
isResyncingSkills = false,
|
|
2688
|
-
inputLabel = "\u8F93\u5165\u6D88\u606F"
|
|
2690
|
+
inputLabel = "\u8F93\u5165\u6D88\u606F",
|
|
2691
|
+
onDoubleEscape,
|
|
2692
|
+
composerHint
|
|
2689
2693
|
}) {
|
|
2690
2694
|
const resolvedInputLabel = inputLabel?.trim() || "\u8F93\u5165\u6D88\u606F";
|
|
2691
2695
|
const [input, setInputInternal] = useState8(externalDraft?.value ?? "");
|
|
@@ -2734,6 +2738,7 @@ function ChatInput({
|
|
|
2734
2738
|
const fileInputRef = useRef5(null);
|
|
2735
2739
|
const folderInputRef = useRef5(null);
|
|
2736
2740
|
const editorRef = useRef5(null);
|
|
2741
|
+
const lastEscapeAtRef = useRef5(0);
|
|
2737
2742
|
const localImageUrlsRef = useRef5(/* @__PURE__ */ new Map());
|
|
2738
2743
|
const activeSessionId = useSessionStore((state) => state.activeSessionId);
|
|
2739
2744
|
const sessions = useSessionStore((state) => state.sessions);
|
|
@@ -2836,7 +2841,8 @@ function ChatInput({
|
|
|
2836
2841
|
navigateUp: inputHistory.navigateUp,
|
|
2837
2842
|
navigateDown: inputHistory.navigateDown,
|
|
2838
2843
|
isNavigatingHistory: inputHistory.isNavigating,
|
|
2839
|
-
handleSubmit: stableHandleSubmit
|
|
2844
|
+
handleSubmit: stableHandleSubmit,
|
|
2845
|
+
onDoubleEscape
|
|
2840
2846
|
}));
|
|
2841
2847
|
const syncEditorState = (editorInstance) => {
|
|
2842
2848
|
const value = getEditorText(editorInstance);
|
|
@@ -3066,6 +3072,18 @@ function ChatInput({
|
|
|
3066
3072
|
replaceEditorText(editorRef.current, nextEntry);
|
|
3067
3073
|
return true;
|
|
3068
3074
|
}
|
|
3075
|
+
if (state.onDoubleEscape && event.key === "Escape" && !event.isComposing && !event.repeat) {
|
|
3076
|
+
const now = Date.now();
|
|
3077
|
+
if (now - lastEscapeAtRef.current <= DOUBLE_ESCAPE_MS) {
|
|
3078
|
+
lastEscapeAtRef.current = 0;
|
|
3079
|
+
event.preventDefault();
|
|
3080
|
+
const rect = editorRef.current?.view.dom.getBoundingClientRect() ?? null;
|
|
3081
|
+
state.onDoubleEscape(rect);
|
|
3082
|
+
return true;
|
|
3083
|
+
}
|
|
3084
|
+
lastEscapeAtRef.current = now;
|
|
3085
|
+
return false;
|
|
3086
|
+
}
|
|
3069
3087
|
if (event.key === "Enter" && !event.shiftKey && !event.isComposing) {
|
|
3070
3088
|
event.preventDefault();
|
|
3071
3089
|
if (state.connectionStatus !== "connected") {
|
|
@@ -3560,6 +3578,23 @@ function ChatInput({
|
|
|
3560
3578
|
]
|
|
3561
3579
|
}
|
|
3562
3580
|
),
|
|
3581
|
+
onDoubleEscape ? /* @__PURE__ */ jsxs8(
|
|
3582
|
+
"button",
|
|
3583
|
+
{
|
|
3584
|
+
type: "button",
|
|
3585
|
+
onClick: () => {
|
|
3586
|
+
actionMenuRef.current?.removeAttribute("open");
|
|
3587
|
+
onDoubleEscape(
|
|
3588
|
+
editorRef.current?.view.dom.getBoundingClientRect() ?? null
|
|
3589
|
+
);
|
|
3590
|
+
},
|
|
3591
|
+
className: "flex w-full items-center gap-2 px-3 py-2 text-left transition-colors hover:bg-[hsl(var(--accent))]",
|
|
3592
|
+
children: [
|
|
3593
|
+
/* @__PURE__ */ jsx9(RotateCcw, { size: 13 }),
|
|
3594
|
+
"\u56DE\u5230\u4E4B\u524D\u7684\u67D0\u4E00\u6B65"
|
|
3595
|
+
]
|
|
3596
|
+
}
|
|
3597
|
+
) : null,
|
|
3563
3598
|
onCommand ? /* @__PURE__ */ jsxs8(Fragment2, { children: [
|
|
3564
3599
|
/* @__PURE__ */ jsxs8(
|
|
3565
3600
|
"button",
|
|
@@ -3699,7 +3734,8 @@ function ChatInput({
|
|
|
3699
3734
|
/* @__PURE__ */ jsxs8("div", { className: "space-y-0.5", children: [
|
|
3700
3735
|
/* @__PURE__ */ jsx9("div", { children: "Shift+Enter \u6362\u884C" }),
|
|
3701
3736
|
/* @__PURE__ */ jsx9("div", { children: "/ \u8C03\u7528\u6280\u80FD" }),
|
|
3702
|
-
/* @__PURE__ */ jsx9("div", { children: "@ \u5F15\u7528\u6587\u4EF6" })
|
|
3737
|
+
/* @__PURE__ */ jsx9("div", { children: "@ \u5F15\u7528\u6587\u4EF6" }),
|
|
3738
|
+
composerHint && /* @__PURE__ */ jsx9("div", { children: composerHint })
|
|
3703
3739
|
] })
|
|
3704
3740
|
] }) })
|
|
3705
3741
|
] }),
|
|
@@ -4988,7 +5024,7 @@ function FileEditRenderer({ toolCall }) {
|
|
|
4988
5024
|
import { useState as useState13 } from "react";
|
|
4989
5025
|
|
|
4990
5026
|
// src/react/components/chat/ImageLightbox.tsx
|
|
4991
|
-
import { ChevronLeft, ChevronRight as ChevronRight2, Download as Download2, ExternalLink, Minus, Plus as Plus2, RotateCcw, X as X3 } from "lucide-react";
|
|
5027
|
+
import { ChevronLeft, ChevronRight as ChevronRight2, Download as Download2, ExternalLink, Minus, Plus as Plus2, RotateCcw as RotateCcw2, X as X3 } from "lucide-react";
|
|
4992
5028
|
import { useCallback as useCallback10, useEffect as useEffect11, useRef as useRef10, useState as useState12 } from "react";
|
|
4993
5029
|
import { createPortal as createPortal3 } from "react-dom";
|
|
4994
5030
|
import { Fragment as Fragment4, jsx as jsx17, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
@@ -5219,7 +5255,7 @@ function ImageLightbox({ open, onOpenChange, images, initialIndex = 0 }) {
|
|
|
5219
5255
|
type: "button",
|
|
5220
5256
|
onClick: reset,
|
|
5221
5257
|
className: "rounded-full p-1.5 text-white/80 transition-colors hover:bg-white/10 hover:text-white",
|
|
5222
|
-
children: /* @__PURE__ */ jsx17(
|
|
5258
|
+
children: /* @__PURE__ */ jsx17(RotateCcw2, { size: 16 })
|
|
5223
5259
|
}
|
|
5224
5260
|
),
|
|
5225
5261
|
showNav && /* @__PURE__ */ jsxs13(Fragment4, { children: [
|
|
@@ -8403,6 +8439,8 @@ function ChatView({
|
|
|
8403
8439
|
onResyncSkills,
|
|
8404
8440
|
isResyncingSkills = false,
|
|
8405
8441
|
inputLabel,
|
|
8442
|
+
onDoubleEscape,
|
|
8443
|
+
composerHint,
|
|
8406
8444
|
classNames,
|
|
8407
8445
|
components,
|
|
8408
8446
|
renderers
|
|
@@ -8482,7 +8520,9 @@ function ChatView({
|
|
|
8482
8520
|
skillStatusBarInnerClassName: classNames?.skillStatusBarInner,
|
|
8483
8521
|
onResyncSkills,
|
|
8484
8522
|
isResyncingSkills,
|
|
8485
|
-
inputLabel
|
|
8523
|
+
inputLabel,
|
|
8524
|
+
onDoubleEscape,
|
|
8525
|
+
composerHint
|
|
8486
8526
|
}
|
|
8487
8527
|
)
|
|
8488
8528
|
] });
|
|
@@ -8539,4 +8579,4 @@ use-stick-to-bottom/dist/StickToBottom.js:
|
|
|
8539
8579
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
8540
8580
|
*--------------------------------------------------------------------------------------------*)
|
|
8541
8581
|
*/
|
|
8542
|
-
//# sourceMappingURL=chunk-
|
|
8582
|
+
//# sourceMappingURL=chunk-SGOR4YXZ.js.map
|