forgebook 0.3.2 → 0.4.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 (693) hide show
  1. package/README.md +917 -74
  2. package/dist/bin/forgebook/agentClient.d.ts +2 -1
  3. package/dist/bin/forgebook/agentClient.js +13 -6
  4. package/dist/bin/forgebook/agentGuide.d.ts +59 -0
  5. package/dist/bin/forgebook/agentGuide.js +203 -0
  6. package/dist/bin/forgebook/agentLoopCommands.mjs +22 -42
  7. package/dist/bin/forgebook/agentSetup/agentFiles.d.ts +55 -0
  8. package/dist/bin/forgebook/agentSetup/agentFiles.js +319 -0
  9. package/dist/bin/forgebook/agentSetup/assistantHooks.d.ts +71 -0
  10. package/dist/bin/forgebook/agentSetup/assistantHooks.js +125 -0
  11. package/dist/bin/forgebook/agentSetup/ciWorkflow.d.ts +23 -0
  12. package/dist/bin/forgebook/agentSetup/ciWorkflow.js +55 -0
  13. package/dist/bin/forgebook/agentSetup/drawCandidates.d.ts +25 -0
  14. package/dist/bin/forgebook/agentSetup/drawCandidates.js +116 -0
  15. package/dist/bin/forgebook/agentSetup/drawDiagnosis.d.ts +28 -0
  16. package/dist/bin/forgebook/agentSetup/drawDiagnosis.js +134 -0
  17. package/dist/bin/forgebook/agentSetup/drawRun.d.ts +91 -0
  18. package/dist/bin/forgebook/agentSetup/drawRun.js +353 -0
  19. package/dist/bin/forgebook/agentSetup/hookNames.d.ts +7 -0
  20. package/dist/bin/forgebook/agentSetup/hookNames.js +7 -0
  21. package/dist/bin/forgebook/agentSetup/initAgentSteps.d.ts +48 -0
  22. package/dist/bin/forgebook/agentSetup/initAgentSteps.js +104 -0
  23. package/dist/bin/forgebook/agentSetup/liftedProviders.d.ts +17 -0
  24. package/dist/bin/forgebook/agentSetup/liftedProviders.js +186 -0
  25. package/dist/bin/forgebook/agentSetup/projectRunner.d.ts +46 -0
  26. package/dist/bin/forgebook/agentSetup/projectRunner.js +85 -0
  27. package/dist/bin/forgebook/agentSetup/stopHook.d.ts +65 -0
  28. package/dist/bin/forgebook/agentSetup/stopHook.js +202 -0
  29. package/dist/bin/forgebook/agentSetup/uniformPicture.d.ts +7 -0
  30. package/dist/bin/forgebook/agentSetup/uniformPicture.js +98 -0
  31. package/dist/bin/forgebook/agentSetupCommands.d.mts +14 -0
  32. package/dist/bin/forgebook/agentSetupCommands.mjs +98 -0
  33. package/dist/bin/forgebook/agentText.d.ts +23 -3
  34. package/dist/bin/forgebook/agentText.js +175 -28
  35. package/dist/bin/forgebook/agents.md +20 -191
  36. package/dist/bin/forgebook/agentsText.js +2 -1
  37. package/dist/bin/forgebook/appBuild/appBuild.d.ts +59 -0
  38. package/dist/bin/forgebook/appBuild/appBuild.js +213 -0
  39. package/dist/bin/forgebook/appBuild/appViteConfig.d.ts +96 -0
  40. package/dist/bin/forgebook/appBuild/appViteConfig.js +320 -0
  41. package/dist/bin/forgebook/appBuild/tsconfigPaths.d.ts +14 -0
  42. package/dist/bin/forgebook/appBuild/tsconfigPaths.js +80 -0
  43. package/dist/bin/forgebook/auditCommand.d.mts +8 -0
  44. package/dist/bin/forgebook/auditCommand.mjs +75 -0
  45. package/dist/bin/forgebook/auditRun.d.ts +95 -0
  46. package/dist/bin/forgebook/auditRun.js +270 -0
  47. package/dist/bin/forgebook/browserRun.d.ts +21 -0
  48. package/dist/bin/forgebook/browserRun.js +57 -0
  49. package/dist/bin/forgebook/buildFailure.d.ts +7 -0
  50. package/dist/bin/forgebook/buildFailure.js +47 -0
  51. package/dist/bin/forgebook/buildWatch.d.ts +52 -0
  52. package/dist/bin/forgebook/buildWatch.js +137 -0
  53. package/dist/bin/forgebook/builtCatalogue.js +9 -5
  54. package/dist/bin/forgebook/catalogueCommands.d.ts +9 -0
  55. package/dist/bin/forgebook/catalogueCommands.js +23 -0
  56. package/dist/bin/forgebook/catalogueVite.d.ts +5 -1
  57. package/dist/bin/forgebook/catalogueVite.js +14 -6
  58. package/dist/bin/forgebook/commandCacheClaim.d.ts +18 -0
  59. package/dist/bin/forgebook/commandCacheClaim.js +170 -0
  60. package/dist/bin/forgebook/commandServer.d.ts +8 -0
  61. package/dist/bin/forgebook/commandServer.js +61 -13
  62. package/dist/bin/forgebook/forgebookCommands.mjs +105 -28
  63. package/dist/bin/forgebook/graphCommand.d.mts +8 -0
  64. package/dist/bin/forgebook/graphCommand.mjs +84 -0
  65. package/dist/bin/forgebook/guide/commands.md +57 -0
  66. package/dist/bin/forgebook/guide/devices.md +17 -0
  67. package/dist/bin/forgebook/guide/docs-pages.md +13 -0
  68. package/dist/bin/forgebook/guide/frameworks/angular.md +22 -0
  69. package/dist/bin/forgebook/guide/frameworks/html.md +22 -0
  70. package/dist/bin/forgebook/guide/frameworks/nextjs.md +23 -0
  71. package/dist/bin/forgebook/guide/frameworks/nuxt.md +22 -0
  72. package/dist/bin/forgebook/guide/frameworks/preact.md +16 -0
  73. package/dist/bin/forgebook/guide/frameworks/react-native-web.md +21 -0
  74. package/dist/bin/forgebook/guide/frameworks/react.md +16 -0
  75. package/dist/bin/forgebook/guide/frameworks/solid.md +18 -0
  76. package/dist/bin/forgebook/guide/frameworks/svelte.md +18 -0
  77. package/dist/bin/forgebook/guide/frameworks/sveltekit.md +23 -0
  78. package/dist/bin/forgebook/guide/frameworks/vue.md +18 -0
  79. package/dist/bin/forgebook/guide/frameworks/web-components.md +21 -0
  80. package/dist/bin/forgebook/guide/links.md +29 -0
  81. package/dist/bin/forgebook/guide/setup.md +23 -0
  82. package/dist/bin/forgebook/guide/stories.md +90 -0
  83. package/dist/bin/forgebook/guide/switches.md +43 -0
  84. package/dist/bin/forgebook/guideCommand.d.mts +13 -0
  85. package/dist/bin/forgebook/guideCommand.mjs +37 -0
  86. package/dist/bin/forgebook/importers/storybook.d.ts +21 -0
  87. package/dist/bin/forgebook/importers/storybook.js +11 -5
  88. package/dist/bin/forgebook/importers/storybookFrameworks.js +1 -1
  89. package/dist/bin/forgebook/initCommands.d.mts +11 -0
  90. package/dist/bin/forgebook/initCommands.mjs +51 -78
  91. package/dist/bin/forgebook/initConfig.d.ts +5 -3
  92. package/dist/bin/forgebook/initConfig.js +6 -3
  93. package/dist/bin/forgebook/initInstall.d.ts +15 -0
  94. package/dist/bin/forgebook/initInstall.js +77 -0
  95. package/dist/bin/forgebook/initPrint.d.ts +9 -0
  96. package/dist/bin/forgebook/initPrint.js +60 -0
  97. package/dist/bin/forgebook/initRefusals.d.ts +45 -0
  98. package/dist/bin/forgebook/initRefusals.js +91 -0
  99. package/dist/bin/forgebook/initRun.d.ts +28 -0
  100. package/dist/bin/forgebook/initRun.js +311 -0
  101. package/dist/bin/forgebook/mcpCommand.mjs +38 -4
  102. package/dist/bin/forgebook/mcpGraph.d.ts +13 -0
  103. package/dist/bin/forgebook/mcpGraph.js +24 -0
  104. package/dist/bin/forgebook/mcpTokens.d.ts +14 -0
  105. package/dist/bin/forgebook/mcpTokens.js +58 -0
  106. package/dist/bin/forgebook/mcpToolParts.d.ts +7 -0
  107. package/dist/bin/forgebook/mcpToolParts.js +10 -0
  108. package/dist/bin/forgebook/mcpTools.d.ts +13 -6
  109. package/dist/bin/forgebook/mcpTools.js +57 -90
  110. package/dist/bin/forgebook/mcpVerify.d.ts +16 -0
  111. package/dist/bin/forgebook/mcpVerify.js +36 -0
  112. package/dist/bin/forgebook/migrate/codemods.d.ts +11 -0
  113. package/dist/bin/forgebook/migrate/codemods.js +61 -0
  114. package/dist/bin/forgebook/migrate/migrate.types.d.ts +117 -0
  115. package/dist/bin/forgebook/migrate/migrate.types.js +5 -0
  116. package/dist/bin/forgebook/migrate/migrateCommand.d.mts +8 -0
  117. package/dist/bin/forgebook/migrate/migrateCommand.mjs +76 -0
  118. package/dist/bin/forgebook/migrate/migrateRun.d.ts +61 -0
  119. package/dist/bin/forgebook/migrate/migrateRun.js +210 -0
  120. package/dist/bin/forgebook/migrate/migrateText.d.ts +12 -0
  121. package/dist/bin/forgebook/migrate/migrateText.js +30 -0
  122. package/dist/bin/forgebook/migrate/migrateWrite.d.ts +27 -0
  123. package/dist/bin/forgebook/migrate/migrateWrite.js +66 -0
  124. package/dist/bin/forgebook/migrate/objectEdits.d.ts +70 -0
  125. package/dist/bin/forgebook/migrate/objectEdits.js +241 -0
  126. package/dist/bin/forgebook/migrate/playOnInBuilds.d.ts +3 -0
  127. package/dist/bin/forgebook/migrate/playOnInBuilds.js +86 -0
  128. package/dist/bin/forgebook/migrate/propGroupStrings.d.ts +5 -0
  129. package/dist/bin/forgebook/migrate/propGroupStrings.js +81 -0
  130. package/dist/bin/forgebook/newProject/newProject.d.ts +39 -0
  131. package/dist/bin/forgebook/newProject/newProject.js +180 -0
  132. package/dist/bin/forgebook/newProject/newProject.types.d.ts +97 -0
  133. package/dist/bin/forgebook/newProject/newProject.types.js +6 -0
  134. package/dist/bin/forgebook/newProject/packageManagers.d.ts +51 -0
  135. package/dist/bin/forgebook/newProject/packageManagers.js +121 -0
  136. package/dist/bin/forgebook/newProject/projectEntries.d.ts +62 -0
  137. package/dist/bin/forgebook/newProject/projectEntries.js +191 -0
  138. package/dist/bin/forgebook/newProject/projectFrameworks.d.ts +57 -0
  139. package/dist/bin/forgebook/newProject/projectFrameworks.js +148 -0
  140. package/dist/bin/forgebook/newProject/projectLook.d.ts +23 -0
  141. package/dist/bin/forgebook/newProject/projectLook.js +293 -0
  142. package/dist/bin/forgebook/newProject/projectPackages.d.ts +66 -0
  143. package/dist/bin/forgebook/newProject/projectPackages.js +178 -0
  144. package/dist/bin/forgebook/newRepair.d.ts +45 -0
  145. package/dist/bin/forgebook/newRepair.js +157 -0
  146. package/dist/bin/forgebook/newRepairRun.d.ts +69 -0
  147. package/dist/bin/forgebook/newRepairRun.js +148 -0
  148. package/dist/bin/forgebook/newStories.d.ts +23 -1
  149. package/dist/bin/forgebook/newStories.js +101 -11
  150. package/dist/bin/forgebook/newStoriesFile.d.ts +20 -1
  151. package/dist/bin/forgebook/newStoriesFile.js +43 -4
  152. package/dist/bin/forgebook/prebundleRun.d.ts +3 -1
  153. package/dist/bin/forgebook/prebundleRun.js +28 -8
  154. package/dist/bin/forgebook/proofCommand.d.mts +15 -0
  155. package/dist/bin/forgebook/proofCommand.mjs +212 -0
  156. package/dist/bin/forgebook/proofRun.d.ts +63 -0
  157. package/dist/bin/forgebook/proofRun.js +412 -0
  158. package/dist/bin/forgebook/proofText.d.ts +36 -0
  159. package/dist/bin/forgebook/proofText.js +131 -0
  160. package/dist/bin/forgebook/proofWorkflow.d.ts +29 -0
  161. package/dist/bin/forgebook/proofWorkflow.js +205 -0
  162. package/dist/bin/forgebook/setArgsTool.d.ts +8 -0
  163. package/dist/bin/forgebook/setArgsTool.js +70 -0
  164. package/dist/bin/forgebook/storyCheckCommands.mjs +42 -3
  165. package/dist/bin/forgebook/storyCheckRun.d.ts +50 -0
  166. package/dist/bin/forgebook/storyCheckRun.js +83 -9
  167. package/dist/bin/forgebook/storyFileIds.d.ts +15 -0
  168. package/dist/bin/forgebook/storyFileIds.js +14 -0
  169. package/dist/bin/forgebook/stressCases.d.ts +31 -0
  170. package/dist/bin/forgebook/stressCases.js +79 -0
  171. package/dist/bin/forgebook/stressRun.d.ts +12 -0
  172. package/dist/bin/forgebook/stressRun.js +61 -0
  173. package/dist/bin/forgebook/stressText.d.ts +27 -0
  174. package/dist/bin/forgebook/stressText.js +46 -0
  175. package/dist/bin/forgebook/verifyBase.d.ts +45 -0
  176. package/dist/bin/forgebook/verifyBase.js +196 -0
  177. package/dist/bin/forgebook/verifyCommand.d.mts +13 -0
  178. package/dist/bin/forgebook/verifyCommand.mjs +125 -0
  179. package/dist/bin/forgebook/verifyRun.d.ts +63 -0
  180. package/dist/bin/forgebook/verifyRun.js +108 -0
  181. package/dist/bin/forgebook/verifyVerdict.d.ts +40 -0
  182. package/dist/bin/forgebook/verifyVerdict.js +297 -0
  183. package/dist/bin/forgebook/workflowActions.d.ts +23 -0
  184. package/dist/bin/forgebook/workflowActions.js +23 -0
  185. package/dist/bin/forgebook-docs/catalogueMarkdown.js +12 -1
  186. package/dist/src/addressArgs.d.ts +54 -6
  187. package/dist/src/addressArgs.js +72 -16
  188. package/dist/src/addressArgsParam.d.ts +54 -0
  189. package/dist/src/addressArgsParam.js +51 -0
  190. package/dist/src/addressTexts.d.ts +14 -0
  191. package/dist/src/addressTexts.js +28 -21
  192. package/dist/src/agentIndexFile.d.ts +11 -0
  193. package/dist/src/agentIndexFile.js +11 -0
  194. package/dist/src/argConditions.d.ts +52 -0
  195. package/dist/src/argConditions.js +80 -0
  196. package/dist/src/argControl.d.ts +100 -0
  197. package/dist/src/argControl.js +0 -0
  198. package/dist/src/argExpression.d.ts +21 -0
  199. package/dist/src/argExpression.js +30 -0
  200. package/dist/src/argTypes.d.ts +40 -51
  201. package/dist/src/argTypes.js +66 -184
  202. package/dist/src/argsProps.d.ts +3 -3
  203. package/dist/src/argsProps.js +11 -5
  204. package/dist/src/bundlerErrors.d.ts +29 -0
  205. package/dist/src/bundlerErrors.js +49 -0
  206. package/dist/src/catalogue.d.ts +31 -0
  207. package/dist/src/catalogue.js +13 -2
  208. package/dist/src/catalogueRefs.d.ts +75 -0
  209. package/dist/src/catalogueRefs.js +122 -0
  210. package/dist/src/componentDocs.d.ts +71 -0
  211. package/dist/src/componentDocs.js +15 -2
  212. package/dist/src/frame/callValues.d.ts +19 -0
  213. package/dist/src/frame/callValues.js +58 -0
  214. package/dist/src/frame/canvasScheme.d.ts +33 -0
  215. package/dist/src/frame/canvasScheme.js +67 -0
  216. package/dist/src/frame/frame.css +36 -3
  217. package/dist/src/frame/frameStatus.d.ts +16 -1
  218. package/dist/src/frame/frameStatus.js +16 -1
  219. package/dist/src/frame/frameView.js +4 -3
  220. package/dist/src/frame/mountFrame.d.ts +7 -1
  221. package/dist/src/frame/mountFrame.js +153 -46
  222. package/dist/src/frame/panelValues.d.ts +35 -0
  223. package/dist/src/frame/panelValues.js +127 -0
  224. package/dist/src/frame/playActions.d.ts +39 -0
  225. package/dist/src/frame/playActions.js +98 -0
  226. package/dist/src/frame/playStepper.d.ts +28 -0
  227. package/dist/src/frame/playStepper.js +38 -0
  228. package/dist/src/frame/playStory.d.ts +9 -1
  229. package/dist/src/frame/playStory.js +49 -3
  230. package/dist/src/frame/renderer.d.ts +34 -1
  231. package/dist/src/frame/renderer.js +24 -0
  232. package/dist/src/frame/shellChannel.d.ts +1 -1
  233. package/dist/src/frame/shellChannel.js +1 -1
  234. package/dist/src/frame/shellCheck.d.ts +17 -0
  235. package/dist/src/frame/shellCheck.js +25 -0
  236. package/dist/src/frame/shellMessageCheck.d.ts +7 -0
  237. package/dist/src/frame/shellMessageCheck.js +53 -0
  238. package/dist/src/frame/storyContent.d.ts +50 -0
  239. package/dist/src/frame/storyContent.js +73 -0
  240. package/dist/src/frame/storyModule.d.ts +9 -0
  241. package/dist/src/frame/storyModule.js +20 -2
  242. package/dist/src/frame/storyRun.d.ts +15 -7
  243. package/dist/src/frame/storyRun.js +64 -15
  244. package/dist/src/frame/valueSheets.d.ts +35 -0
  245. package/dist/src/frame/valueSheets.js +99 -0
  246. package/dist/src/hotModules.d.ts +20 -0
  247. package/dist/src/hotModules.js +23 -0
  248. package/dist/src/jsxCode.d.ts +1 -14
  249. package/dist/src/jsxCode.js +46 -10
  250. package/dist/src/liveErrors.d.ts +30 -4
  251. package/dist/src/liveErrors.js +18 -3
  252. package/dist/src/messages.d.ts +77 -27
  253. package/dist/src/messages.js +58 -100
  254. package/dist/src/namedValues.d.ts +2 -26
  255. package/dist/src/namedValues.js +0 -47
  256. package/dist/src/pageConfig.d.ts +2 -0
  257. package/dist/src/playTrace.d.ts +19 -2
  258. package/dist/src/playTrace.js +10 -5
  259. package/dist/src/plugin.d.ts +10 -3
  260. package/dist/src/previewRelay.js +9 -1
  261. package/dist/src/printable.d.ts +12 -0
  262. package/dist/src/printable.js +22 -0
  263. package/dist/src/propsSignature.d.ts +37 -0
  264. package/dist/src/propsSignature.js +40 -0
  265. package/dist/src/search.d.ts +41 -5
  266. package/dist/src/search.js +93 -23
  267. package/dist/src/searchMatch.d.ts +4 -1
  268. package/dist/src/searchMatch.js +26 -5
  269. package/dist/src/searchTypos.d.ts +88 -0
  270. package/dist/src/searchTypos.js +178 -0
  271. package/dist/src/shapeValues.d.ts +86 -0
  272. package/dist/src/shapeValues.js +295 -0
  273. package/dist/src/shell/ApiReference.js +6 -3
  274. package/dist/src/shell/ApiTableBox.d.ts +15 -0
  275. package/dist/src/shell/ApiTableBox.js +11 -0
  276. package/dist/src/shell/AppearanceMenu.d.ts +4 -1
  277. package/dist/src/shell/AppearanceMenu.js +9 -6
  278. package/dist/src/shell/CodeTab.d.ts +3 -2
  279. package/dist/src/shell/CodeTab.js +3 -2
  280. package/dist/src/shell/CodeText.d.ts +1 -1
  281. package/dist/src/shell/CodeText.js +2 -3
  282. package/dist/src/shell/CompareGrid.js +1 -1
  283. package/dist/src/shell/ComponentPage.d.ts +1 -1
  284. package/dist/src/shell/ComponentPage.js +5 -1
  285. package/dist/src/shell/CustomControl.d.ts +34 -0
  286. package/dist/src/shell/CustomControl.js +132 -0
  287. package/dist/src/shell/DocContainers.js +1 -1
  288. package/dist/src/shell/DocPage.js +2 -2
  289. package/dist/src/shell/DroppedArgsList.d.ts +2 -2
  290. package/dist/src/shell/DroppedArgsList.js +1 -1
  291. package/dist/src/shell/EmbedPage.js +58 -14
  292. package/dist/src/shell/Example.d.ts +5 -1
  293. package/dist/src/shell/Example.js +16 -8
  294. package/dist/src/shell/FrameView.d.ts +6 -3
  295. package/dist/src/shell/FrameView.js +2 -2
  296. package/dist/src/shell/HomePage.d.ts +3 -1
  297. package/dist/src/shell/HomePage.js +16 -6
  298. package/dist/src/shell/InfoTip.js +2 -2
  299. package/dist/src/shell/InteractionsTab.d.ts +11 -4
  300. package/dist/src/shell/InteractionsTab.js +18 -2
  301. package/dist/src/shell/LazyPage.js +1 -1
  302. package/dist/src/shell/PackageHtml.js +3 -1
  303. package/dist/src/shell/PinnedControl.js +14 -62
  304. package/dist/src/shell/PinnedControlMenu.d.ts +44 -0
  305. package/dist/src/shell/PinnedControlMenu.js +72 -0
  306. package/dist/src/shell/PluginBlockHost.js +2 -1
  307. package/dist/src/shell/PluginTabHost.js +19 -2
  308. package/dist/src/shell/PropFields.d.ts +3 -1
  309. package/dist/src/shell/PropFields.js +9 -6
  310. package/dist/src/shell/PropRows.d.ts +23 -2
  311. package/dist/src/shell/PropRows.js +58 -19
  312. package/dist/src/shell/PropsTab.d.ts +12 -5
  313. package/dist/src/shell/PropsTab.js +9 -21
  314. package/dist/src/shell/RefStoryPage.d.ts +33 -0
  315. package/dist/src/shell/RefStoryPage.js +123 -0
  316. package/dist/src/shell/SearchPanel.js +51 -24
  317. package/dist/src/shell/Shell.d.ts +18 -0
  318. package/dist/src/shell/Shell.js +137 -22
  319. package/dist/src/shell/ShortcutHelp.d.ts +22 -0
  320. package/dist/src/shell/ShortcutHelp.js +66 -0
  321. package/dist/src/shell/Sidebar.d.ts +17 -4
  322. package/dist/src/shell/Sidebar.js +92 -41
  323. package/dist/src/shell/SidebarDocs.js +2 -2
  324. package/dist/src/shell/SidebarEntries.js +5 -3
  325. package/dist/src/shell/SidebarHandle.d.ts +3 -5
  326. package/dist/src/shell/SidebarHandle.js +4 -4
  327. package/dist/src/shell/SidebarRefs.d.ts +39 -0
  328. package/dist/src/shell/SidebarRefs.js +99 -0
  329. package/dist/src/shell/SidebarSearch.js +37 -9
  330. package/dist/src/shell/SignatureReference.js +3 -1
  331. package/dist/src/shell/Stage.d.ts +10 -2
  332. package/dist/src/shell/Stage.js +35 -60
  333. package/dist/src/shell/StatusBadges.d.ts +54 -0
  334. package/dist/src/shell/StatusBadges.js +77 -0
  335. package/dist/src/shell/StoryCodeBlock.d.ts +8 -19
  336. package/dist/src/shell/StoryCodeBlock.js +7 -6
  337. package/dist/src/shell/SwitchGallery.d.ts +36 -0
  338. package/dist/src/shell/SwitchGallery.js +17 -0
  339. package/dist/src/shell/SwitchGalleryPanel.d.ts +37 -0
  340. package/dist/src/shell/SwitchGalleryPanel.js +99 -0
  341. package/dist/src/shell/TagFilter.d.ts +24 -0
  342. package/dist/src/shell/TagFilter.js +45 -0
  343. package/dist/src/shell/TagViews.d.ts +39 -0
  344. package/dist/src/shell/TagViews.js +20 -0
  345. package/dist/src/shell/Toolbar.d.ts +4 -1
  346. package/dist/src/shell/Toolbar.js +17 -7
  347. package/dist/src/shell/ToolbarControl.d.ts +3 -0
  348. package/dist/src/shell/ToolbarControl.js +23 -6
  349. package/dist/src/shell/ViewMenuPanel.js +6 -1
  350. package/dist/src/shell/argChecks.d.ts +22 -0
  351. package/dist/src/shell/argChecks.js +20 -0
  352. package/dist/src/shell/asideStory.d.ts +17 -4
  353. package/dist/src/shell/asideStory.js +21 -4
  354. package/dist/src/shell/audienceSections.css +9 -9
  355. package/dist/src/shell/catalogueContext.d.ts +1 -1
  356. package/dist/src/shell/catalogueContext.js +6 -1
  357. package/dist/src/shell/codeSpans.d.ts +27 -0
  358. package/dist/src/shell/codeSpans.js +76 -0
  359. package/dist/src/shell/compareVariants.d.ts +4 -2
  360. package/dist/src/shell/compareVariants.js +16 -8
  361. package/dist/src/shell/composition.d.ts +23 -0
  362. package/dist/src/shell/composition.js +26 -0
  363. package/dist/src/shell/controlCycle.d.ts +1 -1
  364. package/dist/src/shell/controlCycle.js +3 -2
  365. package/dist/src/shell/customControls.d.ts +55 -0
  366. package/dist/src/shell/customControls.js +70 -0
  367. package/dist/src/shell/docPage.css +22 -22
  368. package/dist/src/shell/dockTabs.d.ts +19 -3
  369. package/dist/src/shell/dockTabs.js +28 -20
  370. package/dist/src/shell/embed.css +7 -7
  371. package/dist/src/shell/framesOrigin.d.ts +7 -0
  372. package/dist/src/shell/framesOrigin.js +1 -1
  373. package/dist/src/shell/galleryPlace.d.ts +20 -0
  374. package/dist/src/shell/galleryPlace.js +26 -0
  375. package/dist/src/shell/icons.d.ts +1 -0
  376. package/dist/src/shell/icons.js +1 -0
  377. package/dist/src/shell/keyboard.d.ts +14 -12
  378. package/dist/src/shell/keyboard.js +21 -6
  379. package/dist/src/shell/laterStrings.d.ts +29 -0
  380. package/dist/src/shell/laterStrings.js +42 -3
  381. package/dist/src/shell/mountShell.js +3 -0
  382. package/dist/src/shell/pageStrings.d.ts +4 -0
  383. package/dist/src/shell/pageStrings.js +4 -0
  384. package/dist/src/shell/pageTagView.d.ts +18 -0
  385. package/dist/src/shell/pageTagView.js +10 -0
  386. package/dist/src/shell/playMemory.d.ts +14 -0
  387. package/dist/src/shell/playMemory.js +8 -0
  388. package/dist/src/shell/propNotes.d.ts +23 -0
  389. package/dist/src/shell/propNotes.js +37 -0
  390. package/dist/src/shell/refIndexLoad.d.ts +17 -0
  391. package/dist/src/shell/refIndexLoad.js +38 -0
  392. package/dist/src/shell/refParts.d.ts +34 -0
  393. package/dist/src/shell/refParts.js +9 -0
  394. package/dist/src/shell/refStory.css +21 -0
  395. package/dist/src/shell/refStrings.d.ts +13 -0
  396. package/dist/src/shell/refStrings.js +21 -0
  397. package/dist/src/shell/search.css +11 -11
  398. package/dist/src/shell/shell.css +348 -168
  399. package/dist/src/shell/shellScheme.js +2 -2
  400. package/dist/src/shell/shortcutHelp.css +64 -0
  401. package/dist/src/shell/stageArgs.d.ts +53 -0
  402. package/dist/src/shell/stageArgs.js +64 -0
  403. package/dist/src/shell/statusBadges.css +51 -0
  404. package/dist/src/shell/strings.d.ts +7 -16
  405. package/dist/src/shell/strings.js +12 -17
  406. package/dist/src/shell/switchGallery.css +104 -0
  407. package/dist/src/shell/tagFilter.css +46 -0
  408. package/dist/src/shell/tagView.d.ts +20 -0
  409. package/dist/src/shell/tagView.js +10 -0
  410. package/dist/src/shell/useAddressArgs.d.ts +27 -2
  411. package/dist/src/shell/useAddressArgs.js +71 -14
  412. package/dist/src/shell/useControlKeys.js +2 -2
  413. package/dist/src/shell/useEditedProblems.d.ts +6 -0
  414. package/dist/src/shell/useEditedProblems.js +40 -0
  415. package/dist/src/shell/useFrameMessages.js +3 -0
  416. package/dist/src/shell/useListedTree.d.ts +13 -0
  417. package/dist/src/shell/useListedTree.js +32 -0
  418. package/dist/src/shell/usePageFrames.js +2 -2
  419. package/dist/src/shell/usePopover.d.ts +5 -0
  420. package/dist/src/shell/usePopover.js +7 -1
  421. package/dist/src/shell/useRefIndex.d.ts +22 -0
  422. package/dist/src/shell/useRefIndex.js +36 -0
  423. package/dist/src/shell/useScrollStops.d.ts +20 -0
  424. package/dist/src/shell/useScrollStops.js +41 -0
  425. package/dist/src/shell/useShortcutHelp.d.ts +18 -0
  426. package/dist/src/shell/useShortcutHelp.js +32 -0
  427. package/dist/src/shell/useSidebarOverlay.d.ts +2 -1
  428. package/dist/src/shell/useSidebarOverlay.js +12 -4
  429. package/dist/src/shell/useStoryCode.d.ts +2 -1
  430. package/dist/src/shell/useStoryCode.js +12 -7
  431. package/dist/src/shell/useToolbarLayout.d.ts +5 -1
  432. package/dist/src/shell/useToolbarLayout.js +2 -2
  433. package/dist/src/shell/useWorstCase.d.ts +8 -2
  434. package/dist/src/shell/useWorstCase.js +2 -2
  435. package/dist/src/shell/valueEditors/FileEditor.d.ts +28 -0
  436. package/dist/src/shell/valueEditors/FileEditor.js +66 -0
  437. package/dist/src/shell/valueEditors/JsonEditor.d.ts +14 -0
  438. package/dist/src/shell/valueEditors/JsonEditor.js +53 -0
  439. package/dist/src/shell/valueEditors/ListEditor.d.ts +24 -0
  440. package/dist/src/shell/valueEditors/ListEditor.js +82 -0
  441. package/dist/src/shell/valueEditors/ObjectEditor.d.ts +32 -0
  442. package/dist/src/shell/valueEditors/ObjectEditor.js +70 -0
  443. package/dist/src/shell/valueEditors/PropEditor.d.ts +37 -0
  444. package/dist/src/shell/valueEditors/PropEditor.js +53 -0
  445. package/dist/src/shell/valueEditors/RecordEditor.d.ts +20 -0
  446. package/dist/src/shell/valueEditors/RecordEditor.js +84 -0
  447. package/dist/src/shell/valueEditors/SearchSelect.d.ts +42 -0
  448. package/dist/src/shell/valueEditors/SearchSelect.js +80 -0
  449. package/dist/src/shell/valueEditors/TokenEditor.d.ts +49 -0
  450. package/dist/src/shell/valueEditors/TokenEditor.js +74 -0
  451. package/dist/src/shell/valueEditors/UnionEditor.d.ts +20 -0
  452. package/dist/src/shell/valueEditors/UnionEditor.js +64 -0
  453. package/dist/src/shell/valueEditors/ValueField.d.ts +15 -0
  454. package/dist/src/shell/valueEditors/ValueField.js +147 -0
  455. package/dist/src/shell/valueEditors/editorStrings.d.ts +56 -0
  456. package/dist/src/shell/valueEditors/editorStrings.js +66 -0
  457. package/dist/src/shell/valueEditors/fieldTypes.d.ts +31 -0
  458. package/dist/src/shell/valueEditors/fieldTypes.js +0 -0
  459. package/dist/src/shell/valueEditors/valueEditors.css +153 -0
  460. package/dist/src/shell/worstArgs.d.ts +8 -5
  461. package/dist/src/shell/worstArgs.js +14 -7
  462. package/dist/src/shellTheme.d.ts +1 -1
  463. package/dist/src/shellTheme.js +15 -1
  464. package/dist/src/shellTheme.types.d.ts +4 -0
  465. package/dist/src/shellWord.d.ts +12 -0
  466. package/dist/src/shellWord.js +15 -0
  467. package/dist/src/sourceFiles.js +2 -1
  468. package/dist/src/storyArgTypes.d.ts +57 -0
  469. package/dist/src/storyArgTypes.js +195 -0
  470. package/dist/src/storyBackground.js +14 -3
  471. package/dist/src/storyCheck.d.ts +85 -3
  472. package/dist/src/storyCheck.js +23 -1
  473. package/dist/src/storyCodeText.d.ts +46 -0
  474. package/dist/src/storyCodeText.js +27 -0
  475. package/dist/src/storyControls.d.ts +100 -0
  476. package/dist/src/storyControls.js +100 -0
  477. package/dist/src/storyStatuses.d.ts +55 -0
  478. package/dist/src/storyStatuses.js +104 -0
  479. package/dist/src/storyTagNames.d.ts +25 -0
  480. package/dist/src/storyTagNames.js +25 -0
  481. package/dist/src/storyTags.d.ts +29 -0
  482. package/dist/src/storyTags.js +85 -0
  483. package/dist/src/storyTree.d.ts +13 -0
  484. package/dist/src/storyTree.js +24 -4
  485. package/dist/src/storybookArgs.d.ts +24 -0
  486. package/dist/src/storybookArgs.js +185 -0
  487. package/dist/src/switches.d.ts +66 -3
  488. package/dist/src/switches.js +42 -1
  489. package/dist/src/valueSchema.d.ts +28 -0
  490. package/dist/src/valueSchema.js +196 -0
  491. package/dist/src/valueShape.d.ts +94 -0
  492. package/dist/src/valueShape.js +25 -0
  493. package/dist/src/viewState.d.ts +8 -3
  494. package/dist/src/viewState.js +27 -10
  495. package/dist/src/vite/adapter.d.ts +40 -2
  496. package/dist/src/vite/adapter.js +1 -0
  497. package/dist/src/vite/agent.types.d.ts +347 -7
  498. package/dist/src/vite/agentApi.d.ts +23 -0
  499. package/dist/src/vite/agentApi.js +90 -17
  500. package/dist/src/vite/agentIndex.d.ts +0 -2
  501. package/dist/src/vite/agentIndex.js +5 -6
  502. package/dist/src/vite/agentRoutes.d.ts +20 -1
  503. package/dist/src/vite/agentRoutes.js +106 -65
  504. package/dist/src/vite/agentStatuses.d.ts +42 -0
  505. package/dist/src/vite/agentStatuses.js +67 -0
  506. package/dist/src/vite/agentStoryCode.d.ts +48 -0
  507. package/dist/src/vite/agentStoryCode.js +38 -0
  508. package/dist/src/vite/agentVisibility.d.ts +47 -0
  509. package/dist/src/vite/agentVisibility.js +174 -0
  510. package/dist/src/vite/appAudit.d.ts +134 -0
  511. package/dist/src/vite/appAudit.js +333 -0
  512. package/dist/src/vite/appBuildOption.d.ts +53 -0
  513. package/dist/src/vite/appBuildOption.js +55 -0
  514. package/dist/src/vite/appTokenFiles.d.ts +92 -0
  515. package/dist/src/vite/appTokenFiles.js +433 -0
  516. package/dist/src/vite/appTokens.d.ts +23 -0
  517. package/dist/src/vite/appTokens.js +275 -0
  518. package/dist/src/vite/builtTexts.d.ts +10 -0
  519. package/dist/src/vite/builtTexts.js +59 -22
  520. package/dist/src/vite/catalogueConfig.d.ts +3 -1
  521. package/dist/src/vite/catalogueConfig.js +15 -3
  522. package/dist/src/vite/changeCoverage.d.ts +74 -0
  523. package/dist/src/vite/changeCoverage.js +120 -0
  524. package/dist/src/vite/changedRoute.d.ts +30 -0
  525. package/dist/src/vite/changedRoute.js +197 -0
  526. package/dist/src/vite/checkCode.d.ts +105 -3
  527. package/dist/src/vite/checkCode.js +323 -36
  528. package/dist/src/vite/checkoutWatch.d.ts +97 -0
  529. package/dist/src/vite/checkoutWatch.js +287 -0
  530. package/dist/src/vite/closeWatch.d.ts +8 -0
  531. package/dist/src/vite/closeWatch.js +1 -1
  532. package/dist/src/vite/componentCache.d.ts +8 -0
  533. package/dist/src/vite/componentCache.js +66 -0
  534. package/dist/src/vite/componentGraph.d.ts +71 -0
  535. package/dist/src/vite/componentGraph.js +133 -0
  536. package/dist/src/vite/componentRules.d.ts +33 -0
  537. package/dist/src/vite/componentRules.js +105 -0
  538. package/dist/src/vite/componentScan.d.ts +69 -0
  539. package/dist/src/vite/componentScan.js +418 -0
  540. package/dist/src/vite/compositionCheck.d.ts +15 -0
  541. package/dist/src/vite/compositionCheck.js +243 -0
  542. package/dist/src/vite/config.d.ts +32 -1
  543. package/dist/src/vite/configFile.d.ts +14 -2
  544. package/dist/src/vite/configFile.js +124 -40
  545. package/dist/src/vite/configKeys.d.ts +15 -0
  546. package/dist/src/vite/configKeys.js +171 -0
  547. package/dist/src/vite/configLoadError.d.ts +23 -0
  548. package/dist/src/vite/configLoadError.js +71 -0
  549. package/dist/src/vite/cssDeclarations.d.ts +71 -0
  550. package/dist/src/vite/cssDeclarations.js +290 -0
  551. package/dist/src/vite/cssImports.d.ts +14 -0
  552. package/dist/src/vite/cssImports.js +48 -0
  553. package/dist/src/vite/cssReferences.d.ts +54 -0
  554. package/dist/src/vite/cssReferences.js +157 -0
  555. package/dist/src/vite/cssTokenValues.d.ts +50 -0
  556. package/dist/src/vite/cssTokenValues.js +233 -0
  557. package/dist/src/vite/designTokens.d.ts +24 -0
  558. package/dist/src/vite/designTokens.js +5 -1
  559. package/dist/src/vite/docsExtractor.d.ts +9 -3
  560. package/dist/src/vite/docsExtractor.js +11 -3
  561. package/dist/src/vite/docsProgram.d.ts +17 -4
  562. package/dist/src/vite/docsProgram.js +52 -11
  563. package/dist/src/vite/docsWorker.js +7 -2
  564. package/dist/src/vite/emptyStoryGlobs.d.ts +41 -0
  565. package/dist/src/vite/emptyStoryGlobs.js +52 -0
  566. package/dist/src/vite/fileImports.d.ts +17 -0
  567. package/dist/src/vite/fileImports.js +57 -0
  568. package/dist/src/vite/findComponent.d.ts +10 -2
  569. package/dist/src/vite/findComponent.js +27 -22
  570. package/dist/src/vite/findRoute.js +3 -2
  571. package/dist/src/vite/forcedStates.d.ts +9 -2
  572. package/dist/src/vite/forcedStates.js +12 -3
  573. package/dist/src/vite/forgebookPlugin.d.ts +2 -0
  574. package/dist/src/vite/forgebookPlugin.js +52 -72
  575. package/dist/src/vite/frameErrors.d.ts +19 -0
  576. package/dist/src/vite/frameErrors.js +70 -0
  577. package/dist/src/vite/framesServer.d.ts +12 -0
  578. package/dist/src/vite/framesServer.js +21 -4
  579. package/dist/src/vite/functionComponentDocs.js +81 -12
  580. package/dist/src/vite/generatedModules.js +4 -2
  581. package/dist/src/vite/gitChange.d.ts +38 -5
  582. package/dist/src/vite/gitChange.js +71 -11
  583. package/dist/src/vite/hiddenStoryFiles.d.ts +23 -0
  584. package/dist/src/vite/hiddenStoryFiles.js +107 -0
  585. package/dist/src/vite/hotSnippets.d.ts +38 -14
  586. package/dist/src/vite/hotSnippets.js +137 -39
  587. package/dist/src/vite/importedNames.d.ts +37 -0
  588. package/dist/src/vite/importedNames.js +138 -0
  589. package/dist/src/vite/indexFields.d.ts +6 -0
  590. package/dist/src/vite/indexFields.js +21 -0
  591. package/dist/src/vite/indexStoryFile.d.ts +8 -1
  592. package/dist/src/vite/indexStoryFile.js +22 -157
  593. package/dist/src/vite/jsxCallSites.d.ts +33 -0
  594. package/dist/src/vite/jsxCallSites.js +200 -0
  595. package/dist/src/vite/jsxInScripts.d.ts +67 -0
  596. package/dist/src/vite/jsxInScripts.js +138 -0
  597. package/dist/src/vite/jsxTree.d.ts +20 -0
  598. package/dist/src/vite/jsxTree.js +163 -0
  599. package/dist/src/vite/lineAndColumn.d.ts +13 -0
  600. package/dist/src/vite/lineAndColumn.js +18 -0
  601. package/dist/src/vite/lookAlikes.d.ts +65 -0
  602. package/dist/src/vite/lookAlikes.js +228 -0
  603. package/dist/src/vite/nearestToken.d.ts +17 -0
  604. package/dist/src/vite/nearestToken.js +9 -2
  605. package/dist/src/vite/packageEntries.d.ts +42 -0
  606. package/dist/src/vite/packageEntries.js +127 -0
  607. package/dist/src/vite/pages.d.ts +9 -1
  608. package/dist/src/vite/pages.js +108 -4
  609. package/dist/src/vite/pluginConfig.js +4 -0
  610. package/dist/src/vite/pluginIds.d.ts +2 -0
  611. package/dist/src/vite/pluginIds.js +5 -1
  612. package/dist/src/vite/pluginModules.d.ts +81 -11
  613. package/dist/src/vite/pluginModules.js +109 -21
  614. package/dist/src/vite/prebundled.d.ts +57 -15
  615. package/dist/src/vite/prebundled.js +80 -0
  616. package/dist/src/vite/previewTags.d.ts +25 -0
  617. package/dist/src/vite/previewTags.js +56 -0
  618. package/dist/src/vite/projectFiles.d.ts +54 -0
  619. package/dist/src/vite/projectFiles.js +116 -0
  620. package/dist/src/vite/projectPostcss.d.ts +70 -0
  621. package/dist/src/vite/projectPostcss.js +250 -0
  622. package/dist/src/vite/propDocs.d.ts +12 -0
  623. package/dist/src/vite/propDocs.js +130 -58
  624. package/dist/src/vite/propKind.d.ts +40 -0
  625. package/dist/src/vite/propKind.js +71 -0
  626. package/dist/src/vite/propTypeNotes.d.ts +22 -0
  627. package/dist/src/vite/propTypeNotes.js +51 -0
  628. package/dist/src/vite/publishedExports.d.ts +27 -0
  629. package/dist/src/vite/publishedExports.js +298 -0
  630. package/dist/src/vite/realFolder.d.ts +6 -0
  631. package/dist/src/vite/realFolder.js +25 -0
  632. package/dist/src/vite/refsConfig.d.ts +39 -0
  633. package/dist/src/vite/refsConfig.js +54 -0
  634. package/dist/src/vite/reuseCheck.d.ts +45 -0
  635. package/dist/src/vite/reuseCheck.js +260 -0
  636. package/dist/src/vite/runningVersions.d.ts +33 -0
  637. package/dist/src/vite/runningVersions.js +25 -0
  638. package/dist/src/vite/scriptProblems.d.ts +60 -0
  639. package/dist/src/vite/scriptProblems.js +155 -0
  640. package/dist/src/vite/searchModule.js +3 -2
  641. package/dist/src/vite/searchRoute.js +4 -2
  642. package/dist/src/vite/shapeDocs.d.ts +36 -0
  643. package/dist/src/vite/shapeDocs.js +177 -0
  644. package/dist/src/vite/singleFileComponent.d.ts +17 -0
  645. package/dist/src/vite/singleFileComponent.js +83 -0
  646. package/dist/src/vite/sourceText.d.ts +34 -0
  647. package/dist/src/vite/sourceText.js +72 -0
  648. package/dist/src/vite/sourceTokens.d.ts +7 -0
  649. package/dist/src/vite/sourceTokens.js +7 -2
  650. package/dist/src/vite/stackLines.d.ts +49 -0
  651. package/dist/src/vite/stackLines.js +96 -0
  652. package/dist/src/vite/storyCode.d.ts +22 -7
  653. package/dist/src/vite/storyCode.js +263 -37
  654. package/dist/src/vite/storyCoverage.d.ts +48 -0
  655. package/dist/src/vite/storyCoverage.js +179 -0
  656. package/dist/src/vite/storyFilesModule.d.ts +48 -3
  657. package/dist/src/vite/storyFilesModule.js +105 -15
  658. package/dist/src/vite/storyPatterns.d.ts +31 -0
  659. package/dist/src/vite/storyPatterns.js +140 -5
  660. package/dist/src/vite/storyReach.d.ts +10 -2
  661. package/dist/src/vite/storyReach.js +15 -11
  662. package/dist/src/vite/storyTopLevel.d.ts +51 -0
  663. package/dist/src/vite/storyTopLevel.js +146 -0
  664. package/dist/src/vite/storylessRoutes.d.ts +4 -3
  665. package/dist/src/vite/storylessRoutes.js +210 -19
  666. package/dist/src/vite/switchValuesCheck.d.ts +19 -0
  667. package/dist/src/vite/switchValuesCheck.js +164 -0
  668. package/dist/src/vite/switchesDocument.d.ts +15 -0
  669. package/dist/src/vite/switchesDocument.js +47 -0
  670. package/dist/src/vite/tailwindConfigTokens.d.ts +41 -0
  671. package/dist/src/vite/tailwindConfigTokens.js +306 -0
  672. package/dist/src/vite/textImports.d.ts +15 -0
  673. package/dist/src/vite/textImports.js +58 -0
  674. package/dist/src/vite/textModules.d.ts +6 -5
  675. package/dist/src/vite/textModules.js +13 -8
  676. package/dist/src/vite/tokenAnswers.d.ts +6 -2
  677. package/dist/src/vite/tokenAnswers.js +11 -7
  678. package/dist/src/vite/typeParameters.d.ts +83 -0
  679. package/dist/src/vite/typeParameters.js +270 -0
  680. package/dist/src/vite/unionProps.d.ts +37 -0
  681. package/dist/src/vite/unionProps.js +121 -0
  682. package/dist/src/vite/unresolvedTokens.d.ts +20 -0
  683. package/dist/src/vite/unresolvedTokens.js +193 -0
  684. package/dist/src/vite/usageGraph.js +10 -52
  685. package/dist/src/vite/usageGuidance.d.ts +9 -2
  686. package/dist/src/vite/usageGuidance.js +36 -8
  687. package/dist/src/vite/usageImports.d.ts +35 -0
  688. package/dist/src/vite/usageImports.js +280 -0
  689. package/dist/src/vite/visibilityRoute.d.ts +16 -0
  690. package/dist/src/vite/visibilityRoute.js +320 -0
  691. package/dist/src/worstCase.d.ts +2 -0
  692. package/dist/src/worstCase.js +2 -0
  693. package/package.json +28 -8
