@azure/search-documents 12.1.0-beta.2 → 12.1.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 (53) hide show
  1. package/dist/index.js +519 -2244
  2. package/dist/index.js.map +1 -1
  3. package/dist-esm/src/errorModels.js.map +1 -1
  4. package/dist-esm/src/generated/data/models/index.js +7 -209
  5. package/dist-esm/src/generated/data/models/index.js.map +1 -1
  6. package/dist-esm/src/generated/data/models/mappers.js +42 -315
  7. package/dist-esm/src/generated/data/models/mappers.js.map +1 -1
  8. package/dist-esm/src/generated/data/models/parameters.js +0 -42
  9. package/dist-esm/src/generated/data/models/parameters.js.map +1 -1
  10. package/dist-esm/src/generated/data/operations/documents.js +0 -4
  11. package/dist-esm/src/generated/data/operations/documents.js.map +1 -1
  12. package/dist-esm/src/generated/data/searchClient.js +1 -1
  13. package/dist-esm/src/generated/data/searchClient.js.map +1 -1
  14. package/dist-esm/src/generated/service/models/index.js +100 -150
  15. package/dist-esm/src/generated/service/models/index.js.map +1 -1
  16. package/dist-esm/src/generated/service/models/mappers.js +129 -687
  17. package/dist-esm/src/generated/service/models/mappers.js.map +1 -1
  18. package/dist-esm/src/generated/service/models/parameters.js +1 -51
  19. package/dist-esm/src/generated/service/models/parameters.js.map +1 -1
  20. package/dist-esm/src/generated/service/operations/dataSources.js +1 -4
  21. package/dist-esm/src/generated/service/operations/dataSources.js.map +1 -1
  22. package/dist-esm/src/generated/service/operations/index.js +0 -1
  23. package/dist-esm/src/generated/service/operations/index.js.map +1 -1
  24. package/dist-esm/src/generated/service/operations/indexers.js +1 -29
  25. package/dist-esm/src/generated/service/operations/indexers.js.map +1 -1
  26. package/dist-esm/src/generated/service/operations/skillsets.js +1 -30
  27. package/dist-esm/src/generated/service/operations/skillsets.js.map +1 -1
  28. package/dist-esm/src/generated/service/operationsInterfaces/index.js +0 -1
  29. package/dist-esm/src/generated/service/operationsInterfaces/index.js.map +1 -1
  30. package/dist-esm/src/generated/service/operationsInterfaces/indexers.js.map +1 -1
  31. package/dist-esm/src/generated/service/operationsInterfaces/skillsets.js.map +1 -1
  32. package/dist-esm/src/generated/service/searchServiceClient.js +2 -3
  33. package/dist-esm/src/generated/service/searchServiceClient.js.map +1 -1
  34. package/dist-esm/src/index.js +3 -3
  35. package/dist-esm/src/index.js.map +1 -1
  36. package/dist-esm/src/indexModels.js.map +1 -1
  37. package/dist-esm/src/searchClient.js +3 -10
  38. package/dist-esm/src/searchClient.js.map +1 -1
  39. package/dist-esm/src/searchIndexClient.js +3 -152
  40. package/dist-esm/src/searchIndexClient.js.map +1 -1
  41. package/dist-esm/src/searchIndexerClient.js +0 -47
  42. package/dist-esm/src/searchIndexerClient.js.map +1 -1
  43. package/dist-esm/src/serviceModels.js.map +1 -1
  44. package/dist-esm/src/serviceUtils.js +39 -139
  45. package/dist-esm/src/serviceUtils.js.map +1 -1
  46. package/package.json +4 -3
  47. package/types/search-documents.d.ts +285 -1589
  48. package/dist-esm/src/generated/service/operations/aliases.js +0 -160
  49. package/dist-esm/src/generated/service/operations/aliases.js.map +0 -1
  50. package/dist-esm/src/generated/service/operationsInterfaces/aliases.js +0 -9
  51. package/dist-esm/src/generated/service/operationsInterfaces/aliases.js.map +0 -1
  52. package/dist-esm/src/generatedStringLiteralUnions.js +0 -4
  53. package/dist-esm/src/generatedStringLiteralUnions.js.map +0 -1
@@ -3,74 +3,34 @@
3
3
  import { __rest } from "tslib";
4
4
  import { logger } from "./logger";
5
5
  import { isComplexField, } from "./serviceModels";
6
- export const defaultServiceVersion = "2024-05-01-Preview";
6
+ export const defaultServiceVersion = "2024-07-01";
7
+ const knownSkills = {
8
+ "#Microsoft.Skills.Custom.WebApiSkill": true,
9
+ "#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill": true,
10
+ "#Microsoft.Skills.Text.CustomEntityLookupSkill": true,
11
+ "#Microsoft.Skills.Text.EntityRecognitionSkill": true,
12
+ "#Microsoft.Skills.Text.KeyPhraseExtractionSkill": true,
13
+ "#Microsoft.Skills.Text.LanguageDetectionSkill": true,
14
+ "#Microsoft.Skills.Text.MergeSkill": true,
15
+ "#Microsoft.Skills.Text.PIIDetectionSkill": true,
16
+ "#Microsoft.Skills.Text.SentimentSkill": true,
17
+ "#Microsoft.Skills.Text.SplitSkill": true,
18
+ "#Microsoft.Skills.Text.TranslationSkill": true,
19
+ "#Microsoft.Skills.Text.V3.EntityLinkingSkill": true,
20
+ "#Microsoft.Skills.Text.V3.EntityRecognitionSkill": true,
21
+ "#Microsoft.Skills.Text.V3.SentimentSkill": true,
22
+ "#Microsoft.Skills.Util.ConditionalSkill": true,
23
+ "#Microsoft.Skills.Util.DocumentExtractionSkill": true,
24
+ "#Microsoft.Skills.Util.ShaperSkill": true,
25
+ "#Microsoft.Skills.Vision.ImageAnalysisSkill": true,
26
+ "#Microsoft.Skills.Vision.OcrSkill": true,
27
+ };
7
28
  export function convertSkillsToPublic(skills) {
8
29
  if (!skills) {
9
30
  return skills;
10
31
  }
11
- const result = [];
12
- for (const skill of skills) {
13
- switch (skill.odatatype) {
14
- case "#Microsoft.Skills.Util.ConditionalSkill":
15
- result.push(skill);
16
- break;
17
- case "#Microsoft.Skills.Text.KeyPhraseExtractionSkill":
18
- result.push(skill);
19
- break;
20
- case "#Microsoft.Skills.Vision.OcrSkill":
21
- result.push(skill);
22
- break;
23
- case "#Microsoft.Skills.Vision.ImageAnalysisSkill":
24
- result.push(skill);
25
- break;
26
- case "#Microsoft.Skills.Text.LanguageDetectionSkill":
27
- result.push(skill);
28
- break;
29
- case "#Microsoft.Skills.Util.ShaperSkill":
30
- result.push(skill);
31
- break;
32
- case "#Microsoft.Skills.Text.MergeSkill":
33
- result.push(skill);
34
- break;
35
- case "#Microsoft.Skills.Text.EntityRecognitionSkill":
36
- result.push(skill);
37
- break;
38
- case "#Microsoft.Skills.Text.SentimentSkill":
39
- result.push(skill);
40
- break;
41
- case "#Microsoft.Skills.Text.SplitSkill":
42
- result.push(skill);
43
- break;
44
- case "#Microsoft.Skills.Text.PIIDetectionSkill":
45
- result.push(skill);
46
- break;
47
- case "#Microsoft.Skills.Text.V3.EntityRecognitionSkill":
48
- result.push(skill);
49
- break;
50
- case "#Microsoft.Skills.Text.V3.EntityLinkingSkill":
51
- result.push(skill);
52
- break;
53
- case "#Microsoft.Skills.Text.V3.SentimentSkill":
54
- result.push(skill);
55
- break;
56
- case "#Microsoft.Skills.Text.TranslationSkill":
57
- result.push(skill);
58
- break;
59
- case "#Microsoft.Skills.Custom.WebApiSkill":
60
- result.push(skill);
61
- break;
62
- case "#Microsoft.Skills.Text.CustomEntityLookupSkill":
63
- result.push(skill);
64
- break;
65
- case "#Microsoft.Skills.Util.DocumentExtractionSkill":
66
- result.push(skill);
67
- break;
68
- case "#Microsoft.Skills.Custom.AmlSkill":
69
- result.push(skill);
70
- break;
71
- }
72
- }
73
- return result;
32
+ // This validation has already GAed
33
+ return skills.filter((skill) => knownSkills[skill.odatatype]);
74
34
  }
