@leanspec/ui 0.2.25 → 0.2.27

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 (323) hide show
  1. package/dist/{_baseUniq-BTv7M834.js → _baseUniq-DeCRnh20.js} +1 -1
  2. package/dist/{arc-GsL4cqyW.js → arc-C7Ja-5dr.js} +1 -1
  3. package/dist/{architecture-U656AL7Q-DL2Qaesc.js → architecture-U656AL7Q-KasuNmTK.js} +1 -1
  4. package/dist/{architectureDiagram-VXUJARFQ-DhRxYxVL.js → architectureDiagram-VXUJARFQ-CzHvPXJk.js} +3 -3
  5. package/dist/assets/ChatSettingsPage-Dg4b6Mdg.js +1 -0
  6. package/dist/assets/ContextPage-DLKsvbaY.js +14 -0
  7. package/dist/assets/DashboardPage-D5roDkxO.js +1 -0
  8. package/dist/assets/DependenciesPage-BlTgal-s.js +2 -0
  9. package/dist/assets/FilesPage-BOzy0zBy.css +1 -0
  10. package/dist/assets/FilesPage-u613OfDX.js +3 -0
  11. package/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  12. package/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  13. package/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  14. package/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  15. package/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  16. package/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  17. package/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  18. package/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  19. package/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  20. package/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  21. package/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  22. package/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  23. package/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  24. package/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  25. package/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  26. package/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  27. package/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  28. package/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  29. package/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  30. package/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  31. package/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  32. package/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  33. package/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  34. package/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  35. package/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  36. package/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  37. package/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  38. package/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  39. package/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  40. package/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  41. package/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  42. package/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  43. package/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  44. package/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  45. package/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  46. package/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  47. package/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  48. package/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  49. package/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  50. package/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  51. package/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  52. package/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  53. package/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  54. package/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  55. package/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  56. package/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  57. package/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  58. package/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  59. package/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  60. package/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  61. package/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  62. package/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  63. package/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  64. package/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  65. package/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  66. package/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  67. package/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  68. package/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  69. package/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  70. package/dist/assets/SessionDetailPage-CmisG8OY.js +4 -0
  71. package/dist/assets/SessionsPage-Ov5FSlG0.js +1 -0
  72. package/dist/assets/SpecDetailPage-BSMc3nst.js +3 -0
  73. package/dist/assets/SpecDetailPage-BmnaB44z.css +1 -0
  74. package/dist/assets/SpecsPage-Cj6pRfOw.js +1 -0
  75. package/dist/assets/StatsPage-fmGNHIOe.js +36 -0
  76. package/dist/assets/_baseUniq-B_33F2hD.js +1 -0
  77. package/dist/assets/arc-eeGjCukK.js +1 -0
  78. package/dist/assets/architectureDiagram-VXUJARFQ-Byc0dVxO.js +36 -0
  79. package/dist/assets/band-CquvqAHh.js +1 -0
  80. package/dist/assets/{blockDiagram-VD42YOAC-DSFIE2zv.js → blockDiagram-VD42YOAC-B8mIUKCH.js} +4 -4
  81. package/dist/assets/{c4Diagram-YG6GDRKO-BGmtJFyE.js → c4Diagram-YG6GDRKO-DddzPdre.js} +3 -3
  82. package/dist/assets/channel-DlZlZmTt.js +1 -0
  83. package/dist/assets/{chunk-4BX2VUAB-DMwZgyny.js → chunk-4BX2VUAB-4RrLP-cY.js} +1 -1
  84. package/dist/assets/{chunk-55IACEB6-BS2IX41E.js → chunk-55IACEB6-C8ucnnQR.js} +1 -1
  85. package/dist/assets/{chunk-B4BG7PRW-B8eM1odI.js → chunk-B4BG7PRW-DwNhZZ7r.js} +3 -3
  86. package/dist/assets/{chunk-DI55MBZ5-o67_VCyE.js → chunk-DI55MBZ5-orfhja3l.js} +2 -2
  87. package/dist/assets/{chunk-FMBD7UC4-BcEYG9iw.js → chunk-FMBD7UC4-BuW1I-fC.js} +1 -1
  88. package/dist/assets/{chunk-QN33PNHL-DTvKnDBL.js → chunk-QN33PNHL-BaA5PO8k.js} +1 -1
  89. package/dist/assets/{chunk-QZHKN3VN-Bi5HqsVm.js → chunk-QZHKN3VN-Dqa4tmK4.js} +1 -1
  90. package/dist/assets/{chunk-TZMSLE5B-BthbcwRa.js → chunk-TZMSLE5B-djzRrJuy.js} +1 -1
  91. package/dist/assets/classDiagram-2ON5EDUG-C2Yf3yFU.js +1 -0
  92. package/dist/assets/classDiagram-v2-WZHVMYZB-C2Yf3yFU.js +1 -0
  93. package/dist/assets/clone-D-4UeXFh.js +1 -0
  94. package/dist/assets/{code-block-37QAKDTI-SzwmDSkS.js → code-block-37QAKDTI-AYxzHYF3.js} +1 -1
  95. package/dist/assets/{cose-bilkent-S5V4N54A-DbRhVW8y.js → cose-bilkent-S5V4N54A-Cnp1eSFl.js} +1 -1
  96. package/dist/assets/{dagre-6UL2VRFP-D_VH5kFn.js → dagre-6UL2VRFP-CIAWAhQL.js} +2 -2
  97. package/dist/assets/defaultLocale-C4B-KCzX.js +1 -0
  98. package/dist/assets/diagram-PSM6KHXK-CPeehxEt.js +24 -0
  99. package/dist/assets/diagram-QEK2KX5R-4rkmVp8d.js +43 -0
  100. package/dist/assets/diagram-S2PKOQOG-CHZnsBbD.js +24 -0
  101. package/dist/assets/{erDiagram-Q2GNP2WA-BFw_wW_L.js → erDiagram-Q2GNP2WA-C4TTAGaG.js} +2 -2
  102. package/dist/assets/{flowDiagram-NV44I4VS-DyVvOAX3.js → flowDiagram-NV44I4VS-C9c1GVlY.js} +10 -10
  103. package/dist/assets/funnel-x-BvY4n8AU.js +1 -0
  104. package/dist/assets/{ganttDiagram-JELNMOA3-DTFARGAn.js → ganttDiagram-JELNMOA3-DPd-3uLN.js} +4 -4
  105. package/dist/assets/gitGraphDiagram-NY62KEGX-Drq0KNG5.js +65 -0
  106. package/dist/assets/{graph-DUzLz0PA.js → graph-9MjkFnGf.js} +1 -1
  107. package/dist/assets/index-DX91j_KV.css +1 -0
  108. package/dist/assets/index-DoWWshr8.js +2187 -0
  109. package/dist/assets/info-RxIWhHbS.js +1 -0
  110. package/dist/assets/infoDiagram-WHAUD3N6-BEa020kA.js +2 -0
  111. package/dist/assets/init-Dmth1JHB.js +1 -0
  112. package/dist/assets/{journeyDiagram-XKPGCS4Q-BlNh1zHL.js → journeyDiagram-XKPGCS4Q-mAbpJFG8.js} +4 -4
  113. package/dist/assets/{kanban-definition-3W4ZIXB7-D4KqvMxd.js → kanban-definition-3W4ZIXB7-BbUqw1vO.js} +8 -8
  114. package/dist/assets/{layout-C69Vzf47.js → layout-BOFaVoue.js} +1 -1
  115. package/dist/assets/linear-xUbiORsA.js +1 -0
  116. package/dist/assets/min-eHwPCINR.js +1 -0
  117. package/dist/assets/{mindmap-definition-VGOIOE7T-CBfzzNul.js → mindmap-definition-VGOIOE7T-DoP6Td_B.js} +2 -2
  118. package/dist/assets/ordinal-DILIJJjt.js +1 -0
  119. package/dist/assets/page-transition-dCsDSjnv.js +1 -0
  120. package/dist/assets/pieDiagram-ADFJNKIX-Dp_SBNAy.js +30 -0
  121. package/dist/assets/{quadrantDiagram-AYHSOK5B-BFz2Bllq.js → quadrantDiagram-AYHSOK5B-D6Jp00F5.js} +4 -4
  122. package/dist/assets/refresh-ccw-DGe62KT5.js +1 -0
  123. package/dist/assets/{requirementDiagram-UZGBJVZJ-DxdMfd_i.js → requirementDiagram-UZGBJVZJ-DOBz3Rdv.js} +3 -3
  124. package/dist/assets/sankeyDiagram-TZEHDZUN-Bz7vjGqd.js +10 -0
  125. package/dist/assets/{sequenceDiagram-WL72ISMW-DM3FHm-E.js → sequenceDiagram-WL72ISMW-ByPYmOvZ.js} +6 -6
  126. package/dist/assets/session-mode-badge-DCssJwfh.js +1 -0
  127. package/dist/assets/stat-card-ic_H-ddZ.js +1 -0
  128. package/dist/assets/{stateDiagram-FKZM4ZOC-CquvRUcS.js → stateDiagram-FKZM4ZOC-W833g5qw.js} +1 -1
  129. package/dist/assets/stateDiagram-v2-4FDKWEC3-CwLThngZ.js +1 -0
  130. package/dist/assets/table-of-contents-B4pUXfVp.js +2 -0
  131. package/dist/assets/time-s4hpWI0y.js +1 -0
  132. package/dist/assets/{timeline-definition-IT6M3QCI-peYNY-nB.js → timeline-definition-IT6M3QCI-B3f6ZKjd.js} +3 -3
  133. package/dist/assets/token-utils-x_d_uTQu.js +1 -0
  134. package/dist/assets/{treemap-KMMF4GRG-Cr2QSg6a.js → treemap-KMMF4GRG-CkWhJIwZ.js} +16 -16
  135. package/dist/assets/trending-up-Bp_uZ6i5.js +1 -0
  136. package/dist/assets/validation-badge-B9E1wcwj.js +1 -0
  137. package/dist/assets/{xychartDiagram-PRI3JC2R-H327siGT.js → xychartDiagram-PRI3JC2R-Cj3LJwsf.js} +3 -3
  138. package/dist/{blockDiagram-VD42YOAC-CAgANapr.js → blockDiagram-VD42YOAC-DRN0jNqr.js} +5 -5
  139. package/dist/{c4Diagram-YG6GDRKO-BUw8hNx5.js → c4Diagram-YG6GDRKO-CBxJIsoM.js} +2 -2
  140. package/dist/{channel-CRd-JKjv.js → channel-C2ap0mKj.js} +1 -1
  141. package/dist/{chunk-4BX2VUAB-6tNpYwPa.js → chunk-4BX2VUAB-CZFPLiei.js} +1 -1
  142. package/dist/{chunk-55IACEB6-2hXhhF7j.js → chunk-55IACEB6-CF8NKj4_.js} +1 -1
  143. package/dist/{chunk-B4BG7PRW-C-2biLpP.js → chunk-B4BG7PRW-C3jkgdyU.js} +4 -4
  144. package/dist/{chunk-DI55MBZ5-Cp5Rk4Z4.js → chunk-DI55MBZ5-D0hqaHNM.js} +3 -3
  145. package/dist/{chunk-FMBD7UC4-MdCVmzo1.js → chunk-FMBD7UC4-BMvRco5D.js} +1 -1
  146. package/dist/{chunk-QN33PNHL-B4huGwhH.js → chunk-QN33PNHL-D8WFPrQ5.js} +1 -1
  147. package/dist/{chunk-QZHKN3VN-DBNnz3QF.js → chunk-QZHKN3VN-BBkUib8s.js} +1 -1
  148. package/dist/{chunk-TZMSLE5B-C0UUeY_R.js → chunk-TZMSLE5B-CArYpbwP.js} +1 -1
  149. package/dist/{classDiagram-v2-WZHVMYZB-CNDoWJPi.js → classDiagram-2ON5EDUG-BCig139j.js} +2 -2
  150. package/dist/{classDiagram-2ON5EDUG-CNDoWJPi.js → classDiagram-v2-WZHVMYZB-BCig139j.js} +2 -2
  151. package/dist/{clone-NOdph9FW.js → clone-DPyGLWtv.js} +1 -1
  152. package/dist/{cose-bilkent-S5V4N54A-CGzTFBg6.js → cose-bilkent-S5V4N54A-C5SYwGsk.js} +1 -1
  153. package/dist/{dagre-6UL2VRFP-Dbb2Qtkd.js → dagre-6UL2VRFP-C8I3plmM.js} +5 -5
  154. package/dist/{diagram-PSM6KHXK-BkHIn4Na.js → diagram-PSM6KHXK-cXC7AIdZ.js} +4 -4
  155. package/dist/{diagram-QEK2KX5R-C2SOXIsZ.js → diagram-QEK2KX5R-CXNiTV6f.js} +3 -3
  156. package/dist/{diagram-S2PKOQOG-Dhg7S4sS.js → diagram-S2PKOQOG-CxGzqgZF.js} +3 -3
  157. package/dist/{erDiagram-Q2GNP2WA-DNtKi97U.js → erDiagram-Q2GNP2WA-CcY6lgTn.js} +4 -4
  158. package/dist/{flowDiagram-NV44I4VS-BUqt43hW.js → flowDiagram-NV44I4VS-12EmxlpA.js} +5 -5
  159. package/dist/{ganttDiagram-JELNMOA3-B2Lg_NoT.js → ganttDiagram-JELNMOA3-pNkGSHoM.js} +2 -2
  160. package/dist/{gitGraph-F6HP7TQM-CHYr4iss.js → gitGraph-F6HP7TQM-DUrKWg_A.js} +1 -1
  161. package/dist/{gitGraphDiagram-NY62KEGX-opS5iBAi.js → gitGraphDiagram-NY62KEGX-BXO3EwIS.js} +4 -4
  162. package/dist/{graph-C4lFiFlc.js → graph-D813u3VC.js} +2 -2
  163. package/dist/{index-Y0he5qiC.js → index-ChBmztZR.js} +8358 -8550
  164. package/dist/index.html +2 -2
  165. package/dist/info-NVLQJR56-DBBp-UIi.js +5 -0
  166. package/dist/{infoDiagram-WHAUD3N6-jD1UokkI.js → infoDiagram-WHAUD3N6-DLh94vHX.js} +2 -2
  167. package/dist/{journeyDiagram-XKPGCS4Q-DiH_3HWQ.js → journeyDiagram-XKPGCS4Q-CXPtgCeQ.js} +4 -4
  168. package/dist/{kanban-definition-3W4ZIXB7-Ct8nHz6y.js → kanban-definition-3W4ZIXB7-CdIz6-22.js} +2 -2
  169. package/dist/{katex-r9TeExgs.js → katex-Cj93GM5Y.js} +2529 -2615
  170. package/dist/{layout-BB0ezvOF.js → layout-cIjTHX6V.js} +4 -4
  171. package/dist/lib/components/dependencies/dependency-filter-bar.d.ts +18 -0
  172. package/dist/lib/components/dependencies/dependency-graph-view.d.ts +14 -0
  173. package/dist/lib/components/dependencies/spec-selector.d.ts +10 -0
  174. package/dist/lib/components/library/ai-elements/prompt-input/AttachmentBar.d.ts +2 -0
  175. package/dist/lib/components/library/ai-elements/prompt-input/ContextSelector.d.ts +2 -0
  176. package/dist/lib/components/library/ai-elements/prompt-input/PromptTextArea.d.ts +2 -0
  177. package/dist/lib/components/library/ai-elements/prompt-input/VoiceInput.d.ts +2 -0
  178. package/dist/lib/components/library/ai-elements/prompt-input/compounds.d.ts +72 -0
  179. package/dist/lib/components/library/ai-elements/prompt-input/context.d.ts +14 -0
  180. package/dist/lib/components/library/ai-elements/prompt-input/core.d.ts +16 -0
  181. package/dist/lib/components/library/ai-elements/prompt-input/hooks.d.ts +46 -0
  182. package/dist/lib/components/library/ai-elements/prompt-input.d.ts +4 -137
  183. package/dist/lib/components/sessions/sessions-popover.d.ts +1 -0
  184. package/dist/lib/components/settings/models-settings/ModelEditor.d.ts +2 -0
  185. package/dist/lib/components/settings/models-settings/ModelTestPanel.d.ts +2 -0
  186. package/dist/lib/components/settings/models-settings/ModelsList.d.ts +2 -0
  187. package/dist/lib/components/settings/models-settings/custom-provider-card.d.ts +9 -0
  188. package/dist/lib/components/settings/models-settings/custom-provider-dialog.d.ts +8 -0
  189. package/dist/lib/components/settings/models-settings/provider-api-key-dialog.d.ts +7 -0
  190. package/dist/lib/components/settings/models-settings/provider-models-dialog.d.ts +8 -0
  191. package/dist/lib/components/settings/models-settings/registry-provider-card.d.ts +10 -0
  192. package/dist/lib/components/spec-detail/spec-detail-content.d.ts +9 -0
  193. package/dist/lib/components/spec-detail/spec-detail-header.d.ts +36 -0
  194. package/dist/lib/components/spec-detail/sub-spec-tabs.d.ts +14 -0
  195. package/dist/lib/components/specs-nav/SidebarGrouping.d.ts +2 -0
  196. package/dist/lib/components/specs-nav/SidebarSearch.d.ts +2 -0
  197. package/dist/lib/components/specs-nav/SidebarSpecList.d.ts +2 -0
  198. package/dist/lib/components/specs-nav/sidebar-filters.d.ts +18 -0
  199. package/dist/lib/components/specs-nav/sidebar-spec-list.d.ts +22 -0
  200. package/dist/lib/hooks/useSessionStatusToasts.d.ts +4 -0
  201. package/dist/lib/hooks/useSpecsQuery.d.ts +11 -1
  202. package/dist/lib/index.js +366 -361
  203. package/dist/lib/lib/api-error.d.ts +2 -0
  204. package/dist/lib/lib/api.d.ts +8 -1
  205. package/dist/lib/lib/backend-adapter/core.d.ts +23 -3
  206. package/dist/lib/lib/backend-adapter/http.d.ts +10 -1
  207. package/dist/lib/lib/backend-adapter/tauri.d.ts +10 -1
  208. package/dist/lib/lib/session-stream.d.ts +2 -0
  209. package/dist/lib/locales/en/common.json.d.ts +34 -4
  210. package/dist/lib/locales/en/errors.json.d.ts +14 -0
  211. package/dist/lib/locales/zh-CN/common.json.d.ts +61 -4
  212. package/dist/lib/locales/zh-CN/errors.json.d.ts +14 -0
  213. package/dist/lib/pages/dependencies/DependencyControls.d.ts +2 -0
  214. package/dist/lib/pages/dependencies/DependencyFilters.d.ts +2 -0
  215. package/dist/lib/pages/dependencies/DependencyGraph.d.ts +2 -0
  216. package/dist/lib/pages/spec-detail/SpecContent.d.ts +2 -0
  217. package/dist/lib/pages/spec-detail/SpecHeader.d.ts +2 -0
  218. package/dist/lib/pages/spec-detail/SpecMetadataPanel.d.ts +2 -0
  219. package/dist/lib/pages/spec-detail/SpecRelationships.d.ts +2 -0
  220. package/dist/lib/stores/session-create-preferences.d.ts +26 -0
  221. package/dist/lib/stores/sessions-ui.d.ts +2 -0
  222. package/dist/lib/types/api.d.ts +22 -6
  223. package/dist/lib/types/generated/BatchMetadataRequest.d.ts +6 -0
  224. package/dist/lib/types/generated/BatchMetadataResponse.d.ts +9 -0
  225. package/dist/lib/types/generated/ChecklistToggleItem.d.ts +7 -0
  226. package/dist/lib/types/generated/ChecklistToggleRequest.d.ts +12 -0
  227. package/dist/lib/types/generated/ChecklistToggleResponse.d.ts +9 -0
  228. package/dist/lib/types/generated/ChecklistToggledResult.d.ts +8 -0
  229. package/dist/lib/types/generated/ConfigFeatures.d.ts +3 -0
  230. package/dist/lib/types/generated/ConfigStructure.d.ts +7 -0
  231. package/dist/lib/types/generated/ContextFile.d.ts +10 -0
  232. package/dist/lib/types/generated/CreateSpecRequest.d.ts +14 -0
  233. package/dist/lib/types/generated/DependencyEdge.d.ts +5 -0
  234. package/dist/lib/types/generated/DependencyGraphResponse.d.ts +10 -0
  235. package/dist/lib/types/generated/DependencyNode.d.ts +8 -0
  236. package/dist/lib/types/generated/DependencyResponse.d.ts +9 -0
  237. package/dist/lib/types/generated/DetailedBreakdown.d.ts +22 -0
  238. package/dist/lib/types/generated/DetectionConfig.d.ts +6 -0
  239. package/dist/lib/types/generated/DetectionResult.d.ts +6 -0
  240. package/dist/lib/types/generated/DraftStatusConfig.d.ts +3 -0
  241. package/dist/lib/types/generated/FrontmatterResponse.d.ts +15 -0
  242. package/dist/lib/types/generated/HealthResponse.d.ts +7 -0
  243. package/dist/lib/types/generated/HierarchyNode.d.ts +29 -0
  244. package/dist/lib/types/generated/LeanSpecConfig.d.ts +16 -0
  245. package/dist/lib/types/generated/ListSpecsQuery.d.ts +16 -0
  246. package/dist/lib/types/generated/ListSpecsResponse.d.ts +15 -0
  247. package/dist/lib/types/generated/MetadataUpdate.d.ts +17 -0
  248. package/dist/lib/types/generated/PriorityCountItem.d.ts +4 -0
  249. package/dist/lib/types/generated/ProjectConfigResponse.d.ts +9 -0
  250. package/dist/lib/types/generated/ProjectContextResponse.d.ts +12 -0
  251. package/dist/lib/types/generated/ProjectValidationResponse.d.ts +9 -0
  252. package/dist/lib/types/generated/ProjectValidationSummary.d.ts +5 -0
  253. package/dist/lib/types/generated/RunnerDefinition.d.ts +29 -0
  254. package/dist/lib/types/generated/SearchFilters.d.ts +8 -0
  255. package/dist/lib/types/generated/SearchRequest.d.ts +9 -0
  256. package/dist/lib/types/generated/SearchResponse.d.ts +10 -0
  257. package/dist/lib/types/generated/SectionTokenCount.d.ts +7 -0
  258. package/dist/lib/types/generated/Session.d.ts +69 -0
  259. package/dist/lib/types/generated/SessionConfig.d.ts +44 -0
  260. package/dist/lib/types/generated/SessionMode.d.ts +4 -0
  261. package/dist/lib/types/generated/SessionStatus.d.ts +4 -0
  262. package/dist/lib/types/generated/SpecDetail.d.ts +31 -0
  263. package/dist/lib/types/generated/SpecMetadata.d.ts +8 -0
  264. package/dist/lib/types/generated/SpecPriority.d.ts +4 -0
  265. package/dist/lib/types/generated/SpecRawResponse.d.ts +8 -0
  266. package/dist/lib/types/generated/SpecRawUpdateRequest.d.ts +7 -0
  267. package/dist/lib/types/generated/SpecRelationships.d.ts +7 -0
  268. package/dist/lib/types/generated/SpecStatus.d.ts +4 -0
  269. package/dist/lib/types/generated/SpecSummary.d.ts +28 -0
  270. package/dist/lib/types/generated/SpecTokenResponse.d.ts +9 -0
  271. package/dist/lib/types/generated/SpecValidationError.d.ts +10 -0
  272. package/dist/lib/types/generated/SpecValidationResponse.d.ts +8 -0
  273. package/dist/lib/types/generated/StatsResponse.d.ts +13 -0
  274. package/dist/lib/types/generated/StatusCountItem.d.ts +4 -0
  275. package/dist/lib/types/generated/StatusTransition.d.ts +8 -0
  276. package/dist/lib/types/generated/SubSpec.d.ts +8 -0
  277. package/dist/lib/types/generated/TokenBreakdown.d.ts +13 -0
  278. package/dist/lib/types/generated/UpdateMetadataResponse.d.ts +9 -0
  279. package/dist/lib/types/generated/ValidationError.d.ts +5 -0
  280. package/dist/lib/types/generated/ValidationResponse.d.ts +8 -0
  281. package/dist/lib/types/generated/index.d.ts +58 -0
  282. package/dist/lib/types/specs.d.ts +3 -12
  283. package/dist/{linear-22T2wQM-.js → linear-2z6avE3r.js} +1 -1
  284. package/dist/{mermaid-parser.core-7H2TB5OK.js → mermaid-parser.core-WMnVe1c0.js} +10 -10
  285. package/dist/{min-CTCa51YR.js → min-DUysNg_V.js} +2 -2
  286. package/dist/{mindmap-definition-VGOIOE7T-Vr4FAsaw.js → mindmap-definition-VGOIOE7T-DEm273Z9.js} +3 -3
  287. package/dist/{packet-BFZMPI3H-DaHUmEbo.js → packet-BFZMPI3H-CmSJj4N0.js} +1 -1
  288. package/dist/pie-7BOR55EZ-x5AF7tG5.js +5 -0
  289. package/dist/{pieDiagram-ADFJNKIX-B00pZd9u.js → pieDiagram-ADFJNKIX-Ke8r-mM4.js} +4 -4
  290. package/dist/{quadrantDiagram-AYHSOK5B-CBFHSPbe.js → quadrantDiagram-AYHSOK5B-DLLlZTBr.js} +2 -2
  291. package/dist/radar-NHE76QYJ-CIhcw_Rm.js +5 -0
  292. package/dist/{requirementDiagram-UZGBJVZJ-CcWV4kDd.js → requirementDiagram-UZGBJVZJ-BR4B8eTH.js} +3 -3
  293. package/dist/{sankeyDiagram-TZEHDZUN-Bh_9B5Is.js → sankeyDiagram-TZEHDZUN-pDGOsl6Q.js} +1 -1
  294. package/dist/{sequenceDiagram-WL72ISMW-CXSDC0SA.js → sequenceDiagram-WL72ISMW-yt5mqXYT.js} +3 -3
  295. package/dist/{stateDiagram-FKZM4ZOC-BSe9CFeA.js → stateDiagram-FKZM4ZOC-C-huUZaG.js} +4 -4
  296. package/dist/{stateDiagram-v2-4FDKWEC3-Ci8JXu6f.js → stateDiagram-v2-4FDKWEC3-CSzbVv4p.js} +2 -2
  297. package/dist/{timeline-definition-IT6M3QCI-KvPKQjWb.js → timeline-definition-IT6M3QCI-DOzsM3OK.js} +2 -2
  298. package/dist/{treemap-KMMF4GRG-CQejoiGu.js → treemap-KMMF4GRG-DGnMOcp3.js} +1 -1
  299. package/dist/ui.css +1 -1
  300. package/dist/{xychartDiagram-PRI3JC2R-BgtmCQ1i.js → xychartDiagram-PRI3JC2R-C-4j16qj.js} +2 -2
  301. package/package.json +5 -2
  302. package/dist/assets/_baseUniq-Deb5Ms7c.js +0 -1
  303. package/dist/assets/arc-Buu9h4aM.js +0 -1
  304. package/dist/assets/architectureDiagram-VXUJARFQ-C3TCHsQ1.js +0 -36
  305. package/dist/assets/channel-DXSNL_In.js +0 -1
  306. package/dist/assets/classDiagram-2ON5EDUG-DF__c9oZ.js +0 -1
  307. package/dist/assets/classDiagram-v2-WZHVMYZB-DF__c9oZ.js +0 -1
  308. package/dist/assets/clone-yzvp7c46.js +0 -1
  309. package/dist/assets/diagram-PSM6KHXK-BbXozfvF.js +0 -24
  310. package/dist/assets/diagram-QEK2KX5R-CI0xoYPG.js +0 -43
  311. package/dist/assets/diagram-S2PKOQOG-De1ir5Gb.js +0 -24
  312. package/dist/assets/gitGraphDiagram-NY62KEGX-DnO4UpgE.js +0 -65
  313. package/dist/assets/index-8bAo-Ya1.js +0 -2242
  314. package/dist/assets/index-DpQZDEhA.css +0 -1
  315. package/dist/assets/infoDiagram-WHAUD3N6-BEUgS7mj.js +0 -2
  316. package/dist/assets/min-BgYUCOZC.js +0 -1
  317. package/dist/assets/pieDiagram-ADFJNKIX-BH4Rg8wz.js +0 -30
  318. package/dist/assets/sankeyDiagram-TZEHDZUN-CQZM-FY2.js +0 -10
  319. package/dist/assets/stateDiagram-v2-4FDKWEC3-fmuxwJig.js +0 -1
  320. package/dist/info-NVLQJR56-CtYMindw.js +0 -5
  321. package/dist/lib/components/sessions/sessions-drawer.d.ts +0 -1
  322. package/dist/pie-7BOR55EZ-CdGJxDmJ.js +0 -5
  323. package/dist/radar-NHE76QYJ-BdSRFNw4.js +0 -5
