|
7 | 7 | sectionInsightPrompt, |
8 | 8 | type SectionKind, |
9 | 9 | } from "@/lib/prompts/section-insight"; |
10 | | -import { makeSseStream, sendInferenceMeta } from "@/lib/sse/stream"; |
| 10 | +import { makeSseStream, sendInferenceMeta, forwardAgentEvent } from "@/lib/sse/stream"; |
11 | 11 | import { log, correlationId } from "@/lib/log"; |
12 | 12 | import { optionalEnv } from "@/lib/utils"; |
13 | 13 |
|
@@ -70,28 +70,7 @@ export async function POST(req: NextRequest) { |
70 | 70 | maxIterations: 6, |
71 | 71 | maxTokens: 2048, |
72 | 72 | routeHint: "insights", |
73 | | - onEvent: (e) => { |
74 | | - if (e.type === "text_delta" && e.text) { |
75 | | - send({ type: "text_delta", text: e.text }); |
76 | | - } else if (e.type === "tool_use" && e.server && e.tool) { |
77 | | - send({ |
78 | | - type: "tool_use", |
79 | | - server: e.server, |
80 | | - tool: e.tool, |
81 | | - input: e.input, |
82 | | - }); |
83 | | - } else if (e.type === "tool_result" && e.server && e.tool) { |
84 | | - send({ |
85 | | - type: "tool_result", |
86 | | - server: e.server, |
87 | | - tool: e.tool, |
88 | | - is_error: e.is_error, |
89 | | - preview: e.preview ?? "", |
90 | | - }); |
91 | | - } else if (e.type === "usage_meta" && e.usage) { |
92 | | - send({ type: "usage_meta", usage: e.usage }); |
93 | | - } |
94 | | - }, |
| 73 | + onEvent: (e) => forwardAgentEvent(send, e), |
95 | 74 | }); |
96 | 75 | sendInferenceMeta(send, result.inferenceBackend); |
97 | 76 | log.info("insight.batch.done", { |
@@ -126,28 +105,7 @@ export async function POST(req: NextRequest) { |
126 | 105 | maxIterations: 4, |
127 | 106 | maxTokens: 1024, |
128 | 107 | routeHint: "insights", |
129 | | - onEvent: (e) => { |
130 | | - if (e.type === "text_delta" && e.text) { |
131 | | - send({ type: "text_delta", text: e.text }); |
132 | | - } else if (e.type === "tool_use" && e.server && e.tool) { |
133 | | - send({ |
134 | | - type: "tool_use", |
135 | | - server: e.server, |
136 | | - tool: e.tool, |
137 | | - input: e.input, |
138 | | - }); |
139 | | - } else if (e.type === "tool_result" && e.server && e.tool) { |
140 | | - send({ |
141 | | - type: "tool_result", |
142 | | - server: e.server, |
143 | | - tool: e.tool, |
144 | | - is_error: e.is_error, |
145 | | - preview: e.preview ?? "", |
146 | | - }); |
147 | | - } else if (e.type === "usage_meta" && e.usage) { |
148 | | - send({ type: "usage_meta", usage: e.usage }); |
149 | | - } |
150 | | - }, |
| 108 | + onEvent: (e) => forwardAgentEvent(send, e), |
151 | 109 | }); |
152 | 110 | sendInferenceMeta(send, result.inferenceBackend); |
153 | 111 | log.info("insight.done", { |
|
0 commit comments