refactor: remove legacy agent update RPCs
This commit is contained in:
@@ -535,6 +535,7 @@ describe("DaemonClient", () => {
|
||||
{ key: "created_at", direction: "desc" },
|
||||
],
|
||||
page: { limit: 25, cursor: "cursor-1" },
|
||||
subscribe: { subscriptionId: "sub-1" },
|
||||
});
|
||||
|
||||
expect(mock.sent).toHaveLength(1);
|
||||
@@ -549,6 +550,7 @@ describe("DaemonClient", () => {
|
||||
direction: "asc" | "desc";
|
||||
}>;
|
||||
page?: { limit: number; cursor?: string };
|
||||
subscribe?: { subscriptionId?: string };
|
||||
};
|
||||
};
|
||||
expect(request.message.type).toBe("fetch_agents_request");
|
||||
@@ -557,6 +559,7 @@ describe("DaemonClient", () => {
|
||||
{ key: "created_at", direction: "desc" },
|
||||
]);
|
||||
expect(request.message.page).toEqual({ limit: 25, cursor: "cursor-1" });
|
||||
expect(request.message.subscribe).toEqual({ subscriptionId: "sub-1" });
|
||||
|
||||
mock.triggerMessage(
|
||||
JSON.stringify({
|
||||
@@ -565,6 +568,7 @@ describe("DaemonClient", () => {
|
||||
type: "fetch_agents_response",
|
||||
payload: {
|
||||
requestId: request.message.requestId,
|
||||
subscriptionId: "sub-1",
|
||||
entries: [],
|
||||
pageInfo: {
|
||||
nextCursor: null,
|
||||
@@ -578,6 +582,7 @@ describe("DaemonClient", () => {
|
||||
|
||||
await expect(promise).resolves.toEqual({
|
||||
requestId: request.message.requestId,
|
||||
subscriptionId: "sub-1",
|
||||
entries: [],
|
||||
pageInfo: {
|
||||
nextCursor: null,
|
||||
|
||||
@@ -350,10 +350,6 @@ export class DaemonClient {
|
||||
private connectReject: ((error: Error) => void) | null = null;
|
||||
private lastErrorValue: string | null = null;
|
||||
private connectionState: ConnectionState = { status: "idle" };
|
||||
private agentUpdateSubscriptions = new Map<
|
||||
string,
|
||||
{ labels?: Record<string, string>; agentId?: string } | undefined
|
||||
>();
|
||||
private checkoutDiffSubscriptions = new Map<
|
||||
string,
|
||||
{ cwd: string; compare: { mode: "uncommitted" | "base"; baseRef?: string } }
|
||||
@@ -475,7 +471,6 @@ export class DaemonClient {
|
||||
this.lastErrorValue = null;
|
||||
this.reconnectAttempt = 0;
|
||||
this.updateConnectionState({ status: "connected" });
|
||||
this.resubscribeAgentUpdates();
|
||||
this.resubscribeCheckoutDiffSubscriptions();
|
||||
this.resubscribeTerminalDirectorySubscriptions();
|
||||
this.flushPendingSendQueue();
|
||||
@@ -997,6 +992,7 @@ export class DaemonClient {
|
||||
...(options?.filter ? { filter: options.filter } : {}),
|
||||
...(options?.sort ? { sort: options.sort } : {}),
|
||||
...(options?.page ? { page: options.page } : {}),
|
||||
...(options?.subscribe ? { subscribe: options.subscribe } : {}),
|
||||
});
|
||||
return this.sendRequest({
|
||||
requestId: resolvedRequestId,
|
||||
@@ -1043,44 +1039,6 @@ export class DaemonClient {
|
||||
return payload.agent;
|
||||
}
|
||||
|
||||
subscribeAgentUpdates(options?: {
|
||||
subscriptionId?: string;
|
||||
filter?: { labels?: Record<string, string>; agentId?: string };
|
||||
}): string {
|
||||
const subscriptionId = options?.subscriptionId ?? crypto.randomUUID();
|
||||
this.agentUpdateSubscriptions.set(subscriptionId, options?.filter);
|
||||
const message = SessionInboundMessageSchema.parse({
|
||||
type: "subscribe_agent_updates",
|
||||
subscriptionId,
|
||||
...(options?.filter ? { filter: options.filter } : {}),
|
||||
});
|
||||
this.sendSessionMessage(message);
|
||||
return subscriptionId;
|
||||
}
|
||||
|
||||
unsubscribeAgentUpdates(subscriptionId: string): void {
|
||||
this.agentUpdateSubscriptions.delete(subscriptionId);
|
||||
const message = SessionInboundMessageSchema.parse({
|
||||
type: "unsubscribe_agent_updates",
|
||||
subscriptionId,
|
||||
});
|
||||
this.sendSessionMessage(message);
|
||||
}
|
||||
|
||||
private resubscribeAgentUpdates(): void {
|
||||
if (this.agentUpdateSubscriptions.size === 0) {
|
||||
return;
|
||||
}
|
||||
for (const [subscriptionId, filter] of this.agentUpdateSubscriptions) {
|
||||
const message = SessionInboundMessageSchema.parse({
|
||||
type: "subscribe_agent_updates",
|
||||
subscriptionId,
|
||||
...(filter ? { filter } : {}),
|
||||
});
|
||||
this.sendSessionMessage(message);
|
||||
}
|
||||
}
|
||||
|
||||
private resubscribeCheckoutDiffSubscriptions(): void {
|
||||
if (this.checkoutDiffSubscriptions.size === 0) {
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user