75
35
  export function convertCognitiveServicesAccountToGenerated(cognitiveServicesAccount) {
76
36
  if (!cognitiveServicesAccount) {
@@ -161,10 +121,10 @@ export function convertFieldsToPublic(fields) {
161
121
  else {
162
122
  const type = field.type;
163
123
  const synonymMapNames = field.synonymMaps;
164
- const { retrievable, analyzer, searchAnalyzer, indexAnalyzer, normalizer } = field, restField = __rest(field, ["retrievable", "analyzer", "searchAnalyzer", "indexAnalyzer", "normalizer"]);
124
+ const { retrievable, analyzer, searchAnalyzer, indexAnalyzer } = field, restField = __rest(field, ["retrievable", "analyzer", "searchAnalyzer", "indexAnalyzer"]);
165
125
  const hidden = typeof retrievable === "boolean" ? !retrievable : retrievable;
166
126
  const result = Object.assign(Object.assign({}, restField), { type,
167
- hidden, analyzerName: analyzer, searchAnalyzerName: searchAnalyzer, indexAnalyzerName: indexAnalyzer, normalizerName: normalizer, synonymMapNames });
127
+ hidden, analyzerName: analyzer, searchAnalyzerName: searchAnalyzer, indexAnalyzerName: indexAnalyzer, synonymMapNames });
168
128
  return result;
169
129
  }
170
130
  });
@@ -176,7 +136,7 @@ export function convertFieldsToGenerated(fields) {
176
136
  return {
177
137
  name: field.name,
178
138
  type: field.type,
179
- fields: convertFieldsToGenerated(field.fields),
139
+ fields: field.fields ? convertFieldsToGenerated(field.fields) : field.fields,
180
140
  };
181
141
  }
182
142
  else {
@@ -184,7 +144,7 @@ export function convertFieldsToGenerated(fields) {
184
144
  const retrievable = typeof hidden === "boolean" ? !hidden : hidden;
185
145
  return Object.assign(Object.assign({}, restField), { retrievable,
186
146
  // modify API defaults to use less storage for simple types
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, normalizer: field.normalizerName });
147
+ 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 });
188
148
  }
189
149
  });
190
150
  }
@@ -246,7 +206,6 @@ function convertEncryptionKeyToPublic(encryptionKey) {
246
206
  keyName: encryptionKey.keyName,
247
207
  keyVersion: encryptionKey.keyVersion,
248
208
  vaultUrl: encryptionKey.vaultUri,
249
- identity: convertSearchIndexerDataIdentityToPublic(encryptionKey.identity),
250
209
  };
