@leanspec/ui 0.2.24 → 0.2.25

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 (156) hide show
  1. package/dist/{_baseUniq-0KC2LwTU.js → _baseUniq-BTv7M834.js} +1 -1
  2. package/dist/{arc-BF3pCZeb.js → arc-GsL4cqyW.js} +1 -1
  3. package/dist/{architecture-U656AL7Q-Dvz3aEBf.js → architecture-U656AL7Q-DL2Qaesc.js} +1 -1
  4. package/dist/{architectureDiagram-VXUJARFQ-DUvgrr6M.js → architectureDiagram-VXUJARFQ-DhRxYxVL.js} +3 -3
  5. package/dist/assets/{_baseUniq-zaVu3d-8.js → _baseUniq-Deb5Ms7c.js} +1 -1
  6. package/dist/assets/{arc-CNsbs1Hc.js → arc-Buu9h4aM.js} +1 -1
  7. package/dist/assets/{architectureDiagram-VXUJARFQ-CNRNXzWH.js → architectureDiagram-VXUJARFQ-C3TCHsQ1.js} +1 -1
  8. package/dist/assets/{blockDiagram-VD42YOAC-B-z5fhLO.js → blockDiagram-VD42YOAC-DSFIE2zv.js} +1 -1
  9. package/dist/assets/{c4Diagram-YG6GDRKO-D1wRy3rn.js → c4Diagram-YG6GDRKO-BGmtJFyE.js} +1 -1
  10. package/dist/assets/channel-DXSNL_In.js +1 -0
  11. package/dist/assets/{chunk-4BX2VUAB-Ju0iuf5T.js → chunk-4BX2VUAB-DMwZgyny.js} +1 -1
  12. package/dist/assets/{chunk-55IACEB6-BOKBDX1b.js → chunk-55IACEB6-BS2IX41E.js} +1 -1
  13. package/dist/assets/{chunk-B4BG7PRW-DsLx2FWG.js → chunk-B4BG7PRW-B8eM1odI.js} +1 -1
  14. package/dist/assets/{chunk-DI55MBZ5-DVZlU9hx.js → chunk-DI55MBZ5-o67_VCyE.js} +1 -1
  15. package/dist/assets/{chunk-FMBD7UC4-DcibvRDC.js → chunk-FMBD7UC4-BcEYG9iw.js} +1 -1
  16. package/dist/assets/{chunk-QN33PNHL-CNdyoS13.js → chunk-QN33PNHL-DTvKnDBL.js} +1 -1
  17. package/dist/assets/{chunk-QZHKN3VN-B6wDkRFR.js → chunk-QZHKN3VN-Bi5HqsVm.js} +1 -1
  18. package/dist/assets/{chunk-TZMSLE5B-DiRAl639.js → chunk-TZMSLE5B-BthbcwRa.js} +1 -1
  19. package/dist/assets/classDiagram-2ON5EDUG-DF__c9oZ.js +1 -0
  20. package/dist/assets/classDiagram-v2-WZHVMYZB-DF__c9oZ.js +1 -0
  21. package/dist/assets/clone-yzvp7c46.js +1 -0
  22. package/dist/assets/{code-block-37QAKDTI-D0bYQ3tc.js → code-block-37QAKDTI-SzwmDSkS.js} +1 -1
  23. package/dist/assets/{cose-bilkent-S5V4N54A-C7eFSjsi.js → cose-bilkent-S5V4N54A-DbRhVW8y.js} +1 -1
  24. package/dist/assets/{dagre-6UL2VRFP-Chm9A17M.js → dagre-6UL2VRFP-D_VH5kFn.js} +1 -1
  25. package/dist/assets/devopicons-JYBX4xNv.woff2 +0 -0
  26. package/dist/assets/{diagram-PSM6KHXK-CCbDlCx9.js → diagram-PSM6KHXK-BbXozfvF.js} +1 -1
  27. package/dist/assets/{diagram-QEK2KX5R-Dtd49XA6.js → diagram-QEK2KX5R-CI0xoYPG.js} +1 -1
  28. package/dist/assets/{diagram-S2PKOQOG-0K2p7g5b.js → diagram-S2PKOQOG-De1ir5Gb.js} +1 -1
  29. package/dist/assets/{erDiagram-Q2GNP2WA-jqGcgMyf.js → erDiagram-Q2GNP2WA-BFw_wW_L.js} +1 -1
  30. package/dist/assets/file-icons-Byv9wKV-.woff2 +0 -0
  31. package/dist/assets/{flowDiagram-NV44I4VS-Dq-5nSyY.js → flowDiagram-NV44I4VS-DyVvOAX3.js} +1 -1
  32. package/dist/assets/fontawesome-B-jkhYfk.woff2 +0 -0
  33. package/dist/assets/{ganttDiagram-JELNMOA3-I2WySoN5.js → ganttDiagram-JELNMOA3-DTFARGAn.js} +1 -1
  34. package/dist/assets/{gitGraphDiagram-NY62KEGX-B-rqrf_i.js → gitGraphDiagram-NY62KEGX-DnO4UpgE.js} +1 -1
  35. package/dist/assets/{graph-BXq8Vy6g.js → graph-DUzLz0PA.js} +1 -1
  36. package/dist/assets/index-8bAo-Ya1.js +2242 -0
  37. package/dist/assets/index-DpQZDEhA.css +1 -0
  38. package/dist/assets/{infoDiagram-WHAUD3N6-C7RcpAsC.js → infoDiagram-WHAUD3N6-BEUgS7mj.js} +1 -1
  39. package/dist/assets/{journeyDiagram-XKPGCS4Q-CzPy13x7.js → journeyDiagram-XKPGCS4Q-BlNh1zHL.js} +1 -1
  40. package/dist/assets/{kanban-definition-3W4ZIXB7-BwjszvCG.js → kanban-definition-3W4ZIXB7-D4KqvMxd.js} +1 -1
  41. package/dist/assets/{layout-tBkKcjOH.js → layout-C69Vzf47.js} +1 -1
  42. package/dist/assets/mfixx-DfQCz-aF.woff2 +0 -0
  43. package/dist/assets/{min-L_dIkaz8.js → min-BgYUCOZC.js} +1 -1
  44. package/dist/assets/{mindmap-definition-VGOIOE7T-Dv_R0Kzs.js → mindmap-definition-VGOIOE7T-CBfzzNul.js} +1 -1
  45. package/dist/assets/octicons-CS-gsnb3.woff2 +0 -0
  46. package/dist/assets/{pieDiagram-ADFJNKIX-DBdEQqzX.js → pieDiagram-ADFJNKIX-BH4Rg8wz.js} +1 -1
  47. package/dist/assets/{quadrantDiagram-AYHSOK5B-DSe0t1Vr.js → quadrantDiagram-AYHSOK5B-BFz2Bllq.js} +1 -1
  48. package/dist/assets/{requirementDiagram-UZGBJVZJ-DINdLdJg.js → requirementDiagram-UZGBJVZJ-DxdMfd_i.js} +1 -1
  49. package/dist/assets/{sankeyDiagram-TZEHDZUN-ByLK18cs.js → sankeyDiagram-TZEHDZUN-CQZM-FY2.js} +1 -1
  50. package/dist/assets/{sequenceDiagram-WL72ISMW-BtwZoEF6.js → sequenceDiagram-WL72ISMW-DM3FHm-E.js} +1 -1
  51. package/dist/assets/{stateDiagram-FKZM4ZOC-B_dGGh5t.js → stateDiagram-FKZM4ZOC-CquvRUcS.js} +1 -1
  52. package/dist/assets/stateDiagram-v2-4FDKWEC3-fmuxwJig.js +1 -0
  53. package/dist/assets/{timeline-definition-IT6M3QCI-BKq8fAVj.js → timeline-definition-IT6M3QCI-peYNY-nB.js} +1 -1
  54. package/dist/assets/{treemap-KMMF4GRG-DpzypmYP.js → treemap-KMMF4GRG-Cr2QSg6a.js} +1 -1
  55. package/dist/assets/{xychartDiagram-PRI3JC2R-B2nRsBEy.js → xychartDiagram-PRI3JC2R-H327siGT.js} +1 -1
  56. package/dist/{blockDiagram-VD42YOAC-C5CukG0j.js → blockDiagram-VD42YOAC-CAgANapr.js} +5 -5
  57. package/dist/{c4Diagram-YG6GDRKO-D700bLUP.js → c4Diagram-YG6GDRKO-BUw8hNx5.js} +2 -2
  58. package/dist/{channel-Cti7M2bZ.js → channel-CRd-JKjv.js} +1 -1
  59. package/dist/{chunk-4BX2VUAB-CgLsIbqb.js → chunk-4BX2VUAB-6tNpYwPa.js} +1 -1
  60. package/dist/{chunk-55IACEB6-BlgtjLk2.js → chunk-55IACEB6-2hXhhF7j.js} +1 -1
  61. package/dist/{chunk-B4BG7PRW-B0F1XFJz.js → chunk-B4BG7PRW-C-2biLpP.js} +4 -4
  62. package/dist/{chunk-DI55MBZ5-DHtjqtxd.js → chunk-DI55MBZ5-Cp5Rk4Z4.js} +3 -3
  63. package/dist/{chunk-FMBD7UC4-d2R18kU3.js → chunk-FMBD7UC4-MdCVmzo1.js} +1 -1
  64. package/dist/{chunk-QN33PNHL-hc_HFHv7.js → chunk-QN33PNHL-B4huGwhH.js} +1 -1
  65. package/dist/{chunk-QZHKN3VN-DFrM02dn.js → chunk-QZHKN3VN-DBNnz3QF.js} +1 -1
  66. package/dist/{chunk-TZMSLE5B-BKKjuHyU.js → chunk-TZMSLE5B-C0UUeY_R.js} +1 -1
  67. package/dist/{classDiagram-v2-WZHVMYZB-CWBGyk3O.js → classDiagram-2ON5EDUG-CNDoWJPi.js} +2 -2
  68. package/dist/{classDiagram-2ON5EDUG-CWBGyk3O.js → classDiagram-v2-WZHVMYZB-CNDoWJPi.js} +2 -2
  69. package/dist/{clone-C-SjnjM3.js → clone-NOdph9FW.js} +1 -1
  70. package/dist/{cose-bilkent-S5V4N54A-DP3AP0OF.js → cose-bilkent-S5V4N54A-CGzTFBg6.js} +1 -1
  71. package/dist/{dagre-6UL2VRFP-D9e9iL9P.js → dagre-6UL2VRFP-Dbb2Qtkd.js} +5 -5
  72. package/dist/{diagram-PSM6KHXK-BpO0cxRG.js → diagram-PSM6KHXK-BkHIn4Na.js} +4 -4
  73. package/dist/{diagram-QEK2KX5R-CSMfjuPl.js → diagram-QEK2KX5R-C2SOXIsZ.js} +3 -3
  74. package/dist/{diagram-S2PKOQOG-Csx2ehrH.js → diagram-S2PKOQOG-Dhg7S4sS.js} +3 -3
  75. package/dist/{erDiagram-Q2GNP2WA-X4t9tzNA.js → erDiagram-Q2GNP2WA-DNtKi97U.js} +4 -4
  76. package/dist/{flowDiagram-NV44I4VS-JVEdioX6.js → flowDiagram-NV44I4VS-BUqt43hW.js} +5 -5
  77. package/dist/{ganttDiagram-JELNMOA3-BksGSOHP.js → ganttDiagram-JELNMOA3-B2Lg_NoT.js} +2 -2
  78. package/dist/{gitGraph-F6HP7TQM-OK0kClD7.js → gitGraph-F6HP7TQM-CHYr4iss.js} +1 -1
  79. package/dist/{gitGraphDiagram-NY62KEGX-BRpBdTVE.js → gitGraphDiagram-NY62KEGX-opS5iBAi.js} +4 -4
  80. package/dist/{graph-Czb_7a7B.js → graph-C4lFiFlc.js} +2 -2
  81. package/dist/{index-iCTLJvaV.js → index-Y0he5qiC.js} +7101 -7073
  82. package/dist/index.html +2 -2
  83. package/dist/info-NVLQJR56-CtYMindw.js +5 -0
  84. package/dist/{infoDiagram-WHAUD3N6-DWuyY_dJ.js → infoDiagram-WHAUD3N6-jD1UokkI.js} +2 -2
  85. package/dist/{journeyDiagram-XKPGCS4Q-CrnINICH.js → journeyDiagram-XKPGCS4Q-DiH_3HWQ.js} +4 -4
  86. package/dist/{kanban-definition-3W4ZIXB7-64OgHBcl.js → kanban-definition-3W4ZIXB7-Ct8nHz6y.js} +2 -2
  87. package/dist/{layout-Bx4_X9_k.js → layout-BB0ezvOF.js} +4 -4
  88. package/dist/lib/components/files/CodeViewer.d.ts +7 -0
  89. package/dist/lib/components/files/FileExplorer.d.ts +29 -0
  90. package/dist/lib/components/files/FileIcon.d.ts +7 -0
  91. package/dist/lib/components/library/ai-elements/prompt-input.d.ts +1 -0
  92. package/dist/lib/components/library/navigation/back-to-top.d.ts +3 -1
  93. package/dist/lib/components/library/project/project-avatar.d.ts +1 -1
  94. package/dist/lib/components/library/ui/avatar.d.ts +2 -2
  95. package/dist/lib/components/library/ui/input-group.d.ts +1 -1
  96. package/dist/lib/components/searchable-select.d.ts +12 -0
  97. package/dist/lib/components/session-detail-layout.context.d.ts +5 -0
  98. package/dist/lib/components/session-detail-layout.d.ts +1 -0
  99. package/dist/lib/components/session-status-badge.d.ts +9 -0
  100. package/dist/lib/components/sessions/acp-conversation.d.ts +13 -0
  101. package/dist/lib/components/sessions/collapsible-json-log.d.ts +5 -0
  102. package/dist/lib/components/sessions/session-create-dialog.d.ts +1 -5
  103. package/dist/lib/components/sessions/session-duration-badge.d.ts +8 -0
  104. package/dist/lib/components/sessions/session-mode-badge.d.ts +6 -0
  105. package/dist/lib/components/sessions-nav-sidebar.d.ts +6 -0
  106. package/dist/lib/components/shared/back-to-top.d.ts +5 -1
  107. package/dist/lib/components/shared/project-avatar.d.ts +1 -1
  108. package/dist/lib/components/spec-context-attachments.d.ts +26 -0
  109. package/dist/lib/components/spec-search-select.d.ts +8 -0
  110. package/dist/lib/components/specs/board-view.d.ts +1 -1
  111. package/dist/lib/components/specs/list-view.d.ts +1 -1
  112. package/dist/lib/hooks/useSessionsQuery.d.ts +2 -0
  113. package/dist/lib/index.js +1 -1
  114. package/dist/lib/lib/api.d.ts +10 -2
  115. package/dist/lib/lib/backend-adapter/core.d.ts +12 -3
  116. package/dist/lib/lib/backend-adapter/http.d.ts +10 -2
  117. package/dist/lib/lib/backend-adapter/tauri.d.ts +10 -2
  118. package/dist/lib/lib/session-stream.d.ts +15 -0
  119. package/dist/lib/lib/session-utils.d.ts +25 -1
  120. package/dist/lib/locales/en/common.json.d.ts +95 -2
  121. package/dist/lib/locales/zh-CN/common.json.d.ts +68 -2
  122. package/dist/lib/pages/FilesPage.d.ts +5 -0
  123. package/dist/lib/stores/sessions-sidebar.d.ts +19 -0
  124. package/dist/lib/stores/settings-filters.d.ts +4 -0
  125. package/dist/lib/types/api.d.ts +111 -0
  126. package/dist/{linear-D6e8ml0A.js → linear-22T2wQM-.js} +1 -1
  127. package/dist/{mermaid-parser.core-CJoVqMU2.js → mermaid-parser.core-7H2TB5OK.js} +10 -10
  128. package/dist/{min-D0H_bVmw.js → min-CTCa51YR.js} +2 -2
  129. package/dist/{mindmap-definition-VGOIOE7T-c7LG-I9l.js → mindmap-definition-VGOIOE7T-Vr4FAsaw.js} +3 -3
  130. package/dist/{packet-BFZMPI3H-Xg1qsh9M.js → packet-BFZMPI3H-DaHUmEbo.js} +1 -1
  131. package/dist/pie-7BOR55EZ-CdGJxDmJ.js +5 -0
  132. package/dist/{pieDiagram-ADFJNKIX-Dq5FSMbe.js → pieDiagram-ADFJNKIX-B00pZd9u.js} +4 -4
  133. package/dist/{quadrantDiagram-AYHSOK5B-CSC6AaCS.js → quadrantDiagram-AYHSOK5B-CBFHSPbe.js} +2 -2
  134. package/dist/radar-NHE76QYJ-BdSRFNw4.js +5 -0
  135. package/dist/{requirementDiagram-UZGBJVZJ-B1VMLqi1.js → requirementDiagram-UZGBJVZJ-CcWV4kDd.js} +3 -3
  136. package/dist/{sankeyDiagram-TZEHDZUN-5yhAl98J.js → sankeyDiagram-TZEHDZUN-Bh_9B5Is.js} +1 -1
  137. package/dist/{sequenceDiagram-WL72ISMW-BdRUPrKR.js → sequenceDiagram-WL72ISMW-CXSDC0SA.js} +3 -3
  138. package/dist/{stateDiagram-FKZM4ZOC-ieQQjJqa.js → stateDiagram-FKZM4ZOC-BSe9CFeA.js} +4 -4
  139. package/dist/{stateDiagram-v2-4FDKWEC3-CMJV60i9.js → stateDiagram-v2-4FDKWEC3-Ci8JXu6f.js} +2 -2
  140. package/dist/{timeline-definition-IT6M3QCI-CgpuLO53.js → timeline-definition-IT6M3QCI-KvPKQjWb.js} +2 -2
  141. package/dist/{treemap-KMMF4GRG-C-mDpIlT.js → treemap-KMMF4GRG-CQejoiGu.js} +1 -1
  142. package/dist/ui.css +1 -1
  143. package/dist/{xychartDiagram-PRI3JC2R-CQmC0pjv.js → xychartDiagram-PRI3JC2R-BgtmCQ1i.js} +2 -2
  144. package/package.json +3 -2
  145. package/src/index.css +2 -6
  146. package/dist/assets/channel-C1utiKyQ.js +0 -1
  147. package/dist/assets/classDiagram-2ON5EDUG-DHe9K9aJ.js +0 -1
  148. package/dist/assets/classDiagram-v2-WZHVMYZB-DHe9K9aJ.js +0 -1
  149. package/dist/assets/clone-BP5MKGQF.js +0 -1
  150. package/dist/assets/index-CiNlAQ9U.js +0 -2224
  151. package/dist/assets/index-CzAbEYUe.css +0 -1
  152. package/dist/assets/stateDiagram-v2-4FDKWEC3-lqWWS4Yz.js +0 -1
  153. package/dist/info-NVLQJR56-BY80xctL.js +0 -5
  154. package/dist/lib/components/badge-config.d.ts +0 -13
  155. package/dist/pie-7BOR55EZ-DTOFOZjt.js +0 -5
  156. package/dist/radar-NHE76QYJ-C6sDWiPq.js +0 -5
