@leanspec/ui 0.2.28 → 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 (194) hide show
  1. package/dist/{_baseUniq-BtJuknnJ.js → _baseUniq-Cfpafgc0.js} +1 -1
  2. package/dist/{arc-O-rE7YCB.js → arc-Ch9WDeqx.js} +1 -1
  3. package/dist/{architecture-U656AL7Q-BeYqAAo7.js → architecture-U656AL7Q-BMkAcamw.js} +1 -1
  4. package/dist/{architectureDiagram-VXUJARFQ-DlDB9-tN.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-DQH28Es5.js → DashboardPage-DG3o4y5K.js} +1 -1
  8. package/dist/assets/DependenciesPage-CAJX6zmQ.js +2 -0
  9. package/dist/assets/{FilesPage-BBVU37eW.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-Dacov6Rp.js → _baseUniq-BLwGRN9T.js} +1 -1
  16. package/dist/assets/{arc-C1vHYpyW.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-CEO6q7uK.js → chunk-55IACEB6-CK4VujpY.js} +1 -1
  23. package/dist/assets/{chunk-B4BG7PRW-DeXdKUh1.js → chunk-B4BG7PRW-CpmnmzRV.js} +6 -6
  24. package/dist/assets/chunk-DI55MBZ5-g0bpnDBm.js +220 -0
  25. package/dist/assets/{chunk-FMBD7UC4-D6UFHN61.js → chunk-FMBD7UC4-DrlucdFf.js} +1 -1
  26. package/dist/assets/chunk-QN33PNHL-Di9WxIWk.js +1 -0
  27. package/dist/assets/{chunk-QZHKN3VN-XfElTSSy.js → chunk-QZHKN3VN-DQ-Hq4Ek.js} +1 -1
  28. package/dist/assets/{chunk-TZMSLE5B-DAIUJ9YL.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-B3a0lz6t.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-BqqB9yVU.js → erDiagram-Q2GNP2WA-BRSo0yH7.js} +4 -4
  40. package/dist/assets/flowDiagram-NV44I4VS-BthSoz_o.js +162 -0
  41. package/dist/assets/{funnel-x-DD5BpUpW.js → funnel-x-B9PkB_Ch.js} +1 -1
  42. package/dist/assets/{ganttDiagram-JELNMOA3-DXHyY80Y.js → ganttDiagram-JELNMOA3-CNwbRK5k.js} +1 -1
  43. package/dist/assets/gitGraphDiagram-NY62KEGX-BNGeVHTR.js +65 -0
  44. package/dist/assets/{graph-0GUv5NSb.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-BoE52mzX.js → info-DW259gfi.js} +1 -1
  48. package/dist/assets/{infoDiagram-WHAUD3N6-C_TEtQdE.js → infoDiagram-WHAUD3N6-CeJF3upx.js} +1 -1
  49. package/dist/assets/{journeyDiagram-XKPGCS4Q-JFcsNaoS.js → journeyDiagram-XKPGCS4Q-Dr67Preg.js} +1 -1
  50. package/dist/assets/kanban-definition-3W4ZIXB7-DpwQotp4.js +89 -0
  51. package/dist/assets/{layout-DlGkdPxn.js → layout-4MguctiF.js} +1 -1
  52. package/dist/assets/{linear-DMzKEHWt.js → linear-IgIsApJd.js} +1 -1
  53. package/dist/assets/{min-D9GrKucE.js → min-s8C1gLFb.js} +1 -1
  54. package/dist/assets/mindmap-definition-VGOIOE7T-DFKUH7eJ.js +68 -0
  55. package/dist/assets/{page-transition-BMYHE1EG.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-CqpLwlfM.js → refresh-ccw-A4xr5yc-.js} +1 -1
  59. package/dist/assets/{requirementDiagram-UZGBJVZJ-DQ1RBDeF.js → requirementDiagram-UZGBJVZJ-eokL0bzi.js} +7 -7
  60. package/dist/assets/sankeyDiagram-TZEHDZUN-B2hHsE_f.js +10 -0
  61. package/dist/assets/{sequenceDiagram-WL72ISMW-ClnYRNdC.js → sequenceDiagram-WL72ISMW-Clj8c0qS.js} +16 -16
  62. package/dist/assets/{session-mode-badge-auIgZbxq.js → session-mode-badge-C89NgahF.js} +1 -1
  63. package/dist/assets/{stat-card-BdyKZs20.js → stat-card-DV-CrlHv.js} +1 -1
  64. package/dist/assets/{stateDiagram-FKZM4ZOC-xdSWJeM-.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-B56zI3O0.js → table-of-contents-DXTiOsyr.js} +1 -1
  67. package/dist/assets/{time-BvMRJTpu.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-qrMVjIzR.js → trending-up-D4zFB2hx.js} +1 -1
  71. package/dist/assets/{validation-badge-DKLDRlSe.js → validation-badge-BPbTJ9B4.js} +1 -1
  72. package/dist/assets/{xychartDiagram-PRI3JC2R-LmjJ6LwN.js → xychartDiagram-PRI3JC2R-DTRIkv2x.js} +1 -1
  73. package/dist/{blockDiagram-VD42YOAC-Cvqa8noV.js → blockDiagram-VD42YOAC-BJR0FCnk.js} +5 -5
  74. package/dist/{c4Diagram-YG6GDRKO-D4hwame5.js → c4Diagram-YG6GDRKO-Bt0Epxwp.js} +2 -2
  75. package/dist/{channel-C59vLj3i.js → channel-Dk7mWM0A.js} +1 -1
  76. package/dist/{chunk-4BX2VUAB-BwnJRlDR.js → chunk-4BX2VUAB-ByHqqe_a.js} +1 -1
  77. package/dist/{chunk-55IACEB6-CUvZDifa.js → chunk-55IACEB6-C6Rm-yNH.js} +1 -1
  78. package/dist/{chunk-B4BG7PRW-0lyBGfGe.js → chunk-B4BG7PRW-B7fIUqxs.js} +4 -4
  79. package/dist/{chunk-DI55MBZ5-DzuHPqVn.js → chunk-DI55MBZ5-qLuPk8Gl.js} +3 -3
  80. package/dist/{chunk-FMBD7UC4-CXI1mAvv.js → chunk-FMBD7UC4-Bgxdan8l.js} +1 -1
  81. package/dist/{chunk-QN33PNHL-BX4buhkI.js → chunk-QN33PNHL-BkO_Xn3V.js} +1 -1
  82. package/dist/{chunk-QZHKN3VN-p7skz8XQ.js → chunk-QZHKN3VN-m08GnZpm.js} +1 -1
  83. package/dist/{chunk-TZMSLE5B-BaJuPr6J.js → chunk-TZMSLE5B-DvK9Nkqp.js} +1 -1
  84. package/dist/{classDiagram-v2-WZHVMYZB-Be0dkyy-.js → classDiagram-2ON5EDUG-DCzOVBP6.js} +2 -2
  85. package/dist/{classDiagram-2ON5EDUG-Be0dkyy-.js → classDiagram-v2-WZHVMYZB-DCzOVBP6.js} +2 -2
  86. package/dist/{clone-DDo6Ol2x.js → clone-BpfNWUZj.js} +1 -1
  87. package/dist/{cose-bilkent-S5V4N54A-Bt2GyPMu.js → cose-bilkent-S5V4N54A-BpjQClp_.js} +1 -1
  88. package/dist/{dagre-6UL2VRFP-B4GNvmUo.js → dagre-6UL2VRFP-Br_w0Y4b.js} +5 -5
  89. package/dist/{diagram-PSM6KHXK-CXpX_sN2.js → diagram-PSM6KHXK-reYm7V8l.js} +4 -4
  90. package/dist/{diagram-QEK2KX5R-BTpahbEj.js → diagram-QEK2KX5R-DrEPfuxO.js} +3 -3
  91. package/dist/{diagram-S2PKOQOG-BAp1IJGB.js → diagram-S2PKOQOG-vRL82AgB.js} +3 -3
  92. package/dist/{erDiagram-Q2GNP2WA-RpXtWNOz.js → erDiagram-Q2GNP2WA-DrANUeXv.js} +4 -4
  93. package/dist/{flowDiagram-NV44I4VS-DVAeihFU.js → flowDiagram-NV44I4VS-lzqrgi2-.js} +5 -5
  94. package/dist/{ganttDiagram-JELNMOA3-NnFNN967.js → ganttDiagram-JELNMOA3-Box6Sn7f.js} +2 -2
  95. package/dist/{gitGraph-F6HP7TQM-BA0p69BL.js → gitGraph-F6HP7TQM-ww-U1ysL.js} +1 -1
  96. package/dist/{gitGraphDiagram-NY62KEGX-STAanBwe.js → gitGraphDiagram-NY62KEGX-CtgGW6L9.js} +4 -4
  97. package/dist/{graph-Cl7g8mJo.js → graph-Csrlu3OG.js} +2 -2
  98. package/dist/{index-OMQgmcXQ.js → index-DSZdQoC5.js} +34 -34
  99. package/dist/index.html +13 -3
  100. package/dist/info-NVLQJR56-DdSoNNwK.js +5 -0
  101. package/dist/{infoDiagram-WHAUD3N6-Ch5c_x3A.js → infoDiagram-WHAUD3N6-B4cHYKqw.js} +2 -2
  102. package/dist/{journeyDiagram-XKPGCS4Q-BT3WQmRa.js → journeyDiagram-XKPGCS4Q-CNZRK4ng.js} +4 -4
  103. package/dist/{kanban-definition-3W4ZIXB7-CiJoVHr_.js → kanban-definition-3W4ZIXB7-DVYPrMkR.js} +2 -2
  104. package/dist/{layout-BsDPuqRL.js → layout-qhjDJGCt.js} +4 -4
  105. package/dist/lib/components/projects/create-project-dialog.d.ts +2 -1
  106. package/dist/lib/components/projects/git-import-dialog.d.ts +6 -0
  107. package/dist/lib/components/projects/git-import-form.d.ts +6 -0
  108. package/dist/lib/components/root-redirect.d.ts +1 -1
  109. package/dist/lib/hooks/useCapabilities.d.ts +180 -0
  110. package/dist/lib/index.js +1 -1
  111. package/dist/lib/lib/api.d.ts +4 -6
  112. package/dist/lib/lib/backend-adapter/core.d.ts +6 -8
  113. package/dist/lib/lib/backend-adapter/http.d.ts +5 -7
  114. package/dist/lib/lib/backend-adapter/tauri.d.ts +5 -7
  115. package/dist/lib/locales/en/common.json.d.ts +2 -2
  116. package/dist/lib/locales/zh-CN/common.json.d.ts +2 -2
  117. package/dist/lib/types/api.d.ts +7 -15
  118. package/dist/lib/types/generated/AdapterCapabilities.d.ts +18 -0
  119. package/dist/lib/types/generated/CompletableItem.d.ts +15 -0
  120. package/dist/lib/types/generated/EnumOption.d.ts +16 -0
  121. package/dist/lib/types/generated/FieldDef.d.ts +28 -0
  122. package/dist/lib/types/generated/FieldDisplay.d.ts +4 -0
  123. package/dist/lib/types/generated/FieldKind.d.ts +46 -0
  124. package/dist/lib/types/generated/FieldValue.d.ts +32 -0
  125. package/dist/lib/types/generated/ItemLink.d.ts +17 -0
  126. package/dist/lib/types/generated/LinkTypeDef.d.ts +11 -0
  127. package/dist/lib/types/generated/MetadataFieldSpec.d.ts +28 -0
  128. package/dist/lib/types/generated/MetadataKind.d.ts +17 -0
  129. package/dist/lib/types/generated/MetadataValue.d.ts +26 -0
  130. package/dist/lib/types/generated/Reference.d.ts +8 -0
  131. package/dist/lib/types/generated/SearchHit.d.ts +8 -0
  132. package/dist/lib/types/generated/SemanticHint.d.ts +4 -0
  133. package/dist/lib/types/generated/SpecDoc.d.ts +30 -0
  134. package/dist/lib/types/generated/SpecItem.d.ts +48 -0
  135. package/dist/lib/types/generated/SpecSchema.d.ts +25 -0
  136. package/dist/{linear-mOFrDt-p.js → linear-BEsG2XDl.js} +1 -1
  137. package/dist/{mermaid-parser.core-BKozsbnK.js → mermaid-parser.core-DI0P4xje.js} +10 -10
  138. package/dist/{min-BiKl7Djw.js → min-BrWJCoG9.js} +2 -2
  139. package/dist/{mindmap-definition-VGOIOE7T-BD-DdVQV.js → mindmap-definition-VGOIOE7T-BG1ZbSXN.js} +3 -3
  140. package/dist/{packet-BFZMPI3H-BCwLzQdp.js → packet-BFZMPI3H-0R4cyXFa.js} +1 -1
  141. package/dist/pie-7BOR55EZ-CBC6Vnp9.js +5 -0
  142. package/dist/{pieDiagram-ADFJNKIX-Bu8RN200.js → pieDiagram-ADFJNKIX-Bq3pEiUt.js} +4 -4
  143. package/dist/{quadrantDiagram-AYHSOK5B-DI1Je7Nn.js → quadrantDiagram-AYHSOK5B-CJCCPwac.js} +2 -2
  144. package/dist/radar-NHE76QYJ-R7FbU2R0.js +5 -0
  145. package/dist/{requirementDiagram-UZGBJVZJ-Ddx_vMRb.js → requirementDiagram-UZGBJVZJ-CEFnCGpg.js} +3 -3
  146. package/dist/{sankeyDiagram-TZEHDZUN-iAFyjtkY.js → sankeyDiagram-TZEHDZUN-vRgejrr7.js} +1 -1
  147. package/dist/{sequenceDiagram-WL72ISMW-NRQcqxnw.js → sequenceDiagram-WL72ISMW-Bn_-xqGS.js} +3 -3
  148. package/dist/{stateDiagram-FKZM4ZOC-3S1hbbmf.js → stateDiagram-FKZM4ZOC-D1wpTHL-.js} +4 -4
  149. package/dist/{stateDiagram-v2-4FDKWEC3-E5a40kZz.js → stateDiagram-v2-4FDKWEC3-DZ6_hPx3.js} +2 -2
  150. package/dist/{timeline-definition-IT6M3QCI-BCFa3ZrF.js → timeline-definition-IT6M3QCI-sxhKRCeY.js} +2 -2
  151. package/dist/{treemap-KMMF4GRG-BGlzeb2l.js → treemap-KMMF4GRG-BAGKypyB.js} +1 -1
  152. package/dist/ui.css +1 -1
  153. package/dist/{xychartDiagram-PRI3JC2R-CopvajdE.js → xychartDiagram-PRI3JC2R-BvZs2fIv.js} +2 -2
  154. package/package.json +2 -2
  155. package/dist/assets/ChatSettingsPage-DftRMMtU.js +0 -1
  156. package/dist/assets/ContextPage-CbK7ew6E.js +0 -14
  157. package/dist/assets/DependenciesPage-E93gHx4A.js +0 -2
  158. package/dist/assets/SessionDetailPage-7Nyk2Vvu.js +0 -4
  159. package/dist/assets/SessionsPage-aHydkWMy.js +0 -1
  160. package/dist/assets/SpecDetailPage-C2P-OlXI.js +0 -3
  161. package/dist/assets/SpecsPage-CYIBmjhJ.js +0 -1
  162. package/dist/assets/StatsPage-BE2SnGB_.js +0 -36
  163. package/dist/assets/architectureDiagram-VXUJARFQ-CJuppwvY.js +0 -36
  164. package/dist/assets/blockDiagram-VD42YOAC-JKuFC2tB.js +0 -122
  165. package/dist/assets/c4Diagram-YG6GDRKO-BGNHTjgV.js +0 -10
  166. package/dist/assets/channel-BBhsr-rR.js +0 -1
  167. package/dist/assets/chunk-4BX2VUAB-Dn9K_Ir6.js +0 -1
  168. package/dist/assets/chunk-DI55MBZ5-CoaAvDwo.js +0 -220
  169. package/dist/assets/chunk-QN33PNHL-BhFNOvzX.js +0 -1
  170. package/dist/assets/classDiagram-2ON5EDUG-DWsZgeAJ.js +0 -1
  171. package/dist/assets/classDiagram-v2-WZHVMYZB-DWsZgeAJ.js +0 -1
  172. package/dist/assets/clone-C2afIJUs.js +0 -1
  173. package/dist/assets/cose-bilkent-S5V4N54A-BMI_fEV7.js +0 -1
  174. package/dist/assets/cytoscape.esm-5J0xJHOV.js +0 -321
  175. package/dist/assets/dagre-6UL2VRFP-Llr-yTYV.js +0 -4
  176. package/dist/assets/diagram-PSM6KHXK-DwgNF44T.js +0 -24
  177. package/dist/assets/diagram-QEK2KX5R-ITZ8Vmt3.js +0 -43
  178. package/dist/assets/diagram-S2PKOQOG-BIRpYLio.js +0 -24
  179. package/dist/assets/flowDiagram-NV44I4VS-BNAcE_z4.js +0 -162
  180. package/dist/assets/gitGraphDiagram-NY62KEGX-BgdesX0s.js +0 -65
  181. package/dist/assets/index-C5tD8lpO.css +0 -1
  182. package/dist/assets/index-DSWQaVP_.js +0 -2187
  183. package/dist/assets/kanban-definition-3W4ZIXB7-D74EewjL.js +0 -89
  184. package/dist/assets/mindmap-definition-VGOIOE7T-bEmI6QdX.js +0 -68
  185. package/dist/assets/pieDiagram-ADFJNKIX-LrgsuoFm.js +0 -30
  186. package/dist/assets/quadrantDiagram-AYHSOK5B-XAEnrTcF.js +0 -7
  187. package/dist/assets/sankeyDiagram-TZEHDZUN-4LprtsUC.js +0 -10
  188. package/dist/assets/stateDiagram-v2-4FDKWEC3-DyupCcgD.js +0 -1
  189. package/dist/assets/timeline-definition-IT6M3QCI-BMCplyxv.js +0 -61
  190. package/dist/assets/treemap-KMMF4GRG-DXswoz8b.js +0 -128
  191. package/dist/info-NVLQJR56-iVvUDnHs.js +0 -5
  192. package/dist/lib/components/projects/github-import-dialog.d.ts +0 -6
  193. package/dist/pie-7BOR55EZ-0JoXf6-u.js +0 -5
  194. package/dist/radar-NHE76QYJ-FdQK6UPP.js +0 -5
