@venizia/ignis 0.1.1-8 → 0.1.1

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 (852) hide show
  1. package/dist/base/applications/abstract.d.ts +1 -3
  2. package/dist/base/applications/abstract.d.ts.map +1 -1
  3. package/dist/base/applications/abstract.js +4 -10
  4. package/dist/base/applications/abstract.js.map +1 -1
  5. package/dist/base/applications/base.d.ts +9 -3
  6. package/dist/base/applications/base.d.ts.map +1 -1
  7. package/dist/base/applications/base.js +40 -33
  8. package/dist/base/applications/base.js.map +1 -1
  9. package/dist/base/controllers/common/types.d.ts +4 -10
  10. package/dist/base/controllers/common/types.d.ts.map +1 -1
  11. package/dist/base/controllers/common/types.js.map +1 -1
  12. package/dist/base/controllers/factory/controller.d.ts.map +1 -1
  13. package/dist/base/controllers/factory/controller.js +2 -2
  14. package/dist/base/controllers/factory/crud/abstract.d.ts +1 -2
  15. package/dist/base/controllers/factory/crud/abstract.d.ts.map +1 -1
  16. package/dist/base/controllers/factory/crud/abstract.js +1 -2
  17. package/dist/base/controllers/factory/crud/abstract.js.map +1 -1
  18. package/dist/base/controllers/factory/definition.d.ts.map +1 -1
  19. package/dist/base/controllers/factory/definition.js +3 -9
  20. package/dist/base/controllers/factory/definition.js.map +1 -1
  21. package/dist/base/controllers/grpc/abstract.d.ts +5 -1
  22. package/dist/base/controllers/grpc/abstract.d.ts.map +1 -1
  23. package/dist/base/controllers/grpc/abstract.js +9 -10
  24. package/dist/base/controllers/grpc/abstract.js.map +1 -1
  25. package/dist/base/controllers/grpc/adapter.d.ts +5 -9
  26. package/dist/base/controllers/grpc/adapter.d.ts.map +1 -1
  27. package/dist/base/controllers/grpc/adapter.js +16 -16
  28. package/dist/base/controllers/grpc/adapter.js.map +1 -1
  29. package/dist/base/controllers/grpc/common/types.d.ts +21 -1
  30. package/dist/base/controllers/grpc/common/types.d.ts.map +1 -1
  31. package/dist/base/controllers/rest/abstract.d.ts +1 -4
  32. package/dist/base/controllers/rest/abstract.d.ts.map +1 -1
  33. package/dist/base/controllers/rest/abstract.js +12 -20
  34. package/dist/base/controllers/rest/abstract.js.map +1 -1
  35. package/dist/base/controllers/rest/base.d.ts +1 -3
  36. package/dist/base/controllers/rest/base.d.ts.map +1 -1
  37. package/dist/base/controllers/rest/base.js +1 -3
  38. package/dist/base/controllers/rest/base.js.map +1 -1
  39. package/dist/base/datasources/abstract.d.ts +2 -4
  40. package/dist/base/datasources/abstract.d.ts.map +1 -1
  41. package/dist/base/datasources/abstract.js +2 -4
  42. package/dist/base/datasources/abstract.js.map +1 -1
  43. package/dist/base/datasources/common/types.d.ts +11 -5
  44. package/dist/base/datasources/common/types.d.ts.map +1 -1
  45. package/dist/base/datasources/common/types.js +11 -2
  46. package/dist/base/datasources/common/types.js.map +1 -1
  47. package/dist/base/metadata/persistents.d.ts.map +1 -1
  48. package/dist/base/metadata/persistents.js +31 -23
  49. package/dist/base/metadata/persistents.js.map +1 -1
  50. package/dist/base/metadata/routes/common.d.ts +1 -4
  51. package/dist/base/metadata/routes/common.d.ts.map +1 -1
  52. package/dist/base/metadata/routes/common.js +1 -4
  53. package/dist/base/metadata/routes/common.js.map +1 -1
  54. package/dist/base/middlewares/app-error/app-error.middleware.d.ts +9 -3
  55. package/dist/base/middlewares/app-error/app-error.middleware.d.ts.map +1 -1
  56. package/dist/base/middlewares/app-error/app-error.middleware.js +47 -9
  57. package/dist/base/middlewares/app-error/app-error.middleware.js.map +1 -1
  58. package/dist/base/middlewares/app-error/database.handler.d.ts +2 -7
  59. package/dist/base/middlewares/app-error/database.handler.d.ts.map +1 -1
  60. package/dist/base/middlewares/app-error/database.handler.js +4 -12
  61. package/dist/base/middlewares/app-error/database.handler.js.map +1 -1
  62. package/dist/base/middlewares/app-error/definition.d.ts +3 -8
  63. package/dist/base/middlewares/app-error/definition.d.ts.map +1 -1
  64. package/dist/base/middlewares/app-error/definition.js +9 -14
  65. package/dist/base/middlewares/app-error/definition.js.map +1 -1
  66. package/dist/base/middlewares/app-error/types.d.ts +2 -0
  67. package/dist/base/middlewares/app-error/types.d.ts.map +1 -1
  68. package/dist/base/middlewares/app-error/zod.handler.d.ts.map +1 -1
  69. package/dist/base/middlewares/app-error/zod.handler.js +1 -2
  70. package/dist/base/middlewares/app-error/zod.handler.js.map +1 -1
  71. package/dist/base/middlewares/common/errors.d.ts +18 -0
  72. package/dist/base/middlewares/common/errors.d.ts.map +1 -0
  73. package/dist/base/middlewares/common/errors.js +13 -0
  74. package/dist/base/middlewares/common/errors.js.map +1 -0
  75. package/dist/base/middlewares/common/index.d.ts +2 -0
  76. package/dist/base/middlewares/common/index.d.ts.map +1 -0
  77. package/dist/base/middlewares/common/index.js +18 -0
  78. package/dist/base/middlewares/common/index.js.map +1 -0
  79. package/dist/base/middlewares/index.d.ts +1 -0
  80. package/dist/base/middlewares/index.d.ts.map +1 -1
  81. package/dist/base/middlewares/index.js +1 -0
  82. package/dist/base/middlewares/index.js.map +1 -1
  83. package/dist/base/middlewares/request-spy/request-spy.middleware.d.ts.map +1 -1
  84. package/dist/base/middlewares/request-spy/request-spy.middleware.js +4 -7
  85. package/dist/base/middlewares/request-spy/request-spy.middleware.js.map +1 -1
  86. package/dist/base/repositories/common/constants.d.ts +13 -4
  87. package/dist/base/repositories/common/constants.d.ts.map +1 -1
  88. package/dist/base/repositories/common/constants.js +14 -5
  89. package/dist/base/repositories/common/constants.js.map +1 -1
  90. package/dist/base/repositories/common/errors.d.ts +18 -0
  91. package/dist/base/repositories/common/errors.d.ts.map +1 -0
  92. package/dist/base/repositories/common/errors.js +13 -0
  93. package/dist/base/repositories/common/errors.js.map +1 -0
  94. package/dist/base/repositories/common/index.d.ts +3 -1
  95. package/dist/base/repositories/common/index.d.ts.map +1 -1
  96. package/dist/base/repositories/common/index.js +3 -1
  97. package/dist/base/repositories/common/index.js.map +1 -1
  98. package/dist/base/repositories/common/types.d.ts +34 -17
  99. package/dist/base/repositories/common/types.d.ts.map +1 -1
  100. package/dist/base/repositories/common/types.js +1 -2
  101. package/dist/base/repositories/common/types.js.map +1 -1
  102. package/dist/base/repositories/core/abstract.d.ts +31 -20
  103. package/dist/base/repositories/core/abstract.d.ts.map +1 -1
  104. package/dist/base/repositories/core/abstract.js +33 -23
  105. package/dist/base/repositories/core/abstract.js.map +1 -1
  106. package/dist/base/repositories/query-schemas/index.d.ts +3 -7
  107. package/dist/base/repositories/query-schemas/index.d.ts.map +1 -1
  108. package/dist/base/repositories/query-schemas/index.js +10 -21
  109. package/dist/base/repositories/query-schemas/index.js.map +1 -1
  110. package/dist/common/error-codes.d.ts +1 -4
  111. package/dist/common/error-codes.d.ts.map +1 -1
  112. package/dist/common/error-codes.js +2 -8
  113. package/dist/common/error-codes.js.map +1 -1
  114. package/dist/components/api-reference/component.d.ts.map +1 -1
  115. package/dist/components/api-reference/component.js +1 -2
  116. package/dist/components/api-reference/component.js.map +1 -1
  117. package/dist/components/auth/authenticate/common/errors.d.ts +91 -0
  118. package/dist/components/auth/authenticate/common/errors.d.ts.map +1 -0
  119. package/dist/components/auth/authenticate/common/errors.js +80 -0
  120. package/dist/components/auth/authenticate/common/errors.js.map +1 -0
  121. package/dist/components/auth/authenticate/common/index.d.ts +1 -0
  122. package/dist/components/auth/authenticate/common/index.d.ts.map +1 -1
  123. package/dist/components/auth/authenticate/common/index.js +1 -0
  124. package/dist/components/auth/authenticate/common/index.js.map +1 -1
  125. package/dist/components/auth/authenticate/common/types.d.ts +7 -1
  126. package/dist/components/auth/authenticate/common/types.d.ts.map +1 -1
  127. package/dist/components/auth/authenticate/controllers/factory.d.ts.map +1 -1
  128. package/dist/components/auth/authenticate/controllers/jwks/definitions.d.ts.map +1 -1
  129. package/dist/components/auth/authenticate/controllers/jwks/definitions.js +1 -2
  130. package/dist/components/auth/authenticate/controllers/jwks/definitions.js.map +1 -1
  131. package/dist/components/auth/authenticate/providers/authentication.provider.d.ts.map +1 -1
  132. package/dist/components/auth/authenticate/providers/authentication.provider.js +8 -6
  133. package/dist/components/auth/authenticate/providers/authentication.provider.js.map +1 -1
  134. package/dist/components/auth/authenticate/services/basic/service.d.ts.map +1 -1
  135. package/dist/components/auth/authenticate/services/basic/service.js +6 -7
  136. package/dist/components/auth/authenticate/services/basic/service.js.map +1 -1
  137. package/dist/components/auth/authenticate/services/bearer/abstract.service.d.ts +4 -3
  138. package/dist/components/auth/authenticate/services/bearer/abstract.service.d.ts.map +1 -1
  139. package/dist/components/auth/authenticate/services/bearer/abstract.service.js +11 -9
  140. package/dist/components/auth/authenticate/services/bearer/abstract.service.js.map +1 -1
  141. package/dist/components/auth/authenticate/services/bearer/jwks/abstract.service.d.ts +1 -4
  142. package/dist/components/auth/authenticate/services/bearer/jwks/abstract.service.d.ts.map +1 -1
  143. package/dist/components/auth/authenticate/services/bearer/jwks/abstract.service.js +1 -4
  144. package/dist/components/auth/authenticate/services/bearer/jwks/abstract.service.js.map +1 -1
  145. package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.d.ts.map +1 -1
  146. package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.js +1 -0
  147. package/dist/components/auth/authenticate/services/bearer/jwks/issuer.service.js.map +1 -1
  148. package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.d.ts.map +1 -1
  149. package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.js +1 -0
  150. package/dist/components/auth/authenticate/services/bearer/jwks/verifier.service.js.map +1 -1
  151. package/dist/components/auth/authenticate/services/bearer/jws.service.d.ts.map +1 -1
  152. package/dist/components/auth/authenticate/services/bearer/jws.service.js +1 -0
  153. package/dist/components/auth/authenticate/services/bearer/jws.service.js.map +1 -1
  154. package/dist/components/auth/authorize/adapters/base-filtered.d.ts +2 -8
  155. package/dist/components/auth/authorize/adapters/base-filtered.d.ts.map +1 -1
  156. package/dist/components/auth/authorize/adapters/base-filtered.js +2 -8
  157. package/dist/components/auth/authorize/adapters/base-filtered.js.map +1 -1
  158. package/dist/components/auth/authorize/adapters/scoped-casbin.adapter.d.ts +5 -22
  159. package/dist/components/auth/authorize/adapters/scoped-casbin.adapter.d.ts.map +1 -1
  160. package/dist/components/auth/authorize/adapters/scoped-casbin.adapter.js +44 -61
  161. package/dist/components/auth/authorize/adapters/scoped-casbin.adapter.js.map +1 -1
  162. package/dist/components/auth/authorize/adapters/types.d.ts +1 -5
  163. package/dist/components/auth/authorize/adapters/types.d.ts.map +1 -1
  164. package/dist/components/auth/authorize/builders/grant.builder.d.ts +16 -16
  165. package/dist/components/auth/authorize/builders/grant.builder.d.ts.map +1 -1
  166. package/dist/components/auth/authorize/builders/grant.builder.js +76 -78
  167. package/dist/components/auth/authorize/builders/grant.builder.js.map +1 -1
  168. package/dist/components/auth/authorize/builders/permission.builder.d.ts +4 -18
  169. package/dist/components/auth/authorize/builders/permission.builder.d.ts.map +1 -1
  170. package/dist/components/auth/authorize/builders/permission.builder.js +4 -18
  171. package/dist/components/auth/authorize/builders/permission.builder.js.map +1 -1
  172. package/dist/components/auth/authorize/builders/policy.builder.d.ts +5 -20
  173. package/dist/components/auth/authorize/builders/policy.builder.d.ts.map +1 -1
  174. package/dist/components/auth/authorize/builders/policy.builder.js +5 -20
  175. package/dist/components/auth/authorize/builders/policy.builder.js.map +1 -1
  176. package/dist/components/auth/authorize/common/constants.d.ts +9 -39
  177. package/dist/components/auth/authorize/common/constants.d.ts.map +1 -1
  178. package/dist/components/auth/authorize/common/constants.js +9 -39
  179. package/dist/components/auth/authorize/common/constants.js.map +1 -1
  180. package/dist/components/auth/authorize/common/errors.d.ts +51 -0
  181. package/dist/components/auth/authorize/common/errors.d.ts.map +1 -0
  182. package/dist/components/auth/authorize/common/errors.js +43 -0
  183. package/dist/components/auth/authorize/common/errors.js.map +1 -0
  184. package/dist/components/auth/authorize/common/index.d.ts +1 -0
  185. package/dist/components/auth/authorize/common/index.d.ts.map +1 -1
  186. package/dist/components/auth/authorize/common/index.js +1 -0
  187. package/dist/components/auth/authorize/common/index.js.map +1 -1
  188. package/dist/components/auth/authorize/common/types.d.ts +4 -16
  189. package/dist/components/auth/authorize/common/types.d.ts.map +1 -1
  190. package/dist/components/auth/authorize/enforcers/casbin.enforcer.d.ts +4 -16
  191. package/dist/components/auth/authorize/enforcers/casbin.enforcer.d.ts.map +1 -1
  192. package/dist/components/auth/authorize/enforcers/casbin.enforcer.js +21 -45
  193. package/dist/components/auth/authorize/enforcers/casbin.enforcer.js.map +1 -1
  194. package/dist/components/auth/authorize/enforcers/models/rbac-domain.model.d.ts +1 -5
  195. package/dist/components/auth/authorize/enforcers/models/rbac-domain.model.d.ts.map +1 -1
  196. package/dist/components/auth/authorize/enforcers/models/rbac-domain.model.js +3 -5
  197. package/dist/components/auth/authorize/enforcers/models/rbac-domain.model.js.map +1 -1
  198. package/dist/components/auth/authorize/enforcers/resource-role-manager.d.ts +2 -10
  199. package/dist/components/auth/authorize/enforcers/resource-role-manager.d.ts.map +1 -1
  200. package/dist/components/auth/authorize/enforcers/resource-role-manager.js +2 -10
  201. package/dist/components/auth/authorize/enforcers/resource-role-manager.js.map +1 -1
  202. package/dist/components/auth/authorize/providers/authorization.provider.d.ts.map +1 -1
  203. package/dist/components/auth/authorize/providers/authorization.provider.js +23 -25
  204. package/dist/components/auth/authorize/providers/authorization.provider.js.map +1 -1
  205. package/dist/components/auth/authorize/providers/request-domain.d.ts +1 -4
  206. package/dist/components/auth/authorize/providers/request-domain.d.ts.map +1 -1
  207. package/dist/components/auth/authorize/providers/request-domain.js +1 -4
  208. package/dist/components/auth/authorize/providers/request-domain.js.map +1 -1
  209. package/dist/components/controller/grpc/common/types.d.ts +4 -0
  210. package/dist/components/controller/grpc/common/types.d.ts.map +1 -1
  211. package/dist/components/controller/grpc/common/types.js.map +1 -1
  212. package/dist/components/controller/grpc/grpc.component.d.ts.map +1 -1
  213. package/dist/components/controller/grpc/grpc.component.js +6 -0
  214. package/dist/components/controller/grpc/grpc.component.js.map +1 -1
  215. package/dist/components/controller/index.js +1 -1
  216. package/dist/components/health-check/controller.d.ts.map +1 -1
  217. package/dist/components/health-check/controller.js +2 -8
  218. package/dist/components/health-check/controller.js.map +1 -1
  219. package/dist/components/mail/common/constants.d.ts +1 -4
  220. package/dist/components/mail/common/constants.d.ts.map +1 -1
  221. package/dist/components/mail/common/constants.js +1 -4
  222. package/dist/components/mail/common/constants.js.map +1 -1
  223. package/dist/components/mail/common/errors.d.ts +35 -0
  224. package/dist/components/mail/common/errors.d.ts.map +1 -0
  225. package/dist/components/mail/common/errors.js +24 -0
  226. package/dist/components/mail/common/errors.js.map +1 -0
  227. package/dist/components/mail/common/index.d.ts +1 -0
  228. package/dist/components/mail/common/index.d.ts.map +1 -1
  229. package/dist/components/mail/common/index.js +1 -0
  230. package/dist/components/mail/common/index.js.map +1 -1
  231. package/dist/components/mail/common/types.d.ts +14 -1
  232. package/dist/components/mail/common/types.d.ts.map +1 -1
  233. package/dist/components/mail/component.d.ts.map +1 -1
  234. package/dist/components/mail/component.js +2 -4
  235. package/dist/components/mail/component.js.map +1 -1
  236. package/dist/components/mail/helpers/executors/bull-mq-executor.helper.d.ts +2 -8
  237. package/dist/components/mail/helpers/executors/bull-mq-executor.helper.d.ts.map +1 -1
  238. package/dist/components/mail/helpers/executors/bull-mq-executor.helper.js +5 -15
  239. package/dist/components/mail/helpers/executors/bull-mq-executor.helper.js.map +1 -1
  240. package/dist/components/mail/helpers/executors/internal-queue-executor.helper.d.ts +1 -4
  241. package/dist/components/mail/helpers/executors/internal-queue-executor.helper.d.ts.map +1 -1
  242. package/dist/components/mail/helpers/executors/internal-queue-executor.helper.js +2 -7
  243. package/dist/components/mail/helpers/executors/internal-queue-executor.helper.js.map +1 -1
  244. package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.d.ts +7 -6
  245. package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.d.ts.map +1 -1
  246. package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.js +6 -9
  247. package/dist/components/mail/helpers/transporters/mailgun-transporter.helper.js.map +1 -1
  248. package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.d.ts +6 -2
  249. package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.d.ts.map +1 -1
  250. package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.js +4 -3
  251. package/dist/components/mail/helpers/transporters/nodemail-transporter.helper.js.map +1 -1
  252. package/dist/components/mail/providers/mail-transporter.provider.js +2 -2
  253. package/dist/components/mail/providers/mail-transporter.provider.js.map +1 -1
  254. package/dist/components/mail/services/generator.service.d.ts.map +1 -1
  255. package/dist/components/mail/services/generator.service.js.map +1 -1
  256. package/dist/components/mail/services/mail.service.d.ts.map +1 -1
  257. package/dist/components/mail/services/mail.service.js +4 -8
  258. package/dist/components/mail/services/mail.service.js.map +1 -1
  259. package/dist/components/mail/services/template.service.d.ts.map +1 -1
  260. package/dist/components/mail/services/template.service.js +9 -10
  261. package/dist/components/mail/services/template.service.js.map +1 -1
  262. package/dist/components/static-asset/common/errors.d.ts +66 -0
  263. package/dist/components/static-asset/common/errors.d.ts.map +1 -0
  264. package/dist/components/static-asset/common/errors.js +55 -0
  265. package/dist/components/static-asset/common/errors.js.map +1 -0
  266. package/dist/components/static-asset/common/index.d.ts +1 -0
  267. package/dist/components/static-asset/common/index.d.ts.map +1 -1
  268. package/dist/components/static-asset/common/index.js +1 -0
  269. package/dist/components/static-asset/common/index.js.map +1 -1
  270. package/dist/components/static-asset/common/types.d.ts +2 -2
  271. package/dist/components/static-asset/common/types.d.ts.map +1 -1
  272. package/dist/components/static-asset/component.d.ts.map +1 -1
  273. package/dist/components/static-asset/component.js +1 -2
  274. package/dist/components/static-asset/component.js.map +1 -1
  275. package/dist/components/static-asset/controller/base.definition.d.ts.map +1 -1
  276. package/dist/components/static-asset/controller/base.definition.js +3 -6
  277. package/dist/components/static-asset/controller/base.definition.js.map +1 -1
  278. package/dist/components/static-asset/controller/factory.d.ts.map +1 -1
  279. package/dist/components/static-asset/controller/factory.js +42 -98
  280. package/dist/components/static-asset/controller/factory.js.map +1 -1
  281. package/dist/components/static-asset/repositories/base.repository.d.ts +3 -3
  282. package/dist/components/static-asset/repositories/base.repository.d.ts.map +1 -1
  283. package/dist/components/static-asset/repositories/base.repository.js +2 -2
  284. package/dist/components/static-asset/repositories/base.repository.js.map +1 -1
  285. package/dist/connectors/meilisearch/compiler.d.ts +1 -2
  286. package/dist/connectors/meilisearch/compiler.d.ts.map +1 -1
  287. package/dist/connectors/meilisearch/compiler.js.map +1 -1
  288. package/dist/connectors/meilisearch/connector.d.ts +11 -24
  289. package/dist/connectors/meilisearch/connector.d.ts.map +1 -1
  290. package/dist/connectors/meilisearch/connector.js +38 -57
  291. package/dist/connectors/meilisearch/connector.js.map +1 -1
  292. package/dist/connectors/meilisearch/datasources/datasource.d.ts +1 -4
  293. package/dist/connectors/meilisearch/datasources/datasource.d.ts.map +1 -1
  294. package/dist/connectors/meilisearch/datasources/datasource.js +1 -4
  295. package/dist/connectors/meilisearch/datasources/datasource.js.map +1 -1
  296. package/dist/connectors/meilisearch/internal/connector-internal.d.ts +1 -4
  297. package/dist/connectors/meilisearch/internal/connector-internal.d.ts.map +1 -1
  298. package/dist/connectors/meilisearch/internal/connector-internal.js +1 -4
  299. package/dist/connectors/meilisearch/internal/connector-internal.js.map +1 -1
  300. package/dist/connectors/meilisearch/repositories/dialect/query-dialect.d.ts +29 -13
  301. package/dist/connectors/meilisearch/repositories/dialect/query-dialect.d.ts.map +1 -1
  302. package/dist/connectors/meilisearch/repositories/dialect/query-dialect.js +188 -82
  303. package/dist/connectors/meilisearch/repositories/dialect/query-dialect.js.map +1 -1
  304. package/dist/connectors/meilisearch/types.d.ts +1 -4
  305. package/dist/connectors/meilisearch/types.d.ts.map +1 -1
  306. package/dist/connectors/postgres/datasources/abstract.d.ts +11 -42
  307. package/dist/connectors/postgres/datasources/abstract.d.ts.map +1 -1
  308. package/dist/connectors/postgres/datasources/abstract.js +16 -141
  309. package/dist/connectors/postgres/datasources/abstract.js.map +1 -1
  310. package/dist/connectors/postgres/datasources/base.d.ts +9 -15
  311. package/dist/connectors/postgres/datasources/base.d.ts.map +1 -1
  312. package/dist/connectors/postgres/datasources/base.js +20 -105
  313. package/dist/connectors/postgres/datasources/base.js.map +1 -1
  314. package/dist/connectors/postgres/datasources/common/guards.d.ts +4 -1
  315. package/dist/connectors/postgres/datasources/common/guards.d.ts.map +1 -1
  316. package/dist/connectors/postgres/datasources/common/guards.js +6 -2
  317. package/dist/connectors/postgres/datasources/common/guards.js.map +1 -1
  318. package/dist/connectors/postgres/datasources/common/types.d.ts +19 -26
  319. package/dist/connectors/postgres/datasources/common/types.d.ts.map +1 -1
  320. package/dist/connectors/postgres/datasources/common/types.js.map +1 -1
  321. package/dist/connectors/postgres/datasources/index.d.ts +1 -2
  322. package/dist/connectors/postgres/datasources/index.d.ts.map +1 -1
  323. package/dist/connectors/postgres/datasources/index.js +6 -6
  324. package/dist/connectors/postgres/datasources/index.js.map +1 -1
  325. package/dist/connectors/postgres/drivers/driver.d.ts +10 -40
  326. package/dist/connectors/postgres/drivers/driver.d.ts.map +1 -1
  327. package/dist/connectors/postgres/drivers/node-postgres.d.ts +3 -3
  328. package/dist/connectors/postgres/drivers/pglite.d.ts +49 -0
  329. package/dist/connectors/postgres/drivers/pglite.d.ts.map +1 -0
  330. package/dist/connectors/postgres/drivers/pglite.js +126 -0
  331. package/dist/connectors/postgres/drivers/pglite.js.map +1 -0
  332. package/dist/connectors/postgres/drivers/postgres-js.d.ts +3 -3
  333. package/dist/connectors/postgres/models/base.d.ts +1 -29
  334. package/dist/connectors/postgres/models/base.d.ts.map +1 -1
  335. package/dist/connectors/postgres/models/base.js +2 -41
  336. package/dist/connectors/postgres/models/base.js.map +1 -1
  337. package/dist/connectors/postgres/models/common/columns.d.ts +1 -2
  338. package/dist/connectors/postgres/models/common/columns.d.ts.map +1 -1
  339. package/dist/connectors/postgres/models/common/columns.js +1 -2
  340. package/dist/connectors/postgres/models/common/columns.js.map +1 -1
  341. package/dist/connectors/postgres/models/common/types.d.ts +1 -3
  342. package/dist/connectors/postgres/models/common/types.d.ts.map +1 -1
  343. package/dist/connectors/postgres/models/common/types.js +4 -4
  344. package/dist/connectors/postgres/models/common/types.js.map +1 -1
  345. package/dist/connectors/postgres/models/enrichers/data-type.enricher.d.ts.map +1 -1
  346. package/dist/connectors/postgres/models/enrichers/data-type.enricher.js +9 -6
  347. package/dist/connectors/postgres/models/enrichers/data-type.enricher.js.map +1 -1
  348. package/dist/connectors/postgres/models/enrichers/tz.enricher.d.ts +1 -3
  349. package/dist/connectors/postgres/models/enrichers/tz.enricher.d.ts.map +1 -1
  350. package/dist/connectors/postgres/models/enrichers/tz.enricher.js +2 -2
  351. package/dist/connectors/postgres/models/enrichers/tz.enricher.js.map +1 -1
  352. package/dist/connectors/postgres/repositories/common/shared.d.ts +2 -3
  353. package/dist/connectors/postgres/repositories/common/shared.d.ts.map +1 -1
  354. package/dist/connectors/postgres/repositories/common/shared.js +4 -11
  355. package/dist/connectors/postgres/repositories/common/shared.js.map +1 -1
  356. package/dist/connectors/postgres/repositories/common/types.d.ts +13 -38
  357. package/dist/connectors/postgres/repositories/common/types.d.ts.map +1 -1
  358. package/dist/connectors/postgres/repositories/core/base.d.ts +12 -242
  359. package/dist/connectors/postgres/repositories/core/base.d.ts.map +1 -1
  360. package/dist/connectors/postgres/repositories/core/base.js +9 -189
  361. package/dist/connectors/postgres/repositories/core/base.js.map +1 -1
  362. package/dist/connectors/postgres/repositories/core/default.d.ts +7 -6
  363. package/dist/connectors/postgres/repositories/core/default.d.ts.map +1 -1
  364. package/dist/connectors/postgres/repositories/core/default.js +5 -6
  365. package/dist/connectors/postgres/repositories/core/default.js.map +1 -1
  366. package/dist/connectors/postgres/repositories/core/index.d.ts +2 -7
  367. package/dist/connectors/postgres/repositories/core/index.d.ts.map +1 -1
  368. package/dist/connectors/postgres/repositories/core/index.js +2 -14
  369. package/dist/connectors/postgres/repositories/core/index.js.map +1 -1
  370. package/dist/connectors/postgres/repositories/core/persistable.d.ts +7 -180
  371. package/dist/connectors/postgres/repositories/core/persistable.d.ts.map +1 -1
  372. package/dist/connectors/postgres/repositories/core/persistable.js +5 -184
  373. package/dist/connectors/postgres/repositories/core/persistable.js.map +1 -1
  374. package/dist/connectors/postgres/repositories/core/readable.d.ts +7 -161
  375. package/dist/connectors/postgres/repositories/core/readable.d.ts.map +1 -1
  376. package/dist/connectors/postgres/repositories/core/readable.js +5 -216
  377. package/dist/connectors/postgres/repositories/core/readable.js.map +1 -1
  378. package/dist/connectors/postgres/repositories/core/soft-deletable.d.ts +15 -111
  379. package/dist/connectors/postgres/repositories/core/soft-deletable.d.ts.map +1 -1
  380. package/dist/connectors/postgres/repositories/core/soft-deletable.js +5 -81
  381. package/dist/connectors/postgres/repositories/core/soft-deletable.js.map +1 -1
  382. package/dist/connectors/postgres/repositories/dialect/filter.d.ts +18 -88
  383. package/dist/connectors/postgres/repositories/dialect/filter.d.ts.map +1 -1
  384. package/dist/connectors/postgres/repositories/dialect/filter.js +17 -511
  385. package/dist/connectors/postgres/repositories/dialect/filter.js.map +1 -1
  386. package/dist/connectors/postgres/repositories/dialect/index.d.ts +1 -0
  387. package/dist/connectors/postgres/repositories/dialect/index.d.ts.map +1 -1
  388. package/dist/connectors/postgres/repositories/dialect/index.js +1 -0
  389. package/dist/connectors/postgres/repositories/dialect/index.js.map +1 -1
  390. package/dist/connectors/postgres/repositories/dialect/query-dialect.d.ts +23 -0
  391. package/dist/connectors/postgres/repositories/dialect/query-dialect.d.ts.map +1 -0
  392. package/dist/connectors/postgres/repositories/dialect/query-dialect.js +28 -0
  393. package/dist/connectors/postgres/repositories/dialect/query-dialect.js.map +1 -0
  394. package/dist/connectors/postgres/repositories/dialect/query.d.ts +1 -2
  395. package/dist/connectors/postgres/repositories/dialect/query.d.ts.map +1 -1
  396. package/dist/connectors/postgres/repositories/dialect/query.js +4 -9
  397. package/dist/connectors/postgres/repositories/dialect/query.js.map +1 -1
  398. package/dist/connectors/postgres/repositories/dialect/relation.d.ts +1 -10
  399. package/dist/connectors/postgres/repositories/dialect/relation.d.ts.map +1 -1
  400. package/dist/connectors/postgres/repositories/dialect/relation.js +4 -40
  401. package/dist/connectors/postgres/repositories/dialect/relation.js.map +1 -1
  402. package/dist/connectors/postgres/repositories/dialect/update.d.ts +18 -21
  403. package/dist/connectors/postgres/repositories/dialect/update.d.ts.map +1 -1
  404. package/dist/connectors/postgres/repositories/dialect/update.js +17 -112
  405. package/dist/connectors/postgres/repositories/dialect/update.js.map +1 -1
  406. package/dist/connectors/postgres/repositories/executor.d.ts +31 -0
  407. package/dist/connectors/postgres/repositories/executor.d.ts.map +1 -0
  408. package/dist/connectors/postgres/repositories/executor.js +158 -0
  409. package/dist/connectors/postgres/repositories/executor.js.map +1 -0
  410. package/dist/connectors/postgres/repositories/index.d.ts +1 -0
  411. package/dist/connectors/postgres/repositories/index.d.ts.map +1 -1
  412. package/dist/connectors/postgres/repositories/index.js +3 -0
  413. package/dist/connectors/postgres/repositories/index.js.map +1 -1
  414. package/dist/connectors/postgres/supabase/index.js +1 -2
  415. package/dist/connectors/postgres/supabase/index.js.map +1 -1
  416. package/dist/connectors/postgres/supabase/pooler.d.ts +1 -3
  417. package/dist/connectors/postgres/supabase/pooler.d.ts.map +1 -1
  418. package/dist/connectors/postgres/supabase/pooler.js +1 -3
  419. package/dist/connectors/postgres/supabase/pooler.js.map +1 -1
  420. package/dist/connectors/postgres/supabase/rls.d.ts +1 -4
  421. package/dist/connectors/postgres/supabase/rls.d.ts.map +1 -1
  422. package/dist/connectors/postgres/supabase/rls.js +2 -7
  423. package/dist/connectors/postgres/supabase/rls.js.map +1 -1
  424. package/dist/connectors/relational/datasources/abstract.d.ts +71 -0
  425. package/dist/connectors/relational/datasources/abstract.d.ts.map +1 -0
  426. package/dist/connectors/relational/datasources/abstract.js +173 -0
  427. package/dist/connectors/relational/datasources/abstract.js.map +1 -0
  428. package/dist/connectors/relational/datasources/base.d.ts +22 -0
  429. package/dist/connectors/relational/datasources/base.d.ts.map +1 -0
  430. package/dist/connectors/relational/datasources/base.js +99 -0
  431. package/dist/connectors/relational/datasources/base.js.map +1 -0
  432. package/dist/connectors/relational/datasources/common/guards.d.ts +5 -0
  433. package/dist/connectors/relational/datasources/common/guards.d.ts.map +1 -0
  434. package/dist/connectors/relational/datasources/common/guards.js +9 -0
  435. package/dist/connectors/relational/datasources/common/guards.js.map +1 -0
  436. package/dist/connectors/relational/datasources/common/index.d.ts +3 -0
  437. package/dist/connectors/relational/datasources/common/index.d.ts.map +1 -0
  438. package/dist/connectors/relational/datasources/common/index.js +19 -0
  439. package/dist/connectors/relational/datasources/common/index.js.map +1 -0
  440. package/dist/connectors/relational/datasources/common/types.d.ts +24 -0
  441. package/dist/connectors/relational/datasources/common/types.d.ts.map +1 -0
  442. package/dist/connectors/relational/datasources/common/types.js +3 -0
  443. package/dist/connectors/relational/datasources/common/types.js.map +1 -0
  444. package/dist/connectors/relational/datasources/index.d.ts +4 -0
  445. package/dist/connectors/relational/datasources/index.d.ts.map +1 -0
  446. package/dist/connectors/relational/datasources/index.js +20 -0
  447. package/dist/connectors/relational/datasources/index.js.map +1 -0
  448. package/dist/connectors/relational/drivers/driver.d.ts +31 -0
  449. package/dist/connectors/relational/drivers/driver.d.ts.map +1 -0
  450. package/dist/connectors/relational/drivers/driver.js +3 -0
  451. package/dist/connectors/relational/drivers/driver.js.map +1 -0
  452. package/dist/connectors/relational/drivers/index.d.ts +2 -0
  453. package/dist/connectors/relational/drivers/index.d.ts.map +1 -0
  454. package/dist/connectors/relational/drivers/index.js +18 -0
  455. package/dist/connectors/relational/drivers/index.js.map +1 -0
  456. package/dist/connectors/relational/index.d.ts +5 -0
  457. package/dist/connectors/relational/index.d.ts.map +1 -0
  458. package/dist/connectors/relational/index.js +21 -0
  459. package/dist/connectors/relational/index.js.map +1 -0
  460. package/dist/connectors/relational/models/base.d.ts +29 -0
  461. package/dist/connectors/relational/models/base.d.ts.map +1 -0
  462. package/dist/connectors/relational/models/base.js +44 -0
  463. package/dist/connectors/relational/models/base.js.map +1 -0
  464. package/dist/connectors/relational/models/common/index.d.ts +2 -0
  465. package/dist/connectors/relational/models/common/index.d.ts.map +1 -0
  466. package/dist/connectors/relational/models/common/index.js +18 -0
  467. package/dist/connectors/relational/models/common/index.js.map +1 -0
  468. package/dist/connectors/relational/models/common/types.d.ts +30 -0
  469. package/dist/connectors/relational/models/common/types.d.ts.map +1 -0
  470. package/dist/connectors/relational/models/common/types.js +8 -0
  471. package/dist/connectors/relational/models/common/types.js.map +1 -0
  472. package/dist/connectors/relational/models/index.d.ts +3 -0
  473. package/dist/connectors/relational/models/index.d.ts.map +1 -0
  474. package/dist/connectors/relational/models/index.js +19 -0
  475. package/dist/connectors/relational/models/index.js.map +1 -0
  476. package/dist/connectors/relational/repositories/common/executor.d.ts +69 -0
  477. package/dist/connectors/relational/repositories/common/executor.d.ts.map +1 -0
  478. package/dist/connectors/relational/repositories/common/executor.js +3 -0
  479. package/dist/connectors/relational/repositories/common/executor.js.map +1 -0
  480. package/dist/connectors/relational/repositories/common/index.d.ts +4 -0
  481. package/dist/connectors/relational/repositories/common/index.d.ts.map +1 -0
  482. package/dist/connectors/relational/repositories/common/index.js +20 -0
  483. package/dist/connectors/relational/repositories/common/index.js.map +1 -0
  484. package/dist/connectors/relational/repositories/common/shared.d.ts +4 -0
  485. package/dist/connectors/relational/repositories/common/shared.d.ts.map +1 -0
  486. package/dist/connectors/relational/repositories/common/shared.js +15 -0
  487. package/dist/connectors/relational/repositories/common/shared.js.map +1 -0
  488. package/dist/connectors/relational/repositories/common/types.d.ts +66 -0
  489. package/dist/connectors/relational/repositories/common/types.d.ts.map +1 -0
  490. package/dist/connectors/relational/repositories/common/types.js +3 -0
  491. package/dist/connectors/relational/repositories/common/types.js.map +1 -0
  492. package/dist/connectors/relational/repositories/core/base.d.ts +233 -0
  493. package/dist/connectors/relational/repositories/core/base.d.ts.map +1 -0
  494. package/dist/connectors/relational/repositories/core/base.js +185 -0
  495. package/dist/connectors/relational/repositories/core/base.js.map +1 -0
  496. package/dist/connectors/relational/repositories/core/default.d.ts +9 -0
  497. package/dist/connectors/relational/repositories/core/default.d.ts.map +1 -0
  498. package/dist/connectors/relational/repositories/core/default.js +9 -0
  499. package/dist/connectors/relational/repositories/core/default.js.map +1 -0
  500. package/dist/connectors/relational/repositories/core/index.d.ts +6 -0
  501. package/dist/connectors/relational/repositories/core/index.d.ts.map +1 -0
  502. package/dist/connectors/relational/repositories/core/index.js +22 -0
  503. package/dist/connectors/relational/repositories/core/index.js.map +1 -0
  504. package/dist/connectors/relational/repositories/core/persistable.d.ts +181 -0
  505. package/dist/connectors/relational/repositories/core/persistable.d.ts.map +1 -0
  506. package/dist/connectors/relational/repositories/core/persistable.js +185 -0
  507. package/dist/connectors/relational/repositories/core/persistable.js.map +1 -0
  508. package/dist/connectors/relational/repositories/core/readable.d.ts +164 -0
  509. package/dist/connectors/relational/repositories/core/readable.d.ts.map +1 -0
  510. package/dist/connectors/relational/repositories/core/readable.js +207 -0
  511. package/dist/connectors/relational/repositories/core/readable.js.map +1 -0
  512. package/dist/connectors/relational/repositories/core/soft-deletable.d.ts +119 -0
  513. package/dist/connectors/relational/repositories/core/soft-deletable.d.ts.map +1 -0
  514. package/dist/connectors/relational/repositories/core/soft-deletable.js +85 -0
  515. package/dist/connectors/relational/repositories/core/soft-deletable.js.map +1 -0
  516. package/dist/connectors/relational/repositories/dialect/filter.d.ts +191 -0
  517. package/dist/connectors/relational/repositories/dialect/filter.d.ts.map +1 -0
  518. package/dist/connectors/relational/repositories/dialect/filter.js +570 -0
  519. package/dist/connectors/relational/repositories/dialect/filter.js.map +1 -0
  520. package/dist/connectors/relational/repositories/dialect/index.d.ts +5 -0
  521. package/dist/connectors/relational/repositories/dialect/index.d.ts.map +1 -0
  522. package/dist/connectors/relational/repositories/dialect/index.js +23 -0
  523. package/dist/connectors/relational/repositories/dialect/index.js.map +1 -0
  524. package/dist/connectors/{postgres → relational}/repositories/dialect/internal/json-utils.d.ts +4 -1
  525. package/dist/connectors/relational/repositories/dialect/internal/json-utils.d.ts.map +1 -0
  526. package/dist/connectors/{postgres → relational}/repositories/dialect/internal/json-utils.js +5 -2
  527. package/dist/connectors/relational/repositories/dialect/internal/json-utils.js.map +1 -0
  528. package/dist/connectors/relational/repositories/dialect/relation.d.ts +11 -0
  529. package/dist/connectors/relational/repositories/dialect/relation.d.ts.map +1 -0
  530. package/dist/connectors/relational/repositories/dialect/relation.js +43 -0
  531. package/dist/connectors/relational/repositories/dialect/relation.js.map +1 -0
  532. package/dist/connectors/relational/repositories/dialect/update.d.ts +38 -0
  533. package/dist/connectors/relational/repositories/dialect/update.d.ts.map +1 -0
  534. package/dist/connectors/relational/repositories/dialect/update.js +92 -0
  535. package/dist/connectors/relational/repositories/dialect/update.js.map +1 -0
  536. package/dist/connectors/relational/repositories/index.d.ts +4 -0
  537. package/dist/connectors/relational/repositories/index.d.ts.map +1 -0
  538. package/dist/connectors/relational/repositories/index.js +20 -0
  539. package/dist/connectors/relational/repositories/index.js.map +1 -0
  540. package/dist/connectors/search/common/errors.d.ts +54 -0
  541. package/dist/connectors/search/common/errors.d.ts.map +1 -0
  542. package/dist/connectors/search/common/errors.js +40 -0
  543. package/dist/connectors/search/common/errors.js.map +1 -0
  544. package/dist/connectors/search/common/index.d.ts +2 -0
  545. package/dist/connectors/search/common/index.d.ts.map +1 -0
  546. package/dist/connectors/search/common/index.js +18 -0
  547. package/dist/connectors/search/common/index.js.map +1 -0
  548. package/dist/connectors/search/connector.d.ts +3 -8
  549. package/dist/connectors/search/connector.d.ts.map +1 -1
  550. package/dist/connectors/search/connector.js +1 -3
  551. package/dist/connectors/search/connector.js.map +1 -1
  552. package/dist/connectors/search/controllers/abstract.d.ts +1 -4
  553. package/dist/connectors/search/controllers/abstract.d.ts.map +1 -1
  554. package/dist/connectors/search/controllers/abstract.js +2 -6
  555. package/dist/connectors/search/controllers/abstract.js.map +1 -1
  556. package/dist/connectors/search/controllers/factory.d.ts +2 -6
  557. package/dist/connectors/search/controllers/factory.d.ts.map +1 -1
  558. package/dist/connectors/search/controllers/factory.js +1 -4
  559. package/dist/connectors/search/controllers/factory.js.map +1 -1
  560. package/dist/connectors/search/datasources/abstract.d.ts +1 -3
  561. package/dist/connectors/search/datasources/abstract.d.ts.map +1 -1
  562. package/dist/connectors/search/datasources/abstract.js.map +1 -1
  563. package/dist/connectors/search/datasources/base.d.ts +8 -19
  564. package/dist/connectors/search/datasources/base.d.ts.map +1 -1
  565. package/dist/connectors/search/datasources/base.js +11 -25
  566. package/dist/connectors/search/datasources/base.js.map +1 -1
  567. package/dist/connectors/search/datasources/common/types.d.ts +1 -2
  568. package/dist/connectors/search/datasources/common/types.d.ts.map +1 -1
  569. package/dist/connectors/search/index.d.ts +1 -0
  570. package/dist/connectors/search/index.d.ts.map +1 -1
  571. package/dist/connectors/search/index.js +1 -0
  572. package/dist/connectors/search/index.js.map +1 -1
  573. package/dist/connectors/search/internal/search-connector-internal.d.ts.map +1 -1
  574. package/dist/connectors/search/internal/search-connector-internal.js +5 -8
  575. package/dist/connectors/search/internal/search-connector-internal.js.map +1 -1
  576. package/dist/connectors/search/models/base.d.ts +1 -3
  577. package/dist/connectors/search/models/base.d.ts.map +1 -1
  578. package/dist/connectors/search/models/base.js +1 -3
  579. package/dist/connectors/search/models/base.js.map +1 -1
  580. package/dist/connectors/search/models/define-search-collection.d.ts +2 -7
  581. package/dist/connectors/search/models/define-search-collection.d.ts.map +1 -1
  582. package/dist/connectors/search/models/define-search-collection.js +42 -25
  583. package/dist/connectors/search/models/define-search-collection.js.map +1 -1
  584. package/dist/connectors/search/models/types.d.ts +3 -6
  585. package/dist/connectors/search/models/types.d.ts.map +1 -1
  586. package/dist/connectors/search/models/zod-derivation.d.ts.map +1 -1
  587. package/dist/connectors/search/models/zod-derivation.js +1 -2
  588. package/dist/connectors/search/models/zod-derivation.js.map +1 -1
  589. package/dist/connectors/search/repositories/common/constants.d.ts +2 -5
  590. package/dist/connectors/search/repositories/common/constants.d.ts.map +1 -1
  591. package/dist/connectors/search/repositories/common/constants.js +5 -13
  592. package/dist/connectors/search/repositories/common/constants.js.map +1 -1
  593. package/dist/connectors/search/repositories/common/dialect-helpers.d.ts +64 -4
  594. package/dist/connectors/search/repositories/common/dialect-helpers.d.ts.map +1 -1
  595. package/dist/connectors/search/repositories/common/dialect-helpers.js +121 -5
  596. package/dist/connectors/search/repositories/common/dialect-helpers.js.map +1 -1
  597. package/dist/connectors/search/repositories/common/types.d.ts +79 -10
  598. package/dist/connectors/search/repositories/common/types.d.ts.map +1 -1
  599. package/dist/connectors/search/repositories/common/types.js +21 -0
  600. package/dist/connectors/search/repositories/common/types.js.map +1 -1
  601. package/dist/connectors/search/repositories/core/base.d.ts +56 -14
  602. package/dist/connectors/search/repositories/core/base.d.ts.map +1 -1
  603. package/dist/connectors/search/repositories/core/base.js +100 -26
  604. package/dist/connectors/search/repositories/core/base.js.map +1 -1
  605. package/dist/connectors/search/repositories/core/persistable.d.ts +17 -8
  606. package/dist/connectors/search/repositories/core/persistable.d.ts.map +1 -1
  607. package/dist/connectors/search/repositories/core/persistable.js +34 -24
  608. package/dist/connectors/search/repositories/core/persistable.js.map +1 -1
  609. package/dist/connectors/search/repositories/core/readable.d.ts +26 -5
  610. package/dist/connectors/search/repositories/core/readable.d.ts.map +1 -1
  611. package/dist/connectors/search/repositories/core/readable.js +74 -28
  612. package/dist/connectors/search/repositories/core/readable.js.map +1 -1
  613. package/dist/connectors/sqlite/datasources/abstract.d.ts +16 -0
  614. package/dist/connectors/sqlite/datasources/abstract.d.ts.map +1 -0
  615. package/dist/connectors/sqlite/datasources/abstract.js +23 -0
  616. package/dist/connectors/sqlite/datasources/abstract.js.map +1 -0
  617. package/dist/connectors/sqlite/datasources/base.d.ts +30 -0
  618. package/dist/connectors/sqlite/datasources/base.d.ts.map +1 -0
  619. package/dist/connectors/sqlite/datasources/base.js +78 -0
  620. package/dist/connectors/sqlite/datasources/base.js.map +1 -0
  621. package/dist/connectors/sqlite/datasources/common/guards.d.ts +8 -0
  622. package/dist/connectors/sqlite/datasources/common/guards.d.ts.map +1 -0
  623. package/dist/connectors/sqlite/datasources/common/guards.js +13 -0
  624. package/dist/connectors/sqlite/datasources/common/guards.js.map +1 -0
  625. package/dist/connectors/sqlite/datasources/common/index.d.ts +3 -0
  626. package/dist/connectors/sqlite/datasources/common/index.d.ts.map +1 -0
  627. package/dist/connectors/sqlite/datasources/common/index.js +19 -0
  628. package/dist/connectors/sqlite/datasources/common/index.js.map +1 -0
  629. package/dist/connectors/sqlite/datasources/common/types.d.ts +48 -0
  630. package/dist/connectors/sqlite/datasources/common/types.d.ts.map +1 -0
  631. package/dist/connectors/sqlite/datasources/common/types.js +18 -0
  632. package/dist/connectors/sqlite/datasources/common/types.js.map +1 -0
  633. package/dist/connectors/sqlite/datasources/index.d.ts +4 -0
  634. package/dist/connectors/sqlite/datasources/index.d.ts.map +1 -0
  635. package/dist/connectors/sqlite/datasources/index.js +20 -0
  636. package/dist/connectors/sqlite/datasources/index.js.map +1 -0
  637. package/dist/connectors/sqlite/drivers/driver.d.ts +20 -0
  638. package/dist/connectors/sqlite/drivers/driver.d.ts.map +1 -0
  639. package/dist/connectors/sqlite/drivers/driver.js +3 -0
  640. package/dist/connectors/sqlite/drivers/driver.js.map +1 -0
  641. package/dist/connectors/sqlite/drivers/index.d.ts +2 -0
  642. package/dist/connectors/sqlite/drivers/index.d.ts.map +1 -0
  643. package/dist/connectors/sqlite/drivers/index.js +18 -0
  644. package/dist/connectors/sqlite/drivers/index.js.map +1 -0
  645. package/dist/connectors/sqlite/drivers/libsql.d.ts +53 -0
  646. package/dist/connectors/sqlite/drivers/libsql.d.ts.map +1 -0
  647. package/dist/connectors/sqlite/drivers/libsql.js +151 -0
  648. package/dist/connectors/sqlite/drivers/libsql.js.map +1 -0
  649. package/dist/connectors/sqlite/index.d.ts +5 -0
  650. package/dist/connectors/sqlite/index.d.ts.map +1 -0
  651. package/dist/connectors/sqlite/index.js +21 -0
  652. package/dist/connectors/sqlite/index.js.map +1 -0
  653. package/dist/connectors/sqlite/models/base.d.ts +10 -0
  654. package/dist/connectors/sqlite/models/base.d.ts.map +1 -0
  655. package/dist/connectors/sqlite/models/base.js +13 -0
  656. package/dist/connectors/sqlite/models/base.js.map +1 -0
  657. package/dist/connectors/sqlite/models/common/columns.d.ts +18 -0
  658. package/dist/connectors/sqlite/models/common/columns.d.ts.map +1 -0
  659. package/dist/connectors/sqlite/models/common/columns.js +46 -0
  660. package/dist/connectors/sqlite/models/common/columns.js.map +1 -0
  661. package/dist/connectors/sqlite/models/common/index.d.ts +3 -0
  662. package/dist/connectors/sqlite/models/common/index.d.ts.map +1 -0
  663. package/dist/connectors/sqlite/models/common/index.js +19 -0
  664. package/dist/connectors/sqlite/models/common/index.js.map +1 -0
  665. package/dist/connectors/sqlite/models/common/types.d.ts +88 -0
  666. package/dist/connectors/sqlite/models/common/types.d.ts.map +1 -0
  667. package/dist/connectors/sqlite/models/common/types.js +8 -0
  668. package/dist/connectors/sqlite/models/common/types.js.map +1 -0
  669. package/dist/connectors/sqlite/models/enrichers/data-type.enricher.d.ts +22 -0
  670. package/dist/connectors/sqlite/models/enrichers/data-type.enricher.d.ts.map +1 -0
  671. package/dist/connectors/sqlite/models/enrichers/data-type.enricher.js +41 -0
  672. package/dist/connectors/sqlite/models/enrichers/data-type.enricher.js.map +1 -0
  673. package/dist/connectors/sqlite/models/enrichers/id.enricher.d.ts +25 -0
  674. package/dist/connectors/sqlite/models/enrichers/id.enricher.d.ts.map +1 -0
  675. package/dist/connectors/sqlite/models/enrichers/id.enricher.js +37 -0
  676. package/dist/connectors/sqlite/models/enrichers/id.enricher.js.map +1 -0
  677. package/dist/connectors/sqlite/models/enrichers/index.d.ts +6 -0
  678. package/dist/connectors/sqlite/models/enrichers/index.d.ts.map +1 -0
  679. package/dist/connectors/sqlite/models/enrichers/index.js +22 -0
  680. package/dist/connectors/sqlite/models/enrichers/index.js.map +1 -0
  681. package/dist/connectors/sqlite/models/enrichers/principal.enricher.d.ts +23 -0
  682. package/dist/connectors/sqlite/models/enrichers/principal.enricher.d.ts.map +1 -0
  683. package/dist/connectors/sqlite/models/enrichers/principal.enricher.js +49 -0
  684. package/dist/connectors/sqlite/models/enrichers/principal.enricher.js.map +1 -0
  685. package/dist/connectors/sqlite/models/enrichers/tz.enricher.d.ts +26 -0
  686. package/dist/connectors/sqlite/models/enrichers/tz.enricher.d.ts.map +1 -0
  687. package/dist/connectors/sqlite/models/enrichers/tz.enricher.js +36 -0
  688. package/dist/connectors/sqlite/models/enrichers/tz.enricher.js.map +1 -0
  689. package/dist/connectors/sqlite/models/enrichers/user-audit.enricher.d.ts +14 -0
  690. package/dist/connectors/sqlite/models/enrichers/user-audit.enricher.d.ts.map +1 -0
  691. package/dist/connectors/sqlite/models/enrichers/user-audit.enricher.js +70 -0
  692. package/dist/connectors/sqlite/models/enrichers/user-audit.enricher.js.map +1 -0
  693. package/dist/connectors/sqlite/models/index.d.ts +4 -0
  694. package/dist/connectors/sqlite/models/index.d.ts.map +1 -0
  695. package/dist/connectors/sqlite/models/index.js +20 -0
  696. package/dist/connectors/sqlite/models/index.js.map +1 -0
  697. package/dist/connectors/sqlite/repositories/common/index.d.ts +2 -0
  698. package/dist/connectors/sqlite/repositories/common/index.d.ts.map +1 -0
  699. package/dist/connectors/sqlite/repositories/common/index.js +18 -0
  700. package/dist/connectors/sqlite/repositories/common/index.js.map +1 -0
  701. package/dist/connectors/sqlite/repositories/common/types.d.ts +15 -0
  702. package/dist/connectors/sqlite/repositories/common/types.d.ts.map +1 -0
  703. package/dist/connectors/sqlite/repositories/common/types.js +3 -0
  704. package/dist/connectors/sqlite/repositories/common/types.js.map +1 -0
  705. package/dist/connectors/sqlite/repositories/core/base.d.ts +14 -0
  706. package/dist/connectors/sqlite/repositories/core/base.d.ts.map +1 -0
  707. package/dist/connectors/sqlite/repositories/core/base.js +13 -0
  708. package/dist/connectors/sqlite/repositories/core/base.js.map +1 -0
  709. package/dist/connectors/sqlite/repositories/core/default.d.ts +13 -0
  710. package/dist/connectors/sqlite/repositories/core/default.d.ts.map +1 -0
  711. package/dist/connectors/sqlite/repositories/core/default.js +12 -0
  712. package/dist/connectors/sqlite/repositories/core/default.js.map +1 -0
  713. package/dist/connectors/sqlite/repositories/core/index.d.ts +6 -0
  714. package/dist/connectors/sqlite/repositories/core/index.d.ts.map +1 -0
  715. package/dist/connectors/sqlite/repositories/core/index.js +22 -0
  716. package/dist/connectors/sqlite/repositories/core/index.js.map +1 -0
  717. package/dist/connectors/sqlite/repositories/core/persistable.d.ts +12 -0
  718. package/dist/connectors/sqlite/repositories/core/persistable.d.ts.map +1 -0
  719. package/dist/connectors/sqlite/repositories/core/persistable.js +11 -0
  720. package/dist/connectors/sqlite/repositories/core/persistable.js.map +1 -0
  721. package/dist/connectors/sqlite/repositories/core/readable.d.ts +10 -0
  722. package/dist/connectors/sqlite/repositories/core/readable.d.ts.map +1 -0
  723. package/dist/connectors/sqlite/repositories/core/readable.js +9 -0
  724. package/dist/connectors/sqlite/repositories/core/readable.js.map +1 -0
  725. package/dist/connectors/sqlite/repositories/core/soft-deletable.d.ts +27 -0
  726. package/dist/connectors/sqlite/repositories/core/soft-deletable.d.ts.map +1 -0
  727. package/dist/connectors/sqlite/repositories/core/soft-deletable.js +13 -0
  728. package/dist/connectors/sqlite/repositories/core/soft-deletable.js.map +1 -0
  729. package/dist/connectors/sqlite/repositories/dialect/filter.d.ts +43 -0
  730. package/dist/connectors/sqlite/repositories/dialect/filter.d.ts.map +1 -0
  731. package/dist/connectors/sqlite/repositories/dialect/filter.js +71 -0
  732. package/dist/connectors/sqlite/repositories/dialect/filter.js.map +1 -0
  733. package/dist/connectors/sqlite/repositories/dialect/index.d.ts +5 -0
  734. package/dist/connectors/sqlite/repositories/dialect/index.d.ts.map +1 -0
  735. package/dist/connectors/sqlite/repositories/dialect/index.js +21 -0
  736. package/dist/connectors/sqlite/repositories/dialect/index.js.map +1 -0
  737. package/dist/connectors/sqlite/repositories/dialect/internal/json-column.d.ts +14 -0
  738. package/dist/connectors/sqlite/repositories/dialect/internal/json-column.d.ts.map +1 -0
  739. package/dist/connectors/sqlite/repositories/dialect/internal/json-column.js +22 -0
  740. package/dist/connectors/sqlite/repositories/dialect/internal/json-column.js.map +1 -0
  741. package/dist/connectors/sqlite/repositories/dialect/internal/json-path.d.ts +22 -0
  742. package/dist/connectors/sqlite/repositories/dialect/internal/json-path.d.ts.map +1 -0
  743. package/dist/connectors/sqlite/repositories/dialect/internal/json-path.js +45 -0
  744. package/dist/connectors/sqlite/repositories/dialect/internal/json-path.js.map +1 -0
  745. package/dist/connectors/sqlite/repositories/dialect/query-dialect.d.ts +23 -0
  746. package/dist/connectors/sqlite/repositories/dialect/query-dialect.d.ts.map +1 -0
  747. package/dist/connectors/sqlite/repositories/dialect/query-dialect.js +28 -0
  748. package/dist/connectors/sqlite/repositories/dialect/query-dialect.js.map +1 -0
  749. package/dist/connectors/sqlite/repositories/dialect/query.d.ts +42 -0
  750. package/dist/connectors/sqlite/repositories/dialect/query.d.ts.map +1 -0
  751. package/dist/connectors/sqlite/repositories/dialect/query.js +103 -0
  752. package/dist/connectors/sqlite/repositories/dialect/query.js.map +1 -0
  753. package/dist/connectors/sqlite/repositories/dialect/update.d.ts +27 -0
  754. package/dist/connectors/sqlite/repositories/dialect/update.d.ts.map +1 -0
  755. package/dist/connectors/sqlite/repositories/dialect/update.js +46 -0
  756. package/dist/connectors/sqlite/repositories/dialect/update.js.map +1 -0
  757. package/dist/connectors/sqlite/repositories/executor.d.ts +40 -0
  758. package/dist/connectors/sqlite/repositories/executor.d.ts.map +1 -0
  759. package/dist/connectors/sqlite/repositories/executor.js +162 -0
  760. package/dist/connectors/sqlite/repositories/executor.js.map +1 -0
  761. package/dist/connectors/sqlite/repositories/index.d.ts +5 -0
  762. package/dist/connectors/sqlite/repositories/index.d.ts.map +1 -0
  763. package/dist/connectors/sqlite/repositories/index.js +23 -0
  764. package/dist/connectors/sqlite/repositories/index.js.map +1 -0
  765. package/dist/connectors/typesense/compiler.d.ts.map +1 -1
  766. package/dist/connectors/typesense/compiler.js +71 -32
  767. package/dist/connectors/typesense/compiler.js.map +1 -1
  768. package/dist/connectors/typesense/connector.d.ts +23 -0
  769. package/dist/connectors/typesense/connector.d.ts.map +1 -1
  770. package/dist/connectors/typesense/connector.js +231 -53
  771. package/dist/connectors/typesense/connector.js.map +1 -1
  772. package/dist/connectors/typesense/datasources/datasource.d.ts +1 -2
  773. package/dist/connectors/typesense/datasources/datasource.d.ts.map +1 -1
  774. package/dist/connectors/typesense/datasources/datasource.js.map +1 -1
  775. package/dist/connectors/typesense/index.d.ts.map +1 -1
  776. package/dist/connectors/typesense/index.js +1 -2
  777. package/dist/connectors/typesense/index.js.map +1 -1
  778. package/dist/connectors/typesense/internal/connector-internal.d.ts +33 -0
  779. package/dist/connectors/typesense/internal/connector-internal.d.ts.map +1 -1
  780. package/dist/connectors/typesense/internal/connector-internal.js +48 -3
  781. package/dist/connectors/typesense/internal/connector-internal.js.map +1 -1
  782. package/dist/connectors/typesense/repositories/common/types.d.ts +8 -3
  783. package/dist/connectors/typesense/repositories/common/types.d.ts.map +1 -1
  784. package/dist/connectors/typesense/repositories/dialect/query-dialect.d.ts +32 -17
  785. package/dist/connectors/typesense/repositories/dialect/query-dialect.d.ts.map +1 -1
  786. package/dist/connectors/typesense/repositories/dialect/query-dialect.js +235 -105
  787. package/dist/connectors/typesense/repositories/dialect/query-dialect.js.map +1 -1
  788. package/dist/connectors/typesense/types.d.ts.map +1 -1
  789. package/dist/connectors/typesense/types.js.map +1 -1
  790. package/dist/helpers/inversion/common/types.d.ts +10 -1
  791. package/dist/helpers/inversion/common/types.d.ts.map +1 -1
  792. package/dist/helpers/inversion/mixins/controllers/grpc.d.ts.map +1 -1
  793. package/dist/helpers/inversion/mixins/controllers/grpc.js +1 -2
  794. package/dist/helpers/inversion/mixins/controllers/grpc.js.map +1 -1
  795. package/dist/helpers/inversion/mixins/controllers/rest.d.ts.map +1 -1
  796. package/dist/helpers/inversion/mixins/controllers/rest.js +1 -3
  797. package/dist/helpers/inversion/mixins/controllers/rest.js.map +1 -1
  798. package/dist/helpers/inversion/mixins/model.mixin.d.ts +1 -4
  799. package/dist/helpers/inversion/mixins/model.mixin.d.ts.map +1 -1
  800. package/dist/helpers/inversion/mixins/model.mixin.js +33 -34
  801. package/dist/helpers/inversion/mixins/model.mixin.js.map +1 -1
  802. package/dist/helpers/inversion/mixins/repository.mixin.d.ts +16 -7
  803. package/dist/helpers/inversion/mixins/repository.mixin.d.ts.map +1 -1
  804. package/dist/helpers/inversion/mixins/repository.mixin.js +21 -14
  805. package/dist/helpers/inversion/mixins/repository.mixin.js.map +1 -1
  806. package/dist/helpers/inversion/registry.d.ts +1 -4
  807. package/dist/helpers/inversion/registry.d.ts.map +1 -1
  808. package/dist/helpers/inversion/registry.js +1 -4
  809. package/dist/helpers/inversion/registry.js.map +1 -1
  810. package/dist/utilities/error.utility.d.ts +1 -4
  811. package/dist/utilities/error.utility.d.ts.map +1 -1
  812. package/dist/utilities/error.utility.js +1 -4
  813. package/dist/utilities/error.utility.js.map +1 -1
  814. package/dist/utilities/network.utility.d.ts +1 -4
  815. package/dist/utilities/network.utility.d.ts.map +1 -1
  816. package/dist/utilities/network.utility.js +14 -13
  817. package/dist/utilities/network.utility.js.map +1 -1
  818. package/package.json +37 -9
  819. package/dist/base/repositories/common/operators.d.ts +0 -49
  820. package/dist/base/repositories/common/operators.d.ts.map +0 -1
  821. package/dist/base/repositories/common/operators.js +0 -118
  822. package/dist/base/repositories/common/operators.js.map +0 -1
  823. package/dist/base/repositories/query-schemas/fields.d.ts +0 -6
  824. package/dist/base/repositories/query-schemas/fields.d.ts.map +0 -1
  825. package/dist/base/repositories/query-schemas/fields.js +0 -17
  826. package/dist/base/repositories/query-schemas/fields.js.map +0 -1
  827. package/dist/base/repositories/query-schemas/filter.d.ts +0 -23
  828. package/dist/base/repositories/query-schemas/filter.d.ts.map +0 -1
  829. package/dist/base/repositories/query-schemas/filter.js +0 -72
  830. package/dist/base/repositories/query-schemas/filter.js.map +0 -1
  831. package/dist/base/repositories/query-schemas/limit.d.ts +0 -4
  832. package/dist/base/repositories/query-schemas/limit.d.ts.map +0 -1
  833. package/dist/base/repositories/query-schemas/limit.js +0 -12
  834. package/dist/base/repositories/query-schemas/limit.js.map +0 -1
  835. package/dist/base/repositories/query-schemas/offset.d.ts +0 -4
  836. package/dist/base/repositories/query-schemas/offset.d.ts.map +0 -1
  837. package/dist/base/repositories/query-schemas/offset.js +0 -12
  838. package/dist/base/repositories/query-schemas/offset.js.map +0 -1
  839. package/dist/base/repositories/query-schemas/order-by.d.ts +0 -4
  840. package/dist/base/repositories/query-schemas/order-by.d.ts.map +0 -1
  841. package/dist/base/repositories/query-schemas/order-by.js +0 -18
  842. package/dist/base/repositories/query-schemas/order-by.js.map +0 -1
  843. package/dist/base/repositories/query-schemas/skip.d.ts +0 -4
  844. package/dist/base/repositories/query-schemas/skip.d.ts.map +0 -1
  845. package/dist/base/repositories/query-schemas/skip.js +0 -12
  846. package/dist/base/repositories/query-schemas/skip.js.map +0 -1
  847. package/dist/base/repositories/query-schemas/where.d.ts +0 -9
  848. package/dist/base/repositories/query-schemas/where.d.ts.map +0 -1
  849. package/dist/base/repositories/query-schemas/where.js +0 -27
  850. package/dist/base/repositories/query-schemas/where.js.map +0 -1
  851. package/dist/connectors/postgres/repositories/dialect/internal/json-utils.d.ts.map +0 -1
  852. package/dist/connectors/postgres/repositories/dialect/internal/json-utils.js.map +0 -1
