@blade-hq/agent-kit 1.0.20 → 1.0.21

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 (32) hide show
  1. package/dist/{SkillStatusBar-DskumalP.d.ts → SkillStatusBar-DluiBsVj.d.ts} +1 -1
  2. package/dist/{blade-client-KZiBuBHI.d.ts → blade-client-CseN7OW9.d.ts} +69 -1
  3. package/dist/{chunk-ADVQBVGQ.js → chunk-3S5Z6J7V.js} +2 -2
  4. package/dist/{chunk-V74REX3Q.js → chunk-7F6UP5LP.js} +250 -2
  5. package/dist/chunk-7F6UP5LP.js.map +1 -0
  6. package/dist/{chunk-MKZ4VTJ2.js → chunk-MPGRAWLS.js} +2 -2
  7. package/dist/{chunk-ZKOSOL3V.js → chunk-O4TRZMGD.js} +10 -6
  8. package/dist/chunk-O4TRZMGD.js.map +1 -0
  9. package/dist/{chunk-JWWU2GWP.js → chunk-XEKYDE2R.js} +5 -5
  10. package/dist/{chunk-TLB4ORQT.js → chunk-YVAP7QQ7.js} +17 -2
  11. package/dist/{chunk-TLB4ORQT.js.map → chunk-YVAP7QQ7.js.map} +1 -1
  12. package/dist/client/index.d.ts +172 -1
  13. package/dist/client/index.js +3 -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 +4 -4
  19. package/dist/react/components/session/index.js +3 -3
  20. package/dist/react/components/workspace/index.d.ts +2 -2
  21. package/dist/react/components/workspace/index.js +31 -3
  22. package/dist/react/components/workspace/index.js.map +1 -1
  23. package/dist/react/index.d.ts +7 -5
  24. package/dist/react/index.js +6 -6
  25. package/dist/{sessions-BX8qHBN3.d.ts → sessions-DI9DVun7.d.ts} +1 -1
  26. package/dist/style.css +1 -1
  27. package/package.json +1 -1
  28. package/dist/chunk-V74REX3Q.js.map +0 -1
  29. package/dist/chunk-ZKOSOL3V.js.map +0 -1
  30. /package/dist/{chunk-ADVQBVGQ.js.map → chunk-3S5Z6J7V.js.map} +0 -0
  31. /package/dist/{chunk-MKZ4VTJ2.js.map → chunk-MPGRAWLS.js.map} +0 -0
  32. /package/dist/{chunk-JWWU2GWP.js.map → chunk-XEKYDE2R.js.map} +0 -0
