@blade-hq/agent-kit 0.5.2 → 0.5.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.
Files changed (30) hide show
  1. package/dist/{SkillStatusBar-DpbkD4Jx.d.ts → SkillStatusBar-BKAGU9tr.d.ts} +5 -3
  2. package/dist/{blade-client-CFvmjs5R.d.ts → blade-client-R3cLVOYs.d.ts} +25 -3
  3. package/dist/{chunk-YW2THJUX.js → chunk-BFF6D2XV.js} +2 -2
  4. package/dist/{chunk-4ZEOWH6U.js → chunk-IRCXJHXT.js} +2 -2
  5. package/dist/{chunk-7JX26TWV.js → chunk-Q6CSM5DE.js} +60 -4
  6. package/dist/chunk-Q6CSM5DE.js.map +1 -0
  7. package/dist/{chunk-EV225FLR.js → chunk-RTBAPZIO.js} +216 -189
  8. package/dist/chunk-RTBAPZIO.js.map +1 -0
  9. package/dist/{chunk-PTMCGZFG.js → chunk-UQEXX57F.js} +15 -3
  10. package/dist/{chunk-PTMCGZFG.js.map → chunk-UQEXX57F.js.map} +1 -1
  11. package/dist/{chunk-LVLGDM76.js → chunk-ZQQNSKQS.js} +2 -2
  12. package/dist/client/index.d.ts +1 -1
  13. package/dist/client/index.js +1 -1
  14. package/dist/react/api/vibe-coding.d.ts +2 -2
  15. package/dist/react/api/vibe-coding.js +2 -2
  16. package/dist/react/components/chat/index.d.ts +3 -3
  17. package/dist/react/components/chat/index.js +5 -5
  18. package/dist/react/components/plan/index.js +3 -3
  19. package/dist/react/components/session/index.js +3 -3
  20. package/dist/react/components/workspace/index.js +32 -4
  21. package/dist/react/components/workspace/index.js.map +1 -1
  22. package/dist/react/index.d.ts +9 -7
  23. package/dist/react/index.js +6 -6
  24. package/dist/style.css +1 -1
  25. package/package.json +1 -1
  26. package/dist/chunk-7JX26TWV.js.map +0 -1
  27. package/dist/chunk-EV225FLR.js.map +0 -1
  28. /package/dist/{chunk-YW2THJUX.js.map → chunk-BFF6D2XV.js.map} +0 -0
  29. /package/dist/{chunk-4ZEOWH6U.js.map → chunk-IRCXJHXT.js.map} +0 -0
  30. /package/dist/{chunk-LVLGDM76.js.map → chunk-ZQQNSKQS.js.map} +0 -0
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  getAuthedUrl,
7
7
  useUiStore
