Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@agentclientprotocol/sdk

Package Overview
Dependencies
Maintainers
3
Versions
37
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@agentclientprotocol/sdk - npm Package Compare versions

Comparing version
0.19.0
to
0.19.1
+1
dist/stream.test.d.ts
export {};
import { describe, it, expect } from "vitest";
import { ndJsonStream } from "./stream.js";
function readableFromChunks(chunks) {
return new ReadableStream({
start(controller) {
for (const chunk of chunks) {
controller.enqueue(chunk);
}
controller.close();
},
});
}
async function collectMessages(readable) {
const messages = [];
const reader = readable.getReader();
while (true) {
const { value, done } = await reader.read();
if (done)
break;
messages.push(value);
}
return messages;
}
describe("ndJsonStream", () => {
const nullWritable = new WritableStream();
it("parses a single message", async () => {
const msg = { jsonrpc: "2.0", id: 1, method: "test" };
const input = readableFromChunks([
new TextEncoder().encode(JSON.stringify(msg) + "\n"),
]);
const { readable } = ndJsonStream(nullWritable, input);
const messages = await collectMessages(readable);
expect(messages).toEqual([msg]);
});
it("parses multiple messages", async () => {
const msg1 = { jsonrpc: "2.0", id: 1, method: "first" };
const msg2 = { jsonrpc: "2.0", id: 2, method: "second" };
const input = readableFromChunks([
new TextEncoder().encode(JSON.stringify(msg1) + "\n" + JSON.stringify(msg2) + "\n"),
]);
const { readable } = ndJsonStream(nullWritable, input);
const messages = await collectMessages(readable);
expect(messages).toEqual([msg1, msg2]);
});
it("parses a message split across chunks", async () => {
const msg = { jsonrpc: "2.0", id: 1, method: "split" };
const full = JSON.stringify(msg) + "\n";
const mid = Math.floor(full.length / 2);
const encoder = new TextEncoder();
const input = readableFromChunks([
encoder.encode(full.slice(0, mid)),
encoder.encode(full.slice(mid)),
]);
const { readable } = ndJsonStream(nullWritable, input);
const messages = await collectMessages(readable);
expect(messages).toEqual([msg]);
});
it("handles multi-byte UTF-8 characters split across chunks", async () => {
const msg = {
jsonrpc: "2.0",
id: 1,
method: "test",
params: { text: "héllo wörld" },
};
const bytes = new TextEncoder().encode(JSON.stringify(msg) + "\n");
// Find the byte offset of 'é' (0xC3 0xA9) and split between its two bytes
const éOffset = bytes.indexOf(0xc3);
expect(éOffset).toBeGreaterThan(0);
const input = readableFromChunks([
bytes.slice(0, éOffset + 1), // includes 0xC3 but not 0xA9
bytes.slice(éOffset + 1), // starts with 0xA9
]);
const { readable } = ndJsonStream(nullWritable, input);
const messages = await collectMessages(readable);
expect(messages).toEqual([msg]);
});
it("parses a final message without trailing newline", async () => {
const msg = { jsonrpc: "2.0", id: 1, method: "unterminated" };
const input = readableFromChunks([
new TextEncoder().encode(JSON.stringify(msg)), // no \n
]);
const { readable } = ndJsonStream(nullWritable, input);
const messages = await collectMessages(readable);
expect(messages).toEqual([msg]);
});
it("parses a final message without trailing newline with multi-byte chars split across chunks", async () => {
const msg = {
jsonrpc: "2.0",
id: 1,
method: "tëst",
};
const bytes = new TextEncoder().encode(JSON.stringify(msg)); // no \n
const éOffset = bytes.indexOf(0xc3);
expect(éOffset).toBeGreaterThan(0);
const input = readableFromChunks([
bytes.slice(0, éOffset + 1), // includes 0xC3 but not 0xAB
bytes.slice(éOffset + 1),
]);
const { readable } = ndJsonStream(nullWritable, input);
const messages = await collectMessages(readable);
expect(messages).toEqual([msg]);
});
it("skips malformed lines and continues parsing", async () => {
const msg1 = { jsonrpc: "2.0", id: 1, method: "before" };
const msg2 = { jsonrpc: "2.0", id: 2, method: "after" };
const input = readableFromChunks([
new TextEncoder().encode(JSON.stringify(msg1) +
"\n" +
"not valid json\n" +
JSON.stringify(msg2) +
"\n"),
]);
const { readable } = ndJsonStream(nullWritable, input);
const messages = await collectMessages(readable);
expect(messages).toEqual([msg1, msg2]);
});
});
//# sourceMappingURL=stream.test.js.map
{"version":3,"file":"stream.test.js","sourceRoot":"","sources":["../src/stream.test.ts"],"names":[],"mappings":"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"}
+20
-4

