forgebook 0.1.7 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1114) hide show
  1. package/README.md +906 -23
  2. package/dist/bin/forgebook/agentClient.d.ts +30 -1
  3. package/dist/bin/forgebook/agentClient.js +155 -14
  4. package/dist/bin/forgebook/agentLoopCommands.d.mts +0 -1
  5. package/dist/bin/forgebook/agentLoopCommands.mjs +161 -40
  6. package/dist/bin/forgebook/agentText.d.ts +74 -3
  7. package/dist/bin/forgebook/agentText.js +192 -8
  8. package/dist/bin/forgebook/agents.md +145 -7
  9. package/dist/bin/forgebook/agentsText.d.ts +7 -3
  10. package/dist/bin/forgebook/agentsText.js +7 -3
  11. package/dist/bin/forgebook/builtCatalogue.d.ts +31 -0
  12. package/dist/bin/forgebook/builtCatalogue.js +96 -0
  13. package/dist/bin/forgebook/catalogueCommands.d.ts +22 -3
  14. package/dist/bin/forgebook/catalogueCommands.js +21 -2
  15. package/dist/bin/forgebook/catalogueVite.d.ts +51 -9
  16. package/dist/bin/forgebook/catalogueVite.js +95 -9
  17. package/dist/bin/forgebook/checkCodeRun.d.ts +8 -0
  18. package/dist/bin/forgebook/checkCodeRun.js +27 -0
  19. package/dist/bin/forgebook/commandServer.d.ts +11 -0
  20. package/dist/bin/forgebook/commandServer.js +39 -0
  21. package/dist/bin/forgebook/compileCache.d.ts +7 -0
  22. package/dist/bin/forgebook/compileCache.js +24 -0
  23. package/dist/bin/forgebook/devCommands.d.mts +14 -0
  24. package/dist/bin/forgebook/devCommands.mjs +104 -0
  25. package/dist/bin/forgebook/errorsRun.d.ts +0 -1
  26. package/dist/bin/forgebook/errorsRun.js +0 -1
  27. package/dist/bin/forgebook/forgebook.d.mts +0 -1
  28. package/dist/bin/forgebook/forgebook.mjs +18 -302
  29. package/dist/bin/forgebook/forgebookCommands.d.mts +1 -0
  30. package/dist/bin/forgebook/forgebookCommands.mjs +292 -0
  31. package/dist/bin/forgebook/importers/storybook.d.ts +10 -4
  32. package/dist/bin/forgebook/importers/storybook.js +71 -45
  33. package/dist/bin/forgebook/importers/storybookAngular.d.ts +15 -0
  34. package/dist/bin/forgebook/importers/storybookAngular.js +97 -0
  35. package/dist/bin/forgebook/importers/storybookFrameworks.d.ts +53 -0
  36. package/dist/bin/forgebook/importers/storybookFrameworks.js +180 -0
  37. package/dist/bin/forgebook/importers/storybookReactNative.d.ts +40 -0
  38. package/dist/bin/forgebook/importers/storybookReactNative.js +179 -0
  39. package/dist/bin/forgebook/initCommands.d.mts +0 -1
  40. package/dist/bin/forgebook/initCommands.mjs +23 -12
  41. package/dist/bin/forgebook/initConfig.d.ts +0 -1
  42. package/dist/bin/forgebook/initConfig.js +17 -3
  43. package/dist/bin/forgebook/mcpCommand.d.mts +8 -0
  44. package/dist/bin/forgebook/mcpCommand.mjs +99 -0
  45. package/dist/bin/forgebook/mcpPreview.d.ts +32 -0
  46. package/dist/bin/forgebook/mcpPreview.js +107 -0
  47. package/dist/bin/forgebook/mcpToolParts.d.ts +28 -0
  48. package/dist/bin/forgebook/mcpToolParts.js +24 -0
  49. package/dist/bin/forgebook/mcpTools.d.ts +12 -6
  50. package/dist/bin/forgebook/mcpTools.js +148 -27
  51. package/dist/bin/forgebook/newStories.d.ts +2 -3
  52. package/dist/bin/forgebook/newStories.js +4 -3
  53. package/dist/bin/forgebook/newStoriesFile.d.ts +3 -4
  54. package/dist/bin/forgebook/newStoriesFile.js +23 -11
  55. package/dist/bin/forgebook/pageTools.d.ts +8 -0
  56. package/dist/bin/forgebook/pageTools.js +71 -0
  57. package/dist/bin/forgebook/pagesCommands.d.mts +14 -0
  58. package/dist/bin/forgebook/pagesCommands.mjs +109 -0
  59. package/dist/bin/forgebook/prebundleChild.d.ts +1 -0
  60. package/dist/bin/forgebook/prebundleChild.js +34 -0
  61. package/dist/bin/forgebook/prebundleRun.d.ts +22 -0
  62. package/dist/bin/forgebook/prebundleRun.js +49 -0
  63. package/dist/bin/forgebook/prebundleStart.d.ts +44 -0
  64. package/dist/bin/forgebook/prebundleStart.js +82 -0
  65. package/dist/bin/forgebook/semanticOptions.d.ts +45 -0
  66. package/dist/bin/forgebook/semanticOptions.js +36 -0
  67. package/dist/bin/forgebook/storyCheckCommands.d.mts +13 -0
  68. package/dist/bin/forgebook/storyCheckCommands.mjs +69 -0
  69. package/dist/bin/forgebook/storyCheckRun.d.ts +40 -6
  70. package/dist/bin/forgebook/storyCheckRun.js +90 -16
  71. package/dist/bin/forgebook/tokensRun.d.ts +41 -0
  72. package/dist/bin/forgebook/tokensRun.js +42 -0
  73. package/dist/bin/forgebook/touchWindowRun.d.ts +0 -1
  74. package/dist/bin/forgebook/touchWindowRun.js +0 -1
  75. package/dist/bin/forgebook/visualCommands.d.mts +37 -0
  76. package/dist/bin/forgebook/visualCommands.mjs +162 -0
  77. package/dist/bin/forgebook/viteCache.d.ts +48 -0
  78. package/dist/bin/forgebook/viteCache.js +112 -0
  79. package/dist/bin/forgebook-docs/catalogueDocs.d.ts +1 -2
  80. package/dist/bin/forgebook-docs/catalogueDocs.js +8 -5
  81. package/dist/bin/forgebook-docs/catalogueDocs.types.d.ts +24 -3
  82. package/dist/bin/forgebook-docs/catalogueDocs.types.js +0 -1
  83. package/dist/bin/forgebook-docs/catalogueMarkdown.d.ts +0 -1
  84. package/dist/bin/forgebook-docs/catalogueMarkdown.js +88 -24
  85. package/dist/bin/forgebook-docs/catalogueOptions.d.ts +1 -2
  86. package/dist/bin/forgebook-docs/catalogueOptions.js +8 -2
  87. package/dist/bin/forgebook-docs/collectDocs.d.ts +4 -4
  88. package/dist/bin/forgebook-docs/collectDocs.js +128 -29
  89. package/dist/bin/forgebook-docs/forgebook-docs.d.mts +0 -1
  90. package/dist/bin/forgebook-docs/forgebook-docs.mjs +0 -1
  91. package/dist/bin/forgebook-docs/llmsText.d.ts +5 -1
  92. package/dist/bin/forgebook-docs/llmsText.js +5 -2
  93. package/dist/bin/forgebook-docs/moduleDocs.d.ts +0 -1
  94. package/dist/bin/forgebook-docs/moduleDocs.js +0 -1
  95. package/dist/bin/forgebook-docs/sassDocs.d.ts +0 -1
  96. package/dist/bin/forgebook-docs/sassDocs.js +0 -1
  97. package/dist/bin/forgebook-texts/forgebook-texts.d.mts +0 -1
  98. package/dist/bin/forgebook-texts/forgebook-texts.mjs +1 -2
  99. package/dist/bin/forgebook-texts/storyTextsReport.d.ts +0 -1
  100. package/dist/bin/forgebook-texts/storyTextsReport.js +0 -1
  101. package/dist/bin/forgebook-texts/storyTextsReport.types.d.ts +0 -1
  102. package/dist/bin/forgebook-texts/storyTextsReport.types.js +0 -1
  103. package/dist/bin/frameworkDocs.d.ts +0 -1
  104. package/dist/bin/frameworkDocs.js +0 -1
  105. package/dist/src/a11y.d.ts +0 -1
  106. package/dist/src/a11y.js +0 -1
  107. package/dist/src/addressArgs.d.ts +74 -0
  108. package/dist/src/addressArgs.js +109 -0
  109. package/dist/src/addressTexts.d.ts +35 -0
  110. package/dist/src/addressTexts.js +51 -0
  111. package/dist/src/argTypes.d.ts +0 -1
  112. package/dist/src/argTypes.js +2 -2
  113. package/dist/src/audiences.d.ts +17 -0
  114. package/dist/src/audiences.js +15 -0
  115. package/dist/src/backdrops.d.ts +39 -40
  116. package/dist/src/backdrops.js +37 -174
  117. package/dist/src/catalogue.d.ts +57 -21
  118. package/dist/src/catalogue.js +34 -15
  119. package/dist/src/codeLiteral.d.ts +41 -0
  120. package/dist/src/codeLiteral.js +51 -0
  121. package/dist/src/componentDocs.d.ts +86 -1
  122. package/dist/src/componentDocs.js +33 -3
  123. package/dist/src/controlKeys.d.ts +0 -1
  124. package/dist/src/controlKeys.js +2 -2
  125. package/dist/src/deviceDrawing.d.ts +114 -0
  126. package/dist/src/deviceDrawing.js +358 -0
  127. package/dist/src/deviceMenuView.d.ts +17 -0
  128. package/dist/src/deviceMenuView.js +22 -0
  129. package/dist/src/devicePicture.d.ts +57 -0
  130. package/dist/src/devicePicture.js +104 -0
  131. package/dist/src/deviceView.d.ts +172 -0
  132. package/dist/src/deviceView.js +111 -0
  133. package/dist/src/devices.d.ts +115 -0
  134. package/dist/src/devices.js +135 -0
  135. package/dist/src/docAnchors.d.ts +27 -0
  136. package/dist/src/docAnchors.js +33 -0
  137. package/dist/src/docPages.d.ts +203 -0
  138. package/dist/src/docPages.js +169 -0
  139. package/dist/src/embed.d.ts +32 -0
  140. package/dist/src/embed.js +24 -0
  141. package/dist/src/embedCode.d.ts +31 -0
  142. package/dist/src/embedCode.js +88 -0
  143. package/dist/src/frame/backdropPictures.d.ts +29 -0
  144. package/dist/src/frame/backdropPictures.js +187 -0
  145. package/dist/src/frame/checkStory.d.ts +6 -3
  146. package/dist/src/frame/checkStory.js +76 -5
  147. package/dist/src/frame/followTouch.d.ts +9 -0
  148. package/dist/src/frame/followTouch.js +43 -0
  149. package/dist/src/frame/frame.css +8 -3
  150. package/dist/src/frame/frameClock.d.ts +0 -1
  151. package/dist/src/frame/frameClock.js +0 -1
  152. package/dist/src/frame/frameStatus.d.ts +2 -1
  153. package/dist/src/frame/frameStatus.js +2 -1
  154. package/dist/src/frame/frameView.d.ts +0 -1
  155. package/dist/src/frame/frameView.js +1 -2
  156. package/dist/src/frame/matrixLayout.d.ts +0 -1
  157. package/dist/src/frame/matrixLayout.js +0 -1
  158. package/dist/src/frame/measureTools.d.ts +0 -1
  159. package/dist/src/frame/measureTools.js +0 -1
  160. package/dist/src/frame/mountFrame.d.ts +10 -3
  161. package/dist/src/frame/mountFrame.js +162 -63
  162. package/dist/src/frame/playStory.d.ts +0 -1
  163. package/dist/src/frame/playStory.js +0 -1
  164. package/dist/src/frame/pluginFrames.d.ts +31 -0
  165. package/dist/src/frame/pluginFrames.js +23 -0
  166. package/dist/src/frame/renderer.d.ts +50 -12
  167. package/dist/src/frame/renderer.js +27 -6
  168. package/dist/src/frame/settle.d.ts +0 -1
  169. package/dist/src/frame/settle.js +0 -1
  170. package/dist/src/frame/shellChannel.d.ts +47 -0
  171. package/dist/src/frame/shellChannel.js +39 -0
  172. package/dist/src/frame/spillOutline.d.ts +0 -1
  173. package/dist/src/frame/spillOutline.js +0 -1
  174. package/dist/src/frame/staleModule.d.ts +14 -2
  175. package/dist/src/frame/staleModule.js +19 -2
  176. package/dist/src/frame/storyCanvas.d.ts +0 -1
  177. package/dist/src/frame/storyCanvas.js +0 -1
  178. package/dist/src/frame/storyHooks.d.ts +0 -1
  179. package/dist/src/frame/storyHooks.js +0 -1
  180. package/dist/src/frame/storyModule.d.ts +13 -2
  181. package/dist/src/frame/storyModule.js +45 -3
  182. package/dist/src/frame/storyRun.d.ts +21 -4
  183. package/dist/src/frame/storyRun.js +100 -19
  184. package/dist/src/frame/touchDots.d.ts +0 -1
  185. package/dist/src/frame/touchDots.js +0 -1
  186. package/dist/src/frame/touchEvents.d.ts +0 -1
  187. package/dist/src/frame/touchEvents.js +0 -1
  188. package/dist/src/frame/touchGesture.d.ts +0 -1
  189. package/dist/src/frame/touchGesture.js +0 -1
  190. package/dist/src/frame/touchLayer.d.ts +3 -3
  191. package/dist/src/frame/touchLayer.js +4 -30
  192. package/dist/src/frame/touchScroll.d.ts +0 -1
  193. package/dist/src/frame/touchScroll.js +0 -1
  194. package/dist/src/frameOrigins.d.ts +62 -0
  195. package/dist/src/frameOrigins.js +49 -0
  196. package/dist/src/hotModules.d.ts +48 -0
  197. package/dist/src/hotModules.js +53 -0
  198. package/dist/src/jsxCode.d.ts +22 -0
  199. package/dist/src/jsxCode.js +36 -0
  200. package/dist/src/languages.d.ts +0 -1
  201. package/dist/src/languages.js +0 -1
  202. package/dist/src/liveErrors.d.ts +0 -1
  203. package/dist/src/liveErrors.js +0 -1
  204. package/dist/src/matrix.d.ts +0 -1
  205. package/dist/src/matrix.js +0 -1
  206. package/dist/src/messages.d.ts +28 -2
  207. package/dist/src/messages.js +24 -3
  208. package/dist/src/namedValues.d.ts +11 -1
  209. package/dist/src/namedValues.js +25 -2
  210. package/dist/src/namedViews.d.ts +1 -13
  211. package/dist/src/namedViews.js +30 -7
  212. package/dist/src/packedText.d.ts +21 -0
  213. package/dist/src/packedText.js +36 -0
  214. package/dist/src/pageAddress.d.ts +26 -0
  215. package/dist/src/pageAddress.js +39 -0
  216. package/dist/src/pageConfig.d.ts +3 -1
  217. package/dist/src/pageConfig.js +0 -1
  218. package/dist/src/pageTree.d.ts +79 -0
  219. package/dist/src/pageTree.js +108 -0
  220. package/dist/src/playTrace.d.ts +0 -1
  221. package/dist/src/playTrace.js +0 -1
  222. package/dist/src/plugin.d.ts +230 -0
  223. package/dist/src/plugin.js +12 -0
  224. package/dist/src/pluginReact.d.ts +23 -0
  225. package/dist/src/pluginReact.js +24 -0
  226. package/dist/src/previewRelay.d.ts +40 -0
  227. package/dist/src/previewRelay.js +69 -0
  228. package/dist/src/previewTexts.d.ts +26 -0
  229. package/dist/src/previewTexts.js +33 -0
  230. package/dist/src/previewView.d.ts +31 -0
  231. package/dist/src/previewView.js +264 -0
  232. package/dist/src/propGroups.d.ts +46 -0
  233. package/dist/src/propGroups.js +59 -0
  234. package/dist/src/realTouch.d.ts +1 -2
  235. package/dist/src/realTouch.js +1 -2
  236. package/dist/src/safeAreaParameter.d.ts +42 -0
  237. package/dist/src/safeAreaParameter.js +50 -0
  238. package/dist/src/search.d.ts +154 -0
  239. package/dist/src/search.js +265 -0
  240. package/dist/src/searchIndex.d.ts +61 -0
  241. package/dist/src/searchIndex.js +55 -0
  242. package/dist/src/searchMarks.d.ts +29 -0
  243. package/dist/src/searchMarks.js +165 -0
  244. package/dist/src/searchMatch.d.ts +58 -0
  245. package/dist/src/searchMatch.js +127 -0
  246. package/dist/src/shell/A11yTab.d.ts +0 -7
  247. package/dist/src/shell/A11yTab.js +4 -15
  248. package/dist/src/shell/AnchorScroll.d.ts +25 -0
  249. package/dist/src/shell/AnchorScroll.js +10 -0
  250. package/dist/src/shell/ApiReference.d.ts +12 -4
  251. package/dist/src/shell/ApiReference.js +74 -19
  252. package/dist/src/shell/AppearanceMenu.d.ts +1 -2
  253. package/dist/src/shell/AppearanceMenu.js +8 -5
  254. package/dist/src/shell/AudienceSections.d.ts +106 -0
  255. package/dist/src/shell/AudienceSections.js +154 -0
  256. package/dist/src/shell/AuthoredHome.d.ts +37 -0
  257. package/dist/src/shell/AuthoredHome.js +96 -0
  258. package/dist/src/shell/BoxWidth.d.ts +0 -1
  259. package/dist/src/shell/BoxWidth.js +0 -1
  260. package/dist/src/shell/ClockBar.d.ts +19 -0
  261. package/dist/src/shell/ClockBar.js +15 -0
  262. package/dist/src/shell/ClockControls.d.ts +5 -9
  263. package/dist/src/shell/ClockControls.js +13 -16
  264. package/dist/src/shell/Code.d.ts +0 -1
  265. package/dist/src/shell/Code.js +0 -1
  266. package/dist/src/shell/CodeTab.d.ts +0 -1
  267. package/dist/src/shell/CodeTab.js +2 -2
  268. package/dist/src/shell/CodeText.d.ts +0 -1
  269. package/dist/src/shell/CodeText.js +0 -1
  270. package/dist/src/shell/CompareGrid.d.ts +37 -0
  271. package/dist/src/shell/CompareGrid.js +24 -0
  272. package/dist/src/shell/ComponentPage.d.ts +45 -7
  273. package/dist/src/shell/ComponentPage.js +107 -49
  274. package/dist/src/shell/ControlKeyField.d.ts +0 -1
  275. package/dist/src/shell/ControlKeyField.js +3 -4
  276. package/dist/src/shell/ControlRow.d.ts +4 -4
  277. package/dist/src/shell/ControlRow.js +5 -5
  278. package/dist/src/shell/DeviceControl.d.ts +31 -0
  279. package/dist/src/shell/DeviceControl.js +33 -0
  280. package/dist/src/shell/DeviceSlot.d.ts +114 -0
  281. package/dist/src/shell/DeviceSlot.js +134 -0
  282. package/dist/src/shell/DocBlocks.d.ts +100 -0
  283. package/dist/src/shell/DocBlocks.js +206 -0
  284. package/dist/src/shell/DocContainers.d.ts +70 -0
  285. package/dist/src/shell/DocContainers.js +94 -0
  286. package/dist/src/shell/DocContents.d.ts +29 -0
  287. package/dist/src/shell/DocContents.js +88 -0
  288. package/dist/src/shell/DocPage.d.ts +69 -0
  289. package/dist/src/shell/DocPage.js +141 -0
  290. package/dist/src/shell/Dock.d.ts +1 -2
  291. package/dist/src/shell/Dock.js +1 -2
  292. package/dist/src/shell/DroppedArgsList.d.ts +26 -0
  293. package/dist/src/shell/DroppedArgsList.js +8 -0
  294. package/dist/src/shell/DroppedArgsNote.d.ts +14 -0
  295. package/dist/src/shell/DroppedArgsNote.js +10 -0
  296. package/dist/src/shell/EmbedButton.d.ts +19 -0
  297. package/dist/src/shell/EmbedButton.js +96 -0
  298. package/dist/src/shell/EmbedPage.d.ts +23 -0
  299. package/dist/src/shell/EmbedPage.js +168 -0
  300. package/dist/src/shell/EmbedPanel.d.ts +25 -0
  301. package/dist/src/shell/EmbedPanel.js +46 -0
  302. package/dist/src/shell/EventsTab.d.ts +0 -1
  303. package/dist/src/shell/EventsTab.js +2 -3
  304. package/dist/src/shell/Example.d.ts +20 -2
  305. package/dist/src/shell/Example.js +75 -22
  306. package/dist/src/shell/FrameView.d.ts +1 -2
  307. package/dist/src/shell/FrameView.js +4 -4
  308. package/dist/src/shell/HomePage.d.ts +78 -4
  309. package/dist/src/shell/HomePage.js +53 -14
  310. package/dist/src/shell/HomePieces.d.ts +40 -0
  311. package/dist/src/shell/HomePieces.js +29 -0
  312. package/dist/src/shell/InfoTip.d.ts +0 -1
  313. package/dist/src/shell/InfoTip.js +0 -1
  314. package/dist/src/shell/InteractionsTab.d.ts +0 -7
  315. package/dist/src/shell/InteractionsTab.js +3 -9
  316. package/dist/src/shell/LazyHost.d.ts +16 -0
  317. package/dist/src/shell/LazyHost.js +42 -0
  318. package/dist/src/shell/LazyPage.d.ts +24 -0
  319. package/dist/src/shell/LazyPage.js +9 -0
  320. package/dist/src/shell/LogicMark.d.ts +9 -0
  321. package/dist/src/shell/LogicMark.js +5 -0
  322. package/dist/src/shell/MatrixPicker.d.ts +0 -1
  323. package/dist/src/shell/MatrixPicker.js +0 -1
  324. package/dist/src/shell/NamedViews.d.ts +0 -1
  325. package/dist/src/shell/NamedViews.js +4 -5
  326. package/dist/src/shell/PackageHtml.d.ts +0 -1
  327. package/dist/src/shell/PackageHtml.js +0 -1
  328. package/dist/src/shell/PartsTab.d.ts +0 -7
  329. package/dist/src/shell/PartsTab.js +3 -13
  330. package/dist/src/shell/PinnedControl.d.ts +0 -1
  331. package/dist/src/shell/PinnedControl.js +2 -2
  332. package/dist/src/shell/PluginBlockHost.d.ts +46 -0
  333. package/dist/src/shell/PluginBlockHost.js +39 -0
  334. package/dist/src/shell/PluginTabHost.d.ts +32 -0
  335. package/dist/src/shell/PluginTabHost.js +25 -0
  336. package/dist/src/shell/PluginViewHost.d.ts +37 -0
  337. package/dist/src/shell/PluginViewHost.js +89 -0
  338. package/dist/src/shell/PropFields.d.ts +0 -1
  339. package/dist/src/shell/PropFields.js +0 -1
  340. package/dist/src/shell/PropsTab.d.ts +11 -2
  341. package/dist/src/shell/PropsTab.js +31 -5
  342. package/dist/src/shell/SearchPanel.d.ts +63 -0
  343. package/dist/src/shell/SearchPanel.js +209 -0
  344. package/dist/src/shell/Segmented.d.ts +0 -1
  345. package/dist/src/shell/Segmented.js +0 -1
  346. package/dist/src/shell/Shell.d.ts +34 -6
  347. package/dist/src/shell/Shell.js +292 -84
  348. package/dist/src/shell/Sidebar.d.ts +20 -5
  349. package/dist/src/shell/Sidebar.js +23 -56
  350. package/dist/src/shell/SidebarDocs.d.ts +38 -0
  351. package/dist/src/shell/SidebarDocs.js +30 -0
  352. package/dist/src/shell/SidebarEntries.d.ts +10 -2
  353. package/dist/src/shell/SidebarEntries.js +3 -3
  354. package/dist/src/shell/SidebarHandle.d.ts +0 -1
  355. package/dist/src/shell/SidebarHandle.js +0 -1
  356. package/dist/src/shell/SidebarSearch.d.ts +40 -0
  357. package/dist/src/shell/SidebarSearch.js +85 -0
  358. package/dist/src/shell/SignatureReference.d.ts +25 -0
  359. package/dist/src/shell/SignatureReference.js +25 -0
  360. package/dist/src/shell/Stage.d.ts +9 -4
  361. package/dist/src/shell/Stage.js +121 -60
  362. package/dist/src/shell/StageCompare.d.ts +14 -0
  363. package/dist/src/shell/StageCompare.js +11 -0
  364. package/dist/src/shell/StageTools.d.ts +0 -1
  365. package/dist/src/shell/StageTools.js +0 -1
  366. package/dist/src/shell/StageViewport.d.ts +7 -3
  367. package/dist/src/shell/StageViewport.js +4 -5
  368. package/dist/src/shell/StoryBar.d.ts +40 -0
  369. package/dist/src/shell/StoryBar.js +23 -0
  370. package/dist/src/shell/StoryCodeBlock.d.ts +1 -2
  371. package/dist/src/shell/StoryCodeBlock.js +0 -1
  372. package/dist/src/shell/StoryCoverage.d.ts +36 -0
  373. package/dist/src/shell/StoryCoverage.js +126 -0
  374. package/dist/src/shell/StoryPicker.d.ts +0 -1
  375. package/dist/src/shell/StoryPicker.js +0 -1
  376. package/dist/src/shell/Toolbar.d.ts +9 -3
  377. package/dist/src/shell/Toolbar.js +12 -7
  378. package/dist/src/shell/ToolbarControl.d.ts +6 -8
  379. package/dist/src/shell/ToolbarControl.js +28 -20
  380. package/dist/src/shell/UsedIn.d.ts +5 -6
  381. package/dist/src/shell/UsedIn.js +7 -20
  382. package/dist/src/shell/ViewMenu.d.ts +7 -7
  383. package/dist/src/shell/ViewMenu.js +61 -176
  384. package/dist/src/shell/ViewMenuPanel.d.ts +41 -0
  385. package/dist/src/shell/ViewMenuPanel.js +199 -0
  386. package/dist/src/shell/WidthField.d.ts +3 -2
  387. package/dist/src/shell/WidthField.js +2 -3
  388. package/dist/src/shell/asideStory.d.ts +34 -0
  389. package/dist/src/shell/asideStory.js +55 -0
  390. package/dist/src/shell/audienceLayout.d.ts +39 -0
  391. package/dist/src/shell/audienceLayout.js +33 -0
  392. package/dist/src/shell/audiencePage.d.ts +113 -0
  393. package/dist/src/shell/audiencePage.js +144 -0
  394. package/dist/src/shell/audienceSections.css +95 -0
  395. package/dist/src/shell/catalogueContext.d.ts +24 -2
  396. package/dist/src/shell/catalogueContext.js +12 -9
  397. package/dist/src/shell/codeTokens.d.ts +0 -1
  398. package/dist/src/shell/codeTokens.js +0 -1
  399. package/dist/src/shell/codeWriter.d.ts +0 -1
  400. package/dist/src/shell/codeWriter.js +0 -1
  401. package/dist/src/shell/compareVariants.d.ts +3 -3
  402. package/dist/src/shell/compareVariants.js +6 -5
  403. package/dist/src/shell/controlCycle.d.ts +0 -1
  404. package/dist/src/shell/controlCycle.js +13 -1
  405. package/dist/src/shell/controlLabel.d.ts +7 -0
  406. package/dist/src/shell/controlLabel.js +17 -0
  407. package/dist/src/shell/device/deviceFrame.css +42 -0
  408. package/dist/src/shell/device/deviceParts.d.ts +90 -0
  409. package/dist/src/shell/device/deviceParts.js +120 -0
  410. package/dist/src/shell/docPage.css +451 -0
  411. package/dist/src/shell/dockTabs.d.ts +15 -4
  412. package/dist/src/shell/dockTabs.js +69 -26
  413. package/dist/src/shell/embed.css +74 -0
  414. package/dist/src/shell/filesCode.d.ts +21 -0
  415. package/dist/src/shell/filesCode.js +37 -0
  416. package/dist/src/shell/forgebookMark.d.ts +15 -0
  417. package/dist/src/shell/forgebookMark.js +28 -0
  418. package/dist/src/shell/framesOrigin.d.ts +23 -0
  419. package/dist/src/shell/framesOrigin.js +69 -0
  420. package/dist/src/shell/icons.d.ts +4 -1
  421. package/dist/src/shell/icons.js +4 -1
  422. package/dist/src/shell/keyboard.d.ts +0 -1
  423. package/dist/src/shell/keyboard.js +0 -1
  424. package/dist/src/shell/laterStrings.d.ts +91 -0
  425. package/dist/src/shell/laterStrings.js +102 -0
  426. package/dist/src/shell/lazyModule.d.ts +49 -0
  427. package/dist/src/shell/lazyModule.js +72 -0
  428. package/dist/src/shell/lazyTab.d.ts +21 -0
  429. package/dist/src/shell/lazyTab.js +9 -0
  430. package/dist/src/shell/logicView.d.ts +24 -0
  431. package/dist/src/shell/logicView.js +39 -0
  432. package/dist/src/shell/mountShell.d.ts +5 -3
  433. package/dist/src/shell/mountShell.js +43 -12
  434. package/dist/src/shell/pageStrings.d.ts +24 -0
  435. package/dist/src/shell/pageStrings.js +26 -0
  436. package/dist/src/shell/pluginHosts.d.ts +9 -0
  437. package/dist/src/shell/pluginHosts.js +6 -0
  438. package/dist/src/shell/pluginHostsContext.d.ts +20 -0
  439. package/dist/src/shell/pluginHostsContext.js +16 -0
  440. package/dist/src/shell/pluginTabs.d.ts +63 -0
  441. package/dist/src/shell/pluginTabs.js +60 -0
  442. package/dist/src/shell/search.css +172 -0
  443. package/dist/src/shell/searchStrings.d.ts +24 -0
  444. package/dist/src/shell/searchStrings.js +31 -0
  445. package/dist/src/shell/shell.css +310 -136
  446. package/dist/src/shell/shellScheme.d.ts +37 -0
  447. package/dist/src/shell/shellScheme.js +32 -0
  448. package/dist/src/shell/storyTouch.d.ts +19 -6
  449. package/dist/src/shell/storyTouch.js +26 -4
  450. package/dist/src/shell/strings.d.ts +62 -80
  451. package/dist/src/shell/strings.js +60 -79
  452. package/dist/src/shell/switchView.d.ts +0 -1
  453. package/dist/src/shell/switchView.js +0 -1
  454. package/dist/src/shell/tabSummaries.d.ts +31 -0
  455. package/dist/src/shell/tabSummaries.js +27 -0
  456. package/dist/src/shell/treeSearch.d.ts +39 -3
  457. package/dist/src/shell/treeSearch.js +27 -1
  458. package/dist/src/shell/useAddressArgs.d.ts +55 -0
  459. package/dist/src/shell/useAddressArgs.js +62 -0
  460. package/dist/src/shell/useAnchorScroll.d.ts +24 -0
  461. package/dist/src/shell/useAnchorScroll.js +90 -0
  462. package/dist/src/shell/useAppearance.d.ts +7 -2
  463. package/dist/src/shell/useAppearance.js +14 -5
  464. package/dist/src/shell/useComponentDocs.d.ts +0 -1
  465. package/dist/src/shell/useComponentDocs.js +0 -1
  466. package/dist/src/shell/useControlKeys.d.ts +2 -1
  467. package/dist/src/shell/useControlKeys.js +2 -3
  468. package/dist/src/shell/useCopy.d.ts +2 -1
  469. package/dist/src/shell/useCopy.js +11 -6
  470. package/dist/src/shell/useFold.d.ts +0 -1
  471. package/dist/src/shell/useFold.js +0 -1
  472. package/dist/src/shell/useFrameMessages.d.ts +19 -4
  473. package/dist/src/shell/useFrameMessages.js +23 -7
  474. package/dist/src/shell/useFrameQueue.d.ts +7 -3
  475. package/dist/src/shell/useFrameQueue.js +39 -22
  476. package/dist/src/shell/useFullPage.d.ts +0 -1
  477. package/dist/src/shell/useFullPage.js +0 -1
  478. package/dist/src/shell/useLiveView.d.ts +0 -1
  479. package/dist/src/shell/useLiveView.js +0 -1
  480. package/dist/src/shell/useLoaded.d.ts +1 -2
  481. package/dist/src/shell/useLoaded.js +28 -6
  482. package/dist/src/shell/usePageDoc.d.ts +0 -1
  483. package/dist/src/shell/usePageDoc.js +0 -1
  484. package/dist/src/shell/usePageFrames.d.ts +46 -0
  485. package/dist/src/shell/usePageFrames.js +50 -0
  486. package/dist/src/shell/usePluginTabs.d.ts +18 -0
  487. package/dist/src/shell/usePluginTabs.js +45 -0
  488. package/dist/src/shell/usePopover.d.ts +0 -1
  489. package/dist/src/shell/usePopover.js +0 -1
  490. package/dist/src/shell/useProseLinks.d.ts +14 -0
  491. package/dist/src/shell/useProseLinks.js +30 -0
  492. package/dist/src/shell/useRecentPages.d.ts +3 -4
  493. package/dist/src/shell/useRecentPages.js +1 -2
  494. package/dist/src/shell/useScrollMemory.d.ts +9 -1
  495. package/dist/src/shell/useScrollMemory.js +2 -3
  496. package/dist/src/shell/useSearchIndex.d.ts +24 -0
  497. package/dist/src/shell/useSearchIndex.js +51 -0
  498. package/dist/src/shell/useShownView.d.ts +35 -0
  499. package/dist/src/shell/useShownView.js +36 -0
  500. package/dist/src/shell/useSidebarLayout.d.ts +0 -1
  501. package/dist/src/shell/useSidebarLayout.js +0 -1
  502. package/dist/src/shell/useStored.d.ts +13 -1
  503. package/dist/src/shell/useStored.js +13 -5
  504. package/dist/src/shell/useStoryCheck.d.ts +20 -0
  505. package/dist/src/shell/useStoryCheck.js +33 -0
  506. package/dist/src/shell/useStoryCode.d.ts +0 -1
  507. package/dist/src/shell/useStoryCode.js +0 -1
  508. package/dist/src/shell/useStoryHeights.d.ts +0 -1
  509. package/dist/src/shell/useStoryHeights.js +0 -1
  510. package/dist/src/shell/useStoryIdsElement.d.ts +0 -1
  511. package/dist/src/shell/useStoryIdsElement.js +0 -1
  512. package/dist/src/shell/useStoryKeys.d.ts +0 -1
  513. package/dist/src/shell/useStoryKeys.js +0 -1
  514. package/dist/src/shell/useSyncedTab.d.ts +8 -0
  515. package/dist/src/shell/useSyncedTab.js +60 -0
  516. package/dist/src/shell/useSystemDark.d.ts +0 -1
  517. package/dist/src/shell/useSystemDark.js +0 -1
  518. package/dist/src/shell/useToolbarLayout.d.ts +0 -1
  519. package/dist/src/shell/useToolbarLayout.js +0 -1
  520. package/dist/src/shell/useToolbarOverflow.d.ts +0 -1
  521. package/dist/src/shell/useToolbarOverflow.js +0 -1
  522. package/dist/src/shell/useWorstCase.d.ts +0 -1
  523. package/dist/src/shell/useWorstCase.js +2 -2
  524. package/dist/src/shell/worstArgs.d.ts +0 -1
  525. package/dist/src/shell/worstArgs.js +0 -1
  526. package/dist/src/shellTheme.d.ts +64 -0
  527. package/dist/src/shellTheme.js +274 -0
  528. package/dist/src/shellTheme.types.d.ts +93 -0
  529. package/dist/src/shellTheme.types.js +10 -0
  530. package/dist/src/sourceFiles.d.ts +17 -3
  531. package/dist/src/sourceFiles.js +27 -1
  532. package/dist/src/spills.d.ts +0 -1
  533. package/dist/src/spills.js +0 -1
  534. package/dist/src/storyBackground.d.ts +0 -1
  535. package/dist/src/storyBackground.js +0 -1
  536. package/dist/src/storyCheck.d.ts +88 -2
  537. package/dist/src/storyCheck.js +12 -2
  538. package/dist/src/storyClock.d.ts +0 -1
  539. package/dist/src/storyClock.js +0 -1
  540. package/dist/src/storyGlobals.d.ts +0 -1
  541. package/dist/src/storyGlobals.js +0 -1
  542. package/dist/src/storyHeights.d.ts +0 -1
  543. package/dist/src/storyHeights.js +0 -1
  544. package/dist/src/storyIds.d.ts +36 -0
  545. package/dist/src/storyIds.js +52 -0
  546. package/dist/src/storyIdsElement.d.ts +0 -1
  547. package/dist/src/storyIdsElement.js +0 -1
  548. package/dist/src/storyTexts.d.ts +11 -5
  549. package/dist/src/storyTexts.js +16 -5
  550. package/dist/src/storyTree.d.ts +88 -25
  551. package/dist/src/storyTree.js +219 -126
  552. package/dist/src/switches.d.ts +0 -1
  553. package/dist/src/switches.js +6 -2
  554. package/dist/src/toolbarLayout.d.ts +0 -1
  555. package/dist/src/toolbarLayout.js +0 -1
  556. package/dist/src/treePlaces.d.ts +60 -0
  557. package/dist/src/treePlaces.js +89 -0
  558. package/dist/src/usedIn.d.ts +28 -1
  559. package/dist/src/usedIn.js +93 -3
  560. package/dist/src/viewState.d.ts +37 -9
  561. package/dist/src/viewState.js +67 -9
  562. package/dist/src/viewWords.d.ts +0 -13
  563. package/dist/src/viewWords.js +41 -3
  564. package/dist/src/vite/adapter.d.ts +62 -1
  565. package/dist/src/vite/adapter.js +20 -2
  566. package/dist/src/vite/agent.types.d.ts +281 -7
  567. package/dist/src/vite/agent.types.js +11 -1
  568. package/dist/src/vite/agentApi.d.ts +55 -2
  569. package/dist/src/vite/agentApi.js +131 -8
  570. package/dist/src/vite/agentIds.d.ts +25 -0
  571. package/dist/src/vite/agentIds.js +41 -0
  572. package/dist/src/vite/agentIndex.d.ts +63 -0
  573. package/dist/src/vite/agentIndex.js +91 -0
  574. package/dist/src/vite/agentIndexRoute.d.ts +10 -0
  575. package/dist/src/vite/agentIndexRoute.js +35 -0
  576. package/dist/src/vite/agentRoutes.d.ts +80 -19
  577. package/dist/src/vite/agentRoutes.js +167 -24
  578. package/dist/src/vite/autoTitle.d.ts +0 -1
  579. package/dist/src/vite/autoTitle.js +0 -1
  580. package/dist/src/vite/axeScript.d.ts +20 -0
  581. package/dist/src/vite/axeScript.js +60 -0
  582. package/dist/src/vite/builtTexts.d.ts +75 -0
  583. package/dist/src/vite/builtTexts.js +142 -0
  584. package/dist/src/vite/catalogueConfig.d.ts +10 -0
  585. package/dist/src/vite/catalogueConfig.js +64 -0
  586. package/dist/src/vite/checkCode.d.ts +67 -0
  587. package/dist/src/vite/checkCode.js +145 -0
  588. package/dist/src/vite/closeWatch.d.ts +96 -0
  589. package/dist/src/vite/closeWatch.js +219 -0
  590. package/dist/src/vite/codeFence.d.ts +78 -0
  591. package/dist/src/vite/codeFence.js +267 -0
  592. package/dist/src/vite/componentImport.d.ts +8 -0
  593. package/dist/src/vite/componentImport.js +35 -0
  594. package/dist/src/vite/componentPage.d.ts +15 -2
  595. package/dist/src/vite/componentPage.js +55 -16
  596. package/dist/src/vite/config.d.ts +51 -3
  597. package/dist/src/vite/config.js +0 -1
  598. package/dist/src/vite/configFile.d.ts +65 -9
  599. package/dist/src/vite/configFile.js +182 -28
  600. package/dist/src/vite/designTokens.d.ts +75 -0
  601. package/dist/src/vite/designTokens.js +382 -0
  602. package/dist/src/vite/diskCache.d.ts +51 -0
  603. package/dist/src/vite/diskCache.js +211 -0
  604. package/dist/src/vite/docDirectives.d.ts +116 -0
  605. package/dist/src/vite/docDirectives.js +425 -0
  606. package/dist/src/vite/docMarkdown.d.ts +76 -0
  607. package/dist/src/vite/docMarkdown.js +150 -0
  608. package/dist/src/vite/docPageBlocks.d.ts +64 -0
  609. package/dist/src/vite/docPageBlocks.js +322 -0
  610. package/dist/src/vite/docPageLinks.d.ts +72 -0
  611. package/dist/src/vite/docPageLinks.js +135 -0
  612. package/dist/src/vite/docPageMarkdown.d.ts +86 -0
  613. package/dist/src/vite/docPageMarkdown.js +133 -0
  614. package/dist/src/vite/docPageRender.d.ts +27 -0
  615. package/dist/src/vite/docPageRender.js +199 -0
  616. package/dist/src/vite/docPageTokens.d.ts +91 -0
  617. package/dist/src/vite/docPageTokens.js +186 -0
  618. package/dist/src/vite/docPagesModule.d.ts +50 -0
  619. package/dist/src/vite/docPagesModule.js +118 -0
  620. package/dist/src/vite/docPagesRoute.d.ts +38 -0
  621. package/dist/src/vite/docPagesRoute.js +154 -0
  622. package/dist/src/vite/docsDependencies.d.ts +6 -0
  623. package/dist/src/vite/docsDependencies.js +150 -0
  624. package/dist/src/vite/docsExtractor.d.ts +44 -3
  625. package/dist/src/vite/docsExtractor.js +160 -26
  626. package/dist/src/vite/docsProgram.d.ts +89 -9
  627. package/dist/src/vite/docsProgram.js +413 -50
  628. package/dist/src/vite/docsWorker.d.ts +0 -1
  629. package/dist/src/vite/docsWorker.js +49 -15
  630. package/dist/src/vite/figmaLink.d.ts +26 -0
  631. package/dist/src/vite/figmaLink.js +92 -0
  632. package/dist/src/vite/findComponent.d.ts +32 -0
  633. package/dist/src/vite/findComponent.js +52 -0
  634. package/dist/src/vite/findRoute.d.ts +14 -0
  635. package/dist/src/vite/findRoute.js +62 -0
  636. package/dist/src/vite/forcedStates.d.ts +0 -1
  637. package/dist/src/vite/forcedStates.js +0 -1
  638. package/dist/src/vite/forgebookPlugin.d.ts +1 -2
  639. package/dist/src/vite/forgebookPlugin.js +330 -263
  640. package/dist/src/vite/framesConfig.d.ts +89 -0
  641. package/dist/src/vite/framesConfig.js +149 -0
  642. package/dist/src/vite/framesServer.d.ts +43 -0
  643. package/dist/src/vite/framesServer.js +326 -0
  644. package/dist/src/vite/functionComponentDocs.d.ts +26 -0
  645. package/dist/src/vite/functionComponentDocs.js +193 -0
  646. package/dist/src/vite/gitChange.d.ts +56 -0
  647. package/dist/src/vite/gitChange.js +86 -0
  648. package/dist/src/vite/heightsRoute.d.ts +24 -0
  649. package/dist/src/vite/heightsRoute.js +42 -0
  650. package/dist/src/vite/highlightCode.d.ts +0 -1
  651. package/dist/src/vite/highlightCode.js +8 -27
  652. package/dist/src/vite/hotSnippets.d.ts +86 -0
  653. package/dist/src/vite/hotSnippets.js +168 -0
  654. package/dist/src/vite/indexFields.d.ts +61 -0
  655. package/dist/src/vite/indexFields.js +149 -0
  656. package/dist/src/vite/indexStoryFile.d.ts +20 -19
  657. package/dist/src/vite/indexStoryFile.js +172 -201
  658. package/dist/src/vite/indexedParameters.d.ts +10 -0
  659. package/dist/src/vite/indexedParameters.js +110 -0
  660. package/dist/src/vite/mcpProtocol.d.ts +36 -2
  661. package/dist/src/vite/mcpProtocol.js +100 -15
  662. package/dist/src/vite/moduleSummary.d.ts +17 -0
  663. package/dist/src/vite/moduleSummary.js +40 -0
  664. package/dist/src/vite/nearestToken.d.ts +50 -0
  665. package/dist/src/vite/nearestToken.js +295 -0
  666. package/dist/src/vite/originGuard.d.ts +87 -0
  667. package/dist/src/vite/originGuard.js +163 -0
  668. package/dist/src/vite/packedModule.d.ts +40 -0
  669. package/dist/src/vite/packedModule.js +74 -0
  670. package/dist/src/vite/pages.d.ts +63 -10
  671. package/dist/src/vite/pages.js +264 -33
  672. package/dist/src/vite/parsedFiles.d.ts +18 -0
  673. package/dist/src/vite/parsedFiles.js +91 -0
  674. package/dist/src/vite/plainGrammars.d.ts +20 -0
  675. package/dist/src/vite/plainGrammars.js +113 -0
  676. package/dist/src/vite/pluginConfig.d.ts +47 -0
  677. package/dist/src/vite/pluginConfig.js +220 -0
  678. package/dist/src/vite/pluginIds.d.ts +20 -0
  679. package/dist/src/vite/pluginIds.js +61 -0
  680. package/dist/src/vite/pluginModules.d.ts +140 -0
  681. package/dist/src/vite/pluginModules.js +176 -0
  682. package/dist/src/vite/prebundled.d.ts +18 -5
  683. package/dist/src/vite/prebundled.js +28 -18
  684. package/dist/src/vite/previewPages.d.ts +14 -0
  685. package/dist/src/vite/previewPages.js +81 -0
  686. package/dist/src/vite/previewRoute.d.ts +8 -0
  687. package/dist/src/vite/previewRoute.js +8 -0
  688. package/dist/src/vite/previewRunner.d.ts +56 -0
  689. package/dist/src/vite/previewRunner.js +207 -0
  690. package/dist/src/vite/propDocs.d.ts +60 -0
  691. package/dist/src/vite/propDocs.js +387 -0
  692. package/dist/src/vite/searchModule.d.ts +40 -0
  693. package/dist/src/vite/searchModule.js +212 -0
  694. package/dist/src/vite/searchRoute.d.ts +7 -0
  695. package/dist/src/vite/searchRoute.js +79 -0
  696. package/dist/src/vite/serverConditions.d.ts +31 -0
  697. package/dist/src/vite/serverConditions.js +69 -0
  698. package/dist/src/vite/signatureDocs.d.ts +18 -0
  699. package/dist/src/vite/signatureDocs.js +64 -0
  700. package/dist/src/vite/sourceTokens.d.ts +57 -0
  701. package/dist/src/vite/sourceTokens.js +164 -0
  702. package/dist/src/vite/storyCode.d.ts +0 -1
  703. package/dist/src/vite/storyCode.js +2 -3
  704. package/dist/src/vite/storyExports.d.ts +32 -0
  705. package/dist/src/vite/storyExports.js +27 -0
  706. package/dist/src/vite/storyFilesModule.d.ts +56 -4
  707. package/dist/src/vite/storyFilesModule.js +122 -34
  708. package/dist/src/vite/storyMeta.d.ts +20 -11
  709. package/dist/src/vite/storyMeta.js +74 -38
  710. package/dist/src/vite/storyParse.d.ts +18 -0
  711. package/dist/src/vite/storyParse.js +20 -0
  712. package/dist/src/vite/storyPlay.d.ts +29 -0
  713. package/dist/src/vite/storyPlay.js +54 -0
  714. package/dist/src/vite/storyReach.d.ts +42 -0
  715. package/dist/src/vite/storyReach.js +43 -0
  716. package/dist/src/vite/storylessRoutes.d.ts +29 -0
  717. package/dist/src/vite/storylessRoutes.js +126 -0
  718. package/dist/src/vite/textModules.d.ts +63 -0
  719. package/dist/src/vite/textModules.js +132 -0
  720. package/dist/src/vite/textQueries.d.ts +20 -0
  721. package/dist/src/vite/textQueries.js +20 -0
  722. package/dist/src/vite/themeFromTokens.d.ts +35 -0
  723. package/dist/src/vite/themeFromTokens.js +73 -0
  724. package/dist/src/vite/tokenAnswers.d.ts +20 -0
  725. package/dist/src/vite/tokenAnswers.js +86 -0
  726. package/dist/src/vite/tokenClashes.d.ts +44 -0
  727. package/dist/src/vite/tokenClashes.js +45 -0
  728. package/dist/src/vite/touchMedia.d.ts +0 -1
  729. package/dist/src/vite/touchMedia.js +0 -1
  730. package/dist/src/vite/typeScriptPieces.d.ts +0 -1
  731. package/dist/src/vite/typeScriptPieces.js +2 -3
  732. package/dist/src/vite/usageGraph.d.ts +6 -1
  733. package/dist/src/vite/usageGraph.js +41 -7
  734. package/dist/src/vite/usageGuidance.d.ts +33 -0
  735. package/dist/src/vite/usageGuidance.js +45 -0
  736. package/dist/src/vite/usageModule.d.ts +0 -1
  737. package/dist/src/vite/usageModule.js +0 -1
  738. package/dist/src/vite/vitePaths.d.ts +53 -0
  739. package/dist/src/vite/vitePaths.js +53 -0
  740. package/dist/src/worstCase.d.ts +0 -1
  741. package/dist/src/worstCase.js +0 -1
  742. package/package.json +66 -3
  743. package/dist/bin/forgebook/agentClient.d.ts.map +0 -1
  744. package/dist/bin/forgebook/agentClient.js.map +0 -1
  745. package/dist/bin/forgebook/agentLoopCommands.d.mts.map +0 -1
  746. package/dist/bin/forgebook/agentLoopCommands.mjs.map +0 -1
  747. package/dist/bin/forgebook/agentText.d.ts.map +0 -1
  748. package/dist/bin/forgebook/agentText.js.map +0 -1
  749. package/dist/bin/forgebook/agentsText.d.ts.map +0 -1
  750. package/dist/bin/forgebook/agentsText.js.map +0 -1
  751. package/dist/bin/forgebook/catalogueCommands.d.ts.map +0 -1
  752. package/dist/bin/forgebook/catalogueCommands.js.map +0 -1
  753. package/dist/bin/forgebook/catalogueVite.d.ts.map +0 -1
  754. package/dist/bin/forgebook/catalogueVite.js.map +0 -1
  755. package/dist/bin/forgebook/errorsRun.d.ts.map +0 -1
  756. package/dist/bin/forgebook/errorsRun.js.map +0 -1
  757. package/dist/bin/forgebook/forgebook.d.mts.map +0 -1
  758. package/dist/bin/forgebook/forgebook.mjs.map +0 -1
  759. package/dist/bin/forgebook/importers/storybook.d.ts.map +0 -1
  760. package/dist/bin/forgebook/importers/storybook.js.map +0 -1
  761. package/dist/bin/forgebook/initCommands.d.mts.map +0 -1
  762. package/dist/bin/forgebook/initCommands.mjs.map +0 -1
  763. package/dist/bin/forgebook/initConfig.d.ts.map +0 -1
  764. package/dist/bin/forgebook/initConfig.js.map +0 -1
  765. package/dist/bin/forgebook/mcpTools.d.ts.map +0 -1
  766. package/dist/bin/forgebook/mcpTools.js.map +0 -1
  767. package/dist/bin/forgebook/newStories.d.ts.map +0 -1
  768. package/dist/bin/forgebook/newStories.js.map +0 -1
  769. package/dist/bin/forgebook/newStoriesFile.d.ts.map +0 -1
  770. package/dist/bin/forgebook/newStoriesFile.js.map +0 -1
  771. package/dist/bin/forgebook/storyCheckRun.d.ts.map +0 -1
  772. package/dist/bin/forgebook/storyCheckRun.js.map +0 -1
  773. package/dist/bin/forgebook/touchWindowRun.d.ts.map +0 -1
  774. package/dist/bin/forgebook/touchWindowRun.js.map +0 -1
  775. package/dist/bin/forgebook-docs/catalogueDocs.d.ts.map +0 -1
  776. package/dist/bin/forgebook-docs/catalogueDocs.js.map +0 -1
  777. package/dist/bin/forgebook-docs/catalogueDocs.types.d.ts.map +0 -1
  778. package/dist/bin/forgebook-docs/catalogueDocs.types.js.map +0 -1
  779. package/dist/bin/forgebook-docs/catalogueMarkdown.d.ts.map +0 -1
  780. package/dist/bin/forgebook-docs/catalogueMarkdown.js.map +0 -1
  781. package/dist/bin/forgebook-docs/catalogueOptions.d.ts.map +0 -1
  782. package/dist/bin/forgebook-docs/catalogueOptions.js.map +0 -1
  783. package/dist/bin/forgebook-docs/collectDocs.d.ts.map +0 -1
  784. package/dist/bin/forgebook-docs/collectDocs.js.map +0 -1
  785. package/dist/bin/forgebook-docs/forgebook-docs.d.mts.map +0 -1
  786. package/dist/bin/forgebook-docs/forgebook-docs.mjs.map +0 -1
  787. package/dist/bin/forgebook-docs/llmsText.d.ts.map +0 -1
  788. package/dist/bin/forgebook-docs/llmsText.js.map +0 -1
  789. package/dist/bin/forgebook-docs/moduleDocs.d.ts.map +0 -1
  790. package/dist/bin/forgebook-docs/moduleDocs.js.map +0 -1
  791. package/dist/bin/forgebook-docs/sassDocs.d.ts.map +0 -1
  792. package/dist/bin/forgebook-docs/sassDocs.js.map +0 -1
  793. package/dist/bin/forgebook-docs/sourceId.d.ts +0 -9
  794. package/dist/bin/forgebook-docs/sourceId.d.ts.map +0 -1
  795. package/dist/bin/forgebook-docs/sourceId.js +0 -45
  796. package/dist/bin/forgebook-docs/sourceId.js.map +0 -1
  797. package/dist/bin/forgebook-texts/forgebook-texts.d.mts.map +0 -1
  798. package/dist/bin/forgebook-texts/forgebook-texts.mjs.map +0 -1
  799. package/dist/bin/forgebook-texts/storyTextsReport.d.ts.map +0 -1
  800. package/dist/bin/forgebook-texts/storyTextsReport.js.map +0 -1
  801. package/dist/bin/forgebook-texts/storyTextsReport.types.d.ts.map +0 -1
  802. package/dist/bin/forgebook-texts/storyTextsReport.types.js.map +0 -1
  803. package/dist/bin/frameworkDocs.d.ts.map +0 -1
  804. package/dist/bin/frameworkDocs.js.map +0 -1
  805. package/dist/src/a11y.d.ts.map +0 -1
  806. package/dist/src/a11y.js.map +0 -1
  807. package/dist/src/argTypes.d.ts.map +0 -1
  808. package/dist/src/argTypes.js.map +0 -1
  809. package/dist/src/backdrops.d.ts.map +0 -1
  810. package/dist/src/backdrops.js.map +0 -1
  811. package/dist/src/catalogue.d.ts.map +0 -1
  812. package/dist/src/catalogue.js.map +0 -1
  813. package/dist/src/componentDocs.d.ts.map +0 -1
  814. package/dist/src/componentDocs.js.map +0 -1
  815. package/dist/src/controlKeys.d.ts.map +0 -1
  816. package/dist/src/controlKeys.js.map +0 -1
  817. package/dist/src/frame/checkStory.d.ts.map +0 -1
  818. package/dist/src/frame/checkStory.js.map +0 -1
  819. package/dist/src/frame/frameClock.d.ts.map +0 -1
  820. package/dist/src/frame/frameClock.js.map +0 -1
  821. package/dist/src/frame/frameStatus.d.ts.map +0 -1
  822. package/dist/src/frame/frameStatus.js.map +0 -1
  823. package/dist/src/frame/frameView.d.ts.map +0 -1
  824. package/dist/src/frame/frameView.js.map +0 -1
  825. package/dist/src/frame/matrixLayout.d.ts.map +0 -1
  826. package/dist/src/frame/matrixLayout.js.map +0 -1
  827. package/dist/src/frame/measureTools.d.ts.map +0 -1
  828. package/dist/src/frame/measureTools.js.map +0 -1
  829. package/dist/src/frame/mountFrame.d.ts.map +0 -1
  830. package/dist/src/frame/mountFrame.js.map +0 -1
  831. package/dist/src/frame/playStory.d.ts.map +0 -1
  832. package/dist/src/frame/playStory.js.map +0 -1
  833. package/dist/src/frame/renderer.d.ts.map +0 -1
  834. package/dist/src/frame/renderer.js.map +0 -1
  835. package/dist/src/frame/settle.d.ts.map +0 -1
  836. package/dist/src/frame/settle.js.map +0 -1
  837. package/dist/src/frame/spillOutline.d.ts.map +0 -1
  838. package/dist/src/frame/spillOutline.js.map +0 -1
  839. package/dist/src/frame/staleModule.d.ts.map +0 -1
  840. package/dist/src/frame/staleModule.js.map +0 -1
  841. package/dist/src/frame/storyCanvas.d.ts.map +0 -1
  842. package/dist/src/frame/storyCanvas.js.map +0 -1
  843. package/dist/src/frame/storyHooks.d.ts.map +0 -1
  844. package/dist/src/frame/storyHooks.js.map +0 -1
  845. package/dist/src/frame/storyModule.d.ts.map +0 -1
  846. package/dist/src/frame/storyModule.js.map +0 -1
  847. package/dist/src/frame/storyRun.d.ts.map +0 -1
  848. package/dist/src/frame/storyRun.js.map +0 -1
  849. package/dist/src/frame/touchDots.d.ts.map +0 -1
  850. package/dist/src/frame/touchDots.js.map +0 -1
  851. package/dist/src/frame/touchEvents.d.ts.map +0 -1
  852. package/dist/src/frame/touchEvents.js.map +0 -1
  853. package/dist/src/frame/touchGesture.d.ts.map +0 -1
  854. package/dist/src/frame/touchGesture.js.map +0 -1
  855. package/dist/src/frame/touchLayer.d.ts.map +0 -1
  856. package/dist/src/frame/touchLayer.js.map +0 -1
  857. package/dist/src/frame/touchScroll.d.ts.map +0 -1
  858. package/dist/src/frame/touchScroll.js.map +0 -1
  859. package/dist/src/languages.d.ts.map +0 -1
  860. package/dist/src/languages.js.map +0 -1
  861. package/dist/src/liveErrors.d.ts.map +0 -1
  862. package/dist/src/liveErrors.js.map +0 -1
  863. package/dist/src/matrix.d.ts.map +0 -1
  864. package/dist/src/matrix.js.map +0 -1
  865. package/dist/src/messages.d.ts.map +0 -1
  866. package/dist/src/messages.js.map +0 -1
  867. package/dist/src/namedValues.d.ts.map +0 -1
  868. package/dist/src/namedValues.js.map +0 -1
  869. package/dist/src/namedViews.d.ts.map +0 -1
  870. package/dist/src/namedViews.js.map +0 -1
  871. package/dist/src/pageConfig.d.ts.map +0 -1
  872. package/dist/src/pageConfig.js.map +0 -1
  873. package/dist/src/playTrace.d.ts.map +0 -1
  874. package/dist/src/playTrace.js.map +0 -1
  875. package/dist/src/realTouch.d.ts.map +0 -1
  876. package/dist/src/realTouch.js.map +0 -1
  877. package/dist/src/shell/A11yTab.d.ts.map +0 -1
  878. package/dist/src/shell/A11yTab.js.map +0 -1
  879. package/dist/src/shell/ApiReference.d.ts.map +0 -1
  880. package/dist/src/shell/ApiReference.js.map +0 -1
  881. package/dist/src/shell/AppearanceMenu.d.ts.map +0 -1
  882. package/dist/src/shell/AppearanceMenu.js.map +0 -1
  883. package/dist/src/shell/BoxWidth.d.ts.map +0 -1
  884. package/dist/src/shell/BoxWidth.js.map +0 -1
  885. package/dist/src/shell/ClockControls.d.ts.map +0 -1
  886. package/dist/src/shell/ClockControls.js.map +0 -1
  887. package/dist/src/shell/Code.d.ts.map +0 -1
  888. package/dist/src/shell/Code.js.map +0 -1
  889. package/dist/src/shell/CodeTab.d.ts.map +0 -1
  890. package/dist/src/shell/CodeTab.js.map +0 -1
  891. package/dist/src/shell/CodeText.d.ts.map +0 -1
  892. package/dist/src/shell/CodeText.js.map +0 -1
  893. package/dist/src/shell/ComponentPage.d.ts.map +0 -1
  894. package/dist/src/shell/ComponentPage.js.map +0 -1
  895. package/dist/src/shell/ControlKeyField.d.ts.map +0 -1
  896. package/dist/src/shell/ControlKeyField.js.map +0 -1
  897. package/dist/src/shell/ControlRow.d.ts.map +0 -1
  898. package/dist/src/shell/ControlRow.js.map +0 -1
  899. package/dist/src/shell/Dock.d.ts.map +0 -1
  900. package/dist/src/shell/Dock.js.map +0 -1
  901. package/dist/src/shell/EventsTab.d.ts.map +0 -1
  902. package/dist/src/shell/EventsTab.js.map +0 -1
  903. package/dist/src/shell/Example.d.ts.map +0 -1
  904. package/dist/src/shell/Example.js.map +0 -1
  905. package/dist/src/shell/FrameView.d.ts.map +0 -1
  906. package/dist/src/shell/FrameView.js.map +0 -1
  907. package/dist/src/shell/HomePage.d.ts.map +0 -1
  908. package/dist/src/shell/HomePage.js.map +0 -1
  909. package/dist/src/shell/InfoTip.d.ts.map +0 -1
  910. package/dist/src/shell/InfoTip.js.map +0 -1
  911. package/dist/src/shell/InteractionsTab.d.ts.map +0 -1
  912. package/dist/src/shell/InteractionsTab.js.map +0 -1
  913. package/dist/src/shell/MatrixPicker.d.ts.map +0 -1
  914. package/dist/src/shell/MatrixPicker.js.map +0 -1
  915. package/dist/src/shell/NamedViews.d.ts.map +0 -1
  916. package/dist/src/shell/NamedViews.js.map +0 -1
  917. package/dist/src/shell/PackageHtml.d.ts.map +0 -1
  918. package/dist/src/shell/PackageHtml.js.map +0 -1
  919. package/dist/src/shell/PartsTab.d.ts.map +0 -1
  920. package/dist/src/shell/PartsTab.js.map +0 -1
  921. package/dist/src/shell/PinnedControl.d.ts.map +0 -1
  922. package/dist/src/shell/PinnedControl.js.map +0 -1
  923. package/dist/src/shell/PropFields.d.ts.map +0 -1
  924. package/dist/src/shell/PropFields.js.map +0 -1
  925. package/dist/src/shell/PropsTab.d.ts.map +0 -1
  926. package/dist/src/shell/PropsTab.js.map +0 -1
  927. package/dist/src/shell/Segmented.d.ts.map +0 -1
  928. package/dist/src/shell/Segmented.js.map +0 -1
  929. package/dist/src/shell/Shell.d.ts.map +0 -1
  930. package/dist/src/shell/Shell.js.map +0 -1
  931. package/dist/src/shell/Sidebar.d.ts.map +0 -1
  932. package/dist/src/shell/Sidebar.js.map +0 -1
  933. package/dist/src/shell/SidebarEntries.d.ts.map +0 -1
  934. package/dist/src/shell/SidebarEntries.js.map +0 -1
  935. package/dist/src/shell/SidebarHandle.d.ts.map +0 -1
  936. package/dist/src/shell/SidebarHandle.js.map +0 -1
  937. package/dist/src/shell/Stage.d.ts.map +0 -1
  938. package/dist/src/shell/Stage.js.map +0 -1
  939. package/dist/src/shell/StageTools.d.ts.map +0 -1
  940. package/dist/src/shell/StageTools.js.map +0 -1
  941. package/dist/src/shell/StageViewport.d.ts.map +0 -1
  942. package/dist/src/shell/StageViewport.js.map +0 -1
  943. package/dist/src/shell/StoryCodeBlock.d.ts.map +0 -1
  944. package/dist/src/shell/StoryCodeBlock.js.map +0 -1
  945. package/dist/src/shell/StoryPicker.d.ts.map +0 -1
  946. package/dist/src/shell/StoryPicker.js.map +0 -1
  947. package/dist/src/shell/Toolbar.d.ts.map +0 -1
  948. package/dist/src/shell/Toolbar.js.map +0 -1
  949. package/dist/src/shell/ToolbarControl.d.ts.map +0 -1
  950. package/dist/src/shell/ToolbarControl.js.map +0 -1
  951. package/dist/src/shell/UsedIn.d.ts.map +0 -1
  952. package/dist/src/shell/UsedIn.js.map +0 -1
  953. package/dist/src/shell/ViewMenu.d.ts.map +0 -1
  954. package/dist/src/shell/ViewMenu.js.map +0 -1
  955. package/dist/src/shell/WidthField.d.ts.map +0 -1
  956. package/dist/src/shell/WidthField.js.map +0 -1
  957. package/dist/src/shell/catalogueContext.d.ts.map +0 -1
  958. package/dist/src/shell/catalogueContext.js.map +0 -1
  959. package/dist/src/shell/codeTokens.d.ts.map +0 -1
  960. package/dist/src/shell/codeTokens.js.map +0 -1
  961. package/dist/src/shell/codeWriter.d.ts.map +0 -1
  962. package/dist/src/shell/codeWriter.js.map +0 -1
  963. package/dist/src/shell/compareVariants.d.ts.map +0 -1
  964. package/dist/src/shell/compareVariants.js.map +0 -1
  965. package/dist/src/shell/controlCycle.d.ts.map +0 -1
  966. package/dist/src/shell/controlCycle.js.map +0 -1
  967. package/dist/src/shell/dockTabs.d.ts.map +0 -1
  968. package/dist/src/shell/dockTabs.js.map +0 -1
  969. package/dist/src/shell/icons.d.ts.map +0 -1
  970. package/dist/src/shell/icons.js.map +0 -1
  971. package/dist/src/shell/keyboard.d.ts.map +0 -1
  972. package/dist/src/shell/keyboard.js.map +0 -1
  973. package/dist/src/shell/mountShell.d.ts.map +0 -1
  974. package/dist/src/shell/mountShell.js.map +0 -1
  975. package/dist/src/shell/storyTouch.d.ts.map +0 -1
  976. package/dist/src/shell/storyTouch.js.map +0 -1
  977. package/dist/src/shell/strings.d.ts.map +0 -1
  978. package/dist/src/shell/strings.js.map +0 -1
  979. package/dist/src/shell/switchView.d.ts.map +0 -1
  980. package/dist/src/shell/switchView.js.map +0 -1
  981. package/dist/src/shell/treeSearch.d.ts.map +0 -1
  982. package/dist/src/shell/treeSearch.js.map +0 -1
  983. package/dist/src/shell/useAppearance.d.ts.map +0 -1
  984. package/dist/src/shell/useAppearance.js.map +0 -1
  985. package/dist/src/shell/useComponentDocs.d.ts.map +0 -1
  986. package/dist/src/shell/useComponentDocs.js.map +0 -1
  987. package/dist/src/shell/useControlKeys.d.ts.map +0 -1
  988. package/dist/src/shell/useControlKeys.js.map +0 -1
  989. package/dist/src/shell/useCopy.d.ts.map +0 -1
  990. package/dist/src/shell/useCopy.js.map +0 -1
  991. package/dist/src/shell/useFold.d.ts.map +0 -1
  992. package/dist/src/shell/useFold.js.map +0 -1
  993. package/dist/src/shell/useFrameMessages.d.ts.map +0 -1
  994. package/dist/src/shell/useFrameMessages.js.map +0 -1
  995. package/dist/src/shell/useFrameQueue.d.ts.map +0 -1
  996. package/dist/src/shell/useFrameQueue.js.map +0 -1
  997. package/dist/src/shell/useFullPage.d.ts.map +0 -1
  998. package/dist/src/shell/useFullPage.js.map +0 -1
  999. package/dist/src/shell/useLiveView.d.ts.map +0 -1
  1000. package/dist/src/shell/useLiveView.js.map +0 -1
  1001. package/dist/src/shell/useLoaded.d.ts.map +0 -1
  1002. package/dist/src/shell/useLoaded.js.map +0 -1
  1003. package/dist/src/shell/usePageDoc.d.ts.map +0 -1
  1004. package/dist/src/shell/usePageDoc.js.map +0 -1
  1005. package/dist/src/shell/usePopover.d.ts.map +0 -1
  1006. package/dist/src/shell/usePopover.js.map +0 -1
  1007. package/dist/src/shell/useRecentPages.d.ts.map +0 -1
  1008. package/dist/src/shell/useRecentPages.js.map +0 -1
  1009. package/dist/src/shell/useScrollMemory.d.ts.map +0 -1
  1010. package/dist/src/shell/useScrollMemory.js.map +0 -1
  1011. package/dist/src/shell/useSidebarLayout.d.ts.map +0 -1
  1012. package/dist/src/shell/useSidebarLayout.js.map +0 -1
  1013. package/dist/src/shell/useStored.d.ts.map +0 -1
  1014. package/dist/src/shell/useStored.js.map +0 -1
  1015. package/dist/src/shell/useStoryCode.d.ts.map +0 -1
  1016. package/dist/src/shell/useStoryCode.js.map +0 -1
  1017. package/dist/src/shell/useStoryHeights.d.ts.map +0 -1
  1018. package/dist/src/shell/useStoryHeights.js.map +0 -1
  1019. package/dist/src/shell/useStoryIdsElement.d.ts.map +0 -1
  1020. package/dist/src/shell/useStoryIdsElement.js.map +0 -1
  1021. package/dist/src/shell/useStoryKeys.d.ts.map +0 -1
  1022. package/dist/src/shell/useStoryKeys.js.map +0 -1
  1023. package/dist/src/shell/useSystemDark.d.ts.map +0 -1
  1024. package/dist/src/shell/useSystemDark.js.map +0 -1
  1025. package/dist/src/shell/useToolbarLayout.d.ts.map +0 -1
  1026. package/dist/src/shell/useToolbarLayout.js.map +0 -1
  1027. package/dist/src/shell/useToolbarOverflow.d.ts.map +0 -1
  1028. package/dist/src/shell/useToolbarOverflow.js.map +0 -1
  1029. package/dist/src/shell/useWorstCase.d.ts.map +0 -1
  1030. package/dist/src/shell/useWorstCase.js.map +0 -1
  1031. package/dist/src/shell/worstArgs.d.ts.map +0 -1
  1032. package/dist/src/shell/worstArgs.js.map +0 -1
  1033. package/dist/src/sourceFiles.d.ts.map +0 -1
  1034. package/dist/src/sourceFiles.js.map +0 -1
  1035. package/dist/src/spills.d.ts.map +0 -1
  1036. package/dist/src/spills.js.map +0 -1
  1037. package/dist/src/storyBackground.d.ts.map +0 -1
  1038. package/dist/src/storyBackground.js.map +0 -1
  1039. package/dist/src/storyCheck.d.ts.map +0 -1
  1040. package/dist/src/storyCheck.js.map +0 -1
  1041. package/dist/src/storyClock.d.ts.map +0 -1
  1042. package/dist/src/storyClock.js.map +0 -1
  1043. package/dist/src/storyGlobals.d.ts.map +0 -1
  1044. package/dist/src/storyGlobals.js.map +0 -1
  1045. package/dist/src/storyHeights.d.ts.map +0 -1
  1046. package/dist/src/storyHeights.js.map +0 -1
  1047. package/dist/src/storyIdsElement.d.ts.map +0 -1
  1048. package/dist/src/storyIdsElement.js.map +0 -1
  1049. package/dist/src/storyTexts.d.ts.map +0 -1
  1050. package/dist/src/storyTexts.js.map +0 -1
  1051. package/dist/src/storyTree.d.ts.map +0 -1
  1052. package/dist/src/storyTree.js.map +0 -1
  1053. package/dist/src/switches.d.ts.map +0 -1
  1054. package/dist/src/switches.js.map +0 -1
  1055. package/dist/src/toolbarLayout.d.ts.map +0 -1
  1056. package/dist/src/toolbarLayout.js.map +0 -1
  1057. package/dist/src/usedIn.d.ts.map +0 -1
  1058. package/dist/src/usedIn.js.map +0 -1
  1059. package/dist/src/viewState.d.ts.map +0 -1
  1060. package/dist/src/viewState.js.map +0 -1
  1061. package/dist/src/viewWords.d.ts.map +0 -1
  1062. package/dist/src/viewWords.js.map +0 -1
  1063. package/dist/src/vite/adapter.d.ts.map +0 -1
  1064. package/dist/src/vite/adapter.js.map +0 -1
  1065. package/dist/src/vite/agent.types.d.ts.map +0 -1
  1066. package/dist/src/vite/agent.types.js.map +0 -1
  1067. package/dist/src/vite/agentApi.d.ts.map +0 -1
  1068. package/dist/src/vite/agentApi.js.map +0 -1
  1069. package/dist/src/vite/agentRoutes.d.ts.map +0 -1
  1070. package/dist/src/vite/agentRoutes.js.map +0 -1
  1071. package/dist/src/vite/autoTitle.d.ts.map +0 -1
  1072. package/dist/src/vite/autoTitle.js.map +0 -1
  1073. package/dist/src/vite/componentPage.d.ts.map +0 -1
  1074. package/dist/src/vite/componentPage.js.map +0 -1
  1075. package/dist/src/vite/config.d.ts.map +0 -1
  1076. package/dist/src/vite/config.js.map +0 -1
  1077. package/dist/src/vite/configFile.d.ts.map +0 -1
  1078. package/dist/src/vite/configFile.js.map +0 -1
  1079. package/dist/src/vite/docsExtractor.d.ts.map +0 -1
  1080. package/dist/src/vite/docsExtractor.js.map +0 -1
  1081. package/dist/src/vite/docsProgram.d.ts.map +0 -1
  1082. package/dist/src/vite/docsProgram.js.map +0 -1
  1083. package/dist/src/vite/docsWorker.d.ts.map +0 -1
  1084. package/dist/src/vite/docsWorker.js.map +0 -1
  1085. package/dist/src/vite/forcedStates.d.ts.map +0 -1
  1086. package/dist/src/vite/forcedStates.js.map +0 -1
  1087. package/dist/src/vite/forgebookPlugin.d.ts.map +0 -1
  1088. package/dist/src/vite/forgebookPlugin.js.map +0 -1
  1089. package/dist/src/vite/highlightCode.d.ts.map +0 -1
  1090. package/dist/src/vite/highlightCode.js.map +0 -1
  1091. package/dist/src/vite/indexStoryFile.d.ts.map +0 -1
  1092. package/dist/src/vite/indexStoryFile.js.map +0 -1
  1093. package/dist/src/vite/mcpProtocol.d.ts.map +0 -1
  1094. package/dist/src/vite/mcpProtocol.js.map +0 -1
  1095. package/dist/src/vite/pages.d.ts.map +0 -1
  1096. package/dist/src/vite/pages.js.map +0 -1
  1097. package/dist/src/vite/prebundled.d.ts.map +0 -1
  1098. package/dist/src/vite/prebundled.js.map +0 -1
  1099. package/dist/src/vite/storyCode.d.ts.map +0 -1
  1100. package/dist/src/vite/storyCode.js.map +0 -1
  1101. package/dist/src/vite/storyFilesModule.d.ts.map +0 -1
  1102. package/dist/src/vite/storyFilesModule.js.map +0 -1
  1103. package/dist/src/vite/storyMeta.d.ts.map +0 -1
  1104. package/dist/src/vite/storyMeta.js.map +0 -1
  1105. package/dist/src/vite/touchMedia.d.ts.map +0 -1
  1106. package/dist/src/vite/touchMedia.js.map +0 -1
  1107. package/dist/src/vite/typeScriptPieces.d.ts.map +0 -1
  1108. package/dist/src/vite/typeScriptPieces.js.map +0 -1
  1109. package/dist/src/vite/usageGraph.d.ts.map +0 -1
  1110. package/dist/src/vite/usageGraph.js.map +0 -1
  1111. package/dist/src/vite/usageModule.d.ts.map +0 -1
  1112. package/dist/src/vite/usageModule.js.map +0 -1
  1113. package/dist/src/worstCase.d.ts.map +0 -1
  1114. package/dist/src/worstCase.js.map +0 -1
