@blade-hq/agent-kit 1.0.19 → 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 +225 -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';
@@ -1299,6 +1299,26 @@ interface paths {
1299
1299
  patch?: never;
1300
1300
  trace?: never;
1301
1301
  };
1302
+ "/api/sessions/{session_id}/preview-proxy/{host_port}/{proxy_path}": {
1303
+ parameters: {
1304
+ query?: never;
1305
+ header?: never;
1306
+ path?: never;
1307
+ cookie?: never;
1308
+ };
1309
+ /**
1310
+ * Proxy Session Preview
1311
+ * @description Serve a mapped preview app through Blade and inject selection support.
1312
+ */
1313
+ get: operations["proxy_session_preview_api_sessions__session_id__preview_proxy__host_port___proxy_path__get"];
1314
+ put?: never;
1315
+ post?: never;
1316
+ delete?: never;
1317
+ options?: never;
1318
+ head?: never;
1319
+ patch?: never;
1320
+ trace?: never;
1321
+ };
1302
1322
  "/api/sessions/{session_id}/ls/{dir_path}": {
1303
1323
  parameters: {
1304
1324
  query?: never;
@@ -1626,6 +1646,26 @@ interface paths {
1626
1646
  patch?: never;
1627
1647
  trace?: never;
1628
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
+ };
1629
1669
  "/api/sessions/{session_id}/upset_extra_info": {
1630
1670
  parameters: {
1631
1671
  query?: never;
@@ -2529,6 +2569,40 @@ interface paths {
2529
2569
  patch?: never;
2530
2570
  trace?: never;
2531
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
+ };
2532
2606
  "/api/published-apps": {
2533
2607
  parameters: {
2534
2608
  query?: never;
@@ -5501,6 +5575,11 @@ interface components {
5501
5575
  /** File */
5502
5576
  file: string;
5503
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
+ };
5504
5583
  /** BrowserCommand */
5505
5584
  BrowserCommand: {
5506
5585
  /** Session Id */
@@ -5731,6 +5810,8 @@ interface components {
5731
5810
  intent: string;
5732
5811
  /** Solution Id */
5733
5812
  solution_id?: string | null;
5813
+ /** Session Solution Asset Id */
5814
+ session_solution_asset_id?: string | null;
5734
5815
  /** Biz Role Id */
5735
5816
  biz_role_id?: string | null;
5736
5817
  template_id?: components["schemas"]["TemplateId"] | null;
@@ -5757,6 +5838,8 @@ interface components {
5757
5838
  workspace_id?: string | null;
5758
5839
  /** Disable Tools */
5759
5840
  disable_tools?: string[] | null;
5841
+ /** Compaction Ratio */
5842
+ compaction_ratio?: number | null;
5760
5843
  };
5761
5844
  /** CreateSoftwareFactorySharedFileRequest */
5762
5845
  CreateSoftwareFactorySharedFileRequest: {
@@ -5859,6 +5942,13 @@ interface components {
5859
5942
  /** Browser Safety Context */
5860
5943
  browser_safety_context?: string | null;
5861
5944
  };
5945
+ /** FrontendTelemetryPayload */
5946
+ FrontendTelemetryPayload: {
5947
+ /** Event */
5948
+ event: string;
5949
+ /** Latency Ms */
5950
+ latency_ms?: number | null;
5951
+ };
5862
5952
  /** GisStateResponse */
5863
5953
  GisStateResponse: {
5864
5954
  /** Goals */
@@ -6822,6 +6912,17 @@ interface components {
6822
6912
  /** Cleared Memo */
6823
6913
  cleared_memo: number;
6824
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
+ };
6825
6926
  /** UserPreferenceValue */
6826
6927
  UserPreferenceValue: {
6827
6928
  /** Value */
@@ -9479,6 +9580,39 @@ interface operations {
9479
9580
  };
9480
9581
  };
9481
9582
  };
9583
+ proxy_session_preview_api_sessions__session_id__preview_proxy__host_port___proxy_path__get: {
9584
+ parameters: {
9585
+ query?: never;
9586
+ header?: never;
9587
+ path: {
9588
+ session_id: string;
9589
+ host_port: number;
9590
+ proxy_path: string;
9591
+ };
9592
+ cookie?: never;
9593
+ };
9594
+ requestBody?: never;
9595
+ responses: {
9596
+ /** @description Successful Response */
9597
+ 200: {
9598
+ headers: {
9599
+ [name: string]: unknown;
9600
+ };
9601
+ content: {
9602
+ "application/json": unknown;
9603
+ };
9604
+ };
9605
+ /** @description Validation Error */
9606
+ 422: {
9607
+ headers: {
9608
+ [name: string]: unknown;
9609
+ };
9610
+ content: {
9611
+ "application/json": components["schemas"]["HTTPValidationError"];
9612
+ };
9613
+ };
9614
+ };
9615
+ };
9482
9616
  list_dir_api_sessions__session_id__ls__dir_path__get: {
9483
9617
  parameters: {
9484
9618
  query?: never;
@@ -10085,6 +10219,39 @@ interface operations {
10085
10219
  };
10086
10220
  };
10087
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
+ };
10088
10255
  upset_session_extra_info_api_sessions__session_id__upset_extra_info_post: {
10089
10256
  parameters: {
10090
10257
  query?: never;
@@ -12179,6 +12346,63 @@ interface operations {
12179
12346
  };
12180
12347
  };
12181
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
+ };
12182
12406
  list_apps_api_published_apps_get: {
12183
12407
  parameters: {
12184
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,