@tarquinen/opencode-dcp 3.2.3-beta0 → 3.2.4-beta0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { ToolContext } from "./types"
2
+ export { createCompressMessageTool } from "./message"
3
+ export { createCompressRangeTool } from "./range"
@@ -0,0 +1,250 @@
1
+ import type { PluginConfig } from "../config"
2
+ import type { SessionState } from "../state"
3
+ import { parseBoundaryId } from "../message-ids"
4
+ import { isIgnoredUserMessage, isProtectedUserMessage } from "../messages/query"
5
+ import { resolveAnchorMessageId, resolveBoundaryIds, resolveSelection } from "./search"
6
+ import { COMPRESSED_BLOCK_HEADER } from "./state"
7
+ import type {
8
+ CompressMessageEntry,
9
+ CompressMessageToolArgs,
10
+ ResolvedMessageCompression,
11
+ ResolvedMessageCompressionsResult,
12
+ SearchContext,
13
+ } from "./types"
14
+
15
+ interface SkippedIssue {
16
+ kind: string
17
+ messageId: string
18
+ }
19
+
20
+ class SoftIssue extends Error {
21
+ constructor(
22
+ public readonly kind: string,
23
+ public readonly messageId: string,
24
+ message: string,
25
+ ) {
26
+ super(message)
27
+ }
28
+ }
29
+
30
+ export function validateArgs(args: CompressMessageToolArgs): void {
31
+ if (typeof args.topic !== "string" || args.topic.trim().length === 0) {
32
+ throw new Error("topic is required and must be a non-empty string")
33
+ }
34
+
35
+ if (!Array.isArray(args.content) || args.content.length === 0) {
36
+ throw new Error("content is required and must be a non-empty array")
37
+ }
38
+
39
+ for (let index = 0; index < args.content.length; index++) {
40
+ const entry = args.content[index]
41
+ const prefix = `content[${index}]`
42
+
43
+ if (typeof entry?.messageId !== "string" || entry.messageId.trim().length === 0) {
44
+ throw new Error(`${prefix}.messageId is required and must be a non-empty string`)
45
+ }
46
+
47
+ if (typeof entry?.topic !== "string" || entry.topic.trim().length === 0) {
48
+ throw new Error(`${prefix}.topic is required and must be a non-empty string`)
49
+ }
50
+
51
+ if (typeof entry?.summary !== "string" || entry.summary.trim().length === 0) {
52
+ throw new Error(`${prefix}.summary is required and must be a non-empty string`)
53
+ }
54
+ }
55
+ }
56
+
57
+ export function formatResult(
58
+ processedCount: number,
59
+ skippedIssues: string[],
60
+ skippedCount: number,
61
+ ): string {
62
+ const messageNoun = processedCount === 1 ? "message" : "messages"
63
+ const processedText =
64
+ processedCount > 0
65
+ ? `Compressed ${processedCount} ${messageNoun} into ${COMPRESSED_BLOCK_HEADER}.`
66
+ : "Compressed 0 messages."
67
+
68
+ if (skippedCount === 0) {
69
+ return processedText
70
+ }
71
+
72
+ const issueNoun = skippedCount === 1 ? "issue" : "issues"
73
+ const issueLines = skippedIssues.map((issue) => `- ${issue}`).join("\n")
74
+ return `${processedText}\nSkipped ${skippedCount} ${issueNoun}:\n${issueLines}`
75
+ }
76
+
77
+ export function formatIssues(skippedIssues: string[], skippedCount: number): string {
78
+ const issueNoun = skippedCount === 1 ? "issue" : "issues"
79
+ const issueLines = skippedIssues.map((issue) => `- ${issue}`).join("\n")
80
+ return `Unable to compress any messages. Found ${skippedCount} ${issueNoun}:\n${issueLines}`
81
+ }
82
+
83
+ const ISSUE_TEMPLATES: Record<string, [singular: string, plural: string]> = {
84
+ blocked: [
85
+ "refers to a protected message and cannot be compressed.",
86
+ "refer to protected messages and cannot be compressed.",
87
+ ],
88
+ "invalid-format": [
89
+ "is invalid. Use an injected raw message ID of the form mNNNN.",
90
+ "are invalid. Use injected raw message IDs of the form mNNNN.",
91
+ ],
92
+ "block-id": [
93
+ "is invalid here. Block IDs like bN are not allowed; use an mNNNN message ID instead.",
94
+ "are invalid here. Block IDs like bN are not allowed; use mNNNN message IDs instead.",
95
+ ],
96
+ "not-in-context": [
97
+ "is not available in the current conversation context. Choose an injected mNNNN ID visible in context.",
98
+ "are not available in the current conversation context. Choose injected mNNNN IDs visible in context.",
99
+ ],
100
+ protected: [
101
+ "refers to a protected message and cannot be compressed.",
102
+ "refer to protected messages and cannot be compressed.",
103
+ ],
104
+ "already-compressed": [
105
+ "is already part of an active compression.",
106
+ "are already part of active compressions.",
107
+ ],
108
+ duplicate: [
109
+ "was selected more than once in this batch.",
110
+ "were each selected more than once in this batch.",
111
+ ],
112
+ }
113
+
114
+ function formatSkippedGroup(kind: string, messageIds: string[]): string {
115
+ const templates = ISSUE_TEMPLATES[kind]
116
+ const ids = messageIds.join(", ")
117
+ const single = messageIds.length === 1
118
+ const prefix = single ? "messageId" : "messageIds"
119
+
120
+ if (!templates) {
121
+ return `${prefix} ${ids}: unknown issue.`
122
+ }
123
+
124
+ return `${prefix} ${ids} ${single ? templates[0] : templates[1]}`
125
+ }
126
+
127
+ function groupSkippedIssues(issues: SkippedIssue[]): string[] {
128
+ const groups = new Map<string, string[]>()
129
+ const order: string[] = []
130
+
131
+ for (const issue of issues) {
132
+ let ids = groups.get(issue.kind)
133
+ if (!ids) {
134
+ ids = []
135
+ groups.set(issue.kind, ids)
136
+ order.push(issue.kind)
137
+ }
138
+ ids.push(issue.messageId)
139
+ }
140
+
141
+ return order.map((kind) => {
142
+ const ids = groups.get(kind)!
143
+ return formatSkippedGroup(kind, ids)
144
+ })
145
+ }
146
+
147
+ export function resolveMessages(
148
+ args: CompressMessageToolArgs,
149
+ searchContext: SearchContext,
150
+ state: SessionState,
151
+ config: PluginConfig,
152
+ ): ResolvedMessageCompressionsResult {
153
+ const issues: SkippedIssue[] = []
154
+ const plans: ResolvedMessageCompression[] = []
155
+ const seenMessageIds = new Set<string>()
156
+
157
+ for (const entry of args.content) {
158
+ const normalizedMessageId = entry.messageId.trim()
159
+ if (seenMessageIds.has(normalizedMessageId)) {
160
+ issues.push({ kind: "duplicate", messageId: normalizedMessageId })
161
+ continue
162
+ }
163
+
164
+ try {
165
+ const plan = resolveMessage(
166
+ {
167
+ ...entry,
168
+ messageId: normalizedMessageId,
169
+ },
170
+ searchContext,
171
+ state,
172
+ config,
173
+ )
174
+ seenMessageIds.add(plan.entry.messageId)
175
+ plans.push(plan)
176
+ } catch (error: any) {
177
+ if (error instanceof SoftIssue) {
178
+ issues.push({ kind: error.kind, messageId: error.messageId })
179
+ continue
180
+ }
181
+
182
+ throw error
183
+ }
184
+ }
185
+
186
+ return {
187
+ plans,
188
+ skippedIssues: groupSkippedIssues(issues),
189
+ skippedCount: issues.length,
190
+ }
191
+ }
192
+
193
+ function resolveMessage(
194
+ entry: CompressMessageEntry,
195
+ searchContext: SearchContext,
196
+ state: SessionState,
197
+ config: PluginConfig,
198
+ ): ResolvedMessageCompression {
199
+ if (entry.messageId.toUpperCase() === "BLOCKED") {
200
+ throw new SoftIssue("blocked", "BLOCKED", "protected message")
201
+ }
202
+
203
+ const parsed = parseBoundaryId(entry.messageId)
204
+
205
+ if (!parsed) {
206
+ throw new SoftIssue("invalid-format", entry.messageId, "invalid format")
207
+ }
208
+
209
+ if (parsed.kind === "compressed-block") {
210
+ throw new SoftIssue("block-id", entry.messageId, "block ID used")
211
+ }
212
+
213
+ const messageId = state.messageIds.byRef.get(parsed.ref)
214
+ const rawMessage = messageId ? searchContext.rawMessagesById.get(messageId) : undefined
215
+ if (
216
+ !messageId ||
217
+ !rawMessage ||
218
+ !searchContext.rawIndexById.has(messageId) ||
219
+ isIgnoredUserMessage(rawMessage)
220
+ ) {
221
+ throw new SoftIssue("not-in-context", parsed.ref, "not in context")
222
+ }
223
+
224
+ const { startReference, endReference } = resolveBoundaryIds(
225
+ searchContext,
226
+ state,
227
+ parsed.ref,
228
+ parsed.ref,
229
+ )
230
+ const selection = resolveSelection(searchContext, startReference, endReference)
231
+
232
+ if (isProtectedUserMessage(config, rawMessage)) {
233
+ throw new SoftIssue("protected", parsed.ref, "protected message")
234
+ }
235
+
236
+ const pruneEntry = state.prune.messages.byMessageId.get(messageId)
237
+ if (pruneEntry && pruneEntry.activeBlockIds.length > 0) {
238
+ throw new SoftIssue("already-compressed", parsed.ref, "already compressed")
239
+ }
240
+
241
+ return {
242
+ entry: {
243
+ messageId: parsed.ref,
244
+ topic: entry.topic,
245
+ summary: entry.summary,
246
+ },
247
+ selection,
248
+ anchorMessageId: resolveAnchorMessageId(startReference),
249
+ }
250
+ }
@@ -0,0 +1,137 @@
1
+ import { tool } from "@opencode-ai/plugin"
2
+ import type { ToolContext } from "./types"
3
+ import { countTokens } from "../token-utils"
4
+ import { MESSAGE_FORMAT_EXTENSION } from "../prompts/extensions/tool"
5
+ import { formatIssues, formatResult, resolveMessages, validateArgs } from "./message-utils"
6
+ import { finalizeSession, prepareSession, type NotificationEntry } from "./pipeline"
7
+ import { appendProtectedTools } from "./protected-content"
8
+ import {
9
+ allocateBlockId,
10
+ allocateRunId,
11
+ applyCompressionState,
12
+ wrapCompressedSummary,
13
+ } from "./state"
14
+ import type { CompressMessageToolArgs } from "./types"
15
+
16
+ function buildSchema() {
17
+ return {
18
+ topic: tool.schema
19
+ .string()
20
+ .describe(
21
+ "Short label (3-5 words) for the overall batch - e.g., 'Closed Research Notes'",
22
+ ),
23
+ content: tool.schema
24
+ .array(
25
+ tool.schema.object({
26
+ messageId: tool.schema
27
+ .string()
28
+ .describe("Raw message ID to compress (e.g. m0001)"),
29
+ topic: tool.schema
30
+ .string()
31
+ .describe("Short label (3-5 words) for this one message summary"),
32
+ summary: tool.schema
33
+ .string()
34
+ .describe("Complete technical summary replacing that one message"),
35
+ }),
36
+ )
37
+ .describe("Batch of individual message summaries to create in one tool call"),
38
+ }
39
+ }
40
+
41
+ export function createCompressMessageTool(ctx: ToolContext): ReturnType<typeof tool> {
42
+ ctx.prompts.reload()
43
+ const runtimePrompts = ctx.prompts.getRuntimePrompts()
44
+
45
+ return tool({
46
+ description: runtimePrompts.compressMessage + MESSAGE_FORMAT_EXTENSION,
47
+ args: buildSchema(),
48
+ async execute(args, toolCtx) {
49
+ const input = args as CompressMessageToolArgs
50
+ validateArgs(input)
51
+ const callId =
52
+ typeof (toolCtx as unknown as { callID?: unknown }).callID === "string"
53
+ ? (toolCtx as unknown as { callID: string }).callID
54
+ : undefined
55
+
56
+ const { rawMessages, searchContext } = await prepareSession(
57
+ ctx,
58
+ toolCtx,
59
+ `Compress Message: ${input.topic}`,
60
+ )
61
+ const { plans, skippedIssues, skippedCount } = resolveMessages(
62
+ input,
63
+ searchContext,
64
+ ctx.state,
65
+ ctx.config,
66
+ )
67
+
68
+ if (plans.length === 0 && skippedCount > 0) {
69
+ throw new Error(formatIssues(skippedIssues, skippedCount))
70
+ }
71
+
72
+ const notifications: NotificationEntry[] = []
73
+
74
+ const preparedPlans: Array<{
75
+ plan: (typeof plans)[number]
76
+ summaryWithTools: string
77
+ }> = []
78
+
79
+ for (const plan of plans) {
80
+ const summaryWithTools = await appendProtectedTools(
81
+ ctx.client,
82
+ ctx.state,
83
+ ctx.config.experimental.allowSubAgents,
84
+ plan.entry.summary,
85
+ plan.selection,
86
+ searchContext,
87
+ ctx.config.compress.protectedTools,
88
+ ctx.config.protectedFilePatterns,
89
+ )
90
+
91
+ preparedPlans.push({
92
+ plan,
93
+ summaryWithTools,
94
+ })
95
+ }
96
+
97
+ const runId = allocateRunId(ctx.state)
98
+
99
+ for (const { plan, summaryWithTools } of preparedPlans) {
100
+ const blockId = allocateBlockId(ctx.state)
101
+ const storedSummary = wrapCompressedSummary(blockId, summaryWithTools)
102
+ const summaryTokens = countTokens(storedSummary)
103
+
104
+ applyCompressionState(
105
+ ctx.state,
106
+ {
107
+ topic: plan.entry.topic,
108
+ batchTopic: input.topic,
109
+ startId: plan.entry.messageId,
110
+ endId: plan.entry.messageId,
111
+ mode: "message",
112
+ runId,
113
+ compressMessageId: toolCtx.messageID,
114
+ compressCallId: callId,
115
+ summaryTokens,
116
+ },
117
+ plan.selection,
118
+ plan.anchorMessageId,
119
+ blockId,
120
+ storedSummary,
121
+ [],
122
+ )
123
+
124
+ notifications.push({
125
+ blockId,
126
+ runId,
127
+ summary: summaryWithTools,
128
+ summaryTokens,
129
+ })
130
+ }
131
+
132
+ await finalizeSession(ctx, toolCtx, rawMessages, notifications, input.topic)
133
+
134
+ return formatResult(plans.length, skippedIssues, skippedCount)
135
+ },
136
+ })
137
+ }
@@ -0,0 +1,106 @@
1
+ import type { WithParts } from "../state"
2
+ import { ensureSessionInitialized } from "../state"
3
+ import { saveSessionState } from "../state/persistence"
4
+ import { assignMessageRefs } from "../message-ids"
5
+ import { isIgnoredUserMessage } from "../messages/query"
6
+ import { deduplicate, purgeErrors } from "../strategies"
7
+ import { getCurrentParams } from "../token-utils"
8
+ import { sendCompressNotification } from "../ui/notification"
9
+ import type { ToolContext } from "./types"
10
+ import { buildSearchContext, fetchSessionMessages } from "./search"
11
+ import type { SearchContext } from "./types"
12
+ import { applyPendingCompressionDurations } from "./timing"
13
+
14
+ interface RunContext {
15
+ ask(input: {
16
+ permission: string
17
+ patterns: string[]
18
+ always: string[]
19
+ metadata: Record<string, unknown>
20
+ }): Promise<void>
21
+ metadata(input: { title: string }): void
22
+ sessionID: string
23
+ }
24
+
25
+ export interface NotificationEntry {
26
+ blockId: number
27
+ runId: number
28
+ summary: string
29
+ summaryTokens: number
30
+ }
31
+
32
+ export interface PreparedSession {
33
+ rawMessages: WithParts[]
34
+ searchContext: SearchContext
35
+ }
36
+
37
+ export async function prepareSession(
38
+ ctx: ToolContext,
39
+ toolCtx: RunContext,
40
+ title: string,
41
+ ): Promise<PreparedSession> {
42
+ if (ctx.state.manualMode && ctx.state.manualMode !== "compress-pending") {
43
+ throw new Error(
44
+ "Manual mode: compress blocked. Do not retry until `<compress triggered manually>` appears in user context.",
45
+ )
46
+ }
47
+
48
+ await toolCtx.ask({
49
+ permission: "compress",
50
+ patterns: ["*"],
51
+ always: ["*"],
52
+ metadata: {},
53
+ })
54
+
55
+ toolCtx.metadata({ title })
56
+
57
+ const rawMessages = await fetchSessionMessages(ctx.client, toolCtx.sessionID)
58
+
59
+ await ensureSessionInitialized(
60
+ ctx.client,
61
+ ctx.state,
62
+ toolCtx.sessionID,
63
+ ctx.logger,
64
+ rawMessages,
65
+ ctx.config.manualMode.enabled,
66
+ )
67
+
68
+ assignMessageRefs(ctx.state, rawMessages)
69
+
70
+ deduplicate(ctx.state, ctx.logger, ctx.config, rawMessages)
71
+ purgeErrors(ctx.state, ctx.logger, ctx.config, rawMessages)
72
+
73
+ return {
74
+ rawMessages,
75
+ searchContext: buildSearchContext(ctx.state, rawMessages),
76
+ }
77
+ }
78
+
79
+ export async function finalizeSession(
80
+ ctx: ToolContext,
81
+ toolCtx: RunContext,
82
+ rawMessages: WithParts[],
83
+ entries: NotificationEntry[],
84
+ batchTopic: string | undefined,
85
+ ): Promise<void> {
86
+ ctx.state.manualMode = ctx.state.manualMode ? "active" : false
87
+ applyPendingCompressionDurations(ctx.state)
88
+ await saveSessionState(ctx.state, ctx.logger)
89
+
90
+ const params = getCurrentParams(ctx.state, rawMessages, ctx.logger)
91
+ const sessionMessageIds = rawMessages
92
+ .filter((msg) => !isIgnoredUserMessage(msg))
93
+ .map((msg) => msg.info.id)
94
+
95
+ await sendCompressNotification(
96
+ ctx.client,
97
+ ctx.logger,
98
+ ctx.config,
99
+ ctx.state,
100
+ toolCtx.sessionID,
101
+ entries,
102
+ batchTopic,
103
+ sessionMessageIds,
104
+ params,
105
+ )
106
+ }