MCPcopy Create free account
hub / github.com/anomalyco/opencode / compactToolState

Function compactToolState

packages/opencode/src/cli/cmd/run/subagent-data.ts:198–235  ·  view source on GitHub ↗
(part: ToolPart)

Source from the content-addressed store, hash-verified

196}
197
198function compactToolState(part: ToolPart): ToolPart["state"] {
199 if (part.state.status === "pending") {
200 return {
201 status: "pending",
202 input: part.state.input,
203 raw: part.state.raw,
204 }
205 }
206
207 if (part.state.status === "running") {
208 return {
209 status: "running",
210 input: part.state.input,
211 time: part.state.time,
212 ...(part.state.metadata ? { metadata: part.state.metadata } : {}),
213 ...(part.state.title ? { title: part.state.title } : {}),
214 }
215 }
216
217 if (part.state.status === "completed") {
218 return {
219 status: "completed",
220 input: part.state.input,
221 output: part.state.output,
222 title: part.state.title,
223 metadata: part.state.metadata,
224 time: part.state.time,
225 }
226 }
227
228 return {
229 status: "error",
230 input: part.state.input,
231 error: part.state.error,
232 time: part.state.time,
233 ...(part.state.metadata ? { metadata: part.state.metadata } : {}),
234 }
235}
236
237function recent<T>(input: Iterable<T>, limit: number) {
238 const list = [...input]

Callers 1

compactToolPartFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected