Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion eng/versioning/version_client.txt
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ com.azure:azure-openrewrite;1.0.0-beta.1;1.0.0-beta.1
com.azure:azure-perf-test-parent;1.0.0-beta.1;1.0.0-beta.1
com.azure:azure-analytics-planetarycomputer;1.0.0-beta.1;1.0.0-beta.1
com.azure:azure-quantum-jobs;1.0.0-beta.1;1.0.0-beta.2
com.azure:azure-search-documents;11.8.1;12.0.0
com.azure:azure-search-documents;11.8.1;12.1.0
com.azure:azure-search-perf;1.0.0-beta.1;1.0.0-beta.1
com.azure:azure-security-attestation;1.1.38;1.2.0-beta.1
com.azure:azure-security-confidentialledger;1.0.34;1.1.0-beta.2
Expand Down
12 changes: 12 additions & 0 deletions sdk/search/azure-search-documents/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,17 @@
# Release History

## 12.1.0 (Unreleased)

### Features Added
- Added discriminator deserialization support for `KnowledgeBaseSearchIndexActivityRecord`, `KnowledgeBaseAzureBlobActivityRecord`, `KnowledgeBaseIndexedOneLakeActivityRecord`, and `KnowledgeBaseWebActivityRecord` subtypes in `KnowledgeBaseActivityRecord`

### Breaking Changes

### Bugs Fixed

### Other Changes
- Removed unused internal `DebugInfo` model

## 12.0.0 (2026-04-10)

### Features Added
Expand Down
2 changes: 1 addition & 1 deletion sdk/search/azure-search-documents/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ add the direct dependency to your project as follows.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-search-documents</artifactId>
<version>11.8.0</version>
<version>12.1.0</version>
</dependency>
```
[//]: # ({x-version-update-end})
Expand Down
2 changes: 1 addition & 1 deletion sdk/search/azure-search-documents/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

<groupId>com.azure</groupId>
<artifactId>azure-search-documents</artifactId>
<version>12.0.0</version> <!-- {x-version-update;com.azure:azure-search-documents;current} -->
<version>12.1.0</version> <!-- {x-version-update;com.azure:azure-search-documents;current} -->
<packaging>jar</packaging>

<properties>
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,15 @@ public static KnowledgeBaseActivityRecord fromJson(JsonReader jsonReader) throws
}
}
// Use the discriminator value to determine which subtype should be deserialized.
if ("modelWebSummarization".equals(discriminatorValue)) {
if ("searchIndex".equals(discriminatorValue)) {
return KnowledgeBaseSearchIndexActivityRecord.fromJson(readerToUse.reset());
} else if ("azureBlob".equals(discriminatorValue)) {
return KnowledgeBaseAzureBlobActivityRecord.fromJson(readerToUse.reset());
} else if ("indexedOneLake".equals(discriminatorValue)) {
return KnowledgeBaseIndexedOneLakeActivityRecord.fromJson(readerToUse.reset());
} else if ("web".equals(discriminatorValue)) {
return KnowledgeBaseWebActivityRecord.fromJson(readerToUse.reset());
} else if ("modelWebSummarization".equals(discriminatorValue)) {
return KnowledgeBaseModelWebSummarizationActivityRecord.fromJson(readerToUse.reset());
} else if ("agenticReasoning".equals(discriminatorValue)) {
return KnowledgeBaseAgenticReasoningActivityRecord.fromJson(readerToUse.reset());
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) TypeSpec Code Generator.
package com.azure.search.documents.knowledgebases.models;

import com.azure.core.annotation.Generated;
import com.azure.core.annotation.Immutable;
import com.azure.json.JsonReader;
import com.azure.json.JsonSerializable;
import com.azure.json.JsonToken;
import com.azure.json.JsonWriter;
import java.io.IOException;

/**
* Represents the arguments the azure blob retrieval activity was run with.
*/
@Immutable
public final class KnowledgeBaseAzureBlobActivityArguments
implements JsonSerializable<KnowledgeBaseAzureBlobActivityArguments> {

/*
* The search string used to query blob contents.
*/
@Generated
private String search;

/**
* Creates an instance of KnowledgeBaseAzureBlobActivityArguments class.
*/
@Generated
private KnowledgeBaseAzureBlobActivityArguments() {
}

/**
* Get the search property: The search string used to query blob contents.
*
* @return the search value.
*/
@Generated
public String getSearch() {
return this.search;
}

/**
* {@inheritDoc}
*/
@Generated
@Override
public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
jsonWriter.writeStartObject();
jsonWriter.writeStringField("search", this.search);
return jsonWriter.writeEndObject();
}

/**
* Reads an instance of KnowledgeBaseAzureBlobActivityArguments from the JsonReader.
*
* @param jsonReader The JsonReader being read.
* @return An instance of KnowledgeBaseAzureBlobActivityArguments if the JsonReader was pointing to an instance of
* it, or null if it was pointing to JSON null.
* @throws IOException If an error occurs while reading the KnowledgeBaseAzureBlobActivityArguments.
*/
@Generated
public static KnowledgeBaseAzureBlobActivityArguments fromJson(JsonReader jsonReader) throws IOException {
return jsonReader.readObject(reader -> {
KnowledgeBaseAzureBlobActivityArguments deserializedKnowledgeBaseAzureBlobActivityArguments
= new KnowledgeBaseAzureBlobActivityArguments();
while (reader.nextToken() != JsonToken.END_OBJECT) {
String fieldName = reader.getFieldName();
reader.nextToken();
if ("search".equals(fieldName)) {
deserializedKnowledgeBaseAzureBlobActivityArguments.search = reader.getString();
} else {
reader.skipChildren();
}
}
return deserializedKnowledgeBaseAzureBlobActivityArguments;
});
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,189 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) TypeSpec Code Generator.
package com.azure.search.documents.knowledgebases.models;

import com.azure.core.annotation.Generated;
import com.azure.core.annotation.Immutable;
import com.azure.core.util.CoreUtils;
import com.azure.json.JsonReader;
import com.azure.json.JsonToken;
import com.azure.json.JsonWriter;
import java.io.IOException;
import java.time.OffsetDateTime;
import java.time.format.DateTimeFormatter;

/**
* Represents a azure blob retrieval activity record.
*/
@Immutable
public final class KnowledgeBaseAzureBlobActivityRecord extends KnowledgeBaseActivityRecord {

/*
* The type of the activity record.
*/
@Generated
private KnowledgeBaseActivityRecordType type = KnowledgeBaseActivityRecordType.AZURE_BLOB;

/*
* The knowledge source for the retrieval activity.
*/
@Generated
private String knowledgeSourceName;

/*
* The query time for this retrieval activity.
*/
@Generated
private OffsetDateTime queryTime;

/*
* The count of documents retrieved that were sufficiently relevant to pass the reranker threshold.
*/
@Generated
private Integer count;

/*
* The azure blob arguments for the retrieval activity.
*/
@Generated
private KnowledgeBaseAzureBlobActivityArguments azureBlobArguments;

/**
* Creates an instance of KnowledgeBaseAzureBlobActivityRecord class.
*
* @param id the id value to set.
*/
@Generated
private KnowledgeBaseAzureBlobActivityRecord(int id) {
super(id);
}

/**
* Get the type property: The type of the activity record.
*
* @return the type value.
*/
@Generated
@Override
public KnowledgeBaseActivityRecordType getType() {
return this.type;
}

/**
* Get the knowledgeSourceName property: The knowledge source for the retrieval activity.
*
* @return the knowledgeSourceName value.
*/
@Generated
public String getKnowledgeSourceName() {
return this.knowledgeSourceName;
}

/**
* Get the queryTime property: The query time for this retrieval activity.
*
* @return the queryTime value.
*/
@Generated
public OffsetDateTime getQueryTime() {
return this.queryTime;
}

/**
* Get the count property: The count of documents retrieved that were sufficiently relevant to pass the reranker
* threshold.
*
* @return the count value.
*/
@Generated
public Integer getCount() {
return this.count;
}

/**
* Get the azureBlobArguments property: The azure blob arguments for the retrieval activity.
*
* @return the azureBlobArguments value.
*/
@Generated
public KnowledgeBaseAzureBlobActivityArguments getAzureBlobArguments() {
return this.azureBlobArguments;
}

/**
* {@inheritDoc}
*/
@Generated
@Override
public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
jsonWriter.writeStartObject();
jsonWriter.writeIntField("id", getId());
jsonWriter.writeNumberField("elapsedMs", getElapsedMs());
jsonWriter.writeJsonField("error", getError());
jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString());
jsonWriter.writeStringField("knowledgeSourceName", this.knowledgeSourceName);
jsonWriter.writeStringField("queryTime",
this.queryTime == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.queryTime));
jsonWriter.writeNumberField("count", this.count);
jsonWriter.writeJsonField("azureBlobArguments", this.azureBlobArguments);
return jsonWriter.writeEndObject();
}

/**
* Reads an instance of KnowledgeBaseAzureBlobActivityRecord from the JsonReader.
*
* @param jsonReader The JsonReader being read.
* @return An instance of KnowledgeBaseAzureBlobActivityRecord if the JsonReader was pointing to an instance of it,
* or null if it was pointing to JSON null.
* @throws IllegalStateException If the deserialized JSON object was missing any required properties.
* @throws IOException If an error occurs while reading the KnowledgeBaseAzureBlobActivityRecord.
*/
@Generated
public static KnowledgeBaseAzureBlobActivityRecord fromJson(JsonReader jsonReader) throws IOException {
return jsonReader.readObject(reader -> {
int id = 0;
Integer elapsedMs = null;
KnowledgeBaseErrorDetail error = null;
KnowledgeBaseActivityRecordType type = KnowledgeBaseActivityRecordType.AZURE_BLOB;
String knowledgeSourceName = null;
OffsetDateTime queryTime = null;
Integer count = null;
KnowledgeBaseAzureBlobActivityArguments azureBlobArguments = null;
while (reader.nextToken() != JsonToken.END_OBJECT) {
String fieldName = reader.getFieldName();
reader.nextToken();
if ("id".equals(fieldName)) {
id = reader.getInt();
} else if ("elapsedMs".equals(fieldName)) {
elapsedMs = reader.getNullable(JsonReader::getInt);
} else if ("error".equals(fieldName)) {
error = KnowledgeBaseErrorDetail.fromJson(reader);
} else if ("type".equals(fieldName)) {
type = KnowledgeBaseActivityRecordType.fromString(reader.getString());
} else if ("knowledgeSourceName".equals(fieldName)) {
knowledgeSourceName = reader.getString();
} else if ("queryTime".equals(fieldName)) {
queryTime = reader
.getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
} else if ("count".equals(fieldName)) {
count = reader.getNullable(JsonReader::getInt);
} else if ("azureBlobArguments".equals(fieldName)) {
azureBlobArguments = KnowledgeBaseAzureBlobActivityArguments.fromJson(reader);
} else {
reader.skipChildren();
}
}
KnowledgeBaseAzureBlobActivityRecord deserializedKnowledgeBaseAzureBlobActivityRecord
= new KnowledgeBaseAzureBlobActivityRecord(id);
deserializedKnowledgeBaseAzureBlobActivityRecord.setElapsedMs(elapsedMs);
deserializedKnowledgeBaseAzureBlobActivityRecord.setError(error);
deserializedKnowledgeBaseAzureBlobActivityRecord.type = type;
deserializedKnowledgeBaseAzureBlobActivityRecord.knowledgeSourceName = knowledgeSourceName;
deserializedKnowledgeBaseAzureBlobActivityRecord.queryTime = queryTime;
deserializedKnowledgeBaseAzureBlobActivityRecord.count = count;
deserializedKnowledgeBaseAzureBlobActivityRecord.azureBlobArguments = azureBlobArguments;
return deserializedKnowledgeBaseAzureBlobActivityRecord;
});
}
}
Loading
Loading