@azure/search-documents 12.1.0 → 12.2.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/README.md +1 -1
  2. package/dist/index.js +2298 -426
  3. package/dist/index.js.map +1 -1
  4. package/dist-esm/src/base64.browser.js +1 -1
  5. package/dist-esm/src/base64.browser.js.map +1 -1
  6. package/dist-esm/src/base64.js +1 -1
  7. package/dist-esm/src/base64.js.map +1 -1
  8. package/dist-esm/src/errorModels.js +1 -1
  9. package/dist-esm/src/errorModels.js.map +1 -1
  10. package/dist-esm/src/generated/data/models/index.js +208 -6
  11. package/dist-esm/src/generated/data/models/index.js.map +1 -1
  12. package/dist-esm/src/generated/data/models/mappers.js +378 -0
  13. package/dist-esm/src/generated/data/models/mappers.js.map +1 -1
  14. package/dist-esm/src/generated/data/models/parameters.js +42 -0
  15. package/dist-esm/src/generated/data/models/parameters.js.map +1 -1
  16. package/dist-esm/src/generated/data/operations/documents.js +4 -0
  17. package/dist-esm/src/generated/data/operations/documents.js.map +1 -1
  18. package/dist-esm/src/generated/data/searchClient.js +1 -1
  19. package/dist-esm/src/generated/data/searchClient.js.map +1 -1
  20. package/dist-esm/src/generated/service/models/index.js +154 -84
  21. package/dist-esm/src/generated/service/models/index.js.map +1 -1
  22. package/dist-esm/src/generated/service/models/mappers.js +684 -70
  23. package/dist-esm/src/generated/service/models/mappers.js.map +1 -1
  24. package/dist-esm/src/generated/service/models/parameters.js +51 -1
  25. package/dist-esm/src/generated/service/models/parameters.js.map +1 -1
  26. package/dist-esm/src/generated/service/operations/aliases.js +160 -0
  27. package/dist-esm/src/generated/service/operations/aliases.js.map +1 -0
  28. package/dist-esm/src/generated/service/operations/dataSources.js +4 -1
  29. package/dist-esm/src/generated/service/operations/dataSources.js.map +1 -1
  30. package/dist-esm/src/generated/service/operations/index.js +1 -0
  31. package/dist-esm/src/generated/service/operations/index.js.map +1 -1
  32. package/dist-esm/src/generated/service/operations/indexers.js +29 -1
  33. package/dist-esm/src/generated/service/operations/indexers.js.map +1 -1
  34. package/dist-esm/src/generated/service/operations/skillsets.js +30 -1
  35. package/dist-esm/src/generated/service/operations/skillsets.js.map +1 -1
  36. package/dist-esm/src/generated/service/operationsInterfaces/aliases.js +9 -0
  37. package/dist-esm/src/generated/service/operationsInterfaces/aliases.js.map +1 -0
  38. package/dist-esm/src/generated/service/operationsInterfaces/index.js +1 -0
  39. package/dist-esm/src/generated/service/operationsInterfaces/index.js.map +1 -1
  40. package/dist-esm/src/generated/service/operationsInterfaces/indexers.js.map +1 -1
  41. package/dist-esm/src/generated/service/operationsInterfaces/skillsets.js.map +1 -1
  42. package/dist-esm/src/generated/service/searchServiceClient.js +3 -2
  43. package/dist-esm/src/generated/service/searchServiceClient.js.map +1 -1
  44. package/dist-esm/src/geographyPoint.js +1 -1
  45. package/dist-esm/src/geographyPoint.js.map +1 -1
  46. package/dist-esm/src/index.js +4 -4
  47. package/dist-esm/src/index.js.map +1 -1
  48. package/dist-esm/src/indexDocumentsBatch.js +1 -1
  49. package/dist-esm/src/indexDocumentsBatch.js.map +1 -1
  50. package/dist-esm/src/indexModels.js +1 -1
  51. package/dist-esm/src/indexModels.js.map +1 -1
  52. package/dist-esm/src/logger.js +1 -1
  53. package/dist-esm/src/logger.js.map +1 -1
  54. package/dist-esm/src/odata.js +1 -1
  55. package/dist-esm/src/odata.js.map +1 -1
  56. package/dist-esm/src/odataMetadataPolicy.js +1 -1
  57. package/dist-esm/src/odataMetadataPolicy.js.map +1 -1
  58. package/dist-esm/src/searchApiKeyCredentialPolicy.js +1 -1
  59. package/dist-esm/src/searchApiKeyCredentialPolicy.js.map +1 -1
  60. package/dist-esm/src/searchAudience.js +1 -1
  61. package/dist-esm/src/searchAudience.js.map +1 -1
  62. package/dist-esm/src/searchClient.js +11 -4
  63. package/dist-esm/src/searchClient.js.map +1 -1
  64. package/dist-esm/src/searchIndexClient.js +153 -4
  65. package/dist-esm/src/searchIndexClient.js.map +1 -1
  66. package/dist-esm/src/searchIndexerClient.js +48 -1
  67. package/dist-esm/src/searchIndexerClient.js.map +1 -1
  68. package/dist-esm/src/searchIndexingBufferedSender.js +1 -1
  69. package/dist-esm/src/searchIndexingBufferedSender.js.map +1 -1
  70. package/dist-esm/src/serialization.js +1 -1
  71. package/dist-esm/src/serialization.js.map +1 -1
  72. package/dist-esm/src/serviceModels.js +1 -1
  73. package/dist-esm/src/serviceModels.js.map +1 -1
  74. package/dist-esm/src/serviceUtils.js +79 -19
  75. package/dist-esm/src/serviceUtils.js.map +1 -1
  76. package/dist-esm/src/synonymMapHelper.browser.js +1 -1
  77. package/dist-esm/src/synonymMapHelper.browser.js.map +1 -1
  78. package/dist-esm/src/synonymMapHelper.js +1 -1
  79. package/dist-esm/src/synonymMapHelper.js.map +1 -1
  80. package/dist-esm/src/tracing.js +1 -1
  81. package/dist-esm/src/tracing.js.map +1 -1
  82. package/dist-esm/src/walk.js +1 -1
  83. package/dist-esm/src/walk.js.map +1 -1
  84. package/package.json +6 -6
  85. package/types/search-documents.d.ts +1515 -98