@@ -0,0 +1,15 @@
1
+ import { Session, SessionLog, SessionStreamEvent } from '../types/api';
2
+ export type AcpFilterType = 'messages' | 'thoughts' | 'tools' | 'plan';
3
+ export declare function isAcpSession(session?: Session | null): boolean;
4
+ export declare function parseStreamEventPayload(payload: unknown): SessionStreamEvent | null;
5
+ export declare function parseSessionLog(log: SessionLog): SessionStreamEvent;
6
+ export declare function appendStreamEvent(events: SessionStreamEvent[], next: SessionStreamEvent): SessionStreamEvent[];
7
+ export declare function getAcpFilterType(event: SessionStreamEvent): AcpFilterType | null;
8
+ export declare function getActiveToolCall(events: SessionStreamEvent[]): {
9
+ tool: string;
10
+ id: string;
11
+ } | null;
12
+ export declare function getPlanProgress(events: SessionStreamEvent[]): {
13
+ completed: number;
14
+ total: number;
15
+ } | null;
@@ -1,4 +1,23 @@
1
- import { Session, SessionStatus } from '../types/api';
1
+ import { LucideIcon } from 'lucide-react';
2
+ import { Session, SessionMode, SessionStatus } from '../types/api';
3
+ export interface SessionStatusConfig {
4
+ icon: LucideIcon;
5
+ label: string;
6
+ labelKey: string;
7
+ className: string;
8
+ dotClassName: string;
9
+ }
10
+ /**
11
+ * Session status badge configuration
12
+ * Aligned with spec status badge pattern from badge-config.ts
13
+ */
14
+ export declare const sessionStatusConfig: Record<SessionStatus, SessionStatusConfig>;
15
+ export interface SessionModeConfig {
16
+ icon: LucideIcon;
17
+ label: string;
18
+ labelKey: string;
19
+ }
20
+ export declare const sessionModeConfig: Record<SessionMode, SessionModeConfig>;
2
21
  export declare const SESSION_STATUS_STYLES: Record<SessionStatus, string>;
