@azure/search-documents 12.0.0-beta.4 → 12.1.0-beta.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/README.md +52 -32
- package/dist/index.js +13493 -13180
- package/dist/index.js.map +1 -1
- package/dist-esm/src/constants.js +2 -1
- package/dist-esm/src/constants.js.map +1 -1
- package/dist-esm/src/errorModels.js +4 -0
- package/dist-esm/src/errorModels.js.map +1 -0
- package/dist-esm/src/generated/data/models/index.js +37 -53
- package/dist-esm/src/generated/data/models/index.js.map +1 -1
- package/dist-esm/src/generated/data/models/mappers.js +398 -331
- package/dist-esm/src/generated/data/models/mappers.js.map +1 -1
- package/dist-esm/src/generated/data/models/parameters.js +195 -195
- package/dist-esm/src/generated/data/models/parameters.js.map +1 -1
- package/dist-esm/src/generated/data/operations/documents.js +41 -41
- package/dist-esm/src/generated/data/operations/documents.js.map +1 -1
- package/dist-esm/src/generated/data/operationsInterfaces/documents.js.map +1 -1
- package/dist-esm/src/generated/data/searchClient.js +30 -4
- package/dist-esm/src/generated/data/searchClient.js.map +1 -1
- package/dist-esm/src/generated/service/models/index.js +138 -69
- package/dist-esm/src/generated/service/models/index.js.map +1 -1
- package/dist-esm/src/generated/service/models/mappers.js +1821 -1663
- package/dist-esm/src/generated/service/models/mappers.js.map +1 -1
- package/dist-esm/src/generated/service/models/parameters.js +64 -64
- package/dist-esm/src/generated/service/models/parameters.js.map +1 -1
- package/dist-esm/src/generated/service/operations/aliases.js +22 -22
- package/dist-esm/src/generated/service/operations/aliases.js.map +1 -1
- package/dist-esm/src/generated/service/operations/dataSources.js +23 -23
- package/dist-esm/src/generated/service/operations/dataSources.js.map +1 -1
- package/dist-esm/src/generated/service/operations/indexers.js +36 -36
- package/dist-esm/src/generated/service/operations/indexers.js.map +1 -1
- package/dist-esm/src/generated/service/operations/indexes.js +30 -30
- package/dist-esm/src/generated/service/operations/indexes.js.map +1 -1
- package/dist-esm/src/generated/service/operations/skillsets.js +26 -26
- package/dist-esm/src/generated/service/operations/skillsets.js.map +1 -1
- package/dist-esm/src/generated/service/operations/synonymMaps.js +22 -22
- package/dist-esm/src/generated/service/operations/synonymMaps.js.map +1 -1
- package/dist-esm/src/generated/service/operationsInterfaces/aliases.js.map +1 -1
- package/dist-esm/src/generated/service/operationsInterfaces/dataSources.js.map +1 -1
- package/dist-esm/src/generated/service/operationsInterfaces/indexers.js.map +1 -1
- package/dist-esm/src/generated/service/operationsInterfaces/indexes.js.map +1 -1
- package/dist-esm/src/generated/service/operationsInterfaces/skillsets.js.map +1 -1
- package/dist-esm/src/generated/service/operationsInterfaces/synonymMaps.js.map +1 -1
- package/dist-esm/src/generated/service/searchServiceClient.js +35 -9
- package/dist-esm/src/generated/service/searchServiceClient.js.map +1 -1
- package/dist-esm/src/generatedStringLiteralUnions.js +4 -0
- package/dist-esm/src/generatedStringLiteralUnions.js.map +1 -0
- package/dist-esm/src/index.js +8 -9
- package/dist-esm/src/index.js.map +1 -1
- package/dist-esm/src/indexDocumentsBatch.js.map +1 -1
- package/dist-esm/src/indexModels.js.map +1 -1
- package/dist-esm/src/odata.js.map +1 -1
- package/dist-esm/src/odataMetadataPolicy.js.map +1 -1
- package/dist-esm/src/searchApiKeyCredentialPolicy.js.map +1 -1
- package/dist-esm/src/searchClient.js +36 -27
- package/dist-esm/src/searchClient.js.map +1 -1
- package/dist-esm/src/searchIndexClient.js +15 -29
- package/dist-esm/src/searchIndexClient.js.map +1 -1
- package/dist-esm/src/searchIndexerClient.js +9 -6
- package/dist-esm/src/searchIndexerClient.js.map +1 -1
- package/dist-esm/src/searchIndexingBufferedSender.js +3 -8
- package/dist-esm/src/searchIndexingBufferedSender.js.map +1 -1
- package/dist-esm/src/serialization.js.map +1 -1
- package/dist-esm/src/serviceModels.js.map +1 -1
- package/dist-esm/src/serviceUtils.js +44 -67
- package/dist-esm/src/serviceUtils.js.map +1 -1
- package/dist-esm/src/synonymMapHelper.browser.js.map +1 -1
- package/dist-esm/src/synonymMapHelper.js +1 -1
- package/dist-esm/src/synonymMapHelper.js.map +1 -1
- package/dist-esm/src/tracing.js +1 -1
- package/dist-esm/src/tracing.js.map +1 -1
- package/package.json +42 -43
- package/types/search-documents.d.ts +1014 -1458
|
@@ -97,7 +97,7 @@ export function convertTokenFiltersToGenerated(tokenFilters) {
|
|
|
97
97
|
}
|
|
98
98
|
return result;
|
|
99
99
|
}
|
|
100
|
-
|
|
100
|
+
function convertAnalyzersToGenerated(analyzers) {
|
|
101
101
|
if (!analyzers) {
|
|
102
102
|
return analyzers;
|
|
103
103
|
}
|
|
@@ -118,7 +118,7 @@ export function convertAnalyzersToGenerated(analyzers) {
|
|
|
118
118
|
}
|
|
119
119
|
return result;
|
|
120
120
|
}
|
|
121
|
-
|
|
121
|
+
function convertAnalyzersToPublic(analyzers) {
|
|
122
122
|
if (!analyzers) {
|
|
123
123
|
return analyzers;
|
|
124
124
|
}
|
|
@@ -137,7 +137,7 @@ export function convertAnalyzersToPublic(analyzers) {
|
|
|
137
137
|
: undefined }));
|
|
138
138
|
break;
|
|
139
139
|
case "#Microsoft.Azure.Search.CustomAnalyzer":
|
|
140
|
-
result.push(
|
|
140
|
+
result.push(analyzer);
|
|
141
141
|
break;
|
|
142
142
|
}
|
|
143
143
|
}
|
|
@@ -158,20 +158,11 @@ export function convertFieldsToPublic(fields) {
|
|
|
158
158
|
}
|
|
159
159
|
else {
|
|
160
160
|
const type = field.type;
|
|
161
|
-
const analyzerName = field.analyzer;
|
|
162
|
-
const searchAnalyzerName = field.searchAnalyzer;
|
|
163
|
-
const indexAnalyzerName = field.indexAnalyzer;
|
|
164
161
|
const synonymMapNames = field.synonymMaps;
|
|
165
|
-
const
|
|
166
|
-
const { retrievable } = field, restField = __rest(field, ["retrievable"]);
|
|
162
|
+
const { retrievable, analyzer, searchAnalyzer, indexAnalyzer, normalizer } = field, restField = __rest(field, ["retrievable", "analyzer", "searchAnalyzer", "indexAnalyzer", "normalizer"]);
|
|
167
163
|
const hidden = typeof retrievable === "boolean" ? !retrievable : retrievable;
|
|
168
164
|
const result = Object.assign(Object.assign({}, restField), { type,
|
|
169
|
-
hidden,
|
|
170
|
-
analyzerName,
|
|
171
|
-
searchAnalyzerName,
|
|
172
|
-
indexAnalyzerName,
|
|
173
|
-
synonymMapNames,
|
|
174
|
-
normalizerName });
|
|
165
|
+
hidden, analyzerName: analyzer, searchAnalyzerName: searchAnalyzer, indexAnalyzerName: indexAnalyzer, normalizerName: normalizer, synonymMapNames });
|
|
175
166
|
return result;
|
|
176
167
|
}
|
|
177
168
|
});
|
|
@@ -195,7 +186,7 @@ export function convertFieldsToGenerated(fields) {
|
|
|
195
186
|
}
|
|
196
187
|
});
|
|
197
188
|
}
|
|
198
|
-
|
|
189
|
+
function convertTokenizersToGenerated(tokenizers) {
|
|
199
190
|
if (!tokenizers) {
|
|
200
191
|
return tokenizers;
|
|
201
192
|
}
|
|
@@ -210,16 +201,17 @@ export function convertTokenizersToGenerated(tokenizers) {
|
|
|
210
201
|
}
|
|
211
202
|
return result;
|
|
212
203
|
}
|
|
213
|
-
|
|
204
|
+
function convertTokenizersToPublic(tokenizers) {
|
|
205
|
+
var _a;
|
|
214
206
|
if (!tokenizers) {
|
|
215
207
|
return tokenizers;
|
|
216
208
|
}
|
|
217
209
|
const result = [];
|
|
218
210
|
for (const tokenizer of tokenizers) {
|
|
219
211
|
if (tokenizer.odatatype === "#Microsoft.Azure.Search.PatternTokenizer") {
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
212
|
+
const patternTokenizer = tokenizer;
|
|
213
|
+
const flags = (_a = patternTokenizer.flags) === null || _a === void 0 ? void 0 : _a.split("|");
|
|
214
|
+
result.push(Object.assign(Object.assign({}, tokenizer), { flags }));
|
|
223
215
|
}
|
|
224
216
|
else {
|
|
225
217
|
result.push(tokenizer);
|
|
@@ -244,7 +236,7 @@ export function convertSimilarityToPublic(similarity) {
|
|
|
244
236
|
return similarity;
|
|
245
237
|
}
|
|
246
238
|
}
|
|
247
|
-
|
|
239
|
+
function convertEncryptionKeyToPublic(encryptionKey) {
|
|
248
240
|
if (!encryptionKey) {
|
|
249
241
|
return encryptionKey;
|
|
250
242
|
}
|
|
@@ -260,7 +252,7 @@ export function convertEncryptionKeyToPublic(encryptionKey) {
|
|
|
260
252
|
}
|
|
261
253
|
return result;
|
|
262
254
|
}
|
|
263
|
-
|
|
255
|
+
function convertEncryptionKeyToGenerated(encryptionKey) {
|
|
264
256
|
if (!encryptionKey) {
|
|
265
257
|
return encryptionKey;
|
|
266
258
|
}
|
|
@@ -294,7 +286,7 @@ export function generatedIndexToPublicIndex(generatedIndex) {
|
|
|
294
286
|
scoringProfiles: generatedIndex.scoringProfiles,
|
|
295
287
|
fields: convertFieldsToPublic(generatedIndex.fields),
|
|
296
288
|
similarity: convertSimilarityToPublic(generatedIndex.similarity),
|
|
297
|
-
|
|
289
|
+
semanticSearch: generatedIndex.semanticSearch,
|
|
298
290
|
vectorSearch: generatedVectorSearchToPublicVectorSearch(generatedIndex.vectorSearch),
|
|
299
291
|
};
|
|
300
292
|
}
|
|
@@ -302,19 +294,22 @@ export function generatedVectorSearchVectorizerToPublicVectorizer(generatedVecto
|
|
|
302
294
|
if (!generatedVectorizer) {
|
|
303
295
|
return generatedVectorizer;
|
|
304
296
|
}
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
297
|
+
switch (generatedVectorizer.kind) {
|
|
298
|
+
case "azureOpenAI": {
|
|
299
|
+
const { azureOpenAIParameters } = generatedVectorizer;
|
|
300
|
+
const authIdentity = convertSearchIndexerDataIdentityToPublic(azureOpenAIParameters === null || azureOpenAIParameters === void 0 ? void 0 : azureOpenAIParameters.authIdentity);
|
|
301
|
+
const vectorizer = Object.assign(Object.assign({}, generatedVectorizer), { azureOpenAIParameters: Object.assign(Object.assign({}, azureOpenAIParameters), { authIdentity }) });
|
|
302
|
+
return vectorizer;
|
|
303
|
+
}
|
|
304
|
+
case "customWebApi": {
|
|
305
|
+
const { customWebApiParameters } = generatedVectorizer;
|
|
306
|
+
const authIdentity = convertSearchIndexerDataIdentityToPublic(customWebApiParameters === null || customWebApiParameters === void 0 ? void 0 : customWebApiParameters.authIdentity);
|
|
307
|
+
const vectorizer = Object.assign(Object.assign({}, generatedVectorizer), { customVectorizerParameters: Object.assign(Object.assign({}, customWebApiParameters), { authIdentity }) });
|
|
308
|
+
return vectorizer;
|
|
309
|
+
}
|
|
310
|
+
default:
|
|
311
|
+
throw Error("Unsupported vectorizer");
|
|
316
312
|
}
|
|
317
|
-
throw Error("Unsupported vectorizer");
|
|
318
313
|
}
|
|
319
314
|
export function generatedVectorSearchAlgorithmConfigurationToPublicVectorSearchAlgorithmConfiguration(generatedAlgorithmConfiguration) {
|
|
320
315
|
var _a;
|
|
@@ -337,15 +332,14 @@ export function generatedVectorSearchToPublicVectorSearch(vectorSearch) {
|
|
|
337
332
|
}
|
|
338
333
|
export function generatedSearchResultToPublicSearchResult(results) {
|
|
339
334
|
const returnValues = results.map((result) => {
|
|
340
|
-
const { _score, _highlights, rerankerScore, captions, documentDebugInfo } = result, restProps = __rest(result, ["_score", "_highlights", "
|
|
341
|
-
const doc = Object.assign({}, restProps);
|
|
335
|
+
const { _score: score, _highlights: highlights, _rerankerScore: rerankerScore, _captions: captions, documentDebugInfo: documentDebugInfo } = result, restProps = __rest(result, ["_score", "_highlights", "_rerankerScore", "_captions", "documentDebugInfo"]);
|
|
342
336
|
const obj = {
|
|
343
|
-
score
|
|
344
|
-
highlights
|
|
337
|
+
score,
|
|
338
|
+
highlights,
|
|
345
339
|
rerankerScore,
|
|
346
340
|
captions,
|
|
347
|
-
document: doc,
|
|
348
341
|
documentDebugInfo,
|
|
342
|
+
document: restProps,
|
|
349
343
|
};
|
|
350
344
|
return obj;
|
|
351
345
|
});
|
|
@@ -354,10 +348,9 @@ export function generatedSearchResultToPublicSearchResult(results) {
|
|
|
354
348
|
export function generatedSuggestDocumentsResultToPublicSuggestDocumentsResult(searchDocumentsResult) {
|
|
355
349
|
const results = searchDocumentsResult.results.map((element) => {
|
|
356
350
|
const { _text } = element, restProps = __rest(element, ["_text"]);
|
|
357
|
-
const doc = Object.assign({}, restProps);
|
|
358
351
|
const obj = {
|
|
359
352
|
text: _text,
|
|
360
|
-
document:
|
|
353
|
+
document: restProps,
|
|
361
354
|
};
|
|
362
355
|
return obj;
|
|
363
356
|
});
|
|
@@ -372,15 +365,8 @@ export function publicIndexToGeneratedIndex(index) {
|
|
|
372
365
|
return Object.assign(Object.assign({}, index), { encryptionKey: convertEncryptionKeyToGenerated(encryptionKey), tokenFilters: convertTokenFiltersToGenerated(tokenFilters), analyzers: convertAnalyzersToGenerated(analyzers), tokenizers: convertTokenizersToGenerated(tokenizers), fields: convertFieldsToGenerated(fields), similarity: convertSimilarityToGenerated(similarity) });
|
|
373
366
|
}
|
|
374
367
|
export function generatedSkillsetToPublicSkillset(generatedSkillset) {
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
description: generatedSkillset.description,
|
|
378
|
-
skills: convertSkillsToPublic(generatedSkillset.skills),
|
|
379
|
-
cognitiveServicesAccount: convertCognitiveServicesAccountToPublic(generatedSkillset.cognitiveServicesAccount),
|
|
380
|
-
knowledgeStore: convertKnowledgeStoreToPublic(generatedSkillset.knowledgeStore),
|
|
381
|
-
etag: generatedSkillset.etag,
|
|
382
|
-
encryptionKey: convertEncryptionKeyToPublic(generatedSkillset.encryptionKey),
|
|
383
|
-
};
|
|
368
|
+
const { skills, cognitiveServicesAccount, knowledgeStore, encryptionKey, indexProjections } = generatedSkillset, props = __rest(generatedSkillset, ["skills", "cognitiveServicesAccount", "knowledgeStore", "encryptionKey", "indexProjections"]);
|
|
369
|
+
return Object.assign(Object.assign({}, props), { skills: convertSkillsToPublic(skills), cognitiveServicesAccount: convertCognitiveServicesAccountToPublic(cognitiveServicesAccount), knowledgeStore: convertKnowledgeStoreToPublic(knowledgeStore), encryptionKey: convertEncryptionKeyToPublic(encryptionKey), indexProjections: indexProjections });
|
|
384
370
|
}
|
|
385
371
|
export function publicSkillsetToGeneratedSkillset(skillset) {
|
|
386
372
|
return {
|
|
@@ -420,12 +406,11 @@ export function publicSearchIndexerToGeneratedSearchIndexer(indexer) {
|
|
|
420
406
|
return Object.assign(Object.assign({}, indexer), { encryptionKey: convertEncryptionKeyToGenerated(indexer.encryptionKey) });
|
|
421
407
|
}
|
|
422
408
|
export function generatedSearchIndexerToPublicSearchIndexer(indexer) {
|
|
423
|
-
|
|
424
|
-
}
|
|
425
|
-
|
|
426
|
-
const
|
|
427
|
-
|
|
428
|
-
return publicRequest;
|
|
409
|
+
var _a, _b, _c, _d;
|
|
410
|
+
const { parsingMode, dataToExtract, imageAction, pdfTextRotationAlgorithm, executionEnvironment, } = (_b = (_a = indexer.parameters) === null || _a === void 0 ? void 0 : _a.configuration) !== null && _b !== void 0 ? _b : {};
|
|
411
|
+
const configuration = ((_c = indexer.parameters) === null || _c === void 0 ? void 0 : _c.configuration) && Object.assign(Object.assign({}, (_d = indexer.parameters) === null || _d === void 0 ? void 0 : _d.configuration), { parsingMode: parsingMode, dataToExtract: dataToExtract, imageAction: imageAction, pdfTextRotationAlgorithm: pdfTextRotationAlgorithm, executionEnvironment: executionEnvironment });
|
|
412
|
+
const parameters = Object.assign(Object.assign({}, indexer.parameters), { configuration });
|
|
413
|
+
return Object.assign(Object.assign({}, indexer), { parameters, encryptionKey: convertEncryptionKeyToPublic(indexer.encryptionKey), cache: convertSearchIndexerCacheToPublic(indexer.cache) });
|
|
429
414
|
}
|
|
430
415
|
export function publicDataSourceToGeneratedDataSource(dataSource) {
|
|
431
416
|
return {
|
|
@@ -486,14 +471,6 @@ export function convertDataDeletionDetectionPolicyToPublic(dataDeletionDetection
|
|
|
486
471
|
}
|
|
487
472
|
return dataDeletionDetectionPolicy;
|
|
488
473
|
}
|
|
489
|
-
function convertVectorQueryToPublic(vector) {
|
|
490
|
-
var _a;
|
|
491
|
-
if (!vector) {
|
|
492
|
-
return vector;
|
|
493
|
-
}
|
|
494
|
-
const fields = (_a = vector.fields) === null || _a === void 0 ? void 0 : _a.split(",");
|
|
495
|
-
return Object.assign(Object.assign({}, vector), { fields });
|
|
496
|
-
}
|
|
497
474
|
export function getRandomIntegerInclusive(min, max) {
|
|
498
475
|
// Make sure inputs are integers.
|
|
499
476
|
min = Math.ceil(min);
|
|
@@ -512,15 +489,15 @@ export function getRandomIntegerInclusive(min, max) {
|
|
|
512
489
|
export function delay(timeInMs) {
|
|
513
490
|
return new Promise((resolve) => setTimeout(() => resolve(), timeInMs));
|
|
514
491
|
}
|
|
515
|
-
export const serviceVersions = ["
|
|
516
|
-
export const defaultServiceVersion = "
|
|
492
|
+
export const serviceVersions = ["2023-11-01", "2024-03-01-Preview"];
|
|
493
|
+
export const defaultServiceVersion = "2024-03-01-Preview";
|
|
517
494
|
function convertKnowledgeStoreToPublic(knowledgeStore) {
|
|
518
495
|
if (!knowledgeStore) {
|
|
519
496
|
return knowledgeStore;
|
|
520
497
|
}
|
|
521
498
|
return Object.assign(Object.assign({}, knowledgeStore), { identity: convertSearchIndexerDataIdentityToPublic(knowledgeStore.identity) });
|
|
522
499
|
}
|
|
523
|
-
function convertSearchIndexerCacheToPublic(cache) {
|
|
500
|
+
export function convertSearchIndexerCacheToPublic(cache) {
|
|
524
501
|
if (!cache) {
|
|
525
502
|
return cache;
|
|
526
503
|
}
|
|
@@ -1 +1 @@
|
|
|
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"]}
|
|
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 SearchResult as GeneratedSearchResult,\n SuggestDocumentsResult as GeneratedSuggestDocumentsResult,\n} from \"./generated/data/models\";\nimport {\n AzureMachineLearningSkill,\n AzureOpenAIVectorizer as GeneratedAzureOpenAIVectorizer,\n BM25Similarity,\n ClassicSimilarity,\n CognitiveServicesAccountKey,\n CognitiveServicesAccountUnion,\n ConditionalSkill,\n CustomAnalyzer as BaseCustomAnalyzer,\n CustomVectorizer as GeneratedCustomVectorizer,\n DataChangeDetectionPolicyUnion,\n DataDeletionDetectionPolicyUnion,\n DefaultCognitiveServicesAccount,\n DocumentExtractionSkill,\n EntityLinkingSkill,\n EntityRecognitionSkillV3,\n ExhaustiveKnnAlgorithmConfiguration as GeneratedExhaustiveKnnAlgorithmConfiguration,\n HighWaterMarkChangeDetectionPolicy,\n HnswAlgorithmConfiguration as GeneratedHnswAlgorithmConfiguration,\n LanguageDetectionSkill,\n LexicalAnalyzerUnion,\n LexicalTokenizerUnion,\n LuceneStandardAnalyzer,\n MergeSkill,\n PatternAnalyzer as GeneratedPatternAnalyzer,\n PatternTokenizer,\n SearchField as GeneratedSearchField,\n SearchIndex as GeneratedSearchIndex,\n SearchIndexer as GeneratedSearchIndexer,\n SearchIndexerCache as GeneratedSearchIndexerCache,\n SearchIndexerDataIdentityUnion,\n SearchIndexerDataNoneIdentity,\n SearchIndexerDataSource as GeneratedSearchIndexerDataSourceConnection,\n SearchIndexerDataUserAssignedIdentity,\n SearchIndexerKnowledgeStore as BaseSearchIndexerKnowledgeStore,\n SearchIndexerSkillset as GeneratedSearchIndexerSkillset,\n SearchIndexerSkillUnion,\n SearchResourceEncryptionKey as GeneratedSearchResourceEncryptionKey,\n SentimentSkillV3,\n ShaperSkill,\n SimilarityUnion,\n SoftDeleteColumnDeletionDetectionPolicy,\n SqlIntegratedChangeTrackingPolicy,\n StopAnalyzer,\n SynonymMap as GeneratedSynonymMap,\n TokenFilterUnion,\n VectorSearch as GeneratedVectorSearch,\n VectorSearchAlgorithmConfigurationUnion as GeneratedVectorSearchAlgorithmConfiguration,\n VectorSearchVectorizerUnion as GeneratedVectorSearchVectorizer,\n} from \"./generated/service/models\";\nimport {\n BlobIndexerDataToExtract,\n BlobIndexerImageAction,\n BlobIndexerParsingMode,\n BlobIndexerPDFTextRotationAlgorithm,\n IndexerExecutionEnvironment,\n RegexFlags,\n SearchIndexerDataSourceType,\n VectorSearchAlgorithmMetric,\n} from \"./generatedStringLiteralUnions\";\nimport { SearchResult, SelectFields, SuggestDocumentsResult, SuggestResult } from \"./indexModels\";\nimport {\n AzureOpenAIVectorizer,\n CharFilter,\n CognitiveServicesAccount,\n ComplexField,\n CustomEntityLookupSkill,\n CustomVectorizer,\n DataChangeDetectionPolicy,\n DataDeletionDetectionPolicy,\n EntityRecognitionSkill,\n ImageAnalysisSkill,\n IndexingParameters,\n IndexingParametersConfiguration,\n isComplexField,\n KeyPhraseExtractionSkill,\n LexicalAnalyzer,\n LexicalNormalizer,\n LexicalTokenizer,\n OcrSkill,\n PatternAnalyzer,\n PIIDetectionSkill,\n ScoringProfile,\n SearchField,\n SearchFieldDataType,\n SearchIndex,\n SearchIndexer,\n SearchIndexerCache,\n SearchIndexerDataIdentity,\n SearchIndexerDataSourceConnection,\n SearchIndexerIndexProjections,\n SearchIndexerKnowledgeStore,\n SearchIndexerSkill,\n SearchIndexerSkillset,\n SearchResourceEncryptionKey,\n SentimentSkill,\n SimilarityAlgorithm,\n SimpleField,\n SplitSkill,\n SynonymMap,\n TextTranslationSkill,\n TokenFilter,\n VectorSearch,\n VectorSearchAlgorithmConfiguration,\n VectorSearchVectorizer,\n WebApiSkill,\n} from \"./serviceModels\";\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\nfunction 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\nfunction 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(analyzer as BaseCustomAnalyzer);\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 synonymMapNames: string[] | undefined = field.synonymMaps;\n\n const { retrievable, analyzer, searchAnalyzer, indexAnalyzer, normalizer, ...restField } =\n field;\n const hidden = typeof retrievable === \"boolean\" ? !retrievable : retrievable;\n\n const result: SimpleField = {\n ...restField,\n type,\n hidden,\n analyzerName: analyzer,\n searchAnalyzerName: searchAnalyzer,\n indexAnalyzerName: indexAnalyzer,\n normalizerName: normalizer,\n synonymMapNames,\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\nfunction 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\nfunction 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 const patternTokenizer = tokenizer as PatternTokenizer;\n const flags = patternTokenizer.flags?.split(\"|\") as RegexFlags[] | undefined;\n result.push({\n ...tokenizer,\n flags,\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\nfunction 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\nfunction 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 semanticSearch: generatedIndex.semanticSearch,\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 switch (generatedVectorizer.kind) {\n case \"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 case \"customWebApi\": {\n const { customWebApiParameters } = generatedVectorizer as GeneratedCustomVectorizer;\n const authIdentity = convertSearchIndexerDataIdentityToPublic(\n customWebApiParameters?.authIdentity,\n );\n const vectorizer: CustomVectorizer = {\n ...(generatedVectorizer as GeneratedCustomVectorizer),\n customVectorizerParameters: { ...customWebApiParameters, authIdentity },\n };\n return vectorizer;\n }\n default:\n throw Error(\"Unsupported vectorizer\");\n }\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 | GeneratedHnswAlgorithmConfiguration\n | GeneratedExhaustiveKnnAlgorithmConfiguration;\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 {\n _score: score,\n _highlights: highlights,\n _rerankerScore: rerankerScore,\n _captions: captions,\n documentDebugInfo: documentDebugInfo,\n ...restProps\n } = result;\n const obj = {\n score,\n highlights,\n rerankerScore,\n captions,\n documentDebugInfo,\n document: restProps,\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 obj = {\n text: _text,\n document: restProps,\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 const {\n skills,\n cognitiveServicesAccount,\n knowledgeStore,\n encryptionKey,\n indexProjections,\n ...props\n } = generatedSkillset;\n return {\n ...props,\n skills: convertSkillsToPublic(skills),\n cognitiveServicesAccount: convertCognitiveServicesAccountToPublic(cognitiveServicesAccount),\n knowledgeStore: convertKnowledgeStoreToPublic(knowledgeStore),\n encryptionKey: convertEncryptionKeyToPublic(encryptionKey),\n indexProjections: indexProjections as SearchIndexerIndexProjections,\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 const {\n parsingMode,\n dataToExtract,\n imageAction,\n pdfTextRotationAlgorithm,\n executionEnvironment,\n } = indexer.parameters?.configuration ?? {};\n\n const configuration: IndexingParametersConfiguration | undefined = indexer.parameters\n ?.configuration && {\n ...indexer.parameters?.configuration,\n parsingMode: parsingMode as BlobIndexerParsingMode | undefined,\n dataToExtract: dataToExtract as BlobIndexerDataToExtract | undefined,\n imageAction: imageAction as BlobIndexerImageAction | undefined,\n pdfTextRotationAlgorithm: pdfTextRotationAlgorithm as\n | BlobIndexerPDFTextRotationAlgorithm\n | undefined,\n executionEnvironment: executionEnvironment as IndexerExecutionEnvironment | undefined,\n };\n const parameters: IndexingParameters = {\n ...indexer.parameters,\n configuration,\n };\n\n return {\n ...indexer,\n parameters,\n encryptionKey: convertEncryptionKeyToPublic(indexer.encryptionKey),\n cache: convertSearchIndexerCacheToPublic(indexer.cache),\n };\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 as SearchIndexerDataSourceType,\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\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 = [\"2023-11-01\", \"2024-03-01-Preview\"];\n\nexport const defaultServiceVersion = \"2024-03-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\nexport function 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synonymMapHelper.browser.js","sourceRoot":"","sources":["../../src/synonymMapHelper.browser.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAIlC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAAa,EACb,SAAiB;IAEjB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;AAClD,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { SynonymMap } from \"./serviceModels\";\n\n/**\n * Helper method to create a SynonymMap object. This is a NodeJS only method.\n * Will throw an error for browser.\n *\n * @param _name - Name of the SynonymMap.\n * @param _filePath - Path of the file that contains the Synonyms (seperated by new lines)\n * @returns SynonymMap object\n */\nexport async function createSynonymMapFromFile(\n _name: string,\n _filePath: string
|
|
1
|
+
{"version":3,"file":"synonymMapHelper.browser.js","sourceRoot":"","sources":["../../src/synonymMapHelper.browser.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAIlC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAAa,EACb,SAAiB;IAEjB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;AAClD,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { SynonymMap } from \"./serviceModels\";\n\n/**\n * Helper method to create a SynonymMap object. This is a NodeJS only method.\n * Will throw an error for browser.\n *\n * @param _name - Name of the SynonymMap.\n * @param _filePath - Path of the file that contains the Synonyms (seperated by new lines)\n * @returns SynonymMap object\n */\nexport async function createSynonymMapFromFile(\n _name: string,\n _filePath: string,\n): Promise<SynonymMap> {\n throw new Error(\"Not implemented for browser.\");\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
2
|
// Licensed under the MIT license.
|
|
3
|
-
import { promisify } from "util";
|
|
4
3
|
import * as fs from "fs";
|
|
4
|
+
import { promisify } from "util";
|
|
5
5
|
const readFileAsync = promisify(fs.readFile);
|
|
6
6
|
/**
|
|
7
7
|
* Helper method to create a SynonymMap object. This is a NodeJS only method.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"synonymMapHelper.js","sourceRoot":"","sources":["../../src/synonymMapHelper.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;
|
|
1
|
+
{"version":3,"file":"synonymMapHelper.js","sourceRoot":"","sources":["../../src/synonymMapHelper.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,MAAM,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,IAAY,EACZ,QAAgB;IAEhB,MAAM,QAAQ,GAAa,CAAC,MAAM,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;SAChE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;SAClB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnB,OAAO;QACL,IAAI;QACJ,QAAQ;KACT,CAAC;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport * as fs from \"fs\";\nimport { promisify } from \"util\";\nimport { SynonymMap } from \"./serviceModels\";\nconst readFileAsync = promisify(fs.readFile);\n\n/**\n * Helper method to create a SynonymMap object. This is a NodeJS only method.\n *\n * @param name - Name of the SynonymMap.\n * @param filePath - Path of the file that contains the Synonyms (seperated by new lines)\n * @returns SynonymMap object\n */\nexport async function createSynonymMapFromFile(\n name: string,\n filePath: string,\n): Promise<SynonymMap> {\n const synonyms: string[] = (await readFileAsync(filePath, \"utf-8\"))\n .replace(/\\r/g, \"\")\n .split(\"\\n\")\n .map((line) => line.trim())\n .filter(Boolean);\n\n return {\n name,\n synonyms,\n };\n}\n"]}
|
package/dist-esm/src/tracing.js
CHANGED
|
@@ -5,7 +5,7 @@ import { createTracingClient } from "@azure/core-tracing";
|
|
|
5
5
|
* Creates a tracing client using the global tracer.
|
|
6
6
|
* @internal
|
|
7
7
|
*/
|
|
8
|
-
|
|
8
|
+
const tracingClient = createTracingClient({
|
|
9
9
|
namespace: "Microsoft.Search",
|
|
10
10
|
packageName: "Azure.Search",
|
|
11
11
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/tracing.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;GAGG;AACH,MAAM,
|
|
1
|
+
{"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/tracing.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;GAGG;AACH,MAAM,aAAa,GAAG,mBAAmB,CAAC;IACxC,SAAS,EAAE,kBAAkB;IAC7B,WAAW,EAAE,cAAc;CAC5B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { createTracingClient } from \"@azure/core-tracing\";\n\n/**\n * Creates a tracing client using the global tracer.\n * @internal\n */\nconst tracingClient = createTracingClient({\n namespace: \"Microsoft.Search\",\n packageName: \"Azure.Search\",\n});\n\nexport const createSpan = tracingClient.startSpan;\n"]}
|