@@ -0,0 +1,2 @@
1
+ import { TFunction } from 'i18next';
2
+ export declare function describeApiError(err: unknown, t: TFunction): string;
@@ -1,5 +1,5 @@
1
1
  import { APIError, BackendAdapter } from './backend-adapter';
2
- import { FileContentResponse, FileListResponse, FileSearchResponse, ListParams, Spec, SpecDetail, Stats, DependencyGraph, MachinesResponse, Session, SessionLog, SessionMode, RunnerDefinition, RunnerListResponse, RunnerScope, RunnerValidateResponse, RunnerVersionResponse } from '../types/api';
2
+ import { FileContentResponse, FileListResponse, FileSearchResponse, ListParams, Spec, SpecDetail, Stats, DependencyGraph, MachinesResponse, Session, SessionLog, SessionMode, SpecSearchFilters, SpecSearchResponse, RunnerDefinition, RunnerListResponse, RunnerScope, RunnerValidateResponse, RunnerModelsResponse, RunnerVersionResponse } from '../types/api';
3
3
  import { ChatConfig } from '../types/chat-config';
4
4
  import { ModelsRegistryResponse } from '../types/models-registry';
5
5
  import { ChatStorageInfo } from './backend-adapter/core';
@@ -78,6 +78,7 @@ declare class ProjectAPI {
78
78
  prompt?: string | null;
79
79
  runner?: string;
80
80
  mode: SessionMode;
81
+ model?: string;
81
82
  }): Promise<Session>;
