@tarquinen/opencode-dcp 3.1.9 → 3.1.10
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.
- package/README.md +3 -0
- package/dist/index.d.ts +2 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7832 -76
- package/dist/index.js.map +1 -1
- package/dist/lib/config.d.ts +1 -0
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/hooks.d.ts +2 -10
- package/dist/lib/hooks.d.ts.map +1 -1
- package/dist/lib/messages/index.d.ts +1 -0
- package/dist/lib/messages/index.d.ts.map +1 -1
- package/dist/lib/messages/inject/utils.d.ts +7 -0
- package/dist/lib/messages/inject/utils.d.ts.map +1 -1
- package/dist/lib/messages/utils.d.ts +1 -1
- package/dist/lib/messages/utils.d.ts.map +1 -1
- package/dist/lib/state/state.d.ts.map +1 -1
- package/dist/lib/state/types.d.ts +0 -1
- package/dist/lib/state/types.d.ts.map +1 -1
- package/dist/lib/update.d.ts +22 -0
- package/dist/lib/update.d.ts.map +1 -0
- package/package.json +6 -5
- package/dist/lib/auth.js +0 -32
- package/dist/lib/auth.js.map +0 -1
- package/dist/lib/commands/compression-targets.js +0 -98
- package/dist/lib/commands/compression-targets.js.map +0 -1
- package/dist/lib/commands/context.js +0 -239
- package/dist/lib/commands/context.js.map +0 -1
- package/dist/lib/commands/decompress.js +0 -174
- package/dist/lib/commands/decompress.js.map +0 -1
- package/dist/lib/commands/help.js +0 -52
- package/dist/lib/commands/help.js.map +0 -1
- package/dist/lib/commands/index.js +0 -8
- package/dist/lib/commands/index.js.map +0 -1
- package/dist/lib/commands/manual.js +0 -75
- package/dist/lib/commands/manual.js.map +0 -1
- package/dist/lib/commands/recompress.js +0 -140
- package/dist/lib/commands/recompress.js.map +0 -1
- package/dist/lib/commands/stats.js +0 -97
- package/dist/lib/commands/stats.js.map +0 -1
- package/dist/lib/commands/sweep.js +0 -195
- package/dist/lib/commands/sweep.js.map +0 -1
- package/dist/lib/compress/index.js +0 -3
- package/dist/lib/compress/index.js.map +0 -1
- package/dist/lib/compress/message-utils.js +0 -179
- package/dist/lib/compress/message-utils.js.map +0 -1
- package/dist/lib/compress/message.js +0 -82
- package/dist/lib/compress/message.js.map +0 -1
- package/dist/lib/compress/pipeline.js +0 -41
- package/dist/lib/compress/pipeline.js.map +0 -1
- package/dist/lib/compress/protected-content.js +0 -106
- package/dist/lib/compress/protected-content.js.map +0 -1
- package/dist/lib/compress/range-utils.js +0 -199
- package/dist/lib/compress/range-utils.js.map +0 -1
- package/dist/lib/compress/range.js +0 -90
- package/dist/lib/compress/range.js.map +0 -1
- package/dist/lib/compress/search.js +0 -204
- package/dist/lib/compress/search.js.map +0 -1
- package/dist/lib/compress/state.js +0 -213
- package/dist/lib/compress/state.js.map +0 -1
- package/dist/lib/compress/timing.js +0 -42
- package/dist/lib/compress/timing.js.map +0 -1
- package/dist/lib/compress/types.js +0 -2
- package/dist/lib/compress/types.js.map +0 -1
- package/dist/lib/compress-permission.js +0 -10
- package/dist/lib/compress-permission.js.map +0 -1
- package/dist/lib/config.js +0 -760
- package/dist/lib/config.js.map +0 -1
- package/dist/lib/hooks.js +0 -245
- package/dist/lib/hooks.js.map +0 -1
- package/dist/lib/host-permissions.js +0 -58
- package/dist/lib/host-permissions.js.map +0 -1
- package/dist/lib/logger.js +0 -204
- package/dist/lib/logger.js.map +0 -1
- package/dist/lib/message-ids.js +0 -128
- package/dist/lib/message-ids.js.map +0 -1
- package/dist/lib/messages/index.js +0 -9
- package/dist/lib/messages/index.js.map +0 -1
- package/dist/lib/messages/inject/inject.js +0 -128
- package/dist/lib/messages/inject/inject.js.map +0 -1
- package/dist/lib/messages/inject/subagent-results.js +0 -58
- package/dist/lib/messages/inject/subagent-results.js.map +0 -1
- package/dist/lib/messages/inject/utils.js +0 -211
- package/dist/lib/messages/inject/utils.js.map +0 -1
- package/dist/lib/messages/priority.js +0 -65
- package/dist/lib/messages/priority.js.map +0 -1
- package/dist/lib/messages/prune.js +0 -180
- package/dist/lib/messages/prune.js.map +0 -1
- package/dist/lib/messages/query.js +0 -52
- package/dist/lib/messages/query.js.map +0 -1
- package/dist/lib/messages/reasoning-strip.js +0 -33
- package/dist/lib/messages/reasoning-strip.js.map +0 -1
- package/dist/lib/messages/shape.js +0 -39
- package/dist/lib/messages/shape.js.map +0 -1
- package/dist/lib/messages/sync.js +0 -93
- package/dist/lib/messages/sync.js.map +0 -1
- package/dist/lib/messages/utils.js +0 -146
- package/dist/lib/messages/utils.js.map +0 -1
- package/dist/lib/prompts/compress-message.js +0 -44
- package/dist/lib/prompts/compress-message.js.map +0 -1
- package/dist/lib/prompts/compress-range.js +0 -61
- package/dist/lib/prompts/compress-range.js.map +0 -1
- package/dist/lib/prompts/context-limit-nudge.js +0 -19
- package/dist/lib/prompts/context-limit-nudge.js.map +0 -1
- package/dist/lib/prompts/extensions/nudge.js +0 -35
- package/dist/lib/prompts/extensions/nudge.js.map +0 -1
- package/dist/lib/prompts/extensions/system.js +0 -30
- package/dist/lib/prompts/extensions/system.js.map +0 -1
- package/dist/lib/prompts/extensions/tool.js +0 -34
- package/dist/lib/prompts/extensions/tool.js.map +0 -1
- package/dist/lib/prompts/index.js +0 -18
- package/dist/lib/prompts/index.js.map +0 -1
- package/dist/lib/prompts/iteration-nudge.js +0 -7
- package/dist/lib/prompts/iteration-nudge.js.map +0 -1
- package/dist/lib/prompts/store.js +0 -358
- package/dist/lib/prompts/store.js.map +0 -1
- package/dist/lib/prompts/system.js +0 -34
- package/dist/lib/prompts/system.js.map +0 -1
- package/dist/lib/prompts/turn-nudge.js +0 -11
- package/dist/lib/prompts/turn-nudge.js.map +0 -1
- package/dist/lib/protected-patterns.js +0 -107
- package/dist/lib/protected-patterns.js.map +0 -1
- package/dist/lib/state/index.js +0 -5
- package/dist/lib/state/index.js.map +0 -1
- package/dist/lib/state/persistence.js +0 -172
- package/dist/lib/state/persistence.js.map +0 -1
- package/dist/lib/state/state.js +0 -143
- package/dist/lib/state/state.js.map +0 -1
- package/dist/lib/state/tool-cache.js +0 -69
- package/dist/lib/state/tool-cache.js.map +0 -1
- package/dist/lib/state/types.js +0 -2
- package/dist/lib/state/types.js.map +0 -1
- package/dist/lib/state/utils.js +0 -265
- package/dist/lib/state/utils.js.map +0 -1
- package/dist/lib/strategies/deduplication.js +0 -100
- package/dist/lib/strategies/deduplication.js.map +0 -1
- package/dist/lib/strategies/index.js +0 -3
- package/dist/lib/strategies/index.js.map +0 -1
- package/dist/lib/strategies/purge-errors.js +0 -62
- package/dist/lib/strategies/purge-errors.js.map +0 -1
- package/dist/lib/subagents/subagent-results.js +0 -52
- package/dist/lib/subagents/subagent-results.js.map +0 -1
- package/dist/lib/token-utils.js +0 -133
- package/dist/lib/token-utils.js.map +0 -1
- package/dist/lib/ui/notification.js +0 -243
- package/dist/lib/ui/notification.js.map +0 -1
- package/dist/lib/ui/utils.js +0 -256
- package/dist/lib/ui/utils.js.map +0 -1
package/dist/lib/config.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/hooks.js
DELETED
|
@@ -1,245 +0,0 @@
|
|
|
1
|
-
import { assignMessageRefs } from "./message-ids";
|
|
2
|
-
import { buildPriorityMap, buildToolIdList, injectCompressNudges, injectExtendedSubAgentResults, injectMessageIds, prune, stripHallucinations, stripHallucinationsFromString, stripStaleMetadata, syncCompressionBlocks, } from "./messages";
|
|
3
|
-
import { renderSystemPrompt } from "./prompts";
|
|
4
|
-
import { buildProtectedToolsExtension } from "./prompts/extensions/system";
|
|
5
|
-
import { applyPendingCompressionDurations, buildCompressionTimingKey, consumeCompressionStart, resolveCompressionDuration, } from "./compress/timing";
|
|
6
|
-
import { filterMessages, filterMessagesInPlace } from "./messages/shape";
|
|
7
|
-
import { applyPendingManualTrigger, handleContextCommand, handleDecompressCommand, handleHelpCommand, handleManualToggleCommand, handleManualTriggerCommand, handleRecompressCommand, handleStatsCommand, handleSweepCommand, } from "./commands";
|
|
8
|
-
import { compressPermission, syncCompressPermissionState } from "./compress-permission";
|
|
9
|
-
import { checkSession, ensureSessionInitialized, saveSessionState, syncToolCache } from "./state";
|
|
10
|
-
import { cacheSystemPromptTokens } from "./ui/utils";
|
|
11
|
-
const INTERNAL_AGENT_SIGNATURES = [
|
|
12
|
-
"You are a title generator",
|
|
13
|
-
"You are a helpful AI assistant tasked with summarizing conversations",
|
|
14
|
-
"Summarize what was done in this conversation",
|
|
15
|
-
];
|
|
16
|
-
export function createSystemPromptHandler(state, logger, config, prompts) {
|
|
17
|
-
return async (input, output) => {
|
|
18
|
-
if (input.model?.limit?.context) {
|
|
19
|
-
state.modelContextLimit = input.model.limit.context;
|
|
20
|
-
logger.debug("Cached model context limit", { limit: state.modelContextLimit });
|
|
21
|
-
}
|
|
22
|
-
if (state.isSubAgent && !config.experimental.allowSubAgents) {
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
const systemText = output.system.join("\n");
|
|
26
|
-
if (INTERNAL_AGENT_SIGNATURES.some((sig) => systemText.includes(sig))) {
|
|
27
|
-
logger.info("Skipping DCP system prompt injection for internal agent");
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
const effectivePermission = input.sessionID && state.sessionId === input.sessionID
|
|
31
|
-
? compressPermission(state, config)
|
|
32
|
-
: config.compress.permission;
|
|
33
|
-
if (effectivePermission === "deny") {
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
prompts.reload();
|
|
37
|
-
const runtimePrompts = prompts.getRuntimePrompts();
|
|
38
|
-
const newPrompt = renderSystemPrompt(runtimePrompts, buildProtectedToolsExtension(config.compress.protectedTools), !!state.manualMode, state.isSubAgent && config.experimental.allowSubAgents);
|
|
39
|
-
if (output.system.length > 0) {
|
|
40
|
-
output.system[output.system.length - 1] += "\n\n" + newPrompt;
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
output.system.push(newPrompt);
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
export function createChatMessageTransformHandler(client, state, logger, config, prompts, hostPermissions) {
|
|
48
|
-
return async (input, output) => {
|
|
49
|
-
const receivedMessages = Array.isArray(output.messages) ? output.messages.length : 0;
|
|
50
|
-
const messages = filterMessagesInPlace(output.messages);
|
|
51
|
-
if (messages.length !== receivedMessages) {
|
|
52
|
-
logger.warn("Skipping messages with unexpected shape during chat transform", {
|
|
53
|
-
received: receivedMessages,
|
|
54
|
-
usable: messages.length,
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
await checkSession(client, state, logger, output.messages, config.manualMode.enabled);
|
|
58
|
-
syncCompressPermissionState(state, config, hostPermissions, output.messages);
|
|
59
|
-
if (state.isSubAgent && !config.experimental.allowSubAgents) {
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
stripHallucinations(output.messages);
|
|
63
|
-
cacheSystemPromptTokens(state, output.messages);
|
|
64
|
-
assignMessageRefs(state, output.messages);
|
|
65
|
-
syncCompressionBlocks(state, logger, output.messages);
|
|
66
|
-
syncToolCache(state, config, logger, output.messages);
|
|
67
|
-
buildToolIdList(state, output.messages);
|
|
68
|
-
prune(state, logger, config, output.messages);
|
|
69
|
-
await injectExtendedSubAgentResults(client, state, logger, output.messages, config.experimental.allowSubAgents);
|
|
70
|
-
const compressionPriorities = buildPriorityMap(config, state, output.messages);
|
|
71
|
-
prompts.reload();
|
|
72
|
-
injectCompressNudges(state, config, logger, output.messages, prompts.getRuntimePrompts(), compressionPriorities);
|
|
73
|
-
injectMessageIds(state, config, output.messages, compressionPriorities);
|
|
74
|
-
applyPendingManualTrigger(state, output.messages, logger);
|
|
75
|
-
stripStaleMetadata(output.messages);
|
|
76
|
-
if (state.sessionId) {
|
|
77
|
-
await logger.saveContext(state.sessionId, output.messages);
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
export function createCommandExecuteHandler(client, state, logger, config, workingDirectory, hostPermissions) {
|
|
82
|
-
return async (input, output) => {
|
|
83
|
-
if (!config.commands.enabled) {
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
if (input.command === "dcp") {
|
|
87
|
-
const messagesResponse = await client.session.messages({
|
|
88
|
-
path: { id: input.sessionID },
|
|
89
|
-
});
|
|
90
|
-
const messages = filterMessages(messagesResponse.data || messagesResponse);
|
|
91
|
-
await ensureSessionInitialized(client, state, input.sessionID, logger, messages, config.manualMode.enabled);
|
|
92
|
-
syncCompressPermissionState(state, config, hostPermissions, messages);
|
|
93
|
-
const effectivePermission = compressPermission(state, config);
|
|
94
|
-
if (effectivePermission === "deny") {
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
const args = (input.arguments || "").trim().split(/\s+/).filter(Boolean);
|
|
98
|
-
const subcommand = args[0]?.toLowerCase() || "";
|
|
99
|
-
const subArgs = args.slice(1);
|
|
100
|
-
const commandCtx = {
|
|
101
|
-
client,
|
|
102
|
-
state,
|
|
103
|
-
config,
|
|
104
|
-
logger,
|
|
105
|
-
sessionId: input.sessionID,
|
|
106
|
-
messages,
|
|
107
|
-
};
|
|
108
|
-
if (subcommand === "context") {
|
|
109
|
-
await handleContextCommand(commandCtx);
|
|
110
|
-
throw new Error("__DCP_CONTEXT_HANDLED__");
|
|
111
|
-
}
|
|
112
|
-
if (subcommand === "stats") {
|
|
113
|
-
await handleStatsCommand(commandCtx);
|
|
114
|
-
throw new Error("__DCP_STATS_HANDLED__");
|
|
115
|
-
}
|
|
116
|
-
if (subcommand === "sweep") {
|
|
117
|
-
await handleSweepCommand({
|
|
118
|
-
...commandCtx,
|
|
119
|
-
args: subArgs,
|
|
120
|
-
workingDirectory,
|
|
121
|
-
});
|
|
122
|
-
throw new Error("__DCP_SWEEP_HANDLED__");
|
|
123
|
-
}
|
|
124
|
-
if (subcommand === "manual") {
|
|
125
|
-
await handleManualToggleCommand(commandCtx, subArgs[0]?.toLowerCase());
|
|
126
|
-
throw new Error("__DCP_MANUAL_HANDLED__");
|
|
127
|
-
}
|
|
128
|
-
if (subcommand === "compress") {
|
|
129
|
-
const userFocus = subArgs.join(" ").trim();
|
|
130
|
-
const prompt = await handleManualTriggerCommand(commandCtx, "compress", userFocus);
|
|
131
|
-
if (!prompt) {
|
|
132
|
-
throw new Error("__DCP_MANUAL_TRIGGER_BLOCKED__");
|
|
133
|
-
}
|
|
134
|
-
state.manualMode = "compress-pending";
|
|
135
|
-
state.pendingManualTrigger = {
|
|
136
|
-
sessionId: input.sessionID,
|
|
137
|
-
prompt,
|
|
138
|
-
};
|
|
139
|
-
const rawArgs = (input.arguments || "").trim();
|
|
140
|
-
output.parts.length = 0;
|
|
141
|
-
output.parts.push({
|
|
142
|
-
type: "text",
|
|
143
|
-
text: rawArgs ? `/dcp ${rawArgs}` : `/dcp ${subcommand}`,
|
|
144
|
-
});
|
|
145
|
-
return;
|
|
146
|
-
}
|
|
147
|
-
if (subcommand === "decompress") {
|
|
148
|
-
await handleDecompressCommand({
|
|
149
|
-
...commandCtx,
|
|
150
|
-
args: subArgs,
|
|
151
|
-
});
|
|
152
|
-
throw new Error("__DCP_DECOMPRESS_HANDLED__");
|
|
153
|
-
}
|
|
154
|
-
if (subcommand === "recompress") {
|
|
155
|
-
await handleRecompressCommand({
|
|
156
|
-
...commandCtx,
|
|
157
|
-
args: subArgs,
|
|
158
|
-
});
|
|
159
|
-
throw new Error("__DCP_RECOMPRESS_HANDLED__");
|
|
160
|
-
}
|
|
161
|
-
await handleHelpCommand(commandCtx);
|
|
162
|
-
throw new Error("__DCP_HELP_HANDLED__");
|
|
163
|
-
}
|
|
164
|
-
};
|
|
165
|
-
}
|
|
166
|
-
export function createTextCompleteHandler() {
|
|
167
|
-
return async (_input, output) => {
|
|
168
|
-
output.text = stripHallucinationsFromString(output.text);
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
export function createEventHandler(state, logger) {
|
|
172
|
-
return async (input) => {
|
|
173
|
-
const eventTime = typeof input.event?.time === "number" && Number.isFinite(input.event.time)
|
|
174
|
-
? input.event.time
|
|
175
|
-
: typeof input.event?.properties?.time === "number" &&
|
|
176
|
-
Number.isFinite(input.event.properties.time)
|
|
177
|
-
? input.event.properties.time
|
|
178
|
-
: undefined;
|
|
179
|
-
if (input.event.type !== "message.part.updated") {
|
|
180
|
-
return;
|
|
181
|
-
}
|
|
182
|
-
const part = input.event.properties?.part;
|
|
183
|
-
if (part?.type !== "tool" || part.tool !== "compress") {
|
|
184
|
-
return;
|
|
185
|
-
}
|
|
186
|
-
if (part.state.status === "pending") {
|
|
187
|
-
if (typeof part.callID !== "string" || typeof part.messageID !== "string") {
|
|
188
|
-
return;
|
|
189
|
-
}
|
|
190
|
-
const startedAt = eventTime ?? Date.now();
|
|
191
|
-
const key = buildCompressionTimingKey(part.messageID, part.callID);
|
|
192
|
-
if (state.compressionTiming.startsByCallId.has(key)) {
|
|
193
|
-
return;
|
|
194
|
-
}
|
|
195
|
-
state.compressionTiming.startsByCallId.set(key, startedAt);
|
|
196
|
-
logger.debug("Recorded compression start", {
|
|
197
|
-
messageID: part.messageID,
|
|
198
|
-
callID: part.callID,
|
|
199
|
-
startedAt,
|
|
200
|
-
});
|
|
201
|
-
return;
|
|
202
|
-
}
|
|
203
|
-
if (part.state.status === "completed") {
|
|
204
|
-
if (typeof part.callID !== "string" || typeof part.messageID !== "string") {
|
|
205
|
-
return;
|
|
206
|
-
}
|
|
207
|
-
const key = buildCompressionTimingKey(part.messageID, part.callID);
|
|
208
|
-
const start = consumeCompressionStart(state, part.messageID, part.callID);
|
|
209
|
-
const durationMs = resolveCompressionDuration(start, eventTime, part.state.time);
|
|
210
|
-
if (typeof durationMs !== "number") {
|
|
211
|
-
return;
|
|
212
|
-
}
|
|
213
|
-
state.compressionTiming.pendingByCallId.set(key, {
|
|
214
|
-
messageId: part.messageID,
|
|
215
|
-
callId: part.callID,
|
|
216
|
-
durationMs,
|
|
217
|
-
});
|
|
218
|
-
const updates = applyPendingCompressionDurations(state);
|
|
219
|
-
if (updates === 0) {
|
|
220
|
-
return;
|
|
221
|
-
}
|
|
222
|
-
await saveSessionState(state, logger);
|
|
223
|
-
logger.info("Attached compression time to blocks", {
|
|
224
|
-
messageID: part.messageID,
|
|
225
|
-
callID: part.callID,
|
|
226
|
-
blocks: updates,
|
|
227
|
-
durationMs,
|
|
228
|
-
});
|
|
229
|
-
return;
|
|
230
|
-
}
|
|
231
|
-
if (part.state.status === "running") {
|
|
232
|
-
return;
|
|
233
|
-
}
|
|
234
|
-
if (typeof part.callID === "string" && typeof part.messageID === "string") {
|
|
235
|
-
state.compressionTiming.startsByCallId.delete(buildCompressionTimingKey(part.messageID, part.callID));
|
|
236
|
-
}
|
|
237
|
-
};
|
|
238
|
-
}
|
|
239
|
-
export function createChatMessageHandler(state, logger, _config, _hostPermissions) {
|
|
240
|
-
return async (input, _output) => {
|
|
241
|
-
state.variant = input.variant;
|
|
242
|
-
logger.debug("Cached variant from chat.message hook", { variant: input.variant });
|
|
243
|
-
};
|
|
244
|
-
}
|
|
245
|
-
//# sourceMappingURL=hooks.js.map
|
package/dist/lib/hooks.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../lib/hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
const findLastMatchingRule = (rules, predicate) => {
|
|
2
|
-
for (let index = rules.length - 1; index >= 0; index -= 1) {
|
|
3
|
-
const rule = rules[index];
|
|
4
|
-
if (rule && predicate(rule)) {
|
|
5
|
-
return rule;
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
return undefined;
|
|
9
|
-
};
|
|
10
|
-
const wildcardMatch = (value, pattern) => {
|
|
11
|
-
const normalizedValue = value.replaceAll("\\", "/");
|
|
12
|
-
let escaped = pattern
|
|
13
|
-
.replaceAll("\\", "/")
|
|
14
|
-
.replace(/[.+^${}()|[\]\\]/g, "\\$&")
|
|
15
|
-
.replace(/\*/g, ".*")
|
|
16
|
-
.replace(/\?/g, ".");
|
|
17
|
-
if (escaped.endsWith(" .*")) {
|
|
18
|
-
escaped = escaped.slice(0, -3) + "( .*)?";
|
|
19
|
-
}
|
|
20
|
-
const flags = process.platform === "win32" ? "si" : "s";
|
|
21
|
-
return new RegExp(`^${escaped}$`, flags).test(normalizedValue);
|
|
22
|
-
};
|
|
23
|
-
const getPermissionRules = (permissionConfigs) => {
|
|
24
|
-
const rules = [];
|
|
25
|
-
for (const permissionConfig of permissionConfigs) {
|
|
26
|
-
if (!permissionConfig) {
|
|
27
|
-
continue;
|
|
28
|
-
}
|
|
29
|
-
for (const [permission, value] of Object.entries(permissionConfig)) {
|
|
30
|
-
if (value === "ask" || value === "allow" || value === "deny") {
|
|
31
|
-
rules.push({ permission, pattern: "*", action: value });
|
|
32
|
-
continue;
|
|
33
|
-
}
|
|
34
|
-
for (const [pattern, action] of Object.entries(value)) {
|
|
35
|
-
if (action === "ask" || action === "allow" || action === "deny") {
|
|
36
|
-
rules.push({ permission, pattern, action });
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return rules;
|
|
42
|
-
};
|
|
43
|
-
export const compressDisabledByOpencode = (...permissionConfigs) => {
|
|
44
|
-
const match = findLastMatchingRule(getPermissionRules(permissionConfigs), (rule) => wildcardMatch("compress", rule.permission));
|
|
45
|
-
return match?.pattern === "*" && match.action === "deny";
|
|
46
|
-
};
|
|
47
|
-
export const resolveEffectiveCompressPermission = (basePermission, hostPermissions, agentName) => {
|
|
48
|
-
if (basePermission === "deny") {
|
|
49
|
-
return "deny";
|
|
50
|
-
}
|
|
51
|
-
return compressDisabledByOpencode(hostPermissions.global, agentName ? hostPermissions.agents[agentName] : undefined)
|
|
52
|
-
? "deny"
|
|
53
|
-
: basePermission;
|
|
54
|
-
};
|
|
55
|
-
export const hasExplicitToolPermission = (permissionConfig, tool) => {
|
|
56
|
-
return permissionConfig ? Object.prototype.hasOwnProperty.call(permissionConfig, tool) : false;
|
|
57
|
-
};
|
|
58
|
-
//# sourceMappingURL=host-permissions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"host-permissions.js","sourceRoot":"","sources":["../../lib/host-permissions.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/logger.js
DELETED
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
import { writeFile, mkdir } from "fs/promises";
|
|
2
|
-
import { join } from "path";
|
|
3
|
-
import { existsSync } from "fs";
|
|
4
|
-
import { homedir } from "os";
|
|
5
|
-
export class Logger {
|
|
6
|
-
logDir;
|
|
7
|
-
enabled;
|
|
8
|
-
constructor(enabled) {
|
|
9
|
-
this.enabled = enabled;
|
|
10
|
-
const configHome = process.env.XDG_CONFIG_HOME || join(homedir(), ".config");
|
|
11
|
-
this.logDir = join(configHome, "opencode", "logs", "dcp");
|
|
12
|
-
}
|
|
13
|
-
async ensureLogDir() {
|
|
14
|
-
if (!existsSync(this.logDir)) {
|
|
15
|
-
await mkdir(this.logDir, { recursive: true });
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
formatData(data) {
|
|
19
|
-
if (!data)
|
|
20
|
-
return "";
|
|
21
|
-
const parts = [];
|
|
22
|
-
for (const [key, value] of Object.entries(data)) {
|
|
23
|
-
if (value === undefined || value === null)
|
|
24
|
-
continue;
|
|
25
|
-
// Format arrays compactly
|
|
26
|
-
if (Array.isArray(value)) {
|
|
27
|
-
if (value.length === 0)
|
|
28
|
-
continue;
|
|
29
|
-
parts.push(`${key}=[${value.slice(0, 3).join(",")}${value.length > 3 ? `...+${value.length - 3}` : ""}]`);
|
|
30
|
-
}
|
|
31
|
-
else if (typeof value === "object") {
|
|
32
|
-
const str = JSON.stringify(value);
|
|
33
|
-
if (str.length < 50) {
|
|
34
|
-
parts.push(`${key}=${str}`);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
parts.push(`${key}=${value}`);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return parts.join(" ");
|
|
42
|
-
}
|
|
43
|
-
getCallerFile(skipFrames = 3) {
|
|
44
|
-
const originalPrepareStackTrace = Error.prepareStackTrace;
|
|
45
|
-
try {
|
|
46
|
-
const err = new Error();
|
|
47
|
-
Error.prepareStackTrace = (_, stack) => stack;
|
|
48
|
-
const stack = err.stack;
|
|
49
|
-
Error.prepareStackTrace = originalPrepareStackTrace;
|
|
50
|
-
// Skip specified number of frames to get to actual caller
|
|
51
|
-
for (let i = skipFrames; i < stack.length; i++) {
|
|
52
|
-
const filename = stack[i]?.getFileName();
|
|
53
|
-
if (filename && !filename.includes("/logger.")) {
|
|
54
|
-
// Extract just the filename without path and extension
|
|
55
|
-
const match = filename.match(/([^/\\]+)\.[tj]s$/);
|
|
56
|
-
return match ? match[1] : filename;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
return "unknown";
|
|
60
|
-
}
|
|
61
|
-
catch {
|
|
62
|
-
return "unknown";
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
async write(level, component, message, data) {
|
|
66
|
-
if (!this.enabled)
|
|
67
|
-
return;
|
|
68
|
-
try {
|
|
69
|
-
await this.ensureLogDir();
|
|
70
|
-
const timestamp = new Date().toISOString();
|
|
71
|
-
const dataStr = this.formatData(data);
|
|
72
|
-
const logLine = `${timestamp} ${level.padEnd(5)} ${component}: ${message}${dataStr ? " | " + dataStr : ""}\n`;
|
|
73
|
-
const dailyLogDir = join(this.logDir, "daily");
|
|
74
|
-
if (!existsSync(dailyLogDir)) {
|
|
75
|
-
await mkdir(dailyLogDir, { recursive: true });
|
|
76
|
-
}
|
|
77
|
-
const logFile = join(dailyLogDir, `${new Date().toISOString().split("T")[0]}.log`);
|
|
78
|
-
await writeFile(logFile, logLine, { flag: "a" });
|
|
79
|
-
}
|
|
80
|
-
catch (error) { }
|
|
81
|
-
}
|
|
82
|
-
info(message, data) {
|
|
83
|
-
const component = this.getCallerFile(2);
|
|
84
|
-
return this.write("INFO", component, message, data);
|
|
85
|
-
}
|
|
86
|
-
debug(message, data) {
|
|
87
|
-
const component = this.getCallerFile(2);
|
|
88
|
-
return this.write("DEBUG", component, message, data);
|
|
89
|
-
}
|
|
90
|
-
warn(message, data) {
|
|
91
|
-
const component = this.getCallerFile(2);
|
|
92
|
-
return this.write("WARN", component, message, data);
|
|
93
|
-
}
|
|
94
|
-
error(message, data) {
|
|
95
|
-
const component = this.getCallerFile(2);
|
|
96
|
-
return this.write("ERROR", component, message, data);
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Strips unnecessary metadata from messages for cleaner debug logs.
|
|
100
|
-
*
|
|
101
|
-
* Removed:
|
|
102
|
-
* - All IDs (id, sessionID, messageID, parentID)
|
|
103
|
-
* - summary, path, cost, model, agent, mode, finish, providerID, modelID
|
|
104
|
-
* - step-start and step-finish parts entirely
|
|
105
|
-
* - snapshot fields
|
|
106
|
-
* - ignored text parts
|
|
107
|
-
*
|
|
108
|
-
* Kept:
|
|
109
|
-
* - role, time (created only), tokens (input, output, reasoning, cache)
|
|
110
|
-
* - text, reasoning, tool parts with content
|
|
111
|
-
* - tool calls with: tool, callID, input, output, metadata
|
|
112
|
-
*/
|
|
113
|
-
minimizeForDebug(messages) {
|
|
114
|
-
return messages.map((msg) => {
|
|
115
|
-
const minimized = {
|
|
116
|
-
role: msg.info?.role,
|
|
117
|
-
};
|
|
118
|
-
if (msg.info?.time?.created) {
|
|
119
|
-
minimized.time = msg.info.time.created;
|
|
120
|
-
}
|
|
121
|
-
if (msg.info?.tokens) {
|
|
122
|
-
minimized.tokens = {
|
|
123
|
-
input: msg.info.tokens.input,
|
|
124
|
-
output: msg.info.tokens.output,
|
|
125
|
-
reasoning: msg.info.tokens.reasoning,
|
|
126
|
-
cache: msg.info.tokens.cache,
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
if (msg.parts) {
|
|
130
|
-
minimized.parts = msg.parts
|
|
131
|
-
.map((part) => {
|
|
132
|
-
if (part.type === "step-start" || part.type === "step-finish") {
|
|
133
|
-
return null;
|
|
134
|
-
}
|
|
135
|
-
if (part.type === "text") {
|
|
136
|
-
if (part.ignored)
|
|
137
|
-
return null;
|
|
138
|
-
const textPart = { type: "text", text: part.text };
|
|
139
|
-
if (part.metadata)
|
|
140
|
-
textPart.metadata = part.metadata;
|
|
141
|
-
return textPart;
|
|
142
|
-
}
|
|
143
|
-
if (part.type === "reasoning") {
|
|
144
|
-
const reasoningPart = { type: "reasoning", text: part.text };
|
|
145
|
-
if (part.metadata)
|
|
146
|
-
reasoningPart.metadata = part.metadata;
|
|
147
|
-
return reasoningPart;
|
|
148
|
-
}
|
|
149
|
-
if (part.type === "tool") {
|
|
150
|
-
const toolPart = {
|
|
151
|
-
type: "tool",
|
|
152
|
-
tool: part.tool,
|
|
153
|
-
callID: part.callID,
|
|
154
|
-
};
|
|
155
|
-
if (part.state?.status) {
|
|
156
|
-
toolPart.status = part.state.status;
|
|
157
|
-
}
|
|
158
|
-
if (part.state?.input) {
|
|
159
|
-
toolPart.input = part.state.input;
|
|
160
|
-
}
|
|
161
|
-
if (part.state?.output) {
|
|
162
|
-
toolPart.output = part.state.output;
|
|
163
|
-
}
|
|
164
|
-
if (part.state?.error) {
|
|
165
|
-
toolPart.error = part.state.error;
|
|
166
|
-
}
|
|
167
|
-
if (part.metadata) {
|
|
168
|
-
toolPart.metadata = part.metadata;
|
|
169
|
-
}
|
|
170
|
-
if (part.state?.metadata) {
|
|
171
|
-
toolPart.metadata = {
|
|
172
|
-
...(toolPart.metadata || {}),
|
|
173
|
-
...part.state.metadata,
|
|
174
|
-
};
|
|
175
|
-
}
|
|
176
|
-
if (part.state?.title) {
|
|
177
|
-
toolPart.title = part.state.title;
|
|
178
|
-
}
|
|
179
|
-
return toolPart;
|
|
180
|
-
}
|
|
181
|
-
return null;
|
|
182
|
-
})
|
|
183
|
-
.filter(Boolean);
|
|
184
|
-
}
|
|
185
|
-
return minimized;
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
async saveContext(sessionId, messages) {
|
|
189
|
-
if (!this.enabled)
|
|
190
|
-
return;
|
|
191
|
-
try {
|
|
192
|
-
const contextDir = join(this.logDir, "context", sessionId);
|
|
193
|
-
if (!existsSync(contextDir)) {
|
|
194
|
-
await mkdir(contextDir, { recursive: true });
|
|
195
|
-
}
|
|
196
|
-
const minimized = this.minimizeForDebug(messages).filter((msg) => msg.parts && msg.parts.length > 0);
|
|
197
|
-
const timestamp = new Date().toISOString().replace(/[:.]/g, "-");
|
|
198
|
-
const contextFile = join(contextDir, `${timestamp}.json`);
|
|
199
|
-
await writeFile(contextFile, JSON.stringify(minimized, null, 2));
|
|
200
|
-
}
|
|
201
|
-
catch (error) { }
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
//# sourceMappingURL=logger.js.map
|
package/dist/lib/logger.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../lib/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAA;AAE5B,MAAM,OAAO,MAAM;IACP,MAAM,CAAQ;IACf,OAAO,CAAS;IAEvB,YAAY,OAAgB;QACxB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAA;QAC5E,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;IAC7D,CAAC;IAEO,KAAK,CAAC,YAAY;QACtB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACjD,CAAC;IACL,CAAC;IAEO,UAAU,CAAC,IAAU;QACzB,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAA;QAEpB,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;gBAAE,SAAQ;YAEnD,0BAA0B;YAC1B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAQ;gBAChC,KAAK,CAAC,IAAI,CACN,GAAG,GAAG,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAChG,CAAA;YACL,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACnC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;gBACjC,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;oBAClB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC,CAAA;gBAC/B,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC,CAAA;YACjC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IAEO,aAAa,CAAC,aAAqB,CAAC;QACxC,MAAM,yBAAyB,GAAG,KAAK,CAAC,iBAAiB,CAAA;QACzD,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAA;YACvB,KAAK,CAAC,iBAAiB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAA;YAC7C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAqC,CAAA;YACvD,KAAK,CAAC,iBAAiB,GAAG,yBAAyB,CAAA;YAEnD,0DAA0D;YAC1D,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAA;gBACxC,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC7C,uDAAuD;oBACvD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;oBACjD,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;gBACtC,CAAC;YACL,CAAC;YACD,OAAO,SAAS,CAAA;QACpB,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,SAAS,CAAA;QACpB,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,KAAa,EAAE,SAAiB,EAAE,OAAe,EAAE,IAAU;QAC7E,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAM;QAEzB,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;YAEzB,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;YAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YAErC,MAAM,OAAO,GAAG,GAAG,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAA;YAE7G,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YAC9C,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC3B,MAAM,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YACjD,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;YAClF,MAAM,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAA;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC,CAAA,CAAC;IACtB,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAAU;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;IACvD,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,IAAU;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;IACxD,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,IAAU;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;IACvD,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,IAAU;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;IACxD,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACK,gBAAgB,CAAC,QAAe;QACpC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACxB,MAAM,SAAS,GAAQ;gBACnB,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI;aACvB,CAAA;YAED,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gBAC1B,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAA;YAC1C,CAAC;YAED,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;gBACnB,SAAS,CAAC,MAAM,GAAG;oBACf,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;oBAC5B,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;oBAC9B,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS;oBACpC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;iBAC/B,CAAA;YACL,CAAC;YAED,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACZ,SAAS,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK;qBACtB,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;oBACf,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;wBAC5D,OAAO,IAAI,CAAA;oBACf,CAAC;oBAED,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBACvB,IAAI,IAAI,CAAC,OAAO;4BAAE,OAAO,IAAI,CAAA;wBAC7B,MAAM,QAAQ,GAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA;wBACvD,IAAI,IAAI,CAAC,QAAQ;4BAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;wBACpD,OAAO,QAAQ,CAAA;oBACnB,CAAC;oBAED,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBAC5B,MAAM,aAAa,GAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAA;wBACjE,IAAI,IAAI,CAAC,QAAQ;4BAAE,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;wBACzD,OAAO,aAAa,CAAA;oBACxB,CAAC;oBAED,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBACvB,MAAM,QAAQ,GAAQ;4BAClB,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,MAAM,EAAE,IAAI,CAAC,MAAM;yBACtB,CAAA;wBAED,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;4BACrB,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;wBACvC,CAAC;wBACD,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;4BACpB,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAA;wBACrC,CAAC;wBACD,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;4BACrB,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;wBACvC,CAAC;wBACD,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;4BACpB,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAA;wBACrC,CAAC;wBACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;4BAChB,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;wBACrC,CAAC;wBACD,IAAI,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;4BACvB,QAAQ,CAAC,QAAQ,GAAG;gCAChB,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;gCAC5B,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ;6BACzB,CAAA;wBACL,CAAC;wBACD,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;4BACpB,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAA;wBACrC,CAAC;wBAED,OAAO,QAAQ,CAAA;oBACnB,CAAC;oBAED,OAAO,IAAI,CAAA;gBACf,CAAC,CAAC;qBACD,MAAM,CAAC,OAAO,CAAC,CAAA;YACxB,CAAC;YAED,OAAO,SAAS,CAAA;QACpB,CAAC,CAAC,CAAA;IACN,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAiB,EAAE,QAAe;QAChD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAM;QAEzB,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;YAC1D,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC1B,MAAM,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAChD,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,MAAM,CACpD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAC7C,CAAA;YACD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;YAChE,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,OAAO,CAAC,CAAA;YACzD,MAAM,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC,CAAA,CAAC;IACtB,CAAC;CACJ"}
|