@@ -1,9 +1,9 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
2
+ // Licensed under the MIT License.
3
3
  import { __rest } from "tslib";
4
4
  import { logger } from "./logger";
5
5
  import { isComplexField, } from "./serviceModels";
6
- export const defaultServiceVersion = "2024-07-01";
6
+ export const defaultServiceVersion = "2024-09-01-Preview";
7
7
  const knownSkills = {
8
8
  "#Microsoft.Skills.Custom.WebApiSkill": true,
9
9
  "#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill": true,
@@ -24,6 +24,8 @@ const knownSkills = {
24
24
  "#Microsoft.Skills.Util.ShaperSkill": true,
25
25
  "#Microsoft.Skills.Vision.ImageAnalysisSkill": true,
26
26
  "#Microsoft.Skills.Vision.OcrSkill": true,
27
+ "#Microsoft.Skills.Custom.AmlSkill": true,
28
+ "#Microsoft.Skills.Vision.VectorizeSkill": true,
27
29
  };
28
30
  export function convertSkillsToPublic(skills) {
29
31
  if (!skills) {
@@ -121,22 +123,22 @@ export function convertFieldsToPublic(fields) {
121
123
  else {
122
124
  const type = field.type;
123
125
  const synonymMapNames = field.synonymMaps;
124
- const { retrievable, analyzer, searchAnalyzer, indexAnalyzer } = field, restField = __rest(field, ["retrievable", "analyzer", "searchAnalyzer", "indexAnalyzer"]);
126
+ const { retrievable, analyzer, searchAnalyzer, indexAnalyzer, normalizer } = field, restField = __rest(field, ["retrievable", "analyzer", "searchAnalyzer", "indexAnalyzer", "normalizer"]);
125
127
  const hidden = typeof retrievable === "boolean" ? !retrievable : retrievable;
126
128
  const result = Object.assign(Object.assign({}, restField), { type,
127
- hidden, analyzerName: analyzer, searchAnalyzerName: searchAnalyzer, indexAnalyzerName: indexAnalyzer, synonymMapNames });
129
+ hidden, analyzerName: analyzer, searchAnalyzerName: searchAnalyzer, indexAnalyzerName: indexAnalyzer, normalizerName: normalizer, synonymMapNames });
128
130
  return result;
129
131
  }
130
132
  });
131
133
  }
