@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,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"}