@supernal/interface 1.0.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/LICENSE +22 -0
- package/README.md +165 -0
- package/dist/cjs/names/API.js +104 -0
- package/dist/cjs/names/API.js.map +1 -0
- package/dist/cjs/names/Components.js +104 -0
- package/dist/cjs/names/Components.js.map +1 -0
- package/dist/cjs/names/Containers.js +99 -0
- package/dist/cjs/names/Containers.js.map +1 -0
- package/dist/cjs/names/Functions.js +114 -0
- package/dist/cjs/names/Functions.js.map +1 -0
- package/dist/cjs/names/index.js +118 -0
- package/dist/cjs/names/index.js.map +1 -0
- package/dist/cjs/src/adapters/ChatUIProvider.js +176 -0
- package/dist/cjs/src/adapters/ChatUIProvider.js.map +1 -0
- package/dist/cjs/src/adapters/bridge.js +225 -0
- package/dist/cjs/src/adapters/bridge.js.map +1 -0
- package/dist/cjs/src/adapters/copilotkit/CopilotKitAdapter.js +289 -0
- package/dist/cjs/src/adapters/copilotkit/CopilotKitAdapter.js.map +1 -0
- package/dist/cjs/src/adapters/copilotkit/index.js +10 -0
- package/dist/cjs/src/adapters/copilotkit/index.js.map +1 -0
- package/dist/cjs/src/adapters/index.js +63 -0
- package/dist/cjs/src/adapters/index.js.map +1 -0
- package/dist/cjs/src/adapters/native/NativeAdapter.js +268 -0
- package/dist/cjs/src/adapters/native/NativeAdapter.js.map +1 -0
- package/dist/cjs/src/adapters/native/index.js +10 -0
- package/dist/cjs/src/adapters/native/index.js.map +1 -0
- package/dist/cjs/src/adapters/types/index.js +9 -0
- package/dist/cjs/src/adapters/types/index.js.map +1 -0
- package/dist/cjs/src/ai/ToolExecutor.js +211 -0
- package/dist/cjs/src/ai/ToolExecutor.js.map +1 -0
- package/dist/cjs/src/ai/ToolMatcher.js +202 -0
- package/dist/cjs/src/ai/ToolMatcher.js.map +1 -0
- package/dist/cjs/src/ai/index.js +29 -0
- package/dist/cjs/src/ai/index.js.map +1 -0
- package/dist/cjs/src/architecture/createContainer.js +106 -0
- package/dist/cjs/src/architecture/createContainer.js.map +1 -0
- package/dist/cjs/src/architecture/initialize.js +125 -0
- package/dist/cjs/src/architecture/initialize.js.map +1 -0
- package/dist/cjs/src/architecture/registry.js +111 -0
- package/dist/cjs/src/architecture/registry.js.map +1 -0
- package/dist/cjs/src/background/architecture/ArchitectureInitializer.js +174 -0
- package/dist/cjs/src/background/architecture/ArchitectureInitializer.js.map +1 -0
- package/dist/cjs/src/background/architecture/Containers.js +46 -0
- package/dist/cjs/src/background/architecture/Containers.js.map +1 -0
- package/dist/cjs/src/background/architecture/DataContractTypes.js +28 -0
- package/dist/cjs/src/background/architecture/DataContractTypes.js.map +1 -0
- package/dist/cjs/src/background/architecture/index.js +24 -0
- package/dist/cjs/src/background/architecture/index.js.map +1 -0
- package/dist/cjs/src/background/navigation/NavigationGraph.js +71 -0
- package/dist/cjs/src/background/navigation/NavigationGraph.js.map +1 -0
- package/dist/cjs/src/background/navigation/RuntimeTreeBuilder.js +66 -0
- package/dist/cjs/src/background/navigation/RuntimeTreeBuilder.js.map +1 -0
- package/dist/cjs/src/background/navigation/useComponentTracking.js +20 -0
- package/dist/cjs/src/background/navigation/useComponentTracking.js.map +1 -0
- package/dist/cjs/src/background/registry/ComponentRegistry.js +340 -0
- package/dist/cjs/src/background/registry/ComponentRegistry.js.map +1 -0
- package/dist/cjs/src/background/registry/ToolRegistry.js +668 -0
- package/dist/cjs/src/background/registry/ToolRegistry.js.map +1 -0
- package/dist/cjs/src/browser.js +70 -0
- package/dist/cjs/src/browser.js.map +1 -0
- package/dist/cjs/src/components/ComponentScanner.js +362 -0
- package/dist/cjs/src/components/ComponentScanner.js.map +1 -0
- package/dist/cjs/src/components/index.js +24 -0
- package/dist/cjs/src/components/index.js.map +1 -0
- package/dist/cjs/src/data/TestDataManager.js +187 -0
- package/dist/cjs/src/data/TestDataManager.js.map +1 -0
- package/dist/cjs/src/data/index.js +23 -0
- package/dist/cjs/src/data/index.js.map +1 -0
- package/dist/cjs/src/decorators/Component.js +108 -0
- package/dist/cjs/src/decorators/Component.js.map +1 -0
- package/dist/cjs/src/decorators/ContainerHelpers.js +45 -0
- package/dist/cjs/src/decorators/ContainerHelpers.js.map +1 -0
- package/dist/cjs/src/decorators/SpecializedTools.js +386 -0
- package/dist/cjs/src/decorators/SpecializedTools.js.map +1 -0
- package/dist/cjs/src/decorators/Tool.js +700 -0
- package/dist/cjs/src/decorators/Tool.js.map +1 -0
- package/dist/cjs/src/decorators/ToolHelpers.js +261 -0
- package/dist/cjs/src/decorators/ToolHelpers.js.map +1 -0
- package/dist/cjs/src/decorators/ToolPreset.js +270 -0
- package/dist/cjs/src/decorators/ToolPreset.js.map +1 -0
- package/dist/cjs/src/decorators/ToolProvider.js +86 -0
- package/dist/cjs/src/decorators/ToolProvider.js.map +1 -0
- package/dist/cjs/src/decorators/index.js +44 -0
- package/dist/cjs/src/decorators/index.js.map +1 -0
- package/dist/cjs/src/execution/DOMExecutor.js +233 -0
- package/dist/cjs/src/execution/DOMExecutor.js.map +1 -0
- package/dist/cjs/src/execution/PlaywrightExecutor.js +196 -0
- package/dist/cjs/src/execution/PlaywrightExecutor.js.map +1 -0
- package/dist/cjs/src/exposure/ExposureCollector.js +358 -0
- package/dist/cjs/src/exposure/ExposureCollector.js.map +1 -0
- package/dist/cjs/src/exposure/index.js +26 -0
- package/dist/cjs/src/exposure/index.js.map +1 -0
- package/dist/cjs/src/index.js +187 -0
- package/dist/cjs/src/index.js.map +1 -0
- package/dist/cjs/src/interfaces/StatefulComponent.js +50 -0
- package/dist/cjs/src/interfaces/StatefulComponent.js.map +1 -0
- package/dist/cjs/src/name-contracts/ContractScanner.js +15 -0
- package/dist/cjs/src/name-contracts/ContractScanner.js.map +1 -0
- package/dist/cjs/src/name-contracts/RouteContractScanner.js +225 -0
- package/dist/cjs/src/name-contracts/RouteContractScanner.js.map +1 -0
- package/dist/cjs/src/name-contracts/index.js +15 -0
- package/dist/cjs/src/name-contracts/index.js.map +1 -0
- package/dist/cjs/src/names/createNames.js +86 -0
- package/dist/cjs/src/names/createNames.js.map +1 -0
- package/dist/cjs/src/react/hooks/useChatWithContext.js +221 -0
- package/dist/cjs/src/react/hooks/useChatWithContext.js.map +1 -0
- package/dist/cjs/src/react/index.js +28 -0
- package/dist/cjs/src/react/index.js.map +1 -0
- package/dist/cjs/src/react/useNavigationHandler.js +88 -0
- package/dist/cjs/src/react/useNavigationHandler.js.map +1 -0
- package/dist/cjs/src/react/usePersistedState.js +72 -0
- package/dist/cjs/src/react/usePersistedState.js.map +1 -0
- package/dist/cjs/src/react/useToolBinding.js +110 -0
- package/dist/cjs/src/react/useToolBinding.js.map +1 -0
- package/dist/cjs/src/routes/RouteContractGenerator.js +119 -0
- package/dist/cjs/src/routes/RouteContractGenerator.js.map +1 -0
- package/dist/cjs/src/routes/RouteContractsConfig.js +39 -0
- package/dist/cjs/src/routes/RouteContractsConfig.js.map +1 -0
- package/dist/cjs/src/routes/index.js +20 -0
- package/dist/cjs/src/routes/index.js.map +1 -0
- package/dist/cjs/src/routes/scanners/NameExtractor.js +193 -0
- package/dist/cjs/src/routes/scanners/NameExtractor.js.map +1 -0
- package/dist/cjs/src/routes/scanners/NextjsDynamicScanner.js +102 -0
- package/dist/cjs/src/routes/scanners/NextjsDynamicScanner.js.map +1 -0
- package/dist/cjs/src/routes/scanners/RouteScanner.js +13 -0
- package/dist/cjs/src/routes/scanners/RouteScanner.js.map +1 -0
- package/dist/cjs/src/storage/LocalStorageAdapter.js +87 -0
- package/dist/cjs/src/storage/LocalStorageAdapter.js.map +1 -0
- package/dist/cjs/src/storage/StateManager.js +299 -0
- package/dist/cjs/src/storage/StateManager.js.map +1 -0
- package/dist/cjs/src/storage/StorageAdapter.js +164 -0
- package/dist/cjs/src/storage/StorageAdapter.js.map +1 -0
- package/dist/cjs/src/storage/index.js +37 -0
- package/dist/cjs/src/storage/index.js.map +1 -0
- package/dist/cjs/src/testing/BrowserStateInjection.js +130 -0
- package/dist/cjs/src/testing/BrowserStateInjection.js.map +1 -0
- package/dist/cjs/src/testing/ComponentStateHelpers.js +200 -0
- package/dist/cjs/src/testing/ComponentStateHelpers.js.map +1 -0
- package/dist/cjs/src/testing/GherkinParser.js +252 -0
- package/dist/cjs/src/testing/GherkinParser.js.map +1 -0
- package/dist/cjs/src/testing/PlaywrightStateHelpers.js +254 -0
- package/dist/cjs/src/testing/PlaywrightStateHelpers.js.map +1 -0
- package/dist/cjs/src/testing/TestRunner.js +158 -0
- package/dist/cjs/src/testing/TestRunner.js.map +1 -0
- package/dist/cjs/src/testing/index.js +46 -0
- package/dist/cjs/src/testing/index.js.map +1 -0
- package/dist/cjs/src/testing/selectors.js +84 -0
- package/dist/cjs/src/testing/selectors.js.map +1 -0
- package/dist/cjs/src/tools/SystemTools.js +262 -0
- package/dist/cjs/src/tools/SystemTools.js.map +1 -0
- package/dist/cjs/src/types/ClassifiedTool.js +50 -0
- package/dist/cjs/src/types/ClassifiedTool.js.map +1 -0
- package/dist/cjs/src/types/ComponentState.js +30 -0
- package/dist/cjs/src/types/ComponentState.js.map +1 -0
- package/dist/cjs/src/types/DiscoverableToolProvider.js +9 -0
- package/dist/cjs/src/types/DiscoverableToolProvider.js.map +1 -0
- package/dist/cjs/src/types/ExposureState.js +25 -0
- package/dist/cjs/src/types/ExposureState.js.map +1 -0
- package/dist/cjs/src/types/NavigationGraph.js +8 -0
- package/dist/cjs/src/types/NavigationGraph.js.map +1 -0
- package/dist/cjs/src/types/OperationType.js +49 -0
- package/dist/cjs/src/types/OperationType.js.map +1 -0
- package/dist/cjs/src/types/StateManagers.js +39 -0
- package/dist/cjs/src/types/StateManagers.js.map +1 -0
- package/dist/cjs/src/types/Tool.js +41 -0
- package/dist/cjs/src/types/Tool.js.map +1 -0
- package/dist/cjs/src/types/ToolPermissions.js +54 -0
- package/dist/cjs/src/types/ToolPermissions.js.map +1 -0
- package/dist/cjs/src/types/ToolResult.js +25 -0
- package/dist/cjs/src/types/ToolResult.js.map +1 -0
- package/dist/cjs/src/types/index.js +59 -0
- package/dist/cjs/src/types/index.js.map +1 -0
- package/dist/cjs/src/ui/react/chat/ChatBubble.js +221 -0
- package/dist/cjs/src/ui/react/chat/ChatBubble.js.map +1 -0
- package/dist/esm/names/API.d.ts +77 -0
- package/dist/esm/names/API.d.ts.map +1 -0
- package/dist/esm/names/API.js +99 -0
- package/dist/esm/names/API.js.map +1 -0
- package/dist/esm/names/Components.d.ts +77 -0
- package/dist/esm/names/Components.d.ts.map +1 -0
- package/dist/esm/names/Components.js +99 -0
- package/dist/esm/names/Components.js.map +1 -0
- package/dist/esm/names/Containers.d.ts +84 -0
- package/dist/esm/names/Containers.d.ts.map +1 -0
- package/dist/esm/names/Containers.js +94 -0
- package/dist/esm/names/Containers.js.map +1 -0
- package/dist/esm/names/Functions.d.ts +87 -0
- package/dist/esm/names/Functions.d.ts.map +1 -0
- package/dist/esm/names/Functions.js +109 -0
- package/dist/esm/names/Functions.js.map +1 -0
- package/dist/esm/names/index.d.ts +187 -0
- package/dist/esm/names/index.d.ts.map +1 -0
- package/dist/esm/names/index.js +99 -0
- package/dist/esm/names/index.js.map +1 -0
- package/dist/esm/src/adapters/ChatUIProvider.d.ts +76 -0
- package/dist/esm/src/adapters/ChatUIProvider.d.ts.map +1 -0
- package/dist/esm/src/adapters/ChatUIProvider.js +136 -0
- package/dist/esm/src/adapters/ChatUIProvider.js.map +1 -0
- package/dist/esm/src/adapters/bridge.d.ts +145 -0
- package/dist/esm/src/adapters/bridge.d.ts.map +1 -0
- package/dist/esm/src/adapters/bridge.js +218 -0
- package/dist/esm/src/adapters/bridge.js.map +1 -0
- package/dist/esm/src/adapters/copilotkit/CopilotKitAdapter.d.ts +49 -0
- package/dist/esm/src/adapters/copilotkit/CopilotKitAdapter.d.ts.map +1 -0
- package/dist/esm/src/adapters/copilotkit/CopilotKitAdapter.js +251 -0
- package/dist/esm/src/adapters/copilotkit/CopilotKitAdapter.js.map +1 -0
- package/dist/esm/src/adapters/copilotkit/index.d.ts +6 -0
- package/dist/esm/src/adapters/copilotkit/index.d.ts.map +1 -0
- package/dist/esm/src/adapters/copilotkit/index.js +5 -0
- package/dist/esm/src/adapters/copilotkit/index.js.map +1 -0
- package/dist/esm/src/adapters/index.d.ts +31 -0
- package/dist/esm/src/adapters/index.d.ts.map +1 -0
- package/dist/esm/src/adapters/index.js +32 -0
- package/dist/esm/src/adapters/index.js.map +1 -0
- package/dist/esm/src/adapters/native/NativeAdapter.d.ts +47 -0
- package/dist/esm/src/adapters/native/NativeAdapter.d.ts.map +1 -0
- package/dist/esm/src/adapters/native/NativeAdapter.js +230 -0
- package/dist/esm/src/adapters/native/NativeAdapter.js.map +1 -0
- package/dist/esm/src/adapters/native/index.d.ts +6 -0
- package/dist/esm/src/adapters/native/index.d.ts.map +1 -0
- package/dist/esm/src/adapters/native/index.js +5 -0
- package/dist/esm/src/adapters/native/index.js.map +1 -0
- package/dist/esm/src/adapters/types/index.d.ts +155 -0
- package/dist/esm/src/adapters/types/index.d.ts.map +1 -0
- package/dist/esm/src/adapters/types/index.js +8 -0
- package/dist/esm/src/adapters/types/index.js.map +1 -0
- package/dist/esm/src/ai/ToolExecutor.d.ts +49 -0
- package/dist/esm/src/ai/ToolExecutor.d.ts.map +1 -0
- package/dist/esm/src/ai/ToolExecutor.js +174 -0
- package/dist/esm/src/ai/ToolExecutor.js.map +1 -0
- package/dist/esm/src/ai/ToolMatcher.d.ts +61 -0
- package/dist/esm/src/ai/ToolMatcher.d.ts.map +1 -0
- package/dist/esm/src/ai/ToolMatcher.js +198 -0
- package/dist/esm/src/ai/ToolMatcher.js.map +1 -0
- package/dist/esm/src/ai/index.d.ts +9 -0
- package/dist/esm/src/ai/index.d.ts.map +1 -0
- package/dist/esm/src/ai/index.js +13 -0
- package/dist/esm/src/ai/index.js.map +1 -0
- package/dist/esm/src/architecture/createContainer.d.ts +60 -0
- package/dist/esm/src/architecture/createContainer.d.ts.map +1 -0
- package/dist/esm/src/architecture/createContainer.js +102 -0
- package/dist/esm/src/architecture/createContainer.js.map +1 -0
- package/dist/esm/src/architecture/initialize.d.ts +81 -0
- package/dist/esm/src/architecture/initialize.d.ts.map +1 -0
- package/dist/esm/src/architecture/initialize.js +121 -0
- package/dist/esm/src/architecture/initialize.js.map +1 -0
- package/dist/esm/src/architecture/registry.d.ts +61 -0
- package/dist/esm/src/architecture/registry.d.ts.map +1 -0
- package/dist/esm/src/architecture/registry.js +107 -0
- package/dist/esm/src/architecture/registry.js.map +1 -0
- package/dist/esm/src/background/architecture/ArchitectureInitializer.d.ts +95 -0
- package/dist/esm/src/background/architecture/ArchitectureInitializer.d.ts.map +1 -0
- package/dist/esm/src/background/architecture/ArchitectureInitializer.js +170 -0
- package/dist/esm/src/background/architecture/ArchitectureInitializer.js.map +1 -0
- package/dist/esm/src/background/architecture/Containers.d.ts +52 -0
- package/dist/esm/src/background/architecture/Containers.d.ts.map +1 -0
- package/dist/esm/src/background/architecture/Containers.js +40 -0
- package/dist/esm/src/background/architecture/Containers.js.map +1 -0
- package/dist/esm/src/background/architecture/DataContractTypes.d.ts +33 -0
- package/dist/esm/src/background/architecture/DataContractTypes.d.ts.map +1 -0
- package/dist/esm/src/background/architecture/DataContractTypes.js +22 -0
- package/dist/esm/src/background/architecture/DataContractTypes.js.map +1 -0
- package/dist/esm/src/background/architecture/index.d.ts +12 -0
- package/dist/esm/src/background/architecture/index.d.ts.map +1 -0
- package/dist/esm/src/background/architecture/index.js +13 -0
- package/dist/esm/src/background/architecture/index.js.map +1 -0
- package/dist/esm/src/background/navigation/NavigationGraph.d.ts +48 -0
- package/dist/esm/src/background/navigation/NavigationGraph.d.ts.map +1 -0
- package/dist/esm/src/background/navigation/NavigationGraph.js +67 -0
- package/dist/esm/src/background/navigation/NavigationGraph.js.map +1 -0
- package/dist/esm/src/background/navigation/RuntimeTreeBuilder.d.ts +30 -0
- package/dist/esm/src/background/navigation/RuntimeTreeBuilder.d.ts.map +1 -0
- package/dist/esm/src/background/navigation/RuntimeTreeBuilder.js +60 -0
- package/dist/esm/src/background/navigation/RuntimeTreeBuilder.js.map +1 -0
- package/dist/esm/src/background/navigation/useComponentTracking.d.ts +10 -0
- package/dist/esm/src/background/navigation/useComponentTracking.d.ts.map +1 -0
- package/dist/esm/src/background/navigation/useComponentTracking.js +17 -0
- package/dist/esm/src/background/navigation/useComponentTracking.js.map +1 -0
- package/dist/esm/src/background/registry/ComponentRegistry.d.ts +192 -0
- package/dist/esm/src/background/registry/ComponentRegistry.d.ts.map +1 -0
- package/dist/esm/src/background/registry/ComponentRegistry.js +336 -0
- package/dist/esm/src/background/registry/ComponentRegistry.js.map +1 -0
- package/dist/esm/src/background/registry/ToolRegistry.d.ts +232 -0
- package/dist/esm/src/background/registry/ToolRegistry.d.ts.map +1 -0
- package/dist/esm/src/background/registry/ToolRegistry.js +664 -0
- package/dist/esm/src/background/registry/ToolRegistry.js.map +1 -0
- package/dist/esm/src/browser.d.ts +21 -0
- package/dist/esm/src/browser.d.ts.map +1 -0
- package/dist/esm/src/browser.js +31 -0
- package/dist/esm/src/browser.js.map +1 -0
- package/dist/esm/src/components/ComponentScanner.d.ts +99 -0
- package/dist/esm/src/components/ComponentScanner.d.ts.map +1 -0
- package/dist/esm/src/components/ComponentScanner.js +325 -0
- package/dist/esm/src/components/ComponentScanner.js.map +1 -0
- package/dist/esm/src/components/index.d.ts +9 -0
- package/dist/esm/src/components/index.d.ts.map +1 -0
- package/dist/esm/src/components/index.js +8 -0
- package/dist/esm/src/components/index.js.map +1 -0
- package/dist/esm/src/data/TestDataManager.d.ts +125 -0
- package/dist/esm/src/data/TestDataManager.d.ts.map +1 -0
- package/dist/esm/src/data/TestDataManager.js +183 -0
- package/dist/esm/src/data/TestDataManager.js.map +1 -0
- package/dist/esm/src/data/index.d.ts +7 -0
- package/dist/esm/src/data/index.d.ts.map +1 -0
- package/dist/esm/src/data/index.js +7 -0
- package/dist/esm/src/data/index.js.map +1 -0
- package/dist/esm/src/decorators/Component.d.ts +59 -0
- package/dist/esm/src/decorators/Component.d.ts.map +1 -0
- package/dist/esm/src/decorators/Component.js +103 -0
- package/dist/esm/src/decorators/Component.js.map +1 -0
- package/dist/esm/src/decorators/ContainerHelpers.d.ts +26 -0
- package/dist/esm/src/decorators/ContainerHelpers.d.ts.map +1 -0
- package/dist/esm/src/decorators/ContainerHelpers.js +42 -0
- package/dist/esm/src/decorators/ContainerHelpers.js.map +1 -0
- package/dist/esm/src/decorators/SpecializedTools.d.ts +218 -0
- package/dist/esm/src/decorators/SpecializedTools.d.ts.map +1 -0
- package/dist/esm/src/decorators/SpecializedTools.js +383 -0
- package/dist/esm/src/decorators/SpecializedTools.js.map +1 -0
- package/dist/esm/src/decorators/Tool.d.ts +210 -0
- package/dist/esm/src/decorators/Tool.d.ts.map +1 -0
- package/dist/esm/src/decorators/Tool.js +694 -0
- package/dist/esm/src/decorators/Tool.js.map +1 -0
- package/dist/esm/src/decorators/ToolHelpers.d.ts +74 -0
- package/dist/esm/src/decorators/ToolHelpers.d.ts.map +1 -0
- package/dist/esm/src/decorators/ToolHelpers.js +219 -0
- package/dist/esm/src/decorators/ToolHelpers.js.map +1 -0
- package/dist/esm/src/decorators/ToolPreset.d.ts +138 -0
- package/dist/esm/src/decorators/ToolPreset.d.ts.map +1 -0
- package/dist/esm/src/decorators/ToolPreset.js +259 -0
- package/dist/esm/src/decorators/ToolPreset.js.map +1 -0
- package/dist/esm/src/decorators/ToolProvider.d.ts +65 -0
- package/dist/esm/src/decorators/ToolProvider.d.ts.map +1 -0
- package/dist/esm/src/decorators/ToolProvider.js +81 -0
- package/dist/esm/src/decorators/ToolProvider.js.map +1 -0
- package/dist/esm/src/decorators/index.d.ts +13 -0
- package/dist/esm/src/decorators/index.d.ts.map +1 -0
- package/dist/esm/src/decorators/index.js +14 -0
- package/dist/esm/src/decorators/index.js.map +1 -0
- package/dist/esm/src/execution/DOMExecutor.d.ts +43 -0
- package/dist/esm/src/execution/DOMExecutor.d.ts.map +1 -0
- package/dist/esm/src/execution/DOMExecutor.js +229 -0
- package/dist/esm/src/execution/DOMExecutor.js.map +1 -0
- package/dist/esm/src/execution/PlaywrightExecutor.d.ts +38 -0
- package/dist/esm/src/execution/PlaywrightExecutor.d.ts.map +1 -0
- package/dist/esm/src/execution/PlaywrightExecutor.js +192 -0
- package/dist/esm/src/execution/PlaywrightExecutor.js.map +1 -0
- package/dist/esm/src/exposure/ExposureCollector.d.ts +88 -0
- package/dist/esm/src/exposure/ExposureCollector.d.ts.map +1 -0
- package/dist/esm/src/exposure/ExposureCollector.js +354 -0
- package/dist/esm/src/exposure/ExposureCollector.js.map +1 -0
- package/dist/esm/src/exposure/index.d.ts +8 -0
- package/dist/esm/src/exposure/index.d.ts.map +1 -0
- package/dist/esm/src/exposure/index.js +10 -0
- package/dist/esm/src/exposure/index.js.map +1 -0
- package/dist/esm/src/index.d.ts +49 -0
- package/dist/esm/src/index.d.ts.map +1 -0
- package/dist/esm/src/index.js +79 -0
- package/dist/esm/src/index.js.map +1 -0
- package/dist/esm/src/interfaces/StatefulComponent.d.ts +72 -0
- package/dist/esm/src/interfaces/StatefulComponent.d.ts.map +1 -0
- package/dist/esm/src/interfaces/StatefulComponent.js +47 -0
- package/dist/esm/src/interfaces/StatefulComponent.js.map +1 -0
- package/dist/esm/src/name-contracts/ContractScanner.d.ts +61 -0
- package/dist/esm/src/name-contracts/ContractScanner.d.ts.map +1 -0
- package/dist/esm/src/name-contracts/ContractScanner.js +11 -0
- package/dist/esm/src/name-contracts/ContractScanner.js.map +1 -0
- package/dist/esm/src/name-contracts/RouteContractScanner.d.ts +30 -0
- package/dist/esm/src/name-contracts/RouteContractScanner.d.ts.map +1 -0
- package/dist/esm/src/name-contracts/RouteContractScanner.js +188 -0
- package/dist/esm/src/name-contracts/RouteContractScanner.js.map +1 -0
- package/dist/esm/src/name-contracts/index.d.ts +10 -0
- package/dist/esm/src/name-contracts/index.d.ts.map +1 -0
- package/dist/esm/src/name-contracts/index.js +10 -0
- package/dist/esm/src/name-contracts/index.js.map +1 -0
- package/dist/esm/src/names/createNames.d.ts +49 -0
- package/dist/esm/src/names/createNames.d.ts.map +1 -0
- package/dist/esm/src/names/createNames.js +81 -0
- package/dist/esm/src/names/createNames.js.map +1 -0
- package/dist/esm/src/react/hooks/useChatWithContext.d.ts +68 -0
- package/dist/esm/src/react/hooks/useChatWithContext.d.ts.map +1 -0
- package/dist/esm/src/react/hooks/useChatWithContext.js +218 -0
- package/dist/esm/src/react/hooks/useChatWithContext.js.map +1 -0
- package/dist/esm/src/react/index.d.ts +12 -0
- package/dist/esm/src/react/index.d.ts.map +1 -0
- package/dist/esm/src/react/index.js +21 -0
- package/dist/esm/src/react/index.js.map +1 -0
- package/dist/esm/src/react/useNavigationHandler.d.ts +42 -0
- package/dist/esm/src/react/useNavigationHandler.d.ts.map +1 -0
- package/dist/esm/src/react/useNavigationHandler.js +85 -0
- package/dist/esm/src/react/useNavigationHandler.js.map +1 -0
- package/dist/esm/src/react/usePersistedState.d.ts +13 -0
- package/dist/esm/src/react/usePersistedState.d.ts.map +1 -0
- package/dist/esm/src/react/usePersistedState.js +69 -0
- package/dist/esm/src/react/usePersistedState.js.map +1 -0
- package/dist/esm/src/react/useToolBinding.d.ts +8 -0
- package/dist/esm/src/react/useToolBinding.d.ts.map +1 -0
- package/dist/esm/src/react/useToolBinding.js +107 -0
- package/dist/esm/src/react/useToolBinding.js.map +1 -0
- package/dist/esm/src/routes/RouteContractGenerator.d.ts +37 -0
- package/dist/esm/src/routes/RouteContractGenerator.d.ts.map +1 -0
- package/dist/esm/src/routes/RouteContractGenerator.js +115 -0
- package/dist/esm/src/routes/RouteContractGenerator.js.map +1 -0
- package/dist/esm/src/routes/RouteContractsConfig.d.ts +93 -0
- package/dist/esm/src/routes/RouteContractsConfig.d.ts.map +1 -0
- package/dist/esm/src/routes/RouteContractsConfig.js +36 -0
- package/dist/esm/src/routes/RouteContractsConfig.js.map +1 -0
- package/dist/esm/src/routes/index.d.ts +13 -0
- package/dist/esm/src/routes/index.d.ts.map +1 -0
- package/dist/esm/src/routes/index.js +13 -0
- package/dist/esm/src/routes/index.js.map +1 -0
- package/dist/esm/src/routes/scanners/NameExtractor.d.ts +36 -0
- package/dist/esm/src/routes/scanners/NameExtractor.d.ts.map +1 -0
- package/dist/esm/src/routes/scanners/NameExtractor.js +156 -0
- package/dist/esm/src/routes/scanners/NameExtractor.js.map +1 -0
- package/dist/esm/src/routes/scanners/NextjsDynamicScanner.d.ts +35 -0
- package/dist/esm/src/routes/scanners/NextjsDynamicScanner.d.ts.map +1 -0
- package/dist/esm/src/routes/scanners/NextjsDynamicScanner.js +98 -0
- package/dist/esm/src/routes/scanners/NextjsDynamicScanner.js.map +1 -0
- package/dist/esm/src/routes/scanners/RouteScanner.d.ts +64 -0
- package/dist/esm/src/routes/scanners/RouteScanner.d.ts.map +1 -0
- package/dist/esm/src/routes/scanners/RouteScanner.js +9 -0
- package/dist/esm/src/routes/scanners/RouteScanner.js.map +1 -0
- package/dist/esm/src/storage/LocalStorageAdapter.d.ts +29 -0
- package/dist/esm/src/storage/LocalStorageAdapter.d.ts.map +1 -0
- package/dist/esm/src/storage/LocalStorageAdapter.js +83 -0
- package/dist/esm/src/storage/LocalStorageAdapter.js.map +1 -0
- package/dist/esm/src/storage/StateManager.d.ts +175 -0
- package/dist/esm/src/storage/StateManager.d.ts.map +1 -0
- package/dist/esm/src/storage/StateManager.js +295 -0
- package/dist/esm/src/storage/StateManager.js.map +1 -0
- package/dist/esm/src/storage/StorageAdapter.d.ts +94 -0
- package/dist/esm/src/storage/StorageAdapter.d.ts.map +1 -0
- package/dist/esm/src/storage/StorageAdapter.js +158 -0
- package/dist/esm/src/storage/StorageAdapter.js.map +1 -0
- package/dist/esm/src/storage/index.d.ts +12 -0
- package/dist/esm/src/storage/index.d.ts.map +1 -0
- package/dist/esm/src/storage/index.js +17 -0
- package/dist/esm/src/storage/index.js.map +1 -0
- package/dist/esm/src/testing/BrowserStateInjection.d.ts +74 -0
- package/dist/esm/src/testing/BrowserStateInjection.d.ts.map +1 -0
- package/dist/esm/src/testing/BrowserStateInjection.js +126 -0
- package/dist/esm/src/testing/BrowserStateInjection.js.map +1 -0
- package/dist/esm/src/testing/ComponentStateHelpers.d.ts +121 -0
- package/dist/esm/src/testing/ComponentStateHelpers.d.ts.map +1 -0
- package/dist/esm/src/testing/ComponentStateHelpers.js +190 -0
- package/dist/esm/src/testing/ComponentStateHelpers.js.map +1 -0
- package/dist/esm/src/testing/GherkinParser.d.ts +87 -0
- package/dist/esm/src/testing/GherkinParser.d.ts.map +1 -0
- package/dist/esm/src/testing/GherkinParser.js +248 -0
- package/dist/esm/src/testing/GherkinParser.js.map +1 -0
- package/dist/esm/src/testing/PlaywrightStateHelpers.d.ts +163 -0
- package/dist/esm/src/testing/PlaywrightStateHelpers.d.ts.map +1 -0
- package/dist/esm/src/testing/PlaywrightStateHelpers.js +242 -0
- package/dist/esm/src/testing/PlaywrightStateHelpers.js.map +1 -0
- package/dist/esm/src/testing/TestRunner.d.ts +50 -0
- package/dist/esm/src/testing/TestRunner.d.ts.map +1 -0
- package/dist/esm/src/testing/TestRunner.js +121 -0
- package/dist/esm/src/testing/TestRunner.js.map +1 -0
- package/dist/esm/src/testing/index.d.ts +12 -0
- package/dist/esm/src/testing/index.d.ts.map +1 -0
- package/dist/esm/src/testing/index.js +25 -0
- package/dist/esm/src/testing/index.js.map +1 -0
- package/dist/esm/src/testing/selectors.d.ts +65 -0
- package/dist/esm/src/testing/selectors.d.ts.map +1 -0
- package/dist/esm/src/testing/selectors.js +76 -0
- package/dist/esm/src/testing/selectors.js.map +1 -0
- package/dist/esm/src/tools/SystemTools.d.ts +139 -0
- package/dist/esm/src/tools/SystemTools.d.ts.map +1 -0
- package/dist/esm/src/tools/SystemTools.js +258 -0
- package/dist/esm/src/tools/SystemTools.js.map +1 -0
- package/dist/esm/src/types/ClassifiedTool.d.ts +61 -0
- package/dist/esm/src/types/ClassifiedTool.d.ts.map +1 -0
- package/dist/esm/src/types/ClassifiedTool.js +47 -0
- package/dist/esm/src/types/ClassifiedTool.js.map +1 -0
- package/dist/esm/src/types/ComponentState.d.ts +207 -0
- package/dist/esm/src/types/ComponentState.d.ts.map +1 -0
- package/dist/esm/src/types/ComponentState.js +25 -0
- package/dist/esm/src/types/ComponentState.js.map +1 -0
- package/dist/esm/src/types/DiscoverableToolProvider.d.ts +59 -0
- package/dist/esm/src/types/DiscoverableToolProvider.d.ts.map +1 -0
- package/dist/esm/src/types/DiscoverableToolProvider.js +8 -0
- package/dist/esm/src/types/DiscoverableToolProvider.js.map +1 -0
- package/dist/esm/src/types/ExposureState.d.ts +75 -0
- package/dist/esm/src/types/ExposureState.d.ts.map +1 -0
- package/dist/esm/src/types/ExposureState.js +22 -0
- package/dist/esm/src/types/ExposureState.js.map +1 -0
- package/dist/esm/src/types/NavigationGraph.d.ts +98 -0
- package/dist/esm/src/types/NavigationGraph.d.ts.map +1 -0
- package/dist/esm/src/types/NavigationGraph.js +7 -0
- package/dist/esm/src/types/NavigationGraph.js.map +1 -0
- package/dist/esm/src/types/OperationType.d.ts +45 -0
- package/dist/esm/src/types/OperationType.d.ts.map +1 -0
- package/dist/esm/src/types/OperationType.js +46 -0
- package/dist/esm/src/types/OperationType.js.map +1 -0
- package/dist/esm/src/types/StateManagers.d.ts +35 -0
- package/dist/esm/src/types/StateManagers.d.ts.map +1 -0
- package/dist/esm/src/types/StateManagers.js +36 -0
- package/dist/esm/src/types/StateManagers.js.map +1 -0
- package/dist/esm/src/types/Tool.d.ts +162 -0
- package/dist/esm/src/types/Tool.d.ts.map +1 -0
- package/dist/esm/src/types/Tool.js +38 -0
- package/dist/esm/src/types/Tool.js.map +1 -0
- package/dist/esm/src/types/ToolPermissions.d.ts +73 -0
- package/dist/esm/src/types/ToolPermissions.d.ts.map +1 -0
- package/dist/esm/src/types/ToolPermissions.js +51 -0
- package/dist/esm/src/types/ToolPermissions.js.map +1 -0
- package/dist/esm/src/types/ToolResult.d.ts +129 -0
- package/dist/esm/src/types/ToolResult.d.ts.map +1 -0
- package/dist/esm/src/types/ToolResult.js +22 -0
- package/dist/esm/src/types/ToolResult.js.map +1 -0
- package/dist/esm/src/types/index.d.ts +47 -0
- package/dist/esm/src/types/index.d.ts.map +1 -0
- package/dist/esm/src/types/index.js +42 -0
- package/dist/esm/src/types/index.js.map +1 -0
- package/dist/esm/src/ui/react/chat/ChatBubble.d.ts +23 -0
- package/dist/esm/src/ui/react/chat/ChatBubble.d.ts.map +1 -0
- package/dist/esm/src/ui/react/chat/ChatBubble.js +184 -0
- package/dist/esm/src/ui/react/chat/ChatBubble.js.map +1 -0
- package/package.json +118 -0
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Zero-Config Architecture Initialization
|
|
4
|
+
*
|
|
5
|
+
* Automatically discovers and initializes architecture from registered components and containers.
|
|
6
|
+
* Uses convention over configuration to eliminate boilerplate.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.initializeArchitecture = initializeArchitecture;
|
|
10
|
+
exports.createAutoInitializer = createAutoInitializer;
|
|
11
|
+
const registry_1 = require("./registry");
|
|
12
|
+
const NavigationGraph_1 = require("../background/navigation/NavigationGraph");
|
|
13
|
+
/**
|
|
14
|
+
* Initialize architecture from registered components and containers
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* // After importing component/container definitions:
|
|
19
|
+
* export const DemoArchitecture = initializeArchitecture({
|
|
20
|
+
* autoInferEdges: true,
|
|
21
|
+
* });
|
|
22
|
+
*
|
|
23
|
+
* // In your app:
|
|
24
|
+
* DemoArchitecture.initialize();
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
function initializeArchitecture(options = {}) {
|
|
28
|
+
const components = registry_1.architectureRegistry.getComponents();
|
|
29
|
+
const containers = registry_1.architectureRegistry.getContainers();
|
|
30
|
+
// Auto-infer navigation mapping if not provided
|
|
31
|
+
const navToContainerMap = options.navToContainerMap ||
|
|
32
|
+
(0, registry_1.inferNavToContainerMap)(components.GlobalNav || {}, containers);
|
|
33
|
+
const graph = NavigationGraph_1.NavigationGraph.getInstance();
|
|
34
|
+
let initialized = false;
|
|
35
|
+
return {
|
|
36
|
+
initialize() {
|
|
37
|
+
if (initialized) {
|
|
38
|
+
// eslint-disable-next-line no-console
|
|
39
|
+
console.warn('Architecture already initialized');
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
// Register containers as navigation contexts
|
|
43
|
+
for (const container of Object.values(containers)) {
|
|
44
|
+
graph.registerContext({
|
|
45
|
+
id: container.id,
|
|
46
|
+
name: container.name,
|
|
47
|
+
children: [],
|
|
48
|
+
tools: [],
|
|
49
|
+
metadata: {
|
|
50
|
+
type: container.type,
|
|
51
|
+
route: container.route,
|
|
52
|
+
description: container.description,
|
|
53
|
+
...container.metadata,
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
// Register navigation edges (GlobalNav → Containers)
|
|
58
|
+
if (components.GlobalNav) {
|
|
59
|
+
for (const [navKey] of Object.entries(components.GlobalNav)) {
|
|
60
|
+
const containerName = navToContainerMap[navKey];
|
|
61
|
+
if (containerName && containers[containerName]) {
|
|
62
|
+
graph.registerEdge({
|
|
63
|
+
from: 'global',
|
|
64
|
+
to: containers[containerName].id,
|
|
65
|
+
navigationTool: `navigate-to-${containers[containerName].id}`,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
// Custom initialization logic
|
|
71
|
+
if (options.onInitialize) {
|
|
72
|
+
options.onInitialize(graph);
|
|
73
|
+
}
|
|
74
|
+
initialized = true;
|
|
75
|
+
// eslint-disable-next-line no-console
|
|
76
|
+
console.log('✓ Architecture initialized', {
|
|
77
|
+
components: Object.keys(components).length,
|
|
78
|
+
containers: Object.keys(containers).length,
|
|
79
|
+
navMappings: Object.keys(navToContainerMap).length,
|
|
80
|
+
});
|
|
81
|
+
},
|
|
82
|
+
createNavigationHandler(router) {
|
|
83
|
+
return (page) => {
|
|
84
|
+
const containerName = navToContainerMap[page.toLowerCase()];
|
|
85
|
+
if (containerName && containers[containerName]) {
|
|
86
|
+
const route = containers[containerName].route;
|
|
87
|
+
if (route) {
|
|
88
|
+
router.push(route);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
},
|
|
93
|
+
getGraph() {
|
|
94
|
+
return graph;
|
|
95
|
+
},
|
|
96
|
+
getComponents() {
|
|
97
|
+
return components;
|
|
98
|
+
},
|
|
99
|
+
getContainers() {
|
|
100
|
+
return containers;
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Create an auto-initializer with explicit configuration (legacy support)
|
|
106
|
+
*
|
|
107
|
+
* @deprecated Use initializeArchitecture() for zero-config approach
|
|
108
|
+
*/
|
|
109
|
+
function createAutoInitializer(config) {
|
|
110
|
+
// Register provided components and containers
|
|
111
|
+
for (const [namespace, names] of Object.entries(config.components)) {
|
|
112
|
+
const prefix = namespace.toLowerCase();
|
|
113
|
+
registry_1.architectureRegistry.registerComponent(prefix, names);
|
|
114
|
+
}
|
|
115
|
+
for (const [name, container] of Object.entries(config.containers)) {
|
|
116
|
+
registry_1.architectureRegistry.registerContainer(name, container);
|
|
117
|
+
}
|
|
118
|
+
// Use standard initialization
|
|
119
|
+
return initializeArchitecture({
|
|
120
|
+
navToContainerMap: config.navToContainerMap,
|
|
121
|
+
autoInferEdges: config.autoInferEdges,
|
|
122
|
+
mirrorTools: config.mirrorTools,
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=initialize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/architecture/initialize.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Architecture Registry
|
|
4
|
+
*
|
|
5
|
+
* Global registry for auto-discovery of components, containers, and their relationships.
|
|
6
|
+
* Enables zero-config initialization through convention over configuration.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.architectureRegistry = void 0;
|
|
10
|
+
exports.inferNavToContainerMap = inferNavToContainerMap;
|
|
11
|
+
class ArchitectureRegistry {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.components = new Map();
|
|
14
|
+
this.containers = new Map();
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Register a component namespace
|
|
18
|
+
*/
|
|
19
|
+
registerComponent(prefix, names) {
|
|
20
|
+
this.components.set(prefix, { prefix, names });
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Register a container
|
|
24
|
+
*/
|
|
25
|
+
registerContainer(name, config) {
|
|
26
|
+
this.containers.set(name, { name, config });
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Get all registered components
|
|
30
|
+
*/
|
|
31
|
+
getComponents() {
|
|
32
|
+
const result = {};
|
|
33
|
+
this.components.forEach(({ prefix, names }) => {
|
|
34
|
+
// Use PascalCase for namespace (Blog, Demo, etc.)
|
|
35
|
+
const namespace = prefix.charAt(0).toUpperCase() + prefix.slice(1);
|
|
36
|
+
result[namespace] = names;
|
|
37
|
+
});
|
|
38
|
+
return result;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Get all registered containers
|
|
42
|
+
*/
|
|
43
|
+
getContainers() {
|
|
44
|
+
const result = {};
|
|
45
|
+
this.containers.forEach(({ name, config }) => {
|
|
46
|
+
result[name] = config;
|
|
47
|
+
});
|
|
48
|
+
return result;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Get all registered data
|
|
52
|
+
*/
|
|
53
|
+
getAll() {
|
|
54
|
+
return {
|
|
55
|
+
components: this.getComponents(),
|
|
56
|
+
containers: this.getContainers(),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Clear all registrations (useful for testing)
|
|
61
|
+
*/
|
|
62
|
+
clear() {
|
|
63
|
+
this.components.clear();
|
|
64
|
+
this.containers.clear();
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Check if a component namespace is registered
|
|
68
|
+
*/
|
|
69
|
+
hasComponent(prefix) {
|
|
70
|
+
return this.components.has(prefix);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Check if a container is registered
|
|
74
|
+
*/
|
|
75
|
+
hasContainer(name) {
|
|
76
|
+
return this.containers.has(name);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Singleton registry instance
|
|
81
|
+
*/
|
|
82
|
+
exports.architectureRegistry = new ArchitectureRegistry();
|
|
83
|
+
/**
|
|
84
|
+
* Infer navigation-to-container mapping from registered containers
|
|
85
|
+
* Convention: lowercase nav key → PascalCase container name
|
|
86
|
+
*
|
|
87
|
+
* Examples:
|
|
88
|
+
* - 'blog' → 'Blog'
|
|
89
|
+
* - 'demo' → 'Demo'
|
|
90
|
+
* - 'examples' → 'Examples'
|
|
91
|
+
*/
|
|
92
|
+
function inferNavToContainerMap(navKeys, containers) {
|
|
93
|
+
const map = {};
|
|
94
|
+
for (const navKey of Object.keys(navKeys)) {
|
|
95
|
+
// Try direct PascalCase match
|
|
96
|
+
const pascalKey = navKey.charAt(0).toUpperCase() + navKey.slice(1);
|
|
97
|
+
if (containers[pascalKey]) {
|
|
98
|
+
map[navKey] = pascalKey;
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
// Try finding by route match
|
|
102
|
+
for (const [containerName, container] of Object.entries(containers)) {
|
|
103
|
+
if (container.route && container.route.includes(navKey)) {
|
|
104
|
+
map[navKey] = containerName;
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return map;
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/architecture/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Architecture Initializer - Core Pattern
|
|
4
|
+
*
|
|
5
|
+
* Generic initialization pattern for any application using Supernal Interface.
|
|
6
|
+
* Takes container definitions and automatically:
|
|
7
|
+
* 1. Registers them in NavigationGraph
|
|
8
|
+
* 2. Creates navigation tools for each container
|
|
9
|
+
* 3. Infers navigation edges from component names
|
|
10
|
+
* 4. Provides a centralized navigation handler
|
|
11
|
+
*
|
|
12
|
+
* This is the CORE pattern - apps just provide their container definitions.
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.initializeArchitecture = initializeArchitecture;
|
|
16
|
+
exports.createAutoInitializer = createAutoInitializer;
|
|
17
|
+
const NavigationGraph_1 = require("../navigation/NavigationGraph");
|
|
18
|
+
/**
|
|
19
|
+
* Initialize application architecture
|
|
20
|
+
*
|
|
21
|
+
* Call this once on app startup to register containers and create navigation tools.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* // In your app's architecture/index.ts
|
|
26
|
+
* import { initializeArchitecture } from '@supernal-interface/core';
|
|
27
|
+
* import { MyContainers } from './MyContainers';
|
|
28
|
+
* import { Components } from './MyComponentNames';
|
|
29
|
+
*
|
|
30
|
+
* export const { createNavigationHandler } = initializeArchitecture({
|
|
31
|
+
* containers: MyContainers,
|
|
32
|
+
* components: { GlobalNav: Components.GlobalNav },
|
|
33
|
+
* autoInferEdges: true
|
|
34
|
+
* });
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
function initializeArchitecture(config) {
|
|
38
|
+
const graph = NavigationGraph_1.NavigationGraph.getInstance();
|
|
39
|
+
let initialized = false;
|
|
40
|
+
return {
|
|
41
|
+
/**
|
|
42
|
+
* Initialize the architecture (call once)
|
|
43
|
+
* Returns true if this was the first initialization
|
|
44
|
+
*/
|
|
45
|
+
initialize() {
|
|
46
|
+
if (initialized)
|
|
47
|
+
return false;
|
|
48
|
+
initialized = true;
|
|
49
|
+
// 1. Register all containers as navigation contexts
|
|
50
|
+
const containers = Object.values(config.containers);
|
|
51
|
+
for (const container of containers) {
|
|
52
|
+
graph.registerContext({
|
|
53
|
+
id: container.id,
|
|
54
|
+
name: container.name,
|
|
55
|
+
parent: 'parent' in container ? container.parent : undefined,
|
|
56
|
+
children: [],
|
|
57
|
+
tools: [...container.components],
|
|
58
|
+
metadata: {
|
|
59
|
+
type: container.type,
|
|
60
|
+
route: 'route' in container ? container.route : undefined,
|
|
61
|
+
description: container.description
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
console.log(`📦 [Architecture] Registered container: ${container.name}`);
|
|
65
|
+
}
|
|
66
|
+
// 2. Mirror tools between containers (if specified)
|
|
67
|
+
if (config.mirrorTools) {
|
|
68
|
+
for (const { from, to } of config.mirrorTools) {
|
|
69
|
+
const sourceContext = graph.getContext(from);
|
|
70
|
+
if (sourceContext && sourceContext.tools) {
|
|
71
|
+
for (const toolId of sourceContext.tools) {
|
|
72
|
+
graph.registerToolInContext(toolId, to);
|
|
73
|
+
}
|
|
74
|
+
console.log(`🔄 [Architecture] Mirrored ${sourceContext.tools.length} tools: ${from} → ${to}`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
// 3. Auto-infer navigation edges (if enabled)
|
|
79
|
+
if (config.autoInferEdges && config.components?.GlobalNav && config.navToContainerMap) {
|
|
80
|
+
const edges = inferNavigationEdges(containers, config.components.GlobalNav, config.navToContainerMap, config.containers);
|
|
81
|
+
for (const edge of edges) {
|
|
82
|
+
graph.registerEdge(edge);
|
|
83
|
+
}
|
|
84
|
+
console.log(`✅ [Architecture] Initialized with ${containers.length} containers, ${edges.length} edges`);
|
|
85
|
+
}
|
|
86
|
+
return true;
|
|
87
|
+
},
|
|
88
|
+
/**
|
|
89
|
+
* Create a navigation handler that uses the registered routes
|
|
90
|
+
*
|
|
91
|
+
* @param router - Next.js router or any router with a push method
|
|
92
|
+
* @returns Navigation handler function
|
|
93
|
+
*/
|
|
94
|
+
createNavigationHandler(router) {
|
|
95
|
+
return (pageName) => {
|
|
96
|
+
console.log(`🗺️ [Navigation] Request: ${pageName}`);
|
|
97
|
+
// Use NavigationGraph to resolve route
|
|
98
|
+
const routeInfo = graph.getRouteByName(pageName);
|
|
99
|
+
if (!routeInfo) {
|
|
100
|
+
console.warn(`⚠️ [Navigation] No route found for: ${pageName}`);
|
|
101
|
+
// Try treating as a path (e.g., "blog/type-safe")
|
|
102
|
+
if (pageName.includes('/')) {
|
|
103
|
+
const attemptedPath = pageName.startsWith('/') ? pageName : `/${pageName}`;
|
|
104
|
+
console.log(`🗺️ [Navigation] Attempting path: ${attemptedPath}`);
|
|
105
|
+
if (router?.push) {
|
|
106
|
+
router.push(attemptedPath);
|
|
107
|
+
}
|
|
108
|
+
else if (typeof window !== 'undefined') {
|
|
109
|
+
window.location.href = attemptedPath;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
// Extract path from RouteInfo
|
|
115
|
+
const route = routeInfo.path || routeInfo.name || pageName;
|
|
116
|
+
console.log(`🗺️ [Navigation] Resolved: ${pageName} → ${route}`);
|
|
117
|
+
// Navigate using provided router or fallback to window.location
|
|
118
|
+
if (router?.push) {
|
|
119
|
+
router.push(route);
|
|
120
|
+
}
|
|
121
|
+
else if (typeof window !== 'undefined') {
|
|
122
|
+
window.location.href = route;
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
},
|
|
126
|
+
/**
|
|
127
|
+
* Get the NavigationGraph instance (for advanced usage)
|
|
128
|
+
*/
|
|
129
|
+
getGraph() {
|
|
130
|
+
return graph;
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Infer navigation edges from global navigation components
|
|
136
|
+
*
|
|
137
|
+
* @internal
|
|
138
|
+
*/
|
|
139
|
+
function inferNavigationEdges(containers, globalNav, navToContainerMap, containerMap) {
|
|
140
|
+
const edges = [];
|
|
141
|
+
// Create edges FROM every container TO every other container via GlobalNav
|
|
142
|
+
for (const [navKey, navButtonId] of Object.entries(globalNav)) {
|
|
143
|
+
const targetContainerName = navToContainerMap[navKey];
|
|
144
|
+
const targetContainer = containerMap[targetContainerName];
|
|
145
|
+
if (targetContainer) {
|
|
146
|
+
// From every container (except target) to target
|
|
147
|
+
for (const sourceContainer of containers) {
|
|
148
|
+
if (sourceContainer.id !== targetContainer.id) {
|
|
149
|
+
edges.push({
|
|
150
|
+
from: sourceContainer.id,
|
|
151
|
+
to: targetContainer.id,
|
|
152
|
+
navigationTool: navButtonId,
|
|
153
|
+
cost: 1
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
return edges;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Auto-initialize on module load (for convenience)
|
|
163
|
+
* Apps can call this manually if they prefer explicit initialization
|
|
164
|
+
*/
|
|
165
|
+
function createAutoInitializer(config) {
|
|
166
|
+
let hasInitialized = false;
|
|
167
|
+
const { initialize, ...rest } = initializeArchitecture(config);
|
|
168
|
+
// Auto-initialize on first access
|
|
169
|
+
if (!hasInitialized) {
|
|
170
|
+
hasInitialized = initialize();
|
|
171
|
+
}
|
|
172
|
+
return { initialize, ...rest };
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=ArchitectureInitializer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArchitectureInitializer.js","sourceRoot":"","sources":["../../../../../src/background/architecture/ArchitectureInitializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Architecture Definition: Containers
|
|
4
|
+
*
|
|
5
|
+
* Single source of truth for application containers (pages, modals, sections).
|
|
6
|
+
* This file defines the navigation graph structure of the application.
|
|
7
|
+
*
|
|
8
|
+
* Pattern: Like ComponentNames, but for high-level navigation boundaries.
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This is the CORE library. Applications should define their own containers
|
|
11
|
+
* in their own codebase and register them with NavigationGraph.
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.getContainer = getContainer;
|
|
15
|
+
exports.getAllContainers = getAllContainers;
|
|
16
|
+
exports.isComponentInContainer = isComponentInContainer;
|
|
17
|
+
exports.findComponentContainers = findComponentContainers;
|
|
18
|
+
/**
|
|
19
|
+
* Get container definition by ID
|
|
20
|
+
*/
|
|
21
|
+
function getContainer(containers, id) {
|
|
22
|
+
return containers[id];
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Get all container definitions
|
|
26
|
+
*/
|
|
27
|
+
function getAllContainers(containers) {
|
|
28
|
+
return Object.values(containers);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Check if a component belongs to a container
|
|
32
|
+
*/
|
|
33
|
+
function isComponentInContainer(containers, componentId, containerId) {
|
|
34
|
+
const container = containers[containerId];
|
|
35
|
+
return container?.components.includes(componentId) || false;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Find which container(s) a component belongs to
|
|
39
|
+
*/
|
|
40
|
+
function findComponentContainers(containers, componentId) {
|
|
41
|
+
return Object.keys(containers).filter(key => {
|
|
42
|
+
const container = containers[key];
|
|
43
|
+
return container.components.includes(componentId);
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=Containers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Containers.js","sourceRoot":"","sources":["../../../../../src/background/architecture/Containers.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AAqCH,oCAEC;AAKD,4CAEC;AAKD,wDAOC;AAKD,0DAQC;AArCD;;GAEG;AACH,SAAgB,YAAY,CAAC,UAA+C,EAAE,EAAU;IACtF,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,UAA+C;IAC9E,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB,CACpC,UAA+C,EAC/C,WAAmB,EACnB,WAAmB;IAEnB,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAC1C,OAAO,SAAS,EAAE,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CACrC,UAA+C,EAC/C,WAAmB;IAEnB,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;QAC1C,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* DataContractTypes - Enterprise Feature Stub
|
|
4
|
+
*
|
|
5
|
+
* Basic types for data contracts. Full story system and validation
|
|
6
|
+
* available in @supernal/interface-enterprise.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.DataContractRegistry = void 0;
|
|
10
|
+
exports.isComponentState = isComponentState;
|
|
11
|
+
exports.isComponentContract = isComponentContract;
|
|
12
|
+
class DataContractRegistry {
|
|
13
|
+
static register(id, contract) {
|
|
14
|
+
// Enterprise feature - no-op
|
|
15
|
+
}
|
|
16
|
+
static get(id) {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.DataContractRegistry = DataContractRegistry;
|
|
21
|
+
// Type guards
|
|
22
|
+
function isComponentState(value) {
|
|
23
|
+
return typeof value === 'object' && value !== null;
|
|
24
|
+
}
|
|
25
|
+
function isComponentContract(value) {
|
|
26
|
+
return typeof value === 'object' && value !== null;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=DataContractTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataContractTypes.js","sourceRoot":"","sources":["../../../../../src/background/architecture/DataContractTypes.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAiCH,4CAEC;AAED,kDAEC;AArBD,MAAa,oBAAoB;IAC/B,MAAM,CAAC,QAAQ,CAAC,EAAU,EAAE,QAAsB;QAChD,6BAA6B;IAC/B,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,EAAU;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AARD,oDAQC;AAMD,cAAc;AACd,SAAgB,gBAAgB,CAAC,KAAc;IAC7C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC;AAED,SAAgB,mBAAmB,CAAC,KAAc;IAChD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACrD,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Architecture Module
|
|
4
|
+
*
|
|
5
|
+
* Provides generic types and utilities for defining application architecture.
|
|
6
|
+
* Applications should create their own component names, containers, and navigation connections.
|
|
7
|
+
*
|
|
8
|
+
* This is the CORE library - it provides the infrastructure, not the content.
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.isComponentContract = exports.isComponentState = exports.createAutoInitializer = exports.initializeArchitecture = exports.findComponentContainers = exports.isComponentInContainer = exports.getAllContainers = exports.getContainer = void 0;
|
|
12
|
+
var Containers_1 = require("./Containers");
|
|
13
|
+
Object.defineProperty(exports, "getContainer", { enumerable: true, get: function () { return Containers_1.getContainer; } });
|
|
14
|
+
Object.defineProperty(exports, "getAllContainers", { enumerable: true, get: function () { return Containers_1.getAllContainers; } });
|
|
15
|
+
Object.defineProperty(exports, "isComponentInContainer", { enumerable: true, get: function () { return Containers_1.isComponentInContainer; } });
|
|
16
|
+
Object.defineProperty(exports, "findComponentContainers", { enumerable: true, get: function () { return Containers_1.findComponentContainers; } });
|
|
17
|
+
var ArchitectureInitializer_1 = require("./ArchitectureInitializer");
|
|
18
|
+
Object.defineProperty(exports, "initializeArchitecture", { enumerable: true, get: function () { return ArchitectureInitializer_1.initializeArchitecture; } });
|
|
19
|
+
Object.defineProperty(exports, "createAutoInitializer", { enumerable: true, get: function () { return ArchitectureInitializer_1.createAutoInitializer; } });
|
|
20
|
+
// Data Contract Types (NEW - Week 1)
|
|
21
|
+
var DataContractTypes_1 = require("./DataContractTypes");
|
|
22
|
+
Object.defineProperty(exports, "isComponentState", { enumerable: true, get: function () { return DataContractTypes_1.isComponentState; } });
|
|
23
|
+
Object.defineProperty(exports, "isComponentContract", { enumerable: true, get: function () { return DataContractTypes_1.isComponentContract; } });
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/background/architecture/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,2CAOsB;AANpB,0GAAA,YAAY,OAAA;AACZ,8GAAA,gBAAgB,OAAA;AAChB,oHAAA,sBAAsB,OAAA;AACtB,qHAAA,uBAAuB,OAAA;AAKzB,qEAImC;AAHjC,iIAAA,sBAAsB,OAAA;AACtB,gIAAA,qBAAqB,OAAA;AAIvB,qCAAqC;AACrC,yDAS6B;AAF3B,qHAAA,gBAAgB,OAAA;AAChB,wHAAA,mBAAmB,OAAA"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* NavigationGraph - Enterprise Feature Stub
|
|
4
|
+
*
|
|
5
|
+
* This is a stub implementation for the open source edition.
|
|
6
|
+
* Full runtime navigation tracking available in @supernal/interface-enterprise.
|
|
7
|
+
*
|
|
8
|
+
* Visit https://supernal.ai/enterprise for more information.
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.NavigationGraph = void 0;
|
|
12
|
+
class NavigationGraph {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.warned = false;
|
|
15
|
+
}
|
|
16
|
+
warnOnce() {
|
|
17
|
+
if (!this.warned && typeof console !== 'undefined') {
|
|
18
|
+
console.warn('⚠️ NavigationGraph is an enterprise feature. ' +
|
|
19
|
+
'Full runtime tracking available at https://supernal.ai/enterprise');
|
|
20
|
+
this.warned = true;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
static getInstance() {
|
|
24
|
+
if (!this.instance) {
|
|
25
|
+
this.instance = new NavigationGraph();
|
|
26
|
+
}
|
|
27
|
+
return this.instance;
|
|
28
|
+
}
|
|
29
|
+
// Stub methods - no-op implementations
|
|
30
|
+
trackComponent(id, parent) {
|
|
31
|
+
this.warnOnce();
|
|
32
|
+
}
|
|
33
|
+
getTree() {
|
|
34
|
+
this.warnOnce();
|
|
35
|
+
return [];
|
|
36
|
+
}
|
|
37
|
+
trackNavigation(from, to) {
|
|
38
|
+
this.warnOnce();
|
|
39
|
+
}
|
|
40
|
+
reset() {
|
|
41
|
+
this.warnOnce();
|
|
42
|
+
}
|
|
43
|
+
// Accept object or string for registerContext
|
|
44
|
+
registerContext(idOrData, data) {
|
|
45
|
+
this.warnOnce();
|
|
46
|
+
}
|
|
47
|
+
// Accept multiple types for registerEdge - very flexible signature
|
|
48
|
+
registerEdge(from, to, metadata) {
|
|
49
|
+
this.warnOnce();
|
|
50
|
+
}
|
|
51
|
+
getContext(id) {
|
|
52
|
+
this.warnOnce();
|
|
53
|
+
return { id, tools: [] };
|
|
54
|
+
}
|
|
55
|
+
registerToolInContext(toolId, contextId, extra) {
|
|
56
|
+
this.warnOnce();
|
|
57
|
+
}
|
|
58
|
+
getRouteByName(name) {
|
|
59
|
+
this.warnOnce();
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
62
|
+
setCurrentContext(contextId) {
|
|
63
|
+
this.warnOnce();
|
|
64
|
+
}
|
|
65
|
+
setNavigationHandler(handler) {
|
|
66
|
+
this.warnOnce();
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
exports.NavigationGraph = NavigationGraph;
|
|
70
|
+
NavigationGraph.instance = null;
|
|
71
|
+
//# sourceMappingURL=NavigationGraph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavigationGraph.js","sourceRoot":"","sources":["../../../../../src/background/navigation/NavigationGraph.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AA2BH,MAAa,eAAe;IAA5B;QAEU,WAAM,GAAG,KAAK,CAAC;IAoEzB,CAAC;IAlES,QAAQ;QACd,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;YACnD,OAAO,CAAC,IAAI,CACV,gDAAgD;gBAChD,mEAAmE,CACpE,CAAC;YACF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;IACH,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QACxC,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,uCAAuC;IACvC,cAAc,CAAC,EAAU,EAAE,MAAe;QACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,eAAe,CAAC,IAAY,EAAE,EAAU;QACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,8CAA8C;IAC9C,eAAe,CAAC,QAA8B,EAAE,IAAc;QAC5D,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,mEAAmE;IACnE,YAAY,CAAC,IAAwB,EAAE,EAAuB,EAAE,QAAkB;QAChF,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,UAAU,CAAC,EAAU;QACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC3B,CAAC;IAED,qBAAqB,CAAC,MAAc,EAAE,SAAkB,EAAE,KAAe;QACvE,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,cAAc,CAAC,IAAY;QACzB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,iBAAiB,CAAC,SAA6B;QAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,oBAAoB,CAAC,OAA2C;QAC9D,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;;AArEH,0CAsEC;AArEgB,wBAAQ,GAA2B,IAAI,AAA/B,CAAgC"}
|