82
83
  startSession(sessionId: string): Promise<Session>;
83
84
  pauseSession(sessionId: string): Promise<Session>;
@@ -96,6 +97,7 @@ declare class ProjectAPI {
96
97
  }): Promise<RunnerListResponse>;
97
98
  getRunner(runnerId: string, projectPath?: string): Promise<RunnerDefinition>;
98
99
  getRunnerVersion(runnerId: string, projectPath?: string): Promise<RunnerVersionResponse>;
100
+ getRunnerModels(runnerId: string, projectPath?: string): Promise<RunnerModelsResponse>;
99
101
  createRunner(payload: {
100
102
  projectPath: string;
101
103
  runner: {
@@ -104,6 +106,8 @@ declare class ProjectAPI {
104
106
  command?: string | null;
105
107
  args?: string[];
106
108
  env?: Record<string, string>;
109
+ model?: string | null;
110
+ modelProviders?: string[];
107
111
  };
108
112
  scope?: RunnerScope;
109
113
  }): Promise<RunnerListResponse>;
@@ -114,6 +118,8 @@ declare class ProjectAPI {
114
118
  command?: string | null;
115
119
  args?: string[];
116
120
  env?: Record<string, string>;
121
+ model?: string | null;
122
+ modelProviders?: string[];
117
123
  };
118
124
  scope?: RunnerScope;
119
125
  }): Promise<RunnerDefinition>;
