@azure/search-documents 12.0.0-beta.3 → 12.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/README.md +4 -4
  2. package/dist/index.js +853 -2103
  3. package/dist/index.js.map +1 -1
  4. package/dist-esm/src/constants.js +1 -1
  5. package/dist-esm/src/constants.js.map +1 -1
  6. package/dist-esm/src/generated/data/models/index.js +40 -224
  7. package/dist-esm/src/generated/data/models/index.js.map +1 -1
  8. package/dist-esm/src/generated/data/models/mappers.js +96 -210
  9. package/dist-esm/src/generated/data/models/mappers.js.map +1 -1
  10. package/dist-esm/src/generated/data/models/parameters.js +38 -80
  11. package/dist-esm/src/generated/data/models/parameters.js.map +1 -1
  12. package/dist-esm/src/generated/data/operations/documents.js +5 -9
  13. package/dist-esm/src/generated/data/operations/documents.js.map +1 -1
  14. package/dist-esm/src/generated/data/searchClient.js +28 -2
  15. package/dist-esm/src/generated/data/searchClient.js.map +1 -1
  16. package/dist-esm/src/generated/service/models/index.js +165 -164
  17. package/dist-esm/src/generated/service/models/index.js.map +1 -1
  18. package/dist-esm/src/generated/service/models/mappers.js +86 -464
  19. package/dist-esm/src/generated/service/models/mappers.js.map +1 -1
  20. package/dist-esm/src/generated/service/models/parameters.js +1 -51
  21. package/dist-esm/src/generated/service/models/parameters.js.map +1 -1
  22. package/dist-esm/src/generated/service/operations/dataSources.js +1 -4
  23. package/dist-esm/src/generated/service/operations/dataSources.js.map +1 -1
  24. package/dist-esm/src/generated/service/operations/index.js +0 -1
  25. package/dist-esm/src/generated/service/operations/index.js.map +1 -1
  26. package/dist-esm/src/generated/service/operations/indexers.js +1 -29
  27. package/dist-esm/src/generated/service/operations/indexers.js.map +1 -1
  28. package/dist-esm/src/generated/service/operations/skillsets.js +1 -30
  29. package/dist-esm/src/generated/service/operations/skillsets.js.map +1 -1
  30. package/dist-esm/src/generated/service/operationsInterfaces/index.js +0 -1
  31. package/dist-esm/src/generated/service/operationsInterfaces/index.js.map +1 -1
  32. package/dist-esm/src/generated/service/operationsInterfaces/indexers.js.map +1 -1
  33. package/dist-esm/src/generated/service/operationsInterfaces/skillsets.js.map +1 -1
  34. package/dist-esm/src/generated/service/searchServiceClient.js +29 -4
  35. package/dist-esm/src/generated/service/searchServiceClient.js.map +1 -1
  36. package/dist-esm/src/index.js +2 -3
  37. package/dist-esm/src/index.js.map +1 -1
  38. package/dist-esm/src/indexDocumentsBatch.js.map +1 -1
  39. package/dist-esm/src/indexModels.js.map +1 -1
  40. package/dist-esm/src/searchClient.js +34 -31
  41. package/dist-esm/src/searchClient.js.map +1 -1
  42. package/dist-esm/src/searchIndexClient.js +11 -174
  43. package/dist-esm/src/searchIndexClient.js.map +1 -1
  44. package/dist-esm/src/searchIndexerClient.js +3 -49
  45. package/dist-esm/src/searchIndexerClient.js.map +1 -1
  46. package/dist-esm/src/searchIndexingBufferedSender.js.map +1 -1
  47. package/dist-esm/src/serviceModels.js.map +1 -1
  48. package/dist-esm/src/serviceUtils.js +49 -80
  49. package/dist-esm/src/serviceUtils.js.map +1 -1
  50. package/package.json +12 -11
  51. package/types/search-documents.d.ts +772 -2514
  52. package/dist-esm/src/generated/service/operations/aliases.js +0 -160
  53. package/dist-esm/src/generated/service/operations/aliases.js.map +0 -1
  54. package/dist-esm/src/generated/service/operationsInterfaces/aliases.js +0 -9
  55. package/dist-esm/src/generated/service/operationsInterfaces/aliases.js.map +0 -1
@@ -63,9 +63,6 @@ export function convertSkillsToPublic(skills) {
63
63
  case "#Microsoft.Skills.Util.DocumentExtractionSkill":
64
64
  result.push(skill);
65
65
  break;
66
- case "#Microsoft.Skills.Custom.AmlSkill":
67
- result.push(skill);
68
- break;
69
66
  }
70
67
  }
71
68
  return result;
@@ -137,7 +134,12 @@ export function convertAnalyzersToPublic(analyzers) {
137
134
  : undefined }));
138
135
  break;
139
136
  case "#Microsoft.Azure.Search.CustomAnalyzer":
140
- result.push(Object.assign(Object.assign({}, analyzer), { tokenizerName: analyzer.tokenizerName }));
137
+ {
138
+ const customAnalyzer = analyzer;
139
+ const { name, tokenizerName, tokenFilters } = customAnalyzer;
140
+ const publicAnalyzer = Object.assign(Object.assign({}, customAnalyzer), { name: name, tokenizerName, tokenFilters: tokenFilters });
141
+ result.push(publicAnalyzer);
142
+ }
141
143
  break;
142
144
  }
143
145
  }
@@ -158,20 +160,11 @@ export function convertFieldsToPublic(fields) {
158
160
  }
159
161
  else {
160
162
  const type = field.type;
161
- const analyzerName = field.analyzer;
162
- const searchAnalyzerName = field.searchAnalyzer;
163
- const indexAnalyzerName = field.indexAnalyzer;
164
163
  const synonymMapNames = field.synonymMaps;
165
- const normalizerName = field.normalizer;
166
- const { retrievable } = field, restField = __rest(field, ["retrievable"]);
164
+ const { retrievable, analyzer, searchAnalyzer, indexAnalyzer } = field, restField = __rest(field, ["retrievable", "analyzer", "searchAnalyzer", "indexAnalyzer"]);
167
165
  const hidden = typeof retrievable === "boolean" ? !retrievable : retrievable;
168
166
  const result = Object.assign(Object.assign({}, restField), { type,
169
- hidden,
170
- analyzerName,
171
- searchAnalyzerName,
172
- indexAnalyzerName,
173
- synonymMapNames,
174
- normalizerName });
167
+ hidden, analyzerName: analyzer, searchAnalyzerName: searchAnalyzer, indexAnalyzerName: indexAnalyzer, synonymMapNames });
175
168
  return result;
176
169
  }
177
170
  });
@@ -191,7 +184,7 @@ export function convertFieldsToGenerated(fields) {
191
184
  const retrievable = typeof hidden === "boolean" ? !hidden : hidden;
192
185
  return Object.assign(Object.assign({}, restField), { retrievable,
193
186
  // modify API defaults to use less storage for simple types
194
- searchable: (_a = field.searchable) !== null && _a !== void 0 ? _a : false, filterable: (_b = field.filterable) !== null && _b !== void 0 ? _b : false, facetable: (_c = field.facetable) !== null && _c !== void 0 ? _c : false, sortable: (_d = field.sortable) !== null && _d !== void 0 ? _d : false, analyzer: field.analyzerName, searchAnalyzer: field.searchAnalyzerName, indexAnalyzer: field.indexAnalyzerName, synonymMaps: field.synonymMapNames, normalizer: field.normalizerName });
187
+ searchable: (_a = field.searchable) !== null && _a !== void 0 ? _a : false, filterable: (_b = field.filterable) !== null && _b !== void 0 ? _b : false, facetable: (_c = field.facetable) !== null && _c !== void 0 ? _c : false, sortable: (_d = field.sortable) !== null && _d !== void 0 ? _d : false, analyzer: field.analyzerName, searchAnalyzer: field.searchAnalyzerName, indexAnalyzer: field.indexAnalyzerName, synonymMaps: field.synonymMapNames });
195
188
  }
196
189
  });
197
190
  }
@@ -211,15 +204,16 @@ export function convertTokenizersToGenerated(tokenizers) {
211
204
  return result;
212
205
  }
