@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
@@ -1,7 +1,7 @@
1
- import { b as Ve, G as g, i as m, v as E } from "./graph-C4lFiFlc.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-BTv7M834.js";
3
- import { f as O, b as me, a as He, c as Ue, m as w, d as P } from "./min-CTCa51YR.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-Y0he5qiC.js";
1
+ import { b as Ve, G as g, i as m, v as E } from "./graph-D813u3VC.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-DeCRnh20.js";
3
+ import { f as O, b as me, a as He, c as Ue, m as w, d as P } from "./min-DUysNg_V.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-ChBmztZR.js";
5
5
  var on = /\s/;
6
6
  function un(e) {
7
7
  for (var n = e.length; n-- && on.test(e.charAt(n)); )
@@ -0,0 +1,18 @@
1
+ import { ConnectionStats } from './types';
2
+ interface DependencyFilterBarProps {
3
+ statusFilter: string[];
4
+ statusCounts: Record<string, number>;
5
+ showStandalone: boolean;
6
+ isCompact: boolean;
7
+ viewMode: 'graph' | 'focus';
8
+ focusedNodeId: string | null;
9
+ connectionStats: ConnectionStats;
10
+ onToggleStatus: (status: string) => void;
11
+ onToggleStandalone: () => void;
12
+ onToggleCompact: () => void;
13
+ onToggleViewMode: () => void;
14
+ onClear: () => void;
15
+ t: (key: string, options?: Record<string, unknown>) => string;
16
+ }
17
+ export declare function DependencyFilterBar({ statusFilter, statusCounts, showStandalone, isCompact, viewMode, focusedNodeId, connectionStats, onToggleStatus, onToggleStandalone, onToggleCompact, onToggleViewMode, onClear, t, }: DependencyFilterBarProps): import("react/jsx-runtime").JSX.Element;
18
+ export {};
@@ -0,0 +1,14 @@
1
+ import { Edge, Node, ReactFlowInstance } from 'reactflow';
2
+ import { SpecNodeData } from './types';
3
+ import * as React from 'react';
4
+ interface DependencyGraphViewProps {
5
+ nodes: Node<SpecNodeData>[];
6
+ edges: Edge[];
7
+ showStandalone: boolean;
8
+ onNodeClick: (event: React.MouseEvent, node: Node<SpecNodeData>) => void;
9
+ onPaneClick: () => void;
10
+ onInstance: (instance: ReactFlowInstance) => void;
11
+ t: (key: string) => string;
12
+ }
13
+ export declare function DependencyGraphView({ nodes, edges, showStandalone, onNodeClick, onPaneClick, onInstance, t, }: DependencyGraphViewProps): import("react/jsx-runtime").JSX.Element;
14
+ export {};
@@ -0,0 +1,10 @@
1
+ import { DependencyGraph } from '../../types/api';
2
+ interface SpecSelectorProps {
3
+ data: DependencyGraph;
4
+ focusedNodeId: string | null;
5
+ onSelectSpec: (specId: string) => void;
6
+ onClearSelection: () => void;
7
+ t: (key: string) => string;
8
+ }
9
+ export declare function SpecSelector({ data, focusedNodeId, onSelectSpec, onClearSelection, t, }: SpecSelectorProps): import("react/jsx-runtime").JSX.Element;
10
+ export {};
@@ -0,0 +1,2 @@
1
+ import { PropsWithChildren } from 'react';
2
+ export declare function AttachmentBar({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { PropsWithChildren } from 'react';
2
+ export declare function ContextSelector({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { PropsWithChildren } from 'react';
2
+ export declare function PromptTextArea({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { PropsWithChildren } from 'react';
2
+ export declare function VoiceInput({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,72 @@
1
+ import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator } from '../../ui/command';
2
+ import { DropdownMenu, DropdownMenuContent, DropdownMenuItem } from '../../ui/dropdown-menu';
3
+ import { HoverCard, HoverCardContent, HoverCardTrigger } from '../../ui/hover-card';
4
+ import { InputGroupAddon, InputGroupButton, InputGroupTextarea } from '../../ui/input-group';
5
+ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../../ui/select';
6
+ import { ChatStatus } from 'ai';
7
+ import { ComponentProps, HTMLAttributes } from 'react';
8
+ export type PromptInputBodyProps = HTMLAttributes<HTMLDivElement>;
9
+ export declare const PromptInputBody: ({ className, ...props }: PromptInputBodyProps) => import("react/jsx-runtime").JSX.Element;
10
+ export type PromptInputTextareaProps = ComponentProps<typeof InputGroupTextarea>;
11
+ export declare const PromptInputTextarea: ({ onChange, onKeyDown, className, placeholder, ...props }: PromptInputTextareaProps) => import("react/jsx-runtime").JSX.Element;
12
+ export type PromptInputHeaderProps = Omit<ComponentProps<typeof InputGroupAddon>, "align">;
13
+ export declare const PromptInputHeader: ({ className, ...props }: PromptInputHeaderProps) => import("react/jsx-runtime").JSX.Element;
14
+ export type PromptInputFooterProps = Omit<ComponentProps<typeof InputGroupAddon>, "align">;
15
+ export declare const PromptInputFooter: ({ className, ...props }: PromptInputFooterProps) => import("react/jsx-runtime").JSX.Element;
16
+ export type PromptInputToolsProps = HTMLAttributes<HTMLDivElement>;
17
+ export declare const PromptInputTools: ({ className, ...props }: PromptInputToolsProps) => import("react/jsx-runtime").JSX.Element;
18
+ export type PromptInputButtonProps = ComponentProps<typeof InputGroupButton>;
19
+ export declare const PromptInputButton: ({ variant, className, size, ...props }: PromptInputButtonProps) => import("react/jsx-runtime").JSX.Element;
20
+ export type PromptInputActionMenuProps = ComponentProps<typeof DropdownMenu>;
21
+ export declare const PromptInputActionMenu: (props: PromptInputActionMenuProps) => import("react/jsx-runtime").JSX.Element;
22
+ export type PromptInputActionMenuTriggerProps = PromptInputButtonProps;
23
+ export declare const PromptInputActionMenuTrigger: ({ className, children, ...props }: PromptInputActionMenuTriggerProps) => import("react/jsx-runtime").JSX.Element;
24
+ export type PromptInputActionMenuContentProps = ComponentProps<typeof DropdownMenuContent>;
25
+ export declare const PromptInputActionMenuContent: ({ className, ...props }: PromptInputActionMenuContentProps) => import("react/jsx-runtime").JSX.Element;
26
+ export type PromptInputActionMenuItemProps = ComponentProps<typeof DropdownMenuItem>;
27
+ export declare const PromptInputActionMenuItem: ({ className, ...props }: PromptInputActionMenuItemProps) => import("react/jsx-runtime").JSX.Element;
28
+ export type PromptInputSubmitProps = ComponentProps<typeof InputGroupButton> & {
29
+ status?: ChatStatus;
30
+ onStop?: () => void;
31
+ };
32
+ export declare const PromptInputSubmit: ({ className, variant, size, status, onStop, onClick, children, ...props }: PromptInputSubmitProps) => import("react/jsx-runtime").JSX.Element;
33
+ export type PromptInputSelectProps = ComponentProps<typeof Select>;
34
+ export declare const PromptInputSelect: (props: PromptInputSelectProps) => import("react/jsx-runtime").JSX.Element;
35
+ export type PromptInputSelectTriggerProps = ComponentProps<typeof SelectTrigger>;
36
+ export declare const PromptInputSelectTrigger: ({ className, ...props }: PromptInputSelectTriggerProps) => import("react/jsx-runtime").JSX.Element;
37
+ export type PromptInputSelectContentProps = ComponentProps<typeof SelectContent>;
38
+ export declare const PromptInputSelectContent: ({ className, ...props }: PromptInputSelectContentProps) => import("react/jsx-runtime").JSX.Element;
39
+ export type PromptInputSelectItemProps = ComponentProps<typeof SelectItem>;
40
+ export declare const PromptInputSelectItem: ({ className, ...props }: PromptInputSelectItemProps) => import("react/jsx-runtime").JSX.Element;
41
+ export type PromptInputSelectValueProps = ComponentProps<typeof SelectValue>;
42
+ export declare const PromptInputSelectValue: ({ className, ...props }: PromptInputSelectValueProps) => import("react/jsx-runtime").JSX.Element;
43
+ export type PromptInputHoverCardProps = ComponentProps<typeof HoverCard>;
44
+ export declare const PromptInputHoverCard: ({ openDelay, closeDelay, ...props }: PromptInputHoverCardProps) => import("react/jsx-runtime").JSX.Element;
45
+ export type PromptInputHoverCardTriggerProps = ComponentProps<typeof HoverCardTrigger>;
46
+ export declare const PromptInputHoverCardTrigger: (props: PromptInputHoverCardTriggerProps) => import("react/jsx-runtime").JSX.Element;
47
+ export type PromptInputHoverCardContentProps = ComponentProps<typeof HoverCardContent>;
48
+ export declare const PromptInputHoverCardContent: ({ align, ...props }: PromptInputHoverCardContentProps) => import("react/jsx-runtime").JSX.Element;
49
+ export type PromptInputTabsListProps = HTMLAttributes<HTMLDivElement>;
50
+ export declare const PromptInputTabsList: ({ className, ...props }: PromptInputTabsListProps) => import("react/jsx-runtime").JSX.Element;
51
+ export type PromptInputTabProps = HTMLAttributes<HTMLDivElement>;
52
+ export declare const PromptInputTab: ({ className, ...props }: PromptInputTabProps) => import("react/jsx-runtime").JSX.Element;
53
+ export type PromptInputTabLabelProps = HTMLAttributes<HTMLHeadingElement>;
54
+ export declare const PromptInputTabLabel: ({ className, ...props }: PromptInputTabLabelProps) => import("react/jsx-runtime").JSX.Element;
55
+ export type PromptInputTabBodyProps = HTMLAttributes<HTMLDivElement>;
56
+ export declare const PromptInputTabBody: ({ className, ...props }: PromptInputTabBodyProps) => import("react/jsx-runtime").JSX.Element;
57
+ export type PromptInputTabItemProps = HTMLAttributes<HTMLDivElement>;
58
+ export declare const PromptInputTabItem: ({ className, ...props }: PromptInputTabItemProps) => import("react/jsx-runtime").JSX.Element;
59
+ export type PromptInputCommandProps = ComponentProps<typeof Command>;
60
+ export declare const PromptInputCommand: ({ className, ...props }: PromptInputCommandProps) => import("react/jsx-runtime").JSX.Element;
61
+ export type PromptInputCommandInputProps = ComponentProps<typeof CommandInput>;
62
+ export declare const PromptInputCommandInput: ({ className, ...props }: PromptInputCommandInputProps) => import("react/jsx-runtime").JSX.Element;
63
+ export type PromptInputCommandListProps = ComponentProps<typeof CommandList>;
64
+ export declare const PromptInputCommandList: ({ className, ...props }: PromptInputCommandListProps) => import("react/jsx-runtime").JSX.Element;
65
+ export type PromptInputCommandEmptyProps = ComponentProps<typeof CommandEmpty>;
66
+ export declare const PromptInputCommandEmpty: ({ className, ...props }: PromptInputCommandEmptyProps) => import("react/jsx-runtime").JSX.Element;
67
+ export type PromptInputCommandGroupProps = ComponentProps<typeof CommandGroup>;
68
+ export declare const PromptInputCommandGroup: ({ className, ...props }: PromptInputCommandGroupProps) => import("react/jsx-runtime").JSX.Element;
69
+ export type PromptInputCommandItemProps = ComponentProps<typeof CommandItem>;
70
+ export declare const PromptInputCommandItem: ({ className, ...props }: PromptInputCommandItemProps) => import("react/jsx-runtime").JSX.Element;
71
+ export type PromptInputCommandSeparatorProps = ComponentProps<typeof CommandSeparator>;
72
+ export declare const PromptInputCommandSeparator: ({ className, ...props }: PromptInputCommandSeparatorProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,14 @@
1
+ import { ComponentProps, PropsWithChildren } from 'react';
2
+ import { DropdownMenuItem } from '../../ui/dropdown-menu';
3
+ export type PromptInputProviderProps = PropsWithChildren<{
4
+ initialInput?: string;
5
+ }>;
6
+ /**
7
+ * Optional global provider that lifts PromptInput state outside of PromptInput.
8
+ * If you don't use it, PromptInput stays fully self-managed.
9
+ */
10
+ export declare function PromptInputProvider({ initialInput: initialTextInput, children, }: PromptInputProviderProps): import("react/jsx-runtime").JSX.Element;
11
+ export type PromptInputActionAddAttachmentsProps = ComponentProps<typeof DropdownMenuItem> & {
12
+ label?: string;
13
+ };
14
+ export declare const PromptInputActionAddAttachments: ({ label, ...props }: PromptInputActionAddAttachmentsProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,16 @@
1
+ import { FormEvent, HTMLAttributes } from 'react';
2
+ import { PromptInputMessage } from './hooks';
3
+ export type PromptInputProps = Omit<HTMLAttributes<HTMLFormElement>, "onSubmit" | "onError"> & {
4
+ accept?: string;
5
+ multiple?: boolean;
6
+ globalDrop?: boolean;
7
+ syncHiddenInput?: boolean;
8
+ maxFiles?: number;
9
+ maxFileSize?: number;
10
+ onError?: (err: {
11
+ code: "max_files" | "max_file_size" | "accept";
12
+ message: string;
13
+ }) => void;
14
+ onSubmit: (message: PromptInputMessage, event: FormEvent<HTMLFormElement>) => void | Promise<void>;
15
+ };
16
+ export declare const PromptInput: ({ className, accept, multiple, globalDrop, syncHiddenInput, maxFiles, maxFileSize, onError, onSubmit, children, ...props }: PromptInputProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,46 @@
1
+ import { FileUIPart, SourceDocumentUIPart } from 'ai';
2
+ import { RefObject } from 'react';
3
+ export interface AttachmentsContext {
4
+ files: (FileUIPart & {
5
+ id: string;
6
+ })[];
7
+ add: (files: File[] | FileList) => void;
8
+ remove: (id: string) => void;
9
+ clear: () => void;
10
+ openFileDialog: () => void;
11
+ fileInputRef: RefObject<HTMLInputElement | null>;
12
+ }
13
+ export interface TextInputContext {
14
+ value: string;
15
+ setInput: (v: string) => void;
16
+ clear: () => void;
17
+ }
18
+ export interface PromptInputControllerProps {
19
+ textInput: TextInputContext;
20
+ attachments: AttachmentsContext;
21
+ /** INTERNAL: Allows PromptInput to register its file textInput + "open" callback */
22
+ __registerFileInput: (ref: RefObject<HTMLInputElement | null>, open: () => void) => void;
23
+ }
24
+ export declare const PromptInputController: import('react').Context<PromptInputControllerProps | null>;
25
+ export declare const ProviderAttachmentsContext: import('react').Context<AttachmentsContext | null>;
26
+ export declare const LocalAttachmentsContext: import('react').Context<AttachmentsContext | null>;
27
+ export declare const LocalReferencedSourcesContext: import('react').Context<ReferencedSourcesContext | null>;
28
+ export declare const usePromptInputController: () => PromptInputControllerProps;
29
+ export declare const useOptionalPromptInputController: () => PromptInputControllerProps | null;
30
+ export declare const useProviderAttachments: () => AttachmentsContext;
31
+ export declare const useOptionalProviderAttachments: () => AttachmentsContext | null;
32
+ export declare const usePromptInputAttachments: () => AttachmentsContext;
33
+ export interface ReferencedSourcesContext {
34
+ sources: (SourceDocumentUIPart & {
35
+ id: string;
36
+ })[];
37
+ add: (sources: SourceDocumentUIPart[] | SourceDocumentUIPart) => void;
38
+ remove: (id: string) => void;
39
+ clear: () => void;
40
+ }
41
+ export declare const usePromptInputReferencedSources: () => ReferencedSourcesContext;
42
+ export interface PromptInputMessage {
43
+ text: string;
44
+ files: FileUIPart[];
45
+ referencedSources: SourceDocumentUIPart[];
46
+ }
@@ -1,137 +1,4 @@
1
- import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator } from '../ui/command';
2
- import { DropdownMenu, DropdownMenuContent, DropdownMenuItem } from '../ui/dropdown-menu';
3
- import { HoverCard, HoverCardContent, HoverCardTrigger } from '../ui/hover-card';
4
- import { InputGroupAddon, InputGroupButton, InputGroupTextarea } from '../ui/input-group';
5
- import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../ui/select';
6
- import { ChatStatus, FileUIPart, SourceDocumentUIPart } from 'ai';
7
- import { ComponentProps, FormEvent, HTMLAttributes, PropsWithChildren, RefObject } from 'react';
8
- export interface AttachmentsContext {
9
- files: (FileUIPart & {
10
- id: string;
11
- })[];
12
- add: (files: File[] | FileList) => void;
13
- remove: (id: string) => void;
14
- clear: () => void;
15
- openFileDialog: () => void;
16
- fileInputRef: RefObject<HTMLInputElement | null>;
17
- }
18
- export interface TextInputContext {
19
- value: string;
20
- setInput: (v: string) => void;
21
- clear: () => void;
22
- }
23
- export interface PromptInputControllerProps {
24
- textInput: TextInputContext;
25
- attachments: AttachmentsContext;
26
- /** INTERNAL: Allows PromptInput to register its file textInput + "open" callback */
27
- __registerFileInput: (ref: RefObject<HTMLInputElement | null>, open: () => void) => void;
28
- }
29
- export declare const usePromptInputController: () => PromptInputControllerProps;
30
- export declare const useProviderAttachments: () => AttachmentsContext;
31
- export type PromptInputProviderProps = PropsWithChildren<{
32
- initialInput?: string;
33
- }>;
34
- /**
35
- * Optional global provider that lifts PromptInput state outside of PromptInput.
36
- * If you don't use it, PromptInput stays fully self-managed.
37
- */
38
- export declare function PromptInputProvider({ initialInput: initialTextInput, children, }: PromptInputProviderProps): import("react/jsx-runtime").JSX.Element;
39
- export declare const usePromptInputAttachments: () => AttachmentsContext;
40
- export interface ReferencedSourcesContext {
41
- sources: (SourceDocumentUIPart & {
42
- id: string;
43
- })[];
44
- add: (sources: SourceDocumentUIPart[] | SourceDocumentUIPart) => void;
45
- remove: (id: string) => void;
46
- clear: () => void;
47
- }
48
- export declare const LocalReferencedSourcesContext: import('react').Context<ReferencedSourcesContext | null>;
49
- export declare const usePromptInputReferencedSources: () => ReferencedSourcesContext;
50
- export type PromptInputActionAddAttachmentsProps = ComponentProps<typeof DropdownMenuItem> & {
51
- label?: string;
52
- };
53
- export declare const PromptInputActionAddAttachments: ({ label, ...props }: PromptInputActionAddAttachmentsProps) => import("react/jsx-runtime").JSX.Element;
54
- export interface PromptInputMessage {
55
- text: string;
56
- files: FileUIPart[];
57
- referencedSources: SourceDocumentUIPart[];
58
- }
59
- export type PromptInputProps = Omit<HTMLAttributes<HTMLFormElement>, "onSubmit" | "onError"> & {
60
- accept?: string;
61
- multiple?: boolean;
62
- globalDrop?: boolean;
63
- syncHiddenInput?: boolean;
64
- maxFiles?: number;
65
- maxFileSize?: number;
66
- onError?: (err: {
67
- code: "max_files" | "max_file_size" | "accept";
68
- message: string;
69
- }) => void;
70
- onSubmit: (message: PromptInputMessage, event: FormEvent<HTMLFormElement>) => void | Promise<void>;
71
- };
72
- export declare const PromptInput: ({ className, accept, multiple, globalDrop, syncHiddenInput, maxFiles, maxFileSize, onError, onSubmit, children, ...props }: PromptInputProps) => import("react/jsx-runtime").JSX.Element;
73
- export type PromptInputBodyProps = HTMLAttributes<HTMLDivElement>;
74
- export declare const PromptInputBody: ({ className, ...props }: PromptInputBodyProps) => import("react/jsx-runtime").JSX.Element;
75
- export type PromptInputTextareaProps = ComponentProps<typeof InputGroupTextarea>;
76
- export declare const PromptInputTextarea: ({ onChange, onKeyDown, className, placeholder, ...props }: PromptInputTextareaProps) => import("react/jsx-runtime").JSX.Element;
77
- export type PromptInputHeaderProps = Omit<ComponentProps<typeof InputGroupAddon>, "align">;
78
- export declare const PromptInputHeader: ({ className, ...props }: PromptInputHeaderProps) => import("react/jsx-runtime").JSX.Element;
79
- export type PromptInputFooterProps = Omit<ComponentProps<typeof InputGroupAddon>, "align">;
80
- export declare const PromptInputFooter: ({ className, ...props }: PromptInputFooterProps) => import("react/jsx-runtime").JSX.Element;
81
- export type PromptInputToolsProps = HTMLAttributes<HTMLDivElement>;
82
- export declare const PromptInputTools: ({ className, ...props }: PromptInputToolsProps) => import("react/jsx-runtime").JSX.Element;
83
- export type PromptInputButtonProps = ComponentProps<typeof InputGroupButton>;
84
- export declare const PromptInputButton: ({ variant, className, size, ...props }: PromptInputButtonProps) => import("react/jsx-runtime").JSX.Element;
85
- export type PromptInputActionMenuProps = ComponentProps<typeof DropdownMenu>;
86
- export declare const PromptInputActionMenu: (props: PromptInputActionMenuProps) => import("react/jsx-runtime").JSX.Element;
87
- export type PromptInputActionMenuTriggerProps = PromptInputButtonProps;
88
- export declare const PromptInputActionMenuTrigger: ({ className, children, ...props }: PromptInputActionMenuTriggerProps) => import("react/jsx-runtime").JSX.Element;
89
- export type PromptInputActionMenuContentProps = ComponentProps<typeof DropdownMenuContent>;
90
- export declare const PromptInputActionMenuContent: ({ className, ...props }: PromptInputActionMenuContentProps) => import("react/jsx-runtime").JSX.Element;
91
- export type PromptInputActionMenuItemProps = ComponentProps<typeof DropdownMenuItem>;
92
- export declare const PromptInputActionMenuItem: ({ className, ...props }: PromptInputActionMenuItemProps) => import("react/jsx-runtime").JSX.Element;
93
- export type PromptInputSubmitProps = ComponentProps<typeof InputGroupButton> & {
94
- status?: ChatStatus;
95
- onStop?: () => void;
96
- };
97
- export declare const PromptInputSubmit: ({ className, variant, size, status, onStop, onClick, children, ...props }: PromptInputSubmitProps) => import("react/jsx-runtime").JSX.Element;
98
- export type PromptInputSelectProps = ComponentProps<typeof Select>;
99
- export declare const PromptInputSelect: (props: PromptInputSelectProps) => import("react/jsx-runtime").JSX.Element;
100
- export type PromptInputSelectTriggerProps = ComponentProps<typeof SelectTrigger>;
101
- export declare const PromptInputSelectTrigger: ({ className, ...props }: PromptInputSelectTriggerProps) => import("react/jsx-runtime").JSX.Element;
102
- export type PromptInputSelectContentProps = ComponentProps<typeof SelectContent>;
103
- export declare const PromptInputSelectContent: ({ className, ...props }: PromptInputSelectContentProps) => import("react/jsx-runtime").JSX.Element;
104
- export type PromptInputSelectItemProps = ComponentProps<typeof SelectItem>;
105
- export declare const PromptInputSelectItem: ({ className, ...props }: PromptInputSelectItemProps) => import("react/jsx-runtime").JSX.Element;
106
- export type PromptInputSelectValueProps = ComponentProps<typeof SelectValue>;
107
- export declare const PromptInputSelectValue: ({ className, ...props }: PromptInputSelectValueProps) => import("react/jsx-runtime").JSX.Element;
108
- export type PromptInputHoverCardProps = ComponentProps<typeof HoverCard>;
109
- export declare const PromptInputHoverCard: ({ openDelay, closeDelay, ...props }: PromptInputHoverCardProps) => import("react/jsx-runtime").JSX.Element;
110
- export type PromptInputHoverCardTriggerProps = ComponentProps<typeof HoverCardTrigger>;
111
- export declare const PromptInputHoverCardTrigger: (props: PromptInputHoverCardTriggerProps) => import("react/jsx-runtime").JSX.Element;
112
- export type PromptInputHoverCardContentProps = ComponentProps<typeof HoverCardContent>;
113
- export declare const PromptInputHoverCardContent: ({ align, ...props }: PromptInputHoverCardContentProps) => import("react/jsx-runtime").JSX.Element;
114
- export type PromptInputTabsListProps = HTMLAttributes<HTMLDivElement>;
115
- export declare const PromptInputTabsList: ({ className, ...props }: PromptInputTabsListProps) => import("react/jsx-runtime").JSX.Element;
116
- export type PromptInputTabProps = HTMLAttributes<HTMLDivElement>;
117
- export declare const PromptInputTab: ({ className, ...props }: PromptInputTabProps) => import("react/jsx-runtime").JSX.Element;
118
- export type PromptInputTabLabelProps = HTMLAttributes<HTMLHeadingElement>;
119
- export declare const PromptInputTabLabel: ({ className, ...props }: PromptInputTabLabelProps) => import("react/jsx-runtime").JSX.Element;
120
- export type PromptInputTabBodyProps = HTMLAttributes<HTMLDivElement>;
121
- export declare const PromptInputTabBody: ({ className, ...props }: PromptInputTabBodyProps) => import("react/jsx-runtime").JSX.Element;
122
- export type PromptInputTabItemProps = HTMLAttributes<HTMLDivElement>;
123
- export declare const PromptInputTabItem: ({ className, ...props }: PromptInputTabItemProps) => import("react/jsx-runtime").JSX.Element;
124
- export type PromptInputCommandProps = ComponentProps<typeof Command>;
125
- export declare const PromptInputCommand: ({ className, ...props }: PromptInputCommandProps) => import("react/jsx-runtime").JSX.Element;
126
- export type PromptInputCommandInputProps = ComponentProps<typeof CommandInput>;
127
- export declare const PromptInputCommandInput: ({ className, ...props }: PromptInputCommandInputProps) => import("react/jsx-runtime").JSX.Element;
128
- export type PromptInputCommandListProps = ComponentProps<typeof CommandList>;
129
- export declare const PromptInputCommandList: ({ className, ...props }: PromptInputCommandListProps) => import("react/jsx-runtime").JSX.Element;
130
- export type PromptInputCommandEmptyProps = ComponentProps<typeof CommandEmpty>;
131
- export declare const PromptInputCommandEmpty: ({ className, ...props }: PromptInputCommandEmptyProps) => import("react/jsx-runtime").JSX.Element;
132
- export type PromptInputCommandGroupProps = ComponentProps<typeof CommandGroup>;
133
- export declare const PromptInputCommandGroup: ({ className, ...props }: PromptInputCommandGroupProps) => import("react/jsx-runtime").JSX.Element;
134
- export type PromptInputCommandItemProps = ComponentProps<typeof CommandItem>;
135
- export declare const PromptInputCommandItem: ({ className, ...props }: PromptInputCommandItemProps) => import("react/jsx-runtime").JSX.Element;
136
- export type PromptInputCommandSeparatorProps = ComponentProps<typeof CommandSeparator>;
137
- export declare const PromptInputCommandSeparator: ({ className, ...props }: PromptInputCommandSeparatorProps) => import("react/jsx-runtime").JSX.Element;
1
+ export * from './prompt-input/hooks';
2
+ export * from './prompt-input/context';
3
+ export * from './prompt-input/core';
4
+ export * from './prompt-input/compounds';
@@ -0,0 +1 @@
1
+ export declare function SessionsPopover(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { PropsWithChildren } from 'react';
2
+ export declare function ModelEditor({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { PropsWithChildren } from 'react';
2
+ export declare function ModelTestPanel({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { PropsWithChildren } from 'react';
2
+ export declare function ModelsList({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { Provider } from '../../../types/chat-config';
2
+ export interface CustomProviderCardProps {
3
+ provider: Provider;
4
+ isDefault: boolean;
5
+ onSetDefault: () => void;
6
+ onEdit: () => void;
7
+ onDelete: () => void;
8
+ }
9
+ export declare function CustomProviderCard({ provider, isDefault, onSetDefault, onEdit, onDelete }: CustomProviderCardProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { Provider } from '../../../types/chat-config';
2
+ export interface CustomProviderDialogProps {
3
+ provider: Provider | null;
4
+ existingIds: string[];
5
+ onSave: (provider: Provider) => Promise<void>;
6
+ onCancel: () => void;
7
+ }
8
+ export declare function CustomProviderDialog({ provider, existingIds, onSave, onCancel }: CustomProviderDialogProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { RegistryProvider } from '../../../types/models-registry';
2
+ export interface ProviderApiKeyDialogProps {
3
+ provider: RegistryProvider;
4
+ onSave: (apiKey: string, baseUrl?: string) => Promise<void>;
5
+ onCancel: () => void;
6
+ }
7
+ export declare function ProviderApiKeyDialog({ provider, onSave, onCancel }: ProviderApiKeyDialogProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { RegistryProvider } from '../../../types/models-registry';
2
+ export interface ProviderModelsDialogProps {
3
+ provider: RegistryProvider;
4
+ initialEnabledModels: string[] | undefined;
5
+ onSave: (models: string[] | undefined) => Promise<void>;
6
+ onCancel: () => void;
7
+ }
8
+ export declare function ProviderModelsDialog({ provider, initialEnabledModels, onSave, onCancel }: ProviderModelsDialogProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { RegistryProvider } from '../../../types/models-registry';
2
+ export interface RegistryProviderCardProps {
3
+ provider: RegistryProvider;
4
+ isDefault: boolean;
5
+ enabledModels?: string[];
6
+ onSetDefault: () => void;
7
+ onConfigureKey: () => void;
8
+ onConfigureModels: () => void;
9
+ }
10
+ export declare function RegistryProviderCard({ provider, isDefault, enabledModels, onSetDefault, onConfigureKey, onConfigureModels }: RegistryProviderCardProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ interface SpecDetailContentProps {
2
+ displayContent: string;
3
+ specName: string | undefined;
4
+ basePath: string;
5
+ hasSubSpecs: boolean;
6
+ onChecklistToggle: (itemText: string, checked: boolean) => Promise<void>;
7
+ }
8
+ export declare function SpecDetailContent({ displayContent, specName, basePath, hasSubSpecs, onChecklistToggle, }: SpecDetailContentProps): import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,36 @@
1
+ import { RefObject } from 'react';
2
+ import { SpecDetail, ValidationStatus } from '../../types/api';
3
+ interface SpecDetailHeaderProps {
4
+ spec: SpecDetail;
5
+ basePath: string;
6
+ displayTitle: string;
7
+ tags: string[];
8
+ updatedRelative: string | null;
9
+ isFocusMode: boolean;
10
+ setIsFocusMode: (v: boolean) => void;
11
+ headerRef: RefObject<HTMLElement | null>;
12
+ machineModeEnabled: boolean;
13
+ isMachineAvailable: () => boolean;
14
+ applySpecPatch: (updates: Partial<SpecDetail>) => void;
15
+ onOpenTimeline: () => void;
16
+ onOpenRelationships: () => void;
17
+ onOpenSessions: () => void;
18
+ onOpenMobile: () => void;
19
+ timelineDialogOpen: boolean;
20
+ setTimelineDialogOpen: (v: boolean) => void;
21
+ activeSessionsCount: number;
22
+ totalSessionsCount: number;
23
+ currentTokenCount: number | undefined;
24
+ currentValidationStatus: ValidationStatus | undefined;
25
+ asyncMetadata: {
26
+ validationErrors?: number;
27
+ };
28
+ onOpenTokenDialog: () => void;
29
+ onOpenValidationDialog: () => void;
30
+ t: (key: string, options?: Record<string, unknown>) => string;
31
+ i18n: {
32
+ language: string;
33
+ };
34
+ }
35
+ export declare function SpecDetailHeader({ spec, basePath, displayTitle, tags, updatedRelative, isFocusMode, setIsFocusMode, headerRef, machineModeEnabled, isMachineAvailable, applySpecPatch, onOpenTimeline, onOpenRelationships, onOpenSessions, onOpenMobile, timelineDialogOpen, setTimelineDialogOpen, currentTokenCount, currentValidationStatus, asyncMetadata, onOpenTokenDialog, onOpenValidationDialog, t, i18n, }: SpecDetailHeaderProps): import("react/jsx-runtime").JSX.Element;
36
+ export {};
@@ -0,0 +1,14 @@
1
+ import { LucideIcon } from 'lucide-react';
2
+ import { SubSpec } from '../../types/api';
3
+ export interface EnrichedSubSpec extends SubSpec {
4
+ icon: LucideIcon;
5
+ color: string;
6
+ }
7
+ interface SubSpecTabsProps {
8
+ subSpecs: EnrichedSubSpec[];
9
+ currentSubSpec: string | null;
10
+ onSwitch: (file: string | null) => void;
11
+ t: (key: string) => string;
12
+ }
13
+ export declare function SubSpecTabs({ subSpecs, currentSubSpec, onSwitch, t }: SubSpecTabsProps): import("react/jsx-runtime").JSX.Element | null;
14
+ export {};
@@ -0,0 +1,2 @@
1
+ import { PropsWithChildren } from 'react';
2
+ export declare function SidebarGrouping({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { PropsWithChildren } from 'react';
2
+ export declare function SidebarSearch({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { PropsWithChildren } from 'react';
2
+ export declare function SidebarSpecList({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,18 @@
1
+ interface SidebarFiltersProps {
2
+ statusFilter: string[];
3
+ priorityFilter: string[];
4
+ tagFilter: string[];
5
+ showArchived: boolean;
6
+ statusOptions: Array<'draft' | 'planned' | 'in-progress' | 'complete'>;
7
+ allTags: string[];
8
+ tagSearchQuery: string;
9
+ onTagSearchQueryChange: (v: string) => void;
10
+ onToggleStatus: (status: string) => void;
11
+ onTogglePriority: (priority: string) => void;
12
+ onToggleTag: (tag: string) => void;
13
+ onToggleArchived: () => void;
14
+ onClearAll: () => void;
15
+ t: (key: string) => string;
16
+ }
17
+ export declare function SidebarFilters({ statusFilter, priorityFilter, tagFilter, showArchived, statusOptions, allTags, tagSearchQuery, onTagSearchQueryChange, onToggleStatus, onTogglePriority, onToggleTag, onToggleArchived, onClearAll, t, }: SidebarFiltersProps): import("react/jsx-runtime").JSX.Element;
18
+ export {};
@@ -0,0 +1,22 @@
1
+ import { ListImperativeAPI } from 'react-window';
2
+ import { Spec } from '../../types/api';
3
+ interface SidebarSpecListProps {
4
+ loading: boolean;
5
+ filteredSpecs: Spec[];
6
+ activeSpecId: string;
7
+ selectedSpecId: string;
8
+ basePath: string;
9
+ viewMode: 'list' | 'tree';
10
+ sortBy: string;
11
+ listHeight: number;
12
+ listRef: React.RefObject<ListImperativeAPI | null>;
13
+ expandedIds: Set<string>;
14
+ onExpandedChange: (ids: Set<string>) => void;
15
+ onSpecClick: (spec: Spec) => void;
16
+ onMobileClose?: () => void;
17
+ t: (key: string) => string;
18
+ language: string;
19
+ sessionStatusBySpec: Map<string, 'running' | 'attention' | 'completed'>;
20
+ }
21
+ export declare function SidebarSpecList({ loading, filteredSpecs, activeSpecId, selectedSpecId, basePath, viewMode, sortBy, listHeight, listRef, expandedIds, onExpandedChange, onSpecClick, onMobileClose, t, language, sessionStatusBySpec, }: SidebarSpecListProps): import("react/jsx-runtime").JSX.Element;
22
+ export {};
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Emits user-facing toasts for meaningful session lifecycle changes.
3
+ */
4
+ export declare function useSessionStatusToasts(projectId: string | null): void;
@@ -1,5 +1,5 @@
1
1
  import { api } from '../lib/api';
2
- import { Spec, ListParams } from '../types/api';
2
+ import { Spec, ListParams, SpecSearchFilters } from '../types/api';
3
3
  export declare const specKeys: {
4
4
  all: readonly ["specs"];
5
5
  lists: () => readonly ["specs", "list"];
@@ -17,6 +17,16 @@ export declare function useSpecsList(projectId: string | null, params?: ListPara
17
17
  * Hook to fetch specs with hierarchy (for board/tree views)
18
18
  */
19
19
  export declare function useSpecsWithHierarchy(projectId: string | null, params?: ListParams): import('@tanstack/react-query').UseQueryResult<import('../types/api').ListSpecsResponse, Error>;
20
+ /**
21
+ * Hook to search specs using the backend search API.
22
+ * Only fires when query is non-empty. Uses keepPreviousData for smooth typing UX.
23
+ */
24
+ export declare function useSearchSpecs(projectId: string | null, query: string, filters?: SpecSearchFilters): import('@tanstack/react-query').UseQueryResult<import('../types/api').SpecSearchResponse, Error>;
25
+ /**
26
+ * Hook to fetch batch metadata (token counts, validation status) for a list of specs.
27
+ * Fires as soon as spec names are available. Results are cached by the sorted spec name list.
28
+ */
29
+ export declare function useBatchMetadata(projectId: string | null, specNames: string[]): import('@tanstack/react-query').UseQueryResult<import('../types/api').BatchMetadataResponse, Error>;
20
30
  /**
21
31
  * Hook to fetch a single spec's details
22
32
  */