3
22
  export declare const SESSION_STATUS_DOT_STYLES: Record<SessionStatus, string>;
4
23
  export declare function getSessionDurationMs(session: Session, now?: number): number | null;
@@ -6,3 +25,8 @@ export declare function formatDuration(ms: number): string;
6
25
  export declare function formatSessionDuration(session: Session, now?: number): string | null;
7
26
  export declare function formatTokenCount(tokens?: number | null): string | null;
8
27
  export declare function estimateSessionCost(tokens?: number | null): number | null;
28
+ /**
29
+ * Get translated runner display name, falling back to the raw runner ID
30
+ * with the first letter capitalized.
31
+ */
32
+ export declare function getRunnerDisplayName(runnerId: string, t: (key: string) => string): string;
@@ -20,6 +20,8 @@ declare const _default: {
20
20
  "allSpecifications": "All Specifications",
21
21
  "sessions": "Sessions",
22
22
  "sessionsDescription": "Monitor AI sessions",
23
+ "files": "Files",
24
+ "filesDescription": "Browse project codebase",
23
25
  "dependencyGraph": "Dependency Graph",
24
26
  "analytics": "Analytics",
25
27
  "projectContext": "Project Context",
@@ -122,6 +124,12 @@ declare const _default: {
122
124
  "spec": "Spec",
123
125
  "specId": "Spec ID",
124
126
  "specIdPlaceholder": "Expected Spec ID",
127
+ "prompt": "Initial Prompt",
128
+ "promptPlaceholder": "Optional instructions or context for the AI runner",
129
+ "promptTemplateDefault": "Implement the following specs:\n\n{specs}",
130
+ "promptPreview": "Effective prompt preview",
131
+ "promptPreviewEmpty": "Attach specs or enter a custom prompt to preview what will be sent.",
132
+ "attachSpec": "@ spec",
125
133
  "noSpec": "No spec",
126
134
  "tokens": "Tokens",
127
135
  "cost": "Estimated cost",
@@ -130,12 +138,44 @@ declare const _default: {
130
138
  "unknownTime": "Unknown",
131
139
  "autoScroll": "Auto-scroll",
132
140
  "logs": "Logs",
141
+ "plan": "Plan",
142
+ "protocolAcp": "ACP",
143
+ "protocolCli": "CLI",
144
+ "activeTool": "Tool: {{tool}}",
145
+ "planProgress": "Plan: {{completed}}/{{total}}",
133
146
  "completed": "Completed"
134
147
  },
135
148
  "modes": {
136
149
  "autonomous": "Autonomous",
137
150
  "guided": "Guided",
138
- "ralph": "Ralph"
151
+ "ralph": "Ralph (deprecated)"
152
+ },
153
+ "runners": {
154
+ "claude": "Claude",
155
+ "copilot": "GitHub Copilot",
156
+ "codex": "Codex",
157
+ "opencode": "OpenCode",
158
+ "aider": "Aider",
159
+ "cline": "Cline",
160
+ "gemini": "Gemini",
161
+ "cursor": "Cursor",
162
+ "windsurf": "Windsurf",
163
+ "droid": "Droid",
164
+ "kiro": "Kiro",
165
+ "kimi": "Kimi",
166
+ "qodo": "Qodo",
167
+ "amp": "Amp",
168
+ "trae": "Trae",
169
+ "qwen-code": "Qwen Code",
170
+ "goose": "Goose",
171
+ "openhands": "OpenHands",
172
+ "continue": "Continue",
173
+ "crush": "Crush",
174
+ "roo": "Roo",
175
+ "codebuddy": "CodeBuddy",
176
+ "kilo": "Kilo",
177
+ "augment": "Augment",
178
+ "antigravity": "Antigravity"
139
179
  },
140
180
  "select": {
141
181
  "placeholder": "Select...",
@@ -154,6 +194,12 @@ declare const _default: {
154
194
  "load": "Failed to load sessions.",
155
195
  "create": "Failed to create session.",
156
196
  "noProjectPath": "Project path missing for this workspace."
197
+ },
198
+ "permissions": {
199
+ "allow_once": "Allow once",
200
+ "allow_always": "Always allow",
201
+ "reject": "Reject",
202
+ "responding": "Sending response..."
157
203
  }
158
204
  },
159
205
  "sessionsPage": {
@@ -197,7 +243,21 @@ declare const _default: {
197
243
  "logsDescription": "Streaming output from this session.",
198
244
  "filters": {
199
245
  "search": "Search logs",
200
- "autoScroll": "Auto-scroll"
246
+ "autoScroll": "Auto-scroll",
247
+ "acp": {
248
+ "messages": "Messages",
249
+ "thoughts": "Thoughts",
250
+ "tools": "Tool Calls",
251
+ "plan": "Plan"
252
+ }
253
+ },
254
+ "displayMode": {
255
+ "messages": "Messages",
256
+ "verbose": "Verbose"
257
+ },
258
+ "actions": {
259
+ "download": "Download logs as file",
260
+ "copyLogs": "Copy logs to clipboard"
201
261
  },
202
262
  "state": {
203
263
  "notFoundTitle": "Session unavailable",
@@ -283,6 +343,8 @@ declare const _default: {
283
343
  "toggleModelSettings": "Toggle model settings",
284
344
  "openChat": "Open AI Chat",
285
345
  "openFullChat": "Full Chat",
346
+ "attachSpec": "@ spec",
347
+ "specContextPrefix": "Use the following specs as context:",
286
348
  "toolExecution": {
287
349
  "status": {
288
350
  "failed": "Failed",
@@ -651,6 +713,7 @@ declare const _default: {
651
713
  "filters": {
652
714
  "status": "Status",
653
715
  "showUnavailable": "Show unavailable",
716
+ "showIdeRunners": "Show IDE runners",
654
717
  "source": "Source",
655
718
  "allSources": "All Sources",
656
719
  "builtin": "Built-in",
@@ -824,6 +887,12 @@ declare const _default: {
824
887
  "collapse": "Collapse sidebar",
825
888
  "expand": "Expand sidebar"
826
889
  },
890
+ "sessionsSidebar": {
891
+ "searchPlaceholder": "Search sessions...",
892
+ "noResults": "No sessions found",
893
+ "collapse": "Collapse sidebar",
894
+ "expand": "Expand sidebar"
895
+ },
827
896
  "specsNavSidebar": {
828
897
  "title": "Specifications",
829
898
  "searchPlaceholder": "Search specs...",
@@ -902,6 +971,8 @@ declare const _default: {
902
971
  "hideArchived": "Hide archived",
903
972
  "settings": "Settings",
904
973
  "filteredCount": "{{filtered}} of {{total}} specs",
974
+ "showingAll": "Showing all {{count}} sessions",
975
+ "showingFiltered": "Showing {{count}} of {{total}} sessions",
905
976
  "sortOptions": {
906
977
  "id-desc": "Newest First",
907
978
  "id-asc": "Oldest First",
@@ -1416,6 +1487,28 @@ declare const _default: {
1416
1487
  "website": "Website",
1417
1488
  "support": "Support"
1418
1489
  }
1490
+ },
1491
+ "filesPage": {
1492
+ "title": "Files",
1493
+ "description": "Browse source code files in your project.",
1494
+ "loading": "Loading files...",
1495
+ "loadingFile": "Loading file...",
1496
+ "emptyDirectory": "This directory is empty.",
1497
+ "selectFile": "Select a file to view its contents.",
1498
+ "binaryFile": "Binary files cannot be displayed.",
1499
+ "fileTooLarge": "File is too large to display (max 1 MB).",
1500
+ "lines": "{{count}} lines",
1501
+ "bytes": "{{size}} bytes",
1502
+ "copyPath": "Copy path",
1503
+ "pathCopied": "Path copied!",
1504
+ "searchPlaceholder": "Search files...",
1505
+ "clearSearch": "Clear search",
1506
+ "noSearchResults": "No files match your search.",
1507
+ "closeTab": "Close tab",
1508
+ "errors": {
1509
+ "loadFailed": "Failed to load directory.",
1510
+ "fileFailed": "Failed to load file."
1511
+ }
1419
1512
  }
1420
1513
  };
1421
1514
 
@@ -17,6 +17,8 @@ declare const _default: {
17
17
  "allSpecifications": "所有规范",
18
18
  "sessions": "会话",
19
19
  "sessionsDescription": "监控 AI 会话",
20
+ "files": "文件",
21
+ "filesDescription": "浏览项目代码库",
20
22
  "dependencyGraph": "依赖图",
21
23
  "analytics": "数据分析",
22
24
  "projectContext": "项目上下文",
@@ -119,6 +121,12 @@ declare const _default: {
119
121
  "spec": "规范",
120
122
  "specId": "规范 ID",
121
123
  "specIdPlaceholder": "输入规范 ID",
124
+ "prompt": "初始提示词",
125
+ "promptPlaceholder": "为 AI 运行器提供的可选指令或上下文",
126
+ "promptTemplateDefault": "实现以下规范:\n\n{specs}",
127
+ "promptPreview": "实际发送提示预览",
128
+ "promptPreviewEmpty": "添加规范或输入自定义提示后可预览发送内容。",
129
+ "attachSpec": "@ 规范",
122
130
  "noSpec": "未关联规范",
123
131
  "tokens": "令牌",
124
132
  "cost": "预估费用",
@@ -127,12 +135,17 @@ declare const _default: {
127
135
  "unknownTime": "未知",
128
136
  "autoScroll": "自动滚动",
129
137
  "logs": "日志",
138
+ "plan": "计划",
139
+ "protocolAcp": "ACP",
140
+ "protocolCli": "CLI",
141
+ "activeTool": "工具:{{tool}}",
142
+ "planProgress": "计划:{{completed}}/{{total}}",
130
143
  "completed": "已完成"
131
144
  },
132
145
  "modes": {
133
146
  "autonomous": "自主",
134
147
  "guided": "引导",
135
- "ralph": "Ralph"
148
+ "ralph": "Ralph(已弃用)"
136
149
  },
137
150
  "select": {
138
151
  "placeholder": "选择...",
@@ -151,6 +164,12 @@ declare const _default: {
151
164
  "load": "加载会话失败。",
152
165
  "create": "创建会话失败。",
153
166
  "noProjectPath": "当前工作区缺少项目路径。"
167
+ },
168
+ "permissions": {
169
+ "allow_once": "允许一次",
170
+ "allow_always": "始终允许",
171
+ "reject": "拒绝",
172
+ "responding": "正在发送响应..."
154
173
  }
155
174
  },
156
175
  "sessionsPage": {
@@ -194,7 +213,21 @@ declare const _default: {
194
213
  "logsDescription": "来自该会话的实时输出。",
195
214
  "filters": {
196
215
  "search": "搜索日志",
197
- "autoScroll": "自动滚动"
216
+ "autoScroll": "自动滚动",
217
+ "acp": {
218
+ "messages": "消息",
219
+ "thoughts": "思考",
220
+ "tools": "工具调用",
221
+ "plan": "计划"
222
+ }
223
+ },
224
+ "displayMode": {
225
+ "messages": "消息",
226
+ "verbose": "详细"
227
+ },
228
+ "actions": {
229
+ "download": "下载日志文件",
230
+ "copyLogs": "复制日志到剪贴板"
198
231
  },
199
232
  "state": {
200
233
  "notFoundTitle": "会话不可用",
@@ -280,6 +313,8 @@ declare const _default: {
280
313
  "toggleModelSettings": "切换模型设置",
281
314
  "openChat": "打开 AI 聊天",
282
315
  "openFullChat": "完整聊天",
316
+ "attachSpec": "@ 规范",
317
+ "specContextPrefix": "请将以下规范作为上下文:",
283
318
  "toolExecution": {
284
319
  "status": {
285
320
  "failed": "失败",
@@ -651,6 +686,7 @@ declare const _default: {
651
686
  "filters": {
652
687
  "status": "状态",
653
688
  "showUnavailable": "显示不可用",
689
+ "showIdeRunners": "显示 IDE 运行器",
654
690
  "source": "来源",
655
691
  "allSources": "全部来源",
656
692
  "builtin": "内置",
@@ -824,6 +860,12 @@ declare const _default: {
824
860
  "collapse": "收起侧边栏",
825
861
  "expand": "展开侧边栏"
826
862
  },
863
+ "sessionsSidebar": {
864
+ "searchPlaceholder": "搜索会话...",
865
+ "noResults": "没有匹配的会话",
866
+ "collapse": "收起侧边栏",
867
+ "expand": "展开侧边栏"
868
+ },
827
869
  "specsNavSidebar": {
828
870
  "title": "规范列表",
829
871
  "searchPlaceholder": "搜索规范...",
@@ -902,6 +944,8 @@ declare const _default: {
902
944
  "hideArchived": "隐藏已归档",
903
945
  "settings": "设置",
904
946
  "filteredCount": "{{filtered}} / {{total}} 个规范",
947
+ "showingAll": "显示全部 {{count}} 个会话",
948
+ "showingFiltered": "显示 {{count}} / {{total}} 个会话",
905
949
  "sortOptions": {
906
950
  "id-desc": "最新优先",
907
951
  "id-asc": "最早优先",
@@ -1415,6 +1459,28 @@ declare const _default: {
1415
1459
  "website": "网站",
1416
1460
  "support": "支持"
1417
1461
  }
1462
+ },
1463
+ "filesPage": {
1464
+ "title": "文件",
1465
+ "description": "浏览项目源代码文件。",
1466
+ "loading": "加载文件中...",
1467
+ "loadingFile": "加载文件内容...",
1468
+ "emptyDirectory": "此目录为空。",
1469
+ "selectFile": "选择文件以查看其内容。",
1470
+ "binaryFile": "无法显示二进制文件。",
1471
+ "fileTooLarge": "文件过大,无法显示(最大 1 MB)。",
1472
+ "lines": "{{count}} 行",
1473
+ "bytes": "{{size}} 字节",
1474
+ "copyPath": "复制路径",
1475
+ "pathCopied": "路径已复制!",
1476
+ "searchPlaceholder": "搜索文件...",
1477
+ "clearSearch": "清除搜索",
1478
+ "noSearchResults": "没有匹配的文件。",
1479
+ "closeTab": "关闭标签",
1480
+ "errors": {
1481
+ "loadFailed": "加载目录失败。",
1482
+ "fileFailed": "加载文件失败。"
1483
+ }
1418
1484
  }
1419
1485
  };
1420
1486
 
@@ -0,0 +1,5 @@
1
+ /**
2
+ * FilesPage - VS Code-like codebase browser
3
+ * Spec 246 - Codebase File Viewing in @leanspec/ui
4
+ */
5
+ export declare function FilesPage(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,19 @@
1
+ interface SessionsSidebarState {
2
+ collapsed: boolean;
3
+ setCollapsed: (collapsed: boolean) => void;
4
+ toggleCollapsed: () => void;
5
+ }
6
+ export declare const useSessionsSidebarStore: import('zustand').UseBoundStore<Omit<import('zustand').StoreApi<SessionsSidebarState>, "setState" | "persist"> & {
7
+ setState(partial: SessionsSidebarState | Partial<SessionsSidebarState> | ((state: SessionsSidebarState) => SessionsSidebarState | Partial<SessionsSidebarState>), replace?: false | undefined): unknown;
8
+ setState(state: SessionsSidebarState | ((state: SessionsSidebarState) => SessionsSidebarState), replace: true): unknown;
9
+ persist: {
10
+ setOptions: (options: Partial<import('zustand/middleware').PersistOptions<SessionsSidebarState, unknown, unknown>>) => void;
11
+ clearStorage: () => void;
12
+ rehydrate: () => Promise<void> | void;
13
+ hasHydrated: () => boolean;
14
+ onHydrate: (fn: (state: SessionsSidebarState) => void) => () => void;
15
+ onFinishHydration: (fn: (state: SessionsSidebarState) => void) => () => void;
16
+ getOptions: () => Partial<import('zustand/middleware').PersistOptions<SessionsSidebarState, unknown, unknown>>;
17
+ };
18
+ }>;
19
+ export {};
@@ -36,10 +36,12 @@ interface RunnerFiltersState {
36
36
  searchQuery: string;
37
37
  sortBy: RunnerSortOption;
38
38
  showUnavailable: boolean;
39
+ showIdeRunners: boolean;
39
40
  sourceFilter: RunnerSourceFilter;
40
41
  setSearchQuery: (query: string) => void;
41
42
  setSortBy: (sort: RunnerSortOption) => void;
42
43
  setShowUnavailable: (show: boolean) => void;
44
+ setShowIdeRunners: (show: boolean) => void;
43
45
  setSourceFilter: (filter: RunnerSourceFilter) => void;
44
46
  resetFilters: () => void;
45
47
  }
@@ -51,6 +53,7 @@ export declare const useRunnerFiltersStore: import('zustand').UseBoundStore<Omit
51
53
  searchQuery: string;
52
54
  sortBy: RunnerSortOption;
53
55
  showUnavailable: boolean;
56
+ showIdeRunners: boolean;
54
57
  sourceFilter: RunnerSourceFilter;
55
58
  }, unknown>>) => void;
56
59
  clearStorage: () => void;
@@ -62,6 +65,7 @@ export declare const useRunnerFiltersStore: import('zustand').UseBoundStore<Omit
62
65
  searchQuery: string;
63
66
  sortBy: RunnerSortOption;
64
67
  showUnavailable: boolean;
68
+ showIdeRunners: boolean;
65
69
  sourceFilter: RunnerSourceFilter;
66
70
  }, unknown>>;
67
71
  };
@@ -4,7 +4,9 @@ export type SpecPriority = UiSpecPriority;
4
4
  export type TokenStatus = 'optimal' | 'good' | 'warning' | 'critical';
5
5
  export type ValidationStatus = 'pass' | 'warn' | 'fail';
6
6
  export type SessionStatus = 'pending' | 'running' | 'paused' | 'completed' | 'failed' | 'cancelled';
7
+ /** @deprecated 'ralph' is deprecated and kept only for backward-compatibility with existing sessions */
7
8
  export type SessionMode = 'guided' | 'autonomous' | 'ralph';
9
+ export type SessionProtocol = 'acp' | 'subprocess';
8
10
  export type SubSpec = UiSubSpec & {
9
11
  file?: string;
10
12
  name?: string;
@@ -31,14 +33,27 @@ export type SpecDetail = UiSpecWithMetadata & {
31
33
  export interface Session {
32
34
  id: string;
33
35
  projectPath: string;
36
+ specIds: string[];
37
+ /** @deprecated Use specIds instead. Returns first spec ID for backward compatibility. */
34
38
  specId?: string | null;
39
+ prompt?: string | null;
35
40
  runner: string;
36
41
  mode: SessionMode;
42
+ protocol?: SessionProtocol | null;
37
43
  status: SessionStatus;
38
44
  startedAt: string;
39
45
  endedAt?: string | null;
40
46
  durationMs?: number | null;
41
47
  tokenCount?: number | null;
48
+ activeToolCall?: {
49
+ id?: string;
50
+ tool: string;
51
+ status: 'running' | 'completed' | 'failed';
52
+ } | null;
53
+ planProgress?: {
54
+ completed: number;
55
+ total: number;
56
+ } | null;
42
57
  }
43
58
  export type RunnerSource = 'builtin' | 'global' | 'project';
44
59
  export interface RunnerDefinition {
@@ -63,6 +78,9 @@ export interface RunnerValidateResponse {
63
78
  valid: boolean;
64
79
  error?: string | null;
65
80
  }
81
+ export interface RunnerVersionResponse {
82
+ version?: string | null;
83
+ }
66
84
  export type RunnerScope = 'project' | 'global';
67
85
  export interface SessionLog {
68
86
  id: number;
@@ -70,6 +88,62 @@ export interface SessionLog {
70
88
  level: string;
71
89
  message: string;
72
90
  }
91
+ export type AcpToolCallStatus = 'running' | 'completed' | 'failed';
92
+ export type AcpPlanEntryStatus = 'pending' | 'running' | 'done';
93
+ export type SessionStreamEvent = {
94
+ type: 'log';
95
+ timestamp: string;
96
+ level: string;
97
+ message: string;
98
+ } | {
99
+ type: 'acp_message';
100
+ timestamp?: string;
101
+ role: 'agent' | 'user';
102
+ content: string;
103
+ done: boolean;
104
+ contentBlocks?: unknown[];
105
+ rawContent?: unknown;
106
+ } | {
107
+ type: 'acp_thought';
108
+ timestamp?: string;
109
+ content: string;
110
+ done: boolean;
111
+ contentBlocks?: unknown[];
112
+ rawContent?: unknown;
113
+ } | {
114
+ type: 'acp_tool_call';
115
+ timestamp?: string;
116
+ id: string;
117
+ tool: string;
118
+ args: Record<string, unknown>;
119
+ status: AcpToolCallStatus;
120
+ result?: unknown;
121
+ rawContent?: unknown;
122
+ } | {
123
+ type: 'acp_plan';
124
+ timestamp?: string;
125
+ entries: Array<{
126
+ id: string;
127
+ title: string;
128
+ status: AcpPlanEntryStatus;
129
+ }>;
130
+ done?: boolean;
131
+ } | {
132
+ type: 'acp_permission_request';
133
+ timestamp?: string;
134
+ id: string;
135
+ tool: string;
136
+ args: Record<string, unknown>;
137
+ options: string[];
138
+ } | {
139
+ type: 'acp_mode_update';
140
+ timestamp?: string;
141
+ mode: string;
142
+ } | {
143
+ type: 'complete';
144
+ status: string;
145
+ duration_ms: number;
146
+ };
73
147
  export interface SessionArchiveResult {
74
148
  path: string;
75
149
  }
@@ -222,12 +296,16 @@ export interface ListParams {
222
296
  priority?: string;
223
297
  tag?: string;
224
298
  search?: string;
299
+ limit?: number;
300
+ offset?: number;
301
+ cursor?: string;
225
302
  /** When true, server returns pre-built hierarchy tree for performance */
226
303
  hierarchy?: boolean;
227
304
  }
228
305
  export interface ListSpecsResponse {
229
306
  specs: Spec[];
230
307
  total: number;
308
+ nextCursor?: string;
231
309
  projectId?: string;
232
310
  /** Pre-built hierarchy tree (only when hierarchy=true query param) */
233
311
  hierarchy?: HierarchyNode[];
@@ -292,3 +370,36 @@ export interface SpecMetadata {
292
370
  export interface BatchMetadataResponse {
293
371
  specs: Record<string, SpecMetadata>;
294
372
  }
373
+ export type FileEntryType = 'file' | 'directory';
374
+ export interface FileEntry {
375
+ name: string;
376
+ type: FileEntryType;
377
+ /** Size in bytes – only for files */
378
+ size?: number;
379
+ /** Whether this entry is ignored by .gitignore */
380
+ ignored?: boolean;
381
+ }
382
+ export interface FileListResponse {
383
+ path: string;
384
+ entries: FileEntry[];
385
+ }
386
+ export interface FileContentResponse {
387
+ path: string;
388
+ content: string;
389
+ language: string;
390
+ size: number;
391
+ lineCount: number;
392
+ }
393
+ export interface FileSearchEntry {
394
+ name: string;
395
+ path: string;
396
+ type: FileEntryType;
397
+ /** Size in bytes – only for files */
398
+ size?: number;
399
+ /** Whether this entry is ignored by .gitignore */
400
+ ignored?: boolean;
401
+ }
402
+ export interface FileSearchResponse {
403
+ query: string;
404
+ results: FileSearchEntry[];
405
+ }
@@ -1,4 +1,4 @@
1
- import { aK as j, aL as p, aM as w, aN as q, aO as k } from "./index-iCTLJvaV.js";
1
+ import { aK as j, aL as p, aM as w, aN as q, aO as k } from "./index-Y0he5qiC.js";
2
2
  import { i as D } from "./init-DjUOC4st.js";
3
3
  import { e as M, f as F, a as z, b as B } from "./defaultLocale-D7EN2tov.js";
4
4
  function g(n, r) {
@@ -1,6 +1,6 @@
1
- import { m as st, f as Sd, d as kd } from "./min-D0H_bVmw.js";
2
- import { b as Id, l as Cd, d as wd, m as Nd, r as Co, n as Rs } from "./_baseUniq-0KC2LwTU.js";
3
- import { b8 as _d } from "./index-iCTLJvaV.js";
1
+ import { m as st, f as Sd, d as kd } from "./min-CTCa51YR.js";
2
+ import { b as Id, l as Cd, d as wd, m as Nd, r as Co, n as Rs } from "./_baseUniq-BTv7M834.js";
3
+ import { b8 as _d } from "./index-Y0he5qiC.js";
4
4
  function bd(t, e) {
5
5
  return Id(st(t, e));
6
6
  }
@@ -14111,31 +14111,31 @@ function Mx(t = St) {
14111
14111
  A(Mx, "createTreemapServices");
14112
14112
  var nt = {}, Dx = {
14113
14113
  info: /* @__PURE__ */ A(async () => {
14114
- const { createInfoServices: t } = await import("./info-NVLQJR56-BY80xctL.js"), e = t().Info.parser.LangiumParser;
14114
+ const { createInfoServices: t } = await import("./info-NVLQJR56-CtYMindw.js"), e = t().Info.parser.LangiumParser;
14115
14115
  nt.info = e;
14116
14116
  }, "info"),
14117
14117
  packet: /* @__PURE__ */ A(async () => {
14118
- const { createPacketServices: t } = await import("./packet-BFZMPI3H-Xg1qsh9M.js"), e = t().Packet.parser.LangiumParser;
14118
+ const { createPacketServices: t } = await import("./packet-BFZMPI3H-DaHUmEbo.js"), e = t().Packet.parser.LangiumParser;
14119
14119
  nt.packet = e;
14120
14120
  }, "packet"),
14121
14121
  pie: /* @__PURE__ */ A(async () => {
14122
- const { createPieServices: t } = await import("./pie-7BOR55EZ-DTOFOZjt.js"), e = t().Pie.parser.LangiumParser;
14122
+ const { createPieServices: t } = await import("./pie-7BOR55EZ-CdGJxDmJ.js"), e = t().Pie.parser.LangiumParser;
14123
14123
  nt.pie = e;
14124
14124
  }, "pie"),
14125
14125
  architecture: /* @__PURE__ */ A(async () => {
14126
- const { createArchitectureServices: t } = await import("./architecture-U656AL7Q-Dvz3aEBf.js"), e = t().Architecture.parser.LangiumParser;
14126
+ const { createArchitectureServices: t } = await import("./architecture-U656AL7Q-DL2Qaesc.js"), e = t().Architecture.parser.LangiumParser;
14127
14127
  nt.architecture = e;
14128
14128
  }, "architecture"),
14129
14129
  gitGraph: /* @__PURE__ */ A(async () => {
14130
- const { createGitGraphServices: t } = await import("./gitGraph-F6HP7TQM-OK0kClD7.js"), e = t().GitGraph.parser.LangiumParser;
14130
+ const { createGitGraphServices: t } = await import("./gitGraph-F6HP7TQM-CHYr4iss.js"), e = t().GitGraph.parser.LangiumParser;
14131
14131
  nt.gitGraph = e;
14132
14132
  }, "gitGraph"),
14133
14133
  radar: /* @__PURE__ */ A(async () => {
14134
- const { createRadarServices: t } = await import("./radar-NHE76QYJ-C6sDWiPq.js"), e = t().Radar.parser.LangiumParser;
14134
+ const { createRadarServices: t } = await import("./radar-NHE76QYJ-BdSRFNw4.js"), e = t().Radar.parser.LangiumParser;
14135
14135
  nt.radar = e;
14136
14136
  }, "radar"),
14137
14137
  treemap: /* @__PURE__ */ A(async () => {
14138
- const { createTreemapServices: t } = await import("./treemap-KMMF4GRG-C-mDpIlT.js"), e = t().Treemap.parser.LangiumParser;
14138
+ const { createTreemapServices: t } = await import("./treemap-KMMF4GRG-CQejoiGu.js"), e = t().Treemap.parser.LangiumParser;
14139
14139
  nt.treemap = e;
14140
14140
  }, "treemap")
14141
14141
  };
@@ -1,5 +1,5 @@
1
- import { b, a as m, c as d, d as h, i as l } from "./_baseUniq-0KC2LwTU.js";
2
- import { aD as g, aE as o, aF as p } from "./index-iCTLJvaV.js";
1
+ import { b, a as m, c as d, d as h, i as l } from "./_baseUniq-BTv7M834.js";
2
+ import { aD as g, aE as o, aF as p } from "./index-Y0he5qiC.js";
3
3
  function L(a) {
4
4
  var n = a == null ? 0 : a.length;
5
5
  return n ? b(a) : [];
@@ -1,6 +1,6 @@
1
- import { g as le } from "./chunk-55IACEB6-BlgtjLk2.js";
2
- import { s as he } from "./chunk-QN33PNHL-hc_HFHv7.js";
3
- import { _ as l, l as C, o as de, r as ge, F, c as W, i as V, aC as ue, W as pe, X as fe, Y as ye } from "./index-iCTLJvaV.js";
1
+ import { g as le } from "./chunk-55IACEB6-2hXhhF7j.js";
2
+ import { s as he } from "./chunk-QN33PNHL-B4huGwhH.js";
3
+ import { _ as l, l as C, o as de, r as ge, F, c as W, i as V, aC as ue, W as pe, X as fe, Y as ye } from "./index-Y0he5qiC.js";
4
4
  const E = [];
5
5
  for (let t = 0; t < 256; ++t)
6
6
  E.push((t + 256).toString(16).slice(1));
@@ -1,4 +1,4 @@
1
- import { P as c, a as r } from "./mermaid-parser.core-CJoVqMU2.js";
1
+ import { P as c, a as r } from "./mermaid-parser.core-7H2TB5OK.js";
2
2
  export {
3
3
  c as PacketModule,
4
4
  r as createPacketServices
@@ -0,0 +1,5 @@
1
+ import { b as a, d as i } from "./mermaid-parser.core-7H2TB5OK.js";
2
+ export {
3
+ a as PieModule,
4
+ i as createPieServices
5
+ };