@blade-hq/agent-kit 1.0.29 → 1.0.31
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/{chunk-TVWC3PED.js → chunk-3EVO45IN.js} +2 -2
- package/dist/{chunk-UWNQ4PXK.js → chunk-3PX2W7II.js} +51 -12
- package/dist/chunk-3PX2W7II.js.map +1 -0
- package/dist/{chunk-YJ6BX3FU.js → chunk-DSC6KQOI.js} +45 -2
- package/dist/chunk-DSC6KQOI.js.map +1 -0
- package/dist/{chunk-PYYDXV2A.js → chunk-O32JOWYM.js} +2 -2
- package/dist/{chunk-N2OE5MVV.js → chunk-RAWQ7LWR.js} +973 -712
- package/dist/chunk-RAWQ7LWR.js.map +1 -0
- package/dist/{chunk-YXHPJGXR.js → chunk-XUWAM6MF.js} +173 -59
- package/dist/chunk-XUWAM6MF.js.map +1 -0
- package/dist/{chunk-HCQDDDOX.js → chunk-ZPZMN7KQ.js} +2 -2
- package/dist/client/index.js +1 -1
- package/dist/client/resources/sessions.d.ts +2 -0
- package/dist/client/types/rest.d.ts +639 -92
- package/dist/react/api/model-config.d.ts +8 -11
- package/dist/react/api/published-apps.js +3 -3
- package/dist/react/api/sessions.js +2 -2
- package/dist/react/components/chat/FileDeliveryCards.d.ts +11 -0
- package/dist/react/components/chat/PlanningToggle.d.ts +7 -0
- package/dist/react/components/chat/UserMessageBubble.d.ts +1 -1
- package/dist/react/components/chat/index.d.ts +1 -0
- package/dist/react/components/chat/index.js +7 -5
- package/dist/react/components/markdown/ExternalLinkDialog.d.ts +3 -1
- package/dist/react/components/plan/index.js +4 -4
- package/dist/react/components/session/index.js +3 -3
- package/dist/react/components/workspace/index.js +61 -42
- package/dist/react/components/workspace/index.js.map +1 -1
- package/dist/react/hooks/use-model-preferences.d.ts +2 -0
- package/dist/react/index.d.ts +2 -2
- package/dist/react/index.js +20 -8
- package/dist/react/index.js.map +1 -1
- package/dist/react/schemas/session.d.ts +4 -0
- package/dist/react/sockets/event-bridge.d.ts +6 -0
- package/dist/react/stores/ui-store.d.ts +6 -1
- package/dist/react/types/solution.d.ts +1 -0
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/dist/chunk-N2OE5MVV.js.map +0 -1
- package/dist/chunk-UWNQ4PXK.js.map +0 -1
- package/dist/chunk-YJ6BX3FU.js.map +0 -1
- package/dist/chunk-YXHPJGXR.js.map +0 -1
- /package/dist/{chunk-TVWC3PED.js.map → chunk-3EVO45IN.js.map} +0 -0
- /package/dist/{chunk-PYYDXV2A.js.map → chunk-O32JOWYM.js.map} +0 -0
- /package/dist/{chunk-HCQDDDOX.js.map → chunk-ZPZMN7KQ.js.map} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
useSessionStore
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-3PX2W7II.js";
|
|
4
4
|
|
|
5
5
|
// src/react/hooks/use-session.ts
|
|
6
6
|
function useSession() {
|
|
@@ -27,4 +27,4 @@ function useSession() {
|
|
|
27
27
|
export {
|
|
28
28
|
useSession
|
|
29
29
|
};
|
|
30
|
-
//# sourceMappingURL=chunk-
|
|
30
|
+
//# sourceMappingURL=chunk-3EVO45IN.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
BladeClient,
|
|
6
6
|
ClientProjectionBuilder
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-DSC6KQOI.js";
|
|
8
8
|
import {
|
|
9
9
|
createClientActions,
|
|
10
10
|
useCardStateStore
|
|
@@ -881,14 +881,22 @@ function upsertArtifactState(state, target, options) {
|
|
|
881
881
|
const reveal = options?.reveal ?? true;
|
|
882
882
|
const activate = options?.activate ?? true;
|
|
883
883
|
const targetKey = target.key ?? target.title;
|
|
884
|
-
const
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
884
|
+
const clearsUnread = Boolean(activate && targetKey && state.previewUnreadArtifactKeys.includes(targetKey));
|
|
885
|
+
const applyUiState = (partial) => {
|
|
886
|
+
const nextUnread = clearsUnread ? state.previewUnreadArtifactKeys.filter((key) => key !== targetKey) : state.previewUnreadArtifactKeys;
|
|
887
|
+
return {
|
|
888
|
+
...partial,
|
|
889
|
+
...clearsUnread ? {
|
|
890
|
+
previewUnreadArtifactKeys: nextUnread,
|
|
891
|
+
rightPanelUnreadTabs: nextUnread.length === 0 ? state.rightPanelUnreadTabs.filter((tab) => tab !== "files") : state.rightPanelUnreadTabs
|
|
892
|
+
} : {},
|
|
893
|
+
...reveal ? {
|
|
894
|
+
rightPanelCollapsed: false,
|
|
895
|
+
activeRightTab: "preview",
|
|
896
|
+
rightTabActivationId: state.rightTabActivationId + 1
|
|
897
|
+
} : {}
|
|
898
|
+
};
|
|
899
|
+
};
|
|
892
900
|
const existing = state.artifacts.findIndex((artifact) => targetKey && (artifact.key ?? artifact.title) === targetKey);
|
|
893
901
|
if (existing >= 0) {
|
|
894
902
|
const updated = [...state.artifacts];
|
|
@@ -917,7 +925,9 @@ var useUiStore = create2()((set) => ({
|
|
|
917
925
|
artifacts: [],
|
|
918
926
|
activeArtifactIndex: -1,
|
|
919
927
|
previewUnreadArtifactKeys: [],
|
|
928
|
+
filePreviewMode: "preview",
|
|
920
929
|
theme: storedTheme,
|
|
930
|
+
setFilePreviewMode: (mode) => set({ filePreviewMode: mode }),
|
|
921
931
|
setLeftPanelSize: (size) => set({ leftPanelSize: size }),
|
|
922
932
|
setRightPanelSize: (size) => set({ rightPanelSize: size }),
|
|
923
933
|
setLeftPanelCollapsed: (collapsed) => set({ leftPanelCollapsed: collapsed }),
|
|
@@ -2355,6 +2365,7 @@ var AgentSocket = class {
|
|
|
2355
2365
|
pendingReplayMessages = /* @__PURE__ */ new Map();
|
|
2356
2366
|
pendingReplayModes = /* @__PURE__ */ new Map();
|
|
2357
2367
|
oomNotifiedKeys = /* @__PURE__ */ new Set();
|
|
2368
|
+
browserRevealedToolCalls = /* @__PURE__ */ new Set();
|
|
2358
2369
|
pendingTurnPatches = /* @__PURE__ */ new Map();
|
|
2359
2370
|
joinedSessions = /* @__PURE__ */ new Set();
|
|
2360
2371
|
requestedJoins = /* @__PURE__ */ new Set();
|
|
@@ -2667,7 +2678,7 @@ var AgentSocket = class {
|
|
|
2667
2678
|
revision: Date.now()
|
|
2668
2679
|
};
|
|
2669
2680
|
const uiStore = useUiStore.getState();
|
|
2670
|
-
if (uiStore.rightPanelAutoJump) {
|
|
2681
|
+
if (uiStore.rightPanelAutoJump && !uiStore.rightPanelCollapsed) {
|
|
2671
2682
|
uiStore.clearRightPanelTabUnread("files");
|
|
2672
2683
|
uiStore.clearPreviewArtifactUnread(data.file_path);
|
|
2673
2684
|
uiStore.setActiveRightTab("preview");
|
|
@@ -2736,7 +2747,7 @@ var AgentSocket = class {
|
|
|
2736
2747
|
key: data.file_path
|
|
2737
2748
|
};
|
|
2738
2749
|
const uiStore = useUiStore.getState();
|
|
2739
|
-
if (uiStore.rightPanelAutoJump) {
|
|
2750
|
+
if (uiStore.rightPanelAutoJump && !uiStore.rightPanelCollapsed) {
|
|
2740
2751
|
uiStore.clearRightPanelTabUnread("files");
|
|
2741
2752
|
uiStore.clearPreviewArtifactUnread(data.file_path);
|
|
2742
2753
|
uiStore.setActiveRightTab("preview");
|
|
@@ -2878,6 +2889,33 @@ var AgentSocket = class {
|
|
|
2878
2889
|
this._notifySandboxOom(sessionId, toolCall.id);
|
|
2879
2890
|
}
|
|
2880
2891
|
}
|
|
2892
|
+
this._maybeRevealBrowserPanel(toolCall);
|
|
2893
|
+
}
|
|
2894
|
+
}
|
|
2895
|
+
/** agent 一旦在沙盒里跑 `chrome ...`(操作内置浏览器)就自动把右侧面板切到
|
|
2896
|
+
* 「浏览器」标签,让用户围观。与文件预览共用 rightTabActivationId → 谁最后发生
|
|
2897
|
+
* 谁占据面板,不再是文件单向碾压。用户手动切走别的标签会关掉 rightPanelAutoJump
|
|
2898
|
+
* (见 RightPanel.setTab),此后浏览器活动只标未读、不再抢占。 */
|
|
2899
|
+
_maybeRevealBrowserPanel(toolCall) {
|
|
2900
|
+
if (this.browserRevealedToolCalls.has(toolCall.id)) return;
|
|
2901
|
+
let command = "";
|
|
2902
|
+
try {
|
|
2903
|
+
const parsed = JSON.parse(toolCall.arguments ?? "");
|
|
2904
|
+
if (parsed && typeof parsed === "object" && typeof parsed.command === "string") {
|
|
2905
|
+
command = parsed.command;
|
|
2906
|
+
}
|
|
2907
|
+
} catch {
|
|
2908
|
+
return;
|
|
2909
|
+
}
|
|
2910
|
+
if (!/(?:^|[\n;&|(]\s*)chrome\s/.test(command)) return;
|
|
2911
|
+
this.browserRevealedToolCalls.add(toolCall.id);
|
|
2912
|
+
const uiStore = useUiStore.getState();
|
|
2913
|
+
if (uiStore.rightPanelAutoJump) {
|
|
2914
|
+
uiStore.clearRightPanelTabUnread("browser");
|
|
2915
|
+
uiStore.setActiveRightTab("browser");
|
|
2916
|
+
if (uiStore.rightPanelCollapsed) uiStore.setRightPanelCollapsed(false);
|
|
2917
|
+
} else {
|
|
2918
|
+
uiStore.markRightPanelTabUnread("browser");
|
|
2881
2919
|
}
|
|
2882
2920
|
}
|
|
2883
2921
|
_notifySandboxOom(sessionId, key) {
|
|
@@ -3449,6 +3487,7 @@ export {
|
|
|
3449
3487
|
dispatchBladeBridge,
|
|
3450
3488
|
postToParent,
|
|
3451
3489
|
attachHostBridgeListener,
|
|
3490
|
+
normalizeMessageContent,
|
|
3452
3491
|
getTextContent,
|
|
3453
3492
|
isHiddenInternalMessage,
|
|
3454
3493
|
buildMessageContent,
|
|
@@ -3532,4 +3571,4 @@ export {
|
|
|
3532
3571
|
bootstrapBladeClient,
|
|
3533
3572
|
getBootstrappedClient
|
|
3534
3573
|
};
|
|
3535
|
-
//# sourceMappingURL=chunk-
|
|
3574
|
+
//# sourceMappingURL=chunk-3PX2W7II.js.map
|