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

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 (35) hide show
  1. package/README.md +56 -15
  2. package/dist/index.js +601 -139
  3. package/dist/index.js.map +1 -1
  4. package/dist-esm/src/constants.js +1 -1
  5. package/dist-esm/src/constants.js.map +1 -1
  6. package/dist-esm/src/generated/data/models/index.js +50 -6
  7. package/dist-esm/src/generated/data/models/index.js.map +1 -1
  8. package/dist-esm/src/generated/data/models/mappers.js +207 -0
  9. package/dist-esm/src/generated/data/models/mappers.js.map +1 -1
  10. package/dist-esm/src/generated/data/models/parameters.js +30 -0
  11. package/dist-esm/src/generated/data/models/parameters.js.map +1 -1
  12. package/dist-esm/src/generated/data/operations/documents.js +3 -0
  13. package/dist-esm/src/generated/data/operations/documents.js.map +1 -1
  14. package/dist-esm/src/generated/data/searchClient.js +1 -1
  15. package/dist-esm/src/generated/data/searchClient.js.map +1 -1
  16. package/dist-esm/src/generated/service/models/index.js +15 -14
  17. package/dist-esm/src/generated/service/models/index.js.map +1 -1
  18. package/dist-esm/src/generated/service/models/mappers.js +190 -7
  19. package/dist-esm/src/generated/service/models/mappers.js.map +1 -1
  20. package/dist-esm/src/generated/service/searchServiceClient.js +1 -1
  21. package/dist-esm/src/generated/service/searchServiceClient.js.map +1 -1
  22. package/dist-esm/src/index.js.map +1 -1
  23. package/dist-esm/src/indexModels.js.map +1 -1
  24. package/dist-esm/src/searchClient.js +51 -57
  25. package/dist-esm/src/searchClient.js.map +1 -1
  26. package/dist-esm/src/searchIndexClient.js +5 -16
  27. package/dist-esm/src/searchIndexClient.js.map +1 -1
  28. package/dist-esm/src/searchIndexerClient.js +0 -11
  29. package/dist-esm/src/searchIndexerClient.js.map +1 -1
  30. package/dist-esm/src/searchIndexingBufferedSender.js.map +1 -1
  31. package/dist-esm/src/serviceModels.js.map +1 -1
  32. package/dist-esm/src/serviceUtils.js +40 -26
  33. package/dist-esm/src/serviceUtils.js.map +1 -1
  34. package/package.json +17 -7
  35. package/types/search-documents.d.ts +469 -110
package/dist/index.js CHANGED
@@ -134,6 +134,20 @@ const SearchDocumentsResult = {
134
134
  className: "SearchRequest"
135
135
  }
136
136
  },
137
+ semanticPartialResponseReason: {
138
+ serializedName: "@search\\.semanticPartialResponseReason",
139
+ readOnly: true,
140
+ type: {
141
+ name: "String"
142
+ }
143
+ },
144
+ semanticPartialResponseType: {
145
+ serializedName: "@search\\.semanticPartialResponseType",
146
+ readOnly: true,
147
+ type: {
148
+ name: "String"
149
+ }
150
+ },
137
151
  results: {
138
152
  serializedName: "value",
139
153
  required: true,
@@ -316,6 +330,28 @@ const SearchRequest = {
316
330
  name: "String"
317
331
  }
318
332
  },
333
+ semanticErrorHandling: {
334
+ serializedName: "semanticErrorHandling",
335
+ type: {
336
+ name: "String"
337
+ }
338
+ },
339
+ semanticMaxWaitInMilliseconds: {
340
+ constraints: {
341
+ InclusiveMinimum: 700
342
+ },
343
+ serializedName: "semanticMaxWaitInMilliseconds",
344
+ nullable: true,
345
+ type: {
346
+ name: "Number"
347
+ }
348
+ },
349
+ debug: {
350
+ serializedName: "debug",
351
+ type: {
352
+ name: "String"
353
+ }
354
+ },
319
355
  searchText: {
320
356
  serializedName: "search",
321
357
  type: {
@@ -382,6 +418,49 @@ const SearchRequest = {
382
418
  type: {
383
419
  name: "String"
384
420
  }
421
+ },
422
+ vectors: {
423
+ serializedName: "vectors",
424
+ type: {
425
+ name: "Sequence",
426
+ element: {
427
+ type: {
428
+ name: "Composite",
429
+ className: "Vector"
430
+ }
431
+ }
432
+ }
433
+ }
434
+ }
435
+ }
436
+ };
437
+ const Vector = {
438
+ type: {
439
+ name: "Composite",
440
+ className: "Vector",
441
+ modelProperties: {
442
+ value: {
443
+ serializedName: "value",
444
+ type: {
445
+ name: "Sequence",
446
+ element: {
447
+ type: {
448
+ name: "Number"
449
+ }
450
+ }
451
+ }
452
+ },
453
+ kNearestNeighborsCount: {
454
+ serializedName: "k",
455
+ type: {
456
+ name: "Number"
457
+ }
458
+ },
459
+ fields: {
460
+ serializedName: "fields",
461
+ type: {
462
+ name: "String"
463
+ }
385
464
  }
386
465
  }
387
466
  }
@@ -431,6 +510,20 @@ const SearchResult = {
431
510
  }
432
511
  }
433
512
  }
513
+ },
514
+ documentDebugInfo: {
515
+ serializedName: "@search\\.documentDebugInfo",
516
+ readOnly: true,
517
+ nullable: true,
518
+ type: {
519
+ name: "Sequence",
520
+ element: {
521
+ type: {
522
+ name: "Composite",
523
+ className: "DocumentDebugInfo"
524
+ }
525
+ }
526
+ }
434
527
  }
435
528
  }
436
529
  }
@@ -459,6 +552,120 @@ const CaptionResult = {
459
552
  }
460
553
  }
461
554
  };
