@adonis-agora/filter 0.0.0-beta-20261110131309

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 (168) hide show
  1. package/CHANGELOG.md +417 -0
  2. package/LICENSE +21 -0
  3. package/README.md +75 -0
  4. package/dist/commands/main.d.ts +19 -0
  5. package/dist/commands/main.d.ts.map +1 -0
  6. package/dist/commands/main.js +19 -0
  7. package/dist/commands/main.js.map +1 -0
  8. package/dist/commands/make_filter.d.ts +18 -0
  9. package/dist/commands/make_filter.d.ts.map +1 -0
  10. package/dist/commands/make_filter.js +32 -0
  11. package/dist/commands/make_filter.js.map +1 -0
  12. package/dist/commands/make_filter_client.d.ts +35 -0
  13. package/dist/commands/make_filter_client.d.ts.map +1 -0
  14. package/dist/commands/make_filter_client.js +85 -0
  15. package/dist/commands/make_filter_client.js.map +1 -0
  16. package/dist/configure.d.ts +15 -0
  17. package/dist/configure.d.ts.map +1 -0
  18. package/dist/configure.js +20 -0
  19. package/dist/configure.js.map +1 -0
  20. package/dist/providers/filter_provider.d.ts +28 -0
  21. package/dist/providers/filter_provider.d.ts.map +1 -0
  22. package/dist/providers/filter_provider.js +33 -0
  23. package/dist/providers/filter_provider.js.map +1 -0
  24. package/dist/src/aggregate.d.ts +70 -0
  25. package/dist/src/aggregate.d.ts.map +1 -0
  26. package/dist/src/aggregate.js +195 -0
  27. package/dist/src/aggregate.js.map +1 -0
  28. package/dist/src/aggregate_path.d.ts +25 -0
  29. package/dist/src/aggregate_path.d.ts.map +1 -0
  30. package/dist/src/aggregate_path.js +35 -0
  31. package/dist/src/aggregate_path.js.map +1 -0
  32. package/dist/src/apply_from_request.d.ts +85 -0
  33. package/dist/src/apply_from_request.d.ts.map +1 -0
  34. package/dist/src/apply_from_request.js +164 -0
  35. package/dist/src/apply_from_request.js.map +1 -0
  36. package/dist/src/base_filter.d.ts +49 -0
  37. package/dist/src/base_filter.d.ts.map +1 -0
  38. package/dist/src/base_filter.js +33 -0
  39. package/dist/src/base_filter.js.map +1 -0
  40. package/dist/src/base_model_filter.d.ts +90 -0
  41. package/dist/src/base_model_filter.d.ts.map +1 -0
  42. package/dist/src/base_model_filter.js +85 -0
  43. package/dist/src/base_model_filter.js.map +1 -0
  44. package/dist/src/coerce_value.d.ts +26 -0
  45. package/dist/src/coerce_value.d.ts.map +1 -0
  46. package/dist/src/coerce_value.js +82 -0
  47. package/dist/src/coerce_value.js.map +1 -0
  48. package/dist/src/cursor.d.ts +92 -0
  49. package/dist/src/cursor.d.ts.map +1 -0
  50. package/dist/src/cursor.js +107 -0
  51. package/dist/src/cursor.js.map +1 -0
  52. package/dist/src/custom_filter.d.ts +36 -0
  53. package/dist/src/custom_filter.d.ts.map +1 -0
  54. package/dist/src/custom_filter.js +127 -0
  55. package/dist/src/custom_filter.js.map +1 -0
  56. package/dist/src/decorator_metadata.d.ts +41 -0
  57. package/dist/src/decorator_metadata.d.ts.map +1 -0
  58. package/dist/src/decorator_metadata.js +83 -0
  59. package/dist/src/decorator_metadata.js.map +1 -0
  60. package/dist/src/decorators.d.ts +73 -0
  61. package/dist/src/decorators.d.ts.map +1 -0
  62. package/dist/src/decorators.js +118 -0
  63. package/dist/src/decorators.js.map +1 -0
  64. package/dist/src/escape-like.d.ts +10 -0
  65. package/dist/src/escape-like.d.ts.map +1 -0
  66. package/dist/src/escape-like.js +15 -0
  67. package/dist/src/escape-like.js.map +1 -0
  68. package/dist/src/field_aliases.d.ts +30 -0
  69. package/dist/src/field_aliases.d.ts.map +1 -0
  70. package/dist/src/field_aliases.js +65 -0
  71. package/dist/src/field_aliases.js.map +1 -0
  72. package/dist/src/filter_class.d.ts +46 -0
  73. package/dist/src/filter_class.d.ts.map +1 -0
  74. package/dist/src/filter_class.js +244 -0
  75. package/dist/src/filter_class.js.map +1 -0
  76. package/dist/src/filter_spec.d.ts +231 -0
  77. package/dist/src/filter_spec.d.ts.map +1 -0
  78. package/dist/src/filter_spec.js +182 -0
  79. package/dist/src/filter_spec.js.map +1 -0
  80. package/dist/src/filterable_mixin.d.ts +49 -0
  81. package/dist/src/filterable_mixin.d.ts.map +1 -0
  82. package/dist/src/filterable_mixin.js +47 -0
  83. package/dist/src/filterable_mixin.js.map +1 -0
  84. package/dist/src/generate_client.d.ts +107 -0
  85. package/dist/src/generate_client.d.ts.map +1 -0
  86. package/dist/src/generate_client.js +164 -0
  87. package/dist/src/generate_client.js.map +1 -0
  88. package/dist/src/group_by_count.d.ts +67 -0
  89. package/dist/src/group_by_count.d.ts.map +1 -0
  90. package/dist/src/group_by_count.js +71 -0
  91. package/dist/src/group_by_count.js.map +1 -0
  92. package/dist/src/in_memory.d.ts +279 -0
  93. package/dist/src/in_memory.d.ts.map +1 -0
  94. package/dist/src/in_memory.js +810 -0
  95. package/dist/src/in_memory.js.map +1 -0
  96. package/dist/src/index.d.ts +51 -0
  97. package/dist/src/index.d.ts.map +1 -0
  98. package/dist/src/index.js +33 -0
  99. package/dist/src/index.js.map +1 -0
  100. package/dist/src/lucid_adapter.d.ts +311 -0
  101. package/dist/src/lucid_adapter.d.ts.map +1 -0
  102. package/dist/src/lucid_adapter.js +469 -0
  103. package/dist/src/lucid_adapter.js.map +1 -0
  104. package/dist/src/lucid_macros.d.ts +87 -0
  105. package/dist/src/lucid_macros.d.ts.map +1 -0
  106. package/dist/src/lucid_macros.js +67 -0
  107. package/dist/src/lucid_macros.js.map +1 -0
  108. package/dist/src/normalizer.d.ts +21 -0
  109. package/dist/src/normalizer.d.ts.map +1 -0
  110. package/dist/src/normalizer.js +61 -0
  111. package/dist/src/normalizer.js.map +1 -0
  112. package/dist/src/operators.d.ts +37 -0
  113. package/dist/src/operators.d.ts.map +1 -0
  114. package/dist/src/operators.js +43 -0
  115. package/dist/src/operators.js.map +1 -0
  116. package/dist/src/paginate.d.ts +12 -0
  117. package/dist/src/paginate.d.ts.map +1 -0
  118. package/dist/src/paginate.js +88 -0
  119. package/dist/src/paginate.js.map +1 -0
  120. package/dist/src/pagination_stash.d.ts +4 -0
  121. package/dist/src/pagination_stash.d.ts.map +1 -0
  122. package/dist/src/pagination_stash.js +19 -0
  123. package/dist/src/pagination_stash.js.map +1 -0
  124. package/dist/src/parse_request.d.ts +50 -0
  125. package/dist/src/parse_request.d.ts.map +1 -0
  126. package/dist/src/parse_request.js +220 -0
  127. package/dist/src/parse_request.js.map +1 -0
  128. package/dist/src/runner.d.ts +65 -0
  129. package/dist/src/runner.d.ts.map +1 -0
  130. package/dist/src/runner.js +371 -0
  131. package/dist/src/runner.js.map +1 -0
  132. package/dist/src/source_resolver.d.ts +18 -0
  133. package/dist/src/source_resolver.d.ts.map +1 -0
  134. package/dist/src/source_resolver.js +64 -0
  135. package/dist/src/source_resolver.js.map +1 -0
  136. package/dist/src/spatie_parser.d.ts +39 -0
  137. package/dist/src/spatie_parser.d.ts.map +1 -0
  138. package/dist/src/spatie_parser.js +134 -0
  139. package/dist/src/spatie_parser.js.map +1 -0
  140. package/dist/src/testing.d.ts +73 -0
  141. package/dist/src/testing.d.ts.map +1 -0
  142. package/dist/src/testing.js +136 -0
  143. package/dist/src/testing.js.map +1 -0
  144. package/dist/src/types.d.ts +226 -0
  145. package/dist/src/types.d.ts.map +1 -0
  146. package/dist/src/types.js +2 -0
  147. package/dist/src/types.js.map +1 -0
  148. package/dist/src/validate-column-filter.d.ts +30 -0
  149. package/dist/src/validate-column-filter.d.ts.map +1 -0
  150. package/dist/src/validate-column-filter.js +148 -0
  151. package/dist/src/validate-column-filter.js.map +1 -0
  152. package/dist/src/value-shape.d.ts +18 -0
  153. package/dist/src/value-shape.d.ts.map +1 -0
  154. package/dist/src/value-shape.js +36 -0
  155. package/dist/src/value-shape.js.map +1 -0
  156. package/dist/stubs/main.d.ts +3 -0
  157. package/dist/stubs/main.d.ts.map +1 -0
  158. package/dist/stubs/main.js +4 -0
  159. package/dist/stubs/main.js.map +1 -0
  160. package/dist/stubs/make/filter/main.stub +45 -0
  161. package/package.json +102 -0
  162. package/skills/filter-basics/SKILL.md +285 -0
  163. package/skills/filter-codegen/SKILL.md +246 -0
  164. package/skills/filter-definitions/SKILL.md +340 -0
  165. package/skills/filter-querying/SKILL.md +319 -0
  166. package/skills/filter-safety/SKILL.md +304 -0
  167. package/stubs/main.ts +4 -0
  168. package/stubs/make/filter/main.stub +45 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in_memory.js","sourceRoot":"","sources":["../../src/in_memory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /** Keep in sync with this package's `version` in package.json. */
