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
@@ -9,8 +9,8 @@
9
9
  * `?forgebook-docs`, answered with the component's props as the framework reads them (`adapter.ts`, in a worker) or
10
10
  * `{ error }` for the panel, `?forgebook-code`, answered with each story's `render` as written (`storyCode.ts`),
11
11
  * `?forgebook-page`, answered with the component's documentation file as HTML (`componentPage.ts`), and
12
- * `?forgebook-markdown`, a source's own Markdown file (its introduction on the home) as HTML. It also sets
13
- * Lightning CSS as the CSS transformer with the forced-states visitor (`forcedStates.ts`) and lets Sass resolve
12
+ * `?forgebook-markdown`, a source's own Markdown file (its introduction on the home) as HTML. A source's docs pages
13
+ * come the same way, with `?forgebook-docs-pages` (`docPagesModule.ts`), and the written home with `?forgebook-home`. It also sets Lightning CSS as the CSS transformer with the forced-states visitor (`forcedStates.ts`) and lets Sass resolve
14
14
  * `pkg:` URLs, which the library's style sheets use.
15
15
  *
16
16
  * A pattern's module watches its story files, so an edit renews it. Vite watches only its root for new files, and the
@@ -19,37 +19,33 @@
19
19
  *
20
20
  * @module
21
21
  */
22
- import { existsSync, readFileSync } from "node:fs";
23
- import { dirname, join, resolve } from "node:path";
24
- import ts from "typescript-6";
22
+ import { existsSync } from "node:fs";
23
+ import { extname, join, resolve } from "node:path";
24
+ import { isFileLoadingAllowed } from "vite";
25
+ import { SAME_ORIGIN } from "../frameOrigins.js";
25
26
  import { createLiveErrors, isLiveErrorReport, LIVE_ERROR_EVENT } from "../liveErrors.js";
26
- import { agentMiddleware } from "./agentRoutes.js";
27
+ import { agentMiddleware, FRAMED_AGENT_PAGES } from "./agentRoutes.js";
27
28
  import { STORY_FILE } from "./autoTitle.js";
28
- import { componentPage, markdownHtml } from "./componentPage.js";
29
+ import { axeAddress, axeBuildAsset } from "./axeScript.js";
30
+ import { groupTexts } from "./builtTexts.js";
31
+ import { catalogueConfig } from "./catalogueConfig.js";
32
+ import { currentCloseWatch } from "./closeWatch.js";
29
33
  import { findConfigFile, loadConfigFile, packageResolver } from "./configFile.js";
34
+ import { codeStamp, diskCache } from "./diskCache.js";
30
35
  import { createDocsExtractor } from "./docsExtractor.js";
31
- import { moduleSummaryOf } from "./docsProgram.js";
32
36
  import { FORCED_STATES_VISITOR } from "./forcedStates.js";
33
- import { highlightCode } from "./highlightCode.js";
34
- import { AGENT_SOURCES_FILE, agentSourcesModule, CONFIG_MODULE, configModule, frameEntry, PAGE_ENTRIES, PAGE_FILES, pageHtml, STORIES_SOURCE_FILE, shellEntry, storiesSourceModule } from "./pages.js";
35
- import { prebundled, scannedEntries } from "./prebundled.js";
36
- import { storyCode } from "./storyCode.js";
37
- import { indexedStoryFiles, storyFilesGroupOf, storyFilesGroupText, storyFilesModule, USAGE_PREFIX } from "./storyFilesModule.js";
38
- import { componentImport } from "./storyMeta.js";
39
- import { joinedUsage } from "./usageModule.js";
40
- /**
41
- * A file's text, or none when it cannot be read.
42
- *
43
- * @param file - the file.
44
- */
45
- const readTextFile = (file) => {
46
- try {
47
- return readFileSync(file, "utf8");
48
- }
49
- catch {
50
- return undefined;
51
- }
52
- };
37
+ import { builtPlacement } from "./framesConfig.js";
38
+ import { serveFrames } from "./framesServer.js";
39
+ import { missingHeightsMiddleware } from "./heightsRoute.js";
40
+ import { FILES_MODULE_HOT, renewedModule, servedPatterns, storyFileHotHooks } from "./hotSnippets.js";
41
+ import { inlineJson, packedJsonOf } from "./packedModule.js";
42
+ import { AGENT_SOURCES_FILE, agentSourcesModule, configModule, frameEntry, PAGE_ENTRIES, PAGE_FILES, pageHtml, pageModuleOf, pageModulePath, shellEntry, storiesSourceModule } from "./pages.js";
43
+ import { CONFIG_ID, DOCS_PAGES_PREFIX, patternId, TOKENS_ID, virtualId } from "./pluginIds.js";
44
+ import { docsModule, docsValue, FILES_PREFIX, patternModule, REACH_ID_PREFIX, reachModule, searchIndexes, USAGE_ID_PREFIX, usageModule } from "./pluginModules.js";
45
+ import { isKeptIndex, storyFilesGroupOf } from "./storyFilesModule.js";
46
+ import { tokensModule } from "./storylessRoutes.js";
47
+ import { CODE_QUERY, DOCS_PAGE_QUERY, HOME_QUERY, MARKDOWN_QUERY, PAGE_QUERY } from "./textQueries.js";
48
+ import { VITE_PATHS } from "./vitePaths.js";
53
49
  /** This module's folder, in the core's package: the core's own dependencies resolve from here, not the project's. */
