@zythum02/fello-server 0.1.38 → 0.1.42

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 (290) hide show
  1. package/out/renderer/assets/{_baseUniq-2arSueqs.js → _baseUniq-CNYzw1DB.js} +1 -1
  2. package/out/renderer/assets/_baseUniq-CNYzw1DB.js.br +0 -0
  3. package/out/renderer/assets/_baseUniq-CNYzw1DB.js.gz +0 -0
  4. package/out/renderer/assets/{arc-B2hS_fYw.js → arc-vyANDg9_.js} +1 -1
  5. package/out/renderer/assets/arc-vyANDg9_.js.br +0 -0
  6. package/out/renderer/assets/arc-vyANDg9_.js.gz +0 -0
  7. package/out/renderer/assets/{architectureDiagram-Q4EWVU46-BsNV6Q_u.js → architectureDiagram-Q4EWVU46-BzcUqnqp.js} +5 -5
  8. package/out/renderer/assets/architectureDiagram-Q4EWVU46-BzcUqnqp.js.br +0 -0
  9. package/out/renderer/assets/architectureDiagram-Q4EWVU46-BzcUqnqp.js.gz +0 -0
  10. package/out/renderer/assets/{blockDiagram-DXYQGD6D-B3TL5qpJ.js → blockDiagram-DXYQGD6D-CTEZWa8S.js} +6 -6
  11. package/out/renderer/assets/blockDiagram-DXYQGD6D-CTEZWa8S.js.br +0 -0
  12. package/out/renderer/assets/blockDiagram-DXYQGD6D-CTEZWa8S.js.gz +0 -0
  13. package/out/renderer/assets/{c4Diagram-AHTNJAMY-UWR0iURI.js → c4Diagram-AHTNJAMY-BuFQdjjc.js} +2 -2
  14. package/out/renderer/assets/c4Diagram-AHTNJAMY-BuFQdjjc.js.br +0 -0
  15. package/out/renderer/assets/c4Diagram-AHTNJAMY-BuFQdjjc.js.gz +0 -0
  16. package/out/renderer/assets/{channel-CZ4_SQcX.js → channel-DyKDQZ32.js} +1 -1
  17. package/out/renderer/assets/{chunk-4BX2VUAB-CoxlnhL-.js → chunk-4BX2VUAB-BKj1YSOw.js} +1 -1
  18. package/out/renderer/assets/{chunk-4TB4RGXK-D54a7ekX.js → chunk-4TB4RGXK-CUfY3XSR.js} +5 -5
  19. package/out/renderer/assets/chunk-4TB4RGXK-CUfY3XSR.js.br +0 -0
  20. package/out/renderer/assets/chunk-4TB4RGXK-CUfY3XSR.js.gz +0 -0
  21. package/out/renderer/assets/{chunk-55IACEB6-Ct280wt-.js → chunk-55IACEB6-BPafcNL-.js} +1 -1
  22. package/out/renderer/assets/{chunk-EDXVE4YY-BL6VAaVb.js → chunk-EDXVE4YY-DlWjafzT.js} +1 -1
  23. package/out/renderer/assets/chunk-EDXVE4YY-DlWjafzT.js.br +0 -0
  24. package/out/renderer/assets/chunk-EDXVE4YY-DlWjafzT.js.gz +0 -0
  25. package/out/renderer/assets/{chunk-FMBD7UC4-DBopA0f6.js → chunk-FMBD7UC4-CI2WhJKs.js} +1 -1
  26. package/out/renderer/assets/{chunk-OYMX7WX6-Bl_DOAai.js → chunk-OYMX7WX6-1XAYgymx.js} +3 -3
  27. package/out/renderer/assets/chunk-OYMX7WX6-1XAYgymx.js.br +0 -0
  28. package/out/renderer/assets/{chunk-OYMX7WX6-Bl_DOAai.js.gz → chunk-OYMX7WX6-1XAYgymx.js.gz} +0 -0
  29. package/out/renderer/assets/{chunk-QZHKN3VN-DA4flbIy.js → chunk-QZHKN3VN-B2Kh1qhq.js} +1 -1
  30. package/out/renderer/assets/{chunk-YZCP3GAM-CVbpoPLH.js → chunk-YZCP3GAM-DKTOTV26.js} +1 -1
  31. package/out/renderer/assets/chunk-YZCP3GAM-DKTOTV26.js.br +0 -0
  32. package/out/renderer/assets/chunk-YZCP3GAM-DKTOTV26.js.gz +0 -0
  33. package/out/renderer/assets/{classDiagram-6PBFFD2Q-_lRxXa4-.js → classDiagram-6PBFFD2Q-BSxgcC66.js} +6 -6
  34. package/out/renderer/assets/{classDiagram-v2-HSJHXN6E-_lRxXa4-.js → classDiagram-v2-HSJHXN6E-BSxgcC66.js} +6 -6
  35. package/out/renderer/assets/{clone-BG1gXfl_.js → clone-B-NXg17n.js} +1 -1
  36. package/out/renderer/assets/{cose-bilkent-S5V4N54A-Btkhmc39.js → cose-bilkent-S5V4N54A-Dr92qdgA.js} +1 -1
  37. package/out/renderer/assets/cose-bilkent-S5V4N54A-Dr92qdgA.js.br +0 -0
  38. package/out/renderer/assets/cose-bilkent-S5V4N54A-Dr92qdgA.js.gz +0 -0
  39. package/out/renderer/assets/{dagre-KV5264BT-VHE6oew9.js → dagre-KV5264BT-7l16BI52.js} +6 -6
  40. package/out/renderer/assets/dagre-KV5264BT-7l16BI52.js.br +0 -0
  41. package/out/renderer/assets/dagre-KV5264BT-7l16BI52.js.gz +0 -0
  42. package/out/renderer/assets/{diagram-5BDNPKRD-DgXdDDOa.js → diagram-5BDNPKRD-7J0KHPTw.js} +6 -6
  43. package/out/renderer/assets/diagram-5BDNPKRD-7J0KHPTw.js.br +0 -0
  44. package/out/renderer/assets/diagram-5BDNPKRD-7J0KHPTw.js.gz +0 -0
  45. package/out/renderer/assets/{diagram-G4DWMVQ6-aIxO0TP7.js → diagram-G4DWMVQ6-Dgk1T3Ng.js} +6 -6
  46. package/out/renderer/assets/diagram-G4DWMVQ6-Dgk1T3Ng.js.br +0 -0
  47. package/out/renderer/assets/diagram-G4DWMVQ6-Dgk1T3Ng.js.gz +0 -0
  48. package/out/renderer/assets/{diagram-MMDJMWI5-Aop3URbl.js → diagram-MMDJMWI5-DerRkmYs.js} +5 -5
  49. package/out/renderer/assets/diagram-MMDJMWI5-DerRkmYs.js.br +0 -0
  50. package/out/renderer/assets/diagram-MMDJMWI5-DerRkmYs.js.gz +0 -0
  51. package/out/renderer/assets/{diagram-TYMM5635-B_GcWGly.js → diagram-TYMM5635-DR9dcwKl.js} +5 -5
  52. package/out/renderer/assets/diagram-TYMM5635-DR9dcwKl.js.br +0 -0
  53. package/out/renderer/assets/diagram-TYMM5635-DR9dcwKl.js.gz +0 -0
  54. package/out/renderer/assets/docx_parser_bg-Dwb1lJCk.wasm +0 -0
  55. package/out/renderer/assets/{erDiagram-SMLLAGMA-DRTFe31L.js → erDiagram-SMLLAGMA-CZ2vNtP6.js} +4 -4
  56. package/out/renderer/assets/erDiagram-SMLLAGMA-CZ2vNtP6.js.br +0 -0
  57. package/out/renderer/assets/erDiagram-SMLLAGMA-CZ2vNtP6.js.gz +0 -0
  58. package/out/renderer/assets/{flowDiagram-DWJPFMVM-DpVumXla.js → flowDiagram-DWJPFMVM-DOL_mdve.js} +6 -6
  59. package/out/renderer/assets/flowDiagram-DWJPFMVM-DOL_mdve.js.br +0 -0
  60. package/out/renderer/assets/flowDiagram-DWJPFMVM-DOL_mdve.js.gz +0 -0
  61. package/out/renderer/assets/{ganttDiagram-T4ZO3ILL-QQIgLZOW.js → ganttDiagram-T4ZO3ILL-DXfCf0sW.js} +2 -2
  62. package/out/renderer/assets/ganttDiagram-T4ZO3ILL-DXfCf0sW.js.br +0 -0
  63. package/out/renderer/assets/ganttDiagram-T4ZO3ILL-DXfCf0sW.js.gz +0 -0
  64. package/out/renderer/assets/{gitGraphDiagram-UUTBAWPF-DyI2-SrK.js → gitGraphDiagram-UUTBAWPF-Bi19RzUn.js} +6 -6
  65. package/out/renderer/assets/gitGraphDiagram-UUTBAWPF-Bi19RzUn.js.br +0 -0
  66. package/out/renderer/assets/gitGraphDiagram-UUTBAWPF-Bi19RzUn.js.gz +0 -0
  67. package/out/renderer/assets/{graph-BwbzO2Ks.js → graph-BX6gbV3Q.js} +2 -2
  68. package/out/renderer/assets/graph-BX6gbV3Q.js.br +0 -0
  69. package/out/renderer/assets/graph-BX6gbV3Q.js.gz +0 -0
  70. package/out/renderer/assets/{highlighted-body-OFNGDK62-oNuUm8Qf.js → highlighted-body-OFNGDK62-CpZorxCd.js} +1 -1
  71. package/out/renderer/assets/index-BihXRHbW.css +6729 -0
  72. package/out/renderer/assets/index-BihXRHbW.css.br +0 -0
  73. package/out/renderer/assets/index-BihXRHbW.css.gz +0 -0
  74. package/out/renderer/assets/{index-DeNFDxfa.js → index-Ckb2j9e5.js} +49896 -24877
  75. package/out/renderer/assets/index-Ckb2j9e5.js.br +0 -0
  76. package/out/renderer/assets/index-Ckb2j9e5.js.gz +0 -0
  77. package/out/renderer/assets/{infoDiagram-42DDH7IO-BIWizTqP.js → infoDiagram-42DDH7IO-BB7FT1Ls.js} +4 -4
  78. package/out/renderer/assets/{ishikawaDiagram-UXIWVN3A-DVtyaq2I.js → ishikawaDiagram-UXIWVN3A-LTRPX_Lf.js} +1 -1
  79. package/out/renderer/assets/ishikawaDiagram-UXIWVN3A-LTRPX_Lf.js.br +0 -0
  80. package/out/renderer/assets/ishikawaDiagram-UXIWVN3A-LTRPX_Lf.js.gz +0 -0
  81. package/out/renderer/assets/{journeyDiagram-VCZTEJTY-Bvn3-8TN.js → journeyDiagram-VCZTEJTY-bhcMvreZ.js} +4 -4
  82. package/out/renderer/assets/journeyDiagram-VCZTEJTY-bhcMvreZ.js.br +0 -0
  83. package/out/renderer/assets/journeyDiagram-VCZTEJTY-bhcMvreZ.js.gz +0 -0
  84. package/out/renderer/assets/{kanban-definition-6JOO6SKY-CHRGZGhy.js → kanban-definition-6JOO6SKY-CRg0O3h_.js} +2 -2
  85. package/out/renderer/assets/kanban-definition-6JOO6SKY-CRg0O3h_.js.br +0 -0
  86. package/out/renderer/assets/kanban-definition-6JOO6SKY-CRg0O3h_.js.gz +0 -0
  87. package/out/renderer/assets/{layout-BiHgvv97.js → layout-Gz3MMSfR.js} +4 -4
  88. package/out/renderer/assets/layout-Gz3MMSfR.js.br +0 -0
  89. package/out/renderer/assets/layout-Gz3MMSfR.js.gz +0 -0
  90. package/out/renderer/assets/{linear-Bom4JrNC.js → linear-B-XoCpT2.js} +1 -1
  91. package/out/renderer/assets/linear-B-XoCpT2.js.br +0 -0
  92. package/out/renderer/assets/linear-B-XoCpT2.js.gz +0 -0
  93. package/out/renderer/assets/{min-BCYUJzjq.js → min-pbiT8SH0.js} +2 -2
  94. package/out/renderer/assets/min-pbiT8SH0.js.br +0 -0
  95. package/out/renderer/assets/min-pbiT8SH0.js.gz +0 -0
  96. package/out/renderer/assets/{mindmap-definition-QFDTVHPH-kBHlNRUk.js → mindmap-definition-QFDTVHPH-QEcTW8Sk.js} +3 -3
  97. package/out/renderer/assets/mindmap-definition-QFDTVHPH-QEcTW8Sk.js.br +0 -0
  98. package/out/renderer/assets/mindmap-definition-QFDTVHPH-QEcTW8Sk.js.gz +0 -0
  99. package/out/renderer/assets/{pdf-worker-wrapper-Do-ikGHl.js → pdf-worker-wrapper-D9W0fDhT.js} +6514 -5934
  100. package/out/renderer/assets/pdf-worker-wrapper-D9W0fDhT.js.br +0 -0
  101. package/out/renderer/assets/pdf-worker-wrapper-D9W0fDhT.js.gz +0 -0
  102. package/out/renderer/assets/{pieDiagram-DEJITSTG-B8Cd10Zm.js → pieDiagram-DEJITSTG-BdyIMG3r.js} +6 -6
  103. package/out/renderer/assets/pieDiagram-DEJITSTG-BdyIMG3r.js.br +0 -0
  104. package/out/renderer/assets/pieDiagram-DEJITSTG-BdyIMG3r.js.gz +0 -0
  105. package/out/renderer/assets/pierre-dark-BL-l9r39.js +4 -0
  106. package/out/renderer/assets/pierre-dark-BL-l9r39.js.br +0 -0
  107. package/out/renderer/assets/pierre-dark-BL-l9r39.js.gz +0 -0
  108. package/out/renderer/assets/pierre-dark-protanopia-deuteranopia-BBjGuJQU.js +4 -0
  109. package/out/renderer/assets/pierre-dark-protanopia-deuteranopia-BBjGuJQU.js.br +0 -0
  110. package/out/renderer/assets/pierre-dark-protanopia-deuteranopia-BBjGuJQU.js.gz +0 -0
  111. package/out/renderer/assets/pierre-dark-soft-B6TBhICr.js +4 -0
  112. package/out/renderer/assets/pierre-dark-soft-B6TBhICr.js.br +0 -0
  113. package/out/renderer/assets/pierre-dark-soft-B6TBhICr.js.gz +0 -0
  114. package/out/renderer/assets/pierre-dark-tritanopia-f-j_EX9A.js +4 -0
  115. package/out/renderer/assets/pierre-dark-tritanopia-f-j_EX9A.js.br +0 -0
  116. package/out/renderer/assets/pierre-dark-tritanopia-f-j_EX9A.js.gz +0 -0
  117. package/out/renderer/assets/pierre-dark-vibrant-yElMGqZN.js +4 -0
  118. package/out/renderer/assets/pierre-dark-vibrant-yElMGqZN.js.br +0 -0
  119. package/out/renderer/assets/pierre-dark-vibrant-yElMGqZN.js.gz +0 -0
  120. package/out/renderer/assets/pierre-light-BUzWTcjO.js +4 -0
  121. package/out/renderer/assets/pierre-light-BUzWTcjO.js.br +0 -0
  122. package/out/renderer/assets/pierre-light-BUzWTcjO.js.gz +0 -0
  123. package/out/renderer/assets/pierre-light-protanopia-deuteranopia-DlvVSCaI.js +4 -0
  124. package/out/renderer/assets/pierre-light-protanopia-deuteranopia-DlvVSCaI.js.br +0 -0
  125. package/out/renderer/assets/pierre-light-protanopia-deuteranopia-DlvVSCaI.js.gz +0 -0
  126. package/out/renderer/assets/pierre-light-soft-CCMU-Zh0.js +4 -0
  127. package/out/renderer/assets/pierre-light-soft-CCMU-Zh0.js.br +0 -0
  128. package/out/renderer/assets/pierre-light-soft-CCMU-Zh0.js.gz +0 -0
  129. package/out/renderer/assets/pierre-light-tritanopia-v4xacE1C.js +4 -0
  130. package/out/renderer/assets/pierre-light-tritanopia-v4xacE1C.js.br +0 -0
  131. package/out/renderer/assets/pierre-light-tritanopia-v4xacE1C.js.gz +0 -0
  132. package/out/renderer/assets/pierre-light-vibrant-BRUbQnMc.js +4 -0
  133. package/out/renderer/assets/pierre-light-vibrant-BRUbQnMc.js.br +0 -0
  134. package/out/renderer/assets/pierre-light-vibrant-BRUbQnMc.js.gz +0 -0
  135. package/out/renderer/assets/pptx_parser_bg-N_v237u9.wasm +0 -0
  136. package/out/renderer/assets/{quadrantDiagram-34T5L4WZ-DMRGhqWH.js → quadrantDiagram-34T5L4WZ-CO63F50c.js} +2 -2
  137. package/out/renderer/assets/quadrantDiagram-34T5L4WZ-CO63F50c.js.br +0 -0
  138. package/out/renderer/assets/quadrantDiagram-34T5L4WZ-CO63F50c.js.gz +0 -0
  139. package/out/renderer/assets/render-worker-host-B5esxBj--BJuDnELc.js +25 -0
  140. package/out/renderer/assets/render-worker-host-B5esxBj--BJuDnELc.js.br +0 -0
  141. package/out/renderer/assets/render-worker-host-B5esxBj--BJuDnELc.js.gz +0 -0
  142. package/out/renderer/assets/render-worker-host-BzhGwe0I-Cw8cuLG0.js +25 -0
  143. package/out/renderer/assets/render-worker-host-BzhGwe0I-Cw8cuLG0.js.br +0 -0
  144. package/out/renderer/assets/render-worker-host-BzhGwe0I-Cw8cuLG0.js.gz +0 -0
  145. package/out/renderer/assets/render-worker-host-Cg60RAG_-C8N4a8W-.js +25 -0
  146. package/out/renderer/assets/render-worker-host-Cg60RAG_-C8N4a8W-.js.br +0 -0
  147. package/out/renderer/assets/render-worker-host-Cg60RAG_-C8N4a8W-.js.gz +0 -0
  148. package/out/renderer/assets/{requirementDiagram-MS252O5E-BpNqV5Lw.js → requirementDiagram-MS252O5E-Ch2CVgfZ.js} +3 -3
  149. package/out/renderer/assets/requirementDiagram-MS252O5E-Ch2CVgfZ.js.br +0 -0
  150. package/out/renderer/assets/requirementDiagram-MS252O5E-Ch2CVgfZ.js.gz +0 -0
  151. package/out/renderer/assets/{sankeyDiagram-XADWPNL6-C-J-0Rz_.js → sankeyDiagram-XADWPNL6--b1mWkl5.js} +1 -1
  152. package/out/renderer/assets/sankeyDiagram-XADWPNL6--b1mWkl5.js.br +0 -0
  153. package/out/renderer/assets/sankeyDiagram-XADWPNL6--b1mWkl5.js.gz +0 -0
  154. package/out/renderer/assets/{sequenceDiagram-FGHM5R23-CMqMXrZd.js → sequenceDiagram-FGHM5R23-CNautoFU.js} +3 -3
  155. package/out/renderer/assets/sequenceDiagram-FGHM5R23-CNautoFU.js.br +0 -0
  156. package/out/renderer/assets/sequenceDiagram-FGHM5R23-CNautoFU.js.gz +0 -0
  157. package/out/renderer/assets/{stateDiagram-FHFEXIEX-DDHqBY5O.js → stateDiagram-FHFEXIEX-CKsv5tYk.js} +8 -8
  158. package/out/renderer/assets/stateDiagram-FHFEXIEX-CKsv5tYk.js.br +0 -0
  159. package/out/renderer/assets/stateDiagram-FHFEXIEX-CKsv5tYk.js.gz +0 -0
  160. package/out/renderer/assets/{stateDiagram-v2-QKLJ7IA2-CdttVFa6.js → stateDiagram-v2-QKLJ7IA2-CkdzkP8w.js} +4 -4
  161. package/out/renderer/assets/{timeline-definition-GMOUNBTQ-ChQoAgnU.js → timeline-definition-GMOUNBTQ-CF_zqktL.js} +2 -2
  162. package/out/renderer/assets/timeline-definition-GMOUNBTQ-CF_zqktL.js.br +0 -0
  163. package/out/renderer/assets/timeline-definition-GMOUNBTQ-CF_zqktL.js.gz +0 -0
  164. package/out/renderer/assets/{vennDiagram-DHZGUBPP-DJoyQ6OH.js → vennDiagram-DHZGUBPP-C7q9SHIx.js} +1 -1
  165. package/out/renderer/assets/vennDiagram-DHZGUBPP-C7q9SHIx.js.br +0 -0
  166. package/out/renderer/assets/vennDiagram-DHZGUBPP-C7q9SHIx.js.gz +0 -0
  167. package/out/renderer/assets/{wardley-RL74JXVD-DW3SSaBo.js → wardley-RL74JXVD-DmW7d79y.js} +3 -3
  168. package/out/renderer/assets/wardley-RL74JXVD-DmW7d79y.js.br +0 -0
  169. package/out/renderer/assets/wardley-RL74JXVD-DmW7d79y.js.gz +0 -0
  170. package/out/renderer/assets/{wardleyDiagram-NUSXRM2D-C7reTb83.js → wardleyDiagram-NUSXRM2D-1VzGmAot.js} +5 -5
  171. package/out/renderer/assets/wardleyDiagram-NUSXRM2D-1VzGmAot.js.br +0 -0
  172. package/out/renderer/assets/wardleyDiagram-NUSXRM2D-1VzGmAot.js.gz +0 -0
  173. package/out/renderer/assets/xlsx_parser_bg-CQ5Lc7LS.wasm +0 -0
  174. package/out/renderer/assets/{xychartDiagram-5P7HB3ND-BdoSP0OA.js → xychartDiagram-5P7HB3ND-DznKXnsr.js} +2 -2
  175. package/out/renderer/assets/xychartDiagram-5P7HB3ND-DznKXnsr.js.br +0 -0
  176. package/out/renderer/assets/xychartDiagram-5P7HB3ND-DznKXnsr.js.gz +0 -0
  177. package/out/renderer/index.html +2 -2
  178. package/out/renderer/index.html.br +0 -0
  179. package/out/renderer/index.html.gz +0 -0
  180. package/out/scripts/electron-preload/preload.mjs +21 -0
  181. package/out/scripts/mcp-memo/server.mjs +173 -0
  182. package/out/scripts/mcp-memory/server.mjs +167 -0
  183. package/out/scripts/mcp-search/server.mjs +1 -1
  184. package/out/scripts/worker-file-outline/worker.mjs +237 -28
  185. package/out/server/main.js +8848 -7705
  186. package/package.json +14 -13
  187. package/resources/tree-sitter-wasm/tree-sitter-dart.wasm +0 -0
  188. package/out/renderer/assets/_baseUniq-2arSueqs.js.br +0 -0
  189. package/out/renderer/assets/_baseUniq-2arSueqs.js.gz +0 -0
  190. package/out/renderer/assets/arc-B2hS_fYw.js.br +0 -0
  191. package/out/renderer/assets/arc-B2hS_fYw.js.gz +0 -0
  192. package/out/renderer/assets/architectureDiagram-Q4EWVU46-BsNV6Q_u.js.br +0 -0
  193. package/out/renderer/assets/architectureDiagram-Q4EWVU46-BsNV6Q_u.js.gz +0 -0
  194. package/out/renderer/assets/blockDiagram-DXYQGD6D-B3TL5qpJ.js.br +0 -0
  195. package/out/renderer/assets/blockDiagram-DXYQGD6D-B3TL5qpJ.js.gz +0 -0
  196. package/out/renderer/assets/c4Diagram-AHTNJAMY-UWR0iURI.js.br +0 -0
  197. package/out/renderer/assets/c4Diagram-AHTNJAMY-UWR0iURI.js.gz +0 -0
  198. package/out/renderer/assets/chunk-4TB4RGXK-D54a7ekX.js.br +0 -0
  199. package/out/renderer/assets/chunk-4TB4RGXK-D54a7ekX.js.gz +0 -0
  200. package/out/renderer/assets/chunk-EDXVE4YY-BL6VAaVb.js.br +0 -0
  201. package/out/renderer/assets/chunk-EDXVE4YY-BL6VAaVb.js.gz +0 -0
  202. package/out/renderer/assets/chunk-OYMX7WX6-Bl_DOAai.js.br +0 -0
  203. package/out/renderer/assets/chunk-YZCP3GAM-CVbpoPLH.js.br +0 -0
  204. package/out/renderer/assets/chunk-YZCP3GAM-CVbpoPLH.js.gz +0 -0
  205. package/out/renderer/assets/cose-bilkent-S5V4N54A-Btkhmc39.js.br +0 -0
  206. package/out/renderer/assets/cose-bilkent-S5V4N54A-Btkhmc39.js.gz +0 -0
  207. package/out/renderer/assets/dagre-KV5264BT-VHE6oew9.js.br +0 -0
  208. package/out/renderer/assets/dagre-KV5264BT-VHE6oew9.js.gz +0 -0
  209. package/out/renderer/assets/diagram-5BDNPKRD-DgXdDDOa.js.br +0 -0
  210. package/out/renderer/assets/diagram-5BDNPKRD-DgXdDDOa.js.gz +0 -0
  211. package/out/renderer/assets/diagram-G4DWMVQ6-aIxO0TP7.js.br +0 -0
  212. package/out/renderer/assets/diagram-G4DWMVQ6-aIxO0TP7.js.gz +0 -0
  213. package/out/renderer/assets/diagram-MMDJMWI5-Aop3URbl.js.br +0 -0
  214. package/out/renderer/assets/diagram-MMDJMWI5-Aop3URbl.js.gz +0 -0
  215. package/out/renderer/assets/diagram-TYMM5635-B_GcWGly.js.br +0 -0
  216. package/out/renderer/assets/diagram-TYMM5635-B_GcWGly.js.gz +0 -0
  217. package/out/renderer/assets/erDiagram-SMLLAGMA-DRTFe31L.js.br +0 -0
  218. package/out/renderer/assets/erDiagram-SMLLAGMA-DRTFe31L.js.gz +0 -0
  219. package/out/renderer/assets/flowDiagram-DWJPFMVM-DpVumXla.js.br +0 -0
  220. package/out/renderer/assets/flowDiagram-DWJPFMVM-DpVumXla.js.gz +0 -0
  221. package/out/renderer/assets/ganttDiagram-T4ZO3ILL-QQIgLZOW.js.br +0 -0
  222. package/out/renderer/assets/ganttDiagram-T4ZO3ILL-QQIgLZOW.js.gz +0 -0
  223. package/out/renderer/assets/gitGraphDiagram-UUTBAWPF-DyI2-SrK.js.br +0 -0
  224. package/out/renderer/assets/gitGraphDiagram-UUTBAWPF-DyI2-SrK.js.gz +0 -0
  225. package/out/renderer/assets/graph-BwbzO2Ks.js.br +0 -0
  226. package/out/renderer/assets/graph-BwbzO2Ks.js.gz +0 -0
  227. package/out/renderer/assets/index-B7s1w0e4.css +0 -7619
  228. package/out/renderer/assets/index-B7s1w0e4.css.br +0 -0
  229. package/out/renderer/assets/index-B7s1w0e4.css.gz +0 -0
  230. package/out/renderer/assets/index-DeNFDxfa.js.br +0 -0
  231. package/out/renderer/assets/index-DeNFDxfa.js.gz +0 -0
  232. package/out/renderer/assets/ishikawaDiagram-UXIWVN3A-DVtyaq2I.js.br +0 -0
  233. package/out/renderer/assets/ishikawaDiagram-UXIWVN3A-DVtyaq2I.js.gz +0 -0
  234. package/out/renderer/assets/journeyDiagram-VCZTEJTY-Bvn3-8TN.js.br +0 -0
  235. package/out/renderer/assets/journeyDiagram-VCZTEJTY-Bvn3-8TN.js.gz +0 -0
  236. package/out/renderer/assets/kanban-definition-6JOO6SKY-CHRGZGhy.js.br +0 -0
  237. package/out/renderer/assets/kanban-definition-6JOO6SKY-CHRGZGhy.js.gz +0 -0
  238. package/out/renderer/assets/layout-BiHgvv97.js.br +0 -0
  239. package/out/renderer/assets/layout-BiHgvv97.js.gz +0 -0
  240. package/out/renderer/assets/linear-Bom4JrNC.js.br +0 -0
  241. package/out/renderer/assets/linear-Bom4JrNC.js.gz +0 -0
  242. package/out/renderer/assets/min-BCYUJzjq.js.br +0 -0
  243. package/out/renderer/assets/min-BCYUJzjq.js.gz +0 -0
  244. package/out/renderer/assets/mindmap-definition-QFDTVHPH-kBHlNRUk.js.br +0 -0
  245. package/out/renderer/assets/mindmap-definition-QFDTVHPH-kBHlNRUk.js.gz +0 -0
  246. package/out/renderer/assets/pdf-worker-wrapper-Do-ikGHl.js.br +0 -0
  247. package/out/renderer/assets/pdf-worker-wrapper-Do-ikGHl.js.gz +0 -0
  248. package/out/renderer/assets/pieDiagram-DEJITSTG-B8Cd10Zm.js.br +0 -0
  249. package/out/renderer/assets/pieDiagram-DEJITSTG-B8Cd10Zm.js.gz +0 -0
  250. package/out/renderer/assets/pierre-dark-C-Drv5KU.js +0 -4
  251. package/out/renderer/assets/pierre-dark-C-Drv5KU.js.br +0 -0
  252. package/out/renderer/assets/pierre-dark-C-Drv5KU.js.gz +0 -0
  253. package/out/renderer/assets/pierre-dark-soft-Cd74uQaL.js +0 -4
  254. package/out/renderer/assets/pierre-dark-soft-Cd74uQaL.js.br +0 -0
  255. package/out/renderer/assets/pierre-dark-soft-Cd74uQaL.js.gz +0 -0
  256. package/out/renderer/assets/pierre-light-CfQnmt6J.js +0 -4
  257. package/out/renderer/assets/pierre-light-CfQnmt6J.js.br +0 -0
  258. package/out/renderer/assets/pierre-light-CfQnmt6J.js.gz +0 -0
  259. package/out/renderer/assets/pierre-light-soft-DMVdU74b.js +0 -4
  260. package/out/renderer/assets/pierre-light-soft-DMVdU74b.js.br +0 -0
  261. package/out/renderer/assets/pierre-light-soft-DMVdU74b.js.gz +0 -0
  262. package/out/renderer/assets/quadrantDiagram-34T5L4WZ-DMRGhqWH.js.br +0 -0
  263. package/out/renderer/assets/quadrantDiagram-34T5L4WZ-DMRGhqWH.js.gz +0 -0
  264. package/out/renderer/assets/render-worker-host-4IbvpiUo-Dc5a8nQ-.js +0 -25
  265. package/out/renderer/assets/render-worker-host-4IbvpiUo-Dc5a8nQ-.js.br +0 -0
  266. package/out/renderer/assets/render-worker-host-4IbvpiUo-Dc5a8nQ-.js.gz +0 -0
  267. package/out/renderer/assets/render-worker-host-BdfGz_ou-AC9asZT1.js +0 -25
  268. package/out/renderer/assets/render-worker-host-BdfGz_ou-AC9asZT1.js.br +0 -0
  269. package/out/renderer/assets/render-worker-host-BdfGz_ou-AC9asZT1.js.gz +0 -0
  270. package/out/renderer/assets/render-worker-host-awn_IPjt-Bowndb19.js +0 -25
  271. package/out/renderer/assets/render-worker-host-awn_IPjt-Bowndb19.js.br +0 -0
  272. package/out/renderer/assets/render-worker-host-awn_IPjt-Bowndb19.js.gz +0 -0
  273. package/out/renderer/assets/requirementDiagram-MS252O5E-BpNqV5Lw.js.br +0 -0
  274. package/out/renderer/assets/requirementDiagram-MS252O5E-BpNqV5Lw.js.gz +0 -0
  275. package/out/renderer/assets/sankeyDiagram-XADWPNL6-C-J-0Rz_.js.br +0 -0
  276. package/out/renderer/assets/sankeyDiagram-XADWPNL6-C-J-0Rz_.js.gz +0 -0
  277. package/out/renderer/assets/sequenceDiagram-FGHM5R23-CMqMXrZd.js.br +0 -0
  278. package/out/renderer/assets/sequenceDiagram-FGHM5R23-CMqMXrZd.js.gz +0 -0
  279. package/out/renderer/assets/stateDiagram-FHFEXIEX-DDHqBY5O.js.br +0 -0
  280. package/out/renderer/assets/stateDiagram-FHFEXIEX-DDHqBY5O.js.gz +0 -0
  281. package/out/renderer/assets/timeline-definition-GMOUNBTQ-ChQoAgnU.js.br +0 -0
  282. package/out/renderer/assets/timeline-definition-GMOUNBTQ-ChQoAgnU.js.gz +0 -0
  283. package/out/renderer/assets/vennDiagram-DHZGUBPP-DJoyQ6OH.js.br +0 -0
  284. package/out/renderer/assets/vennDiagram-DHZGUBPP-DJoyQ6OH.js.gz +0 -0
  285. package/out/renderer/assets/wardley-RL74JXVD-DW3SSaBo.js.br +0 -0
  286. package/out/renderer/assets/wardley-RL74JXVD-DW3SSaBo.js.gz +0 -0
  287. package/out/renderer/assets/wardleyDiagram-NUSXRM2D-C7reTb83.js.br +0 -0
  288. package/out/renderer/assets/wardleyDiagram-NUSXRM2D-C7reTb83.js.gz +0 -0
  289. package/out/renderer/assets/xychartDiagram-5P7HB3ND-BdoSP0OA.js.br +0 -0
  290. package/out/renderer/assets/xychartDiagram-5P7HB3ND-BdoSP0OA.js.gz +0 -0