8
- } from "./chunk-PTMCGZFG.js";
8
+ } from "./chunk-UQEXX57F.js";
9
9
  import {
10
10
  cn,
11
11
  copyToClipboard
@@ -1576,4 +1576,4 @@ export {
1576
1576
  PlanSummaryCard,
1577
1577
  extractLatestPlanMessages
1578
1578
  };
1579
- //# sourceMappingURL=chunk-LVLGDM76.js.map
1579
+ //# sourceMappingURL=chunk-ZQQNSKQS.js.map
@@ -1,4 +1,4 @@
1
- export { A as ApiKeyCreateResponse, g as ApiKeyPublic, h as ApiKeysResource, i as AuthResource, B as BladeApiError, j as BladeClient, k as BladeClientOptions, l as BladeFetchInit, m as BladeHubScenarioResource, n as ChatEndPayload, o as ChatSendPayload, p as CheckpointNode, q as ClientToServerEvents, r as CodingTask, s as CodingTaskTopic, t as ComputerUpgradeReason, u as ComputerUpgradeStatusResponse, v as ContentPart, w as CreateQuickScenarioPayload, x as CreateSessionRequest, y as CreateSocketOptions, z as CreateSoftwareFactorySharedFilePayload, E as CreateSoftwareFactorySoftwarePayload, f as CreateVibeCodingSessionParams, C as CreateVibeCodingSessionResult, D as DeployBumpMode, F as FileEntry, G as GisResource, H as GlobalSkillStats, I as HeadlessError, J as HeadlessResource, K as HeadlessRunOptions, L as HistoryNode, M as HttpMethod, N as ImportPreview, O as ImportPreviewScenario, Q as ImportPreviewSkill, R as InstalledRegistrySkill, S as JsonSchemaObject, T as MemoriesResource, U as Memory, W as MemoryCreateBody, X as MemoryListParams, Y as MemoryListResponse, Z as ModelOption, _ as ModelsConfig, $ as ModelsResource, a0 as PaginatedSessionsResult, P as PortMapping, a1 as PreviewUrlItem, a2 as ProvidersResponse, a3 as PublishedAppsResource, a4 as QuickScenario, a5 as REGISTRY_PREFIX, a6 as RegistryResource, a7 as ResourceApi, a8 as ScenariosResource, a9 as ServerToClientEvents, aa as SessionContextStats, ab as SessionHistory, ac as SessionUpdatedPayload, ad as SessionsResource, ae as ShareLinkResult, af as SkillDevSession, ag as SkillOrgListResponse, ah as SkillOrgOption, ai as SkillsResource, aj as SoftwareFactoryModuleBlueprint, ak as SoftwareFactoryResource, al as SoftwareFactorySharedFile, am as SoftwareFactorySoftware, an as SoftwareFactoryTopic, ao as SoftwareFactoryTopicModule, ap as SolutionsResource, aq as SystemErrorPayload, ar as SystemNotificationPayload, as as TokenizeResult, at as TurnProjectionPayload, au as TypedSocket, av as UpdateQuickScenarioPayload, aw as UpgradeComputerResponse, ax as UploadFileEntry, ay as UserInfo, az as UserPreferencesResource, b as VibeCodingDebugSessionStatus, d as VibeCodingDeployRecord, a as VibeCodingDeployStatus, V as VibeCodingResource, e as VibeCodingSessionInfo, c as VibeCodingSessionStatus, aA as createSocket, aB as normalizeResource } from '../blade-client-CFvmjs5R.js';
1
+ export { A as ApiKeyCreateResponse, g as ApiKeyPublic, h as ApiKeysResource, i as AuthResource, B as BladeApiError, j as BladeClient, k as BladeClientOptions, l as BladeFetchInit, m as BladeHubScenarioResource, n as ChatEndPayload, o as ChatSendPayload, p as CheckpointNode, q as ClientToServerEvents, r as CodingTask, s as CodingTaskTopic, t as ComputerUpgradeReason, u as ComputerUpgradeStatusResponse, v as ContentPart, w as CreateQuickScenarioPayload, x as CreateSessionRequest, y as CreateSocketOptions, z as CreateSoftwareFactorySharedFilePayload, E as CreateSoftwareFactorySoftwarePayload, f as CreateVibeCodingSessionParams, C as CreateVibeCodingSessionResult, D as DeployBumpMode, F as FileEntry, G as GisResource, H as GlobalSkillStats, I as HeadlessError, J as HeadlessResource, K as HeadlessRunOptions, L as HistoryNode, M as HttpMethod, N as ImportPreview, O as ImportPreviewScenario, Q as ImportPreviewSkill, R as InstalledRegistrySkill, S as JsonSchemaObject, T as MemoriesResource, U as Memory, W as MemoryCreateBody, X as MemoryListParams, Y as MemoryListResponse, Z as ModelOption, _ as ModelsConfig, $ as ModelsResource, a0 as PaginatedSessionsResult, P as PortMapping, a1 as PreviewUrlItem, a2 as ProvidersResponse, a3 as PublishedAppsResource, a4 as QuickScenario, a5 as REGISTRY_PREFIX, a6 as RegistryResource, a7 as ResourceApi, a8 as ScenariosResource, a9 as ServerToClientEvents, aa as SessionContextStats, ab as SessionHistory, ac as SessionUpdatedPayload, ad as SessionsResource, ae as ShareLinkResult, af as SkillDevSession, ag as SkillOrgListResponse, ah as SkillOrgOption, ai as SkillsResource, aj as SoftwareFactoryModuleBlueprint, ak as SoftwareFactoryResource, al as SoftwareFactorySharedFile, am as SoftwareFactorySoftware, an as SoftwareFactoryTopic, ao as SoftwareFactoryTopicModule, ap as SolutionsResource, aq as SystemErrorPayload, ar as SystemNotificationPayload, as as TokenizeResult, at as TurnProjectionPayload, au as TypedSocket, av as UpdateQuickScenarioPayload, aw as UpgradeComputerResponse, ax as UploadFileEntry, ay as UploadFilesOptions, az as UserInfo, aA as UserPreferencesResource, b as VibeCodingDebugSessionStatus, d as VibeCodingDeployRecord, a as VibeCodingDeployStatus, V as VibeCodingResource, e as VibeCodingSessionInfo, c as VibeCodingSessionStatus, aB as createSocket, aC as normalizeResource } from '../blade-client-R3cLVOYs.js';
2
2
  import 'arktype/internal/variants/object.ts';
3
3
  import 'arktype/internal/variants/string.ts';
4
4
  import '../projection-BWYEFYNn.js';
@@ -22,7 +22,7 @@ import {
22
22
  VibeCodingResource,
23
23
  createSocket,
24
24
  normalizeResource
25
- } from "../chunk-7JX26TWV.js";
25
+ } from "../chunk-Q6CSM5DE.js";
26
26
  import "../chunk-PZ5AY32C.js";