54
50
  const PACKAGE_DIR = import.meta.dirname;
55
51
  /**
@@ -62,160 +58,50 @@ const sassOptions = async () => {
62
58
  const { NodePackageImporter } = await import("sass-embedded");
63
59
  return { preprocessorOptions: { scss: { importers: [new NodePackageImporter()] } } };
64
60
  };
65
- /** The query that asks for the story files a pattern matches (`../src/**\/*.stories.tsx?forgebook-files`). */
66
- const FILES_QUERY = "?forgebook-files";
67
- /** The id of a pattern's module: virtual, with the declaring module's folder and the pattern after it. */
68
- const FILES_PREFIX = "\0forgebook-files:";
69
- /** The query that asks for a story file's code: each story's `render` as written. */
70
- const CODE_QUERY = "?forgebook-code";
71
- /** The query that asks for a story file's component page: its documentation file as HTML. */
72
- const PAGE_QUERY = "?forgebook-page";
73
- /** The query a source's Markdown file is imported with (its introduction on the home), answered with its HTML. */
74
- const MARKDOWN_QUERY = "?forgebook-markdown";
61
+ /** A docs page, whose file added or removed changes what the sidebar lists. */
62
+ const DOCS_PAGE_FILE = /\.md$/;
75
63
  /** A TypeScript source file, whose edit may change a component's docs. */
76
64
  const SOURCE_FILE = /\.tsx?$/;
77
65
  /** The query that asks for a story file's component docs. */
78
66
  const DOCS_QUERY = "?forgebook-docs";
67
+ /** The queries `textModules.ts` answers. */
68
+ const TEXT_QUERIES = [CODE_QUERY, PAGE_QUERY, MARKDOWN_QUERY];
69
+ /** The queries of a story file's modules the shell reads, which hand an edit to it in place on a dev server. */
70
+ const RENEWED_QUERIES = [DOCS_QUERY, CODE_QUERY, PAGE_QUERY];
71
+ /** The queries the plugin answers with a file's text, so each read keeps to what the dev server may serve. */
72
+ const FILE_QUERIES = [
73
+ DOCS_QUERY,
74
+ CODE_QUERY,
75
+ PAGE_QUERY,
76
+ MARKDOWN_QUERY,
77
+ DOCS_PAGE_QUERY,
78
+ HOME_QUERY
79
+ ];
79
80
  /**
80
- * The module that answers a `?forgebook-docs` import: the story file's component docs, or `{ error }` for the panel.
81
- *
82
- * @param component - what the extractor read for the story file.
83
- * @param watch - adds a file whose edit renews the module.
84
- */
85
- const docsModule = (component, watch) => {
86
- // the docs come from the component's files, not the story file the id names: Vite renews them on an edit only if
87
- // it watches those files too
88
- if (typeof component !== "string" && "sources" in component) {
89
- for (const file of component.sources)
90
- watch(file);
91
- }
92
- const value = typeof component === "string" ? { error: component } : component.docs;
93
- return { code: `export default ${JSON.stringify(value)};`, moduleType: "js" };
94
- };
95
- /**
96
- * The module that answers a `?forgebook-code` import: each story's `render` text and its coloured HTML, or `{ error }`
97
- * for the card.
98
- *
99
- * @param storyFile - the story file's absolute path; Vite renews the module when it changes, as the id names it.
100
- */
101
- const codeModule = (storyFile) => {
102
- const code = storyCode(storyFile, readFileSync(storyFile, "utf8"));
103
- const value = typeof code === "string"
104
- ? { error: code }
105
- : Object.fromEntries(Object.entries(code).map(([name, text]) => [name, { text, html: highlightCode(text, "tsx") }]));
106
- return { code: `export default ${JSON.stringify(value)};`, moduleType: "js" };
107
- };
108
- /**
109
- * The file of a story file's component, from the meta's import, resolved as the app resolves it.
110
- *
111
- * @param storyFile - the story file's absolute path.
112
- * @param resolve - resolves an import of the story file to its file; none when it does not resolve.
113
- * @returns the component's file, or none when the meta names no imported component.
114
- */
115
- const componentFileOf = async (storyFile, resolve) => {
116
- const specifier = componentImport(storyFile, readFileSync(storyFile, "utf8"));
117
- return specifier === undefined ? undefined : resolve(specifier);
118
- };
119
- /**
120
- * The module that answers a `?forgebook-page` import: the component's documentation file as HTML (empty without
121
- * one), and its file's summary, the first paragraph of its `@module` comment, for the page's lead.
122
- *
123
- * @remarks
124
- * The summary is read here, from the component's file alone, rather than with the docs: the docs wait for the
125
- * package's TypeScript program, and the lead would come seconds after the rest of the page.
126
- *
127
- * @param storyFile - the story file's absolute path.
128
- * @param componentFile - the component's file, as the story file's import resolves; none when it names none.
129
- * @param watch - adds a file whose edit renews the module (the documentation file, the component's file).
130
- */
131
- const pageModule = (storyFile, componentFile, watch) => {
132
- const page = componentPage(storyFile);
133
- if (page !== undefined)
134
- watch(page.file);
135
- if (componentFile !== undefined)
136
- watch(componentFile);
137
- const summary = componentFile === undefined
138
- ? ""
139
- : moduleSummaryOf(ts.createSourceFile(componentFile, readFileSync(componentFile, "utf8"), ts.ScriptTarget.Latest, true));
140
- const value = { html: page?.html ?? "", summary };
141
- return { code: `export default ${JSON.stringify(value)};`, moduleType: "js" };
142
- };
143
- /**
144
- * The module that answers a `?forgebook-markdown` import: a source's Markdown file (its introduction) as HTML.
81
+ * Whether a dev server may read the file a query names: a plugin's answer never passes Vite's own check of
82
+ * `server.fs`, so without this any file could be asked for by adding a query to its address.
145
83
  *
146
- * @param file - the Markdown file's absolute path.
147
- * @param watch - adds a file whose edit renews the module (the Markdown file).
148
- */
149
- const markdownModule = (file, watch) => {
150
- watch(file);
151
- const value = { html: markdownHtml(readFileSync(file, "utf8")) };
152
- return { code: `export default ${JSON.stringify(value)};`, moduleType: "js" };
153
- };
154
- /**
155
- * The id of a `?forgebook-files` module: its prefix, then its group (`storyFilesGroupText`), which holds no `..`.
156
- *
157
- * @param folder - the importing module's folder.
158
- * @param pattern - the pattern as the import writes it.
159
- */
160
- const filesId = (folder, pattern) => `${FILES_PREFIX}${storyFilesGroupText(folder, pattern)}`;
161
- /**
162
- * The module of a `?forgebook-files` pattern: every matched story file's index and loaders.
163
- *
164
- * @param id - the module's id (`FILES_PREFIX`, then the group: `storyFilesGroupText`).
165
- * @param watch - adds a file whose edit renews the module (each story file).
166
- * @param warm - builds the program that holds a story file, so the package's docs are ready before a page asks.
167
- * @param hasUsage - whether the group offers its "Used in" loader.
168
- * @throws when a story file cannot be indexed.
169
- */
170
- const patternModule = (id, watch, warm, hasUsage) => {
171
- const { root, pattern } = storyFilesGroupOf(id.slice(FILES_PREFIX.length));
172
- let first;
173
- const code = storyFilesModule(root, pattern, (file) => {
174
- first ??= file;
175
- watch(file);
176
- }, hasUsage);
177
- if (first !== undefined)
178
- warm(first);
179
- return { code, moduleType: "js" };
180
- };
181
- /** The resolved id of a group's "Used in" module: Rollup's mark of a virtual module, then its import's specifier. */
182
- const USAGE_ID_PREFIX = `\0${USAGE_PREFIX}`;
183
- /**
184
- * The id of a virtual module the plugin makes (the configuration's data, a group's "Used in"), when the import names
185
- * one.
186
- *
187
- * @param source - the import's specifier.
84
+ * @param id - the module's id.
85
+ * @param server - the dev server; none in a build, which reads only what the sources import.
188
86
  */