@@ -1,5 +1,113 @@
1
1
  import { existsSync, readFileSync } from "fs";
2
2
  import { Parser, Language } from "web-tree-sitter";
3
+ const DEFAULT_DETAIL_LABELS = /* @__PURE__ */ new Set(["import", "import from", "export"]);
4
+ function stripQuotes(text) {
5
+ return text.replace(/^['"`]|['"`]$/g, "");
6
+ }
7
+ function findNestedString(cursor, sourceTypes) {
8
+ if (!cursor.gotoFirstChild()) return "";
9
+ let found = "";
10
+ do {
11
+ const type = cursor.nodeType;
12
+ if (type === "string" || type === "string_literal" || type === "interpreted_string_literal") {
13
+ found = stripQuotes(cursor.nodeText);
14
+ break;
15
+ }
16
+ if (sourceTypes.has(type)) {
17
+ found = findNestedString(cursor, sourceTypes);
18
+ if (found) break;
19
+ }
20
+ } while (cursor.gotoNextSibling());
21
+ cursor.gotoParent();
22
+ return found;
23
+ }
24
+ function extractImportExportDetail(cursor, nodeText, label, config) {
25
+ const sourceFields = new Set(config.sourceFields || []);
26
+ const sourceTypes = new Set(config.sourceTypes || []);
27
+ const clauseTypes = new Set(config.clauseTypes || []);
28
+ const typeKeywordTypes = new Set(config.typeKeywordTypes || []);
29
+ let source = "";
30
+ let clauses = [];
31
+ let hasTypeKeyword = false;
32
+ if (!cursor.gotoFirstChild()) {
33
+ return { name: nodeText.trim() };
34
+ }
35
+ do {
36
+ const field = cursor.currentFieldName;
37
+ const type = cursor.nodeType;
38
+ const text = cursor.nodeText;
39
+ if (field && sourceFields.has(field)) {
40
+ source = stripQuotes(text);
41
+ } else if (sourceTypes.has(type)) {
42
+ if (!source) {
43
+ if (type === "string" || type === "string_literal" || type === "interpreted_string_literal") {
44
+ source = stripQuotes(text);
45
+ } else {
46
+ const nested = findNestedString(cursor, sourceTypes);
47
+ source = nested || stripQuotes(text);
48
+ }
49
+ }
50
+ } else if (clauseTypes.has(type)) {
51
+ clauses.push(text);
52
+ } else if (typeKeywordTypes.has(type)) {
53
+ hasTypeKeyword = true;
54
+ }
55
+ } while (cursor.gotoNextSibling());
56
+ cursor.gotoParent();
57
+ if (!source && config.clausesAsSource && clauses.length > 0) {
58
+ source = clauses.join(", ");
59
+ clauses = [];
60
+ }
61
+ if (!source && config.textFallbackPattern) {
62
+ const match = nodeText.match(new RegExp(config.textFallbackPattern));
63
+ if (match) {
64
+ source = match[1] || "";
65
+ if (match[2]) clauses = [match[2].trim()];
66
+ }
67
+ }
68
+ let detail;
69
+ if (clauses.length > 0) {
70
+ const clauseText = clauses.join(", ").replace(/\s*\n\s*/g, " ").replace(/\s{2,}/g, " ");
71
+ detail = hasTypeKeyword && !clauseText.startsWith("type") ? `type ${clauseText}` : clauseText;
72
+ }
73
+ if (!source && config.detailAsNameWhenNoSource) {
74
+ const keyword = label.split(" ")[0];
75
+ const pattern = new RegExp(`^${keyword}\\s*`);
76
+ let firstLine = nodeText.split("\n")[0].replace(pattern, "").trim();
77
+ if (config.trimPatterns) {
78
+ for (const tp of config.trimPatterns) {
79
+ firstLine = firstLine.replace(new RegExp(tp), "").trim();
80
+ }
81
+ }
82
+ return { name: detail || firstLine, detail: void 0 };
83
+ }
84
+ if (!source) {
85
+ const keyword = label.split(" ")[0];
86
+ const pattern = new RegExp(`^${keyword}\\s+`);
87
+ let firstLine = nodeText.split("\n")[0].replace(pattern, "").trim();
88
+ if (config.trimPatterns) {
89
+ for (const tp of config.trimPatterns) {
90
+ firstLine = firstLine.replace(new RegExp(tp), "").trim();
91
+ }
92
+ }
93
+ const cleanDetail = detail && firstLine.includes(detail) ? void 0 : detail;
94
+ return { name: firstLine, detail: cleanDetail };
95
+ }
96
+ return { name: source, detail };
97
+ }
98
+ function resolveLabel(cursor, sym) {
99
+ if (!sym.labelByChild) return sym.label;
100
+ if (!cursor.gotoFirstChild()) return sym.label;
101
+ let resolved;
102
+ do {
103
+ const childType = cursor.nodeType;
104
+ const childText = cursor.nodeText.trim();
105
+ resolved = sym.labelByChild[childType] ?? sym.labelByChild[childText];
106
+ if (resolved) break;
107
+ } while (cursor.gotoNextSibling());
108
+ cursor.gotoParent();
109
+ return resolved ?? sym.label;
110
+ }
3
111
  function scanName(cursor, nameOf) {
4
112
  if (!cursor.gotoFirstChild()) return "";
5
113
  const idTypes = new Set(nameOf.identifierTypes || []);
@@ -21,21 +129,26 @@ function scanName(cursor, nameOf) {
21
129
  if (!name && recTypes.has(t)) {
22
130
  name = scanName(cursor, nameOf);
23
131
  }
24
- if (!name && idTypes.has(t)) {
25
- if (t !== "type_identifier" || cursor.currentFieldName !== "type") {
26
- name = cursor.nodeText;
27
- }
132
+ } while (!name && cursor.gotoNextSibling());
133
+ if (!name) {
134
+ cursor.gotoParent();
135
+ if (!cursor.gotoFirstChild()) {
136
+ return "";
28
137
  }
29
- } while (cursor.gotoNextSibling());
138
+ do {
139
+ const t = cursor.nodeType;
140
+ if (idTypes.has(t)) {
141
+ if (t !== "type_identifier" || cursor.currentFieldName !== "type") {
142
+ name = cursor.nodeText;
143
+ break;
144
+ }
145
+ }
146
+ } while (cursor.gotoNextSibling());
147
+ }
30
148
  cursor.gotoParent();
31
149
  return name;
32
150
  }
33
- function isPythonDocstring(cursor) {
34
- if (cursor.nodeType !== "expression_statement") return false;
35
- const text = cursor.nodeText.trim();
36
- return text.startsWith('"""') || text.startsWith("'''");
37
- }
38
- function collectComments(tree) {
151
+ function collectComments(tree, docstrings) {
39
152
  const comments = [];
40
153
  const cursor = tree.walk();
41
154
  let descend = true;
@@ -43,7 +156,19 @@ function collectComments(tree) {
43
156
  while (true) {
44
157
  if (cursor.currentDepth < 0) break;
45
158
  const t = cursor.nodeType;
46
- if (t === "comment" || t === "line_comment" || t === "multiline_comment" || isPythonDocstring(cursor)) {
159
+ let isComment = t === "comment" || t === "line_comment" || t === "multiline_comment" || t === "documentation_comment";
160
+ if (!isComment && docstrings) {
161
+ for (const ds of docstrings) {
162
+ if (t === ds.nodeType) {
163
+ const text = cursor.nodeText.trim();
164
+ if (ds.prefixes.some((p) => text.startsWith(p))) {
165
+ isComment = true;
166
+ break;
167
+ }
168
+ }
169
+ }
170
+ }
171
+ if (isComment) {
47
172
  comments.push({
48
173
  text: cursor.nodeText.trim(),
49
174
  startLine: cursor.startPosition.row + 1,
@@ -67,20 +192,20 @@ function collectComments(tree) {
67
192
  return comments;
68
193
  }
69
194
  function cleanComment(text) {
70
- let cleaned = text.replace(/^\/\*\*?/, "").replace(/\*\/$/, "").replace(/^\s*\* ?/gm, "").replace(/^\/+/, "").replace(/^#/, "").replace(/^'''/, "").replace(/'''$/, "").replace(/^"""/, "").replace(/"""$/, "").trim();
195
+ let cleaned = text.replace(/^\/\*\*?/, "").replace(/\*\/$/, "").replace(/^\s*\* ?/gm, "").replace(/^\s*\/\/\/? ?/gm, "").replace(/^#/, "").replace(/^'''/, "").replace(/'''$/, "").replace(/^"""/, "").replace(/"""$/, "").trim();
71
196
  const lines = cleaned.split("\n").map((l) => l.trim()).filter(Boolean);
72
197
  return lines.length > 0 ? lines[0] : "";
73
198
  }
74
199
  function attachComments(symbols, comments) {
75
200
  let ci = 0;
76
201
  for (const sym of symbols) {
77
- if (sym.depth > 0) continue;
78
202
  while (ci < comments.length && comments[ci].endLine < sym.startLine - 2) ci++;
79
203
  if (ci < comments.length) {
80
204
  const c = comments[ci];
81
205
  const gap = sym.startLine - c.endLine;
82
206
  if (gap === 1 || gap === 2) {
83
207
  sym.comment = cleanComment(c.text);
208
+ ci++;
84
209
  continue;
85
210
  }
86
211
  }
@@ -102,11 +227,12 @@ async function parse(req) {
102
227
  const parser = new Parser();
103
228
  parser.setLanguage(lang);
104
229
  const source = readFileSync(req.filePath, "utf8");
105
- const totalLines = source.split("\n").length;
230
+ const totalLines = source.endsWith("\n") ? source.split("\n").length - 1 : source.split("\n").length;
106
231
  const tree = parser.parse(source);
107
232
  if (!tree) throw new Error("Failed to parse");
108
233
  let result = [];
109
234
  const typeSet = new Set(req.symbols.flatMap((s) => s.types));
235
+ const detailLabels = req.statementDetail ? new Set(req.statementDetail.labels || DEFAULT_DETAIL_LABELS) : null;
110
236
  const cursor = tree.walk();
111
237
  try {
112
238
  let descend = true, declDepth = -1;
@@ -119,14 +245,45 @@ async function parse(req) {
119
245
  if (descend && isDecl) {
120
246
  for (const sym of req.symbols) {
121
247
  if (sym.types.includes(t) && (sym.maxDepth === void 0 || declDepth <= sym.maxDepth)) {
248
+ const kind = resolveLabel(cursor, sym);
122
249
  let name = "";
123
- if (sym.hasName) name = scanName(cursor, req.nameOf);
250
+ let detail;
251
+ let useContentEndLine = false;
252
+ if (sym.hasName) {
253
+ if (detailLabels?.has(kind)) {
254
+ const info = extractImportExportDetail(
255
+ cursor,
256
+ cursor.nodeText,
257
+ kind,
258
+ req.statementDetail
259
+ );
260
+ name = info.name;
261
+ detail = info.detail;
262
+ useContentEndLine = true;
263
+ } else {
264
+ name = scanName(cursor, req.nameOf);
265
+ }
266
+ }
267
+ const startLine = cursor.startPosition.row + 1;
268
+ let endLine;
269
+ if (useContentEndLine) {
270
+ const lines = cursor.nodeText.split("\n");
271
+ let count = 0;
272
+ for (const line of lines) {
273
+ if (line.trim() === "") break;
274
+ count++;
275
+ }
276
+ endLine = startLine + Math.max(count, 1) - 1;
277
+ } else {
278
+ endLine = cursor.endPosition.row + 1;
279
+ }
124
280
  result.push({
125
- kind: sym.label,
126
- name: sym.hasName ? name || `(anonymous ${sym.label})` : "",
127
- startLine: cursor.startPosition.row + 1,
128
- endLine: cursor.endPosition.row + 1,
129
- depth: declDepth
281
+ kind,
282
+ name: sym.hasName ? name || `(anonymous ${kind})` : "",
283
+ startLine,
284
+ endLine,
285
+ depth: declDepth,
286
+ ...detail ? { detail } : {}
130
287
  });
131
288
  break;
132
289
  }
@@ -156,6 +313,13 @@ async function parse(req) {
156
313
  const wStart = wCursor.startPosition.row + 1;
157
314
  const wEnd = wCursor.endPosition.row + 1;
158
315
  const maxDepth = wrapper.maxDepth ?? Infinity;
316
+ let effectivePrefix = wrapper.prefix;
317
+ const wNodeFirstLine = wCursor.nodeText.split("\n")[0];
318
+ const prefixKeyword = wrapper.prefix.trim();
319
+ const afterKeyword = wNodeFirstLine.slice(wNodeFirstLine.indexOf(prefixKeyword) + prefixKeyword.length).trimStart();
320
+ if (afterKeyword.startsWith("default ") || afterKeyword.startsWith("default\n")) {
321
+ effectivePrefix = wrapper.prefix + "default ";
322
+ }
159
323
  const covered = result.some(
160
324
  (r) => r.startLine >= wStart && r.endLine <= wEnd && r.depth <= maxDepth
161
325
  );
@@ -169,28 +333,73 @@ async function parse(req) {
169
333
  r.depth = 1;
170
334
  continue;
171
335
  }
172
- if (r.kind.startsWith(wrapper.prefix)) continue;
336
+ if (r.kind.startsWith(effectivePrefix)) continue;
173
337
  let inserted = false;
174
338
  for (const existing of appliedPrefixes) {
175
339
  if (r.kind.startsWith(existing)) {
176
- r.kind = existing + wrapper.prefix + r.kind.slice(existing.length);
340
+ r.kind = existing + effectivePrefix + r.kind.slice(existing.length);
177
341
  inserted = true;
178
342
  break;
179
343
  }
180
344
  }
181
345
  if (!inserted) {
182
- r.kind = wrapper.prefix + r.kind;
346
+ r.kind = effectivePrefix + r.kind;
183
347
  }
184
348
  }
185
349
  }
350
+ if (wrapper.createContainerWhenCovered && wrapper.createStandaloneLabel) {
351
+ const label = wrapper.createStandaloneLabel;
352
+ let containerName;
353
+ let containerDetail;
354
+ if (detailLabels?.has(label)) {
355
+ const info = extractImportExportDetail(
356
+ wCursor,
357
+ wCursor.nodeText,
358
+ label,
359
+ req.statementDetail
360
+ );
361
+ containerName = info.name;
362
+ containerDetail = info.detail;
363
+ } else {
364
+ containerName = scanName(wCursor, req.nameOf);
365
+ }
366
+ for (const r of result) {
367
+ if (r.startLine >= wStart && r.endLine <= wEnd) {
368
+ r.depth++;
369
+ }
370
+ }
371
+ result.push({
372
+ kind: label,
373
+ name: containerName || "{...}",
374
+ startLine: wStart,
375
+ endLine: wEnd,
376
+ depth: 0,
377
+ ...containerDetail ? { detail: containerDetail } : {}
378
+ });
379
+ }
186
380
  } else if (wrapper.createStandaloneLabel) {
187
- const exportName = scanName(wCursor, req.nameOf);
381
+ const label = wrapper.createStandaloneLabel;
382
+ let exportName;
383
+ let exportDetail;
384
+ if (detailLabels?.has(label)) {
385
+ const info = extractImportExportDetail(
386
+ wCursor,
387
+ wCursor.nodeText,
388
+ label,
389
+ req.statementDetail
390
+ );
391
+ exportName = info.name;
392
+ exportDetail = info.detail;
393
+ } else {
394
+ exportName = scanName(wCursor, req.nameOf);
395
+ }
188
396
  result.push({
189
- kind: wrapper.createStandaloneLabel,
397
+ kind: label,
190
398
  name: exportName || "{...}",
191
399
  startLine: wStart,
192
400
  endLine: wEnd,
193
- depth: 0
401
+ depth: 0,
402
+ ...exportDetail ? { detail: exportDetail } : {}
194
403
  });
195
404
  }
196
405
  }
@@ -212,7 +421,7 @@ async function parse(req) {
212
421
  }
213
422
  }
214
423
  result.sort((a, b) => a.startLine - b.startLine);
215
- const comments = collectComments(tree);
424
+ const comments = collectComments(tree, req.docstrings);
216
425
  attachComments(result, comments);
217
426
  return { symbols: result, totalLines };
218
427
  } finally {