@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,259 @@
1
+ /**
2
+ * Tool Preset Decorator
3
+ *
4
+ * Allows defining common configuration at file or class level to reduce
5
+ * repetition across multiple tools.
6
+ *
7
+ * DRY Principle: Define once, apply to many.
8
+ *
9
+ * NOTE: Due to TypeScript decorator execution order (methods run before class),
10
+ * we use a two-phase approach:
11
+ * 1. Method decorators check for existing presets
12
+ * 2. Class decorator applies retroactively if needed via metadata
13
+ */
14
+ import { ToolCategory } from '../types/index.js';
15
+ import { ToolRegistry } from '../background/registry/ToolRegistry.js';
16
+ /**
17
+ * Storage for preset configurations
18
+ * Keyed by class/file identifier
19
+ */
20
+ const presetRegistry = new Map();
21
+ /**
22
+ * Pending tools that need preset applied when class decorator runs
23
+ * Maps className -> array of {toolId, userConfig}
24
+ */
25
+ const pendingPresets = new Map();
26
+ /**
27
+ * Get the current preset for a class (if any)
28
+ */
29
+ export function getToolPreset(target) {
30
+ // For method decorators, target is the prototype, so we need to get the constructor
31
+ const constructor = target.constructor || target;
32
+ const className = constructor.name;
33
+ return presetRegistry.get(className);
34
+ }
35
+ /**
36
+ * Register a tool as pending preset application
37
+ */
38
+ export function registerPendingPreset(className, toolId, userConfig) {
39
+ if (!pendingPresets.has(className)) {
40
+ pendingPresets.set(className, []);
41
+ }
42
+ pendingPresets.get(className).push({ toolId, userConfig });
43
+ }
44
+ /**
45
+ * @ToolPreset - Define common tool configuration at class level
46
+ *
47
+ * All tools within this class will inherit these defaults unless overridden.
48
+ *
49
+ * Due to decorator execution order, this runs AFTER method decorators,
50
+ * so we retroactively apply the preset to all registered methods.
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * @ToolPreset({
55
+ * category: ToolCategory.CHAT,
56
+ * containerId: 'chat-modal',
57
+ * tags: ['chat', 'messaging']
58
+ * })
59
+ * class ChatTools {
60
+ * @AITool({ toolId: 'send-message' })
61
+ * async sendMessage(text: string) {
62
+ * // Inherits category, containerId, tags from preset
63
+ * }
64
+ *
65
+ * @AITool({
66
+ * toolId: 'clear-chat',
67
+ * category: ToolCategory.UTILITY // Override preset category
68
+ * })
69
+ * async clearChat() {
70
+ * // Uses UTILITY instead of CHAT
71
+ * }
72
+ * }
73
+ * ```
74
+ */
75
+ export function ToolPreset(preset) {
76
+ return function (constructor) {
77
+ const className = constructor.name;
78
+ // Store preset for this class
79
+ presetRegistry.set(className, preset);
80
+ // Apply preset retroactively to all pending tools in this class
81
+ const toolEntries = pendingPresets.get(className) || [];
82
+ for (const { toolId, userConfig } of toolEntries) {
83
+ const tool = ToolRegistry.getTool(toolId);
84
+ if (tool) {
85
+ // Merge with correct priority: userConfig > preset > tool defaults
86
+ const merged = {
87
+ ...tool, // Tool with specialized defaults
88
+ ...preset, // Preset overrides defaults
89
+ ...userConfig, // User config overrides everything
90
+ // Deep merge nested objects
91
+ permissions: {
92
+ ...tool.permissions,
93
+ ...preset.permissions,
94
+ ...userConfig.permissions,
95
+ },
96
+ callbacks: {
97
+ ...tool.callbacks,
98
+ ...preset.callbacks,
99
+ ...userConfig.callbacks,
100
+ },
101
+ origin: {
102
+ ...tool.origin,
103
+ ...preset.origin,
104
+ ...userConfig.origin,
105
+ },
106
+ };
107
+ // Update the tool in registry
108
+ const [providerName, methodName] = toolId.split('.');
109
+ ToolRegistry.registerTool(providerName, methodName, merged);
110
+ }
111
+ }
112
+ // Clear pending for this class
113
+ pendingPresets.delete(className);
114
+ // Return the original class (decorator doesn't modify it)
115
+ return constructor;
116
+ };
117
+ }
118
+ /**
119
+ * Apply preset to a tool config if available
120
+ * Called internally by specialized tool decorators
121
+ *
122
+ * NOTE: This function now just returns the preset, the actual merging
123
+ * is done in the specialized decorator factory.
124
+ */
125
+ export function applyPreset(target, config) {
126
+ const preset = getToolPreset(target);
127
+ return preset || {};
128
+ }
129
+ /**
130
+ * Clear all presets (useful for testing)
131
+ */
132
+ export function clearToolPresets() {
133
+ presetRegistry.clear();
134
+ }
135
+ // ============================================================================
136
+ // Predefined Preset Templates
137
+ // ============================================================================
138
+ /**
139
+ * Common preset templates for typical use cases
140
+ */
141
+ export const PresetTemplates = {
142
+ /**
143
+ * Chat/Messaging preset
144
+ */
145
+ Chat: {
146
+ category: ToolCategory.CHAT,
147
+ tags: ['chat', 'messaging'],
148
+ executionContext: 'both',
149
+ },
150
+ /**
151
+ * Settings/Configuration preset
152
+ */
153
+ Settings: {
154
+ category: ToolCategory.SETTINGS,
155
+ tags: ['settings', 'configuration'],
156
+ executionContext: 'both',
157
+ },
158
+ /**
159
+ * Search preset
160
+ */
161
+ Search: {
162
+ category: ToolCategory.SEARCH,
163
+ tags: ['search', 'query'],
164
+ executionContext: 'api',
165
+ },
166
+ /**
167
+ * Navigation preset
168
+ */
169
+ Navigation: {
170
+ category: ToolCategory.NAVIGATION,
171
+ tags: ['navigation', 'routing'],
172
+ executionContext: 'ui',
173
+ callbacks: {
174
+ navigation: true,
175
+ },
176
+ },
177
+ /**
178
+ * Data Management preset
179
+ */
180
+ Data: {
181
+ category: ToolCategory.DATA,
182
+ tags: ['data', 'crud'],
183
+ executionContext: 'api',
184
+ },
185
+ /**
186
+ * Onboarding/Help preset
187
+ */
188
+ Onboarding: {
189
+ category: ToolCategory.ONBOARDING,
190
+ tags: ['onboarding', 'help', 'tutorial'],
191
+ executionContext: 'ui',
192
+ generateStories: true,
193
+ },
194
+ };
195
+ /**
196
+ * Helper function to create preset from template
197
+ *
198
+ * @example
199
+ * ```typescript
200
+ * @ToolPreset(createPreset('Chat', { containerId: 'chat-modal' }))
201
+ * class ChatTools {
202
+ * // All tools inherit Chat preset + containerId
203
+ * }
204
+ * ```
205
+ */
206
+ export function createPreset(template, overrides = {}) {
207
+ return {
208
+ ...PresetTemplates[template],
209
+ ...overrides,
210
+ };
211
+ }
212
+ // ============================================================================
213
+ // Context-Based Presets (for modal/container-specific tools)
214
+ // ============================================================================
215
+ /**
216
+ * Create a preset for tools within a specific container/modal
217
+ *
218
+ * @example
219
+ * ```typescript
220
+ * @ToolPreset(containerPreset('chat-modal', ToolCategory.CHAT))
221
+ * class ChatModalTools {
222
+ * @AITool({ toolId: 'send' })
223
+ * async send(text: string) {
224
+ * // Automatically knows it's in chat-modal
225
+ * }
226
+ * }
227
+ * ```
228
+ */
229
+ export function containerPreset(containerId, category, additionalConfig = {}) {
230
+ return {
231
+ containerId,
232
+ category,
233
+ origin: {
234
+ modal: containerId,
235
+ },
236
+ ...additionalConfig,
237
+ };
238
+ }
239
+ /**
240
+ * Create a preset for tools on a specific path/route
241
+ *
242
+ * @example
243
+ * ```typescript
244
+ * @ToolPreset(pathPreset('/settings', ToolCategory.SETTINGS))
245
+ * class SettingsPageTools {
246
+ * // All tools inherit path context
247
+ * }
248
+ * ```
249
+ */
250
+ export function pathPreset(path, category, additionalConfig = {}) {
251
+ return {
252
+ category,
253
+ origin: {
254
+ path,
255
+ },
256
+ ...additionalConfig,
257
+ };
258
+ }
259
+ //# sourceMappingURL=ToolPreset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolPreset.js","sourceRoot":"","sources":["../../../../src/decorators/ToolPreset.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * ToolProvider Decorator
3
+ *
4
+ * Class-level decorator for configuring AI tool providers.
5
+ * Provides default settings for all tools in a class.
6
+ */
7
+ export interface ToolProviderConfig {
8
+ name?: string;
9
+ description?: string;
10
+ category?: string;
11
+ containerId?: string;
12
+ aiEnabled?: boolean;
13
+ dangerLevel?: 'safe' | 'moderate' | 'dangerous' | 'destructive';
14
+ requiresApproval?: boolean;
15
+ executionContext?: 'ui' | 'api' | 'both';
16
+ tags?: string[];
17
+ permissions?: {
18
+ level?: string;
19
+ sensitiveDataAccess?: boolean;
20
+ networkAccess?: boolean;
21
+ requiredScopes?: string[];
22
+ };
23
+ }
24
+ /**
25
+ * ToolProvider decorator - configures a class as an AI tool provider
26
+ *
27
+ * Automatically binds instances when they're created, so users don't need
28
+ * to manually call ToolRegistry.bindInstance().
29
+ *
30
+ * @example Shorthand syntax (just containerId)
31
+ * ```typescript
32
+ * @ToolProvider('MyContainer')
33
+ * class MyTools {
34
+ * @Tool('button', { examples: ['click'] })
35
+ * async action() {}
36
+ * }
37
+ * ```
38
+ *
39
+ * @example Full config syntax
40
+ * ```typescript
41
+ * @ToolProvider({
42
+ * containerId: 'MyContainer',
43
+ * category: 'user_interaction',
44
+ * aiEnabled: true
45
+ * })
46
+ * class MyTools { }
47
+ * ```
48
+ *
49
+ * @param configOrContainerId Provider configuration or just containerId for shorthand
50
+ */
51
+ export declare function ToolProvider(containerId: string): <T extends {
52
+ new (...args: any[]): {};
53
+ }>(constructor: T) => T;
54
+ export declare function ToolProvider(config: ToolProviderConfig): <T extends {
55
+ new (...args: any[]): {};
56
+ }>(constructor: T) => T;
57
+ /**
58
+ * Get tool provider configuration for a class
59
+ */
60
+ export declare function getToolProviderConfig(target: any): ToolProviderConfig | undefined;
61
+ /**
62
+ * Check if a class is a tool provider
63
+ */
64
+ export declare function isToolProvider(target: any): boolean;
65
+ //# sourceMappingURL=ToolProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolProvider.d.ts","sourceRoot":"","sources":["../../../../src/decorators/ToolProvider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,CAAC;IAChE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC;IACzC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,CAAC,EAAE;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;KAC3B,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,CAAC,SAAS;IAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;CAAE,EAAE,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC;AAEjH,wBAAgB,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,CAAC,CAAC,SAAS;IAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;CAAE,EAAE,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC;AA+DxH;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,GAAG,GAAG,kBAAkB,GAAG,SAAS,CAEjF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,GAAG,GAAG,OAAO,CAEnD"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * ToolProvider Decorator
3
+ *
4
+ * Class-level decorator for configuring AI tool providers.
5
+ * Provides default settings for all tools in a class.
6
+ */
7
+ // We'll get ToolRegistry lazily to avoid circular dependency issues
8
+ let ToolRegistryRef = null;
9
+ function getToolRegistry() {
10
+ if (!ToolRegistryRef) {
11
+ // Import ToolRegistry (works in both browser and Node.js)
12
+ ToolRegistryRef = require('../background/registry/ToolRegistry').ToolRegistry;
13
+ }
14
+ return ToolRegistryRef;
15
+ }
16
+ // eslint-disable-next-line no-redeclare
17
+ export function ToolProvider(configOrContainerId) {
18
+ return function (constructor) {
19
+ // Normalize to ToolProviderConfig
20
+ const config = typeof configOrContainerId === 'string'
21
+ ? { containerId: configOrContainerId }
22
+ : configOrContainerId;
23
+ // Store provider config on the class
24
+ constructor.__toolProvider__ = {
25
+ name: constructor.name,
26
+ config,
27
+ registeredAt: new Date().toISOString(),
28
+ };
29
+ // Update all tools registered for this provider with inherited values
30
+ const TR = getToolRegistry();
31
+ if (TR) {
32
+ const tools = TR.getToolsByProvider(constructor.name);
33
+ tools.forEach((tool) => {
34
+ // Apply inherited values from provider config
35
+ if (config.containerId && !tool.containerId) {
36
+ tool.containerId = config.containerId;
37
+ }
38
+ if (config.aiEnabled !== undefined && tool.aiEnabled === undefined) {
39
+ tool.aiEnabled = config.aiEnabled;
40
+ }
41
+ });
42
+ }
43
+ // Wrap constructor to auto-bind instance on creation
44
+ const WrappedConstructor = class extends constructor {
45
+ constructor(...args) {
46
+ super(...args);
47
+ // Auto-bind this instance's methods to ToolRegistry
48
+ // Only on client side (not during SSR)
49
+ if (typeof window !== 'undefined') {
50
+ const TR = getToolRegistry();
51
+ if (TR) {
52
+ TR.bindInstance(this);
53
+ }
54
+ else {
55
+ console.warn(`⚠️ [ToolProvider] ToolRegistry not available for ${constructor.name}`);
56
+ }
57
+ }
58
+ }
59
+ };
60
+ // Preserve original class name for debugging
61
+ Object.defineProperty(WrappedConstructor, 'name', {
62
+ value: constructor.name,
63
+ writable: false
64
+ });
65
+ console.log(`🏭 Registered Tool Provider: ${constructor.name} (auto-binding enabled)`);
66
+ return WrappedConstructor;
67
+ };
68
+ }
69
+ /**
70
+ * Get tool provider configuration for a class
71
+ */
72
+ export function getToolProviderConfig(target) {
73
+ return target.constructor?.__toolProvider__?.config;
74
+ }
75
+ /**
76
+ * Check if a class is a tool provider
77
+ */
78
+ export function isToolProvider(target) {
79
+ return !!target.constructor?.__toolProvider__;
80
+ }
81
+ //# sourceMappingURL=ToolProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolProvider.js","sourceRoot":"","sources":["../../../../src/decorators/ToolProvider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,oEAAoE;AACpE,IAAI,eAAe,GAAmC,IAAI,CAAC;AAE3D,SAAS,eAAe;IACtB,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,0DAA0D;QAC1D,eAAe,GAAG,OAAO,CAAC,qCAAqC,CAAC,CAAC,YAAY,CAAC;IAChF,CAAC;IACD,OAAO,eAAgB,CAAC;AAC1B,CAAC;AAoDD,wCAAwC;AACxC,MAAM,UAAU,YAAY,CAC1B,mBAAgD;IAEhD,OAAO,UAAkD,WAAc;QACrE,kCAAkC;QAClC,MAAM,MAAM,GAAuB,OAAO,mBAAmB,KAAK,QAAQ;YACxE,CAAC,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE;YACtC,CAAC,CAAC,mBAAmB,CAAC;QAExB,qCAAqC;QACpC,WAAmB,CAAC,gBAAgB,GAAG;YACtC,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,MAAM;YACN,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACvC,CAAC;QAEF,sEAAsE;QACtE,MAAM,EAAE,GAAG,eAAe,EAAE,CAAC;QAC7B,IAAI,EAAE,EAAE,CAAC;YACP,MAAM,KAAK,GAAG,EAAE,CAAC,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACtD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;gBAC1B,8CAA8C;gBAC9C,IAAI,MAAM,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC5C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;gBACxC,CAAC;gBACD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBACnE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;gBACpC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,qDAAqD;QACrD,MAAM,kBAAkB,GAAG,KAAM,SAAQ,WAAW;YAClD,YAAY,GAAG,IAAW;gBACxB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;gBAEf,oDAAoD;gBACpD,uCAAuC;gBACvC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;oBAClC,MAAM,EAAE,GAAG,eAAe,EAAE,CAAC;oBAC7B,IAAI,EAAE,EAAE,CAAC;wBACP,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oBACxB,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,IAAI,CAAC,qDAAqD,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;oBACxF,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC;QAEF,6CAA6C;QAC7C,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,MAAM,EAAE;YAChD,KAAK,EAAE,WAAW,CAAC,IAAI;YACvB,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,gCAAgC,WAAW,CAAC,IAAI,yBAAyB,CAAC,CAAC;QAEvF,OAAO,kBAAuB,CAAC;IACjC,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAW;IAC/C,OAAO,MAAM,CAAC,WAAW,EAAE,gBAAgB,EAAE,MAAM,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAW;IACxC,OAAO,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC;AAChD,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Supernal AI Interface - Decorator System Exports
3
+ *
4
+ * Enhanced decorators for automatic AI tool generation with safety controls.
5
+ */
6
+ export { Tool, ToolConfig, ToolMetadata } from './Tool';
7
+ export { ToolProvider, ToolProviderConfig, getToolProviderConfig, isToolProvider, } from './ToolProvider';
8
+ export { Component, ComponentConfig, getComponentConfig, isComponent, } from './Component';
9
+ export { AITool, DangerousTool, DestructiveTool, TestTool, OnboardingTool, DataReadTool, DataWriteTool, NavigationTool, AIAndTestTool, OnboardingAndTestTool, SpecializedTools, } from './SpecializedTools';
10
+ export type { SpecializedToolType } from './SpecializedTools';
11
+ export { ToolPreset, getToolPreset, applyPreset, registerPendingPreset, clearToolPresets, PresetTemplates, createPreset, containerPreset, pathPreset, } from './ToolPreset';
12
+ export type { ToolOptions } from '../types/Tool';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/decorators/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,WAAW,GACZ,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,MAAM,EACN,aAAa,EACb,eAAe,EACf,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,aAAa,EACb,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAG9D,OAAO,EACL,UAAU,EACV,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,UAAU,GACX,MAAM,cAAc,CAAC;AAGtB,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Supernal AI Interface - Decorator System Exports
3
+ *
4
+ * Enhanced decorators for automatic AI tool generation with safety controls.
5
+ */
6
+ // Base decorators
7
+ export { Tool } from './Tool.js';
8
+ export { ToolProvider, getToolProviderConfig, isToolProvider, } from './ToolProvider.js';
9
+ export { Component, getComponentConfig, isComponent, } from './Component.js';
10
+ // Specialized decorators (simplified API)
11
+ export { AITool, DangerousTool, DestructiveTool, TestTool, OnboardingTool, DataReadTool, DataWriteTool, NavigationTool, AIAndTestTool, OnboardingAndTestTool, SpecializedTools, } from './SpecializedTools.js';
12
+ // Preset system for DRY configuration
13
+ export { ToolPreset, getToolPreset, applyPreset, registerPendingPreset, clearToolPresets, PresetTemplates, createPreset, containerPreset, pathPreset, } from './ToolPreset.js';
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/decorators/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,kBAAkB;AAClB,OAAO,EAAE,IAAI,EAA4B,MAAM,QAAQ,CAAC;AACxD,OAAO,EACL,YAAY,EAEZ,qBAAqB,EACrB,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,SAAS,EAET,kBAAkB,EAClB,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,0CAA0C;AAC1C,OAAO,EACL,MAAM,EACN,aAAa,EACb,eAAe,EACf,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,aAAa,EACb,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAG5B,sCAAsC;AACtC,OAAO,EACL,UAAU,EACV,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,UAAU,GACX,MAAM,cAAc,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * DOM Executor
3
+ *
4
+ * Executes tools in live browser environment using DOM APIs.
5
+ * Handles real-time UI interactions and browser automation.
6
+ */
7
+ import { ToolMetadata } from '../decorators/Tool';
8
+ import { UniversalExecutionContext, UniversalToolResult } from '../background/registry/ToolRegistry';
9
+ export declare class DOMExecutor {
10
+ /**
11
+ * Execute a tool in live DOM context
12
+ */
13
+ execute(tool: ToolMetadata, parameters: any, context: UniversalExecutionContext): Promise<UniversalToolResult>;
14
+ /**
15
+ * Execute UI-based tool using DOM APIs
16
+ */
17
+ private executeUITool;
18
+ /**
19
+ * Execute API tool using fetch
20
+ */
21
+ private executeAPITool;
22
+ /**
23
+ * Perform UI action on element
24
+ */
25
+ private performUIAction;
26
+ /**
27
+ * Wait for element to appear
28
+ */
29
+ waitForElement(selector: string, timeout?: number): Promise<Element | null>;
30
+ /**
31
+ * Wait for condition to be true
32
+ */
33
+ waitForCondition(condition: () => boolean, timeout?: number): Promise<boolean>;
34
+ /**
35
+ * Get element information
36
+ */
37
+ getElementInfo(element: Element): any;
38
+ /**
39
+ * Take screenshot (if supported)
40
+ */
41
+ captureScreenshot(): Promise<string | null>;
42
+ }
43
+ //# sourceMappingURL=DOMExecutor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DOMExecutor.d.ts","sourceRoot":"","sources":["../../../../src/execution/DOMExecutor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAErG,qBAAa,WAAW;IACtB;;OAEG;IACG,OAAO,CACX,IAAI,EAAE,YAAY,EAClB,UAAU,EAAE,GAAG,EACf,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC;IAyB/B;;OAEG;YACW,aAAa;IAqC3B;;OAEG;YACW,cAAc;IA0D5B;;OAEG;YACW,eAAe;IAkD7B;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,MAAa,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAcvF;;OAEG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,OAAO,EAAE,OAAO,GAAE,MAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAa1F;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,GAAG;IAgBrC;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAelD"}