@@ -1,4 +1,4 @@
1
- export { A as ApiKeyCreateResponse, r as ApiKeyPublic, s as ApiKeysResource, t as AuthResource, u as BladeApiError, v as BladeClient, w as BladeClientOptions, x as BladeFetchInit, y as BladeHubScenarioResource, z as ChatEndPayload, E as ChatSendPayload, h as CheckpointNode, G as ClientToServerEvents, J as CodingTask, K as CodingTaskTopic, L as ComputerUpgradeReason, M as ComputerUpgradeStatusResponse, m as ContentPart, N as CreateQuickScenarioPayload, n as CreateSessionRequest, O as CreateSocketOptions, Q as CreateSoftwareFactorySharedFilePayload, R as CreateSoftwareFactorySoftwarePayload, f as CreateVibeCodingSessionParams, C as CreateVibeCodingSessionResult, D as DeployBumpMode, W as ExportedSolutionFile, F as FileEntry, X as GisResource, Y as GlobalSkillStats, Z as HeadlessError, _ as HeadlessResource, $ as HeadlessRunInSessionResult, a0 as HeadlessRunOptions, H as HistoryNode, a1 as HttpMethod, I as ImportPreview, o as ImportPreviewScenario, p as ImportPreviewSkill, a2 as InstalledRegistrySkill, a3 as JsonSchemaObject, a4 as MemoriesResource, a5 as Memory, a6 as MemoryCreateBody, a7 as MemoryListParams, a8 as MemoryListResponse, a9 as ModelOption, aa as ModelsConfig, ab as ModelsResource, k as PaginatedSessionsResult, P as PortMapping, ac as PreviewUrlItem, ad as ProvidersResponse, ae as PublishedAppsResource, af as QuickScenario, ag as REGISTRY_PREFIX, ah as RegistryResource, ai as ResourceApi, aj as ScenariosResource, ak as ServerToClientEvents, i as SessionContextStats, j as SessionHistory, al as SessionUpdatedPayload, S as SessionsResource, g as ShareLinkResult, l as SkillDevSession, am as SkillOrgListResponse, an as SkillOrgOption, ao as SkillsResource, ap as SoftwareFactoryModuleBlueprint, aq as SoftwareFactoryResource, ar as SoftwareFactorySharedFile, as as SoftwareFactorySoftware, at as SoftwareFactoryTopic, au as SoftwareFactoryTopicModule, av as SolutionsResource, aw as SystemErrorPayload, ax as SystemNotificationPayload, T as TokenizeResult, ay as TurnProjectionPayload, az as TypedSocket, aA as UpdateQuickScenarioPayload, aB as UpgradeComputerResponse, U as UploadFileEntry, q as UploadFilesOptions, aC as UserInfo, aD as UserPreferencesResource, b as VibeCodingDebugSessionStatus, d as VibeCodingDeployRecord, a as VibeCodingDeployStatus, V as VibeCodingResource, e as VibeCodingSessionInfo, c as VibeCodingSessionStatus, aE as createSocket, aF as normalizeResource } from '../blade-client-KZiBuBHI.js';
1
+ export { A as ApiKeyCreateResponse, r as ApiKeyPublic, s as ApiKeysResource, t as AuthResource, u as BladeApiError, v as BladeClient, w as BladeClientOptions, x as BladeFetchInit, y as BladeHubScenarioResource, z as ChatEndPayload, E as ChatSendPayload, h as CheckpointNode, G as ClientToServerEvents, J as CodingTask, K as CodingTaskTopic, L as ComputerUpgradeReason, M as ComputerUpgradeStatusResponse, m as ContentPart, N as CreateQuickScenarioPayload, n as CreateSessionRequest, O as CreateSocketOptions, Q as CreateSoftwareFactorySharedFilePayload, R as CreateSoftwareFactorySoftwarePayload, f as CreateVibeCodingSessionParams, C as CreateVibeCodingSessionResult, D as DeployBumpMode, W as ExistingSolutionRef, X as ExportedSolutionFile, F as FileEntry, Y as GisResource, Z as GlobalSkillStats, _ as HeadlessError, $ as HeadlessResource, a0 as HeadlessRunInSessionResult, a1 as HeadlessRunOptions, H as HistoryNode, a2 as HttpMethod, I as ImportPreview, o as ImportPreviewScenario, p as ImportPreviewSkill, a3 as InstalledRegistrySkill, a4 as JsonSchemaObject, a5 as MemoriesResource, a6 as Memory, a7 as MemoryCreateBody, a8 as MemoryListParams, a9 as MemoryListResponse, aa as ModelOption, ab as ModelsConfig, ac as ModelsResource, k as PaginatedSessionsResult, P as PortMapping, ad as PreparedSolution, ae as PreparedSolutionAsset, af as PreviewUrlItem, ag as ProvidersResponse, ah as PublishedAppsResource, ai as QuickScenario, aj as REGISTRY_PREFIX, ak as RegistryResource, al as ResourceApi, am as RunOptions, an as RunResult, ao as RunTrace, ap as RunsResource, aq as ScenariosResource, ar as ServerToClientEvents, i as SessionContextStats, j as SessionHistory, as as SessionProfile, at as SessionUpdatedPayload, S as SessionsResource, g as ShareLinkResult, l as SkillDevSession, au as SkillOrgListResponse, av as SkillOrgOption, aw as SkillsResource, ax as SoftwareFactoryModuleBlueprint, ay as SoftwareFactoryResource, az as SoftwareFactorySharedFile, aA as SoftwareFactorySoftware, aB as SoftwareFactoryTopic, aC as SoftwareFactoryTopicModule, aD as SolutionRef, aE as SolutionsResource, aF as SystemErrorPayload, aG as SystemNotificationPayload, T as TokenizeResult, aH as TurnProjectionPayload, aI as TypedSocket, aJ as UpdateQuickScenarioPayload, aK as UpgradeComputerResponse, U as UploadFileEntry, q as UploadFilesOptions, aL as UserInfo, aM as UserPreferencesResource, b as VibeCodingDebugSessionStatus, d as VibeCodingDeployRecord, a as VibeCodingDeployStatus, V as VibeCodingResource, e as VibeCodingSessionInfo, c as VibeCodingSessionStatus, aN as createSocket, aO as normalizeResource } from '../blade-client-CseN7OW9.js';
2
2
  import 'arktype/internal/variants/object.ts';
3
3
  import 'arktype/internal/variants/string.ts';
4
4
  import '../projection-BWYEFYNn.js';
@@ -1646,6 +1646,26 @@ interface paths {
1646
1646
  patch?: never;
1647
1647
  trace?: never;
1648
1648
  };
1649
+ "/api/session-assets/solutions": {
1650
+ parameters: {
1651
+ query?: never;
1652
+ header?: never;
1653
+ path?: never;
1654
+ cookie?: never;
1655
+ };
1656
+ get?: never;
1657
+ put?: never;
1658
+ /**
1659
+ * Upload Solution Asset
1660
+ * @description Upload a solution zip as a temporary session asset.
1661
+ */
1662
+ post: operations["upload_solution_asset_api_session_assets_solutions_post"];
1663
+ delete?: never;
1664
+ options?: never;
1665
+ head?: never;
1666
+ patch?: never;
1667
+ trace?: never;
1668
+ };
1649
1669
  "/api/sessions/{session_id}/upset_extra_info": {
1650
1670
  parameters: {
1651
1671
  query?: never;
@@ -2549,6 +2569,40 @@ interface paths {
2549
2569
  patch?: never;
2550
2570
  trace?: never;
2551
2571
  };
2572
+ "/api/observability/status": {
2573
+ parameters: {
2574
+ query?: never;
2575
+ header?: never;
2576
+ path?: never;
2577
+ cookie?: never;
2578
+ };
2579
+ /** Get Observability Status */
2580
+ get: operations["get_observability_status_api_observability_status_get"];
2581
+ put?: never;
2582
+ post?: never;
2583
+ delete?: never;
2584
+ options?: never;
2585
+ head?: never;
2586
+ patch?: never;
2587
+ trace?: never;
2588
+ };
2589
+ "/api/observability/frontend": {
2590
+ parameters: {
2591
+ query?: never;
2592
+ header?: never;
2593
+ path?: never;
2594
+ cookie?: never;
2595
+ };
2596
+ get?: never;
2597
+ put?: never;
2598
+ /** Post Frontend Telemetry */
2599
+ post: operations["post_frontend_telemetry_api_observability_frontend_post"];
2600
+ delete?: never;
2601
+ options?: never;
2602
+ head?: never;
2603
+ patch?: never;
2604
+ trace?: never;
2605
+ };
2552
2606
  "/api/published-apps": {
2553
2607
  parameters: {
2554
2608
  query?: never;
@@ -5521,6 +5575,11 @@ interface components {
5521
5575
  /** File */
5522
5576
  file: string;
5523
5577
  };
5578
+ /** Body_upload_solution_asset_api_session_assets_solutions_post */
5579
+ Body_upload_solution_asset_api_session_assets_solutions_post: {
5580
+ /** File */
5581
+ file: string;
5582
+ };
5524
5583
  /** BrowserCommand */
5525
5584
  BrowserCommand: {
5526
5585
  /** Session Id */
@@ -5751,6 +5810,8 @@ interface components {
5751
5810
  intent: string;
5752
5811
  /** Solution Id */
5753
5812
  solution_id?: string | null;
5813
+ /** Session Solution Asset Id */
5814
+ session_solution_asset_id?: string | null;
5754
5815
  /** Biz Role Id */
5755
5816
  biz_role_id?: string | null;
5756
5817
  template_id?: components["schemas"]["TemplateId"] | null;
@@ -5777,6 +5838,8 @@ interface components {
5777
5838
  workspace_id?: string | null;
5778
5839
  /** Disable Tools */
5779
5840
  disable_tools?: string[] | null;
5841
+ /** Compaction Ratio */
5842
+ compaction_ratio?: number | null;
5780
5843
  };
5781
5844
  /** CreateSoftwareFactorySharedFileRequest */
5782
5845
  CreateSoftwareFactorySharedFileRequest: {
@@ -5879,6 +5942,13 @@ interface components {
5879
5942
  /** Browser Safety Context */
5880
5943
  browser_safety_context?: string | null;
5881
5944
  };
5945
+ /** FrontendTelemetryPayload */
5946
+ FrontendTelemetryPayload: {
5947
+ /** Event */
5948
+ event: string;
5949
+ /** Latency Ms */
5950
+ latency_ms?: number | null;
5951
+ };
5882
5952
  /** GisStateResponse */
5883
5953
  GisStateResponse: {
5884
5954
  /** Goals */
@@ -6842,6 +6912,17 @@ interface components {
6842
6912
  /** Cleared Memo */
6843
6913
  cleared_memo: number;
6844
6914
  };
6915
+ /** UploadSolutionResponse */
6916
+ UploadSolutionResponse: {
6917
+ /** Asset Id */
6918
+ asset_id: string;
6919
+ /** Solution Id */
6920
+ solution_id: string;
6921
+ /** Roles */
6922
+ roles: string[];
6923
+ /** Expires At */
6924
+ expires_at: string;
6925
+ };
6845
6926
  /** UserPreferenceValue */
6846
6927
  UserPreferenceValue: {
6847
6928
  /** Value */
@@ -10138,6 +10219,39 @@ interface operations {
10138
10219
  };
10139
10220
  };
10140
10221
  };
10222
+ upload_solution_asset_api_session_assets_solutions_post: {
10223
+ parameters: {
10224
+ query?: never;
10225
+ header?: never;
10226
+ path?: never;
10227
+ cookie?: never;
10228
+ };
10229
+ requestBody: {
10230
+ content: {
10231
+ "multipart/form-data": components["schemas"]["Body_upload_solution_asset_api_session_assets_solutions_post"];
10232
+ };
10233
+ };
10234
+ responses: {
10235
+ /** @description Successful Response */
10236
+ 200: {
10237
+ headers: {
10238
+ [name: string]: unknown;
10239
+ };
10240
+ content: {
10241
+ "application/json": components["schemas"]["UploadSolutionResponse"];
10242
+ };
10243
+ };
10244
+ /** @description Validation Error */
10245
+ 422: {
10246
+ headers: {
10247
+ [name: string]: unknown;
10248
+ };
10249
+ content: {
10250
+ "application/json": components["schemas"]["HTTPValidationError"];
10251
+ };
10252
+ };
10253
+ };
10254
+ };
10141
10255
  upset_session_extra_info_api_sessions__session_id__upset_extra_info_post: {
10142
10256
  parameters: {
10143
10257
  query?: never;
@@ -12232,6 +12346,63 @@ interface operations {
12232
12346
  };
12233
12347
  };
12234
12348
  };
12349
+ get_observability_status_api_observability_status_get: {
12350
+ parameters: {
12351
+ query?: never;
12352
+ header?: never;
12353
+ path?: never;
12354
+ cookie?: never;
12355
+ };
12356
+ requestBody?: never;
12357
+ responses: {
12358
+ /** @description Successful Response */
12359
+ 200: {
12360
+ headers: {
12361
+ [name: string]: unknown;
12362
+ };
12363
+ content: {
12364
+ "application/json": {
12365
+ [key: string]: unknown;
12366
+ };
12367
+ };
12368
+ };
12369
+ };
12370
+ };
12371
+ post_frontend_telemetry_api_observability_frontend_post: {
12372
+ parameters: {
12373
+ query?: never;
12374
+ header?: never;
12375
+ path?: never;
12376
+ cookie?: never;
12377
+ };
12378
+ requestBody: {
12379
+ content: {
12380
+ "application/json": components["schemas"]["FrontendTelemetryPayload"];
12381
+ };
12382
+ };
12383
+ responses: {
12384
+ /** @description Successful Response */
12385
+ 200: {
12386
+ headers: {
12387
+ [name: string]: unknown;
12388
+ };
12389
+ content: {
12390
+ "application/json": {
12391
+ [key: string]: boolean;
12392
+ };
12393
+ };
12394
+ };
12395
+ /** @description Validation Error */
12396
+ 422: {
12397
+ headers: {
12398
+ [name: string]: unknown;
12399
+ };
12400
+ content: {
12401
+ "application/json": components["schemas"]["HTTPValidationError"];
12402
+ };
12403
+ };
12404
+ };
12405
+ };
12235
12406
  list_apps_api_published_apps_get: {
12236
12407
  parameters: {
12237
12408
  query?: never;
@@ -13,6 +13,7 @@ import {
13
13
  PublishedAppsResource,
14
14
  REGISTRY_PREFIX,
15
15
  RegistryResource,
16
+ RunsResource,
16
17
  ScenariosResource,
17
18
  SessionsResource,
18
19
  SkillsResource,
@@ -22,7 +23,7 @@ import {
22
23
  VibeCodingResource,
23
24
  createSocket,
24
25
  normalizeResource
25
- } from "../chunk-V74REX3Q.js";
26
+ } from "../chunk-7F6UP5LP.js";
26
27
  import "../chunk-PZ5AY32C.js";
27
28
  export {
28
29
  ApiKeysResource,
@@ -39,6 +40,7 @@ export {
39
40
  PublishedAppsResource,
40
41
  REGISTRY_PREFIX,
41
42
  RegistryResource,
43
+ RunsResource,
42
44
  ScenariosResource,
43
45
  SessionsResource,
44
46
  SkillsResource,
@@ -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-KZiBuBHI.js';
2
- export { f as CreateVibeCodingSessionParams, D as DeployBumpMode, P as PortMapping } from '../../blade-client-KZiBuBHI.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-CseN7OW9.js';
2
+ export { f as CreateVibeCodingSessionParams, D as DeployBumpMode, P as PortMapping } from '../../blade-client-CseN7OW9.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-TLB4ORQT.js";
3
+ } from "../../chunk-YVAP7QQ7.js";
4
4
  import "../../chunk-J3XVFPOV.js";
5
- import "../../chunk-V74REX3Q.js";
5
+ import "../../chunk-7F6UP5LP.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-DskumalP.js';
2
- export { A as AssistantTurnComponentProps, a as ChatInput, b as ChatSendOptions, c as ChatView, d as ChatViewClassNames, e as ChatViewComponents, f as ChatViewProps, g as ChatViewRenderers, E as ErrorMessageBlock, F as FileComposerAttachment, h as FileSizeLimitDialog, M as MessageList, S as SkillStatusBar, i as SkillStatusBarComponentProps, T as ThinkingToggle, j as ToolCallComponentProps, k as ToolRendererProps, U as UserMessageBubble, l as isErrorMessage, m as isUserMessage } from '../../../SkillStatusBar-DskumalP.js';
1
+ import { C as ChatViewCustomization, P as ParsedWhatIfPrompt } from '../../../SkillStatusBar-DluiBsVj.js';
2
+ export { A as AssistantTurnComponentProps, a as ChatInput, b as ChatSendOptions, c as ChatView, d as ChatViewClassNames, e as ChatViewComponents, f as ChatViewProps, g as ChatViewRenderers, E as ErrorMessageBlock, F as FileComposerAttachment, h as FileSizeLimitDialog, M as MessageList, S as SkillStatusBar, i as SkillStatusBarComponentProps, T as ThinkingToggle, j as ToolCallComponentProps, k as ToolRendererProps, U as UserMessageBubble, l as isErrorMessage, m as isUserMessage } from '../../../SkillStatusBar-DluiBsVj.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-CT8Y2KHr.js';
11
11
  import 'arktype/internal/variants/object.ts';
12
12
  import 'arktype/internal/variants/string.ts';
13
- import '../../../blade-client-KZiBuBHI.js';
13
+ import '../../../blade-client-CseN7OW9.js';
14
14
  import 'socket.io-client';
15
15
 
16
16
  /**
@@ -17,16 +17,16 @@ import {
17
17
  isErrorMessage,
18
18
  isUserMessage,
19
19
  useWhatIfQuoteContext
20
- } from "../../../chunk-JWWU2GWP.js";
20
+ } from "../../../chunk-XEKYDE2R.js";
21
21
  import {
22
22
  AskUserQuestionBlock
23
- } from "../../../chunk-ZKOSOL3V.js";
23
+ } from "../../../chunk-O4TRZMGD.js";
24
24
  import "../../../chunk-2UP7MG3J.js";
25
25
  import "../../../chunk-H62LH2AG.js";
26
- import "../../../chunk-MKZ4VTJ2.js";
27
- import "../../../chunk-TLB4ORQT.js";
26
+ import "../../../chunk-MPGRAWLS.js";
27
+ import "../../../chunk-YVAP7QQ7.js";
28
28
  import "../../../chunk-J3XVFPOV.js";
29
- import "../../../chunk-V74REX3Q.js";
29
+ import "../../../chunk-7F6UP5LP.js";
30
30
  import "../../../chunk-7LEKQI47.js";
31
31
  import "../../../chunk-JCJFFJ42.js";
32
32
  import "../../../chunk-PZ5AY32C.js";
@@ -3,12 +3,12 @@ import {
3
3
  PlanSummaryCard,
4
4
  extractLatestPlanMessages,
5
5
  parsePlanMessages
6
- } from "../../../chunk-ZKOSOL3V.js";
6
+ } from "../../../chunk-O4TRZMGD.js";
7
7
  import "../../../chunk-2UP7MG3J.js";
8
- import "../../../chunk-MKZ4VTJ2.js";
9
- import "../../../chunk-TLB4ORQT.js";
8
+ import "../../../chunk-MPGRAWLS.js";
9
+ import "../../../chunk-YVAP7QQ7.js";
10
10
  import "../../../chunk-J3XVFPOV.js";
11
- import "../../../chunk-V74REX3Q.js";
11
+ import "../../../chunk-7F6UP5LP.js";
12
12
  import {
13
13
  cn
14
14
  } from "../../../chunk-7LEKQI47.js";
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  useSession
3
- } from "../../../chunk-ADVQBVGQ.js";
3
+ } from "../../../chunk-3S5Z6J7V.js";
4
4
  import {
5
5
  checkoutSession,
6
6
  getSessionCheckpoints,
7
7
  useChatStore,
8
8
  useSessionStore
9
- } from "../../../chunk-TLB4ORQT.js";
9
+ } from "../../../chunk-YVAP7QQ7.js";
10
10
  import "../../../chunk-J3XVFPOV.js";
11
- import "../../../chunk-V74REX3Q.js";
11
+ import "../../../chunk-7F6UP5LP.js";
12
12
  import {
13
13
  cn
14
14
  } from "../../../chunk-7LEKQI47.js";
@@ -1,7 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReactNode } from 'react';
3
- import { l as listDir } from '../../../sessions-BX8qHBN3.js';
4
- import '../../../blade-client-KZiBuBHI.js';
3
+ import { l as listDir } from '../../../sessions-DI9DVun7.js';
4
+ import '../../../blade-client-CseN7OW9.js';
5
5
  import 'arktype/internal/variants/object.ts';
6
6
  import 'arktype/internal/variants/string.ts';
7
7
  import '../../../projection-BWYEFYNn.js';
@@ -5,7 +5,7 @@ import {
5
5
  } from "../../../chunk-H62LH2AG.js";
6
6
  import {
7
7
  resolveSessionFilePreviewTarget
8
- } from "../../../chunk-MKZ4VTJ2.js";
8
+ } from "../../../chunk-MPGRAWLS.js";
9
9
  import {
10
10
  apiFetchText,
11
11
  copyFile,
@@ -19,9 +19,9 @@ import {
19
19
  useChatStore,
20
20
  useSessionStore,
21
21
  useUiStore
22
- } from "../../../chunk-TLB4ORQT.js";
22
+ } from "../../../chunk-YVAP7QQ7.js";
23
23
  import "../../../chunk-J3XVFPOV.js";
24
- import "../../../chunk-V74REX3Q.js";
24
+ import "../../../chunk-7F6UP5LP.js";
25
25
  import {
26
26
  cn
27
27
  } from "../../../chunk-7LEKQI47.js";
@@ -286,6 +286,7 @@ var GENERIC_FILE_ICON_ASSET = new URL("../../assets/file-icons/generic-file.png"
286
286
  import { Fragment as Fragment2, jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
287
287
  var ROOT_PATH = ".";
288
288
  var TREE_ROW_CLASS = "group flex w-full items-center gap-1.5 rounded-md px-2 py-1.5 text-left transition-colors hover:bg-muted/50";
289
+ var FOLDER_PATH_MAX_LENGTH = 36;
289
290
  function FileTree2({
290
291
  sessionId,
291
292
  checkActiveSession = true,
@@ -623,6 +624,7 @@ function FolderNode({
623
624
  children: [
624
625
  /* @__PURE__ */ jsx2(FileTreeIcon, { children: getFolderIcon() }),
625
626
  /* @__PURE__ */ jsx2(FileTreeName, { className: "min-w-0 flex-1", children: entry.name }),
627
+ /* @__PURE__ */ jsx2(FolderPathHoverLabel, { path: getFolderPath(entry.path) }),
626
628
  isCurrentSessionDir ? /* @__PURE__ */ jsx2("span", { className: "shrink-0 rounded-full bg-emerald-100 px-2 py-[2px] text-[11px] font-medium leading-[14px] text-emerald-700", children: "\u5F53\u524D\u5BF9\u8BDD" }) : null
627
629
  ]
628
630
  }
@@ -862,6 +864,7 @@ function FileNode({
862
864
  }
863
865
  ) : /* @__PURE__ */ jsxs2("div", { className: "flex min-w-0 flex-1 items-center text-left", children: [
864
866
  /* @__PURE__ */ jsx2(FileTreeName, { className: "min-w-0 flex-1", children: entry.name }),
867
+ /* @__PURE__ */ jsx2(FolderPathHoverLabel, { path: getFolderPath(entry.path) }),
865
868
  /* @__PURE__ */ jsx2(FileTagList, { tags: entry.tags })
866
869
  ] }),
867
870
  isOpening ? /* @__PURE__ */ jsx2(Loader2, { size: 12, className: "ml-auto shrink-0 animate-spin text-[hsl(var(--muted-foreground))]" }) : null,
@@ -1053,6 +1056,31 @@ function normalizeDisplayTags(tags) {
1053
1056
  }
1054
1057
  });
1055
1058
  }
1059
+ function getFolderPath(path) {
1060
+ const normalizedPath = path.replace(/\/+$/, "");
1061
+ const slashIndex = normalizedPath.lastIndexOf("/");
1062
+ if (slashIndex <= 0) {
1063
+ return slashIndex === 0 ? "/" : "";
1064
+ }
1065
+ return normalizedPath.slice(0, slashIndex);
1066
+ }
1067
+ function shortenFolderPath(path) {
1068
+ if (path.length <= FOLDER_PATH_MAX_LENGTH) {
1069
+ return path;
1070
+ }
1071
+ return `...${path.slice(-FOLDER_PATH_MAX_LENGTH)}`;
1072
+ }
1073
+ function FolderPathHoverLabel({ path }) {
1074
+ if (!path) return null;
1075
+ return /* @__PURE__ */ jsx2(
1076
+ "span",
1077
+ {
1078
+ className: "ml-2 hidden min-w-0 max-w-[12rem] shrink truncate rounded bg-[hsl(var(--muted))] px-1.5 py-0.5 font-mono text-[10px] leading-4 text-[hsl(var(--muted-foreground))] group-hover:inline-block group-focus-within:inline-block",
1079
+ title: path,
1080
+ children: shortenFolderPath(path)
1081
+ }
1082
+ );
1083
+ }
1056
1084
  function TreeActionButton({
1057
1085
  children,
1058
1086
  disabled = false,