@webiny/api-core 0.0.0-unstable.81ae05e56b → 0.0.0-unstable.a4f3e4ea8b

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 (956) hide show
  1. package/ApiCoreFeature.d.ts +5 -1
  2. package/ApiCoreFeature.js +25 -15
  3. package/ApiCoreFeature.js.map +1 -1
  4. package/createApiCore.d.ts +1 -1
  5. package/createApiCore.js +17 -8
  6. package/createApiCore.js.map +1 -1
  7. package/domain/identity/SystemIdentityValue.js +9 -8
  8. package/domain/identity/SystemIdentityValue.js.map +1 -1
  9. package/domain/security/ApiToken.js +5 -11
  10. package/domain/security/ApiToken.js.map +1 -1
  11. package/domain/tenancy/RootTenantValue.js +9 -8
  12. package/domain/tenancy/RootTenantValue.js.map +1 -1
  13. package/domain/tenancy/errors.js +0 -3
  14. package/exports/api/build-params.d.ts +1 -0
  15. package/exports/api/build-params.js +0 -2
  16. package/exports/api/event-publisher.d.ts +1 -0
  17. package/exports/api/event-publisher.js +0 -2
  18. package/exports/api/graphql.js +0 -2
  19. package/exports/api/key-value-store.d.ts +1 -0
  20. package/exports/api/key-value-store.js +0 -2
  21. package/exports/api/logger.d.ts +1 -0
  22. package/exports/api/logger.js +0 -2
  23. package/exports/api/security/api-key.d.ts +1 -0
  24. package/exports/api/security/api-key.js +1 -2
  25. package/exports/api/security/authentication.js +0 -2
  26. package/exports/api/security/role.js +1 -3
  27. package/exports/api/security/user.js +0 -2
  28. package/exports/api/security.d.ts +4 -0
  29. package/exports/api/security.js +3 -4
  30. package/exports/api/system.js +0 -2
  31. package/exports/api/tasks.js +0 -2
  32. package/exports/api/tenancy.js +4 -6
  33. package/exports/api/webhooks.d.ts +1 -0
  34. package/exports/api/webhooks.js +1 -0
  35. package/exports/api.d.ts +7 -0
  36. package/exports/api.js +6 -0
  37. package/features/ai/Ai.d.ts +30 -0
  38. package/features/ai/Ai.js +149 -0
  39. package/features/ai/Ai.js.map +1 -0
  40. package/features/ai/AiModelRegistry.d.ts +12 -0
  41. package/features/ai/AiModelRegistry.js +30 -0
  42. package/features/ai/AiModelRegistry.js.map +1 -0
  43. package/features/ai/AiSdkTools.d.ts +11 -0
  44. package/features/ai/AiSdkTools.js +29 -0
  45. package/features/ai/AiSdkTools.js.map +1 -0
  46. package/features/ai/AnthropicSdkFactory.d.ts +10 -0
  47. package/features/ai/AnthropicSdkFactory.js +72 -0
  48. package/features/ai/AnthropicSdkFactory.js.map +1 -0
  49. package/features/ai/DEVELOPERS.md +126 -0
  50. package/features/ai/GoogleSdkFactory.d.ts +10 -0
  51. package/features/ai/GoogleSdkFactory.js +65 -0
  52. package/features/ai/GoogleSdkFactory.js.map +1 -0
  53. package/features/ai/OpenAiSdkFactory.d.ts +10 -0
  54. package/features/ai/OpenAiSdkFactory.js +132 -0
  55. package/features/ai/OpenAiSdkFactory.js.map +1 -0
  56. package/features/ai/TextExtractor/DefaultTextExtractor.d.ts +9 -0
  57. package/features/ai/TextExtractor/DefaultTextExtractor.js +28 -0
  58. package/features/ai/TextExtractor/DefaultTextExtractor.js.map +1 -0
  59. package/features/ai/TextExtractor/abstractions.d.ts +12 -0
  60. package/features/ai/TextExtractor/abstractions.js +5 -0
  61. package/features/ai/TextExtractor/abstractions.js.map +1 -0
  62. package/features/ai/TextExtractor/index.d.ts +3 -0
  63. package/features/ai/TextExtractor/index.js +2 -0
  64. package/features/ai/TextExtractor/parsers/docxParser.d.ts +1 -0
  65. package/features/ai/TextExtractor/parsers/docxParser.js +111 -0
  66. package/features/ai/TextExtractor/parsers/docxParser.js.map +1 -0
  67. package/features/ai/abstractions.d.ts +104 -0
  68. package/features/ai/abstractions.js +11 -0
  69. package/features/ai/abstractions.js.map +1 -0
  70. package/features/ai/events.d.ts +59 -0
  71. package/features/ai/events.js +41 -0
  72. package/features/ai/events.js.map +1 -0
  73. package/features/ai/feature.d.ts +4 -0
  74. package/features/ai/feature.js +27 -0
  75. package/features/ai/feature.js.map +1 -0
  76. package/features/ai/index.d.ts +9 -0
  77. package/features/ai/index.js +5 -0
  78. package/features/ai/toolPipeline/AiOutputToolRegistry.d.ts +11 -0
  79. package/features/ai/toolPipeline/AiOutputToolRegistry.js +31 -0
  80. package/features/ai/toolPipeline/AiOutputToolRegistry.js.map +1 -0
  81. package/features/ai/toolPipeline/AiToolPipelineRunner.d.ts +10 -0
  82. package/features/ai/toolPipeline/AiToolPipelineRunner.js +36 -0
  83. package/features/ai/toolPipeline/AiToolPipelineRunner.js.map +1 -0
  84. package/features/ai/toolPipeline/abstractions.d.ts +23 -0
  85. package/features/ai/toolPipeline/abstractions.js +7 -0
  86. package/features/ai/toolPipeline/abstractions.js.map +1 -0
  87. package/features/ai/toolPipeline/index.d.ts +2 -0
  88. package/features/ai/toolPipeline/index.js +1 -0
  89. package/features/buildParams/BuildParams.js +20 -14
  90. package/features/buildParams/BuildParams.js.map +1 -1
  91. package/features/buildParams/abstractions.js +3 -4
  92. package/features/buildParams/abstractions.js.map +1 -1
  93. package/features/buildParams/feature.d.ts +5 -1
  94. package/features/buildParams/feature.js +6 -5
  95. package/features/buildParams/feature.js.map +1 -1
  96. package/features/buildParams/index.js +0 -2
  97. package/features/encryption/EncryptionService.d.ts +10 -0
  98. package/features/encryption/EncryptionService.js +62 -0
  99. package/features/encryption/EncryptionService.js.map +1 -0
  100. package/features/encryption/abstractions.d.ts +9 -0
  101. package/features/encryption/abstractions.js +5 -0
  102. package/features/encryption/abstractions.js.map +1 -0
  103. package/features/encryption/feature.d.ts +4 -0
  104. package/features/encryption/feature.js +11 -0
  105. package/features/encryption/feature.js.map +1 -0
  106. package/features/encryption/index.d.ts +1 -0
  107. package/features/encryption/index.js +1 -0
  108. package/features/eventPublisher/EventPublisher.js +9 -15
  109. package/features/eventPublisher/EventPublisher.js.map +1 -1
  110. package/features/eventPublisher/__tests__/EventPublisher.test.js +385 -419
  111. package/features/eventPublisher/__tests__/EventPublisher.test.js.map +1 -1
  112. package/features/eventPublisher/abstractions.js +7 -12
  113. package/features/eventPublisher/abstractions.js.map +1 -1
  114. package/features/eventPublisher/feature.d.ts +5 -1
  115. package/features/eventPublisher/feature.js +8 -7
  116. package/features/eventPublisher/feature.js.map +1 -1
  117. package/features/eventPublisher/index.js +0 -2
  118. package/features/featureFlags/FeatureFlags.js +15 -12
  119. package/features/featureFlags/FeatureFlags.js.map +1 -1
  120. package/features/featureFlags/abstractions.js +2 -1
  121. package/features/featureFlags/abstractions.js.map +1 -1
  122. package/features/featureFlags/feature.d.ts +5 -1
  123. package/features/featureFlags/feature.js +6 -5
  124. package/features/featureFlags/feature.js.map +1 -1
  125. package/features/keyValueStore/GlobalKeyValueStore.js +28 -23
  126. package/features/keyValueStore/GlobalKeyValueStore.js.map +1 -1
  127. package/features/keyValueStore/KeyValueStore.js +30 -27
  128. package/features/keyValueStore/KeyValueStore.js.map +1 -1
  129. package/features/keyValueStore/KeyValueStoreRepository.d.ts +2 -2
  130. package/features/keyValueStore/KeyValueStoreRepository.js +34 -41
  131. package/features/keyValueStore/KeyValueStoreRepository.js.map +1 -1
  132. package/features/keyValueStore/abstractions.d.ts +6 -2
  133. package/features/keyValueStore/abstractions.js +5 -20
  134. package/features/keyValueStore/abstractions.js.map +1 -1
  135. package/features/keyValueStore/errors.js +16 -17
  136. package/features/keyValueStore/errors.js.map +1 -1
  137. package/features/keyValueStore/feature.d.ts +4 -1
  138. package/features/keyValueStore/feature.js +9 -9
  139. package/features/keyValueStore/feature.js.map +1 -1
  140. package/features/keyValueStore/index.js +1 -3
  141. package/features/logger/LoggerService.js +41 -45
  142. package/features/logger/LoggerService.js.map +1 -1
  143. package/features/logger/abstractions.js +2 -2
  144. package/features/logger/abstractions.js.map +1 -1
  145. package/features/logger/feature.d.ts +4 -1
  146. package/features/logger/feature.js +6 -5
  147. package/features/logger/feature.js.map +1 -1
  148. package/features/logger/index.js +0 -2
  149. package/features/masker/Masker.d.ts +8 -0
  150. package/features/masker/Masker.js +18 -0
  151. package/features/masker/Masker.js.map +1 -0
  152. package/features/masker/abstractions.d.ts +11 -0
  153. package/features/masker/abstractions.js +5 -0
  154. package/features/masker/abstractions.js.map +1 -0
  155. package/features/masker/feature.d.ts +4 -0
  156. package/features/masker/feature.js +11 -0
  157. package/features/masker/feature.js.map +1 -0
  158. package/features/masker/index.d.ts +1 -0
  159. package/features/masker/index.js +1 -0
  160. package/features/security/IdentityContext/AnonymousIdentity.js +12 -16
  161. package/features/security/IdentityContext/AnonymousIdentity.js.map +1 -1
  162. package/features/security/IdentityContext/AuthenticatedIdentity.js +5 -8
  163. package/features/security/IdentityContext/AuthenticatedIdentity.js.map +1 -1
  164. package/features/security/IdentityContext/Identity.js +63 -71
  165. package/features/security/IdentityContext/Identity.js.map +1 -1
  166. package/features/security/IdentityContext/IdentityContext.js +69 -106
  167. package/features/security/IdentityContext/IdentityContext.js.map +1 -1
  168. package/features/security/IdentityContext/abstractions.js +2 -2
  169. package/features/security/IdentityContext/abstractions.js.map +1 -1
  170. package/features/security/IdentityContext/feature.d.ts +4 -1
  171. package/features/security/IdentityContext/feature.js +6 -5
  172. package/features/security/IdentityContext/feature.js.map +1 -1
  173. package/features/security/IdentityContext/index.js +0 -3
  174. package/features/security/SecurityFeature.d.ts +5 -1
  175. package/features/security/SecurityFeature.js +13 -21
  176. package/features/security/SecurityFeature.js.map +1 -1
  177. package/features/security/apiKeys/CreateApiKey/CreateApiKeyUseCase.js +48 -49
  178. package/features/security/apiKeys/CreateApiKey/CreateApiKeyUseCase.js.map +1 -1
  179. package/features/security/apiKeys/CreateApiKey/abstractions.js +2 -2
  180. package/features/security/apiKeys/CreateApiKey/abstractions.js.map +1 -1
  181. package/features/security/apiKeys/CreateApiKey/events.js +17 -16
  182. package/features/security/apiKeys/CreateApiKey/events.js.map +1 -1
  183. package/features/security/apiKeys/CreateApiKey/feature.d.ts +4 -1
  184. package/features/security/apiKeys/CreateApiKey/feature.js +6 -5
  185. package/features/security/apiKeys/CreateApiKey/feature.js.map +1 -1
  186. package/features/security/apiKeys/CreateApiKey/index.js +0 -2
  187. package/features/security/apiKeys/DeleteApiKey/DeleteApiKeyUseCase.js +29 -30
  188. package/features/security/apiKeys/DeleteApiKey/DeleteApiKeyUseCase.js.map +1 -1
  189. package/features/security/apiKeys/DeleteApiKey/abstractions.js +2 -2
  190. package/features/security/apiKeys/DeleteApiKey/abstractions.js.map +1 -1
  191. package/features/security/apiKeys/DeleteApiKey/events.js +17 -16
  192. package/features/security/apiKeys/DeleteApiKey/events.js.map +1 -1
  193. package/features/security/apiKeys/DeleteApiKey/feature.d.ts +4 -1
  194. package/features/security/apiKeys/DeleteApiKey/feature.js +6 -5
  195. package/features/security/apiKeys/DeleteApiKey/feature.js.map +1 -1
  196. package/features/security/apiKeys/DeleteApiKey/index.js +0 -2
  197. package/features/security/apiKeys/GetApiKey/GetApiKeyUseCase.d.ts +1 -1
  198. package/features/security/apiKeys/GetApiKey/GetApiKeyUseCase.js +16 -14
  199. package/features/security/apiKeys/GetApiKey/GetApiKeyUseCase.js.map +1 -1
  200. package/features/security/apiKeys/GetApiKey/abstractions.js +2 -2
  201. package/features/security/apiKeys/GetApiKey/abstractions.js.map +1 -1
  202. package/features/security/apiKeys/GetApiKey/feature.d.ts +4 -1
  203. package/features/security/apiKeys/GetApiKey/feature.js +6 -5
  204. package/features/security/apiKeys/GetApiKey/feature.js.map +1 -1
  205. package/features/security/apiKeys/GetApiKey/index.js +0 -2
  206. package/features/security/apiKeys/GetApiKeyBySlug/GetApiKeyBySlugUseCase.d.ts +1 -3
  207. package/features/security/apiKeys/GetApiKeyBySlug/GetApiKeyBySlugUseCase.js +13 -10
  208. package/features/security/apiKeys/GetApiKeyBySlug/GetApiKeyBySlugUseCase.js.map +1 -1
  209. package/features/security/apiKeys/GetApiKeyBySlug/abstractions.d.ts +1 -1
  210. package/features/security/apiKeys/GetApiKeyBySlug/abstractions.js +2 -2
  211. package/features/security/apiKeys/GetApiKeyBySlug/abstractions.js.map +1 -1
  212. package/features/security/apiKeys/GetApiKeyBySlug/feature.d.ts +4 -1
  213. package/features/security/apiKeys/GetApiKeyBySlug/feature.js +6 -5
  214. package/features/security/apiKeys/GetApiKeyBySlug/feature.js.map +1 -1
  215. package/features/security/apiKeys/GetApiKeyBySlug/index.js +0 -2
  216. package/features/security/apiKeys/GetApiKeyByToken/GetApiKeyByTokenUseCase.d.ts +1 -3
  217. package/features/security/apiKeys/GetApiKeyByToken/GetApiKeyByTokenUseCase.js +13 -10
  218. package/features/security/apiKeys/GetApiKeyByToken/GetApiKeyByTokenUseCase.js.map +1 -1
  219. package/features/security/apiKeys/GetApiKeyByToken/abstractions.d.ts +1 -1
  220. package/features/security/apiKeys/GetApiKeyByToken/abstractions.js +2 -2
  221. package/features/security/apiKeys/GetApiKeyByToken/abstractions.js.map +1 -1
  222. package/features/security/apiKeys/GetApiKeyByToken/feature.d.ts +4 -1
  223. package/features/security/apiKeys/GetApiKeyByToken/feature.js +6 -5
  224. package/features/security/apiKeys/GetApiKeyByToken/feature.js.map +1 -1
  225. package/features/security/apiKeys/GetApiKeyByToken/index.js +0 -2
  226. package/features/security/apiKeys/ListApiKeys/ListApiKeysUseCase.js +17 -17
  227. package/features/security/apiKeys/ListApiKeys/ListApiKeysUseCase.js.map +1 -1
  228. package/features/security/apiKeys/ListApiKeys/abstractions.js +2 -2
  229. package/features/security/apiKeys/ListApiKeys/abstractions.js.map +1 -1
  230. package/features/security/apiKeys/ListApiKeys/feature.d.ts +4 -1
  231. package/features/security/apiKeys/ListApiKeys/feature.js +6 -5
  232. package/features/security/apiKeys/ListApiKeys/feature.js.map +1 -1
  233. package/features/security/apiKeys/ListApiKeys/index.js +0 -2
  234. package/features/security/apiKeys/UpdateApiKey/UpdateApiKeyUseCase.js +39 -42
  235. package/features/security/apiKeys/UpdateApiKey/UpdateApiKeyUseCase.js.map +1 -1
  236. package/features/security/apiKeys/UpdateApiKey/abstractions.js +2 -2
  237. package/features/security/apiKeys/UpdateApiKey/abstractions.js.map +1 -1
  238. package/features/security/apiKeys/UpdateApiKey/events.js +17 -16
  239. package/features/security/apiKeys/UpdateApiKey/events.js.map +1 -1
  240. package/features/security/apiKeys/UpdateApiKey/feature.d.ts +4 -1
  241. package/features/security/apiKeys/UpdateApiKey/feature.js +6 -5
  242. package/features/security/apiKeys/UpdateApiKey/feature.js.map +1 -1
  243. package/features/security/apiKeys/UpdateApiKey/index.js +0 -2
  244. package/features/security/apiKeys/feature.d.ts +4 -1
  245. package/features/security/apiKeys/feature.js +20 -17
  246. package/features/security/apiKeys/feature.js.map +1 -1
  247. package/features/security/apiKeys/shared/ApiKeyProvider.d.ts +3 -5
  248. package/features/security/apiKeys/shared/ApiKeyProvider.js +31 -46
  249. package/features/security/apiKeys/shared/ApiKeyProvider.js.map +1 -1
  250. package/features/security/apiKeys/shared/ApiKeysRepository.d.ts +1 -0
  251. package/features/security/apiKeys/shared/ApiKeysRepository.js +123 -135
  252. package/features/security/apiKeys/shared/ApiKeysRepository.js.map +1 -1
  253. package/features/security/apiKeys/shared/abstractions.js +4 -6
  254. package/features/security/apiKeys/shared/abstractions.js.map +1 -1
  255. package/features/security/apiKeys/shared/errors.js +29 -32
  256. package/features/security/apiKeys/shared/errors.js.map +1 -1
  257. package/features/security/apiKeys/shared/generateToken.d.ts +1 -1
  258. package/features/security/apiKeys/shared/generateToken.js +6 -16
  259. package/features/security/apiKeys/shared/generateToken.js.map +1 -1
  260. package/features/security/apiKeys/shared/schemas.js +27 -23
  261. package/features/security/apiKeys/shared/schemas.js.map +1 -1
  262. package/features/security/apiKeys/shared/types.d.ts +1 -1
  263. package/features/security/apiKeys/shared/types.js +0 -3
  264. package/features/security/authentication/AuthenticationContext/AuthenticationContext.js +44 -38
  265. package/features/security/authentication/AuthenticationContext/AuthenticationContext.js.map +1 -1
  266. package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.js +33 -43
  267. package/features/security/authentication/AuthenticationContext/SetIdTokenCookie.js.map +1 -1
  268. package/features/security/authentication/AuthenticationContext/abstractions.js +2 -2
  269. package/features/security/authentication/AuthenticationContext/abstractions.js.map +1 -1
  270. package/features/security/authentication/AuthenticationContext/errors.js +51 -116
  271. package/features/security/authentication/AuthenticationContext/errors.js.map +1 -1
  272. package/features/security/authentication/AuthenticationContext/events.js +17 -16
  273. package/features/security/authentication/AuthenticationContext/events.js.map +1 -1
  274. package/features/security/authentication/AuthenticationContext/feature.d.ts +4 -1
  275. package/features/security/authentication/AuthenticationContext/feature.js +6 -5
  276. package/features/security/authentication/AuthenticationContext/feature.js.map +1 -1
  277. package/features/security/authentication/AuthenticationContext/index.js +2 -4
  278. package/features/security/authentication/Authenticator/abstractions.js +2 -2
  279. package/features/security/authentication/Authenticator/abstractions.js.map +1 -1
  280. package/features/security/authentication/Authenticator/index.js +0 -2
  281. package/features/security/authorization/AuthorizationContext/AuthorizationContext.d.ts +1 -0
  282. package/features/security/authorization/AuthorizationContext/AuthorizationContext.js +46 -47
  283. package/features/security/authorization/AuthorizationContext/AuthorizationContext.js.map +1 -1
  284. package/features/security/authorization/AuthorizationContext/abstractions.js +3 -4
  285. package/features/security/authorization/AuthorizationContext/abstractions.js.map +1 -1
  286. package/features/security/authorization/AuthorizationContext/feature.d.ts +4 -1
  287. package/features/security/authorization/AuthorizationContext/feature.js +10 -9
  288. package/features/security/authorization/AuthorizationContext/feature.js.map +1 -1
  289. package/features/security/authorization/AuthorizationContext/index.js +1 -4
  290. package/features/security/authorization/Authorizer/abstractions.js +2 -2
  291. package/features/security/authorization/Authorizer/abstractions.js.map +1 -1
  292. package/features/security/authorization/Authorizer/index.js +0 -2
  293. package/features/security/authorization/GroupsTeamsAuthorizer/GetPermissionsFromIdentity.d.ts +1 -1
  294. package/features/security/authorization/GroupsTeamsAuthorizer/GetPermissionsFromIdentity.js +60 -64
  295. package/features/security/authorization/GroupsTeamsAuthorizer/GetPermissionsFromIdentity.js.map +1 -1
  296. package/features/security/authorization/GroupsTeamsAuthorizer/RolesTeamsAuthorizer.js +26 -40
  297. package/features/security/authorization/GroupsTeamsAuthorizer/RolesTeamsAuthorizer.js.map +1 -1
  298. package/features/security/authorization/GroupsTeamsAuthorizer/abstractions.js +2 -1
  299. package/features/security/authorization/GroupsTeamsAuthorizer/abstractions.js.map +1 -1
  300. package/features/security/authorization/GroupsTeamsAuthorizer/feature.d.ts +4 -1
  301. package/features/security/authorization/GroupsTeamsAuthorizer/feature.js +7 -6
  302. package/features/security/authorization/GroupsTeamsAuthorizer/feature.js.map +1 -1
  303. package/features/security/login/abstractions.js +9 -8
  304. package/features/security/login/abstractions.js.map +1 -1
  305. package/features/security/login/index.js +0 -2
  306. package/features/security/permissions/createPermissionSchema.d.ts +2 -0
  307. package/features/security/permissions/createPermissionSchema.js +9 -0
  308. package/features/security/permissions/createPermissionSchema.js.map +1 -0
  309. package/features/security/permissions/createPermissions.d.ts +5 -5
  310. package/features/security/permissions/createPermissions.js +130 -208
  311. package/features/security/permissions/createPermissions.js.map +1 -1
  312. package/features/security/permissions/index.d.ts +2 -1
  313. package/features/security/permissions/index.js +2 -3
  314. package/features/security/permissions/types.js +0 -3
  315. package/features/security/roles/CreateRole/CreateRoleUseCase.js +53 -59
  316. package/features/security/roles/CreateRole/CreateRoleUseCase.js.map +1 -1
  317. package/features/security/roles/CreateRole/abstractions.js +2 -2
  318. package/features/security/roles/CreateRole/abstractions.js.map +1 -1
  319. package/features/security/roles/CreateRole/events.js +17 -16
  320. package/features/security/roles/CreateRole/events.js.map +1 -1
  321. package/features/security/roles/CreateRole/feature.d.ts +4 -1
  322. package/features/security/roles/CreateRole/feature.js +6 -5
  323. package/features/security/roles/CreateRole/feature.js.map +1 -1
  324. package/features/security/roles/CreateRole/index.js +0 -2
  325. package/features/security/roles/CreateRole/schema.js +8 -7
  326. package/features/security/roles/CreateRole/schema.js.map +1 -1
  327. package/features/security/roles/DeleteRole/DeleteRoleUseCase.js +35 -41
  328. package/features/security/roles/DeleteRole/DeleteRoleUseCase.js.map +1 -1
  329. package/features/security/roles/DeleteRole/abstractions.js +2 -2
  330. package/features/security/roles/DeleteRole/abstractions.js.map +1 -1
  331. package/features/security/roles/DeleteRole/events.js +17 -16
  332. package/features/security/roles/DeleteRole/events.js.map +1 -1
  333. package/features/security/roles/DeleteRole/feature.d.ts +4 -1
  334. package/features/security/roles/DeleteRole/feature.js +6 -5
  335. package/features/security/roles/DeleteRole/feature.js.map +1 -1
  336. package/features/security/roles/DeleteRole/index.js +0 -2
  337. package/features/security/roles/GetRole/GetRoleUseCase.js +19 -18
  338. package/features/security/roles/GetRole/GetRoleUseCase.js.map +1 -1
  339. package/features/security/roles/GetRole/abstractions.js +2 -2
  340. package/features/security/roles/GetRole/abstractions.js.map +1 -1
  341. package/features/security/roles/GetRole/feature.d.ts +4 -1
  342. package/features/security/roles/GetRole/feature.js +6 -5
  343. package/features/security/roles/GetRole/feature.js.map +1 -1
  344. package/features/security/roles/GetRole/index.js +0 -2
  345. package/features/security/roles/Installer/RolesInstaller.js +39 -35
  346. package/features/security/roles/Installer/RolesInstaller.js.map +1 -1
  347. package/features/security/roles/ListRoles/ListRolesUseCase.js +18 -17
  348. package/features/security/roles/ListRoles/ListRolesUseCase.js.map +1 -1
  349. package/features/security/roles/ListRoles/abstractions.js +2 -2
  350. package/features/security/roles/ListRoles/abstractions.js.map +1 -1
  351. package/features/security/roles/ListRoles/feature.d.ts +4 -1
  352. package/features/security/roles/ListRoles/feature.js +6 -5
  353. package/features/security/roles/ListRoles/feature.js.map +1 -1
  354. package/features/security/roles/ListRoles/index.js +0 -2
  355. package/features/security/roles/UpdateRole/UpdateRoleUseCase.js +43 -50
  356. package/features/security/roles/UpdateRole/UpdateRoleUseCase.js.map +1 -1
  357. package/features/security/roles/UpdateRole/abstractions.js +2 -2
  358. package/features/security/roles/UpdateRole/abstractions.js.map +1 -1
  359. package/features/security/roles/UpdateRole/events.js +17 -16
  360. package/features/security/roles/UpdateRole/events.js.map +1 -1
  361. package/features/security/roles/UpdateRole/feature.d.ts +4 -1
  362. package/features/security/roles/UpdateRole/feature.js +6 -5
  363. package/features/security/roles/UpdateRole/feature.js.map +1 -1
  364. package/features/security/roles/UpdateRole/index.js +0 -2
  365. package/features/security/roles/UpdateRole/schema.js +7 -6
  366. package/features/security/roles/UpdateRole/schema.js.map +1 -1
  367. package/features/security/roles/feature.d.ts +4 -1
  368. package/features/security/roles/feature.js +14 -18
  369. package/features/security/roles/feature.js.map +1 -1
  370. package/features/security/roles/shared/RoleProvider.js +27 -21
  371. package/features/security/roles/shared/RoleProvider.js.map +1 -1
  372. package/features/security/roles/shared/RolesRepository.js +96 -113
  373. package/features/security/roles/shared/RolesRepository.js.map +1 -1
  374. package/features/security/roles/shared/abstractions.js +3 -4
  375. package/features/security/roles/shared/abstractions.js.map +1 -1
  376. package/features/security/roles/shared/decorators/ListCache.js +23 -22
  377. package/features/security/roles/shared/decorators/ListCache.js.map +1 -1
  378. package/features/security/roles/shared/decorators/RolesRepositoryCachingDecorator.js +40 -62
  379. package/features/security/roles/shared/decorators/RolesRepositoryCachingDecorator.js.map +1 -1
  380. package/features/security/roles/shared/errors.js +50 -56
  381. package/features/security/roles/shared/errors.js.map +1 -1
  382. package/features/security/roles/shared/types.js +0 -3
  383. package/features/security/shared/abstractions.js +4 -6
  384. package/features/security/shared/abstractions.js.map +1 -1
  385. package/features/security/shared/errors.js +8 -8
  386. package/features/security/shared/errors.js.map +1 -1
  387. package/features/security/shared/index.js +0 -2
  388. package/features/security/teams/CreateTeam/CreateTeamUseCase.js +53 -59
  389. package/features/security/teams/CreateTeam/CreateTeamUseCase.js.map +1 -1
  390. package/features/security/teams/CreateTeam/abstractions.js +2 -2
  391. package/features/security/teams/CreateTeam/abstractions.js.map +1 -1
  392. package/features/security/teams/CreateTeam/events.js +17 -16
  393. package/features/security/teams/CreateTeam/events.js.map +1 -1
  394. package/features/security/teams/CreateTeam/feature.d.ts +4 -1
  395. package/features/security/teams/CreateTeam/feature.js +6 -5
  396. package/features/security/teams/CreateTeam/feature.js.map +1 -1
  397. package/features/security/teams/CreateTeam/index.js +0 -2
  398. package/features/security/teams/CreateTeam/schema.js +6 -5
  399. package/features/security/teams/CreateTeam/schema.js.map +1 -1
  400. package/features/security/teams/DeleteTeam/DeleteTeamUseCase.js +36 -46
  401. package/features/security/teams/DeleteTeam/DeleteTeamUseCase.js.map +1 -1
  402. package/features/security/teams/DeleteTeam/abstractions.js +2 -2
  403. package/features/security/teams/DeleteTeam/abstractions.js.map +1 -1
  404. package/features/security/teams/DeleteTeam/events.js +17 -16
  405. package/features/security/teams/DeleteTeam/events.js.map +1 -1
  406. package/features/security/teams/DeleteTeam/feature.d.ts +4 -1
  407. package/features/security/teams/DeleteTeam/feature.js +6 -5
  408. package/features/security/teams/DeleteTeam/feature.js.map +1 -1
  409. package/features/security/teams/DeleteTeam/index.js +0 -2
  410. package/features/security/teams/GetTeam/GetTeamUseCase.js +17 -17
  411. package/features/security/teams/GetTeam/GetTeamUseCase.js.map +1 -1
  412. package/features/security/teams/GetTeam/abstractions.js +2 -2
  413. package/features/security/teams/GetTeam/abstractions.js.map +1 -1
  414. package/features/security/teams/GetTeam/feature.d.ts +4 -1
  415. package/features/security/teams/GetTeam/feature.js +6 -5
  416. package/features/security/teams/GetTeam/feature.js.map +1 -1
  417. package/features/security/teams/GetTeam/index.js +0 -2
  418. package/features/security/teams/ListTeams/ListTeamsUseCase.js +20 -21
  419. package/features/security/teams/ListTeams/ListTeamsUseCase.js.map +1 -1
  420. package/features/security/teams/ListTeams/abstractions.js +2 -2
  421. package/features/security/teams/ListTeams/abstractions.js.map +1 -1
  422. package/features/security/teams/ListTeams/feature.d.ts +4 -1
  423. package/features/security/teams/ListTeams/feature.js +6 -5
  424. package/features/security/teams/ListTeams/feature.js.map +1 -1
  425. package/features/security/teams/ListTeams/index.js +0 -2
  426. package/features/security/teams/UpdateTeam/UpdateTeamUseCase.js +46 -58
  427. package/features/security/teams/UpdateTeam/UpdateTeamUseCase.js.map +1 -1
  428. package/features/security/teams/UpdateTeam/abstractions.js +2 -2
  429. package/features/security/teams/UpdateTeam/abstractions.js.map +1 -1
  430. package/features/security/teams/UpdateTeam/events.js +17 -16
  431. package/features/security/teams/UpdateTeam/events.js.map +1 -1
  432. package/features/security/teams/UpdateTeam/feature.d.ts +4 -1
  433. package/features/security/teams/UpdateTeam/feature.js +6 -5
  434. package/features/security/teams/UpdateTeam/feature.js.map +1 -1
  435. package/features/security/teams/UpdateTeam/index.js +0 -2
  436. package/features/security/teams/UpdateTeam/schema.js +5 -4
  437. package/features/security/teams/UpdateTeam/schema.js.map +1 -1
  438. package/features/security/teams/feature.d.ts +4 -1
  439. package/features/security/teams/feature.js +13 -17
  440. package/features/security/teams/feature.js.map +1 -1
  441. package/features/security/teams/shared/TeamProvider.js +27 -21
  442. package/features/security/teams/shared/TeamProvider.js.map +1 -1
  443. package/features/security/teams/shared/TeamsRepository.js +100 -118
  444. package/features/security/teams/shared/TeamsRepository.js.map +1 -1
  445. package/features/security/teams/shared/abstractions.js +3 -4
  446. package/features/security/teams/shared/abstractions.js.map +1 -1
  447. package/features/security/teams/shared/decorators/TeamsRepositoryCachingDecorator.js +40 -62
  448. package/features/security/teams/shared/decorators/TeamsRepositoryCachingDecorator.js.map +1 -1
  449. package/features/security/teams/shared/errors.js +62 -70
  450. package/features/security/teams/shared/errors.js.map +1 -1
  451. package/features/security/teams/shared/types.js +0 -3
  452. package/features/security/utils/AppPermissions.js +50 -89
  453. package/features/security/utils/AppPermissions.js.map +1 -1
  454. package/features/security/utils/IdentityValue.js +19 -22
  455. package/features/security/utils/IdentityValue.js.map +1 -1
  456. package/features/security/utils/filterOutCustomWbyAppsPermissions.js +24 -27
  457. package/features/security/utils/filterOutCustomWbyAppsPermissions.js.map +1 -1
  458. package/features/security/utils/getPermissionsFromRoles.d.ts +1 -1
  459. package/features/security/utils/getPermissionsFromRoles.js +5 -10
  460. package/features/security/utils/getPermissionsFromRoles.js.map +1 -1
  461. package/features/security/utils/isJwt.js +2 -1
  462. package/features/security/utils/isJwt.js.map +1 -1
  463. package/features/security/utils/verifyJwtUsingJwk.js +6 -7
  464. package/features/security/utils/verifyJwtUsingJwk.js.map +1 -1
  465. package/features/serviceDiscovery/ServiceDiscovery.d.ts +17 -0
  466. package/features/serviceDiscovery/ServiceDiscovery.js +22 -0
  467. package/features/serviceDiscovery/ServiceDiscovery.js.map +1 -0
  468. package/features/serviceDiscovery/__tests__/ServiceDiscovery.test.d.ts +1 -0
  469. package/features/serviceDiscovery/__tests__/ServiceDiscovery.test.js +111 -0
  470. package/features/serviceDiscovery/__tests__/ServiceDiscovery.test.js.map +1 -0
  471. package/features/serviceDiscovery/index.d.ts +3 -0
  472. package/features/serviceDiscovery/index.js +1 -0
  473. package/features/system/InstallSystem/InstallSystemUseCase.js +45 -44
  474. package/features/system/InstallSystem/InstallSystemUseCase.js.map +1 -1
  475. package/features/system/InstallSystem/abstractions.js +3 -17
  476. package/features/system/InstallSystem/abstractions.js.map +1 -1
  477. package/features/system/InstallSystem/errors.js +15 -16
  478. package/features/system/InstallSystem/errors.js.map +1 -1
  479. package/features/system/InstallSystem/events.js +8 -5
  480. package/features/system/InstallSystem/events.js.map +1 -1
  481. package/features/system/InstallSystem/feature.d.ts +5 -1
  482. package/features/system/InstallSystem/feature.js +6 -7
  483. package/features/system/InstallSystem/feature.js.map +1 -1
  484. package/features/system/InstallSystem/index.js +2 -6
  485. package/features/system/SystemFeature.d.ts +4 -1
  486. package/features/system/SystemFeature.js +6 -5
  487. package/features/system/SystemFeature.js.map +1 -1
  488. package/features/task/TaskController/abstractions.js +2 -10
  489. package/features/task/TaskController/abstractions.js.map +1 -1
  490. package/features/task/TaskController/index.js +0 -2
  491. package/features/task/TaskDefinition/abstractions.d.ts +6 -1
  492. package/features/task/TaskDefinition/abstractions.js +8 -40
  493. package/features/task/TaskDefinition/abstractions.js.map +1 -1
  494. package/features/task/TaskDefinition/index.js +0 -2
  495. package/features/task/TaskService/abstractions.js +9 -13
  496. package/features/task/TaskService/abstractions.js.map +1 -1
  497. package/features/task/TaskService/index.js +0 -2
  498. package/features/tenancy/CreateTenant/CreateTenantGateway.js +14 -11
  499. package/features/tenancy/CreateTenant/CreateTenantGateway.js.map +1 -1
  500. package/features/tenancy/CreateTenant/CreateTenantRepository.js +18 -15
  501. package/features/tenancy/CreateTenant/CreateTenantRepository.js.map +1 -1
  502. package/features/tenancy/CreateTenant/CreateTenantUseCase.d.ts +1 -1
  503. package/features/tenancy/CreateTenant/CreateTenantUseCase.js +44 -41
  504. package/features/tenancy/CreateTenant/CreateTenantUseCase.js.map +1 -1
  505. package/features/tenancy/CreateTenant/abstractions.js +6 -29
  506. package/features/tenancy/CreateTenant/abstractions.js.map +1 -1
  507. package/features/tenancy/CreateTenant/decorators/CreateTenantWithWcpIncrement.js +16 -15
  508. package/features/tenancy/CreateTenant/decorators/CreateTenantWithWcpIncrement.js.map +1 -1
  509. package/features/tenancy/CreateTenant/errors.js +8 -8
  510. package/features/tenancy/CreateTenant/errors.js.map +1 -1
  511. package/features/tenancy/CreateTenant/events.js +16 -11
  512. package/features/tenancy/CreateTenant/events.js.map +1 -1
  513. package/features/tenancy/CreateTenant/feature.d.ts +5 -1
  514. package/features/tenancy/CreateTenant/feature.js +9 -8
  515. package/features/tenancy/CreateTenant/feature.js.map +1 -1
  516. package/features/tenancy/CreateTenant/index.js +2 -4
  517. package/features/tenancy/DeleteTenant/DeleteTenantGateway.js +15 -12
  518. package/features/tenancy/DeleteTenant/DeleteTenantGateway.js.map +1 -1
  519. package/features/tenancy/DeleteTenant/DeleteTenantRepository.js +22 -19
  520. package/features/tenancy/DeleteTenant/DeleteTenantRepository.js.map +1 -1
  521. package/features/tenancy/DeleteTenant/DeleteTenantUseCase.js +29 -27
  522. package/features/tenancy/DeleteTenant/DeleteTenantUseCase.js.map +1 -1
  523. package/features/tenancy/DeleteTenant/abstractions.js +6 -10
  524. package/features/tenancy/DeleteTenant/abstractions.js.map +1 -1
  525. package/features/tenancy/DeleteTenant/decorators/DeleteTenantWithWcpDecrement.js +16 -13
  526. package/features/tenancy/DeleteTenant/decorators/DeleteTenantWithWcpDecrement.js.map +1 -1
  527. package/features/tenancy/DeleteTenant/events.js +16 -11
  528. package/features/tenancy/DeleteTenant/events.js.map +1 -1
  529. package/features/tenancy/DeleteTenant/feature.d.ts +5 -1
  530. package/features/tenancy/DeleteTenant/feature.js +9 -8
  531. package/features/tenancy/DeleteTenant/feature.js.map +1 -1
  532. package/features/tenancy/DeleteTenant/index.js +2 -4
  533. package/features/tenancy/GetRootTenant/GetRootTenantUseCase.js +15 -12
  534. package/features/tenancy/GetRootTenant/GetRootTenantUseCase.js.map +1 -1
  535. package/features/tenancy/GetRootTenant/abstractions.js +2 -4
  536. package/features/tenancy/GetRootTenant/abstractions.js.map +1 -1
  537. package/features/tenancy/GetRootTenant/feature.d.ts +5 -1
  538. package/features/tenancy/GetRootTenant/feature.js +6 -5
  539. package/features/tenancy/GetRootTenant/feature.js.map +1 -1
  540. package/features/tenancy/GetRootTenant/index.js +0 -2
  541. package/features/tenancy/GetTenantById/GetTenantByIdGateway.js +17 -12
  542. package/features/tenancy/GetTenantById/GetTenantByIdGateway.js.map +1 -1
  543. package/features/tenancy/GetTenantById/GetTenantByIdRepository.js +18 -19
  544. package/features/tenancy/GetTenantById/GetTenantByIdRepository.js.map +1 -1
  545. package/features/tenancy/GetTenantById/GetTenantByIdUseCase.js +17 -17
  546. package/features/tenancy/GetTenantById/GetTenantByIdUseCase.js.map +1 -1
  547. package/features/tenancy/GetTenantById/abstractions.js +4 -6
  548. package/features/tenancy/GetTenantById/abstractions.js.map +1 -1
  549. package/features/tenancy/GetTenantById/feature.d.ts +5 -1
  550. package/features/tenancy/GetTenantById/feature.js +8 -12
  551. package/features/tenancy/GetTenantById/feature.js.map +1 -1
  552. package/features/tenancy/GetTenantById/index.js +1 -3
  553. package/features/tenancy/InstallTenant/DependencyResolver.js +53 -65
  554. package/features/tenancy/InstallTenant/DependencyResolver.js.map +1 -1
  555. package/features/tenancy/InstallTenant/InstallTenantUseCase.d.ts +1 -1
  556. package/features/tenancy/InstallTenant/InstallTenantUseCase.js +95 -113
  557. package/features/tenancy/InstallTenant/InstallTenantUseCase.js.map +1 -1
  558. package/features/tenancy/InstallTenant/abstractions.js +4 -15
  559. package/features/tenancy/InstallTenant/abstractions.js.map +1 -1
  560. package/features/tenancy/InstallTenant/errors.js +15 -16
  561. package/features/tenancy/InstallTenant/errors.js.map +1 -1
  562. package/features/tenancy/InstallTenant/events.js +8 -5
  563. package/features/tenancy/InstallTenant/events.js.map +1 -1
  564. package/features/tenancy/InstallTenant/feature.d.ts +5 -1
  565. package/features/tenancy/InstallTenant/feature.js +6 -5
  566. package/features/tenancy/InstallTenant/feature.js.map +1 -1
  567. package/features/tenancy/InstallTenant/index.js +1 -3
  568. package/features/tenancy/ListTenants/ListTenantsGateway.js +14 -11
  569. package/features/tenancy/ListTenants/ListTenantsGateway.js.map +1 -1
  570. package/features/tenancy/ListTenants/ListTenantsRepository.js +14 -12
  571. package/features/tenancy/ListTenants/ListTenantsRepository.js.map +1 -1
  572. package/features/tenancy/ListTenants/ListTenantsUseCase.js +16 -14
  573. package/features/tenancy/ListTenants/ListTenantsUseCase.js.map +1 -1
  574. package/features/tenancy/ListTenants/abstractions.js +4 -12
  575. package/features/tenancy/ListTenants/abstractions.js.map +1 -1
  576. package/features/tenancy/ListTenants/feature.d.ts +5 -1
  577. package/features/tenancy/ListTenants/feature.js +8 -7
  578. package/features/tenancy/ListTenants/feature.js.map +1 -1
  579. package/features/tenancy/ListTenants/index.js +1 -3
  580. package/features/tenancy/TenancyFeature.d.ts +4 -1
  581. package/features/tenancy/TenancyFeature.js +20 -26
  582. package/features/tenancy/TenancyFeature.js.map +1 -1
  583. package/features/tenancy/TenantContext/TenantContext.js +46 -48
  584. package/features/tenancy/TenantContext/TenantContext.js.map +1 -1
  585. package/features/tenancy/TenantContext/abstractions.js +2 -2
  586. package/features/tenancy/TenantContext/abstractions.js.map +1 -1
  587. package/features/tenancy/TenantContext/errors.js +7 -7
  588. package/features/tenancy/TenantContext/errors.js.map +1 -1
  589. package/features/tenancy/TenantContext/feature.d.ts +4 -1
  590. package/features/tenancy/TenantContext/feature.js +6 -5
  591. package/features/tenancy/TenantContext/feature.js.map +1 -1
  592. package/features/tenancy/TenantContext/index.js +0 -2
  593. package/features/tenancy/UpdateTenant/UpdateTenantGateway.js +14 -11
  594. package/features/tenancy/UpdateTenant/UpdateTenantGateway.js.map +1 -1
  595. package/features/tenancy/UpdateTenant/UpdateTenantRepository.js +19 -16
  596. package/features/tenancy/UpdateTenant/UpdateTenantRepository.js.map +1 -1
  597. package/features/tenancy/UpdateTenant/UpdateTenantUseCase.d.ts +2 -2
  598. package/features/tenancy/UpdateTenant/UpdateTenantUseCase.js +37 -36
  599. package/features/tenancy/UpdateTenant/UpdateTenantUseCase.js.map +1 -1
  600. package/features/tenancy/UpdateTenant/abstractions.js +6 -10
  601. package/features/tenancy/UpdateTenant/abstractions.js.map +1 -1
  602. package/features/tenancy/UpdateTenant/events.js +16 -11
  603. package/features/tenancy/UpdateTenant/events.js.map +1 -1
  604. package/features/tenancy/UpdateTenant/feature.d.ts +5 -1
  605. package/features/tenancy/UpdateTenant/feature.js +8 -7
  606. package/features/tenancy/UpdateTenant/feature.js.map +1 -1
  607. package/features/tenancy/UpdateTenant/index.js +2 -4
  608. package/features/tenancy/shared/TenantCache.js +18 -17
  609. package/features/tenancy/shared/TenantCache.js.map +1 -1
  610. package/features/tenancy/shared/abstractions.js +2 -1
  611. package/features/tenancy/shared/abstractions.js.map +1 -1
  612. package/features/tenancy/shared/storageOperations.js +2 -5
  613. package/features/tenancy/shared/storageOperations.js.map +1 -1
  614. package/features/users/AdminUsersFeature.d.ts +4 -1
  615. package/features/users/AdminUsersFeature.js +15 -19
  616. package/features/users/AdminUsersFeature.js.map +1 -1
  617. package/features/users/CreateUser/CreateUserUseCase.js +65 -100
  618. package/features/users/CreateUser/CreateUserUseCase.js.map +1 -1
  619. package/features/users/CreateUser/abstractions.js +2 -13
  620. package/features/users/CreateUser/abstractions.js.map +1 -1
  621. package/features/users/CreateUser/decorators/CreateUserWithWcpIncrement.d.ts +1 -1
  622. package/features/users/CreateUser/decorators/CreateUserWithWcpIncrement.js +16 -15
  623. package/features/users/CreateUser/decorators/CreateUserWithWcpIncrement.js.map +1 -1
  624. package/features/users/CreateUser/events.js +17 -18
  625. package/features/users/CreateUser/events.js.map +1 -1
  626. package/features/users/CreateUser/feature.d.ts +4 -1
  627. package/features/users/CreateUser/feature.js +7 -6
  628. package/features/users/CreateUser/feature.js.map +1 -1
  629. package/features/users/CreateUser/index.js +0 -2
  630. package/features/users/CreateUser/schema.js +14 -18
  631. package/features/users/CreateUser/schema.js.map +1 -1
  632. package/features/users/DeleteUser/DeleteUserUseCase.js +35 -50
  633. package/features/users/DeleteUser/DeleteUserUseCase.js.map +1 -1
  634. package/features/users/DeleteUser/abstractions.js +2 -13
  635. package/features/users/DeleteUser/abstractions.js.map +1 -1
  636. package/features/users/DeleteUser/decorators/DeleteUserWithWcpDecrement.js +15 -16
  637. package/features/users/DeleteUser/decorators/DeleteUserWithWcpDecrement.js.map +1 -1
  638. package/features/users/DeleteUser/errors.js +7 -7
  639. package/features/users/DeleteUser/errors.js.map +1 -1
  640. package/features/users/DeleteUser/events.js +17 -18
  641. package/features/users/DeleteUser/events.js.map +1 -1
  642. package/features/users/DeleteUser/feature.d.ts +4 -1
  643. package/features/users/DeleteUser/feature.js +7 -6
  644. package/features/users/DeleteUser/feature.js.map +1 -1
  645. package/features/users/DeleteUser/index.js +0 -2
  646. package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.js +60 -74
  647. package/features/users/ExternalIdpUserSync/ExternalIdpUserSyncHandler.js.map +1 -1
  648. package/features/users/ExternalIdpUserSync/feature.d.ts +4 -1
  649. package/features/users/ExternalIdpUserSync/feature.js +6 -5
  650. package/features/users/ExternalIdpUserSync/feature.js.map +1 -1
  651. package/features/users/ExternalIdpUserSync/index.js +0 -2
  652. package/features/users/GetIdentityProfile/GetIdentityProfileUseCase.js +29 -39
  653. package/features/users/GetIdentityProfile/GetIdentityProfileUseCase.js.map +1 -1
  654. package/features/users/GetIdentityProfile/abstractions.js +2 -11
  655. package/features/users/GetIdentityProfile/abstractions.js.map +1 -1
  656. package/features/users/GetIdentityProfile/feature.d.ts +4 -1
  657. package/features/users/GetIdentityProfile/feature.js +6 -5
  658. package/features/users/GetIdentityProfile/feature.js.map +1 -1
  659. package/features/users/GetIdentityProfile/index.js +0 -2
  660. package/features/users/GetIdentityProfile/types.js +0 -3
  661. package/features/users/GetUser/GetUserUseCase.js +19 -23
  662. package/features/users/GetUser/GetUserUseCase.js.map +1 -1
  663. package/features/users/GetUser/abstractions.js +2 -11
  664. package/features/users/GetUser/abstractions.js.map +1 -1
  665. package/features/users/GetUser/feature.d.ts +4 -1
  666. package/features/users/GetUser/feature.js +6 -5
  667. package/features/users/GetUser/feature.js.map +1 -1
  668. package/features/users/GetUser/index.js +0 -2
  669. package/features/users/ListUserTeams/ListUserTeamsUseCase.js +33 -42
  670. package/features/users/ListUserTeams/ListUserTeamsUseCase.js.map +1 -1
  671. package/features/users/ListUserTeams/abstractions.js +2 -11
  672. package/features/users/ListUserTeams/abstractions.js.map +1 -1
  673. package/features/users/ListUserTeams/feature.d.ts +4 -1
  674. package/features/users/ListUserTeams/feature.js +6 -5
  675. package/features/users/ListUserTeams/feature.js.map +1 -1
  676. package/features/users/ListUserTeams/index.js +0 -2
  677. package/features/users/ListUsers/ListUsersUseCase.js +19 -23
  678. package/features/users/ListUsers/ListUsersUseCase.js.map +1 -1
  679. package/features/users/ListUsers/abstractions.js +2 -11
  680. package/features/users/ListUsers/abstractions.js.map +1 -1
  681. package/features/users/ListUsers/feature.d.ts +4 -1
  682. package/features/users/ListUsers/feature.js +6 -5
  683. package/features/users/ListUsers/feature.js.map +1 -1
  684. package/features/users/ListUsers/index.js +0 -2
  685. package/features/users/UpdateUser/UpdateUserUseCase.js +52 -74
  686. package/features/users/UpdateUser/UpdateUserUseCase.js.map +1 -1
  687. package/features/users/UpdateUser/abstractions.js +2 -13
  688. package/features/users/UpdateUser/abstractions.js.map +1 -1
  689. package/features/users/UpdateUser/events.js +17 -18
  690. package/features/users/UpdateUser/events.js.map +1 -1
  691. package/features/users/UpdateUser/feature.d.ts +4 -1
  692. package/features/users/UpdateUser/feature.js +6 -5
  693. package/features/users/UpdateUser/feature.js.map +1 -1
  694. package/features/users/UpdateUser/index.js +0 -2
  695. package/features/users/UpdateUser/schema.js +11 -10
  696. package/features/users/UpdateUser/schema.js.map +1 -1
  697. package/features/users/shared/AdminUsersRepository.js +104 -112
  698. package/features/users/shared/AdminUsersRepository.js.map +1 -1
  699. package/features/users/shared/abstractions.js +2 -9
  700. package/features/users/shared/abstractions.js.map +1 -1
  701. package/features/users/shared/errors.js +40 -46
  702. package/features/users/shared/errors.js.map +1 -1
  703. package/features/users/shared/loaders.js +52 -66
  704. package/features/users/shared/loaders.js.map +1 -1
  705. package/features/users/shared/storageAbstractions.js +2 -2
  706. package/features/users/shared/storageAbstractions.js.map +1 -1
  707. package/features/users/shared/types.js +0 -3
  708. package/features/wcp/WcpContext/WcpContext.d.ts +7 -0
  709. package/features/wcp/WcpContext/WcpContext.js +150 -133
  710. package/features/wcp/WcpContext/WcpContext.js.map +1 -1
  711. package/features/wcp/WcpContext/abstractions.js +2 -6
  712. package/features/wcp/WcpContext/abstractions.js.map +1 -1
  713. package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.d.ts +30 -5
  714. package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.js +153 -112
  715. package/features/wcp/WcpContext/decorators/WcpContextWithFeatureFlagsDecorator.js.map +1 -1
  716. package/features/wcp/WcpContext/feature.d.ts +5 -1
  717. package/features/wcp/WcpContext/feature.js +6 -5
  718. package/features/wcp/WcpContext/feature.js.map +1 -1
  719. package/features/wcp/WcpContext/index.js +0 -2
  720. package/features/wcp/WcpContext/types.js +0 -3
  721. package/features/wcp/WcpContext/utils.js +35 -53
  722. package/features/wcp/WcpContext/utils.js.map +1 -1
  723. package/features/wcp/WcpFeature.d.ts +4 -1
  724. package/features/wcp/WcpFeature.js +7 -6
  725. package/features/wcp/WcpFeature.js.map +1 -1
  726. package/features/webhooks/Webhook/WebhookProvider.d.ts +12 -0
  727. package/features/webhooks/Webhook/WebhookProvider.js +28 -0
  728. package/features/webhooks/Webhook/WebhookProvider.js.map +1 -0
  729. package/features/webhooks/Webhook/abstractions/WebhookFactory.d.ts +16 -0
  730. package/features/webhooks/Webhook/abstractions/WebhookFactory.js +5 -0
  731. package/features/webhooks/Webhook/abstractions/WebhookFactory.js.map +1 -0
  732. package/features/webhooks/Webhook/abstractions/WebhookProvider.d.ts +9 -0
  733. package/features/webhooks/Webhook/abstractions/WebhookProvider.js +5 -0
  734. package/features/webhooks/Webhook/abstractions/WebhookProvider.js.map +1 -0
  735. package/features/webhooks/Webhook/feature.d.ts +4 -0
  736. package/features/webhooks/Webhook/feature.js +11 -0
  737. package/features/webhooks/Webhook/feature.js.map +1 -0
  738. package/features/webhooks/Webhook/index.d.ts +2 -0
  739. package/features/webhooks/Webhook/index.js +2 -0
  740. package/features/webhooks/WebhookDispatcher/NullWebhookDispatcher.d.ts +8 -0
  741. package/features/webhooks/WebhookDispatcher/NullWebhookDispatcher.js +11 -0
  742. package/features/webhooks/WebhookDispatcher/NullWebhookDispatcher.js.map +1 -0
  743. package/features/webhooks/WebhookDispatcher/abstractions.d.ts +12 -0
  744. package/features/webhooks/WebhookDispatcher/abstractions.js +5 -0
  745. package/features/webhooks/WebhookDispatcher/abstractions.js.map +1 -0
  746. package/features/webhooks/WebhookSignPayload/abstractions.d.ts +14 -0
  747. package/features/webhooks/WebhookSignPayload/abstractions.js +5 -0
  748. package/features/webhooks/WebhookSignPayload/abstractions.js.map +1 -0
  749. package/features/webhooks/WebhookVerifyPayload/abstractions.d.ts +11 -0
  750. package/features/webhooks/WebhookVerifyPayload/abstractions.js +5 -0
  751. package/features/webhooks/WebhookVerifyPayload/abstractions.js.map +1 -0
  752. package/features/webhooks/index.d.ts +5 -0
  753. package/features/webhooks/index.js +5 -0
  754. package/graphql/security/NotAuthorizedResponse.js +11 -14
  755. package/graphql/security/NotAuthorizedResponse.js.map +1 -1
  756. package/graphql/security/ProfileMapper.js +12 -11
  757. package/graphql/security/ProfileMapper.js.map +1 -1
  758. package/graphql/security/apiKey.gql.js +38 -47
  759. package/graphql/security/apiKey.gql.js.map +1 -1
  760. package/graphql/security/base.gql.js +11 -10
  761. package/graphql/security/base.gql.js.map +1 -1
  762. package/graphql/security/identity.gql.js +87 -97
  763. package/graphql/security/identity.gql.js.map +1 -1
  764. package/graphql/security/index.js +13 -8
  765. package/graphql/security/index.js.map +1 -1
  766. package/graphql/security/role.gql.js +49 -57
  767. package/graphql/security/role.gql.js.map +1 -1
  768. package/graphql/security/team.gql.js +61 -69
  769. package/graphql/security/team.gql.js.map +1 -1
  770. package/graphql/system/createSystemGraphQL.js +31 -34
  771. package/graphql/system/createSystemGraphQL.js.map +1 -1
  772. package/graphql/users/user.gql.js +87 -105
  773. package/graphql/users/user.gql.js.map +1 -1
  774. package/graphql/wcp/graphql.js +26 -28
  775. package/graphql/wcp/graphql.js.map +1 -1
  776. package/idp/JwksCache.js +22 -28
  777. package/idp/JwksCache.js.map +1 -1
  778. package/idp/JwtAuthenticator.js +34 -46
  779. package/idp/JwtAuthenticator.js.map +1 -1
  780. package/idp/OidcJwtIdentityProvider.js +55 -82
  781. package/idp/OidcJwtIdentityProvider.js.map +1 -1
  782. package/idp/abstractions.js +5 -14
  783. package/idp/abstractions.js.map +1 -1
  784. package/idp/feature.d.ts +4 -1
  785. package/idp/feature.js +8 -7
  786. package/idp/feature.js.map +1 -1
  787. package/idp/index.js +1 -3
  788. package/idp/types.js +0 -3
  789. package/index.js +0 -2
  790. package/legacy/security/LegacyContext.js +133 -186
  791. package/legacy/security/LegacyContext.js.map +1 -1
  792. package/legacy/security/createSecurityContext.js +5 -9
  793. package/legacy/security/createSecurityContext.js.map +1 -1
  794. package/legacy/security/plugins/apiKeyAuthentication.d.ts +1 -1
  795. package/legacy/security/plugins/apiKeyAuthentication.js +15 -24
  796. package/legacy/security/plugins/apiKeyAuthentication.js.map +1 -1
  797. package/legacy/security/plugins/apiKeyAuthorization.d.ts +1 -1
  798. package/legacy/security/plugins/apiKeyAuthorization.js +9 -18
  799. package/legacy/security/plugins/apiKeyAuthorization.js.map +1 -1
  800. package/legacy/security/plugins/authenticateUsingCookie.d.ts +1 -1
  801. package/legacy/security/plugins/authenticateUsingCookie.js +18 -22
  802. package/legacy/security/plugins/authenticateUsingCookie.js.map +1 -1
  803. package/legacy/security/plugins/authenticateUsingHttpHeader.d.ts +1 -1
  804. package/legacy/security/plugins/authenticateUsingHttpHeader.js +15 -18
  805. package/legacy/security/plugins/authenticateUsingHttpHeader.js.map +1 -1
  806. package/legacy/security/plugins/secureHeaders.js +28 -21
  807. package/legacy/security/plugins/secureHeaders.js.map +1 -1
  808. package/legacy/tenancy/LegacyContext.js +45 -52
  809. package/legacy/tenancy/LegacyContext.js.map +1 -1
  810. package/legacy/tenancy/createTenancyContext.js +22 -42
  811. package/legacy/tenancy/createTenancyContext.js.map +1 -1
  812. package/legacy/users/LegacyContext.js +39 -54
  813. package/legacy/users/LegacyContext.js.map +1 -1
  814. package/legacy/users/createAdminUsersContext.js +7 -7
  815. package/legacy/users/createAdminUsersContext.js.map +1 -1
  816. package/legacy/wcp/LegacyWcpContext.d.ts +7 -0
  817. package/legacy/wcp/LegacyWcpContext.js +92 -70
  818. package/legacy/wcp/LegacyWcpContext.js.map +1 -1
  819. package/legacy/wcp/context.d.ts +1 -3
  820. package/legacy/wcp/context.js +33 -37
  821. package/legacy/wcp/context.js.map +1 -1
  822. package/models/base/BaseModel.js +51 -56
  823. package/models/base/BaseModel.js.map +1 -1
  824. package/models/base/ModelBuilder.js +65 -78
  825. package/models/base/ModelBuilder.js.map +1 -1
  826. package/models/base/ModelFactory.js +0 -3
  827. package/models/base/__tests__/ModelBuilder.test.js +437 -454
  828. package/models/base/__tests__/ModelBuilder.test.js.map +1 -1
  829. package/models/base/abstractions.js +0 -3
  830. package/models/cms/FieldBuilder.js +112 -121
  831. package/models/cms/FieldBuilder.js.map +1 -1
  832. package/models/cms/FieldBuilderRegistry.js +13 -12
  833. package/models/cms/FieldBuilderRegistry.js.map +1 -1
  834. package/models/cms/FieldDefinitionsBuilder.js +37 -54
  835. package/models/cms/FieldDefinitionsBuilder.js.map +1 -1
  836. package/models/cms/PrivateCmsModelBuilder.js +84 -89
  837. package/models/cms/PrivateCmsModelBuilder.js.map +1 -1
  838. package/models/cms/PrivatePage/Page.fields.js +7 -6
  839. package/models/cms/PrivatePage/Page.fields.js.map +1 -1
  840. package/models/cms/PrivatePage/PageModelBuilder.js +18 -15
  841. package/models/cms/PrivatePage/PageModelBuilder.js.map +1 -1
  842. package/models/cms/PrivatePage/PageModelFactory.js +20 -25
  843. package/models/cms/PrivatePage/PageModelFactory.js.map +1 -1
  844. package/models/cms/PrivatePage/__tests__/PageModelFactory.test.js +218 -234
  845. package/models/cms/PrivatePage/__tests__/PageModelFactory.test.js.map +1 -1
  846. package/models/cms/PrivatePage/__tests__/PagePublishingDecorator.js +33 -36
  847. package/models/cms/PrivatePage/__tests__/PagePublishingDecorator.js.map +1 -1
  848. package/models/cms/PrivatePage/__tests__/PageSeoDecorator.js +25 -26
  849. package/models/cms/PrivatePage/__tests__/PageSeoDecorator.js.map +1 -1
  850. package/models/cms/PrivatePage/abstractions.js +3 -9
  851. package/models/cms/PrivatePage/abstractions.js.map +1 -1
  852. package/models/cms/__tests__/PrivateCmsModelBuilder.test.js +173 -185
  853. package/models/cms/__tests__/PrivateCmsModelBuilder.test.js.map +1 -1
  854. package/models/cms/abstractions.js +3 -20
  855. package/models/cms/abstractions.js.map +1 -1
  856. package/models/cms/fieldsBuilder.md +4 -2
  857. package/models/cms/types.js +0 -3
  858. package/models/simple/Page/PageModelBuilder.js +15 -14
  859. package/models/simple/Page/PageModelBuilder.js.map +1 -1
  860. package/models/simple/Page/PageModelFactory.js +16 -15
  861. package/models/simple/Page/PageModelFactory.js.map +1 -1
  862. package/models/simple/Page/__tests__/PageModelBuilderDecorator.js +21 -20
  863. package/models/simple/Page/__tests__/PageModelBuilderDecorator.js.map +1 -1
  864. package/models/simple/Page/__tests__/PageModelBuilderDecorator2.js +17 -16
  865. package/models/simple/Page/__tests__/PageModelBuilderDecorator2.js.map +1 -1
  866. package/models/simple/Page/__tests__/PageModelFactory.test.js +28 -28
  867. package/models/simple/Page/__tests__/PageModelFactory.test.js.map +1 -1
  868. package/models/simple/Page/abstractions.js +9 -8
  869. package/models/simple/Page/abstractions.js.map +1 -1
  870. package/package.json +30 -71
  871. package/types/core.js +0 -3
  872. package/types/security.d.ts +1 -1
  873. package/types/security.js +0 -3
  874. package/types/tenancy.js +0 -3
  875. package/types/users.js +0 -3
  876. package/domain/tenancy/errors.js.map +0 -1
  877. package/exports/api/build-params.js.map +0 -1
  878. package/exports/api/event-publisher.js.map +0 -1
  879. package/exports/api/graphql.js.map +0 -1
  880. package/exports/api/key-value-store.js.map +0 -1
  881. package/exports/api/logger.js.map +0 -1
  882. package/exports/api/security/api-key.js.map +0 -1
  883. package/exports/api/security/authentication.js.map +0 -1
  884. package/exports/api/security/role.js.map +0 -1
  885. package/exports/api/security/user.js.map +0 -1
  886. package/exports/api/security.js.map +0 -1
  887. package/exports/api/system.js.map +0 -1
  888. package/exports/api/tasks.js.map +0 -1
  889. package/exports/api/tenancy.js.map +0 -1
  890. package/features/buildParams/index.js.map +0 -1
  891. package/features/eventPublisher/index.js.map +0 -1
  892. package/features/keyValueStore/index.js.map +0 -1
  893. package/features/logger/index.js.map +0 -1
  894. package/features/security/IdentityContext/index.js.map +0 -1
  895. package/features/security/apiKeys/CreateApiKey/index.js.map +0 -1
  896. package/features/security/apiKeys/DeleteApiKey/index.js.map +0 -1
  897. package/features/security/apiKeys/GetApiKey/index.js.map +0 -1
  898. package/features/security/apiKeys/GetApiKeyBySlug/index.js.map +0 -1
  899. package/features/security/apiKeys/GetApiKeyByToken/index.js.map +0 -1
  900. package/features/security/apiKeys/ListApiKeys/index.js.map +0 -1
  901. package/features/security/apiKeys/UpdateApiKey/index.js.map +0 -1
  902. package/features/security/apiKeys/shared/types.js.map +0 -1
  903. package/features/security/authentication/AuthenticationContext/index.js.map +0 -1
  904. package/features/security/authentication/Authenticator/index.js.map +0 -1
  905. package/features/security/authorization/AuthorizationContext/index.js.map +0 -1
  906. package/features/security/authorization/Authorizer/index.js.map +0 -1
  907. package/features/security/login/index.js.map +0 -1
  908. package/features/security/permissions/index.js.map +0 -1
  909. package/features/security/permissions/types.js.map +0 -1
  910. package/features/security/roles/CreateRole/index.js.map +0 -1
  911. package/features/security/roles/DeleteRole/index.js.map +0 -1
  912. package/features/security/roles/GetRole/index.js.map +0 -1
  913. package/features/security/roles/ListRoles/index.js.map +0 -1
  914. package/features/security/roles/UpdateRole/index.js.map +0 -1
  915. package/features/security/roles/shared/types.js.map +0 -1
  916. package/features/security/shared/index.js.map +0 -1
  917. package/features/security/teams/CreateTeam/index.js.map +0 -1
  918. package/features/security/teams/DeleteTeam/index.js.map +0 -1
  919. package/features/security/teams/GetTeam/index.js.map +0 -1
  920. package/features/security/teams/ListTeams/index.js.map +0 -1
  921. package/features/security/teams/UpdateTeam/index.js.map +0 -1
  922. package/features/security/teams/shared/types.js.map +0 -1
  923. package/features/system/InstallSystem/index.js.map +0 -1
  924. package/features/task/TaskController/index.js.map +0 -1
  925. package/features/task/TaskDefinition/index.js.map +0 -1
  926. package/features/task/TaskService/index.js.map +0 -1
  927. package/features/tenancy/CreateTenant/index.js.map +0 -1
  928. package/features/tenancy/DeleteTenant/index.js.map +0 -1
  929. package/features/tenancy/GetRootTenant/index.js.map +0 -1
  930. package/features/tenancy/GetTenantById/index.js.map +0 -1
  931. package/features/tenancy/InstallTenant/index.js.map +0 -1
  932. package/features/tenancy/ListTenants/index.js.map +0 -1
  933. package/features/tenancy/TenantContext/index.js.map +0 -1
  934. package/features/tenancy/UpdateTenant/index.js.map +0 -1
  935. package/features/users/CreateUser/index.js.map +0 -1
  936. package/features/users/DeleteUser/index.js.map +0 -1
  937. package/features/users/ExternalIdpUserSync/index.js.map +0 -1
  938. package/features/users/GetIdentityProfile/index.js.map +0 -1
  939. package/features/users/GetIdentityProfile/types.js.map +0 -1
  940. package/features/users/GetUser/index.js.map +0 -1
  941. package/features/users/ListUserTeams/index.js.map +0 -1
  942. package/features/users/ListUsers/index.js.map +0 -1
  943. package/features/users/UpdateUser/index.js.map +0 -1
  944. package/features/users/shared/types.js.map +0 -1
  945. package/features/wcp/WcpContext/index.js.map +0 -1
  946. package/features/wcp/WcpContext/types.js.map +0 -1
  947. package/idp/index.js.map +0 -1
  948. package/idp/types.js.map +0 -1
  949. package/index.js.map +0 -1
  950. package/models/base/ModelFactory.js.map +0 -1
  951. package/models/base/abstractions.js.map +0 -1
  952. package/models/cms/types.js.map +0 -1
  953. package/types/core.js.map +0 -1
  954. package/types/security.js.map +0 -1
  955. package/types/tenancy.js.map +0 -1
  956. package/types/users.js.map +0 -1