@@ -18,3 +18,3 @@ import * as schema from "./schema/index.js";

export declare class AgentSideConnection {
#private;
private connection;
/**

@@ -186,4 +186,5 @@ * Creates a new agent-side connection to a client.

export declare class TerminalHandle {
#private;
id: string;
private sessionId;
private connection;
constructor(id: string, sessionId: string, conn: Connection);

@@ -235,3 +236,3 @@ /**

export declare class ClientSideConnection implements Agent {
#private;
private connection;
/**

@@ -579,3 +580,10 @@ * Creates a new client-side connection to an agent.

declare class Connection {
#private;
private pendingResponses;
private nextRequestId;
private requestHandler;
private notificationHandler;
private stream;
private writeQueue;
private abortController;
private closedPromise;
constructor(requestHandler: RequestHandler, notificationHandler: NotificationHandler, stream: Stream);

@@ -606,4 +614,12 @@ /**

get closed(): Promise<void>;
private receive;
private close;
private processMessage;
private tryCallRequestHandler;
private tryCallNotificationHandler;
private handleResponse;
sendRequest<Req, Resp>(method: string, params?: Req): Promise<Resp>;
sendNotification<N>(method: string, params?: N): Promise<void>;
private throwIfClosed;
private sendMessage;
}

@@ -610,0 +626,0 @@ /**

+117
-110

@@ -17,3 +17,3 @@ import { z } from "zod/v4";

export class AgentSideConnection {
#connection;
connection;
/**

@@ -202,3 +202,3 @@ * Creates a new agent-side connection to a client.

};
this.#connection = new Connection(requestHandler, notificationHandler, stream);
this.connection = new Connection(requestHandler, notificationHandler, stream);
}

@@ -219,3 +219,3 @@ /**

async sessionUpdate(params) {
return await this.#connection.sendNotification(schema.CLIENT_METHODS.session_update, params);
return await this.connection.sendNotification(schema.CLIENT_METHODS.session_update, params);
}

@@ -235,3 +235,3 @@ /**

async requestPermission(params) {
return await this.#connection.sendRequest(schema.CLIENT_METHODS.session_request_permission, params);
return await this.connection.sendRequest(schema.CLIENT_METHODS.session_request_permission, params);
}

@@ -247,3 +247,3 @@ /**

async readTextFile(params) {
return await this.#connection.sendRequest(schema.CLIENT_METHODS.fs_read_text_file, params);
return await this.connection.sendRequest(schema.CLIENT_METHODS.fs_read_text_file, params);
}

@@ -259,3 +259,3 @@ /**

async writeTextFile(params) {
return ((await this.#connection.sendRequest(schema.CLIENT_METHODS.fs_write_text_file, params)) ?? {});
return ((await this.connection.sendRequest(schema.CLIENT_METHODS.fs_write_text_file, params)) ?? {});
}

@@ -275,4 +275,4 @@ /**

async createTerminal(params) {
const response = await this.#connection.sendRequest(schema.CLIENT_METHODS.terminal_create, params);
return new TerminalHandle(response.terminalId, params.sessionId, this.#connection);
const response = await this.connection.sendRequest(schema.CLIENT_METHODS.terminal_create, params);
return new TerminalHandle(response.terminalId, params.sessionId, this.connection);
}

@@ -289,3 +289,3 @@ /**

async unstable_createElicitation(params) {
return await this.#connection.sendRequest(schema.CLIENT_METHODS.elicitation_create, params);
return await this.connection.sendRequest(schema.CLIENT_METHODS.elicitation_create, params);
}

@@ -302,3 +302,3 @@ /**

async unstable_completeElicitation(params) {
return await this.#connection.sendNotification(schema.CLIENT_METHODS.elicitation_complete, params);
return await this.connection.sendNotification(schema.CLIENT_METHODS.elicitation_complete, params);
}

@@ -311,3 +311,3 @@ /**

async extMethod(method, params) {
return await this.#connection.sendRequest(method, params);
return await this.connection.sendRequest(method, params);
}

@@ -320,3 +320,3 @@ /**

async extNotification(method, params) {
return await this.#connection.sendNotification(method, params);
return await this.connection.sendNotification(method, params);
}

@@ -352,3 +352,3 @@ /**

get signal() {
return this.#connection.signal;
return this.connection.signal;
}

@@ -371,3 +371,3 @@ /**

get closed() {
return this.#connection.closed;
return this.connection.closed;
}

@@ -393,8 +393,8 @@ }

id;
#sessionId;
#connection;
sessionId;
connection;
constructor(id, sessionId, conn) {
this.id = id;
this.#sessionId = sessionId;
this.#connection = conn;
this.sessionId = sessionId;
this.connection = conn;
}

@@ -405,4 +405,4 @@ /**

async currentOutput() {
return await this.#connection.sendRequest(schema.CLIENT_METHODS.terminal_output, {
sessionId: this.#sessionId,
return await this.connection.sendRequest(schema.CLIENT_METHODS.terminal_output, {
sessionId: this.sessionId,
terminalId: this.id,

@@ -415,4 +415,4 @@ });

async waitForExit() {
return await this.#connection.sendRequest(schema.CLIENT_METHODS.terminal_wait_for_exit, {
sessionId: this.#sessionId,
return await this.connection.sendRequest(schema.CLIENT_METHODS.terminal_wait_for_exit, {
sessionId: this.sessionId,
terminalId: this.id,

@@ -432,4 +432,4 @@ });

async kill() {
return ((await this.#connection.sendRequest(schema.CLIENT_METHODS.terminal_kill, {
sessionId: this.#sessionId,
return ((await this.connection.sendRequest(schema.CLIENT_METHODS.terminal_kill, {
sessionId: this.sessionId,
terminalId: this.id,

@@ -451,4 +451,4 @@ })) ?? {});

async release() {
return ((await this.#connection.sendRequest(schema.CLIENT_METHODS.terminal_release, {
sessionId: this.#sessionId,
return ((await this.connection.sendRequest(schema.CLIENT_METHODS.terminal_release, {
sessionId: this.sessionId,
terminalId: this.id,

@@ -472,3 +472,3 @@ })) ?? {});

export class ClientSideConnection {
#connection;
connection;
/**

@@ -557,3 +557,3 @@ * Creates a new client-side connection to an agent.

};
this.#connection = new Connection(requestHandler, notificationHandler, stream);
this.connection = new Connection(requestHandler, notificationHandler, stream);
}

@@ -573,3 +573,3 @@ /**

async initialize(params) {
return await this.#connection.sendRequest(schema.AGENT_METHODS.initialize, params);
return await this.connection.sendRequest(schema.AGENT_METHODS.initialize, params);
}

@@ -594,3 +594,3 @@ /**

async newSession(params) {
return await this.#connection.sendRequest(schema.AGENT_METHODS.session_new, params);
return await this.connection.sendRequest(schema.AGENT_METHODS.session_new, params);
}

@@ -613,3 +613,3 @@ /**

async loadSession(params) {
return ((await this.#connection.sendRequest(schema.AGENT_METHODS.session_load, params)) ?? {});
return ((await this.connection.sendRequest(schema.AGENT_METHODS.session_load, params)) ?? {});
}

@@ -634,3 +634,3 @@ /**

async unstable_forkSession(params) {
return await this.#connection.sendRequest(schema.AGENT_METHODS.session_fork, params);
return await this.connection.sendRequest(schema.AGENT_METHODS.session_fork, params);
}

@@ -647,3 +647,3 @@ /**

async listSessions(params) {
return await this.#connection.sendRequest(schema.AGENT_METHODS.session_list, params);
return await this.connection.sendRequest(schema.AGENT_METHODS.session_list, params);
}

@@ -668,3 +668,3 @@ /**

async unstable_resumeSession(params) {
return await this.#connection.sendRequest(schema.AGENT_METHODS.session_resume, params);
return await this.connection.sendRequest(schema.AGENT_METHODS.session_resume, params);
}

@@ -686,3 +686,3 @@ /**

async unstable_closeSession(params) {
return await this.#connection.sendRequest(schema.AGENT_METHODS.session_close, params);
return await this.connection.sendRequest(schema.AGENT_METHODS.session_close, params);
}

@@ -705,3 +705,3 @@ /**

async setSessionMode(params) {
return ((await this.#connection.sendRequest(schema.AGENT_METHODS.session_set_mode, params)) ?? {});
return ((await this.connection.sendRequest(schema.AGENT_METHODS.session_set_mode, params)) ?? {});
}

@@ -718,3 +718,3 @@ /**

async unstable_setSessionModel(params) {
return ((await this.#connection.sendRequest(schema.AGENT_METHODS.session_set_model, params)) ?? {});
return ((await this.connection.sendRequest(schema.AGENT_METHODS.session_set_model, params)) ?? {});
}

@@ -728,3 +728,3 @@ /**

async setSessionConfigOption(params) {
return await this.#connection.sendRequest(schema.AGENT_METHODS.session_set_config_option, params);
return await this.connection.sendRequest(schema.AGENT_METHODS.session_set_config_option, params);
}

@@ -743,3 +743,3 @@ /**

async authenticate(params) {
return ((await this.#connection.sendRequest(schema.AGENT_METHODS.authenticate, params)) ?? {});
return ((await this.connection.sendRequest(schema.AGENT_METHODS.authenticate, params)) ?? {});
}

@@ -754,3 +754,3 @@ /**

async unstable_logout(params) {
return ((await this.#connection.sendRequest(schema.AGENT_METHODS.logout, params)) ?? {});
return ((await this.connection.sendRequest(schema.AGENT_METHODS.logout, params)) ?? {});
}

@@ -771,3 +771,3 @@ /**

async prompt(params) {
return await this.#connection.sendRequest(schema.AGENT_METHODS.session_prompt, params);
return await this.connection.sendRequest(schema.AGENT_METHODS.session_prompt, params);
}

@@ -788,3 +788,3 @@ /**

async cancel(params) {
return await this.#connection.sendNotification(schema.AGENT_METHODS.session_cancel, params);
return await this.connection.sendNotification(schema.AGENT_METHODS.session_cancel, params);
}

@@ -799,3 +799,3 @@ /**

async unstable_startNes(params) {
return await this.#connection.sendRequest(schema.AGENT_METHODS.nes_start, params);
return await this.connection.sendRequest(schema.AGENT_METHODS.nes_start, params);
}

@@ -810,3 +810,3 @@ /**

async unstable_suggestNes(params) {
return await this.#connection.sendRequest(schema.AGENT_METHODS.nes_suggest, params);
return await this.connection.sendRequest(schema.AGENT_METHODS.nes_suggest, params);
}

@@ -821,3 +821,3 @@ /**

async unstable_closeNes(params) {
return ((await this.#connection.sendRequest(schema.AGENT_METHODS.nes_close, params)) ?? {});
return ((await this.connection.sendRequest(schema.AGENT_METHODS.nes_close, params)) ?? {});
}

@@ -832,3 +832,3 @@ /**

async unstable_didOpenDocument(params) {
return await this.#connection.sendNotification(schema.AGENT_METHODS.document_did_open, params);
return await this.connection.sendNotification(schema.AGENT_METHODS.document_did_open, params);
}

@@ -843,3 +843,3 @@ /**

async unstable_didChangeDocument(params) {
return await this.#connection.sendNotification(schema.AGENT_METHODS.document_did_change, params);
return await this.connection.sendNotification(schema.AGENT_METHODS.document_did_change, params);
}

@@ -854,3 +854,3 @@ /**

async unstable_didCloseDocument(params) {
return await this.#connection.sendNotification(schema.AGENT_METHODS.document_did_close, params);
return await this.connection.sendNotification(schema.AGENT_METHODS.document_did_close, params);
}

@@ -865,3 +865,3 @@ /**

async unstable_didSaveDocument(params) {
return await this.#connection.sendNotification(schema.AGENT_METHODS.document_did_save, params);
return await this.connection.sendNotification(schema.AGENT_METHODS.document_did_save, params);
}

@@ -876,3 +876,3 @@ /**

async unstable_didFocusDocument(params) {
return await this.#connection.sendNotification(schema.AGENT_METHODS.document_did_focus, params);
return await this.connection.sendNotification(schema.AGENT_METHODS.document_did_focus, params);
}

@@ -887,3 +887,3 @@ /**

async unstable_acceptNes(params) {
return await this.#connection.sendNotification(schema.AGENT_METHODS.nes_accept, params);
return await this.connection.sendNotification(schema.AGENT_METHODS.nes_accept, params);
}

@@ -898,3 +898,3 @@ /**

async unstable_rejectNes(params) {
return await this.#connection.sendNotification(schema.AGENT_METHODS.nes_reject, params);
return await this.connection.sendNotification(schema.AGENT_METHODS.nes_reject, params);
}

@@ -907,3 +907,3 @@ /**

async extMethod(method, params) {
return await this.#connection.sendRequest(method, params);
return await this.connection.sendRequest(method, params);
}

@@ -916,3 +916,3 @@ /**

async extNotification(method, params) {
return await this.#connection.sendNotification(method, params);
return await this.connection.sendNotification(method, params);
}

@@ -948,3 +948,3 @@ /**

get signal() {
return this.#connection.signal;
return this.connection.signal;
}

@@ -967,22 +967,22 @@ /**

get closed() {
return this.#connection.closed;
return this.connection.closed;
}
}
class Connection {
#pendingResponses = new Map();
#nextRequestId = 0;
#requestHandler;
#notificationHandler;
#stream;
#writeQueue = Promise.resolve();
#abortController = new AbortController();
#closedPromise;
pendingResponses = new Map();
nextRequestId = 0;
requestHandler;
notificationHandler;
stream;
writeQueue = Promise.resolve();
abortController = new AbortController();
closedPromise;
constructor(requestHandler, notificationHandler, stream) {
this.#requestHandler = requestHandler;
this.#notificationHandler = notificationHandler;
this.#stream = stream;
this.#closedPromise = new Promise((resolve) => {
this.#abortController.signal.addEventListener("abort", () => resolve());
this.requestHandler = requestHandler;
this.notificationHandler = notificationHandler;
this.stream = stream;
this.closedPromise = new Promise((resolve) => {
this.abortController.signal.addEventListener("abort", () => resolve());
});
void this.#receive();
void this.receive();
}

@@ -998,3 +998,3 @@ /**

get signal() {
return this.#abortController.signal;
return this.abortController.signal;
}

@@ -1016,10 +1016,10 @@ /**

get closed() {
return this.#closedPromise;
return this.closedPromise;
}
async #receive() {
async receive() {
let closeError = undefined;
try {
const reader = this.#stream.readable.getReader();
const reader = this.stream.readable.getReader();
try {
while (!this.#abortController.signal.aborted) {
while (!this.abortController.signal.aborted) {
const { value: message, done } = await reader.read();

@@ -1033,3 +1033,3 @@ if (done) {

try {
this.#processMessage(message);
this.processMessage(message);
}

@@ -1040,3 +1040,3 @@ catch (err) {

if ("id" in message && message.id !== undefined) {
this.#sendMessage({
this.sendMessage({
jsonrpc: "2.0",

@@ -1061,24 +1061,24 @@ id: message.id,

finally {
this.#close(closeError);
this.close(closeError);
}
}
#close(error) {
if (this.#abortController.signal.aborted) {
close(error) {
if (this.abortController.signal.aborted) {
return;
}
const closeError = error ?? new Error("ACP connection closed");
for (const pendingResponse of this.#pendingResponses.values()) {
for (const pendingResponse of this.pendingResponses.values()) {
pendingResponse.reject(closeError);
}
this.#pendingResponses.clear();
this.#abortController.abort(closeError);
this.pendingResponses.clear();
this.abortController.abort(closeError);
}
async #processMessage(message) {
async processMessage(message) {
if ("method" in message && "id" in message) {
// It's a request
const response = await this.#tryCallRequestHandler(message.method, message.params);
const response = await this.tryCallRequestHandler(message.method, message.params);
if ("error" in response) {
console.error("Error handling request", message, response.error);
}
await this.#sendMessage({
await this.sendMessage({
jsonrpc: "2.0",

@@ -1091,3 +1091,3 @@ id: message.id,

// It's a notification
const response = await this.#tryCallNotificationHandler(message.method, message.params);
const response = await this.tryCallNotificationHandler(message.method, message.params);
if ("error" in response) {

@@ -1099,3 +1099,3 @@ console.error("Error handling notification", message, response.error);

// It's a response
this.#handleResponse(message);
this.handleResponse(message);
}

@@ -1106,5 +1106,5 @@ else {

}
async #tryCallRequestHandler(method, params) {
async tryCallRequestHandler(method, params) {
try {
const result = await this.#requestHandler(method, params);
const result = await this.requestHandler(method, params);
return { result: result ?? null };

@@ -1137,5 +1137,5 @@ }

}
async #tryCallNotificationHandler(method, params) {
async tryCallNotificationHandler(method, params) {
try {
await this.#notificationHandler(method, params);
await this.notificationHandler(method, params);
return { result: null };

@@ -1168,4 +1168,4 @@ }

}
#handleResponse(response) {
const pendingResponse = this.#pendingResponses.get(response.id);
handleResponse(response) {
const pendingResponse = this.pendingResponses.get(response.id);
if (pendingResponse) {

@@ -1179,3 +1179,3 @@ if ("result" in response) {

}
this.#pendingResponses.delete(response.id);
this.pendingResponses.delete(response.id);
}

@@ -1187,24 +1187,31 @@ else {

async sendRequest(method, params) {
this.#throwIfClosed();
const id = this.#nextRequestId++;
this.throwIfClosed();
const id = this.nextRequestId++;
const responsePromise = new Promise((resolve, reject) => {
this.#pendingResponses.set(id, { resolve, reject });
this.pendingResponses.set(id, { resolve, reject });
});
await this.#sendMessage({ jsonrpc: "2.0", id, method, params });
// If the transport fails (or receive observes stream closure) during the
// `await sendMessage` below, close() will reject `responsePromise`
// before the caller has had a chance to attach its own handler. Node then
// reports a spurious `unhandledRejection`, even though the caller's
// subsequent `await` does observe the rejection. Attach a noop catch so
// the rejection is considered handled at the time it's raised; the
// rejection is still delivered to the caller via `return responsePromise`.
responsePromise.catch(() => { });
await this.sendMessage({ jsonrpc: "2.0", id, method, params });
return responsePromise;
}
async sendNotification(method, params) {
this.#throwIfClosed();
await this.#sendMessage({ jsonrpc: "2.0", method, params });
this.throwIfClosed();
await this.sendMessage({ jsonrpc: "2.0", method, params });
}
#throwIfClosed() {
if (this.#abortController.signal.aborted) {
throw (this.#abortController.signal.reason ??
new Error("ACP connection closed"));
throwIfClosed() {
if (this.abortController.signal.aborted) {
throw (this.abortController.signal.reason ?? new Error("ACP connection closed"));
}
}
async #sendMessage(message) {
this.#writeQueue = this.#writeQueue
async sendMessage(message) {
this.writeQueue = this.writeQueue
.then(async () => {
const writer = this.#stream.writable.getWriter();
const writer = this.stream.writable.getWriter();
try {

@@ -1218,5 +1225,5 @@ await writer.write(message);

.catch((error) => {
this.#close(error);
this.close(error);
});
return this.#writeQueue;
return this.writeQueue;
}

@@ -1223,0 +1230,0 @@ }

@@ -1,1 +0,1 @@

{"version":3,"file":"acp.js","sourceRoot":"","sources":["../src/acp.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"acp.js","sourceRoot":"","sources":["../src/acp.ts"],"names":[],"mappings":"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"}

@@ -22,2 +22,3 @@ /**

if (done) {
content += textDecoder.decode();
break;

@@ -44,2 +45,12 @@ }

}
const trimmedLine = content.trim();
if (trimmedLine) {
try {
const message = JSON.parse(trimmedLine);
controller.enqueue(message);
}
catch (err) {
console.error("Failed to parse JSON message:", trimmedLine, err);
}
}
}

@@ -46,0 +57,0 @@ catch (err) {

@@ -1,1 +0,1 @@

{"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"AAeA;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAkC,EAClC,KAAiC;IAEjC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IACtC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IAEtC,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAa;QAC9C,KAAK,CAAC,KAAK,CAAC,UAAU;YACpB,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,OAAO,IAAI,EAAE,CAAC;oBACZ,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC5C,IAAI,IAAI,EAAE,CAAC;wBACT,MAAM;oBACR,CAAC;oBACD,IAAI,CAAC,KAAK,EAAE,CAAC;wBACX,SAAS;oBACX,CAAC;oBACD,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;oBACvD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAClC,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;oBAE5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;wBAChC,IAAI,WAAW,EAAE,CAAC;4BAChB,IAAI,CAAC;gCACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAe,CAAC;gCACtD,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;4BAC9B,CAAC;4BAAC,OAAO,GAAG,EAAE,CAAC;gCACb,OAAO,CAAC,KAAK,CACX,+BAA+B,EAC/B,WAAW,EACX,GAAG,CACJ,CAAC;4BACJ,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACtB,OAAO;YACT,CAAC;oBAAS,CAAC;gBACT,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,CAAC;YACD,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAa;QAC9C,KAAK,CAAC,KAAK,CAAC,OAAO;YACjB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;YAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAClD,CAAC;oBAAS,CAAC;gBACT,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC"}
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../src/stream.ts"],"names":[],"mappings":"AAeA;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAkC,EAClC,KAAiC;IAEjC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IACtC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IAEtC,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAa;QAC9C,KAAK,CAAC,KAAK,CAAC,UAAU;YACpB,IAAI,OAAO,GAAG,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,OAAO,IAAI,EAAE,CAAC;oBACZ,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC5C,IAAI,IAAI,EAAE,CAAC;wBACT,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;wBAChC,MAAM;oBACR,CAAC;oBACD,IAAI,CAAC,KAAK,EAAE,CAAC;wBACX,SAAS;oBACX,CAAC;oBACD,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;oBACvD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAClC,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;oBAE5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;wBAChC,IAAI,WAAW,EAAE,CAAC;4BAChB,IAAI,CAAC;gCACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAe,CAAC;gCACtD,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;4BAC9B,CAAC;4BAAC,OAAO,GAAG,EAAE,CAAC;gCACb,OAAO,CAAC,KAAK,CACX,+BAA+B,EAC/B,WAAW,EACX,GAAG,CACJ,CAAC;4BACJ,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;gBACnC,IAAI,WAAW,EAAE,CAAC;oBAChB,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAe,CAAC;wBACtD,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAC9B,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;oBACnE,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACtB,OAAO;YACT,CAAC;oBAAS,CAAC;gBACT,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,CAAC;YACD,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAa;QAC9C,KAAK,CAAC,KAAK,CAAC,OAAO;YACjB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;YAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAClD,CAAC;oBAAS,CAAC;gBACT,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC"}
{
"name": "@agentclientprotocol/sdk",
"version": "0.19.0",
"version": "0.19.1",
"publishConfig": {

@@ -51,3 +51,3 @@ "access": "public"

"@eslint/js": "^10.0.1",
"@hey-api/openapi-ts": "^0.95.0",
"@hey-api/openapi-ts": "^0.96.0",
"@types/node": "^25.5.0",

@@ -54,0 +54,0 @@ "@typescript-eslint/eslint-plugin": "^8.57.1",