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.
- package/README.md +906 -23
- package/dist/bin/forgebook/agentClient.d.ts +30 -1
- package/dist/bin/forgebook/agentClient.js +155 -14
- package/dist/bin/forgebook/agentLoopCommands.d.mts +0 -1
- package/dist/bin/forgebook/agentLoopCommands.mjs +161 -40
- package/dist/bin/forgebook/agentText.d.ts +74 -3
- package/dist/bin/forgebook/agentText.js +192 -8
- package/dist/bin/forgebook/agents.md +145 -7
- package/dist/bin/forgebook/agentsText.d.ts +7 -3
- package/dist/bin/forgebook/agentsText.js +7 -3
- package/dist/bin/forgebook/builtCatalogue.d.ts +31 -0
- package/dist/bin/forgebook/builtCatalogue.js +96 -0
- package/dist/bin/forgebook/catalogueCommands.d.ts +22 -3
- package/dist/bin/forgebook/catalogueCommands.js +21 -2
- package/dist/bin/forgebook/catalogueVite.d.ts +51 -9
- package/dist/bin/forgebook/catalogueVite.js +95 -9
- package/dist/bin/forgebook/checkCodeRun.d.ts +8 -0
- package/dist/bin/forgebook/checkCodeRun.js +27 -0
- package/dist/bin/forgebook/commandServer.d.ts +11 -0
- package/dist/bin/forgebook/commandServer.js +39 -0
- package/dist/bin/forgebook/compileCache.d.ts +7 -0
- package/dist/bin/forgebook/compileCache.js +24 -0
- package/dist/bin/forgebook/devCommands.d.mts +14 -0
- package/dist/bin/forgebook/devCommands.mjs +104 -0
- package/dist/bin/forgebook/errorsRun.d.ts +0 -1
- package/dist/bin/forgebook/errorsRun.js +0 -1
- package/dist/bin/forgebook/forgebook.d.mts +0 -1
- package/dist/bin/forgebook/forgebook.mjs +18 -302
- package/dist/bin/forgebook/forgebookCommands.d.mts +1 -0
- package/dist/bin/forgebook/forgebookCommands.mjs +292 -0
- package/dist/bin/forgebook/importers/storybook.d.ts +10 -4
- package/dist/bin/forgebook/importers/storybook.js +71 -45
- package/dist/bin/forgebook/importers/storybookAngular.d.ts +15 -0
- package/dist/bin/forgebook/importers/storybookAngular.js +97 -0
- package/dist/bin/forgebook/importers/storybookFrameworks.d.ts +53 -0
- package/dist/bin/forgebook/importers/storybookFrameworks.js +180 -0
- package/dist/bin/forgebook/importers/storybookReactNative.d.ts +40 -0
- package/dist/bin/forgebook/importers/storybookReactNative.js +179 -0
- package/dist/bin/forgebook/initCommands.d.mts +0 -1
- package/dist/bin/forgebook/initCommands.mjs +23 -12
- package/dist/bin/forgebook/initConfig.d.ts +0 -1
- package/dist/bin/forgebook/initConfig.js +17 -3
- package/dist/bin/forgebook/mcpCommand.d.mts +8 -0
- package/dist/bin/forgebook/mcpCommand.mjs +99 -0
- package/dist/bin/forgebook/mcpPreview.d.ts +32 -0
- package/dist/bin/forgebook/mcpPreview.js +107 -0
- package/dist/bin/forgebook/mcpToolParts.d.ts +28 -0
- package/dist/bin/forgebook/mcpToolParts.js +24 -0
- package/dist/bin/forgebook/mcpTools.d.ts +12 -6
- package/dist/bin/forgebook/mcpTools.js +148 -27
- package/dist/bin/forgebook/newStories.d.ts +2 -3
- package/dist/bin/forgebook/newStories.js +4 -3
- package/dist/bin/forgebook/newStoriesFile.d.ts +3 -4
- package/dist/bin/forgebook/newStoriesFile.js +23 -11
- package/dist/bin/forgebook/pageTools.d.ts +8 -0
- package/dist/bin/forgebook/pageTools.js +71 -0
- package/dist/bin/forgebook/pagesCommands.d.mts +14 -0
- package/dist/bin/forgebook/pagesCommands.mjs +109 -0
- package/dist/bin/forgebook/prebundleChild.d.ts +1 -0
- package/dist/bin/forgebook/prebundleChild.js +34 -0
- package/dist/bin/forgebook/prebundleRun.d.ts +22 -0
- package/dist/bin/forgebook/prebundleRun.js +49 -0
- package/dist/bin/forgebook/prebundleStart.d.ts +44 -0
- package/dist/bin/forgebook/prebundleStart.js +82 -0
- package/dist/bin/forgebook/semanticOptions.d.ts +45 -0
- package/dist/bin/forgebook/semanticOptions.js +36 -0
- package/dist/bin/forgebook/storyCheckCommands.d.mts +13 -0
- package/dist/bin/forgebook/storyCheckCommands.mjs +69 -0
- package/dist/bin/forgebook/storyCheckRun.d.ts +40 -6
- package/dist/bin/forgebook/storyCheckRun.js +90 -16
- package/dist/bin/forgebook/tokensRun.d.ts +41 -0
- package/dist/bin/forgebook/tokensRun.js +42 -0
- package/dist/bin/forgebook/touchWindowRun.d.ts +0 -1
- package/dist/bin/forgebook/touchWindowRun.js +0 -1
- package/dist/bin/forgebook/visualCommands.d.mts +37 -0
- package/dist/bin/forgebook/visualCommands.mjs +162 -0
- package/dist/bin/forgebook/viteCache.d.ts +48 -0
- package/dist/bin/forgebook/viteCache.js +112 -0
- package/dist/bin/forgebook-docs/catalogueDocs.d.ts +1 -2
- package/dist/bin/forgebook-docs/catalogueDocs.js +8 -5
- package/dist/bin/forgebook-docs/catalogueDocs.types.d.ts +24 -3
- package/dist/bin/forgebook-docs/catalogueDocs.types.js +0 -1
- package/dist/bin/forgebook-docs/catalogueMarkdown.d.ts +0 -1
- package/dist/bin/forgebook-docs/catalogueMarkdown.js +88 -24
- package/dist/bin/forgebook-docs/catalogueOptions.d.ts +1 -2
- package/dist/bin/forgebook-docs/catalogueOptions.js +8 -2
- package/dist/bin/forgebook-docs/collectDocs.d.ts +4 -4
- package/dist/bin/forgebook-docs/collectDocs.js +128 -29
- package/dist/bin/forgebook-docs/forgebook-docs.d.mts +0 -1
- package/dist/bin/forgebook-docs/forgebook-docs.mjs +0 -1
- package/dist/bin/forgebook-docs/llmsText.d.ts +5 -1
- package/dist/bin/forgebook-docs/llmsText.js +5 -2
- package/dist/bin/forgebook-docs/moduleDocs.d.ts +0 -1
- package/dist/bin/forgebook-docs/moduleDocs.js +0 -1
- package/dist/bin/forgebook-docs/sassDocs.d.ts +0 -1
- package/dist/bin/forgebook-docs/sassDocs.js +0 -1
- package/dist/bin/forgebook-texts/forgebook-texts.d.mts +0 -1
- package/dist/bin/forgebook-texts/forgebook-texts.mjs +1 -2
- package/dist/bin/forgebook-texts/storyTextsReport.d.ts +0 -1
- package/dist/bin/forgebook-texts/storyTextsReport.js +0 -1
- package/dist/bin/forgebook-texts/storyTextsReport.types.d.ts +0 -1
- package/dist/bin/forgebook-texts/storyTextsReport.types.js +0 -1
- package/dist/bin/frameworkDocs.d.ts +0 -1
- package/dist/bin/frameworkDocs.js +0 -1
- package/dist/src/a11y.d.ts +0 -1
- package/dist/src/a11y.js +0 -1
- package/dist/src/addressArgs.d.ts +74 -0
- package/dist/src/addressArgs.js +109 -0
- package/dist/src/addressTexts.d.ts +35 -0
- package/dist/src/addressTexts.js +51 -0
- package/dist/src/argTypes.d.ts +0 -1
- package/dist/src/argTypes.js +2 -2
- package/dist/src/audiences.d.ts +17 -0
- package/dist/src/audiences.js +15 -0
- package/dist/src/backdrops.d.ts +39 -40
- package/dist/src/backdrops.js +37 -174
- package/dist/src/catalogue.d.ts +57 -21
- package/dist/src/catalogue.js +34 -15
- package/dist/src/codeLiteral.d.ts +41 -0
- package/dist/src/codeLiteral.js +51 -0
- package/dist/src/componentDocs.d.ts +86 -1
- package/dist/src/componentDocs.js +33 -3
- package/dist/src/controlKeys.d.ts +0 -1
- package/dist/src/controlKeys.js +2 -2
- package/dist/src/deviceDrawing.d.ts +114 -0
- package/dist/src/deviceDrawing.js +358 -0
- package/dist/src/deviceMenuView.d.ts +17 -0
- package/dist/src/deviceMenuView.js +22 -0
- package/dist/src/devicePicture.d.ts +57 -0
- package/dist/src/devicePicture.js +104 -0
- package/dist/src/deviceView.d.ts +172 -0
- package/dist/src/deviceView.js +111 -0
- package/dist/src/devices.d.ts +115 -0
- package/dist/src/devices.js +135 -0
- package/dist/src/docAnchors.d.ts +27 -0
- package/dist/src/docAnchors.js +33 -0
- package/dist/src/docPages.d.ts +203 -0
- package/dist/src/docPages.js +169 -0
- package/dist/src/embed.d.ts +32 -0
- package/dist/src/embed.js +24 -0
- package/dist/src/embedCode.d.ts +31 -0
- package/dist/src/embedCode.js +88 -0
- package/dist/src/frame/backdropPictures.d.ts +29 -0
- package/dist/src/frame/backdropPictures.js +187 -0
- package/dist/src/frame/checkStory.d.ts +6 -3
- package/dist/src/frame/checkStory.js +76 -5
- package/dist/src/frame/followTouch.d.ts +9 -0
- package/dist/src/frame/followTouch.js +43 -0
- package/dist/src/frame/frame.css +8 -3
- package/dist/src/frame/frameClock.d.ts +0 -1
- package/dist/src/frame/frameClock.js +0 -1
- package/dist/src/frame/frameStatus.d.ts +2 -1
- package/dist/src/frame/frameStatus.js +2 -1
- package/dist/src/frame/frameView.d.ts +0 -1
- package/dist/src/frame/frameView.js +1 -2
- package/dist/src/frame/matrixLayout.d.ts +0 -1
- package/dist/src/frame/matrixLayout.js +0 -1
- package/dist/src/frame/measureTools.d.ts +0 -1
- package/dist/src/frame/measureTools.js +0 -1
- package/dist/src/frame/mountFrame.d.ts +10 -3
- package/dist/src/frame/mountFrame.js +162 -63
- package/dist/src/frame/playStory.d.ts +0 -1
- package/dist/src/frame/playStory.js +0 -1
- package/dist/src/frame/pluginFrames.d.ts +31 -0
- package/dist/src/frame/pluginFrames.js +23 -0
- package/dist/src/frame/renderer.d.ts +50 -12
- package/dist/src/frame/renderer.js +27 -6
- package/dist/src/frame/settle.d.ts +0 -1
- package/dist/src/frame/settle.js +0 -1
- package/dist/src/frame/shellChannel.d.ts +47 -0
- package/dist/src/frame/shellChannel.js +39 -0
- package/dist/src/frame/spillOutline.d.ts +0 -1
- package/dist/src/frame/spillOutline.js +0 -1
- package/dist/src/frame/staleModule.d.ts +14 -2
- package/dist/src/frame/staleModule.js +19 -2
- package/dist/src/frame/storyCanvas.d.ts +0 -1
- package/dist/src/frame/storyCanvas.js +0 -1
- package/dist/src/frame/storyHooks.d.ts +0 -1
- package/dist/src/frame/storyHooks.js +0 -1
- package/dist/src/frame/storyModule.d.ts +13 -2
- package/dist/src/frame/storyModule.js +45 -3
- package/dist/src/frame/storyRun.d.ts +21 -4
- package/dist/src/frame/storyRun.js +100 -19
- package/dist/src/frame/touchDots.d.ts +0 -1
- package/dist/src/frame/touchDots.js +0 -1
- package/dist/src/frame/touchEvents.d.ts +0 -1
- package/dist/src/frame/touchEvents.js +0 -1
- package/dist/src/frame/touchGesture.d.ts +0 -1
- package/dist/src/frame/touchGesture.js +0 -1
- package/dist/src/frame/touchLayer.d.ts +3 -3
- package/dist/src/frame/touchLayer.js +4 -30
- package/dist/src/frame/touchScroll.d.ts +0 -1
- package/dist/src/frame/touchScroll.js +0 -1
- package/dist/src/frameOrigins.d.ts +62 -0
- package/dist/src/frameOrigins.js +49 -0
- package/dist/src/hotModules.d.ts +48 -0
- package/dist/src/hotModules.js +53 -0
- package/dist/src/jsxCode.d.ts +22 -0
- package/dist/src/jsxCode.js +36 -0
- package/dist/src/languages.d.ts +0 -1
- package/dist/src/languages.js +0 -1
- package/dist/src/liveErrors.d.ts +0 -1
- package/dist/src/liveErrors.js +0 -1
- package/dist/src/matrix.d.ts +0 -1
- package/dist/src/matrix.js +0 -1
- package/dist/src/messages.d.ts +28 -2
- package/dist/src/messages.js +24 -3
- package/dist/src/namedValues.d.ts +11 -1
- package/dist/src/namedValues.js +25 -2
- package/dist/src/namedViews.d.ts +1 -13
- package/dist/src/namedViews.js +30 -7
- package/dist/src/packedText.d.ts +21 -0
- package/dist/src/packedText.js +36 -0
- package/dist/src/pageAddress.d.ts +26 -0
- package/dist/src/pageAddress.js +39 -0
- package/dist/src/pageConfig.d.ts +3 -1
- package/dist/src/pageConfig.js +0 -1
- package/dist/src/pageTree.d.ts +79 -0
- package/dist/src/pageTree.js +108 -0
- package/dist/src/playTrace.d.ts +0 -1
- package/dist/src/playTrace.js +0 -1
- package/dist/src/plugin.d.ts +230 -0
- package/dist/src/plugin.js +12 -0
- package/dist/src/pluginReact.d.ts +23 -0
- package/dist/src/pluginReact.js +24 -0
- package/dist/src/previewRelay.d.ts +40 -0
- package/dist/src/previewRelay.js +69 -0
- package/dist/src/previewTexts.d.ts +26 -0
- package/dist/src/previewTexts.js +33 -0
- package/dist/src/previewView.d.ts +31 -0
- package/dist/src/previewView.js +264 -0
- package/dist/src/propGroups.d.ts +46 -0
- package/dist/src/propGroups.js +59 -0
- package/dist/src/realTouch.d.ts +1 -2
- package/dist/src/realTouch.js +1 -2
- package/dist/src/safeAreaParameter.d.ts +42 -0
- package/dist/src/safeAreaParameter.js +50 -0
- package/dist/src/search.d.ts +154 -0
- package/dist/src/search.js +265 -0
- package/dist/src/searchIndex.d.ts +61 -0
- package/dist/src/searchIndex.js +55 -0
- package/dist/src/searchMarks.d.ts +29 -0
- package/dist/src/searchMarks.js +165 -0
- package/dist/src/searchMatch.d.ts +58 -0
- package/dist/src/searchMatch.js +127 -0
- package/dist/src/shell/A11yTab.d.ts +0 -7
- package/dist/src/shell/A11yTab.js +4 -15
- package/dist/src/shell/AnchorScroll.d.ts +25 -0
- package/dist/src/shell/AnchorScroll.js +10 -0
- package/dist/src/shell/ApiReference.d.ts +12 -4
- package/dist/src/shell/ApiReference.js +74 -19
- package/dist/src/shell/AppearanceMenu.d.ts +1 -2
- package/dist/src/shell/AppearanceMenu.js +8 -5
- package/dist/src/shell/AudienceSections.d.ts +106 -0
- package/dist/src/shell/AudienceSections.js +154 -0
- package/dist/src/shell/AuthoredHome.d.ts +37 -0
- package/dist/src/shell/AuthoredHome.js +96 -0
- package/dist/src/shell/BoxWidth.d.ts +0 -1
- package/dist/src/shell/BoxWidth.js +0 -1
- package/dist/src/shell/ClockBar.d.ts +19 -0
- package/dist/src/shell/ClockBar.js +15 -0
- package/dist/src/shell/ClockControls.d.ts +5 -9
- package/dist/src/shell/ClockControls.js +13 -16
- package/dist/src/shell/Code.d.ts +0 -1
- package/dist/src/shell/Code.js +0 -1
- package/dist/src/shell/CodeTab.d.ts +0 -1
- package/dist/src/shell/CodeTab.js +2 -2
- package/dist/src/shell/CodeText.d.ts +0 -1
- package/dist/src/shell/CodeText.js +0 -1
- package/dist/src/shell/CompareGrid.d.ts +37 -0
- package/dist/src/shell/CompareGrid.js +24 -0
- package/dist/src/shell/ComponentPage.d.ts +45 -7
- package/dist/src/shell/ComponentPage.js +107 -49
- package/dist/src/shell/ControlKeyField.d.ts +0 -1
- package/dist/src/shell/ControlKeyField.js +3 -4
- package/dist/src/shell/ControlRow.d.ts +4 -4
- package/dist/src/shell/ControlRow.js +5 -5
- package/dist/src/shell/DeviceControl.d.ts +31 -0
- package/dist/src/shell/DeviceControl.js +33 -0
- package/dist/src/shell/DeviceSlot.d.ts +114 -0
- package/dist/src/shell/DeviceSlot.js +134 -0
- package/dist/src/shell/DocBlocks.d.ts +100 -0
- package/dist/src/shell/DocBlocks.js +206 -0
- package/dist/src/shell/DocContainers.d.ts +70 -0
- package/dist/src/shell/DocContainers.js +94 -0
- package/dist/src/shell/DocContents.d.ts +29 -0
- package/dist/src/shell/DocContents.js +88 -0
- package/dist/src/shell/DocPage.d.ts +69 -0
- package/dist/src/shell/DocPage.js +141 -0
- package/dist/src/shell/Dock.d.ts +1 -2
- package/dist/src/shell/Dock.js +1 -2
- package/dist/src/shell/DroppedArgsList.d.ts +26 -0
- package/dist/src/shell/DroppedArgsList.js +8 -0
- package/dist/src/shell/DroppedArgsNote.d.ts +14 -0
- package/dist/src/shell/DroppedArgsNote.js +10 -0
- package/dist/src/shell/EmbedButton.d.ts +19 -0
- package/dist/src/shell/EmbedButton.js +96 -0
- package/dist/src/shell/EmbedPage.d.ts +23 -0
- package/dist/src/shell/EmbedPage.js +168 -0
- package/dist/src/shell/EmbedPanel.d.ts +25 -0
- package/dist/src/shell/EmbedPanel.js +46 -0
- package/dist/src/shell/EventsTab.d.ts +0 -1
- package/dist/src/shell/EventsTab.js +2 -3
- package/dist/src/shell/Example.d.ts +20 -2
- package/dist/src/shell/Example.js +75 -22
- package/dist/src/shell/FrameView.d.ts +1 -2
- package/dist/src/shell/FrameView.js +4 -4
- package/dist/src/shell/HomePage.d.ts +78 -4
- package/dist/src/shell/HomePage.js +53 -14
- package/dist/src/shell/HomePieces.d.ts +40 -0
- package/dist/src/shell/HomePieces.js +29 -0
- package/dist/src/shell/InfoTip.d.ts +0 -1
- package/dist/src/shell/InfoTip.js +0 -1
- package/dist/src/shell/InteractionsTab.d.ts +0 -7
- package/dist/src/shell/InteractionsTab.js +3 -9
- package/dist/src/shell/LazyHost.d.ts +16 -0
- package/dist/src/shell/LazyHost.js +42 -0
- package/dist/src/shell/LazyPage.d.ts +24 -0
- package/dist/src/shell/LazyPage.js +9 -0
- package/dist/src/shell/LogicMark.d.ts +9 -0
- package/dist/src/shell/LogicMark.js +5 -0
- package/dist/src/shell/MatrixPicker.d.ts +0 -1
- package/dist/src/shell/MatrixPicker.js +0 -1
- package/dist/src/shell/NamedViews.d.ts +0 -1
- package/dist/src/shell/NamedViews.js +4 -5
- package/dist/src/shell/PackageHtml.d.ts +0 -1
- package/dist/src/shell/PackageHtml.js +0 -1
- package/dist/src/shell/PartsTab.d.ts +0 -7
- package/dist/src/shell/PartsTab.js +3 -13
- package/dist/src/shell/PinnedControl.d.ts +0 -1
- package/dist/src/shell/PinnedControl.js +2 -2
- package/dist/src/shell/PluginBlockHost.d.ts +46 -0
- package/dist/src/shell/PluginBlockHost.js +39 -0
- package/dist/src/shell/PluginTabHost.d.ts +32 -0
- package/dist/src/shell/PluginTabHost.js +25 -0
- package/dist/src/shell/PluginViewHost.d.ts +37 -0
- package/dist/src/shell/PluginViewHost.js +89 -0
- package/dist/src/shell/PropFields.d.ts +0 -1
- package/dist/src/shell/PropFields.js +0 -1
- package/dist/src/shell/PropsTab.d.ts +11 -2
- package/dist/src/shell/PropsTab.js +31 -5
- package/dist/src/shell/SearchPanel.d.ts +63 -0
- package/dist/src/shell/SearchPanel.js +209 -0
- package/dist/src/shell/Segmented.d.ts +0 -1
- package/dist/src/shell/Segmented.js +0 -1
- package/dist/src/shell/Shell.d.ts +34 -6
- package/dist/src/shell/Shell.js +292 -84
- package/dist/src/shell/Sidebar.d.ts +20 -5
- package/dist/src/shell/Sidebar.js +23 -56
- package/dist/src/shell/SidebarDocs.d.ts +38 -0
- package/dist/src/shell/SidebarDocs.js +30 -0
- package/dist/src/shell/SidebarEntries.d.ts +10 -2
- package/dist/src/shell/SidebarEntries.js +3 -3
- package/dist/src/shell/SidebarHandle.d.ts +0 -1
- package/dist/src/shell/SidebarHandle.js +0 -1
- package/dist/src/shell/SidebarSearch.d.ts +40 -0
- package/dist/src/shell/SidebarSearch.js +85 -0
- package/dist/src/shell/SignatureReference.d.ts +25 -0
- package/dist/src/shell/SignatureReference.js +25 -0
- package/dist/src/shell/Stage.d.ts +9 -4
- package/dist/src/shell/Stage.js +121 -60
- package/dist/src/shell/StageCompare.d.ts +14 -0
- package/dist/src/shell/StageCompare.js +11 -0
- package/dist/src/shell/StageTools.d.ts +0 -1
- package/dist/src/shell/StageTools.js +0 -1
- package/dist/src/shell/StageViewport.d.ts +7 -3
- package/dist/src/shell/StageViewport.js +4 -5
- package/dist/src/shell/StoryBar.d.ts +40 -0
- package/dist/src/shell/StoryBar.js +23 -0
- package/dist/src/shell/StoryCodeBlock.d.ts +1 -2
- package/dist/src/shell/StoryCodeBlock.js +0 -1
- package/dist/src/shell/StoryCoverage.d.ts +36 -0
- package/dist/src/shell/StoryCoverage.js +126 -0
- package/dist/src/shell/StoryPicker.d.ts +0 -1
- package/dist/src/shell/StoryPicker.js +0 -1
- package/dist/src/shell/Toolbar.d.ts +9 -3
- package/dist/src/shell/Toolbar.js +12 -7
- package/dist/src/shell/ToolbarControl.d.ts +6 -8
- package/dist/src/shell/ToolbarControl.js +28 -20
- package/dist/src/shell/UsedIn.d.ts +5 -6
- package/dist/src/shell/UsedIn.js +7 -20
- package/dist/src/shell/ViewMenu.d.ts +7 -7
- package/dist/src/shell/ViewMenu.js +61 -176
- package/dist/src/shell/ViewMenuPanel.d.ts +41 -0
- package/dist/src/shell/ViewMenuPanel.js +199 -0
- package/dist/src/shell/WidthField.d.ts +3 -2
- package/dist/src/shell/WidthField.js +2 -3
- package/dist/src/shell/asideStory.d.ts +34 -0
- package/dist/src/shell/asideStory.js +55 -0
- package/dist/src/shell/audienceLayout.d.ts +39 -0
- package/dist/src/shell/audienceLayout.js +33 -0
- package/dist/src/shell/audiencePage.d.ts +113 -0
- package/dist/src/shell/audiencePage.js +144 -0
- package/dist/src/shell/audienceSections.css +95 -0
- package/dist/src/shell/catalogueContext.d.ts +24 -2
- package/dist/src/shell/catalogueContext.js +12 -9
- package/dist/src/shell/codeTokens.d.ts +0 -1
- package/dist/src/shell/codeTokens.js +0 -1
- package/dist/src/shell/codeWriter.d.ts +0 -1
- package/dist/src/shell/codeWriter.js +0 -1
- package/dist/src/shell/compareVariants.d.ts +3 -3
- package/dist/src/shell/compareVariants.js +6 -5
- package/dist/src/shell/controlCycle.d.ts +0 -1
- package/dist/src/shell/controlCycle.js +13 -1
- package/dist/src/shell/controlLabel.d.ts +7 -0
- package/dist/src/shell/controlLabel.js +17 -0
- package/dist/src/shell/device/deviceFrame.css +42 -0
- package/dist/src/shell/device/deviceParts.d.ts +90 -0
- package/dist/src/shell/device/deviceParts.js +120 -0
- package/dist/src/shell/docPage.css +451 -0
- package/dist/src/shell/dockTabs.d.ts +15 -4
- package/dist/src/shell/dockTabs.js +69 -26
- package/dist/src/shell/embed.css +74 -0
- package/dist/src/shell/filesCode.d.ts +21 -0
- package/dist/src/shell/filesCode.js +37 -0
- package/dist/src/shell/forgebookMark.d.ts +15 -0
- package/dist/src/shell/forgebookMark.js +28 -0
- package/dist/src/shell/framesOrigin.d.ts +23 -0
- package/dist/src/shell/framesOrigin.js +69 -0
- package/dist/src/shell/icons.d.ts +4 -1
- package/dist/src/shell/icons.js +4 -1
- package/dist/src/shell/keyboard.d.ts +0 -1
- package/dist/src/shell/keyboard.js +0 -1
- package/dist/src/shell/laterStrings.d.ts +91 -0
- package/dist/src/shell/laterStrings.js +102 -0
- package/dist/src/shell/lazyModule.d.ts +49 -0
- package/dist/src/shell/lazyModule.js +72 -0
- package/dist/src/shell/lazyTab.d.ts +21 -0
- package/dist/src/shell/lazyTab.js +9 -0
- package/dist/src/shell/logicView.d.ts +24 -0
- package/dist/src/shell/logicView.js +39 -0
- package/dist/src/shell/mountShell.d.ts +5 -3
- package/dist/src/shell/mountShell.js +43 -12
- package/dist/src/shell/pageStrings.d.ts +24 -0
- package/dist/src/shell/pageStrings.js +26 -0
- package/dist/src/shell/pluginHosts.d.ts +9 -0
- package/dist/src/shell/pluginHosts.js +6 -0
- package/dist/src/shell/pluginHostsContext.d.ts +20 -0
- package/dist/src/shell/pluginHostsContext.js +16 -0
- package/dist/src/shell/pluginTabs.d.ts +63 -0
- package/dist/src/shell/pluginTabs.js +60 -0
- package/dist/src/shell/search.css +172 -0
- package/dist/src/shell/searchStrings.d.ts +24 -0
- package/dist/src/shell/searchStrings.js +31 -0
- package/dist/src/shell/shell.css +310 -136
- package/dist/src/shell/shellScheme.d.ts +37 -0
- package/dist/src/shell/shellScheme.js +32 -0
- package/dist/src/shell/storyTouch.d.ts +19 -6
- package/dist/src/shell/storyTouch.js +26 -4
- package/dist/src/shell/strings.d.ts +62 -80
- package/dist/src/shell/strings.js +60 -79
- package/dist/src/shell/switchView.d.ts +0 -1
- package/dist/src/shell/switchView.js +0 -1
- package/dist/src/shell/tabSummaries.d.ts +31 -0
- package/dist/src/shell/tabSummaries.js +27 -0
- package/dist/src/shell/treeSearch.d.ts +39 -3
- package/dist/src/shell/treeSearch.js +27 -1
- package/dist/src/shell/useAddressArgs.d.ts +55 -0
- package/dist/src/shell/useAddressArgs.js +62 -0
- package/dist/src/shell/useAnchorScroll.d.ts +24 -0
- package/dist/src/shell/useAnchorScroll.js +90 -0
- package/dist/src/shell/useAppearance.d.ts +7 -2
- package/dist/src/shell/useAppearance.js +14 -5
- package/dist/src/shell/useComponentDocs.d.ts +0 -1
- package/dist/src/shell/useComponentDocs.js +0 -1
- package/dist/src/shell/useControlKeys.d.ts +2 -1
- package/dist/src/shell/useControlKeys.js +2 -3
- package/dist/src/shell/useCopy.d.ts +2 -1
- package/dist/src/shell/useCopy.js +11 -6
- package/dist/src/shell/useFold.d.ts +0 -1
- package/dist/src/shell/useFold.js +0 -1
- package/dist/src/shell/useFrameMessages.d.ts +19 -4
- package/dist/src/shell/useFrameMessages.js +23 -7
- package/dist/src/shell/useFrameQueue.d.ts +7 -3
- package/dist/src/shell/useFrameQueue.js +39 -22
- package/dist/src/shell/useFullPage.d.ts +0 -1
- package/dist/src/shell/useFullPage.js +0 -1
- package/dist/src/shell/useLiveView.d.ts +0 -1
- package/dist/src/shell/useLiveView.js +0 -1
- package/dist/src/shell/useLoaded.d.ts +1 -2
- package/dist/src/shell/useLoaded.js +28 -6
- package/dist/src/shell/usePageDoc.d.ts +0 -1
- package/dist/src/shell/usePageDoc.js +0 -1
- package/dist/src/shell/usePageFrames.d.ts +46 -0
- package/dist/src/shell/usePageFrames.js +50 -0
- package/dist/src/shell/usePluginTabs.d.ts +18 -0
- package/dist/src/shell/usePluginTabs.js +45 -0
- package/dist/src/shell/usePopover.d.ts +0 -1
- package/dist/src/shell/usePopover.js +0 -1
- package/dist/src/shell/useProseLinks.d.ts +14 -0
- package/dist/src/shell/useProseLinks.js +30 -0
- package/dist/src/shell/useRecentPages.d.ts +3 -4
- package/dist/src/shell/useRecentPages.js +1 -2
- package/dist/src/shell/useScrollMemory.d.ts +9 -1
- package/dist/src/shell/useScrollMemory.js +2 -3
- package/dist/src/shell/useSearchIndex.d.ts +24 -0
- package/dist/src/shell/useSearchIndex.js +51 -0
- package/dist/src/shell/useShownView.d.ts +35 -0
- package/dist/src/shell/useShownView.js +36 -0
- package/dist/src/shell/useSidebarLayout.d.ts +0 -1
- package/dist/src/shell/useSidebarLayout.js +0 -1
- package/dist/src/shell/useStored.d.ts +13 -1
- package/dist/src/shell/useStored.js +13 -5
- package/dist/src/shell/useStoryCheck.d.ts +20 -0
- package/dist/src/shell/useStoryCheck.js +33 -0
- package/dist/src/shell/useStoryCode.d.ts +0 -1
- package/dist/src/shell/useStoryCode.js +0 -1
- package/dist/src/shell/useStoryHeights.d.ts +0 -1
- package/dist/src/shell/useStoryHeights.js +0 -1
- package/dist/src/shell/useStoryIdsElement.d.ts +0 -1
- package/dist/src/shell/useStoryIdsElement.js +0 -1
- package/dist/src/shell/useStoryKeys.d.ts +0 -1
- package/dist/src/shell/useStoryKeys.js +0 -1
- package/dist/src/shell/useSyncedTab.d.ts +8 -0
- package/dist/src/shell/useSyncedTab.js +60 -0
- package/dist/src/shell/useSystemDark.d.ts +0 -1
- package/dist/src/shell/useSystemDark.js +0 -1
- package/dist/src/shell/useToolbarLayout.d.ts +0 -1
- package/dist/src/shell/useToolbarLayout.js +0 -1
- package/dist/src/shell/useToolbarOverflow.d.ts +0 -1
- package/dist/src/shell/useToolbarOverflow.js +0 -1
- package/dist/src/shell/useWorstCase.d.ts +0 -1
- package/dist/src/shell/useWorstCase.js +2 -2
- package/dist/src/shell/worstArgs.d.ts +0 -1
- package/dist/src/shell/worstArgs.js +0 -1
- package/dist/src/shellTheme.d.ts +64 -0
- package/dist/src/shellTheme.js +274 -0
- package/dist/src/shellTheme.types.d.ts +93 -0
- package/dist/src/shellTheme.types.js +10 -0
- package/dist/src/sourceFiles.d.ts +17 -3
- package/dist/src/sourceFiles.js +27 -1
- package/dist/src/spills.d.ts +0 -1
- package/dist/src/spills.js +0 -1
- package/dist/src/storyBackground.d.ts +0 -1
- package/dist/src/storyBackground.js +0 -1
- package/dist/src/storyCheck.d.ts +88 -2
- package/dist/src/storyCheck.js +12 -2
- package/dist/src/storyClock.d.ts +0 -1
- package/dist/src/storyClock.js +0 -1
- package/dist/src/storyGlobals.d.ts +0 -1
- package/dist/src/storyGlobals.js +0 -1
- package/dist/src/storyHeights.d.ts +0 -1
- package/dist/src/storyHeights.js +0 -1
- package/dist/src/storyIds.d.ts +36 -0
- package/dist/src/storyIds.js +52 -0
- package/dist/src/storyIdsElement.d.ts +0 -1
- package/dist/src/storyIdsElement.js +0 -1
- package/dist/src/storyTexts.d.ts +11 -5
- package/dist/src/storyTexts.js +16 -5
- package/dist/src/storyTree.d.ts +88 -25
- package/dist/src/storyTree.js +219 -126
- package/dist/src/switches.d.ts +0 -1
- package/dist/src/switches.js +6 -2
- package/dist/src/toolbarLayout.d.ts +0 -1
- package/dist/src/toolbarLayout.js +0 -1
- package/dist/src/treePlaces.d.ts +60 -0
- package/dist/src/treePlaces.js +89 -0
- package/dist/src/usedIn.d.ts +28 -1
- package/dist/src/usedIn.js +93 -3
- package/dist/src/viewState.d.ts +37 -9
- package/dist/src/viewState.js +67 -9
- package/dist/src/viewWords.d.ts +0 -13
- package/dist/src/viewWords.js +41 -3
- package/dist/src/vite/adapter.d.ts +62 -1
- package/dist/src/vite/adapter.js +20 -2
- package/dist/src/vite/agent.types.d.ts +281 -7
- package/dist/src/vite/agent.types.js +11 -1
- package/dist/src/vite/agentApi.d.ts +55 -2
- package/dist/src/vite/agentApi.js +131 -8
- package/dist/src/vite/agentIds.d.ts +25 -0
- package/dist/src/vite/agentIds.js +41 -0
- package/dist/src/vite/agentIndex.d.ts +63 -0
- package/dist/src/vite/agentIndex.js +91 -0
- package/dist/src/vite/agentIndexRoute.d.ts +10 -0
- package/dist/src/vite/agentIndexRoute.js +35 -0
- package/dist/src/vite/agentRoutes.d.ts +80 -19
- package/dist/src/vite/agentRoutes.js +167 -24
- package/dist/src/vite/autoTitle.d.ts +0 -1
- package/dist/src/vite/autoTitle.js +0 -1
- package/dist/src/vite/axeScript.d.ts +20 -0
- package/dist/src/vite/axeScript.js +60 -0
- package/dist/src/vite/builtTexts.d.ts +75 -0
- package/dist/src/vite/builtTexts.js +142 -0
- package/dist/src/vite/catalogueConfig.d.ts +10 -0
- package/dist/src/vite/catalogueConfig.js +64 -0
- package/dist/src/vite/checkCode.d.ts +67 -0
- package/dist/src/vite/checkCode.js +145 -0
- package/dist/src/vite/closeWatch.d.ts +96 -0
- package/dist/src/vite/closeWatch.js +219 -0
- package/dist/src/vite/codeFence.d.ts +78 -0
- package/dist/src/vite/codeFence.js +267 -0
- package/dist/src/vite/componentImport.d.ts +8 -0
- package/dist/src/vite/componentImport.js +35 -0
- package/dist/src/vite/componentPage.d.ts +15 -2
- package/dist/src/vite/componentPage.js +55 -16
- package/dist/src/vite/config.d.ts +51 -3
- package/dist/src/vite/config.js +0 -1
- package/dist/src/vite/configFile.d.ts +65 -9
- package/dist/src/vite/configFile.js +182 -28
- package/dist/src/vite/designTokens.d.ts +75 -0
- package/dist/src/vite/designTokens.js +382 -0
- package/dist/src/vite/diskCache.d.ts +51 -0
- package/dist/src/vite/diskCache.js +211 -0
- package/dist/src/vite/docDirectives.d.ts +116 -0
- package/dist/src/vite/docDirectives.js +425 -0
- package/dist/src/vite/docMarkdown.d.ts +76 -0
- package/dist/src/vite/docMarkdown.js +150 -0
- package/dist/src/vite/docPageBlocks.d.ts +64 -0
- package/dist/src/vite/docPageBlocks.js +322 -0
- package/dist/src/vite/docPageLinks.d.ts +72 -0
- package/dist/src/vite/docPageLinks.js +135 -0
- package/dist/src/vite/docPageMarkdown.d.ts +86 -0
- package/dist/src/vite/docPageMarkdown.js +133 -0
- package/dist/src/vite/docPageRender.d.ts +27 -0
- package/dist/src/vite/docPageRender.js +199 -0
- package/dist/src/vite/docPageTokens.d.ts +91 -0
- package/dist/src/vite/docPageTokens.js +186 -0
- package/dist/src/vite/docPagesModule.d.ts +50 -0
- package/dist/src/vite/docPagesModule.js +118 -0
- package/dist/src/vite/docPagesRoute.d.ts +38 -0
- package/dist/src/vite/docPagesRoute.js +154 -0
- package/dist/src/vite/docsDependencies.d.ts +6 -0
- package/dist/src/vite/docsDependencies.js +150 -0
- package/dist/src/vite/docsExtractor.d.ts +44 -3
- package/dist/src/vite/docsExtractor.js +160 -26
- package/dist/src/vite/docsProgram.d.ts +89 -9
- package/dist/src/vite/docsProgram.js +413 -50
- package/dist/src/vite/docsWorker.d.ts +0 -1
- package/dist/src/vite/docsWorker.js +49 -15
- package/dist/src/vite/figmaLink.d.ts +26 -0
- package/dist/src/vite/figmaLink.js +92 -0
- package/dist/src/vite/findComponent.d.ts +32 -0
- package/dist/src/vite/findComponent.js +52 -0
- package/dist/src/vite/findRoute.d.ts +14 -0
- package/dist/src/vite/findRoute.js +62 -0
- package/dist/src/vite/forcedStates.d.ts +0 -1
- package/dist/src/vite/forcedStates.js +0 -1
- package/dist/src/vite/forgebookPlugin.d.ts +1 -2
- package/dist/src/vite/forgebookPlugin.js +330 -263
- package/dist/src/vite/framesConfig.d.ts +89 -0
- package/dist/src/vite/framesConfig.js +149 -0
- package/dist/src/vite/framesServer.d.ts +43 -0
- package/dist/src/vite/framesServer.js +326 -0
- package/dist/src/vite/functionComponentDocs.d.ts +26 -0
- package/dist/src/vite/functionComponentDocs.js +193 -0
- package/dist/src/vite/gitChange.d.ts +56 -0
- package/dist/src/vite/gitChange.js +86 -0
- package/dist/src/vite/heightsRoute.d.ts +24 -0
- package/dist/src/vite/heightsRoute.js +42 -0
- package/dist/src/vite/highlightCode.d.ts +0 -1
- package/dist/src/vite/highlightCode.js +8 -27
- package/dist/src/vite/hotSnippets.d.ts +86 -0
- package/dist/src/vite/hotSnippets.js +168 -0
- package/dist/src/vite/indexFields.d.ts +61 -0
- package/dist/src/vite/indexFields.js +149 -0
- package/dist/src/vite/indexStoryFile.d.ts +20 -19
- package/dist/src/vite/indexStoryFile.js +172 -201
- package/dist/src/vite/indexedParameters.d.ts +10 -0
- package/dist/src/vite/indexedParameters.js +110 -0
- package/dist/src/vite/mcpProtocol.d.ts +36 -2
- package/dist/src/vite/mcpProtocol.js +100 -15
- package/dist/src/vite/moduleSummary.d.ts +17 -0
- package/dist/src/vite/moduleSummary.js +40 -0
- package/dist/src/vite/nearestToken.d.ts +50 -0
- package/dist/src/vite/nearestToken.js +295 -0
- package/dist/src/vite/originGuard.d.ts +87 -0
- package/dist/src/vite/originGuard.js +163 -0
- package/dist/src/vite/packedModule.d.ts +40 -0
- package/dist/src/vite/packedModule.js +74 -0
- package/dist/src/vite/pages.d.ts +63 -10
- package/dist/src/vite/pages.js +264 -33
- package/dist/src/vite/parsedFiles.d.ts +18 -0
- package/dist/src/vite/parsedFiles.js +91 -0
- package/dist/src/vite/plainGrammars.d.ts +20 -0
- package/dist/src/vite/plainGrammars.js +113 -0
- package/dist/src/vite/pluginConfig.d.ts +47 -0
- package/dist/src/vite/pluginConfig.js +220 -0
- package/dist/src/vite/pluginIds.d.ts +20 -0
- package/dist/src/vite/pluginIds.js +61 -0
- package/dist/src/vite/pluginModules.d.ts +140 -0
- package/dist/src/vite/pluginModules.js +176 -0
- package/dist/src/vite/prebundled.d.ts +18 -5
- package/dist/src/vite/prebundled.js +28 -18
- package/dist/src/vite/previewPages.d.ts +14 -0
- package/dist/src/vite/previewPages.js +81 -0
- package/dist/src/vite/previewRoute.d.ts +8 -0
- package/dist/src/vite/previewRoute.js +8 -0
- package/dist/src/vite/previewRunner.d.ts +56 -0
- package/dist/src/vite/previewRunner.js +207 -0
- package/dist/src/vite/propDocs.d.ts +60 -0
- package/dist/src/vite/propDocs.js +387 -0
- package/dist/src/vite/searchModule.d.ts +40 -0
- package/dist/src/vite/searchModule.js +212 -0
- package/dist/src/vite/searchRoute.d.ts +7 -0
- package/dist/src/vite/searchRoute.js +79 -0
- package/dist/src/vite/serverConditions.d.ts +31 -0
- package/dist/src/vite/serverConditions.js +69 -0
- package/dist/src/vite/signatureDocs.d.ts +18 -0
- package/dist/src/vite/signatureDocs.js +64 -0
- package/dist/src/vite/sourceTokens.d.ts +57 -0
- package/dist/src/vite/sourceTokens.js +164 -0
- package/dist/src/vite/storyCode.d.ts +0 -1
- package/dist/src/vite/storyCode.js +2 -3
- package/dist/src/vite/storyExports.d.ts +32 -0
- package/dist/src/vite/storyExports.js +27 -0
- package/dist/src/vite/storyFilesModule.d.ts +56 -4
- package/dist/src/vite/storyFilesModule.js +122 -34
- package/dist/src/vite/storyMeta.d.ts +20 -11
- package/dist/src/vite/storyMeta.js +74 -38
- package/dist/src/vite/storyParse.d.ts +18 -0
- package/dist/src/vite/storyParse.js +20 -0
- package/dist/src/vite/storyPlay.d.ts +29 -0
- package/dist/src/vite/storyPlay.js +54 -0
- package/dist/src/vite/storyReach.d.ts +42 -0
- package/dist/src/vite/storyReach.js +43 -0
- package/dist/src/vite/storylessRoutes.d.ts +29 -0
- package/dist/src/vite/storylessRoutes.js +126 -0
- package/dist/src/vite/textModules.d.ts +63 -0
- package/dist/src/vite/textModules.js +132 -0
- package/dist/src/vite/textQueries.d.ts +20 -0
- package/dist/src/vite/textQueries.js +20 -0
- package/dist/src/vite/themeFromTokens.d.ts +35 -0
- package/dist/src/vite/themeFromTokens.js +73 -0
- package/dist/src/vite/tokenAnswers.d.ts +20 -0
- package/dist/src/vite/tokenAnswers.js +86 -0
- package/dist/src/vite/tokenClashes.d.ts +44 -0
- package/dist/src/vite/tokenClashes.js +45 -0
- package/dist/src/vite/touchMedia.d.ts +0 -1
- package/dist/src/vite/touchMedia.js +0 -1
- package/dist/src/vite/typeScriptPieces.d.ts +0 -1
- package/dist/src/vite/typeScriptPieces.js +2 -3
- package/dist/src/vite/usageGraph.d.ts +6 -1
- package/dist/src/vite/usageGraph.js +41 -7
- package/dist/src/vite/usageGuidance.d.ts +33 -0
- package/dist/src/vite/usageGuidance.js +45 -0
- package/dist/src/vite/usageModule.d.ts +0 -1
- package/dist/src/vite/usageModule.js +0 -1
- package/dist/src/vite/vitePaths.d.ts +53 -0
- package/dist/src/vite/vitePaths.js +53 -0
- package/dist/src/worstCase.d.ts +0 -1
- package/dist/src/worstCase.js +0 -1
- package/package.json +66 -3
- package/dist/bin/forgebook/agentClient.d.ts.map +0 -1
- package/dist/bin/forgebook/agentClient.js.map +0 -1
- package/dist/bin/forgebook/agentLoopCommands.d.mts.map +0 -1
- package/dist/bin/forgebook/agentLoopCommands.mjs.map +0 -1
- package/dist/bin/forgebook/agentText.d.ts.map +0 -1
- package/dist/bin/forgebook/agentText.js.map +0 -1
- package/dist/bin/forgebook/agentsText.d.ts.map +0 -1
- package/dist/bin/forgebook/agentsText.js.map +0 -1
- package/dist/bin/forgebook/catalogueCommands.d.ts.map +0 -1
- package/dist/bin/forgebook/catalogueCommands.js.map +0 -1
- package/dist/bin/forgebook/catalogueVite.d.ts.map +0 -1
- package/dist/bin/forgebook/catalogueVite.js.map +0 -1
- package/dist/bin/forgebook/errorsRun.d.ts.map +0 -1
- package/dist/bin/forgebook/errorsRun.js.map +0 -1
- package/dist/bin/forgebook/forgebook.d.mts.map +0 -1
- package/dist/bin/forgebook/forgebook.mjs.map +0 -1
- package/dist/bin/forgebook/importers/storybook.d.ts.map +0 -1
- package/dist/bin/forgebook/importers/storybook.js.map +0 -1
- package/dist/bin/forgebook/initCommands.d.mts.map +0 -1
- package/dist/bin/forgebook/initCommands.mjs.map +0 -1
- package/dist/bin/forgebook/initConfig.d.ts.map +0 -1
- package/dist/bin/forgebook/initConfig.js.map +0 -1
- package/dist/bin/forgebook/mcpTools.d.ts.map +0 -1
- package/dist/bin/forgebook/mcpTools.js.map +0 -1
- package/dist/bin/forgebook/newStories.d.ts.map +0 -1
- package/dist/bin/forgebook/newStories.js.map +0 -1
- package/dist/bin/forgebook/newStoriesFile.d.ts.map +0 -1
- package/dist/bin/forgebook/newStoriesFile.js.map +0 -1
- package/dist/bin/forgebook/storyCheckRun.d.ts.map +0 -1
- package/dist/bin/forgebook/storyCheckRun.js.map +0 -1
- package/dist/bin/forgebook/touchWindowRun.d.ts.map +0 -1
- package/dist/bin/forgebook/touchWindowRun.js.map +0 -1
- package/dist/bin/forgebook-docs/catalogueDocs.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/catalogueDocs.js.map +0 -1
- package/dist/bin/forgebook-docs/catalogueDocs.types.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/catalogueDocs.types.js.map +0 -1
- package/dist/bin/forgebook-docs/catalogueMarkdown.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/catalogueMarkdown.js.map +0 -1
- package/dist/bin/forgebook-docs/catalogueOptions.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/catalogueOptions.js.map +0 -1
- package/dist/bin/forgebook-docs/collectDocs.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/collectDocs.js.map +0 -1
- package/dist/bin/forgebook-docs/forgebook-docs.d.mts.map +0 -1
- package/dist/bin/forgebook-docs/forgebook-docs.mjs.map +0 -1
- package/dist/bin/forgebook-docs/llmsText.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/llmsText.js.map +0 -1
- package/dist/bin/forgebook-docs/moduleDocs.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/moduleDocs.js.map +0 -1
- package/dist/bin/forgebook-docs/sassDocs.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/sassDocs.js.map +0 -1
- package/dist/bin/forgebook-docs/sourceId.d.ts +0 -9
- package/dist/bin/forgebook-docs/sourceId.d.ts.map +0 -1
- package/dist/bin/forgebook-docs/sourceId.js +0 -45
- package/dist/bin/forgebook-docs/sourceId.js.map +0 -1
- package/dist/bin/forgebook-texts/forgebook-texts.d.mts.map +0 -1
- package/dist/bin/forgebook-texts/forgebook-texts.mjs.map +0 -1
- package/dist/bin/forgebook-texts/storyTextsReport.d.ts.map +0 -1
- package/dist/bin/forgebook-texts/storyTextsReport.js.map +0 -1
- package/dist/bin/forgebook-texts/storyTextsReport.types.d.ts.map +0 -1
- package/dist/bin/forgebook-texts/storyTextsReport.types.js.map +0 -1
- package/dist/bin/frameworkDocs.d.ts.map +0 -1
- package/dist/bin/frameworkDocs.js.map +0 -1
- package/dist/src/a11y.d.ts.map +0 -1
- package/dist/src/a11y.js.map +0 -1
- package/dist/src/argTypes.d.ts.map +0 -1
- package/dist/src/argTypes.js.map +0 -1
- package/dist/src/backdrops.d.ts.map +0 -1
- package/dist/src/backdrops.js.map +0 -1
- package/dist/src/catalogue.d.ts.map +0 -1
- package/dist/src/catalogue.js.map +0 -1
- package/dist/src/componentDocs.d.ts.map +0 -1
- package/dist/src/componentDocs.js.map +0 -1
- package/dist/src/controlKeys.d.ts.map +0 -1
- package/dist/src/controlKeys.js.map +0 -1
- package/dist/src/frame/checkStory.d.ts.map +0 -1
- package/dist/src/frame/checkStory.js.map +0 -1
- package/dist/src/frame/frameClock.d.ts.map +0 -1
- package/dist/src/frame/frameClock.js.map +0 -1
- package/dist/src/frame/frameStatus.d.ts.map +0 -1
- package/dist/src/frame/frameStatus.js.map +0 -1
- package/dist/src/frame/frameView.d.ts.map +0 -1
- package/dist/src/frame/frameView.js.map +0 -1
- package/dist/src/frame/matrixLayout.d.ts.map +0 -1
- package/dist/src/frame/matrixLayout.js.map +0 -1
- package/dist/src/frame/measureTools.d.ts.map +0 -1
- package/dist/src/frame/measureTools.js.map +0 -1
- package/dist/src/frame/mountFrame.d.ts.map +0 -1
- package/dist/src/frame/mountFrame.js.map +0 -1
- package/dist/src/frame/playStory.d.ts.map +0 -1
- package/dist/src/frame/playStory.js.map +0 -1
- package/dist/src/frame/renderer.d.ts.map +0 -1
- package/dist/src/frame/renderer.js.map +0 -1
- package/dist/src/frame/settle.d.ts.map +0 -1
- package/dist/src/frame/settle.js.map +0 -1
- package/dist/src/frame/spillOutline.d.ts.map +0 -1
- package/dist/src/frame/spillOutline.js.map +0 -1
- package/dist/src/frame/staleModule.d.ts.map +0 -1
- package/dist/src/frame/staleModule.js.map +0 -1
- package/dist/src/frame/storyCanvas.d.ts.map +0 -1
- package/dist/src/frame/storyCanvas.js.map +0 -1
- package/dist/src/frame/storyHooks.d.ts.map +0 -1
- package/dist/src/frame/storyHooks.js.map +0 -1
- package/dist/src/frame/storyModule.d.ts.map +0 -1
- package/dist/src/frame/storyModule.js.map +0 -1
- package/dist/src/frame/storyRun.d.ts.map +0 -1
- package/dist/src/frame/storyRun.js.map +0 -1
- package/dist/src/frame/touchDots.d.ts.map +0 -1
- package/dist/src/frame/touchDots.js.map +0 -1
- package/dist/src/frame/touchEvents.d.ts.map +0 -1
- package/dist/src/frame/touchEvents.js.map +0 -1
- package/dist/src/frame/touchGesture.d.ts.map +0 -1
- package/dist/src/frame/touchGesture.js.map +0 -1
- package/dist/src/frame/touchLayer.d.ts.map +0 -1
- package/dist/src/frame/touchLayer.js.map +0 -1
- package/dist/src/frame/touchScroll.d.ts.map +0 -1
- package/dist/src/frame/touchScroll.js.map +0 -1
- package/dist/src/languages.d.ts.map +0 -1
- package/dist/src/languages.js.map +0 -1
- package/dist/src/liveErrors.d.ts.map +0 -1
- package/dist/src/liveErrors.js.map +0 -1
- package/dist/src/matrix.d.ts.map +0 -1
- package/dist/src/matrix.js.map +0 -1
- package/dist/src/messages.d.ts.map +0 -1
- package/dist/src/messages.js.map +0 -1
- package/dist/src/namedValues.d.ts.map +0 -1
- package/dist/src/namedValues.js.map +0 -1
- package/dist/src/namedViews.d.ts.map +0 -1
- package/dist/src/namedViews.js.map +0 -1
- package/dist/src/pageConfig.d.ts.map +0 -1
- package/dist/src/pageConfig.js.map +0 -1
- package/dist/src/playTrace.d.ts.map +0 -1
- package/dist/src/playTrace.js.map +0 -1
- package/dist/src/realTouch.d.ts.map +0 -1
- package/dist/src/realTouch.js.map +0 -1
- package/dist/src/shell/A11yTab.d.ts.map +0 -1
- package/dist/src/shell/A11yTab.js.map +0 -1
- package/dist/src/shell/ApiReference.d.ts.map +0 -1
- package/dist/src/shell/ApiReference.js.map +0 -1
- package/dist/src/shell/AppearanceMenu.d.ts.map +0 -1
- package/dist/src/shell/AppearanceMenu.js.map +0 -1
- package/dist/src/shell/BoxWidth.d.ts.map +0 -1
- package/dist/src/shell/BoxWidth.js.map +0 -1
- package/dist/src/shell/ClockControls.d.ts.map +0 -1
- package/dist/src/shell/ClockControls.js.map +0 -1
- package/dist/src/shell/Code.d.ts.map +0 -1
- package/dist/src/shell/Code.js.map +0 -1
- package/dist/src/shell/CodeTab.d.ts.map +0 -1
- package/dist/src/shell/CodeTab.js.map +0 -1
- package/dist/src/shell/CodeText.d.ts.map +0 -1
- package/dist/src/shell/CodeText.js.map +0 -1
- package/dist/src/shell/ComponentPage.d.ts.map +0 -1
- package/dist/src/shell/ComponentPage.js.map +0 -1
- package/dist/src/shell/ControlKeyField.d.ts.map +0 -1
- package/dist/src/shell/ControlKeyField.js.map +0 -1
- package/dist/src/shell/ControlRow.d.ts.map +0 -1
- package/dist/src/shell/ControlRow.js.map +0 -1
- package/dist/src/shell/Dock.d.ts.map +0 -1
- package/dist/src/shell/Dock.js.map +0 -1
- package/dist/src/shell/EventsTab.d.ts.map +0 -1
- package/dist/src/shell/EventsTab.js.map +0 -1
- package/dist/src/shell/Example.d.ts.map +0 -1
- package/dist/src/shell/Example.js.map +0 -1
- package/dist/src/shell/FrameView.d.ts.map +0 -1
- package/dist/src/shell/FrameView.js.map +0 -1
- package/dist/src/shell/HomePage.d.ts.map +0 -1
- package/dist/src/shell/HomePage.js.map +0 -1
- package/dist/src/shell/InfoTip.d.ts.map +0 -1
- package/dist/src/shell/InfoTip.js.map +0 -1
- package/dist/src/shell/InteractionsTab.d.ts.map +0 -1
- package/dist/src/shell/InteractionsTab.js.map +0 -1
- package/dist/src/shell/MatrixPicker.d.ts.map +0 -1
- package/dist/src/shell/MatrixPicker.js.map +0 -1
- package/dist/src/shell/NamedViews.d.ts.map +0 -1
- package/dist/src/shell/NamedViews.js.map +0 -1
- package/dist/src/shell/PackageHtml.d.ts.map +0 -1
- package/dist/src/shell/PackageHtml.js.map +0 -1
- package/dist/src/shell/PartsTab.d.ts.map +0 -1
- package/dist/src/shell/PartsTab.js.map +0 -1
- package/dist/src/shell/PinnedControl.d.ts.map +0 -1
- package/dist/src/shell/PinnedControl.js.map +0 -1
- package/dist/src/shell/PropFields.d.ts.map +0 -1
- package/dist/src/shell/PropFields.js.map +0 -1
- package/dist/src/shell/PropsTab.d.ts.map +0 -1
- package/dist/src/shell/PropsTab.js.map +0 -1
- package/dist/src/shell/Segmented.d.ts.map +0 -1
- package/dist/src/shell/Segmented.js.map +0 -1
- package/dist/src/shell/Shell.d.ts.map +0 -1
- package/dist/src/shell/Shell.js.map +0 -1
- package/dist/src/shell/Sidebar.d.ts.map +0 -1
- package/dist/src/shell/Sidebar.js.map +0 -1
- package/dist/src/shell/SidebarEntries.d.ts.map +0 -1
- package/dist/src/shell/SidebarEntries.js.map +0 -1
- package/dist/src/shell/SidebarHandle.d.ts.map +0 -1
- package/dist/src/shell/SidebarHandle.js.map +0 -1
- package/dist/src/shell/Stage.d.ts.map +0 -1
- package/dist/src/shell/Stage.js.map +0 -1
- package/dist/src/shell/StageTools.d.ts.map +0 -1
- package/dist/src/shell/StageTools.js.map +0 -1
- package/dist/src/shell/StageViewport.d.ts.map +0 -1
- package/dist/src/shell/StageViewport.js.map +0 -1
- package/dist/src/shell/StoryCodeBlock.d.ts.map +0 -1
- package/dist/src/shell/StoryCodeBlock.js.map +0 -1
- package/dist/src/shell/StoryPicker.d.ts.map +0 -1
- package/dist/src/shell/StoryPicker.js.map +0 -1
- package/dist/src/shell/Toolbar.d.ts.map +0 -1
- package/dist/src/shell/Toolbar.js.map +0 -1
- package/dist/src/shell/ToolbarControl.d.ts.map +0 -1
- package/dist/src/shell/ToolbarControl.js.map +0 -1
- package/dist/src/shell/UsedIn.d.ts.map +0 -1
- package/dist/src/shell/UsedIn.js.map +0 -1
- package/dist/src/shell/ViewMenu.d.ts.map +0 -1
- package/dist/src/shell/ViewMenu.js.map +0 -1
- package/dist/src/shell/WidthField.d.ts.map +0 -1
- package/dist/src/shell/WidthField.js.map +0 -1
- package/dist/src/shell/catalogueContext.d.ts.map +0 -1
- package/dist/src/shell/catalogueContext.js.map +0 -1
- package/dist/src/shell/codeTokens.d.ts.map +0 -1
- package/dist/src/shell/codeTokens.js.map +0 -1
- package/dist/src/shell/codeWriter.d.ts.map +0 -1
- package/dist/src/shell/codeWriter.js.map +0 -1
- package/dist/src/shell/compareVariants.d.ts.map +0 -1
- package/dist/src/shell/compareVariants.js.map +0 -1
- package/dist/src/shell/controlCycle.d.ts.map +0 -1
- package/dist/src/shell/controlCycle.js.map +0 -1
- package/dist/src/shell/dockTabs.d.ts.map +0 -1
- package/dist/src/shell/dockTabs.js.map +0 -1
- package/dist/src/shell/icons.d.ts.map +0 -1
- package/dist/src/shell/icons.js.map +0 -1
- package/dist/src/shell/keyboard.d.ts.map +0 -1
- package/dist/src/shell/keyboard.js.map +0 -1
- package/dist/src/shell/mountShell.d.ts.map +0 -1
- package/dist/src/shell/mountShell.js.map +0 -1
- package/dist/src/shell/storyTouch.d.ts.map +0 -1
- package/dist/src/shell/storyTouch.js.map +0 -1
- package/dist/src/shell/strings.d.ts.map +0 -1
- package/dist/src/shell/strings.js.map +0 -1
- package/dist/src/shell/switchView.d.ts.map +0 -1
- package/dist/src/shell/switchView.js.map +0 -1
- package/dist/src/shell/treeSearch.d.ts.map +0 -1
- package/dist/src/shell/treeSearch.js.map +0 -1
- package/dist/src/shell/useAppearance.d.ts.map +0 -1
- package/dist/src/shell/useAppearance.js.map +0 -1
- package/dist/src/shell/useComponentDocs.d.ts.map +0 -1
- package/dist/src/shell/useComponentDocs.js.map +0 -1
- package/dist/src/shell/useControlKeys.d.ts.map +0 -1
- package/dist/src/shell/useControlKeys.js.map +0 -1
- package/dist/src/shell/useCopy.d.ts.map +0 -1
- package/dist/src/shell/useCopy.js.map +0 -1
- package/dist/src/shell/useFold.d.ts.map +0 -1
- package/dist/src/shell/useFold.js.map +0 -1
- package/dist/src/shell/useFrameMessages.d.ts.map +0 -1
- package/dist/src/shell/useFrameMessages.js.map +0 -1
- package/dist/src/shell/useFrameQueue.d.ts.map +0 -1
- package/dist/src/shell/useFrameQueue.js.map +0 -1
- package/dist/src/shell/useFullPage.d.ts.map +0 -1
- package/dist/src/shell/useFullPage.js.map +0 -1
- package/dist/src/shell/useLiveView.d.ts.map +0 -1
- package/dist/src/shell/useLiveView.js.map +0 -1
- package/dist/src/shell/useLoaded.d.ts.map +0 -1
- package/dist/src/shell/useLoaded.js.map +0 -1
- package/dist/src/shell/usePageDoc.d.ts.map +0 -1
- package/dist/src/shell/usePageDoc.js.map +0 -1
- package/dist/src/shell/usePopover.d.ts.map +0 -1
- package/dist/src/shell/usePopover.js.map +0 -1
- package/dist/src/shell/useRecentPages.d.ts.map +0 -1
- package/dist/src/shell/useRecentPages.js.map +0 -1
- package/dist/src/shell/useScrollMemory.d.ts.map +0 -1
- package/dist/src/shell/useScrollMemory.js.map +0 -1
- package/dist/src/shell/useSidebarLayout.d.ts.map +0 -1
- package/dist/src/shell/useSidebarLayout.js.map +0 -1
- package/dist/src/shell/useStored.d.ts.map +0 -1
- package/dist/src/shell/useStored.js.map +0 -1
- package/dist/src/shell/useStoryCode.d.ts.map +0 -1
- package/dist/src/shell/useStoryCode.js.map +0 -1
- package/dist/src/shell/useStoryHeights.d.ts.map +0 -1
- package/dist/src/shell/useStoryHeights.js.map +0 -1
- package/dist/src/shell/useStoryIdsElement.d.ts.map +0 -1
- package/dist/src/shell/useStoryIdsElement.js.map +0 -1
- package/dist/src/shell/useStoryKeys.d.ts.map +0 -1
- package/dist/src/shell/useStoryKeys.js.map +0 -1
- package/dist/src/shell/useSystemDark.d.ts.map +0 -1
- package/dist/src/shell/useSystemDark.js.map +0 -1
- package/dist/src/shell/useToolbarLayout.d.ts.map +0 -1
- package/dist/src/shell/useToolbarLayout.js.map +0 -1
- package/dist/src/shell/useToolbarOverflow.d.ts.map +0 -1
- package/dist/src/shell/useToolbarOverflow.js.map +0 -1
- package/dist/src/shell/useWorstCase.d.ts.map +0 -1
- package/dist/src/shell/useWorstCase.js.map +0 -1
- package/dist/src/shell/worstArgs.d.ts.map +0 -1
- package/dist/src/shell/worstArgs.js.map +0 -1
- package/dist/src/sourceFiles.d.ts.map +0 -1
- package/dist/src/sourceFiles.js.map +0 -1
- package/dist/src/spills.d.ts.map +0 -1
- package/dist/src/spills.js.map +0 -1
- package/dist/src/storyBackground.d.ts.map +0 -1
- package/dist/src/storyBackground.js.map +0 -1
- package/dist/src/storyCheck.d.ts.map +0 -1
- package/dist/src/storyCheck.js.map +0 -1
- package/dist/src/storyClock.d.ts.map +0 -1
- package/dist/src/storyClock.js.map +0 -1
- package/dist/src/storyGlobals.d.ts.map +0 -1
- package/dist/src/storyGlobals.js.map +0 -1
- package/dist/src/storyHeights.d.ts.map +0 -1
- package/dist/src/storyHeights.js.map +0 -1
- package/dist/src/storyIdsElement.d.ts.map +0 -1
- package/dist/src/storyIdsElement.js.map +0 -1
- package/dist/src/storyTexts.d.ts.map +0 -1
- package/dist/src/storyTexts.js.map +0 -1
- package/dist/src/storyTree.d.ts.map +0 -1
- package/dist/src/storyTree.js.map +0 -1
- package/dist/src/switches.d.ts.map +0 -1
- package/dist/src/switches.js.map +0 -1
- package/dist/src/toolbarLayout.d.ts.map +0 -1
- package/dist/src/toolbarLayout.js.map +0 -1
- package/dist/src/usedIn.d.ts.map +0 -1
- package/dist/src/usedIn.js.map +0 -1
- package/dist/src/viewState.d.ts.map +0 -1
- package/dist/src/viewState.js.map +0 -1
- package/dist/src/viewWords.d.ts.map +0 -1
- package/dist/src/viewWords.js.map +0 -1
- package/dist/src/vite/adapter.d.ts.map +0 -1
- package/dist/src/vite/adapter.js.map +0 -1
- package/dist/src/vite/agent.types.d.ts.map +0 -1
- package/dist/src/vite/agent.types.js.map +0 -1
- package/dist/src/vite/agentApi.d.ts.map +0 -1
- package/dist/src/vite/agentApi.js.map +0 -1
- package/dist/src/vite/agentRoutes.d.ts.map +0 -1
- package/dist/src/vite/agentRoutes.js.map +0 -1
- package/dist/src/vite/autoTitle.d.ts.map +0 -1
- package/dist/src/vite/autoTitle.js.map +0 -1
- package/dist/src/vite/componentPage.d.ts.map +0 -1
- package/dist/src/vite/componentPage.js.map +0 -1
- package/dist/src/vite/config.d.ts.map +0 -1
- package/dist/src/vite/config.js.map +0 -1
- package/dist/src/vite/configFile.d.ts.map +0 -1
- package/dist/src/vite/configFile.js.map +0 -1
- package/dist/src/vite/docsExtractor.d.ts.map +0 -1
- package/dist/src/vite/docsExtractor.js.map +0 -1
- package/dist/src/vite/docsProgram.d.ts.map +0 -1
- package/dist/src/vite/docsProgram.js.map +0 -1
- package/dist/src/vite/docsWorker.d.ts.map +0 -1
- package/dist/src/vite/docsWorker.js.map +0 -1
- package/dist/src/vite/forcedStates.d.ts.map +0 -1
- package/dist/src/vite/forcedStates.js.map +0 -1
- package/dist/src/vite/forgebookPlugin.d.ts.map +0 -1
- package/dist/src/vite/forgebookPlugin.js.map +0 -1
- package/dist/src/vite/highlightCode.d.ts.map +0 -1
- package/dist/src/vite/highlightCode.js.map +0 -1
- package/dist/src/vite/indexStoryFile.d.ts.map +0 -1
- package/dist/src/vite/indexStoryFile.js.map +0 -1
- package/dist/src/vite/mcpProtocol.d.ts.map +0 -1
- package/dist/src/vite/mcpProtocol.js.map +0 -1
- package/dist/src/vite/pages.d.ts.map +0 -1
- package/dist/src/vite/pages.js.map +0 -1
- package/dist/src/vite/prebundled.d.ts.map +0 -1
- package/dist/src/vite/prebundled.js.map +0 -1
- package/dist/src/vite/storyCode.d.ts.map +0 -1
- package/dist/src/vite/storyCode.js.map +0 -1
- package/dist/src/vite/storyFilesModule.d.ts.map +0 -1
- package/dist/src/vite/storyFilesModule.js.map +0 -1
- package/dist/src/vite/storyMeta.d.ts.map +0 -1
- package/dist/src/vite/storyMeta.js.map +0 -1
- package/dist/src/vite/touchMedia.d.ts.map +0 -1
- package/dist/src/vite/touchMedia.js.map +0 -1
- package/dist/src/vite/typeScriptPieces.d.ts.map +0 -1
- package/dist/src/vite/typeScriptPieces.js.map +0 -1
- package/dist/src/vite/usageGraph.d.ts.map +0 -1
- package/dist/src/vite/usageGraph.js.map +0 -1
- package/dist/src/vite/usageModule.d.ts.map +0 -1
- package/dist/src/vite/usageModule.js.map +0 -1
- package/dist/src/worstCase.d.ts.map +0 -1
- package/dist/src/worstCase.js.map +0 -1
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The tools `forgebook mcp` offers agents, each answered as the command of the same name answers: `list_stories`,
|
|
3
|
-
* `get_story`, `story_address`, `new_stories`, `check_story`, `recent_errors`
|
|
3
|
+
* `find_component`, `changed_stories`, `get_story`, `story_address`, `new_stories`, `check_story`, `recent_errors`, `story_shot`, `check_code`, `list_tokens`, `get_token`,
|
|
4
|
+
* `nearest_token`, `list_pages`, `get_page`, `search_catalogue` and `list_plugins`; and `story_preview` (`mcpPreview.ts`),
|
|
5
|
+
* for a client that renders apps.
|
|
4
6
|
*
|
|
5
7
|
* @module
|
|
6
8
|
*/
|
|
7
9
|
import type { StoryCheckReport, StoryShotReport } from "../../src/storyCheck.ts";
|
|
8
|
-
import type {
|
|
10
|
+
import type { PluginsDocument } from "../../src/vite/agent.types.ts";
|
|
9
11
|
import type { McpTool } from "../../src/vite/mcpProtocol.ts";
|
|
12
|
+
import { type Ask } from "./mcpToolParts.ts";
|
|
10
13
|
import type { NewStoriesFile } from "./newStoriesFile.ts";
|
|
11
14
|
import type { StoryCheckInput } from "./storyCheckRun.ts";
|
|
12
|
-
/** Asks the catalogue one of its answers. */
|
|
13
|
-
type Ask = (route: string, params: URLSearchParams) => Promise<AgentAnswer>;
|
|
14
15
|
/** Writes a component's first stories, as `forgebook new --print` does. */
|
|
15
16
|
type NewStories = (file: string, exportName: string | undefined) => Promise<NewStoriesFile>;
|
|
16
17
|
/** Runs the catalogue's checks on a story in a browser: the report, or why it could not run. */
|
|
@@ -19,6 +20,8 @@ type Check = (input: StoryCheckInput) => Promise<StoryCheckReport | string>;
|
|
|
19
20
|
type Shot = (input: StoryCheckInput, outDir: string) => Promise<StoryShotReport | string>;
|
|
20
21
|
/** What the tools reach the catalogue through. */
|
|
21
22
|
export type CatalogueReach = {
|
|
23
|
+
/** The plugins the configuration lists. */
|
|
24
|
+
readonly plugins: PluginsDocument;
|
|
22
25
|
/** Asks the catalogue (the running dev server, or the server `forgebook mcp` keeps). */
|
|
23
26
|
readonly ask: Ask;
|
|
24
27
|
/** Writes a component's first stories, the file relative to the catalogue's folder. */
|
|
@@ -27,12 +30,15 @@ export type CatalogueReach = {
|
|
|
27
30
|
readonly check: Check;
|
|
28
31
|
/** Takes a story's pictures. */
|
|
29
32
|
readonly shot: Shot;
|
|
33
|
+
/** Runs the checks on a page of the application. */
|
|
34
|
+
readonly checkPage: (address: string) => Promise<StoryCheckReport | string>;
|
|
35
|
+
/** Serves the catalogue where a browser can open a preview, and answers where. */
|
|
36
|
+
readonly servePreview: () => Promise<string>;
|
|
30
37
|
};
|
|
31
38
|
/**
|
|
32
39
|
* The tools.
|
|
33
40
|
*
|
|
34
41
|
* @param reach - what they reach the catalogue through.
|
|
35
42
|
*/
|
|
36
|
-
export declare const catalogueTools: ({ ask, writeNew, check, shot }: CatalogueReach) => readonly McpTool[];
|
|
43
|
+
export declare const catalogueTools: ({ ask, writeNew, check, shot, checkPage, servePreview, plugins }: CatalogueReach) => readonly McpTool[];
|
|
37
44
|
export {};
|
|
38
|
-
//# sourceMappingURL=mcpTools.d.ts.map
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The tools `forgebook mcp` offers agents, each answered as the command of the same name answers: `list_stories`,
|
|
3
|
-
* `get_story`, `story_address`, `new_stories`, `check_story`, `recent_errors`
|
|
3
|
+
* `find_component`, `changed_stories`, `get_story`, `story_address`, `new_stories`, `check_story`, `recent_errors`, `story_shot`, `check_code`, `list_tokens`, `get_token`,
|
|
4
|
+
* `nearest_token`, `list_pages`, `get_page`, `search_catalogue` and `list_plugins`; and `story_preview` (`mcpPreview.ts`),
|
|
5
|
+
* for a client that renders apps.
|
|
4
6
|
*
|
|
5
7
|
* @module
|
|
6
8
|
*/
|
|
@@ -8,7 +10,11 @@ import { mkdirSync, mkdtempSync, readFileSync, rmSync } from "node:fs";
|
|
|
8
10
|
import { tmpdir } from "node:os";
|
|
9
11
|
import { join } from "node:path";
|
|
10
12
|
import { filteredStories, isStoriesDocument } from "../../src/vite/agentApi.js";
|
|
13
|
+
import { namedStory } from "../../src/vite/agentIds.js";
|
|
11
14
|
import { askErrors } from "./errorsRun.js";
|
|
15
|
+
import { previewTool } from "./mcpPreview.js";
|
|
16
|
+
import { resultOf, textOf, VIEW } from "./mcpToolParts.js";
|
|
17
|
+
import { pageTools } from "./pageTools.js";
|
|
12
18
|
/** The session's folder for pictures; made on the first call. */
|
|
13
19
|
let shotsDir;
|
|
14
20
|
/**
|
|
@@ -21,27 +27,139 @@ const shotsFolder = () => {
|
|
|
21
27
|
mkdirSync(shotsDir, { recursive: true });
|
|
22
28
|
return shotsDir;
|
|
23
29
|
};
|
|
24
|
-
/**
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
30
|
+
/** An answer as a tool's result that fails on what it found, as the command of the same name does. */
|
|
31
|
+
const problemsResult = (answer) => {
|
|
32
|
+
const result = resultOf(answer);
|
|
33
|
+
const body = answer.body;
|
|
34
|
+
const hasProblems = typeof body === "object" &&
|
|
35
|
+
body !== null &&
|
|
36
|
+
"problems" in body &&
|
|
37
|
+
Array.isArray(body.problems) &&
|
|
38
|
+
body.problems.length > 0;
|
|
39
|
+
return { ...result, isError: result.isError || hasProblems };
|
|
28
40
|
};
|
|
29
|
-
/** A text argument, or none. */
|
|
30
|
-
const textOf = (args, name) => {
|
|
31
|
-
const value = args[name];
|
|
32
|
-
return typeof value === "string" && value !== "" ? value : undefined;
|
|
33
|
-
};
|
|
34
|
-
/** An answer as a tool's result: a failure when the catalogue did not answer 200. */
|
|
35
|
-
const resultOf = (answer) => ({
|
|
36
|
-
structured: answer.body,
|
|
37
|
-
isError: answer.status !== 200
|
|
38
|
-
});
|
|
39
41
|
/**
|
|
40
42
|
* The tools.
|
|
41
43
|
*
|
|
42
44
|
* @param reach - what they reach the catalogue through.
|
|
43
45
|
*/
|
|
44
|
-
export const catalogueTools = ({ ask, writeNew, check, shot }) => [
|
|
46
|
+
export const catalogueTools = ({ ask, writeNew, check, shot, checkPage, servePreview, plugins }) => [
|
|
47
|
+
...pageTools(ask),
|
|
48
|
+
{
|
|
49
|
+
name: "list_plugins",
|
|
50
|
+
description: "The plugins this catalogue lists and what each adds: panel tabs (open one with tab=<id> in a view), switches, docs blocks. A tab needs its plugin: a story's parameter does nothing without it.",
|
|
51
|
+
inputSchema: { type: "object", properties: {}, additionalProperties: false },
|
|
52
|
+
call: async () => ({ structured: plugins, isError: false })
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
name: "check_page",
|
|
56
|
+
description: "Run the catalogue's checks on a real page of the application in a browser: accessibility, what spills, console and page errors. Use it on the screen you built; for a story, check_story.",
|
|
57
|
+
inputSchema: {
|
|
58
|
+
type: "object",
|
|
59
|
+
properties: {
|
|
60
|
+
address: { type: "string", description: "The page's address, as http://localhost:3000/checkout." }
|
|
61
|
+
},
|
|
62
|
+
required: ["address"],
|
|
63
|
+
additionalProperties: false
|
|
64
|
+
},
|
|
65
|
+
call: async (args) => {
|
|
66
|
+
const report = await checkPage(textOf(args, "address") ?? "");
|
|
67
|
+
return typeof report === "string"
|
|
68
|
+
? { structured: { error: report }, isError: true }
|
|
69
|
+
: { structured: report, isError: false };
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
name: "changed_stories",
|
|
74
|
+
description: "The stories a change touches: every story that reaches a file git says changed, through the imports. Call it after editing, then run check_story on what it lists.",
|
|
75
|
+
inputSchema: {
|
|
76
|
+
type: "object",
|
|
77
|
+
properties: {
|
|
78
|
+
since: {
|
|
79
|
+
type: "string",
|
|
80
|
+
description: "The commit to compare with; HEAD by default, so what is not committed."
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
additionalProperties: false
|
|
84
|
+
},
|
|
85
|
+
call: async (args) => resultOf(await ask("changed", new URLSearchParams({ since: textOf(args, "since") ?? "" })))
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
name: "find_component",
|
|
89
|
+
description: 'The components a description fits, best first, in your own words ("modal", "radio tile group"): call it before writing a component that may already exist. Each with the words it matched and missed, when to use it, and its first story.',
|
|
90
|
+
inputSchema: {
|
|
91
|
+
type: "object",
|
|
92
|
+
properties: { query: { type: "string", description: "What you are looking for, in any words." } },
|
|
93
|
+
required: ["query"],
|
|
94
|
+
additionalProperties: false
|
|
95
|
+
},
|
|
96
|
+
call: async (args) => resultOf(await ask("find", new URLSearchParams({ query: textOf(args, "query") ?? "" })))
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
name: "check_code",
|
|
100
|
+
description: "Check what your change adds, new files included, for colours and sizes written by hand, with the token to use, checks turned off with no reason, and deleted tests. It does not check props, imports or deprecated components, so a clean answer is not a review. `skipped` says what it could not check.",
|
|
101
|
+
inputSchema: {
|
|
102
|
+
type: "object",
|
|
103
|
+
properties: {
|
|
104
|
+
since: {
|
|
105
|
+
type: "string",
|
|
106
|
+
description: "The commit to compare with; HEAD by default, so what is not committed."
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
additionalProperties: false
|
|
110
|
+
},
|
|
111
|
+
call: async (args) => problemsResult(await ask("check-code", new URLSearchParams({ since: textOf(args, "since") ?? "" })))
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
name: "list_tokens",
|
|
115
|
+
description: "The design tokens of this catalogue and of the libraries it shows, to use instead of a colour, size or duration written by hand: how many of each type, the first of them, and `clashes` where two authors disagree. To replace a raw value, call nearest_token; for one token's description, get_token.",
|
|
116
|
+
inputSchema: {
|
|
117
|
+
type: "object",
|
|
118
|
+
properties: {
|
|
119
|
+
category: {
|
|
120
|
+
type: "string",
|
|
121
|
+
description: "A token type (color) or a first group (space); none for all."
|
|
122
|
+
},
|
|
123
|
+
limit: { type: "number", description: "The most tokens to give; 100 by default." }
|
|
124
|
+
},
|
|
125
|
+
additionalProperties: false
|
|
126
|
+
},
|
|
127
|
+
call: async (args) => resultOf(await ask("tokens", new URLSearchParams({
|
|
128
|
+
category: textOf(args, "category") ?? "",
|
|
129
|
+
limit: String(args["limit"] ?? "")
|
|
130
|
+
})))
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
name: "get_token",
|
|
134
|
+
description: "One design token: its value in each theme, what it is for, the token it aliases, and why not to use it if deprecated.",
|
|
135
|
+
inputSchema: {
|
|
136
|
+
type: "object",
|
|
137
|
+
properties: { name: { type: "string", description: "The token's name, as list_tokens gives it." } },
|
|
138
|
+
required: ["name"],
|
|
139
|
+
additionalProperties: false
|
|
140
|
+
},
|
|
141
|
+
call: async (args) => resultOf(await ask("token", new URLSearchParams({ name: textOf(args, "name") ?? "" })))
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
name: "nearest_token",
|
|
145
|
+
description: "The tokens nearest a value written by hand, nearest first: call it before writing a raw colour or size. Use a match only when `isClose` or `isExact` is true; otherwise no token fits, so say so rather than force one. Deprecated tokens are left out.",
|
|
146
|
+
inputSchema: {
|
|
147
|
+
type: "object",
|
|
148
|
+
properties: {
|
|
149
|
+
value: {
|
|
150
|
+
type: "string",
|
|
151
|
+
description: "The value, as code writes it: #1c1b1b, rgb(1 2 3), 16px, 200ms."
|
|
152
|
+
},
|
|
153
|
+
type: {
|
|
154
|
+
type: "string",
|
|
155
|
+
description: "What to compare with: color, dimension, duration, number, fontWeight, or a CSS property (background, padding, font-size). Read from the value when left out."
|
|
156
|
+
}
|
|
157
|
+
},
|
|
158
|
+
required: ["value"],
|
|
159
|
+
additionalProperties: false
|
|
160
|
+
},
|
|
161
|
+
call: async (args) => resultOf(await ask("nearest-token", new URLSearchParams({ value: textOf(args, "value") ?? "", type: textOf(args, "type") ?? "" })))
|
|
162
|
+
},
|
|
45
163
|
{
|
|
46
164
|
name: "list_stories",
|
|
47
165
|
description: "List the catalogue's components and stories, with each story's id and the links that open it, and the problems the story index found. Filter by source id or by text in a component's title.",
|
|
@@ -68,7 +186,7 @@ export const catalogueTools = ({ ask, writeNew, check, shot }) => [
|
|
|
68
186
|
},
|
|
69
187
|
{
|
|
70
188
|
name: "get_story",
|
|
71
|
-
description: "One story in detail: its args as the catalogue renders it, its component's props (types, defaults, descriptions), the components whose stories use it (usedIn), its links in the view asked for, and what failed while reading it.",
|
|
189
|
+
description: "One story in detail: its args as the catalogue renders it, its component's props (types, defaults, descriptions), the components whose stories use it (usedIn), the device it is shown in by default (device), its design in Figma when it has one (design: the link, the file key and the node id, and the address where a person sees it beside the story), its links in the view asked for, and what failed while reading it.",
|
|
72
190
|
inputSchema: {
|
|
73
191
|
type: "object",
|
|
74
192
|
properties: {
|
|
@@ -82,7 +200,7 @@ export const catalogueTools = ({ ask, writeNew, check, shot }) => [
|
|
|
82
200
|
},
|
|
83
201
|
{
|
|
84
202
|
name: "story_address",
|
|
85
|
-
description: "The links that open a story in the catalogue
|
|
203
|
+
description: "The links that open a story in the catalogue, in its frame alone, and with no chrome for a wiki or Notion (embed), in the view asked for: give them to a person to look at what you describe.",
|
|
86
204
|
inputSchema: {
|
|
87
205
|
type: "object",
|
|
88
206
|
properties: {
|
|
@@ -97,12 +215,10 @@ export const catalogueTools = ({ ask, writeNew, check, shot }) => [
|
|
|
97
215
|
const answer = await ask("stories", new URLSearchParams({ view: textOf(args, "view") ?? "" }));
|
|
98
216
|
if (answer.status !== 200 || !isStoriesDocument(answer.body))
|
|
99
217
|
return resultOf(answer);
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
.find((each) => each.id === id);
|
|
103
|
-
return story === undefined
|
|
218
|
+
const named = namedStory(answer.body, id);
|
|
219
|
+
return named === undefined
|
|
104
220
|
? { structured: { error: `No story "${id}"` }, isError: true }
|
|
105
|
-
: { structured: { id, links: story.links }, isError: false };
|
|
221
|
+
: { structured: { id: named.story.id, links: named.story.links }, isError: false };
|
|
106
222
|
}
|
|
107
223
|
},
|
|
108
224
|
{
|
|
@@ -148,6 +264,10 @@ export const catalogueTools = ({ ask, writeNew, check, shot }) => [
|
|
|
148
264
|
allVariants: {
|
|
149
265
|
type: "boolean",
|
|
150
266
|
description: "Check every variant the catalogue's browser tests check."
|
|
267
|
+
},
|
|
268
|
+
semantic: {
|
|
269
|
+
type: "boolean",
|
|
270
|
+
description: "Also ask the model the user configured whether headings, labels and alternatives say the right thing. Its judgements are opinions, in `judgements`."
|
|
151
271
|
}
|
|
152
272
|
},
|
|
153
273
|
required: ["id"],
|
|
@@ -160,7 +280,8 @@ export const catalogueTools = ({ ask, writeNew, check, shot }) => [
|
|
|
160
280
|
const report = await check({
|
|
161
281
|
id: textOf(args, "id") ?? "",
|
|
162
282
|
views,
|
|
163
|
-
isAllVariants: args["allVariants"] === true
|
|
283
|
+
isAllVariants: args["allVariants"] === true,
|
|
284
|
+
isSemantic: args["semantic"] === true
|
|
164
285
|
});
|
|
165
286
|
if (typeof report === "string")
|
|
166
287
|
return { structured: { error: report }, isError: true };
|
|
@@ -187,7 +308,7 @@ export const catalogueTools = ({ ask, writeNew, check, shot }) => [
|
|
|
187
308
|
},
|
|
188
309
|
{
|
|
189
310
|
name: "story_shot",
|
|
190
|
-
description:
|
|
311
|
+
description: 'Take a story\'s pictures in a browser, one per view, and look at them: the answer holds the pictures themselves, and the PNG files\' paths. Views are written as the catalogue\'s address writes them (theme=dark&width=360) or as words ("dark it 360"); a device model\'s id in a view ("iphone-16", "pixel-9 landscape") frames the picture in that device. Needs @forgebook/testing and Playwright in the project.',
|
|
191
312
|
inputSchema: {
|
|
192
313
|
type: "object",
|
|
193
314
|
properties: {
|
|
@@ -219,6 +340,6 @@ export const catalogueTools = ({ ask, writeNew, check, shot }) => [
|
|
|
219
340
|
}));
|
|
220
341
|
return { structured: report, isError: false, images };
|
|
221
342
|
}
|
|
222
|
-
}
|
|
343
|
+
},
|
|
344
|
+
previewTool({ ask, serve: servePreview })
|
|
223
345
|
];
|
|
224
|
-
//# sourceMappingURL=mcpTools.js.map
|
|
@@ -10,8 +10,8 @@ import type { ComponentDocs } from "../../src/componentDocs.ts";
|
|
|
10
10
|
export type NewStoriesInput = {
|
|
11
11
|
/** The component's docs (its props). */
|
|
12
12
|
readonly docs: ComponentDocs;
|
|
13
|
-
/**
|
|
14
|
-
readonly
|
|
13
|
+
/** The statement that imports the component (`import { Badge } from "./Badge";`). */
|
|
14
|
+
readonly importStatement: string;
|
|
15
15
|
/** The meta's title (`Actions/Badge`). */
|
|
16
16
|
readonly title: string;
|
|
17
17
|
/** The module the story types come from (`@forgebook/react`). */
|
|
@@ -24,4 +24,3 @@ export type NewStoriesInput = {
|
|
|
24
24
|
* @returns the file, ending with a newline.
|
|
25
25
|
*/
|
|
26
26
|
export declare const newStories: (input: NewStoriesInput) => string;
|
|
27
|
-
//# sourceMappingURL=newStories.d.ts.map
|
|
@@ -39,7 +39,9 @@ const LINE_WIDTH = 100;
|
|
|
39
39
|
const argsCode = (args) => {
|
|
40
40
|
if (args.length === 0)
|
|
41
41
|
return "{}";
|
|
42
|
-
|
|
42
|
+
// a name that is no identifier (Vue's `#default`) is a quoted key
|
|
43
|
+
const key = (name) => (/^[A-Za-z_$][\w$]*$/.test(name) ? name : JSON.stringify(name));
|
|
44
|
+
const pairs = args.map(([name, value]) => `${key(name)}: ${value}`);
|
|
43
45
|
const line = `{ ${pairs.join(", ")} }`;
|
|
44
46
|
return line.length <= LINE_WIDTH ? line : `{\n${pairs.map((pair) => ` ${pair}`).join(",\n")}\n }`;
|
|
45
47
|
};
|
|
@@ -95,7 +97,7 @@ export const newStories = (input) => {
|
|
|
95
97
|
" */",
|
|
96
98
|
`import type { Meta, Story } from ${JSON.stringify(input.typesModule)};`,
|
|
97
99
|
"",
|
|
98
|
-
|
|
100
|
+
input.importStatement,
|
|
99
101
|
"",
|
|
100
102
|
`export default { title: ${JSON.stringify(input.title)}, component: ${name} } satisfies Meta<typeof ${name}>;`,
|
|
101
103
|
"",
|
|
@@ -106,4 +108,3 @@ export const newStories = (input) => {
|
|
|
106
108
|
.join("\n")
|
|
107
109
|
.replace(/\n+$/, "\n");
|
|
108
110
|
};
|
|
109
|
-
//# sourceMappingURL=newStories.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** A component's first stories, ready to write. */
|
|
2
2
|
export type NewStoriesFile = {
|
|
3
|
-
/** Where they go: `<Component>.stories.tsx` beside the component. */
|
|
3
|
+
/** Where they go: `<Component>.stories.tsx` beside the component, or the framework's own extension. */
|
|
4
4
|
readonly file: string;
|
|
5
5
|
/** The file's text. */
|
|
6
6
|
readonly text: string;
|
|
@@ -10,9 +10,8 @@ export type NewStoriesFile = {
|
|
|
10
10
|
*
|
|
11
11
|
* @param componentFile - the component's file, absolute.
|
|
12
12
|
* @param exportName - the export to read; the file's only component when none.
|
|
13
|
-
* @param framework - the framework the stories are written for (`react`).
|
|
13
|
+
* @param framework - the framework the stories are written for (`react`); the catalogue's when none.
|
|
14
14
|
* @throws a `ScriptError` when the file is in no package, the framework cannot read it, or it exports no single
|
|
15
15
|
* component.
|
|
16
16
|
*/
|
|
17
|
-
export declare const newStoriesFile: (componentFile: string, exportName: string | undefined, framework: string) => Promise<NewStoriesFile>;
|
|
18
|
-
//# sourceMappingURL=newStoriesFile.d.ts.map
|
|
17
|
+
export declare const newStoriesFile: (componentFile: string, exportName: string | undefined, framework: string | undefined) => Promise<NewStoriesFile>;
|
|
@@ -5,11 +5,12 @@
|
|
|
5
5
|
*
|
|
6
6
|
* @module
|
|
7
7
|
*/
|
|
8
|
-
import { basename, dirname, join
|
|
8
|
+
import { basename, dirname, join } from "node:path";
|
|
9
9
|
import { findUp } from "@ensiria/cli-kit/files";
|
|
10
10
|
import { ScriptError } from "@ensiria/cli-kit/script";
|
|
11
11
|
import { autoTitle, patternBase } from "../../src/vite/autoTitle.js";
|
|
12
12
|
import { findConfigFile, loadConfigFile } from "../../src/vite/configFile.js";
|
|
13
|
+
import { VITE_PATHS } from "../../src/vite/vitePaths.js";
|
|
13
14
|
import { frameworkDocsModule } from "../frameworkDocs.js";
|
|
14
15
|
import { newStories } from "./newStories.js";
|
|
15
16
|
/** The folder the title starts from: the catalogue's first stories pattern's, else `src` for a file under it. */
|
|
@@ -18,14 +19,19 @@ const titleBase = async (packageDir, storiesFile) => {
|
|
|
18
19
|
const [pattern] = config === undefined ? [] : (await loadConfigFile(config)).stories;
|
|
19
20
|
if (pattern !== undefined)
|
|
20
21
|
return patternBase(pattern).replace(/^\.\//, "");
|
|
21
|
-
return relative(packageDir, storiesFile).split("/")[0] === "src" ? "src" : "";
|
|
22
|
+
return VITE_PATHS.relative(packageDir, storiesFile).split("/")[0] === "src" ? "src" : "";
|
|
23
|
+
};
|
|
24
|
+
/** The framework of the package's catalogue; React's in a package with none. */
|
|
25
|
+
const catalogueFramework = async (packageDir) => {
|
|
26
|
+
const config = findConfigFile(packageDir);
|
|
27
|
+
return config === undefined ? "react" : (await loadConfigFile(config)).framework.name;
|
|
22
28
|
};
|
|
23
29
|
/**
|
|
24
30
|
* A component's first stories.
|
|
25
31
|
*
|
|
26
32
|
* @param componentFile - the component's file, absolute.
|
|
27
33
|
* @param exportName - the export to read; the file's only component when none.
|
|
28
|
-
* @param framework - the framework the stories are written for (`react`).
|
|
34
|
+
* @param framework - the framework the stories are written for (`react`); the catalogue's when none.
|
|
29
35
|
* @throws a `ScriptError` when the file is in no package, the framework cannot read it, or it exports no single
|
|
30
36
|
* component.
|
|
31
37
|
*/
|
|
@@ -34,10 +40,11 @@ export const newStoriesFile = async (componentFile, exportName, framework) => {
|
|
|
34
40
|
if (manifest === undefined)
|
|
35
41
|
throw new ScriptError(`${componentFile} is in no package`);
|
|
36
42
|
const packageDir = dirname(manifest);
|
|
37
|
-
const
|
|
43
|
+
const frameworkName = framework ?? (await catalogueFramework(packageDir));
|
|
44
|
+
const docsModule = await frameworkDocsModule(packageDir, frameworkName);
|
|
38
45
|
if (docsModule.extractFileComponent === undefined)
|
|
39
|
-
throw new ScriptError(`@forgebook/${
|
|
40
|
-
hint: `Update @forgebook/${
|
|
46
|
+
throw new ScriptError(`@forgebook/${frameworkName} cannot read a component from its file yet`, {
|
|
47
|
+
hint: `Update @forgebook/${frameworkName}`
|
|
41
48
|
});
|
|
42
49
|
const component = docsModule.extractFileComponent(componentFile, exportName);
|
|
43
50
|
if (typeof component === "string")
|
|
@@ -45,14 +52,19 @@ export const newStoriesFile = async (componentFile, exportName, framework) => {
|
|
|
45
52
|
if (!("file" in component))
|
|
46
53
|
throw new ScriptError(`${componentFile} exports no component`);
|
|
47
54
|
const name = component.docs.name;
|
|
48
|
-
const
|
|
49
|
-
const
|
|
55
|
+
const importPath = `./${basename(componentFile).replace(/\.[cm]?[jt]sx?$/, "")}`;
|
|
56
|
+
const shape = docsModule.storyFileShape?.(name, componentFile) ?? {
|
|
57
|
+
extension: ".stories.tsx",
|
|
58
|
+
importStatement: `import { ${name} } from ${JSON.stringify(importPath)};`
|
|
59
|
+
};
|
|
60
|
+
const file = join(dirname(componentFile), `${name}${shape.extension}`);
|
|
61
|
+
// the title is read by `/`, so the path is written with them on Windows too
|
|
62
|
+
const title = autoTitle(await titleBase(packageDir, file), VITE_PATHS.relative(packageDir, file)) ?? name;
|
|
50
63
|
const text = newStories({
|
|
51
64
|
docs: component.docs,
|
|
52
|
-
|
|
65
|
+
importStatement: shape.importStatement,
|
|
53
66
|
title,
|
|
54
|
-
typesModule: docsModule.storyTypesModule ?? `@forgebook/${
|
|
67
|
+
typesModule: docsModule.storyTypesModule ?? `@forgebook/${frameworkName}`
|
|
55
68
|
});
|
|
56
69
|
return { file, text };
|
|
57
70
|
};
|
|
58
|
-
//# sourceMappingURL=newStoriesFile.js.map
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The tools that read a catalogue's docs: `list_pages`, `get_page` and `search_catalogue`, each answered as the command
|
|
3
|
+
* of the same name answers.
|
|
4
|
+
*
|
|
5
|
+
* @module
|
|
6
|
+
*/
|
|
7
|
+
import { isPagesDocument } from "../../src/vite/agentApi.js";
|
|
8
|
+
import { resultOf, textOf, VIEW } from "./mcpToolParts.js";
|
|
9
|
+
/**
|
|
10
|
+
* The tools.
|
|
11
|
+
*
|
|
12
|
+
* @param ask - asks the catalogue.
|
|
13
|
+
*/
|
|
14
|
+
export const pageTools = (ask) => [
|
|
15
|
+
{
|
|
16
|
+
name: "list_pages",
|
|
17
|
+
description: "List the catalogue's docs pages (guides, foundations, recipes) in reading order, each with its id, what it is about, the stories it shows and the address that opens it. Read one with get_page before writing against a guide.",
|
|
18
|
+
inputSchema: {
|
|
19
|
+
type: "object",
|
|
20
|
+
properties: {
|
|
21
|
+
source: { type: "string", description: "Only this source's pages (its id)." },
|
|
22
|
+
view: VIEW
|
|
23
|
+
},
|
|
24
|
+
additionalProperties: false
|
|
25
|
+
},
|
|
26
|
+
call: async (args) => {
|
|
27
|
+
const answer = await ask("pages", new URLSearchParams({ view: textOf(args, "view") ?? "" }));
|
|
28
|
+
if (answer.status !== 200 || !isPagesDocument(answer.body))
|
|
29
|
+
return resultOf(answer);
|
|
30
|
+
const source = textOf(args, "source");
|
|
31
|
+
const pages = answer.body.pages.filter((page) => source === undefined || page.source === source);
|
|
32
|
+
return { structured: { ...answer.body, pages }, isError: false };
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: "get_page",
|
|
37
|
+
description: "One docs page to read: its Markdown (a ```story <id> fence is a live story, which get_story reads), its headings, and the address that opens it for a person.",
|
|
38
|
+
inputSchema: {
|
|
39
|
+
type: "object",
|
|
40
|
+
properties: {
|
|
41
|
+
id: {
|
|
42
|
+
type: "string",
|
|
43
|
+
description: "The page's id, as list_pages gives it; `home` for the catalogue's written home."
|
|
44
|
+
},
|
|
45
|
+
view: VIEW
|
|
46
|
+
},
|
|
47
|
+
required: ["id"],
|
|
48
|
+
additionalProperties: false
|
|
49
|
+
},
|
|
50
|
+
call: async (args) => resultOf(await ask("page", new URLSearchParams({ id: textOf(args, "id") ?? "", view: textOf(args, "view") ?? "" })))
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: "search_catalogue",
|
|
54
|
+
description: "Search the whole catalogue by its text: docs pages, props, events, descriptions, stories and names, as a person's search in the catalogue does. Use it to find which component has a prop, or where the docs say something; to find a component by what it is for, find_component. Each result lists what matched, the words it missed and the address that opens the exact heading or prop.",
|
|
55
|
+
inputSchema: {
|
|
56
|
+
type: "object",
|
|
57
|
+
properties: {
|
|
58
|
+
query: { type: "string", description: "The words to look for: a prop's name, a sentence." },
|
|
59
|
+
limit: { type: "number", description: "How many results to give; 8 by default, 50 at most." },
|
|
60
|
+
view: VIEW
|
|
61
|
+
},
|
|
62
|
+
required: ["query"],
|
|
63
|
+
additionalProperties: false
|
|
64
|
+
},
|
|
65
|
+
call: async (args) => resultOf(await ask("search", new URLSearchParams({
|
|
66
|
+
query: textOf(args, "query") ?? "",
|
|
67
|
+
limit: String(args["limit"] ?? ""),
|
|
68
|
+
view: textOf(args, "view") ?? ""
|
|
69
|
+
})))
|
|
70
|
+
}
|
|
71
|
+
];
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The commands that read a catalogue's docs: `pages` (the list), `page` (one, to read) and `search` (everything, by
|
|
3
|
+
* its text).
|
|
4
|
+
*
|
|
5
|
+
* @module
|
|
6
|
+
*/
|
|
7
|
+
import type { CommandNode, CommandScope } from "@ensiria/cli-kit/commands.types";
|
|
8
|
+
import { type ForgebookOptions } from "./catalogueCommands.ts";
|
|
9
|
+
/**
|
|
10
|
+
* The commands.
|
|
11
|
+
*
|
|
12
|
+
* @param forgebook - the scope of the `forgebook` command, whose options every command takes.
|
|
13
|
+
*/
|
|
14
|
+
export declare const pagesCommands: (forgebook: CommandScope<ForgebookOptions>) => Readonly<Record<string, CommandNode>>;
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { EXIT } from "@ensiria/cli-kit/constants";
|
|
2
|
+
import { ScriptError } from "@ensiria/cli-kit/script";
|
|
3
|
+
import { MAX_QUERY } from "../../src/search.js";
|
|
4
|
+
import { isPageDocument, isPagesDocument, isSearchDocument } from "../../src/vite/agentApi.js";
|
|
5
|
+
import { pagesText, pageText, searchText } from "./agentText.js";
|
|
6
|
+
import { askCatalogue, COMMAND, configOf, printAnswer, printTokenAnswer } from "./catalogueCommands.js";
|
|
7
|
+
/** What both commands take. */
|
|
8
|
+
const PAGE_OPTIONS = {
|
|
9
|
+
view: {
|
|
10
|
+
type: "string",
|
|
11
|
+
valueName: "query",
|
|
12
|
+
description: "The view the links open in, as the catalogue's address writes it (theme=dark&lang=it)."
|
|
13
|
+
},
|
|
14
|
+
url: {
|
|
15
|
+
type: "string",
|
|
16
|
+
env: "FORGEBOOK_URL",
|
|
17
|
+
valueName: "address",
|
|
18
|
+
description: "Where forgebook dev runs, when not at Vite's default address (http://localhost:5173)."
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* The commands.
|
|
23
|
+
*
|
|
24
|
+
* @param forgebook - the scope of the `forgebook` command, whose options every command takes.
|
|
25
|
+
*/
|
|
26
|
+
export const pagesCommands = (forgebook) => ({
|
|
27
|
+
pages: forgebook.command({
|
|
28
|
+
summary: "List the catalogue's docs pages, with their ids and addresses; fail when the index has problems.",
|
|
29
|
+
json: true,
|
|
30
|
+
options: {
|
|
31
|
+
...PAGE_OPTIONS,
|
|
32
|
+
source: { type: "string", valueName: "id", description: "Only this source's pages." }
|
|
33
|
+
},
|
|
34
|
+
examples: [
|
|
35
|
+
{ command: `${COMMAND} pages`, description: "Every page, in reading order." },
|
|
36
|
+
{ command: `${COMMAND} pages --source kit --json`, description: "One library's pages, as JSON." }
|
|
37
|
+
],
|
|
38
|
+
run: async ({ options, io, log, isJson, style }) => {
|
|
39
|
+
const config = await configOf(options.config);
|
|
40
|
+
const params = new URLSearchParams({ view: options.view ?? "" });
|
|
41
|
+
const body = await askCatalogue(config, options.url, "pages", params, log);
|
|
42
|
+
if (!isPagesDocument(body))
|
|
43
|
+
throw new ScriptError("The catalogue's answer has an unexpected shape");
|
|
44
|
+
const { source } = options;
|
|
45
|
+
const pages = body.pages.filter((page) => source === undefined || page.source === source);
|
|
46
|
+
const document = { ...body, pages };
|
|
47
|
+
printAnswer(pagesText(document, style), document, document.problems, { io, log, isJson });
|
|
48
|
+
}
|
|
49
|
+
}),
|
|
50
|
+
page: forgebook.command({
|
|
51
|
+
summary: "Print one docs page: its Markdown, its headings with --json, the address that opens it.",
|
|
52
|
+
json: true,
|
|
53
|
+
options: PAGE_OPTIONS,
|
|
54
|
+
positionals: [
|
|
55
|
+
{
|
|
56
|
+
name: "id",
|
|
57
|
+
description: "The page's id, as forgebook pages lists it; home for the catalogue's written home.",
|
|
58
|
+
required: true
|
|
59
|
+
}
|
|
60
|
+
],
|
|
61
|
+
examples: [
|
|
62
|
+
{ command: `${COMMAND} page kit:guides-theming`, description: "Read a page." },
|
|
63
|
+
{ command: `${COMMAND} page kit:guides-theming --json`, description: "With its headings, as JSON." }
|
|
64
|
+
],
|
|
65
|
+
run: async ({ args, options, io, log, isJson }) => {
|
|
66
|
+
const config = await configOf(options.config);
|
|
67
|
+
const params = new URLSearchParams({ id: args.id, view: options.view ?? "" });
|
|
68
|
+
const body = await askCatalogue(config, options.url, "page", params, log);
|
|
69
|
+
if (!isPageDocument(body))
|
|
70
|
+
throw new ScriptError("The catalogue's answer has an unexpected shape");
|
|
71
|
+
printAnswer(pageText(body), body, body.problems, { io, log, isJson });
|
|
72
|
+
}
|
|
73
|
+
}),
|
|
74
|
+
search: forgebook.command({
|
|
75
|
+
summary: "Search the whole catalogue by its text: docs pages, props, descriptions, stories and names.",
|
|
76
|
+
json: true,
|
|
77
|
+
options: {
|
|
78
|
+
...PAGE_OPTIONS,
|
|
79
|
+
limit: {
|
|
80
|
+
type: "number",
|
|
81
|
+
valueName: "count",
|
|
82
|
+
description: "How many results to give: 8 by default, 50 at most."
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
positionals: [{ name: "query", description: "The words to look for.", required: true }],
|
|
86
|
+
examples: [
|
|
87
|
+
{ command: `${COMMAND} search onValueChange`, description: "The components with that prop." },
|
|
88
|
+
{
|
|
89
|
+
command: `${COMMAND} search "how the theme reaches a story" --json`,
|
|
90
|
+
description: "A sentence of the docs, with the address of its heading."
|
|
91
|
+
}
|
|
92
|
+
],
|
|
93
|
+
run: async ({ args, options, io, log, isJson }) => {
|
|
94
|
+
const config = await configOf(options.config);
|
|
95
|
+
const { limit } = options;
|
|
96
|
+
if (limit !== undefined && (!Number.isInteger(limit) || limit < 1))
|
|
97
|
+
throw new ScriptError("--limit takes a whole number above 0", { exitCode: EXIT.usage });
|
|
98
|
+
const params = new URLSearchParams({
|
|
99
|
+
query: args.query.slice(0, MAX_QUERY),
|
|
100
|
+
view: options.view ?? "",
|
|
101
|
+
limit: String(limit ?? "")
|
|
102
|
+
});
|
|
103
|
+
const body = await askCatalogue(config, options.url, "search", params, log);
|
|
104
|
+
if (!isSearchDocument(body))
|
|
105
|
+
throw new ScriptError("The catalogue's answer has an unexpected shape");
|
|
106
|
+
printTokenAnswer(searchText(body), body, { io, log, isJson });
|
|
107
|
+
}
|
|
108
|
+
})
|
|
109
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|