From 7dbf8a26eaa3e61b70d3213ff28ac127e10a6c89 Mon Sep 17 00:00:00 2001 From: Kewe63 Date: Sun, 23 Aug 2026 17:39:31 +0300 Subject: [PATCH] fix(ack-id): return reply nonce for response handshakes --- packages/ack-id/src/a2a/sign-message.test.ts | 14 ++++++++++++++ packages/ack-id/src/a2a/sign-message.ts | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/ack-id/src/a2a/sign-message.test.ts b/packages/ack-id/src/a2a/sign-message.test.ts index fed6068..f630928 100644 --- a/packages/ack-id/src/a2a/sign-message.test.ts +++ b/packages/ack-id/src/a2a/sign-message.test.ts @@ -138,6 +138,20 @@ describe("createA2AHandshakeMessage", () => { expect(result.message.role).toBe("agent") }) + it("returns the fresh reply nonce when responding to a handshake", async () => { + const result = await createA2AHandshakeMessage( + "agent", + { + recipient: userDid, + vc: testCredential, + requestNonce: "original-nonce", + }, + { did: agentDid, jwtSigner }, + ) + + expect(result.nonce).toBe("test-nonce-1234") + }) + it("returns the signed JWT in the message data part", async () => { const result = await createA2AHandshakeMessage( "agent", diff --git a/packages/ack-id/src/a2a/sign-message.ts b/packages/ack-id/src/a2a/sign-message.ts index a4a041b..f3e26ba 100644 --- a/packages/ack-id/src/a2a/sign-message.ts +++ b/packages/ack-id/src/a2a/sign-message.ts @@ -122,7 +122,7 @@ export async function createA2AHandshakeMessage( return { sig: jwt, jti, - nonce: payload.nonce, + nonce: payload.replyNonce ?? payload.nonce, message, } }