132
134
  export function convertFieldsToGenerated(fields) {
133
- return fields.map((field) => {
135
+ return fields === null || fields === void 0 ? void 0 : fields.map((field) => {
134
136
  var _a, _b, _c, _d;
135
137
  if (isComplexField(field)) {
136
138
  return {
137
139
  name: field.name,
138
140
  type: field.type,
139
- fields: field.fields ? convertFieldsToGenerated(field.fields) : field.fields,
141
+ fields: convertFieldsToGenerated(field.fields),
140
142
  };
141
143
  }
142
144
  else {
@@ -144,7 +146,7 @@ export function convertFieldsToGenerated(fields) {
144
146
  const retrievable = typeof hidden === "boolean" ? !hidden : hidden;
145
147
  return Object.assign(Object.assign({}, restField), { retrievable,
146
148
  // modify API defaults to use less storage for simple types
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 });
149
+ 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 });
148
150
  }
149
151
  });
150
152
  }
@@ -206,6 +208,7 @@ function convertEncryptionKeyToPublic(encryptionKey) {
206
208
  keyName: encryptionKey.keyName,
207
209
  keyVersion: encryptionKey.keyVersion,
208
210
  vaultUrl: encryptionKey.vaultUri,
211
+ identity: convertSearchIndexerDataIdentityToPublic(encryptionKey.identity),
209
212
  };
210
213
  if (encryptionKey.accessCredentials) {
211
214
  result.applicationId = encryptionKey.accessCredentials.applicationId;
@@ -221,6 +224,7 @@ function convertEncryptionKeyToGenerated(encryptionKey) {
221
224
  keyName: encryptionKey.keyName,
222
225
  keyVersion: encryptionKey.keyVersion,
223
226
  vaultUri: encryptionKey.vaultUrl,
227
+ identity: encryptionKey.identity,
224
228
  };
225
229
  if (encryptionKey.applicationId) {
226
230
  result.accessCredentials = {
@@ -242,6 +246,7 @@ export function generatedIndexToPublicIndex(generatedIndex) {
242
246
  tokenizers: convertTokenizersToPublic(generatedIndex.tokenizers),
243
247
  tokenFilters: generatedIndex.tokenFilters,
244
248
  charFilters: generatedIndex.charFilters,
249
+ normalizers: generatedIndex.normalizers,
245
250
  scoringProfiles: generatedIndex.scoringProfiles,
246
251
  fields: convertFieldsToPublic(generatedIndex.fields),
247
252
  similarity: convertSimilarityToPublic(generatedIndex.similarity),
@@ -250,25 +255,63 @@ export function generatedIndexToPublicIndex(generatedIndex) {
250
255
  };
251
256
  }
252
257
  export function generatedVectorSearchVectorizerToPublicVectorizer(generatedVectorizer) {
258
+ var _a;
253
259
  if (!generatedVectorizer) {
254
260
  return generatedVectorizer;
255
261
  }
256
- switch (generatedVectorizer.kind) {
257
- case "azureOpenAI": {
262
+ const knownVectorizerDeserializers = {
263
+ azureOpenAI: () => {
258
264
  const { parameters } = generatedVectorizer;
259
265
  const authIdentity = convertSearchIndexerDataIdentityToPublic(parameters === null || parameters === void 0 ? void 0 : parameters.authIdentity);
260
266
  const vectorizer = Object.assign(Object.assign({}, generatedVectorizer), { parameters: Object.assign(Object.assign({}, parameters), { authIdentity }) });
261
267
  return vectorizer;
262
- }
263
- case "customWebApi": {
268
+ },
269
+ customWebApi: () => {
264
270
  const { parameters } = generatedVectorizer;
265
271
  const authIdentity = convertSearchIndexerDataIdentityToPublic(parameters === null || parameters === void 0 ? void 0 : parameters.authIdentity);
266
272
  const vectorizer = Object.assign(Object.assign({}, generatedVectorizer), { parameters: Object.assign(Object.assign({}, parameters), { authIdentity }) });
267
273
  return vectorizer;
274
+ },
275
+ aiServicesVision: () => {
276
+ var _a;
277
+ const generatedVisionVectorizer = generatedVectorizer;
278
+ const { aIServicesVisionParameters: generatedParameters } = generatedVisionVectorizer;
279
+ const parameters = generatedParameters
280
+ ? Object.assign(Object.assign({}, generatedParameters), { modelVersion: (_a = generatedParameters.modelVersion) !== null && _a !== void 0 ? _a : undefined, resourceUri: generatedParameters.resourceUri, authIdentity: convertSearchIndexerDataIdentityToPublic(generatedParameters.authIdentity) }) : undefined;
281
+ const vectorizer = Object.assign(Object.assign({}, generatedVisionVectorizer), { parameters });
282
+ return vectorizer;
283
+ },
284
+ aml: () => {
285
+ const generatedAMLVectorizer = generatedVectorizer;
286
+ const vectorizer = Object.assign(Object.assign({}, generatedAMLVectorizer), { amlParameters: generatedAzureMachineLearningVectorizerParametersToPublicAzureMachineLearningVectorizerParameters(generatedAMLVectorizer.aMLParameters) });
287
+ return vectorizer;
288
+ },
289
+ };
290
+ const defaultDeserializer = () => {
291
+ logger.warning(`Unsupported vectorizer kind: ${generatedVectorizer.kind}`);
292
+ return generatedVectorizer;
293
+ };
294
+ return ((_a = knownVectorizerDeserializers[generatedVectorizer.kind]) !== null && _a !== void 0 ? _a : defaultDeserializer)();
295
+ }
296
+ function generatedAzureMachineLearningVectorizerParametersToPublicAzureMachineLearningVectorizerParameters(aMLParameters) {
297
+ if (!aMLParameters) {
298
+ return aMLParameters;
299
+ }
300
+ const { resourceId, authenticationKey, scoringUri } = aMLParameters;
301
+ // Sensitive to case order
302
+ switch (true) {
303
+ case resourceId !== undefined && resourceId !== null: {
304
+ return Object.assign(Object.assign({}, aMLParameters), { authKind: "token" });
305
+ }
306
+ case authenticationKey !== undefined && authenticationKey !== null: {
307
+ return Object.assign(Object.assign({}, aMLParameters), { authKind: "key" });
308
+ }
309
+ case scoringUri !== undefined && scoringUri !== null: {
310
+ return Object.assign(Object.assign({}, aMLParameters), { authKind: "none" });
268
311
  }
269
312
  }
270
- logger.warning(`Unsupported vectorizer kind: ${generatedVectorizer.kind}`);
271
- return generatedVectorizer;
313
+ logger.warning("Unknown AML parameter kind");
314
+ return aMLParameters;
272
315
  }
273
316
  export function generatedVectorSearchAlgorithmConfigurationToPublicVectorSearchAlgorithmConfiguration(generatedAlgorithmConfiguration) {
274
317
  var _a;
@@ -291,12 +334,13 @@ export function generatedVectorSearchToPublicVectorSearch(vectorSearch) {
291
334
  }
292
335
  export function generatedSearchResultToPublicSearchResult(results) {
293
336
  const returnValues = results.map((result) => {
294
- const { _score: score, _highlights: highlights, _rerankerScore: rerankerScore, _captions: captions } = result, restProps = __rest(result, ["_score", "_highlights", "_rerankerScore", "_captions"]);
337
+ const { _score: score, _highlights: highlights, _rerankerScore: rerankerScore, _captions: captions, documentDebugInfo: documentDebugInfo } = result, restProps = __rest(result, ["_score", "_highlights", "_rerankerScore", "_captions", "documentDebugInfo"]);
295
338
  const obj = {
296
339
  score,
297
340
  highlights,
298
341
  rerankerScore,
299
342
  captions,
343
+ documentDebugInfo,
300
344
  document: restProps,
301
345
  };
302
346
  return obj;
@@ -319,15 +363,17 @@ export function generatedSuggestDocumentsResultToPublicSuggestDocumentsResult(se
319
363
  return result;
320
364
  }
321
365
  export function publicIndexToGeneratedIndex(index) {
366
+ var _a;
322
367
  const { encryptionKey, tokenFilters, analyzers, tokenizers, fields, similarity } = index;
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) });
368
+ return Object.assign(Object.assign({}, index), { encryptionKey: convertEncryptionKeyToGenerated(encryptionKey), tokenFilters: convertTokenFiltersToGenerated(tokenFilters), analyzers: convertAnalyzersToGenerated(analyzers), tokenizers: convertTokenizersToGenerated(tokenizers), fields: (_a = convertFieldsToGenerated(fields)) !== null && _a !== void 0 ? _a : [], similarity: convertSimilarityToGenerated(similarity) });
324
369
  }
325
370
  export function generatedSkillsetToPublicSkillset(generatedSkillset) {
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 });
371
+ const { skills, cognitiveServicesAccount, knowledgeStore, encryptionKey, indexProjection } = generatedSkillset, props = __rest(generatedSkillset, ["skills", "cognitiveServicesAccount", "knowledgeStore", "encryptionKey", "indexProjection"]);
372
+ return Object.assign(Object.assign({}, props), { skills: convertSkillsToPublic(skills), cognitiveServicesAccount: convertCognitiveServicesAccountToPublic(cognitiveServicesAccount), knowledgeStore: convertKnowledgeStoreToPublic(knowledgeStore), encryptionKey: convertEncryptionKeyToPublic(encryptionKey), indexProjection: indexProjection });
328
373
  }
329
374
  export function publicSkillsetToGeneratedSkillset(skillset) {
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) });
375
+ const { cognitiveServicesAccount, encryptionKey } = skillset;
376
+ return Object.assign(Object.assign({}, skillset), { cognitiveServicesAccount: convertCognitiveServicesAccountToGenerated(cognitiveServicesAccount), encryptionKey: convertEncryptionKeyToGenerated(encryptionKey) });
331
377
  }
332
378
  export function generatedSynonymMapToPublicSynonymMap(synonymMap) {
333
379
  const result = {
@@ -360,7 +406,7 @@ export function generatedSearchIndexerToPublicSearchIndexer(indexer) {
360
406
  const { parsingMode, dataToExtract, imageAction, pdfTextRotationAlgorithm, executionEnvironment, } = (_b = (_a = indexer.parameters) === null || _a === void 0 ? void 0 : _a.configuration) !== null && _b !== void 0 ? _b : {};
361
407
  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 });
362
408
  const parameters = Object.assign(Object.assign({}, indexer.parameters), { configuration });
363
- return Object.assign(Object.assign({}, indexer), { parameters, encryptionKey: convertEncryptionKeyToPublic(indexer.encryptionKey) });
409
+ return Object.assign(Object.assign({}, indexer), { parameters, encryptionKey: convertEncryptionKeyToPublic(indexer.encryptionKey), cache: convertSearchIndexerCacheToPublic(indexer.cache) });
364
410
  }
365
411
  export function publicDataSourceToGeneratedDataSource(dataSource) {
366
412
  return {
@@ -371,6 +417,7 @@ export function publicDataSourceToGeneratedDataSource(dataSource) {
371
417
  connectionString: dataSource.connectionString,
372
418
  },
373
419
  container: dataSource.container,
420
+ identity: dataSource.identity,
374
421
  etag: dataSource.etag,
375
422
  dataChangeDetectionPolicy: dataSource.dataChangeDetectionPolicy,
376
423
  dataDeletionDetectionPolicy: dataSource.dataDeletionDetectionPolicy,
@@ -384,6 +431,7 @@ export function generatedDataSourceToPublicDataSource(dataSource) {
384
431
  type: dataSource.type,
385
432
  connectionString: dataSource.credentials.connectionString,
386
433
  container: dataSource.container,
434
+ identity: convertSearchIndexerDataIdentityToPublic(dataSource.identity),
387
435
  etag: dataSource.etag,
388
436
  dataChangeDetectionPolicy: convertDataChangeDetectionPolicyToPublic(dataSource.dataChangeDetectionPolicy),
389
437
  dataDeletionDetectionPolicy: convertDataDeletionDetectionPolicyToPublic(dataSource.dataDeletionDetectionPolicy),
@@ -429,4 +477,16 @@ export function getRandomIntegerInclusive(min, max) {
429
477
  const offset = Math.floor(Math.random() * (max - min + 1));
430
478
  return offset + min;
431
479
  }
480
+ function convertKnowledgeStoreToPublic(knowledgeStore) {
481
+ if (!knowledgeStore) {
482
+ return knowledgeStore;
483
+ }
484
+ return Object.assign(Object.assign({}, knowledgeStore), { identity: convertSearchIndexerDataIdentityToPublic(knowledgeStore.identity) });
485
+ }
486
+ export function convertSearchIndexerCacheToPublic(cache) {
487
+ if (!cache) {
488
+ return cache;
489
+ }
490
+ return Object.assign(Object.assign({}, cache), { identity: convertSearchIndexerDataIdentityToPublic(cache.identity) });
491
+ }
432
492
  //# 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 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"]}
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 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 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 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 AIServicesVisionVectorizer,\n AzureMachineLearningVectorizer,\n AzureMachineLearningVectorizerParameters,\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 KeyAuthAzureMachineLearningVectorizerParameters,\n LexicalAnalyzer,\n LexicalNormalizer,\n LexicalTokenizer,\n NoAuthAzureMachineLearningVectorizerParameters,\n PatternAnalyzer,\n RegexFlags,\n ScoringProfile,\n SearchField,\n SearchFieldDataType,\n SearchIndex,\n SearchIndexer,\n SearchIndexerCache,\n SearchIndexerDataIdentity,\n SearchIndexerDataSourceConnection,\n SearchIndexerDataSourceType,\n SearchIndexerIndexProjection,\n SearchIndexerKnowledgeStore,\n SearchIndexerSkill,\n SearchIndexerSkillset,\n SearchResourceEncryptionKey,\n SimilarityAlgorithm,\n SimpleField,\n SynonymMap,\n TokenAuthAzureMachineLearningVectorizerParameters,\n TokenFilter,\n VectorSearch,\n VectorSearchAlgorithmConfiguration,\n VectorSearchAlgorithmMetric,\n VectorSearchVectorizer,\n WebApiVectorizer,\n} from \"./serviceModels\";\n\nexport const defaultServiceVersion = \"2024-09-01-Preview\";\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 \"#Microsoft.Skills.Custom.AmlSkill\": true,\n \"#Microsoft.Skills.Vision.VectorizeSkill\": 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, 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(\n fields: SearchField[] | undefined,\n): GeneratedSearchField[] | undefined {\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 const knownVectorizerDeserializers: Record<\n VectorSearchVectorizer[\"kind\"],\n () => VectorSearchVectorizer\n > = {\n 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\n 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 aiServicesVision: () => {\n const generatedVisionVectorizer = generatedVectorizer as GeneratedAIServicesVisionVectorizer;\n const { aIServicesVisionParameters: generatedParameters } = generatedVisionVectorizer;\n const parameters = 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 parameters,\n };\n return vectorizer;\n },\n 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 const defaultDeserializer = () => {\n logger.warning(`Unsupported vectorizer kind: ${(generatedVectorizer as any).kind}`);\n return generatedVectorizer as any;\n };\n\n return (knownVectorizerDeserializers[generatedVectorizer.kind] ?? defaultDeserializer)();\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 indexProjection,\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 indexProjection: indexProjection as SearchIndexerIndexProjection,\n };\n}\n\nexport function publicSkillsetToGeneratedSkillset(\n skillset: SearchIndexerSkillset,\n): GeneratedSearchIndexerSkillset {\n const { cognitiveServicesAccount, encryptionKey } = skillset;\n\n return {\n ...skillset,\n cognitiveServicesAccount: convertCognitiveServicesAccountToGenerated(cognitiveServicesAccount),\n encryptionKey: convertEncryptionKeyToGenerated(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,5 +1,5 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
2
+ // Licensed under the MIT License.
3
3
  /**
4
4
  * Helper method to create a SynonymMap object. This is a NodeJS only method.
5
5
  * Will throw an error for browser.
@@ -1 +1 @@
1
- {"version":3,"file":"synonymMapHelper.browser.js","sourceRoot":"","sources":["../../src/synonymMapHelper.browser.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAIlC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAAa,EACb,SAAiB;IAEjB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;AAClD,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { SynonymMap } from \"./serviceModels\";\n\n/**\n * Helper method to create a SynonymMap object. This is a NodeJS only method.\n * Will throw an error for browser.\n *\n * @param _name - Name of the SynonymMap.\n * @param _filePath - Path of the file that contains the Synonyms (seperated by new lines)\n * @returns SynonymMap object\n */\nexport async function createSynonymMapFromFile(\n _name: string,\n _filePath: string,\n): Promise<SynonymMap> {\n throw new Error(\"Not implemented for browser.\");\n}\n"]}
1
+ {"version":3,"file":"synonymMapHelper.browser.js","sourceRoot":"","sources":["../../src/synonymMapHelper.browser.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAIlC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAAa,EACb,SAAiB;IAEjB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;AAClD,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { SynonymMap } from \"./serviceModels\";\n\n/**\n * Helper method to create a SynonymMap object. This is a NodeJS only method.\n * Will throw an error for browser.\n *\n * @param _name - Name of the SynonymMap.\n * @param _filePath - Path of the file that contains the Synonyms (seperated by new lines)\n * @returns SynonymMap object\n */\nexport async function createSynonymMapFromFile(\n _name: string,\n _filePath: string,\n): Promise<SynonymMap> {\n throw new Error(\"Not implemented for browser.\");\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
2
+ // Licensed under the MIT License.
3
3
  import * as fs from "fs";
4
4
  import { promisify } from "util";
5
5
  const readFileAsync = promisify(fs.readFile);
@@ -1 +1 @@
1
- {"version":3,"file":"synonymMapHelper.js","sourceRoot":"","sources":["../../src/synonymMapHelper.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,MAAM,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,IAAY,EACZ,QAAgB;IAEhB,MAAM,QAAQ,GAAa,CAAC,MAAM,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;SAChE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;SAClB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnB,OAAO;QACL,IAAI;QACJ,QAAQ;KACT,CAAC;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport * as fs from \"fs\";\nimport { promisify } from \"util\";\nimport { SynonymMap } from \"./serviceModels\";\nconst readFileAsync = promisify(fs.readFile);\n\n/**\n * Helper method to create a SynonymMap object. This is a NodeJS only method.\n *\n * @param name - Name of the SynonymMap.\n * @param filePath - Path of the file that contains the Synonyms (seperated by new lines)\n * @returns SynonymMap object\n */\nexport async function createSynonymMapFromFile(\n name: string,\n filePath: string,\n): Promise<SynonymMap> {\n const synonyms: string[] = (await readFileAsync(filePath, \"utf-8\"))\n .replace(/\\r/g, \"\")\n .split(\"\\n\")\n .map((line) => line.trim())\n .filter(Boolean);\n\n return {\n name,\n synonyms,\n };\n}\n"]}
1
+ {"version":3,"file":"synonymMapHelper.js","sourceRoot":"","sources":["../../src/synonymMapHelper.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,MAAM,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,IAAY,EACZ,QAAgB;IAEhB,MAAM,QAAQ,GAAa,CAAC,MAAM,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;SAChE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;SAClB,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnB,OAAO;QACL,IAAI;QACJ,QAAQ;KACT,CAAC;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport * as fs from \"fs\";\nimport { promisify } from \"util\";\nimport { SynonymMap } from \"./serviceModels\";\nconst readFileAsync = promisify(fs.readFile);\n\n/**\n * Helper method to create a SynonymMap object. This is a NodeJS only method.\n *\n * @param name - Name of the SynonymMap.\n * @param filePath - Path of the file that contains the Synonyms (seperated by new lines)\n * @returns SynonymMap object\n */\nexport async function createSynonymMapFromFile(\n name: string,\n filePath: string,\n): Promise<SynonymMap> {\n const synonyms: string[] = (await readFileAsync(filePath, \"utf-8\"))\n .replace(/\\r/g, \"\")\n .split(\"\\n\")\n .map((line) => line.trim())\n .filter(Boolean);\n\n return {\n name,\n synonyms,\n };\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
2
+ // Licensed under the MIT License.
3
3
  import { createTracingClient } from "@azure/core-tracing";
4
4
  /**
5
5
  * Creates a tracing client using the global tracer.
@@ -1 +1 @@
1
- {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/tracing.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;GAGG;AACH,MAAM,aAAa,GAAG,mBAAmB,CAAC;IACxC,SAAS,EAAE,kBAAkB;IAC7B,WAAW,EAAE,cAAc;CAC5B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { createTracingClient } from \"@azure/core-tracing\";\n\n/**\n * Creates a tracing client using the global tracer.\n * @internal\n */\nconst tracingClient = createTracingClient({\n namespace: \"Microsoft.Search\",\n packageName: \"Azure.Search\",\n});\n\nexport const createSpan = tracingClient.startSpan;\n"]}
1
+ {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/tracing.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;GAGG;AACH,MAAM,aAAa,GAAG,mBAAmB,CAAC;IACxC,SAAS,EAAE,kBAAkB;IAC7B,WAAW,EAAE,cAAc;CAC5B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { createTracingClient } from \"@azure/core-tracing\";\n\n/**\n * Creates a tracing client using the global tracer.\n * @internal\n */\nconst tracingClient = createTracingClient({\n namespace: \"Microsoft.Search\",\n packageName: \"Azure.Search\",\n});\n\nexport const createSpan = tracingClient.startSpan;\n"]}
@@ -1,5 +1,5 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
2
+ // Licensed under the MIT License.
3
3
  import { isDefined } from "@azure/core-util";
4
4
  export function walk(v, fn) {
5
5
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"walk.js","sourceRoot":"","sources":["../../src/walk.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { isDefined } from \"@azure/core-util\";\n\nexport function walk(v: unknown, fn: <T>(val: T) => unknown): unknown {\n const seen = new Set();\n const mutated = new Map();\n deepLazyApply(v);\n for (const value of mutated.values()) {\n replaceChildren(value);\n }\n return mutated.get(v) ?? v;\n\n function deepLazyApply(value: unknown): void {\n if (seen.has(value)) {\n return;\n }\n seen.add(value);\n\n const children = getChildren(cachedApply(value) ?? value);\n children?.forEach(deepLazyApply);\n if (children?.some((node) => mutated.has(node))) {\n mutated.set(value, mutated.get(value) ?? shallowCopy(value));\n }\n }\n\n function cachedApply(value: unknown): unknown | undefined {\n const cached = mutated.get(value);\n if (isDefined(cached)) {\n return cached;\n }\n const applied = fn(value);\n if (value !== applied) {\n mutated.set(value, applied);\n }\n return mutated.get(value);\n }\n\n function replaceChildren(applied: unknown): void {\n if (!isComplex(applied)) {\n return;\n } else if (Array.isArray(applied)) {\n applied.forEach((e, i) => {\n applied[i] = mutated.get(e) ?? e;\n });\n } else if (typeof applied === \"object\" && applied !== null) {\n Object.keys(applied).forEach((key) => {\n (applied as any)[key] = mutated.get((applied as any)[key]) ?? (applied as any)[key];\n });\n }\n }\n}\n\n/**\n * Array inputs SHOULD not have both complex and non-complex elements. This function determines\n * whether an array is complex based solely on the first element.\n */\nfunction isComplex(v: unknown): v is object {\n return Array.isArray(v) ? isComplex(v[0]) : typeof v === \"object\" && v !== null;\n}\n\nfunction getChildren(v: unknown): unknown[] | undefined {\n if (!isComplex(v)) {\n return;\n }\n\n if (Array.isArray(v)) {\n return v;\n }\n\n return Object.values(v);\n}\n\nfunction shallowCopy(value: unknown): unknown {\n const maybeCopy = Array.isArray(value)\n ? value.map((v) => v)\n : typeof value === \"object\" && value !== null\n ? { ...value }\n : value;\n\n return value === maybeCopy\n ? value\n : Object.setPrototypeOf(maybeCopy, Object.getPrototypeOf(value));\n}\n"]}
1
+ {"version":3,"file":"walk.js","sourceRoot":"","sources":["../../src/walk.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { isDefined } from \"@azure/core-util\";\n\nexport function walk(v: unknown, fn: <T>(val: T) => unknown): unknown {\n const seen = new Set();\n const mutated = new Map();\n deepLazyApply(v);\n for (const value of mutated.values()) {\n replaceChildren(value);\n }\n return mutated.get(v) ?? v;\n\n function deepLazyApply(value: unknown): void {\n if (seen.has(value)) {\n return;\n }\n seen.add(value);\n\n const children = getChildren(cachedApply(value) ?? value);\n children?.forEach(deepLazyApply);\n if (children?.some((node) => mutated.has(node))) {\n mutated.set(value, mutated.get(value) ?? shallowCopy(value));\n }\n }\n\n function cachedApply(value: unknown): unknown | undefined {\n const cached = mutated.get(value);\n if (isDefined(cached)) {\n return cached;\n }\n const applied = fn(value);\n if (value !== applied) {\n mutated.set(value, applied);\n }\n return mutated.get(value);\n }\n\n function replaceChildren(applied: unknown): void {\n if (!isComplex(applied)) {\n return;\n } else if (Array.isArray(applied)) {\n applied.forEach((e, i) => {\n applied[i] = mutated.get(e) ?? e;\n });\n } else if (typeof applied === \"object\" && applied !== null) {\n Object.keys(applied).forEach((key) => {\n (applied as any)[key] = mutated.get((applied as any)[key]) ?? (applied as any)[key];\n });\n }\n }\n}\n\n/**\n * Array inputs SHOULD not have both complex and non-complex elements. This function determines\n * whether an array is complex based solely on the first element.\n */\nfunction isComplex(v: unknown): v is object {\n return Array.isArray(v) ? isComplex(v[0]) : typeof v === \"object\" && v !== null;\n}\n\nfunction getChildren(v: unknown): unknown[] | undefined {\n if (!isComplex(v)) {\n return;\n }\n\n if (Array.isArray(v)) {\n return v;\n }\n\n return Object.values(v);\n}\n\nfunction shallowCopy(value: unknown): unknown {\n const maybeCopy = Array.isArray(value)\n ? value.map((v) => v)\n : typeof value === \"object\" && value !== null\n ? { ...value }\n : value;\n\n return value === maybeCopy\n ? value\n : Object.setPrototypeOf(maybeCopy, Object.getPrototypeOf(value));\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure/search-documents",
3
- "version": "12.1.0",
3
+ "version": "12.2.0-beta.1",
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",
@@ -23,8 +23,8 @@
23
23
  "integration-test": "npm run integration-test:node && npm run integration-test:browser",
24
24
  "integration-test:browser": "dev-tool run test:browser",
25
25
  "integration-test:node": "dev-tool run test:node-js-input -- --timeout 5000000 'dist-esm/test/**/*.spec.js'",
26
- "lint": "eslint package.json api-extractor.json src test samples-dev --ext .ts",
27
- "lint:fix": "eslint package.json api-extractor.json src test samples-dev --ext .ts --fix --fix-type [problem,suggestion]",
26
+ "lint": "eslint package.json api-extractor.json src test samples-dev",
27
+ "lint:fix": "eslint package.json api-extractor.json src test samples-dev --fix --fix-type [problem,suggestion]",
28
28
  "pack": "npm pack 2>&1",
29
29
  "test": "npm run build:test && npm run unit-test",
30
30
  "test:browser": "npm run build:test && npm run unit-test:browser",
@@ -81,7 +81,7 @@
81
81
  "engines": {
82
82
  "node": ">=18.0.0"
83
83
  },
84
- "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents/",
84
+ "homepage": "https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/search/search-documents",
85
85
  "sideEffects": false,
86
86
  "dependencies": {
87
87
  "@azure/core-auth": "^1.3.0",
@@ -102,7 +102,7 @@
102
102
  "@azure/dev-tool": "^1.0.0",
103
103
  "@azure/eslint-plugin-azure-sdk": "^3.0.0",
104
104
  "@azure/identity": "^4.0.1",
105
- "@azure/openai": "1.0.0-beta.13",
105
+ "@azure/openai": "1.0.0-beta.12",
106
106
  "@microsoft/api-extractor": "^7.31.1",
107
107
  "@types/chai": "^4.1.6",
108
108
  "@types/mocha": "^10.0.0",
@@ -111,7 +111,7 @@
111
111
  "chai": "^4.2.0",
112
112
  "cross-env": "^7.0.2",
113
113
  "dotenv": "^16.0.0",
114
- "eslint": "^8.0.0",
114
+ "eslint": "^9.9.0",
115
115
  "inherits": "^2.0.3",
116
116
  "karma-chrome-launcher": "^3.0.0",
117
117
  "karma-coverage": "^2.0.0",