@@ -138,6 +144,7 @@ declare class ProjectAPI {
138
144
  getFiles(path?: string): Promise<FileListResponse>;
139
145
  getFile(path: string): Promise<FileContentResponse>;
140
146
  searchFiles(query: string, limit?: number): Promise<FileSearchResponse>;
147
+ searchSpecs(query: string, filters?: SpecSearchFilters): Promise<SpecSearchResponse>;
141
148
  }
142
149
  export declare const api: ProjectAPI;
143
150
  export { APIError };
@@ -1,13 +1,24 @@
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, 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 } from '../../types/api';
2
2
  import { ChatConfig } from '../../types/chat-config';
3
3
  import { ModelsRegistryResponse } from '../../types/models-registry';
4
4
  export interface ChatStorageInfo {
5
5
  path: string;
6
6
  sizeBytes: number;
7
7
  }
8
+ export interface StructuredApiError {
9
+ code: string;
10
+ message: string;
11
+ details?: unknown;
12
+ }
8
13
  export declare class APIError extends Error {
9
14
  status: number;
10
- constructor(status: number, message: string);
15
+ code?: string;
16
+ details?: unknown;
17
+ constructor(status: number, message: string, options?: {
18
+ code?: string;
19
+ details?: unknown;
20
+ });
21
+ toStructured(): StructuredApiError;
11
22
  }
