@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.
Files changed (519) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +165 -0
  3. package/dist/cjs/names/API.js +104 -0
  4. package/dist/cjs/names/API.js.map +1 -0
  5. package/dist/cjs/names/Components.js +104 -0
  6. package/dist/cjs/names/Components.js.map +1 -0
  7. package/dist/cjs/names/Containers.js +99 -0
  8. package/dist/cjs/names/Containers.js.map +1 -0
  9. package/dist/cjs/names/Functions.js +114 -0
  10. package/dist/cjs/names/Functions.js.map +1 -0
  11. package/dist/cjs/names/index.js +118 -0
  12. package/dist/cjs/names/index.js.map +1 -0
  13. package/dist/cjs/src/adapters/ChatUIProvider.js +176 -0
  14. package/dist/cjs/src/adapters/ChatUIProvider.js.map +1 -0
  15. package/dist/cjs/src/adapters/bridge.js +225 -0
  16. package/dist/cjs/src/adapters/bridge.js.map +1 -0
  17. package/dist/cjs/src/adapters/copilotkit/CopilotKitAdapter.js +289 -0
  18. package/dist/cjs/src/adapters/copilotkit/CopilotKitAdapter.js.map +1 -0
  19. package/dist/cjs/src/adapters/copilotkit/index.js +10 -0
  20. package/dist/cjs/src/adapters/copilotkit/index.js.map +1 -0
  21. package/dist/cjs/src/adapters/index.js +63 -0
  22. package/dist/cjs/src/adapters/index.js.map +1 -0
  23. package/dist/cjs/src/adapters/native/NativeAdapter.js +268 -0
  24. package/dist/cjs/src/adapters/native/NativeAdapter.js.map +1 -0
  25. package/dist/cjs/src/adapters/native/index.js +10 -0
  26. package/dist/cjs/src/adapters/native/index.js.map +1 -0
  27. package/dist/cjs/src/adapters/types/index.js +9 -0
  28. package/dist/cjs/src/adapters/types/index.js.map +1 -0
  29. package/dist/cjs/src/ai/ToolExecutor.js +211 -0
  30. package/dist/cjs/src/ai/ToolExecutor.js.map +1 -0
  31. package/dist/cjs/src/ai/ToolMatcher.js +202 -0
  32. package/dist/cjs/src/ai/ToolMatcher.js.map +1 -0
  33. package/dist/cjs/src/ai/index.js +29 -0
  34. package/dist/cjs/src/ai/index.js.map +1 -0
  35. package/dist/cjs/src/architecture/createContainer.js +106 -0
  36. package/dist/cjs/src/architecture/createContainer.js.map +1 -0
  37. package/dist/cjs/src/architecture/initialize.js +125 -0
  38. package/dist/cjs/src/architecture/initialize.js.map +1 -0
  39. package/dist/cjs/src/architecture/registry.js +111 -0
  40. package/dist/cjs/src/architecture/registry.js.map +1 -0
  41. package/dist/cjs/src/background/architecture/ArchitectureInitializer.js +174 -0
  42. package/dist/cjs/src/background/architecture/ArchitectureInitializer.js.map +1 -0
  43. package/dist/cjs/src/background/architecture/Containers.js +46 -0
  44. package/dist/cjs/src/background/architecture/Containers.js.map +1 -0
  45. package/dist/cjs/src/background/architecture/DataContractTypes.js +28 -0
  46. package/dist/cjs/src/background/architecture/DataContractTypes.js.map +1 -0
  47. package/dist/cjs/src/background/architecture/index.js +24 -0
  48. package/dist/cjs/src/background/architecture/index.js.map +1 -0
  49. package/dist/cjs/src/background/navigation/NavigationGraph.js +71 -0
  50. package/dist/cjs/src/background/navigation/NavigationGraph.js.map +1 -0
  51. package/dist/cjs/src/background/navigation/RuntimeTreeBuilder.js +66 -0
  52. package/dist/cjs/src/background/navigation/RuntimeTreeBuilder.js.map +1 -0
  53. package/dist/cjs/src/background/navigation/useComponentTracking.js +20 -0
  54. package/dist/cjs/src/background/navigation/useComponentTracking.js.map +1 -0
  55. package/dist/cjs/src/background/registry/ComponentRegistry.js +340 -0
  56. package/dist/cjs/src/background/registry/ComponentRegistry.js.map +1 -0
  57. package/dist/cjs/src/background/registry/ToolRegistry.js +668 -0
  58. package/dist/cjs/src/background/registry/ToolRegistry.js.map +1 -0
  59. package/dist/cjs/src/browser.js +70 -0
  60. package/dist/cjs/src/browser.js.map +1 -0
  61. package/dist/cjs/src/components/ComponentScanner.js +362 -0
  62. package/dist/cjs/src/components/ComponentScanner.js.map +1 -0
  63. package/dist/cjs/src/components/index.js +24 -0
  64. package/dist/cjs/src/components/index.js.map +1 -0
  65. package/dist/cjs/src/data/TestDataManager.js +187 -0
  66. package/dist/cjs/src/data/TestDataManager.js.map +1 -0
  67. package/dist/cjs/src/data/index.js +23 -0
  68. package/dist/cjs/src/data/index.js.map +1 -0
  69. package/dist/cjs/src/decorators/Component.js +108 -0
  70. package/dist/cjs/src/decorators/Component.js.map +1 -0
  71. package/dist/cjs/src/decorators/ContainerHelpers.js +45 -0
  72. package/dist/cjs/src/decorators/ContainerHelpers.js.map +1 -0
  73. package/dist/cjs/src/decorators/SpecializedTools.js +386 -0
  74. package/dist/cjs/src/decorators/SpecializedTools.js.map +1 -0
  75. package/dist/cjs/src/decorators/Tool.js +700 -0
  76. package/dist/cjs/src/decorators/Tool.js.map +1 -0
  77. package/dist/cjs/src/decorators/ToolHelpers.js +261 -0
  78. package/dist/cjs/src/decorators/ToolHelpers.js.map +1 -0
  79. package/dist/cjs/src/decorators/ToolPreset.js +270 -0
  80. package/dist/cjs/src/decorators/ToolPreset.js.map +1 -0
  81. package/dist/cjs/src/decorators/ToolProvider.js +86 -0
  82. package/dist/cjs/src/decorators/ToolProvider.js.map +1 -0
  83. package/dist/cjs/src/decorators/index.js +44 -0
  84. package/dist/cjs/src/decorators/index.js.map +1 -0
  85. package/dist/cjs/src/execution/DOMExecutor.js +233 -0
  86. package/dist/cjs/src/execution/DOMExecutor.js.map +1 -0
  87. package/dist/cjs/src/execution/PlaywrightExecutor.js +196 -0
  88. package/dist/cjs/src/execution/PlaywrightExecutor.js.map +1 -0
  89. package/dist/cjs/src/exposure/ExposureCollector.js +358 -0
  90. package/dist/cjs/src/exposure/ExposureCollector.js.map +1 -0
  91. package/dist/cjs/src/exposure/index.js +26 -0
  92. package/dist/cjs/src/exposure/index.js.map +1 -0
  93. package/dist/cjs/src/index.js +187 -0
  94. package/dist/cjs/src/index.js.map +1 -0
  95. package/dist/cjs/src/interfaces/StatefulComponent.js +50 -0
  96. package/dist/cjs/src/interfaces/StatefulComponent.js.map +1 -0
  97. package/dist/cjs/src/name-contracts/ContractScanner.js +15 -0
  98. package/dist/cjs/src/name-contracts/ContractScanner.js.map +1 -0
  99. package/dist/cjs/src/name-contracts/RouteContractScanner.js +225 -0
  100. package/dist/cjs/src/name-contracts/RouteContractScanner.js.map +1 -0
  101. package/dist/cjs/src/name-contracts/index.js +15 -0
  102. package/dist/cjs/src/name-contracts/index.js.map +1 -0
  103. package/dist/cjs/src/names/createNames.js +86 -0
  104. package/dist/cjs/src/names/createNames.js.map +1 -0
  105. package/dist/cjs/src/react/hooks/useChatWithContext.js +221 -0
  106. package/dist/cjs/src/react/hooks/useChatWithContext.js.map +1 -0
  107. package/dist/cjs/src/react/index.js +28 -0
  108. package/dist/cjs/src/react/index.js.map +1 -0
  109. package/dist/cjs/src/react/useNavigationHandler.js +88 -0
  110. package/dist/cjs/src/react/useNavigationHandler.js.map +1 -0
  111. package/dist/cjs/src/react/usePersistedState.js +72 -0
  112. package/dist/cjs/src/react/usePersistedState.js.map +1 -0
  113. package/dist/cjs/src/react/useToolBinding.js +110 -0
  114. package/dist/cjs/src/react/useToolBinding.js.map +1 -0
  115. package/dist/cjs/src/routes/RouteContractGenerator.js +119 -0
  116. package/dist/cjs/src/routes/RouteContractGenerator.js.map +1 -0
  117. package/dist/cjs/src/routes/RouteContractsConfig.js +39 -0
  118. package/dist/cjs/src/routes/RouteContractsConfig.js.map +1 -0
  119. package/dist/cjs/src/routes/index.js +20 -0
  120. package/dist/cjs/src/routes/index.js.map +1 -0
  121. package/dist/cjs/src/routes/scanners/NameExtractor.js +193 -0
  122. package/dist/cjs/src/routes/scanners/NameExtractor.js.map +1 -0
  123. package/dist/cjs/src/routes/scanners/NextjsDynamicScanner.js +102 -0
  124. package/dist/cjs/src/routes/scanners/NextjsDynamicScanner.js.map +1 -0
  125. package/dist/cjs/src/routes/scanners/RouteScanner.js +13 -0
  126. package/dist/cjs/src/routes/scanners/RouteScanner.js.map +1 -0
  127. package/dist/cjs/src/storage/LocalStorageAdapter.js +87 -0
  128. package/dist/cjs/src/storage/LocalStorageAdapter.js.map +1 -0
  129. package/dist/cjs/src/storage/StateManager.js +299 -0
  130. package/dist/cjs/src/storage/StateManager.js.map +1 -0
  131. package/dist/cjs/src/storage/StorageAdapter.js +164 -0
  132. package/dist/cjs/src/storage/StorageAdapter.js.map +1 -0
  133. package/dist/cjs/src/storage/index.js +37 -0
  134. package/dist/cjs/src/storage/index.js.map +1 -0
  135. package/dist/cjs/src/testing/BrowserStateInjection.js +130 -0
  136. package/dist/cjs/src/testing/BrowserStateInjection.js.map +1 -0
  137. package/dist/cjs/src/testing/ComponentStateHelpers.js +200 -0
  138. package/dist/cjs/src/testing/ComponentStateHelpers.js.map +1 -0
  139. package/dist/cjs/src/testing/GherkinParser.js +252 -0
  140. package/dist/cjs/src/testing/GherkinParser.js.map +1 -0
  141. package/dist/cjs/src/testing/PlaywrightStateHelpers.js +254 -0
  142. package/dist/cjs/src/testing/PlaywrightStateHelpers.js.map +1 -0
  143. package/dist/cjs/src/testing/TestRunner.js +158 -0
  144. package/dist/cjs/src/testing/TestRunner.js.map +1 -0
  145. package/dist/cjs/src/testing/index.js +46 -0
  146. package/dist/cjs/src/testing/index.js.map +1 -0
  147. package/dist/cjs/src/testing/selectors.js +84 -0
  148. package/dist/cjs/src/testing/selectors.js.map +1 -0
  149. package/dist/cjs/src/tools/SystemTools.js +262 -0
  150. package/dist/cjs/src/tools/SystemTools.js.map +1 -0
  151. package/dist/cjs/src/types/ClassifiedTool.js +50 -0
  152. package/dist/cjs/src/types/ClassifiedTool.js.map +1 -0
  153. package/dist/cjs/src/types/ComponentState.js +30 -0
  154. package/dist/cjs/src/types/ComponentState.js.map +1 -0
  155. package/dist/cjs/src/types/DiscoverableToolProvider.js +9 -0
  156. package/dist/cjs/src/types/DiscoverableToolProvider.js.map +1 -0
  157. package/dist/cjs/src/types/ExposureState.js +25 -0
  158. package/dist/cjs/src/types/ExposureState.js.map +1 -0
  159. package/dist/cjs/src/types/NavigationGraph.js +8 -0
  160. package/dist/cjs/src/types/NavigationGraph.js.map +1 -0
  161. package/dist/cjs/src/types/OperationType.js +49 -0
  162. package/dist/cjs/src/types/OperationType.js.map +1 -0
  163. package/dist/cjs/src/types/StateManagers.js +39 -0
  164. package/dist/cjs/src/types/StateManagers.js.map +1 -0
  165. package/dist/cjs/src/types/Tool.js +41 -0
  166. package/dist/cjs/src/types/Tool.js.map +1 -0
  167. package/dist/cjs/src/types/ToolPermissions.js +54 -0
  168. package/dist/cjs/src/types/ToolPermissions.js.map +1 -0
  169. package/dist/cjs/src/types/ToolResult.js +25 -0
  170. package/dist/cjs/src/types/ToolResult.js.map +1 -0
  171. package/dist/cjs/src/types/index.js +59 -0
  172. package/dist/cjs/src/types/index.js.map +1 -0
  173. package/dist/cjs/src/ui/react/chat/ChatBubble.js +221 -0
  174. package/dist/cjs/src/ui/react/chat/ChatBubble.js.map +1 -0
  175. package/dist/esm/names/API.d.ts +77 -0
  176. package/dist/esm/names/API.d.ts.map +1 -0
  177. package/dist/esm/names/API.js +99 -0
  178. package/dist/esm/names/API.js.map +1 -0
  179. package/dist/esm/names/Components.d.ts +77 -0
  180. package/dist/esm/names/Components.d.ts.map +1 -0
  181. package/dist/esm/names/Components.js +99 -0
  182. package/dist/esm/names/Components.js.map +1 -0
  183. package/dist/esm/names/Containers.d.ts +84 -0
  184. package/dist/esm/names/Containers.d.ts.map +1 -0
  185. package/dist/esm/names/Containers.js +94 -0
  186. package/dist/esm/names/Containers.js.map +1 -0
  187. package/dist/esm/names/Functions.d.ts +87 -0
  188. package/dist/esm/names/Functions.d.ts.map +1 -0
  189. package/dist/esm/names/Functions.js +109 -0
  190. package/dist/esm/names/Functions.js.map +1 -0
  191. package/dist/esm/names/index.d.ts +187 -0
  192. package/dist/esm/names/index.d.ts.map +1 -0
  193. package/dist/esm/names/index.js +99 -0
  194. package/dist/esm/names/index.js.map +1 -0
  195. package/dist/esm/src/adapters/ChatUIProvider.d.ts +76 -0
  196. package/dist/esm/src/adapters/ChatUIProvider.d.ts.map +1 -0
  197. package/dist/esm/src/adapters/ChatUIProvider.js +136 -0
  198. package/dist/esm/src/adapters/ChatUIProvider.js.map +1 -0
  199. package/dist/esm/src/adapters/bridge.d.ts +145 -0
  200. package/dist/esm/src/adapters/bridge.d.ts.map +1 -0
  201. package/dist/esm/src/adapters/bridge.js +218 -0
  202. package/dist/esm/src/adapters/bridge.js.map +1 -0
  203. package/dist/esm/src/adapters/copilotkit/CopilotKitAdapter.d.ts +49 -0
  204. package/dist/esm/src/adapters/copilotkit/CopilotKitAdapter.d.ts.map +1 -0
  205. package/dist/esm/src/adapters/copilotkit/CopilotKitAdapter.js +251 -0
  206. package/dist/esm/src/adapters/copilotkit/CopilotKitAdapter.js.map +1 -0
  207. package/dist/esm/src/adapters/copilotkit/index.d.ts +6 -0
  208. package/dist/esm/src/adapters/copilotkit/index.d.ts.map +1 -0
  209. package/dist/esm/src/adapters/copilotkit/index.js +5 -0
  210. package/dist/esm/src/adapters/copilotkit/index.js.map +1 -0
  211. package/dist/esm/src/adapters/index.d.ts +31 -0
  212. package/dist/esm/src/adapters/index.d.ts.map +1 -0
  213. package/dist/esm/src/adapters/index.js +32 -0
  214. package/dist/esm/src/adapters/index.js.map +1 -0
  215. package/dist/esm/src/adapters/native/NativeAdapter.d.ts +47 -0
  216. package/dist/esm/src/adapters/native/NativeAdapter.d.ts.map +1 -0
  217. package/dist/esm/src/adapters/native/NativeAdapter.js +230 -0
  218. package/dist/esm/src/adapters/native/NativeAdapter.js.map +1 -0
  219. package/dist/esm/src/adapters/native/index.d.ts +6 -0
  220. package/dist/esm/src/adapters/native/index.d.ts.map +1 -0
  221. package/dist/esm/src/adapters/native/index.js +5 -0
  222. package/dist/esm/src/adapters/native/index.js.map +1 -0
  223. package/dist/esm/src/adapters/types/index.d.ts +155 -0
  224. package/dist/esm/src/adapters/types/index.d.ts.map +1 -0
  225. package/dist/esm/src/adapters/types/index.js +8 -0
  226. package/dist/esm/src/adapters/types/index.js.map +1 -0
  227. package/dist/esm/src/ai/ToolExecutor.d.ts +49 -0
  228. package/dist/esm/src/ai/ToolExecutor.d.ts.map +1 -0
  229. package/dist/esm/src/ai/ToolExecutor.js +174 -0
  230. package/dist/esm/src/ai/ToolExecutor.js.map +1 -0
  231. package/dist/esm/src/ai/ToolMatcher.d.ts +61 -0
  232. package/dist/esm/src/ai/ToolMatcher.d.ts.map +1 -0
  233. package/dist/esm/src/ai/ToolMatcher.js +198 -0
  234. package/dist/esm/src/ai/ToolMatcher.js.map +1 -0
  235. package/dist/esm/src/ai/index.d.ts +9 -0
  236. package/dist/esm/src/ai/index.d.ts.map +1 -0
  237. package/dist/esm/src/ai/index.js +13 -0
  238. package/dist/esm/src/ai/index.js.map +1 -0
  239. package/dist/esm/src/architecture/createContainer.d.ts +60 -0
  240. package/dist/esm/src/architecture/createContainer.d.ts.map +1 -0
  241. package/dist/esm/src/architecture/createContainer.js +102 -0
  242. package/dist/esm/src/architecture/createContainer.js.map +1 -0
  243. package/dist/esm/src/architecture/initialize.d.ts +81 -0
  244. package/dist/esm/src/architecture/initialize.d.ts.map +1 -0
  245. package/dist/esm/src/architecture/initialize.js +121 -0
  246. package/dist/esm/src/architecture/initialize.js.map +1 -0
  247. package/dist/esm/src/architecture/registry.d.ts +61 -0
  248. package/dist/esm/src/architecture/registry.d.ts.map +1 -0
  249. package/dist/esm/src/architecture/registry.js +107 -0
  250. package/dist/esm/src/architecture/registry.js.map +1 -0
  251. package/dist/esm/src/background/architecture/ArchitectureInitializer.d.ts +95 -0
  252. package/dist/esm/src/background/architecture/ArchitectureInitializer.d.ts.map +1 -0
  253. package/dist/esm/src/background/architecture/ArchitectureInitializer.js +170 -0
  254. package/dist/esm/src/background/architecture/ArchitectureInitializer.js.map +1 -0
  255. package/dist/esm/src/background/architecture/Containers.d.ts +52 -0
  256. package/dist/esm/src/background/architecture/Containers.d.ts.map +1 -0
  257. package/dist/esm/src/background/architecture/Containers.js +40 -0
  258. package/dist/esm/src/background/architecture/Containers.js.map +1 -0
  259. package/dist/esm/src/background/architecture/DataContractTypes.d.ts +33 -0
  260. package/dist/esm/src/background/architecture/DataContractTypes.d.ts.map +1 -0
  261. package/dist/esm/src/background/architecture/DataContractTypes.js +22 -0
  262. package/dist/esm/src/background/architecture/DataContractTypes.js.map +1 -0
  263. package/dist/esm/src/background/architecture/index.d.ts +12 -0
  264. package/dist/esm/src/background/architecture/index.d.ts.map +1 -0
  265. package/dist/esm/src/background/architecture/index.js +13 -0
  266. package/dist/esm/src/background/architecture/index.js.map +1 -0
  267. package/dist/esm/src/background/navigation/NavigationGraph.d.ts +48 -0
  268. package/dist/esm/src/background/navigation/NavigationGraph.d.ts.map +1 -0
  269. package/dist/esm/src/background/navigation/NavigationGraph.js +67 -0
  270. package/dist/esm/src/background/navigation/NavigationGraph.js.map +1 -0
  271. package/dist/esm/src/background/navigation/RuntimeTreeBuilder.d.ts +30 -0
  272. package/dist/esm/src/background/navigation/RuntimeTreeBuilder.d.ts.map +1 -0
  273. package/dist/esm/src/background/navigation/RuntimeTreeBuilder.js +60 -0
  274. package/dist/esm/src/background/navigation/RuntimeTreeBuilder.js.map +1 -0
  275. package/dist/esm/src/background/navigation/useComponentTracking.d.ts +10 -0
  276. package/dist/esm/src/background/navigation/useComponentTracking.d.ts.map +1 -0
  277. package/dist/esm/src/background/navigation/useComponentTracking.js +17 -0
  278. package/dist/esm/src/background/navigation/useComponentTracking.js.map +1 -0
  279. package/dist/esm/src/background/registry/ComponentRegistry.d.ts +192 -0
  280. package/dist/esm/src/background/registry/ComponentRegistry.d.ts.map +1 -0
  281. package/dist/esm/src/background/registry/ComponentRegistry.js +336 -0
  282. package/dist/esm/src/background/registry/ComponentRegistry.js.map +1 -0
  283. package/dist/esm/src/background/registry/ToolRegistry.d.ts +232 -0
  284. package/dist/esm/src/background/registry/ToolRegistry.d.ts.map +1 -0
  285. package/dist/esm/src/background/registry/ToolRegistry.js +664 -0
  286. package/dist/esm/src/background/registry/ToolRegistry.js.map +1 -0
  287. package/dist/esm/src/browser.d.ts +21 -0
  288. package/dist/esm/src/browser.d.ts.map +1 -0
  289. package/dist/esm/src/browser.js +31 -0
  290. package/dist/esm/src/browser.js.map +1 -0
  291. package/dist/esm/src/components/ComponentScanner.d.ts +99 -0
  292. package/dist/esm/src/components/ComponentScanner.d.ts.map +1 -0
  293. package/dist/esm/src/components/ComponentScanner.js +325 -0
  294. package/dist/esm/src/components/ComponentScanner.js.map +1 -0
  295. package/dist/esm/src/components/index.d.ts +9 -0
  296. package/dist/esm/src/components/index.d.ts.map +1 -0
  297. package/dist/esm/src/components/index.js +8 -0
  298. package/dist/esm/src/components/index.js.map +1 -0
  299. package/dist/esm/src/data/TestDataManager.d.ts +125 -0
  300. package/dist/esm/src/data/TestDataManager.d.ts.map +1 -0
  301. package/dist/esm/src/data/TestDataManager.js +183 -0
  302. package/dist/esm/src/data/TestDataManager.js.map +1 -0
  303. package/dist/esm/src/data/index.d.ts +7 -0
  304. package/dist/esm/src/data/index.d.ts.map +1 -0
  305. package/dist/esm/src/data/index.js +7 -0
  306. package/dist/esm/src/data/index.js.map +1 -0
  307. package/dist/esm/src/decorators/Component.d.ts +59 -0
  308. package/dist/esm/src/decorators/Component.d.ts.map +1 -0
  309. package/dist/esm/src/decorators/Component.js +103 -0
  310. package/dist/esm/src/decorators/Component.js.map +1 -0
  311. package/dist/esm/src/decorators/ContainerHelpers.d.ts +26 -0
  312. package/dist/esm/src/decorators/ContainerHelpers.d.ts.map +1 -0
  313. package/dist/esm/src/decorators/ContainerHelpers.js +42 -0
  314. package/dist/esm/src/decorators/ContainerHelpers.js.map +1 -0
  315. package/dist/esm/src/decorators/SpecializedTools.d.ts +218 -0
  316. package/dist/esm/src/decorators/SpecializedTools.d.ts.map +1 -0
  317. package/dist/esm/src/decorators/SpecializedTools.js +383 -0
  318. package/dist/esm/src/decorators/SpecializedTools.js.map +1 -0
  319. package/dist/esm/src/decorators/Tool.d.ts +210 -0
  320. package/dist/esm/src/decorators/Tool.d.ts.map +1 -0
  321. package/dist/esm/src/decorators/Tool.js +694 -0
  322. package/dist/esm/src/decorators/Tool.js.map +1 -0
  323. package/dist/esm/src/decorators/ToolHelpers.d.ts +74 -0
  324. package/dist/esm/src/decorators/ToolHelpers.d.ts.map +1 -0
  325. package/dist/esm/src/decorators/ToolHelpers.js +219 -0
  326. package/dist/esm/src/decorators/ToolHelpers.js.map +1 -0
  327. package/dist/esm/src/decorators/ToolPreset.d.ts +138 -0
  328. package/dist/esm/src/decorators/ToolPreset.d.ts.map +1 -0
  329. package/dist/esm/src/decorators/ToolPreset.js +259 -0
  330. package/dist/esm/src/decorators/ToolPreset.js.map +1 -0
  331. package/dist/esm/src/decorators/ToolProvider.d.ts +65 -0
  332. package/dist/esm/src/decorators/ToolProvider.d.ts.map +1 -0
  333. package/dist/esm/src/decorators/ToolProvider.js +81 -0
  334. package/dist/esm/src/decorators/ToolProvider.js.map +1 -0
  335. package/dist/esm/src/decorators/index.d.ts +13 -0
  336. package/dist/esm/src/decorators/index.d.ts.map +1 -0
  337. package/dist/esm/src/decorators/index.js +14 -0
  338. package/dist/esm/src/decorators/index.js.map +1 -0
  339. package/dist/esm/src/execution/DOMExecutor.d.ts +43 -0
  340. package/dist/esm/src/execution/DOMExecutor.d.ts.map +1 -0
  341. package/dist/esm/src/execution/DOMExecutor.js +229 -0
  342. package/dist/esm/src/execution/DOMExecutor.js.map +1 -0
  343. package/dist/esm/src/execution/PlaywrightExecutor.d.ts +38 -0
  344. package/dist/esm/src/execution/PlaywrightExecutor.d.ts.map +1 -0
  345. package/dist/esm/src/execution/PlaywrightExecutor.js +192 -0
  346. package/dist/esm/src/execution/PlaywrightExecutor.js.map +1 -0
  347. package/dist/esm/src/exposure/ExposureCollector.d.ts +88 -0
  348. package/dist/esm/src/exposure/ExposureCollector.d.ts.map +1 -0
  349. package/dist/esm/src/exposure/ExposureCollector.js +354 -0
  350. package/dist/esm/src/exposure/ExposureCollector.js.map +1 -0
  351. package/dist/esm/src/exposure/index.d.ts +8 -0
  352. package/dist/esm/src/exposure/index.d.ts.map +1 -0
  353. package/dist/esm/src/exposure/index.js +10 -0
  354. package/dist/esm/src/exposure/index.js.map +1 -0
  355. package/dist/esm/src/index.d.ts +49 -0
  356. package/dist/esm/src/index.d.ts.map +1 -0
  357. package/dist/esm/src/index.js +79 -0
  358. package/dist/esm/src/index.js.map +1 -0
  359. package/dist/esm/src/interfaces/StatefulComponent.d.ts +72 -0
  360. package/dist/esm/src/interfaces/StatefulComponent.d.ts.map +1 -0
  361. package/dist/esm/src/interfaces/StatefulComponent.js +47 -0
  362. package/dist/esm/src/interfaces/StatefulComponent.js.map +1 -0
  363. package/dist/esm/src/name-contracts/ContractScanner.d.ts +61 -0
  364. package/dist/esm/src/name-contracts/ContractScanner.d.ts.map +1 -0
  365. package/dist/esm/src/name-contracts/ContractScanner.js +11 -0
  366. package/dist/esm/src/name-contracts/ContractScanner.js.map +1 -0
  367. package/dist/esm/src/name-contracts/RouteContractScanner.d.ts +30 -0
  368. package/dist/esm/src/name-contracts/RouteContractScanner.d.ts.map +1 -0
  369. package/dist/esm/src/name-contracts/RouteContractScanner.js +188 -0
  370. package/dist/esm/src/name-contracts/RouteContractScanner.js.map +1 -0
  371. package/dist/esm/src/name-contracts/index.d.ts +10 -0
  372. package/dist/esm/src/name-contracts/index.d.ts.map +1 -0
  373. package/dist/esm/src/name-contracts/index.js +10 -0
  374. package/dist/esm/src/name-contracts/index.js.map +1 -0
  375. package/dist/esm/src/names/createNames.d.ts +49 -0
  376. package/dist/esm/src/names/createNames.d.ts.map +1 -0
  377. package/dist/esm/src/names/createNames.js +81 -0
  378. package/dist/esm/src/names/createNames.js.map +1 -0
  379. package/dist/esm/src/react/hooks/useChatWithContext.d.ts +68 -0
  380. package/dist/esm/src/react/hooks/useChatWithContext.d.ts.map +1 -0
  381. package/dist/esm/src/react/hooks/useChatWithContext.js +218 -0
  382. package/dist/esm/src/react/hooks/useChatWithContext.js.map +1 -0
  383. package/dist/esm/src/react/index.d.ts +12 -0
  384. package/dist/esm/src/react/index.d.ts.map +1 -0
  385. package/dist/esm/src/react/index.js +21 -0
  386. package/dist/esm/src/react/index.js.map +1 -0
  387. package/dist/esm/src/react/useNavigationHandler.d.ts +42 -0
  388. package/dist/esm/src/react/useNavigationHandler.d.ts.map +1 -0
  389. package/dist/esm/src/react/useNavigationHandler.js +85 -0
  390. package/dist/esm/src/react/useNavigationHandler.js.map +1 -0
  391. package/dist/esm/src/react/usePersistedState.d.ts +13 -0
  392. package/dist/esm/src/react/usePersistedState.d.ts.map +1 -0
  393. package/dist/esm/src/react/usePersistedState.js +69 -0
  394. package/dist/esm/src/react/usePersistedState.js.map +1 -0
  395. package/dist/esm/src/react/useToolBinding.d.ts +8 -0
  396. package/dist/esm/src/react/useToolBinding.d.ts.map +1 -0
  397. package/dist/esm/src/react/useToolBinding.js +107 -0
  398. package/dist/esm/src/react/useToolBinding.js.map +1 -0
  399. package/dist/esm/src/routes/RouteContractGenerator.d.ts +37 -0
  400. package/dist/esm/src/routes/RouteContractGenerator.d.ts.map +1 -0
  401. package/dist/esm/src/routes/RouteContractGenerator.js +115 -0
  402. package/dist/esm/src/routes/RouteContractGenerator.js.map +1 -0
  403. package/dist/esm/src/routes/RouteContractsConfig.d.ts +93 -0
  404. package/dist/esm/src/routes/RouteContractsConfig.d.ts.map +1 -0
  405. package/dist/esm/src/routes/RouteContractsConfig.js +36 -0
  406. package/dist/esm/src/routes/RouteContractsConfig.js.map +1 -0
  407. package/dist/esm/src/routes/index.d.ts +13 -0
  408. package/dist/esm/src/routes/index.d.ts.map +1 -0
  409. package/dist/esm/src/routes/index.js +13 -0
  410. package/dist/esm/src/routes/index.js.map +1 -0
  411. package/dist/esm/src/routes/scanners/NameExtractor.d.ts +36 -0
  412. package/dist/esm/src/routes/scanners/NameExtractor.d.ts.map +1 -0
  413. package/dist/esm/src/routes/scanners/NameExtractor.js +156 -0
  414. package/dist/esm/src/routes/scanners/NameExtractor.js.map +1 -0
  415. package/dist/esm/src/routes/scanners/NextjsDynamicScanner.d.ts +35 -0
  416. package/dist/esm/src/routes/scanners/NextjsDynamicScanner.d.ts.map +1 -0
  417. package/dist/esm/src/routes/scanners/NextjsDynamicScanner.js +98 -0
  418. package/dist/esm/src/routes/scanners/NextjsDynamicScanner.js.map +1 -0
  419. package/dist/esm/src/routes/scanners/RouteScanner.d.ts +64 -0
  420. package/dist/esm/src/routes/scanners/RouteScanner.d.ts.map +1 -0
  421. package/dist/esm/src/routes/scanners/RouteScanner.js +9 -0
  422. package/dist/esm/src/routes/scanners/RouteScanner.js.map +1 -0
  423. package/dist/esm/src/storage/LocalStorageAdapter.d.ts +29 -0
  424. package/dist/esm/src/storage/LocalStorageAdapter.d.ts.map +1 -0
  425. package/dist/esm/src/storage/LocalStorageAdapter.js +83 -0
  426. package/dist/esm/src/storage/LocalStorageAdapter.js.map +1 -0
  427. package/dist/esm/src/storage/StateManager.d.ts +175 -0
  428. package/dist/esm/src/storage/StateManager.d.ts.map +1 -0
  429. package/dist/esm/src/storage/StateManager.js +295 -0
  430. package/dist/esm/src/storage/StateManager.js.map +1 -0
  431. package/dist/esm/src/storage/StorageAdapter.d.ts +94 -0
  432. package/dist/esm/src/storage/StorageAdapter.d.ts.map +1 -0
  433. package/dist/esm/src/storage/StorageAdapter.js +158 -0
  434. package/dist/esm/src/storage/StorageAdapter.js.map +1 -0
  435. package/dist/esm/src/storage/index.d.ts +12 -0
  436. package/dist/esm/src/storage/index.d.ts.map +1 -0
  437. package/dist/esm/src/storage/index.js +17 -0
  438. package/dist/esm/src/storage/index.js.map +1 -0
  439. package/dist/esm/src/testing/BrowserStateInjection.d.ts +74 -0
  440. package/dist/esm/src/testing/BrowserStateInjection.d.ts.map +1 -0
  441. package/dist/esm/src/testing/BrowserStateInjection.js +126 -0
  442. package/dist/esm/src/testing/BrowserStateInjection.js.map +1 -0
  443. package/dist/esm/src/testing/ComponentStateHelpers.d.ts +121 -0
  444. package/dist/esm/src/testing/ComponentStateHelpers.d.ts.map +1 -0
  445. package/dist/esm/src/testing/ComponentStateHelpers.js +190 -0
  446. package/dist/esm/src/testing/ComponentStateHelpers.js.map +1 -0
  447. package/dist/esm/src/testing/GherkinParser.d.ts +87 -0
  448. package/dist/esm/src/testing/GherkinParser.d.ts.map +1 -0
  449. package/dist/esm/src/testing/GherkinParser.js +248 -0
  450. package/dist/esm/src/testing/GherkinParser.js.map +1 -0
  451. package/dist/esm/src/testing/PlaywrightStateHelpers.d.ts +163 -0
  452. package/dist/esm/src/testing/PlaywrightStateHelpers.d.ts.map +1 -0
  453. package/dist/esm/src/testing/PlaywrightStateHelpers.js +242 -0
  454. package/dist/esm/src/testing/PlaywrightStateHelpers.js.map +1 -0
  455. package/dist/esm/src/testing/TestRunner.d.ts +50 -0
  456. package/dist/esm/src/testing/TestRunner.d.ts.map +1 -0
  457. package/dist/esm/src/testing/TestRunner.js +121 -0
  458. package/dist/esm/src/testing/TestRunner.js.map +1 -0
  459. package/dist/esm/src/testing/index.d.ts +12 -0
  460. package/dist/esm/src/testing/index.d.ts.map +1 -0
  461. package/dist/esm/src/testing/index.js +25 -0
  462. package/dist/esm/src/testing/index.js.map +1 -0
  463. package/dist/esm/src/testing/selectors.d.ts +65 -0
  464. package/dist/esm/src/testing/selectors.d.ts.map +1 -0
  465. package/dist/esm/src/testing/selectors.js +76 -0
  466. package/dist/esm/src/testing/selectors.js.map +1 -0
  467. package/dist/esm/src/tools/SystemTools.d.ts +139 -0
  468. package/dist/esm/src/tools/SystemTools.d.ts.map +1 -0
  469. package/dist/esm/src/tools/SystemTools.js +258 -0
  470. package/dist/esm/src/tools/SystemTools.js.map +1 -0
  471. package/dist/esm/src/types/ClassifiedTool.d.ts +61 -0
  472. package/dist/esm/src/types/ClassifiedTool.d.ts.map +1 -0
  473. package/dist/esm/src/types/ClassifiedTool.js +47 -0
  474. package/dist/esm/src/types/ClassifiedTool.js.map +1 -0
  475. package/dist/esm/src/types/ComponentState.d.ts +207 -0
  476. package/dist/esm/src/types/ComponentState.d.ts.map +1 -0
  477. package/dist/esm/src/types/ComponentState.js +25 -0
  478. package/dist/esm/src/types/ComponentState.js.map +1 -0
  479. package/dist/esm/src/types/DiscoverableToolProvider.d.ts +59 -0
  480. package/dist/esm/src/types/DiscoverableToolProvider.d.ts.map +1 -0
  481. package/dist/esm/src/types/DiscoverableToolProvider.js +8 -0
  482. package/dist/esm/src/types/DiscoverableToolProvider.js.map +1 -0
  483. package/dist/esm/src/types/ExposureState.d.ts +75 -0
  484. package/dist/esm/src/types/ExposureState.d.ts.map +1 -0
  485. package/dist/esm/src/types/ExposureState.js +22 -0
  486. package/dist/esm/src/types/ExposureState.js.map +1 -0
  487. package/dist/esm/src/types/NavigationGraph.d.ts +98 -0
  488. package/dist/esm/src/types/NavigationGraph.d.ts.map +1 -0
  489. package/dist/esm/src/types/NavigationGraph.js +7 -0
  490. package/dist/esm/src/types/NavigationGraph.js.map +1 -0
  491. package/dist/esm/src/types/OperationType.d.ts +45 -0
  492. package/dist/esm/src/types/OperationType.d.ts.map +1 -0
  493. package/dist/esm/src/types/OperationType.js +46 -0
  494. package/dist/esm/src/types/OperationType.js.map +1 -0
  495. package/dist/esm/src/types/StateManagers.d.ts +35 -0
  496. package/dist/esm/src/types/StateManagers.d.ts.map +1 -0
  497. package/dist/esm/src/types/StateManagers.js +36 -0
  498. package/dist/esm/src/types/StateManagers.js.map +1 -0
  499. package/dist/esm/src/types/Tool.d.ts +162 -0
  500. package/dist/esm/src/types/Tool.d.ts.map +1 -0
  501. package/dist/esm/src/types/Tool.js +38 -0
  502. package/dist/esm/src/types/Tool.js.map +1 -0
  503. package/dist/esm/src/types/ToolPermissions.d.ts +73 -0
  504. package/dist/esm/src/types/ToolPermissions.d.ts.map +1 -0
  505. package/dist/esm/src/types/ToolPermissions.js +51 -0
  506. package/dist/esm/src/types/ToolPermissions.js.map +1 -0
  507. package/dist/esm/src/types/ToolResult.d.ts +129 -0
  508. package/dist/esm/src/types/ToolResult.d.ts.map +1 -0
  509. package/dist/esm/src/types/ToolResult.js +22 -0
  510. package/dist/esm/src/types/ToolResult.js.map +1 -0
  511. package/dist/esm/src/types/index.d.ts +47 -0
  512. package/dist/esm/src/types/index.d.ts.map +1 -0
  513. package/dist/esm/src/types/index.js +42 -0
  514. package/dist/esm/src/types/index.js.map +1 -0
  515. package/dist/esm/src/ui/react/chat/ChatBubble.d.ts +23 -0
  516. package/dist/esm/src/ui/react/chat/ChatBubble.d.ts.map +1 -0
  517. package/dist/esm/src/ui/react/chat/ChatBubble.js +184 -0
  518. package/dist/esm/src/ui/react/chat/ChatBubble.js.map +1 -0
  519. package/package.json +118 -0