package/dist/index.html CHANGED
@@ -6,10 +6,20 @@
6
6
  <link rel="icon" href="/favicon.ico" />
7
7
  <link rel="icon" type="image/svg+xml" href="/logo.svg" />
8
8
  <link rel="apple-touch-icon" href="/logo.svg" />
9
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
9
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
10
10
  <title>LeanSpec</title>
11
- <script type="module" crossorigin src="/assets/index-DSWQaVP_.js"></script>
12
- <link rel="stylesheet" crossorigin href="/assets/index-C5tD8lpO.css">
11
+ <script>
12
+ // Apply theme before first paint to prevent FOUC
13
+ (function() {
14
+ var t = localStorage.getItem('leanspec-theme') || 'system';
15
+ var d = t === 'system'
16
+ ? (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light')
17
+ : t;
18
+ document.documentElement.classList.add(d);
19
+ })();
20
+ </script>
21
+ <script type="module" crossorigin src="/assets/index-CENAb10b.js"></script>
22
+ <link rel="stylesheet" crossorigin href="/assets/index-Dw2Hz3j4.css">
13
23
  </head>
14
24
 
15
25
  <body>
@@ -0,0 +1,5 @@
1
+ import { I as r, c as a } from "./mermaid-parser.core-DI0P4xje.js";
2
+ export {
3
+ r as InfoModule,
4
+ a as createInfoServices
5
+ };
@@ -1,5 +1,5 @@
1
- import { _ as e, l as s, H as o, e as i, I as g } from "./index-OMQgmcXQ.js";
2
- import { p } from "./mermaid-parser.core-BKozsbnK.js";
1
+ import { _ as e, l as s, H as o, e as i, I as g } from "./index-DSZdQoC5.js";
2
+ import { p } from "./mermaid-parser.core-DI0P4xje.js";
3
3
  var v = {
4
4
  parse: /* @__PURE__ */ e(async (r) => {
5
5
  const a = await p("info", r);
@@ -1,7 +1,7 @@
1
- import { a as gt, g as lt, f as mt, d as xt } from "./chunk-TZMSLE5B-BaJuPr6J.js";
2
- import { g as kt } from "./chunk-FMBD7UC4-CXI1mAvv.js";
3
- import { _ as n, g as _t, s as vt, a as bt, b as wt, q as Tt, p as St, c as R, d as X, e as $t, y as Mt } from "./index-OMQgmcXQ.js";
4
- import { d as et } from "./arc-O-rE7YCB.js";
1
+ import { a as gt, g as lt, f as mt, d as xt } from "./chunk-TZMSLE5B-DvK9Nkqp.js";
2
+ import { g as kt } from "./chunk-FMBD7UC4-Bgxdan8l.js";
3
+ import { _ as n, g as _t, s as vt, a as bt, b as wt, q as Tt, p as St, c as R, d as X, e as $t, y as Mt } from "./index-DSZdQoC5.js";
4
+ import { d as et } from "./arc-Ch9WDeqx.js";
5
5
  var U = (function() {
6
6
  var t = /* @__PURE__ */ n(function(h, i, a, l) {
7
7
  for (a = a || {}, l = h.length; l--; a[h[l]] = i) ;
@@ -1,5 +1,5 @@
1
- import { _ as o, l as te, c as U, H as fe, af as ye, ag as be, ah as me, V as _e, F as Y, i as j, t as Ee, J as ke, W as Se, X as ce, Y as le } from "./index-OMQgmcXQ.js";
2
- import { g as Ne } from "./chunk-FMBD7UC4-CXI1mAvv.js";
1
+ import { _ as o, l as te, c as U, H as fe, af as ye, ag as be, ah as me, V as _e, F as Y, i as j, t as Ee, J as ke, W as Se, X as ce, Y as le } from "./index-DSZdQoC5.js";
2
+ import { g as Ne } from "./chunk-FMBD7UC4-Bgxdan8l.js";
3
3
  var $ = (function() {
4
4
  var e = /* @__PURE__ */ o(function(O, i, n, r) {
5
5
  for (n = n || {}, r = O.length; r--; n[O[r]] = i) ;
@@ -1,7 +1,7 @@
1
- import { b as Ve, G as g, i as m, v as E } from "./graph-Cl7g8mJo.js";
2
- import { i as X, d as C, k as Ye, o as $e, p as ve, q as pe, t as De, u as we, v as qe, w as be, c as V, x as We, b as Xe, y as ze, n as f, m as I, r as B } from "./_baseUniq-BtJuknnJ.js";
3
- import { f as O, b as me, a as He, c as Ue, m as w, d as P } from "./min-BiKl7Djw.js";
4
- import { aZ as M, bi as Ze, bj as Je, b4 as ge, bk as S, aQ as ye, bl as Ke, aD as Qe, bm as en, bn as nn, aF as xe, bo as rn, b3 as Ee, aE as ke, aX as tn, b6 as an, bp as z } from "./index-OMQgmcXQ.js";
1
+ import { b as Ve, G as g, i as m, v as E } from "./graph-Csrlu3OG.js";
2
+ import { i as X, d as C, k as Ye, o as $e, p as ve, q as pe, t as De, u as we, v as qe, w as be, c as V, x as We, b as Xe, y as ze, n as f, m as I, r as B } from "./_baseUniq-Cfpafgc0.js";
3
+ import { f as O, b as me, a as He, c as Ue, m as w, d as P } from "./min-BrWJCoG9.js";
4
+ import { aZ as M, bi as Ze, bj as Je, b4 as ge, bk as S, aQ as ye, bl as Ke, aD as Qe, bm as en, bn as nn, aF as xe, bo as rn, b3 as Ee, aE as ke, aX as tn, b6 as an, bp as z } from "./index-DSZdQoC5.js";
5
5
  var on = /\s/;
6
6
  function un(e) {
7
7
  for (var n = e.length; n-- && on.test(e.charAt(n)); )
@@ -1,6 +1,7 @@
1
1
  interface CreateProjectDialogProps {
2
2
  open: boolean;
3
3
  onOpenChange: (open: boolean) => void;
4
+ initialTab?: 'local' | 'git';
4
5
  }
5
- export declare function CreateProjectDialog({ open, onOpenChange }: CreateProjectDialogProps): import("react/jsx-runtime").JSX.Element;
6
+ export declare function CreateProjectDialog({ open, onOpenChange, initialTab }: CreateProjectDialogProps): import("react/jsx-runtime").JSX.Element;
6
7
  export {};
@@ -0,0 +1,6 @@
1
+ interface GitImportDialogProps {
2
+ open: boolean;
3
+ onOpenChange: (open: boolean) => void;
4
+ }
5
+ export declare function GitImportDialog({ open, onOpenChange }: GitImportDialogProps): import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,6 @@
1
+ interface GitImportFormProps {
2
+ onSuccess: (projectId: string) => void;
3
+ onCancel: () => void;
4
+ }
5
+ export declare function GitImportForm({ onSuccess, onCancel }: GitImportFormProps): import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -3,4 +3,4 @@
3
3
  * - If a project is stored in localStorage and exists, navigate to that project's dashboard
4
4
  * - Otherwise, navigate to the projects list page
5
5
  */
6
- export declare function RootRedirect(): import("react/jsx-runtime").JSX.Element | null;
6
+ export declare function RootRedirect(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,180 @@
1
+ export type ProjectSource = 'local' | 'git';
2
+ export interface Capabilities {
3
+ projectSources: ProjectSource[];
4
+ readonly: boolean;
5
+ }
6
+ export declare function useCapabilities(): {
7
+ capabilities: Capabilities;
8
+ hasSource: (source: ProjectSource) => boolean;
9
+ data: Capabilities;
10
+ error: Error;
11
+ isError: true;
12
+ isPending: false;
13
+ isLoading: false;
14
+ isLoadingError: false;
15
+ isRefetchError: true;
16
+ isSuccess: false;
17
+ isPlaceholderData: false;
18
+ status: "error";
19
+ dataUpdatedAt: number;
20
+ errorUpdatedAt: number;
21
+ failureCount: number;
22
+ failureReason: Error | null;
23
+ errorUpdateCount: number;
24
+ isFetched: boolean;
25
+ isFetchedAfterMount: boolean;
26
+ isFetching: boolean;
27
+ isInitialLoading: boolean;
28
+ isPaused: boolean;
29
+ isRefetching: boolean;
30
+ isStale: boolean;
31
+ isEnabled: boolean;
32
+ refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<Capabilities, Error>>;
33
+ fetchStatus: import('@tanstack/react-query').FetchStatus;
34
+ promise: Promise<Capabilities>;
35
+ } | {
36
+ capabilities: Capabilities;
37
+ hasSource: (source: ProjectSource) => boolean;
38
+ data: Capabilities;
39
+ error: null;
40
+ isError: false;
41
+ isPending: false;
42
+ isLoading: false;
43
+ isLoadingError: false;
44
+ isRefetchError: false;
45
+ isSuccess: true;
46
+ isPlaceholderData: false;
47
+ status: "success";
48
+ dataUpdatedAt: number;
49
+ errorUpdatedAt: number;
50
+ failureCount: number;
51
+ failureReason: Error | null;
52
+ errorUpdateCount: number;
53
+ isFetched: boolean;
54
+ isFetchedAfterMount: boolean;
55
+ isFetching: boolean;
56
+ isInitialLoading: boolean;
57
+ isPaused: boolean;
58
+ isRefetching: boolean;
59
+ isStale: boolean;
60
+ isEnabled: boolean;
61
+ refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<Capabilities, Error>>;
62
+ fetchStatus: import('@tanstack/react-query').FetchStatus;
63
+ promise: Promise<Capabilities>;
64
+ } | {
65
+ capabilities: Capabilities;
66
+ hasSource: (source: ProjectSource) => boolean;
67
+ data: undefined;
68
+ error: Error;
69
+ isError: true;
70
+ isPending: false;
71
+ isLoading: false;
72
+ isLoadingError: true;
73
+ isRefetchError: false;
74
+ isSuccess: false;
75
+ isPlaceholderData: false;
76
+ status: "error";
77
+ dataUpdatedAt: number;
78
+ errorUpdatedAt: number;
79
+ failureCount: number;
80
+ failureReason: Error | null;
81
+ errorUpdateCount: number;
82
+ isFetched: boolean;
83
+ isFetchedAfterMount: boolean;
84
+ isFetching: boolean;
85
+ isInitialLoading: boolean;
86
+ isPaused: boolean;
87
+ isRefetching: boolean;
88
+ isStale: boolean;
89
+ isEnabled: boolean;
90
+ refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<Capabilities, Error>>;
91
+ fetchStatus: import('@tanstack/react-query').FetchStatus;
92
+ promise: Promise<Capabilities>;
93
+ } | {
94
+ capabilities: Capabilities;
95
+ hasSource: (source: ProjectSource) => boolean;
96
+ data: undefined;
97
+ error: null;
98
+ isError: false;
99
+ isPending: true;
100
+ isLoading: true;
101
+ isLoadingError: false;
102
+ isRefetchError: false;
103
+ isSuccess: false;
104
+ isPlaceholderData: false;
105
+ status: "pending";
106
+ dataUpdatedAt: number;
107
+ errorUpdatedAt: number;
108
+ failureCount: number;
109
+ failureReason: Error | null;
110
+ errorUpdateCount: number;
111
+ isFetched: boolean;
112
+ isFetchedAfterMount: boolean;
113
+ isFetching: boolean;
114
+ isInitialLoading: boolean;
115
+ isPaused: boolean;
116
+ isRefetching: boolean;
117
+ isStale: boolean;
118
+ isEnabled: boolean;
119
+ refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<Capabilities, Error>>;
120
+ fetchStatus: import('@tanstack/react-query').FetchStatus;
121
+ promise: Promise<Capabilities>;
122
+ } | {
123
+ capabilities: Capabilities;
124
+ hasSource: (source: ProjectSource) => boolean;
125
+ data: undefined;
126
+ error: null;
127
+ isError: false;
128
+ isPending: true;
129
+ isLoadingError: false;
130
+ isRefetchError: false;
131
+ isSuccess: false;
132
+ isPlaceholderData: false;
133
+ status: "pending";
134
+ dataUpdatedAt: number;
135
+ errorUpdatedAt: number;
136
+ failureCount: number;
137
+ failureReason: Error | null;
138
+ errorUpdateCount: number;
139
+ isFetched: boolean;
140
+ isFetchedAfterMount: boolean;
141
+ isFetching: boolean;
142
+ isLoading: boolean;
143
+ isInitialLoading: boolean;
144
+ isPaused: boolean;
145
+ isRefetching: boolean;
146
+ isStale: boolean;
147
+ isEnabled: boolean;
148
+ refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<Capabilities, Error>>;
149
+ fetchStatus: import('@tanstack/react-query').FetchStatus;
150
+ promise: Promise<Capabilities>;
151
+ } | {
152
+ capabilities: Capabilities;
153
+ hasSource: (source: ProjectSource) => boolean;
154
+ data: Capabilities;
155
+ isError: false;
156
+ error: null;
157
+ isPending: false;
158
+ isLoading: false;
159
+ isLoadingError: false;
160
+ isRefetchError: false;
161
+ isSuccess: true;
162
+ isPlaceholderData: true;
163
+ status: "success";
164
+ dataUpdatedAt: number;
165
+ errorUpdatedAt: number;
166
+ failureCount: number;
167
+ failureReason: Error | null;
168
+ errorUpdateCount: number;
169
+ isFetched: boolean;
170
+ isFetchedAfterMount: boolean;
171
+ isFetching: boolean;
172
+ isInitialLoading: boolean;
173
+ isPaused: boolean;
174
+ isRefetching: boolean;
175
+ isStale: boolean;
176
+ isEnabled: boolean;
177
+ refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<Capabilities, Error>>;
178
+ fetchStatus: import('@tanstack/react-query').FetchStatus;
179
+ promise: Promise<Capabilities>;
180
+ };
package/dist/lib/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { bB as t, bE as s, bC as o, bD as n, dg as r, di as i, dh as c, dj as l, dm as u, dl as d, dk as g, bF as m, bH as p, bG as C, dn as S, du as h, dt as T, dq as I, dv as P, ds as f, dp as b, dr as k, dB as A, dI as j, dF as D, dH as y, dG as M, dD as B, dC as v, dE as V, dA as x, dJ as E, dL as L, dR as H, dK as R, dS as F, dM as w, dN as O, dO as G, dP as N, dQ as Q, dT as U, bI as W, bK as q, bJ as z, k3 as J, bL as K, bN as _, bP as X, bQ as Y, bR as Z, dU as $, bT as aa, bZ as ea, bY as ta, bX as sa, bV as oa, bU as na, bW as ra, b_ as ia, b$ as ca, c0 as la, c2 as ua, c1 as da, dV as ga, d_ as ma, dW as pa, d$ as Ca, dZ as Sa, dY as ha, dX as Ta, jL as Ia, e0 as Pa, e1 as fa, e2 as ba, ea as ka, e8 as Aa, e4 as ja, e9 as Da, eb as ya, e7 as Ma, e5 as Ba, ec as va, ef as Va, eg as xa, ed as Ea, ee as La, e6 as Ha, c3 as Ra, c5 as Fa, c4 as wa, c6 as Oa, c7 as Ga, ca as Na, cb as Qa, c8 as Ua, cc as Wa, c9 as qa, ce as za, cd as Ja, eh as Ka, er as _a, eo as Xa, ep as Ya, et as Za, es as $a, ev as ae, eB as ee, eA as te, eC as se, ey as oe, ew as ne, ez as re, ex as ie, eu as ce, ej as le, ei as ue, en as de, ek as ge, el as me, em as pe, eq as Ce, eD as Se, eG as he, eJ as Te, eI as Ie, eH as Pe, eF as fe, eE as be, eK as ke, jY as Ae, eL as je, eU as De, eN as ye, eP as Me, eQ as Be, eO as ve, eR as Ve, eS as xe, jP as Ee, eT as Le, eM as He, eV as Re, eW as Fe, eX as we, eY as Oe, eZ as Ge, jN as Ne, jM as Qe, cf as Ue, cj as We, ck as qe, co as ze, cm as Je, cl as Ke, ch as _e, cg as Xe, cn as Ye, ci as Ze, cp as $e, ct as at, cr as et, cy as tt, cs as st, cv as ot, cz as nt, cD as rt, cu as it, cw as ct, cx as lt, cA as ut, cB as dt, cC as gt, cq as mt, e_ as pt, jI as Ct, f4 as St, f8 as ht, f5 as Tt, f6 as It, f9 as Pt, f7 as ft, e$ as bt, f3 as kt, f0 as At, f1 as jt, f2 as Dt, fa as yt, ff as Mt, fc as Bt, fb as vt, fd as Vt, fe as xt, k5 as Et, ka as Lt, cE as Ht, cG as Rt, cF as Ft, fg as wt, fh as Ot, fj as Gt, fl as Nt, fk as Qt, fm as Ut, fn as Wt, fp as qt, fq as zt, fo as Jt, fs as Kt, fr as _t, fu as Xt, ft as Yt, fi as Zt, cH as $t, cJ as as, cK as es, cL as ts, cN as ss, cM as os, cO as ns, jU as rs, cI as is, fv as cs, gI as ls, gJ as us, jK as ds, fw as gs, fz as ms, fy as ps, fA as Cs, fB as Ss, fE as hs, fF as Ts, fD as Is, fC as Ps, fx as fs, fG as bs, fH as ks, fI as As, fK as js, fN as Ds, fL as ys, fO as Ms, fP as Bs, fM as vs, fJ as Vs, fQ as xs, fS as Es, fU as Ls, fV as Hs, fY as Rs, fZ as Fs, fW as ws, f_ as Os, fX as Gs, g1 as Ns, g2 as Qs, g3 as Us, g0 as Ws, f$ as qs, fT as zs, g4 as Js, g8 as Ks, g9 as _s, g7 as Xs, ga as Ys, g5 as Zs, g6 as $s, gb as ao, gh as eo, gi as to, gc as so, gm as oo, gd as no, ge as ro, gk as io, gf as co, gj as lo, gg as uo, gl as go, kl as mo, gn as po, gq as Co, gt as So, gu as ho, gv as To, gs as Io, go as Po, gp as fo, gr as bo, gw as ko, gx as Ao, gy as jo, gC as Do, gD as yo, gB as Mo, gE as Bo, gz as vo, gA as Vo, gF as xo, cP as Eo, cS as Lo, cR as Ho, cQ as Ro, jy as Fo, jG as wo, cT as Oo, k9 as Go, jZ as No, j_ as Qo, jV as Uo, k0 as Wo, j$ as qo, jJ as zo, gS as Jo, gR as Ko, gZ as _o, g$ as Xo, h0 as Yo, g_ as Zo, gT as $o, gY as an, hf as en, hi as tn, hj as sn, hg as on, hk as nn, hh as rn, hl as cn, gG as ln, gW as un, gV as dn, h7 as gn, h9 as mn, h8 as pn, gQ as Cn, h2 as Sn, h4 as hn, h5 as Tn, h3 as In, h6 as Pn, h1 as fn, hb as bn, hd as kn, he as An, hc as jn, ha as Dn, gU as yn, gX as Mn, gH as Bn, hA as vn, hm as Vn, hr as xn, hq as En, hs as Ln, ho as Hn, hp as Rn, hu as Fn, ht as wn, hn as On, hv as Gn, hw as Nn, hz as Qn, hy as Un, hx as Wn, hC as qn, hE as zn, hD as Jn, hF as Kn, hG as _n, hH as Xn, hJ as Yn, hI as Zn, hO as $n, hK as ar, hL as er, hM as tr, hN as sr, hP as or, hZ as nr, hU as rr, hT as ir, h$ as cr, hQ as lr, hR as ur, hW as dr, hV as gr, hS as mr, h_ as pr, hX as Cr, hY as Sr, cU as hr, cV as Tr, k4 as Ir, k6 as Pr, cW as fr, c_ as br, cX as kr, d0 as Ar, c$ as jr, d3 as Dr, d2 as yr, d1 as Mr, cZ as Br, cY as vr, d4 as Vr, jQ as xr, i0 as Er, jW as Lr, d5 as Hr, i1 as Rr, i2 as Fr, i5 as wr, i4 as Or, i3 as Gr, i9 as Nr, i6 as Qr, i8 as Ur, i7 as Wr, jA as qr, kb as zr, jS as Jr, jR as Kr, jD as _r, jE as Xr, jX as Yr, ia as Zr, ib as $r, ih as ai, ik as ei, ii as ti, id as si, ig as oi, ie as ni, ij as ri, il as ii, ic as ci, k7 as li, jT as ui, k8 as di, jO as gi, jw as mi, jF as pi, io as Ci, im as Si, d6 as hi, d7 as Ti, da as Ii, d8 as Pi, d9 as fi, jB as bi, jC as ki, jH as Ai, ir as ji, it as Di, iq as yi, ip as Mi, is as Bi, iu as vi, iy as Vi, iA as xi, iB as Ei, iz as Li, iv as Hi, ix as Ri, iw as Fi, iM as wi, iP as Oi, iQ as Gi, iR as Ni, iS as Qi, iO as Ui, iC as Wi, iH as qi, iF as zi, iD as Ji, iG as Ki, iE as _i, iN as Xi, iI as Yi, iL as Zi, iJ as $i, iK as ac, db as ec, k1 as tc, iT as sc, iZ as oc, iW as nc, i_ as rc, iV as ic, iX as cc, j2 as lc, iY as uc, j3 as dc, dc as gc, de as mc, df as pc, dd as Cc, j4 as Sc, j5 as hc, j7 as Tc, jj as Ic, jk as Pc, jn as fc, jo as bc, j9 as kc, jm as Ac, ja as jc, jd as Dc, ji as yc, je as Mc, jb as Bc, jf as vc, jc as Vc, jl as xc, jp as Ec, jh as Lc, jg as Hc, j8 as Rc, jq as Fc, ju as wc, jv as Oc, jr as Gc, js as Nc, jt as Qc, bM as Uc, kp as Wc, bS as qc, bO as zc, kg as Jc, jz as Kc, jz as _c, jx as Xc, jx as Yc, kh as Zc, ki as $c, kk as al, kj as el, kq as tl, dx as sl, km as ol, kn as nl, ko as rl, dw as il, ks as cl, iU as ll, kr as ul, i$ as dl, j0 as gl, e3 as ml, j1 as pl, bA as Cl, jz as Sl, jx as hl, dz as Tl, dy as Il, fR as Pl, kd as fl, ke as bl, kc as kl, gL as Al, gN as jl, gO as Dl, gK as yl, gP as Ml, gM as Bl, hB as vl, kf as Vl, k2 as xl, j6 as El } from "../index-OMQgmcXQ.js";
1
+ import { bB as t, bE as s, bC as o, bD as n, dg as r, di as i, dh as c, dj as l, dm as u, dl as d, dk as g, bF as m, bH as p, bG as C, dn as S, du as h, dt as T, dq as I, dv as P, ds as f, dp as b, dr as k, dB as A, dI as j, dF as D, dH as y, dG as M, dD as B, dC as v, dE as V, dA as x, dJ as E, dL as L, dR as H, dK as R, dS as F, dM as w, dN as O, dO as G, dP as N, dQ as Q, dT as U, bI as W, bK as q, bJ as z, k3 as J, bL as K, bN as _, bP as X, bQ as Y, bR as Z, dU as $, bT as aa, bZ as ea, bY as ta, bX as sa, bV as oa, bU as na, bW as ra, b_ as ia, b$ as ca, c0 as la, c2 as ua, c1 as da, dV as ga, d_ as ma, dW as pa, d$ as Ca, dZ as Sa, dY as ha, dX as Ta, jL as Ia, e0 as Pa, e1 as fa, e2 as ba, ea as ka, e8 as Aa, e4 as ja, e9 as Da, eb as ya, e7 as Ma, e5 as Ba, ec as va, ef as Va, eg as xa, ed as Ea, ee as La, e6 as Ha, c3 as Ra, c5 as Fa, c4 as wa, c6 as Oa, c7 as Ga, ca as Na, cb as Qa, c8 as Ua, cc as Wa, c9 as qa, ce as za, cd as Ja, eh as Ka, er as _a, eo as Xa, ep as Ya, et as Za, es as $a, ev as ae, eB as ee, eA as te, eC as se, ey as oe, ew as ne, ez as re, ex as ie, eu as ce, ej as le, ei as ue, en as de, ek as ge, el as me, em as pe, eq as Ce, eD as Se, eG as he, eJ as Te, eI as Ie, eH as Pe, eF as fe, eE as be, eK as ke, jY as Ae, eL as je, eU as De, eN as ye, eP as Me, eQ as Be, eO as ve, eR as Ve, eS as xe, jP as Ee, eT as Le, eM as He, eV as Re, eW as Fe, eX as we, eY as Oe, eZ as Ge, jN as Ne, jM as Qe, cf as Ue, cj as We, ck as qe, co as ze, cm as Je, cl as Ke, ch as _e, cg as Xe, cn as Ye, ci as Ze, cp as $e, ct as at, cr as et, cy as tt, cs as st, cv as ot, cz as nt, cD as rt, cu as it, cw as ct, cx as lt, cA as ut, cB as dt, cC as gt, cq as mt, e_ as pt, jI as Ct, f4 as St, f8 as ht, f5 as Tt, f6 as It, f9 as Pt, f7 as ft, e$ as bt, f3 as kt, f0 as At, f1 as jt, f2 as Dt, fa as yt, ff as Mt, fc as Bt, fb as vt, fd as Vt, fe as xt, k5 as Et, ka as Lt, cE as Ht, cG as Rt, cF as Ft, fg as wt, fh as Ot, fj as Gt, fl as Nt, fk as Qt, fm as Ut, fn as Wt, fp as qt, fq as zt, fo as Jt, fs as Kt, fr as _t, fu as Xt, ft as Yt, fi as Zt, cH as $t, cJ as as, cK as es, cL as ts, cN as ss, cM as os, cO as ns, jU as rs, cI as is, fv as cs, gI as ls, gJ as us, jK as ds, fw as gs, fz as ms, fy as ps, fA as Cs, fB as Ss, fE as hs, fF as Ts, fD as Is, fC as Ps, fx as fs, fG as bs, fH as ks, fI as As, fK as js, fN as Ds, fL as ys, fO as Ms, fP as Bs, fM as vs, fJ as Vs, fQ as xs, fS as Es, fU as Ls, fV as Hs, fY as Rs, fZ as Fs, fW as ws, f_ as Os, fX as Gs, g1 as Ns, g2 as Qs, g3 as Us, g0 as Ws, f$ as qs, fT as zs, g4 as Js, g8 as Ks, g9 as _s, g7 as Xs, ga as Ys, g5 as Zs, g6 as $s, gb as ao, gh as eo, gi as to, gc as so, gm as oo, gd as no, ge as ro, gk as io, gf as co, gj as lo, gg as uo, gl as go, kl as mo, gn as po, gq as Co, gt as So, gu as ho, gv as To, gs as Io, go as Po, gp as fo, gr as bo, gw as ko, gx as Ao, gy as jo, gC as Do, gD as yo, gB as Mo, gE as Bo, gz as vo, gA as Vo, gF as xo, cP as Eo, cS as Lo, cR as Ho, cQ as Ro, jy as Fo, jG as wo, cT as Oo, k9 as Go, jZ as No, j_ as Qo, jV as Uo, k0 as Wo, j$ as qo, jJ as zo, gS as Jo, gR as Ko, gZ as _o, g$ as Xo, h0 as Yo, g_ as Zo, gT as $o, gY as an, hf as en, hi as tn, hj as sn, hg as on, hk as nn, hh as rn, hl as cn, gG as ln, gW as un, gV as dn, h7 as gn, h9 as mn, h8 as pn, gQ as Cn, h2 as Sn, h4 as hn, h5 as Tn, h3 as In, h6 as Pn, h1 as fn, hb as bn, hd as kn, he as An, hc as jn, ha as Dn, gU as yn, gX as Mn, gH as Bn, hA as vn, hm as Vn, hr as xn, hq as En, hs as Ln, ho as Hn, hp as Rn, hu as Fn, ht as wn, hn as On, hv as Gn, hw as Nn, hz as Qn, hy as Un, hx as Wn, hC as qn, hE as zn, hD as Jn, hF as Kn, hG as _n, hH as Xn, hJ as Yn, hI as Zn, hO as $n, hK as ar, hL as er, hM as tr, hN as sr, hP as or, hZ as nr, hU as rr, hT as ir, h$ as cr, hQ as lr, hR as ur, hW as dr, hV as gr, hS as mr, h_ as pr, hX as Cr, hY as Sr, cU as hr, cV as Tr, k4 as Ir, k6 as Pr, cW as fr, c_ as br, cX as kr, d0 as Ar, c$ as jr, d3 as Dr, d2 as yr, d1 as Mr, cZ as Br, cY as vr, d4 as Vr, jQ as xr, i0 as Er, jW as Lr, d5 as Hr, i1 as Rr, i2 as Fr, i5 as wr, i4 as Or, i3 as Gr, i9 as Nr, i6 as Qr, i8 as Ur, i7 as Wr, jA as qr, kb as zr, jS as Jr, jR as Kr, jD as _r, jE as Xr, jX as Yr, ia as Zr, ib as $r, ih as ai, ik as ei, ii as ti, id as si, ig as oi, ie as ni, ij as ri, il as ii, ic as ci, k7 as li, jT as ui, k8 as di, jO as gi, jw as mi, jF as pi, io as Ci, im as Si, d6 as hi, d7 as Ti, da as Ii, d8 as Pi, d9 as fi, jB as bi, jC as ki, jH as Ai, ir as ji, it as Di, iq as yi, ip as Mi, is as Bi, iu as vi, iy as Vi, iA as xi, iB as Ei, iz as Li, iv as Hi, ix as Ri, iw as Fi, iM as wi, iP as Oi, iQ as Gi, iR as Ni, iS as Qi, iO as Ui, iC as Wi, iH as qi, iF as zi, iD as Ji, iG as Ki, iE as _i, iN as Xi, iI as Yi, iL as Zi, iJ as $i, iK as ac, db as ec, k1 as tc, iT as sc, iZ as oc, iW as nc, i_ as rc, iV as ic, iX as cc, j2 as lc, iY as uc, j3 as dc, dc as gc, de as mc, df as pc, dd as Cc, j4 as Sc, j5 as hc, j7 as Tc, jj as Ic, jk as Pc, jn as fc, jo as bc, j9 as kc, jm as Ac, ja as jc, jd as Dc, ji as yc, je as Mc, jb as Bc, jf as vc, jc as Vc, jl as xc, jp as Ec, jh as Lc, jg as Hc, j8 as Rc, jq as Fc, ju as wc, jv as Oc, jr as Gc, js as Nc, jt as Qc, bM as Uc, kp as Wc, bS as qc, bO as zc, kg as Jc, jz as Kc, jz as _c, jx as Xc, jx as Yc, kh as Zc, ki as $c, kk as al, kj as el, kq as tl, dx as sl, km as ol, kn as nl, ko as rl, dw as il, ks as cl, iU as ll, kr as ul, i$ as dl, j0 as gl, e3 as ml, j1 as pl, bA as Cl, jz as Sl, jx as hl, dz as Tl, dy as Il, fR as Pl, kd as fl, ke as bl, kc as kl, gL as Al, gN as jl, gO as Dl, gK as yl, gP as Ml, gM as Bl, hB as vl, kf as Vl, k2 as xl, j6 as El } from "../index-DSZdQoC5.js";
2
2
  export {
3
3
  t as Accordion,
4
4
  s as AccordionContent,
@@ -29,15 +29,13 @@ 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
- listGithubRepos: () => Promise<import('./backend-adapter').GitHubRepo[]>;
33
- detectGithubSpecs: (repo: string, branch?: string, token?: string) => Promise<import('./backend-adapter').GitHubDetectResult | null>;
34
- importGithubRepo: (repo: string, opts?: {
32
+ detectGitSpecs: (repo: string, branch?: string) => Promise<import('./backend-adapter').GitDetectResult | null>;
33
+ importGitRepo: (repo: string, opts?: {
35
34
  branch?: string;
36
35
  specsPath?: string;
37
36
  name?: string;
38
- token?: string;
39
- }) => Promise<import('./backend-adapter').GitHubImportResult>;
40
- syncGithubProject: (projectId: string) => Promise<{
37
+ }) => Promise<import('./backend-adapter').GitImportResult>;
38
+ syncGitProject: (projectId: string) => Promise<{
41
39
  projectId: string;
42
40
  syncedSpecs: number;
43
41
  }>;
@@ -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, GitHubRepo, GitHubDetectResult, GitHubImportResult } 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,17 +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
- listGithubRepos(): Promise<GitHubRepo[]>;
164
- detectGithubSpecs(repo: string, branch?: string, token?: string): Promise<GitHubDetectResult | null>;
165
- importGithubRepo(repo: string, opts?: {
163
+ detectGitSpecs(repo: string, branch?: string): Promise<GitDetectResult | null>;
164
+ importGitRepo(repo: string, opts?: {
166
165
  branch?: string;
167
166
  specsPath?: string;
168
167
  name?: string;
169
- token?: string;
170
- }): Promise<GitHubImportResult>;
171
- syncGithubProject(projectId: string): Promise<{
168
+ }): Promise<GitImportResult>;
169
+ syncGitProject(projectId: string): Promise<{
172
170
  projectId: string;
173
171
  syncedSpecs: number;
174
172
  }>;
175
173
  }
176
- 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, GitHubRepo, GitHubDetectResult, GitHubImportResult, };
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, GitHubRepo, GitHubDetectResult, GitHubImportResult } 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,15 +140,13 @@ 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
- listGithubRepos(): Promise<GitHubRepo[]>;
144
- detectGithubSpecs(repo: string, branch?: string, token?: string): Promise<GitHubDetectResult | null>;
145
- importGithubRepo(repo: string, opts?: {
143
+ detectGitSpecs(repo: string, branch?: string): Promise<GitDetectResult | null>;
144
+ importGitRepo(repo: string, opts?: {
146
145
  branch?: string;
147
146
  specsPath?: string;
148
147
  name?: string;
149
- token?: string;
150
- }): Promise<GitHubImportResult>;
151
- syncGithubProject(projectId: string): Promise<{
148
+ }): Promise<GitImportResult>;
149
+ syncGitProject(projectId: string): Promise<{
152
150
  projectId: string;
153
151
  syncedSpecs: number;
154
152
  }>;
@@ -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, GitHubRepo, GitHubDetectResult, GitHubImportResult } 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,15 +135,13 @@ 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
- listGithubRepos(): Promise<GitHubRepo[]>;
139
- detectGithubSpecs(_repo: string, _branch?: string, _token?: string): Promise<GitHubDetectResult | null>;
140
- importGithubRepo(_repo: string, _opts?: {
138
+ detectGitSpecs(_repo: string, _branch?: string): Promise<GitDetectResult | null>;
139
+ importGitRepo(_repo: string, _opts?: {
141
140
  branch?: string;
142
141
  specsPath?: string;
143
142
  name?: string;
144
- token?: string;
145
- }): Promise<GitHubImportResult>;
146
- syncGithubProject(_projectId: string): Promise<{
143
+ }): Promise<GitImportResult>;
144
+ syncGitProject(_projectId: string): Promise<{
147
145
  projectId: string;
148
146
  syncedSpecs: number;
149
147
  }>;
@@ -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,42 +212,34 @@ export interface Project {
212
212
  description?: string | null;
213
213
  isFeatured?: boolean;
214
214
  lastAccessed?: string | Date | null;
215
- source?: 'local' | 'github';
216
- github?: {
217
- repo: string;
215
+ source?: 'local' | 'git';
216
+ git?: {
217
+ remoteUrl: string;
218
218
  branch: string;
219
219
  specsPath: string;
220
220
  lastSynced?: string | null;
221
221
  } | null;
222
- githubOwner?: string;
223
- githubRepo?: string;
224
222
  }
225
223
  export interface ProjectsResponse {
226
224
  projects?: Project[];
227
225
  recentProjects?: string[];
228
226
  favoriteProjects?: string[];
229
227
  }
230
- export interface GitHubRepo {
231
- fullName: string;
232
- description?: string | null;
233
- defaultBranch: string;
234
- private: boolean;
235
- htmlUrl: string;
236
- }
237
228
  export interface DetectedSpec {
238
229
  path: string;
239
230
  title?: string | null;
240
231
  status?: string | null;
241
232
  priority?: string | null;
242
233
  }
243
- export interface GitHubDetectResult {
244
- repo: string;
234
+ export interface GitDetectResult {
235
+ remoteUrl?: string;
236
+ repo?: string;
245
237
  branch: string;
246
238
  specsDir: string;
247
239
  specCount: number;
248
240
  specs: DetectedSpec[];
249
241
  }
250
- export interface GitHubImportResult {
242
+ export interface GitImportResult {
251
243
  projectId: string;
252
244
  projectName: string;
253
245
  repo: string;
@@ -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";