MCPcopy Index your code
hub / github.com/anomalyco/opencode / turns

Function turns

packages/opencode/src/session/compaction.ts:87–103  ·  view source on GitHub ↗
(messages: SessionV1.WithParts[])

Source from the content-addressed store, hash-verified

85}
86
87function turns(messages: SessionV1.WithParts[]) {
88 const result: Turn[] = []
89 for (let i = 0; i < messages.length; i++) {
90 const msg = messages[i]
91 if (msg.info.role !== "user") continue
92 if (msg.parts.some((part) => part.type === "compaction")) continue
93 result.push({
94 start: i,
95 end: messages.length,
96 id: msg.info.id,
97 })
98 }
99 for (let i = 0; i < result.length - 1; i++) {
100 result[i].end = result[i + 1].start
101 }
102 return result
103}
104
105function splitTurn(input: {
106 messages: SessionV1.WithParts[]

Callers 1

compaction.tsFile · 0.70

Calls 1

pushMethod · 0.80

Tested by

no test coverage detected