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

Method write

test/bindingRuntime.misc.test.ts:116–163  ·  view source on GitHub ↗
(message: JsonRpcMessage)

Source from the content-addressed store, hash-verified

114 }
115
116 write(message: JsonRpcMessage): void {
117 this.written.push(message);
118 if (!('method' in message)) return;
119
120 const req = message as JsonRpcRequest;
121 if (req.method === 'initialize') {
122 queueMicrotask(() => {
123 this.emit({
124 jsonrpc: '2.0',
125 id: req.id,
126 result: {
127 protocolVersion: 1,
128 agentCapabilities: { loadSession: this.loadSession },
129 },
130 } as JsonRpcResponse);
131 });
132 return;
133 }
134
135 if (req.method === 'session/new') {
136 queueMicrotask(() => {
137 this.emit({
138 jsonrpc: '2.0',
139 id: req.id,
140 result: { sessionId: this.sessionId },
141 } as JsonRpcResponse);
142 });
143 return;
144 }
145
146 if (req.method === 'session/prompt') {
147 this.promptRequests.push(req);
148 queueMicrotask(() => {
149 this.updates.forEach((update) => {
150 this.emit({
151 jsonrpc: '2.0',
152 method: 'session/update',
153 params: { sessionId: this.sessionId, update },
154 } as any);
155 });
156 this.emit({
157 jsonrpc: '2.0',
158 id: req.id,
159 result: { stopReason: 'end' },
160 } as JsonRpcResponse);
161 });
162 }
163 }
164
165 onMessage(cb: (message: JsonRpcMessage) => void): void {
166 this.handlers.push(cb);

Callers

nothing calls this directly

Calls 1

emitMethod · 0.95

Tested by

no test coverage detected