27
27
  export {
28
28
  ApiKeysResource,
@@ -1,5 +1,5 @@
1
- import { V as VibeCodingResource, C as CreateVibeCodingSessionResult, a as VibeCodingDeployStatus, b as VibeCodingDebugSessionStatus, c as VibeCodingSessionStatus, d as VibeCodingDeployRecord, e as VibeCodingSessionInfo } from '../../blade-client-CFvmjs5R.js';
2
- export { f as CreateVibeCodingSessionParams, D as DeployBumpMode, P as PortMapping } from '../../blade-client-CFvmjs5R.js';
1
+ import { V as VibeCodingResource, C as CreateVibeCodingSessionResult, a as VibeCodingDeployStatus, b as VibeCodingDebugSessionStatus, c as VibeCodingSessionStatus, d as VibeCodingDeployRecord, e as VibeCodingSessionInfo } from '../../blade-client-R3cLVOYs.js';
2
+ export { f as CreateVibeCodingSessionParams, D as DeployBumpMode, P as PortMapping } from '../../blade-client-R3cLVOYs.js';
3
3
  import 'arktype/internal/variants/object.ts';
4
4
  import 'arktype/internal/variants/string.ts';
5
5
  import '../../projection-BWYEFYNn.js';
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  getClient
3
- } from "../../chunk-PTMCGZFG.js";
3
+ } from "../../chunk-UQEXX57F.js";
4
4
  import "../../chunk-J3XVFPOV.js";
5
- import "../../chunk-7JX26TWV.js";
5
+ import "../../chunk-Q6CSM5DE.js";
6
6
  import "../../chunk-JCJFFJ42.js";
7
7
  import "../../chunk-PZ5AY32C.js";
8
8
 
@@ -1,5 +1,5 @@
1
- import { C as ChatViewCustomization, P as ParsedWhatIfPrompt } from '../../../SkillStatusBar-DpbkD4Jx.js';
2
- export { A as AssistantTurnComponentProps, a as ChatInput, b as ChatView, c as ChatViewClassNames, d as ChatViewComponents, e as ChatViewProps, f as ChatViewRenderers, E as ErrorMessageBlock, F as FileComposerAttachment, g as FileSizeLimitDialog, M as MessageList, S as SkillStatusBar, h as SkillStatusBarComponentProps, T as ToolCallComponentProps, i as ToolRendererProps, U as UserMessageBubble, j as isErrorMessage, k as isUserMessage } from '../../../SkillStatusBar-DpbkD4Jx.js';
1
+ import { C as ChatViewCustomization, P as ParsedWhatIfPrompt } from '../../../SkillStatusBar-BKAGU9tr.js';
2
+ export { A as AssistantTurnComponentProps, a as ChatInput, b as ChatView, c as ChatViewClassNames, d as ChatViewComponents, e as ChatViewProps, f as ChatViewRenderers, E as ErrorMessageBlock, F as FileComposerAttachment, g as FileSizeLimitDialog, M as MessageList, S as SkillStatusBar, h as SkillStatusBarComponentProps, T as ToolCallComponentProps, i as ToolRendererProps, U as UserMessageBubble, j as isErrorMessage, k as isUserMessage } from '../../../SkillStatusBar-BKAGU9tr.js';
3
3
  import * as react from 'react';