@@ -0,0 +1,254 @@
1
+ "use strict";
2
+ /**
3
+ * Playwright Test Helpers for Browser State Injection
4
+ *
5
+ * Utilities for E2E tests to interact with component state
6
+ * using the browser state injection system.
7
+ *
8
+ * @module PlaywrightStateHelpers
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.setComponentState = setComponentState;
12
+ exports.getComponentState = getComponentState;
13
+ exports.resetComponentState = resetComponentState;
14
+ exports.waitForComponent = waitForComponent;
15
+ exports.hasComponent = hasComponent;
16
+ exports.setComponentStateFromContract = setComponentStateFromContract;
17
+ exports.assertComponentStateMatches = assertComponentStateMatches;
18
+ exports.getComponentElement = getComponentElement;
19
+ exports.initializeTestState = initializeTestState;
20
+ exports.batchStateOperations = batchStateOperations;
21
+ /**
22
+ * Set component state in the browser
23
+ *
24
+ * @param page - Playwright page object
25
+ * @param componentName - Component name from @Component decorator
26
+ * @param state - Partial state to merge
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * await setComponentState(page, 'counter', { count: 5 });
31
+ * ```
32
+ */
33
+ async function setComponentState(page, componentName, state) {
34
+ await page.evaluate(({ component, newState }) => {
35
+ if (!window.__testState__) {
36
+ throw new Error('Test state manager not initialized. Did you forget to call initializeTestStateManager()?');
37
+ }
38
+ window.__testState__.setState(component, newState);
39
+ }, { component: componentName, newState: state });
40
+ }
41
+ /**
42
+ * Get component state from the browser
43
+ *
44
+ * @param page - Playwright page object
45
+ * @param componentName - Component name from @Component decorator
46
+ * @returns Current component state or undefined
47
+ *
48
+ * @example
49
+ * ```typescript
50
+ * const state = await getComponentState(page, 'counter');
51
+ * expect(state.count).toBe(5);
52
+ * ```
53
+ */
54
+ async function getComponentState(page, componentName) {
55
+ return await page.evaluate((component) => {
56
+ if (!window.__testState__) {
57
+ throw new Error('Test state manager not initialized');
58
+ }
59
+ return window.__testState__.getState(component);
60
+ }, componentName);
61
+ }
62
+ /**
63
+ * Reset component to initial state
64
+ *
65
+ * @param page - Playwright page object
66
+ * @param componentName - Component name from @Component decorator
67
+ *
68
+ * @example
69
+ * ```typescript
70
+ * await resetComponentState(page, 'counter');
71
+ * ```
72
+ */
73
+ async function resetComponentState(page, componentName) {
74
+ await page.evaluate((component) => {
75
+ if (!window.__testState__) {
76
+ throw new Error('Test state manager not initialized');
77
+ }
78
+ window.__testState__.resetState(component);
79
+ }, componentName);
80
+ }
81
+ /**
82
+ * Wait for component to be available in the DOM
83
+ *
84
+ * @param page - Playwright page object
85
+ * @param componentName - Component name from @Component decorator
86
+ * @param timeoutMs - Timeout in milliseconds (default: 5000)
87
+ *
88
+ * @example
89
+ * ```typescript
90
+ * await waitForComponent(page, 'counter');
91
+ * ```
92
+ */
93
+ async function waitForComponent(page, componentName, timeoutMs = 5000) {
94
+ await page.evaluate(async ({ component, timeout }) => {
95
+ if (!window.__testState__) {
96
+ throw new Error('Test state manager not initialized');
97
+ }
98
+ await window.__testState__.waitForComponent(component, timeout);
99
+ }, { component: componentName, timeout: timeoutMs });
100
+ }
101
+ /**
102
+ * Check if component is available
103
+ *
104
+ * @param page - Playwright page object
105
+ * @param componentName - Component name from @Component decorator
106
+ * @returns True if component is rendered and available
107
+ *
108
+ * @example
109
+ * ```typescript
110
+ * const isAvailable = await hasComponent(page, 'counter');
111
+ * ```
112
+ */
113
+ async function hasComponent(page, componentName) {
114
+ return await page.evaluate((component) => {
115
+ if (!window.__testState__) {
116
+ return false;
117
+ }
118
+ return window.__testState__.hasComponent(component);
119
+ }, componentName);
120
+ }
121
+ /**
122
+ * Set component state from a data contract
123
+ *
124
+ * @param page - Playwright page object
125
+ * @param componentName - Component name
126
+ * @param dataContract - Data contract object (e.g., ExamplesData.counter.state.five)
127
+ *
128
+ * @example
129
+ * ```typescript
130
+ * import { ExamplesData } from '@supernal-interface/core';
131
+ *
132
+ * await setComponentStateFromContract(
133
+ * page,
134
+ * 'counter',
135
+ * ExamplesData.counter.state.five
136
+ * );
137
+ * ```
138
+ */
139
+ async function setComponentStateFromContract(page, componentName, dataContract) {
140
+ await setComponentState(page, componentName, dataContract);
141
+ }
142
+ /**
143
+ * Assert component state matches data contract
144
+ *
145
+ * @param page - Playwright page object
146
+ * @param componentName - Component name
147
+ * @param expectedContract - Expected data contract
148
+ *
149
+ * @example
150
+ * ```typescript
151
+ * await assertComponentStateMatches(
152
+ * page,
153
+ * 'counter',
154
+ * ExamplesData.counter.state.five
155
+ * );
156
+ * ```
157
+ */
158
+ async function assertComponentStateMatches(page, componentName, expectedContract) {
159
+ const actualState = await getComponentState(page, componentName);
160
+ if (!actualState) {
161
+ throw new Error(`Component '${componentName}' state is undefined`);
162
+ }
163
+ // Deep equality check
164
+ const actualJson = JSON.stringify(actualState);
165
+ const expectedJson = JSON.stringify(expectedContract);
166
+ if (actualJson !== expectedJson) {
167
+ throw new Error(`Component '${componentName}' state does not match.\n` +
168
+ `Expected: ${expectedJson}\n` +
169
+ `Actual: ${actualJson}`);
170
+ }
171
+ }
172
+ /**
173
+ * Get component element by name
174
+ *
175
+ * @param page - Playwright page object
176
+ * @param componentName - Component name
177
+ * @returns Locator for the component element
178
+ *
179
+ * @example
180
+ * ```typescript
181
+ * const counter = getComponentElement(page, 'counter');
182
+ * await expect(counter).toBeVisible();
183
+ * ```
184
+ */
185
+ function getComponentElement(page, componentName) {
186
+ return page.locator(`[data-component="${componentName}"]`);
187
+ }
188
+ /**
189
+ * Initialize test state manager in the browser
190
+ * Call this in beforeEach or at the start of tests
191
+ *
192
+ * @param page - Playwright page object
193
+ *
194
+ * @example
195
+ * ```typescript
196
+ * test.beforeEach(async ({ page }) => {
197
+ * await initializeTestState(page);
198
+ * });
199
+ * ```
200
+ */
201
+ async function initializeTestState(page) {
202
+ await page.evaluate(() => {
203
+ // Force initialize test state manager regardless of NODE_ENV
204
+ if (typeof window !== 'undefined' && !window.__testState__) {
205
+ // Create a minimal test state manager
206
+ window.__testState__ = {
207
+ states: new Map(),
208
+ getState(component) {
209
+ return this.states.get(component);
210
+ },
211
+ setState(component, state) {
212
+ const current = this.states.get(component) || {};
213
+ this.states.set(component, { ...current, ...state });
214
+ },
215
+ resetState(component) {
216
+ this.states.delete(component);
217
+ }
218
+ };
219
+ console.log('[TEST] Test state manager initialized in browser');
220
+ }
221
+ });
222
+ }
223
+ /**
224
+ * Batch state operations
225
+ * Useful for setting up complex test scenarios
226
+ *
227
+ * @param page - Playwright page object
228
+ * @param operations - Array of state operations
229
+ *
230
+ * @example
231
+ * ```typescript
232
+ * await batchStateOperations(page, [
233
+ * { type: 'set', component: 'counter', state: { count: 5 } },
234
+ * { type: 'set', component: 'chat', state: { messages: [] } },
235
+ * { type: 'reset', component: 'form' },
236
+ * ]);
237
+ * ```
238
+ */
239
+ async function batchStateOperations(page, operations) {
240
+ await page.evaluate((ops) => {
241
+ if (!window.__testState__) {
242
+ throw new Error('Test state manager not initialized');
243
+ }
244
+ for (const op of ops) {
245
+ if (op.type === 'set') {
246
+ window.__testState__.setState(op.component, op.state);
247
+ }
248
+ else if (op.type === 'reset') {
249
+ window.__testState__.resetState(op.component);
250
+ }
251
+ }
252
+ }, operations);
253
+ }
254
+ //# sourceMappingURL=PlaywrightStateHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlaywrightStateHelpers.js","sourceRoot":"","sources":["../../../../src/testing/PlaywrightStateHelpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ /**
3
+ * Test Runner
4
+ *
5
+ * Orchestrates test generation and execution.
6
+ * Basic open-source version (TestGenerator and Story system are enterprise edition).
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.TestRunner = void 0;
43
+ // Enterprise features - not available in open source edition
44
+ // import { TestGenerator } from '../generators/TestGenerator';
45
+ // import { StoryRegistry, StoryExecutor } from '../background/stories';
46
+ const GherkinParser_1 = require("./GherkinParser");
47
+ const ToolRegistry_1 = require("../background/registry/ToolRegistry");
48
+ class TestRunner {
49
+ /**
50
+ * Generate all test files
51
+ *
52
+ * NOTE: Full test generation is part of @supernal/interface-enterprise
53
+ * Open source edition includes basic Gherkin parsing only.
54
+ */
55
+ static async generateTests(options = {}) {
56
+ const tests = new Map();
57
+ // 1. Standard test generation - Enterprise feature
58
+ // const standardTests = TestGenerator.generateAllTests({...});
59
+ // Enterprise feature - see https://supernal.ai/enterprise
60
+ // 2. Generate Gherkin-based tests if requested (basic support)
61
+ if (options.includeGherkin) {
62
+ const gherkinTests = this.generateGherkinTests(options);
63
+ for (const [filename, content] of gherkinTests) {
64
+ tests.set(filename, content);
65
+ }
66
+ }
67
+ // 3. Story-based tests - Enterprise feature
68
+ if (options.includeStories) {
69
+ throw new Error('Story system is part of @supernal/interface-enterprise. ' +
70
+ 'Visit https://supernal.ai/enterprise for more information.');
71
+ }
72
+ return tests;
73
+ }
74
+ /**
75
+ * Generate Gherkin feature files and tests
76
+ */
77
+ static generateGherkinTests(options) {
78
+ const files = new Map();
79
+ // Get tools grouped by category
80
+ const categories = new Set(ToolRegistry_1.ToolRegistry.getTools().map(t => t.category));
81
+ for (const category of categories) {
82
+ if (options.filterByCategory && category !== options.filterByCategory) {
83
+ continue;
84
+ }
85
+ const tools = ToolRegistry_1.ToolRegistry.getToolsByCategory(category);
86
+ if (tools.length === 0)
87
+ continue;
88
+ // Generate feature file
89
+ const featureName = `${category} Tools`;
90
+ const feature = GherkinParser_1.GherkinParser.generateFeature(featureName, tools, {
91
+ description: `Test ${category} tool interactions`,
92
+ tags: [category.toLowerCase(), 'generated']
93
+ });
94
+ files.set(`${category.toLowerCase()}.feature`, feature);
95
+ // Parse and generate Playwright test
96
+ const parsedFeature = GherkinParser_1.GherkinParser.parseFeature(feature);
97
+ const test = GherkinParser_1.GherkinParser.generatePlaywrightTest(parsedFeature);
98
+ files.set(`${category.toLowerCase()}.gherkin.spec.ts`, test);
99
+ }
100
+ return files;
101
+ }
102
+ /**
103
+ * Generate story-based test file
104
+ *
105
+ * NOTE: Story system is part of @supernal/interface-enterprise
106
+ */
107
+ static generateStoryTests(options) {
108
+ throw new Error('Story system is part of @supernal/interface-enterprise. ' +
109
+ 'Visit https://supernal.ai/enterprise for more information.');
110
+ }
111
+ /**
112
+ * Generate documentation
113
+ *
114
+ * NOTE: Full documentation generation requires ToolPromptGenerator
115
+ * which is under review for open source vs enterprise.
116
+ */
117
+ static generateDocumentation() {
118
+ const docs = new Map();
119
+ // Basic registry overview (available in open source)
120
+ const overview = ToolRegistry_1.ToolRegistry.overview();
121
+ docs.set('REGISTRY_OVERVIEW.txt', overview);
122
+ // Advanced documentation - Enterprise feature
123
+ // const toolDocs = ToolPromptGenerator.generatePrompt('documentation', {...});
124
+ // const summary = ToolPromptGenerator.generateToolSummary();
125
+ return docs;
126
+ }
127
+ /**
128
+ * Write files to disk
129
+ */
130
+ static async writeFiles(files, outputDir) {
131
+ const fs = await Promise.resolve().then(() => __importStar(require('fs/promises')));
132
+ const path = await Promise.resolve().then(() => __importStar(require('path')));
133
+ // Ensure output directory exists
134
+ await fs.mkdir(outputDir, { recursive: true });
135
+ // Write each file
136
+ for (const [filename, content] of files) {
137
+ const filePath = path.join(outputDir, filename);
138
+ // Create subdirectories if needed
139
+ const dir = path.dirname(filePath);
140
+ await fs.mkdir(dir, { recursive: true });
141
+ await fs.writeFile(filePath, content, 'utf8');
142
+ console.log(`✅ Generated: ${filePath}`);
143
+ }
144
+ }
145
+ /**
146
+ * Generate and write all tests
147
+ */
148
+ static async generateAndWrite(options = {}) {
149
+ const outputDir = options.outputDir || './tests/generated';
150
+ console.log(`🔧 Generating tests...`);
151
+ const tests = await this.generateTests(options);
152
+ console.log(`📝 Writing ${tests.size} test files to ${outputDir}...`);
153
+ await this.writeFiles(tests, outputDir);
154
+ console.log(`✅ Test generation complete!`);
155
+ }
156
+ }
157
+ exports.TestRunner = TestRunner;
158
+ //# sourceMappingURL=TestRunner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestRunner.js","sourceRoot":"","sources":["../../../../src/testing/TestRunner.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,6DAA6D;AAC7D,+DAA+D;AAC/D,wEAAwE;AACxE,mDAAgD;AAChD,sEAAmE;AAanE,MAAa,UAAU;IACrB;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,UAA0B,EAAE;QACrD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;QAExC,mDAAmD;QACnD,+DAA+D;QAC/D,0DAA0D;QAE1D,+DAA+D;QAC/D,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YACxD,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,YAAY,EAAE,CAAC;gBAC/C,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,4CAA4C;QAC5C,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,0DAA0D;gBAC1D,4DAA4D,CAC7D,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,OAAuB;QACjD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;QAExC,gCAAgC;QAChC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,2BAAY,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEzE,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAClC,IAAI,OAAO,CAAC,gBAAgB,IAAI,QAAQ,KAAK,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBACtE,SAAS;YACX,CAAC;YAED,MAAM,KAAK,GAAG,2BAAY,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACxD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAEjC,wBAAwB;YACxB,MAAM,WAAW,GAAG,GAAG,QAAQ,QAAQ,CAAC;YACxC,MAAM,OAAO,GAAG,6BAAa,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,EAAE;gBAChE,WAAW,EAAE,QAAQ,QAAQ,oBAAoB;gBACjD,IAAI,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,WAAW,CAAC;aAC5C,CAAC,CAAC;YAEH,KAAK,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YAExD,qCAAqC;YACrC,MAAM,aAAa,GAAG,6BAAa,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC1D,MAAM,IAAI,GAAG,6BAAa,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;YAEjE,KAAK,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,WAAW,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,OAAuB;QAC/C,MAAM,IAAI,KAAK,CACb,0DAA0D;YAC1D,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,qBAAqB;QAC1B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;QAEvC,qDAAqD;QACrD,MAAM,QAAQ,GAAG,2BAAY,CAAC,QAAQ,EAAE,CAAC;QACzC,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE,QAAQ,CAAC,CAAC;QAE5C,8CAA8C;QAC9C,+EAA+E;QAC/E,6DAA6D;QAE7D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,UAAU,CACrB,KAA0B,EAC1B,SAAiB;QAEjB,MAAM,EAAE,GAAG,wDAAa,aAAa,GAAC,CAAC;QACvC,MAAM,IAAI,GAAG,wDAAa,MAAM,GAAC,CAAC;QAElC,iCAAiC;QACjC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/C,kBAAkB;QAClB,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC;YACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAEhD,kCAAkC;YAClC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAEzC,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,gBAAgB,QAAQ,EAAE,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,UAA0B,EAAE;QACxD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,mBAAmB,CAAC;QAE3D,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAEhD,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,IAAI,kBAAkB,SAAS,KAAK,CAAC,CAAC;QACtE,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAExC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC7C,CAAC;CACF;AA7ID,gCA6IC"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ /**
3
+ * Testing Utilities - Browser State Injection
4
+ *
5
+ * Provides complete testing infrastructure for component state management
6
+ * in E2E and integration tests.
7
+ *
8
+ * @module @supernal-interface/core/testing
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.testIdEndsWith = exports.testIdStartsWith = exports.testIdContains = exports.tid = exports.testIds = exports.testId = exports.batchStateOperations = exports.initializeTestState = exports.getComponentElement = exports.assertComponentStateMatches = exports.setComponentStateFromContract = exports.hasComponent = exports.waitForComponent = exports.resetComponentState = exports.getComponentState = exports.setComponentState = exports.getTestStateManager = exports.initializeTestStateManager = void 0;
12
+ // Browser-side utilities
13
+ var BrowserStateInjection_1 = require("./BrowserStateInjection");
14
+ Object.defineProperty(exports, "initializeTestStateManager", { enumerable: true, get: function () { return BrowserStateInjection_1.initializeTestStateManager; } });
15
+ Object.defineProperty(exports, "getTestStateManager", { enumerable: true, get: function () { return BrowserStateInjection_1.getTestStateManager; } });
16
+ // React hooks (enterprise feature - not in open source)
17
+ // export {
18
+ // useTestStateInjection,
19
+ // useTestStateAttributes,
20
+ // useTestState,
21
+ // setupTestStateInjection,
22
+ // } from './useTestStateInjection';
23
+ // Playwright helpers
24
+ var PlaywrightStateHelpers_1 = require("./PlaywrightStateHelpers");
25
+ Object.defineProperty(exports, "setComponentState", { enumerable: true, get: function () { return PlaywrightStateHelpers_1.setComponentState; } });
26
+ Object.defineProperty(exports, "getComponentState", { enumerable: true, get: function () { return PlaywrightStateHelpers_1.getComponentState; } });
27
+ Object.defineProperty(exports, "resetComponentState", { enumerable: true, get: function () { return PlaywrightStateHelpers_1.resetComponentState; } });
28
+ Object.defineProperty(exports, "waitForComponent", { enumerable: true, get: function () { return PlaywrightStateHelpers_1.waitForComponent; } });
29
+ Object.defineProperty(exports, "hasComponent", { enumerable: true, get: function () { return PlaywrightStateHelpers_1.hasComponent; } });
30
+ Object.defineProperty(exports, "setComponentStateFromContract", { enumerable: true, get: function () { return PlaywrightStateHelpers_1.setComponentStateFromContract; } });
31
+ Object.defineProperty(exports, "assertComponentStateMatches", { enumerable: true, get: function () { return PlaywrightStateHelpers_1.assertComponentStateMatches; } });
32
+ Object.defineProperty(exports, "getComponentElement", { enumerable: true, get: function () { return PlaywrightStateHelpers_1.getComponentElement; } });
33
+ Object.defineProperty(exports, "initializeTestState", { enumerable: true, get: function () { return PlaywrightStateHelpers_1.initializeTestState; } });
34
+ Object.defineProperty(exports, "batchStateOperations", { enumerable: true, get: function () { return PlaywrightStateHelpers_1.batchStateOperations; } });
35
+ // Test selectors
36
+ var selectors_1 = require("./selectors");
37
+ Object.defineProperty(exports, "testId", { enumerable: true, get: function () { return selectors_1.testId; } });
38
+ Object.defineProperty(exports, "testIds", { enumerable: true, get: function () { return selectors_1.testIds; } });
39
+ Object.defineProperty(exports, "tid", { enumerable: true, get: function () { return selectors_1.tid; } });
40
+ Object.defineProperty(exports, "testIdContains", { enumerable: true, get: function () { return selectors_1.testIdContains; } });
41
+ Object.defineProperty(exports, "testIdStartsWith", { enumerable: true, get: function () { return selectors_1.testIdStartsWith; } });
42
+ Object.defineProperty(exports, "testIdEndsWith", { enumerable: true, get: function () { return selectors_1.testIdEndsWith; } });
43
+ // NOTE: ComponentStateHelpers are NOT exported here because they import Playwright
44
+ // which cannot be bundled in client code. Import directly in test files:
45
+ // import { assertComponentState } from '@supernal-interface/core/testing/ComponentStateHelpers';
46
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/testing/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,yBAAyB;AACzB,iEAMiC;AAL/B,mIAAA,0BAA0B,OAAA;AAC1B,4HAAA,mBAAmB,OAAA;AAMrB,wDAAwD;AACxD,WAAW;AACX,2BAA2B;AAC3B,4BAA4B;AAC5B,kBAAkB;AAClB,6BAA6B;AAC7B,oCAAoC;AAEpC,qBAAqB;AACrB,mEAWkC;AAVhC,2HAAA,iBAAiB,OAAA;AACjB,2HAAA,iBAAiB,OAAA;AACjB,6HAAA,mBAAmB,OAAA;AACnB,0HAAA,gBAAgB,OAAA;AAChB,sHAAA,YAAY,OAAA;AACZ,uIAAA,6BAA6B,OAAA;AAC7B,qIAAA,2BAA2B,OAAA;AAC3B,6HAAA,mBAAmB,OAAA;AACnB,6HAAA,mBAAmB,OAAA;AACnB,8HAAA,oBAAoB,OAAA;AAGtB,iBAAiB;AACjB,yCAOqB;AANnB,mGAAA,MAAM,OAAA;AACN,oGAAA,OAAO,OAAA;AACP,gGAAA,GAAG,OAAA;AACH,2GAAA,cAAc,OAAA;AACd,6GAAA,gBAAgB,OAAA;AAChB,2GAAA,cAAc,OAAA;AAGhB,mFAAmF;AACnF,yEAAyE;AACzE,iGAAiG"}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ /**
3
+ * Testing Selector Helpers
4
+ *
5
+ * Utilities for converting component name contracts to test selectors.
6
+ * Reduces boilerplate and ensures consistency across test files.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.tid = void 0;
10
+ exports.testId = testId;
11
+ exports.testIds = testIds;
12
+ exports.testIdContains = testIdContains;
13
+ exports.testIdStartsWith = testIdStartsWith;
14
+ exports.testIdEndsWith = testIdEndsWith;
15
+ /**
16
+ * Convert a component name (from name contracts) to a data-testid selector
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * import { Chat } from '../architecture/DemoComponentNames';
21
+ * import { testId } from '@supernal-interface/core/testing';
22
+ *
23
+ * const input = page.locator(testId(Chat.input));
24
+ * // Equivalent to: page.locator('[data-testid="chat-input"]')
25
+ * ```
26
+ */
27
+ function testId(componentId) {
28
+ return `[data-testid="${componentId}"]`;
29
+ }
30
+ /**
31
+ * Create multiple selectors at once
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * const selectors = testIds({
36
+ * input: Chat.input,
37
+ * button: Chat.sendButton
38
+ * });
39
+ *
40
+ * await page.locator(selectors.input).fill('hello');
41
+ * await page.locator(selectors.button).click();
42
+ * ```
43
+ */
44
+ function testIds(ids) {
45
+ return Object.entries(ids).reduce((acc, [key, value]) => {
46
+ acc[key] = testId(value);
47
+ return acc;
48
+ }, {});
49
+ }
50
+ /**
51
+ * Alias for testId - shorter for repetitive use
52
+ */
53
+ exports.tid = testId;
54
+ /**
55
+ * Create a selector for elements with partial testid match
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * // Find all chat messages
60
+ * const messages = page.locator(testIdContains('chat-message'));
61
+ * ```
62
+ */
63
+ function testIdContains(partial) {
64
+ return `[data-testid*="${partial}"]`;
65
+ }
66
+ /**
67
+ * Create a selector for elements with testid starting with prefix
68
+ *
69
+ * @example
70
+ * ```typescript
71
+ * // Find all navigation elements
72
+ * const navElements = page.locator(testIdStartsWith('nav-'));
73
+ * ```
74
+ */
75
+ function testIdStartsWith(prefix) {
76
+ return `[data-testid^="${prefix}"]`;
77
+ }
78
+ /**
79
+ * Create a selector for elements with testid ending with suffix
80
+ */
81
+ function testIdEndsWith(suffix) {
82
+ return `[data-testid$="${suffix}"]`;
83
+ }
84
+ //# sourceMappingURL=selectors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../../../src/testing/selectors.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAcH,wBAEC;AAgBD,0BAOC;AAgBD,wCAEC;AAWD,4CAEC;AAKD,wCAEC;AA3ED;;;;;;;;;;;GAWG;AACH,SAAgB,MAAM,CAAC,WAAmB;IACxC,OAAO,iBAAiB,WAAW,IAAI,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAgB,OAAO,CACrB,GAAM;IAEN,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACtD,GAAG,CAAC,GAAc,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACpC,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAgC,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACU,QAAA,GAAG,GAAG,MAAM,CAAC;AAE1B;;;;;;;;GAQG;AACH,SAAgB,cAAc,CAAC,OAAe;IAC5C,OAAO,kBAAkB,OAAO,IAAI,CAAC;AACvC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,gBAAgB,CAAC,MAAc;IAC7C,OAAO,kBAAkB,MAAM,IAAI,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,MAAc;IAC3C,OAAO,kBAAkB,MAAM,IAAI,CAAC;AACtC,CAAC"}