From e3744a24356a69c5910cc2d33656f254cc11488d Mon Sep 17 00:00:00 2001 From: Steffen Deusch Date: Fri, 12 Dec 2025 13:50:49 +0100 Subject: [PATCH 1/3] feat(unstable): add resumeSession support Similar to https://github.com/agentclientprotocol/typescript-sdk/pull/37. --- src/acp.ts | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/acp.ts b/src/acp.ts index a9ff39e..33dfe6d 100644 --- a/src/acp.ts +++ b/src/acp.ts @@ -71,6 +71,13 @@ export class AgentSideConnection { const validatedParams = validate.zForkSessionRequest.parse(params); return agent.forkSession(validatedParams); } + case schema.AGENT_METHODS.session_resume: { + if (!agent.resumeSession) { + throw RequestError.methodNotFound(method); + } + const validatedParams = validate.zResumeSessionRequest.parse(params); + return agent.resumeSession(validatedParams); + } case schema.AGENT_METHODS.session_set_mode: { if (!agent.setSessionMode) { throw RequestError.methodNotFound(method); @@ -631,6 +638,27 @@ export class ClientSideConnection implements Agent { ); } + /** + * **UNSTABLE** + * + * This capability is not part of the spec yet, and may be removed or changed at any point. + * + * Resumes an existing session without returning previous messages. + * + * This method is only available if the agent advertises the `session.resume` capability. + * + * The agent should resume the session context, allowing the conversation to continue + * without replaying the message history (unlike `session/load`). + */ + async resumeSession( + params: schema.ResumeSessionRequest, + ): Promise { + return await this.#connection.sendRequest( + schema.AGENT_METHODS.session_resume, + params, + ); + } + /** * Sets the operational mode for a session. * @@ -1416,6 +1444,21 @@ export interface Agent { forkSession?( params: schema.ForkSessionRequest, ): Promise; + /** + * **UNSTABLE** + * + * This capability is not part of the spec yet, and may be removed or changed at any point. + * + * Resumes an existing session without returning previous messages. + * + * This method is only available if the agent advertises the `session.resume` capability. + * + * The agent should resume the session context, allowing the conversation to continue + * without replaying the message history (unlike `session/load`). + */ + resumeSession?( + params: schema.ResumeSessionRequest, + ): Promise; /** * Sets the operational mode for a session. * From d039887d2fd312b08a994e326dd4b00ff22c3c4f Mon Sep 17 00:00:00 2001 From: Ben Brandt Date: Fri, 12 Dec 2025 14:07:52 +0100 Subject: [PATCH 2/3] Try putting config paths in --- .github/workflows/publish.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index be82e9a..01fdb9a 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -29,6 +29,8 @@ jobs: with: token: ${{ steps.generate-token.outputs.token }} release-type: node + config-file: release-please-config.json + manifest-file: .release-please-manifest.json outputs: release_created: ${{ steps.release.outputs.release_created }} publish: From 497259dab7a4b1c6f9a35b4da3f9683cbb0154aa Mon Sep 17 00:00:00 2001 From: Ben Brandt Date: Fri, 12 Dec 2025 14:08:31 +0100 Subject: [PATCH 3/3] format --- src/acp.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/acp.ts b/src/acp.ts index 33dfe6d..915e08d 100644 --- a/src/acp.ts +++ b/src/acp.ts @@ -646,7 +646,7 @@ export class ClientSideConnection implements Agent { * Resumes an existing session without returning previous messages. * * This method is only available if the agent advertises the `session.resume` capability. - * + * * The agent should resume the session context, allowing the conversation to continue * without replaying the message history (unlike `session/load`). */ @@ -1452,7 +1452,7 @@ export interface Agent { * Resumes an existing session without returning previous messages. * * This method is only available if the agent advertises the `session.resume` capability. - * + * * The agent should resume the session context, allowing the conversation to continue * without replaying the message history (unlike `session/load`). */