4
4
  import { ReactNode } from 'react';
5
5
  import * as react_jsx_runtime from 'react/jsx-runtime';
@@ -10,7 +10,7 @@ import 'zustand';
10
10
  import '../../../session-nZdIuWrS.js';
11
11
  import 'arktype/internal/variants/object.ts';
12
12
  import 'arktype/internal/variants/string.ts';
13
- import '../../../blade-client-CFvmjs5R.js';
13
+ import '../../../blade-client-R3cLVOYs.js';
14
14
  import 'socket.io-client';
15
15
 
16
16
  /**
@@ -16,15 +16,15 @@ import {
16
16
  isErrorMessage,
17
17
  isUserMessage,
18
18
  useWhatIfQuoteContext
19
- } from "../../../chunk-EV225FLR.js";
19
+ } from "../../../chunk-RTBAPZIO.js";
20
20
  import {
21
21
  AskUserQuestionBlock
22
- } from "../../../chunk-LVLGDM76.js";
22
+ } from "../../../chunk-ZQQNSKQS.js";
23
23
  import "../../../chunk-2UP7MG3J.js";
24
- import "../../../chunk-4ZEOWH6U.js";
25
- import "../../../chunk-PTMCGZFG.js";
24
+ import "../../../chunk-IRCXJHXT.js";
25
+ import "../../../chunk-UQEXX57F.js";
26
26
  import "../../../chunk-J3XVFPOV.js";
27
- import "../../../chunk-7JX26TWV.js";
27
+ import "../../../chunk-Q6CSM5DE.js";
28
28
  import "../../../chunk-7LEKQI47.js";
29
29
  import "../../../chunk-JCJFFJ42.js";
30
30
  import "../../../chunk-PZ5AY32C.js";
@@ -3,11 +3,11 @@ import {
3
3
  PlanSummaryCard,
4
4
  extractLatestPlanMessages,
5
5
  parsePlanMessages
6
- } from "../../../chunk-LVLGDM76.js";
6
+ } from "../../../chunk-ZQQNSKQS.js";
7
7
  import "../../../chunk-2UP7MG3J.js";
8
- import "../../../chunk-PTMCGZFG.js";
8
+ import "../../../chunk-UQEXX57F.js";
9
9
  import "../../../chunk-J3XVFPOV.js";
10
- import "../../../chunk-7JX26TWV.js";
10
+ import "../../../chunk-Q6CSM5DE.js";
11
11
  import {
12
12
  cn
13
13
  } from "../../../chunk-7LEKQI47.js";
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  useSession
3
- } from "../../../chunk-YW2THJUX.js";
3
+ } from "../../../chunk-BFF6D2XV.js";
4
4
  import {
5
5
  checkoutSession,
6
6
  getSessionCheckpoints,
7
7
  useChatStore,
8
8
  useSessionStore
9
- } from "../../../chunk-PTMCGZFG.js";
9
+ } from "../../../chunk-UQEXX57F.js";
10
10
  import "../../../chunk-J3XVFPOV.js";
11
- import "../../../chunk-7JX26TWV.js";
11
+ import "../../../chunk-Q6CSM5DE.js";
12
12
  import {
13
13
  cn
14
14
  } from "../../../chunk-7LEKQI47.js";
@@ -3,7 +3,7 @@ import {
3
3
  CollapsibleContent,
4
4
  CollapsibleTrigger,
5
5
  resolveSessionFilePreviewTarget
6
- } from "../../../chunk-4ZEOWH6U.js";
6
+ } from "../../../chunk-IRCXJHXT.js";
7
7
  import {
8
8
  apiFetchText,
9
9
  copyFile,
@@ -17,9 +17,9 @@ import {
17
17
  useChatStore,
18
18
  useSessionStore,
19
19
  useUiStore
20
- } from "../../../chunk-PTMCGZFG.js";
20
+ } from "../../../chunk-UQEXX57F.js";
21
21
  import "../../../chunk-J3XVFPOV.js";
22
- import "../../../chunk-7JX26TWV.js";
22
+ import "../../../chunk-Q6CSM5DE.js";
23
23
  import {
24
24
  cn
25
25
  } from "../../../chunk-7LEKQI47.js";
@@ -1175,6 +1175,8 @@ function WorkspaceFilesPanel({
1175
1175
  }) {
1176
1176
  const [expandedDirs, setExpandedDirs] = useState3(/* @__PURE__ */ new Set());
