@tarquinen/opencode-dcp 3.1.9 → 3.1.11

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.
Files changed (151) hide show
  1. package/README.md +5 -0
  2. package/dist/index.d.ts +2 -5
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +7905 -76
  5. package/dist/index.js.map +1 -1
  6. package/dist/lib/compress/message.d.ts.map +1 -1
  7. package/dist/lib/compress/protected-content.d.ts +2 -0
  8. package/dist/lib/compress/protected-content.d.ts.map +1 -1
  9. package/dist/lib/compress/range.d.ts.map +1 -1
  10. package/dist/lib/config.d.ts +2 -0
  11. package/dist/lib/config.d.ts.map +1 -1
  12. package/dist/lib/hooks.d.ts +2 -10
  13. package/dist/lib/hooks.d.ts.map +1 -1
  14. package/dist/lib/messages/index.d.ts +1 -0
  15. package/dist/lib/messages/index.d.ts.map +1 -1
  16. package/dist/lib/messages/inject/utils.d.ts +7 -0
  17. package/dist/lib/messages/inject/utils.d.ts.map +1 -1
  18. package/dist/lib/messages/utils.d.ts +1 -1
  19. package/dist/lib/messages/utils.d.ts.map +1 -1
  20. package/dist/lib/state/state.d.ts.map +1 -1
  21. package/dist/lib/state/types.d.ts +0 -1
  22. package/dist/lib/state/types.d.ts.map +1 -1
  23. package/dist/lib/update.d.ts +22 -0
  24. package/dist/lib/update.d.ts.map +1 -0
  25. package/package.json +6 -5
  26. package/dist/lib/auth.js +0 -32
  27. package/dist/lib/auth.js.map +0 -1
  28. package/dist/lib/commands/compression-targets.js +0 -98
  29. package/dist/lib/commands/compression-targets.js.map +0 -1
  30. package/dist/lib/commands/context.js +0 -239
  31. package/dist/lib/commands/context.js.map +0 -1
  32. package/dist/lib/commands/decompress.js +0 -174
  33. package/dist/lib/commands/decompress.js.map +0 -1
  34. package/dist/lib/commands/help.js +0 -52
  35. package/dist/lib/commands/help.js.map +0 -1
  36. package/dist/lib/commands/index.js +0 -8
  37. package/dist/lib/commands/index.js.map +0 -1
  38. package/dist/lib/commands/manual.js +0 -75
  39. package/dist/lib/commands/manual.js.map +0 -1
  40. package/dist/lib/commands/recompress.js +0 -140
  41. package/dist/lib/commands/recompress.js.map +0 -1
  42. package/dist/lib/commands/stats.js +0 -97
  43. package/dist/lib/commands/stats.js.map +0 -1
  44. package/dist/lib/commands/sweep.js +0 -195
  45. package/dist/lib/commands/sweep.js.map +0 -1
  46. package/dist/lib/compress/index.js +0 -3
  47. package/dist/lib/compress/index.js.map +0 -1
  48. package/dist/lib/compress/message-utils.js +0 -179
  49. package/dist/lib/compress/message-utils.js.map +0 -1
  50. package/dist/lib/compress/message.js +0 -82
  51. package/dist/lib/compress/message.js.map +0 -1
  52. package/dist/lib/compress/pipeline.js +0 -41
  53. package/dist/lib/compress/pipeline.js.map +0 -1
  54. package/dist/lib/compress/protected-content.js +0 -106
  55. package/dist/lib/compress/protected-content.js.map +0 -1
  56. package/dist/lib/compress/range-utils.js +0 -199
  57. package/dist/lib/compress/range-utils.js.map +0 -1
  58. package/dist/lib/compress/range.js +0 -90
  59. package/dist/lib/compress/range.js.map +0 -1
  60. package/dist/lib/compress/search.js +0 -204
  61. package/dist/lib/compress/search.js.map +0 -1
  62. package/dist/lib/compress/state.js +0 -213
  63. package/dist/lib/compress/state.js.map +0 -1
  64. package/dist/lib/compress/timing.js +0 -42
  65. package/dist/lib/compress/timing.js.map +0 -1
  66. package/dist/lib/compress/types.js +0 -2
  67. package/dist/lib/compress/types.js.map +0 -1
  68. package/dist/lib/compress-permission.js +0 -10
  69. package/dist/lib/compress-permission.js.map +0 -1
  70. package/dist/lib/config.js +0 -760
  71. package/dist/lib/config.js.map +0 -1
  72. package/dist/lib/hooks.js +0 -245
  73. package/dist/lib/hooks.js.map +0 -1
  74. package/dist/lib/host-permissions.js +0 -58
  75. package/dist/lib/host-permissions.js.map +0 -1
  76. package/dist/lib/logger.js +0 -204
  77. package/dist/lib/logger.js.map +0 -1
  78. package/dist/lib/message-ids.js +0 -128
  79. package/dist/lib/message-ids.js.map +0 -1
  80. package/dist/lib/messages/index.js +0 -9
  81. package/dist/lib/messages/index.js.map +0 -1
  82. package/dist/lib/messages/inject/inject.js +0 -128
  83. package/dist/lib/messages/inject/inject.js.map +0 -1
  84. package/dist/lib/messages/inject/subagent-results.js +0 -58
  85. package/dist/lib/messages/inject/subagent-results.js.map +0 -1
  86. package/dist/lib/messages/inject/utils.js +0 -211
  87. package/dist/lib/messages/inject/utils.js.map +0 -1
  88. package/dist/lib/messages/priority.js +0 -65
  89. package/dist/lib/messages/priority.js.map +0 -1
  90. package/dist/lib/messages/prune.js +0 -180
  91. package/dist/lib/messages/prune.js.map +0 -1
  92. package/dist/lib/messages/query.js +0 -52
  93. package/dist/lib/messages/query.js.map +0 -1
  94. package/dist/lib/messages/reasoning-strip.js +0 -33
  95. package/dist/lib/messages/reasoning-strip.js.map +0 -1
  96. package/dist/lib/messages/shape.js +0 -39
  97. package/dist/lib/messages/shape.js.map +0 -1
  98. package/dist/lib/messages/sync.js +0 -93
  99. package/dist/lib/messages/sync.js.map +0 -1
  100. package/dist/lib/messages/utils.js +0 -146
  101. package/dist/lib/messages/utils.js.map +0 -1
  102. package/dist/lib/prompts/compress-message.js +0 -44
  103. package/dist/lib/prompts/compress-message.js.map +0 -1
  104. package/dist/lib/prompts/compress-range.js +0 -61
  105. package/dist/lib/prompts/compress-range.js.map +0 -1
  106. package/dist/lib/prompts/context-limit-nudge.js +0 -19
  107. package/dist/lib/prompts/context-limit-nudge.js.map +0 -1
  108. package/dist/lib/prompts/extensions/nudge.js +0 -35
  109. package/dist/lib/prompts/extensions/nudge.js.map +0 -1
  110. package/dist/lib/prompts/extensions/system.js +0 -30
  111. package/dist/lib/prompts/extensions/system.js.map +0 -1
  112. package/dist/lib/prompts/extensions/tool.js +0 -34
  113. package/dist/lib/prompts/extensions/tool.js.map +0 -1
  114. package/dist/lib/prompts/index.js +0 -18
  115. package/dist/lib/prompts/index.js.map +0 -1
  116. package/dist/lib/prompts/iteration-nudge.js +0 -7
  117. package/dist/lib/prompts/iteration-nudge.js.map +0 -1
  118. package/dist/lib/prompts/store.js +0 -358
  119. package/dist/lib/prompts/store.js.map +0 -1
  120. package/dist/lib/prompts/system.js +0 -34
  121. package/dist/lib/prompts/system.js.map +0 -1
  122. package/dist/lib/prompts/turn-nudge.js +0 -11
  123. package/dist/lib/prompts/turn-nudge.js.map +0 -1
  124. package/dist/lib/protected-patterns.js +0 -107
  125. package/dist/lib/protected-patterns.js.map +0 -1
  126. package/dist/lib/state/index.js +0 -5
  127. package/dist/lib/state/index.js.map +0 -1
  128. package/dist/lib/state/persistence.js +0 -172
  129. package/dist/lib/state/persistence.js.map +0 -1
  130. package/dist/lib/state/state.js +0 -143
  131. package/dist/lib/state/state.js.map +0 -1
  132. package/dist/lib/state/tool-cache.js +0 -69
  133. package/dist/lib/state/tool-cache.js.map +0 -1
  134. package/dist/lib/state/types.js +0 -2
  135. package/dist/lib/state/types.js.map +0 -1
  136. package/dist/lib/state/utils.js +0 -265
  137. package/dist/lib/state/utils.js.map +0 -1
  138. package/dist/lib/strategies/deduplication.js +0 -100
  139. package/dist/lib/strategies/deduplication.js.map +0 -1
  140. package/dist/lib/strategies/index.js +0 -3
  141. package/dist/lib/strategies/index.js.map +0 -1
  142. package/dist/lib/strategies/purge-errors.js +0 -62
  143. package/dist/lib/strategies/purge-errors.js.map +0 -1
  144. package/dist/lib/subagents/subagent-results.js +0 -52
  145. package/dist/lib/subagents/subagent-results.js.map +0 -1
  146. package/dist/lib/token-utils.js +0 -133
  147. package/dist/lib/token-utils.js.map +0 -1
  148. package/dist/lib/ui/notification.js +0 -243
  149. package/dist/lib/ui/notification.js.map +0 -1
  150. package/dist/lib/ui/utils.js +0 -256
  151. package/dist/lib/ui/utils.js.map +0 -1
@@ -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
@@ -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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"}
@@ -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
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../lib/logger.ts"],"names":[],"mappings":"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"}