@@ -0,0 +1,5 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const TextExtractor = createAbstraction("TextExtractor");
3
+ export { TextExtractor };
4
+
5
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/ai/TextExtractor/abstractions.js","sources":["../../../../src/features/ai/TextExtractor/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\n\nexport interface TextExtractorResult {\n text: string;\n}\n\nexport interface ITextExtractor {\n canExtract(mimeType: string): boolean;\n extract(buffer: Buffer, mimeType: string): Promise<TextExtractorResult>;\n}\n\nexport const TextExtractor = createAbstraction<ITextExtractor>(\"TextExtractor\");\n\nexport namespace TextExtractor {\n export type Interface = ITextExtractor;\n export type Result = TextExtractorResult;\n}\n"],"names":["TextExtractor","createAbstraction"],"mappings":";AAWO,MAAMA,gBAAgBC,kBAAkC"}
@@ -0,0 +1,3 @@
1
+ export { TextExtractor } from "./abstractions.js";
2
+ export type { ITextExtractor, TextExtractorResult } from "./abstractions.js";
3
+ export { DefaultTextExtractor } from "./DefaultTextExtractor.js";
@@ -0,0 +1,2 @@
1
+ export { TextExtractor } from "./abstractions.js";
2
+ export { DefaultTextExtractor } from "./DefaultTextExtractor.js";
@@ -0,0 +1 @@
1
+ export declare function extractDocxText(buffer: Buffer): Promise<string>;
@@ -0,0 +1,111 @@
1
+ import { inflateRawSync } from "node:zlib";
2
+ async function extractDocxText(buffer) {
3
+ const xml = extractFileFromZip(buffer, "word/document.xml");
4
+ if (!xml) throw new Error("Invalid DOCX: word/document.xml not found.");
5
+ const stylesXml = extractFileFromZip(buffer, "word/styles.xml");
6
+ const styleMap = stylesXml ? buildStyleMap(stylesXml) : new Map();
7
+ return convertToMarkdown(xml, styleMap);
8
+ }
9
+ function buildStyleMap(stylesXml) {
10
+ const map = new Map();
11
+ const styleRegex = /<w:style\s[^>]*w:styleId="([^"]*)"[^>]*>[\s\S]*?<\/w:style>/g;
12
+ let match;
13
+ while(null !== (match = styleRegex.exec(stylesXml))){
14
+ const styleId = match[1];
15
+ const block = match[0];
16
+ const nameMatch = block.match(/<w:name\s+w:val="([^"]*)"/);
17
+ if (nameMatch) map.set(styleId, nameMatch[1]);
18
+ }
19
+ return map;
20
+ }
21
+ function getHeadingLevel(paragraphXml, styleMap) {
22
+ const styleMatch = paragraphXml.match(/<w:pStyle\s+w:val="([^"]*)"/);
23
+ if (!styleMatch) return 0;
24
+ const styleId = styleMatch[1];
25
+ const directMatch = styleId.match(/^[Hh]eading(\d)$/);
26
+ if (directMatch) return parseInt(directMatch[1], 10);
27
+ const styleName = styleMap.get(styleId) ?? "";
28
+ const nameMatch = styleName.match(/^[Hh]eading\s*(\d)$/);
29
+ if (nameMatch) return parseInt(nameMatch[1], 10);
30
+ if (/title/i.test(styleName) || /title/i.test(styleId)) return 1;
31
+ return 0;
32
+ }
33
+ function isListItem(paragraphXml) {
34
+ return /<w:numId\s/.test(paragraphXml);
35
+ }
36
+ function extractRunMarkdown(runXml) {
37
+ const textRegex = /<w:t(?:\s[^>]*)?>([^<]*)<\/w:t>/g;
38
+ const texts = [];
39
+ let match;
40
+ while(null !== (match = textRegex.exec(runXml)))texts.push(match[1]);
41
+ if (0 === texts.length) return "";
42
+ const text = texts.join("");
43
+ const isBold = /<w:b[\s/>]/.test(runXml) && !/<w:b\s+w:val="(false|0)"/.test(runXml);
44
+ const isItalic = /<w:i[\s/>]/.test(runXml) && !/<w:i\s+w:val="(false|0)"/.test(runXml);
45
+ if (isBold && isItalic) return `***${text}***`;
46
+ if (isBold) return `**${text}**`;
47
+ if (isItalic) return `*${text}*`;
48
+ return text;
49
+ }
50
+ function convertToMarkdown(xml, styleMap) {
51
+ const paragraphs = [];
52
+ const paragraphRegex = /<w:p[\s>][\s\S]*?<\/w:p>/g;
53
+ let paragraphMatch;
54
+ while(null !== (paragraphMatch = paragraphRegex.exec(xml))){
55
+ const paragraphXml = paragraphMatch[0];
56
+ const runRegex = /<w:r[\s>][\s\S]*?<\/w:r>/g;
57
+ const runs = [];
58
+ let runMatch;
59
+ while(null !== (runMatch = runRegex.exec(paragraphXml))){
60
+ const md = extractRunMarkdown(runMatch[0]);
61
+ if (md) runs.push(md);
62
+ }
63
+ if (0 === runs.length) continue;
64
+ let line = runs.join("");
65
+ const headingLevel = getHeadingLevel(paragraphXml, styleMap);
66
+ if (headingLevel > 0 && headingLevel <= 6) line = `${"#".repeat(headingLevel)} ${line}`;
67
+ else if (isListItem(paragraphXml)) line = `- ${line}`;
68
+ paragraphs.push(line);
69
+ }
70
+ return paragraphs.join("\n\n");
71
+ }
72
+ function extractFileFromZip(buffer, targetPath) {
73
+ const eocdOffset = findEocd(buffer);
74
+ if (-1 === eocdOffset) throw new Error("Invalid ZIP: End of Central Directory not found.");
75
+ const cdOffset = buffer.readUInt32LE(eocdOffset + 16);
76
+ const cdSize = buffer.readUInt32LE(eocdOffset + 12);
77
+ const cdEnd = cdOffset + cdSize;
78
+ let offset = cdOffset;
79
+ while(offset < cdEnd){
80
+ const sig = buffer.readUInt32LE(offset);
81
+ if (0x02014b50 !== sig) break;
82
+ const compressionMethod = buffer.readUInt16LE(offset + 10);
83
+ const compressedSize = buffer.readUInt32LE(offset + 20);
84
+ const fileNameLen = buffer.readUInt16LE(offset + 28);
85
+ const extraLen = buffer.readUInt16LE(offset + 30);
86
+ const commentLen = buffer.readUInt16LE(offset + 32);
87
+ const localHeaderOffset = buffer.readUInt32LE(offset + 42);
88
+ const fileName = buffer.toString("utf-8", offset + 46, offset + 46 + fileNameLen);
89
+ if (fileName === targetPath) return readLocalFile(buffer, localHeaderOffset, compressionMethod, compressedSize);
90
+ offset += 46 + fileNameLen + extraLen + commentLen;
91
+ }
92
+ return null;
93
+ }
94
+ function readLocalFile(buffer, offset, compressionMethod, compressedSize) {
95
+ const sig = buffer.readUInt32LE(offset);
96
+ if (0x04034b50 !== sig) throw new Error("Invalid ZIP: bad local file header.");
97
+ const localFileNameLen = buffer.readUInt16LE(offset + 26);
98
+ const localExtraLen = buffer.readUInt16LE(offset + 28);
99
+ const dataOffset = offset + 30 + localFileNameLen + localExtraLen;
100
+ const raw = buffer.subarray(dataOffset, dataOffset + compressedSize);
101
+ if (0 === compressionMethod) return raw.toString("utf-8");
102
+ if (8 === compressionMethod) return inflateRawSync(raw).toString("utf-8");
103
+ throw new Error(`Unsupported ZIP compression method: ${compressionMethod}`);
104
+ }
105
+ function findEocd(buffer) {
106
+ for(let i = buffer.length - 22; i >= Math.max(0, buffer.length - 65557); i--)if (0x06054b50 === buffer.readUInt32LE(i)) return i;
107
+ return -1;
108
+ }
109
+ export { extractDocxText };
110
+
111
+ //# sourceMappingURL=docxParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/ai/TextExtractor/parsers/docxParser.js","sources":["../../../../../src/features/ai/TextExtractor/parsers/docxParser.ts"],"sourcesContent":["import { inflateRawSync } from \"node:zlib\";\n\nexport async function extractDocxText(buffer: Buffer): Promise<string> {\n const xml = extractFileFromZip(buffer, \"word/document.xml\");\n if (!xml) {\n throw new Error(\"Invalid DOCX: word/document.xml not found.\");\n }\n\n const stylesXml = extractFileFromZip(buffer, \"word/styles.xml\");\n const styleMap = stylesXml ? buildStyleMap(stylesXml) : new Map<string, string>();\n\n return convertToMarkdown(xml, styleMap);\n}\n\nfunction buildStyleMap(stylesXml: string): Map<string, string> {\n const map = new Map<string, string>();\n const styleRegex = /<w:style\\s[^>]*w:styleId=\"([^\"]*)\"[^>]*>[\\s\\S]*?<\\/w:style>/g;\n let match: RegExpExecArray | null;\n\n while ((match = styleRegex.exec(stylesXml)) !== null) {\n const styleId = match[1];\n const block = match[0];\n const nameMatch = block.match(/<w:name\\s+w:val=\"([^\"]*)\"/);\n if (nameMatch) {\n map.set(styleId, nameMatch[1]);\n }\n }\n\n return map;\n}\n\nfunction getHeadingLevel(paragraphXml: string, styleMap: Map<string, string>): number {\n const styleMatch = paragraphXml.match(/<w:pStyle\\s+w:val=\"([^\"]*)\"/);\n if (!styleMatch) {\n return 0;\n }\n\n const styleId = styleMatch[1];\n\n const directMatch = styleId.match(/^[Hh]eading(\\d)$/);\n if (directMatch) {\n return parseInt(directMatch[1], 10);\n }\n\n const styleName = styleMap.get(styleId) ?? \"\";\n const nameMatch = styleName.match(/^[Hh]eading\\s*(\\d)$/);\n if (nameMatch) {\n return parseInt(nameMatch[1], 10);\n }\n\n if (/title/i.test(styleName) || /title/i.test(styleId)) {\n return 1;\n }\n\n return 0;\n}\n\nfunction isListItem(paragraphXml: string): boolean {\n return /<w:numId\\s/.test(paragraphXml);\n}\n\nfunction extractRunMarkdown(runXml: string): string {\n const textRegex = /<w:t(?:\\s[^>]*)?>([^<]*)<\\/w:t>/g;\n const texts: string[] = [];\n let match: RegExpExecArray | null;\n while ((match = textRegex.exec(runXml)) !== null) {\n texts.push(match[1]);\n }\n if (texts.length === 0) {\n return \"\";\n }\n\n const text = texts.join(\"\");\n const isBold = /<w:b[\\s/>]/.test(runXml) && !/<w:b\\s+w:val=\"(false|0)\"/.test(runXml);\n const isItalic = /<w:i[\\s/>]/.test(runXml) && !/<w:i\\s+w:val=\"(false|0)\"/.test(runXml);\n\n if (isBold && isItalic) {\n return `***${text}***`;\n }\n if (isBold) {\n return `**${text}**`;\n }\n if (isItalic) {\n return `*${text}*`;\n }\n return text;\n}\n\nfunction convertToMarkdown(xml: string, styleMap: Map<string, string>): string {\n const paragraphs: string[] = [];\n const paragraphRegex = /<w:p[\\s>][\\s\\S]*?<\\/w:p>/g;\n let paragraphMatch: RegExpExecArray | null;\n\n while ((paragraphMatch = paragraphRegex.exec(xml)) !== null) {\n const paragraphXml = paragraphMatch[0];\n\n const runRegex = /<w:r[\\s>][\\s\\S]*?<\\/w:r>/g;\n const runs: string[] = [];\n let runMatch: RegExpExecArray | null;\n while ((runMatch = runRegex.exec(paragraphXml)) !== null) {\n const md = extractRunMarkdown(runMatch[0]);\n if (md) {\n runs.push(md);\n }\n }\n\n if (runs.length === 0) {\n continue;\n }\n\n let line = runs.join(\"\");\n const headingLevel = getHeadingLevel(paragraphXml, styleMap);\n\n if (headingLevel > 0 && headingLevel <= 6) {\n line = `${\"#\".repeat(headingLevel)} ${line}`;\n } else if (isListItem(paragraphXml)) {\n line = `- ${line}`;\n }\n\n paragraphs.push(line);\n }\n\n return paragraphs.join(\"\\n\\n\");\n}\n\n// --- ZIP utilities (unchanged) ---\n\nfunction extractFileFromZip(buffer: Buffer, targetPath: string): string | null {\n const eocdOffset = findEocd(buffer);\n if (eocdOffset === -1) {\n throw new Error(\"Invalid ZIP: End of Central Directory not found.\");\n }\n\n const cdOffset = buffer.readUInt32LE(eocdOffset + 16);\n const cdSize = buffer.readUInt32LE(eocdOffset + 12);\n const cdEnd = cdOffset + cdSize;\n let offset = cdOffset;\n\n while (offset < cdEnd) {\n const sig = buffer.readUInt32LE(offset);\n if (sig !== 0x02014b50) {\n break;\n }\n\n const compressionMethod = buffer.readUInt16LE(offset + 10);\n const compressedSize = buffer.readUInt32LE(offset + 20);\n const fileNameLen = buffer.readUInt16LE(offset + 28);\n const extraLen = buffer.readUInt16LE(offset + 30);\n const commentLen = buffer.readUInt16LE(offset + 32);\n const localHeaderOffset = buffer.readUInt32LE(offset + 42);\n const fileName = buffer.toString(\"utf-8\", offset + 46, offset + 46 + fileNameLen);\n\n if (fileName === targetPath) {\n return readLocalFile(buffer, localHeaderOffset, compressionMethod, compressedSize);\n }\n\n offset += 46 + fileNameLen + extraLen + commentLen;\n }\n\n return null;\n}\n\nfunction readLocalFile(\n buffer: Buffer,\n offset: number,\n compressionMethod: number,\n compressedSize: number\n): string {\n const sig = buffer.readUInt32LE(offset);\n if (sig !== 0x04034b50) {\n throw new Error(\"Invalid ZIP: bad local file header.\");\n }\n\n const localFileNameLen = buffer.readUInt16LE(offset + 26);\n const localExtraLen = buffer.readUInt16LE(offset + 28);\n const dataOffset = offset + 30 + localFileNameLen + localExtraLen;\n\n const raw = buffer.subarray(dataOffset, dataOffset + compressedSize);\n\n if (compressionMethod === 0) {\n return raw.toString(\"utf-8\");\n }\n\n if (compressionMethod === 8) {\n return inflateRawSync(raw).toString(\"utf-8\");\n }\n\n throw new Error(`Unsupported ZIP compression method: ${compressionMethod}`);\n}\n\nfunction findEocd(buffer: Buffer): number {\n for (let i = buffer.length - 22; i >= Math.max(0, buffer.length - 65557); i--) {\n if (buffer.readUInt32LE(i) === 0x06054b50) {\n return i;\n }\n }\n return -1;\n}\n"],"names":["extractDocxText","buffer","xml","extractFileFromZip","Error","stylesXml","styleMap","buildStyleMap","Map","convertToMarkdown","map","styleRegex","match","styleId","block","nameMatch","getHeadingLevel","paragraphXml","styleMatch","directMatch","parseInt","styleName","isListItem","extractRunMarkdown","runXml","textRegex","texts","text","isBold","isItalic","paragraphs","paragraphRegex","paragraphMatch","runRegex","runs","runMatch","md","line","headingLevel","targetPath","eocdOffset","findEocd","cdOffset","cdSize","cdEnd","offset","sig","compressionMethod","compressedSize","fileNameLen","extraLen","commentLen","localHeaderOffset","fileName","readLocalFile","localFileNameLen","localExtraLen","dataOffset","raw","inflateRawSync","i","Math"],"mappings":";AAEO,eAAeA,gBAAgBC,MAAc;IAChD,MAAMC,MAAMC,mBAAmBF,QAAQ;IACvC,IAAI,CAACC,KACD,MAAM,IAAIE,MAAM;IAGpB,MAAMC,YAAYF,mBAAmBF,QAAQ;IAC7C,MAAMK,WAAWD,YAAYE,cAAcF,aAAa,IAAIG;IAE5D,OAAOC,kBAAkBP,KAAKI;AAClC;AAEA,SAASC,cAAcF,SAAiB;IACpC,MAAMK,MAAM,IAAIF;IAChB,MAAMG,aAAa;IACnB,IAAIC;IAEJ,MAAQA,AAAwC,SAAxCA,CAAAA,QAAQD,WAAW,IAAI,CAACN,UAAS,EAAa;QAClD,MAAMQ,UAAUD,KAAK,CAAC,EAAE;QACxB,MAAME,QAAQF,KAAK,CAAC,EAAE;QACtB,MAAMG,YAAYD,MAAM,KAAK,CAAC;QAC9B,IAAIC,WACAL,IAAI,GAAG,CAACG,SAASE,SAAS,CAAC,EAAE;IAErC;IAEA,OAAOL;AACX;AAEA,SAASM,gBAAgBC,YAAoB,EAAEX,QAA6B;IACxE,MAAMY,aAAaD,aAAa,KAAK,CAAC;IACtC,IAAI,CAACC,YACD,OAAO;IAGX,MAAML,UAAUK,UAAU,CAAC,EAAE;IAE7B,MAAMC,cAAcN,QAAQ,KAAK,CAAC;IAClC,IAAIM,aACA,OAAOC,SAASD,WAAW,CAAC,EAAE,EAAE;IAGpC,MAAME,YAAYf,SAAS,GAAG,CAACO,YAAY;IAC3C,MAAME,YAAYM,UAAU,KAAK,CAAC;IAClC,IAAIN,WACA,OAAOK,SAASL,SAAS,CAAC,EAAE,EAAE;IAGlC,IAAI,SAAS,IAAI,CAACM,cAAc,SAAS,IAAI,CAACR,UAC1C,OAAO;IAGX,OAAO;AACX;AAEA,SAASS,WAAWL,YAAoB;IACpC,OAAO,aAAa,IAAI,CAACA;AAC7B;AAEA,SAASM,mBAAmBC,MAAc;IACtC,MAAMC,YAAY;IAClB,MAAMC,QAAkB,EAAE;IAC1B,IAAId;IACJ,MAAQA,AAAoC,SAApCA,CAAAA,QAAQa,UAAU,IAAI,CAACD,OAAM,EACjCE,MAAM,IAAI,CAACd,KAAK,CAAC,EAAE;IAEvB,IAAIc,AAAiB,MAAjBA,MAAM,MAAM,EACZ,OAAO;IAGX,MAAMC,OAAOD,MAAM,IAAI,CAAC;IACxB,MAAME,SAAS,aAAa,IAAI,CAACJ,WAAW,CAAC,2BAA2B,IAAI,CAACA;IAC7E,MAAMK,WAAW,aAAa,IAAI,CAACL,WAAW,CAAC,2BAA2B,IAAI,CAACA;IAE/E,IAAII,UAAUC,UACV,OAAO,CAAC,GAAG,EAAEF,KAAK,GAAG,CAAC;IAE1B,IAAIC,QACA,OAAO,CAAC,EAAE,EAAED,KAAK,EAAE,CAAC;IAExB,IAAIE,UACA,OAAO,CAAC,CAAC,EAAEF,KAAK,CAAC,CAAC;IAEtB,OAAOA;AACX;AAEA,SAASlB,kBAAkBP,GAAW,EAAEI,QAA6B;IACjE,MAAMwB,aAAuB,EAAE;IAC/B,MAAMC,iBAAiB;IACvB,IAAIC;IAEJ,MAAQA,AAA+C,SAA/CA,CAAAA,iBAAiBD,eAAe,IAAI,CAAC7B,IAAG,EAAa;QACzD,MAAMe,eAAee,cAAc,CAAC,EAAE;QAEtC,MAAMC,WAAW;QACjB,MAAMC,OAAiB,EAAE;QACzB,IAAIC;QACJ,MAAQA,AAA4C,SAA5CA,CAAAA,WAAWF,SAAS,IAAI,CAAChB,aAAY,EAAa;YACtD,MAAMmB,KAAKb,mBAAmBY,QAAQ,CAAC,EAAE;YACzC,IAAIC,IACAF,KAAK,IAAI,CAACE;QAElB;QAEA,IAAIF,AAAgB,MAAhBA,KAAK,MAAM,EACX;QAGJ,IAAIG,OAAOH,KAAK,IAAI,CAAC;QACrB,MAAMI,eAAetB,gBAAgBC,cAAcX;QAEnD,IAAIgC,eAAe,KAAKA,gBAAgB,GACpCD,OAAO,GAAG,IAAI,MAAM,CAACC,cAAc,CAAC,EAAED,MAAM;aACzC,IAAIf,WAAWL,eAClBoB,OAAO,CAAC,EAAE,EAAEA,MAAM;QAGtBP,WAAW,IAAI,CAACO;IACpB;IAEA,OAAOP,WAAW,IAAI,CAAC;AAC3B;AAIA,SAAS3B,mBAAmBF,MAAc,EAAEsC,UAAkB;IAC1D,MAAMC,aAAaC,SAASxC;IAC5B,IAAIuC,AAAe,OAAfA,YACA,MAAM,IAAIpC,MAAM;IAGpB,MAAMsC,WAAWzC,OAAO,YAAY,CAACuC,aAAa;IAClD,MAAMG,SAAS1C,OAAO,YAAY,CAACuC,aAAa;IAChD,MAAMI,QAAQF,WAAWC;IACzB,IAAIE,SAASH;IAEb,MAAOG,SAASD,MAAO;QACnB,MAAME,MAAM7C,OAAO,YAAY,CAAC4C;QAChC,IAAIC,AAAQ,eAARA,KACA;QAGJ,MAAMC,oBAAoB9C,OAAO,YAAY,CAAC4C,SAAS;QACvD,MAAMG,iBAAiB/C,OAAO,YAAY,CAAC4C,SAAS;QACpD,MAAMI,cAAchD,OAAO,YAAY,CAAC4C,SAAS;QACjD,MAAMK,WAAWjD,OAAO,YAAY,CAAC4C,SAAS;QAC9C,MAAMM,aAAalD,OAAO,YAAY,CAAC4C,SAAS;QAChD,MAAMO,oBAAoBnD,OAAO,YAAY,CAAC4C,SAAS;QACvD,MAAMQ,WAAWpD,OAAO,QAAQ,CAAC,SAAS4C,SAAS,IAAIA,SAAS,KAAKI;QAErE,IAAII,aAAad,YACb,OAAOe,cAAcrD,QAAQmD,mBAAmBL,mBAAmBC;QAGvEH,UAAU,KAAKI,cAAcC,WAAWC;IAC5C;IAEA,OAAO;AACX;AAEA,SAASG,cACLrD,MAAc,EACd4C,MAAc,EACdE,iBAAyB,EACzBC,cAAsB;IAEtB,MAAMF,MAAM7C,OAAO,YAAY,CAAC4C;IAChC,IAAIC,AAAQ,eAARA,KACA,MAAM,IAAI1C,MAAM;IAGpB,MAAMmD,mBAAmBtD,OAAO,YAAY,CAAC4C,SAAS;IACtD,MAAMW,gBAAgBvD,OAAO,YAAY,CAAC4C,SAAS;IACnD,MAAMY,aAAaZ,SAAS,KAAKU,mBAAmBC;IAEpD,MAAME,MAAMzD,OAAO,QAAQ,CAACwD,YAAYA,aAAaT;IAErD,IAAID,AAAsB,MAAtBA,mBACA,OAAOW,IAAI,QAAQ,CAAC;IAGxB,IAAIX,AAAsB,MAAtBA,mBACA,OAAOY,eAAeD,KAAK,QAAQ,CAAC;IAGxC,MAAM,IAAItD,MAAM,CAAC,oCAAoC,EAAE2C,mBAAmB;AAC9E;AAEA,SAASN,SAASxC,MAAc;IAC5B,IAAK,IAAI2D,IAAI3D,OAAO,MAAM,GAAG,IAAI2D,KAAKC,KAAK,GAAG,CAAC,GAAG5D,OAAO,MAAM,GAAG,QAAQ2D,IACtE,IAAI3D,AAA2B,eAA3BA,OAAO,YAAY,CAAC2D,IACpB,OAAOA;IAGf,OAAO;AACX"}
@@ -0,0 +1,104 @@
1
+ import type { generateText } from "ai";
2
+ import type { streamText } from "ai";
3
+ import type { LanguageModel } from "ai";
4
+ import type { FlexibleSchema, ToolSet } from "ai";
5
+ export interface IAiSdkModel {
6
+ id: string;
7
+ name: string;
8
+ deprecated?: Date;
9
+ endOfLife?: Date;
10
+ }
11
+ export interface IAiSdk {
12
+ languageModel(modelId: string): LanguageModel;
13
+ }
14
+ /** A single AI SDK instance (e.g. OpenAI, Anthropic) that resolves model instances. */
15
+ export declare const AiSdk: import("@webiny/di").Abstraction<IAiSdk>;
16
+ export declare namespace AiSdk {
17
+ type Interface = IAiSdk;
18
+ }
19
+ export interface IAiSdkFactory {
20
+ readonly id: string;
21
+ readonly name: string;
22
+ readonly models: readonly IAiSdkModel[];
23
+ execute(apiKey?: string): Promise<IAiSdk>;
24
+ }
25
+ /** Factory that asynchronously initialises an AI SDK. Register one per provider namespace. */
26
+ export declare const AiSdkFactory: import("@webiny/di").Abstraction<IAiSdkFactory>;
27
+ export declare namespace AiSdkFactory {
28
+ type Interface = IAiSdkFactory;
29
+ }
30
+ export interface IAiConnectionInline {
31
+ readonly sdkName: string;
32
+ readonly apiKey?: string;
33
+ }
34
+ export interface IAiConnection extends IAiConnectionInline {
35
+ readonly id: string;
36
+ }
37
+ export interface IAiConnectionFactory {
38
+ execute(): Promise<IAiConnection>;
39
+ }
40
+ /** Factory that asynchronously produces an AiConnection. */
41
+ export declare const AiConnectionFactory: import("@webiny/di").Abstraction<IAiConnectionFactory>;
42
+ export declare namespace AiConnectionFactory {
43
+ type Interface = IAiConnectionFactory;
44
+ }
45
+ type SDKGenerateTextParams = Parameters<typeof generateText>[0];
46
+ type SDKStreamTextParams = Parameters<typeof streamText>[0];
47
+ export type AiGenerateTextParams = Omit<SDKGenerateTextParams, "model"> & {
48
+ model: string;
49
+ connection?: string | IAiConnectionInline;
50
+ };
51
+ export type AiStreamTextParams = Omit<SDKStreamTextParams, "model"> & {
52
+ model: string;
53
+ connection?: string | IAiConnectionInline;
54
+ };
55
+ export interface AiModel {
56
+ providerId: string;
57
+ providerName: string;
58
+ modelId: string;
59
+ modelName: string;
60
+ deprecated: Date | undefined;
61
+ endOfLife: Date | undefined;
62
+ }
63
+ export interface IAi {
64
+ generateText(params: AiGenerateTextParams): ReturnType<typeof generateText>;
65
+ streamText(params: AiStreamTextParams): Promise<ReturnType<typeof streamText>>;
66
+ listModels(): Promise<AiModel[]>;
67
+ listModelsByConnections(): Promise<AiModel[]>;
68
+ listModelsByConnection(connection: string | IAiConnectionInline): Promise<AiModel[]>;
69
+ }
70
+ /** Interact with AI language models using registered providers. */
71
+ export declare const Ai: import("@webiny/di").Abstraction<IAi>;
72
+ export declare namespace Ai {
73
+ type Interface = IAi;
74
+ type GenerateTextParams = AiGenerateTextParams;
75
+ type StreamTextParams = AiStreamTextParams;
76
+ }
77
+ export interface IAiModelRegistry {
78
+ listModels(): Promise<AiModel[]>;
79
+ }
80
+ /** Single source of truth for available AI models. Decoratable to restrict the model list. */
81
+ export declare const AiModelRegistry: import("@webiny/di").Abstraction<IAiModelRegistry>;
82
+ export declare namespace AiModelRegistry {
83
+ type Interface = IAiModelRegistry;
84
+ }
85
+ export interface IAiSdkTool<TInput = any> {
86
+ readonly name: string;
87
+ readonly description: string;
88
+ readonly inputSchema: FlexibleSchema<TInput>;
89
+ execute(input: TInput): Promise<unknown>;
90
+ }
91
+ /** A single tool that can be provided to AI generateText/streamText calls. */
92
+ export declare const AiSdkTool: import("@webiny/di").Abstraction<IAiSdkTool<any>>;
93
+ export declare namespace AiSdkTool {
94
+ type Interface = IAiSdkTool;
95
+ }
96
+ export interface IAiSdkTools {
97
+ getToolSet(): ToolSet;
98
+ }
99
+ /** Collection of AI SDK tools. Returns a ready-to-use ToolSet for generateText/streamText. */
100
+ export declare const AiSdkTools: import("@webiny/di").Abstraction<IAiSdkTools>;
101
+ export declare namespace AiSdkTools {
102
+ type Interface = IAiSdkTools;
103
+ }
104
+ export {};
@@ -0,0 +1,11 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const AiSdk = createAbstraction("AiSdk");
3
+ const AiSdkFactory = createAbstraction("AiSdkFactory");
4
+ const AiConnectionFactory = createAbstraction("AiConnectionFactory");
5
+ const Ai = createAbstraction("Ai");
6
+ const AiModelRegistry = createAbstraction("AiModelRegistry");
7
+ const AiSdkTool = createAbstraction("AiSdkTool");
8
+ const AiSdkTools = createAbstraction("AiSdkTools");
9
+ export { Ai, AiConnectionFactory, AiModelRegistry, AiSdk, AiSdkFactory, AiSdkTool, AiSdkTools };
10
+
11
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/ai/abstractions.js","sources":["../../../src/features/ai/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport type { generateText } from \"ai\";\nimport type { streamText } from \"ai\";\nimport type { LanguageModel } from \"ai\";\nimport type { FlexibleSchema, ToolSet } from \"ai\";\n\n// AiSdk\n\nexport interface IAiSdkModel {\n id: string; // raw model id, e.g. \"claude-sonnet-4-5\"\n name: string; // human-friendly name, e.g. \"Claude Sonnet 4.5\"\n deprecated?: Date;\n endOfLife?: Date;\n}\n\nexport interface IAiSdk {\n languageModel(modelId: string): LanguageModel;\n}\n\n/** A single AI SDK instance (e.g. OpenAI, Anthropic) that resolves model instances. */\nexport const AiSdk = createAbstraction<IAiSdk>(\"AiSdk\");\n\nexport namespace AiSdk {\n export type Interface = IAiSdk;\n}\n\n// AiSdkFactory\n\nexport interface IAiSdkFactory {\n readonly id: string; // machine id, e.g. \"anthropic\"\n readonly name: string; // human-friendly name, e.g. \"Anthropic\"\n readonly models: readonly IAiSdkModel[]; // static model list, no API call needed\n execute(apiKey?: string): Promise<IAiSdk>;\n}\n\n/** Factory that asynchronously initialises an AI SDK. Register one per provider namespace. */\nexport const AiSdkFactory = createAbstraction<IAiSdkFactory>(\"AiSdkFactory\");\n\nexport namespace AiSdkFactory {\n export type Interface = IAiSdkFactory;\n}\n\n// AiConnection\n\nexport interface IAiConnectionInline {\n readonly sdkName: string;\n readonly apiKey?: string;\n}\n\nexport interface IAiConnection extends IAiConnectionInline {\n readonly id: string;\n}\n\n// AiConnectionFactory\n\nexport interface IAiConnectionFactory {\n execute(): Promise<IAiConnection>;\n}\n\n/** Factory that asynchronously produces an AiConnection. */\nexport const AiConnectionFactory = createAbstraction<IAiConnectionFactory>(\"AiConnectionFactory\");\n\nexport namespace AiConnectionFactory {\n export type Interface = IAiConnectionFactory;\n}\n\n// Ai\n\ntype SDKGenerateTextParams = Parameters<typeof generateText>[0];\ntype SDKStreamTextParams = Parameters<typeof streamText>[0];\n\nexport type AiGenerateTextParams = Omit<SDKGenerateTextParams, \"model\"> & {\n model: string;\n connection?: string | IAiConnectionInline;\n};\nexport type AiStreamTextParams = Omit<SDKStreamTextParams, \"model\"> & {\n model: string;\n connection?: string | IAiConnectionInline;\n};\n\nexport interface AiModel {\n providerId: string; // e.g. \"anthropic\"\n providerName: string; // e.g. \"Anthropic\"\n modelId: string; // e.g. \"claude-sonnet-4-5\"\n modelName: string; // e.g. \"Claude Sonnet 4.5\"\n deprecated: Date | undefined;\n endOfLife: Date | undefined;\n}\n\nexport interface IAi {\n generateText(params: AiGenerateTextParams): ReturnType<typeof generateText>;\n streamText(params: AiStreamTextParams): Promise<ReturnType<typeof streamText>>;\n listModels(): Promise<AiModel[]>;\n listModelsByConnections(): Promise<AiModel[]>;\n listModelsByConnection(connection: string | IAiConnectionInline): Promise<AiModel[]>;\n}\n\n/** Interact with AI language models using registered providers. */\nexport const Ai = createAbstraction<IAi>(\"Ai\");\n\nexport namespace Ai {\n export type Interface = IAi;\n export type GenerateTextParams = AiGenerateTextParams;\n export type StreamTextParams = AiStreamTextParams;\n}\n\n// AiModelRegistry\n\nexport interface IAiModelRegistry {\n listModels(): Promise<AiModel[]>;\n}\n\n/** Single source of truth for available AI models. Decoratable to restrict the model list. */\nexport const AiModelRegistry = createAbstraction<IAiModelRegistry>(\"AiModelRegistry\");\n\nexport namespace AiModelRegistry {\n export type Interface = IAiModelRegistry;\n}\n\n// AiSdkTool\n\nexport interface IAiSdkTool<TInput = any> {\n readonly name: string;\n readonly description: string;\n readonly inputSchema: FlexibleSchema<TInput>;\n execute(input: TInput): Promise<unknown>;\n}\n\n/** A single tool that can be provided to AI generateText/streamText calls. */\nexport const AiSdkTool = createAbstraction<IAiSdkTool>(\"AiSdkTool\");\n\nexport namespace AiSdkTool {\n export type Interface = IAiSdkTool;\n}\n\n// AiSdkTools\n\nexport interface IAiSdkTools {\n getToolSet(): ToolSet;\n}\n\n/** Collection of AI SDK tools. Returns a ready-to-use ToolSet for generateText/streamText. */\nexport const AiSdkTools = createAbstraction<IAiSdkTools>(\"AiSdkTools\");\n\nexport namespace AiSdkTools {\n export type Interface = IAiSdkTools;\n}\n"],"names":["AiSdk","createAbstraction","AiSdkFactory","AiConnectionFactory","Ai","AiModelRegistry","AiSdkTool","AiSdkTools"],"mappings":";AAoBO,MAAMA,QAAQC,kBAA0B;AAgBxC,MAAMC,eAAeD,kBAAiC;AAwBtD,MAAME,sBAAsBF,kBAAwC;AAsCpE,MAAMG,KAAKH,kBAAuB;AAelC,MAAMI,kBAAkBJ,kBAAoC;AAgB5D,MAAMK,YAAYL,kBAA8B;AAahD,MAAMM,aAAaN,kBAA+B"}
@@ -0,0 +1,59 @@
1
+ import { DomainEvent } from "../../features/eventPublisher/index.js";
2
+ import type { IEventHandler } from "../../features/eventPublisher/index.js";
3
+ import type { AiGenerateTextParams, AiStreamTextParams } from "./abstractions.js";
4
+ import type { generateText } from "ai";
5
+ export interface AiBeforeGenerateTextPayload {
6
+ requestId: string;
7
+ params: AiGenerateTextParams;
8
+ }
9
+ export declare class AiBeforeGenerateTextEvent extends DomainEvent<AiBeforeGenerateTextPayload> {
10
+ eventType: "ai.beforeGenerateText";
11
+ getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<AiBeforeGenerateTextEvent>>;
12
+ }
13
+ export declare const AiBeforeGenerateTextEventHandler: import("@webiny/di").Abstraction<IEventHandler<AiBeforeGenerateTextEvent>>;
14
+ export declare namespace AiBeforeGenerateTextEventHandler {
15
+ type Interface = IEventHandler<AiBeforeGenerateTextEvent>;
16
+ type Event = AiBeforeGenerateTextEvent;
17
+ }
18
+ export interface AiAfterGenerateTextPayload {
19
+ requestId: string;
20
+ params: AiGenerateTextParams;
21
+ result: Awaited<ReturnType<typeof generateText>>;
22
+ duration: number;
23
+ }
24
+ export declare class AiAfterGenerateTextEvent extends DomainEvent<AiAfterGenerateTextPayload> {
25
+ eventType: "ai.afterGenerateText";
26
+ getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<AiAfterGenerateTextEvent>>;
27
+ }
28
+ export declare const AiAfterGenerateTextEventHandler: import("@webiny/di").Abstraction<IEventHandler<AiAfterGenerateTextEvent>>;
29
+ export declare namespace AiAfterGenerateTextEventHandler {
30
+ type Interface = IEventHandler<AiAfterGenerateTextEvent>;
31
+ type Event = AiAfterGenerateTextEvent;
32
+ }
33
+ export interface AiGenerateTextErrorPayload {
34
+ requestId: string;
35
+ params: AiGenerateTextParams;
36
+ error: Error;
37
+ duration: number;
38
+ }
39
+ export declare class AiGenerateTextErrorEvent extends DomainEvent<AiGenerateTextErrorPayload> {
40
+ eventType: "ai.generateTextError";
41
+ getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<AiGenerateTextErrorEvent>>;
42
+ }
43
+ export declare const AiGenerateTextErrorEventHandler: import("@webiny/di").Abstraction<IEventHandler<AiGenerateTextErrorEvent>>;
44
+ export declare namespace AiGenerateTextErrorEventHandler {
45
+ type Interface = IEventHandler<AiGenerateTextErrorEvent>;
46
+ type Event = AiGenerateTextErrorEvent;
47
+ }
48
+ export interface AiBeforeStreamTextPayload {
49
+ params: AiStreamTextParams;
50
+ }
51
+ export declare class AiBeforeStreamTextEvent extends DomainEvent<AiBeforeStreamTextPayload> {
52
+ eventType: "ai.beforeStreamText";
53
+ getHandlerAbstraction(): import("@webiny/di").Abstraction<IEventHandler<AiBeforeStreamTextEvent>>;
54
+ }
55
+ export declare const AiBeforeStreamTextEventHandler: import("@webiny/di").Abstraction<IEventHandler<AiBeforeStreamTextEvent>>;
56
+ export declare namespace AiBeforeStreamTextEventHandler {
57
+ type Interface = IEventHandler<AiBeforeStreamTextEvent>;
58
+ type Event = AiBeforeStreamTextEvent;
59
+ }
@@ -0,0 +1,41 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ import { DomainEvent } from "../eventPublisher/index.js";
3
+ class AiBeforeGenerateTextEvent extends DomainEvent {
4
+ getHandlerAbstraction() {
5
+ return AiBeforeGenerateTextEventHandler;
6
+ }
7
+ constructor(...args){
8
+ super(...args), this.eventType = "ai.beforeGenerateText";
9
+ }
10
+ }
11
+ const AiBeforeGenerateTextEventHandler = createAbstraction("AiBeforeGenerateTextEventHandler");
12
+ class AiAfterGenerateTextEvent extends DomainEvent {
13
+ getHandlerAbstraction() {
14
+ return AiAfterGenerateTextEventHandler;
15
+ }
16
+ constructor(...args){
17
+ super(...args), this.eventType = "ai.afterGenerateText";
18
+ }
19
+ }
20
+ const AiAfterGenerateTextEventHandler = createAbstraction("AiAfterGenerateTextEventHandler");
21
+ class AiGenerateTextErrorEvent extends DomainEvent {
22
+ getHandlerAbstraction() {
23
+ return AiGenerateTextErrorEventHandler;
24
+ }
25
+ constructor(...args){
26
+ super(...args), this.eventType = "ai.generateTextError";
27
+ }
28
+ }
29
+ const AiGenerateTextErrorEventHandler = createAbstraction("AiGenerateTextErrorEventHandler");
30
+ class AiBeforeStreamTextEvent extends DomainEvent {
31
+ getHandlerAbstraction() {
32
+ return AiBeforeStreamTextEventHandler;
33
+ }
34
+ constructor(...args){
35
+ super(...args), this.eventType = "ai.beforeStreamText";
36
+ }
37
+ }
38
+ const AiBeforeStreamTextEventHandler = createAbstraction("AiBeforeStreamTextEventHandler");
39
+ export { AiAfterGenerateTextEvent, AiAfterGenerateTextEventHandler, AiBeforeGenerateTextEvent, AiBeforeGenerateTextEventHandler, AiBeforeStreamTextEvent, AiBeforeStreamTextEventHandler, AiGenerateTextErrorEvent, AiGenerateTextErrorEventHandler };
40
+
41
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/ai/events.js","sources":["../../../src/features/ai/events.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\nimport { DomainEvent } from \"~/features/eventPublisher/index.js\";\nimport type { IEventHandler } from \"~/features/eventPublisher/index.js\";\nimport type { AiGenerateTextParams, AiStreamTextParams } from \"./abstractions.js\";\nimport type { generateText } from \"ai\";\n\n// ============================================================================\n// BeforeGenerateText\n// ============================================================================\n\nexport interface AiBeforeGenerateTextPayload {\n requestId: string;\n params: AiGenerateTextParams;\n}\n\nexport class AiBeforeGenerateTextEvent extends DomainEvent<AiBeforeGenerateTextPayload> {\n eventType = \"ai.beforeGenerateText\" as const;\n\n getHandlerAbstraction() {\n return AiBeforeGenerateTextEventHandler;\n }\n}\n\nexport const AiBeforeGenerateTextEventHandler = createAbstraction<\n IEventHandler<AiBeforeGenerateTextEvent>\n>(\"AiBeforeGenerateTextEventHandler\");\n\nexport namespace AiBeforeGenerateTextEventHandler {\n export type Interface = IEventHandler<AiBeforeGenerateTextEvent>;\n export type Event = AiBeforeGenerateTextEvent;\n}\n\n// ============================================================================\n// AfterGenerateText\n// ============================================================================\n\nexport interface AiAfterGenerateTextPayload {\n requestId: string;\n params: AiGenerateTextParams;\n result: Awaited<ReturnType<typeof generateText>>;\n duration: number;\n}\n\nexport class AiAfterGenerateTextEvent extends DomainEvent<AiAfterGenerateTextPayload> {\n eventType = \"ai.afterGenerateText\" as const;\n\n getHandlerAbstraction() {\n return AiAfterGenerateTextEventHandler;\n }\n}\n\nexport const AiAfterGenerateTextEventHandler = createAbstraction<\n IEventHandler<AiAfterGenerateTextEvent>\n>(\"AiAfterGenerateTextEventHandler\");\n\nexport namespace AiAfterGenerateTextEventHandler {\n export type Interface = IEventHandler<AiAfterGenerateTextEvent>;\n export type Event = AiAfterGenerateTextEvent;\n}\n\n// ============================================================================\n// GenerateTextError\n// ============================================================================\n\nexport interface AiGenerateTextErrorPayload {\n requestId: string;\n params: AiGenerateTextParams;\n error: Error;\n duration: number;\n}\n\nexport class AiGenerateTextErrorEvent extends DomainEvent<AiGenerateTextErrorPayload> {\n eventType = \"ai.generateTextError\" as const;\n\n getHandlerAbstraction() {\n return AiGenerateTextErrorEventHandler;\n }\n}\n\nexport const AiGenerateTextErrorEventHandler = createAbstraction<\n IEventHandler<AiGenerateTextErrorEvent>\n>(\"AiGenerateTextErrorEventHandler\");\n\nexport namespace AiGenerateTextErrorEventHandler {\n export type Interface = IEventHandler<AiGenerateTextErrorEvent>;\n export type Event = AiGenerateTextErrorEvent;\n}\n\n// ============================================================================\n// BeforeStreamText\n// ============================================================================\n\nexport interface AiBeforeStreamTextPayload {\n params: AiStreamTextParams;\n}\n\nexport class AiBeforeStreamTextEvent extends DomainEvent<AiBeforeStreamTextPayload> {\n eventType = \"ai.beforeStreamText\" as const;\n\n getHandlerAbstraction() {\n return AiBeforeStreamTextEventHandler;\n }\n}\n\nexport const AiBeforeStreamTextEventHandler = createAbstraction<\n IEventHandler<AiBeforeStreamTextEvent>\n>(\"AiBeforeStreamTextEventHandler\");\n\nexport namespace AiBeforeStreamTextEventHandler {\n export type Interface = IEventHandler<AiBeforeStreamTextEvent>;\n export type Event = AiBeforeStreamTextEvent;\n}\n"],"names":["AiBeforeGenerateTextEvent","DomainEvent","AiBeforeGenerateTextEventHandler","createAbstraction","AiAfterGenerateTextEvent","AiAfterGenerateTextEventHandler","AiGenerateTextErrorEvent","AiGenerateTextErrorEventHandler","AiBeforeStreamTextEvent","AiBeforeStreamTextEventHandler"],"mappings":";;AAeO,MAAMA,kCAAkCC;IAG3C,wBAAwB;QACpB,OAAOC;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAEO,MAAMA,mCAAmCC,kBAE9C;AAkBK,MAAMC,iCAAiCH;IAG1C,wBAAwB;QACpB,OAAOI;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAEO,MAAMA,kCAAkCF,kBAE7C;AAkBK,MAAMG,iCAAiCL;IAG1C,wBAAwB;QACpB,OAAOM;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAEO,MAAMA,kCAAkCJ,kBAE7C;AAeK,MAAMK,gCAAgCP;IAGzC,wBAAwB;QACpB,OAAOQ;IACX;;QALG,qBACH,SAAS,GAAG;;AAKhB;AAEO,MAAMA,iCAAiCN,kBAE5C"}
@@ -0,0 +1,4 @@
1
+ export declare const AiFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
@@ -0,0 +1,27 @@
1
+ import { createFeature } from "@webiny/feature/api";
2
+ import { OpenAiSdkFactory } from "./OpenAiSdkFactory.js";
3
+ import { AnthropicSdkFactory } from "./AnthropicSdkFactory.js";
4
+ import { GoogleSdkFactory } from "./GoogleSdkFactory.js";
5
+ import { Ai } from "./Ai.js";
6
+ import { AiModelRegistry } from "./AiModelRegistry.js";
7
+ import { AiSdkTools } from "./AiSdkTools.js";
8
+ import { AiOutputToolRegistry } from "./toolPipeline/AiOutputToolRegistry.js";
9
+ import { AiToolPipelineRunner } from "./toolPipeline/AiToolPipelineRunner.js";
10
+ import { DefaultTextExtractor } from "./TextExtractor/DefaultTextExtractor.js";
11
+ const AiFeature = createFeature({
12
+ name: "AiFeature",
13
+ register (container) {
14
+ container.register(OpenAiSdkFactory);
15
+ container.register(AnthropicSdkFactory);
16
+ container.register(GoogleSdkFactory);
17
+ container.register(Ai);
18
+ container.register(AiModelRegistry);
19
+ container.register(AiSdkTools);
20
+ container.register(AiOutputToolRegistry);
21
+ container.register(AiToolPipelineRunner);
22
+ container.register(DefaultTextExtractor);
23
+ }
24
+ });
25
+ export { AiFeature };
26
+
27
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/ai/feature.js","sources":["../../../src/features/ai/feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/api\";\nimport { OpenAiSdkFactory } from \"./OpenAiSdkFactory.js\";\nimport { AnthropicSdkFactory } from \"./AnthropicSdkFactory.js\";\nimport { GoogleSdkFactory } from \"./GoogleSdkFactory.js\";\nimport { Ai } from \"./Ai.js\";\nimport { AiModelRegistry } from \"./AiModelRegistry.js\";\nimport { AiSdkTools } from \"./AiSdkTools.js\";\nimport { AiOutputToolRegistry } from \"./toolPipeline/AiOutputToolRegistry.js\";\nimport { AiToolPipelineRunner } from \"./toolPipeline/AiToolPipelineRunner.js\";\nimport { DefaultTextExtractor } from \"./TextExtractor/DefaultTextExtractor.js\";\n\nexport const AiFeature = createFeature({\n name: \"AiFeature\",\n register(container) {\n container.register(OpenAiSdkFactory);\n container.register(AnthropicSdkFactory);\n container.register(GoogleSdkFactory);\n container.register(Ai);\n container.register(AiModelRegistry);\n container.register(AiSdkTools);\n container.register(AiOutputToolRegistry);\n container.register(AiToolPipelineRunner);\n container.register(DefaultTextExtractor);\n }\n});\n"],"names":["AiFeature","createFeature","container","OpenAiSdkFactory","AnthropicSdkFactory","GoogleSdkFactory","Ai","AiModelRegistry","AiSdkTools","AiOutputToolRegistry","AiToolPipelineRunner","DefaultTextExtractor"],"mappings":";;;;;;;;;;AAWO,MAAMA,YAAYC,cAAc;IACnC,MAAM;IACN,UAASC,SAAS;QACdA,UAAU,QAAQ,CAACC;QACnBD,UAAU,QAAQ,CAACE;QACnBF,UAAU,QAAQ,CAACG;QACnBH,UAAU,QAAQ,CAACI;QACnBJ,UAAU,QAAQ,CAACK;QACnBL,UAAU,QAAQ,CAACM;QACnBN,UAAU,QAAQ,CAACO;QACnBP,UAAU,QAAQ,CAACQ;QACnBR,UAAU,QAAQ,CAACS;IACvB;AACJ"}
@@ -0,0 +1,9 @@
1
+ export { AiSdk, AiSdkFactory, AiConnectionFactory, Ai, AiModelRegistry, AiSdkTool, AiSdkTools } from "./abstractions.js";
2
+ export type { IAiConnection, IAiConnectionInline, AiModel, IAiSdkModel, IAiModelRegistry, IAiSdkTool, IAiSdkTools } from "./abstractions.js";
3
+ export { AiOutputTool, AiOutputToolRegistry, AiToolPipelineRunner } from "./toolPipeline/index.js";
4
+ export type { IAiOutputTool, IAiOutputToolRegistry, IAiToolPipelineRunner } from "./toolPipeline/index.js";
5
+ export { TextExtractor, DefaultTextExtractor } from "./TextExtractor/index.js";
6
+ export type { ITextExtractor, TextExtractorResult } from "./TextExtractor/index.js";
7
+ export { AiBeforeGenerateTextEvent, AiBeforeGenerateTextEventHandler, AiAfterGenerateTextEvent, AiAfterGenerateTextEventHandler, AiGenerateTextErrorEvent, AiGenerateTextErrorEventHandler, AiBeforeStreamTextEvent, AiBeforeStreamTextEventHandler } from "./events.js";
8
+ export type { AiBeforeGenerateTextPayload, AiAfterGenerateTextPayload, AiGenerateTextErrorPayload, AiBeforeStreamTextPayload } from "./events.js";
9
+ export { AiFeature } from "./feature.js";
@@ -0,0 +1,5 @@
1
+ export { Ai, AiConnectionFactory, AiModelRegistry, AiSdk, AiSdkFactory, AiSdkTool, AiSdkTools } from "./abstractions.js";
2
+ export { AiOutputTool, AiOutputToolRegistry, AiToolPipelineRunner } from "./toolPipeline/index.js";
3
+ export { DefaultTextExtractor, TextExtractor } from "./TextExtractor/index.js";
4
+ export { AiAfterGenerateTextEvent, AiAfterGenerateTextEventHandler, AiBeforeGenerateTextEvent, AiBeforeGenerateTextEventHandler, AiBeforeStreamTextEvent, AiBeforeStreamTextEventHandler, AiGenerateTextErrorEvent, AiGenerateTextErrorEventHandler } from "./events.js";
5
+ export { AiFeature } from "./feature.js";
@@ -0,0 +1,11 @@
1
+ import { type IAiOutputTool, type IAiOutputToolRegistry } from "./abstractions.js";
2
+ declare class AiOutputToolRegistryImpl implements IAiOutputToolRegistry {
3
+ private toolMap;
4
+ constructor(tools: IAiOutputTool[]);
5
+ has(name: string): boolean;
6
+ invoke(name: string, params: Record<string, unknown>): Promise<unknown>;
7
+ }
8
+ export declare const AiOutputToolRegistry: typeof AiOutputToolRegistryImpl & {
9
+ __abstraction: import("@webiny/di").Abstraction<IAiOutputToolRegistry>;
10
+ };
11
+ export {};
@@ -0,0 +1,31 @@
1
+ import { AiOutputTool, AiOutputToolRegistry } from "./abstractions.js";
2
+ class AiOutputToolRegistryImpl {
3
+ constructor(tools){
4
+ this.toolMap = new Map(tools.map((t)=>[
5
+ t.name,
6
+ t
7
+ ]));
8
+ }
9
+ has(name) {
10
+ return this.toolMap.has(name);
11
+ }
12
+ async invoke(name, params) {
13
+ const tool = this.toolMap.get(name);
14
+ if (!tool) return;
15
+ return tool.execute(params);
16
+ }
17
+ }
18
+ const AiOutputToolRegistry_AiOutputToolRegistry = AiOutputToolRegistry.createImplementation({
19
+ implementation: AiOutputToolRegistryImpl,
20
+ dependencies: [
21
+ [
22
+ AiOutputTool,
23
+ {
24
+ multiple: true
25
+ }
26
+ ]
27
+ ]
28
+ });
29
+ export { AiOutputToolRegistry_AiOutputToolRegistry as AiOutputToolRegistry };
30
+
31
+ //# sourceMappingURL=AiOutputToolRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/ai/toolPipeline/AiOutputToolRegistry.js","sources":["../../../../src/features/ai/toolPipeline/AiOutputToolRegistry.ts"],"sourcesContent":["import {\n AiOutputTool,\n AiOutputToolRegistry as Abstraction,\n type IAiOutputTool,\n type IAiOutputToolRegistry\n} from \"./abstractions.js\";\n\nclass AiOutputToolRegistryImpl implements IAiOutputToolRegistry {\n private toolMap: Map<string, IAiOutputTool>;\n\n constructor(tools: IAiOutputTool[]) {\n this.toolMap = new Map(tools.map(t => [t.name, t]));\n }\n\n has(name: string): boolean {\n return this.toolMap.has(name);\n }\n\n async invoke(name: string, params: Record<string, unknown>): Promise<unknown> {\n const tool = this.toolMap.get(name);\n if (!tool) {\n return undefined;\n }\n return tool.execute(params);\n }\n}\n\nexport const AiOutputToolRegistry = Abstraction.createImplementation({\n implementation: AiOutputToolRegistryImpl,\n dependencies: [[AiOutputTool, { multiple: true }]]\n});\n"],"names":["AiOutputToolRegistryImpl","tools","Map","t","name","params","tool","AiOutputToolRegistry","Abstraction","AiOutputTool"],"mappings":";AAOA,MAAMA;IAGF,YAAYC,KAAsB,CAAE;QAChC,IAAI,CAAC,OAAO,GAAG,IAAIC,IAAID,MAAM,GAAG,CAACE,CAAAA,IAAK;gBAACA,EAAE,IAAI;gBAAEA;aAAE;IACrD;IAEA,IAAIC,IAAY,EAAW;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAACA;IAC5B;IAEA,MAAM,OAAOA,IAAY,EAAEC,MAA+B,EAAoB;QAC1E,MAAMC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAACF;QAC9B,IAAI,CAACE,MACD;QAEJ,OAAOA,KAAK,OAAO,CAACD;IACxB;AACJ;AAEO,MAAME,4CAAuBC,qBAAAA,oBAAgC,CAAC;IACjE,gBAAgBR;IAChB,cAAc;QAAC;YAACS;YAAc;gBAAE,UAAU;YAAK;SAAE;KAAC;AACtD"}
@@ -0,0 +1,10 @@
1
+ import { type IAiOutputToolRegistry, type IAiToolPipelineRunner } from "./abstractions.js";
2
+ declare class AiToolPipelineRunnerImpl implements IAiToolPipelineRunner {
3
+ private registry;
4
+ constructor(registry: IAiOutputToolRegistry);
5
+ resolve(data: unknown): Promise<unknown>;
6
+ }
7
+ export declare const AiToolPipelineRunner: typeof AiToolPipelineRunnerImpl & {
8
+ __abstraction: import("@webiny/di").Abstraction<IAiToolPipelineRunner>;
9
+ };
10
+ export {};
@@ -0,0 +1,36 @@
1
+ import { AiOutputToolRegistry, AiToolPipelineRunner } from "./abstractions.js";
2
+ function isToolEnvelope(value) {
3
+ return "object" == typeof value && null !== value && "tool" in value && "string" == typeof value.tool && "params" in value && "object" == typeof value.params;
4
+ }
5
+ class AiToolPipelineRunnerImpl {
6
+ constructor(registry){
7
+ this.registry = registry;
8
+ }
9
+ async resolve(data) {
10
+ if (null == data) return data;
11
+ if (isToolEnvelope(data)) {
12
+ if (!this.registry.has(data.tool)) return data;
13
+ const result = await this.registry.invoke(data.tool, data.params);
14
+ return this.resolve(result);
15
+ }
16
+ if (Array.isArray(data)) return Promise.all(data.map((item)=>this.resolve(item)));
17
+ if ("object" == typeof data) {
18
+ const entries = Object.entries(data);
19
+ const resolvedValues = await Promise.all(entries.map(([, value])=>this.resolve(value)));
20
+ return Object.fromEntries(entries.map(([key], i)=>[
21
+ key,
22
+ resolvedValues[i]
23
+ ]));
24
+ }
25
+ return data;
26
+ }
27
+ }
28
+ const AiToolPipelineRunner_AiToolPipelineRunner = AiToolPipelineRunner.createImplementation({
29
+ implementation: AiToolPipelineRunnerImpl,
30
+ dependencies: [
31
+ AiOutputToolRegistry
32
+ ]
33
+ });
34
+ export { AiToolPipelineRunner_AiToolPipelineRunner as AiToolPipelineRunner };
35
+
36
+ //# sourceMappingURL=AiToolPipelineRunner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/ai/toolPipeline/AiToolPipelineRunner.js","sources":["../../../../src/features/ai/toolPipeline/AiToolPipelineRunner.ts"],"sourcesContent":["import {\n AiOutputToolRegistry,\n AiToolPipelineRunner as Abstraction,\n type IAiOutputToolRegistry,\n type IAiToolPipelineRunner\n} from \"./abstractions.js\";\n\nfunction isToolEnvelope(\n value: unknown\n): value is { tool: string; params: Record<string, unknown> } {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"tool\" in value &&\n typeof (value as Record<string, unknown>).tool === \"string\" &&\n \"params\" in value &&\n typeof (value as Record<string, unknown>).params === \"object\"\n );\n}\n\nclass AiToolPipelineRunnerImpl implements IAiToolPipelineRunner {\n constructor(private registry: IAiOutputToolRegistry) {}\n\n async resolve(data: unknown): Promise<unknown> {\n if (data === null || data === undefined) {\n return data;\n }\n\n if (isToolEnvelope(data)) {\n if (!this.registry.has(data.tool)) {\n return data;\n }\n const result = await this.registry.invoke(data.tool, data.params);\n return this.resolve(result);\n }\n\n if (Array.isArray(data)) {\n return Promise.all(data.map(item => this.resolve(item)));\n }\n\n if (typeof data === \"object\") {\n const entries = Object.entries(data as Record<string, unknown>);\n const resolvedValues = await Promise.all(\n entries.map(([, value]) => this.resolve(value))\n );\n return Object.fromEntries(entries.map(([key], i) => [key, resolvedValues[i]]));\n }\n\n return data;\n }\n}\n\nexport const AiToolPipelineRunner = Abstraction.createImplementation({\n implementation: AiToolPipelineRunnerImpl,\n dependencies: [AiOutputToolRegistry]\n});\n"],"names":["isToolEnvelope","value","AiToolPipelineRunnerImpl","registry","data","result","Array","Promise","item","entries","Object","resolvedValues","key","i","AiToolPipelineRunner","Abstraction","AiOutputToolRegistry"],"mappings":";AAOA,SAASA,eACLC,KAAc;IAEd,OACI,AAAiB,YAAjB,OAAOA,SACPA,AAAU,SAAVA,SACA,UAAUA,SACV,AAAmD,YAAnD,OAAQA,MAAkC,IAAI,IAC9C,YAAYA,SACZ,AAAqD,YAArD,OAAQA,MAAkC,MAAM;AAExD;AAEA,MAAMC;IACF,YAAoBC,QAA+B,CAAE;aAAjCA,QAAQ,GAARA;IAAkC;IAEtD,MAAM,QAAQC,IAAa,EAAoB;QAC3C,IAAIA,QAAAA,MACA,OAAOA;QAGX,IAAIJ,eAAeI,OAAO;YACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAACA,KAAK,IAAI,GAC5B,OAAOA;YAEX,MAAMC,SAAS,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAACD,KAAK,IAAI,EAAEA,KAAK,MAAM;YAChE,OAAO,IAAI,CAAC,OAAO,CAACC;QACxB;QAEA,IAAIC,MAAM,OAAO,CAACF,OACd,OAAOG,QAAQ,GAAG,CAACH,KAAK,GAAG,CAACI,CAAAA,OAAQ,IAAI,CAAC,OAAO,CAACA;QAGrD,IAAI,AAAgB,YAAhB,OAAOJ,MAAmB;YAC1B,MAAMK,UAAUC,OAAO,OAAO,CAACN;YAC/B,MAAMO,iBAAiB,MAAMJ,QAAQ,GAAG,CACpCE,QAAQ,GAAG,CAAC,CAAC,GAAGR,MAAM,GAAK,IAAI,CAAC,OAAO,CAACA;YAE5C,OAAOS,OAAO,WAAW,CAACD,QAAQ,GAAG,CAAC,CAAC,CAACG,IAAI,EAAEC,IAAM;oBAACD;oBAAKD,cAAc,CAACE,EAAE;iBAAC;QAChF;QAEA,OAAOT;IACX;AACJ;AAEO,MAAMU,4CAAuBC,qBAAAA,oBAAgC,CAAC;IACjE,gBAAgBb;IAChB,cAAc;QAACc;KAAqB;AACxC"}
@@ -0,0 +1,23 @@
1
+ export interface IAiOutputTool {
2
+ readonly name: string;
3
+ execute(params: Record<string, unknown>): Promise<unknown>;
4
+ }
5
+ export declare const AiOutputTool: import("@webiny/di").Abstraction<IAiOutputTool>;
6
+ export declare namespace AiOutputTool {
7
+ type Interface = IAiOutputTool;
8
+ }
9
+ export interface IAiOutputToolRegistry {
10
+ has(name: string): boolean;
11
+ invoke(name: string, params: Record<string, unknown>): Promise<unknown>;
12
+ }
13
+ export declare const AiOutputToolRegistry: import("@webiny/di").Abstraction<IAiOutputToolRegistry>;
14
+ export declare namespace AiOutputToolRegistry {
15
+ type Interface = IAiOutputToolRegistry;
16
+ }
17
+ export interface IAiToolPipelineRunner {
18
+ resolve(data: unknown): Promise<unknown>;
19
+ }
20
+ export declare const AiToolPipelineRunner: import("@webiny/di").Abstraction<IAiToolPipelineRunner>;
21
+ export declare namespace AiToolPipelineRunner {
22
+ type Interface = IAiToolPipelineRunner;
23
+ }
@@ -0,0 +1,7 @@
1
+ import { createAbstraction } from "@webiny/feature/api";
2
+ const AiOutputTool = createAbstraction("AiOutputTool");
3
+ const AiOutputToolRegistry = createAbstraction("AiOutputToolRegistry");
4
+ const AiToolPipelineRunner = createAbstraction("AiToolPipelineRunner");
5
+ export { AiOutputTool, AiOutputToolRegistry, AiToolPipelineRunner };
6
+
7
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features/ai/toolPipeline/abstractions.js","sources":["../../../../src/features/ai/toolPipeline/abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/api\";\n\nexport interface IAiOutputTool {\n readonly name: string;\n execute(params: Record<string, unknown>): Promise<unknown>;\n}\n\nexport const AiOutputTool = createAbstraction<IAiOutputTool>(\"AiOutputTool\");\n\nexport namespace AiOutputTool {\n export type Interface = IAiOutputTool;\n}\n\nexport interface IAiOutputToolRegistry {\n has(name: string): boolean;\n invoke(name: string, params: Record<string, unknown>): Promise<unknown>;\n}\n\nexport const AiOutputToolRegistry =\n createAbstraction<IAiOutputToolRegistry>(\"AiOutputToolRegistry\");\n\nexport namespace AiOutputToolRegistry {\n export type Interface = IAiOutputToolRegistry;\n}\n\nexport interface IAiToolPipelineRunner {\n resolve(data: unknown): Promise<unknown>;\n}\n\nexport const AiToolPipelineRunner =\n createAbstraction<IAiToolPipelineRunner>(\"AiToolPipelineRunner\");\n\nexport namespace AiToolPipelineRunner {\n export type Interface = IAiToolPipelineRunner;\n}\n"],"names":["AiOutputTool","createAbstraction","AiOutputToolRegistry","AiToolPipelineRunner"],"mappings":";AAOO,MAAMA,eAAeC,kBAAiC;AAWtD,MAAMC,uBACTD,kBAAyC;AAUtC,MAAME,uBACTF,kBAAyC"}
@@ -0,0 +1,2 @@
1
+ export { AiOutputTool, AiOutputToolRegistry, AiToolPipelineRunner } from "./abstractions.js";
2
+ export type { IAiOutputTool, IAiOutputToolRegistry, IAiToolPipelineRunner } from "./abstractions.js";
@@ -0,0 +1 @@
1
+ export { AiOutputTool, AiOutputToolRegistry, AiToolPipelineRunner } from "./abstractions.js";