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

Method write

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

Source from the content-addressed store, hash-verified

32 }
33
34 write(message: JsonRpcMessage): void {
35 this.written.push(message);
36
37 // Client -> Agent requests
38 if ('method' in message) {
39 const req = message as JsonRpcRequest;
40
41 if (req.method === 'initialize') {
42 queueMicrotask(() => {
43 this.emit({
44 jsonrpc: '2.0',
45 id: req.id,
46 result: {
47 protocolVersion: 1,
48 agentCapabilities: { loadSession: false },
49 },
50 } as JsonRpcResponse);
51 });
52 return;
53 }
54
55 if (req.method === 'session/new') {
56 queueMicrotask(() => {
57 this.emit({
58 jsonrpc: '2.0',
59 id: req.id,
60 result: { sessionId: this.sessionId },
61 } as JsonRpcResponse);
62 });
63 return;
64 }
65
66 if (req.method === 'session/prompt') {
67 this.promptRequestId = Number(req.id);
68
69 queueMicrotask(() => {
70 // emit a tool call update (UI)
71 this.emit({
72 jsonrpc: '2.0',
73 method: 'session/update',
74 params: {
75 sessionId: this.sessionId,
76 update: {
77 sessionUpdate: 'tool_call_update',
78 title: 'terminal/create',
79 },
80 },
81 } as any);
82
83 // emit a plan update
84 this.emit({
85 jsonrpc: '2.0',
86 method: 'session/update',
87 params: {
88 sessionId: this.sessionId,
89 update: { sessionUpdate: 'plan', steps: [{ title: 'x' }] },
90 },
91 } as any);

Callers

nothing calls this directly

Calls 1

emitMethod · 0.95

Tested by

no test coverage detected