@@ -1,13 +1,11 @@
1
1
  import type { ITransaction } from '../../../../base/datasources';
2
- import type { TFilter, TLockOptions } from '../../../../base/repositories/common';
2
+ import type { TFilter, TLockOptions, TWhere } from '../../../../base/repositories/common';
3
3
  import { AbstractRepository } from '../../../../base/repositories/core';
4
4
  import type { AbstractSearchDataSource } from '../../../../connectors/search/datasources';
5
5
  import type { BaseSearchEntity } from '../../../../connectors/search/models';
6
6
  import type { TClass } from '@venizia/ignis-helpers';
7
- import type { ISearchQuery, ISearchQueryDialect } from '../../../../connectors/search/repositories/common';
8
- /** Search-repository plumbing on `AbstractRepository`. `TDataSource` carries the concrete connector
9
- * type through `this.connector`: a concretely-bound repository reaches its engine's verbs uncast,
10
- * while an engine-agnostic one is forced by the compiler to write `connector.alias?.…`. */
7
+ import type { ISearchQuery, ISearchQueryDialect, TCompiledWhere } from '../../../../connectors/search/repositories/common';
8
+ /** Search-repository plumbing on `AbstractRepository`. `TDataSource` carries the concrete connector type through `this.connector`, so a concretely-bound repository reaches its engine's verbs uncast while an engine-agnostic one is forced to write `connector.alias?.…`. */
11
9
  export declare abstract class SearchBaseRepository<TDocument extends object = object, TDataSource extends AbstractSearchDataSource = AbstractSearchDataSource> extends AbstractRepository<TDocument, TDocument> {
12
10
  constructor(dataSource?: TDataSource, opts?: {
13
11
  scope?: string;
@@ -24,26 +22,70 @@ export declare abstract class SearchBaseRepository<TDocument extends object = ob
24
22
  setDataSource(opts: {
25
23
  dataSource: TDataSource;
26
24
  }): void;
27
- /** WRITE responses never pass through the engine's exclude-fields filter, so hiddenProperties are
28
- * stripped here - the relational branch gets the same guarantee from `.returning(visibleProperties)`. */
25
+ /** WRITE responses never pass through the engine's exclude-fields filter, so hiddenProperties are stripped here - the relational branch gets the same guarantee from `.returning(visibleProperties)`. */
29
26
  protected omitHiddenFields<R>(document: R): R;
30
27
  protected omitHiddenFieldsAll<R>(documents: R[]): R[];
31
- /**
32
- * Typesense has no transaction primitive - a caller-supplied options.transaction is rejected
33
- * loudly instead of silently running outside the transaction the caller expects.
34
- */
28
+ /** No search engine here has a transaction primitive (this tier is engine-neutral - Typesense and Meilisearch both inherit it) - a caller-supplied options.transaction is rejected loudly instead of silently running outside the transaction the caller expects. */
35
29
  protected assertNoTransaction(opts?: {
36
30
  transaction?: ITransaction;
37
31
  }): void;
38
- /** Row-level locking (SELECT ... FOR UPDATE) has no Typesense equivalent - same NotSupported convention as assertNoTransaction. */
32
+ /** Row-level locking (SELECT ... FOR UPDATE) has no search-engine equivalent - same NotSupported convention as assertNoTransaction. */
39
33
  protected assertNoLock(opts?: {
40
34
  lock?: TLockOptions;
41
35
  }): void;
42
- /** Builds a dialect-translated query: AND-merges defaultWhere into filter.where (unless shouldSkipDefaultFilter), always strips hiddenFields. */
36
+ private _collectionFields?;
37
+ /**
38
+ * Field names the collection declares, or undefined when it declares none - which means
39
+ * "unvalidated", not "no fields": an entity carrying no `ISearchCollectionDefinition` must
40
+ * compile exactly as it did before field checking existed.
41
+ *
42
+ * Read from the entity's own typed `schema` rather than by casting into `entity.constructor`;
43
+ * `BaseSearchEntity.schema` is instance-side and already an `ISearchCollectionDefinition`.
44
+ * Memoized per repository instance - the definition is frozen after boot.
45
+ */
46
+ protected get collectionFields(): ReadonlySet<string> | undefined;
47
+ /**
48
+ * Builds a dialect-translated query, always stripping hiddenFields.
49
+ *
50
+ * The caller's `where` and the repository-owned `defaultWhere` are compiled SEPARATELY and
51
+ * combined after, rather than merged into one tree first. Merging first makes the two
52
+ * indistinguishable, and the repository's own clause would then have to satisfy the
53
+ * caller-facing field check: `SprocketDocument` in integration-wiring.test.ts declares
54
+ * [title, secretCode] but carries `defaultFilter: { where: { isActive: true } }`, so every
55
+ * request through it would 400 ITSELF. Compiling separately makes the trust boundary a matter
56
+ * of WHICH CALL IS MADE, which - unlike a flag threaded through the recursion - cannot be wrong
57
+ * at a nested level.
58
+ */
43
59
  protected buildQuery(opts: {
44
60
  filter?: TFilter;
45
61
  shouldSkipDefaultFilter?: boolean;
46
62
  }): ISearchQuery;
47
- private mergeWhere;
63
+ /**
64
+ * Refuses a caller-supplied page larger than this model allows.
65
+ *
66
+ * POLICY, and the counterweight to a guardrail this tier removed: an engine used to refuse more
67
+ * than 250 hits per page, so an unreasonable `limit` failed fast and cheap. Now that such a page
68
+ * is served, something has to decide when it is unreasonable, and the framework would otherwise
69
+ * be less safe than before it could satisfy the request.
70
+ *
71
+ * It lives in `buildQuery` because that is the one point BOTH `find()` and `search()` pass
72
+ * through - enforcing in `find()` alone would leave `search()` as a way around it, which is not
73
+ * a ceiling. `mode: 'raw'` bypasses `buildQuery` and therefore bypasses this deliberately: raw
74
+ * is the documented escape hatch and its callers own the consequences. They still cannot exceed
75
+ * the connector's physical ceiling, which is the intended layering - policy is opt-out-able,
76
+ * physics is not.
77
+ */
78
+ protected assertLimitWithinCeiling(opts: {
79
+ limit?: number;
80
+ }): void;
81
+ /**
82
+ * Compiles the caller clause (field-checked) and the repository-owned default clause
83
+ * (unchecked), then ANDs them via the dialect - `defaultWhere` first, preserving the order the
84
+ * previous `{ and: [defaultWhere, where] }` merge produced.
85
+ */
86
+ protected compileEffectiveWhere(opts: {
87
+ where?: TWhere;
88
+ defaultWhere?: TWhere;
89
+ }): TCompiledWhere;
48
90
  }
49
91
  //# sourceMappingURL=base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/connectors/search/repositories/core/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAU,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAEjG;;2FAE2F;AAC3F,8BAAsB,oBAAoB,CACxC,SAAS,SAAS,MAAM,GAAG,MAAM,EACjC,WAAW,SAAS,wBAAwB,GAAG,wBAAwB,CACvE,SAAQ,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC;gBAE9C,UAAU,CAAC,EAAE,WAAW,EACxB,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAA;KAAE;IAKnE,IAAa,UAAU,IAAI,WAAW,CAErC;IAED,IAAa,UAAU,CAAC,KAAK,EAAE,WAAW,EAEzC;IAED,IAAa,MAAM,IAAI,gBAAgB,CAEtC;IAED,IAAa,MAAM,CAAC,KAAK,EAAE,gBAAgB,EAE1C;IAED,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,SAAS,KAAK,SAAS,IAAI,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAEjE;IAED,SAAS,KAAK,YAAY,IAAI,mBAAmB,CAEhD;IAED,IAAI,WAAW,IAAI,WAAW,CAAC,aAAa,CAAC,CAE5C;IAEQ,aAAa,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,WAAW,CAAA;KAAE,GAAG,IAAI;IAI/D;6GACyG;IACzG,SAAS,CAAC,gBAAgB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC;IAgB7C,SAAS,CAAC,mBAAmB,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE;IAQrD;;;OAGG;IACH,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,YAAY,CAAA;KAAE,GAAG,IAAI;IAY1E,mIAAmI;IACnI,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,YAAY,CAAA;KAAE,GAAG,IAAI;IAY5D,iJAAiJ;IACjJ,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE;QACzB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,uBAAuB,CAAC,EAAE,OAAO,CAAC;KACnC,GAAG,YAAY;IAiBhB,OAAO,CAAC,UAAU;CAanB"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/connectors/search/repositories/core/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAI9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACf,MAAM,yCAAyC,CAAC;AAGjD,+QAA+Q;AAC/Q,8BAAsB,oBAAoB,CACxC,SAAS,SAAS,MAAM,GAAG,MAAM,EACjC,WAAW,SAAS,wBAAwB,GAAG,wBAAwB,CACvE,SAAQ,kBAAkB,CAAC,SAAS,EAAE,SAAS,CAAC;gBAE9C,UAAU,CAAC,EAAE,WAAW,EACxB,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAA;KAAE;IAKnE,IAAa,UAAU,IAAI,WAAW,CAErC;IAED,IAAa,UAAU,CAAC,KAAK,EAAE,WAAW,EAEzC;IAED,IAAa,MAAM,IAAI,gBAAgB,CAEtC;IAED,IAAa,MAAM,CAAC,KAAK,EAAE,gBAAgB,EAE1C;IAED,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,SAAS,KAAK,SAAS,IAAI,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAEjE;IAED,SAAS,KAAK,YAAY,IAAI,mBAAmB,CAEhD;IAED,IAAI,WAAW,IAAI,WAAW,CAAC,aAAa,CAAC,CAE5C;IAEQ,aAAa,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,WAAW,CAAA;KAAE,GAAG,IAAI;IAI/D,yMAAyM;IACzM,SAAS,CAAC,gBAAgB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC;IAgB7C,SAAS,CAAC,mBAAmB,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE;IAQrD,qQAAqQ;IACrQ,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,YAAY,CAAA;KAAE,GAAG,IAAI;IAY1E,uIAAuI;IACvI,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,YAAY,CAAA;KAAE,GAAG,IAAI;IAY5D,OAAO,CAAC,iBAAiB,CAAC,CAAc;IAExC;;;;;;;;OAQG;IACH,SAAS,KAAK,gBAAgB,IAAI,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAOhE;IAED;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE;QACzB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,uBAAuB,CAAC,EAAE,OAAO,CAAC;KACnC,GAAG,YAAY;IAoChB;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,wBAAwB,CAAC,IAAI,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAclE;;;;OAIG;IACH,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,cAAc;CAiBjG"}
@@ -2,10 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SearchBaseRepository = void 0;
4
4
  const core_1 = require("../../../../base/repositories/core");
5
+ const common_1 = require("../../../../base/repositories/common");
6
+ const common_2 = require("../../../../connectors/search/common");
7
+ const ignis_helpers_1 = require("@venizia/ignis-helpers");
5
8
  const utilities_1 = require("../../../../utilities");
6
- /** Search-repository plumbing on `AbstractRepository`. `TDataSource` carries the concrete connector
7
- * type through `this.connector`: a concretely-bound repository reaches its engine's verbs uncast,
8
- * while an engine-agnostic one is forced by the compiler to write `connector.alias?.…`. */
9
+ const common_3 = require("../../../../connectors/search/repositories/common");
10
+ /** Search-repository plumbing on `AbstractRepository`. `TDataSource` carries the concrete connector type through `this.connector`, so a concretely-bound repository reaches its engine's verbs uncast while an engine-agnostic one is forced to write `connector.alias?.…`. */
9
11
  class SearchBaseRepository extends core_1.AbstractRepository {
10
12
  constructor(dataSource, opts) {
11
13
  super(dataSource, opts);
@@ -37,8 +39,7 @@ class SearchBaseRepository extends core_1.AbstractRepository {
37
39
  setDataSource(opts) {
38
40
  super.setDataSource(opts);
39
41
  }
40
- /** WRITE responses never pass through the engine's exclude-fields filter, so hiddenProperties are
41
- * stripped here - the relational branch gets the same guarantee from `.returning(visibleProperties)`. */
42
+ /** WRITE responses never pass through the engine's exclude-fields filter, so hiddenProperties are stripped here - the relational branch gets the same guarantee from `.returning(visibleProperties)`. */
42
43
  omitHiddenFields(document) {
43
44
  const hiddenFields = this.hiddenFields;
44
45
  if (hiddenFields.length === 0 || document === null || typeof document !== 'object') {
@@ -56,10 +57,7 @@ class SearchBaseRepository extends core_1.AbstractRepository {
56
57
  }
57
58
  return documents.map(document => this.omitHiddenFields(document));
58
59
  }
59
- /**
60
- * Typesense has no transaction primitive - a caller-supplied options.transaction is rejected
61
- * loudly instead of silently running outside the transaction the caller expects.
62
- */
60
+ /** No search engine here has a transaction primitive (this tier is engine-neutral - Typesense and Meilisearch both inherit it) - a caller-supplied options.transaction is rejected loudly instead of silently running outside the transaction the caller expects. */
63
61
  assertNoTransaction(opts) {
64
62
  if (!opts?.transaction) {
65
63
  return;
@@ -70,7 +68,7 @@ class SearchBaseRepository extends core_1.AbstractRepository {
70
68
  logger: this.logger,
71
69
  });
72
70
  }
73
- /** Row-level locking (SELECT ... FOR UPDATE) has no Typesense equivalent - same NotSupported convention as assertNoTransaction. */
71
+ /** Row-level locking (SELECT ... FOR UPDATE) has no search-engine equivalent - same NotSupported convention as assertNoTransaction. */
74
72
  assertNoLock(opts) {
75
73
  if (!opts?.lock) {
76
74
  return;
@@ -81,30 +79,106 @@ class SearchBaseRepository extends core_1.AbstractRepository {
81
79
  logger: this.logger,
82
80
  });
83
81
  }
84
- /** Builds a dialect-translated query: AND-merges defaultWhere into filter.where (unless shouldSkipDefaultFilter), always strips hiddenFields. */
82
+ /**
83
+ * Field names the collection declares, or undefined when it declares none - which means
84
+ * "unvalidated", not "no fields": an entity carrying no `ISearchCollectionDefinition` must
85
+ * compile exactly as it did before field checking existed.
86
+ *
87
+ * Read from the entity's own typed `schema` rather than by casting into `entity.constructor`;
88
+ * `BaseSearchEntity.schema` is instance-side and already an `ISearchCollectionDefinition`.
89
+ * Memoized per repository instance - the definition is frozen after boot.
90
+ */
91
+ get collectionFields() {
92
+ if (!this._collectionFields) {
93
+ const fields = this.entity?.schema?.fields;
94
+ this._collectionFields = new Set((fields ?? []).map(field => field.name));
95
+ }
96
+ return this._collectionFields.size > 0 ? this._collectionFields : undefined;
97
+ }
98
+ /**
99
+ * Builds a dialect-translated query, always stripping hiddenFields.
100
+ *
101
+ * The caller's `where` and the repository-owned `defaultWhere` are compiled SEPARATELY and
102
+ * combined after, rather than merged into one tree first. Merging first makes the two
103
+ * indistinguishable, and the repository's own clause would then have to satisfy the
104
+ * caller-facing field check: `SprocketDocument` in integration-wiring.test.ts declares
105
+ * [title, secretCode] but carries `defaultFilter: { where: { isActive: true } }`, so every
106
+ * request through it would 400 ITSELF. Compiling separately makes the trust boundary a matter
107
+ * of WHICH CALL IS MADE, which - unlike a flag threaded through the recursion - cannot be wrong
108
+ * at a nested level.
109
+ */
85
110
  buildQuery(opts) {
86
111
  const { filter, shouldSkipDefaultFilter } = opts;
87
112
  const defaultWhere = shouldSkipDefaultFilter ? undefined : this.defaultWhere;
88
- const mergedWhere = this.mergeWhere({ defaultWhere, where: filter?.where });
89
- const effectiveFilter = filter
90
- ? { ...filter, where: mergedWhere }
91
- : mergedWhere
92
- ? { where: mergedWhere }
93
- : undefined;
94
- return this.queryDialect.build({
95
- filter: effectiveFilter,
113
+ this.assertLimitWithinCeiling({ limit: filter?.limit });
114
+ // `where` is withheld from `build` and compiled below: handing it over merged would field-check
115
+ // the repository's own clause along with the caller's.
116
+ const query = this.queryDialect.build({
117
+ filter: filter ? { ...filter, where: undefined } : undefined,
96
118
  hiddenFields: this.hiddenFields,
119
+ capabilities: { fields: this.collectionFields },
97
120
  });
121
+ const compiled = this.compileEffectiveWhere({ where: filter?.where, defaultWhere });
122
+ switch (compiled.outcome) {
123
+ case common_3.SearchFilterOutcomes.FILTER: {
124
+ query.filterBy = compiled.filterBy;
125
+ break;
126
+ }
127
+ case common_3.SearchFilterOutcomes.MATCH_NONE: {
128
+ query.matchNone = true;
129
+ break;
130
+ }
131
+ case common_3.SearchFilterOutcomes.MATCH_ALL:
132
+ default: {
133
+ // Vacuously true - nothing to set and nothing to short-circuit. Spelled out rather than
134
+ // left as an unwritten else, so all three outcomes are visibly accounted for.
135
+ break;
136
+ }
137
+ }
138
+ return query;
98
139
  }
99
- mergeWhere(opts) {
100
- const { defaultWhere, where } = opts;
101
- if (!defaultWhere) {
102
- return where;
140
+ /**
141
+ * Refuses a caller-supplied page larger than this model allows.
142
+ *
143
+ * POLICY, and the counterweight to a guardrail this tier removed: an engine used to refuse more
144
+ * than 250 hits per page, so an unreasonable `limit` failed fast and cheap. Now that such a page
145
+ * is served, something has to decide when it is unreasonable, and the framework would otherwise
146
+ * be less safe than before it could satisfy the request.
147
+ *
148
+ * It lives in `buildQuery` because that is the one point BOTH `find()` and `search()` pass
149
+ * through - enforcing in `find()` alone would leave `search()` as a way around it, which is not
150
+ * a ceiling. `mode: 'raw'` bypasses `buildQuery` and therefore bypasses this deliberately: raw
151
+ * is the documented escape hatch and its callers own the consequences. They still cannot exceed
152
+ * the connector's physical ceiling, which is the intended layering - policy is opt-out-able,
153
+ * physics is not.
154
+ */
155
+ assertLimitWithinCeiling(opts) {
156
+ const { limit } = opts;
157
+ const ceiling = this.maxLimit ?? common_1.DEFAULT_MAX_LIMIT;
158
+ if (limit === undefined || limit <= ceiling) {
159
+ return;
160
+ }
161
+ throw (0, ignis_helpers_1.getError)({
162
+ error: common_2.SearchErrors.PAGE_TOO_LARGE,
163
+ message: `[${this.constructor.name}][buildQuery] Requested page exceeds this model's limit | collection: '${this.collectionName}' | requested: ${limit} | maximum: ${ceiling} | raise it with @model settings.maxLimit if larger pages are genuinely needed`,
164
+ });
165
+ }
166
+ /**
167
+ * Compiles the caller clause (field-checked) and the repository-owned default clause
168
+ * (unchecked), then ANDs them via the dialect - `defaultWhere` first, preserving the order the
169
+ * previous `{ and: [defaultWhere, where] }` merge produced.
170
+ */
171
+ compileEffectiveWhere(opts) {
172
+ const { where, defaultWhere } = opts;
173
+ const dialect = this.queryDialect;
174
+ const clauses = [];
175
+ if (defaultWhere) {
176
+ clauses.push(dialect.compileWhere({ where: defaultWhere }));
103
177
  }
104
- if (!where) {
105
- return defaultWhere;
178
+ if (where) {
179
+ clauses.push(dialect.compileWhere({ where, capabilities: { fields: this.collectionFields } }));
106
180
  }
107
- return { and: [defaultWhere, where] };
181
+ return dialect.conjoin({ clauses });
108
182
  }
109
183
  }
110
184
  exports.SearchBaseRepository = SearchBaseRepository;
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/connectors/search/repositories/core/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/connectors/search/repositories/core/base.ts"],"names":[],"mappings":"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"}
@@ -63,9 +63,7 @@ export declare class PersistableSearchRepository<TDocument extends object = obje
63
63
  }): Promise<TCount & {
64
64
  data: R;
65
65
  }>;
66
- /** Count-only contract: search engines have no RETURNING and no extra read is bolted on - `data`
67
- * is always `null`, `shouldReturn` rejected at the type level. Callers wanting the affected
68
- * documents read them explicitly before updating. */
66
+ /** Count-only: search engines have no RETURNING and no extra read is bolted on, so `data` is always `null` and `shouldReturn` is rejected at the type level - callers wanting the affected documents read them before updating. */
69
67
  updateAll(opts: {
70
68
  data: Partial<TDocument>;
71
69
  where?: TWhere;
@@ -91,9 +89,7 @@ export declare class PersistableSearchRepository<TDocument extends object = obje
91
89
  }): Promise<TCount & {
92
90
  data: R;
93
91
  }>;
94
- /** Count-only like updateAll. Filter-delete when there is an effective where; truncates the whole
95
- * collection only when neither where nor defaultFilter is present - truncate reports no
96
- * per-document count, so that path returns { count: 0, data: null }. */
92
+ /** Count-only like updateAll: filter-delete when there is an effective where, truncating the whole collection only when neither where nor defaultFilter is present - truncate reports no per-document count, so that path returns { count: 0, data: null }. */
97
93
  deleteAll(opts?: {
98
94
  where?: TWhere;
99
95
  options?: Omit<IExtraOptions, 'shouldReturn'> & {
@@ -102,8 +98,7 @@ export declare class PersistableSearchRepository<TDocument extends object = obje
102
98
  }): Promise<TCount & {
103
99
  data: null;
104
100
  }>;
105
- /** Bulk import through the neutral document facade. Per-row write `action` is Typesense-only
106
- * vocabulary - callers needing it use `dataSource.getConnector().importDocuments(...)` directly. */
101
+ /** Bulk import through the neutral document facade. Per-row write `action` is Typesense-only vocabulary - callers needing it use `dataSource.getConnector().importDocuments(...)` directly. */
107
102
  import(opts: {
108
103
  documents: TDocument[];
109
104
  batchSize?: number;
@@ -113,5 +108,19 @@ export declare class PersistableSearchRepository<TDocument extends object = obje
113
108
  where?: TWhere;
114
109
  shouldSkipDefaultFilter?: boolean;
115
110
  }): string | undefined;
111
+ /**
112
+ * The write-path filter as THREE outcomes, because two of them are catastrophically different
113
+ * here: `filterBy: undefined` means "no effective where", which `deleteAll` treats as licence to
114
+ * truncate when `force` is set. An absorbing where must never land there -
115
+ * `deleteAll({ where: { or: permittedIds.map(...) } })` on an EMPTY permission list has to
116
+ * delete nothing, not the entire collection. `matchNone` is what keeps the two apart.
117
+ */
118
+ protected buildScopedFilter(opts: {
119
+ where?: TWhere;
120
+ shouldSkipDefaultFilter?: boolean;
121
+ }): {
122
+ filterBy?: string;
123
+ matchNone: boolean;
124
+ };
116
125
  }
117
126
  //# sourceMappingURL=persistable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"persistable.d.ts","sourceRoot":"","sources":["../../../../../src/connectors/search/repositories/core/persistable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persistable.d.ts","sourceRoot":"","sources":["../../../../../src/connectors/search/repositories/core/persistable.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PersistableSearchRepository = void 0;
4
- const common_1 = require("../../../../common");
4
+ const common_1 = require("../../../../connectors/search/common");
5
5
  const common_2 = require("../../../../base/repositories/common");
6
6
  const ignis_helpers_1 = require("@venizia/ignis-helpers");
7
7
  const readable_1 = require("./readable");
8
- /** Narrows one `IImportResult.responses` row (`unknown` - see connector.ts's `IImportResult<TResponse
9
- * = unknown>`) enough to read the per-row `success` flag `createAll` filters on. */
8
+ /** Narrows one `unknown` `IImportResult.responses` row enough to read the per-row `success` flag `createAll` filters on. */
10
9
  const isImportRowLike = (value) => {
11
10
  return typeof value === 'object' && value !== null;
12
11
  };
@@ -28,8 +27,7 @@ class PersistableSearchRepository extends readable_1.ReadableSearchRepository {
28
27
  }
29
28
  return { count: 1, data: this.omitHiddenFields(created) };
30
29
  }
31
- /** Delegates to import(). Typesense's bulk import reports only per-row success/fail (no echoed
32
- * document), so "created" is just the caller's input rows filtered to the accepted ones. */
30
+ /** Delegates to import(). Typesense's bulk import reports only per-row success/fail with no echoed document, so "created" is the caller's input rows filtered to the accepted ones. */
33
31
  async createAll(opts) {
34
32
  this.assertNoTransaction(opts.options);
35
33
  this.assertNoLock(opts.options);
@@ -42,8 +40,7 @@ class PersistableSearchRepository extends readable_1.ReadableSearchRepository {
42
40
  const response = rs.responses[index];
43
41
  return isImportRowLike(response) ? response.success !== false : true;
44
42
  });
45
- // `created` is the caller's own input rows (bulk import echoes nothing back), so R is the
46
- // caller's unchecked assertion here exactly as it is on the non-hidden path.
43
+ // `created` is the caller's own input rows (bulk import echoes nothing back), so R is the caller's unchecked assertion, as on the non-hidden path.
47
44
  return { count: rs.count.success, data: this.omitHiddenFieldsAll(created) };
48
45
  }
49
46
  /** Guards against defaultWhere by re-reading via findById first (costs one read; skippable via shouldSkipDefaultFilter). A guard failure throws the same sanitized 404 as a missing document. */
@@ -55,8 +52,7 @@ class PersistableSearchRepository extends readable_1.ReadableSearchRepository {
55
52
  const found = await this.findById({ id, options });
56
53
  if (!found) {
57
54
  throw (0, ignis_helpers_1.getError)({
58
- statusCode: ignis_helpers_1.HTTP.ResultCodes.RS_4.NotFound,
59
- messageCode: common_1.SearchErrorCodes.NOT_FOUND,
55
+ error: common_1.SearchErrors.NOT_FOUND,
60
56
  message: `[${this.constructor.name}][updateById] Document not found or excluded by the default filter | Collection: ${this.collectionName} | Id: ${id}`,
61
57
  });
62
58
  }
@@ -71,17 +67,20 @@ class PersistableSearchRepository extends readable_1.ReadableSearchRepository {
71
67
  }
72
68
  return { count: 1, data: this.omitHiddenFields(updated) };
73
69
  }
74
- /** Count-only contract: search engines have no RETURNING and no extra read is bolted on - `data`
75
- * is always `null`, `shouldReturn` rejected at the type level. Callers wanting the affected
76
- * documents read them explicitly before updating. */
70
+ /** Count-only: search engines have no RETURNING and no extra read is bolted on, so `data` is always `null` and `shouldReturn` is rejected at the type level - callers wanting the affected documents read them before updating. */
77
71
  async updateAll(opts) {
78
72
  this.assertNoTransaction(opts.options);
79
73
  this.assertNoLock(opts.options);
80
74
  const { data, where, options } = opts;
81
- const filterBy = this.buildFilterBy({
75
+ const { filterBy, matchNone } = this.buildScopedFilter({
82
76
  where,
83
77
  shouldSkipDefaultFilter: options?.shouldSkipDefaultFilter,
84
78
  });
79
+ // Checked BEFORE the undefined guard: an absorbing where selects no document, which is a
80
+ // well-formed request to update nothing - not the "no effective where" the guard refuses.
81
+ if (matchNone) {
82
+ return { count: 0, data: null };
83
+ }
85
84
  if (filterBy === undefined) {
86
85
  throw (0, ignis_helpers_1.getError)({
87
86
  message: `[${this.constructor.name}][updateAll] DENY to perform | Collection: ${this.collectionName} | No effective where condition (no where and no @model defaultFilter) - refusing an unfiltered bulk update`,
@@ -113,26 +112,28 @@ class PersistableSearchRepository extends readable_1.ReadableSearchRepository {
113
112
  if (!didDelete) {
114
113
  return { count: 0, data: null };
115
114
  }
116
- // Typesense's delete has no RETURNING equivalent - `data` is only populated when the
117
- // defaultFilter guard above already read the document; no extra read is done purely for shouldReturn.
115
+ // Typesense's delete has no RETURNING equivalent - `data` is populated only when the defaultFilter guard above already read the document; no extra read is done for shouldReturn.
118
116
  const data = options?.shouldReturn === false ? null : (found ?? null);
119
117
  return { count: 1, data };
120
118
  }
121
- /** Count-only like updateAll. Filter-delete when there is an effective where; truncates the whole
122
- * collection only when neither where nor defaultFilter is present - truncate reports no
123
- * per-document count, so that path returns { count: 0, data: null }. */
119
+ /** Count-only like updateAll: filter-delete when there is an effective where, truncating the whole collection only when neither where nor defaultFilter is present - truncate reports no per-document count, so that path returns { count: 0, data: null }. */
124
120
  async deleteAll(opts) {
125
121
  this.assertNoTransaction(opts?.options);
126
122
  this.assertNoLock(opts?.options);
127
123
  const logger = this.logger.for(this.deleteAll.name);
128
124
  const { where, options } = opts ?? {};
129
- const filterBy = this.buildFilterBy({
125
+ const { filterBy, matchNone } = this.buildScopedFilter({
130
126
  where,
131
127
  shouldSkipDefaultFilter: options?.shouldSkipDefaultFilter,
132
128
  });
129
+ // Checked BEFORE the undefined guard, and the reason `matchNone` exists as a distinct outcome:
130
+ // an absorbing where selects no document. Collapsing it to `undefined` would enter the branch
131
+ // below and, with `force`, TRUNCATE the collection - the exact inversion of what was asked.
132
+ if (matchNone) {
133
+ return { count: 0, data: null };
134
+ }
133
135
  if (filterBy === undefined) {
134
- // `where: {}` compiles to NO filter; wiping a collection must be asked for explicitly,
135
- // exactly as Postgres demands `force` for an empty-where delete.
136
+ // `where: {}` compiles to NO filter; wiping a collection must be asked for explicitly, exactly as Postgres demands `force` for an empty-where delete.
136
137
  if (!options?.force) {
137
138
  throw (0, ignis_helpers_1.getError)({
138
139
  message: `[${this.constructor.name}][deleteAll] DENY to perform | Collection: ${this.collectionName} | No effective where condition (no where and no @model defaultFilter) - pass options.force to truncate the collection`,
@@ -150,8 +151,7 @@ class PersistableSearchRepository extends readable_1.ReadableSearchRepository {
150
151
  });
151
152
  return { count: deletedCount, data: null };
152
153
  }
153
- /** Bulk import through the neutral document facade. Per-row write `action` is Typesense-only
154
- * vocabulary - callers needing it use `dataSource.getConnector().importDocuments(...)` directly. */
154
+ /** Bulk import through the neutral document facade. Per-row write `action` is Typesense-only vocabulary - callers needing it use `dataSource.getConnector().importDocuments(...)` directly. */
155
155
  import(opts) {
156
156
  const { documents, batchSize } = opts;
157
157
  const importOpts = {
@@ -165,12 +165,22 @@ class PersistableSearchRepository extends readable_1.ReadableSearchRepository {
165
165
  }
166
166
  /** Resolves filterBy, AND-merging defaultWhere unless shouldSkipDefaultFilter. Returns undefined when there's no effective where - callers decide (updateAll refuses; deleteAll truncates). */
167
167
  buildFilterBy(opts) {
168
+ return this.buildScopedFilter(opts).filterBy;
169
+ }
170
+ /**
171
+ * The write-path filter as THREE outcomes, because two of them are catastrophically different
172
+ * here: `filterBy: undefined` means "no effective where", which `deleteAll` treats as licence to
173
+ * truncate when `force` is set. An absorbing where must never land there -
174
+ * `deleteAll({ where: { or: permittedIds.map(...) } })` on an EMPTY permission list has to
175
+ * delete nothing, not the entire collection. `matchNone` is what keeps the two apart.
176
+ */
177
+ buildScopedFilter(opts) {
168
178
  const { where, shouldSkipDefaultFilter } = opts;
169
179
  const query = this.buildQuery({
170
180
  filter: where !== undefined ? { where } : undefined,
171
181
  shouldSkipDefaultFilter,
172
182
  });
173
- return query.filterBy;
183
+ return { filterBy: query.filterBy, matchNone: query.matchNone === true };
174
184
  }
175
185
  }
176
186
  exports.PersistableSearchRepository = PersistableSearchRepository;
@@ -1 +1 @@
1
- {"version":3,"file":"persistable.js","sourceRoot":"","sources":["../../../../../src/connectors/search/repositories/core/persistable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persistable.js","sourceRoot":"","sources":["../../../../../src/connectors/search/repositories/core/persistable.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,13 @@ import type { IExtraOptions, TCount, TDataWithRange, TFilter, TFindOneOptions, T
3
3
  import type { IdType } from '../../../../base/models';
4
4
  import type { ISearchResult } from '../../../../connectors/search';
5
5
  import type { TSearchInput } from '../../../../connectors/search/repositories/common';
6
+ import { SearchModes } from '../../../../connectors/search/repositories/common';
6
7
  import type { AbstractSearchDataSource } from '../../../../connectors/search/datasources';
7
8
  import { SearchBaseRepository } from './base';
9
+ /** The inputs the dialect translates - `raw` has already returned by the time these are resolved, and `applySearchInput` accepts only this narrowed union. */
10
+ type TTranslatableSearchInput = Exclude<TSearchInput, {
11
+ mode: typeof SearchModes.RAW;
12
+ }>;
8
13
  /** Read-only search-repository tier - translates filters via the datasource's dialect and executes through the connector. */
9
14
  export declare class ReadableSearchRepository<TDocument extends object = object, TDataSource extends AbstractSearchDataSource = AbstractSearchDataSource> extends SearchBaseRepository<TDocument, TDataSource> {
10
15
  count(opts: {
@@ -27,17 +32,28 @@ export declare class ReadableSearchRepository<TDocument extends object = object,
27
32
  filter: TFilter;
28
33
  options?: TFindOneOptions<IExtraOptions, R>;
29
34
  }): Promise<TNullable<R>>;
30
- /** Delegates to findOne with id in where - routes through buildQuery so hiddenFields/defaultFilter apply (a soft-deleted doc resolves to null, not fetched directly). */
35
+ /**
36
+ * Delegates to findOne with id in where - routing through buildQuery is what makes
37
+ * hiddenFields/defaultFilter apply, so a soft-deleted document resolves to null. `where` is spread
38
+ * away last so a projection can never widen the id lookup.
39
+ */
31
40
  findById<R = TDocument>(opts: {
32
41
  id: IdType;
42
+ filter?: Omit<TFilter, 'where'>;
33
43
  options?: TFindOneOptions<IExtraOptions, R>;
34
44
  }): Promise<TNullable<R>>;
35
- /** Unified search entry, discriminated by `mode`: `raw` is a full passthrough (no dialect/
36
- * defaultFilter/hiddenFields); keyword/semantic/hybrid translate via the dialect same as `find()`.
37
- * Nothing engine-specific lives here - `ISearchQueryDialect.applySearchInput` owns it all. */
45
+ /**
46
+ * Unified search entry discriminated by `mode`: `raw` is a full passthrough - no dialect, no
47
+ * defaultFilter, no hiddenFields - while keyword/semantic/hybrid translate through the dialect
48
+ * like `find()`. Nothing engine-specific lives here; `ISearchQueryDialect.applySearchInput`
49
+ * owns it.
50
+ */
38
51
  search<R extends object = TDocument>(opts: TSearchInput & {
39
52
  options?: IExtraOptions;
40
53
  }): Promise<ISearchResult<R>>;
54
+ protected withDefaultQueryBy(opts: {
55
+ input: TTranslatableSearchInput;
56
+ }): TTranslatableSearchInput;
41
57
  /** @throws Error - disabled in a read-only repository; unlocked progressively by Persistable/DefaultSearchRepository. */
42
58
  create(opts: {
43
59
  data: TDocument;
@@ -91,7 +107,11 @@ export declare class ReadableSearchRepository<TDocument extends object = object,
91
107
  }): Promise<TCount & {
92
108
  data: R;
93
109
  }>;
94
- /** @throws Error - disabled in a read-only repository. */
110
+ /**
111
+ * @throws Error - disabled in a read-only repository. `where` is optional where the base contract
112
+ * requires it: the `@model` defaultFilter alone can supply the effective filter, and Persistable
113
+ * refuses the write outright when neither is present.
114
+ */
95
115
  updateAll(_opts: {
96
116
  data: Partial<TDocument>;
97
117
  where?: TWhere;
@@ -128,4 +148,5 @@ export declare class ReadableSearchRepository<TDocument extends object = object,
128
148
  data: null;
129
149
  }>;
130
150
  }
151
+ export {};
131
152
  //# sourceMappingURL=readable.d.ts.map