MCPcopy Create free account
hub / github.com/clawbot7/cli-gateway / write

Method write

test/bindingRuntime.prompt.test.ts:188–258  ·  view source on GitHub ↗
(message: JsonRpcMessage)

Source from the content-addressed store, hash-verified

186 }
187
188 write(message: JsonRpcMessage): void {
189 if (!('method' in message)) {
190 if ('id' in message && 'result' in message) {
191 const res = message as JsonRpcResponse;
192 if (res.id === 700) {
193 queueMicrotask(() => {
194 this.emit({
195 jsonrpc: '2.0',
196 method: 'session/update',
197 params: {
198 sessionId: this.sessionId,
199 update: {
200 sessionUpdate: 'agent_message_chunk',
201 content: { type: 'text', text: 'done' },
202 },
203 },
204 } as any);
205
206 this.emit({
207 jsonrpc: '2.0',
208 id: this.promptRequestId!,
209 result: { stopReason: 'end' },
210 } as JsonRpcResponse);
211 });
212 }
213 }
214 return;
215 }
216
217 const req = message as JsonRpcRequest;
218
219 if (req.method === 'initialize') {
220 queueMicrotask(() => {
221 this.emit({
222 jsonrpc: '2.0',
223 id: req.id,
224 result: {
225 protocolVersion: 1,
226 agentCapabilities: { loadSession: false },
227 },
228 } as JsonRpcResponse);
229 });
230 return;
231 }
232
233 if (req.method === 'session/new') {
234 queueMicrotask(() => {
235 this.emit({
236 jsonrpc: '2.0',
237 id: req.id,
238 result: { sessionId: this.sessionId },
239 } as JsonRpcResponse);
240 });
241 return;
242 }
243
244 if (req.method === 'session/prompt') {
245 this.promptRequestId = Number(req.id);

Callers

nothing calls this directly

Calls 1

emitMethod · 0.95

Tested by

no test coverage detected