12
23
  /**
13
24
  * Backend adapter interface - abstracts the communication layer
@@ -80,6 +91,7 @@ export interface BackendAdapter {
80
91
  prompt?: string | null;
81
92
  runner?: string;
82
93
  mode: SessionMode;
94
+ model?: string;
83
95
  }): Promise<Session>;
84
96
  startSession(sessionId: string): Promise<Session>;
85
97
  pauseSession(sessionId: string): Promise<Session>;
@@ -98,6 +110,9 @@ export interface BackendAdapter {
98
110
  }): Promise<RunnerListResponse>;
99
111
  getRunner(runnerId: string, projectPath?: string): Promise<RunnerDefinition>;
100
112
  getRunnerVersion(runnerId: string, projectPath?: string): Promise<RunnerVersionResponse>;
113
+ getRunnerModels(runnerId: string, projectPath?: string): Promise<{
114
+ models: string[];
115
+ }>;
101
116
  createRunner(payload: {
102
117
  projectPath: string;
103
118
  runner: {
@@ -106,6 +121,8 @@ export interface BackendAdapter {
106
121
  command?: string | null;
107
122
  args?: string[];
108
123
  env?: Record<string, string>;
124
+ model?: string | null;
125
+ modelProviders?: string[];
109
126
  };
110
127
  scope?: RunnerScope;
111
128
  }): Promise<RunnerListResponse>;
@@ -116,6 +133,8 @@ export interface BackendAdapter {
116
133
  command?: string | null;
117
134
  args?: string[];
118
135
  env?: Record<string, string>;
136
+ model?: string | null;
137
+ modelProviders?: string[];
119
138
  };
120
139
  scope?: RunnerScope;
121
140
  }): Promise<RunnerDefinition>;
@@ -137,8 +156,9 @@ export interface BackendAdapter {
137
156
  }): Promise<ModelsRegistryResponse>;
138
157
  refreshModelsRegistry(): Promise<void>;
139
158
  setProviderApiKey(providerId: string, apiKey: string, baseUrl?: string): Promise<void>;
159
+ searchSpecs(projectId: string, query: string, filters?: SpecSearchFilters): Promise<SpecSearchResponse>;
140
160
  getProjectFiles(projectId: string, path?: string): Promise<FileListResponse>;
141
161
  getProjectFile(projectId: string, path: string): Promise<FileContentResponse>;
142
162
  searchProjectFiles(projectId: string, query: string, limit?: number): Promise<FileSearchResponse>;
143
163
  }
144
- 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, };
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, };
@@ -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, 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 } from './core';
2
2
  /**
3
3
  * HTTP adapter for web browser - connects to Rust HTTP server
4
4
  */
