@leanspec/ui 0.2.28-dev.23044283727 → 0.3.0

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 (195) hide show
  1. package/dist/{_baseUniq-DeCRnh20.js → _baseUniq-Cfpafgc0.js} +1 -1
  2. package/dist/{arc-C7Ja-5dr.js → arc-Ch9WDeqx.js} +1 -1
  3. package/dist/{architecture-U656AL7Q-KasuNmTK.js → architecture-U656AL7Q-BMkAcamw.js} +1 -1
  4. package/dist/{architectureDiagram-VXUJARFQ-CzHvPXJk.js → architectureDiagram-VXUJARFQ-B2kiuB6l.js} +3 -3
  5. package/dist/assets/ChatSettingsPage-BNkUWXD7.js +1 -0
  6. package/dist/assets/ContextPage-BXFBa390.js +14 -0
  7. package/dist/assets/{DashboardPage-D5roDkxO.js → DashboardPage-DG3o4y5K.js} +1 -1
  8. package/dist/assets/DependenciesPage-CAJX6zmQ.js +2 -0
  9. package/dist/assets/{FilesPage-u613OfDX.js → FilesPage-E9VTXi3O.js} +3 -3
  10. package/dist/assets/SessionDetailPage-DsFv3UaN.js +4 -0
  11. package/dist/assets/SessionsPage-BJQkApgV.js +1 -0
  12. package/dist/assets/SpecDetailPage-NxlrFJ3X.js +3 -0
  13. package/dist/assets/SpecsPage-D7dH4bxd.js +1 -0
  14. package/dist/assets/StatsPage-DcDN3p4C.js +36 -0
  15. package/dist/assets/{_baseUniq-B_33F2hD.js → _baseUniq-BLwGRN9T.js} +1 -1
  16. package/dist/assets/{arc-eeGjCukK.js → arc-D46jVWXL.js} +1 -1
  17. package/dist/assets/architectureDiagram-VXUJARFQ-GKb1fnPC.js +36 -0
  18. package/dist/assets/blockDiagram-VD42YOAC-BAeW8TcZ.js +122 -0
  19. package/dist/assets/c4Diagram-YG6GDRKO-DsCDxNEY.js +10 -0
  20. package/dist/assets/channel-BCohFlQD.js +1 -0
  21. package/dist/assets/chunk-4BX2VUAB--jRtR2Gx.js +1 -0
  22. package/dist/assets/{chunk-55IACEB6-C8ucnnQR.js → chunk-55IACEB6-CK4VujpY.js} +1 -1
  23. package/dist/assets/{chunk-B4BG7PRW-DwNhZZ7r.js → chunk-B4BG7PRW-CpmnmzRV.js} +6 -6
  24. package/dist/assets/chunk-DI55MBZ5-g0bpnDBm.js +220 -0
  25. package/dist/assets/{chunk-FMBD7UC4-BuW1I-fC.js → chunk-FMBD7UC4-DrlucdFf.js} +1 -1
  26. package/dist/assets/chunk-QN33PNHL-Di9WxIWk.js +1 -0
  27. package/dist/assets/{chunk-QZHKN3VN-Dqa4tmK4.js → chunk-QZHKN3VN-DQ-Hq4Ek.js} +1 -1
  28. package/dist/assets/{chunk-TZMSLE5B-djzRrJuy.js → chunk-TZMSLE5B-Cdg6dOwb.js} +1 -1
  29. package/dist/assets/classDiagram-2ON5EDUG-BB3bs3WS.js +1 -0
  30. package/dist/assets/classDiagram-v2-WZHVMYZB-BB3bs3WS.js +1 -0
  31. package/dist/assets/clone-BFGeeEUV.js +1 -0
  32. package/dist/assets/{code-block-37QAKDTI-AYxzHYF3.js → code-block-37QAKDTI-B_yBCn5T.js} +1 -1
  33. package/dist/assets/cose-bilkent-S5V4N54A-BMhRWD7P.js +1 -0
  34. package/dist/assets/cytoscape.esm-Boq4YasU.js +321 -0
  35. package/dist/assets/dagre-6UL2VRFP-BI8xXpYB.js +4 -0
  36. package/dist/assets/diagram-PSM6KHXK-DqSGGlhJ.js +24 -0
  37. package/dist/assets/diagram-QEK2KX5R-CIjtZbdl.js +43 -0
  38. package/dist/assets/diagram-S2PKOQOG-CKt9XoCU.js +24 -0
  39. package/dist/assets/{erDiagram-Q2GNP2WA-C4TTAGaG.js → erDiagram-Q2GNP2WA-BRSo0yH7.js} +4 -4
  40. package/dist/assets/flowDiagram-NV44I4VS-BthSoz_o.js +162 -0
  41. package/dist/assets/{funnel-x-BvY4n8AU.js → funnel-x-B9PkB_Ch.js} +1 -1
  42. package/dist/assets/{ganttDiagram-JELNMOA3-DPd-3uLN.js → ganttDiagram-JELNMOA3-CNwbRK5k.js} +1 -1
  43. package/dist/assets/gitGraphDiagram-NY62KEGX-BNGeVHTR.js +65 -0
  44. package/dist/assets/{graph-9MjkFnGf.js → graph-DadEESFe.js} +1 -1
  45. package/dist/assets/index-CENAb10b.js +2187 -0
  46. package/dist/assets/index-Dw2Hz3j4.css +1 -0
  47. package/dist/assets/{info-RxIWhHbS.js → info-DW259gfi.js} +1 -1
  48. package/dist/assets/{infoDiagram-WHAUD3N6-BEa020kA.js → infoDiagram-WHAUD3N6-CeJF3upx.js} +1 -1
  49. package/dist/assets/{journeyDiagram-XKPGCS4Q-mAbpJFG8.js → journeyDiagram-XKPGCS4Q-Dr67Preg.js} +1 -1
  50. package/dist/assets/kanban-definition-3W4ZIXB7-DpwQotp4.js +89 -0
  51. package/dist/assets/{layout-BOFaVoue.js → layout-4MguctiF.js} +1 -1
  52. package/dist/assets/{linear-xUbiORsA.js → linear-IgIsApJd.js} +1 -1
  53. package/dist/assets/{min-eHwPCINR.js → min-s8C1gLFb.js} +1 -1
  54. package/dist/assets/mindmap-definition-VGOIOE7T-DFKUH7eJ.js +68 -0
  55. package/dist/assets/{page-transition-dCsDSjnv.js → page-transition-2ToPXqzU.js} +1 -1
  56. package/dist/assets/pieDiagram-ADFJNKIX-BpyrOtAX.js +30 -0
  57. package/dist/assets/quadrantDiagram-AYHSOK5B-CAuPRVrk.js +7 -0
  58. package/dist/assets/{refresh-ccw-DGe62KT5.js → refresh-ccw-A4xr5yc-.js} +1 -1
  59. package/dist/assets/{requirementDiagram-UZGBJVZJ-DOBz3Rdv.js → requirementDiagram-UZGBJVZJ-eokL0bzi.js} +7 -7
  60. package/dist/assets/sankeyDiagram-TZEHDZUN-B2hHsE_f.js +10 -0
  61. package/dist/assets/{sequenceDiagram-WL72ISMW-ByPYmOvZ.js → sequenceDiagram-WL72ISMW-Clj8c0qS.js} +16 -16
  62. package/dist/assets/{session-mode-badge-DCssJwfh.js → session-mode-badge-C89NgahF.js} +1 -1
  63. package/dist/assets/{stat-card-ic_H-ddZ.js → stat-card-DV-CrlHv.js} +1 -1
  64. package/dist/assets/{stateDiagram-FKZM4ZOC-W833g5qw.js → stateDiagram-FKZM4ZOC-B4OFkmnx.js} +1 -1
  65. package/dist/assets/stateDiagram-v2-4FDKWEC3-XElvWSPn.js +1 -0
  66. package/dist/assets/{table-of-contents-B4pUXfVp.js → table-of-contents-DXTiOsyr.js} +1 -1
  67. package/dist/assets/{time-s4hpWI0y.js → time-D3zosL_G.js} +1 -1
  68. package/dist/assets/timeline-definition-IT6M3QCI-Y7w9Ot5X.js +61 -0
  69. package/dist/assets/treemap-KMMF4GRG-DS1ewDz-.js +128 -0
  70. package/dist/assets/{trending-up-Bp_uZ6i5.js → trending-up-D4zFB2hx.js} +1 -1
  71. package/dist/assets/{validation-badge-B9E1wcwj.js → validation-badge-BPbTJ9B4.js} +1 -1
  72. package/dist/assets/{xychartDiagram-PRI3JC2R-Cj3LJwsf.js → xychartDiagram-PRI3JC2R-DTRIkv2x.js} +1 -1
  73. package/dist/{blockDiagram-VD42YOAC-DRN0jNqr.js → blockDiagram-VD42YOAC-BJR0FCnk.js} +5 -5
  74. package/dist/{c4Diagram-YG6GDRKO-CBxJIsoM.js → c4Diagram-YG6GDRKO-Bt0Epxwp.js} +2 -2
  75. package/dist/{channel-C2ap0mKj.js → channel-Dk7mWM0A.js} +1 -1
  76. package/dist/{chunk-4BX2VUAB-CZFPLiei.js → chunk-4BX2VUAB-ByHqqe_a.js} +1 -1
  77. package/dist/{chunk-55IACEB6-CF8NKj4_.js → chunk-55IACEB6-C6Rm-yNH.js} +1 -1
  78. package/dist/{chunk-B4BG7PRW-C3jkgdyU.js → chunk-B4BG7PRW-B7fIUqxs.js} +4 -4
  79. package/dist/{chunk-DI55MBZ5-D0hqaHNM.js → chunk-DI55MBZ5-qLuPk8Gl.js} +3 -3
  80. package/dist/{chunk-FMBD7UC4-BMvRco5D.js → chunk-FMBD7UC4-Bgxdan8l.js} +1 -1
  81. package/dist/{chunk-QN33PNHL-D8WFPrQ5.js → chunk-QN33PNHL-BkO_Xn3V.js} +1 -1
  82. package/dist/{chunk-QZHKN3VN-BBkUib8s.js → chunk-QZHKN3VN-m08GnZpm.js} +1 -1
  83. package/dist/{chunk-TZMSLE5B-CArYpbwP.js → chunk-TZMSLE5B-DvK9Nkqp.js} +1 -1
  84. package/dist/{classDiagram-v2-WZHVMYZB-BCig139j.js → classDiagram-2ON5EDUG-DCzOVBP6.js} +2 -2
  85. package/dist/{classDiagram-2ON5EDUG-BCig139j.js → classDiagram-v2-WZHVMYZB-DCzOVBP6.js} +2 -2
  86. package/dist/{clone-DPyGLWtv.js → clone-BpfNWUZj.js} +1 -1
  87. package/dist/{cose-bilkent-S5V4N54A-C5SYwGsk.js → cose-bilkent-S5V4N54A-BpjQClp_.js} +1 -1
  88. package/dist/{dagre-6UL2VRFP-C8I3plmM.js → dagre-6UL2VRFP-Br_w0Y4b.js} +5 -5
  89. package/dist/{diagram-PSM6KHXK-cXC7AIdZ.js → diagram-PSM6KHXK-reYm7V8l.js} +4 -4
  90. package/dist/{diagram-QEK2KX5R-CXNiTV6f.js → diagram-QEK2KX5R-DrEPfuxO.js} +3 -3
  91. package/dist/{diagram-S2PKOQOG-CxGzqgZF.js → diagram-S2PKOQOG-vRL82AgB.js} +3 -3
  92. package/dist/{erDiagram-Q2GNP2WA-CcY6lgTn.js → erDiagram-Q2GNP2WA-DrANUeXv.js} +4 -4
  93. package/dist/{flowDiagram-NV44I4VS-12EmxlpA.js → flowDiagram-NV44I4VS-lzqrgi2-.js} +5 -5
  94. package/dist/{ganttDiagram-JELNMOA3-pNkGSHoM.js → ganttDiagram-JELNMOA3-Box6Sn7f.js} +2 -2
  95. package/dist/{gitGraph-F6HP7TQM-DUrKWg_A.js → gitGraph-F6HP7TQM-ww-U1ysL.js} +1 -1
  96. package/dist/{gitGraphDiagram-NY62KEGX-BXO3EwIS.js → gitGraphDiagram-NY62KEGX-CtgGW6L9.js} +4 -4
  97. package/dist/{graph-D813u3VC.js → graph-Csrlu3OG.js} +2 -2
  98. package/dist/{index-ChBmztZR.js → index-DSZdQoC5.js} +4107 -4094
  99. package/dist/index.html +13 -3
  100. package/dist/info-NVLQJR56-DdSoNNwK.js +5 -0
  101. package/dist/{infoDiagram-WHAUD3N6-DLh94vHX.js → infoDiagram-WHAUD3N6-B4cHYKqw.js} +2 -2
  102. package/dist/{journeyDiagram-XKPGCS4Q-CXPtgCeQ.js → journeyDiagram-XKPGCS4Q-CNZRK4ng.js} +4 -4
  103. package/dist/{kanban-definition-3W4ZIXB7-CdIz6-22.js → kanban-definition-3W4ZIXB7-DVYPrMkR.js} +2 -2
  104. package/dist/{layout-cIjTHX6V.js → layout-qhjDJGCt.js} +4 -4
  105. package/dist/lib/components/library/ui/index.d.ts +1 -0
  106. package/dist/lib/components/library/ui/label.d.ts +3 -0
  107. package/dist/lib/components/projects/create-project-dialog.d.ts +2 -1
  108. package/dist/lib/components/projects/git-import-dialog.d.ts +6 -0
  109. package/dist/lib/components/projects/git-import-form.d.ts +6 -0
  110. package/dist/lib/components/root-redirect.d.ts +1 -1
  111. package/dist/lib/hooks/useCapabilities.d.ts +180 -0
  112. package/dist/lib/index.js +350 -349
  113. package/dist/lib/lib/api.d.ts +10 -0
  114. package/dist/lib/lib/backend-adapter/core.d.ts +12 -2
  115. package/dist/lib/lib/backend-adapter/http.d.ts +11 -1
  116. package/dist/lib/lib/backend-adapter/tauri.d.ts +11 -1
  117. package/dist/lib/locales/en/common.json.d.ts +2 -2
  118. package/dist/lib/locales/zh-CN/common.json.d.ts +2 -2
  119. package/dist/lib/types/api.d.ts +29 -2
  120. package/dist/lib/types/generated/AdapterCapabilities.d.ts +18 -0
  121. package/dist/lib/types/generated/CompletableItem.d.ts +15 -0
  122. package/dist/lib/types/generated/EnumOption.d.ts +16 -0
  123. package/dist/lib/types/generated/FieldDef.d.ts +28 -0
  124. package/dist/lib/types/generated/FieldDisplay.d.ts +4 -0
  125. package/dist/lib/types/generated/FieldKind.d.ts +46 -0
  126. package/dist/lib/types/generated/FieldValue.d.ts +32 -0
  127. package/dist/lib/types/generated/ItemLink.d.ts +17 -0
  128. package/dist/lib/types/generated/LinkTypeDef.d.ts +11 -0
  129. package/dist/lib/types/generated/MetadataFieldSpec.d.ts +28 -0
  130. package/dist/lib/types/generated/MetadataKind.d.ts +17 -0
  131. package/dist/lib/types/generated/MetadataValue.d.ts +26 -0
  132. package/dist/lib/types/generated/Reference.d.ts +8 -0
  133. package/dist/lib/types/generated/SearchHit.d.ts +8 -0
  134. package/dist/lib/types/generated/SemanticHint.d.ts +4 -0
  135. package/dist/lib/types/generated/SpecDoc.d.ts +30 -0
  136. package/dist/lib/types/generated/SpecItem.d.ts +48 -0
  137. package/dist/lib/types/generated/SpecSchema.d.ts +25 -0
  138. package/dist/{linear-2z6avE3r.js → linear-BEsG2XDl.js} +1 -1
  139. package/dist/{mermaid-parser.core-WMnVe1c0.js → mermaid-parser.core-DI0P4xje.js} +10 -10
  140. package/dist/{min-DUysNg_V.js → min-BrWJCoG9.js} +2 -2
  141. package/dist/{mindmap-definition-VGOIOE7T-DEm273Z9.js → mindmap-definition-VGOIOE7T-BG1ZbSXN.js} +3 -3
  142. package/dist/{packet-BFZMPI3H-CmSJj4N0.js → packet-BFZMPI3H-0R4cyXFa.js} +1 -1
  143. package/dist/pie-7BOR55EZ-CBC6Vnp9.js +5 -0
  144. package/dist/{pieDiagram-ADFJNKIX-Ke8r-mM4.js → pieDiagram-ADFJNKIX-Bq3pEiUt.js} +4 -4
  145. package/dist/{quadrantDiagram-AYHSOK5B-DLLlZTBr.js → quadrantDiagram-AYHSOK5B-CJCCPwac.js} +2 -2
  146. package/dist/radar-NHE76QYJ-R7FbU2R0.js +5 -0
  147. package/dist/{requirementDiagram-UZGBJVZJ-BR4B8eTH.js → requirementDiagram-UZGBJVZJ-CEFnCGpg.js} +3 -3
  148. package/dist/{sankeyDiagram-TZEHDZUN-pDGOsl6Q.js → sankeyDiagram-TZEHDZUN-vRgejrr7.js} +1 -1
  149. package/dist/{sequenceDiagram-WL72ISMW-yt5mqXYT.js → sequenceDiagram-WL72ISMW-Bn_-xqGS.js} +3 -3
  150. package/dist/{stateDiagram-FKZM4ZOC-C-huUZaG.js → stateDiagram-FKZM4ZOC-D1wpTHL-.js} +4 -4
  151. package/dist/{stateDiagram-v2-4FDKWEC3-CSzbVv4p.js → stateDiagram-v2-4FDKWEC3-DZ6_hPx3.js} +2 -2
  152. package/dist/{timeline-definition-IT6M3QCI-DOzsM3OK.js → timeline-definition-IT6M3QCI-sxhKRCeY.js} +2 -2
  153. package/dist/{treemap-KMMF4GRG-DGnMOcp3.js → treemap-KMMF4GRG-BAGKypyB.js} +1 -1
  154. package/dist/ui.css +1 -1
  155. package/dist/{xychartDiagram-PRI3JC2R-C-4j16qj.js → xychartDiagram-PRI3JC2R-BvZs2fIv.js} +2 -2
  156. package/package.json +2 -2
  157. package/dist/assets/ChatSettingsPage-Dg4b6Mdg.js +0 -1
  158. package/dist/assets/ContextPage-DLKsvbaY.js +0 -14
  159. package/dist/assets/DependenciesPage-BlTgal-s.js +0 -2
  160. package/dist/assets/SessionDetailPage-CmisG8OY.js +0 -4
  161. package/dist/assets/SessionsPage-Ov5FSlG0.js +0 -1
  162. package/dist/assets/SpecDetailPage-BSMc3nst.js +0 -3
  163. package/dist/assets/SpecsPage-Cj6pRfOw.js +0 -1
  164. package/dist/assets/StatsPage-fmGNHIOe.js +0 -36
  165. package/dist/assets/architectureDiagram-VXUJARFQ-Byc0dVxO.js +0 -36
  166. package/dist/assets/blockDiagram-VD42YOAC-B8mIUKCH.js +0 -122
  167. package/dist/assets/c4Diagram-YG6GDRKO-DddzPdre.js +0 -10
  168. package/dist/assets/channel-DlZlZmTt.js +0 -1
  169. package/dist/assets/chunk-4BX2VUAB-4RrLP-cY.js +0 -1
  170. package/dist/assets/chunk-DI55MBZ5-orfhja3l.js +0 -220
  171. package/dist/assets/chunk-QN33PNHL-BaA5PO8k.js +0 -1
  172. package/dist/assets/classDiagram-2ON5EDUG-C2Yf3yFU.js +0 -1
  173. package/dist/assets/classDiagram-v2-WZHVMYZB-C2Yf3yFU.js +0 -1
  174. package/dist/assets/clone-D-4UeXFh.js +0 -1
  175. package/dist/assets/cose-bilkent-S5V4N54A-Cnp1eSFl.js +0 -1
  176. package/dist/assets/cytoscape.esm-5J0xJHOV.js +0 -321
  177. package/dist/assets/dagre-6UL2VRFP-CIAWAhQL.js +0 -4
  178. package/dist/assets/diagram-PSM6KHXK-CPeehxEt.js +0 -24
  179. package/dist/assets/diagram-QEK2KX5R-4rkmVp8d.js +0 -43
  180. package/dist/assets/diagram-S2PKOQOG-CHZnsBbD.js +0 -24
  181. package/dist/assets/flowDiagram-NV44I4VS-C9c1GVlY.js +0 -162
  182. package/dist/assets/gitGraphDiagram-NY62KEGX-Drq0KNG5.js +0 -65
  183. package/dist/assets/index-DX91j_KV.css +0 -1
  184. package/dist/assets/index-DoWWshr8.js +0 -2187
  185. package/dist/assets/kanban-definition-3W4ZIXB7-BbUqw1vO.js +0 -89
  186. package/dist/assets/mindmap-definition-VGOIOE7T-DoP6Td_B.js +0 -68
  187. package/dist/assets/pieDiagram-ADFJNKIX-Dp_SBNAy.js +0 -30
  188. package/dist/assets/quadrantDiagram-AYHSOK5B-D6Jp00F5.js +0 -7
  189. package/dist/assets/sankeyDiagram-TZEHDZUN-Bz7vjGqd.js +0 -10
  190. package/dist/assets/stateDiagram-v2-4FDKWEC3-CwLThngZ.js +0 -1
  191. package/dist/assets/timeline-definition-IT6M3QCI-B3f6ZKjd.js +0 -61
  192. package/dist/assets/treemap-KMMF4GRG-CkWhJIwZ.js +0 -128
  193. package/dist/info-NVLQJR56-DBBp-UIi.js +0 -5
  194. package/dist/pie-7BOR55EZ-x5AF7tG5.js +0 -5
  195. package/dist/radar-NHE76QYJ-CIhcw_Rm.js +0 -5