@@ -9,13 +9,15 @@
9
9
  * into its own JSX; a story without JSX renders its meta's component. A component is known by the file that declares
10
10
  * it and its name there, so two imports of one component are one. The import graph holds the modules the rendered
11
11
  * components reach through the package's own imports, never a dependency's (`node_modules`): "used through" follows
12
- * those edges. A lowercase tag is an element (`<div>`), not a component. A component reached only through code the
12
+ * those edges, by what each import names: a name taken through a barrel counts for the file that declares it, or every
13
+ * file a barrel lists would look used (`usageImports.ts`). A lowercase tag is an element (`<div>`), not a component. A component reached only through code the
13
14
  * checker cannot follow (a computed lazy import, a component handed in as a prop) is not found.
14
15
  *
15
16
  * @module
16
17
  */
17
18
  import ts from "typescript-6";
18
19
  import { configurationOf, programFor } from "./docsProgram.js";
20
+ import { importsOf, textImportsOf } from "./usageImports.js";
19
21
  import { VITE_PATHS } from "./vitePaths.js";
20
22
  /**
21
23
  * The symbol a name stands for, through its imports and re-exports.
@@ -169,53 +171,6 @@ const fileUsage = (request, program) => {
169
171
  });
170
172
  return { storyFile: request.storyFile, ...(component === undefined ? {} : { component }), stories };
171
173
  };
172
- /**
173
- * The package's own modules a module imports or re-exports from, resolved as its program resolves them.
174
- *
175
- * @param source - the module.
176
- * @param program - its program.
177
- * @param cache - the program's resolution cache.
178
- */
179
- /**
180
- * Whether an import or an export takes types only (`import type`, `export type`, `import { type A }`).
181
- *
182
- * @param statement - the statement.
183
- */
184
- const isTypeOnly = (statement) => {
185
- if (ts.isExportDeclaration(statement))
186
- return statement.isTypeOnly;
187
- if (!ts.isImportDeclaration(statement))
188
- return false;
189
- const clause = statement.importClause;
190
- if (clause === undefined)
191
- return false;
192
- if (clause.isTypeOnly)
193
- return true;
194
- // `import { type A, type B }`: every name a type, and no default
195
- const bindings = clause.namedBindings;
196
- return (clause.name === undefined &&
197
- bindings !== undefined &&
198
- ts.isNamedImports(bindings) &&
199
- bindings.elements.length > 0 &&
200
- bindings.elements.every((element) => element.isTypeOnly));
201
- };
202
- const importsOf = (source, program, cache) => {
203
- const targets = [];
204
- for (const statement of source.statements) {
205
- const specifier = (ts.isImportDeclaration(statement) || ts.isExportDeclaration(statement)) &&
206
- statement.moduleSpecifier !== undefined &&
207
- ts.isStringLiteral(statement.moduleSpecifier)
208
- ? statement.moduleSpecifier.text
209
- : undefined;
210
- // a type renders nothing: a file that only takes types from another does not use its components
211
- if (specifier === undefined || isTypeOnly(statement))
212
- continue;
213
- const resolved = ts.resolveModuleName(specifier, source.fileName, program.getCompilerOptions(), ts.sys, cache).resolvedModule;
214
- if (resolved !== undefined && !resolved.isExternalLibraryImport)
215
- targets.push(resolved.resolvedFileName);
216
- }
217
- return targets;
218
- };
219
174
  /**
220
175
  * The import graph of the modules the given files reach, through the package's own imports.
221
176
  *
@@ -236,8 +191,9 @@ const reachedImports = (starts, programs) => {
236
191
  const program = programs.find((candidate) => candidate.getSourceFile(file) !== undefined);
237
192
  const source = program?.getSourceFile(file);
238
193
  const cache = program === undefined ? undefined : caches.get(program);
194
+ // a style sheet or a single-file component is in no program, and it still imports what it draws with
239
195
  const targets = program === undefined || source === undefined || cache === undefined
240
- ? []
196
+ ? textImportsOf(file, programs[0], programs[0] === undefined ? undefined : caches.get(programs[0]))
241
197
  : importsOf(source, program, cache);
242
198
  imports[file] = targets;
243
199
  queue.push(...targets);
@@ -245,7 +201,7 @@ const reachedImports = (starts, programs) => {
245
201
  return imports;
246
202
  };
247
203
  /**
248
- * The facts of the story files one configuration holds, read with that configuration's whole program.
204
+ * The facts of the story files one configuration holds, read with the program of what they all reach.
249
205
  *
250
206
  * @param group - the story files, in Vite's form, each held by the same configuration.
251
207
  * @returns the facts, or why a story file's program could not be read.
@@ -254,8 +210,8 @@ const groupGraph = (group) => {
254
210
  const files = [];
255
211
  const programs = new Set();
256
212
  for (const request of group) {
257
- // what every story of the configuration reaches: its whole program, built once
258
- const docsProgram = programFor(request.storyFile, { reach: "whole" });
213
+ // what every story of the configuration reaches, in one program built once
214
+ const docsProgram = programFor(request.storyFile, { reach: "stories" });
259
215
  if (typeof docsProgram === "string")
260
216
  return docsProgram;
261
217
  programs.add(docsProgram.program);
@@ -264,6 +220,8 @@ const groupGraph = (group) => {
264
220
  files.push(usage);
265
221
  }
266
222
  const starts = files.flatMap((file) => [
223
+ // what a story file imports itself runs with its stories: a single-file component, a sheet, a fixture
224
+ file.storyFile,
267
225
  ...(file.component === undefined ? [] : [file.component.file]),
268
226
  ...file.stories.flatMap((story) => story.renders.map((ref) => ref.file))
269
227
  ]);
@@ -1,10 +1,11 @@
1
1
  /**
2
2
  * When to use a component and when not, read from its TSDoc tags. Shared by the frameworks' docs modules: a framework
3
- * whose components have no symbol to carry a comment (a Vue single-file component) hands the tags it read itself.
3
+ * whose components have no symbol to carry a comment (a Vue single-file component) hands the tags it read itself. It holds
4
+ * only the compiler's types, so that what reads a whole project in a moment, from comments' text, does not load it.
4
5
  *
5
6
  * @module
6
7
  */
