@medusajs/types 2.20.1 → 2.20.2-preview-20260904113944
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.
- package/dist/search/index-definition.d.ts +21 -6
- package/dist/search/index-definition.d.ts.map +1 -1
- package/dist/search/migration.d.ts +26 -22
- package/dist/search/migration.d.ts.map +1 -1
- package/dist/search/provider.d.ts +15 -47
- package/dist/search/provider.d.ts.map +1 -1
- package/dist/search/query.d.ts +8 -3
- package/dist/search/query.d.ts.map +1 -1
- package/dist/search/schema.d.ts +12 -2
- package/dist/search/schema.d.ts.map +1 -1
- package/dist/search/service.d.ts +7 -9
- package/dist/search/service.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -75,7 +75,7 @@ export interface SearchIndexSettings {
|
|
|
75
75
|
}
|
|
76
76
|
/**
|
|
77
77
|
* A change to apply to a search index, as returned by an index definition's
|
|
78
|
-
* `consume` function.
|
|
78
|
+
* `consume` or `seed` function.
|
|
79
79
|
*/
|
|
80
80
|
export type SearchMutation = {
|
|
81
81
|
/**
|
|
@@ -134,6 +134,18 @@ export interface SearchSeedContext extends SearchIngestionContext {
|
|
|
134
134
|
* The `last_key` of an interrupted run, when resuming one.
|
|
135
135
|
*/
|
|
136
136
|
last_key?: string;
|
|
137
|
+
/**
|
|
138
|
+
* Set for the catch-up pass that runs after a full seed, to pick up
|
|
139
|
+
* anything that changed while that seed was running.
|
|
140
|
+
*/
|
|
141
|
+
catchup?: {
|
|
142
|
+
/**
|
|
143
|
+
* Only rows updated at or after this date matter to the catch-up pass.
|
|
144
|
+
* Query with `withDeleted: true` and yield a `delete` mutation for a row
|
|
145
|
+
* whose `deleted_at` is set, an `upsert` otherwise.
|
|
146
|
+
*/
|
|
147
|
+
since: Date;
|
|
148
|
+
};
|
|
137
149
|
}
|
|
138
150
|
/**
|
|
139
151
|
* One search index, declared. The module owns everything around it: creating and
|
|
@@ -179,10 +191,11 @@ export interface SearchIndexDefinition {
|
|
|
179
191
|
*/
|
|
180
192
|
consume?: (event: Event<any>, context: SearchIngestionContext) => Promise<SearchMutation[]>;
|
|
181
193
|
/**
|
|
182
|
-
* Yields
|
|
183
|
-
*
|
|
194
|
+
* Yields mutations in batches — the same shape `consume` returns, so a
|
|
195
|
+
* seed can express a delete, not just an upsert. Ran when there is no data
|
|
196
|
+
* in the index, on reindex, and for the catch-up pass after a full seed.
|
|
184
197
|
*/
|
|
185
|
-
seed: (context: SearchSeedContext) => AsyncIterable<
|
|
198
|
+
seed: (context: SearchSeedContext) => AsyncIterable<SearchMutation[]>;
|
|
186
199
|
}
|
|
187
200
|
/**
|
|
188
201
|
* An index definition with the module's defaults applied and a provider resolved.
|
|
@@ -206,8 +219,10 @@ export interface ResolvedSearchIndexDefinition extends SearchIndexDefinition {
|
|
|
206
219
|
*/
|
|
207
220
|
definition_hash: string;
|
|
208
221
|
/**
|
|
209
|
-
* The
|
|
210
|
-
*
|
|
222
|
+
* The root physical index name, derived from `name` and the module's
|
|
223
|
+
* `index_prefix`. Never queried directly: each version of this index gets its
|
|
224
|
+
* own physical index derived from this root, and the module resolves which
|
|
225
|
+
* one is currently active before reading or writing.
|
|
211
226
|
*/
|
|
212
227
|
physical_name: string;
|
|
213
228
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-definition.d.ts","sourceRoot":"","sources":["../../src/search/index-definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEzC;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAEnC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IAErB;;OAEG;IACH,cAAc,CAAC,EAAE;QACf;;WAEG;QACH,OAAO,CAAC,EAAE,OAAO,CAAA;QAEjB;;WAEG;QACH,0BAA0B,CAAC,EAAE,MAAM,CAAA;QAEnC;;WAEG;QACH,2BAA2B,CAAC,EAAE,MAAM,CAAA;QAEpC;;WAEG;QACH,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAA;KAClC,CAAA;IAED;;OAEG;IACH,QAAQ,CAAC,EAAE;QACT;;WAEG;QACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;QAE7B;;WAEG;QACH,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;KAC5B,CAAA;IAED;;OAEG;IACH,UAAU,CAAC,EAAE;QACX;;WAEG;QACH,cAAc,CAAC,EAAE,MAAM,CAAA;KACxB,CAAA;IAED;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAE3B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAElB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAC3D;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,GACtB;IACE;;;OAGG;IACH,MAAM,EAAE,QAAQ,CAAA;IAEhB;;OAEG;IACH,SAAS,EAAE,cAAc,EAAE,CAAA;CAC5B;AACH;;;;;GAKG;GACD;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,CAAA;AAEhD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,KAAK,EAAE,mBAAmB,CAAA;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,SAAS,EAAE,eAAe,CAAA;IAE1B;;OAEG;IACH,KAAK,EAAE,qBAAqB,CAAA;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,sBAAsB;IAC/D;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAEjC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"index-definition.d.ts","sourceRoot":"","sources":["../../src/search/index-definition.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
*/
|
|
8
8
|
export type SearchIndexMigrationAction = {
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
10
|
+
* No version of this index has ever gone live. A new version is built,
|
|
11
|
+
* to be filled and made active at application start.
|
|
12
12
|
*/
|
|
13
13
|
action: "create";
|
|
14
14
|
/**
|
|
@@ -16,46 +16,50 @@ export type SearchIndexMigrationAction = {
|
|
|
16
16
|
*/
|
|
17
17
|
index: string;
|
|
18
18
|
/**
|
|
19
|
-
* The physical index
|
|
19
|
+
* The physical index the new version is built under.
|
|
20
20
|
*/
|
|
21
21
|
physical_name: string;
|
|
22
22
|
/**
|
|
23
|
-
* A hash of the definition the
|
|
23
|
+
* A hash of the definition the version is created from.
|
|
24
24
|
*/
|
|
25
25
|
definition_hash: string;
|
|
26
|
+
/**
|
|
27
|
+
* The new version's number.
|
|
28
|
+
*/
|
|
29
|
+
version: number;
|
|
26
30
|
} | {
|
|
27
31
|
/**
|
|
28
|
-
* The definition changed.
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
* On a provider with `swapIndex`, the new schema is built alongside the
|
|
32
|
-
* live index and aliased over once seeded, so reads never see a half-built
|
|
33
|
-
* index. Without one there is nowhere to build, so the live index is
|
|
34
|
-
* replaced in place and holds nothing until the seed runs — which
|
|
35
|
-
* `physical_name === live_physical_name` is the signal for.
|
|
32
|
+
* The definition changed. A new version is built alongside the version
|
|
33
|
+
* currently serving reads. Only the build happens here — filling the new
|
|
34
|
+
* version and making it active happens at application start.
|
|
36
35
|
*/
|
|
37
36
|
action: "migrate";
|
|
38
|
-
/** The index being built. Derived from `definition_hash` when swapping. */
|
|
39
|
-
physical_name: string;
|
|
40
|
-
/** The index serving reads now. */
|
|
41
|
-
live_physical_name: string;
|
|
42
37
|
/**
|
|
43
38
|
* The name of the index being migrated.
|
|
44
39
|
*/
|
|
45
40
|
index: string;
|
|
46
41
|
/**
|
|
47
|
-
*
|
|
42
|
+
* The physical index the new version is built under.
|
|
43
|
+
*/
|
|
44
|
+
physical_name: string;
|
|
45
|
+
/**
|
|
46
|
+
* A hash of the definition the new version is built from.
|
|
48
47
|
*/
|
|
49
48
|
definition_hash: string;
|
|
50
49
|
/**
|
|
51
|
-
*
|
|
50
|
+
* The new version's number.
|
|
52
51
|
*/
|
|
53
|
-
|
|
54
|
-
/** The
|
|
52
|
+
version: number;
|
|
53
|
+
/** The physical index of the version currently serving reads. */
|
|
54
|
+
active_physical_name: string;
|
|
55
|
+
/** A hash of the definition the active version was built from. */
|
|
56
|
+
active_definition_hash: string;
|
|
57
|
+
/** The provider the new version is built on. */
|
|
55
58
|
provider: string;
|
|
56
59
|
/**
|
|
57
|
-
* The provider that currently
|
|
58
|
-
* from `provider`, so
|
|
60
|
+
* The provider that holds the version currently serving reads. Set only
|
|
61
|
+
* when it differs from `provider`, so a later migration knows to clean up
|
|
62
|
+
* the previous engine's data once this version becomes active.
|
|
59
63
|
*/
|
|
60
64
|
previous_provider?: string;
|
|
61
65
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../src/search/migration.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,MAAM,0BAA0B,GAClC;IACE;;;OAGG;IACH,MAAM,EAAE,QAAQ,CAAA;IAEhB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"migration.d.ts","sourceRoot":"","sources":["../../src/search/migration.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,MAAM,0BAA0B,GAClC;IACE;;;OAGG;IACH,MAAM,EAAE,QAAQ,CAAA;IAEhB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;CAChB,GACD;IACE;;;;OAIG;IACH,MAAM,EAAE,SAAS,CAAA;IAEjB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf,iEAAiE;IACjE,oBAAoB,EAAE,MAAM,CAAA;IAE5B,kEAAkE;IAClE,sBAAsB,EAAE,MAAM,CAAA;IAE9B,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAA;IAEhB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B,GACD;IACE;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA"}
|
|
@@ -11,7 +11,7 @@ export interface ProviderSearchQuery extends Omit<SearchQuery, "entity" | "field
|
|
|
11
11
|
/**
|
|
12
12
|
* The resolved definition of the index to query. Use its `physical_name` as
|
|
13
13
|
* the index to query, since it differs from the index's name under an index
|
|
14
|
-
* prefix or
|
|
14
|
+
* prefix or between versions.
|
|
15
15
|
*/
|
|
16
16
|
index: ResolvedSearchIndexDefinition;
|
|
17
17
|
/**
|
|
@@ -41,11 +41,11 @@ export interface SearchDeleteDocumentsInput {
|
|
|
41
41
|
filters: SearchFilters;
|
|
42
42
|
}
|
|
43
43
|
/**
|
|
44
|
-
* Contract implemented by a search engine provider.
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
* that runs `search` concurrently; override it to pack queries into
|
|
48
|
-
* engine round-trip.
|
|
44
|
+
* Contract implemented by a search engine provider. The optional
|
|
45
|
+
* `waitForTask` method is omitted from the abstract class on purpose — define
|
|
46
|
+
* it only if your engine applies writes asynchronously. `searchMany` has a
|
|
47
|
+
* default that runs `search` concurrently; override it to pack queries into
|
|
48
|
+
* one engine round-trip.
|
|
49
49
|
*/
|
|
50
50
|
export interface ISearchProvider {
|
|
51
51
|
/**
|
|
@@ -104,7 +104,7 @@ export interface ISearchProvider {
|
|
|
104
104
|
}): Promise<SearchTask>;
|
|
105
105
|
/**
|
|
106
106
|
* This method deletes an index and everything in it. The Search Module calls it
|
|
107
|
-
* to clean up an
|
|
107
|
+
* to clean up an old version of an index once a newer one has taken over.
|
|
108
108
|
*
|
|
109
109
|
* @param {object} input - The index to delete.
|
|
110
110
|
* @param {string} input.index - The index's physical name.
|
|
@@ -147,50 +147,17 @@ export interface ISearchProvider {
|
|
|
147
147
|
* }
|
|
148
148
|
*/
|
|
149
149
|
listIndexes(): Promise<SearchIndexInfo[]>;
|
|
150
|
-
/**
|
|
151
|
-
* This method points a logical index at a different physical index, which the
|
|
152
|
-
* Search Module uses to reindex without downtime: it seeds a shadow index, then
|
|
153
|
-
* swaps it in.
|
|
154
|
-
*
|
|
155
|
-
* Implementing this method is optional. When it's not implemented, the module
|
|
156
|
-
* reindexes in place instead, leaving the index incomplete while it's seeded.
|
|
157
|
-
*
|
|
158
|
-
* @param {object} input - The swap to perform.
|
|
159
|
-
* @param {string} input.alias - The logical index name that must serve reads.
|
|
160
|
-
* @param {string} input.index - The physical index it must point to.
|
|
161
|
-
* @returns {Promise<SearchTask>} The swap's task.
|
|
162
|
-
*
|
|
163
|
-
* @example
|
|
164
|
-
* class MySearchProviderService extends AbstractSearchProviderService {
|
|
165
|
-
* // ...
|
|
166
|
-
* async swapIndex({
|
|
167
|
-
* alias,
|
|
168
|
-
* index,
|
|
169
|
-
* }: {
|
|
170
|
-
* alias: string
|
|
171
|
-
* index: string
|
|
172
|
-
* }): Promise<SearchTypes.SearchTask> {
|
|
173
|
-
* await this.client.updateAlias(alias, index)
|
|
174
|
-
*
|
|
175
|
-
* return { index, status: "succeeded" }
|
|
176
|
-
* }
|
|
177
|
-
* }
|
|
178
|
-
*/
|
|
179
|
-
swapIndex?(input: {
|
|
180
|
-
alias: string;
|
|
181
|
-
index: string;
|
|
182
|
-
}): Promise<SearchTask>;
|
|
183
150
|
/**
|
|
184
151
|
* This method adds documents to an index, replacing any that already exist under the same
|
|
185
152
|
* ID. The Search Module uses it both for direct writes and for seeding, where it's called
|
|
186
153
|
* once per batch.
|
|
187
154
|
*
|
|
188
155
|
* If your engine applies writes later rather than inline, return a task with an `id` and
|
|
189
|
-
* implement `waitForTask`, so the module can wait before
|
|
156
|
+
* implement `waitForTask`, so the module can wait before making a new version active.
|
|
190
157
|
*
|
|
191
158
|
* Write to `input.index` but read schema information from `input.definition`:
|
|
192
|
-
*
|
|
193
|
-
* definition is that of the logical index.
|
|
159
|
+
* while a new version is being seeded, `input.index` is that version's
|
|
160
|
+
* physical index, whereas the definition is that of the logical index.
|
|
194
161
|
*
|
|
195
162
|
* @param {object} input - The documents to write.
|
|
196
163
|
* @param {string} input.index - The index's physical name. This is the index to
|
|
@@ -224,8 +191,9 @@ export interface ISearchProvider {
|
|
|
224
191
|
index: string;
|
|
225
192
|
/**
|
|
226
193
|
* The logical definition whose documents are being written. `index` can
|
|
227
|
-
* point at a
|
|
228
|
-
* this value for schema information and `index` for
|
|
194
|
+
* point at a version's physical index while it is being seeded, so
|
|
195
|
+
* providers must use this value for schema information and `index` for
|
|
196
|
+
* the destination.
|
|
229
197
|
*/
|
|
230
198
|
definition: ResolvedSearchIndexDefinition;
|
|
231
199
|
documents: SearchDocument[];
|
|
@@ -290,7 +258,7 @@ export interface ISearchProvider {
|
|
|
290
258
|
* Compile `input.filters` to your engine's filter syntax, and reject the
|
|
291
259
|
* operators it can't express rather than approximating them. Also, use
|
|
292
260
|
* `input.index.physical_name` as the index to query, not `input.index.name`,
|
|
293
|
-
* since the two differ under an index prefix or
|
|
261
|
+
* since the two differ under an index prefix or between versions.
|
|
294
262
|
*
|
|
295
263
|
* @param {ProviderSearchQuery} input - The query, the resolved index
|
|
296
264
|
* definition, and the attributes to return.
|
|
@@ -352,7 +320,7 @@ export interface ISearchProvider {
|
|
|
352
320
|
searchMany?(inputs: ProviderSearchQuery[]): Promise<SearchResult[]>;
|
|
353
321
|
/**
|
|
354
322
|
* This method waits until a deferred write is applied. The Search Module uses it
|
|
355
|
-
* to wait for a seed to be applied before
|
|
323
|
+
* to wait for a seed to be applied before making the new version active.
|
|
356
324
|
*
|
|
357
325
|
* Implement it if your engine acknowledges writes and applies them later. When
|
|
358
326
|
* it's not implemented, the module assumes a write is applied once
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/search/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC;;;GAGG;AACH,MAAM,WAAW,mBACf,SAAQ,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC9C;;;;OAIG;IACH,KAAK,EAAE,6BAA6B,CAAA;IAEpC;;;;OAIG;IACH,sBAAsB,EAAE,MAAM,EAAE,CAAA;IAEhC;;;OAGG;IACH,CAAC,CAAC,EAAE,MAAM,CAAA;CACX;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;;OAGG;IACH,OAAO,EAAE,aAAa,CAAA;CACvB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAE3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,WAAW,CAAC,KAAK,EAAE;QACjB,KAAK,EAAE,6BAA6B,CAAA;KACrC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAEvB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,WAAW,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAE1D;;;;;;;;;;;;;;;;;;;OAmBG;IACH,WAAW,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAA;IAEzC
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/search/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC;;;GAGG;AACH,MAAM,WAAW,mBACf,SAAQ,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC9C;;;;OAIG;IACH,KAAK,EAAE,6BAA6B,CAAA;IAEpC;;;;OAIG;IACH,sBAAsB,EAAE,MAAM,EAAE,CAAA;IAEhC;;;OAGG;IACH,CAAC,CAAC,EAAE,MAAM,CAAA;CACX;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;;OAGG;IACH,OAAO,EAAE,aAAa,CAAA;CACvB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAE3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,WAAW,CAAC,KAAK,EAAE;QACjB,KAAK,EAAE,6BAA6B,CAAA;KACrC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAEvB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,WAAW,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAE1D;;;;;;;;;;;;;;;;;;;OAmBG;IACH,WAAW,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAA;IAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACH,eAAe,CAAC,KAAK,EAAE;QACrB,KAAK,EAAE,MAAM,CAAA;QACb;;;;;WAKG;QACH,UAAU,EAAE,6BAA6B,CAAA;QACzC,SAAS,EAAE,cAAc,EAAE,CAAA;KAC5B,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAEvB;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,eAAe,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAEvE;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,UAAU,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACH,MAAM,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IAEzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,UAAU,CAAC,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAA;IAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,WAAW,CAAC,CACV,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAChC,OAAO,CAAC,UAAU,CAAC,CAAA;CACvB"}
|
package/dist/search/query.d.ts
CHANGED
|
@@ -156,7 +156,8 @@ export interface SearchOptions {
|
|
|
156
156
|
*/
|
|
157
157
|
match_strategy?: SearchMatchStrategy;
|
|
158
158
|
/**
|
|
159
|
-
* Whether to match terms that are misspelled by a character or two.
|
|
159
|
+
* Whether to match terms that are misspelled by a character or two. Applied
|
|
160
|
+
* only when the query includes a free-text `q`; otherwise it is ignored.
|
|
160
161
|
*/
|
|
161
162
|
typo_tolerance?: boolean;
|
|
162
163
|
/**
|
|
@@ -172,9 +173,13 @@ export interface SearchOptions {
|
|
|
172
173
|
*/
|
|
173
174
|
disjunctive_facets?: boolean;
|
|
174
175
|
/**
|
|
175
|
-
* How the matched terms are highlighted in the returned hits.
|
|
176
|
+
* How the matched terms are highlighted in the returned hits. Applied only
|
|
177
|
+
* when the query includes a free-text `q`; otherwise it is ignored.
|
|
178
|
+
*
|
|
179
|
+
* `true` highlights every field the query searches on. Pass an object to pick
|
|
180
|
+
* fields, tags, or snippet cropping.
|
|
176
181
|
*/
|
|
177
|
-
highlight?: SearchHighlightOptions;
|
|
182
|
+
highlight?: boolean | SearchHighlightOptions;
|
|
178
183
|
/**
|
|
179
184
|
* Return at most one hit per distinct value of this field.
|
|
180
185
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/search/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAEzC;;GAEG;AACH,eAAO,MAAM,gBAAgB,WAAW,CAAA;AAExC;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAA;AAE1C;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAA;AAExD;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,OAAO,GAAG,MAAM,CAAA;AAEhE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IACE;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;IAExB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GACD;IACE;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,IAAI,EAAE,OAAO,CAAA;IAEb;;OAEG;IACH,MAAM,EAAE;QACN;;WAEG;QACH,GAAG,CAAC,EAAE,MAAM,CAAA;QAEZ;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;QAEtB;;WAEG;QACH,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KACrB,EAAE,CAAA;CACJ,GACD;IACE;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;;OAGG;IACH,IAAI,EAAE,OAAO,CAAA;CACd,CAAA;AAEL;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,CAAA;IAEhB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAEhB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAA;IAElC;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,mBAAmB,CAAA;IAEpC
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/search/query.ts"],"names":[],"mappings":"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"}
|
package/dist/search/schema.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SchemaPropertyMetadata, SchemaPropertyType } from "../schema";
|
|
2
2
|
import { SearchDocument } from "./common";
|
|
3
3
|
import { SearchFacetKind, SearchFieldDefinition, SearchFieldKind } from "./field";
|
|
4
|
-
import { SearchIndexDefinition, SearchSeedContext } from "./index-definition";
|
|
4
|
+
import { SearchIndexDefinition, SearchMutation, SearchSeedContext } from "./index-definition";
|
|
5
5
|
/**
|
|
6
6
|
* Schema of search index fields — key-value pairs of search properties.
|
|
7
7
|
*
|
|
@@ -91,12 +91,22 @@ export interface SearchFieldsSchemaLike {
|
|
|
91
91
|
* schema from `search.define({ ... })`.
|
|
92
92
|
*/
|
|
93
93
|
export type SearchIndexFieldsInput = SearchFieldsSchemaLike;
|
|
94
|
+
/**
|
|
95
|
+
* A `seed` mutation, with `upsert`'s documents type-checked against the
|
|
96
|
+
* declared `search.define(...)` schema.
|
|
97
|
+
*/
|
|
98
|
+
export type SearchIndexSeedMutation<Fields extends SearchIndexFieldsInput> = {
|
|
99
|
+
action: "upsert";
|
|
100
|
+
documents: InferSearchDocumentType<Fields>[];
|
|
101
|
+
} | Extract<SearchMutation, {
|
|
102
|
+
action: "delete";
|
|
103
|
+
}>;
|
|
94
104
|
/**
|
|
95
105
|
* Definition accepted by `defineSearchIndex` before fields are normalized.
|
|
96
106
|
* `seed` is type-checked against the declared `search.define(...)` schema.
|
|
97
107
|
*/
|
|
98
108
|
export type SearchIndexDefinitionInput<Fields extends SearchIndexFieldsInput = SearchIndexFieldsInput> = Omit<SearchIndexDefinition, "fields" | "seed"> & {
|
|
99
109
|
fields: Fields;
|
|
100
|
-
seed: (context: SearchSeedContext) => AsyncIterable<
|
|
110
|
+
seed: (context: SearchSeedContext) => AsyncIterable<SearchIndexSeedMutation<Fields>[]>;
|
|
101
111
|
};
|
|
102
112
|
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/search/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,eAAe,EAChB,MAAM,SAAS,CAAA;AAChB,OAAO,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/search/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/search/service.d.ts
CHANGED
|
@@ -10,13 +10,10 @@ import { SearchResult } from "./result";
|
|
|
10
10
|
/**
|
|
11
11
|
* The strategy used to rebuild a search index:
|
|
12
12
|
*
|
|
13
|
-
* - `swap` seeds a
|
|
14
|
-
*
|
|
15
|
-
* - `in_place` upserts into the
|
|
16
|
-
* documents behind for anything the seed no longer produces.
|
|
17
|
-
*
|
|
18
|
-
* `swap` requires a provider that implements `swapIndex`. The module falls back
|
|
19
|
-
* to `in_place` for providers that don't.
|
|
13
|
+
* - `swap` seeds a new version of the index and makes it active on completion,
|
|
14
|
+
* keeping the current version serving reads throughout.
|
|
15
|
+
* - `in_place` upserts into the active version directly, which is cheaper but
|
|
16
|
+
* leaves stale documents behind for anything the seed no longer produces.
|
|
20
17
|
*/
|
|
21
18
|
export type SearchReindexStrategy = "swap" | "in_place";
|
|
22
19
|
/**
|
|
@@ -249,8 +246,9 @@ export interface ISearchModuleService extends IModuleService {
|
|
|
249
246
|
listRetrievableFields(index: string): string[];
|
|
250
247
|
/**
|
|
251
248
|
* This method retrieves an index's definition with the module's defaults
|
|
252
|
-
* applied: the provider it resolved to, the physical index
|
|
253
|
-
*
|
|
249
|
+
* applied: the provider it resolved to, the root physical index name its
|
|
250
|
+
* versions are derived from, and the `primary_key` its documents are keyed
|
|
251
|
+
* by, which is what a hit's `id` holds.
|
|
254
252
|
*
|
|
255
253
|
* @param {string} index - The name of the index.
|
|
256
254
|
* @returns {ResolvedSearchIndexDefinition} The resolved index definition.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/search/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/search/service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@medusajs/types",
|
|
3
|
-
"version": "2.20.
|
|
3
|
+
"version": "2.20.2-preview-20260904113944",
|
|
4
4
|
"description": "Medusa Types definition",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"bignumber.js": "^9.1.2"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@medusajs/deps": "2.20.
|
|
41
|
+
"@medusajs/deps": "2.20.2-preview-20260904113944"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"ioredis": "^5.4.1",
|