@@ -0,0 +1,150 @@
1
+ /**
2
+ * The paths a story file's docs can change with, so a kept answer (`diskCache.ts`) is reused only while they are
3
+ * unchanged: what the story file reaches through its imports, type imports and `import()` types included, and the
4
+ * folders those sit in (a file added there may be what an import now finds); the files its imports name that
5
+ * TypeScript does not read (a `.svelte` or `.vue` component), read for their own imports too; the manifest of each
6
+ * installed package it imports, and the lock file, which every installed type hangs on; and the configurations that
7
+ * decided how it is read.
8
+ *
9
+ * @remarks
10
+ * Run in the docs' worker, after the docs were read. The imports are found as TypeScript's own pre-pass finds them
11
+ * (`preProcessFile`), so an import only a type uses still counts, and resolved with the options the file is read with
12
+ * (`compilerOptionsFor`), without a program of their own. A package of the workspace, which an install links into
13
+ * `node_modules`, is followed into its sources: its real path is outside `node_modules`. A group's story files share one
14
+ * walk, so "Used in" reads each file once.
15
+ *
16
+ * @module
17
+ */
18
+ import { dirname, isAbsolute, resolve } from "node:path";
19
+ import ts from "typescript-6";
20
+ import { compilerOptionsFor, configurationFiles } from "./docsProgram.js";
21
+ /** The files a package manager rewrites when it installs. */
22
+ const LOCK_FILES = ["package-lock.json", "pnpm-lock.yaml", "yarn.lock", "bun.lock", "bun.lockb"];
23
+ /** Whether a path is inside a `node_modules` folder. */
24
+ const isInstalled = (path) => path.replaceAll("\\", "/").includes("/node_modules/");
25
+ /** The text after `*` of a `paths` pattern that matches a specifier, or none. */
26
+ const matchedStar = (pattern, specifier) => {
27
+ const star = pattern.indexOf("*");
28
+ if (star < 0)
29
+ return pattern === specifier ? "" : undefined;
30
+ const [before, after] = [pattern.slice(0, star), pattern.slice(star + 1)];
31
+ return specifier.startsWith(before) &&
32
+ specifier.endsWith(after) &&
33
+ specifier.length >= before.length + after.length
34
+ ? specifier.slice(before.length, specifier.length - after.length)
35
+ : undefined;
36
+ };
37
+ /**
38
+ * Where a specifier TypeScript could not resolve points through the configuration's `paths` (`@/Button.vue`), as the
39
+ * first candidate that exists: a framework's component file, which TypeScript does not read.
40
+ *
41
+ * @param specifier - the import's specifier.
42
+ * @param options - the compiler options.
43
+ */
44
+ const mappedPath = (specifier, options) => {
45
+ const base = options["pathsBasePath"];
46
+ const folder = typeof base === "string" ? base : options.baseUrl;
47
+ if (folder === undefined)
48
+ return undefined;
49
+ for (const [pattern, targets] of Object.entries(options.paths ?? {})) {
50
+ const star = matchedStar(pattern, specifier);
51
+ if (star === undefined)
52
+ continue;
53
+ for (const target of targets) {
54
+ const candidate = resolve(folder, target.replaceAll("*", star));
55
+ if (ts.sys.fileExists(candidate))
56
+ return candidate;
57
+ }
58
+ }
59
+ return undefined;
60
+ };
61
+ /** The manifest of the installed package a file belongs to. */
62
+ const manifestOf = (file) => ts.findConfigFile(dirname(file), ts.sys.fileExists, "package.json");
63
+ /**
64
+ * Where an import points: what TypeScript resolves it to, else the path a relative import names, else where the
65
+ * configuration's `paths` lead it; none for a package TypeScript cannot find.
66
+ *
67
+ * @param specifier - the import's specifier.
68
+ * @param file - the importing file.
69
+ * @param options - the compiler options it is read with.
70
+ * @param cache - the module resolution cache of the walk.
71
+ */
72
+ const importTarget = (specifier, file, options, cache) => {
73
+ const resolved = ts.resolveModuleName(specifier, file, options, ts.sys, cache).resolvedModule;
74
+ if (resolved !== undefined)
75
+ return resolved.resolvedFileName;
76
+ return specifier.startsWith(".") ? resolve(dirname(file), specifier) : mappedPath(specifier, options);
77
+ };
78
+ /**
79
+ * What one file names: its imports resolved outside `node_modules` (followed), its installed packages' manifests, the
80
+ * files TypeScript does not read (followed for their own imports), the missing ones as paths, and the files its
81
+ * `/// <reference path>` names.
82
+ *
83
+ * @param file - the file.
84
+ * @param options - the compiler options it is read with.
85
+ * @param cache - the module resolution cache of the walk.
86
+ */
87
+ const namedBy = (file, options, cache) => {
88
+ const text = ts.sys.readFile(file);
89
+ if (text === undefined)
90
+ return { followed: [], named: [] };
91
+ const { importedFiles, referencedFiles } = ts.preProcessFile(text, true, true);
92
+ const targets = importedFiles.flatMap(({ fileName }) => importTarget(fileName, file, options, cache) ?? []);
93
+ const installed = targets.filter(isInstalled);
94
+ const own = targets.filter((target) => !isInstalled(target));
95
+ const references = referencedFiles
96
+ .map(({ fileName }) => (isAbsolute(fileName) ? fileName : resolve(dirname(file), fileName)))
97
+ .filter((path) => !isInstalled(path));
98
+ return {
99
+ followed: [...own.filter((target) => ts.sys.fileExists(target)), ...references],
100
+ named: [
101
+ ...installed.flatMap((target) => manifestOf(target) ?? []),
102
+ ...own.filter((target) => !ts.sys.fileExists(target))
103
+ ]
104
+ };
105
+ };
106
+ /**
107
+ * Adds to `paths` what one story file reaches, with the folders the reached files sit in.
108
+ *
109
+ * @param storyFile - the story file.
110
+ * @param walk - the walk's options, cache, files already read and paths found.
111
+ */
112
+ const walkFrom = (storyFile, walk) => {
113
+ const queue = [storyFile];
114
+ while (queue.length > 0) {
115
+ const file = queue.pop() ?? "";
116
+ if (walk.reached.has(file))
117
+ continue;
118
+ walk.reached.add(file);
119
+ // in the system's form, so one path read through two spellings is stamped once
120
+ walk.paths.add(resolve(file));
121
+ walk.paths.add(resolve(dirname(file)));
122
+ // a framework's component file is read for its imports too, as plain text
123
+ const { followed, named } = namedBy(file, walk.options, walk.cache);
124
+ queue.push(...followed);
125
+ for (const path of named)
126
+ walk.paths.add(resolve(path));
127
+ }
128
+ };
129
+ /**
130
+ * The paths a group of story files' docs can change with, read in one walk.
131
+ *
132
+ * @param storyFiles - the story files.
133
+ */
134
+ export const docsDependencies = (storyFiles) => {
135
+ const paths = new Set();
136
+ const reached = new Set();
137
+ const caches = new Map();
138
+ for (const storyFile of storyFiles) {
139
+ const options = compilerOptionsFor(storyFile);
140
+ const cache = caches.get(options) ?? ts.createModuleResolutionCache(dirname(storyFile), (name) => name, options);
141
+ caches.set(options, cache);
142
+ walkFrom(storyFile, { options, cache, reached, paths });
143
+ for (const path of configurationFiles(storyFile))
144
+ paths.add(path);
145
+ const locks = LOCK_FILES.flatMap((name) => ts.findConfigFile(dirname(storyFile), ts.sys.fileExists, name) ?? []);
146
+ for (const lock of locks)
147
+ paths.add(lock);
148
+ }
149
+ return [...paths];
150
+ };
@@ -1,4 +1,5 @@
1
1
  import type { StoryComponentResult } from "./adapter.ts";