555
+ const DocumentDebugInfo = {
556
+ type: {
557
+ name: "Composite",
558
+ className: "DocumentDebugInfo",
559
+ modelProperties: {
560
+ semantic: {
561
+ serializedName: "semantic",
562
+ type: {
563
+ name: "Composite",
564
+ className: "SemanticDebugInfo"
565
+ }
566
+ }
567
+ }
568
+ }
569
+ };
570
+ const SemanticDebugInfo = {
571
+ type: {
572
+ name: "Composite",
573
+ className: "SemanticDebugInfo",
574
+ modelProperties: {
575
+ titleField: {
576
+ serializedName: "titleField",
577
+ type: {
578
+ name: "Composite",
579
+ className: "QueryResultDocumentSemanticField"
580
+ }
581
+ },
582
+ contentFields: {
583
+ serializedName: "contentFields",
584
+ readOnly: true,
585
+ type: {
586
+ name: "Sequence",
587
+ element: {
588
+ type: {
589
+ name: "Composite",
590
+ className: "QueryResultDocumentSemanticField"
591
+ }
592
+ }
593
+ }
594
+ },
595
+ keywordFields: {
596
+ serializedName: "keywordFields",
597
+ readOnly: true,
598
+ type: {
599
+ name: "Sequence",
600
+ element: {
601
+ type: {
602
+ name: "Composite",
603
+ className: "QueryResultDocumentSemanticField"
604
+ }
605
+ }
606
+ }
607
+ },
608
+ rerankerInput: {
609
+ serializedName: "rerankerInput",
610
+ type: {
611
+ name: "Composite",
612
+ className: "QueryResultDocumentRerankerInput"
613
+ }
614
+ }
615
+ }
616
+ }
617
+ };
618
+ const QueryResultDocumentSemanticField = {
619
+ type: {
620
+ name: "Composite",
621
+ className: "QueryResultDocumentSemanticField",
622
+ modelProperties: {
623
+ name: {
624
+ serializedName: "name",
625
+ readOnly: true,
626
+ type: {
627
+ name: "String"
628
+ }
629
+ },
630
+ state: {
631
+ serializedName: "state",
632
+ readOnly: true,
633
+ type: {
634
+ name: "String"
635
+ }
636
+ }
637
+ }
638
+ }
639
+ };
640
+ const QueryResultDocumentRerankerInput = {
641
+ type: {
642
+ name: "Composite",
643
+ className: "QueryResultDocumentRerankerInput",
644
+ modelProperties: {
645
+ title: {
646
+ serializedName: "title",
647
+ readOnly: true,
648
+ type: {
649
+ name: "String"
650
+ }
651
+ },
652
+ content: {
653
+ serializedName: "content",
654
+ readOnly: true,
655
+ type: {
656
+ name: "String"
657
+ }
658
+ },
659
+ keywords: {
660
+ serializedName: "keywords",
661
+ readOnly: true,
662
+ type: {
663
+ name: "String"
664
+ }
665
+ }
666
+ }
667
+ }
668
+ };
462
669
  const SuggestDocumentsResult = {
463
670
  type: {
464
671
  name: "Composite",
@@ -812,8 +1019,13 @@ var Mappers$1 = /*#__PURE__*/Object.freeze({
812
1019
  FacetResult: FacetResult,
813
1020
  AnswerResult: AnswerResult,
814
1021
  SearchRequest: SearchRequest,
1022
+ Vector: Vector,
815
1023
  SearchResult: SearchResult,
816
1024
  CaptionResult: CaptionResult,
1025
+ DocumentDebugInfo: DocumentDebugInfo,
1026
+ SemanticDebugInfo: SemanticDebugInfo,
1027
+ QueryResultDocumentSemanticField: QueryResultDocumentSemanticField,
1028
+ QueryResultDocumentRerankerInput: QueryResultDocumentRerankerInput,
817
1029
  SuggestDocumentsResult: SuggestDocumentsResult,
818
1030
  SuggestResult: SuggestResult,
819
1031
  SuggestRequest: SuggestRequest,
@@ -1017,6 +1229,36 @@ const semanticConfiguration = {
1017
1229
  }
1018
1230
  }
1019
1231
  };
1232
+ const semanticErrorHandling = {
1233
+ parameterPath: ["options", "searchOptions", "semanticErrorHandling"],
1234
+ mapper: {
1235
+ serializedName: "semanticErrorHandling",
1236
+ type: {
1237
+ name: "String"
1238
+ }
1239
+ }
1240
+ };
1241
+ const semanticMaxWaitInMilliseconds = {
1242
+ parameterPath: ["options", "searchOptions", "semanticMaxWaitInMilliseconds"],
1243
+ mapper: {
1244
+ constraints: {
1245
+ InclusiveMinimum: 700
1246
+ },
1247
+ serializedName: "semanticMaxWaitInMilliseconds",
1248
+ type: {
1249
+ name: "Number"
1250
+ }
1251
+ }
1252
+ };
1253
+ const debug = {
1254
+ parameterPath: ["options", "searchOptions", "debug"],
1255
+ mapper: {
1256
+ serializedName: "debug",
1257
+ type: {
1258
+ name: "String"
1259
+ }
1260
+ }
1261
+ };
1020
1262
  const searchFields = {
1021
1263
  parameterPath: ["options", "searchOptions", "searchFields"],
1022
1264
  mapper: {
@@ -1532,6 +1774,9 @@ const searchGetOperationSpec = {
1532
1774
  scoringParameters,
1533
1775
  scoringProfile,
1534
1776
  semanticConfiguration,
1777
+ semanticErrorHandling,
1778
+ semanticMaxWaitInMilliseconds,
1779
+ debug,
1535
1780
  searchFields,
1536
1781
  queryLanguage,
1537
1782
  speller,
@@ -1734,7 +1979,7 @@ class SearchClient$1 extends coreHttpCompat__namespace.ExtendedServiceClient {
1734
1979
  const defaults = {
1735
1980
  requestContentType: "application/json; charset=utf-8"
1736
1981
  };
1737
- const packageDetails = `azsdk-js-search-documents/12.0.0-beta.1`;
1982
+ const packageDetails = `azsdk-js-search-documents/12.0.0-beta.3`;
1738
1983
  const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix
1739
1984
  ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`
1740
1985
  : `${packageDetails}`;
@@ -1770,10 +2015,6 @@ function createSearchApiKeyCredentialPolicy(credential) {
1770
2015
  };
1771
2016
  }
1772
2017
 
1773
- // Copyright (c) Microsoft Corporation.
1774
- // Licensed under the MIT license.
1775
- const SDK_VERSION = "12.0.0-beta.1";
1776
-
1777
2018
  // Copyright (c) Microsoft Corporation.
1778
2019
  /**
1779
2020
  * The `@azure/logger` configuration for this package.
@@ -2891,15 +3132,16 @@ function convertFieldsToPublic(fields) {
2891
3132
  return fields;
2892
3133
  }
2893
3134
  return fields.map((field) => {
2894
- let result;
2895
3135
  if (field.type === "Collection(Edm.ComplexType)" || field.type === "Edm.ComplexType") {
2896
- return {
3136
+ const result = {
2897
3137
  name: field.name,
2898
3138
  type: field.type,
2899
3139
  fields: convertFieldsToPublic(field.fields),
2900
3140
  };
3141
+ return result;
2901
3142
  }
2902
3143
  else {
3144
+ const type = field.type;
2903
3145
  const analyzerName = field.analyzer;
2904
3146
  const searchAnalyzerName = field.searchAnalyzer;
2905
3147
  const indexAnalyzerName = field.indexAnalyzer;
@@ -2907,14 +3149,15 @@ function convertFieldsToPublic(fields) {
2907
3149
  const normalizerName = field.normalizer;
2908
3150
  const { retrievable } = field, restField = tslib.__rest(field, ["retrievable"]);
2909
3151
  const hidden = typeof retrievable === "boolean" ? !retrievable : retrievable;
2910
- result = Object.assign(Object.assign({}, restField), { hidden,
3152
+ const result = Object.assign(Object.assign({}, restField), { type,
3153
+ hidden,
2911
3154
  analyzerName,
2912
3155
  searchAnalyzerName,
2913
3156
  indexAnalyzerName,
2914
3157
  synonymMapNames,
2915
3158
  normalizerName });
3159
+ return result;
2916
3160
  }
2917
- return result;
2918
3161
  });
2919
3162
  }
2920
3163
  function convertFieldsToGenerated(fields) {
@@ -3036,11 +3279,12 @@ function generatedIndexToPublicIndex(generatedIndex) {
3036
3279
  fields: convertFieldsToPublic(generatedIndex.fields),
3037
3280
  similarity: convertSimilarityToPublic(generatedIndex.similarity),
3038
3281
  semanticSettings: generatedIndex.semanticSettings,
3282
+ vectorSearch: generatedIndex.vectorSearch,
3039
3283
  };
3040
3284
  }
3041
3285
  function generatedSearchResultToPublicSearchResult(results) {
3042
3286
  const returnValues = results.map((result) => {
3043
- const { _score, _highlights, rerankerScore, captions } = result, restProps = tslib.__rest(result, ["_score", "_highlights", "rerankerScore", "captions"]);
3287
+ const { _score, _highlights, rerankerScore, captions, documentDebugInfo } = result, restProps = tslib.__rest(result, ["_score", "_highlights", "rerankerScore", "captions", "documentDebugInfo"]);
3044
3288
  const doc = Object.assign({}, restProps);
3045
3289
  const obj = {
3046
3290
  score: _score,
@@ -3048,6 +3292,7 @@ function generatedSearchResultToPublicSearchResult(results) {
3048
3292
  rerankerScore,
3049
3293
  captions,
3050
3294
  document: doc,
3295
+ documentDebugInfo,
3051
3296
  };
3052
3297
  return obj;
3053
3298
  });
@@ -3070,23 +3315,8 @@ function generatedSuggestDocumentsResultToPublicSuggestDocumentsResult(searchDoc
3070
3315
  return result;
3071
3316
  }
3072
3317
  function publicIndexToGeneratedIndex(index) {
3073
- return {
3074
- name: index.name,
3075
- defaultScoringProfile: index.defaultScoringProfile,
3076
- corsOptions: index.corsOptions,
3077
- suggesters: index.suggesters,
3078
- encryptionKey: convertEncryptionKeyToGenerated(index.encryptionKey),
3079
- etag: index.etag,
3080
- tokenFilters: convertTokenFiltersToGenerated(index.tokenFilters),
3081
- charFilters: index.charFilters,
3082
- normalizers: index.normalizers,
3083
- scoringProfiles: index.scoringProfiles,
3084
- analyzers: convertAnalyzersToGenerated(index.analyzers),
3085
- tokenizers: convertTokenizersToGenerated(index.tokenizers),
3086
- fields: convertFieldsToGenerated(index.fields),
3087
- similarity: convertSimilarityToGenerated(index.similarity),
3088
- semanticSettings: index.semanticSettings,
3089
- };
3318
+ const { encryptionKey, tokenFilters, analyzers, tokenizers, fields, similarity } = index;
3319
+ return Object.assign(Object.assign({}, index), { encryptionKey: convertEncryptionKeyToGenerated(encryptionKey), tokenFilters: convertTokenFiltersToGenerated(tokenFilters), analyzers: convertAnalyzersToGenerated(analyzers), tokenizers: convertTokenizersToGenerated(tokenizers), fields: convertFieldsToGenerated(fields), similarity: convertSimilarityToGenerated(similarity) });
3090
3320
  }
3091
3321
  function generatedSkillsetToPublicSkillset(generatedSkillset) {
3092
3322
  return {
@@ -3094,7 +3324,7 @@ function generatedSkillsetToPublicSkillset(generatedSkillset) {
3094
3324
  description: generatedSkillset.description,
3095
3325
  skills: convertSkillsToPublic(generatedSkillset.skills),
3096
3326
  cognitiveServicesAccount: convertCognitiveServicesAccountToPublic(generatedSkillset.cognitiveServicesAccount),
3097
- knowledgeStore: generatedSkillset.knowledgeStore,
3327
+ knowledgeStore: convertKnowledgeStoreToPublic(generatedSkillset.knowledgeStore),
3098
3328
  etag: generatedSkillset.etag,
3099
3329
  encryptionKey: convertEncryptionKeyToPublic(generatedSkillset.encryptionKey),
3100
3330
  };
@@ -3137,7 +3367,12 @@ function publicSearchIndexerToGeneratedSearchIndexer(indexer) {
3137
3367
  return Object.assign(Object.assign({}, indexer), { encryptionKey: convertEncryptionKeyToGenerated(indexer.encryptionKey) });
3138
3368
  }
3139
3369
  function generatedSearchIndexerToPublicSearchIndexer(indexer) {
3140
- return Object.assign(Object.assign({}, indexer), { encryptionKey: convertEncryptionKeyToPublic(indexer.encryptionKey) });
3370
+ return Object.assign(Object.assign({}, indexer), { encryptionKey: convertEncryptionKeyToPublic(indexer.encryptionKey), cache: convertSearchIndexerCacheToPublic(indexer.cache) });
3371
+ }
3372
+ function generatedSearchRequestToPublicSearchRequest(request) {
3373
+ const { semanticErrorHandling, debug, vectors } = request, props = tslib.__rest(request, ["semanticErrorHandling", "debug", "vectors"]);
3374
+ const publicRequest = Object.assign({ semanticErrorHandlingMode: semanticErrorHandling, debugMode: debug, vectors: vectors === null || vectors === void 0 ? void 0 : vectors.map((convertVectorToPublic)).filter((v) => v !== undefined) }, props);
3375
+ return publicRequest;
3141
3376
  }
3142
3377
  function publicDataSourceToGeneratedDataSource(dataSource) {
3143
3378
  return {
@@ -3198,6 +3433,14 @@ function convertDataDeletionDetectionPolicyToPublic(dataDeletionDetectionPolicy)
3198
3433
  }
3199
3434
  return dataDeletionDetectionPolicy;
3200
3435
  }
3436
+ function convertVectorToPublic(vector) {
3437
+ var _a;
3438
+ if (!vector) {
3439
+ return vector;
3440
+ }
3441
+ const fields = (_a = vector.fields) === null || _a === void 0 ? void 0 : _a.split(",");
3442
+ return Object.assign(Object.assign({}, vector), { fields });
3443
+ }
3201
3444
  function getRandomIntegerInclusive(min, max) {
3202
3445
  // Make sure inputs are integers.
3203
3446
  min = Math.ceil(min);
@@ -3216,7 +3459,19 @@ function getRandomIntegerInclusive(min, max) {
3216
3459
  function delay(timeInMs) {
3217
3460
  return new Promise((resolve) => setTimeout(() => resolve(), timeInMs));
3218
3461
  }
3219
- const defaultServiceVersion = "2021-04-30-Preview";
3462
+ const defaultServiceVersion = "2023-07-01-Preview";
3463
+ function convertKnowledgeStoreToPublic(knowledgeStore) {
3464
+ if (!knowledgeStore) {
3465
+ return knowledgeStore;
3466
+ }
3467
+ return Object.assign(Object.assign({}, knowledgeStore), { identity: convertSearchIndexerDataIdentityToPublic(knowledgeStore.identity) });
3468
+ }
3469
+ function convertSearchIndexerCacheToPublic(cache) {
3470
+ if (!cache) {
3471
+ return cache;
3472
+ }
3473
+ return Object.assign(Object.assign({}, cache), { identity: convertSearchIndexerDataIdentityToPublic(cache.identity) });
3474
+ }
3220
3475
 
3221
3476
  // Copyright (c) Microsoft Corporation.
3222
3477
  // Licensed under the MIT license.
@@ -3298,16 +3553,6 @@ class SearchClient {
3298
3553
  this.apiVersion = defaultServiceVersion;
3299
3554
  this.endpoint = endpoint;
3300
3555
  this.indexName = indexName;
3301
- const libInfo = `azsdk-js-search-documents/${SDK_VERSION}`;
3302
- if (!options.userAgentOptions) {
3303
- options.userAgentOptions = {};
3304
- }
3305
- if (options.userAgentOptions.userAgentPrefix) {
3306
- options.userAgentOptions.userAgentPrefix = `${options.userAgentOptions.userAgentPrefix} ${libInfo}`;
3307
- }
3308
- else {
3309
- options.userAgentOptions.userAgentPrefix = libInfo;
3310
- }
3311
3556
  const internalClientPipelineOptions = Object.assign(Object.assign({}, options), {
3312
3557
  loggingOptions: {
3313
3558
  logger: logger.info,
@@ -3374,7 +3619,7 @@ class SearchClient {
3374
3619
  * import {
3375
3620
  * AzureKeyCredential,
3376
3621
  * SearchClient,
3377
- * SelectFields,
3622
+ * SearchFieldArray,
3378
3623
  * } from "@azure/search-documents";
3379
3624
  *
3380
3625
  * type TModel = {
@@ -3388,7 +3633,7 @@ class SearchClient {
3388
3633
  * new AzureKeyCredential("key")
3389
3634
  * );
3390
3635
  *
3391
- * const searchFields: SelectFields<TModel>[] = ["azure/sdk"];
3636
+ * const searchFields: SearchFieldArray<TModel> = ["azure/sdk"];
3392
3637
  *
3393
3638
  * const autocompleteResult = await client.autocomplete(
3394
3639
  * "searchText",
@@ -3398,8 +3643,7 @@ class SearchClient {
3398
3643
  * ```
3399
3644
  */
3400
3645
  async autocomplete(searchText, suggesterName, options = {}) {
3401
- const { operationOptions, restOptions } = this.extractOperationOptions(Object.assign({}, options));
3402
- const { searchFields } = restOptions, nonFieldOptions = tslib.__rest(restOptions, ["searchFields"]);
3646
+ const { searchFields } = options, nonFieldOptions = tslib.__rest(options, ["searchFields"]);
3403
3647
  const fullOptions = Object.assign({ searchText: searchText, suggesterName: suggesterName, searchFields: this.convertSearchFields(searchFields) }, nonFieldOptions);
3404
3648
  if (!fullOptions.searchText) {
3405
3649
  throw new RangeError("searchText must be provided.");
@@ -3407,7 +3651,7 @@ class SearchClient {
3407
3651
  if (!fullOptions.suggesterName) {
3408
3652
  throw new RangeError("suggesterName must be provided.");
3409
3653
  }
3410
- const { span, updatedOptions } = createSpan("SearchClient-autocomplete", operationOptions);
3654
+ const { span, updatedOptions } = createSpan("SearchClient-autocomplete", options);
3411
3655
  try {
3412
3656
  const result = await this.client.documents.autocompletePost(fullOptions, updatedOptions);
3413
3657
  return result;
@@ -3424,22 +3668,16 @@ class SearchClient {
3424
3668
  }
3425
3669
  }
3426
3670
  async searchDocuments(searchText, options = {}, nextPageParameters = {}) {
3427
- const { operationOptions, restOptions } = this.extractOperationOptions(Object.assign({}, options));
3428
- const { select, searchFields, orderBy, semanticFields } = restOptions, nonFieldOptions = tslib.__rest(restOptions, ["select", "searchFields", "orderBy", "semanticFields"]);
3429
- const fullOptions = Object.assign(Object.assign({ searchFields: this.convertSearchFields(searchFields), semanticFields: this.convertSemanticFields(semanticFields), select: this.convertSelect(select) || "*", orderBy: this.convertOrderBy(orderBy) }, nonFieldOptions), nextPageParameters);
3430
- const { span, updatedOptions } = createSpan("SearchClient-searchDocuments", operationOptions);
3671
+ const { searchFields, semanticFields, select, orderBy, includeTotalCount, vectors, answers, semanticErrorHandlingMode, debugMode } = options, restOptions = tslib.__rest(options, ["searchFields", "semanticFields", "select", "orderBy", "includeTotalCount", "vectors", "answers", "semanticErrorHandlingMode", "debugMode"]);
3672
+ const fullOptions = Object.assign(Object.assign(Object.assign({}, restOptions), nextPageParameters), { searchFields: this.convertSearchFields(searchFields), semanticFields: this.convertSemanticFields(semanticFields), select: this.convertSelect(select) || "*", orderBy: this.convertOrderBy(orderBy), includeTotalResultCount: includeTotalCount, vectors: vectors === null || vectors === void 0 ? void 0 : vectors.map(this.convertVector.bind(this)), answers: this.convertAnswers(answers), semanticErrorHandling: semanticErrorHandlingMode, debug: debugMode });
3673
+ const { span, updatedOptions } = createSpan("SearchClient-searchDocuments", options);
3431
3674
  try {
3432
- const result = await this.client.documents.searchPost(Object.assign(Object.assign({}, fullOptions), { includeTotalResultCount: fullOptions.includeTotalCount, searchText: searchText }), updatedOptions);
3433
- const { results, count, coverage, facets, answers, nextLink } = result;
3675
+ const result = await this.client.documents.searchPost(Object.assign(Object.assign({}, fullOptions), { searchText: searchText }), updatedOptions);
3676
+ const { results, nextLink, nextPageParameters: resultNextPageParameters, semanticPartialResponseReason, semanticPartialResponseType } = result, restResult = tslib.__rest(result, ["results", "nextLink", "nextPageParameters", "semanticPartialResponseReason", "semanticPartialResponseType"]);
3434
3677
  const modifiedResults = generatedSearchResultToPublicSearchResult(results);
3435
- const converted = {
3436
- results: modifiedResults,
3437
- count,
3438
- coverage,
3439
- facets,
3440
- answers,
3441
- continuationToken: this.encodeContinuationToken(nextLink, result.nextPageParameters),
3442
- };
3678
+ const converted = Object.assign(Object.assign({}, restResult), { results: modifiedResults, semanticPartialResponseReason: semanticPartialResponseReason, semanticPartialResponseType: semanticPartialResponseType, continuationToken: this.encodeContinuationToken(nextLink, resultNextPageParameters
3679
+ ? generatedSearchRequestToPublicSearchRequest(resultNextPageParameters)
3680
+ : resultNextPageParameters) });
3443
3681
  return deserialize(converted);
3444
3682
  }
3445
3683
  catch (e) {
@@ -3521,7 +3759,7 @@ class SearchClient {
3521
3759
  * import {
3522
3760
  * AzureKeyCredential,
3523
3761
  * SearchClient,
3524
- * SelectFields,
3762
+ * SearchFieldArray,
3525
3763
  * } from "@azure/search-documents";
3526
3764
  *
3527
3765
  * type TModel = {
@@ -3536,7 +3774,7 @@ class SearchClient {
3536
3774
  * );
3537
3775
  *
3538
3776
  * const select = ["azure/sdk"] as const;
3539
- * const searchFields: SelectFields<TModel>[] = ["azure/sdk"];
3777
+ * const searchFields: SearchFieldArray<TModel> = ["azure/sdk"];
3540
3778
  *
3541
3779
  * const searchResult = await client.search("searchText", {
3542
3780
  * select,
@@ -3548,14 +3786,7 @@ class SearchClient {
3548
3786
  const { span, updatedOptions } = createSpan("SearchClient-search", options);
3549
3787
  try {
3550
3788
  const pageResult = await this.searchDocuments(searchText, updatedOptions);
3551
- const { count, coverage, facets, answers } = pageResult;
3552
- return {
3553
- count,
3554
- coverage,
3555
- facets,
3556
- answers,
3557
- results: this.listSearchResults(pageResult, searchText, updatedOptions),
3558
- };
3789
+ return Object.assign(Object.assign({}, pageResult), { results: this.listSearchResults(pageResult, searchText, updatedOptions) });
3559
3790
  }
3560
3791
  catch (e) {
3561
3792
  span.setStatus({
@@ -3579,7 +3810,7 @@ class SearchClient {
3579
3810
  * import {
3580
3811
  * AzureKeyCredential,
3581
3812
  * SearchClient,
3582
- * SelectFields,
3813
+ * SearchFieldArray,
3583
3814
  * } from "@azure/search-documents";
3584
3815
  *
3585
3816
  * type TModel = {
@@ -3594,7 +3825,7 @@ class SearchClient {
3594
3825
  * );
3595
3826
  *
3596
3827
  * const select = ["azure/sdk"] as const;
3597
- * const searchFields: SelectFields<TModel>[] = ["azure/sdk"];
3828
+ * const searchFields: SearchFieldArray<TModel> = ["azure/sdk"];
3598
3829
  *
3599
3830
  * const suggestResult = await client.suggest("searchText", "suggesterName", {
3600
3831
  * select,
@@ -3603,8 +3834,7 @@ class SearchClient {
3603
3834
  * ```
3604
3835
  */
3605
3836
  async suggest(searchText, suggesterName, options = {}) {
3606
- const { operationOptions, restOptions } = this.extractOperationOptions(Object.assign({}, options));
3607
- const { select, searchFields, orderBy } = restOptions, nonFieldOptions = tslib.__rest(restOptions, ["select", "searchFields", "orderBy"]);
3837
+ const { select, searchFields, orderBy } = options, nonFieldOptions = tslib.__rest(options, ["select", "searchFields", "orderBy"]);
3608
3838
  const fullOptions = Object.assign({ searchText: searchText, suggesterName: suggesterName, searchFields: this.convertSearchFields(searchFields), select: this.convertSelect(select), orderBy: this.convertOrderBy(orderBy) }, nonFieldOptions);
3609
3839
  if (!fullOptions.searchText) {
3610
3840
  throw new RangeError("searchText must be provided.");
@@ -3612,7 +3842,7 @@ class SearchClient {
3612
3842
  if (!fullOptions.suggesterName) {
3613
3843
  throw new RangeError("suggesterName must be provided.");
3614
3844
  }
3615
- const { span, updatedOptions } = createSpan("SearchClient-suggest", operationOptions);
3845
+ const { span, updatedOptions } = createSpan("SearchClient-suggest", options);
3616
3846
  try {
3617
3847
  const result = await this.client.documents.suggestPost(fullOptions, updatedOptions);
3618
3848
  const modifiedResult = generatedSuggestDocumentsResultToPublicSuggestDocumentsResult(result);
@@ -3813,24 +4043,18 @@ class SearchClient {
3813
4043
  throw new Error(`Corrupted or invalid continuation token: ${decodedToken}`);
3814
4044
  }
3815
4045
  }
3816
- // eslint-disable-next-line @typescript-eslint/no-shadow
3817
- extractOperationOptions(obj) {
3818
- const { abortSignal, requestOptions, tracingOptions } = obj, restOptions = tslib.__rest(obj, ["abortSignal", "requestOptions", "tracingOptions"]);
3819
- return {
3820
- operationOptions: {
3821
- abortSignal,
3822
- requestOptions,
3823
- tracingOptions,
3824
- },
3825
- restOptions,
3826
- };
3827
- }
3828
4046
  convertSelect(select) {
3829
4047
  if (select) {
3830
4048
  return select.join(",");
3831
4049
  }
3832
4050
  return select;
3833
4051
  }
4052
+ convertVectorFields(fields) {
4053
+ if (fields) {
4054
+ return fields.join(",");
4055
+ }
4056
+ return fields;
4057
+ }
3834
4058
  convertSearchFields(searchFields) {
3835
4059
  if (searchFields) {
3836
4060
  return searchFields.join(",");
@@ -3849,6 +4073,32 @@ class SearchClient {
3849
4073
  }
3850
4074
  return orderBy;
3851
4075
  }
4076
+ convertAnswers(answers) {
4077
+ if (!answers || typeof answers === "string") {
4078
+ return answers;
4079
+ }
4080
+ if (answers.answers === "none") {
4081
+ return answers.answers;
4082
+ }
4083
+ const config = [];
4084
+ const { answers: output, count, threshold } = answers;
4085
+ if (count) {
4086
+ config.push(`count-${count}`);
4087
+ }
4088
+ if (threshold) {
4089
+ config.push(`threshold-${threshold}`);
4090
+ }
4091
+ if (config.length) {
4092
+ return output + `|${config.join(",")}`;
4093
+ }
4094
+ return output;
4095
+ }
4096
+ convertVector(vector) {
4097
+ if (!vector) {
4098
+ return vector;
4099
+ }
4100
+ return Object.assign(Object.assign({}, vector), { fields: this.convertVectorFields(vector === null || vector === void 0 ? void 0 : vector.fields) });
4101
+ }
3852
4102
  }
3853
4103
 
3854
4104
  // Copyright (c) Microsoft Corporation.
@@ -4787,9 +5037,7 @@ const FieldMappingFunction = {
4787
5037
  nullable: true,
4788
5038
  type: {
4789
5039
  name: "Dictionary",
4790
- value: {
4791
- type: { name: "Dictionary", value: { type: { name: "any" } } }
4792
- }
5040
+ value: { type: { name: "any" } }
4793
5041
  }
4794
5042
  }
4795
5043
  }
@@ -4812,6 +5060,13 @@ const SearchIndexerCache = {
4812
5060
  type: {
4813
5061
  name: "Boolean"
4814
5062
  }
5063
+ },
5064
+ identity: {
5065
+ serializedName: "identity",
5066
+ type: {
5067
+ name: "Composite",
5068
+ className: "SearchIndexerDataIdentity"
5069
+ }
4815
5070
  }
4816
5071
  }
4817
5072
  }
@@ -5421,6 +5676,13 @@ const SearchIndexerKnowledgeStore = {
5421
5676
  }
5422
5677
  }
5423
5678
  }
5679
+ },
5680
+ identity: {
5681
+ serializedName: "identity",
5682
+ type: {
5683
+ name: "Composite",
5684
+ className: "SearchIndexerDataIdentity"
5685
+ }
5424
5686
  }
5425
5687
  }
5426
5688
  }
@@ -5762,6 +6024,13 @@ const SearchIndex = {
5762
6024
  className: "SemanticSettings"
5763
6025
  }
5764
6026
  },
6027
+ vectorSearch: {
6028
+ serializedName: "vectorSearch",
6029
+ type: {
6030
+ name: "Composite",
6031
+ className: "VectorSearch"
6032
+ }
6033
+ },
5765
6034
  etag: {
5766
6035
  serializedName: "@odata\\.etag",
5767
6036
  type: {
@@ -5854,6 +6123,24 @@ const SearchField = {
5854
6123
  name: "String"
5855
6124
  }
5856
6125
  },
6126
+ vectorSearchDimensions: {
6127
+ constraints: {
6128
+ InclusiveMaximum: 2048,
6129
+ InclusiveMinimum: 2
6130
+ },
6131
+ serializedName: "dimensions",
6132
+ nullable: true,
6133
+ type: {
6134
+ name: "Number"
6135
+ }
6136
+ },
6137
+ vectorSearchConfiguration: {
6138
+ serializedName: "vectorSearchConfiguration",
6139
+ nullable: true,
6140
+ type: {
6141
+ name: "String"
6142
+ }
6143
+ },
5857
6144
  synonymMaps: {
5858
6145
  serializedName: "synonymMaps",
5859
6146
  type: {
@@ -6206,6 +6493,12 @@ const SemanticSettings = {
6206
6493
  name: "Composite",
6207
6494
  className: "SemanticSettings",
6208
6495
  modelProperties: {
6496
+ defaultConfiguration: {
6497
+ serializedName: "defaultConfiguration",
6498
+ type: {
6499
+ name: "String"
6500
+ }
6501
+ },
6209
6502
  configurations: {
6210
6503
  serializedName: "configurations",
6211
6504
  type: {
@@ -6296,6 +6589,53 @@ const SemanticField = {
6296
6589
  }
6297
6590
  }
6298
6591
  };
6592
+ const VectorSearch = {
6593
+ type: {
6594
+ name: "Composite",
6595
+ className: "VectorSearch",
6596
+ modelProperties: {
6597
+ algorithmConfigurations: {
6598
+ serializedName: "algorithmConfigurations",
6599
+ type: {
6600
+ name: "Sequence",
6601
+ element: {
6602
+ type: {
6603
+ name: "Composite",
6604
+ className: "VectorSearchAlgorithmConfiguration"
6605
+ }
6606
+ }
6607
+ }
6608
+ }
6609
+ }
6610
+ }
6611
+ };
6612
+ const VectorSearchAlgorithmConfiguration = {
6613
+ type: {
6614
+ name: "Composite",
6615
+ className: "VectorSearchAlgorithmConfiguration",
6616
+ uberParent: "VectorSearchAlgorithmConfiguration",
6617
+ polymorphicDiscriminator: {
6618
+ serializedName: "kind",
6619
+ clientName: "kind"
6620
+ },
6621
+ modelProperties: {
6622
+ name: {
6623
+ serializedName: "name",
6624
+ required: true,
6625
+ type: {
6626
+ name: "String"
6627
+ }
6628
+ },
6629
+ kind: {
6630
+ serializedName: "kind",
6631
+ required: true,
6632
+ type: {
6633
+ name: "String"
6634
+ }
6635
+ }
6636
+ }
6637
+ }
6638
+ };
6299
6639
  const ListIndexesResult = {
6300
6640
  type: {
6301
6641
  name: "Composite",
@@ -6338,6 +6678,13 @@ const GetIndexStatisticsResult = {
6338
6678
  type: {
6339
6679
  name: "Number"
6340
6680
  }
6681
+ },
6682
+ vectorIndexSize: {
6683
+ serializedName: "vectorIndexSize",
6684
+ readOnly: true,
6685
+ type: {
6686
+ name: "Number"
6687
+ }
6341
6688
  }
6342
6689
  }
6343
6690
  }
@@ -6595,6 +6942,13 @@ const ServiceCounters = {
6595
6942
  name: "Composite",
6596
6943
  className: "ResourceCounter"
6597
6944
  }
6945
+ },
6946
+ vectorIndexSizeCounter: {
6947
+ serializedName: "vectorIndexSize",
6948
+ type: {
6949
+ name: "Composite",
6950
+ className: "ResourceCounter"
6951
+ }
6598
6952
  }
6599
6953
  }
6600
6954
  }
@@ -6657,6 +7011,57 @@ const ServiceLimits = {
6657
7011
  }
6658
7012
  }
6659
7013
  };
7014
+ const HnswParameters = {
7015
+ type: {
7016
+ name: "Composite",
7017
+ className: "HnswParameters",
7018
+ modelProperties: {
7019
+ m: {
7020
+ defaultValue: 4,
7021
+ constraints: {
7022
+ InclusiveMaximum: 10,
7023
+ InclusiveMinimum: 4
7024
+ },
7025
+ serializedName: "m",
7026
+ nullable: true,
7027
+ type: {
7028
+ name: "Number"
7029
+ }
7030
+ },
7031
+ efConstruction: {
7032
+ defaultValue: 400,
7033
+ constraints: {
7034
+ InclusiveMaximum: 1000,
7035
+ InclusiveMinimum: 100
7036
+ },
7037
+ serializedName: "efConstruction",
7038
+ nullable: true,
7039
+ type: {
7040
+ name: "Number"
7041
+ }
7042
+ },
7043
+ efSearch: {
7044
+ defaultValue: 500,
7045
+ constraints: {
7046
+ InclusiveMaximum: 1000,
7047
+ InclusiveMinimum: 100
7048
+ },
7049
+ serializedName: "efSearch",
7050
+ nullable: true,
7051
+ type: {
7052
+ name: "Number"
7053
+ }
7054
+ },
7055
+ metric: {
7056
+ serializedName: "metric",
7057
+ nullable: true,
7058
+ type: {
7059
+ name: "String"
7060
+ }
7061
+ }
7062
+ }
7063
+ }
7064
+ };
6660
7065
  const DistanceScoringParameters = {
6661
7066
  type: {
6662
7067
  name: "Composite",
@@ -7440,9 +7845,7 @@ const DocumentExtractionSkill = {
7440
7845
  nullable: true,
7441
7846
  type: {
7442
7847
  name: "Dictionary",
7443
- value: {
7444
- type: { name: "Dictionary", value: { type: { name: "any" } } }
7445
- }
7848
+ value: { type: { name: "any" } }
7446
7849
  }
7447
7850
  } })
7448
7851
  }
@@ -7488,6 +7891,18 @@ const WebApiSkill = {
7488
7891
  type: {
7489
7892
  name: "Number"
7490
7893
  }
7894
+ }, authResourceId: {
7895
+ serializedName: "authResourceId",
7896
+ nullable: true,
7897
+ type: {
7898
+ name: "String"
7899
+ }
7900
+ }, authIdentity: {
7901
+ serializedName: "authIdentity",
7902
+ type: {
7903
+ name: "Composite",
7904
+ className: "SearchIndexerDataIdentity"
7905
+ }
7491
7906
  } })
7492
7907
  }
7493
7908
  };
@@ -9145,6 +9560,22 @@ const BM25Similarity = {
9145
9560
  } })
9146
9561
  }
9147
9562
  };
9563
+ const HnswVectorSearchAlgorithmConfiguration = {
9564
+ serializedName: "hnsw",
9565
+ type: {
9566
+ name: "Composite",
9567
+ className: "HnswVectorSearchAlgorithmConfiguration",
9568
+ uberParent: "VectorSearchAlgorithmConfiguration",
9569
+ polymorphicDiscriminator: VectorSearchAlgorithmConfiguration.type.polymorphicDiscriminator,
9570
+ modelProperties: Object.assign(Object.assign({}, VectorSearchAlgorithmConfiguration.type.modelProperties), { parameters: {
9571
+ serializedName: "hnswParameters",
9572
+ type: {
9573
+ name: "Composite",
9574
+ className: "HnswParameters"
9575
+ }
9576
+ } })
9577
+ }
9578
+ };
9148
9579
  const SearchIndexerKnowledgeStoreObjectProjectionSelector = {
9149
9580
  type: {
9150
9581
  name: "Composite",
@@ -9172,6 +9603,7 @@ let discriminators = {
9172
9603
  CharFilter: CharFilter,
9173
9604
  LexicalNormalizer: LexicalNormalizer,
9174
9605
  Similarity: Similarity,
9606
+ VectorSearchAlgorithmConfiguration: VectorSearchAlgorithmConfiguration,
9175
9607
  "SearchIndexerDataIdentity.#Microsoft.Azure.Search.DataNoneIdentity": SearchIndexerDataNoneIdentity,
9176
9608
  "SearchIndexerDataIdentity.#Microsoft.Azure.Search.DataUserAssignedIdentity": SearchIndexerDataUserAssignedIdentity,
9177
9609
  "DataChangeDetectionPolicy.#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy": HighWaterMarkChangeDetectionPolicy,
@@ -9247,7 +9679,8 @@ let discriminators = {
9247
9679
  "CharFilter.#Microsoft.Azure.Search.PatternReplaceCharFilter": PatternReplaceCharFilter,
9248
9680
  "LexicalNormalizer.#Microsoft.Azure.Search.CustomNormalizer": CustomNormalizer,
9249
9681
  "Similarity.#Microsoft.Azure.Search.ClassicSimilarity": ClassicSimilarity,
9250
- "Similarity.#Microsoft.Azure.Search.BM25Similarity": BM25Similarity
9682
+ "Similarity.#Microsoft.Azure.Search.BM25Similarity": BM25Similarity,
9683
+ "VectorSearchAlgorithmConfiguration.hnsw": HnswVectorSearchAlgorithmConfiguration
9251
9684
  };
9252
9685
 
9253
9686
  var Mappers = /*#__PURE__*/Object.freeze({
@@ -9306,6 +9739,8 @@ var Mappers = /*#__PURE__*/Object.freeze({
9306
9739
  SemanticConfiguration: SemanticConfiguration,
9307
9740
  PrioritizedFields: PrioritizedFields,
9308
9741
  SemanticField: SemanticField,
9742
+ VectorSearch: VectorSearch,
9743
+ VectorSearchAlgorithmConfiguration: VectorSearchAlgorithmConfiguration,
9309
9744
  ListIndexesResult: ListIndexesResult,
9310
9745
  GetIndexStatisticsResult: GetIndexStatisticsResult,
9311
9746
  AnalyzeRequest: AnalyzeRequest,
@@ -9317,6 +9752,7 @@ var Mappers = /*#__PURE__*/Object.freeze({
9317
9752
  ServiceCounters: ServiceCounters,
9318
9753
  ResourceCounter: ResourceCounter,
9319
9754
  ServiceLimits: ServiceLimits,
9755
+ HnswParameters: HnswParameters,
9320
9756
  DistanceScoringParameters: DistanceScoringParameters,
9321
9757
  FreshnessScoringParameters: FreshnessScoringParameters,
9322
9758
  MagnitudeScoringParameters: MagnitudeScoringParameters,
@@ -9401,6 +9837,7 @@ var Mappers = /*#__PURE__*/Object.freeze({
9401
9837
  CustomNormalizer: CustomNormalizer,
9402
9838
  ClassicSimilarity: ClassicSimilarity,
9403
9839
  BM25Similarity: BM25Similarity,
9840
+ HnswVectorSearchAlgorithmConfiguration: HnswVectorSearchAlgorithmConfiguration,
9404
9841
  SearchIndexerKnowledgeStoreObjectProjectionSelector: SearchIndexerKnowledgeStoreObjectProjectionSelector,
9405
9842
  SearchIndexerKnowledgeStoreFileProjectionSelector: SearchIndexerKnowledgeStoreFileProjectionSelector,
9406
9843
  discriminators: discriminators
@@ -10776,7 +11213,7 @@ class SearchServiceClient extends coreHttpCompat__namespace.ExtendedServiceClien
10776
11213
  const defaults = {
10777
11214
  requestContentType: "application/json; charset=utf-8"
10778
11215
  };
10779
- const packageDetails = `azsdk-js-search-documents/12.0.0-beta.1`;
11216
+ const packageDetails = `azsdk-js-search-documents/12.0.0-beta.3`;
10780
11217
  const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix
10781
11218
  ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`
10782
11219
  : `${packageDetails}`;
@@ -10858,17 +11295,7 @@ class SearchIndexClient {
10858
11295
  this.endpoint = endpoint;
10859
11296
  this.credential = credential;
10860
11297
  this.options = options;
10861
- const libInfo = `azsdk-js-search-documents/${SDK_VERSION}`;
10862
- if (!options.userAgentOptions) {
10863
- options.userAgentOptions = {};
10864
- }
10865
- if (options.userAgentOptions.userAgentPrefix) {
10866
- options.userAgentOptions.userAgentPrefix = `${options.userAgentOptions.userAgentPrefix} ${libInfo}`;
10867
- }
10868
- else {
10869
- options.userAgentOptions.userAgentPrefix = libInfo;
10870
- }
10871
- const internalClientPipelineOptions = Object.assign(Object.assign({}, options), {
11298
+ const internalClientPipelineOptions = Object.assign(Object.assign({}, this.options), {
10872
11299
  loggingOptions: {
10873
11300
  logger: logger.info,
10874
11301
  additionalAllowedHeaderNames: [
@@ -10882,12 +11309,12 @@ class SearchIndexClient {
10882
11309
  },
10883
11310
  });
10884
11311
  this.serviceVersion =
10885
- (_b = (_a = options.serviceVersion) !== null && _a !== void 0 ? _a : options.apiVersion) !== null && _b !== void 0 ? _b : defaultServiceVersion;
11312
+ (_b = (_a = this.options.serviceVersion) !== null && _a !== void 0 ? _a : this.options.apiVersion) !== null && _b !== void 0 ? _b : defaultServiceVersion;
10886
11313
  this.apiVersion = this.serviceVersion;
10887
11314
  this.client = new SearchServiceClient(this.endpoint, this.serviceVersion, internalClientPipelineOptions);
10888
11315
  if (coreAuth.isTokenCredential(credential)) {
10889
- const scope = options.audience
10890
- ? `${options.audience}/.default`
11316
+ const scope = this.options.audience
11317
+ ? `${this.options.audience}/.default`
10891
11318
  : `${exports.KnownSearchAudience.AzurePublicCloud}/.default`;
10892
11319
  this.client.pipeline.addPolicy(coreRestPipeline.bearerTokenAuthenticationPolicy({ credential, scopes: scope }));
10893
11320
  }
@@ -11478,7 +11905,7 @@ class SearchIndexClient {
11478
11905
  * Retrieves the SearchClient corresponding to this SearchIndexClient
11479
11906
  * @param indexName - Name of the index
11480
11907
  * @param options - SearchClient Options
11481
- * @typeParam Model - An optional type that represents the documents stored in
11908
+ * @typeParam TModel - An optional type that represents the documents stored in
11482
11909
  * the search index. For the best typing experience, all non-key fields should
11483
11910
  * be marked optional and nullable, and the key property should have the
11484
11911
  * non-nullable type `string`.
@@ -11523,16 +11950,6 @@ class SearchIndexerClient {
11523
11950
  */
11524
11951
  this.apiVersion = defaultServiceVersion;
11525
11952
  this.endpoint = endpoint;
11526
- const libInfo = `azsdk-js-search-documents/${SDK_VERSION}`;
11527
- if (!options.userAgentOptions) {
11528
- options.userAgentOptions = {};
11529
- }
11530
- if (options.userAgentOptions.userAgentPrefix) {
11531
- options.userAgentOptions.userAgentPrefix = `${options.userAgentOptions.userAgentPrefix} ${libInfo}`;
11532
- }
11533
- else {
11534
- options.userAgentOptions.userAgentPrefix = libInfo;
11535
- }
11536
11953
  const internalClientPipelineOptions = Object.assign(Object.assign({}, options), {
11537
11954
  loggingOptions: {
11538
11955
  logger: logger.info,
@@ -12135,12 +12552,28 @@ function odata(strings, ...values) {
12135
12552
  * Code generated by Microsoft (R) AutoRest Code Generator.
12136
12553
  * Changes may cause incorrect behavior and will be lost if the code is regenerated.
12137
12554
  */
12138
- /** Known values of {@link ApiVersion20210430Preview} that the service accepts. */
12139
- var KnownApiVersion20210430Preview$1;
12140
- (function (KnownApiVersion20210430Preview) {
12141
- /** Api Version '2021-04-30-Preview' */
12142
- KnownApiVersion20210430Preview["TwoThousandTwentyOne0430Preview"] = "2021-04-30-Preview";
12143
- })(KnownApiVersion20210430Preview$1 || (KnownApiVersion20210430Preview$1 = {}));
12555
+ /** Known values of {@link ApiVersion20230701Preview} that the service accepts. */
12556
+ var KnownApiVersion20230701Preview$1;
12557
+ (function (KnownApiVersion20230701Preview) {
12558
+ /** Api Version '2023-07-01-Preview' */
12559
+ KnownApiVersion20230701Preview["TwoThousandTwentyThree0701Preview"] = "2023-07-01-Preview";
12560
+ })(KnownApiVersion20230701Preview$1 || (KnownApiVersion20230701Preview$1 = {}));
12561
+ /** Known values of {@link SemanticErrorHandling} that the service accepts. */
12562
+ var KnownSemanticErrorHandling;
12563
+ (function (KnownSemanticErrorHandling) {
12564
+ /** If the semantic processing fails, partial results still return. The definition of partial results depends on what semantic step failed and what was the reason for failure. */
12565
+ KnownSemanticErrorHandling["Partial"] = "partial";
12566
+ /** If there is an exception during the semantic processing step, the query will fail and return the appropriate HTTP code depending on the error. */
12567
+ KnownSemanticErrorHandling["Fail"] = "fail";
12568
+ })(KnownSemanticErrorHandling || (KnownSemanticErrorHandling = {}));
12569
+ /** Known values of {@link QueryDebugMode} that the service accepts. */
12570
+ var KnownQueryDebugMode;
12571
+ (function (KnownQueryDebugMode) {
12572
+ /** No query debugging information will be returned. */
12573
+ KnownQueryDebugMode["Disabled"] = "disabled";
12574
+ /** Allows the user to further explore their Semantic search results. */
12575
+ KnownQueryDebugMode["Semantic"] = "semantic";
12576
+ })(KnownQueryDebugMode || (KnownQueryDebugMode = {}));
12144
12577
  /** Known values of {@link QueryLanguage} that the service accepts. */
12145
12578
  exports.KnownQueryLanguage = void 0;
12146
12579
  (function (KnownQueryLanguage) {
@@ -12337,6 +12770,34 @@ exports.KnownQueryCaptionType = void 0;
12337
12770
  /** Extracts captions from the matching documents that contain passages relevant to the search query. */
12338
12771
  KnownQueryCaptionType["Extractive"] = "extractive";
12339
12772
  })(exports.KnownQueryCaptionType || (exports.KnownQueryCaptionType = {}));
12773
+ /** Known values of {@link SemanticPartialResponseReason} that the service accepts. */
12774
+ var KnownSemanticPartialResponseReason;
12775
+ (function (KnownSemanticPartialResponseReason) {
12776
+ /** If 'semanticMaxWaitInMilliseconds' was set and the semantic processing duration exceeded that value. Only the base results were returned. */
12777
+ KnownSemanticPartialResponseReason["MaxWaitExceeded"] = "maxWaitExceeded";
12778
+ /** The request was throttled. Only the base results were returned. */
12779
+ KnownSemanticPartialResponseReason["CapacityOverloaded"] = "capacityOverloaded";
12780
+ /** At least one step of the semantic process failed. */
12781
+ KnownSemanticPartialResponseReason["Transient"] = "transient";
12782
+ })(KnownSemanticPartialResponseReason || (KnownSemanticPartialResponseReason = {}));
12783
+ /** Known values of {@link SemanticPartialResponseType} that the service accepts. */
12784
+ var KnownSemanticPartialResponseType;
12785
+ (function (KnownSemanticPartialResponseType) {
12786
+ /** Results without any semantic enrichment or reranking. */
12787
+ KnownSemanticPartialResponseType["BaseResults"] = "baseResults";
12788
+ /** Results have been reranked with the reranker model and will include semantic captions. They will not include any answers, answers highlights or caption highlights. */
12789
+ KnownSemanticPartialResponseType["RerankedResults"] = "rerankedResults";
12790
+ })(KnownSemanticPartialResponseType || (KnownSemanticPartialResponseType = {}));
12791
+ /** Known values of {@link SemanticFieldState} that the service accepts. */
12792
+ var KnownSemanticFieldState;
12793
+ (function (KnownSemanticFieldState) {
12794
+ /** The field was fully used for semantic enrichment. */
12795
+ KnownSemanticFieldState["Used"] = "used";
12796
+ /** The field was not used for semantic enrichment. */
12797
+ KnownSemanticFieldState["Unused"] = "unused";
12798
+ /** The field was partially used for semantic enrichment. */
12799
+ KnownSemanticFieldState["Partial"] = "partial";
12800
+ })(KnownSemanticFieldState || (KnownSemanticFieldState = {}));
12340
12801
 
12341
12802
  /*
12342
12803
  * Copyright (c) Microsoft Corporation.
@@ -12345,12 +12806,12 @@ exports.KnownQueryCaptionType = void 0;
12345
12806
  * Code generated by Microsoft (R) AutoRest Code Generator.
12346
12807
  * Changes may cause incorrect behavior and will be lost if the code is regenerated.
12347
12808
  */
12348
- /** Known values of {@link ApiVersion20210430Preview} that the service accepts. */
12349
- var KnownApiVersion20210430Preview;
12350
- (function (KnownApiVersion20210430Preview) {
12351
- /** Api Version '2021-04-30-Preview' */
12352
- KnownApiVersion20210430Preview["TwoThousandTwentyOne0430Preview"] = "2021-04-30-Preview";
12353
- })(KnownApiVersion20210430Preview || (KnownApiVersion20210430Preview = {}));
12809
+ /** Known values of {@link ApiVersion20230701Preview} that the service accepts. */
12810
+ var KnownApiVersion20230701Preview;
12811
+ (function (KnownApiVersion20230701Preview) {
12812
+ /** Api Version '2023-07-01-Preview' */
12813
+ KnownApiVersion20230701Preview["TwoThousandTwentyThree0701Preview"] = "2023-07-01-Preview";
12814
+ })(KnownApiVersion20230701Preview || (KnownApiVersion20230701Preview = {}));
12354
12815
  /** Known values of {@link SearchIndexerDataSourceType} that the service accepts. */
12355
12816
  exports.KnownSearchIndexerDataSourceType = void 0;
12356
12817
  (function (KnownSearchIndexerDataSourceType) {
@@ -12452,14 +12913,8 @@ var KnownSearchFieldDataType;
12452
12913
  KnownSearchFieldDataType["GeographyPoint"] = "Edm.GeographyPoint";
12453
12914
  /** Indicates that a field contains one or more complex objects that in turn have sub-fields of other types. */
12454
12915
  KnownSearchFieldDataType["Complex"] = "Edm.ComplexType";
12455
- KnownSearchFieldDataType["CollectionEdmString"] = "Collection(Edm.String)";
12456
- KnownSearchFieldDataType["CollectionEdmInt32"] = "Collection(Edm.Int32)";
12457
- KnownSearchFieldDataType["CollectionEdmInt64"] = "Collection(Edm.Int64)";
12458
- KnownSearchFieldDataType["CollectionEdmDouble"] = "Collection(Edm.Double)";
12459
- KnownSearchFieldDataType["CollectionEdmBoolean"] = "Collection(Edm.Boolean)";
12460
- KnownSearchFieldDataType["CollectionEdmDateTimeOffset"] = "Collection(Edm.DateTimeOffset)";
12461
- KnownSearchFieldDataType["CollectionEdmGeographyPoint"] = "Collection(Edm.GeographyPoint)";
12462
- KnownSearchFieldDataType["CollectionEdmComplexType"] = "Collection(Edm.ComplexType)";
12916
+ /** Indicates that a field contains a single-precision floating point number. This is only valid when used with Collection(Edm.Single). */
12917
+ KnownSearchFieldDataType["Single"] = "Edm.Single";
12463
12918
  })(KnownSearchFieldDataType || (KnownSearchFieldDataType = {}));
12464
12919
  /** Known values of {@link LexicalAnalyzerName} that the service accepts. */
12465
12920
  exports.KnownLexicalAnalyzerName = void 0;
@@ -12743,6 +13198,13 @@ exports.KnownCharFilterName = void 0;
12743
13198
  /** A character filter that attempts to strip out HTML constructs. See https://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/charfilter/HTMLStripCharFilter.html */
12744
13199
  KnownCharFilterName["HtmlStrip"] = "html_strip";
12745
13200
  })(exports.KnownCharFilterName || (exports.KnownCharFilterName = {}));
13201
+ /** Known values of {@link VectorSearchAlgorithmMetric} that the service accepts. */
13202
+ var KnownVectorSearchAlgorithmMetric;
13203
+ (function (KnownVectorSearchAlgorithmMetric) {
13204
+ KnownVectorSearchAlgorithmMetric["Cosine"] = "cosine";
13205
+ KnownVectorSearchAlgorithmMetric["Euclidean"] = "euclidean";
13206
+ KnownVectorSearchAlgorithmMetric["DotProduct"] = "dotProduct";
13207
+ })(KnownVectorSearchAlgorithmMetric || (KnownVectorSearchAlgorithmMetric = {}));
12746
13208
  /** Known values of {@link KeyPhraseExtractionSkillLanguage} that the service accepts. */
12747
13209
  exports.KnownKeyPhraseExtractionSkillLanguage = void 0;
12748
13210
  (function (KnownKeyPhraseExtractionSkillLanguage) {