@@ -71,6 +71,7 @@ export declare class HttpBackendAdapter implements BackendAdapter {
71
71
  prompt?: string | null;
72
72
  runner?: string;
73
73
  mode: SessionMode;
74
+ model?: string;
74
75
  }): Promise<Session>;
75
76
  startSession(sessionId: string): Promise<Session>;
76
77
  pauseSession(sessionId: string): Promise<Session>;
@@ -89,6 +90,9 @@ export declare class HttpBackendAdapter implements BackendAdapter {
89
90
  }): Promise<RunnerListResponse>;
90
91
  getRunner(runnerId: string, projectPath?: string): Promise<RunnerDefinition>;
91
92
  getRunnerVersion(runnerId: string, projectPath?: string): Promise<RunnerVersionResponse>;
93
+ getRunnerModels(runnerId: string, projectPath?: string): Promise<{
94
+ models: string[];
95
+ }>;
92
96
  createRunner(payload: {
93
97
  projectPath: string;
94
98
  runner: {
@@ -97,6 +101,8 @@ export declare class HttpBackendAdapter implements BackendAdapter {
97
101
  command?: string | null;
98
102
  args?: string[];
99
103
  env?: Record<string, string>;
104
+ model?: string | null;
105
+ modelProviders?: string[];
100
106
  };
101
107
  scope?: RunnerScope;
102
108
  }): Promise<RunnerListResponse>;
@@ -107,6 +113,8 @@ export declare class HttpBackendAdapter implements BackendAdapter {
107
113
  command?: string | null;
108
114
  args?: string[];
109
115
  env?: Record<string, string>;
116
+ model?: string | null;
117
+ modelProviders?: string[];
110
118
  };
111
119
  scope?: RunnerScope;
112
120
  }): Promise<RunnerDefinition>;
@@ -128,6 +136,7 @@ export declare class HttpBackendAdapter implements BackendAdapter {
128
136
  }): Promise<ModelsRegistryResponse>;
129
137
  refreshModelsRegistry(): Promise<void>;
130
138
  setProviderApiKey(providerId: string, apiKey: string, baseUrl?: string): Promise<void>;
139
+ searchSpecs(projectId: string, query: string, filters?: SpecSearchFilters): Promise<SpecSearchResponse>;
131
140
  getProjectFiles(projectId: string, path?: string): Promise<FileListResponse>;
132
141
  getProjectFile(projectId: string, path: string): Promise<FileContentResponse>;
133
142
  searchProjectFiles(projectId: string, query: string, limit?: number): Promise<FileSearchResponse>;
@@ -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, 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 } from './core';
2
2
  /**
3
3
  * Tauri adapter for desktop app - uses IPC commands
4
4
  */
@@ -68,6 +68,7 @@ export declare class TauriBackendAdapter implements BackendAdapter {
68
68
  prompt?: string | null;
69
69
  runner?: string;
70
70
  mode: SessionMode;
71
+ model?: string;
71
72
  }): Promise<Session>;
72
73
  startSession(): Promise<Session>;
73
74
  pauseSession(): Promise<Session>;
@@ -83,6 +84,9 @@ export declare class TauriBackendAdapter implements BackendAdapter {
83
84
  skipValidation?: boolean;
84
85
  }): Promise<RunnerListResponse>;
85
86
  getRunner(runnerId: string, projectPath?: string): Promise<RunnerDefinition>;
87
+ getRunnerModels(_runnerId: string, _projectPath?: string): Promise<{
88
+ models: string[];
89
+ }>;
86
90
  createRunner(payload: {
87
91
  projectPath: string;
88
92
  runner: {
@@ -91,6 +95,8 @@ export declare class TauriBackendAdapter implements BackendAdapter {
91
95
  command?: string | null;
92
96
  args?: string[];
93
97
  env?: Record<string, string>;
98
+ model?: string | null;
99
+ modelProviders?: string[];
94
100
  };
95
101
  scope?: RunnerScope;
96
102
  }): Promise<RunnerListResponse>;
@@ -101,6 +107,8 @@ export declare class TauriBackendAdapter implements BackendAdapter {
101
107
  command?: string | null;
102
108
  args?: string[];
103
109
  env?: Record<string, string>;
110
+ model?: string | null;
111
+ modelProviders?: string[];
104
112
  };
105
113
  scope?: RunnerScope;
106
114
  }): Promise<RunnerDefinition>;
@@ -126,4 +134,5 @@ export declare class TauriBackendAdapter implements BackendAdapter {
126
134
  getProjectFiles(projectId: string, path?: string): Promise<FileListResponse>;
127
135
  getProjectFile(projectId: string, path: string): Promise<FileContentResponse>;
128
136
  searchProjectFiles(projectId: string, query: string, limit?: number): Promise<FileSearchResponse>;
137
+ searchSpecs(projectId: string, query: string, filters?: SpecSearchFilters): Promise<SpecSearchResponse>;
129
138
  }
@@ -4,6 +4,8 @@ export declare function isAcpSession(session?: Session | null): boolean;
4
4
  export declare function parseStreamEventPayload(payload: unknown): SessionStreamEvent | null;
5
5
  export declare function parseSessionLog(log: SessionLog): SessionStreamEvent;
6
6
  export declare function appendStreamEvent(events: SessionStreamEvent[], next: SessionStreamEvent): SessionStreamEvent[];
7
+ /** Close all remaining open thoughts/messages — call after replaying historical logs. */
8
+ export declare function finalizeStreamEvents(events: SessionStreamEvent[]): SessionStreamEvent[];
7
9
  export declare function getAcpFilterType(event: SessionStreamEvent): AcpFilterType | null;