2
+ import { type PathStamp } from "./diskCache.ts";
2
3
  import type { UsageGraph, UsageRequestFile } from "./usageGraph.ts";
3
4
  /** What the extractor answers for a story file: its component's docs, none, or why it cannot be read. */
4
5
  export type DocsResult = StoryComponentResult;
@@ -34,6 +35,11 @@ export type DocsResponse = {
34
35
  readonly id: number;
35
36
  /** The extractor's result. */
36
37
  readonly result: DocsResult;
38
+ /**
39
+ * The paths it can change with, stamped (`docsDependencies.ts`); none when it is not to be kept: a story file
40
+ * that cannot be read, or one of them changed while it was read.
41
+ */
42
+ readonly stamps: readonly PathStamp[] | undefined;
37
43
  } | {
38
44
  /** A group of story files' usage. */
39
45
  readonly kind: "usage";
@@ -41,6 +47,8 @@ export type DocsResponse = {
41
47
  readonly id: number;
42
48
  /** The facts, or why they cannot be read. */
43
49
  readonly result: UsageResult;
50
+ /** The paths they can change with, stamped; none when they are not to be kept. */
51
+ readonly stamps: readonly PathStamp[] | undefined;
44
52
  };
45
53
  /** The docs, read off the dev server's thread. */
46
54
  export type DocsExtractor = {
@@ -48,10 +56,18 @@ export type DocsExtractor = {
48
56
  readonly extract: (storyFile: string) => Promise<DocsResult>;
49
57
  /** What a group of story files' stories render, and the import graph they reach. */
50
58
  readonly usage: (files: readonly UsageRequestFile[]) => Promise<UsageResult>;
51
- /** Builds the program that holds a story file, ahead of its first read. */
59
+ /**
60
+ * Builds the program that holds a story file ahead of its first read, while the worker has nothing else to do, when
61
+ * the disk keeps no docs: a first start, or a build, starts the worker while Vite still loads the pages.
62
+ */
52
63
  readonly warm: (storyFile: string) => void;
53
64
  /** Tells the worker a source file changed, so the next read sees it. */
54
65
  readonly changed: () => void;
66
+ /**
67
+ * Tells it a source file was added or removed: a kept answer is not read again this session, since a new file can
68
+ * change what a file's imports find or what holds for every file (a declaration) without touching what it read.
69
+ */
70
+ readonly listed: () => void;
55
71
  /** Ends the worker; a later request starts a new one. */
56
72
  readonly close: () => Promise<void>;
57
73
  };
@@ -59,12 +75,37 @@ export type DocsExtractor = {
59
75
  export type DocsWorkerData = {
60
76
  /** The URL of the module exporting the framework's `extractStoryComponent`. */
61
77
  readonly docsModule: string;
78
+ /**
79
+ * Whether every story's docs will be read, as in a build: each program then holds its whole configuration at once,
80
+ * rather than what was asked for so far, which a dev server showing one component at a time needs.
81
+ */
82
+ readonly readsEverything: boolean;
83
+ /** Whether its answers are kept on disk, so it stamps what each was read from; a build's are not. */
84
+ readonly keepsAnswers: boolean;
62
85
  };
86
+ /** How an extractor reads. */
87
+ export type DocsExtractorOptions = {
88
+ /** Whether every story's docs will be read, as in a build; a dev server's reads by default. */
89
+ readonly readsEverything?: boolean;
90
+ /** Where answers are kept between starts (`diskCache.ts`); none reads every time. */
91
+ readonly cacheFolder?: string;
92
+ /**
93
+ * How long the worker stays with nothing to do before it ends, in milliseconds; `IDLE_MS` by default. A build's
94
+ * never ends before the build does.
95
+ */
96
+ readonly idleMs?: number;
97
+ };
98
+ /**
99
+ * How long a dev server's worker stays with nothing to do, in milliseconds, before it ends. Its programs are the
100
+ * largest thing the server holds: a session that stops reading docs gives their memory back, while one that edits and
101
+ * looks keeps them, renewed after each edit rather than built again (seconds, in a large monorepo).
102
+ */
103
+ export declare const IDLE_MS: number;
63
104
  /**
64
105
  * A docs extractor with its worker, started on its first request.
65
106
  *
66
107
  * @param docsModule - the URL of the framework's docs module (`FrameworkAdapter.docsModule`).
108
+ * @param options - how it reads, and where it keeps what it read.
67
109
  * @returns the extractor.
68
110
  */
69
- export declare const createDocsExtractor: (docsModule: string) => DocsExtractor;
70
- //# sourceMappingURL=docsExtractor.d.ts.map
111
+ export declare const createDocsExtractor: (docsModule: string, { readsEverything, cacheFolder, idleMs }?: DocsExtractorOptions) => DocsExtractor;
@@ -3,52 +3,139 @@
3
3
  * (`docsWorker.ts`) so the dev server keeps answering while a package's TypeScript program is built.
4
4
  *
5
5
  * @remarks
6
- * One worker per plugin, started on the first request and kept: its programs make every later read quick, until a
7
- * source file changes (`changed`, which the dev server's watcher sends). Requests
8
- * are answered in order; a warm-up (`warm`) builds a package's program before a page asks for it, one at a time and
9
- * only while the worker has nothing else to do, so a page's request waits behind one warm-up at most, never behind
10
- * them all. The worker never keeps the process alive (`unref`), and `close` ends it when the build or the server
11
- * ends.
6
+ * One worker per plugin, started on the first request the disk cannot answer: its programs make every later read
7
+ * quick, until a source file changes (`changed`, which the dev server's watcher sends). A TypeScript program is the
8
+ * largest thing the server holds, and an answer kept on disk from an earlier start (`diskCache.ts`, with the files it
9
+ * was read from, `docsDependencies.ts`) needs none: a pattern's first story starts the worker early (`warm`) only when
10
+ * the disk keeps no docs at all (a first start, a build), one warm-up at a time and only while nothing waits. For the
11
+ * same reason a dev server's worker left with nothing to do ends (`IDLE_MS`), so the memory a first start took does
12
+ * not stay with the server until it stops. Requests are answered in order. The worker never keeps the process alive
13
+ * (`unref`), and `close` ends it when the build or the server ends.
12
14
  *
13
15
  * @module
14
16
  */
15
- import { extname } from "node:path";
17
+ import { dirname, extname, join } from "node:path";
18
+ import { fileURLToPath } from "node:url";
16
19
  import { Worker } from "node:worker_threads";
20
+ import { packageResolver } from "./configFile.js";
21
+ import { codeStamp, diskCache } from "./diskCache.js";
17
22
  /**
18
23
  * The worker's module, beside this one and with its extension: `.ts` in the sources, whose types Node strips, `.js`
19
24
  * once built for npm, where Node strips none.
20
25
  */
21
26
  const WORKER_URL = new URL(`./docsWorker${extname(import.meta.url)}`, import.meta.url);
27
+ /** Whether what a cache file holds is a story file's docs, never a message. */
28
+ const isKeptDocs = (value) => typeof value === "object" && value !== null && "docs" in value;
29
+ /** Whether what a cache file holds is a group's usage, never a message. */
30
+ const isKeptUsage = (value) => typeof value === "object" && value !== null && "files" in value && "imports" in value;
31
+ /**
32
+ * The worker's young generation on a dev server, in MB. V8 sizes it for throughput, but a program's heap survives
33
+ * its collections, so a large young generation is mostly empty memory the worker keeps; a dev server reads one
34
+ * component at a time, where collecting more often costs little.
35
+ */
36
+ const YOUNG_GENERATION_MB = 8;
37
+ /**
38
+ * How long a dev server's worker stays with nothing to do, in milliseconds, before it ends. Its programs are the
39
+ * largest thing the server holds: a session that stops reading docs gives their memory back, while one that edits and
40
+ * looks keeps them, renewed after each edit rather than built again (seconds, in a large monorepo).
41
+ */
42
+ export const IDLE_MS = 5 * 60_000;
43
+ /**
44
+ * The worker's young generation in a build, in MB: a build reads every story's docs in one go, and with the dev
45
+ * server's small one it would spend much of that time collecting garbage.
46
+ */
47
+ const BUILD_YOUNG_GENERATION_MB = 64;
48
+ /**
49
+ * The stamp of the code that reads the docs: the worker's folder, the framework's docs module's and the compiler's
50
+ * version; none when the module is not a file whose folder can be read, which keeps nothing.
51
+ *
52
+ * @param docsModule - the URL of the framework's docs module.
53
+ */
54
+ const codeStampOf = (docsModule) => {
55
+ try {
56
+ const workerFolder = dirname(fileURLToPath(WORKER_URL));
57
+ // the compiler's version too: it reads every answer
58
+ const compiler = packageResolver(workerFolder)("typescript-6");
59
+ return codeStamp([workerFolder, dirname(fileURLToPath(docsModule))], compiler === undefined ? [] : [compiler]);
60
+ }
61
+ catch {
62
+ return undefined;
63
+ }
64
+ };
22
65
  /**
23
66
  * A docs extractor with its worker, started on its first request.
24
67
  *
25
68
  * @param docsModule - the URL of the framework's docs module (`FrameworkAdapter.docsModule`).
69
+ * @param options - how it reads, and where it keeps what it read.
26
70
  * @returns the extractor.
27
71
  */
28
- export const createDocsExtractor = (docsModule) => {
72
+ export const createDocsExtractor = (docsModule, { readsEverything = false, cacheFolder, idleMs = IDLE_MS } = {}) => {
73
+ // the code that writes the answers: this package's and the framework's docs, whose edit or new version is a miss
74
+ const code = cacheFolder === undefined ? undefined : codeStampOf(docsModule);
75
+ const cacheOf = (kind, isValue) => cacheFolder === undefined || code === undefined
76
+ ? undefined
77
+ : diskCache(join(cacheFolder, kind), code, isValue);
78
+ const docsCache = cacheOf("docs", isKeptDocs);
79
+ const usageCache = cacheOf("usage", isKeptUsage);
29
80
  let worker;
30
81
  let nextId = 0;
31
- // every request sent and not answered yet, a warm-up's answer included (none reads it)
82
+ // the changes the watcher reported: an answer read across one may have read a file before it changed, so it is not kept
83
+ let changes = 0;
84
+ // whether kept answers are read: until a source file is added or removed while the server runs
85
+ let isKeptRead = true;
86
+ // a group's usage asked again before the worker answered (its "Used in" and its reach), by request and changes
87
+ const usageAsked = new Map();
88
+ // every request sent and not answered yet, a warm-up's included (none reads its answer)
32
89
  const pending = new Map();
33
- // the warm-ups not sent yet: one goes out only when nothing is pending
90
+ // the warm-ups not sent yet: one goes out only when nothing is pending, so a read never waits behind them all
34
91
  const warmUps = [];
92
+ let idle;
93
+ // ends the worker once nothing is asked of it for a while; a request in the meantime keeps it
94
+ const stopWhenIdle = () => {
95
+ clearTimeout(idle);
96
+ // a build reads every story, and a quiet stretch in it would build every program again
97
+ if (readsEverything || pending.size > 0 || warmUps.length > 0)
98
+ return;
99
+ idle = setTimeout(() => {
100
+ const running = worker;
101
+ worker = undefined;
102
+ void running?.terminate();
103
+ }, idleMs);
104
+ idle.unref();
105
+ };
106
+ const sendWarmUp = () => {
107
+ if (pending.size > 0)
108
+ return;
109
+ const storyFile = warmUps.shift();
110
+ if (storyFile !== undefined)
111
+ send({ kind: "extract", id: nextId++, storyFile }, () => sendWarmUp());
112
+ };
35
113
  const started = () => {
114
+ clearTimeout(idle);
36
115
  if (worker !== undefined)
37
116
  return worker;
38
- const workerData = { docsModule };
39
- const created = new Worker(WORKER_URL, { workerData });
117
+ const workerData = { docsModule, readsEverything, keepsAnswers: code !== undefined };
118
+ const created = new Worker(WORKER_URL, {
119
+ workerData,
120
+ resourceLimits: {
121
+ maxYoungGenerationSizeMb: readsEverything ? BUILD_YOUNG_GENERATION_MB : YOUNG_GENERATION_MB
122
+ }
123
+ });
40
124
  created.unref();
41
125
  created.on("message", (response) => {
42
126
  pending.get(response.id)?.(response);
43
127
  pending.delete(response.id);
44
128
  sendWarmUp();
129
+ stopWhenIdle();
45
130
  });
46
131
  // a worker that dies answers every request still waiting with why, and the next request starts a new one
47
132
  created.on("error", (error) => {
48
133
  for (const resolve of pending.values())
49
134
  resolve(`The docs' worker stopped: ${error.message}`);
50
135
  pending.clear();
51
- worker = undefined;
136
+ // a worker ended when idle and replaced since leaves the new one in place
137
+ if (worker === created)
138
+ worker = undefined;
52
139
  });
53
140
  worker = created;
54
141
  return created;
@@ -60,27 +147,75 @@ export const createDocsExtractor = (docsModule) => {
60
147
  pending.set(request.id, resolve);
61
148
  started().postMessage(request);
62
149
  };
63
- const extract = (storyFile, resolve) => send({ kind: "extract", id: nextId++, storyFile }, (response) => resolve(typeof response === "string" || response.kind !== "extract" ? String(response) : response.result));
64
- const sendWarmUp = () => {
65
- if (pending.size > 0)
66
- return;
67
- const storyFile = warmUps.shift();
68
- if (storyFile !== undefined)
69
- extract(storyFile, () => undefined);
70
- };
71
150
  return {
72
- extract: (storyFile) => new Promise((resolve) => extract(storyFile, resolve)),
73
- usage: (files) => new Promise((resolve) => send({ kind: "usage", id: nextId++, files }, (response) => resolve(typeof response === "string" || response.kind !== "usage" ? String(response) : response.result))),
151
+ extract: (storyFile) => new Promise((resolve) => {
152
+ const kept = isKeptRead ? docsCache?.read(storyFile) : undefined;
153
+ if (kept !== undefined) {
154
+ resolve(kept);
155
+ return;
156
+ }
157
+ const asked = changes;
158
+ send({ kind: "extract", id: nextId++, storyFile }, (response) => {
159
+ if (typeof response === "string" || response.kind !== "extract") {
160
+ resolve(String(response));
161
+ return;
162
+ }
163
+ const { result, stamps } = response;
164
+ if (typeof result !== "string" && stamps !== undefined && changes === asked)
165
+ docsCache?.write(storyFile, result, stamps);
166
+ resolve(result);
167
+ });
168
+ }),
169
+ usage: (files) => {
170
+ // a group is its story files and what each renders: the same files with other stories are another group
171
+ const key = JSON.stringify(files);
172
+ const asked = changes;
173
+ const pending = usageAsked.get(`${asked}:${key}`);
174
+ if (pending !== undefined)
175
+ return pending;
176
+ const read = new Promise((resolve) => {
177
+ const kept = isKeptRead ? usageCache?.read(key) : undefined;
178
+ if (kept !== undefined) {
179
+ resolve(kept);
180
+ return;
181
+ }
182
+ send({ kind: "usage", id: nextId++, files }, (response) => {
183
+ if (typeof response === "string" || response.kind !== "usage") {
184
+ resolve(String(response));
185
+ return;
186
+ }
187
+ const { result, stamps } = response;
188
+ if (typeof result !== "string" && stamps !== undefined && changes === asked)
189
+ usageCache?.write(key, result, stamps);
190
+ resolve(result);
191
+ });
192
+ });
193
+ usageAsked.set(`${asked}:${key}`, read);
194
+ void read.finally(() => usageAsked.delete(`${asked}:${key}`));
195
+ return read;
196
+ },
197
+ changed: () => {
198
+ changes += 1;
199
+ // a worker not started yet has no program to renew
200
+ const request = { kind: "changed" };
201
+ worker?.postMessage(request);
202
+ },
74
203
  warm: (storyFile) => {
204
+ // only a first start, which the disk can answer nothing for: a later one reads each page's docs from the disk
205
+ // and builds a program only for one it misses, so it stays without one until then
206
+ if (isKeptRead && docsCache !== undefined && !docsCache.isEmpty())
207
+ return;
75
208
  warmUps.push(storyFile);
76
209
  sendWarmUp();
77
210
  },
78
- changed: () => {
79
- // a worker not started yet has no program to renew
211
+ listed: () => {
212
+ isKeptRead = false;
213
+ changes += 1;
80
214
  const request = { kind: "changed" };
81
215
  worker?.postMessage(request);
82
216
  },
83
217
  close: async () => {
218
+ clearTimeout(idle);
84
219
  const running = worker;
85
220
  worker = undefined;
86
221
  warmUps.length = 0;
@@ -88,4 +223,3 @@ export const createDocsExtractor = (docsModule) => {
88
223
  }
89
224
  };
90
225
  };
91
- //# sourceMappingURL=docsExtractor.js.map
@@ -6,16 +6,86 @@ export type DocsProgram = {
6
6
  /** Its type checker. */
7
7
  readonly checker: ts.TypeChecker;
8
8
  };
9
+ /**
10
+ * What TypeScript reads in place of files it cannot read itself: a framework's components, each written as the
11
+ * TypeScript it amounts to, under a name beside the component (`Badge.svelte.ts` for `Badge.svelte`), so an import of the
12
+ * component resolves to it as TypeScript resolves any import.
13
+ */
14
+ export type ProgramSources = {
15
+ /** The sources' name, which keeps their programs apart from the plain ones (`svelte`). */
16
+ readonly name: string;
17
+ /**
18
+ * The text of a file that is not on disk.
19
+ *
20
+ * @param fileName - the file TypeScript asks for.
21
+ * @returns its text, or none for a file read from disk.
22
+ */
23
+ readonly textOf: (fileName: string) => string | undefined;
24
+ /** The declarations every program holds besides its sources, which the written text refers to. */
25
+ readonly roots: readonly string[];
26
+ /** Compiler options over the configuration's (JavaScript allowed, for components written without TypeScript). */
27
+ readonly options: ts.CompilerOptions;
28
+ };
29
+ /**
30
+ * How many programs are kept. A program holds all its package reaches, hundreds of megabytes in a monorepo whose
31
+ * `tsconfig` paths lead to every package's sources, and one is made per `tsconfig.json`: kept without a limit they fill
32
+ * the worker's heap, it stops, and every story still waiting gets that error instead of its docs. Making one again
33
+ * takes a second or so, which is the cheaper of the two.
34
+ */
35
+ export declare const KEPT_PROGRAMS = 4;
36
+ /**
37
+ * From now on a program holds what was asked for and what that imports, not its whole configuration: a dev server shows
38
+ * one component at a time. A reader of everything asks for it (`programFor`'s `reach`).
39
+ */
40
+ export declare const readAskedFilesOnly: () => void;
41
+ /** What a program is read for: what the asked file reaches, or every file of its configuration. */
42
+ export type ProgramReach = "asked" | "whole";
43
+ /** How a file's program is read. */
44
+ export type ProgramOptions = {
45
+ /** The files read in place of a framework's components; none for a plain program. */
46
+ readonly sources?: ProgramSources;
47
+ /**
48
+ * What the reader needs: what the file reaches (a component's docs, the default), or every file of its
49
+ * configuration (a group's "Used in"); either way a build's programs hold every file.
50
+ */
51
+ readonly reach?: ProgramReach;
52
+ };
9
53
  /** Marks every program as maybe holding an edited file: each is renewed on its next read. */
10
54
  export declare const markSourcesChanged: () => void;
11
55
  /**
12
- * The program that holds a file: the one of the nearest `tsconfig.json` up its folders, or, when none holds it, a
13
- * program of the file alone (`FALLBACK_OPTIONS`, or the configuration's with JavaScript allowed).
56
+ * The files besides a source's own imports that what is read of it can change with: every configuration looked at to
57
+ * find the one that holds it (up its folders, with the projects they reference) and those they extend, and the files
58
+ * that hold for every file of that configuration (its declarations, its augmentations). Kept answers are checked
59
+ * against them (`diskCache.ts`).
60
+ *
61
+ * @param file - an absolute path to a source file.
62
+ */
63
+ export declare const configurationFiles: (file: string) => string[];
64
+ /**
65
+ * The compiler options a file is read with, as `programFor` finds its configuration, without making a program: its
66
+ * imports resolve with them.
14
67
  *
15
68
  * @param file - an absolute path to a source file.
69
+ */
70
+ export declare const compilerOptionsFor: (file: string) => ts.CompilerOptions;
71
+ /**
72
+ * The program that holds a file: the one of the first configuration up its folders (or a project it references) that
73
+ * lists it; else the nearest one's, when the file reaches it through an import; else the one the files no
74
+ * configuration holds share (`FALLBACK_OPTIONS`, or the nearest configuration's with JavaScript allowed).
75
+ *
76
+ * @param file - an absolute path to a source file, or to a file the sources write.
77
+ * @param options - the sources a framework writes, and what the reader needs.
16
78
  * @returns the program, or a message when the configuration above it cannot be read.
17
79
  */
18
- export declare const programFor: (file: string) => DocsProgram | string;
80
+ export declare const programFor: (file: string, { sources, reach }?: ProgramOptions) => DocsProgram | string;
81
+ /**
82
+ * The configuration that holds a file, as `programFor` finds it; empty for a file none holds: what "Used in" groups a
83
+ * library's story files by, to read one configuration at a time.
84
+ *
85
+ * @internal
86
+ * @param file - an absolute path to a source file.
87
+ */
88
+ export declare const configurationOf: (file: string) => string;
19
89
  /**
20
90
  * The first paragraph of a symbol's TSDoc.
21
91
  *
@@ -24,13 +94,13 @@ export declare const programFor: (file: string) => DocsProgram | string;
24
94
  */
25
95
  export declare const summaryOf: (symbol: ts.Symbol, checker: ts.TypeChecker) => string;
26
96
  /**
27
- * The first paragraph of a file's leading comment, its `@module` TSDoc: what the file holds, in a sentence. A
28
- * component's own TSDoc is often a bare name ("A button."); its file's comment says what it is and does.
97
+ * Each of a TSDoc tag's texts, for a tag that can be written more than once.
29
98
  *
30
- * @param sourceFile - the file.
31
- * @returns the paragraph on one line, or an empty text when the file does not open with a `@module` comment.
99
+ * @param symbol - a declared symbol.
100
+ * @param checker - the program's type checker.
101
+ * @param name - the tag (`useWhen`).
32
102
  */
33
- export declare const moduleSummaryOf: (sourceFile: ts.SourceFile) => string;
103
+ export declare const tagsOf: (symbol: ts.Symbol, checker: ts.TypeChecker, name: string) => string[];
34
104
  /**
35
105
  * A TSDoc tag's text, without the backticks it is often written in.
36
106
  *
@@ -39,4 +109,14 @@ export declare const moduleSummaryOf: (sourceFile: ts.SourceFile) => string;
39
109
  * @param name - the tag (`defaultValue`).
40
110
  */
41
111
  export declare const tagOf: (symbol: ts.Symbol, checker: ts.TypeChecker, name: string) => string | undefined;
42
- //# sourceMappingURL=docsProgram.d.ts.map
112
+ /**
113
+ * The component asked for among a file's: the one named, or the only one.
114
+ *
115
+ * @param components - the names of the components the file exports.
116
+ * @param exportName - the export asked for; the file's only component when none.
117
+ * @param file - the file, for the message.
118
+ * @returns the name, or a message naming the components when there is none or several.
119
+ */
120
+ export declare const chosenExport: (components: readonly string[], exportName: string | undefined, file: string) => string | {
121
+ readonly problem: string;
122
+ };