189
- const virtualId = (source) => {
190
- if (source === CONFIG_MODULE)
191
- return CONFIG_ID;
192
- return source.startsWith(USAGE_PREFIX) ? `\0${source}` : undefined;
193
- };
87
+ const isReadable = (id, server) => server === undefined ||
88
+ !FILE_QUERIES.some((query) => id.endsWith(query)) ||
89
+ isFileLoadingAllowed(server.config, id.slice(0, id.lastIndexOf("?")));
194
90
  /**
195
- * A group's "Used in" module: its story files indexed, what their stories render read in the docs worker, joined.
91
+ * Renews modules in every environment that loaded them: the agents' routes load them on the server too.
196
92
  *
197
- * @param id - the module's id (`USAGE_ID_PREFIX`, then the group: `storyFilesGroupText`).
198
- * @param watch - adds a file whose edit renews the module (each story file).
199
- * @param usage - reads the facts in the docs worker.
93
+ * @param server - the dev server.
94
+ * @param ids - the modules' ids.
200
95
  */
201
- const usageModule = async (id, watch, usage) => {
202
- const { root, pattern } = storyFilesGroupOf(id.slice(USAGE_ID_PREFIX.length));
203
- const files = indexedStoryFiles(root, pattern, watch);
204
- const graph = await usage(files.map((file) => ({
205
- storyFile: file.file,
206
- exports: file.index.stories.map((story) => story.exportName)
207
- })));
208
- const answer = typeof graph === "string"
209
- ? { error: graph }
210
- : joinedUsage(graph, files.map((file) => ({
211
- storyFile: file.file,
212
- title: file.index.title,
213
- related: file.index.related ?? []
214
- })));
215
- return { code: `export default ${JSON.stringify(answer)};`, moduleType: "js" };
96
+ const invalidateEverywhere = (server, ids) => {
97
+ for (const environment of Object.values(server.environments)) {
98
+ for (const id of ids) {
99
+ const module = environment.moduleGraph.getModuleById(id);
100
+ if (module !== undefined)
101
+ environment.moduleGraph.invalidateModule(module);
102
+ }
103
+ }
216
104
  };
217
- /** The resolved id of the configuration's data module. */
218
- const CONFIG_ID = `\0${CONFIG_MODULE}`;
219
105
  /**
220
106
  * The page a request names, when it names one: `/` is the shell's.
221
107
  *
@@ -227,39 +113,67 @@ const requestedPage = (url) => {
227
113
  return PAGE_FILES.find((page) => page === name);
228
114
  };
229
115
  /**
230
- * A module the plugin answers from a file's text alone, when the id asks for one: a story file's code, or a Markdown
231
- * file as HTML.
116
+ * A docs pages' module, when the id is a pattern's, a page's or the written home's. The Markdown reader loads with the
117
+ * first: a catalogue may have no docs pages, and a story's page reads none.
232
118
  *
233
119
  * @param id - the module's id.
234
120
  * @param watch - adds a file whose edit renews the module.
121
+ * @param isServing - whether a dev server runs.
122
+ * @param plugins - the catalogue's plugins, whose fences a page may draw.
235
123
  */
236
- const textModule = (id, watch) => {
237
- if (id.endsWith(CODE_QUERY))
238
- return codeModule(id.slice(0, -CODE_QUERY.length));
239
- if (id.endsWith(MARKDOWN_QUERY))
240
- return markdownModule(id.slice(0, -MARKDOWN_QUERY.length), watch);
241
- return undefined;
124
+ const docsModuleOf = async (id, watch, isServing, plugins) => {
125
+ const isHome = id.endsWith(HOME_QUERY);
126
+ const isPage = id.endsWith(DOCS_PAGE_QUERY);
127
+ if (!isHome && !isPage && !id.startsWith(DOCS_PAGES_PREFIX))
128
+ return undefined;
129
+ const { docPageModule, docPagesModule, homeModule } = await import("./docPagesModule.js");
130
+ if (isHome)
131
+ return { code: homeModule(id.slice(0, -HOME_QUERY.length), watch, isServing, plugins), moduleType: "js" };
132
+ if (isPage) {
133
+ const file = id.slice(0, -DOCS_PAGE_QUERY.length);
134
+ return { code: docPageModule(file, watch, isServing, plugins), moduleType: "js" };
135
+ }
136
+ const { root, pattern } = storyFilesGroupOf(id.slice(DOCS_PAGES_PREFIX.length));
137
+ return { code: docPagesModule(root, pattern, watch, isServing, plugins), moduleType: "js" };
242
138
  };
243
139
  /**
244
- * A module the plugin generates for a catalogue's pages, when the id names one: the configuration's data, an entry,
245
- * the project's own stories' source, or a page's HTML (unless the folder has one of its own).
140
+ * A module the plugin generates for a catalogue's pages, when the id names one: an entry, the project's own stories'
141
+ * source, or a page's HTML (unless the folder has one of its own). The configuration's data waits for the frames'
142
+ * placement, so the plugin's `load` makes it.
246
143
  *
247
144
  * @param id - the module's id.
248
145
  * @param config - the catalogue's configuration.
146
+ * @param command - whether a dev server runs, or a build: where the frame finds axe's script.
249
147
  */
250
- const generatedModule = (id, config) => {
251
- if (id === CONFIG_ID)
252
- return { code: configModule(config), moduleType: "js" };
253
- if (id === join(config.dir, PAGE_ENTRIES["index.html"]))
254
- return { code: shellEntry(config), moduleType: "js" };
255
- if (id === join(config.dir, PAGE_ENTRIES["frame.html"]))
256
- return { code: frameEntry(config), moduleType: "js" };
257
- if (id === join(config.dir, STORIES_SOURCE_FILE))
148
+ const generatedModule = (id, config, command) => {
149
+ const named = pageModuleOf(id, config.dir);
150
+ if (named === undefined)
151
+ return undefined;
152
+ if (named.kind === "entry") {
153
+ const code = named.page === "index.html" ? shellEntry(config) : frameEntry(config, axeAddress(command, PACKAGE_DIR));
154
+ return { code, moduleType: "js" };
155
+ }
156
+ if (named.kind === "stories-source")
258
157
  return { code: storiesSourceModule(config), moduleType: "js" };
259
- if (id === join(config.dir, AGENT_SOURCES_FILE))
158
+ if (named.kind === "agent-sources")
260
159
  return { code: agentSourcesModule(config), moduleType: "js" };
261
- const page = PAGE_FILES.find((candidate) => id === join(config.dir, candidate));
262
- return page !== undefined && !existsSync(id) ? pageHtml(page, config) : undefined;
160
+ return existsSync(id) ? undefined : pageHtml(named.page, config, builtPlacement(config.frames));
161
+ };
162
+ /**
163
+ * The id of a module the plugin generates for a catalogue's pages, when an import names one: a page or an entry by
164
+ * its address (`/index.html`, `/.forgebook-shell.ts`) or by its path, a source by its path.
165
+ *
166
+ * @param source - the import's specifier.
167
+ * @param dir - the configuration's folder.
168
+ */
169
+ const generatedId = (source, dir) => {
170
+ const byAddress = PAGE_FILES.find((page) => source === `/${PAGE_ENTRIES[page]}`);
171
+ if (byAddress !== undefined)
172
+ return pageModulePath(dir, PAGE_ENTRIES[byAddress]);
173
+ const pageByAddress = PAGE_FILES.find((page) => source === `/${page}`);
174
+ if (pageByAddress !== undefined)
175
+ return pageModulePath(dir, pageByAddress);
176
+ return pageModuleOf(source, dir) === undefined ? undefined : VITE_PATHS.normalize(source);
263
177
  };
264
178
  /**
265
179
  * The catalogue's Vite plugin: the story index, the docs, the code and the Markdown of the stories, the forced-states
@@ -272,11 +186,74 @@ const generatedModule = (id, config) => {
272
186
  export const forgebookPlugin = (options = {}) => {
273
187
  /** The modules of the patterns, renewed when a story file is added or removed. */
274
188
  const filesModules = new Set();
189
+ // what each pattern's module was served with: an edit of a story file that changes its list reloads the pages
190
+ const served = servedPatterns();
275
191
  /** The groups' "Used in" modules, renewed when a source file changes: any edit may change what reaches what. */
276
192
  const usageModules = new Set();
193
+ /** The docs pages' modules, renewed when a Markdown file is added or removed. */
194
+ const docsModules = new Set();
195
+ /** The groups' search indexes: any edit may change what a component's docs say. */
196
+ const searchModules = new Set();
277
197
  /** The errors the open frames report, for `forgebook errors` and the agents. */
278
198
  const live = createLiveErrors();
199
+ /** Where the frames run: the dev server's second port once it listens, the configuration's choice in a build. */
200
+ let framesPlacement = async () => config === undefined ? SAME_ORIGIN : builtPlacement(config.frames);
279
201
  let config = options.config;
202
+ /**
203
+ * A module the plugin generates for the catalogue's pages: the configuration's data, once the frames are placed, or
204
+ * one `generatedModule` makes; none without a configuration or for another id.
205
+ *
206
+ * @param id - the module's id.
207
+ */
208
+ const pagesModule = async (id) => {
209
+ if (config === undefined)
210
+ return undefined;
211
+ if (id === CONFIG_ID)
212
+ return { code: configModule(config, await framesPlacement()), moduleType: "js" };
213
+ return generatedModule(id, config, command);
214
+ };
215
+ /** The dev server; none in a build. */
216
+ let devServer;
217
+ /** The files followed one by one, so an edit reaches the dev server at once. */
218
+ const watching = currentCloseWatch();
219
+ /** Whether a dev server runs, or a build: tools ask only the former. */
220
+ let command = "serve";
221
+ const isServing = () => command === "serve";
222
+ // the search's indexes, a build reading each component's docs once for its page and its index
223
+ const search = searchIndexes({
224
+ extract: (storyFile) => extractor().extract(storyFile),
225
+ isServing,
226
+ track: (id, isPages) => (isPages ? docsModules : searchModules).add(id)
227
+ });
228
+ // a build's docs, code and pages of each group's story files, read while the build loads the stories
229
+ const texts = groupTexts();
230
+ // whether an edited story file is drawn anew in its open frames: a dev server's, unless the framework cannot
231
+ const isRedrawing = () => isServing() && (config?.framework ?? options.framework)?.redrawsEditedStories !== false;
232
+ /**
233
+ * Whether the server runs tests (Vitest's mode): no person waits for a page, so no docs program is warmed. A worker
234
+ * still loading TypeScript when the tests end is stopped by Node mid-parse, which aborts the process.
235
+ */
236
+ let isTestRun = false;
237
+ /** Where answers are kept between starts (`diskCache.ts`): in Vite's cache folder, so what clears it clears them. */
238
+ let cacheFolder;
239
+ /** The stamp of the plugin's own code, which makes the kept indexes and code: another version is a miss. */
240
+ let pluginCode;
241
+ const keptCache = (kind, isValue) => {
242
+ if (cacheFolder === undefined)
243
+ return undefined;
244
+ // the plugin's own folder holds the code that makes them, with the parser and the highlighter it reads with: an
245
+ // edit or another version of any is a miss; a stamp that cannot be read keeps nothing
246
+ try {
247
+ const resolvePackage = packageResolver(PACKAGE_DIR);
248
+ const tools = ["vite", "typescript-6", "highlight.js"].flatMap((name) => resolvePackage(name) ?? []);
249
+ pluginCode ??= codeStamp([PACKAGE_DIR], tools);
250
+ }
251
+ catch {
252
+ return undefined;
253
+ }
254
+ return diskCache(join(cacheFolder, kind), pluginCode, isValue);
255
+ };
256
+ const indexCache = () => keptCache("index", isKeptIndex);
280
257
  // the docs are read in a worker, made once the framework is known: a package's TypeScript program takes seconds to
281
258
  // build and would hold every other answer of the dev server meanwhile
282
259
  let docs;
@@ -284,47 +261,83 @@ export const forgebookPlugin = (options = {}) => {
284
261
  const framework = config?.framework ?? options.framework;
285
262
  if (framework === undefined)
286
263
  throw new Error("Forgebook has no framework: add forgebook.config.ts, or give the plugin `framework`");
287
- docs ??= createDocsExtractor(framework.docsModule);
264
+ // a build reads every story's docs, a dev server one component at a time
265
+ docs ??= createDocsExtractor(framework.docsModule, {
266
+ readsEverything: !isServing(),
267
+ ...(cacheFolder === undefined ? {} : { cacheFolder })
268
+ });
288
269
  return docs;
289
270
  };
290
271
  /**
291
- * Renews what an edited source file may change: the docs' programs, and every group's "Used in".
272
+ * Renews what an edited source file may change: the docs' programs, and every group's "Used in" and search index.
292
273
  *
293
274
  * @param server - the dev server.
294
275
  * @param file - the edited file.
295
276
  */
296
277
  const renewOnChange = (server, file) => {
297
- if (!SOURCE_FILE.test(file))
278
+ const componentFiles = (config?.framework ?? options.framework)?.componentFiles;
279
+ if (!SOURCE_FILE.test(file) && componentFiles?.extension !== extname(file))
298
280
  return;
299
281
  docs?.changed();
300
- const graph = server.environments.client.moduleGraph;
301
- for (const id of usageModules) {
302
- const module = graph.getModuleById(id);
303
- if (module !== undefined)
304
- graph.invalidateModule(module);
305
- }
282
+ invalidateEverywhere(server, [...usageModules, ...searchModules]);
306
283
  };
307
284
  /**
308
- * A pattern's module or a group's "Used in" module, when the id is one.
285
+ * A pattern's module, or a group's "Used in" or reach module, when the id is one.
309
286
  *
310
287
  * @param id - the module's id.
311
288
  * @param watch - adds a file whose edit renews the module.
289
+ * @param pack - writes a module's JSON as its value: as it is, or kept out of a build's JavaScript.
290
+ * @param startTexts - a build's browser files': starts reading a pattern's docs, code and pages, which its module
291
+ * imports from the group's texts module; none imports each from its query.
312
292
  * @throws when a story file cannot be indexed.
313
293
  */
314
- const storiesModule = async (id, watch) => {
294
+ const storiesModule = async (id, watch, pack, startTexts) => {
315
295
  if (id.startsWith(USAGE_ID_PREFIX)) {
316
296
  usageModules.add(id);
317
- return usageModule(id, watch, extractor().usage);
297
+ return usageModule(id, watch, extractor().usage, indexCache(), pack);
298
+ }
299
+ // what each story reaches is for the dev server's tools only: a build ships none of it
300
+ if (id.startsWith(REACH_ID_PREFIX)) {
301
+ usageModules.add(id);
302
+ return isServing()
303
+ ? reachModule(id, watch, extractor().usage, indexCache())
304
+ : { code: "export default [];", moduleType: "js" };
318
305
  }
319
306
  if (!id.startsWith(FILES_PREFIX))
320
307
  return undefined;
321
308
  filesModules.add(id);
322
- return patternModule(id, watch, extractor().warm, config?.lists.usedIn !== false);
309
+ const hasUsage = config?.lists.usedIn !== false;
310
+ // the worker starts while Vite loads the pages, unless the disk keeps the docs; a test run asks for no page
311
+ const { files, code } = patternModule(id, watch, { hasUsage, hasReach: hasUsage && isServing() }, indexCache(), isTestRun ? undefined : extractor().warm, startTexts);
312
+ if (!isRedrawing())
313
+ return { code, moduleType: "js" };
314
+ served.keep(id, files);
315
+ return { code: `${code}\n${FILES_MODULE_HOT}`, moduleType: "js" };
316
+ };
317
+ /**
318
+ * Tells the docs a source file was added or removed: it may be what an import now finds, so no kept docs are read
319
+ * again this session.
320
+ *
321
+ * @param file - the file.
322
+ */
323
+ const noteListing = (file) => {
324
+ const framework = config?.framework ?? options.framework;
325
+ if (framework === undefined)
326
+ return;
327
+ if (SOURCE_FILE.test(file) || framework.componentFiles?.extension === extname(file))
328
+ extractor().listed();
329
+ };
330
+ /**
331
+ * The modules a file added or removed changes; none when it changes no list.
332
+ *
333
+ * @param file - the file.
334
+ */
335
+ const modulesListing = (file) => {
336
+ // the patterns' modules list the story files; the groups' "Used in" read them
337
+ if (STORY_FILE.test(file))
338
+ return [...filesModules, ...usageModules, ...searchModules];
339
+ return DOCS_PAGE_FILE.test(file) && docsModules.size > 0 ? [...docsModules] : undefined;
323
340
  };
324
- const pagePath = (page) => config === undefined ? undefined : join(config.dir, page);
325
- const entryPath = (page) => config === undefined ? undefined : join(config.dir, PAGE_ENTRIES[page]);
326
- const storiesSource = () => config === undefined ? undefined : join(config.dir, STORIES_SOURCE_FILE);
327
- const agentSources = () => config === undefined ? undefined : join(config.dir, AGENT_SOURCES_FILE);
328
341
  /**
329
342
  * A module a story file's query asks for (`?forgebook-docs`, `-code`, `-page`, `-markdown`), when the id is one.
330
343
  *
@@ -333,41 +346,60 @@ export const forgebookPlugin = (options = {}) => {
333
346
  * @param resolveImport - resolves an import of a file as the app resolves it.
334
347
  */
335
348
  const queryModule = async (id, watch, resolveImport) => {
336
- if (id.endsWith(DOCS_QUERY)) {
337
- return docsModule(await extractor().extract(id.slice(0, -DOCS_QUERY.length)), watch);
349
+ if (id === TOKENS_ID && config !== undefined) {
350
+ // a source's tokens are found from its module, imported as the generated pages import it
351
+ const importer = pageModulePath(config.dir, AGENT_SOURCES_FILE);
352
+ return tokensModule(config, watch, (specifier) => resolveImport(specifier, importer));
338
353
  }
339
- if (id.endsWith(PAGE_QUERY)) {
340
- const storyFile = id.slice(0, -PAGE_QUERY.length);
341
- const componentFile = await componentFileOf(storyFile, (specifier) => resolveImport(specifier, storyFile));
342
- return pageModule(storyFile, componentFile, watch);
354
+ if (id.endsWith(DOCS_QUERY)) {
355
+ return docsModule(await search.docsOf(id.slice(0, -DOCS_QUERY.length)), watch);
343
356
  }
344
- return textModule(id, watch);
357
+ if (id.startsWith(DOCS_PAGES_PREFIX))
358
+ docsModules.add(id);
359
+ const docsPages = await docsModuleOf(id, watch, isServing(), config?.plugins ?? []);
360
+ if (docsPages !== undefined)
361
+ return docsPages;
362
+ if (!TEXT_QUERIES.some((query) => id.endsWith(query)))
363
+ return undefined;
364
+ // loaded on the first of these queries: the highlighter, the Markdown reader and what they need stay out of a
365
+ // server whose pages never ask
366
+ const { isKeptCode, textModule } = await import("./textModules.js");
367
+ const componentFiles = (config?.framework ?? options.framework)?.componentFiles;
368
+ return textModule(id, { watch, resolveImport, componentFiles, cache: keptCache("code", isKeptCode) });
369
+ };
370
+ /**
371
+ * A group's module (a pattern's, its search index, its "Used in", a build's texts), when the id names one.
372
+ *
373
+ * @param id - the module's id.
374
+ * @param watch - adds a file whose edit renews the module.
375
+ * @param resolveImport - resolves an import of a file as the app resolves it.
376
+ * @param emit - a build's browser files': writes a packed file; none keeps the JSON in the modules.
377
+ * @throws when a story file cannot be indexed.
378
+ */
379
+ const groupModule = async (id, watch, resolveImport, emit) => {
380
+ const pack = emit === undefined ? inlineJson : packedJsonOf(emit);
381
+ const componentFiles = (config?.framework ?? options.framework)?.componentFiles;
382
+ const docsOf = async (storyFile) => docsValue(await search.docsOf(storyFile), watch);
383
+ const sources = { docsOf, watch, resolveImport, componentFiles };
384
+ // a build's browser files only: a dev server answers each text from its query, and no texts module
385
+ const startTexts = emit === undefined ? undefined : texts.starter(id, sources);
386
+ return ((emit === undefined ? undefined : await texts.moduleOf(id, sources, emit)) ??
387
+ (await search.moduleOf(id, watch, pack)) ??
388
+ (await storiesModule(id, watch, pack, startTexts)) ??
389
+ null);
345
390
  };
346
391
  return {
347
392
  name: "forgebook",
348
393
  enforce: "pre",
349
- config: async (userConfig) => {
394
+ config: async (userConfig, environment) => {
395
+ command = environment.command;
396
+ isTestRun = environment.mode === "test";
350
397
  if (config === undefined && options.framework === undefined) {
351
398
  const file = findConfigFile(resolve(userConfig.root ?? process.cwd()));
352
399
  if (file !== undefined)
353
400
  config = await loadConfigFile(file);
354
401
  }
355
- const pages = config === undefined
356
- ? {}
357
- : {
358
- root: config.dir,
359
- // the pages are generated, so Vite's scanner cannot find what they import: it is named here, and the
360
- // story files (the project's and the sources') are scanned for what their components import
361
- optimizeDeps: {
362
- include: prebundled(config, packageResolver(config.dir), packageResolver(PACKAGE_DIR)),
363
- entries: scannedEntries(config, packageResolver(config.dir), readTextFile)
364
- },
365
- build: {
366
- rolldownOptions: {
367
- input: { index: join(config.dir, "index.html"), frame: join(config.dir, "frame.html") }
368
- }
369
- }
370
- };
402
+ const pages = config === undefined ? {} : catalogueConfig(config, userConfig);
371
403
  return {
372
404
  ...pages,
373
405
  css: {
@@ -381,25 +413,41 @@ export const forgebookPlugin = (options = {}) => {
381
413
  const virtual = virtualId(source);
382
414
  if (virtual !== undefined)
383
415
  return virtual;
384
- const entry = PAGE_FILES.find((page) => source === `/${PAGE_ENTRIES[page]}` || source === entryPath(page));
385
- if (entry !== undefined)
386
- return entryPath(entry) ?? null;
387
- if (source === storiesSource() || source === agentSources())
388
- return source;
389
- const page = PAGE_FILES.find((candidate) => source === pagePath(candidate) || source === `/${candidate}`);
390
- if (page !== undefined)
391
- return pagePath(page) ?? null;
392
- if (!source.endsWith(FILES_QUERY) || importer === undefined)
393
- return null;
394
- return filesId(dirname(importer), source.slice(0, -FILES_QUERY.length));
416
+ const generated = config === undefined ? undefined : generatedId(source, config.dir);
417
+ if (generated !== undefined)
418
+ return generated;
419
+ return importer === undefined ? null : patternId(source, VITE_PATHS.dirname(importer));
420
+ },
421
+ // a warning and not a failure: a theme a reader can still use must not stop a catalogue from building
422
+ configResolved: (resolved) => {
423
+ // a dev server's answers only: a build reads everything once, and stamping each answer's files costs it more than
424
+ // a later build would save
425
+ if (isServing())
426
+ cacheFolder = join(resolved.cacheDir, "forgebook");
427
+ for (const problem of config?.shell.problems ?? [])
428
+ resolved.logger.warn(`Forgebook's shell theme: ${problem}`);
395
429
  },
396
430
  configureServer: (server) => {
431
+ devServer = server;
432
+ // no person waits for a page in a test run
433
+ watching.serve(isTestRun ? undefined : server);
397
434
  server.httpServer?.on("close", () => void docs?.close());
435
+ // first: the frames' own origin, and the guard that keeps every other origin's page from reading this one
436
+ if (config !== undefined)
437
+ serveFrames(server, config, (placement) => (framesPlacement = placement), FRAMED_AGENT_PAGES);
398
438
  // an edited component or type file changes its docs: the worker renews its programs on their next read
399
439
  server.watcher.on("change", (file) => renewOnChange(server, file));
400
440
  // the answers to tools and agents (`forgebook stories`, `forgebook mcp`), from the same sources as the pages
401
441
  if (config !== undefined)
402
- server.middlewares.use(agentMiddleware(server, config, live));
442
+ server.middlewares.use(agentMiddleware(server, config, live, () => framesPlacement()));
443
+ if (config?.heights !== undefined) {
444
+ const file = {
445
+ heights: config.heights,
446
+ base: server.config.base,
447
+ publicDir: server.config.publicDir
448
+ };
449
+ server.middlewares.use(missingHeightsMiddleware(file));
450
+ }
403
451
  server.ws.on(LIVE_ERROR_EVENT, (report) => {
404
452
  if (isLiveErrorReport(report))
405
453
  live.add(report, new Date());
@@ -407,12 +455,13 @@ export const forgebookPlugin = (options = {}) => {
407
455
  // the catalogue's pages, made here: no HTML file is written
408
456
  server.middlewares.use((request, response, next) => {
409
457
  const page = requestedPage(request.url ?? "/");
410
- if (config === undefined || page === undefined) {
458
+ const served = config;
459
+ if (served === undefined || page === undefined) {
411
460
  next();
412
461
  return;
413
462
  }
414
- server
415
- .transformIndexHtml(request.url ?? "/", pageHtml(page, config))
463
+ framesPlacement()
464
+ .then((placement) => server.transformIndexHtml(request.url ?? "/", pageHtml(page, served, placement)))
416
465
  .then((html) => {
417
466
  response.setHeader("Content-Type", "text/html");
418
467
  response.end(html);
@@ -425,36 +474,55 @@ export const forgebookPlugin = (options = {}) => {
425
474
  if (watched.length > 0)
426
475
  server.watcher.add(watched);
427
476
  const refresh = (file) => {
428
- if (!STORY_FILE.test(file))
477
+ noteListing(file);
478
+ const renewed = modulesListing(file);
479
+ if (renewed === undefined)
429
480
  return;
430
- const graph = server.environments.client.moduleGraph;
431
- // the patterns' modules list the files; the groups' "Used in" read them
432
- for (const id of [...filesModules, ...usageModules]) {
433
- const module = graph.getModuleById(id);
434
- if (module !== undefined)
435
- graph.invalidateModule(module);
436
- }
481
+ invalidateEverywhere(server, renewed);
437
482
  server.ws.send({ type: "full-reload" });
438
483
  };
439
484
  server.watcher.on("add", refresh);
440
485
  server.watcher.on("unlink", refresh);
441
486
  },
487
+ generateBundle() {
488
+ // axe's script, for the frames' Accessibility card: loaded by the frame, never imported; the browser's build only
489
+ if (this.environment.name !== "client")
490
+ return;
491
+ const axe = config === undefined ? undefined : axeBuildAsset(PACKAGE_DIR);
492
+ if (axe !== undefined)
493
+ this.emitFile({ type: "asset", fileName: axe.fileName, source: axe.source });
494
+ },
495
+ // a dev server without an HTTP server of its own (middleware mode) ends its close watch here only
496
+ closeServer: (context) => {
497
+ if (context.reason === "close")
498
+ watching.close();
499
+ },
442
500
  closeBundle: async () => {
443
501
  await docs?.close();
444
502
  },
503
+ ...storyFileHotHooks(isRedrawing, served.changedBy, watching),
445
504
  async load(id) {
446
- const generated = config === undefined ? undefined : generatedModule(id, config);
505
+ const generated = await pagesModule(id);
447
506
  if (generated !== undefined)
448
507
  return generated;
449
- const watch = (file) => this.addWatchFile(file);
450
- const answered = await queryModule(id, watch, async (specifier, importer) => {
508
+ // an answer, not an error: an error would raise Vite's overlay on every reader's open page
509
+ if (!isReadable(id, devServer))
510
+ return { code: "export default null;", moduleType: "js" };
511
+ // in Vite's form, the text Vite's module graph knows a file by: a Node path on Windows (`C:\app\x.md`) is another
512
+ const watch = (file) => this.addWatchFile(VITE_PATHS.normalize(file));
513
+ const resolveImport = async (specifier, importer) => {
451
514
  const resolved = await this.resolve(specifier, importer);
452
515
  return resolved?.id;
453
- });
516
+ };
517
+ const answered = await queryModule(id, watch, resolveImport);
454
518
  if (answered !== undefined)
455
- return answered;
519
+ return renewedModule(id, answered, RENEWED_QUERIES, isServing());
520
+ // a build's browser files only: a server environment's output is no page's to fetch
521
+ const emit = isServing() || this.environment.name !== "client"
522
+ ? undefined
523
+ : (asset) => this.emitFile(asset);
456
524
  try {
457
- return (await storiesModule(id, watch)) ?? null;
525
+ return await groupModule(id, watch, resolveImport, emit);
458
526
  }
459
527
  catch (error) {
460
528
  this.error(error instanceof Error ? error.message : String(error));
@@ -462,4 +530,3 @@ export const forgebookPlugin = (options = {}) => {
462
530
  }
463
531
  };
464
532
  };
465
- //# sourceMappingURL=forgebookPlugin.js.map