8
10
  export declare function getActiveToolCall(events: SessionStreamEvent[]): {
9
11
  tool: string;
@@ -90,6 +90,11 @@ declare const _default: {
90
90
  "emptyLogs": "No logs recorded yet.",
91
91
  "status": {
92
92
  "pending": "Pending",
93
+ "indicators": {
94
+ "running": "Session running",
95
+ "attention": "Session needs attention",
96
+ "completedRecent": "Session completed recently"
97
+ },
93
98
  "running": "Running",
94
99
  "paused": "Paused",
95
100
  "completed": "Completed",
@@ -104,6 +109,7 @@ declare const _default: {
104
109
  "resume": "Resume",
105
110
  "archive": "Archive",
106
111
  "stop": "Stop",
112
+ "viewAll": "View all",
107
113
  "logs": "View Logs",
108
114
  "view": "View",
109
115
  "retry": "Retry",
@@ -117,6 +123,7 @@ declare const _default: {
117
123
  "labels": {
118
124
  "runner": "Runner",
119
125
  "mode": "Mode",
126
+ "model": "Model",
120
127
  "started": "Started",
121
128
  "ended": "Ended",
122
129
  "duration": "Duration",
@@ -147,8 +154,7 @@ declare const _default: {
147
154
  },
148
155
  "modes": {
149
156
  "autonomous": "Autonomous",
150
- "guided": "Guided",
151
- "ralph": "Ralph (deprecated)"
157
+ "guided": "Guided"
152
158
  },
153
159
  "runners": {
154
160
  "claude": "Claude",
@@ -229,6 +235,15 @@ declare const _default: {
229
235
  "emptyDescription": "Create a new session to start tracking AI runs.",
230
236
  "noResultsTitle": "No matching sessions",
231
237
  "noResultsDescription": "Try adjusting your filters or search."
238
+ },
239
+ "groups": {
240
+ "active": "Active",
241
+ "today": "Today",
242
+ "yesterday": "Yesterday",
243
+ "older": "Older"
244
+ },
245
+ "labels": {
246
+ "noSpecs": "No specs"
232
247
  }
233
248
  },
234
249
  "sessionDetail": {
@@ -509,6 +524,7 @@ declare const _default: {
509
524
  "configure": "Configure",
510
525
  "setUp": "Set Up",
511
526
  "setDefault": "Set default",
527
+ "discoverModels": "Discover models",
512
528
  "saveAndSetDefault": "Save & Set Default",
513
529
  "defaults": "Default Settings",
514
530
  "defaultsDescription": "Configure default provider, model, and behavior",
@@ -681,6 +697,9 @@ declare const _default: {
681
697
  "command": "Command",
682
698
  "args": "Arguments",
683
699
  "argsHelp": "One argument per line",
700
+ "defaultModel": "Default Model",
701
+ "modelProviders": "Model Providers",
702
+ "modelProvidersHelp": "One models.dev provider ID per line (e.g. openai, anthropic, google)",
684
703
  "env": "Environment Variables",
685
704
  "envHelp": "One KEY=VALUE per line"
686
705
  },
@@ -689,6 +708,9 @@ declare const _default: {
689
708
  "name": "Claude Code",
690
709
  "command": "claude",
691
710
  "args": "--dangerously-skip-permissions\n--print",
711
+ "defaultModel": "claude-3-7-sonnet",
712
+ "searchOrTypeModel": "Search or type a model...",
713
+ "modelProviders": "anthropic\nopenai",
692
714
  "env": "ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}"
693
715
  },
694
716
  "errors": {
@@ -704,6 +726,10 @@ declare const _default: {
704
726
  "commandRequired": "Command is required",
705
727
  "envInvalid": "Each environment line must be KEY=VALUE"
706
728
  },
729
+ "customModel": "Custom",
730
+ "useCustomModel": "Use \"{{model}}\"",
731
+ "clearModel": "Clear model",
732
+ "noModelsFound": "Type a model name",
707
733
  "searchPlaceholder": "Search runners...",
708
734
  "noResults": "No runners match your filters",
709
735
  "sort": {
@@ -838,6 +864,8 @@ declare const _default: {
838
864
  "quickSearch": "Open quick search",
839
865
  "toggleChat": "Toggle AI chat",
840
866
  "toggleChatSidebar": "Toggle AI chat sidebar",
867
+ "toggleSessionsPopover": "Toggle sessions popover",
868
+ "newSession": "Start new session",
841
869
  "focusChatInput": "Focus chat input",
842
870
  "newConversation": "New conversation",
843
871
  "viewHistory": "View history",
@@ -958,7 +986,8 @@ declare const _default: {
958
986
  "enter": "Enter wide mode",
959
987
  "exit": "Exit wide mode"
960
988
  },
961
- "searchPlaceholder": "Search specs...",
989
+ "searchPlaceholder": "Search titles, content, tags...",
990
+ "searchHint": "Searches across spec titles, content, and tags",
962
991
  "filters": {
963
992
  "status": "Status",
964
993
  "priority": "Priority",
@@ -1510,6 +1539,7 @@ declare const _default: {
1510
1539
  "fileFailed": "Failed to load file."
1511
1540
  }
1512
1541
  }
1513
- };
1542
+ }
1543
+ ;
1514
1544
 
1515
1545
  export default _default;
@@ -8,6 +8,20 @@ declare const _default: {
8
8
  "unknownError": "An unknown error occurred",
9
9
  "permissionDenied": "Permission denied",
10
10
  "operationFailed": "Operation failed",
11
+ "apiCodes": {
12
+ "notFound": "Resource not found",
13
+ "projectNotFound": "Project not found",
14
+ "specNotFound": "Spec not found",
15
+ "noProject": "No project selected",
16
+ "invalidRequest": "Invalid request",
17
+ "unauthorized": "Unauthorized",
18
+ "validationFailed": "Validation failed",
19
+ "databaseError": "Database error",
20
+ "configError": "Configuration error",
21
+ "toolNotFound": "Tool not found",
22
+ "toolError": "Tool execution failed",
23
+ "internalError": "Internal server error"
24
+ },
11
25
  "pageError": {
12
26
  "title": "Something went wrong",
13
27
  "description": "The page failed to render."
@@ -13,6 +13,11 @@ declare const _default: {
13
13
  "manageMachines": "管理设备",
14
14
  "collapse": "收起",
15
15
  "closeMenu": "关闭菜单",
16
+ "indicators": {
17
+ "running": "会话运行中",
18
+ "attention": "会话需要关注",
19
+ "completedRecent": "会话最近已完成"
20
+ },
16
21
  "dashboard": "仪表板",
17
22
  "allSpecifications": "所有规范",
18
23
  "sessions": "会话",
@@ -101,6 +106,7 @@ declare const _default: {
101
106
  "resume": "继续",
102
107
  "archive": "归档",
103
108
  "stop": "停止",
109
+ "viewAll": "查看全部",
104
110
  "logs": "查看日志",
105
111
  "view": "查看",
106
112
  "retry": "重试",
@@ -114,6 +120,7 @@ declare const _default: {
114
120
  "labels": {
115
121
  "runner": "运行器",
116
122
  "mode": "模式",
123
+ "model": "模型",
117
124
  "started": "开始时间",
118
125
  "ended": "结束时间",
119
126
  "duration": "持续时间",
@@ -144,8 +151,34 @@ declare const _default: {
144
151
  },
145
152
  "modes": {
146
153
  "autonomous": "自主",
147
- "guided": "引导",
148
- "ralph": "Ralph(已弃用)"
154
+ "guided": "引导"
155
+ },
156
+ "runners": {
157
+ "claude": "Claude",
158
+ "copilot": "GitHub Copilot",
159
+ "codex": "Codex",
160
+ "opencode": "OpenCode",
161
+ "aider": "Aider",
162
+ "cline": "Cline",
163
+ "gemini": "Gemini",
164
+ "cursor": "Cursor",
165
+ "windsurf": "Windsurf",
166
+ "droid": "Droid",
167
+ "kiro": "Kiro",
168
+ "kimi": "Kimi",
169
+ "qodo": "Qodo",
170
+ "amp": "Amp",
171
+ "trae": "Trae",
172
+ "qwen-code": "Qwen Code",
173
+ "goose": "Goose",
174
+ "openhands": "OpenHands",
175
+ "continue": "Continue",
176
+ "crush": "Crush",
177
+ "roo": "Roo",
178
+ "codebuddy": "CodeBuddy",
179
+ "kilo": "Kilo",
180
+ "augment": "Augment",
181
+ "antigravity": "Antigravity"
149
182
  },
150
183
  "select": {
151
184
  "placeholder": "选择...",
@@ -199,6 +232,15 @@ declare const _default: {
199
232
  "emptyDescription": "创建新会话以开始跟踪 AI 运行情况。",
200
233
  "noResultsTitle": "没有匹配的会话",
201
234
  "noResultsDescription": "尝试调整筛选条件或搜索关键词。"
235
+ },
236
+ "groups": {
237
+ "active": "运行中",
238
+ "today": "今天",
239
+ "yesterday": "昨天",
240
+ "older": "更早"
241
+ },
242
+ "labels": {
243
+ "noSpecs": "无 Specs"
202
244
  }
203
245
  },
204
246
  "sessionDetail": {
@@ -557,6 +599,7 @@ declare const _default: {
557
599
  "configure": "配置",
558
600
  "setUp": "设置",
559
601
  "setDefault": "设为默认",
602
+ "discoverModels": "发现模型",
560
603
  "saveAndSetDefault": "保存并设为默认",
561
604
  "sort": {
562
605
  "name": "名称",
@@ -654,6 +697,9 @@ declare const _default: {
654
697
  "command": "命令",
655
698
  "args": "参数",
656
699
  "argsHelp": "每行一个参数",
700
+ "defaultModel": "默认模型",
701
+ "modelProviders": "模型提供商",
702
+ "modelProvidersHelp": "每行一个 models.dev 提供商 ID(例如 openai、anthropic、google)",
657
703
  "env": "环境变量",
658
704
  "envHelp": "每行一个 KEY=VALUE"
659
705
  },
@@ -662,6 +708,9 @@ declare const _default: {
662
708
  "name": "Claude Code",
663
709
  "command": "claude",
664
710
  "args": "--dangerously-skip-permissions\n--print",
711
+ "defaultModel": "claude-3-7-sonnet",
712
+ "searchOrTypeModel": "搜索或输入模型...",
713
+ "modelProviders": "anthropic\nopenai",
665
714
  "env": "ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}"
666
715
  },
667
716
  "errors": {
@@ -677,6 +726,10 @@ declare const _default: {
677
726
  "commandRequired": "命令为必填项",
678
727
  "envInvalid": "每行环境变量必须为 KEY=VALUE"
679
728
  },
729
+ "customModel": "自定义",
730
+ "useCustomModel": "使用 \"{{model}}\"",
731
+ "clearModel": "清除模型",
732
+ "noModelsFound": "输入模型名称",
680
733
  "searchPlaceholder": "搜索运行器...",
681
734
  "noResults": "没有符合筛选条件的运行器",
682
735
  "sort": {
@@ -811,6 +864,8 @@ declare const _default: {
811
864
  "quickSearch": "打开快速搜索",
812
865
  "toggleChat": "切换 AI 聊天",
813
866
  "toggleChatSidebar": "切换 AI 聊天侧边栏",
867
+ "toggleSessionsPopover": "切换会话弹出层",
868
+ "newSession": "新建会话",
814
869
  "focusChatInput": "聚焦聊天输入框",
815
870
  "newConversation": "新建对话",
816
871
  "viewHistory": "查看历史记录",
@@ -931,7 +986,8 @@ declare const _default: {
931
986
  "enter": "进入宽屏模式",
932
987
  "exit": "退出宽屏模式"
933
988
  },
934
- "searchPlaceholder": "搜索规范...",
989
+ "searchPlaceholder": "搜索标题、内容、标签...",
990
+ "searchHint": "在规范标题、内容和标签中搜索",
935
991
  "filters": {
936
992
  "status": "状态",
937
993
  "priority": "优先级",
@@ -1482,6 +1538,7 @@ declare const _default: {
1482
1538
  "fileFailed": "加载文件失败。"
1483
1539
  }
1484
1540
  }
1485
- };
1541
+ }
1542
+ ;
1486
1543
 
1487
1544
  export default _default;
@@ -8,6 +8,20 @@ declare const _default: {
8
8
  "unknownError": "发生未知错误",
9
9
  "permissionDenied": "权限被拒绝",
10
10
  "operationFailed": "操作失败",
11
+ "apiCodes": {
12
+ "notFound": "资源未找到",
13
+ "projectNotFound": "项目未找到",
14
+ "specNotFound": "Spec 未找到",
15
+ "noProject": "未选择项目",
16
+ "invalidRequest": "无效请求",
17
+ "unauthorized": "未授权",
18
+ "validationFailed": "验证失败",
19
+ "databaseError": "数据库错误",
20
+ "configError": "配置错误",
21
+ "toolNotFound": "工具未找到",
22
+ "toolError": "工具执行失败",
23
+ "internalError": "服务器内部错误"
24
+ },
11
25
  "pageError": {
12
26
  "title": "页面出现错误",
13
27
  "description": "页面渲染失败。"
@@ -0,0 +1,2 @@
1
+ import { PropsWithChildren } from 'react';
2
+ export declare function DependencyControls({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { PropsWithChildren } from 'react';
2
+ export declare function DependencyFilters({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { PropsWithChildren } from 'react';
2
+ export declare function DependencyGraph({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { PropsWithChildren } from 'react';
2
+ export declare function SpecContent({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { PropsWithChildren } from 'react';
2
+ export declare function SpecHeader({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { PropsWithChildren } from 'react';
2
+ export declare function SpecMetadataPanel({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { PropsWithChildren } from 'react';
2
+ export declare function SpecRelationships({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,26 @@
1
+ interface SessionCreatePreferencesState {
2
+ /** Maps runner ID → last-selected model ID */
3
+ modelByRunner: Record<string, string>;
4
+ /** Persist the user's model choice for a given runner */
5
+ setModelForRunner: (runnerId: string, modelId: string) => void;
6
+ /** Retrieve the stored model for a runner (or undefined) */
7
+ getModelForRunner: (runnerId: string) => string | undefined;
8
+ }
9
+ export declare const useSessionCreatePreferencesStore: import('zustand').UseBoundStore<Omit<import('zustand').StoreApi<SessionCreatePreferencesState>, "setState" | "persist"> & {
10
+ setState(partial: SessionCreatePreferencesState | Partial<SessionCreatePreferencesState> | ((state: SessionCreatePreferencesState) => SessionCreatePreferencesState | Partial<SessionCreatePreferencesState>), replace?: false | undefined): unknown;
11
+ setState(state: SessionCreatePreferencesState | ((state: SessionCreatePreferencesState) => SessionCreatePreferencesState), replace: true): unknown;
12
+ persist: {
13
+ setOptions: (options: Partial<import('zustand/middleware').PersistOptions<SessionCreatePreferencesState, {
14
+ modelByRunner: Record<string, string>;
15
+ }, unknown>>) => void;
16
+ clearStorage: () => void;
17
+ rehydrate: () => Promise<void> | void;
18
+ hasHydrated: () => boolean;
19
+ onHydrate: (fn: (state: SessionCreatePreferencesState) => void) => () => void;
20
+ onFinishHydration: (fn: (state: SessionCreatePreferencesState) => void) => () => void;
21
+ getOptions: () => Partial<import('zustand/middleware').PersistOptions<SessionCreatePreferencesState, {
22
+ modelByRunner: Record<string, string>;
23
+ }, unknown>>;
24
+ };
25
+ }>;
26
+ export {};
@@ -2,9 +2,11 @@ interface SessionsUiState {
2
2
  isDrawerOpen: boolean;
3
3
  activeSessionId: string | null;
4
4
  specFilter: string | null;
5
+ createDialogNonce: number;
5
6
  toggleDrawer: () => void;
6
7
  openDrawer: (specName?: string) => void;
7
8
  closeDrawer: () => void;
9
+ openCreateDialog: (specName?: string) => void;
8
10
  setSpecFilter: (specName: string | null) => void;
9
11
  setActiveSessionId: (id: string | null) => void;
10
12
  }