@@ -29,6 +29,16 @@ declare class ProjectAPI {
29
29
  deleteProject: (projectId: string) => Promise<void>;
30
30
  validateProject: (projectId: string) => Promise<import('./backend-adapter').ProjectValidationResponse>;
31
31
  listDirectory: (path?: string) => Promise<import('./backend-adapter').DirectoryListResponse>;
32
+ detectGitSpecs: (repo: string, branch?: string) => Promise<import('./backend-adapter').GitDetectResult | null>;
33
+ importGitRepo: (repo: string, opts?: {
34
+ branch?: string;
35
+ specsPath?: string;
36
+ name?: string;
37
+ }) => Promise<import('./backend-adapter').GitImportResult>;
38
+ syncGitProject: (projectId: string) => Promise<{
39
+ projectId: string;
40
+ syncedSpecs: number;
41
+ }>;
32
42
  getContextFiles: () => Promise<import('./backend-adapter').ContextFileListItem[]>;
33
43
  getContextFile: (path: string) => Promise<import('./backend-adapter').ContextFileContent>;
34
44
  getProjectContext(): Promise<import('../types/api').ProjectContext>;
@@ -1,4 +1,4 @@
1
- import { BatchMetadataResponse, ContextFileContent, ContextFileListItem, DependencyGraph, DirectoryListResponse, FileContentResponse, FileListResponse, FileSearchResponse, ListParams, Spec, SpecDetail, Stats, Project, ProjectStatsResponse, ProjectValidationResponse, ProjectsResponse, ListSpecsResponse, ProjectContext, MachinesResponse, Session, SessionArchiveResult, SessionEvent, SessionLog, SessionMode, SpecTokenResponse, SpecValidationResponse, SpecSearchFilters, SpecSearchResponse, RunnerDefinition, RunnerListResponse, RunnerScope, RunnerValidateResponse, RunnerVersionResponse } from '../../types/api';
1
+ import { BatchMetadataResponse, ContextFileContent, ContextFileListItem, DependencyGraph, DirectoryListResponse, FileContentResponse, FileListResponse, FileSearchResponse, ListParams, Spec, SpecDetail, Stats, Project, ProjectStatsResponse, ProjectValidationResponse, ProjectsResponse, ListSpecsResponse, ProjectContext, MachinesResponse, Session, SessionArchiveResult, SessionEvent, SessionLog, SessionMode, SpecTokenResponse, SpecValidationResponse, SpecSearchFilters, SpecSearchResponse, RunnerDefinition, RunnerListResponse, RunnerScope, RunnerValidateResponse, RunnerVersionResponse, GitDetectResult, GitImportResult } from '../../types/api';
2
2
  import { ChatConfig } from '../../types/chat-config';
3
3
  import { ModelsRegistryResponse } from '../../types/models-registry';
4
4
  export interface ChatStorageInfo {
@@ -160,5 +160,15 @@ export interface BackendAdapter {
160
160
  getProjectFiles(projectId: string, path?: string): Promise<FileListResponse>;
161
161
  getProjectFile(projectId: string, path: string): Promise<FileContentResponse>;
162
162
  searchProjectFiles(projectId: string, query: string, limit?: number): Promise<FileSearchResponse>;
163
+ detectGitSpecs(repo: string, branch?: string): Promise<GitDetectResult | null>;
164
+ importGitRepo(repo: string, opts?: {
165
+ branch?: string;
166
+ specsPath?: string;
167
+ name?: string;
168
+ }): Promise<GitImportResult>;
169
+ syncGitProject(projectId: string): Promise<{
170
+ projectId: string;
171
+ syncedSpecs: number;
172
+ }>;
163
173
  }
164
- export type { BatchMetadataResponse, ContextFileContent, ContextFileListItem, DependencyGraph, DirectoryListResponse, ListParams, Spec, SpecDetail, Stats, Project, ProjectStatsResponse, ProjectValidationResponse, ProjectsResponse, ListSpecsResponse, ProjectContext, MachinesResponse, Session, SessionArchiveResult, SessionEvent, SessionLog, SessionMode, SpecTokenResponse, SpecValidationResponse, RunnerDefinition, RunnerListResponse, RunnerScope, RunnerValidateResponse, RunnerVersionResponse, ChatConfig, ModelsRegistryResponse, FileListResponse, FileContentResponse, FileSearchResponse, SpecSearchFilters, SpecSearchResponse, };
174
+ export type { BatchMetadataResponse, ContextFileContent, ContextFileListItem, DependencyGraph, DirectoryListResponse, ListParams, Spec, SpecDetail, Stats, Project, ProjectStatsResponse, ProjectValidationResponse, ProjectsResponse, ListSpecsResponse, ProjectContext, MachinesResponse, Session, SessionArchiveResult, SessionEvent, SessionLog, SessionMode, SpecTokenResponse, SpecValidationResponse, RunnerDefinition, RunnerListResponse, RunnerScope, RunnerValidateResponse, RunnerVersionResponse, ChatConfig, ModelsRegistryResponse, FileListResponse, FileContentResponse, FileSearchResponse, SpecSearchFilters, SpecSearchResponse, GitDetectResult, GitImportResult, };
@@ -1,4 +1,4 @@
1
- import { BackendAdapter, BatchMetadataResponse, ChatStorageInfo, ContextFileContent, ContextFileListItem, DependencyGraph, DirectoryListResponse, FileContentResponse, FileListResponse, FileSearchResponse, ListParams, Spec, SpecDetail, Stats, Project, ProjectValidationResponse, ProjectsResponse, ListSpecsResponse, ProjectContext, MachinesResponse, Session, SessionArchiveResult, SessionEvent, SessionLog, SessionMode, SpecTokenResponse, SpecValidationResponse, SpecSearchFilters, SpecSearchResponse, RunnerDefinition, RunnerListResponse, RunnerScope, RunnerValidateResponse, RunnerVersionResponse, ChatConfig, ModelsRegistryResponse } from './core';
1
+ import { BackendAdapter, BatchMetadataResponse, ChatStorageInfo, ContextFileContent, ContextFileListItem, DependencyGraph, DirectoryListResponse, FileContentResponse, FileListResponse, FileSearchResponse, ListParams, Spec, SpecDetail, Stats, Project, ProjectValidationResponse, ProjectsResponse, ListSpecsResponse, ProjectContext, MachinesResponse, Session, SessionArchiveResult, SessionEvent, SessionLog, SessionMode, SpecTokenResponse, SpecValidationResponse, SpecSearchFilters, SpecSearchResponse, RunnerDefinition, RunnerListResponse, RunnerScope, RunnerValidateResponse, RunnerVersionResponse, ChatConfig, ModelsRegistryResponse, GitDetectResult, GitImportResult } from './core';
2
2
  /**
3
3
  * HTTP adapter for web browser - connects to Rust HTTP server
4
4
  */
@@ -140,4 +140,14 @@ export declare class HttpBackendAdapter implements BackendAdapter {
140
140
  getProjectFiles(projectId: string, path?: string): Promise<FileListResponse>;
141
141
  getProjectFile(projectId: string, path: string): Promise<FileContentResponse>;
142
142
  searchProjectFiles(projectId: string, query: string, limit?: number): Promise<FileSearchResponse>;
143
+ detectGitSpecs(repo: string, branch?: string): Promise<GitDetectResult | null>;
144
+ importGitRepo(repo: string, opts?: {
145
+ branch?: string;
146
+ specsPath?: string;
147
+ name?: string;
148
+ }): Promise<GitImportResult>;
149
+ syncGitProject(projectId: string): Promise<{
150
+ projectId: string;
151
+ syncedSpecs: number;
152
+ }>;
143
153
  }
@@ -1,4 +1,4 @@
1
- import { BackendAdapter, BatchMetadataResponse, ContextFileContent, ContextFileListItem, DependencyGraph, DirectoryListResponse, FileContentResponse, FileListResponse, FileSearchResponse, ListParams, Spec, SpecDetail, Stats, Project, ProjectValidationResponse, ProjectsResponse, ListSpecsResponse, ProjectContext, MachinesResponse, Session, SessionArchiveResult, SessionEvent, SessionLog, SessionMode, ChatConfig, ChatStorageInfo, ModelsRegistryResponse, SpecTokenResponse, SpecValidationResponse, SpecSearchFilters, SpecSearchResponse, RunnerDefinition, RunnerListResponse, RunnerScope, RunnerValidateResponse, RunnerVersionResponse } from './core';
1
+ import { BackendAdapter, BatchMetadataResponse, ContextFileContent, ContextFileListItem, DependencyGraph, DirectoryListResponse, FileContentResponse, FileListResponse, FileSearchResponse, ListParams, Spec, SpecDetail, Stats, Project, ProjectValidationResponse, ProjectsResponse, ListSpecsResponse, ProjectContext, MachinesResponse, Session, SessionArchiveResult, SessionEvent, SessionLog, SessionMode, ChatConfig, ChatStorageInfo, ModelsRegistryResponse, SpecTokenResponse, SpecValidationResponse, SpecSearchFilters, SpecSearchResponse, RunnerDefinition, RunnerListResponse, RunnerScope, RunnerValidateResponse, RunnerVersionResponse, GitDetectResult, GitImportResult } from './core';
2
2
  /**
3
3
  * Tauri adapter for desktop app - uses IPC commands
4
4
  */
@@ -135,4 +135,14 @@ export declare class TauriBackendAdapter implements BackendAdapter {
135
135
  getProjectFile(projectId: string, path: string): Promise<FileContentResponse>;
136
136
  searchProjectFiles(projectId: string, query: string, limit?: number): Promise<FileSearchResponse>;
137
137
  searchSpecs(projectId: string, query: string, filters?: SpecSearchFilters): Promise<SpecSearchResponse>;
138
+ detectGitSpecs(_repo: string, _branch?: string): Promise<GitDetectResult | null>;
139
+ importGitRepo(_repo: string, _opts?: {
140
+ branch?: string;
141
+ specsPath?: string;
142
+ name?: string;
143
+ }): Promise<GitImportResult>;
144
+ syncGitProject(_projectId: string): Promise<{
145
+ projectId: string;
146
+ syncedSpecs: number;
147
+ }>;
138
148
  }
@@ -1219,7 +1219,7 @@ declare const _default: {
1219
1219
  "title": "Configuration",
1220
1220
  "description": "LeanSpec project configuration and settings",
1221
1221
  "empty": "No configuration found",
1222
- "suggestion": "Run 'lean-spec init' to create a config file"
1222
+ "suggestion": "Run 'leanspec init' to create a config file"
1223
1223
  },
1224
1224
  "docs": {
1225
1225
  "title": "Project Documentation",
@@ -1231,7 +1231,7 @@ declare const _default: {
1231
1231
  "emptyState": {
1232
1232
  "title": "No project context found",
1233
1233
  "description": "This project doesn't have any context files yet. Context files help AI agents understand your project better.",
1234
- "suggestion": "Start by creating AGENTS.md or running 'lean-spec init'"
1234
+ "suggestion": "Start by creating AGENTS.md or running 'leanspec init'"
1235
1235
  },
1236
1236
  "search": {
1237
1237
  "noMatchesTitle": "No matches found",
@@ -1218,7 +1218,7 @@ declare const _default: {
1218
1218
  "title": "配置",
1219
1219
  "description": "LeanSpec 项目配置与设置",
1220
1220
  "empty": "没有找到配置文件",
1221
- "suggestion": "运行 'lean-spec init' 生成配置文件"
1221
+ "suggestion": "运行 'leanspec init' 生成配置文件"
1222
1222
  },
1223
1223
  "docs": {
1224
1224
  "title": "项目文档",
@@ -1230,7 +1230,7 @@ declare const _default: {
1230
1230
  "emptyState": {
1231
1231
  "title": "未检测到项目上下文",
1232
1232
  "description": "该项目暂未配置任何上下文文件,AI Agent 无法了解项目背景。",
1233
- "suggestion": "先创建 AGENTS.md 或执行 'lean-spec init'"
1233
+ "suggestion": "先创建 AGENTS.md 或执行 'leanspec init'"
1234
1234
  },
1235
1235
  "search": {
1236
1236
  "noMatchesTitle": "未找到匹配项",
@@ -212,14 +212,41 @@ export interface Project {
212
212
  description?: string | null;
213
213
  isFeatured?: boolean;
214
214
  lastAccessed?: string | Date | null;
215
- githubOwner?: string;
216
- githubRepo?: string;
215
+ source?: 'local' | 'git';
216
+ git?: {
217
+ remoteUrl: string;
218
+ branch: string;
219
+ specsPath: string;
220
+ lastSynced?: string | null;
221
+ } | null;
217
222
  }
218
223
  export interface ProjectsResponse {
219
224
  projects?: Project[];
220
225
  recentProjects?: string[];
221
226
  favoriteProjects?: string[];
222
227
  }
228
+ export interface DetectedSpec {
229
+ path: string;
230
+ title?: string | null;
231
+ status?: string | null;
232
+ priority?: string | null;
233
+ }
234
+ export interface GitDetectResult {
235
+ remoteUrl?: string;
236
+ repo?: string;
237
+ branch: string;
238
+ specsDir: string;
239
+ specCount: number;
240
+ specs: DetectedSpec[];
241
+ }
242
+ export interface GitImportResult {
243
+ projectId: string;
244
+ projectName: string;
245
+ repo: string;
246
+ branch: string;
247
+ specsPath: string;
248
+ syncedSpecs: number;
249
+ }
223
250
  export interface ProjectValidationResult {
224
251
  isValid: boolean;
225
252
  error?: string | null;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Operational capabilities of an adapter plus its default schema reference.
3
+ */
4
+ export type AdapterCapabilities = {
5
+ /**
6
+ * Human-readable adapter name, e.g. `"markdown"`, `"github"`, `"ado"`.
7
+ */
8
+ name: string;
9
+ supports_create: boolean;
10
+ supports_update: boolean;
11
+ supports_delete: boolean;
12
+ supports_search: boolean;
13
+ supports_webhooks: boolean;
14
+ /**
15
+ * The schema id documents returned by this adapter conform to by default.
16
+ */
17
+ default_schema: string;
18
+ };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * One item in a checklist or criterion list.
3
+ */
4
+ export type CompletableItem = {
5
+ /**
6
+ * Stable id for traced criteria; `None` for plain checklist items.
7
+ */
8
+ id: string | null;
9
+ /**
10
+ * Reference to a Duhem verification descriptor (traced mode only).
11
+ */
12
+ ref_id: string | null;
13
+ text: string;
14
+ checked: boolean;
15
+ };
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Rich option for an [`Enum`](FieldKind::Enum) field.
3
+ */
4
+ export type EnumOption = {
5
+ /**
6
+ * Machine-stable identifier stored in `SpecDoc::fields`.
7
+ */
8
+ value: string;
9
+ /**
10
+ * Human-readable label.
11
+ */
12
+ label: string;
13
+ color: string | null;
14
+ icon: string | null;
15
+ description: string | null;
16
+ };
@@ -0,0 +1,28 @@
1
+ import { FieldDisplay } from './FieldDisplay';
2
+ import { FieldKind } from './FieldKind';
3
+ /**
4
+ * Declaration of one field in a [`SpecSchema`].
5
+ *
6
+ * Covers both metadata panel fields (`display: Inline`) and body sections
7
+ * (`display: Section`). There is no separate `SectionDef` — the two concepts
8
+ * are unified here.
9
+ */
10
+ export type FieldDef = {
11
+ /**
12
+ * Machine-stable key — matches a key in [`SpecDoc::fields`].
13
+ */
14
+ key: string;
15
+ label: string;
16
+ kind: FieldKind;
17
+ display: FieldDisplay;
18
+ required: boolean;
19
+ /**
20
+ * Open semantic tag. Use constants from the [`semantic`] module.
21
+ */
22
+ semantic: string | null;
23
+ /**
24
+ * Hint for AI field-filling — describes what should go in this field.
25
+ */
26
+ ai_hint: string | null;
27
+ placeholder: string | null;
28
+ };
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Where a field is rendered in the UI.
3
+ */
4
+ export type FieldDisplay = "inline" | "section";
@@ -0,0 +1,46 @@
1
+ import { EnumOption } from './EnumOption';
2
+ /**
3
+ * The primitive type of a field's value.
4
+ *
5
+ * Carries no semantic meaning — semantics live in [`FieldDef::semantic`] and
6
+ * in YAML schema bundles. This is the Rust type vocabulary, kept minimal so
7
+ * new field shapes can be added without changing the enum.
8
+ */
9
+ export type FieldKind = {
10
+ "kind": "text";
11
+ } | {
12
+ "kind": "long_text";
13
+ } | {
14
+ "kind": "number";
15
+ } | {
16
+ "kind": "bool";
17
+ } | {
18
+ "kind": "timestamp";
19
+ } | {
20
+ "kind": "enum";
21
+ /**
22
+ * Static options defined in the schema.
23
+ */
24
+ options: Array<EnumOption>;
25
+ /**
26
+ * `true` → multi-select, `false` → single-select.
27
+ */
28
+ multi: boolean;
29
+ /**
30
+ * Allows values outside `options` (free-form labels / tags).
31
+ */
32
+ allow_custom: boolean;
33
+ /**
34
+ * Options are resolved at runtime via `Adapter::resolve_schema`.
35
+ */
36
+ dynamic: boolean;
37
+ } | {
38
+ "kind": "checklist";
39
+ /**
40
+ * Items carry stable `id` and `ref_id` linking to Duhem VDs.
41
+ */
42
+ traced: boolean;
43
+ } | {
44
+ "kind": "references";
45
+ multi: boolean;
46
+ };
@@ -0,0 +1,32 @@
1
+ import { CompletableItem } from './CompletableItem';
2
+ import { Reference } from './Reference';
3
+ /**
4
+ * A field value stored inside a [`SpecDoc`].
5
+ *
6
+ * [`FieldValue::Strings`] covers single-select (len 1), multi-select (len N),
7
+ * and free-form string lists (tags). There is no `Null` variant: an absent
8
+ * key in [`SpecDoc::fields`] means the field is not set. Use
9
+ * [`UpdateRequest::clear`] to explicitly remove a field.
10
+ */
11
+ export type FieldValue = {
12
+ "kind": "string";
13
+ "value": string;
14
+ } | {
15
+ "kind": "number";
16
+ "value": number;
17
+ } | {
18
+ "kind": "bool";
19
+ "value": boolean;
20
+ } | {
21
+ "kind": "timestamp";
22
+ "value": string;
23
+ } | {
24
+ "kind": "strings";
25
+ "value": Array<string>;
26
+ } | {
27
+ "kind": "checklist";
28
+ "value": Array<CompletableItem>;
29
+ } | {
30
+ "kind": "references";
31
+ "value": Array<Reference>;
32
+ };
@@ -0,0 +1,17 @@
1
+ /**
2
+ * A relationship between two spec items.
3
+ */
4
+ export type ItemLink = {
5
+ /**
6
+ * Link type key as declared in [`SpecSchema::link_types`].
7
+ */
8
+ link_type: string;
9
+ /**
10
+ * Adapter-native id of the linked item.
11
+ */
12
+ target_id: string;
13
+ /**
14
+ * Cached title of the target (populated at read time, not stored on disk).
15
+ */
16
+ target_title: string | null;
17
+ };
@@ -0,0 +1,11 @@
1
+ /**
2
+ * A directed or undirected link type between spec items.
3
+ *
4
+ * Directedness is inferred: `inverse_key.is_some()` ⇒ directed.
5
+ */
6
+ export type LinkTypeDef = {
7
+ key: string;
8
+ label: string;
9
+ inverse_key: string | null;
10
+ inverse_label: string | null;
11
+ };
@@ -0,0 +1,28 @@
1
+ import { MetadataKind } from './MetadataKind';
2
+ import { SemanticHint } from './SemanticHint';
3
+ /**
4
+ * Declaration of one metadata field an adapter supports.
5
+ */
6
+ export type MetadataFieldSpec = {
7
+ /**
8
+ * The field key as stored in [`SpecItem::metadata`].
9
+ */
10
+ key: string;
11
+ /**
12
+ * A short human-readable label.
13
+ */
14
+ label: string;
15
+ /**
16
+ * The value shape.
17
+ */
18
+ kind: MetadataKind;
19
+ /**
20
+ * Whether the adapter requires this field on create.
21
+ */
22
+ required: boolean;
23
+ /**
24
+ * Optional semantic tag that lets generic commands locate the field
25
+ * without hard-coding `key`.
26
+ */
27
+ semantic: SemanticHint | null;
28
+ };
@@ -0,0 +1,17 @@
1
+ /**
2
+ * What kind of data a metadata field accepts.
3
+ */
4
+ export type MetadataKind = {
5
+ "kind": "text";
6
+ } | {
7
+ "kind": "enum";
8
+ values: Array<string>;
9
+ } | {
10
+ "kind": "string_list";
11
+ } | {
12
+ "kind": "bool";
13
+ } | {
14
+ "kind": "number";
15
+ } | {
16
+ "kind": "timestamp";
17
+ };
@@ -0,0 +1,26 @@
1
+ /**
2
+ * A value carried in a [`SpecItem`]'s `metadata` map.
3
+ *
4
+ * Adjacently tagged (`{"kind": "...", "value": ...}`) so the JSON wire
5
+ * format round-trips unambiguously — otherwise a `Timestamp` (serialized
6
+ * as an ISO-8601 string) would be indistinguishable from a plain `String`
7
+ * on deserialize.
8
+ */
9
+ export type MetadataValue = {
10
+ "kind": "null";
11
+ } | {
12
+ "kind": "string";
13
+ "value": string;
14
+ } | {
15
+ "kind": "bool";
16
+ "value": boolean;
17
+ } | {
18
+ "kind": "number";
19
+ "value": number;
20
+ } | {
21
+ "kind": "string_list";
22
+ "value": Array<string>;
23
+ } | {
24
+ "kind": "timestamp";
25
+ "value": string;
26
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * A typed reference to another spec item or external resource.
3
+ */
4
+ export type Reference = {
5
+ id: string;
6
+ title: string | null;
7
+ url: string | null;
8
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * A search result pointing back to a [`SpecDoc`].
3
+ */
4
+ export type SearchHit = {
5
+ id: string;
6
+ score: number;
7
+ snippet: string | null;
8
+ };
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Semantic tag that lets generic commands find adapter-specific fields.
3
+ */
4
+ export type SemanticHint = "status" | "priority" | "tags" | "assignee" | "due_date";
@@ -0,0 +1,30 @@
1
+ import { FieldValue } from './FieldValue';
2
+ import { ItemLink } from './ItemLink';
3
+ /**
4
+ * The canonical document type returned by any adapter.
5
+ *
6
+ * Both metadata panel fields and body sections live in `fields`, keyed by
7
+ * their [`FieldDef::key`]. There is no separate `body` string.
8
+ */
9
+ export type SpecDoc = {
10
+ /**
11
+ * Adapter-native identifier.
12
+ */
13
+ id: string;
14
+ title: string;
15
+ /**
16
+ * Schema id this document conforms to.
17
+ */
18
+ schema_id: string;
19
+ /**
20
+ * All field values, keyed by [`FieldDef::key`].
21
+ */
22
+ fields: {
23
+ [key in string]?: FieldValue;
24
+ };
25
+ links: Array<ItemLink>;
26
+ created_at: string | null;
27
+ updated_at: string | null;
28
+ url: string | null;
29
+ raw: unknown | null;
30
+ };
@@ -0,0 +1,48 @@
1
+ import { ItemLink } from './ItemLink';
2
+ import { MetadataValue } from './MetadataValue';
3
+ /**
4
+ * The canonical shape for a work item exposed by any adapter.
5
+ *
6
+ * Only `id`, `title`, and `body` are universal. Every other field is optional
7
+ * or dynamic. Consumers that need semantic access (the `board` command
8
+ * grouping by status, for instance) should look up the relevant metadata key
9
+ * from [`AdapterCapabilities::field_with_semantic`].
10
+ */
11
+ export type SpecItem = {
12
+ /**
13
+ * The adapter-native identifier. Markdown adapters use the directory name
14
+ * (`"001-my-spec"`); GitHub uses the issue number (`"42"`); ADO uses the
15
+ * work item id.
16
+ */
17
+ id: string;
18
+ /**
19
+ * The human-readable title.
20
+ */
21
+ title: string;
22
+ /**
23
+ * The primary body/description content, typically markdown.
24
+ */
25
+ body: string;
26
+ /**
27
+ * Canonical URL on the backend, if one exists.
28
+ */
29
+ url: string | null;
30
+ created_at: string | null;
31
+ updated_at: string | null;
32
+ /**
33
+ * Adapter-declared metadata. Keys are defined by the adapter's
34
+ * [`AdapterCapabilities::metadata_fields`].
35
+ */
36
+ metadata: {
37
+ [key in string]?: MetadataValue;
38
+ };
39
+ /**
40
+ * Native links to other items.
41
+ */
42
+ links: Array<ItemLink>;
43
+ /**
44
+ * Opaque raw payload from the backend, preserved for adapter-specific
45
+ * commands that need it. Other adapters ignore this field.
46
+ */
47
+ raw: unknown | null;
48
+ };
@@ -0,0 +1,25 @@
1
+ import { FieldDef } from './FieldDef';
2
+ import { LinkTypeDef } from './LinkTypeDef';
3
+ /**
4
+ * A complete spec schema: field declarations and link types.
5
+ *
6
+ * Schemas are identified by string keys (`"leanspec:feature"`, `"acme:epic"`)
7
+ * and loaded from built-in YAML bundles or team `.leanspec/schemas/` files.
8
+ * Use `extends` to inherit and override a parent schema.
9
+ */
10
+ export type SpecSchema = {
11
+ /**
12
+ * Stable identifier, e.g. `"leanspec:feature"`.
13
+ */
14
+ id: string;
15
+ name: string;
16
+ /**
17
+ * Parent schema id for `extends`-based inheritance (write only the delta).
18
+ */
19
+ extends: string | null;
20
+ /**
21
+ * All fields in display order.
22
+ */
23
+ fields: Array<FieldDef>;
24
+ link_types: Array<LinkTypeDef>;
25
+ };
@@ -1,4 +1,4 @@
1
- import { aK as j, aL as p, aM as w, aN as q, aO as k } from "./index-ChBmztZR.js";
1
+ import { aK as j, aL as p, aM as w, aN as q, aO as k } from "./index-DSZdQoC5.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-DUysNg_V.js";
2
- import { b as Id, l as Cd, d as wd, m as Nd, r as Co, n as Rs } from "./_baseUniq-DeCRnh20.js";
3
- import { b8 as _d } from "./index-ChBmztZR.js";
1
+ import { m as st, f as Sd, d as kd } from "./min-BrWJCoG9.js";
2
+ import { b as Id, l as Cd, d as wd, m as Nd, r as Co, n as Rs } from "./_baseUniq-Cfpafgc0.js";
3
+ import { b8 as _d } from "./index-DSZdQoC5.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-DBBp-UIi.js"), e = t().Info.parser.LangiumParser;
14114
+ const { createInfoServices: t } = await import("./info-NVLQJR56-DdSoNNwK.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-CmSJj4N0.js"), e = t().Packet.parser.LangiumParser;
14118
+ const { createPacketServices: t } = await import("./packet-BFZMPI3H-0R4cyXFa.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-x5AF7tG5.js"), e = t().Pie.parser.LangiumParser;
14122
+ const { createPieServices: t } = await import("./pie-7BOR55EZ-CBC6Vnp9.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-KasuNmTK.js"), e = t().Architecture.parser.LangiumParser;
14126
+ const { createArchitectureServices: t } = await import("./architecture-U656AL7Q-BMkAcamw.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-DUrKWg_A.js"), e = t().GitGraph.parser.LangiumParser;
14130
+ const { createGitGraphServices: t } = await import("./gitGraph-F6HP7TQM-ww-U1ysL.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-CIhcw_Rm.js"), e = t().Radar.parser.LangiumParser;
14134
+ const { createRadarServices: t } = await import("./radar-NHE76QYJ-R7FbU2R0.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-DGnMOcp3.js"), e = t().Treemap.parser.LangiumParser;
14138
+ const { createTreemapServices: t } = await import("./treemap-KMMF4GRG-BAGKypyB.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-DeCRnh20.js";
2
- import { aD as g, aE as o, aF as p } from "./index-ChBmztZR.js";
1
+ import { b, a as m, c as d, d as h, i as l } from "./_baseUniq-Cfpafgc0.js";
2
+ import { aD as g, aE as o, aF as p } from "./index-DSZdQoC5.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-CF8NKj4_.js";
2
- import { s as he } from "./chunk-QN33PNHL-D8WFPrQ5.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-ChBmztZR.js";
1
+ import { g as le } from "./chunk-55IACEB6-C6Rm-yNH.js";
2
+ import { s as he } from "./chunk-QN33PNHL-BkO_Xn3V.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-DSZdQoC5.js";
4
4
  const E = [];
5
5
  for (let t = 0; t < 256; ++t)
6
6
  E.push((t + 256).toString(16).slice(1));