@azure/search-documents 12.0.0-alpha.20240110.1 → 12.0.0-alpha.20240112.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.
- package/dist/index.js +1081 -569
- package/dist/index.js.map +1 -1
- package/dist-esm/src/generated/data/models/mappers.js +10 -4
- package/dist-esm/src/generated/data/models/mappers.js.map +1 -1
- package/dist-esm/src/generated/data/searchClient.js +9 -3
- package/dist-esm/src/generated/data/searchClient.js.map +1 -1
- package/dist-esm/src/generated/service/models/mappers.js +642 -278
- package/dist-esm/src/generated/service/models/mappers.js.map +1 -1
- package/dist-esm/src/generated/service/searchServiceClient.js +7 -3
- package/dist-esm/src/generated/service/searchServiceClient.js.map +1 -1
- package/dist-esm/src/indexDocumentsBatch.js +16 -4
- package/dist-esm/src/indexDocumentsBatch.js.map +1 -1
- package/dist-esm/src/searchClient.js +97 -68
- package/dist-esm/src/searchClient.js.map +1 -1
- package/dist-esm/src/searchIndexClient.js +116 -137
- package/dist-esm/src/searchIndexClient.js.map +1 -1
- package/dist-esm/src/searchIndexerClient.js +62 -25
- package/dist-esm/src/searchIndexerClient.js.map +1 -1
- package/dist-esm/src/searchIndexingBufferedSender.js +7 -8
- package/dist-esm/src/searchIndexingBufferedSender.js.map +1 -1
- package/dist-esm/src/serialization.js +1 -1
- package/dist-esm/src/serialization.js.map +1 -1
- package/dist-esm/src/serviceUtils.js +112 -39
- package/dist-esm/src/serviceUtils.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
2
|
// Licensed under the MIT license.
|
|
3
|
-
import { __rest } from "tslib";
|
|
4
3
|
import { isComplexField, } from "./serviceModels";
|
|
5
4
|
export function convertSkillsToPublic(skills) {
|
|
6
5
|
if (!skills) {
|
|
@@ -109,10 +108,16 @@ export function convertAnalyzersToGenerated(analyzers) {
|
|
|
109
108
|
result.push(analyzer);
|
|
110
109
|
break;
|
|
111
110
|
case "#Microsoft.Azure.Search.PatternAnalyzer":
|
|
112
|
-
result.push(
|
|
111
|
+
result.push({
|
|
112
|
+
...analyzer,
|
|
113
|
+
flags: analyzer.flags ? analyzer.flags.join("|") : undefined,
|
|
114
|
+
});
|
|
113
115
|
break;
|
|
114
116
|
case "#Microsoft.Azure.Search.CustomAnalyzer":
|
|
115
|
-
result.push(
|
|
117
|
+
result.push({
|
|
118
|
+
...analyzer,
|
|
119
|
+
tokenizerName: analyzer.tokenizerName,
|
|
120
|
+
});
|
|
116
121
|
break;
|
|
117
122
|
}
|
|
118
123
|
}
|
|
@@ -132,12 +137,18 @@ export function convertAnalyzersToPublic(analyzers) {
|
|
|
132
137
|
result.push(analyzer);
|
|
133
138
|
break;
|
|
134
139
|
case "#Microsoft.Azure.Search.PatternAnalyzer":
|
|
135
|
-
result.push(
|
|
140
|
+
result.push({
|
|
141
|
+
...analyzer,
|
|
142
|
+
flags: analyzer.flags
|
|
136
143
|
? analyzer.flags.split("|")
|
|
137
|
-
: undefined
|
|
144
|
+
: undefined,
|
|
145
|
+
});
|
|
138
146
|
break;
|
|
139
147
|
case "#Microsoft.Azure.Search.CustomAnalyzer":
|
|
140
|
-
result.push(
|
|
148
|
+
result.push({
|
|
149
|
+
...analyzer,
|
|
150
|
+
tokenizerName: analyzer.tokenizerName,
|
|
151
|
+
});
|
|
141
152
|
break;
|
|
142
153
|
}
|
|
143
154
|
}
|
|
@@ -163,22 +174,24 @@ export function convertFieldsToPublic(fields) {
|
|
|
163
174
|
const indexAnalyzerName = field.indexAnalyzer;
|
|
164
175
|
const synonymMapNames = field.synonymMaps;
|
|
165
176
|
const normalizerName = field.normalizer;
|
|
166
|
-
const { retrievable
|
|
177
|
+
const { retrievable, ...restField } = field;
|
|
167
178
|
const hidden = typeof retrievable === "boolean" ? !retrievable : retrievable;
|
|
168
|
-
const result =
|
|
179
|
+
const result = {
|
|
180
|
+
...restField,
|
|
181
|
+
type,
|
|
169
182
|
hidden,
|
|
170
183
|
analyzerName,
|
|
171
184
|
searchAnalyzerName,
|
|
172
185
|
indexAnalyzerName,
|
|
173
186
|
synonymMapNames,
|
|
174
|
-
normalizerName
|
|
187
|
+
normalizerName,
|
|
188
|
+
};
|
|
175
189
|
return result;
|
|
176
190
|
}
|
|
177
191
|
});
|
|
178
192
|
}
|
|
179
193
|
export function convertFieldsToGenerated(fields) {
|
|
180
194
|
return fields.map((field) => {
|
|
181
|
-
var _a, _b, _c, _d;
|
|
182
195
|
if (isComplexField(field)) {
|
|
183
196
|
return {
|
|
184
197
|
name: field.name,
|
|
@@ -187,11 +200,22 @@ export function convertFieldsToGenerated(fields) {
|
|
|
187
200
|
};
|
|
188
201
|
}
|
|
189
202
|
else {
|
|
190
|
-
const { hidden
|
|
203
|
+
const { hidden, ...restField } = field;
|
|
191
204
|
const retrievable = typeof hidden === "boolean" ? !hidden : hidden;
|
|
192
|
-
return
|
|
205
|
+
return {
|
|
206
|
+
...restField,
|
|
207
|
+
retrievable,
|
|
193
208
|
// modify API defaults to use less storage for simple types
|
|
194
|
-
searchable:
|
|
209
|
+
searchable: field.searchable ?? false,
|
|
210
|
+
filterable: field.filterable ?? false,
|
|
211
|
+
facetable: field.facetable ?? false,
|
|
212
|
+
sortable: field.sortable ?? false,
|
|
213
|
+
analyzer: field.analyzerName,
|
|
214
|
+
searchAnalyzer: field.searchAnalyzerName,
|
|
215
|
+
indexAnalyzer: field.indexAnalyzerName,
|
|
216
|
+
synonymMaps: field.synonymMapNames,
|
|
217
|
+
normalizer: field.normalizerName,
|
|
218
|
+
};
|
|
195
219
|
}
|
|
196
220
|
});
|
|
197
221
|
}
|
|
@@ -202,7 +226,10 @@ export function convertTokenizersToGenerated(tokenizers) {
|
|
|
202
226
|
const result = [];
|
|
203
227
|
for (const tokenizer of tokenizers) {
|
|
204
228
|
if (tokenizer.odatatype === "#Microsoft.Azure.Search.PatternTokenizer") {
|
|
205
|
-
result.push(
|
|
229
|
+
result.push({
|
|
230
|
+
...tokenizer,
|
|
231
|
+
flags: tokenizer.flags ? tokenizer.flags.join("|") : undefined,
|
|
232
|
+
});
|
|
206
233
|
}
|
|
207
234
|
else {
|
|
208
235
|
result.push(tokenizer);
|
|
@@ -217,9 +244,12 @@ export function convertTokenizersToPublic(tokenizers) {
|
|
|
217
244
|
const result = [];
|
|
218
245
|
for (const tokenizer of tokenizers) {
|
|
219
246
|
if (tokenizer.odatatype === "#Microsoft.Azure.Search.PatternTokenizer") {
|
|
220
|
-
result.push(
|
|
247
|
+
result.push({
|
|
248
|
+
...tokenizer,
|
|
249
|
+
flags: tokenizer.flags
|
|
221
250
|
? tokenizer.flags.split("|")
|
|
222
|
-
: undefined
|
|
251
|
+
: undefined,
|
|
252
|
+
});
|
|
223
253
|
}
|
|
224
254
|
else {
|
|
225
255
|
result.push(tokenizer);
|
|
@@ -304,41 +334,54 @@ export function generatedVectorSearchVectorizerToPublicVectorizer(generatedVecto
|
|
|
304
334
|
}
|
|
305
335
|
if (generatedVectorizer.kind === "azureOpenAI") {
|
|
306
336
|
const { azureOpenAIParameters } = generatedVectorizer;
|
|
307
|
-
const authIdentity = convertSearchIndexerDataIdentityToPublic(azureOpenAIParameters
|
|
308
|
-
const vectorizer =
|
|
337
|
+
const authIdentity = convertSearchIndexerDataIdentityToPublic(azureOpenAIParameters?.authIdentity);
|
|
338
|
+
const vectorizer = {
|
|
339
|
+
...generatedVectorizer,
|
|
340
|
+
azureOpenAIParameters: { ...azureOpenAIParameters, authIdentity },
|
|
341
|
+
};
|
|
309
342
|
return vectorizer;
|
|
310
343
|
}
|
|
311
344
|
if (generatedVectorizer.kind === "customWebApi") {
|
|
312
345
|
const { customVectorizerParameters } = generatedVectorizer;
|
|
313
|
-
const authIdentity = convertSearchIndexerDataIdentityToPublic(customVectorizerParameters
|
|
314
|
-
const vectorizer =
|
|
346
|
+
const authIdentity = convertSearchIndexerDataIdentityToPublic(customVectorizerParameters?.authIdentity);
|
|
347
|
+
const vectorizer = {
|
|
348
|
+
...generatedVectorizer,
|
|
349
|
+
customVectorizerParameters: { ...customVectorizerParameters, authIdentity },
|
|
350
|
+
};
|
|
315
351
|
return vectorizer;
|
|
316
352
|
}
|
|
317
353
|
throw Error("Unsupported vectorizer");
|
|
318
354
|
}
|
|
319
355
|
export function generatedVectorSearchAlgorithmConfigurationToPublicVectorSearchAlgorithmConfiguration(generatedAlgorithmConfiguration) {
|
|
320
|
-
var _a;
|
|
321
356
|
if (!generatedAlgorithmConfiguration) {
|
|
322
357
|
return generatedAlgorithmConfiguration;
|
|
323
358
|
}
|
|
324
359
|
if (["hnsw", "exhaustiveKnn"].includes(generatedAlgorithmConfiguration.kind)) {
|
|
325
360
|
const algorithmConfiguration = generatedAlgorithmConfiguration;
|
|
326
|
-
const metric =
|
|
327
|
-
return
|
|
361
|
+
const metric = algorithmConfiguration.parameters?.metric;
|
|
362
|
+
return {
|
|
363
|
+
...algorithmConfiguration,
|
|
364
|
+
parameters: { ...algorithmConfiguration.parameters, metric },
|
|
365
|
+
};
|
|
328
366
|
}
|
|
329
367
|
throw Error("Unsupported algorithm configuration");
|
|
330
368
|
}
|
|
331
369
|
export function generatedVectorSearchToPublicVectorSearch(vectorSearch) {
|
|
332
|
-
var _a, _b;
|
|
333
370
|
if (!vectorSearch) {
|
|
334
371
|
return vectorSearch;
|
|
335
372
|
}
|
|
336
|
-
return
|
|
373
|
+
return {
|
|
374
|
+
...vectorSearch,
|
|
375
|
+
algorithms: vectorSearch.algorithms?.map(generatedVectorSearchAlgorithmConfigurationToPublicVectorSearchAlgorithmConfiguration),
|
|
376
|
+
vectorizers: vectorSearch.vectorizers?.map(generatedVectorSearchVectorizerToPublicVectorizer),
|
|
377
|
+
};
|
|
337
378
|
}
|
|
338
379
|
export function generatedSearchResultToPublicSearchResult(results) {
|
|
339
380
|
const returnValues = results.map((result) => {
|
|
340
|
-
const { _score, _highlights, rerankerScore, captions, documentDebugInfo
|
|
341
|
-
const doc =
|
|
381
|
+
const { _score, _highlights, rerankerScore, captions, documentDebugInfo, ...restProps } = result;
|
|
382
|
+
const doc = {
|
|
383
|
+
...restProps,
|
|
384
|
+
};
|
|
342
385
|
const obj = {
|
|
343
386
|
score: _score,
|
|
344
387
|
highlights: _highlights,
|
|
@@ -353,8 +396,10 @@ export function generatedSearchResultToPublicSearchResult(results) {
|
|
|
353
396
|
}
|
|
354
397
|
export function generatedSuggestDocumentsResultToPublicSuggestDocumentsResult(searchDocumentsResult) {
|
|
355
398
|
const results = searchDocumentsResult.results.map((element) => {
|
|
356
|
-
const { _text
|
|
357
|
-
const doc =
|
|
399
|
+
const { _text, ...restProps } = element;
|
|
400
|
+
const doc = {
|
|
401
|
+
...restProps,
|
|
402
|
+
};
|
|
358
403
|
const obj = {
|
|
359
404
|
text: _text,
|
|
360
405
|
document: doc,
|
|
@@ -369,7 +414,15 @@ export function generatedSuggestDocumentsResultToPublicSuggestDocumentsResult(se
|
|
|
369
414
|
}
|
|
370
415
|
export function publicIndexToGeneratedIndex(index) {
|
|
371
416
|
const { encryptionKey, tokenFilters, analyzers, tokenizers, fields, similarity } = index;
|
|
372
|
-
return
|
|
417
|
+
return {
|
|
418
|
+
...index,
|
|
419
|
+
encryptionKey: convertEncryptionKeyToGenerated(encryptionKey),
|
|
420
|
+
tokenFilters: convertTokenFiltersToGenerated(tokenFilters),
|
|
421
|
+
analyzers: convertAnalyzersToGenerated(analyzers),
|
|
422
|
+
tokenizers: convertTokenizersToGenerated(tokenizers),
|
|
423
|
+
fields: convertFieldsToGenerated(fields),
|
|
424
|
+
similarity: convertSimilarityToGenerated(similarity),
|
|
425
|
+
};
|
|
373
426
|
}
|
|
374
427
|
export function generatedSkillsetToPublicSkillset(generatedSkillset) {
|
|
375
428
|
return {
|
|
@@ -417,14 +470,29 @@ export function publicSynonymMapToGeneratedSynonymMap(synonymMap) {
|
|
|
417
470
|
return result;
|
|
418
471
|
}
|
|
419
472
|
export function publicSearchIndexerToGeneratedSearchIndexer(indexer) {
|
|
420
|
-
return
|
|
473
|
+
return {
|
|
474
|
+
...indexer,
|
|
475
|
+
encryptionKey: convertEncryptionKeyToGenerated(indexer.encryptionKey),
|
|
476
|
+
};
|
|
421
477
|
}
|
|
422
478
|
export function generatedSearchIndexerToPublicSearchIndexer(indexer) {
|
|
423
|
-
return
|
|
479
|
+
return {
|
|
480
|
+
...indexer,
|
|
481
|
+
encryptionKey: convertEncryptionKeyToPublic(indexer.encryptionKey),
|
|
482
|
+
cache: convertSearchIndexerCacheToPublic(indexer.cache),
|
|
483
|
+
};
|
|
424
484
|
}
|
|
425
485
|
export function generatedSearchRequestToPublicSearchRequest(request) {
|
|
426
|
-
const { semanticErrorHandling, debug, vectorQueries, vectorFilterMode
|
|
427
|
-
const publicRequest =
|
|
486
|
+
const { semanticErrorHandling, debug, vectorQueries, vectorFilterMode, ...props } = request;
|
|
487
|
+
const publicRequest = {
|
|
488
|
+
semanticErrorHandlingMode: semanticErrorHandling,
|
|
489
|
+
debugMode: debug,
|
|
490
|
+
vectorFilterMode: vectorFilterMode,
|
|
491
|
+
vectorQueries: vectorQueries
|
|
492
|
+
?.map((convertVectorQueryToPublic))
|
|
493
|
+
.filter((v) => v !== undefined),
|
|
494
|
+
...props,
|
|
495
|
+
};
|
|
428
496
|
return publicRequest;
|
|
429
497
|
}
|
|
430
498
|
export function publicDataSourceToGeneratedDataSource(dataSource) {
|
|
@@ -487,12 +555,11 @@ export function convertDataDeletionDetectionPolicyToPublic(dataDeletionDetection
|
|
|
487
555
|
return dataDeletionDetectionPolicy;
|
|
488
556
|
}
|
|
489
557
|
function convertVectorQueryToPublic(vector) {
|
|
490
|
-
var _a;
|
|
491
558
|
if (!vector) {
|
|
492
559
|
return vector;
|
|
493
560
|
}
|
|
494
|
-
const fields =
|
|
495
|
-
return
|
|
561
|
+
const fields = vector.fields?.split(",");
|
|
562
|
+
return { ...vector, fields };
|
|
496
563
|
}
|
|
497
564
|
export function getRandomIntegerInclusive(min, max) {
|
|
498
565
|
// Make sure inputs are integers.
|
|
@@ -518,12 +585,18 @@ function convertKnowledgeStoreToPublic(knowledgeStore) {
|
|
|
518
585
|
if (!knowledgeStore) {
|
|
519
586
|
return knowledgeStore;
|
|
520
587
|
}
|
|
521
|
-
return
|
|
588
|
+
return {
|
|
589
|
+
...knowledgeStore,
|
|
590
|
+
identity: convertSearchIndexerDataIdentityToPublic(knowledgeStore.identity),
|
|
591
|
+
};
|
|
522
592
|
}
|
|
523
593
|
function convertSearchIndexerCacheToPublic(cache) {
|
|
524
594
|
if (!cache) {
|
|
525
595
|
return cache;
|
|
526
596
|
}
|
|
527
|
-
return
|
|
597
|
+
return {
|
|
598
|
+
...cache,
|
|
599
|
+
identity: convertSearchIndexerDataIdentityToPublic(cache.identity),
|
|
600
|
+
};
|
|
528
601
|
}
|
|
529
602
|
//# sourceMappingURL=serviceUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serviceUtils.js","sourceRoot":"","sources":["../../src/serviceUtils.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;;AAgElC,OAAO,EAiCL,cAAc,GACf,MAAM,iBAAiB,CAAC;AAoBzB,MAAM,UAAU,qBAAqB,CAAC,MAAiC;IACrE,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,MAAM,CAAC;KACf;IAED,MAAM,MAAM,GAAyB,EAAE,CAAC;IACxC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,QAAQ,KAAK,CAAC,SAAS,EAAE;YACvB,KAAK,yCAAyC;gBAC5C,MAAM,CAAC,IAAI,CAAC,KAAyB,CAAC,CAAC;gBACvC,MAAM;YACR,KAAK,iDAAiD;gBACpD,MAAM,CAAC,IAAI,CAAC,KAAiC,CAAC,CAAC;gBAC/C,MAAM;YACR,KAAK,mCAAmC;gBACtC,MAAM,CAAC,IAAI,CAAC,KAAiB,CAAC,CAAC;gBAC/B,MAAM;YACR,KAAK,6CAA6C;gBAChD,MAAM,CAAC,IAAI,CAAC,KAA2B,CAAC,CAAC;gBACzC,MAAM;YACR,KAAK,+CAA+C;gBAClD,MAAM,CAAC,IAAI,CAAC,KAA+B,CAAC,CAAC;gBAC7C,MAAM;YACR,KAAK,oCAAoC;gBACvC,MAAM,CAAC,IAAI,CAAC,KAAoB,CAAC,CAAC;gBAClC,MAAM;YACR,KAAK,mCAAmC;gBACtC,MAAM,CAAC,IAAI,CAAC,KAAmB,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,+CAA+C;gBAClD,MAAM,CAAC,IAAI,CAAC,KAA+B,CAAC,CAAC;gBAC7C,MAAM;YACR,KAAK,uCAAuC;gBAC1C,MAAM,CAAC,IAAI,CAAC,KAAuB,CAAC,CAAC;gBACrC,MAAM;YACR,KAAK,mCAAmC;gBACtC,MAAM,CAAC,IAAI,CAAC,KAAmB,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,0CAA0C;gBAC7C,MAAM,CAAC,IAAI,CAAC,KAA0B,CAAC,CAAC;gBACxC,MAAM;YACR,KAAK,kDAAkD;gBACrD,MAAM,CAAC,IAAI,CAAC,KAAiC,CAAC,CAAC;gBAC/C,MAAM;YACR,KAAK,8CAA8C;gBACjD,MAAM,CAAC,IAAI,CAAC,KAA2B,CAAC,CAAC;gBACzC,MAAM;YACR,KAAK,0CAA0C;gBAC7C,MAAM,CAAC,IAAI,CAAC,KAAyB,CAAC,CAAC;gBACvC,MAAM;YACR,KAAK,yCAAyC;gBAC5C,MAAM,CAAC,IAAI,CAAC,KAA6B,CAAC,CAAC;gBAC3C,MAAM;YACR,KAAK,sCAAsC;gBACzC,MAAM,CAAC,IAAI,CAAC,KAAoB,CAAC,CAAC;gBAClC,MAAM;YACR,KAAK,gDAAgD;gBACnD,MAAM,CAAC,IAAI,CAAC,KAAgC,CAAC,CAAC;gBAC9C,MAAM;YACR,KAAK,gDAAgD;gBACnD,MAAM,CAAC,IAAI,CAAC,KAAgC,CAAC,CAAC;gBAC9C,MAAM;YACR,KAAK,mCAAmC;gBACtC,MAAM,CAAC,IAAI,CAAC,KAAkC,CAAC,CAAC;gBAChD,MAAM;SACT;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,0CAA0C,CACxD,wBAAmD;IAEnD,IAAI,CAAC,wBAAwB,EAAE;QAC7B,OAAO,wBAAwB,CAAC;KACjC;IAED,OAAO,wBAAyD,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,uCAAuC,CACrD,wBAAwD;IAExD,IAAI,CAAC,wBAAwB,EAAE;QAC7B,OAAO,wBAAwB,CAAC;KACjC;IAED,IAAI,wBAAwB,CAAC,SAAS,KAAK,kDAAkD,EAAE;QAC7F,OAAO,wBAA2D,CAAC;KACpE;SAAM;QACL,OAAO,wBAAuD,CAAC;KAChE;AACH,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,YAA4B;IAE5B,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,YAAY,CAAC;KACrB;IAED,MAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE;QACjC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACrB;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,SAA6B;IAE7B,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAChC,QAAQ,QAAQ,CAAC,SAAS,EAAE;YAC1B,KAAK,0CAA0C,CAAC;YAChD,KAAK,sCAAsC;gBACzC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtB,MAAM;YACR,KAAK,yCAAyC;gBAC5C,MAAM,CAAC,IAAI,iCACN,QAAQ,KACX,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,IAC5D,CAAC;gBACH,MAAM;YACR,KAAK,wCAAwC;gBAC3C,MAAM,CAAC,IAAI,iCACN,QAAQ,KACX,aAAa,EAAE,QAAQ,CAAC,aAAa,IACrC,CAAC;gBACH,MAAM;SACT;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,SAAkC;IAElC,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;QAChC,QAAQ,QAAQ,CAAC,SAAS,EAAE;YAC1B,KAAK,0CAA0C;gBAC7C,MAAM,CAAC,IAAI,CAAC,QAAkC,CAAC,CAAC;gBAChD,MAAM;YACR,KAAK,sCAAsC;gBACzC,MAAM,CAAC,IAAI,CAAC,QAAwB,CAAC,CAAC;gBACtC,MAAM;YACR,KAAK,yCAAyC;gBAC5C,MAAM,CAAC,IAAI,CAAC,gCACP,QAAQ,KACX,KAAK,EAAG,QAAqC,CAAC,KAAK;wBACjD,CAAC,CAAG,QAAqC,CAAC,KAAM,CAAC,KAAK,CAAC,GAAG,CAAkB;wBAC5E,CAAC,CAAC,SAAS,GACK,CAAC,CAAC;gBACtB,MAAM;YACR,KAAK,wCAAwC;gBAC3C,MAAM,CAAC,IAAI,CAAC,gCACP,QAAQ,KACX,aAAa,EAAG,QAA2B,CAAC,aAAa,GACxC,CAAC,CAAC;gBACrB,MAAM;SACT;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAA8B;IAClE,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,MAAM,CAAC;KACf;IAED,OAAO,MAAM,CAAC,GAAG,CAAc,CAAC,KAAK,EAAe,EAAE;QACpD,IAAI,KAAK,CAAC,IAAI,KAAK,6BAA6B,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE;YACpF,MAAM,MAAM,GAAiB;gBAC3B,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,qBAAqB,CAAC,KAAK,CAAC,MAAO,CAAC;aAC7C,CAAC;YACF,OAAO,MAAM,CAAC;SACf;aAAM;YACL,MAAM,IAAI,GAAwB,KAAK,CAAC,IAA2B,CAAC;YACpE,MAAM,YAAY,GAAoC,KAAK,CAAC,QAAQ,CAAC;YACrE,MAAM,kBAAkB,GAAoC,KAAK,CAAC,cAAc,CAAC;YACjF,MAAM,iBAAiB,GAAoC,KAAK,CAAC,aAAa,CAAC;YAC/E,MAAM,eAAe,GAAyB,KAAK,CAAC,WAAW,CAAC;YAChE,MAAM,cAAc,GAAsC,KAAK,CAAC,UAAU,CAAC;YAE3E,MAAM,EAAE,WAAW,KAAmB,KAAK,EAAnB,SAAS,UAAK,KAAK,EAArC,eAA6B,CAAQ,CAAC;YAC5C,MAAM,MAAM,GAAG,OAAO,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;YAE7E,MAAM,MAAM,mCACP,SAAS,KACZ,IAAI;gBACJ,MAAM;gBACN,YAAY;gBACZ,kBAAkB;gBAClB,iBAAiB;gBACjB,eAAe;gBACf,cAAc,GACf,CAAC;YACF,OAAO,MAAM,CAAC;SACf;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAqB;IAC5D,OAAO,MAAM,CAAC,GAAG,CAAuB,CAAC,KAAK,EAAE,EAAE;;QAChD,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;YACzB,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,MAAM,EAAE,wBAAwB,CAAC,KAAK,CAAC,MAAM,CAAC;aAC/C,CAAC;SACH;aAAM;YACL,MAAM,EAAE,MAAM,KAAmB,KAAK,EAAnB,SAAS,UAAK,KAAK,EAAhC,UAAwB,CAAQ,CAAC;YACvC,MAAM,WAAW,GAAG,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YACnE,uCACK,SAAS,KACZ,WAAW;gBACX,2DAA2D;gBAC3D,UAAU,EAAE,MAAA,KAAK,CAAC,UAAU,mCAAI,KAAK,EACrC,UAAU,EAAE,MAAA,KAAK,CAAC,UAAU,mCAAI,KAAK,EACrC,SAAS,EAAE,MAAA,KAAK,CAAC,SAAS,mCAAI,KAAK,EACnC,QAAQ,EAAE,MAAA,KAAK,CAAC,QAAQ,mCAAI,KAAK,EACjC,QAAQ,EAAE,KAAK,CAAC,YAAY,EAC5B,cAAc,EAAE,KAAK,CAAC,kBAAkB,EACxC,aAAa,EAAE,KAAK,CAAC,iBAAiB,EACtC,WAAW,EAAE,KAAK,CAAC,eAAe,EAClC,UAAU,EAAE,KAAK,CAAC,cAAc,IAChC;SACH;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,UAA+B;IAE/B,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,UAAU,CAAC;KACnB;IAED,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;QAClC,IAAI,SAAS,CAAC,SAAS,KAAK,0CAA0C,EAAE;YACtE,MAAM,CAAC,IAAI,iCACN,SAAS,KACZ,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,IAC9D,CAAC;SACJ;aAAM;YACL,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACxB;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,UAAoC;IAEpC,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,UAAU,CAAC;KACnB;IAED,MAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;QAClC,IAAI,SAAS,CAAC,SAAS,KAAK,0CAA0C,EAAE;YACtE,MAAM,CAAC,IAAI,iCACN,SAAS,KACZ,KAAK,EAAG,SAA8B,CAAC,KAAK;oBAC1C,CAAC,CAAG,SAA8B,CAAC,KAAM,CAAC,KAAK,CAAC,GAAG,CAAkB;oBACrE,CAAC,CAAC,SAAS,IACb,CAAC;SACJ;aAAM;YACL,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACxB;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,UAAgC;IAEhC,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,UAAU,CAAC;KACnB;IAED,OAAO,UAA6B,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,UAA4B;IAE5B,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,UAAU,CAAC;KACnB;IAED,IAAI,UAAU,CAAC,SAAS,KAAK,2CAA2C,EAAE;QACxE,OAAO,UAA+B,CAAC;KACxC;SAAM;QACL,OAAO,UAA4B,CAAC;KACrC;AACH,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,aAAoD;IAEpD,IAAI,CAAC,aAAa,EAAE;QAClB,OAAO,aAAa,CAAC;KACtB;IAED,MAAM,MAAM,GAAgC;QAC1C,OAAO,EAAE,aAAa,CAAC,OAAO;QAC9B,UAAU,EAAE,aAAa,CAAC,UAAU;QACpC,QAAQ,EAAE,aAAa,CAAC,QAAQ;QAChC,QAAQ,EAAE,wCAAwC,CAAC,aAAa,CAAC,QAAQ,CAAC;KAC3E,CAAC;IAEF,IAAI,aAAa,CAAC,iBAAiB,EAAE;QACnC,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC,iBAAiB,CAAC,aAAa,CAAC;QACrE,MAAM,CAAC,iBAAiB,GAAG,aAAa,CAAC,iBAAiB,CAAC,iBAAiB,CAAC;KAC9E;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,aAA2C;IAE3C,IAAI,CAAC,aAAa,EAAE;QAClB,OAAO,aAAa,CAAC;KACtB;IAED,MAAM,MAAM,GAAyC;QACnD,OAAO,EAAE,aAAa,CAAC,OAAO;QAC9B,UAAU,EAAE,aAAa,CAAC,UAAU;QACpC,QAAQ,EAAE,aAAa,CAAC,QAAQ;QAChC,QAAQ,EAAE,aAAa,CAAC,QAAQ;KACjC,CAAC;IAEF,IAAI,aAAa,CAAC,aAAa,EAAE;QAC/B,MAAM,CAAC,iBAAiB,GAAG;YACzB,aAAa,EAAE,aAAa,CAAC,aAAa;YAC1C,iBAAiB,EAAE,aAAa,CAAC,iBAAiB;SACnD,CAAC;KACH;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,cAAoC;IAC9E,OAAO;QACL,IAAI,EAAE,cAAc,CAAC,IAAI;QACzB,qBAAqB,EAAE,cAAc,CAAC,qBAAqB;QAC3D,WAAW,EAAE,cAAc,CAAC,WAAW;QACvC,UAAU,EAAE,cAAc,CAAC,UAAU;QACrC,aAAa,EAAE,4BAA4B,CAAC,cAAc,CAAC,aAAa,CAAC;QACzE,IAAI,EAAE,cAAc,CAAC,IAAI;QACzB,SAAS,EAAE,wBAAwB,CAAC,cAAc,CAAC,SAAS,CAAC;QAC7D,UAAU,EAAE,yBAAyB,CAAC,cAAc,CAAC,UAAU,CAAC;QAChE,YAAY,EAAE,cAAc,CAAC,YAA6B;QAC1D,WAAW,EAAE,cAAc,CAAC,WAA2B;QACvD,WAAW,EAAE,cAAc,CAAC,WAAkC;QAC9D,eAAe,EAAE,cAAc,CAAC,eAAmC;QACnE,MAAM,EAAE,qBAAqB,CAAC,cAAc,CAAC,MAAM,CAAC;QACpD,UAAU,EAAE,yBAAyB,CAAC,cAAc,CAAC,UAAU,CAAC;QAChE,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;QACjD,YAAY,EAAE,yCAAyC,CAAC,cAAc,CAAC,YAAY,CAAC;KACrF,CAAC;AACJ,CAAC;AAMD,MAAM,UAAU,iDAAiD,CAC/D,mBAAqD;IAErD,IAAI,CAAC,mBAAmB,EAAE;QACxB,OAAO,mBAAmB,CAAC;KAC5B;IAED,IAAI,mBAAmB,CAAC,IAAI,KAAK,aAAa,EAAE;QAC9C,MAAM,EAAE,qBAAqB,EAAE,GAAG,mBAAqD,CAAC;QACxF,MAAM,YAAY,GAAG,wCAAwC,CAC3D,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,YAAY,CACpC,CAAC;QACF,MAAM,UAAU,mCACV,mBAAsD,KAC1D,qBAAqB,kCAAO,qBAAqB,KAAE,YAAY,MAChE,CAAC;QACF,OAAO,UAAU,CAAC;KACnB;IAED,IAAI,mBAAmB,CAAC,IAAI,KAAK,cAAc,EAAE;QAC/C,MAAM,EAAE,0BAA0B,EAAE,GAAG,mBAAgD,CAAC;QACxF,MAAM,YAAY,GAAG,wCAAwC,CAC3D,0BAA0B,aAA1B,0BAA0B,uBAA1B,0BAA0B,CAAE,YAAY,CACzC,CAAC;QACF,MAAM,UAAU,mCACV,mBAAiD,KACrD,0BAA0B,kCAAO,0BAA0B,KAAE,YAAY,MAC1E,CAAC;QACF,OAAO,UAAU,CAAC;KACnB;IAED,MAAM,KAAK,CAAC,wBAAwB,CAAC,CAAC;AACxC,CAAC;AAMD,MAAM,UAAU,qFAAqF,CACnG,+BAA6E;;IAE7E,IAAI,CAAC,+BAA+B,EAAE;QACpC,OAAO,+BAA+B,CAAC;KACxC;IAED,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC,IAAI,CAAC,EAAE;QAC5E,MAAM,sBAAsB,GAAG,+BAE6B,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAA,sBAAsB,CAAC,UAAU,0CAAE,MAAqC,CAAC;QACxF,uCACK,sBAAsB,KACzB,UAAU,kCAAO,sBAAsB,CAAC,UAAU,KAAE,MAAM,OAC1D;KACH;IAED,MAAM,KAAK,CAAC,qCAAqC,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,yCAAyC,CACvD,YAAoC;;IAEpC,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,YAAY,CAAC;KACrB;IAED,uCACK,YAAY,KACf,UAAU,EAAE,MAAA,YAAY,CAAC,UAAU,0CAAE,GAAG,CACtC,qFAAqF,CACtF,EACD,WAAW,EAAE,MAAA,YAAY,CAAC,WAAW,0CAAE,GAAG,CAAC,iDAAiD,CAAC,IAC7F;AACJ,CAAC;AAED,MAAM,UAAU,yCAAyC,CAGvD,OAAgC;IAChC,MAAM,YAAY,GAAoC,OAAO,CAAC,GAAG,CAC/D,CAAC,MAAM,EAAE,EAAE;QACT,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,iBAAiB,KACrE,MAAM,EADoE,SAAS,UACnF,MAAM,EADF,2EAAiF,CAC/E,CAAC;QACT,MAAM,GAAG,qBACJ,SAAS,CACb,CAAC;QACF,MAAM,GAAG,GAAG;YACV,KAAK,EAAE,MAAM;YACb,UAAU,EAAE,WAAW;YACvB,aAAa;YACb,QAAQ;YACR,QAAQ,EAAE,GAAG;YACb,iBAAiB;SAClB,CAAC;QACF,OAAO,GAAoC,CAAC;IAC9C,CAAC,CACF,CAAC;IACF,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,6DAA6D,CAG3E,qBAAsD;IACtD,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAiC,CAAC,OAAO,EAAE,EAAE;QAC5F,MAAM,EAAE,KAAK,KAAmB,OAAO,EAArB,SAAS,UAAK,OAAO,EAAjC,SAAuB,CAAU,CAAC;QAExC,MAAM,GAAG,qBACJ,SAAS,CACb,CAAC;QAEF,MAAM,GAAG,GAAG;YACV,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,GAAG;SACd,CAAC;QAEF,OAAO,GAAqC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAA4C;QACtD,OAAO,EAAE,OAAO;QAChB,QAAQ,EAAE,qBAAqB,CAAC,QAAQ;KACzC,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAkB;IAC5D,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAEzF,uCACK,KAAK,KACR,aAAa,EAAE,+BAA+B,CAAC,aAAa,CAAC,EAC7D,YAAY,EAAE,8BAA8B,CAAC,YAAY,CAAC,EAC1D,SAAS,EAAE,2BAA2B,CAAC,SAAS,CAAC,EACjD,UAAU,EAAE,4BAA4B,CAAC,UAAU,CAAC,EACpD,MAAM,EAAE,wBAAwB,CAAC,MAAM,CAAC,EACxC,UAAU,EAAE,4BAA4B,CAAC,UAAU,CAAC,IACpD;AACJ,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,iBAAiD;IAEjD,OAAO;QACL,IAAI,EAAE,iBAAiB,CAAC,IAAI;QAC5B,WAAW,EAAE,iBAAiB,CAAC,WAAW;QAC1C,MAAM,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,MAAM,CAAC;QACvD,wBAAwB,EAAE,uCAAuC,CAC/D,iBAAiB,CAAC,wBAAwB,CAC3C;QACD,cAAc,EAAE,6BAA6B,CAAC,iBAAiB,CAAC,cAAc,CAAC;QAC/E,IAAI,EAAE,iBAAiB,CAAC,IAAI;QAC5B,aAAa,EAAE,4BAA4B,CAAC,iBAAiB,CAAC,aAAa,CAAC;KAC7E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC/C,QAA+B;IAE/B,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,wBAAwB,EAAE,0CAA0C,CAClE,QAAQ,CAAC,wBAAwB,CAClC;QACD,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,aAAa,EAAE,+BAA+B,CAAC,QAAQ,CAAC,aAAa,CAAC;KACvE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,UAA+B;IACnF,MAAM,MAAM,GAAe;QACzB,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,aAAa,EAAE,4BAA4B,CAAC,UAAU,CAAC,aAAa,CAAC;QACrE,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,IAAI,UAAU,CAAC,QAAQ,EAAE;QACvB,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KACnD;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,qCAAqC,CAAC,UAAsB;IAC1E,MAAM,MAAM,GAAwB;QAClC,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,MAAM,EAAE,MAAM;QACd,aAAa,EAAE,+BAA+B,CAAC,UAAU,CAAC,aAAa,CAAC;QACxE,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;KACzC,CAAC;IAEF,MAAM,CAAC,aAAa,GAAG,+BAA+B,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAEjF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,2CAA2C,CACzD,OAAsB;IAEtB,uCACK,OAAO,KACV,aAAa,EAAE,+BAA+B,CAAC,OAAO,CAAC,aAAa,CAAC,IACrE;AACJ,CAAC;AAED,MAAM,UAAU,2CAA2C,CACzD,OAA+B;IAE/B,uCACK,OAAO,KACV,aAAa,EAAE,4BAA4B,CAAC,OAAO,CAAC,aAAa,CAAC,EAClE,KAAK,EAAE,iCAAiC,CAAC,OAAO,CAAC,KAAK,CAAC,IACvD;AACJ,CAAC;AAED,MAAM,UAAU,2CAA2C,CACzD,OAA+B;IAE/B,MAAM,EAAE,qBAAqB,EAAE,KAAK,EAAE,aAAa,EAAE,gBAAgB,KAAe,OAAO,EAAjB,KAAK,UAAK,OAAO,EAArF,uEAA2E,CAAU,CAAC;IAC5F,MAAM,aAAa,mBACjB,yBAAyB,EAAE,qBAA8D,EACzF,SAAS,EAAE,KAAmC,EAC9C,gBAAgB,EAAE,gBAAgD,EAClE,aAAa,EAAE,aAAa,aAAb,aAAa,uBAAb,aAAa,CACxB,GAAG,CAAC,CAAA,0BAAiC,CAAA,EACtC,MAAM,CAAC,CAAC,CAAC,EAA2B,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,IACvD,KAAK,CACT,CAAC;IAEF,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,UAA6C;IAE7C,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,WAAW,EAAE;YACX,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;SAC9C;QACD,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,yBAAyB,EAAE,UAAU,CAAC,yBAAyB;QAC/D,2BAA2B,EAAE,UAAU,CAAC,2BAA2B;QACnE,aAAa,EAAE,+BAA+B,CAAC,UAAU,CAAC,aAAa,CAAC;KACzE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,UAAsD;IAEtD,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,WAAW,EAAE,UAAU,CAAC,IAAI;QAC5B,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,gBAAgB,EAAE,UAAU,CAAC,WAAW,CAAC,gBAAgB;QACzD,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,QAAQ,EAAE,wCAAwC,CAAC,UAAU,CAAC,QAAQ,CAAC;QACvE,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,yBAAyB,EAAE,wCAAwC,CACjE,UAAU,CAAC,yBAAyB,CACrC;QACD,2BAA2B,EAAE,0CAA0C,CACrE,UAAU,CAAC,2BAA2B,CACvC;QACD,aAAa,EAAE,4BAA4B,CAAC,UAAU,CAAC,aAAa,CAAC;KACtE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,yBAA0D;IAE1D,IAAI,CAAC,yBAAyB,EAAE;QAC9B,OAAO,yBAAyB,CAAC;KAClC;IAED,IAAI,yBAAyB,CAAC,SAAS,KAAK,0CAA0C,EAAE;QACtF,OAAO,yBAA0D,CAAC;KACnE;SAAM;QACL,OAAO,yBAAkE,CAAC;KAC3E;AACH,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,yBAA0D;IAE1D,IAAI,CAAC,yBAAyB,EAAE;QAC9B,OAAO,yBAAyB,CAAC;KAClC;IAED,IACE,yBAAyB,CAAC,SAAS;QACnC,4DAA4D,EAC5D;QACA,OAAO,yBAA+D,CAAC;KACxE;SAAM;QACL,OAAO,yBAA8D,CAAC;KACvE;AACH,CAAC;AAED,MAAM,UAAU,0CAA0C,CACxD,2BAA8D;IAE9D,IAAI,CAAC,2BAA2B,EAAE;QAChC,OAAO,2BAA2B,CAAC;KACpC;IAED,OAAO,2BAAsE,CAAC;AAChF,CAAC;AAED,SAAS,0BAA0B,CACjC,MAAwC;;IAExC,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,MAAM,CAAC;KACf;IAED,MAAM,MAAM,GAAwC,MAAA,MAAM,CAAC,MAAM,0CAAE,KAAK,CAAC,GAAG,CAE/D,CAAC;IAEd,uCAAY,MAAM,KAAE,MAAM,IAAG;AAC/B,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,GAAW,EAAE,GAAW;IAChE,iCAAiC;IACjC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtB,2DAA2D;IAC3D,+EAA+E;IAC/E,yEAAyE;IACzE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO,MAAM,GAAG,GAAG,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,QAAgB;IACpC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;AAEpE,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AAE1D,SAAS,6BAA6B,CACpC,cAA2D;IAE3D,IAAI,CAAC,cAAc,EAAE;QACnB,OAAO,cAAc,CAAC;KACvB;IAED,uCACK,cAAc,KACjB,QAAQ,EAAE,wCAAwC,CAAC,cAAc,CAAC,QAAQ,CAAC,IAC3E;AACJ,CAAC;AAED,SAAS,iCAAiC,CACxC,KAAmC;IAEnC,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,KAAK,CAAC;KACd;IAED,uCACK,KAAK,KACR,QAAQ,EAAE,wCAAwC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAClE;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n AzureMachineLearningSkill,\n BM25Similarity,\n ClassicSimilarity,\n CognitiveServicesAccountKey,\n CognitiveServicesAccountUnion,\n ConditionalSkill,\n CustomAnalyzer,\n CustomEntityLookupSkill,\n DataChangeDetectionPolicyUnion,\n DataDeletionDetectionPolicyUnion,\n DefaultCognitiveServicesAccount,\n DocumentExtractionSkill,\n EntityLinkingSkill,\n EntityRecognitionSkill,\n EntityRecognitionSkillV3,\n PatternAnalyzer as GeneratedPatternAnalyzer,\n SearchField as GeneratedSearchField,\n SearchIndex as GeneratedSearchIndex,\n SearchIndexer as GeneratedSearchIndexer,\n SearchIndexerDataSource as GeneratedSearchIndexerDataSourceConnection,\n SearchIndexerSkillset as GeneratedSearchIndexerSkillset,\n SearchResourceEncryptionKey as GeneratedSearchResourceEncryptionKey,\n SynonymMap as GeneratedSynonymMap,\n HighWaterMarkChangeDetectionPolicy,\n ImageAnalysisSkill,\n KeyPhraseExtractionSkill,\n LanguageDetectionSkill,\n LexicalAnalyzerName,\n LexicalAnalyzerUnion,\n LexicalNormalizerName,\n LexicalTokenizerUnion,\n LuceneStandardAnalyzer,\n MergeSkill,\n OcrSkill,\n PIIDetectionSkill,\n PatternTokenizer,\n RegexFlags,\n SearchIndexerDataIdentityUnion,\n SearchIndexerDataNoneIdentity,\n SearchIndexerDataUserAssignedIdentity,\n SearchIndexerKnowledgeStore as BaseSearchIndexerKnowledgeStore,\n SearchIndexerSkillUnion,\n SentimentSkill,\n SentimentSkillV3,\n ShaperSkill,\n SimilarityUnion,\n SoftDeleteColumnDeletionDetectionPolicy,\n SplitSkill,\n SqlIntegratedChangeTrackingPolicy,\n StopAnalyzer,\n TextTranslationSkill,\n TokenFilterUnion,\n SearchIndexerCache as GeneratedSearchIndexerCache,\n VectorSearch as GeneratedVectorSearch,\n CustomVectorizer as GeneratedCustomVectorizer,\n AzureOpenAIVectorizer as GeneratedAzureOpenAIVectorizer,\n VectorSearchVectorizerUnion as GeneratedVectorSearchVectorizer,\n VectorSearchAlgorithmConfigurationUnion as GeneratedVectorSearchAlgorithmConfiguration,\n HnswVectorSearchAlgorithmConfiguration as GeneratedHnswVectorSearchAlgorithmConfiguration,\n ExhaustiveKnnVectorSearchAlgorithmConfiguration as GeneratedExhaustiveKnnVectorSearchAlgorithmConfiguration,\n} from \"./generated/service/models\";\nimport {\n AzureOpenAIVectorizer,\n CharFilter,\n CognitiveServicesAccount,\n ComplexField,\n CustomVectorizer,\n DataChangeDetectionPolicy,\n DataDeletionDetectionPolicy,\n LexicalAnalyzer,\n LexicalNormalizer,\n LexicalTokenizer,\n PatternAnalyzer,\n ScoringProfile,\n SearchField,\n SearchFieldDataType,\n SearchIndex,\n SearchIndexer,\n SearchIndexerCache,\n SearchIndexerDataIdentity,\n SearchIndexerDataSourceConnection,\n SearchIndexerKnowledgeStore,\n SearchIndexerSkill,\n SearchIndexerSkillset,\n SearchResourceEncryptionKey,\n SimilarityAlgorithm,\n SimpleField,\n SynonymMap,\n TokenFilter,\n VectorSearch,\n VectorSearchAlgorithmConfiguration,\n VectorSearchAlgorithmMetric,\n VectorSearchVectorizer,\n WebApiSkill,\n isComplexField,\n} from \"./serviceModels\";\nimport {\n QueryDebugMode,\n SearchFieldArray,\n SearchRequest,\n SearchResult,\n SelectFields,\n SemanticErrorHandlingMode,\n SuggestDocumentsResult,\n SuggestResult,\n VectorFilterMode,\n VectorQuery,\n} from \"./indexModels\";\nimport {\n SearchResult as GeneratedSearchResult,\n SuggestDocumentsResult as GeneratedSuggestDocumentsResult,\n SearchRequest as GeneratedSearchRequest,\n VectorQueryUnion as GeneratedVectorQuery,\n} from \"./generated/data/models\";\n\nexport function convertSkillsToPublic(skills: SearchIndexerSkillUnion[]): SearchIndexerSkill[] {\n if (!skills) {\n return skills;\n }\n\n const result: SearchIndexerSkill[] = [];\n for (const skill of skills) {\n switch (skill.odatatype) {\n case \"#Microsoft.Skills.Util.ConditionalSkill\":\n result.push(skill as ConditionalSkill);\n break;\n case \"#Microsoft.Skills.Text.KeyPhraseExtractionSkill\":\n result.push(skill as KeyPhraseExtractionSkill);\n break;\n case \"#Microsoft.Skills.Vision.OcrSkill\":\n result.push(skill as OcrSkill);\n break;\n case \"#Microsoft.Skills.Vision.ImageAnalysisSkill\":\n result.push(skill as ImageAnalysisSkill);\n break;\n case \"#Microsoft.Skills.Text.LanguageDetectionSkill\":\n result.push(skill as LanguageDetectionSkill);\n break;\n case \"#Microsoft.Skills.Util.ShaperSkill\":\n result.push(skill as ShaperSkill);\n break;\n case \"#Microsoft.Skills.Text.MergeSkill\":\n result.push(skill as MergeSkill);\n break;\n case \"#Microsoft.Skills.Text.EntityRecognitionSkill\":\n result.push(skill as EntityRecognitionSkill);\n break;\n case \"#Microsoft.Skills.Text.SentimentSkill\":\n result.push(skill as SentimentSkill);\n break;\n case \"#Microsoft.Skills.Text.SplitSkill\":\n result.push(skill as SplitSkill);\n break;\n case \"#Microsoft.Skills.Text.PIIDetectionSkill\":\n result.push(skill as PIIDetectionSkill);\n break;\n case \"#Microsoft.Skills.Text.V3.EntityRecognitionSkill\":\n result.push(skill as EntityRecognitionSkillV3);\n break;\n case \"#Microsoft.Skills.Text.V3.EntityLinkingSkill\":\n result.push(skill as EntityLinkingSkill);\n break;\n case \"#Microsoft.Skills.Text.V3.SentimentSkill\":\n result.push(skill as SentimentSkillV3);\n break;\n case \"#Microsoft.Skills.Text.TranslationSkill\":\n result.push(skill as TextTranslationSkill);\n break;\n case \"#Microsoft.Skills.Custom.WebApiSkill\":\n result.push(skill as WebApiSkill);\n break;\n case \"#Microsoft.Skills.Text.CustomEntityLookupSkill\":\n result.push(skill as CustomEntityLookupSkill);\n break;\n case \"#Microsoft.Skills.Util.DocumentExtractionSkill\":\n result.push(skill as DocumentExtractionSkill);\n break;\n case \"#Microsoft.Skills.Custom.AmlSkill\":\n result.push(skill as AzureMachineLearningSkill);\n break;\n }\n }\n return result;\n}\n\nexport function convertCognitiveServicesAccountToGenerated(\n cognitiveServicesAccount?: CognitiveServicesAccount,\n): CognitiveServicesAccountUnion | undefined {\n if (!cognitiveServicesAccount) {\n return cognitiveServicesAccount;\n }\n\n return cognitiveServicesAccount as CognitiveServicesAccountUnion;\n}\n\nexport function convertCognitiveServicesAccountToPublic(\n cognitiveServicesAccount?: CognitiveServicesAccountUnion,\n): CognitiveServicesAccount | undefined {\n if (!cognitiveServicesAccount) {\n return cognitiveServicesAccount;\n }\n\n if (cognitiveServicesAccount.odatatype === \"#Microsoft.Azure.Search.DefaultCognitiveServices\") {\n return cognitiveServicesAccount as DefaultCognitiveServicesAccount;\n } else {\n return cognitiveServicesAccount as CognitiveServicesAccountKey;\n }\n}\n\nexport function convertTokenFiltersToGenerated(\n tokenFilters?: TokenFilter[],\n): TokenFilterUnion[] | undefined {\n if (!tokenFilters) {\n return tokenFilters;\n }\n\n const result: TokenFilterUnion[] = [];\n for (const filter of tokenFilters) {\n result.push(filter);\n }\n\n return result;\n}\n\nexport function convertAnalyzersToGenerated(\n analyzers?: LexicalAnalyzer[],\n): LexicalAnalyzerUnion[] | undefined {\n if (!analyzers) {\n return analyzers;\n }\n\n const result: LexicalAnalyzerUnion[] = [];\n for (const analyzer of analyzers) {\n switch (analyzer.odatatype) {\n case \"#Microsoft.Azure.Search.StandardAnalyzer\":\n case \"#Microsoft.Azure.Search.StopAnalyzer\":\n result.push(analyzer);\n break;\n case \"#Microsoft.Azure.Search.PatternAnalyzer\":\n result.push({\n ...analyzer,\n flags: analyzer.flags ? analyzer.flags.join(\"|\") : undefined,\n });\n break;\n case \"#Microsoft.Azure.Search.CustomAnalyzer\":\n result.push({\n ...analyzer,\n tokenizerName: analyzer.tokenizerName,\n });\n break;\n }\n }\n return result;\n}\n\nexport function convertAnalyzersToPublic(\n analyzers?: LexicalAnalyzerUnion[],\n): LexicalAnalyzer[] | undefined {\n if (!analyzers) {\n return analyzers;\n }\n\n const result: LexicalAnalyzer[] = [];\n for (const analyzer of analyzers) {\n switch (analyzer.odatatype) {\n case \"#Microsoft.Azure.Search.StandardAnalyzer\":\n result.push(analyzer as LuceneStandardAnalyzer);\n break;\n case \"#Microsoft.Azure.Search.StopAnalyzer\":\n result.push(analyzer as StopAnalyzer);\n break;\n case \"#Microsoft.Azure.Search.PatternAnalyzer\":\n result.push({\n ...analyzer,\n flags: (analyzer as GeneratedPatternAnalyzer).flags\n ? ((analyzer as GeneratedPatternAnalyzer).flags!.split(\"|\") as RegexFlags[])\n : undefined,\n } as PatternAnalyzer);\n break;\n case \"#Microsoft.Azure.Search.CustomAnalyzer\":\n result.push({\n ...analyzer,\n tokenizerName: (analyzer as CustomAnalyzer).tokenizerName,\n } as CustomAnalyzer);\n break;\n }\n }\n return result;\n}\n\nexport function convertFieldsToPublic(fields: GeneratedSearchField[]): SearchField[] {\n if (!fields) {\n return fields;\n }\n\n return fields.map<SearchField>((field): SearchField => {\n if (field.type === \"Collection(Edm.ComplexType)\" || field.type === \"Edm.ComplexType\") {\n const result: ComplexField = {\n name: field.name,\n type: field.type,\n fields: convertFieldsToPublic(field.fields!),\n };\n return result;\n } else {\n const type: SearchFieldDataType = field.type as SearchFieldDataType;\n const analyzerName: LexicalAnalyzerName | undefined = field.analyzer;\n const searchAnalyzerName: LexicalAnalyzerName | undefined = field.searchAnalyzer;\n const indexAnalyzerName: LexicalAnalyzerName | undefined = field.indexAnalyzer;\n const synonymMapNames: string[] | undefined = field.synonymMaps;\n const normalizerName: LexicalNormalizerName | undefined = field.normalizer;\n\n const { retrievable, ...restField } = field;\n const hidden = typeof retrievable === \"boolean\" ? !retrievable : retrievable;\n\n const result: SimpleField = {\n ...restField,\n type,\n hidden,\n analyzerName,\n searchAnalyzerName,\n indexAnalyzerName,\n synonymMapNames,\n normalizerName,\n };\n return result;\n }\n });\n}\n\nexport function convertFieldsToGenerated(fields: SearchField[]): GeneratedSearchField[] {\n return fields.map<GeneratedSearchField>((field) => {\n if (isComplexField(field)) {\n return {\n name: field.name,\n type: field.type,\n fields: convertFieldsToGenerated(field.fields),\n };\n } else {\n const { hidden, ...restField } = field;\n const retrievable = typeof hidden === \"boolean\" ? !hidden : hidden;\n return {\n ...restField,\n retrievable,\n // modify API defaults to use less storage for simple types\n searchable: field.searchable ?? false,\n filterable: field.filterable ?? false,\n facetable: field.facetable ?? false,\n sortable: field.sortable ?? false,\n analyzer: field.analyzerName,\n searchAnalyzer: field.searchAnalyzerName,\n indexAnalyzer: field.indexAnalyzerName,\n synonymMaps: field.synonymMapNames,\n normalizer: field.normalizerName,\n };\n }\n });\n}\n\nexport function convertTokenizersToGenerated(\n tokenizers?: LexicalTokenizer[],\n): LexicalTokenizerUnion[] | undefined {\n if (!tokenizers) {\n return tokenizers;\n }\n\n const result: LexicalTokenizerUnion[] = [];\n for (const tokenizer of tokenizers) {\n if (tokenizer.odatatype === \"#Microsoft.Azure.Search.PatternTokenizer\") {\n result.push({\n ...tokenizer,\n flags: tokenizer.flags ? tokenizer.flags.join(\"|\") : undefined,\n });\n } else {\n result.push(tokenizer);\n }\n }\n return result;\n}\n\nexport function convertTokenizersToPublic(\n tokenizers?: LexicalTokenizerUnion[],\n): LexicalTokenizer[] | undefined {\n if (!tokenizers) {\n return tokenizers;\n }\n\n const result: LexicalTokenizer[] = [];\n for (const tokenizer of tokenizers) {\n if (tokenizer.odatatype === \"#Microsoft.Azure.Search.PatternTokenizer\") {\n result.push({\n ...tokenizer,\n flags: (tokenizer as PatternTokenizer).flags\n ? ((tokenizer as PatternTokenizer).flags!.split(\"|\") as RegexFlags[])\n : undefined,\n });\n } else {\n result.push(tokenizer);\n }\n }\n return result;\n}\n\nexport function convertSimilarityToGenerated(\n similarity?: SimilarityAlgorithm,\n): SimilarityUnion | undefined {\n if (!similarity) {\n return similarity;\n }\n\n return similarity as SimilarityUnion;\n}\n\nexport function convertSimilarityToPublic(\n similarity?: SimilarityUnion,\n): SimilarityAlgorithm | undefined {\n if (!similarity) {\n return similarity;\n }\n\n if (similarity.odatatype === \"#Microsoft.Azure.Search.ClassicSimilarity\") {\n return similarity as ClassicSimilarity;\n } else {\n return similarity as BM25Similarity;\n }\n}\n\nexport function convertEncryptionKeyToPublic(\n encryptionKey?: GeneratedSearchResourceEncryptionKey,\n): SearchResourceEncryptionKey | undefined {\n if (!encryptionKey) {\n return encryptionKey;\n }\n\n const result: SearchResourceEncryptionKey = {\n keyName: encryptionKey.keyName,\n keyVersion: encryptionKey.keyVersion,\n vaultUrl: encryptionKey.vaultUri,\n identity: convertSearchIndexerDataIdentityToPublic(encryptionKey.identity),\n };\n\n if (encryptionKey.accessCredentials) {\n result.applicationId = encryptionKey.accessCredentials.applicationId;\n result.applicationSecret = encryptionKey.accessCredentials.applicationSecret;\n }\n\n return result;\n}\n\nexport function convertEncryptionKeyToGenerated(\n encryptionKey?: SearchResourceEncryptionKey,\n): GeneratedSearchResourceEncryptionKey | undefined {\n if (!encryptionKey) {\n return encryptionKey;\n }\n\n const result: GeneratedSearchResourceEncryptionKey = {\n keyName: encryptionKey.keyName,\n keyVersion: encryptionKey.keyVersion,\n vaultUri: encryptionKey.vaultUrl,\n identity: encryptionKey.identity,\n };\n\n if (encryptionKey.applicationId) {\n result.accessCredentials = {\n applicationId: encryptionKey.applicationId,\n applicationSecret: encryptionKey.applicationSecret,\n };\n }\n\n return result;\n}\n\nexport function generatedIndexToPublicIndex(generatedIndex: GeneratedSearchIndex): SearchIndex {\n return {\n name: generatedIndex.name,\n defaultScoringProfile: generatedIndex.defaultScoringProfile,\n corsOptions: generatedIndex.corsOptions,\n suggesters: generatedIndex.suggesters,\n encryptionKey: convertEncryptionKeyToPublic(generatedIndex.encryptionKey),\n etag: generatedIndex.etag,\n analyzers: convertAnalyzersToPublic(generatedIndex.analyzers),\n tokenizers: convertTokenizersToPublic(generatedIndex.tokenizers),\n tokenFilters: generatedIndex.tokenFilters as TokenFilter[],\n charFilters: generatedIndex.charFilters as CharFilter[],\n normalizers: generatedIndex.normalizers as LexicalNormalizer[],\n scoringProfiles: generatedIndex.scoringProfiles as ScoringProfile[],\n fields: convertFieldsToPublic(generatedIndex.fields),\n similarity: convertSimilarityToPublic(generatedIndex.similarity),\n semanticSettings: generatedIndex.semanticSettings,\n vectorSearch: generatedVectorSearchToPublicVectorSearch(generatedIndex.vectorSearch),\n };\n}\n\nexport function generatedVectorSearchVectorizerToPublicVectorizer(): undefined;\nexport function generatedVectorSearchVectorizerToPublicVectorizer(\n generatedVectorizer: GeneratedVectorSearchVectorizer,\n): VectorSearchVectorizer;\nexport function generatedVectorSearchVectorizerToPublicVectorizer(\n generatedVectorizer?: GeneratedVectorSearchVectorizer,\n): VectorSearchVectorizer | undefined {\n if (!generatedVectorizer) {\n return generatedVectorizer;\n }\n\n if (generatedVectorizer.kind === \"azureOpenAI\") {\n const { azureOpenAIParameters } = generatedVectorizer as GeneratedAzureOpenAIVectorizer;\n const authIdentity = convertSearchIndexerDataIdentityToPublic(\n azureOpenAIParameters?.authIdentity,\n );\n const vectorizer: AzureOpenAIVectorizer = {\n ...(generatedVectorizer as GeneratedAzureOpenAIVectorizer),\n azureOpenAIParameters: { ...azureOpenAIParameters, authIdentity },\n };\n return vectorizer;\n }\n\n if (generatedVectorizer.kind === \"customWebApi\") {\n const { customVectorizerParameters } = generatedVectorizer as GeneratedCustomVectorizer;\n const authIdentity = convertSearchIndexerDataIdentityToPublic(\n customVectorizerParameters?.authIdentity,\n );\n const vectorizer: CustomVectorizer = {\n ...(generatedVectorizer as GeneratedCustomVectorizer),\n customVectorizerParameters: { ...customVectorizerParameters, authIdentity },\n };\n return vectorizer;\n }\n\n throw Error(\"Unsupported vectorizer\");\n}\n\nexport function generatedVectorSearchAlgorithmConfigurationToPublicVectorSearchAlgorithmConfiguration(): undefined;\nexport function generatedVectorSearchAlgorithmConfigurationToPublicVectorSearchAlgorithmConfiguration(\n generatedAlgorithmConfiguration: GeneratedVectorSearchAlgorithmConfiguration,\n): VectorSearchAlgorithmConfiguration;\nexport function generatedVectorSearchAlgorithmConfigurationToPublicVectorSearchAlgorithmConfiguration(\n generatedAlgorithmConfiguration?: GeneratedVectorSearchAlgorithmConfiguration,\n): VectorSearchAlgorithmConfiguration | undefined {\n if (!generatedAlgorithmConfiguration) {\n return generatedAlgorithmConfiguration;\n }\n\n if ([\"hnsw\", \"exhaustiveKnn\"].includes(generatedAlgorithmConfiguration.kind)) {\n const algorithmConfiguration = generatedAlgorithmConfiguration as\n | GeneratedHnswVectorSearchAlgorithmConfiguration\n | GeneratedExhaustiveKnnVectorSearchAlgorithmConfiguration;\n const metric = algorithmConfiguration.parameters?.metric as VectorSearchAlgorithmMetric;\n return {\n ...algorithmConfiguration,\n parameters: { ...algorithmConfiguration.parameters, metric },\n };\n }\n\n throw Error(\"Unsupported algorithm configuration\");\n}\n\nexport function generatedVectorSearchToPublicVectorSearch(\n vectorSearch?: GeneratedVectorSearch,\n): VectorSearch | undefined {\n if (!vectorSearch) {\n return vectorSearch;\n }\n\n return {\n ...vectorSearch,\n algorithms: vectorSearch.algorithms?.map(\n generatedVectorSearchAlgorithmConfigurationToPublicVectorSearchAlgorithmConfiguration,\n ),\n vectorizers: vectorSearch.vectorizers?.map(generatedVectorSearchVectorizerToPublicVectorizer),\n };\n}\n\nexport function generatedSearchResultToPublicSearchResult<\n TModel extends object,\n TFields extends SelectFields<TModel>,\n>(results: GeneratedSearchResult[]): SearchResult<TModel, TFields>[] {\n const returnValues: SearchResult<TModel, TFields>[] = results.map<SearchResult<TModel, TFields>>(\n (result) => {\n const { _score, _highlights, rerankerScore, captions, documentDebugInfo, ...restProps } =\n result;\n const doc: { [key: string]: any } = {\n ...restProps,\n };\n const obj = {\n score: _score,\n highlights: _highlights,\n rerankerScore,\n captions,\n document: doc,\n documentDebugInfo,\n };\n return obj as SearchResult<TModel, TFields>;\n },\n );\n return returnValues;\n}\n\nexport function generatedSuggestDocumentsResultToPublicSuggestDocumentsResult<\n TModel extends object,\n TFields extends SelectFields<TModel>,\n>(searchDocumentsResult: GeneratedSuggestDocumentsResult): SuggestDocumentsResult<TModel, TFields> {\n const results = searchDocumentsResult.results.map<SuggestResult<TModel, TFields>>((element) => {\n const { _text, ...restProps } = element;\n\n const doc: { [key: string]: any } = {\n ...restProps,\n };\n\n const obj = {\n text: _text,\n document: doc,\n };\n\n return obj as SuggestResult<TModel, TFields>;\n });\n\n const result: SuggestDocumentsResult<TModel, TFields> = {\n results: results,\n coverage: searchDocumentsResult.coverage,\n };\n\n return result;\n}\n\nexport function publicIndexToGeneratedIndex(index: SearchIndex): GeneratedSearchIndex {\n const { encryptionKey, tokenFilters, analyzers, tokenizers, fields, similarity } = index;\n\n return {\n ...index,\n encryptionKey: convertEncryptionKeyToGenerated(encryptionKey),\n tokenFilters: convertTokenFiltersToGenerated(tokenFilters),\n analyzers: convertAnalyzersToGenerated(analyzers),\n tokenizers: convertTokenizersToGenerated(tokenizers),\n fields: convertFieldsToGenerated(fields),\n similarity: convertSimilarityToGenerated(similarity),\n };\n}\n\nexport function generatedSkillsetToPublicSkillset(\n generatedSkillset: GeneratedSearchIndexerSkillset,\n): SearchIndexerSkillset {\n return {\n name: generatedSkillset.name,\n description: generatedSkillset.description,\n skills: convertSkillsToPublic(generatedSkillset.skills),\n cognitiveServicesAccount: convertCognitiveServicesAccountToPublic(\n generatedSkillset.cognitiveServicesAccount,\n ),\n knowledgeStore: convertKnowledgeStoreToPublic(generatedSkillset.knowledgeStore),\n etag: generatedSkillset.etag,\n encryptionKey: convertEncryptionKeyToPublic(generatedSkillset.encryptionKey),\n };\n}\n\nexport function publicSkillsetToGeneratedSkillset(\n skillset: SearchIndexerSkillset,\n): GeneratedSearchIndexerSkillset {\n return {\n name: skillset.name,\n description: skillset.description,\n etag: skillset.etag,\n skills: skillset.skills,\n cognitiveServicesAccount: convertCognitiveServicesAccountToGenerated(\n skillset.cognitiveServicesAccount,\n ),\n knowledgeStore: skillset.knowledgeStore,\n encryptionKey: convertEncryptionKeyToGenerated(skillset.encryptionKey),\n };\n}\n\nexport function generatedSynonymMapToPublicSynonymMap(synonymMap: GeneratedSynonymMap): SynonymMap {\n const result: SynonymMap = {\n name: synonymMap.name,\n encryptionKey: convertEncryptionKeyToPublic(synonymMap.encryptionKey),\n etag: synonymMap.etag,\n synonyms: [],\n };\n\n if (synonymMap.synonyms) {\n result.synonyms = synonymMap.synonyms.split(\"\\n\");\n }\n\n return result;\n}\n\nexport function publicSynonymMapToGeneratedSynonymMap(synonymMap: SynonymMap): GeneratedSynonymMap {\n const result: GeneratedSynonymMap = {\n name: synonymMap.name,\n format: \"solr\",\n encryptionKey: convertEncryptionKeyToGenerated(synonymMap.encryptionKey),\n etag: synonymMap.etag,\n synonyms: synonymMap.synonyms.join(\"\\n\"),\n };\n\n result.encryptionKey = convertEncryptionKeyToGenerated(synonymMap.encryptionKey);\n\n return result;\n}\n\nexport function publicSearchIndexerToGeneratedSearchIndexer(\n indexer: SearchIndexer,\n): GeneratedSearchIndexer {\n return {\n ...indexer,\n encryptionKey: convertEncryptionKeyToGenerated(indexer.encryptionKey),\n };\n}\n\nexport function generatedSearchIndexerToPublicSearchIndexer(\n indexer: GeneratedSearchIndexer,\n): SearchIndexer {\n return {\n ...indexer,\n encryptionKey: convertEncryptionKeyToPublic(indexer.encryptionKey),\n cache: convertSearchIndexerCacheToPublic(indexer.cache),\n };\n}\n\nexport function generatedSearchRequestToPublicSearchRequest<Model extends object>(\n request: GeneratedSearchRequest,\n): SearchRequest<Model> {\n const { semanticErrorHandling, debug, vectorQueries, vectorFilterMode, ...props } = request;\n const publicRequest: SearchRequest<Model> = {\n semanticErrorHandlingMode: semanticErrorHandling as SemanticErrorHandlingMode | undefined,\n debugMode: debug as QueryDebugMode | undefined,\n vectorFilterMode: vectorFilterMode as VectorFilterMode | undefined,\n vectorQueries: vectorQueries\n ?.map(convertVectorQueryToPublic<Model>)\n .filter((v): v is VectorQuery<Model> => v !== undefined),\n ...props,\n };\n\n return publicRequest;\n}\n\nexport function publicDataSourceToGeneratedDataSource(\n dataSource: SearchIndexerDataSourceConnection,\n): GeneratedSearchIndexerDataSourceConnection {\n return {\n name: dataSource.name,\n description: dataSource.description,\n type: dataSource.type,\n credentials: {\n connectionString: dataSource.connectionString,\n },\n container: dataSource.container,\n identity: dataSource.identity,\n etag: dataSource.etag,\n dataChangeDetectionPolicy: dataSource.dataChangeDetectionPolicy,\n dataDeletionDetectionPolicy: dataSource.dataDeletionDetectionPolicy,\n encryptionKey: convertEncryptionKeyToGenerated(dataSource.encryptionKey),\n };\n}\n\nexport function generatedDataSourceToPublicDataSource(\n dataSource: GeneratedSearchIndexerDataSourceConnection,\n): SearchIndexerDataSourceConnection {\n return {\n name: dataSource.name,\n description: dataSource.name,\n type: dataSource.type,\n connectionString: dataSource.credentials.connectionString,\n container: dataSource.container,\n identity: convertSearchIndexerDataIdentityToPublic(dataSource.identity),\n etag: dataSource.etag,\n dataChangeDetectionPolicy: convertDataChangeDetectionPolicyToPublic(\n dataSource.dataChangeDetectionPolicy,\n ),\n dataDeletionDetectionPolicy: convertDataDeletionDetectionPolicyToPublic(\n dataSource.dataDeletionDetectionPolicy,\n ),\n encryptionKey: convertEncryptionKeyToPublic(dataSource.encryptionKey),\n };\n}\n\nexport function convertSearchIndexerDataIdentityToPublic(\n searchIndexerDataIdentity?: SearchIndexerDataIdentityUnion,\n): SearchIndexerDataIdentity | undefined {\n if (!searchIndexerDataIdentity) {\n return searchIndexerDataIdentity;\n }\n\n if (searchIndexerDataIdentity.odatatype === \"#Microsoft.Azure.Search.DataNoneIdentity\") {\n return searchIndexerDataIdentity as SearchIndexerDataNoneIdentity;\n } else {\n return searchIndexerDataIdentity as SearchIndexerDataUserAssignedIdentity;\n }\n}\n\nexport function convertDataChangeDetectionPolicyToPublic(\n dataChangeDetectionPolicy?: DataChangeDetectionPolicyUnion,\n): DataChangeDetectionPolicy | undefined {\n if (!dataChangeDetectionPolicy) {\n return dataChangeDetectionPolicy;\n }\n\n if (\n dataChangeDetectionPolicy.odatatype ===\n \"#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy\"\n ) {\n return dataChangeDetectionPolicy as HighWaterMarkChangeDetectionPolicy;\n } else {\n return dataChangeDetectionPolicy as SqlIntegratedChangeTrackingPolicy;\n }\n}\n\nexport function convertDataDeletionDetectionPolicyToPublic(\n dataDeletionDetectionPolicy?: DataDeletionDetectionPolicyUnion,\n): DataDeletionDetectionPolicy | undefined {\n if (!dataDeletionDetectionPolicy) {\n return dataDeletionDetectionPolicy;\n }\n\n return dataDeletionDetectionPolicy as SoftDeleteColumnDeletionDetectionPolicy;\n}\n\nfunction convertVectorQueryToPublic<Model extends object>(\n vector: GeneratedVectorQuery | undefined,\n): VectorQuery<Model> | undefined {\n if (!vector) {\n return vector;\n }\n\n const fields: SearchFieldArray<Model> | undefined = vector.fields?.split(\",\") as\n | SearchFieldArray<Model>\n | undefined;\n\n return { ...vector, fields };\n}\n\nexport function getRandomIntegerInclusive(min: number, max: number): number {\n // Make sure inputs are integers.\n min = Math.ceil(min);\n max = Math.floor(max);\n // Pick a random offset from zero to the size of the range.\n // Since Math.random() can never return 1, we have to make the range one larger\n // in order to be inclusive of the maximum value after we take the floor.\n const offset = Math.floor(Math.random() * (max - min + 1));\n return offset + min;\n}\n\n/**\n * A wrapper for setTimeout that resolves a promise after timeInMs milliseconds.\n * @param timeInMs - The number of milliseconds to be delayed.\n * @returns Promise that is resolved after timeInMs\n */\nexport function delay(timeInMs: number): Promise<void> {\n return new Promise((resolve) => setTimeout(() => resolve(), timeInMs));\n}\n\nexport const serviceVersions = [\"2020-06-30\", \"2023-10-01-Preview\"];\n\nexport const defaultServiceVersion = \"2023-10-01-Preview\";\n\nfunction convertKnowledgeStoreToPublic(\n knowledgeStore: BaseSearchIndexerKnowledgeStore | undefined,\n): SearchIndexerKnowledgeStore | undefined {\n if (!knowledgeStore) {\n return knowledgeStore;\n }\n\n return {\n ...knowledgeStore,\n identity: convertSearchIndexerDataIdentityToPublic(knowledgeStore.identity),\n };\n}\n\nfunction convertSearchIndexerCacheToPublic(\n cache?: GeneratedSearchIndexerCache,\n): SearchIndexerCache | undefined {\n if (!cache) {\n return cache;\n }\n\n return {\n ...cache,\n identity: convertSearchIndexerDataIdentityToPublic(cache.identity),\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"serviceUtils.js","sourceRoot":"","sources":["../../src/serviceUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n AzureMachineLearningSkill,\n BM25Similarity,\n ClassicSimilarity,\n CognitiveServicesAccountKey,\n CognitiveServicesAccountUnion,\n ConditionalSkill,\n CustomAnalyzer,\n CustomEntityLookupSkill,\n DataChangeDetectionPolicyUnion,\n DataDeletionDetectionPolicyUnion,\n DefaultCognitiveServicesAccount,\n DocumentExtractionSkill,\n EntityLinkingSkill,\n EntityRecognitionSkill,\n EntityRecognitionSkillV3,\n PatternAnalyzer as GeneratedPatternAnalyzer,\n SearchField as GeneratedSearchField,\n SearchIndex as GeneratedSearchIndex,\n SearchIndexer as GeneratedSearchIndexer,\n SearchIndexerDataSource as GeneratedSearchIndexerDataSourceConnection,\n SearchIndexerSkillset as GeneratedSearchIndexerSkillset,\n SearchResourceEncryptionKey as GeneratedSearchResourceEncryptionKey,\n SynonymMap as GeneratedSynonymMap,\n HighWaterMarkChangeDetectionPolicy,\n ImageAnalysisSkill,\n KeyPhraseExtractionSkill,\n LanguageDetectionSkill,\n LexicalAnalyzerName,\n LexicalAnalyzerUnion,\n LexicalNormalizerName,\n LexicalTokenizerUnion,\n LuceneStandardAnalyzer,\n MergeSkill,\n OcrSkill,\n PIIDetectionSkill,\n PatternTokenizer,\n RegexFlags,\n SearchIndexerDataIdentityUnion,\n SearchIndexerDataNoneIdentity,\n SearchIndexerDataUserAssignedIdentity,\n SearchIndexerKnowledgeStore as BaseSearchIndexerKnowledgeStore,\n SearchIndexerSkillUnion,\n SentimentSkill,\n SentimentSkillV3,\n ShaperSkill,\n SimilarityUnion,\n SoftDeleteColumnDeletionDetectionPolicy,\n SplitSkill,\n SqlIntegratedChangeTrackingPolicy,\n StopAnalyzer,\n TextTranslationSkill,\n TokenFilterUnion,\n SearchIndexerCache as GeneratedSearchIndexerCache,\n VectorSearch as GeneratedVectorSearch,\n CustomVectorizer as GeneratedCustomVectorizer,\n AzureOpenAIVectorizer as GeneratedAzureOpenAIVectorizer,\n VectorSearchVectorizerUnion as GeneratedVectorSearchVectorizer,\n VectorSearchAlgorithmConfigurationUnion as GeneratedVectorSearchAlgorithmConfiguration,\n HnswVectorSearchAlgorithmConfiguration as GeneratedHnswVectorSearchAlgorithmConfiguration,\n ExhaustiveKnnVectorSearchAlgorithmConfiguration as GeneratedExhaustiveKnnVectorSearchAlgorithmConfiguration,\n} from \"./generated/service/models\";\nimport {\n AzureOpenAIVectorizer,\n CharFilter,\n CognitiveServicesAccount,\n ComplexField,\n CustomVectorizer,\n DataChangeDetectionPolicy,\n DataDeletionDetectionPolicy,\n LexicalAnalyzer,\n LexicalNormalizer,\n LexicalTokenizer,\n PatternAnalyzer,\n ScoringProfile,\n SearchField,\n SearchFieldDataType,\n SearchIndex,\n SearchIndexer,\n SearchIndexerCache,\n SearchIndexerDataIdentity,\n SearchIndexerDataSourceConnection,\n SearchIndexerKnowledgeStore,\n SearchIndexerSkill,\n SearchIndexerSkillset,\n SearchResourceEncryptionKey,\n SimilarityAlgorithm,\n SimpleField,\n SynonymMap,\n TokenFilter,\n VectorSearch,\n VectorSearchAlgorithmConfiguration,\n VectorSearchAlgorithmMetric,\n VectorSearchVectorizer,\n WebApiSkill,\n isComplexField,\n} from \"./serviceModels\";\nimport {\n QueryDebugMode,\n SearchFieldArray,\n SearchRequest,\n SearchResult,\n SelectFields,\n SemanticErrorHandlingMode,\n SuggestDocumentsResult,\n SuggestResult,\n VectorFilterMode,\n VectorQuery,\n} from \"./indexModels\";\nimport {\n SearchResult as GeneratedSearchResult,\n SuggestDocumentsResult as GeneratedSuggestDocumentsResult,\n SearchRequest as GeneratedSearchRequest,\n VectorQueryUnion as GeneratedVectorQuery,\n} from \"./generated/data/models\";\n\nexport function convertSkillsToPublic(skills: SearchIndexerSkillUnion[]): SearchIndexerSkill[] {\n if (!skills) {\n return skills;\n }\n\n const result: SearchIndexerSkill[] = [];\n for (const skill of skills) {\n switch (skill.odatatype) {\n case \"#Microsoft.Skills.Util.ConditionalSkill\":\n result.push(skill as ConditionalSkill);\n break;\n case \"#Microsoft.Skills.Text.KeyPhraseExtractionSkill\":\n result.push(skill as KeyPhraseExtractionSkill);\n break;\n case \"#Microsoft.Skills.Vision.OcrSkill\":\n result.push(skill as OcrSkill);\n break;\n case \"#Microsoft.Skills.Vision.ImageAnalysisSkill\":\n result.push(skill as ImageAnalysisSkill);\n break;\n case \"#Microsoft.Skills.Text.LanguageDetectionSkill\":\n result.push(skill as LanguageDetectionSkill);\n break;\n case \"#Microsoft.Skills.Util.ShaperSkill\":\n result.push(skill as ShaperSkill);\n break;\n case \"#Microsoft.Skills.Text.MergeSkill\":\n result.push(skill as MergeSkill);\n break;\n case \"#Microsoft.Skills.Text.EntityRecognitionSkill\":\n result.push(skill as EntityRecognitionSkill);\n break;\n case \"#Microsoft.Skills.Text.SentimentSkill\":\n result.push(skill as SentimentSkill);\n break;\n case \"#Microsoft.Skills.Text.SplitSkill\":\n result.push(skill as SplitSkill);\n break;\n case \"#Microsoft.Skills.Text.PIIDetectionSkill\":\n result.push(skill as PIIDetectionSkill);\n break;\n case \"#Microsoft.Skills.Text.V3.EntityRecognitionSkill\":\n result.push(skill as EntityRecognitionSkillV3);\n break;\n case \"#Microsoft.Skills.Text.V3.EntityLinkingSkill\":\n result.push(skill as EntityLinkingSkill);\n break;\n case \"#Microsoft.Skills.Text.V3.SentimentSkill\":\n result.push(skill as SentimentSkillV3);\n break;\n case \"#Microsoft.Skills.Text.TranslationSkill\":\n result.push(skill as TextTranslationSkill);\n break;\n case \"#Microsoft.Skills.Custom.WebApiSkill\":\n result.push(skill as WebApiSkill);\n break;\n case \"#Microsoft.Skills.Text.CustomEntityLookupSkill\":\n result.push(skill as CustomEntityLookupSkill);\n break;\n case \"#Microsoft.Skills.Util.DocumentExtractionSkill\":\n result.push(skill as DocumentExtractionSkill);\n break;\n case \"#Microsoft.Skills.Custom.AmlSkill\":\n result.push(skill as AzureMachineLearningSkill);\n break;\n }\n }\n return result;\n}\n\nexport function convertCognitiveServicesAccountToGenerated(\n cognitiveServicesAccount?: CognitiveServicesAccount,\n): CognitiveServicesAccountUnion | undefined {\n if (!cognitiveServicesAccount) {\n return cognitiveServicesAccount;\n }\n\n return cognitiveServicesAccount as CognitiveServicesAccountUnion;\n}\n\nexport function convertCognitiveServicesAccountToPublic(\n cognitiveServicesAccount?: CognitiveServicesAccountUnion,\n): CognitiveServicesAccount | undefined {\n if (!cognitiveServicesAccount) {\n return cognitiveServicesAccount;\n }\n\n if (cognitiveServicesAccount.odatatype === \"#Microsoft.Azure.Search.DefaultCognitiveServices\") {\n return cognitiveServicesAccount as DefaultCognitiveServicesAccount;\n } else {\n return cognitiveServicesAccount as CognitiveServicesAccountKey;\n }\n}\n\nexport function convertTokenFiltersToGenerated(\n tokenFilters?: TokenFilter[],\n): TokenFilterUnion[] | undefined {\n if (!tokenFilters) {\n return tokenFilters;\n }\n\n const result: TokenFilterUnion[] = [];\n for (const filter of tokenFilters) {\n result.push(filter);\n }\n\n return result;\n}\n\nexport function convertAnalyzersToGenerated(\n analyzers?: LexicalAnalyzer[],\n): LexicalAnalyzerUnion[] | undefined {\n if (!analyzers) {\n return analyzers;\n }\n\n const result: LexicalAnalyzerUnion[] = [];\n for (const analyzer of analyzers) {\n switch (analyzer.odatatype) {\n case \"#Microsoft.Azure.Search.StandardAnalyzer\":\n case \"#Microsoft.Azure.Search.StopAnalyzer\":\n result.push(analyzer);\n break;\n case \"#Microsoft.Azure.Search.PatternAnalyzer\":\n result.push({\n ...analyzer,\n flags: analyzer.flags ? analyzer.flags.join(\"|\") : undefined,\n });\n break;\n case \"#Microsoft.Azure.Search.CustomAnalyzer\":\n result.push({\n ...analyzer,\n tokenizerName: analyzer.tokenizerName,\n });\n break;\n }\n }\n return result;\n}\n\nexport function convertAnalyzersToPublic(\n analyzers?: LexicalAnalyzerUnion[],\n): LexicalAnalyzer[] | undefined {\n if (!analyzers) {\n return analyzers;\n }\n\n const result: LexicalAnalyzer[] = [];\n for (const analyzer of analyzers) {\n switch (analyzer.odatatype) {\n case \"#Microsoft.Azure.Search.StandardAnalyzer\":\n result.push(analyzer as LuceneStandardAnalyzer);\n break;\n case \"#Microsoft.Azure.Search.StopAnalyzer\":\n result.push(analyzer as StopAnalyzer);\n break;\n case \"#Microsoft.Azure.Search.PatternAnalyzer\":\n result.push({\n ...analyzer,\n flags: (analyzer as GeneratedPatternAnalyzer).flags\n ? ((analyzer as GeneratedPatternAnalyzer).flags!.split(\"|\") as RegexFlags[])\n : undefined,\n } as PatternAnalyzer);\n break;\n case \"#Microsoft.Azure.Search.CustomAnalyzer\":\n result.push({\n ...analyzer,\n tokenizerName: (analyzer as CustomAnalyzer).tokenizerName,\n } as CustomAnalyzer);\n break;\n }\n }\n return result;\n}\n\nexport function convertFieldsToPublic(fields: GeneratedSearchField[]): SearchField[] {\n if (!fields) {\n return fields;\n }\n\n return fields.map<SearchField>((field): SearchField => {\n if (field.type === \"Collection(Edm.ComplexType)\" || field.type === \"Edm.ComplexType\") {\n const result: ComplexField = {\n name: field.name,\n type: field.type,\n fields: convertFieldsToPublic(field.fields!),\n };\n return result;\n } else {\n const type: SearchFieldDataType = field.type as SearchFieldDataType;\n const analyzerName: LexicalAnalyzerName | undefined = field.analyzer;\n const searchAnalyzerName: LexicalAnalyzerName | undefined = field.searchAnalyzer;\n const indexAnalyzerName: LexicalAnalyzerName | undefined = field.indexAnalyzer;\n const synonymMapNames: string[] | undefined = field.synonymMaps;\n const normalizerName: LexicalNormalizerName | undefined = field.normalizer;\n\n const { retrievable, ...restField } = field;\n const hidden = typeof retrievable === \"boolean\" ? !retrievable : retrievable;\n\n const result: SimpleField = {\n ...restField,\n type,\n hidden,\n analyzerName,\n searchAnalyzerName,\n indexAnalyzerName,\n synonymMapNames,\n normalizerName,\n };\n return result;\n }\n });\n}\n\nexport function convertFieldsToGenerated(fields: SearchField[]): GeneratedSearchField[] {\n return fields.map<GeneratedSearchField>((field) => {\n if (isComplexField(field)) {\n return {\n name: field.name,\n type: field.type,\n fields: convertFieldsToGenerated(field.fields),\n };\n } else {\n const { hidden, ...restField } = field;\n const retrievable = typeof hidden === \"boolean\" ? !hidden : hidden;\n return {\n ...restField,\n retrievable,\n // modify API defaults to use less storage for simple types\n searchable: field.searchable ?? false,\n filterable: field.filterable ?? false,\n facetable: field.facetable ?? false,\n sortable: field.sortable ?? false,\n analyzer: field.analyzerName,\n searchAnalyzer: field.searchAnalyzerName,\n indexAnalyzer: field.indexAnalyzerName,\n synonymMaps: field.synonymMapNames,\n normalizer: field.normalizerName,\n };\n }\n });\n}\n\nexport function convertTokenizersToGenerated(\n tokenizers?: LexicalTokenizer[],\n): LexicalTokenizerUnion[] | undefined {\n if (!tokenizers) {\n return tokenizers;\n }\n\n const result: LexicalTokenizerUnion[] = [];\n for (const tokenizer of tokenizers) {\n if (tokenizer.odatatype === \"#Microsoft.Azure.Search.PatternTokenizer\") {\n result.push({\n ...tokenizer,\n flags: tokenizer.flags ? tokenizer.flags.join(\"|\") : undefined,\n });\n } else {\n result.push(tokenizer);\n }\n }\n return result;\n}\n\nexport function convertTokenizersToPublic(\n tokenizers?: LexicalTokenizerUnion[],\n): LexicalTokenizer[] | undefined {\n if (!tokenizers) {\n return tokenizers;\n }\n\n const result: LexicalTokenizer[] = [];\n for (const tokenizer of tokenizers) {\n if (tokenizer.odatatype === \"#Microsoft.Azure.Search.PatternTokenizer\") {\n result.push({\n ...tokenizer,\n flags: (tokenizer as PatternTokenizer).flags\n ? ((tokenizer as PatternTokenizer).flags!.split(\"|\") as RegexFlags[])\n : undefined,\n });\n } else {\n result.push(tokenizer);\n }\n }\n return result;\n}\n\nexport function convertSimilarityToGenerated(\n similarity?: SimilarityAlgorithm,\n): SimilarityUnion | undefined {\n if (!similarity) {\n return similarity;\n }\n\n return similarity as SimilarityUnion;\n}\n\nexport function convertSimilarityToPublic(\n similarity?: SimilarityUnion,\n): SimilarityAlgorithm | undefined {\n if (!similarity) {\n return similarity;\n }\n\n if (similarity.odatatype === \"#Microsoft.Azure.Search.ClassicSimilarity\") {\n return similarity as ClassicSimilarity;\n } else {\n return similarity as BM25Similarity;\n }\n}\n\nexport function convertEncryptionKeyToPublic(\n encryptionKey?: GeneratedSearchResourceEncryptionKey,\n): SearchResourceEncryptionKey | undefined {\n if (!encryptionKey) {\n return encryptionKey;\n }\n\n const result: SearchResourceEncryptionKey = {\n keyName: encryptionKey.keyName,\n keyVersion: encryptionKey.keyVersion,\n vaultUrl: encryptionKey.vaultUri,\n identity: convertSearchIndexerDataIdentityToPublic(encryptionKey.identity),\n };\n\n if (encryptionKey.accessCredentials) {\n result.applicationId = encryptionKey.accessCredentials.applicationId;\n result.applicationSecret = encryptionKey.accessCredentials.applicationSecret;\n }\n\n return result;\n}\n\nexport function convertEncryptionKeyToGenerated(\n encryptionKey?: SearchResourceEncryptionKey,\n): GeneratedSearchResourceEncryptionKey | undefined {\n if (!encryptionKey) {\n return encryptionKey;\n }\n\n const result: GeneratedSearchResourceEncryptionKey = {\n keyName: encryptionKey.keyName,\n keyVersion: encryptionKey.keyVersion,\n vaultUri: encryptionKey.vaultUrl,\n identity: encryptionKey.identity,\n };\n\n if (encryptionKey.applicationId) {\n result.accessCredentials = {\n applicationId: encryptionKey.applicationId,\n applicationSecret: encryptionKey.applicationSecret,\n };\n }\n\n return result;\n}\n\nexport function generatedIndexToPublicIndex(generatedIndex: GeneratedSearchIndex): SearchIndex {\n return {\n name: generatedIndex.name,\n defaultScoringProfile: generatedIndex.defaultScoringProfile,\n corsOptions: generatedIndex.corsOptions,\n suggesters: generatedIndex.suggesters,\n encryptionKey: convertEncryptionKeyToPublic(generatedIndex.encryptionKey),\n etag: generatedIndex.etag,\n analyzers: convertAnalyzersToPublic(generatedIndex.analyzers),\n tokenizers: convertTokenizersToPublic(generatedIndex.tokenizers),\n tokenFilters: generatedIndex.tokenFilters as TokenFilter[],\n charFilters: generatedIndex.charFilters as CharFilter[],\n normalizers: generatedIndex.normalizers as LexicalNormalizer[],\n scoringProfiles: generatedIndex.scoringProfiles as ScoringProfile[],\n fields: convertFieldsToPublic(generatedIndex.fields),\n similarity: convertSimilarityToPublic(generatedIndex.similarity),\n semanticSettings: generatedIndex.semanticSettings,\n vectorSearch: generatedVectorSearchToPublicVectorSearch(generatedIndex.vectorSearch),\n };\n}\n\nexport function generatedVectorSearchVectorizerToPublicVectorizer(): undefined;\nexport function generatedVectorSearchVectorizerToPublicVectorizer(\n generatedVectorizer: GeneratedVectorSearchVectorizer,\n): VectorSearchVectorizer;\nexport function generatedVectorSearchVectorizerToPublicVectorizer(\n generatedVectorizer?: GeneratedVectorSearchVectorizer,\n): VectorSearchVectorizer | undefined {\n if (!generatedVectorizer) {\n return generatedVectorizer;\n }\n\n if (generatedVectorizer.kind === \"azureOpenAI\") {\n const { azureOpenAIParameters } = generatedVectorizer as GeneratedAzureOpenAIVectorizer;\n const authIdentity = convertSearchIndexerDataIdentityToPublic(\n azureOpenAIParameters?.authIdentity,\n );\n const vectorizer: AzureOpenAIVectorizer = {\n ...(generatedVectorizer as GeneratedAzureOpenAIVectorizer),\n azureOpenAIParameters: { ...azureOpenAIParameters, authIdentity },\n };\n return vectorizer;\n }\n\n if (generatedVectorizer.kind === \"customWebApi\") {\n const { customVectorizerParameters } = generatedVectorizer as GeneratedCustomVectorizer;\n const authIdentity = convertSearchIndexerDataIdentityToPublic(\n customVectorizerParameters?.authIdentity,\n );\n const vectorizer: CustomVectorizer = {\n ...(generatedVectorizer as GeneratedCustomVectorizer),\n customVectorizerParameters: { ...customVectorizerParameters, authIdentity },\n };\n return vectorizer;\n }\n\n throw Error(\"Unsupported vectorizer\");\n}\n\nexport function generatedVectorSearchAlgorithmConfigurationToPublicVectorSearchAlgorithmConfiguration(): undefined;\nexport function generatedVectorSearchAlgorithmConfigurationToPublicVectorSearchAlgorithmConfiguration(\n generatedAlgorithmConfiguration: GeneratedVectorSearchAlgorithmConfiguration,\n): VectorSearchAlgorithmConfiguration;\nexport function generatedVectorSearchAlgorithmConfigurationToPublicVectorSearchAlgorithmConfiguration(\n generatedAlgorithmConfiguration?: GeneratedVectorSearchAlgorithmConfiguration,\n): VectorSearchAlgorithmConfiguration | undefined {\n if (!generatedAlgorithmConfiguration) {\n return generatedAlgorithmConfiguration;\n }\n\n if ([\"hnsw\", \"exhaustiveKnn\"].includes(generatedAlgorithmConfiguration.kind)) {\n const algorithmConfiguration = generatedAlgorithmConfiguration as\n | GeneratedHnswVectorSearchAlgorithmConfiguration\n | GeneratedExhaustiveKnnVectorSearchAlgorithmConfiguration;\n const metric = algorithmConfiguration.parameters?.metric as VectorSearchAlgorithmMetric;\n return {\n ...algorithmConfiguration,\n parameters: { ...algorithmConfiguration.parameters, metric },\n };\n }\n\n throw Error(\"Unsupported algorithm configuration\");\n}\n\nexport function generatedVectorSearchToPublicVectorSearch(\n vectorSearch?: GeneratedVectorSearch,\n): VectorSearch | undefined {\n if (!vectorSearch) {\n return vectorSearch;\n }\n\n return {\n ...vectorSearch,\n algorithms: vectorSearch.algorithms?.map(\n generatedVectorSearchAlgorithmConfigurationToPublicVectorSearchAlgorithmConfiguration,\n ),\n vectorizers: vectorSearch.vectorizers?.map(generatedVectorSearchVectorizerToPublicVectorizer),\n };\n}\n\nexport function generatedSearchResultToPublicSearchResult<\n TModel extends object,\n TFields extends SelectFields<TModel>,\n>(results: GeneratedSearchResult[]): SearchResult<TModel, TFields>[] {\n const returnValues: SearchResult<TModel, TFields>[] = results.map<SearchResult<TModel, TFields>>(\n (result) => {\n const { _score, _highlights, rerankerScore, captions, documentDebugInfo, ...restProps } =\n result;\n const doc: { [key: string]: any } = {\n ...restProps,\n };\n const obj = {\n score: _score,\n highlights: _highlights,\n rerankerScore,\n captions,\n document: doc,\n documentDebugInfo,\n };\n return obj as SearchResult<TModel, TFields>;\n },\n );\n return returnValues;\n}\n\nexport function generatedSuggestDocumentsResultToPublicSuggestDocumentsResult<\n TModel extends object,\n TFields extends SelectFields<TModel>,\n>(searchDocumentsResult: GeneratedSuggestDocumentsResult): SuggestDocumentsResult<TModel, TFields> {\n const results = searchDocumentsResult.results.map<SuggestResult<TModel, TFields>>((element) => {\n const { _text, ...restProps } = element;\n\n const doc: { [key: string]: any } = {\n ...restProps,\n };\n\n const obj = {\n text: _text,\n document: doc,\n };\n\n return obj as SuggestResult<TModel, TFields>;\n });\n\n const result: SuggestDocumentsResult<TModel, TFields> = {\n results: results,\n coverage: searchDocumentsResult.coverage,\n };\n\n return result;\n}\n\nexport function publicIndexToGeneratedIndex(index: SearchIndex): GeneratedSearchIndex {\n const { encryptionKey, tokenFilters, analyzers, tokenizers, fields, similarity } = index;\n\n return {\n ...index,\n encryptionKey: convertEncryptionKeyToGenerated(encryptionKey),\n tokenFilters: convertTokenFiltersToGenerated(tokenFilters),\n analyzers: convertAnalyzersToGenerated(analyzers),\n tokenizers: convertTokenizersToGenerated(tokenizers),\n fields: convertFieldsToGenerated(fields),\n similarity: convertSimilarityToGenerated(similarity),\n };\n}\n\nexport function generatedSkillsetToPublicSkillset(\n generatedSkillset: GeneratedSearchIndexerSkillset,\n): SearchIndexerSkillset {\n return {\n name: generatedSkillset.name,\n description: generatedSkillset.description,\n skills: convertSkillsToPublic(generatedSkillset.skills),\n cognitiveServicesAccount: convertCognitiveServicesAccountToPublic(\n generatedSkillset.cognitiveServicesAccount,\n ),\n knowledgeStore: convertKnowledgeStoreToPublic(generatedSkillset.knowledgeStore),\n etag: generatedSkillset.etag,\n encryptionKey: convertEncryptionKeyToPublic(generatedSkillset.encryptionKey),\n };\n}\n\nexport function publicSkillsetToGeneratedSkillset(\n skillset: SearchIndexerSkillset,\n): GeneratedSearchIndexerSkillset {\n return {\n name: skillset.name,\n description: skillset.description,\n etag: skillset.etag,\n skills: skillset.skills,\n cognitiveServicesAccount: convertCognitiveServicesAccountToGenerated(\n skillset.cognitiveServicesAccount,\n ),\n knowledgeStore: skillset.knowledgeStore,\n encryptionKey: convertEncryptionKeyToGenerated(skillset.encryptionKey),\n };\n}\n\nexport function generatedSynonymMapToPublicSynonymMap(synonymMap: GeneratedSynonymMap): SynonymMap {\n const result: SynonymMap = {\n name: synonymMap.name,\n encryptionKey: convertEncryptionKeyToPublic(synonymMap.encryptionKey),\n etag: synonymMap.etag,\n synonyms: [],\n };\n\n if (synonymMap.synonyms) {\n result.synonyms = synonymMap.synonyms.split(\"\\n\");\n }\n\n return result;\n}\n\nexport function publicSynonymMapToGeneratedSynonymMap(synonymMap: SynonymMap): GeneratedSynonymMap {\n const result: GeneratedSynonymMap = {\n name: synonymMap.name,\n format: \"solr\",\n encryptionKey: convertEncryptionKeyToGenerated(synonymMap.encryptionKey),\n etag: synonymMap.etag,\n synonyms: synonymMap.synonyms.join(\"\\n\"),\n };\n\n result.encryptionKey = convertEncryptionKeyToGenerated(synonymMap.encryptionKey);\n\n return result;\n}\n\nexport function publicSearchIndexerToGeneratedSearchIndexer(\n indexer: SearchIndexer,\n): GeneratedSearchIndexer {\n return {\n ...indexer,\n encryptionKey: convertEncryptionKeyToGenerated(indexer.encryptionKey),\n };\n}\n\nexport function generatedSearchIndexerToPublicSearchIndexer(\n indexer: GeneratedSearchIndexer,\n): SearchIndexer {\n return {\n ...indexer,\n encryptionKey: convertEncryptionKeyToPublic(indexer.encryptionKey),\n cache: convertSearchIndexerCacheToPublic(indexer.cache),\n };\n}\n\nexport function generatedSearchRequestToPublicSearchRequest<Model extends object>(\n request: GeneratedSearchRequest,\n): SearchRequest<Model> {\n const { semanticErrorHandling, debug, vectorQueries, vectorFilterMode, ...props } = request;\n const publicRequest: SearchRequest<Model> = {\n semanticErrorHandlingMode: semanticErrorHandling as SemanticErrorHandlingMode | undefined,\n debugMode: debug as QueryDebugMode | undefined,\n vectorFilterMode: vectorFilterMode as VectorFilterMode | undefined,\n vectorQueries: vectorQueries\n ?.map(convertVectorQueryToPublic<Model>)\n .filter((v): v is VectorQuery<Model> => v !== undefined),\n ...props,\n };\n\n return publicRequest;\n}\n\nexport function publicDataSourceToGeneratedDataSource(\n dataSource: SearchIndexerDataSourceConnection,\n): GeneratedSearchIndexerDataSourceConnection {\n return {\n name: dataSource.name,\n description: dataSource.description,\n type: dataSource.type,\n credentials: {\n connectionString: dataSource.connectionString,\n },\n container: dataSource.container,\n identity: dataSource.identity,\n etag: dataSource.etag,\n dataChangeDetectionPolicy: dataSource.dataChangeDetectionPolicy,\n dataDeletionDetectionPolicy: dataSource.dataDeletionDetectionPolicy,\n encryptionKey: convertEncryptionKeyToGenerated(dataSource.encryptionKey),\n };\n}\n\nexport function generatedDataSourceToPublicDataSource(\n dataSource: GeneratedSearchIndexerDataSourceConnection,\n): SearchIndexerDataSourceConnection {\n return {\n name: dataSource.name,\n description: dataSource.name,\n type: dataSource.type,\n connectionString: dataSource.credentials.connectionString,\n container: dataSource.container,\n identity: convertSearchIndexerDataIdentityToPublic(dataSource.identity),\n etag: dataSource.etag,\n dataChangeDetectionPolicy: convertDataChangeDetectionPolicyToPublic(\n dataSource.dataChangeDetectionPolicy,\n ),\n dataDeletionDetectionPolicy: convertDataDeletionDetectionPolicyToPublic(\n dataSource.dataDeletionDetectionPolicy,\n ),\n encryptionKey: convertEncryptionKeyToPublic(dataSource.encryptionKey),\n };\n}\n\nexport function convertSearchIndexerDataIdentityToPublic(\n searchIndexerDataIdentity?: SearchIndexerDataIdentityUnion,\n): SearchIndexerDataIdentity | undefined {\n if (!searchIndexerDataIdentity) {\n return searchIndexerDataIdentity;\n }\n\n if (searchIndexerDataIdentity.odatatype === \"#Microsoft.Azure.Search.DataNoneIdentity\") {\n return searchIndexerDataIdentity as SearchIndexerDataNoneIdentity;\n } else {\n return searchIndexerDataIdentity as SearchIndexerDataUserAssignedIdentity;\n }\n}\n\nexport function convertDataChangeDetectionPolicyToPublic(\n dataChangeDetectionPolicy?: DataChangeDetectionPolicyUnion,\n): DataChangeDetectionPolicy | undefined {\n if (!dataChangeDetectionPolicy) {\n return dataChangeDetectionPolicy;\n }\n\n if (\n dataChangeDetectionPolicy.odatatype ===\n \"#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy\"\n ) {\n return dataChangeDetectionPolicy as HighWaterMarkChangeDetectionPolicy;\n } else {\n return dataChangeDetectionPolicy as SqlIntegratedChangeTrackingPolicy;\n }\n}\n\nexport function convertDataDeletionDetectionPolicyToPublic(\n dataDeletionDetectionPolicy?: DataDeletionDetectionPolicyUnion,\n): DataDeletionDetectionPolicy | undefined {\n if (!dataDeletionDetectionPolicy) {\n return dataDeletionDetectionPolicy;\n }\n\n return dataDeletionDetectionPolicy as SoftDeleteColumnDeletionDetectionPolicy;\n}\n\nfunction convertVectorQueryToPublic<Model extends object>(\n vector: GeneratedVectorQuery | undefined,\n): VectorQuery<Model> | undefined {\n if (!vector) {\n return vector;\n }\n\n const fields: SearchFieldArray<Model> | undefined = vector.fields?.split(\",\") as\n | SearchFieldArray<Model>\n | undefined;\n\n return { ...vector, fields };\n}\n\nexport function getRandomIntegerInclusive(min: number, max: number): number {\n // Make sure inputs are integers.\n min = Math.ceil(min);\n max = Math.floor(max);\n // Pick a random offset from zero to the size of the range.\n // Since Math.random() can never return 1, we have to make the range one larger\n // in order to be inclusive of the maximum value after we take the floor.\n const offset = Math.floor(Math.random() * (max - min + 1));\n return offset + min;\n}\n\n/**\n * A wrapper for setTimeout that resolves a promise after timeInMs milliseconds.\n * @param timeInMs - The number of milliseconds to be delayed.\n * @returns Promise that is resolved after timeInMs\n */\nexport function delay(timeInMs: number): Promise<void> {\n return new Promise((resolve) => setTimeout(() => resolve(), timeInMs));\n}\n\nexport const serviceVersions = [\"2020-06-30\", \"2023-10-01-Preview\"];\n\nexport const defaultServiceVersion = \"2023-10-01-Preview\";\n\nfunction convertKnowledgeStoreToPublic(\n knowledgeStore: BaseSearchIndexerKnowledgeStore | undefined,\n): SearchIndexerKnowledgeStore | undefined {\n if (!knowledgeStore) {\n return knowledgeStore;\n }\n\n return {\n ...knowledgeStore,\n identity: convertSearchIndexerDataIdentityToPublic(knowledgeStore.identity),\n };\n}\n\nfunction convertSearchIndexerCacheToPublic(\n cache?: GeneratedSearchIndexerCache,\n): SearchIndexerCache | undefined {\n if (!cache) {\n return cache;\n }\n\n return {\n ...cache,\n identity: convertSearchIndexerDataIdentityToPublic(cache.identity),\n };\n}\n"]}
|
package/package.json
CHANGED