MCPcopy
hub / github.com/di-sukharev/opencommit / fromSSEResponse

Method fromSSEResponse

out/cli.cjs:69073–69122  ·  view source on GitHub ↗
(response, controller)

Source from the content-addressed store, hash-verified

69071};
69072
69073// node_modules/@anthropic-ai/sdk/streaming.mjs
69074var Stream = class _Stream {
69075 constructor(iterator2, controller) {
69076 this.iterator = iterator2;
69077 this.controller = controller;
69078 }
69079 static fromSSEResponse(response, controller) {
69080 let consumed = false;
69081 async function* iterator2() {
69082 if (consumed) {
69083 throw new Error("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");
69084 }
69085 consumed = true;
69086 let done = false;
69087 try {
69088 for await (const sse of _iterSSEMessages(response, controller)) {
69089 if (sse.event === "completion") {
69090 try {
69091 yield JSON.parse(sse.data);
69092 } catch (e3) {
69093 console.error(`Could not parse message into JSON:`, sse.data);
69094 console.error(`From chunk:`, sse.raw);
69095 throw e3;
69096 }
69097 }
69098 if (sse.event === "message_start" || sse.event === "message_delta" || sse.event === "message_stop" || sse.event === "content_block_start" || sse.event === "content_block_delta" || sse.event === "content_block_stop") {
69099 try {
69100 yield JSON.parse(sse.data);
69101 } catch (e3) {
69102 console.error(`Could not parse message into JSON:`, sse.data);
69103 console.error(`From chunk:`, sse.raw);
69104 throw e3;
69105 }
69106 }
69107 if (sse.event === "ping") {
69108 continue;
69109 }
69110 if (sse.event === "error") {
69111 const errText = sse.data;
69112 const errJSON = safeJSON(errText);
69113 const errMessage = errJSON ? void 0 : errText;
69114 throw APIError.generate(void 0, errJSON, errMessage, createResponseHeaders(response.headers));
69115 }
69116 }
69117 done = true;
69118 } catch (e3) {
69119 if (e3 instanceof Error && e3.name === "AbortError")
69120 return;
69121 throw e3;
69122 } finally {
69123 if (!done)
69124 controller.abort();
69125 }

Callers 2

defaultParseResponseFunction · 0.80
defaultParseResponse2Function · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected