From d8afea2cbb134b19f95f8c4a85063faf63b0ef37 Mon Sep 17 00:00:00 2001 From: kumarabhirup Date: Sat, 21 Feb 2026 11:02:44 -0800 Subject: [PATCH] gateway: add agent.subscribe/unsubscribe protocol schema and types --- src/gateway/protocol/index.ts | 12 ++++++++++++ src/gateway/protocol/schema/agent.ts | 15 +++++++++++++++ src/gateway/protocol/schema/types.ts | 4 ++++ 3 files changed, 31 insertions(+) diff --git a/src/gateway/protocol/index.ts b/src/gateway/protocol/index.ts index 98f1e0e529c..d866bab78d4 100644 --- a/src/gateway/protocol/index.ts +++ b/src/gateway/protocol/index.ts @@ -42,6 +42,10 @@ import { AgentsListResultSchema, type AgentWaitParams, AgentWaitParamsSchema, + type AgentSubscribeParams, + AgentSubscribeParamsSchema, + type AgentUnsubscribeParams, + AgentUnsubscribeParamsSchema, type ChannelsLogoutParams, ChannelsLogoutParamsSchema, type TalkConfigParams, @@ -240,6 +244,12 @@ export const validateAgentParams = ajv.compile(AgentParamsSchema); export const validateAgentIdentityParams = ajv.compile(AgentIdentityParamsSchema); export const validateAgentWaitParams = ajv.compile(AgentWaitParamsSchema); +export const validateAgentSubscribeParams = ajv.compile( + AgentSubscribeParamsSchema, +); +export const validateAgentUnsubscribeParams = ajv.compile( + AgentUnsubscribeParamsSchema, +); export const validateWakeParams = ajv.compile(WakeParamsSchema); export const validateAgentsListParams = ajv.compile(AgentsListParamsSchema); export const validateAgentsCreateParams = ajv.compile(AgentsCreateParamsSchema); @@ -515,6 +525,8 @@ export type { AgentIdentityParams, AgentIdentityResult, AgentWaitParams, + AgentSubscribeParams, + AgentUnsubscribeParams, ChatEvent, TickEvent, ShutdownEvent, diff --git a/src/gateway/protocol/schema/agent.ts b/src/gateway/protocol/schema/agent.ts index 2c2bf3c9359..fc0f16eaca5 100644 --- a/src/gateway/protocol/schema/agent.ts +++ b/src/gateway/protocol/schema/agent.ts @@ -125,3 +125,18 @@ export const WakeParamsSchema = Type.Object( }, { additionalProperties: false }, ); + +export const AgentSubscribeParamsSchema = Type.Object( + { + sessionKey: NonEmptyString, + afterSeq: Type.Optional(Type.Integer({ minimum: 0 })), + }, + { additionalProperties: false }, +); + +export const AgentUnsubscribeParamsSchema = Type.Object( + { + sessionKey: NonEmptyString, + }, + { additionalProperties: false }, +); diff --git a/src/gateway/protocol/schema/types.ts b/src/gateway/protocol/schema/types.ts index ead66ca789b..b7adb763da7 100644 --- a/src/gateway/protocol/schema/types.ts +++ b/src/gateway/protocol/schema/types.ts @@ -4,6 +4,8 @@ import type { AgentIdentityParamsSchema, AgentIdentityResultSchema, AgentWaitParamsSchema, + AgentSubscribeParamsSchema, + AgentUnsubscribeParamsSchema, PollParamsSchema, WakeParamsSchema, } from "./agent.js"; @@ -147,6 +149,8 @@ export type AgentIdentityParams = Static; export type AgentIdentityResult = Static; export type PollParams = Static; export type AgentWaitParams = Static; +export type AgentSubscribeParams = Static; +export type AgentUnsubscribeParams = Static; export type WakeParams = Static; export type NodePairRequestParams = Static; export type NodePairListParams = Static;