1177
1177
  const [isUploading, setIsUploading] = useState3(false);
1178
+ const [uploadProgress, setUploadProgress] = useState3(null);
1179
+ const [uploadFileCount, setUploadFileCount] = useState3(0);
1178
1180
  const [activeTab, setActiveTab] = useState3("files");
1179
1181
  const [isSyncing, setIsSyncing] = useState3(false);
1180
1182
  const queryClient = useQueryClient2();
@@ -1252,9 +1254,17 @@ function WorkspaceFilesPanel({
1252
1254
  return;
1253
1255
  }
1254
1256
  setIsUploading(true);
1257
+ setUploadProgress(0);
1258
+ setUploadFileCount(files.length);
1255
1259
  try {
1256
1260
  const targetDir = uploadTargetDir();
1257
- const result = await uploadFiles(sessionId, targetDir, files);
1261
+ const result = await uploadFiles(sessionId, targetDir, files, {
1262
+ onProgress: (progress) => {
1263
+ if (typeof progress.percent === "number") {
1264
+ setUploadProgress(progress.percent);
1265
+ }
1266
+ }
1267
+ });
1258
1268
  await queryClient.invalidateQueries({
1259
1269
  queryKey: ["file-tree", sessionId],
1260
1270
  refetchType: "all"
@@ -1278,6 +1288,8 @@ function WorkspaceFilesPanel({
1278
1288
  alert("\u4E0A\u4F20\u6587\u4EF6\u5931\u8D25");
1279
1289
  } finally {
1280
1290
  setIsUploading(false);
1291
+ setUploadProgress(null);
1292
+ setUploadFileCount(0);
1281
1293
  event.target.value = "";
1282
1294
  }
1283
1295
  };
@@ -1370,6 +1382,22 @@ function WorkspaceFilesPanel({
1370
1382
  )
1371
1383
  ] }) : null
1372
1384
  ] }),
1385
+ isUploading ? /* @__PURE__ */ jsxs3("div", { className: "mb-2 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--muted))]/30 px-2 py-1.5", children: [
1386
+ /* @__PURE__ */ jsxs3("div", { className: "mb-1 flex items-center justify-between gap-2 text-[11px] text-[hsl(var(--muted-foreground))]", children: [
1387
+ /* @__PURE__ */ jsxs3("span", { className: "truncate", children: [
1388
+ "\u6B63\u5728\u4E0A\u4F20",
1389
+ uploadFileCount > 1 ? ` ${uploadFileCount} \u4E2A\u6587\u4EF6` : "\u6587\u4EF6"
1390
+ ] }),
1391
+ /* @__PURE__ */ jsx3("span", { className: "font-mono tabular-nums", children: uploadProgress !== null ? `${Math.round(uploadProgress * 100)}%` : "\u4E0A\u4F20\u4E2D" })
1392
+ ] }),
1393
+ /* @__PURE__ */ jsx3("div", { className: "h-1 overflow-hidden rounded-full bg-[hsl(var(--muted))]", children: /* @__PURE__ */ jsx3(
1394
+ "div",
1395
+ {
1396
+ className: "h-full rounded-full bg-[hsl(var(--primary))] transition-[width]",
1397
+ style: { width: `${Math.round((uploadProgress ?? 0) * 100)}%` }
1398
+ }
1399
+ ) })
1400
+ ] }) : null,
1373
1401
  activeTab === "resources" && inlineResources.length > 0 ? /* @__PURE__ */ jsx3("div", { className: cn("min-h-0 overflow-auto", treeContainerClassName), children: /* @__PURE__ */ jsx3("div", { className: "flex flex-col gap-1.5", children: inlineResources.map((item, index) => /* @__PURE__ */ jsxs3(
1374
1402
  "button",
1375
1403
  {