7
- import ts from "typescript-6";
8
+ import type ts from "typescript-6";
8
9
  import type { UsageGuidance } from "../componentDocs.ts";
9
10
  /** One TSDoc tag, read. */
10
11
  export type DocTag = {
@@ -22,6 +23,12 @@ export type DocTag = {
22
23
  export declare const guidanceOfTags: (tags: readonly DocTag[]) => {
23
24
  readonly guidance?: UsageGuidance;
24
25
  };
26
+ /**
27
+ * The tags of a documentation comment's text, each with the lines that follow it.
28
+ *
29
+ * @param comment - the comment, with or without its stars.
30
+ */
31
+ export declare const tagsOfComment: (comment: string) => DocTag[];
25
32
  /**
26
33
  * The field of a component's docs saying when to use it and when not, from its symbol's TSDoc.
27
34
  *
@@ -1,10 +1,5 @@
1
- /**
2
- * When to use a component and when not, read from its TSDoc tags. Shared by the frameworks' docs modules: a framework
3
- * whose components have no symbol to carry a comment (a Vue single-file component) hands the tags it read itself.
4
- *
5
- * @module
6
- */
7
- import ts from "typescript-6";
1
+ /** A tag at a word's start. */
2
+ const TAG = /(?:^|\s)@(\w+)/g;
8
3
  /**
9
4
  * The field of a component's docs saying when to use it and when not; none when its TSDoc says nothing, so most
10
5
  * components carry nothing.
@@ -33,6 +28,36 @@ export const guidanceOfTags = (tags) => {
33
28
  };
34
29
  return Object.keys(guidance).length === 0 ? {} : { guidance };
35
30
  };
31
+ /** A comment's text without its fenced examples: what an example shows is not said of this component. */
32
+ const withoutFences = (text) => {
33
+ const parts = text.split("```");
34
+ return parts.filter((_, index) => index % 2 === 0).join(" ");
35
+ };
36
+ /**
37
+ * The tags of a documentation comment's text, each with the lines that follow it.
38
+ *
39
+ * @param comment - the comment, with or without its stars.
40
+ */
41
+ export const tagsOfComment = (comment) => {
42
+ const plain = comment
43
+ .split("\n")
44
+ .map((line) => {
45
+ const text = line.trimEnd();
46
+ const open = text.replace(/^\s*\/?\*+\/?\s?/, "");
47
+ return open.endsWith("*/") ? open.slice(0, -2) : open;
48
+ })
49
+ .join(" ");
50
+ const shown = withoutFences(plain);
51
+ const found = [...shown.matchAll(TAG)];
52
+ return found.map((match, index) => ({
53
+ name: match[1] ?? "",
54
+ text: shown
55
+ .slice(match.index + match[0].length, found[index + 1]?.index ?? shown.length)
56
+ .split(/\s+/)
57
+ .join(" ")
58
+ .trim()
59
+ }));
60
+ };
36
61
  /**
37
62
  * The field of a component's docs saying when to use it and when not, from its symbol's TSDoc.
38
63
  *
@@ -41,5 +66,8 @@ export const guidanceOfTags = (tags) => {
41
66
  */
42
67
  export const guidanceOf = (symbol, checker) => guidanceOfTags(symbol.getJsDocTags(checker).map((tag) => ({
43
68
  name: tag.name,
44
- text: ts.displayPartsToString(tag.text).trim()
69
+ text: (tag.text ?? [])
70
+ .map((part) => part.text)
71
+ .join("")
72
+ .trim()
45
73
  })));
@@ -0,0 +1,35 @@
1
+ /**
2
+ * The edges of the import graph: what a module takes from the package's own modules, what a style sheet or a single-file
3
+ * component names in its text.
4
+ *
5
+ * @remarks
6
+ * An import counts for the file that declares each name it takes, not for the module it is written against: a barrel
7
+ * lists every component, so following it would make a story of one component reach all of them, and a new component
8
+ * would look verified for being exported. A name only an ambient declaration knows (a `.vue` shim) counts for the file its
9
+ * last re-export names, and a name from a dependency for nothing. A barrel is followed only for a namespace import or a
10
+ * side effect, and what it imports for its side effects (a global sheet) still runs when a name is taken through it. A
11
+ * module's own `export … from` stays an edge, for those cases. A relative import that resolves to nothing is kept as an edge to where it points: the file may
12
+ * have just been deleted, and the stories behind the edge are the ones that break. TypeScript does not resolve a style
13
+ * sheet or a single-file component, so their names are read from the text; an Angular component's `templateUrl` and
14
+ * `styleUrls` are found the same way.
15
+ *
16
+ * @module
17
+ */
18
+ import ts from "typescript-6";
19
+ /**
20
+ * The edges of a file no program holds, read from its text; a file that cannot be read has none.
21
+ *
22
+ * @param file - the file, absolute.
23
+ * @param program - a program whose rules resolve its imports.
24
+ * @param cache - that program's resolution cache.
25
+ */
26
+ export declare const textImportsOf: (file: string, program: ts.Program | undefined, cache: ts.ModuleResolutionCache | undefined) => string[];
27
+ /**
28
+ * The package's own modules a module imports or re-exports from, resolved as its program resolves them, with the assets
29
+ * and lazy modules its text names.
30
+ *
31
+ * @param source - the module.
32
+ * @param program - its program.
33
+ * @param cache - the program's resolution cache.
34
+ */
35
+ export declare const importsOf: (source: ts.SourceFile, program: ts.Program, cache: ts.ModuleResolutionCache) => string[];
@@ -0,0 +1,280 @@
1
+ /**
2
+ * The edges of the import graph: what a module takes from the package's own modules, what a style sheet or a single-file
3
+ * component names in its text.
4
+ *
5
+ * @remarks
6
+ * An import counts for the file that declares each name it takes, not for the module it is written against: a barrel
7
+ * lists every component, so following it would make a story of one component reach all of them, and a new component
8
+ * would look verified for being exported. A name only an ambient declaration knows (a `.vue` shim) counts for the file its
9
+ * last re-export names, and a name from a dependency for nothing. A barrel is followed only for a namespace import or a
10
+ * side effect, and what it imports for its side effects (a global sheet) still runs when a name is taken through it. A
11
+ * module's own `export … from` stays an edge, for those cases. A relative import that resolves to nothing is kept as an edge to where it points: the file may
12
+ * have just been deleted, and the stories behind the edge are the ones that break. TypeScript does not resolve a style
13
+ * sheet or a single-file component, so their names are read from the text; an Angular component's `templateUrl` and
14
+ * `styleUrls` are found the same way.
15
+ *
16
+ * @module
17
+ */
18
+ import ts from "typescript-6";
19
+ import { assetImports, sheetImports } from "./textImports.js";
20
+ import { VITE_PATHS } from "./vitePaths.js";
21
+ /** A dynamic import of a path written out: a lazy component is drawn as any other. */
22
+ const DYNAMIC_IMPORT = /\bimport\(\s*["'`]([^"'`\n$]+)["'`]\s*\)/g;
23
+ /** A static import in the script of a single-file component, whose text no program holds. */
24
+ const STATIC_IMPORT = /^[ \t]*(?:import|export)\s+(?:[^"';]{0,2000}?\sfrom\s+)?["']([^"']+)["']/gm;
25
+ /** A file whose imports are read from its text. */
26
+ const SINGLE_FILE_COMPONENT = /\.(?:vue|svelte|astro)$/;
27
+ /** A style sheet. */
28
+ const STYLE_SHEET = /\.(?:css|scss|sass|less)$/;
29
+ /** The file system as each resolution cache's resolutions read it, remembered for the cache's life. */
30
+ const HOSTS = new WeakMap();
31
+ /**
32
+ * The file system a resolution reads, with what it asked remembered as long as its cache lives: resolving every import
33
+ * of a library asks again and again whether the same candidate files and folders exist, each time a call to the disk.
34
+ *
35
+ * @param cache - the resolution cache, made for one graph.
36
+ */
37
+ const hostOf = (cache) => {
38
+ const known = HOSTS.get(cache);
39
+ if (known !== undefined)
40
+ return known;
41
+ const remembered = (read) => {
42
+ const answers = new Map();
43
+ return (path) => {
44
+ const answer = answers.get(path) ?? { value: read(path) };
45
+ answers.set(path, answer);
46
+ return answer.value;
47
+ };
48
+ };
49
+ const host = {
50
+ fileExists: remembered((path) => ts.sys.fileExists(path)),
51
+ readFile: remembered((path) => ts.sys.readFile(path)),
52
+ directoryExists: remembered((path) => ts.sys.directoryExists(path)),
53
+ realpath: remembered((path) => (ts.sys.realpath === undefined ? path : ts.sys.realpath(path))),
54
+ getCurrentDirectory: () => ts.sys.getCurrentDirectory(),
55
+ getDirectories: (path) => ts.sys.getDirectories(path)
56
+ };
57
+ HOSTS.set(cache, host);
58
+ return host;
59
+ };
60
+ /** Resolves a specifier as a program does, leaving out a dependency's files. */
61
+ const resolverOf = (program, cache) => {
62
+ return (specifier, containing) => {
63
+ const resolved = ts.resolveModuleName(specifier, containing, program.getCompilerOptions(), hostOf(cache), cache).resolvedModule;
64
+ return resolved === undefined || resolved.isExternalLibraryImport ? undefined : resolved.resolvedFileName;
65
+ };
66
+ };
67
+ /** Where a path alias of the program's configuration sends a name TypeScript cannot resolve: a sheet, a `.vue` file. */
68
+ const aliased = (specifier, options) => {
69
+ const configFile = options["configFilePath"];
70
+ const base = options.baseUrl ?? (typeof configFile === "string" ? VITE_PATHS.dirname(configFile) : undefined);
71
+ if (base === undefined)
72
+ return undefined;
73
+ for (const [pattern, targets] of Object.entries(options.paths ?? {})) {
74
+ const [prefix = "", suffix] = pattern.split("*");
75
+ const [target] = targets;
76
+ if (target === undefined || suffix === undefined)
77
+ continue;
78
+ if (specifier.startsWith(prefix) && specifier.endsWith(suffix))
79
+ return VITE_PATHS.resolve(base, target.split("*").join(specifier.slice(prefix.length, specifier.length - suffix.length)));
80
+ }
81
+ return undefined;
82
+ };
83
+ /** A specifier that resolves to nothing, as a path: where an alias sends it, or where a relative one points. */
84
+ const unresolvedTarget = (specifier, file, options) => {
85
+ const name = specifier.split("?")[0] ?? specifier;
86
+ if (name.startsWith("."))
87
+ return VITE_PATHS.join(VITE_PATHS.dirname(file), name);
88
+ return aliased(name, options);
89
+ };
90
+ /** The specifiers matched in a text, resolved; a relative one that resolves to nothing kept as where it points. */
91
+ const specifierTargets = (file, text, pattern, program, cache) => [...text.matchAll(pattern)].flatMap((match) => {
92
+ const specifier = match[1] ?? "";
93
+ const resolved = program === undefined || cache === undefined ? undefined : resolverOf(program, cache)(specifier, file);
94
+ if (resolved !== undefined)
95
+ return [resolved];
96
+ return [unresolvedTarget(specifier, file, program?.getCompilerOptions() ?? {}) ?? []].flat();
97
+ });
98
+ /**
99
+ * The edges of a file no program holds, read from its text; a file that cannot be read has none.
100
+ *
101
+ * @param file - the file, absolute.
102
+ * @param program - a program whose rules resolve its imports.
103
+ * @param cache - that program's resolution cache.
104
+ */
105
+ export const textImportsOf = (file, program, cache) => {
106
+ const text = ts.sys.readFile(file);
107
+ if (text === undefined)
108
+ return [];
109
+ if (STYLE_SHEET.test(file))
110
+ return sheetImports(file, text);
111
+ if (!SINGLE_FILE_COMPONENT.test(file))
112
+ return [];
113
+ return [
114
+ ...new Set([
115
+ ...assetImports(file, text),
116
+ ...specifierTargets(file, text, STATIC_IMPORT, program, cache),
117
+ ...specifierTargets(file, text, DYNAMIC_IMPORT, program, cache)
118
+ ])
119
+ ];
120
+ };
121
+ /**
122
+ * Whether an import or an export takes types only (`import type`, `export type`, `import { type A }`).
123
+ *
124
+ * @param statement - the statement.
125
+ */
126
+ const isTypeOnly = (statement) => {
127
+ if (ts.isExportDeclaration(statement))
128
+ return statement.isTypeOnly;
129
+ if (!ts.isImportDeclaration(statement))
130
+ return false;
131
+ const clause = statement.importClause;
132
+ if (clause === undefined)
133
+ return false;
134
+ if (clause.isTypeOnly)
135
+ return true;
136
+ // `import { type A, type B }`: every name a type, and no default
137
+ const bindings = clause.namedBindings;
138
+ return (clause.name === undefined &&
139
+ bindings !== undefined &&
140
+ ts.isNamedImports(bindings) &&
141
+ bindings.elements.length > 0 &&
142
+ bindings.elements.every((element) => element.isTypeOnly));
143
+ };
144
+ /** The import or export statement a declaration of a name belongs to, with its module's name. */
145
+ const moduleOfDeclaration = (declaration) => {
146
+ let node = declaration;
147
+ while (node !== undefined && !ts.isSourceFile(node)) {
148
+ if ((ts.isImportDeclaration(node) || ts.isExportDeclaration(node)) &&
149
+ node.moduleSpecifier !== undefined &&
150
+ ts.isStringLiteral(node.moduleSpecifier))
151
+ return node.moduleSpecifier;
152
+ node = node.parent;
153
+ }
154
+ return undefined;
155
+ };
156
+ /**
157
+ * The file an ambiently declared name comes from: the module named by the last import or re-export on its way, which is
158
+ * the only place that says which `.vue` file it is.
159
+ *
160
+ * @param name - the imported name.
161
+ * @param checker - its program's checker.
162
+ * @param options - its program's options.
163
+ */
164
+ const ambientOrigin = (name, checker, options) => {
165
+ let symbol = checker.getSymbolAtLocation(name);
166
+ let origin;
167
+ while (symbol !== undefined && (symbol.flags & ts.SymbolFlags.Alias) !== 0) {
168
+ const literal = moduleOfDeclaration(symbol.declarations?.[0]);
169
+ if (literal !== undefined)
170
+ origin = unresolvedTarget(literal.text, literal.getSourceFile().fileName, options) ?? origin;
171
+ symbol = checker.getImmediateAliasedSymbol(symbol);
172
+ }
173
+ return origin;
174
+ };
175
+ /**
176
+ * Where an imported name comes from: the file that declares it, nothing for a dependency's, or none when it cannot be told.
177
+ *
178
+ * @param name - the imported name.
179
+ * @param program - its program.
180
+ */
181
+ const nameOrigin = (name, program) => {
182
+ const checker = program.getTypeChecker();
183
+ const symbol = checker.getSymbolAtLocation(name);
184
+ const target = symbol !== undefined && (symbol.flags & ts.SymbolFlags.Alias) !== 0
185
+ ? checker.getAliasedSymbol(symbol)
186
+ : symbol;
187
+ const declaring = target?.declarations?.[0]?.getSourceFile();
188
+ if (declaring !== undefined && program.isSourceFileFromExternalLibrary(declaring))
189
+ return null;
190
+ if (declaring !== undefined && !declaring.isDeclarationFile)
191
+ return declaring.fileName;
192
+ return ambientOrigin(name, checker, program.getCompilerOptions());
193
+ };
194
+ /**
195
+ * The files that declare the names an import takes, or none when that cannot be told: a side effect, a namespace, a name
196
+ * with no known origin.
197
+ *
198
+ * @param statement - the import.
199
+ * @param program - its program.
200
+ */
201
+ const declaringFiles = (statement, program) => {
202
+ if (!ts.isImportDeclaration(statement))
203
+ return undefined;
204
+ const clause = statement.importClause;
205
+ const bindings = clause?.namedBindings;
206
+ if (clause === undefined || (bindings !== undefined && ts.isNamespaceImport(bindings)))
207
+ return undefined;
208
+ const names = [
209
+ ...(clause.name === undefined ? [] : [clause.name]),
210
+ ...(bindings === undefined || !ts.isNamedImports(bindings)
211
+ ? []
212
+ : bindings.elements.filter((element) => !element.isTypeOnly).map((element) => element.name))
213
+ ];
214
+ const found = names.map((name) => nameOrigin(name, program));
215
+ return found.includes(undefined) ? undefined : found.flatMap((file) => file ?? []);
216
+ };
217
+ /** The module a statement names, when it is an import or a re-export that takes more than types. */
218
+ const moduleNamed = (statement) => {
219
+ if (!ts.isImportDeclaration(statement) && !ts.isExportDeclaration(statement))
220
+ return undefined;
221
+ const literal = statement.moduleSpecifier;
222
+ // a type renders nothing: a file that only takes types from another does not use its components
223
+ if (literal === undefined || !ts.isStringLiteral(literal) || isTypeOnly(statement))
224
+ return undefined;
225
+ return literal.text;
226
+ };
227
+ /**
228
+ * What a module imports for its side effects alone: it runs whichever name is taken through it.
229
+ *
230
+ * @param file - the module, absolute.
231
+ * @param reading - its program.
232
+ */
233
+ const sideEffectTargets = (file, { program, cache }) => {
234
+ const source = program.getSourceFile(file);
235
+ if (source === undefined)
236
+ return [];
237
+ return source.statements.flatMap((statement) => ts.isImportDeclaration(statement) && statement.importClause === undefined
238
+ ? statementTargets(statement, { source, program, cache })
239
+ : []);
240
+ };
241
+ /**
242
+ * The files a statement of a module takes.
243
+ *
244
+ * @param statement - the statement.
245
+ * @param reading - its module and program.
246
+ */
247
+ const statementTargets = (statement, reading) => {
248
+ const { source, program, cache } = reading;
249
+ const specifier = moduleNamed(statement);
250
+ if (specifier === undefined)
251
+ return [];
252
+ const options = program.getCompilerOptions();
253
+ const resolved = ts.resolveModuleName(specifier, source.fileName, options, hostOf(cache), cache).resolvedModule;
254
+ if (resolved === undefined)
255
+ return [unresolvedTarget(specifier, source.fileName, options) ?? []].flat();
256
+ if (resolved.isExternalLibraryImport)
257
+ return [];
258
+ const declaring = declaringFiles(statement, program);
259
+ if (declaring === undefined)
260
+ return [resolved.resolvedFileName];
261
+ const through = declaring.includes(resolved.resolvedFileName)
262
+ ? []
263
+ : sideEffectTargets(resolved.resolvedFileName, reading);
264
+ return [...declaring, ...through];
265
+ };
266
+ /**
267
+ * The package's own modules a module imports or re-exports from, resolved as its program resolves them, with the assets
268
+ * and lazy modules its text names.
269
+ *
270
+ * @param source - the module.
271
+ * @param program - its program.
272
+ * @param cache - the program's resolution cache.
273
+ */
274
+ export const importsOf = (source, program, cache) => [
275
+ ...new Set([
276
+ ...source.statements.flatMap((statement) => statementTargets(statement, { source, program, cache })),
277
+ ...assetImports(source.fileName, source.text),
278
+ ...specifierTargets(source.fileName, source.text, DYNAMIC_IMPORT, program, cache)
279
+ ])
280
+ ];
@@ -0,0 +1,16 @@
1
+ import { type AgentAnswer, type RouteContext } from "./agentRoutes.ts";
2
+ import { type PublishedFile } from "./publishedExports.ts";
3
+ /**
4
+ * The published files a change holds to the check: those it edits, and those it starts publishing or names anew.
5
+ *
6
+ * @param now - what is published now.
7
+ * @param changed - the files it changes, in the catalogue's form.
8
+ * @param readBefore - what the change's start published; read only when an entry or a barrel changed.
9
+ */
10
+ export declare const filesOfChange: (now: readonly PublishedFile[], changed: readonly string[], readBefore: () => Promise<readonly PublishedFile[]>) => Promise<readonly PublishedFile[]>;
11
+ /**
12
+ * What agents cannot see.
13
+ *
14
+ * @param context - what the routes read.
15
+ */
16
+ export declare const visibilityAnswer: (context: RouteContext) => Promise<AgentAnswer>;