213
206
  export function convertTokenizersToPublic(tokenizers) {
207
+ var _a;
214
208
  if (!tokenizers) {
215
209
  return tokenizers;
216
210
  }
217
211
  const result = [];
218
212
  for (const tokenizer of tokenizers) {
219
213
  if (tokenizer.odatatype === "#Microsoft.Azure.Search.PatternTokenizer") {
220
- result.push(Object.assign(Object.assign({}, tokenizer), { flags: tokenizer.flags
221
- ? tokenizer.flags.split("|")
222
- : undefined }));
214
+ const patternTokenizer = tokenizer;
215
+ const flags = (_a = patternTokenizer.flags) === null || _a === void 0 ? void 0 : _a.split("|");
216
+ result.push(Object.assign(Object.assign({}, tokenizer), { flags }));
223
217
  }
224
218
  else {
225
219
  result.push(tokenizer);
@@ -252,7 +246,6 @@ export function convertEncryptionKeyToPublic(encryptionKey) {
252
246
  keyName: encryptionKey.keyName,
253
247
  keyVersion: encryptionKey.keyVersion,
254
248
  vaultUrl: encryptionKey.vaultUri,
255
- identity: convertSearchIndexerDataIdentityToPublic(encryptionKey.identity),
256
249
  };
257
250
  if (encryptionKey.accessCredentials) {
258
251
  result.applicationId = encryptionKey.accessCredentials.applicationId;
@@ -268,7 +261,6 @@ export function convertEncryptionKeyToGenerated(encryptionKey) {
268
261
  keyName: encryptionKey.keyName,
269
262
  keyVersion: encryptionKey.keyVersion,
270
263
  vaultUri: encryptionKey.vaultUrl,
271
- identity: encryptionKey.identity,
272
264
  };
273
265
  if (encryptionKey.applicationId) {
274
266
  result.accessCredentials = {
@@ -290,25 +282,41 @@ export function generatedIndexToPublicIndex(generatedIndex) {
290
282
  tokenizers: convertTokenizersToPublic(generatedIndex.tokenizers),
291
283
  tokenFilters: generatedIndex.tokenFilters,
292
284
  charFilters: generatedIndex.charFilters,
293
- normalizers: generatedIndex.normalizers,
294
285
  scoringProfiles: generatedIndex.scoringProfiles,
295
286
  fields: convertFieldsToPublic(generatedIndex.fields),
296
287
  similarity: convertSimilarityToPublic(generatedIndex.similarity),
297
- semanticSettings: generatedIndex.semanticSettings,
298
- vectorSearch: generatedIndex.vectorSearch,
288
+ semanticSearch: generatedIndex.semanticSearch,
289
+ vectorSearch: generatedVectorSearchToPublicVectorSearch(generatedIndex.vectorSearch),
299
290
  };
300
291
  }
292
+ export function generatedVectorSearchAlgorithmConfigurationToPublicVectorSearchAlgorithmConfiguration(generatedAlgorithmConfiguration) {
293
+ var _a;
294
+ if (!generatedAlgorithmConfiguration) {
295
+ return generatedAlgorithmConfiguration;
296
+ }
297
+ if (["hnsw", "exhaustiveKnn"].includes(generatedAlgorithmConfiguration.kind)) {
298
+ const algorithmConfiguration = generatedAlgorithmConfiguration;
299
+ const metric = (_a = algorithmConfiguration.parameters) === null || _a === void 0 ? void 0 : _a.metric;
300
+ return Object.assign(Object.assign({}, algorithmConfiguration), { parameters: Object.assign(Object.assign({}, algorithmConfiguration.parameters), { metric }) });
301
+ }
302
+ throw Error("Unsupported algorithm configuration");
303
+ }
304
+ export function generatedVectorSearchToPublicVectorSearch(vectorSearch) {
305
+ var _a;
306
+ if (!vectorSearch) {
307
+ return vectorSearch;
308
+ }
309
+ return Object.assign(Object.assign({}, vectorSearch), { algorithms: (_a = vectorSearch.algorithms) === null || _a === void 0 ? void 0 : _a.map(generatedVectorSearchAlgorithmConfigurationToPublicVectorSearchAlgorithmConfiguration) });
310
+ }
301
311
  export function generatedSearchResultToPublicSearchResult(results) {
302
312
  const returnValues = results.map((result) => {
303
- const { _score, _highlights, rerankerScore, captions, documentDebugInfo } = result, restProps = __rest(result, ["_score", "_highlights", "rerankerScore", "captions", "documentDebugInfo"]);
304
- const doc = Object.assign({}, restProps);
313
+ const { _score: score, _highlights: highlights, _rerankerScore: rerankerScore, _captions: captions } = result, restProps = __rest(result, ["_score", "_highlights", "_rerankerScore", "_captions"]);
305
314
  const obj = {
306
- score: _score,
307
- highlights: _highlights,
315
+ score,
316
+ highlights,
308
317
  rerankerScore,
309
318
  captions,
310
- document: doc,
311
- documentDebugInfo,
319
+ document: restProps, // todo: make this change in beta
312
320
  };
313
321
  return obj;
314
322
  });
@@ -317,10 +325,9 @@ export function generatedSearchResultToPublicSearchResult(results) {
317
325
  export function generatedSuggestDocumentsResultToPublicSuggestDocumentsResult(searchDocumentsResult) {
318
326
  const results = searchDocumentsResult.results.map((element) => {
319
327
  const { _text } = element, restProps = __rest(element, ["_text"]);
320
- const doc = Object.assign({}, restProps);
321
328
  const obj = {
322
329
  text: _text,
323
- document: doc,
330
+ document: restProps, // todo: make this change in beta
324
331
  };
325
332
  return obj;
326
333
  });
@@ -335,15 +342,8 @@ export function publicIndexToGeneratedIndex(index) {
335
342
  return Object.assign(Object.assign({}, index), { encryptionKey: convertEncryptionKeyToGenerated(encryptionKey), tokenFilters: convertTokenFiltersToGenerated(tokenFilters), analyzers: convertAnalyzersToGenerated(analyzers), tokenizers: convertTokenizersToGenerated(tokenizers), fields: convertFieldsToGenerated(fields), similarity: convertSimilarityToGenerated(similarity) });
336
343
  }
337
344
  export function generatedSkillsetToPublicSkillset(generatedSkillset) {
338
- return {
339
- name: generatedSkillset.name,
340
- description: generatedSkillset.description,
341
- skills: convertSkillsToPublic(generatedSkillset.skills),
342
- cognitiveServicesAccount: convertCognitiveServicesAccountToPublic(generatedSkillset.cognitiveServicesAccount),
343
- knowledgeStore: convertKnowledgeStoreToPublic(generatedSkillset.knowledgeStore),
344
- etag: generatedSkillset.etag,
345
- encryptionKey: convertEncryptionKeyToPublic(generatedSkillset.encryptionKey),
346
- };
345
+ const { skills, cognitiveServicesAccount, knowledgeStore, encryptionKey } = generatedSkillset, props = __rest(generatedSkillset, ["skills", "cognitiveServicesAccount", "knowledgeStore", "encryptionKey"]);
346
+ return Object.assign(Object.assign({}, props), { skills: convertSkillsToPublic(skills), cognitiveServicesAccount: convertCognitiveServicesAccountToPublic(cognitiveServicesAccount), knowledgeStore: convertKnowledgeStoreToPublic(knowledgeStore), encryptionKey: convertEncryptionKeyToPublic(encryptionKey) });
347
347
  }
348
348
  export function publicSkillsetToGeneratedSkillset(skillset) {
349
349
  return {
@@ -383,12 +383,11 @@ export function publicSearchIndexerToGeneratedSearchIndexer(indexer) {
383
383
  return Object.assign(Object.assign({}, indexer), { encryptionKey: convertEncryptionKeyToGenerated(indexer.encryptionKey) });
384
384
  }
385
385
  export function generatedSearchIndexerToPublicSearchIndexer(indexer) {
386
- return Object.assign(Object.assign({}, indexer), { encryptionKey: convertEncryptionKeyToPublic(indexer.encryptionKey), cache: convertSearchIndexerCacheToPublic(indexer.cache) });
387
- }
388
- export function generatedSearchRequestToPublicSearchRequest(request) {
389
- const { semanticErrorHandling, debug, vectors } = request, props = __rest(request, ["semanticErrorHandling", "debug", "vectors"]);
390
- const publicRequest = Object.assign({ semanticErrorHandlingMode: semanticErrorHandling, debugMode: debug, vectors: vectors === null || vectors === void 0 ? void 0 : vectors.map((convertVectorToPublic)).filter((v) => v !== undefined) }, props);
391
- return publicRequest;
386
+ var _a, _b, _c, _d;
387
+ const { parsingMode, dataToExtract, imageAction, pdfTextRotationAlgorithm, executionEnvironment, } = (_b = (_a = indexer.parameters) === null || _a === void 0 ? void 0 : _a.configuration) !== null && _b !== void 0 ? _b : {};
388
+ 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 });
389
+ const parameters = Object.assign(Object.assign({}, indexer.parameters), { configuration });
390
+ return Object.assign(Object.assign({}, indexer), { parameters, encryptionKey: convertEncryptionKeyToPublic(indexer.encryptionKey) });
392
391
  }
393
392
  export function publicDataSourceToGeneratedDataSource(dataSource) {
394
393
  return {
@@ -399,7 +398,6 @@ export function publicDataSourceToGeneratedDataSource(dataSource) {
399
398
  connectionString: dataSource.connectionString,
400
399
  },
401
400
  container: dataSource.container,
402
- identity: dataSource.identity,
403
401
  etag: dataSource.etag,
404
402
  dataChangeDetectionPolicy: dataSource.dataChangeDetectionPolicy,
405
403
  dataDeletionDetectionPolicy: dataSource.dataDeletionDetectionPolicy,
@@ -413,24 +411,12 @@ export function generatedDataSourceToPublicDataSource(dataSource) {
413
411
  type: dataSource.type,
414
412
  connectionString: dataSource.credentials.connectionString,
415
413
  container: dataSource.container,
416
- identity: convertSearchIndexerDataIdentityToPublic(dataSource.identity),
417
414
  etag: dataSource.etag,
418
415
  dataChangeDetectionPolicy: convertDataChangeDetectionPolicyToPublic(dataSource.dataChangeDetectionPolicy),
419
416
  dataDeletionDetectionPolicy: convertDataDeletionDetectionPolicyToPublic(dataSource.dataDeletionDetectionPolicy),
420
417
  encryptionKey: convertEncryptionKeyToPublic(dataSource.encryptionKey),
421
418
  };
422
419
  }
423
- export function convertSearchIndexerDataIdentityToPublic(searchIndexerDataIdentity) {
424
- if (!searchIndexerDataIdentity) {
425
- return searchIndexerDataIdentity;
426
- }
427
- if (searchIndexerDataIdentity.odatatype === "#Microsoft.Azure.Search.DataNoneIdentity") {
428
- return searchIndexerDataIdentity;
429
- }
430
- else {
431
- return searchIndexerDataIdentity;
432
- }
433
- }
434
420
  export function convertDataChangeDetectionPolicyToPublic(dataChangeDetectionPolicy) {
435
421
  if (!dataChangeDetectionPolicy) {
436
422
  return dataChangeDetectionPolicy;
@@ -449,14 +435,6 @@ export function convertDataDeletionDetectionPolicyToPublic(dataDeletionDetection
449
435
  }
450
436
  return dataDeletionDetectionPolicy;
451
437
  }
452
- function convertVectorToPublic(vector) {
453
- var _a;
454
- if (!vector) {
455
- return vector;
456
- }
457
- const fields = (_a = vector.fields) === null || _a === void 0 ? void 0 : _a.split(",");
458
- return Object.assign(Object.assign({}, vector), { fields });
459
- }
460
438
  export function getRandomIntegerInclusive(min, max) {
461
439
  // Make sure inputs are integers.
462
440
  min = Math.ceil(min);
@@ -475,18 +453,9 @@ export function getRandomIntegerInclusive(min, max) {
475
453
  export function delay(timeInMs) {
476
454
  return new Promise((resolve) => setTimeout(() => resolve(), timeInMs));
477
455
  }
478
- export const serviceVersions = ["2020-06-30", "2023-07-01-Preview"];
479
- export const defaultServiceVersion = "2023-07-01-Preview";
456
+ export const serviceVersions = ["2023-11-01"];
457
+ export const defaultServiceVersion = "2023-11-01";
480
458
  function convertKnowledgeStoreToPublic(knowledgeStore) {
481
- if (!knowledgeStore) {
482
- return knowledgeStore;
483
- }
484
- return Object.assign(Object.assign({}, knowledgeStore), { identity: convertSearchIndexerDataIdentityToPublic(knowledgeStore.identity) });
485
- }
486
- function convertSearchIndexerCacheToPublic(cache) {
487
- if (!cache) {
488
- return cache;
489
- }
490
- return Object.assign(Object.assign({}, cache), { identity: convertSearchIndexerDataIdentityToPublic(cache.identity) });
459
+ return knowledgeStore;
491
460
  }
492
461
  //# sourceMappingURL=serviceUtils.js.map
@@ -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} from \"./generated/service/models\";\nimport {\n CharFilter,\n CognitiveServicesAccount,\n ComplexField,\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 WebApiSkill,\n isComplexField,\n} from \"./serviceModels\";\nimport {\n SearchFieldArray,\n SearchRequest,\n SearchResult,\n SelectFields,\n SuggestDocumentsResult,\n SuggestResult,\n Vector,\n} from \"./indexModels\";\nimport {\n SearchResult as GeneratedSearchResult,\n SuggestDocumentsResult as GeneratedSuggestDocumentsResult,\n SearchRequest as GeneratedSearchRequest,\n KnownSemanticErrorHandling,\n KnownQueryDebugMode,\n Vector as BaseVector,\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: generatedIndex.vectorSearch,\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, vectors, ...props } = request;\n const publicRequest: SearchRequest<Model> = {\n semanticErrorHandlingMode: semanticErrorHandling as `${KnownSemanticErrorHandling}` | undefined,\n debugMode: debug as `${KnownQueryDebugMode}` | undefined,\n vectors: vectors\n ?.map(convertVectorToPublic<Model>)\n .filter((v): v is Vector<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 convertVectorToPublic<Model extends object>(\n vector: BaseVector | undefined\n): Vector<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-07-01-Preview\"];\n\nexport const defaultServiceVersion = \"2023-07-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 BM25Similarity,\n ClassicSimilarity,\n CognitiveServicesAccountKey,\n CognitiveServicesAccountUnion,\n ConditionalSkill,\n CustomAnalyzer as BaseCustomAnalyzer,\n DataChangeDetectionPolicyUnion,\n DataDeletionDetectionPolicyUnion,\n DefaultCognitiveServicesAccount,\n DocumentExtractionSkill,\n EntityLinkingSkill,\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 LanguageDetectionSkill,\n LexicalAnalyzerUnion,\n LexicalTokenizerUnion,\n LuceneStandardAnalyzer,\n MergeSkill,\n PatternTokenizer,\n SearchIndexerKnowledgeStore as BaseSearchIndexerKnowledgeStore,\n SearchIndexerSkillUnion,\n SentimentSkillV3,\n ShaperSkill,\n SimilarityUnion,\n SoftDeleteColumnDeletionDetectionPolicy,\n SqlIntegratedChangeTrackingPolicy,\n StopAnalyzer,\n TokenFilterUnion,\n VectorSearch as GeneratedVectorSearch,\n VectorSearchAlgorithmConfigurationUnion as GeneratedVectorSearchAlgorithmConfiguration,\n HnswAlgorithmConfiguration as GeneratedHnswAlgorithmConfiguration,\n ExhaustiveKnnAlgorithmConfiguration as GeneratedExhaustiveKnnAlgorithmConfiguration,\n TokenFilterName,\n} from \"./generated/service/models\";\nimport {\n BlobIndexerDataToExtract,\n BlobIndexerImageAction,\n BlobIndexerPDFTextRotationAlgorithm,\n BlobIndexerParsingMode,\n CharFilter,\n CognitiveServicesAccount,\n ComplexField,\n DataChangeDetectionPolicy,\n DataDeletionDetectionPolicy,\n IndexerExecutionEnvironment,\n IndexingParameters,\n IndexingParametersConfiguration,\n LexicalAnalyzer,\n LexicalTokenizer,\n PatternAnalyzer,\n ScoringProfile,\n SearchField,\n SearchFieldDataType,\n SearchIndex,\n SearchIndexer,\n SearchIndexerDataSourceConnection,\n SearchIndexerDataSourceType,\n SearchIndexerKnowledgeStore,\n SearchIndexerSkill,\n SearchIndexerSkillset,\n SearchResourceEncryptionKey,\n SimilarityAlgorithm,\n SimpleField,\n SynonymMap,\n TokenFilter,\n VectorSearch,\n VectorSearchAlgorithmConfiguration,\n VectorSearchAlgorithmMetric,\n WebApiSkill,\n KeyPhraseExtractionSkill,\n OcrSkill,\n ImageAnalysisSkill,\n EntityRecognitionSkill,\n SentimentSkill,\n SplitSkill,\n PIIDetectionSkill,\n TextTranslationSkill,\n CustomEntityLookupSkill,\n isComplexField,\n RegexFlags,\n CustomAnalyzer,\n} from \"./serviceModels\";\nimport { SearchResult, SelectFields, SuggestDocumentsResult, SuggestResult } from \"./indexModels\";\nimport {\n SearchResult as GeneratedSearchResult,\n SuggestDocumentsResult as GeneratedSuggestDocumentsResult,\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 }\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 {\n const customAnalyzer = analyzer as BaseCustomAnalyzer;\n const { name, tokenizerName, tokenFilters } = customAnalyzer;\n const publicAnalyzer: CustomAnalyzer = {\n ...customAnalyzer,\n name: name,\n tokenizerName,\n tokenFilters: tokenFilters as TokenFilterName[],\n };\n result.push(publicAnalyzer);\n }\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, ...restField } = 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 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 };\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 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\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 };\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 };\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 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 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 };\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 ...restProps\n } = result;\n const obj = {\n score,\n highlights,\n rerankerScore,\n captions,\n document: restProps, // todo: make this change in beta\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, // todo: make this change in beta\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 { skills, cognitiveServicesAccount, knowledgeStore, encryptionKey, ...props } =\n generatedSkillset;\n return {\n ...props,\n skills: convertSkillsToPublic(skills),\n cognitiveServicesAccount: convertCognitiveServicesAccountToPublic(cognitiveServicesAccount),\n knowledgeStore: convertKnowledgeStoreToPublic(knowledgeStore),\n encryptionKey: convertEncryptionKeyToPublic(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 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 };\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 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 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 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\"];\n\nexport const defaultServiceVersion = \"2023-11-01\";\n\nfunction convertKnowledgeStoreToPublic(\n knowledgeStore: BaseSearchIndexerKnowledgeStore | undefined\n): SearchIndexerKnowledgeStore | undefined {\n return knowledgeStore;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure/search-documents",
3
- "version": "12.0.0-beta.3",
3
+ "version": "12.0.0",
4
4
  "description": "Azure client library to use Cognitive Search for node.js and browser.",
5
5
  "sdk-type": "client",
6
6
  "main": "dist/index.js",
@@ -79,7 +79,7 @@
79
79
  "url": "https://github.com/Azure/azure-sdk-for-js/issues"
80
80
  },
81
81
  "engines": {
82
- "node": ">=14.0.0"
82
+ "node": ">=18.0.0"
83
83
  },
84
84
  "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/",
85
85
  "sideEffects": false,
@@ -89,21 +89,21 @@
89
89
  "@azure/core-paging": "^1.1.1",
90
90
  "@azure/core-tracing": "^1.0.0",
91
91
  "@azure/core-rest-pipeline": "^1.3.0",
92
- "@azure/core-http-compat": "^1.2.0",
92
+ "@azure/core-http-compat": "^2.0.1",
93
93
  "@azure/logger": "^1.0.0",
94
94
  "tslib": "^2.2.0",
95
95
  "events": "^3.0.0"
96
96
  },
97
97
  "devDependencies": {
98
- "@azure/openai": "1.0.0-beta.2",
98
+ "@azure/openai": "1.0.0-beta.8",
99
99
  "@azure/test-utils": "^1.0.0",
100
100
  "@azure/dev-tool": "^1.0.0",
101
101
  "@azure/eslint-plugin-azure-sdk": "^3.0.0",
102
102
  "@azure-tools/test-recorder": "^3.0.0",
103
103
  "@microsoft/api-extractor": "^7.31.1",
104
104
  "@types/chai": "^4.1.6",
105
- "@types/mocha": "^7.0.2",
106
- "@types/node": "^14.0.0",
105
+ "@types/mocha": "^10.0.0",
106
+ "@types/node": "^18.0.0",
107
107
  "@types/sinon": "^10.0.0",
108
108
  "chai": "^4.2.0",
109
109
  "cross-env": "^7.0.2",
@@ -121,15 +121,16 @@
121
121
  "karma-mocha": "^2.0.1",
122
122
  "karma-mocha-reporter": "^2.2.5",
123
123
  "karma-sourcemap-loader": "^0.3.8",
124
- "mocha": "^7.1.1",
124
+ "mocha": "^10.0.0",
125
125
  "mocha-junit-reporter": "^2.0.0",
126
- "nyc": "^15.0.0",
126
+ "c8": "^8.0.0",
127
127
  "prettier": "^2.5.1",
128
128
  "rimraf": "^3.0.0",
129
- "sinon": "^15.0.0",
129
+ "sinon": "^17.0.0",
130
130
  "ts-node": "^10.0.0",
131
- "typescript": "~5.0.0",
132
- "util": "^0.12.1"
131
+ "typescript": "~5.2.0",
132
+ "util": "^0.12.1",
133
+ "esm": "^3.2.18"
133
134
  },
134
135
  "//sampleConfiguration": {
135
136
  "productName": "Azure Search Documents",