251
210
  if (encryptionKey.accessCredentials) {
252
211
  result.applicationId = encryptionKey.accessCredentials.applicationId;
@@ -262,7 +221,6 @@ function convertEncryptionKeyToGenerated(encryptionKey) {
262
221
  keyName: encryptionKey.keyName,
263
222
  keyVersion: encryptionKey.keyVersion,
264
223
  vaultUri: encryptionKey.vaultUrl,
265
- identity: encryptionKey.identity,
266
224
  };
267
225
  if (encryptionKey.applicationId) {
268
226
  result.accessCredentials = {
@@ -284,7 +242,6 @@ export function generatedIndexToPublicIndex(generatedIndex) {
284
242
  tokenizers: convertTokenizersToPublic(generatedIndex.tokenizers),
285
243
  tokenFilters: generatedIndex.tokenFilters,
286
244
  charFilters: generatedIndex.charFilters,
287
- normalizers: generatedIndex.normalizers,
288
245
  scoringProfiles: generatedIndex.scoringProfiles,
289
246
  fields: convertFieldsToPublic(generatedIndex.fields),
290
247
  similarity: convertSimilarityToPublic(generatedIndex.similarity),
@@ -293,60 +250,26 @@ export function generatedIndexToPublicIndex(generatedIndex) {
293
250
  };
294
251
  }
295
252
  export function generatedVectorSearchVectorizerToPublicVectorizer(generatedVectorizer) {
296
- var _a;
297
253
  if (!generatedVectorizer) {
298
254
  return generatedVectorizer;
299
255
  }
300
256
  switch (generatedVectorizer.kind) {
301
257
  case "azureOpenAI": {
302
- const { azureOpenAIParameters } = generatedVectorizer;
303
- const authIdentity = convertSearchIndexerDataIdentityToPublic(azureOpenAIParameters === null || azureOpenAIParameters === void 0 ? void 0 : azureOpenAIParameters.authIdentity);
304
- const vectorizer = Object.assign(Object.assign({}, generatedVectorizer), { azureOpenAIParameters: Object.assign(Object.assign({}, azureOpenAIParameters), { authIdentity }) });
258
+ const { parameters } = generatedVectorizer;
259
+ const authIdentity = convertSearchIndexerDataIdentityToPublic(parameters === null || parameters === void 0 ? void 0 : parameters.authIdentity);
260
+ const vectorizer = Object.assign(Object.assign({}, generatedVectorizer), { parameters: Object.assign(Object.assign({}, parameters), { authIdentity }) });
305
261
  return vectorizer;
306
262
  }
307
263
  case "customWebApi": {
308
- const { customWebApiParameters } = generatedVectorizer;
309
- const authIdentity = convertSearchIndexerDataIdentityToPublic(customWebApiParameters === null || customWebApiParameters === void 0 ? void 0 : customWebApiParameters.authIdentity);
310
- const vectorizer = Object.assign(Object.assign({}, generatedVectorizer), { customVectorizerParameters: Object.assign(Object.assign({}, customWebApiParameters), { authIdentity }) });
311
- return vectorizer;
312
- }
313
- case "aiServicesVision": {
314
- const generatedVisionVectorizer = generatedVectorizer;
315
- const { aIServicesVisionParameters: generatedParameters } = generatedVisionVectorizer;
316
- const aIServicesVisionParameters = generatedParameters
317
- ? Object.assign(Object.assign({}, generatedParameters), { modelVersion: (_a = generatedParameters.modelVersion) !== null && _a !== void 0 ? _a : undefined, resourceUri: generatedParameters.resourceUri, authIdentity: convertSearchIndexerDataIdentityToPublic(generatedParameters.authIdentity) }) : undefined;
318
- const vectorizer = Object.assign(Object.assign({}, generatedVisionVectorizer), { aIServicesVisionParameters });
319
- return vectorizer;
320
- }
321
- case "aml": {
322
- const generatedAMLVectorizer = generatedVectorizer;
323
- const vectorizer = Object.assign(Object.assign({}, generatedAMLVectorizer), { amlParameters: generatedAzureMachineLearningVectorizerParametersToPublicAzureMachineLearningVectorizerParameters(generatedAMLVectorizer.aMLParameters) });
264
+ const { parameters } = generatedVectorizer;
265
+ const authIdentity = convertSearchIndexerDataIdentityToPublic(parameters === null || parameters === void 0 ? void 0 : parameters.authIdentity);
266
+ const vectorizer = Object.assign(Object.assign({}, generatedVectorizer), { parameters: Object.assign(Object.assign({}, parameters), { authIdentity }) });
324
267
  return vectorizer;
325
268
  }
326
269
  }
327
270
  logger.warning(`Unsupported vectorizer kind: ${generatedVectorizer.kind}`);
328
271
  return generatedVectorizer;
329
272
  }
330
- function generatedAzureMachineLearningVectorizerParametersToPublicAzureMachineLearningVectorizerParameters(aMLParameters) {
331
- if (!aMLParameters) {
332
- return aMLParameters;
333
- }
334
- const { resourceId, authenticationKey, scoringUri } = aMLParameters;
335
- // Sensitive to case order
336
- switch (true) {
337
- case resourceId !== undefined && resourceId !== null: {
338
- return Object.assign(Object.assign({}, aMLParameters), { authKind: "token" });
339
- }
340
- case authenticationKey !== undefined && authenticationKey !== null: {
341
- return Object.assign(Object.assign({}, aMLParameters), { authKind: "key" });
342
- }
343
- case scoringUri !== undefined && scoringUri !== null: {
344
- return Object.assign(Object.assign({}, aMLParameters), { authKind: "none" });
345
- }
346
- }
347
- logger.warning("Unknown AML parameter kind");
348
- return aMLParameters;
349
- }
350
273
  export function generatedVectorSearchAlgorithmConfigurationToPublicVectorSearchAlgorithmConfiguration(generatedAlgorithmConfiguration) {
351
274
  var _a;
352
275
  if (!generatedAlgorithmConfiguration) {
@@ -368,13 +291,12 @@ export function generatedVectorSearchToPublicVectorSearch(vectorSearch) {
368
291
  }
369
292
  export function generatedSearchResultToPublicSearchResult(results) {
370
293
  const returnValues = results.map((result) => {
371
- const { _score: score, _highlights: highlights, _rerankerScore: rerankerScore, _captions: captions, documentDebugInfo: documentDebugInfo } = result, restProps = __rest(result, ["_score", "_highlights", "_rerankerScore", "_captions", "documentDebugInfo"]);
294
+ const { _score: score, _highlights: highlights, _rerankerScore: rerankerScore, _captions: captions } = result, restProps = __rest(result, ["_score", "_highlights", "_rerankerScore", "_captions"]);
372
295
  const obj = {
373
296
  score,
374
297
  highlights,
375
298
  rerankerScore,
376
299
  captions,
377
- documentDebugInfo,
378
300
  document: restProps,
379
301
  };
380
302
  return obj;
@@ -401,19 +323,11 @@ export function publicIndexToGeneratedIndex(index) {
401
323
  return Object.assign(Object.assign({}, index), { encryptionKey: convertEncryptionKeyToGenerated(encryptionKey), tokenFilters: convertTokenFiltersToGenerated(tokenFilters), analyzers: convertAnalyzersToGenerated(analyzers), tokenizers: convertTokenizersToGenerated(tokenizers), fields: convertFieldsToGenerated(fields), similarity: convertSimilarityToGenerated(similarity) });
402
324
  }
403
325
  export function generatedSkillsetToPublicSkillset(generatedSkillset) {
404
- const { skills, cognitiveServicesAccount, knowledgeStore, encryptionKey, indexProjections } = generatedSkillset, props = __rest(generatedSkillset, ["skills", "cognitiveServicesAccount", "knowledgeStore", "encryptionKey", "indexProjections"]);
405
- return Object.assign(Object.assign({}, props), { skills: convertSkillsToPublic(skills), cognitiveServicesAccount: convertCognitiveServicesAccountToPublic(cognitiveServicesAccount), knowledgeStore: convertKnowledgeStoreToPublic(knowledgeStore), encryptionKey: convertEncryptionKeyToPublic(encryptionKey), indexProjections: indexProjections });
326
+ const { skills, cognitiveServicesAccount, encryptionKey, indexProjection } = generatedSkillset, props = __rest(generatedSkillset, ["skills", "cognitiveServicesAccount", "encryptionKey", "indexProjection"]);
327
+ return Object.assign(Object.assign({}, props), { skills: convertSkillsToPublic(skills), cognitiveServicesAccount: convertCognitiveServicesAccountToPublic(cognitiveServicesAccount), encryptionKey: convertEncryptionKeyToPublic(encryptionKey), indexProjection: indexProjection });
406
328
  }
407
329
  export function publicSkillsetToGeneratedSkillset(skillset) {
408
- return {
409
- name: skillset.name,
410
- description: skillset.description,
411
- etag: skillset.etag,
412
- skills: skillset.skills,
413
- cognitiveServicesAccount: convertCognitiveServicesAccountToGenerated(skillset.cognitiveServicesAccount),
414
- knowledgeStore: skillset.knowledgeStore,
415
- encryptionKey: convertEncryptionKeyToGenerated(skillset.encryptionKey),
416
- };
330
+ return Object.assign(Object.assign({}, skillset), { name: skillset.name, description: skillset.description, etag: skillset.etag, skills: skillset.skills, cognitiveServicesAccount: convertCognitiveServicesAccountToGenerated(skillset.cognitiveServicesAccount), knowledgeStore: skillset.knowledgeStore, encryptionKey: convertEncryptionKeyToGenerated(skillset.encryptionKey) });
417
331
  }
418
332
  export function generatedSynonymMapToPublicSynonymMap(synonymMap) {
419
333
  const result = {
@@ -446,7 +360,7 @@ export function generatedSearchIndexerToPublicSearchIndexer(indexer) {
446
360
  const { parsingMode, dataToExtract, imageAction, pdfTextRotationAlgorithm, executionEnvironment, } = (_b = (_a = indexer.parameters) === null || _a === void 0 ? void 0 : _a.configuration) !== null && _b !== void 0 ? _b : {};
447
361
  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 });
448
362
  const parameters = Object.assign(Object.assign({}, indexer.parameters), { configuration });
449
- return Object.assign(Object.assign({}, indexer), { parameters, encryptionKey: convertEncryptionKeyToPublic(indexer.encryptionKey), cache: convertSearchIndexerCacheToPublic(indexer.cache) });
363
+ return Object.assign(Object.assign({}, indexer), { parameters, encryptionKey: convertEncryptionKeyToPublic(indexer.encryptionKey) });
450
364
  }
451
365
  export function publicDataSourceToGeneratedDataSource(dataSource) {
452
366
  return {
@@ -457,7 +371,6 @@ export function publicDataSourceToGeneratedDataSource(dataSource) {
457
371
  connectionString: dataSource.connectionString,
458
372
  },
459
373
  container: dataSource.container,
460
- identity: dataSource.identity,
461
374
  etag: dataSource.etag,
462
375
  dataChangeDetectionPolicy: dataSource.dataChangeDetectionPolicy,
463
376
  dataDeletionDetectionPolicy: dataSource.dataDeletionDetectionPolicy,
@@ -471,7 +384,6 @@ export function generatedDataSourceToPublicDataSource(dataSource) {
471
384
  type: dataSource.type,
472
385
  connectionString: dataSource.credentials.connectionString,
473
386
  container: dataSource.container,
474
- identity: convertSearchIndexerDataIdentityToPublic(dataSource.identity),
475
387
  etag: dataSource.etag,
476
388
  dataChangeDetectionPolicy: convertDataChangeDetectionPolicyToPublic(dataSource.dataChangeDetectionPolicy),
477
389
  dataDeletionDetectionPolicy: convertDataDeletionDetectionPolicyToPublic(dataSource.dataDeletionDetectionPolicy),
@@ -517,16 +429,4 @@ export function getRandomIntegerInclusive(min, max) {
517
429
  const offset = Math.floor(Math.random() * (max - min + 1));
518
430
  return offset + min;
519
431
  }
520
- function convertKnowledgeStoreToPublic(knowledgeStore) {
521
- if (!knowledgeStore) {
522
- return knowledgeStore;
523
- }
524
- return Object.assign(Object.assign({}, knowledgeStore), { identity: convertSearchIndexerDataIdentityToPublic(knowledgeStore.identity) });
525
- }
526
- export function convertSearchIndexerCacheToPublic(cache) {
527
- if (!cache) {
528
- return cache;
529
- }
530
- return Object.assign(Object.assign({}, cache), { identity: convertSearchIndexerDataIdentityToPublic(cache.identity) });
531
- }
532
432
  //# 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 SearchResult as GeneratedSearchResult,\n SuggestDocumentsResult as GeneratedSuggestDocumentsResult,\n} from \"./generated/data/models\";\nimport {\n AIServicesVisionVectorizer as GeneratedAIServicesVisionVectorizer,\n AMLParameters as GeneratedAMLParameters,\n AMLVectorizer as GeneratedAMLVectorizer,\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 { logger } from \"./logger\";\nimport {\n AIServicesVisionVectorizer,\n AzureMachineLearningVectorizer,\n AzureMachineLearningVectorizerParameters,\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 KeyAuthAzureMachineLearningVectorizerParameters,\n KeyPhraseExtractionSkill,\n LexicalAnalyzer,\n LexicalNormalizer,\n LexicalTokenizer,\n NoAuthAzureMachineLearningVectorizerParameters,\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 TokenAuthAzureMachineLearningVectorizerParameters,\n TokenFilter,\n VectorSearch,\n VectorSearchAlgorithmConfiguration,\n VectorSearchVectorizer,\n WebApiSkill,\n} from \"./serviceModels\";\n\nexport const defaultServiceVersion = \"2024-05-01-Preview\";\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 case \"aiServicesVision\": {\n const generatedVisionVectorizer = generatedVectorizer as GeneratedAIServicesVisionVectorizer;\n const { aIServicesVisionParameters: generatedParameters } = generatedVisionVectorizer;\n const aIServicesVisionParameters = generatedParameters\n ? {\n ...generatedParameters,\n modelVersion: generatedParameters.modelVersion ?? undefined,\n resourceUri: generatedParameters.resourceUri,\n authIdentity: convertSearchIndexerDataIdentityToPublic(\n generatedParameters.authIdentity,\n ),\n }\n : undefined;\n const vectorizer: AIServicesVisionVectorizer = {\n ...generatedVisionVectorizer,\n aIServicesVisionParameters,\n };\n return vectorizer;\n }\n case \"aml\": {\n const generatedAMLVectorizer = generatedVectorizer as GeneratedAMLVectorizer;\n\n const vectorizer: AzureMachineLearningVectorizer = {\n ...generatedAMLVectorizer,\n amlParameters:\n generatedAzureMachineLearningVectorizerParametersToPublicAzureMachineLearningVectorizerParameters(\n generatedAMLVectorizer.aMLParameters,\n ),\n };\n\n return vectorizer;\n }\n }\n logger.warning(`Unsupported vectorizer kind: ${(generatedVectorizer as any).kind}`);\n return generatedVectorizer as any;\n}\n\nfunction generatedAzureMachineLearningVectorizerParametersToPublicAzureMachineLearningVectorizerParameters(\n aMLParameters?: GeneratedAMLParameters,\n): AzureMachineLearningVectorizerParameters | undefined {\n if (!aMLParameters) {\n return aMLParameters;\n }\n\n const { resourceId, authenticationKey, scoringUri } = aMLParameters;\n // Sensitive to case order\n switch (true) {\n case resourceId !== undefined && resourceId !== null: {\n return {\n ...aMLParameters,\n authKind: \"token\",\n } as TokenAuthAzureMachineLearningVectorizerParameters;\n }\n case authenticationKey !== undefined && authenticationKey !== null: {\n return {\n ...aMLParameters,\n authKind: \"key\",\n } as KeyAuthAzureMachineLearningVectorizerParameters;\n }\n case scoringUri !== undefined && scoringUri !== null: {\n return {\n ...aMLParameters,\n authKind: \"none\",\n } as NoAuthAzureMachineLearningVectorizerParameters;\n }\n }\n logger.warning(\"Unknown AML parameter kind\");\n return aMLParameters as any;\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\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
+ {"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 AzureOpenAIVectorizer as GeneratedAzureOpenAIVectorizer,\n BM25Similarity,\n ClassicSimilarity,\n CognitiveServicesAccountKey,\n CognitiveServicesAccountUnion,\n CustomAnalyzer as BaseCustomAnalyzer,\n DataChangeDetectionPolicyUnion,\n DataDeletionDetectionPolicyUnion,\n DefaultCognitiveServicesAccount,\n ExhaustiveKnnAlgorithmConfiguration as GeneratedExhaustiveKnnAlgorithmConfiguration,\n HighWaterMarkChangeDetectionPolicy,\n HnswAlgorithmConfiguration as GeneratedHnswAlgorithmConfiguration,\n LexicalAnalyzerUnion,\n LexicalTokenizerUnion,\n LuceneStandardAnalyzer,\n PatternAnalyzer as GeneratedPatternAnalyzer,\n PatternTokenizer,\n SearchField as GeneratedSearchField,\n SearchIndex as GeneratedSearchIndex,\n SearchIndexer as GeneratedSearchIndexer,\n SearchIndexerDataIdentityUnion,\n SearchIndexerDataNoneIdentity,\n SearchIndexerDataSource as GeneratedSearchIndexerDataSourceConnection,\n SearchIndexerDataUserAssignedIdentity,\n SearchIndexerSkillset as GeneratedSearchIndexerSkillset,\n SearchIndexerSkillUnion,\n SearchResourceEncryptionKey as GeneratedSearchResourceEncryptionKey,\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 WebApiVectorizer as GeneratedWebAPIVectorizer,\n} from \"./generated/service/models\";\nimport { SearchResult, SelectFields, SuggestDocumentsResult, SuggestResult } from \"./indexModels\";\nimport { logger } from \"./logger\";\nimport {\n AzureOpenAIVectorizer,\n BlobIndexerDataToExtract,\n BlobIndexerImageAction,\n BlobIndexerParsingMode,\n BlobIndexerPDFTextRotationAlgorithm,\n CharFilter,\n CognitiveServicesAccount,\n ComplexField,\n DataChangeDetectionPolicy,\n DataDeletionDetectionPolicy,\n IndexerExecutionEnvironment,\n IndexingParameters,\n IndexingParametersConfiguration,\n isComplexField,\n LexicalAnalyzer,\n LexicalTokenizer,\n PatternAnalyzer,\n RegexFlags,\n ScoringProfile,\n SearchField,\n SearchFieldDataType,\n SearchIndex,\n SearchIndexer,\n SearchIndexerDataIdentity,\n SearchIndexerDataSourceConnection,\n SearchIndexerDataSourceType,\n SearchIndexerIndexProjection,\n SearchIndexerSkill,\n SearchIndexerSkillset,\n SearchResourceEncryptionKey,\n SimilarityAlgorithm,\n SimpleField,\n SynonymMap,\n TokenFilter,\n VectorSearch,\n VectorSearchAlgorithmConfiguration,\n VectorSearchAlgorithmMetric,\n VectorSearchVectorizer,\n WebApiVectorizer,\n} from \"./serviceModels\";\n\nexport const defaultServiceVersion = \"2024-07-01\";\n\nconst knownSkills: Record<`${SearchIndexerSkillUnion[\"odatatype\"]}`, true> = {\n \"#Microsoft.Skills.Custom.WebApiSkill\": true,\n \"#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill\": true,\n \"#Microsoft.Skills.Text.CustomEntityLookupSkill\": true,\n \"#Microsoft.Skills.Text.EntityRecognitionSkill\": true,\n \"#Microsoft.Skills.Text.KeyPhraseExtractionSkill\": true,\n \"#Microsoft.Skills.Text.LanguageDetectionSkill\": true,\n \"#Microsoft.Skills.Text.MergeSkill\": true,\n \"#Microsoft.Skills.Text.PIIDetectionSkill\": true,\n \"#Microsoft.Skills.Text.SentimentSkill\": true,\n \"#Microsoft.Skills.Text.SplitSkill\": true,\n \"#Microsoft.Skills.Text.TranslationSkill\": true,\n \"#Microsoft.Skills.Text.V3.EntityLinkingSkill\": true,\n \"#Microsoft.Skills.Text.V3.EntityRecognitionSkill\": true,\n \"#Microsoft.Skills.Text.V3.SentimentSkill\": true,\n \"#Microsoft.Skills.Util.ConditionalSkill\": true,\n \"#Microsoft.Skills.Util.DocumentExtractionSkill\": true,\n \"#Microsoft.Skills.Util.ShaperSkill\": true,\n \"#Microsoft.Skills.Vision.ImageAnalysisSkill\": true,\n \"#Microsoft.Skills.Vision.OcrSkill\": true,\n};\n\nexport function convertSkillsToPublic(skills: SearchIndexerSkillUnion[]): SearchIndexerSkill[] {\n if (!skills) {\n return skills;\n }\n\n // This validation has already GAed\n return skills.filter((skill): skill is SearchIndexerSkill => knownSkills[skill.odatatype]);\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, ...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: field.fields ? convertFieldsToGenerated(field.fields) : 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\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 };\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 };\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 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 { parameters } = generatedVectorizer as GeneratedAzureOpenAIVectorizer;\n const authIdentity = convertSearchIndexerDataIdentityToPublic(parameters?.authIdentity);\n const vectorizer: AzureOpenAIVectorizer = {\n ...(generatedVectorizer as GeneratedAzureOpenAIVectorizer),\n parameters: { ...parameters, authIdentity },\n };\n return vectorizer;\n }\n case \"customWebApi\": {\n const { parameters } = generatedVectorizer as GeneratedWebAPIVectorizer;\n const authIdentity = convertSearchIndexerDataIdentityToPublic(parameters?.authIdentity);\n const vectorizer: WebApiVectorizer = {\n ...(generatedVectorizer as GeneratedWebAPIVectorizer),\n parameters: { ...parameters, authIdentity },\n };\n return vectorizer;\n }\n }\n logger.warning(`Unsupported vectorizer kind: ${(generatedVectorizer as any).kind}`);\n return generatedVectorizer as any;\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 ...restProps\n } = result;\n const obj = {\n score,\n highlights,\n rerankerScore,\n captions,\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 { skills, cognitiveServicesAccount, encryptionKey, indexProjection, ...props } =\n generatedSkillset;\n return {\n ...props,\n skills: convertSkillsToPublic(skills),\n cognitiveServicesAccount: convertCognitiveServicesAccountToPublic(cognitiveServicesAccount),\n encryptionKey: convertEncryptionKeyToPublic(encryptionKey),\n indexProjection: indexProjection as SearchIndexerIndexProjection,\n };\n}\n\nexport function publicSkillsetToGeneratedSkillset(\n skillset: SearchIndexerSkillset,\n): GeneratedSearchIndexerSkillset {\n return {\n ...skillset,\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 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"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure/search-documents",
3
- "version": "12.1.0-beta.2",
3
+ "version": "12.1.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",
@@ -125,12 +125,13 @@
125
125
  "karma-sourcemap-loader": "^0.3.8",
126
126
  "karma": "^6.2.0",
127
127
  "mocha": "^10.0.0",
128
- "nyc": "^15.1.0",
128
+ "nyc": "^17.0.0",
129
129
  "rimraf": "^5.0.5",
130
130
  "sinon": "^17.0.0",
131
131
  "ts-node": "^10.0.0",
132
132
  "typescript": "~5.3.3",
133
- "util": "^0.12.1"
133
+ "util": "^0.12.1",
134
+ "type-plus": "^7.6.2"
134
135
  },
135
136
  "//sampleConfiguration": {
136
137
  "productName": "Azure Search Documents",