@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,218 @@
1
+ /**
2
+ * Specialized Tool Decorators
3
+ *
4
+ * Simplified, context-specific decorators that reduce boilerplate by providing
5
+ * sensible defaults for different use cases.
6
+ *
7
+ * DRY Principle: All specialized decorators inherit from base Tool decorator
8
+ * with context-specific overrides.
9
+ */
10
+ import { ToolConfig } from './Tool';
11
+ /**
12
+ * @AITool - Tools that AI can safely use
13
+ *
14
+ * Default Configuration:
15
+ * - aiEnabled: true
16
+ * - toolType: 'ai-safe'
17
+ * - dangerLevel: 'safe'
18
+ * - requiresApproval: false
19
+ * - generateSimulation: true
20
+ * - generateStories: true
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * @AITool({ toolId: 'search-button' })
25
+ * async search(query: string) {
26
+ * return await api.search(query);
27
+ * }
28
+ * ```
29
+ */
30
+ export declare const AITool: (config?: Partial<ToolConfig>) => (target: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor) => any;
31
+ /**
32
+ * @DangerousTool - Tools that require approval before AI can use
33
+ *
34
+ * Default Configuration:
35
+ * - aiEnabled: true (but requires approval)
36
+ * - toolType: 'ai-dangerous'
37
+ * - dangerLevel: 'dangerous'
38
+ * - requiresApproval: true
39
+ * - generateSimulation: true
40
+ * - generateStories: true
41
+ *
42
+ * @example
43
+ * ```typescript
44
+ * @DangerousTool({
45
+ * toolId: 'delete-account',
46
+ * description: 'Permanently delete user account'
47
+ * })
48
+ * async deleteAccount(userId: string) {
49
+ * return await api.deleteAccount(userId);
50
+ * }
51
+ * ```
52
+ */
53
+ export declare const DangerousTool: (config?: Partial<ToolConfig>) => (target: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor) => any;
54
+ /**
55
+ * @DestructiveTool - Tools for irreversible, destructive operations
56
+ *
57
+ * Default Configuration:
58
+ * - aiEnabled: true (but requires approval)
59
+ * - toolType: 'ai-dangerous'
60
+ * - dangerLevel: 'destructive'
61
+ * - requiresApproval: true
62
+ * - generateSimulation: true
63
+ * - generateStories: true
64
+ *
65
+ * @example
66
+ * ```typescript
67
+ * @DestructiveTool({
68
+ * toolId: 'purge-database',
69
+ * description: 'Delete all data - cannot be undone'
70
+ * })
71
+ * async purgeDatabase() {
72
+ * return await api.purgeAllData();
73
+ * }
74
+ * ```
75
+ */
76
+ export declare const DestructiveTool: (config?: Partial<ToolConfig>) => (target: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor) => any;
77
+ /**
78
+ * @TestTool - Tools exclusively for testing (AI cannot use)
79
+ *
80
+ * Default Configuration:
81
+ * - aiEnabled: false
82
+ * - toolType: 'test-only'
83
+ * - dangerLevel: 'safe'
84
+ * - requiresApproval: false
85
+ * - generateSimulation: true
86
+ * - generateStories: true
87
+ *
88
+ * @example
89
+ * ```typescript
90
+ * @TestTool({ toolId: 'test-helper' })
91
+ * async seedTestData() {
92
+ * return await db.seedTestData();
93
+ * }
94
+ * ```
95
+ */
96
+ export declare const TestTool: (config?: Partial<ToolConfig>) => (target: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor) => any;
97
+ /**
98
+ * @OnboardingTool - Tools for user tutorials and feature tours
99
+ *
100
+ * Default Configuration:
101
+ * - aiEnabled: true
102
+ * - toolType: 'ai-safe'
103
+ * - dangerLevel: 'safe'
104
+ * - requiresApproval: false
105
+ * - generateSimulation: true
106
+ * - generateStories: true (critical for onboarding flows)
107
+ * - category: ToolCategory.ONBOARDING
108
+ *
109
+ * @example
110
+ * ```typescript
111
+ * @OnboardingTool({
112
+ * toolId: 'show-tooltip',
113
+ * description: 'Display contextual help tooltip'
114
+ * })
115
+ * async showTooltip(elementId: string, message: string) {
116
+ * return showTooltip(elementId, message);
117
+ * }
118
+ * ```
119
+ */
120
+ export declare const OnboardingTool: (config?: Partial<ToolConfig>) => (target: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor) => any;
121
+ /**
122
+ * @DataReadTool - Safe read-only data access tools
123
+ *
124
+ * Default Configuration:
125
+ * - aiEnabled: true
126
+ * - toolType: 'ai-safe'
127
+ * - dangerLevel: 'safe'
128
+ * - requiresApproval: false
129
+ * - category: ToolCategory.DATA
130
+ *
131
+ * @example
132
+ * ```typescript
133
+ * @DataReadTool({ toolId: 'fetch-users' })
134
+ * async fetchUsers(filters: UserFilters) {
135
+ * return await api.getUsers(filters);
136
+ * }
137
+ * ```
138
+ */
139
+ export declare const DataReadTool: (config?: Partial<ToolConfig>) => (target: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor) => any;
140
+ /**
141
+ * @DataWriteTool - Tools that create/update data (requires approval)
142
+ *
143
+ * Default Configuration:
144
+ * - aiEnabled: true
145
+ * - toolType: 'ai-restricted'
146
+ * - dangerLevel: 'moderate'
147
+ * - requiresApproval: true
148
+ * - category: ToolCategory.DATA
149
+ *
150
+ * @example
151
+ * ```typescript
152
+ * @DataWriteTool({ toolId: 'update-profile' })
153
+ * async updateProfile(userId: string, data: ProfileData) {
154
+ * return await api.updateUser(userId, data);
155
+ * }
156
+ * ```
157
+ */
158
+ export declare const DataWriteTool: (config?: Partial<ToolConfig>) => (target: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor) => any;
159
+ /**
160
+ * @NavigationTool - Tools for page/view navigation
161
+ *
162
+ * Default Configuration:
163
+ * - aiEnabled: true
164
+ * - toolType: 'ai-safe'
165
+ * - dangerLevel: 'safe'
166
+ * - requiresApproval: false
167
+ * - category: ToolCategory.NAVIGATION
168
+ * - executionContext: 'ui'
169
+ *
170
+ * @example
171
+ * ```typescript
172
+ * @NavigationTool({ toolId: 'goto-settings' })
173
+ * async goToSettings() {
174
+ * router.push('/settings');
175
+ * }
176
+ * ```
177
+ */
178
+ export declare const NavigationTool: (config?: Partial<ToolConfig>) => (target: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor) => any;
179
+ /**
180
+ * @AIAndTestTool - Tools for both AI use and testing
181
+ *
182
+ * Default Configuration:
183
+ * - aiEnabled: true
184
+ * - toolType: 'ai-safe'
185
+ * - dangerLevel: 'safe'
186
+ * - requiresApproval: false
187
+ * - generateSimulation: true
188
+ * - generateStories: true
189
+ *
190
+ * @example
191
+ * ```typescript
192
+ * @AIAndTestTool({ toolId: 'search' })
193
+ * async search(query: string) {
194
+ * return await api.search(query);
195
+ * }
196
+ * ```
197
+ */
198
+ export declare const AIAndTestTool: (config?: Partial<ToolConfig>) => (target: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor) => any;
199
+ /**
200
+ * @OnboardingAndTestTool - Tools for onboarding flows and testing
201
+ *
202
+ * Alias for OnboardingTool (they have the same config)
203
+ */
204
+ export declare const OnboardingAndTestTool: (config?: Partial<ToolConfig>) => (target: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor) => any;
205
+ export declare const SpecializedTools: {
206
+ readonly AITool: (config?: Partial<ToolConfig>) => (target: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor) => any;
207
+ readonly DangerousTool: (config?: Partial<ToolConfig>) => (target: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor) => any;
208
+ readonly DestructiveTool: (config?: Partial<ToolConfig>) => (target: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor) => any;
209
+ readonly TestTool: (config?: Partial<ToolConfig>) => (target: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor) => any;
210
+ readonly OnboardingTool: (config?: Partial<ToolConfig>) => (target: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor) => any;
211
+ readonly DataReadTool: (config?: Partial<ToolConfig>) => (target: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor) => any;
212
+ readonly DataWriteTool: (config?: Partial<ToolConfig>) => (target: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor) => any;
213
+ readonly NavigationTool: (config?: Partial<ToolConfig>) => (target: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor) => any;
214
+ readonly AIAndTestTool: (config?: Partial<ToolConfig>) => (target: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor) => any;
215
+ readonly OnboardingAndTestTool: (config?: Partial<ToolConfig>) => (target: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor) => any;
216
+ };
217
+ export type SpecializedToolType = keyof typeof SpecializedTools;
218
+ //# sourceMappingURL=SpecializedTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpecializedTools.d.ts","sourceRoot":"","sources":["../../../../src/decorators/SpecializedTools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,383 @@
1
+ /**
2
+ * Specialized Tool Decorators
3
+ *
4
+ * Simplified, context-specific decorators that reduce boilerplate by providing
5
+ * sensible defaults for different use cases.
6
+ *
7
+ * DRY Principle: All specialized decorators inherit from base Tool decorator
8
+ * with context-specific overrides.
9
+ */
10
+ import { Tool } from './Tool.js';
11
+ import { ToolCategory } from '../types/index.js';
12
+ import { applyPreset, registerPendingPreset } from './ToolPreset.js';
13
+ /**
14
+ * Base function to create specialized tool decorators
15
+ * DRY: All specialized decorators use this factory
16
+ *
17
+ * Merge order (highest priority first):
18
+ * 1. User config (explicit overrides)
19
+ * 2. Preset config (class-level @ToolPreset) - applied retroactively
20
+ * 3. Specialized defaults (from decorator type)
21
+ * 4. Base defaults (from Tool decorator)
22
+ */
23
+ function createSpecializedTool(defaults) {
24
+ return function (config = {}) {
25
+ // Return decorator function that can access target
26
+ return function (target, propertyKey, descriptor) {
27
+ // Get preset if available (only for class methods)
28
+ // Note: Preset might not be registered yet due to decorator execution order
29
+ const preset = propertyKey ? applyPreset(target, {}) : {};
30
+ // Merge with correct priority:
31
+ // config (user) > preset > defaults (specialized)
32
+ const mergedConfig = {
33
+ ...defaults, // Specialized defaults (lowest priority)
34
+ ...preset, // Preset (middle priority) - might be empty initially
35
+ ...config, // User config (highest priority)
36
+ // Deep merge nested objects
37
+ permissions: {
38
+ ...defaults.permissions,
39
+ ...preset.permissions,
40
+ ...config.permissions,
41
+ },
42
+ callbacks: {
43
+ ...defaults.callbacks,
44
+ ...preset.callbacks,
45
+ ...config.callbacks,
46
+ },
47
+ origin: {
48
+ ...defaults.origin,
49
+ ...preset.origin,
50
+ ...config.origin,
51
+ },
52
+ };
53
+ // Apply the base Tool decorator
54
+ const result = Tool(mergedConfig)(target, propertyKey, descriptor);
55
+ // Register this tool as pending preset application (for class methods only)
56
+ if (propertyKey) {
57
+ const className = target.constructor?.name || 'Unknown';
58
+ const methodName = String(propertyKey);
59
+ const toolId = `${className}.${methodName}`;
60
+ registerPendingPreset(className, toolId, config); // Pass user config
61
+ }
62
+ return result;
63
+ };
64
+ };
65
+ }
66
+ // ============================================================================
67
+ // AI-Enabled Tools
68
+ // ============================================================================
69
+ /**
70
+ * @AITool - Tools that AI can safely use
71
+ *
72
+ * Default Configuration:
73
+ * - aiEnabled: true
74
+ * - toolType: 'ai-safe'
75
+ * - dangerLevel: 'safe'
76
+ * - requiresApproval: false
77
+ * - generateSimulation: true
78
+ * - generateStories: true
79
+ *
80
+ * @example
81
+ * ```typescript
82
+ * @AITool({ toolId: 'search-button' })
83
+ * async search(query: string) {
84
+ * return await api.search(query);
85
+ * }
86
+ * ```
87
+ */
88
+ export const AITool = createSpecializedTool({
89
+ aiEnabled: true,
90
+ toolType: 'ai-safe',
91
+ dangerLevel: 'safe',
92
+ requiresApproval: false,
93
+ generateSimulation: true,
94
+ generateStories: true,
95
+ permissions: {
96
+ level: 'auto_approve',
97
+ sensitiveDataAccess: false,
98
+ networkAccess: false,
99
+ },
100
+ });
101
+ /**
102
+ * @DangerousTool - Tools that require approval before AI can use
103
+ *
104
+ * Default Configuration:
105
+ * - aiEnabled: true (but requires approval)
106
+ * - toolType: 'ai-dangerous'
107
+ * - dangerLevel: 'dangerous'
108
+ * - requiresApproval: true
109
+ * - generateSimulation: true
110
+ * - generateStories: true
111
+ *
112
+ * @example
113
+ * ```typescript
114
+ * @DangerousTool({
115
+ * toolId: 'delete-account',
116
+ * description: 'Permanently delete user account'
117
+ * })
118
+ * async deleteAccount(userId: string) {
119
+ * return await api.deleteAccount(userId);
120
+ * }
121
+ * ```
122
+ */
123
+ export const DangerousTool = createSpecializedTool({
124
+ aiEnabled: true,
125
+ toolType: 'ai-dangerous',
126
+ dangerLevel: 'dangerous',
127
+ requiresApproval: true,
128
+ generateSimulation: true,
129
+ generateStories: true,
130
+ permissions: {
131
+ level: 'approve_once',
132
+ sensitiveDataAccess: true,
133
+ networkAccess: true,
134
+ },
135
+ });
136
+ /**
137
+ * @DestructiveTool - Tools for irreversible, destructive operations
138
+ *
139
+ * Default Configuration:
140
+ * - aiEnabled: true (but requires approval)
141
+ * - toolType: 'ai-dangerous'
142
+ * - dangerLevel: 'destructive'
143
+ * - requiresApproval: true
144
+ * - generateSimulation: true
145
+ * - generateStories: true
146
+ *
147
+ * @example
148
+ * ```typescript
149
+ * @DestructiveTool({
150
+ * toolId: 'purge-database',
151
+ * description: 'Delete all data - cannot be undone'
152
+ * })
153
+ * async purgeDatabase() {
154
+ * return await api.purgeAllData();
155
+ * }
156
+ * ```
157
+ */
158
+ export const DestructiveTool = createSpecializedTool({
159
+ aiEnabled: true,
160
+ toolType: 'ai-dangerous',
161
+ dangerLevel: 'destructive',
162
+ requiresApproval: true,
163
+ generateSimulation: true,
164
+ generateStories: true,
165
+ permissions: {
166
+ level: 'approve_once',
167
+ sensitiveDataAccess: true,
168
+ networkAccess: true,
169
+ },
170
+ });
171
+ // ============================================================================
172
+ // Testing Tools
173
+ // ============================================================================
174
+ /**
175
+ * @TestTool - Tools exclusively for testing (AI cannot use)
176
+ *
177
+ * Default Configuration:
178
+ * - aiEnabled: false
179
+ * - toolType: 'test-only'
180
+ * - dangerLevel: 'safe'
181
+ * - requiresApproval: false
182
+ * - generateSimulation: true
183
+ * - generateStories: true
184
+ *
185
+ * @example
186
+ * ```typescript
187
+ * @TestTool({ toolId: 'test-helper' })
188
+ * async seedTestData() {
189
+ * return await db.seedTestData();
190
+ * }
191
+ * ```
192
+ */
193
+ export const TestTool = createSpecializedTool({
194
+ aiEnabled: false,
195
+ toolType: 'test-only',
196
+ dangerLevel: 'safe',
197
+ requiresApproval: false,
198
+ generateSimulation: true,
199
+ generateStories: true,
200
+ });
201
+ // ============================================================================
202
+ // Onboarding & Help Tools
203
+ // ============================================================================
204
+ /**
205
+ * @OnboardingTool - Tools for user tutorials and feature tours
206
+ *
207
+ * Default Configuration:
208
+ * - aiEnabled: true
209
+ * - toolType: 'ai-safe'
210
+ * - dangerLevel: 'safe'
211
+ * - requiresApproval: false
212
+ * - generateSimulation: true
213
+ * - generateStories: true (critical for onboarding flows)
214
+ * - category: ToolCategory.ONBOARDING
215
+ *
216
+ * @example
217
+ * ```typescript
218
+ * @OnboardingTool({
219
+ * toolId: 'show-tooltip',
220
+ * description: 'Display contextual help tooltip'
221
+ * })
222
+ * async showTooltip(elementId: string, message: string) {
223
+ * return showTooltip(elementId, message);
224
+ * }
225
+ * ```
226
+ */
227
+ export const OnboardingTool = createSpecializedTool({
228
+ aiEnabled: true,
229
+ toolType: 'ai-safe',
230
+ dangerLevel: 'safe',
231
+ requiresApproval: false,
232
+ generateSimulation: true,
233
+ generateStories: true, // Critical for onboarding flows
234
+ category: ToolCategory.ONBOARDING,
235
+ });
236
+ // ============================================================================
237
+ // Data Tools
238
+ // ============================================================================
239
+ /**
240
+ * @DataReadTool - Safe read-only data access tools
241
+ *
242
+ * Default Configuration:
243
+ * - aiEnabled: true
244
+ * - toolType: 'ai-safe'
245
+ * - dangerLevel: 'safe'
246
+ * - requiresApproval: false
247
+ * - category: ToolCategory.DATA
248
+ *
249
+ * @example
250
+ * ```typescript
251
+ * @DataReadTool({ toolId: 'fetch-users' })
252
+ * async fetchUsers(filters: UserFilters) {
253
+ * return await api.getUsers(filters);
254
+ * }
255
+ * ```
256
+ */
257
+ export const DataReadTool = createSpecializedTool({
258
+ aiEnabled: true,
259
+ toolType: 'ai-safe',
260
+ dangerLevel: 'safe',
261
+ requiresApproval: false,
262
+ category: ToolCategory.DATA,
263
+ permissions: {
264
+ level: 'auto_approve',
265
+ sensitiveDataAccess: false,
266
+ networkAccess: true,
267
+ },
268
+ });
269
+ /**
270
+ * @DataWriteTool - Tools that create/update data (requires approval)
271
+ *
272
+ * Default Configuration:
273
+ * - aiEnabled: true
274
+ * - toolType: 'ai-restricted'
275
+ * - dangerLevel: 'moderate'
276
+ * - requiresApproval: true
277
+ * - category: ToolCategory.DATA
278
+ *
279
+ * @example
280
+ * ```typescript
281
+ * @DataWriteTool({ toolId: 'update-profile' })
282
+ * async updateProfile(userId: string, data: ProfileData) {
283
+ * return await api.updateUser(userId, data);
284
+ * }
285
+ * ```
286
+ */
287
+ export const DataWriteTool = createSpecializedTool({
288
+ aiEnabled: true,
289
+ toolType: 'ai-restricted',
290
+ dangerLevel: 'moderate',
291
+ requiresApproval: true,
292
+ category: ToolCategory.DATA,
293
+ permissions: {
294
+ level: 'approve_once',
295
+ sensitiveDataAccess: true,
296
+ networkAccess: true,
297
+ },
298
+ });
299
+ // ============================================================================
300
+ // Navigation Tools
301
+ // ============================================================================
302
+ /**
303
+ * @NavigationTool - Tools for page/view navigation
304
+ *
305
+ * Default Configuration:
306
+ * - aiEnabled: true
307
+ * - toolType: 'ai-safe'
308
+ * - dangerLevel: 'safe'
309
+ * - requiresApproval: false
310
+ * - category: ToolCategory.NAVIGATION
311
+ * - executionContext: 'ui'
312
+ *
313
+ * @example
314
+ * ```typescript
315
+ * @NavigationTool({ toolId: 'goto-settings' })
316
+ * async goToSettings() {
317
+ * router.push('/settings');
318
+ * }
319
+ * ```
320
+ */
321
+ export const NavigationTool = createSpecializedTool({
322
+ aiEnabled: true,
323
+ toolType: 'ai-safe',
324
+ dangerLevel: 'safe',
325
+ requiresApproval: false,
326
+ category: ToolCategory.NAVIGATION,
327
+ executionContext: 'ui',
328
+ callbacks: {
329
+ navigation: true,
330
+ },
331
+ });
332
+ // ============================================================================
333
+ // Combined Tools (Multiple Contexts)
334
+ // ============================================================================
335
+ /**
336
+ * @AIAndTestTool - Tools for both AI use and testing
337
+ *
338
+ * Default Configuration:
339
+ * - aiEnabled: true
340
+ * - toolType: 'ai-safe'
341
+ * - dangerLevel: 'safe'
342
+ * - requiresApproval: false
343
+ * - generateSimulation: true
344
+ * - generateStories: true
345
+ *
346
+ * @example
347
+ * ```typescript
348
+ * @AIAndTestTool({ toolId: 'search' })
349
+ * async search(query: string) {
350
+ * return await api.search(query);
351
+ * }
352
+ * ```
353
+ */
354
+ export const AIAndTestTool = createSpecializedTool({
355
+ aiEnabled: true,
356
+ toolType: 'ai-safe',
357
+ dangerLevel: 'safe',
358
+ requiresApproval: false,
359
+ generateSimulation: true,
360
+ generateStories: true,
361
+ });
362
+ /**
363
+ * @OnboardingAndTestTool - Tools for onboarding flows and testing
364
+ *
365
+ * Alias for OnboardingTool (they have the same config)
366
+ */
367
+ export const OnboardingAndTestTool = OnboardingTool;
368
+ // ============================================================================
369
+ // Export all specialized decorators
370
+ // ============================================================================
371
+ export const SpecializedTools = {
372
+ AITool,
373
+ DangerousTool,
374
+ DestructiveTool,
375
+ TestTool,
376
+ OnboardingTool,
377
+ DataReadTool,
378
+ DataWriteTool,
379
+ NavigationTool,
380
+ AIAndTestTool,
381
+ OnboardingAndTestTool,
382
+ };
383
+ //# sourceMappingURL=SpecializedTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpecializedTools.js","sourceRoot":"","sources":["../../../../src/decorators/SpecializedTools.ts"],"names":[],"mappings":"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"}