getStatus() {
return caller.invoke("session.auth.getStatus", java.util.Map.of("sessionId", this.sessionId), SessionAuthGetStatusResult.class);
}
+ /**
+ * New auth credentials to install on the session. Omit to leave credentials unchanged.
+ *
+ * Note: the {@code sessionId} field in the params record is overridden
+ * by the session-scoped wrapper; any value provided is ignored.
+ *
+ * @apiNote This method is experimental and may change in a future version.
+ * @since 1.0.0
+ */
+ public CompletableFuture setCredentials(SessionAuthSetCredentialsParams params) {
+ com.fasterxml.jackson.databind.node.ObjectNode _p = MAPPER.valueToTree(params);
+ _p.put("sessionId", this.sessionId);
+ return caller.invoke("session.auth.setCredentials", _p, SessionAuthSetCredentialsResult.class);
+ }
+
}
diff --git a/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionAuthSetCredentialsParams.java b/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionAuthSetCredentialsParams.java
new file mode 100644
index 000000000..5e5e6b502
--- /dev/null
+++ b/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionAuthSetCredentialsParams.java
@@ -0,0 +1,29 @@
+/*---------------------------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ *--------------------------------------------------------------------------------------------*/
+
+// AUTO-GENERATED FILE - DO NOT EDIT
+// Generated from: api.schema.json
+
+package com.github.copilot.sdk.generated.rpc;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import javax.annotation.processing.Generated;
+
+/**
+ * New auth credentials to install on the session. Omit to leave credentials unchanged.
+ *
+ * @since 1.0.0
+ */
+@javax.annotation.processing.Generated("copilot-sdk-codegen")
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@JsonIgnoreProperties(ignoreUnknown = true)
+public record SessionAuthSetCredentialsParams(
+ /** Target session identifier */
+ @JsonProperty("sessionId") String sessionId,
+ /** The new auth credentials to install on the session. When omitted or `undefined`, the call is a no-op and the session's existing credentials are preserved. The runtime stores the value verbatim and uses it for outbound model/API requests; it does NOT re-validate or re-fetch the associated Copilot user response. Several variants carry secret material; treat this method's params as containing secrets at rest and in transit. */
+ @JsonProperty("credentials") Object credentials
+) {
+}
diff --git a/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionAuthSetCredentialsResult.java b/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionAuthSetCredentialsResult.java
new file mode 100644
index 000000000..5aef213a4
--- /dev/null
+++ b/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionAuthSetCredentialsResult.java
@@ -0,0 +1,27 @@
+/*---------------------------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ *--------------------------------------------------------------------------------------------*/
+
+// AUTO-GENERATED FILE - DO NOT EDIT
+// Generated from: api.schema.json
+
+package com.github.copilot.sdk.generated.rpc;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import javax.annotation.processing.Generated;
+
+/**
+ * Indicates whether the credential update succeeded.
+ *
+ * @since 1.0.0
+ */
+@javax.annotation.processing.Generated("copilot-sdk-codegen")
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@JsonIgnoreProperties(ignoreUnknown = true)
+public record SessionAuthSetCredentialsResult(
+ /** Whether the operation succeeded */
+ @JsonProperty("success") Boolean success
+) {
+}
diff --git a/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionCommandsApi.java b/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionCommandsApi.java
index df5e6d9f2..7a142ecf9 100644
--- a/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionCommandsApi.java
+++ b/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionCommandsApi.java
@@ -31,6 +31,8 @@ public final class SessionCommandsApi {
/**
* Optional filters controlling which command sources to include in the listing.
+ *
+ * @apiNote This method is experimental and may change in a future version.
* @since 1.0.0
*/
public CompletableFuture list() {
@@ -42,6 +44,8 @@ public CompletableFuture list() {
*
* Note: the {@code sessionId} field in the params record is overridden
* by the session-scoped wrapper; any value provided is ignored.
+ *
+ * @apiNote This method is experimental and may change in a future version.
* @since 1.0.0
*/
public CompletableFuture invoke(SessionCommandsInvokeParams params) {
@@ -55,6 +59,8 @@ public CompletableFuture invoke(SessionCommandsInvokeParams params) {
*
* Note: the {@code sessionId} field in the params record is overridden
* by the session-scoped wrapper; any value provided is ignored.
+ *
+ * @apiNote This method is experimental and may change in a future version.
* @since 1.0.0
*/
public CompletableFuture handlePendingCommand(SessionCommandsHandlePendingCommandParams params) {
@@ -64,10 +70,42 @@ public CompletableFuture handlePendin
}
/**
- * Queued command request ID and the result indicating whether the client handled it.
+ * Slash command name and argument string to execute synchronously.
*
* Note: the {@code sessionId} field in the params record is overridden
* by the session-scoped wrapper; any value provided is ignored.
+ *
+ * @apiNote This method is experimental and may change in a future version.
+ * @since 1.0.0
+ */
+ public CompletableFuture execute(SessionCommandsExecuteParams params) {
+ com.fasterxml.jackson.databind.node.ObjectNode _p = MAPPER.valueToTree(params);
+ _p.put("sessionId", this.sessionId);
+ return caller.invoke("session.commands.execute", _p, SessionCommandsExecuteResult.class);
+ }
+
+ /**
+ * Slash-prefixed command string to enqueue for FIFO processing.
+ *
+ * Note: the {@code sessionId} field in the params record is overridden
+ * by the session-scoped wrapper; any value provided is ignored.
+ *
+ * @apiNote This method is experimental and may change in a future version.
+ * @since 1.0.0
+ */
+ public CompletableFuture enqueue(SessionCommandsEnqueueParams params) {
+ com.fasterxml.jackson.databind.node.ObjectNode _p = MAPPER.valueToTree(params);
+ _p.put("sessionId", this.sessionId);
+ return caller.invoke("session.commands.enqueue", _p, SessionCommandsEnqueueResult.class);
+ }
+
+ /**
+ * Queued-command request ID and the result indicating whether the host executed it (and whether to stop processing further queued commands).
+ *
+ * Note: the {@code sessionId} field in the params record is overridden
+ * by the session-scoped wrapper; any value provided is ignored.
+ *
+ * @apiNote This method is experimental and may change in a future version.
* @since 1.0.0
*/
public CompletableFuture respondToQueuedCommand(SessionCommandsRespondToQueuedCommandParams params) {
diff --git a/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionCommandsEnqueueParams.java b/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionCommandsEnqueueParams.java
new file mode 100644
index 000000000..6ca80d251
--- /dev/null
+++ b/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionCommandsEnqueueParams.java
@@ -0,0 +1,29 @@
+/*---------------------------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ *--------------------------------------------------------------------------------------------*/
+
+// AUTO-GENERATED FILE - DO NOT EDIT
+// Generated from: api.schema.json
+
+package com.github.copilot.sdk.generated.rpc;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import javax.annotation.processing.Generated;
+
+/**
+ * Slash-prefixed command string to enqueue for FIFO processing.
+ *
+ * @since 1.0.0
+ */
+@javax.annotation.processing.Generated("copilot-sdk-codegen")
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@JsonIgnoreProperties(ignoreUnknown = true)
+public record SessionCommandsEnqueueParams(
+ /** Target session identifier */
+ @JsonProperty("sessionId") String sessionId,
+ /** Slash-prefixed command string to enqueue, e.g. '/compact' or '/model gpt-4'. Queued FIFO with any in-flight items; if the session is idle, processing kicks off immediately. */
+ @JsonProperty("command") String command
+) {
+}
diff --git a/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionCommandsEnqueueResult.java b/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionCommandsEnqueueResult.java
new file mode 100644
index 000000000..e968e1df8
--- /dev/null
+++ b/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionCommandsEnqueueResult.java
@@ -0,0 +1,27 @@
+/*---------------------------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ *--------------------------------------------------------------------------------------------*/
+
+// AUTO-GENERATED FILE - DO NOT EDIT
+// Generated from: api.schema.json
+
+package com.github.copilot.sdk.generated.rpc;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import javax.annotation.processing.Generated;
+
+/**
+ * Indicates whether the command was accepted into the local execution queue.
+ *
+ * @since 1.0.0
+ */
+@javax.annotation.processing.Generated("copilot-sdk-codegen")
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@JsonIgnoreProperties(ignoreUnknown = true)
+public record SessionCommandsEnqueueResult(
+ /** True when the command was accepted into the local execution queue. False when the call targets a session that does not support local command queueing (e.g. remote sessions). */
+ @JsonProperty("queued") Boolean queued
+) {
+}
diff --git a/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionCommandsExecuteParams.java b/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionCommandsExecuteParams.java
new file mode 100644
index 000000000..1f1e73acb
--- /dev/null
+++ b/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionCommandsExecuteParams.java
@@ -0,0 +1,31 @@
+/*---------------------------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ *--------------------------------------------------------------------------------------------*/
+
+// AUTO-GENERATED FILE - DO NOT EDIT
+// Generated from: api.schema.json
+
+package com.github.copilot.sdk.generated.rpc;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import javax.annotation.processing.Generated;
+
+/**
+ * Slash command name and argument string to execute synchronously.
+ *
+ * @since 1.0.0
+ */
+@javax.annotation.processing.Generated("copilot-sdk-codegen")
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@JsonIgnoreProperties(ignoreUnknown = true)
+public record SessionCommandsExecuteParams(
+ /** Target session identifier */
+ @JsonProperty("sessionId") String sessionId,
+ /** Name of the slash command to invoke (without the leading '/'). */
+ @JsonProperty("commandName") String commandName,
+ /** Argument string to pass to the command (empty string if none). */
+ @JsonProperty("args") String args
+) {
+}
diff --git a/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionCommandsExecuteResult.java b/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionCommandsExecuteResult.java
new file mode 100644
index 000000000..a03b08c66
--- /dev/null
+++ b/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionCommandsExecuteResult.java
@@ -0,0 +1,27 @@
+/*---------------------------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ *--------------------------------------------------------------------------------------------*/
+
+// AUTO-GENERATED FILE - DO NOT EDIT
+// Generated from: api.schema.json
+
+package com.github.copilot.sdk.generated.rpc;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import javax.annotation.processing.Generated;
+
+/**
+ * Error message produced while executing the command, if any.
+ *
+ * @since 1.0.0
+ */
+@javax.annotation.processing.Generated("copilot-sdk-codegen")
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@JsonIgnoreProperties(ignoreUnknown = true)
+public record SessionCommandsExecuteResult(
+ /** Error message produced while executing the command, if any. Omitted when the handler succeeded. */
+ @JsonProperty("error") String error
+) {
+}
diff --git a/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionCommandsRespondToQueuedCommandParams.java b/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionCommandsRespondToQueuedCommandParams.java
index b5a2e31f2..8eb5d2dbc 100644
--- a/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionCommandsRespondToQueuedCommandParams.java
+++ b/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionCommandsRespondToQueuedCommandParams.java
@@ -13,7 +13,7 @@
import javax.annotation.processing.Generated;
/**
- * Queued command request ID and the result indicating whether the client handled it.
+ * Queued-command request ID and the result indicating whether the host executed it (and whether to stop processing further queued commands).
*
* @since 1.0.0
*/
@@ -23,9 +23,9 @@
public record SessionCommandsRespondToQueuedCommandParams(
/** Target session identifier */
@JsonProperty("sessionId") String sessionId,
- /** Request ID from the queued command event */
+ /** Request ID from the `command.queued` event the host is responding to. */
@JsonProperty("requestId") String requestId,
- /** Result of the queued command execution */
+ /** Result of the queued command execution. */
@JsonProperty("result") Object result
) {
}
diff --git a/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionCommandsRespondToQueuedCommandResult.java b/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionCommandsRespondToQueuedCommandResult.java
index eb05c1d9e..3cf5a6de3 100644
--- a/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionCommandsRespondToQueuedCommandResult.java
+++ b/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionCommandsRespondToQueuedCommandResult.java
@@ -13,7 +13,7 @@
import javax.annotation.processing.Generated;
/**
- * Indicates whether the queued-command response was accepted by the session.
+ * Indicates whether the queued-command response was matched to a pending request.
*
* @since 1.0.0
*/
@@ -21,7 +21,7 @@
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
public record SessionCommandsRespondToQueuedCommandResult(
- /** Whether the response was accepted (false if the requestId was not found or already resolved) */
+ /** Whether a pending queued command with the given request ID was found and resolved. False when the request was already resolved, cancelled, or unknown. */
@JsonProperty("success") Boolean success
) {
}
diff --git a/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionContext.java b/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionContext.java
new file mode 100644
index 000000000..1a8c148bd
--- /dev/null
+++ b/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionContext.java
@@ -0,0 +1,35 @@
+/*---------------------------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ *--------------------------------------------------------------------------------------------*/
+
+// AUTO-GENERATED FILE - DO NOT EDIT
+// Generated from: api.schema.json
+
+package com.github.copilot.sdk.generated.rpc;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import javax.annotation.processing.Generated;
+
+/**
+ * Schema for the `SessionContext` type.
+ *
+ * @since 1.0.0
+ */
+@javax.annotation.processing.Generated("copilot-sdk-codegen")
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@JsonIgnoreProperties(ignoreUnknown = true)
+public record SessionContext(
+ /** Most recent working directory for this session */
+ @JsonProperty("cwd") String cwd,
+ /** Git repository root, if the cwd was inside a git repo */
+ @JsonProperty("gitRoot") String gitRoot,
+ /** Repository slug in `owner/name` form, when known */
+ @JsonProperty("repository") String repository,
+ /** Repository host type */
+ @JsonProperty("hostType") SessionContextHostType hostType,
+ /** Active git branch */
+ @JsonProperty("branch") String branch
+) {
+}
diff --git a/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionContextHostType.java b/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionContextHostType.java
new file mode 100644
index 000000000..db0945e31
--- /dev/null
+++ b/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionContextHostType.java
@@ -0,0 +1,35 @@
+/*---------------------------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ *--------------------------------------------------------------------------------------------*/
+
+// AUTO-GENERATED FILE - DO NOT EDIT
+// Generated from: api.schema.json
+
+package com.github.copilot.sdk.generated.rpc;
+
+import javax.annotation.processing.Generated;
+
+/**
+ * Repository host type
+ *
+ * @since 1.0.0
+ */
+@javax.annotation.processing.Generated("copilot-sdk-codegen")
+public enum SessionContextHostType {
+ /** The {@code github} variant. */
+ GITHUB("github"),
+ /** The {@code ado} variant. */
+ ADO("ado");
+
+ private final String value;
+ SessionContextHostType(String value) { this.value = value; }
+ @com.fasterxml.jackson.annotation.JsonValue
+ public String getValue() { return value; }
+ @com.fasterxml.jackson.annotation.JsonCreator
+ public static SessionContextHostType fromValue(String value) {
+ for (SessionContextHostType v : values()) {
+ if (v.value.equals(value)) return v;
+ }
+ throw new IllegalArgumentException("Unknown SessionContextHostType value: " + value);
+ }
+}
diff --git a/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionEventLogApi.java b/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionEventLogApi.java
new file mode 100644
index 000000000..58351e99a
--- /dev/null
+++ b/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionEventLogApi.java
@@ -0,0 +1,87 @@
+/*---------------------------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ *--------------------------------------------------------------------------------------------*/
+
+// AUTO-GENERATED FILE - DO NOT EDIT
+// Generated from: api.schema.json
+
+package com.github.copilot.sdk.generated.rpc;
+
+import java.util.concurrent.CompletableFuture;
+import javax.annotation.processing.Generated;
+
+/**
+ * API methods for the {@code eventLog} namespace.
+ *
+ * @since 1.0.0
+ */
+@javax.annotation.processing.Generated("copilot-sdk-codegen")
+public final class SessionEventLogApi {
+
+ private static final com.fasterxml.jackson.databind.ObjectMapper MAPPER = RpcMapper.INSTANCE;
+
+ private final RpcCaller caller;
+ private final String sessionId;
+
+ /** @param caller the RPC transport function */
+ SessionEventLogApi(RpcCaller caller, String sessionId) {
+ this.caller = caller;
+ this.sessionId = sessionId;
+ }
+
+ /**
+ * Cursor, batch size, and optional long-poll/filter parameters for reading session events.
+ *
+ * Note: the {@code sessionId} field in the params record is overridden
+ * by the session-scoped wrapper; any value provided is ignored.
+ *
+ * @apiNote This method is experimental and may change in a future version.
+ * @since 1.0.0
+ */
+ public CompletableFuture read(SessionEventLogReadParams params) {
+ com.fasterxml.jackson.databind.node.ObjectNode _p = MAPPER.valueToTree(params);
+ _p.put("sessionId", this.sessionId);
+ return caller.invoke("session.eventLog.read", _p, SessionEventLogReadResult.class);
+ }
+
+ /**
+ * Identifies the target session.
+ *
+ * @apiNote This method is experimental and may change in a future version.
+ * @since 1.0.0
+ */
+ public CompletableFuture tail() {
+ return caller.invoke("session.eventLog.tail", java.util.Map.of("sessionId", this.sessionId), SessionEventLogTailResult.class);
+ }
+
+ /**
+ * Event type to register consumer interest for, used by runtime gating logic.
+ *
+ * Note: the {@code sessionId} field in the params record is overridden
+ * by the session-scoped wrapper; any value provided is ignored.
+ *
+ * @apiNote This method is experimental and may change in a future version.
+ * @since 1.0.0
+ */
+ public CompletableFuture registerInterest(SessionEventLogRegisterInterestParams params) {
+ com.fasterxml.jackson.databind.node.ObjectNode _p = MAPPER.valueToTree(params);
+ _p.put("sessionId", this.sessionId);
+ return caller.invoke("session.eventLog.registerInterest", _p, SessionEventLogRegisterInterestResult.class);
+ }
+
+ /**
+ * Opaque handle previously returned by `registerInterest` to release.
+ *
+ * Note: the {@code sessionId} field in the params record is overridden
+ * by the session-scoped wrapper; any value provided is ignored.
+ *
+ * @apiNote This method is experimental and may change in a future version.
+ * @since 1.0.0
+ */
+ public CompletableFuture releaseInterest(SessionEventLogReleaseInterestParams params) {
+ com.fasterxml.jackson.databind.node.ObjectNode _p = MAPPER.valueToTree(params);
+ _p.put("sessionId", this.sessionId);
+ return caller.invoke("session.eventLog.releaseInterest", _p, SessionEventLogReleaseInterestResult.class);
+ }
+
+}
diff --git a/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionEventLogReadParams.java b/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionEventLogReadParams.java
new file mode 100644
index 000000000..cad49d452
--- /dev/null
+++ b/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionEventLogReadParams.java
@@ -0,0 +1,37 @@
+/*---------------------------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ *--------------------------------------------------------------------------------------------*/
+
+// AUTO-GENERATED FILE - DO NOT EDIT
+// Generated from: api.schema.json
+
+package com.github.copilot.sdk.generated.rpc;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import javax.annotation.processing.Generated;
+
+/**
+ * Cursor, batch size, and optional long-poll/filter parameters for reading session events.
+ *
+ * @since 1.0.0
+ */
+@javax.annotation.processing.Generated("copilot-sdk-codegen")
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@JsonIgnoreProperties(ignoreUnknown = true)
+public record SessionEventLogReadParams(
+ /** Target session identifier */
+ @JsonProperty("sessionId") String sessionId,
+ /** Opaque cursor returned by a previous read. Omit on the first call to start from the beginning of the session's persisted history. */
+ @JsonProperty("cursor") String cursor,
+ /** Maximum number of events to return in this batch (1–1000, default 200). */
+ @JsonProperty("max") Long max,
+ /** Milliseconds to wait for new events when the cursor is at the tail of history. 0 (default) returns immediately even if no events are available. Capped at 30000ms. Ephemeral events that arrive during the wait are delivered in this batch but are NOT replayable on a subsequent read (use a non-zero waitMs in your next call to capture future ephemerals as they happen). */
+ @JsonProperty("waitMs") Long waitMs,
+ /** Either '*' to receive all event types, or a non-empty list of event types to receive */
+ @JsonProperty("types") Object types,
+ /** Agent-scope filter: 'primary' returns only main-agent events plus events whose type starts with 'subagent.' (matching the typed-subscription default behavior); 'all' returns events from all agents (matching wildcard-subscription behavior). Default is 'all' to preserve wildcard semantics for catch-up callers. */
+ @JsonProperty("agentScope") EventsAgentScope agentScope
+) {
+}
diff --git a/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionEventLogReadResult.java b/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionEventLogReadResult.java
new file mode 100644
index 000000000..725a76792
--- /dev/null
+++ b/src/generated/java/com/github/copilot/sdk/generated/rpc/SessionEventLogReadResult.java
@@ -0,0 +1,34 @@
+/*---------------------------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ *--------------------------------------------------------------------------------------------*/
+
+// AUTO-GENERATED FILE - DO NOT EDIT
+// Generated from: api.schema.json
+
+package com.github.copilot.sdk.generated.rpc;
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import javax.annotation.processing.Generated;
+
+/**
+ * Batch of session events returned by a read, with cursor and continuation metadata.
+ *
+ * @since 1.0.0
+ */
+@javax.annotation.processing.Generated("copilot-sdk-codegen")
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@JsonIgnoreProperties(ignoreUnknown = true)
+public record SessionEventLogReadResult(
+ /** Events are delivered in two batches per read: persisted events first (in append order), then ephemeral events (in seq order). When `waitMs > 0` and the catch-up batches were empty, post-wait events follow the same two-batch ordering. Persisted and ephemeral events do not interleave within a single read. */
+ @JsonProperty("events") List