|
1 | 1 | import type { PascalToCamelCase } from "./shared.js";
|
2 | 2 |
|
| 3 | +/** @see `milli::filterable_attributes_rules::FilterFeatures` */ |
| 4 | +export type FilterFeatures = { |
| 5 | + equality?: boolean; |
| 6 | + comparison?: boolean; |
| 7 | +}; |
| 8 | + |
| 9 | +/** @see `milli::filterable_attributes_rules::FilterableAttributesFeatures` */ |
| 10 | +export type FilterableAttributesFeatures = { |
| 11 | + facetSearch?: boolean; |
| 12 | + filter?: FilterFeatures; |
| 13 | +}; |
| 14 | + |
| 15 | +/** @see `milli::filterable_attributes_rules::FilterableAttributesPatterns` */ |
| 16 | +export type FilterableAttributesPatterns = { |
| 17 | + attributePatterns: string[]; |
| 18 | + features?: FilterableAttributesFeatures; |
| 19 | +}; |
| 20 | + |
| 21 | +/** @see `milli::filterable_attributes_rules::FilterableAttributesRule` */ |
| 22 | +export type FilterableAttributesRule = string | FilterableAttributesPatterns; |
| 23 | + |
3 | 24 | /** Deeply map every property of a record to itself excluding null. */
|
4 | 25 | type NonNullableDeepRecordValues<T> = {
|
5 | 26 | [TKey in keyof T]: Exclude<NonNullableDeepRecordValues<T[TKey]>, null>;
|
@@ -63,17 +84,24 @@ export type FacetingSettings = PartialAndNullable<{
|
63 | 84 | export type PaginationSettings = PartialAndNullable<{ maxTotalHits: number }>;
|
64 | 85 |
|
65 | 86 | /**
|
66 |
| - * @see `distribution` at {@link https://www.meilisearch.com/docs/reference/api/settings#embedders} |
| 87 | + * `distribution` at |
| 88 | + * {@link https://www.meilisearch.com/docs/reference/api/settings#embedders} |
| 89 | + * |
67 | 90 | * @see `milli::vector::DistributionShift`
|
68 | 91 | */
|
69 | 92 | export type DistributionShift = {
|
70 | 93 | mean: number;
|
71 | 94 | sigma: number;
|
72 | 95 | };
|
73 | 96 |
|
74 |
| -/** @see `source` at {@link https://www.meilisearch.com/docs/reference/api/settings#embedders} */ |
| 97 | +/** |
| 98 | + * `source` at |
| 99 | + * {@link https://www.meilisearch.com/docs/reference/api/settings#embedders} |
| 100 | + * |
| 101 | + * @see `milli::vector::settings::EmbedderSource` |
| 102 | + */ |
75 | 103 | export type EmbedderSource = PascalToCamelCase<
|
76 |
| - "OpenAi" | "HuggingFace" | "Ollama" | "UserProvided" | "Rest" |
| 104 | + "OpenAi" | "HuggingFace" | "Ollama" | "UserProvided" | "Rest" | "Composite" |
77 | 105 | >;
|
78 | 106 |
|
79 | 107 | /** @see `milli::vector::hf::OverridePooling` */
|
@@ -105,9 +133,8 @@ export type SubEmbeddingSettings = PartialAndNullable<{
|
105 | 133 | export type EmbeddingSettings = PartialAndNullable<{
|
106 | 134 | distribution: DistributionShift;
|
107 | 135 | binaryQuantized: boolean;
|
108 |
| - // upcoming properties |
109 |
| - // searchEmbedder: SubEmbeddingSettings; |
110 |
| - // indexingEmbedder: SubEmbeddingSettings; |
| 136 | + searchEmbedder: SubEmbeddingSettings; |
| 137 | + indexingEmbedder: SubEmbeddingSettings; |
111 | 138 | }> &
|
112 | 139 | SubEmbeddingSettings;
|
113 | 140 |
|
@@ -146,7 +173,7 @@ export type UpdatableSettings = PartialAndNullable<{
|
146 | 173 | /** {@link https://www.meilisearch.com/docs/reference/api/settings#searchable-attributes} */
|
147 | 174 | searchableAttributes: string[];
|
148 | 175 | /** {@link https://www.meilisearch.com/docs/reference/api/settings#filterable-attributes} */
|
149 |
| - filterableAttributes: string[]; |
| 176 | + filterableAttributes: FilterableAttributesRule[]; |
150 | 177 | /** {@link https://www.meilisearch.com/docs/reference/api/settings#sortable-attributes} */
|
151 | 178 | sortableAttributes: string[];
|
152 | 179 | /** {@link https://www.meilisearch.com/docs/reference/api/settings#ranking-rules} */
|
|
0 commit comments