2
+ export declare const VERSION = "0.0.0-beta-20261110131309";
3
+ /**
4
+ * The hook `node ace add @adonis-agora/filter` runs: ace looks for `configure` on the package's
5
+ * main entry. It registers the provider and the commands barrel in `adonisrc.ts`.
6
+ */
7
+ export { configure } from '../configure.js';
8
+ export type { LucidModelLike, LucidRelationLike } from './aggregate.js';
9
+ export { discoverAggregateSources } from './aggregate.js';
10
+ export type { AggregateFn, AggregatePath } from './aggregate_path.js';
11
+ export { parseAggregatePath } from './aggregate_path.js';
12
+ export type { ApplyCursorFromRequestOptions, ApplyFromRequestOptions, FilterRequestContext, } from './apply_from_request.js';
13
+ export { applyCursorFromRequest, applyFilterFromRequest } from './apply_from_request.js';
14
+ export { BaseFilter } from './base_filter.js';
15
+ export { BaseModelFilter } from './base_model_filter.js';
16
+ export type { CursorPage, CursorParams, CursorValues, ResolvedCursor } from './cursor.js';
17
+ export { buildCursorPage, buildKeyset, decodeCursor, encodeCursor, extractCursorValues, reverseKeyset, } from './cursor.js';
18
+ export type { ApplyCustomFilterOptions, CustomFilterClass } from './custom_filter.js';
19
+ export { applyCustomFilter } from './custom_filter.js';
20
+ export type { DualDecorator, StandardDecoratorContext } from './decorators.js';
21
+ export { filterable, filterFor, searchable, sortable } from './decorators.js';
22
+ export { escapeLike } from './escape-like.js';
23
+ export type { FieldAliases } from './field_aliases.js';
24
+ export { remapDistinctAliases, remapFilterAliases, remapSortAliases, resolveFieldAlias, } from './field_aliases.js';
25
+ export type { FilterClass } from './filter_class.js';
26
+ export { dispatchKeys, isFilterClass, methodForKey, specFromFilterClass, } from './filter_class.js';
27
+ export type { DefineFilterOptions, FilterSpec, RelationColumns, RelationSpec, TenantResolver, TenantScopeSpec, } from './filter_spec.js';
28
+ export { defineFilter, FilterDefinitionError, specToFilterConfig, } from './filter_spec.js';
29
+ export type { FilterableModelStatics } from './filterable_mixin.js';
30
+ export { Filterable } from './filterable_mixin.js';
31
+ export type { FilterClientEntry, FilterClientManifest, FilterFieldKind, FilterFieldTypeInfo, GeneratedFilterClient, GenerateFilterClientOptions, } from './generate_client.js';
32
+ export { filterableFieldPaths, generateFilterClient, generateFilterClients, sortableFieldPaths, } from './generate_client.js';
33
+ export type { GroupByCountAdapter, GroupByCountFromRequestOptions, GroupByCountRow, } from './group_by_count.js';
34
+ export { groupByCountFromRequest } from './group_by_count.js';
35
+ export { applyColumnFilters, applyComputedField, applyComputedSort, applyDistinct, applyFullTextSearch, applyGroupByCount, applyKeyset, applySearch, applySort, applyVectorSimilarity, type FullTextSearchOptions, type QueryBuilderLike, resolveComputedExpression, type VectorDistanceMetric, type VectorSimilarityOptions, } from './lucid_adapter.js';
36
+ export type { MacroableQueryBuilder } from './lucid_macros.js';
37
+ export { registerFilterMacros } from './lucid_macros.js';
38
+ export type { NormalizeOptions } from './normalizer.js';
39
+ export { normalizeInput } from './normalizer.js';
40
+ export type { ColumnFilter, FilterOperator, FilterOperatorAlias, FilterOperatorInput, } from './operators.js';
41
+ export { FILTER_OPERATORS, OPERATOR_ALIASES } from './operators.js';
42
+ export { parseDistinct, parseFilterRequest, parseGroupByCount, parseSort, toColumnFilters, } from './parse_request.js';
43
+ export type { CursorConfig, ResolvedPagination } from './runner.js';
44
+ export { applyCursor, applyFilter, applyFilterConditions, resolveSafeDistinct } from './runner.js';
45
+ export { resolveInputFromRequest } from './source_resolver.js';
46
+ export type { SpatieInput } from './spatie_parser.js';
47
+ export { parseSpatieRequest } from './spatie_parser.js';
48
+ export type { AllowList, ComputedContext, ComputedFields, ComputedSource, FilterConfig, FilterInput, FullTextSearchConfig, GroupByCountOptions, GroupByCountRequest, InputNormalizer, InputSource, SortItem, VectorSimilarityConfig, } from './types.js';
49
+ export { InvalidColumnFilterError, MAX_FILTER_DEPTH, normalizeOperator, validateColumnFilter, validateColumnFilters, } from './validate-column-filter.js';
50
+ export { isOperatorObject, valueToColumnFilters } from './value-shape.js';
51
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,eAAO,MAAM,OAAO,8BAA8B,CAAC;AAEnD;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,YAAY,EACV,6BAA6B,EAC7B,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC1F,OAAO,EACL,eAAe,EACf,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,mBAAmB,EACnB,UAAU,EACV,eAAe,EACf,YAAY,EACZ,cAAc,EACd,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,mBAAmB,EACnB,8BAA8B,EAC9B,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,SAAS,EACT,qBAAqB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,yBAAyB,EACzB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,GAC7B,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,YAAY,EACV,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,EACT,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACnG,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EACV,SAAS,EACT,eAAe,EACf,cAAc,EACd,cAAc,EACd,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,QAAQ,EACR,sBAAsB,GACvB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,33 @@
1
+ /** Keep in sync with this package's `version` in package.json. */
2
+ export const VERSION = '0.0.0-beta-20261110131309';
3
+ /**
4
+ * The hook `node ace add @adonis-agora/filter` runs: ace looks for `configure` on the package's
5
+ * main entry. It registers the provider and the commands barrel in `adonisrc.ts`.
6
+ */
7
+ export { configure } from '../configure.js';
8
+ export { discoverAggregateSources } from './aggregate.js';
9
+ export { parseAggregatePath } from './aggregate_path.js';
10
+ export { applyCursorFromRequest, applyFilterFromRequest } from './apply_from_request.js';
11
+ export { BaseFilter } from './base_filter.js';
12
+ export { BaseModelFilter } from './base_model_filter.js';
13
+ export { buildCursorPage, buildKeyset, decodeCursor, encodeCursor, extractCursorValues, reverseKeyset, } from './cursor.js';
14
+ export { applyCustomFilter } from './custom_filter.js';
15
+ export { filterable, filterFor, searchable, sortable } from './decorators.js';
16
+ export { escapeLike } from './escape-like.js';
17
+ export { remapDistinctAliases, remapFilterAliases, remapSortAliases, resolveFieldAlias, } from './field_aliases.js';
18
+ export { dispatchKeys, isFilterClass, methodForKey, specFromFilterClass, } from './filter_class.js';
19
+ export { defineFilter, FilterDefinitionError, specToFilterConfig, } from './filter_spec.js';
20
+ export { Filterable } from './filterable_mixin.js';
21
+ export { filterableFieldPaths, generateFilterClient, generateFilterClients, sortableFieldPaths, } from './generate_client.js';
22
+ export { groupByCountFromRequest } from './group_by_count.js';
23
+ export { applyColumnFilters, applyComputedField, applyComputedSort, applyDistinct, applyFullTextSearch, applyGroupByCount, applyKeyset, applySearch, applySort, applyVectorSimilarity, resolveComputedExpression, } from './lucid_adapter.js';
24
+ export { registerFilterMacros } from './lucid_macros.js';
25
+ export { normalizeInput } from './normalizer.js';
26
+ export { FILTER_OPERATORS, OPERATOR_ALIASES } from './operators.js';
27
+ export { parseDistinct, parseFilterRequest, parseGroupByCount, parseSort, toColumnFilters, } from './parse_request.js';
28
+ export { applyCursor, applyFilter, applyFilterConditions, resolveSafeDistinct } from './runner.js';
29
+ export { resolveInputFromRequest } from './source_resolver.js';
30
+ export { parseSpatieRequest } from './spatie_parser.js';
31
+ export { InvalidColumnFilterError, MAX_FILTER_DEPTH, normalizeOperator, validateColumnFilter, validateColumnFilters, } from './validate-column-filter.js';
32
+ export { isOperatorObject, valueToColumnFilters } from './value-shape.js';
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,MAAM,CAAC,MAAM,OAAO,GAAG,2BAA2B,CAAC;AAEnD;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAMzD,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EACL,eAAe,EACf,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,mBAAmB,EACnB,aAAa,GACd,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAS3B,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AASnD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,SAAS,EACT,qBAAqB,EAGrB,yBAAyB,GAG1B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAOjD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,EACT,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACnG,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAgBxD,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,311 @@
1
+ import type { ColumnFilter } from './operators.js';
2
+ import type { ComputedSource, GroupByCountOptions, SortItem } from './types.js';
3
+ /**
4
+ * The structural subset of a Lucid `ModelQueryBuilder` / `DatabaseQueryBuilder`
5
+ * the adapter drives. An `@adonisjs/lucid` query builder satisfies it — declared
6
+ * locally so the adapter never hard-imports Lucid (and stays unit-testable with a
7
+ * recording mock). The nested-callback `where`/`orWhere` overloads model Lucid's
8
+ * grouping closures used for AND/OR composition.
9
+ */
10
+ export interface QueryBuilderLike {
11
+ where(callback: (qb: QueryBuilderLike) => void): QueryBuilderLike;
12
+ where(column: string, value: unknown): QueryBuilderLike;
13
+ where(column: string, operator: string, value: unknown): QueryBuilderLike;
14
+ orWhere(callback: (qb: QueryBuilderLike) => void): QueryBuilderLike;
15
+ /**
16
+ * Constrain the query to rows whose `relation` has at least one related row
17
+ * matching the nested conditions — Lucid's `whereHas`. Used to translate a
18
+ * dotted relation-path filter (`posts.title = x`) into a real subquery
19
+ * (`whereHas('posts', (q) => q.where('title', x))`) instead of a dotted
20
+ * column reference. The recording mock implements it so relation translation
21
+ * stays unit-testable.
22
+ *
23
+ * `relation` is `any`, not `string`, and that is load-bearing: Lucid types its
24
+ * own `whereHas` as `<Name extends ExtractModelRelations<Model>>(relation: Name, ...)`
25
+ * — a union of the model's *literal* relation names. `string` is not assignable
26
+ * to that union, so declaring `relation: string` here makes every real Lucid
27
+ * builder fail to satisfy this interface, and TS reports the failure against
28
+ * `where` (the first member it tries), which sends you hunting in the wrong
29
+ * place. Widening the member to optional does NOT help: an optional member
30
+ * that is present is still checked. Since the parameter must accept the
31
+ * `string` the adapter passes AND be assignable to each model's relation-name
32
+ * union, `any` is the only type that works.
33
+ */
34
+ whereHas(relation: any, callback: (qb: QueryBuilderLike) => void): QueryBuilderLike;
35
+ /** Negate a grouped sub-condition — Lucid's `whereNot(callback)`, compiling to `NOT (...)`. */
36
+ whereNot(callback: (qb: QueryBuilderLike) => void): QueryBuilderLike;
37
+ whereNot(column: string, value: unknown): QueryBuilderLike;
38
+ whereIn(column: string, values: unknown[]): QueryBuilderLike;
39
+ whereNotIn(column: string, values: unknown[]): QueryBuilderLike;
40
+ whereNull(column: string): QueryBuilderLike;
41
+ whereNotNull(column: string): QueryBuilderLike;
42
+ whereBetween(column: string, range: [unknown, unknown]): QueryBuilderLike;
43
+ whereNotBetween(column: string, range: [unknown, unknown]): QueryBuilderLike;
44
+ whereILike(column: string, value: string): QueryBuilderLike;
45
+ orWhereILike(column: string, value: string): QueryBuilderLike;
46
+ orderBy(column: string, direction: 'asc' | 'desc'): QueryBuilderLike;
47
+ /**
48
+ * Project columns — Lucid's `select`. Optional on the seam: only aggregations need it
49
+ * (entity-row listings select whole rows), so a minimal custom implementation can omit it
50
+ * until it serves a `groupByCount`.
51
+ */
52
+ select?: (...columns: string[]) => unknown;
53
+ /**
54
+ * Aggregate rows — Lucid's `count`. Optional, same reason as {@link select}: only the
55
+ * group-by-count aggregation calls it, with a `'* AS count'`-style argument.
56
+ */
57
+ count?: (column: string) => unknown;
58
+ /**
59
+ * Group rows — Lucid's `groupBy`. Optional, same reason: only the group-by-count aggregation
60
+ * calls it.
61
+ */
62
+ groupBy?: (...columns: string[]) => unknown;
63
+ /**
64
+ * Skip rows — Lucid's `offset`. Optional: entity-row pagination goes through Lucid's own
65
+ * `paginate`, so only the group-by-count aggregation pages with limit/offset directly.
66
+ */
67
+ offset?: (n: number) => unknown;
68
+ /**
69
+ * Add a raw SQL predicate with positional bindings — Lucid's `whereRaw`. The
70
+ * escape hatch for constraints no structured method can express, used here for
71
+ * pgvector similarity (`embedding <=> ?::vector < ?`). `sql` is server-authored
72
+ * (never client text); every user value travels as a `?` binding. Optional on
73
+ * real Lucid builders; the recording mock implements it so vector translation
74
+ * stays unit-testable and the package stays framework-free.
75
+ */
76
+ whereRaw(sql: string, bindings?: readonly unknown[]): QueryBuilderLike;
77
+ /**
78
+ * Add a raw SQL ordering with positional bindings — Lucid's `orderByRaw`. Used
79
+ * to order by a pgvector distance expression (`embedding <=> ?::vector asc`),
80
+ * which no column-name `orderBy` can express. Same seam contract as
81
+ * {@link QueryBuilderLike.whereRaw}.
82
+ */
83
+ orderByRaw(sql: string, bindings?: readonly unknown[]): QueryBuilderLike;
84
+ /**
85
+ * Restrict the query to DISTINCT tuples of `columns` — Lucid's `distinct`.
86
+ * Used by {@link applyDistinct} to execute a client `.distinct(...)`
87
+ * projection. The columns are the already alias-resolved, allow-listed field
88
+ * names; a variadic column list matches Lucid's signature exactly. Optional on
89
+ * real Lucid builders; the recording mock implements it so the translation
90
+ * stays unit-testable.
91
+ */
92
+ distinct(...columns: string[]): QueryBuilderLike;
93
+ limit(count: number): QueryBuilderLike;
94
+ }
95
+ /**
96
+ * A pgvector distance metric → the operator applied between the vector column and
97
+ * the query embedding:
98
+ *
99
+ * - `'cosine'` — cosine distance, pgvector `<=>` (default; the usual choice for
100
+ * normalized embeddings).
101
+ * - `'l2'` — Euclidean / L2 distance, pgvector `<->`.
102
+ * - `'innerProduct'` — negative inner product, pgvector `<#>`.
103
+ *
104
+ * All three are *distance* operators (smaller = more similar), so nearest-first
105
+ * ranking is always ascending order.
106
+ */
107
+ export type VectorDistanceMetric = 'cosine' | 'l2' | 'innerProduct';
108
+ /**
109
+ * Options for {@link applyVectorSimilarity} — an **embedding similarity** ordering
110
+ * (pgvector) against a `vector` column. This is DISTINCT from full-text search
111
+ * ({@link applyFullTextSearch}): here a query *embedding* is ranked against the
112
+ * column by a distance metric, optionally filtered by a distance threshold and
113
+ * truncated to the top-K nearest rows. (Full-text search matches a text *query
114
+ * string* against a tsvector document.)
115
+ */
116
+ export interface VectorSimilarityOptions {
117
+ /** The pgvector column to compare the query embedding against (e.g. `'embedding'`). */
118
+ column: string;
119
+ /** The query embedding — the vector rows are ranked by similarity to. */
120
+ vector: readonly number[];
121
+ /** Distance metric → pgvector operator. Default `'cosine'` (`<=>`). */
122
+ metric?: VectorDistanceMetric;
123
+ /**
124
+ * Keep only rows whose distance to the query embedding is strictly below this
125
+ * value (a `WHERE embedding <=> ? < threshold`). Omitted → no distance filter.
126
+ */
127
+ threshold?: number;
128
+ /**
129
+ * Limit the result to the K nearest rows (a `LIMIT`). Omitted → no limit is
130
+ * added here (the caller's pagination still applies).
131
+ */
132
+ topK?: number;
133
+ /**
134
+ * Order by ascending distance (nearest first). Default `true`. Set `false` to
135
+ * apply only a threshold filter without changing the query's ordering.
136
+ */
137
+ order?: boolean;
138
+ }
139
+ /**
140
+ * Apply an **embedding similarity** ordering (pgvector) to a Lucid query builder.
141
+ *
142
+ * This is *not* full-text search — it ranks rows by distance between a stored
143
+ * embedding column and a query *embedding vector*. For matching a text query
144
+ * string, use {@link applyFullTextSearch} instead.
145
+ *
146
+ * pgvector expresses similarity through raw distance operators (`<=>`, `<->`,
147
+ * `<#>`) that no structured query-builder method covers, so this drives the
148
+ * adapter's raw seam ({@link QueryBuilderLike.whereRaw}/`orderByRaw`) with the
149
+ * query embedding passed as a positional binding — the column name is the only
150
+ * interpolated fragment, and it is validated against a strict identifier charset
151
+ * so it can never carry injection. The distance expression is
152
+ * `<column> <op> ?::vector`, cast to `vector` so a text binding compares against
153
+ * the column.
154
+ *
155
+ * A no-op when the embedding is empty. When `order` is not `false`, rows are
156
+ * ordered nearest-first (ascending distance); `threshold` adds a max-distance
157
+ * filter; `topK` truncates to the K nearest.
158
+ */
159
+ export declare function applyVectorSimilarity(qb: QueryBuilderLike, opts: VectorSimilarityOptions): void;
160
+ /**
161
+ * Options for {@link applyFullTextSearch} — a Postgres **tsvector full-text
162
+ * search** (the parity behavior of the NestJS reference's `applyVectorSearch`).
163
+ * The user query string is matched against a text-search document with
164
+ * `websearch_to_tsquery` and the `@@` operator, optionally ranked by `ts_rank`.
165
+ *
166
+ * This is DISTINCT from {@link VectorSimilarityOptions} (embedding similarity):
167
+ * here the input is arbitrary *text*, tokenized by a language config; there the
168
+ * input is a numeric *embedding vector*.
169
+ */
170
+ export interface FullTextSearchOptions {
171
+ /**
172
+ * The user's raw search text. Always passed as a positional binding to
173
+ * `websearch_to_tsquery` — never interpolated into SQL. A no-op when blank.
174
+ */
175
+ query: string;
176
+ /**
177
+ * The document to match against. Either a single precomputed `tsvector`
178
+ * column (matched directly with `@@`), or one-or-more plain text columns that
179
+ * are wrapped in `to_tsvector(<language>, ...)` at query time (see
180
+ * {@link FullTextSearchOptions.columnKind}). Passing multiple columns implies
181
+ * `'text'`.
182
+ */
183
+ column: string | readonly string[];
184
+ /**
185
+ * Postgres text-search config / language used for both `websearch_to_tsquery`
186
+ * and any `to_tsvector` wrapping (e.g. `'english'`, `'simple'`). Default
187
+ * `'english'`. Validated against the strict identifier charset before it is
188
+ * spliced into SQL.
189
+ */
190
+ language?: string;
191
+ /**
192
+ * Add relevance ordering for matched rows (`ORDER BY ts_rank(...) DESC`). Off
193
+ * by default because it changes the query's default ordering; opt in for
194
+ * best-match-first results.
195
+ */
196
+ rank?: boolean;
197
+ /**
198
+ * How {@link FullTextSearchOptions.column} is treated:
199
+ * - `'tsvector'` — a precomputed `tsvector` column, matched directly (`col @@ ...`);
200
+ * - `'text'` — plain text column(s), wrapped in `to_tsvector(<language>, col ...)`.
201
+ *
202
+ * Defaults to `'tsvector'` for a single column and `'text'` when multiple
203
+ * columns are given.
204
+ */
205
+ columnKind?: 'tsvector' | 'text';
206
+ }
207
+ /**
208
+ * Apply a Postgres **tsvector full-text search** to a Lucid query builder — the
209
+ * parity port of the NestJS reference's `applyVectorSearch` (tsvector), NOT the
210
+ * embedding similarity {@link applyVectorSimilarity}.
211
+ *
212
+ * Injection-safety: the user `query` string ALWAYS travels as a positional
213
+ * binding (`websearch_to_tsquery('<lang>', ?)`); it is never interpolated.
214
+ * `websearch_to_tsquery` (not the raw `to_tsquery`) parses arbitrary user input
215
+ * — multi-word text, `"quoted phrases"`, `-exclude`, `or` — without throwing a
216
+ * syntax error. The only spliced fragments are the column name(s) and the
217
+ * language config, each validated against the strict identifier charset
218
+ * ({@link SAFE_IDENTIFIER}) before use, so neither can carry injection.
219
+ *
220
+ * The match predicate is `<document> @@ websearch_to_tsquery('<lang>', ?)` where
221
+ * `<document>` is either the tsvector column directly, or
222
+ * `to_tsvector('<lang>', coalesce(col1,'') || ' ' || coalesce(col2,''))` for
223
+ * text columns. When `rank` is set, rows are additionally ordered by descending
224
+ * `ts_rank(<document>, websearch_to_tsquery('<lang>', ?))`. A no-op for a blank
225
+ * query.
226
+ */
227
+ export declare function applyFullTextSearch(qb: QueryBuilderLike, opts: FullTextSearchOptions): void;
228
+ /** Apply an array of column filters (combined with AND) to a Lucid query builder. */
229
+ export declare function applyColumnFilters(qb: QueryBuilderLike, filters: ColumnFilter[]): void;
230
+ /** Apply sort directives to a Lucid query builder, in order. */
231
+ export declare function applySort(qb: QueryBuilderLike, sorts: SortItem[]): void;
232
+ /**
233
+ * Apply a DISTINCT projection over `columns` to a Lucid query builder — the
234
+ * executable half of the client's `.distinct(...)` (which until now the server
235
+ * silently ignored). A no-op for an empty list. The columns are the
236
+ * already-validated, alias-resolved field names (the runner resolves aliases and
237
+ * enforces the allow-list before calling this), so nothing client-controlled is
238
+ * interpolated: Lucid quotes each identifier itself.
239
+ */
240
+ export declare function applyDistinct(qb: QueryBuilderLike, columns: string[]): void;
241
+ /**
242
+ * Terminal group-by-count aggregation over one column:
243
+ * `SELECT <col> AS value, COUNT(*) AS count … GROUP BY <col>`, most groups first —
244
+ * what populates a filter dropdown. `column` must already be validated (allow-listed): it is
245
+ * interpolated as an identifier, while every client VALUE rides a positional binding.
246
+ *
247
+ * Fixed ordering (count desc, value asc) is load-bearing, not cosmetic: the answer is pageable,
248
+ * and paging an unordered listing repeats and skips rows.
249
+ *
250
+ * Requires a builder carrying the optional aggregation seam (`select`/`count`/`groupBy`/`offset`);
251
+ * throws a plain `Error` naming the missing method otherwise, so a minimal custom implementation
252
+ * fails loudly instead of silently returning entity rows.
253
+ */
254
+ export declare function applyGroupByCount(qb: QueryBuilderLike, column: string, opts?: GroupByCountOptions): void;
255
+ /**
256
+ * Resolve a {@link ComputedSource} to its final SQL expression string. The
257
+ * string form is verbatim; the function form is invoked with the root table
258
+ * {@link ComputedContext} so it can splice the outer alias into a correlated
259
+ * subquery. Either way the result is dev-authored — never client text.
260
+ */
261
+ export declare function resolveComputedExpression(source: ComputedSource, alias: string): string;
262
+ /**
263
+ * Apply a filter on a dev-declared **computed field** to a Lucid query builder.
264
+ *
265
+ * The already-resolved `expression` is inlined as the raw left-hand side (it is
266
+ * dev-authored — a verbatim string or a function's output — never client text);
267
+ * the client's filter VALUE always rides through as a positional `?` binding,
268
+ * exactly the injection-safety contract real-column filters have. The whole
269
+ * expression is parenthesized so a compound source
270
+ * (`first || ' ' || last`, `(SELECT …)`) composes under the operator without a
271
+ * precedence surprise.
272
+ */
273
+ export declare function applyComputedField(qb: QueryBuilderLike, expression: string, filter: ColumnFilter): void;
274
+ /**
275
+ * Append an ORDER BY on a dev-declared **computed field** to a Lucid query
276
+ * builder via `orderByRaw`. Uses append semantics (like `orderBy`) so a computed
277
+ * sort composes with real-column sorts in request order. The expression is
278
+ * dev-authored and parenthesized; the direction is a validated literal.
279
+ */
280
+ export declare function applyComputedSort(qb: QueryBuilderLike, expression: string, direction: 'asc' | 'desc'): void;
281
+ /**
282
+ * Apply a keyset (cursor) seek predicate to a Lucid query builder for row-value
283
+ * comparison across the keyset columns.
284
+ *
285
+ * Given a keyset (the active sort columns plus a primary-key tiebreaker, each
286
+ * with a direction) and a boundary row's values, this constrains the query to
287
+ * rows strictly *after* the boundary in keyset order. The row-value comparison
288
+ * is expanded into the portable "OR of AND tiers" form that works across all
289
+ * SQL dialects:
290
+ *
291
+ * ```text
292
+ * (c0 OP0 v0)
293
+ * OR (c0 = v0 AND c1 OP1 v1)
294
+ * OR (c0 = v0 AND c1 = v1 AND c2 OP2 v2) ...
295
+ * ```
296
+ *
297
+ * where `OPi` is `>` for an `asc` column and `<` for a `desc` column. The whole
298
+ * predicate is wrapped in one AND-group so it composes with any existing
299
+ * `where` conditions. A no-op when the keyset is empty or `values` does not line
300
+ * up positionally with it.
301
+ *
302
+ * With more than one column, the group is preceded by the bound every tier
303
+ * already implies, `c0 >= v0` (`<=` for `desc`): Postgres cannot derive an index
304
+ * range from the OR form alone and would scan from the start of the index. The
305
+ * bound is skipped when `v0` is null, where the OR form matches no `c0 > NULL`
306
+ * tier and a `>= NULL` bound would wrongly match nothing.
307
+ */
308
+ export declare function applyKeyset(qb: QueryBuilderLike, keyset: SortItem[], values: unknown[]): void;
309
+ /** Apply a free-text ILIKE search across `columns` (OR-combined) to a Lucid query builder. */
310
+ export declare function applySearch(qb: QueryBuilderLike, term: string, columns: string[]): void;
311
+ //# sourceMappingURL=lucid_adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lucid_adapter.d.ts","sourceRoot":"","sources":["../../src/lucid_adapter.ts"],"names":[],"mappings":"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"}