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

Method write

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

Source from the content-addressed store, hash-verified

280 private sessionId = 'sess-summary';
281
282 write(message: JsonRpcMessage): void {
283 if ('method' in message) {
284 const req = message as JsonRpcRequest;
285
286 if (req.method === 'initialize') {
287 queueMicrotask(() => {
288 this.emit({
289 jsonrpc: '2.0',
290 id: req.id,
291 result: {
292 protocolVersion: 1,
293 agentCapabilities: { loadSession: false },
294 },
295 } as JsonRpcResponse);
296 });
297 return;
298 }
299
300 if (req.method === 'session/new') {
301 queueMicrotask(() => {
302 this.emit({
303 jsonrpc: '2.0',
304 id: req.id,
305 result: { sessionId: this.sessionId },
306 } as JsonRpcResponse);
307 });
308 return;
309 }
310
311 if (req.method === 'session/prompt') {
312 this.promptRequestId = Number(req.id);
313
314 queueMicrotask(() => {
315 this.emit({
316 jsonrpc: '2.0',
317 method: 'session/update',
318 params: {
319 sessionId: this.sessionId,
320 update: {
321 sessionUpdate: 'tool_call_update',
322 title: 'call_1234',
323 },
324 },
325 } as any);
326
327 this.emit({
328 jsonrpc: '2.0',
329 method: 'session/update',
330 params: {
331 sessionId: this.sessionId,
332 update: {
333 sessionUpdate: 'tool_call',
334 toolCallId: 'tc-1',
335 title: 'terminal/create',
336 },
337 },
338 } as any);
339

Callers

nothing calls this directly

Calls 1

emitMethod · 0.95

Tested by

no test coverage detected