@yuaone/core 0.1.0

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 (235) hide show
  1. package/LICENSE +663 -0
  2. package/README.md +15 -0
  3. package/dist/__tests__/context-manager.test.d.ts +6 -0
  4. package/dist/__tests__/context-manager.test.d.ts.map +1 -0
  5. package/dist/__tests__/context-manager.test.js +220 -0
  6. package/dist/__tests__/context-manager.test.js.map +1 -0
  7. package/dist/__tests__/governor.test.d.ts +6 -0
  8. package/dist/__tests__/governor.test.d.ts.map +1 -0
  9. package/dist/__tests__/governor.test.js +210 -0
  10. package/dist/__tests__/governor.test.js.map +1 -0
  11. package/dist/__tests__/model-router.test.d.ts +6 -0
  12. package/dist/__tests__/model-router.test.d.ts.map +1 -0
  13. package/dist/__tests__/model-router.test.js +329 -0
  14. package/dist/__tests__/model-router.test.js.map +1 -0
  15. package/dist/agent-logger.d.ts +384 -0
  16. package/dist/agent-logger.d.ts.map +1 -0
  17. package/dist/agent-logger.js +820 -0
  18. package/dist/agent-logger.js.map +1 -0
  19. package/dist/agent-loop.d.ts +163 -0
  20. package/dist/agent-loop.d.ts.map +1 -0
  21. package/dist/agent-loop.js +609 -0
  22. package/dist/agent-loop.js.map +1 -0
  23. package/dist/agent-modes.d.ts +85 -0
  24. package/dist/agent-modes.d.ts.map +1 -0
  25. package/dist/agent-modes.js +418 -0
  26. package/dist/agent-modes.js.map +1 -0
  27. package/dist/approval.d.ts +137 -0
  28. package/dist/approval.d.ts.map +1 -0
  29. package/dist/approval.js +299 -0
  30. package/dist/approval.js.map +1 -0
  31. package/dist/async-completion-queue.d.ts +56 -0
  32. package/dist/async-completion-queue.d.ts.map +1 -0
  33. package/dist/async-completion-queue.js +77 -0
  34. package/dist/async-completion-queue.js.map +1 -0
  35. package/dist/auto-fix.d.ts +174 -0
  36. package/dist/auto-fix.d.ts.map +1 -0
  37. package/dist/auto-fix.js +319 -0
  38. package/dist/auto-fix.js.map +1 -0
  39. package/dist/codebase-context.d.ts +396 -0
  40. package/dist/codebase-context.d.ts.map +1 -0
  41. package/dist/codebase-context.js +1260 -0
  42. package/dist/codebase-context.js.map +1 -0
  43. package/dist/conflict-resolver.d.ts +191 -0
  44. package/dist/conflict-resolver.d.ts.map +1 -0
  45. package/dist/conflict-resolver.js +524 -0
  46. package/dist/conflict-resolver.js.map +1 -0
  47. package/dist/constants.d.ts +52 -0
  48. package/dist/constants.d.ts.map +1 -0
  49. package/dist/constants.js +141 -0
  50. package/dist/constants.js.map +1 -0
  51. package/dist/context-budget.d.ts +435 -0
  52. package/dist/context-budget.d.ts.map +1 -0
  53. package/dist/context-budget.js +903 -0
  54. package/dist/context-budget.js.map +1 -0
  55. package/dist/context-compressor.d.ts +143 -0
  56. package/dist/context-compressor.d.ts.map +1 -0
  57. package/dist/context-compressor.js +511 -0
  58. package/dist/context-compressor.js.map +1 -0
  59. package/dist/context-manager.d.ts +112 -0
  60. package/dist/context-manager.d.ts.map +1 -0
  61. package/dist/context-manager.js +247 -0
  62. package/dist/context-manager.js.map +1 -0
  63. package/dist/continuous-reflection.d.ts +267 -0
  64. package/dist/continuous-reflection.d.ts.map +1 -0
  65. package/dist/continuous-reflection.js +338 -0
  66. package/dist/continuous-reflection.js.map +1 -0
  67. package/dist/cross-file-refactor.d.ts +352 -0
  68. package/dist/cross-file-refactor.d.ts.map +1 -0
  69. package/dist/cross-file-refactor.js +1544 -0
  70. package/dist/cross-file-refactor.js.map +1 -0
  71. package/dist/dag-orchestrator.d.ts +138 -0
  72. package/dist/dag-orchestrator.d.ts.map +1 -0
  73. package/dist/dag-orchestrator.js +379 -0
  74. package/dist/dag-orchestrator.js.map +1 -0
  75. package/dist/debate-orchestrator.d.ts +301 -0
  76. package/dist/debate-orchestrator.d.ts.map +1 -0
  77. package/dist/debate-orchestrator.js +719 -0
  78. package/dist/debate-orchestrator.js.map +1 -0
  79. package/dist/dependency-analyzer.d.ts +113 -0
  80. package/dist/dependency-analyzer.d.ts.map +1 -0
  81. package/dist/dependency-analyzer.js +444 -0
  82. package/dist/dependency-analyzer.js.map +1 -0
  83. package/dist/design-loop.d.ts +59 -0
  84. package/dist/design-loop.d.ts.map +1 -0
  85. package/dist/design-loop.js +344 -0
  86. package/dist/design-loop.js.map +1 -0
  87. package/dist/doc-intelligence.d.ts +383 -0
  88. package/dist/doc-intelligence.d.ts.map +1 -0
  89. package/dist/doc-intelligence.js +1307 -0
  90. package/dist/doc-intelligence.js.map +1 -0
  91. package/dist/dynamic-role-generator.d.ts +76 -0
  92. package/dist/dynamic-role-generator.d.ts.map +1 -0
  93. package/dist/dynamic-role-generator.js +194 -0
  94. package/dist/dynamic-role-generator.js.map +1 -0
  95. package/dist/errors.d.ts +69 -0
  96. package/dist/errors.d.ts.map +1 -0
  97. package/dist/errors.js +102 -0
  98. package/dist/errors.js.map +1 -0
  99. package/dist/event-bus.d.ts +159 -0
  100. package/dist/event-bus.d.ts.map +1 -0
  101. package/dist/event-bus.js +305 -0
  102. package/dist/event-bus.js.map +1 -0
  103. package/dist/execution-engine.d.ts +425 -0
  104. package/dist/execution-engine.d.ts.map +1 -0
  105. package/dist/execution-engine.js +1555 -0
  106. package/dist/execution-engine.js.map +1 -0
  107. package/dist/git-intelligence.d.ts +306 -0
  108. package/dist/git-intelligence.d.ts.map +1 -0
  109. package/dist/git-intelligence.js +1099 -0
  110. package/dist/git-intelligence.js.map +1 -0
  111. package/dist/governor.d.ts +77 -0
  112. package/dist/governor.d.ts.map +1 -0
  113. package/dist/governor.js +161 -0
  114. package/dist/governor.js.map +1 -0
  115. package/dist/hierarchical-planner.d.ts +313 -0
  116. package/dist/hierarchical-planner.d.ts.map +1 -0
  117. package/dist/hierarchical-planner.js +981 -0
  118. package/dist/hierarchical-planner.js.map +1 -0
  119. package/dist/index.d.ts +121 -0
  120. package/dist/index.d.ts.map +1 -0
  121. package/dist/index.js +123 -0
  122. package/dist/index.js.map +1 -0
  123. package/dist/intent-inference.d.ts +103 -0
  124. package/dist/intent-inference.d.ts.map +1 -0
  125. package/dist/intent-inference.js +605 -0
  126. package/dist/intent-inference.js.map +1 -0
  127. package/dist/interrupt-manager.d.ts +143 -0
  128. package/dist/interrupt-manager.d.ts.map +1 -0
  129. package/dist/interrupt-manager.js +196 -0
  130. package/dist/interrupt-manager.js.map +1 -0
  131. package/dist/kernel.d.ts +564 -0
  132. package/dist/kernel.d.ts.map +1 -0
  133. package/dist/kernel.js +1419 -0
  134. package/dist/kernel.js.map +1 -0
  135. package/dist/language-support.d.ts +232 -0
  136. package/dist/language-support.d.ts.map +1 -0
  137. package/dist/language-support.js +1134 -0
  138. package/dist/language-support.js.map +1 -0
  139. package/dist/llm-client.d.ts +82 -0
  140. package/dist/llm-client.d.ts.map +1 -0
  141. package/dist/llm-client.js +475 -0
  142. package/dist/llm-client.js.map +1 -0
  143. package/dist/mcp-client.d.ts +232 -0
  144. package/dist/mcp-client.d.ts.map +1 -0
  145. package/dist/mcp-client.js +718 -0
  146. package/dist/mcp-client.js.map +1 -0
  147. package/dist/memory-manager.d.ts +200 -0
  148. package/dist/memory-manager.d.ts.map +1 -0
  149. package/dist/memory-manager.js +568 -0
  150. package/dist/memory-manager.js.map +1 -0
  151. package/dist/memory.d.ts +87 -0
  152. package/dist/memory.d.ts.map +1 -0
  153. package/dist/memory.js +341 -0
  154. package/dist/memory.js.map +1 -0
  155. package/dist/model-router.d.ts +245 -0
  156. package/dist/model-router.d.ts.map +1 -0
  157. package/dist/model-router.js +632 -0
  158. package/dist/model-router.js.map +1 -0
  159. package/dist/parallel-executor.d.ts +125 -0
  160. package/dist/parallel-executor.d.ts.map +1 -0
  161. package/dist/parallel-executor.js +201 -0
  162. package/dist/parallel-executor.js.map +1 -0
  163. package/dist/perf-optimizer.d.ts +212 -0
  164. package/dist/perf-optimizer.d.ts.map +1 -0
  165. package/dist/perf-optimizer.js +721 -0
  166. package/dist/perf-optimizer.js.map +1 -0
  167. package/dist/persona.d.ts +305 -0
  168. package/dist/persona.d.ts.map +1 -0
  169. package/dist/persona.js +887 -0
  170. package/dist/persona.js.map +1 -0
  171. package/dist/planner.d.ts +70 -0
  172. package/dist/planner.d.ts.map +1 -0
  173. package/dist/planner.js +264 -0
  174. package/dist/planner.js.map +1 -0
  175. package/dist/qa-pipeline.d.ts +365 -0
  176. package/dist/qa-pipeline.d.ts.map +1 -0
  177. package/dist/qa-pipeline.js +1352 -0
  178. package/dist/qa-pipeline.js.map +1 -0
  179. package/dist/reasoning-adapter.d.ts +116 -0
  180. package/dist/reasoning-adapter.d.ts.map +1 -0
  181. package/dist/reasoning-adapter.js +187 -0
  182. package/dist/reasoning-adapter.js.map +1 -0
  183. package/dist/role-registry.d.ts +55 -0
  184. package/dist/role-registry.d.ts.map +1 -0
  185. package/dist/role-registry.js +192 -0
  186. package/dist/role-registry.js.map +1 -0
  187. package/dist/sandbox-tiers.d.ts +327 -0
  188. package/dist/sandbox-tiers.d.ts.map +1 -0
  189. package/dist/sandbox-tiers.js +928 -0
  190. package/dist/sandbox-tiers.js.map +1 -0
  191. package/dist/security-scanner.d.ts +222 -0
  192. package/dist/security-scanner.d.ts.map +1 -0
  193. package/dist/security-scanner.js +1129 -0
  194. package/dist/security-scanner.js.map +1 -0
  195. package/dist/security.d.ts +93 -0
  196. package/dist/security.d.ts.map +1 -0
  197. package/dist/security.js +393 -0
  198. package/dist/security.js.map +1 -0
  199. package/dist/self-reflection.d.ts +397 -0
  200. package/dist/self-reflection.d.ts.map +1 -0
  201. package/dist/self-reflection.js +908 -0
  202. package/dist/self-reflection.js.map +1 -0
  203. package/dist/session-persistence.d.ts +191 -0
  204. package/dist/session-persistence.d.ts.map +1 -0
  205. package/dist/session-persistence.js +395 -0
  206. package/dist/session-persistence.js.map +1 -0
  207. package/dist/speculative-executor.d.ts +210 -0
  208. package/dist/speculative-executor.d.ts.map +1 -0
  209. package/dist/speculative-executor.js +618 -0
  210. package/dist/speculative-executor.js.map +1 -0
  211. package/dist/state-machine.d.ts +289 -0
  212. package/dist/state-machine.d.ts.map +1 -0
  213. package/dist/state-machine.js +695 -0
  214. package/dist/state-machine.js.map +1 -0
  215. package/dist/sub-agent.d.ts +177 -0
  216. package/dist/sub-agent.d.ts.map +1 -0
  217. package/dist/sub-agent.js +303 -0
  218. package/dist/sub-agent.js.map +1 -0
  219. package/dist/system-prompt.d.ts +26 -0
  220. package/dist/system-prompt.d.ts.map +1 -0
  221. package/dist/system-prompt.js +84 -0
  222. package/dist/system-prompt.js.map +1 -0
  223. package/dist/test-intelligence.d.ts +439 -0
  224. package/dist/test-intelligence.d.ts.map +1 -0
  225. package/dist/test-intelligence.js +1165 -0
  226. package/dist/test-intelligence.js.map +1 -0
  227. package/dist/types.d.ts +632 -0
  228. package/dist/types.d.ts.map +1 -0
  229. package/dist/types.js +6 -0
  230. package/dist/types.js.map +1 -0
  231. package/dist/vector-index.d.ts +314 -0
  232. package/dist/vector-index.d.ts.map +1 -0
  233. package/dist/vector-index.js +618 -0
  234. package/dist/vector-index.js.map +1 -0
  235. package/package.json +41 -0
@@ -0,0 +1,384 @@
1
+ /**
2
+ * @module agent-logger
3
+ * @description YUAN Agent Logger — Structured, layered logging for agent execution.
4
+ *
5
+ * Provides:
6
+ * - Layer-transition logging (fires ONCE per layer entry)
7
+ * - Internal reasoning/decision tracking
8
+ * - Parallel agent log separation
9
+ * - Formatted human-readable output with tree-drawing characters
10
+ * - JSONL file output for machine parsing
11
+ * - Query and summary APIs for debugging
12
+ *
13
+ * Only depends on Node builtins (fs, path, crypto).
14
+ */
15
+ /** Log severity level */
16
+ export type LogLevel = "trace" | "debug" | "info" | "warn" | "error" | "fatal";
17
+ /** Log category — classifies the nature of the log entry */
18
+ export type LogCategory = "input" | "layer" | "reasoning" | "decision" | "tool" | "parallel" | "conflict" | "reflection" | "context" | "error" | "system";
19
+ /** A single structured log entry */
20
+ export interface LogEntry {
21
+ /** Unique log entry ID */
22
+ id: string;
23
+ /** Epoch milliseconds */
24
+ timestamp: number;
25
+ /** Severity level */
26
+ level: LogLevel;
27
+ /** Category tag */
28
+ category: LogCategory;
29
+ /** Session this log belongs to */
30
+ sessionId: string;
31
+ /** Agent ID (for parallel agents) */
32
+ agentId?: string;
33
+ /** Parent orchestrator agent ID */
34
+ parentAgentId?: string;
35
+ /** Human-readable message */
36
+ message: string;
37
+ /** Arbitrary structured data */
38
+ data?: Record<string, unknown>;
39
+ /** Layer name: "input" | "analyze" | "plan" | "implement" | "verify" | "output" */
40
+ layer?: string;
41
+ /** Nesting level (0 = top-level, 1 = sub-agent, etc.) */
42
+ layerDepth?: number;
43
+ reasoning?: {
44
+ /** What the agent is thinking */
45
+ thought: string;
46
+ /** Options considered */
47
+ options?: string[];
48
+ /** Option chosen */
49
+ chosen?: string;
50
+ /** Confidence 0–1 */
51
+ confidence?: number;
52
+ /** Why this choice was made */
53
+ why?: string;
54
+ };
55
+ parallel?: {
56
+ /** DAG execution group ID */
57
+ groupId: string;
58
+ /** Agent index within the group */
59
+ agentIndex: number;
60
+ /** Total agents in the group */
61
+ totalAgents: number;
62
+ /** Task description */
63
+ task: string;
64
+ /** Lifecycle status */
65
+ status: "spawned" | "running" | "completed" | "failed";
66
+ };
67
+ /** Duration in milliseconds (for completed layers/operations) */
68
+ durationMs?: number;
69
+ /** Token usage for this entry */
70
+ tokens?: {
71
+ input: number;
72
+ output: number;
73
+ };
74
+ }
75
+ /** Output destination for log entries */
76
+ export type LogOutput = {
77
+ type: "memory";
78
+ } | {
79
+ type: "file";
80
+ path: string;
81
+ } | {
82
+ type: "console";
83
+ colorize: boolean;
84
+ } | {
85
+ type: "callback";
86
+ fn: (entry: LogEntry) => void;
87
+ };
88
+ /** Logger configuration */
89
+ export interface LoggerConfig {
90
+ /** Session ID */
91
+ sessionId: string;
92
+ /** Agent ID (for parallel agents) */
93
+ agentId?: string;
94
+ /** Parent orchestrator ID */
95
+ parentAgentId?: string;
96
+ /** Minimum log level (default: "info") */
97
+ level?: LogLevel;
98
+ /** Output destinations (default: [{ type: "memory" }]) */
99
+ outputs?: LogOutput[];
100
+ /** Fire layer-entry log only once per layer (default: true) */
101
+ fireOncePerLayer?: boolean;
102
+ /** Include reasoning entries (default: true) */
103
+ includeReasoning?: boolean;
104
+ /** Include parallel entries (default: true) */
105
+ includeParallel?: boolean;
106
+ /** Max entries kept in memory (default: 5000) */
107
+ maxLogSize?: number;
108
+ /** Directory for log files */
109
+ logDir?: string;
110
+ /** Separate log file per parallel agent (default: true) */
111
+ separateParallelLogs?: boolean;
112
+ }
113
+ /** Query filter for reading back log entries */
114
+ export interface LogQuery {
115
+ sessionId?: string;
116
+ agentId?: string;
117
+ category?: LogCategory;
118
+ level?: LogLevel;
119
+ layer?: string;
120
+ fromTimestamp?: number;
121
+ toTimestamp?: number;
122
+ limit?: number;
123
+ offset?: number;
124
+ }
125
+ /** Summary overview of a logging session */
126
+ export interface LogSummary {
127
+ sessionId: string;
128
+ totalEntries: number;
129
+ duration: number;
130
+ layers: {
131
+ name: string;
132
+ enteredAt: number;
133
+ exitedAt?: number;
134
+ duration?: number;
135
+ entriesCount: number;
136
+ }[];
137
+ decisions: {
138
+ question: string;
139
+ chosen: string;
140
+ confidence: number;
141
+ }[];
142
+ parallelGroups: {
143
+ groupId: string;
144
+ agents: number;
145
+ completed: number;
146
+ failed: number;
147
+ }[];
148
+ errors: LogEntry[];
149
+ tokenUsage: {
150
+ input: number;
151
+ output: number;
152
+ };
153
+ }
154
+ /**
155
+ * Structured logger for YUAN agent execution.
156
+ *
157
+ * Tracks layer transitions (firing once per entry), internal reasoning,
158
+ * decisions, tool calls, parallel agent lifecycles, and conflicts.
159
+ * Supports memory, file (JSONL), console, and callback outputs.
160
+ *
161
+ * @example
162
+ * ```ts
163
+ * const logger = new AgentLogger({ sessionId: "sess-1" });
164
+ * logger.logInput("Add OAuth to CLI");
165
+ * const exit = logger.enterLayer("analyze");
166
+ * logger.logReasoning("Need to check existing auth...");
167
+ * exit(); // logs duration
168
+ * console.log(logger.getFormattedLog());
169
+ * ```
170
+ */
171
+ export declare class AgentLogger {
172
+ private readonly sessionId;
173
+ private readonly agentId;
174
+ private readonly parentAgentId;
175
+ private readonly level;
176
+ private readonly outputs;
177
+ private readonly fireOncePerLayer;
178
+ private readonly includeReasoning;
179
+ private readonly includeParallel;
180
+ private readonly maxLogSize;
181
+ private readonly logDir;
182
+ private readonly separateParallelLogs;
183
+ /** In-memory log storage */
184
+ private entries;
185
+ /** Number of entries already flushed to file (prevents duplicate writes) */
186
+ private flushedCount;
187
+ /** Layers that have already emitted an "entered" log */
188
+ private enteredLayers;
189
+ /** Current layer nesting stack */
190
+ private layerStack;
191
+ /** Child loggers (parallel agents) keyed by agentId */
192
+ private children;
193
+ /** Monotonic counter for ordering */
194
+ private idCounter;
195
+ constructor(config: LoggerConfig);
196
+ /** Log at trace level */
197
+ trace(category: LogCategory, message: string, data?: Record<string, unknown>): void;
198
+ /** Log at debug level */
199
+ debug(category: LogCategory, message: string, data?: Record<string, unknown>): void;
200
+ /** Log at info level */
201
+ info(category: LogCategory, message: string, data?: Record<string, unknown>): void;
202
+ /** Log at warn level */
203
+ warn(category: LogCategory, message: string, data?: Record<string, unknown>): void;
204
+ /** Log at error level */
205
+ error(category: LogCategory, message: string, data?: Record<string, unknown>): void;
206
+ /** Log at fatal level */
207
+ fatal(category: LogCategory, message: string, data?: Record<string, unknown>): void;
208
+ /**
209
+ * Enter a layer. Logs the entry ONCE (if fireOncePerLayer is true).
210
+ * Returns an exit function that logs duration when called.
211
+ *
212
+ * @param layer - Layer name (e.g., "analyze", "plan", "implement", "verify")
213
+ * @param message - Optional entry message
214
+ * @returns Exit function — call it when the layer completes
215
+ */
216
+ enterLayer(layer: string, message?: string): () => void;
217
+ /**
218
+ * Log internal reasoning — what the agent is thinking.
219
+ *
220
+ * @param thought - The reasoning text
221
+ * @param options - Options being considered
222
+ * @param chosen - Which option was chosen
223
+ * @param confidence - Confidence level 0–1
224
+ * @param why - Explanation for the choice
225
+ */
226
+ logReasoning(thought: string, options?: string[], chosen?: string, confidence?: number, why?: string): void;
227
+ /**
228
+ * Log a decision point — a fork where the agent chose one path.
229
+ *
230
+ * @param question - What decision was made
231
+ * @param options - Available options
232
+ * @param chosen - Selected option
233
+ * @param why - Rationale
234
+ * @param confidence - Confidence level 0–1
235
+ */
236
+ logDecision(question: string, options: string[], chosen: string, why: string, confidence?: number): void;
237
+ /**
238
+ * Create a child logger for a parallel agent.
239
+ * The child has its own in-memory buffer and optionally a separate log file.
240
+ *
241
+ * @param agentId - Unique ID for the child agent
242
+ * @param task - What this agent is doing
243
+ * @param groupId - DAG execution group ID
244
+ * @param agentIndex - Agent index within the group
245
+ * @param totalAgents - Total agents in the group
246
+ * @returns A new AgentLogger for the child agent
247
+ */
248
+ createChildLogger(agentId: string, task: string, groupId: string, agentIndex: number, totalAgents: number): AgentLogger;
249
+ /**
250
+ * Log parallel agent spawning.
251
+ */
252
+ logParallelSpawn(groupId: string, agentId: string, task: string, index: number, total: number): void;
253
+ /**
254
+ * Log parallel agent completion.
255
+ */
256
+ logParallelComplete(groupId: string, agentId: string, result: string, tokens?: {
257
+ input: number;
258
+ output: number;
259
+ }): void;
260
+ /**
261
+ * Log parallel agent failure.
262
+ */
263
+ logParallelFailed(groupId: string, agentId: string, error: string): void;
264
+ /**
265
+ * Log user input — the very first thing on every request.
266
+ *
267
+ * @param goal - The user's goal
268
+ * @param mode - Agent mode (e.g., "code", "architect")
269
+ * @param model - Model being used
270
+ */
271
+ logInput(goal: string, mode?: string, model?: string): void;
272
+ /**
273
+ * Log final output — the last entry for a request.
274
+ *
275
+ * @param result - Summary of the result
276
+ * @param success - Whether the agent succeeded
277
+ * @param tokens - Total token usage
278
+ */
279
+ logOutput(result: string, success: boolean, tokens?: {
280
+ input: number;
281
+ output: number;
282
+ }): void;
283
+ /** Log a tool call (before execution) */
284
+ logToolCall(toolName: string, input: Record<string, unknown>): void;
285
+ /** Log a tool result (after execution) */
286
+ logToolResult(toolName: string, output: string, durationMs: number, success: boolean): void;
287
+ /** Log a detected conflict between agents/files */
288
+ logConflict(type: string, fileA: string, fileB: string, severity: string): void;
289
+ /** Log conflict resolution */
290
+ logConflictResolved(strategy: string, result: string): void;
291
+ /** Log self-reflection result */
292
+ logReflection(verdict: string, score: number, issues: string[]): void;
293
+ /**
294
+ * Get log entries, optionally filtered by a query.
295
+ *
296
+ * @param query - Filter criteria
297
+ * @returns Matching log entries
298
+ */
299
+ getEntries(query?: LogQuery): LogEntry[];
300
+ /**
301
+ * Get formatted, human-readable text output.
302
+ * Uses tree-drawing characters to visualize layer nesting.
303
+ *
304
+ * @param query - Optional filter
305
+ * @returns Formatted multi-line string
306
+ */
307
+ getFormattedLog(query?: LogQuery): string;
308
+ /**
309
+ * Get a summary overview of the logging session.
310
+ */
311
+ getSummary(): LogSummary;
312
+ /**
313
+ * Get only decision-type log entries (the decision trail).
314
+ */
315
+ getDecisionTrail(): LogEntry[];
316
+ /**
317
+ * Get parallel agent log entries from this logger and all children.
318
+ *
319
+ * @param groupId - Optional filter by group ID
320
+ */
321
+ getParallelLogs(groupId?: string): LogEntry[];
322
+ /**
323
+ * Get error and fatal entries only.
324
+ */
325
+ getErrors(): LogEntry[];
326
+ /**
327
+ * Flush all in-memory entries to file outputs.
328
+ * Appends JSONL to file outputs defined in the config.
329
+ */
330
+ flush(): Promise<void>;
331
+ /**
332
+ * Write the full session log to a specific file path.
333
+ * Writes both JSONL (machine) and .txt (human-readable) versions.
334
+ *
335
+ * @param filePath - Base file path (will create .jsonl and .txt)
336
+ */
337
+ writeToFile(filePath: string): Promise<void>;
338
+ /** Clear all log entries and reset layer tracking */
339
+ clear(): void;
340
+ /**
341
+ * Prune entries to keep only the most recent N.
342
+ *
343
+ * @param keepLast - Number of entries to keep (default: maxLogSize / 2)
344
+ * @returns Number of entries pruned
345
+ */
346
+ prune(keepLast?: number): number;
347
+ /**
348
+ * Core log method — creates an entry and emits to all outputs.
349
+ */
350
+ private log;
351
+ /**
352
+ * Create a new LogEntry with session/agent metadata.
353
+ */
354
+ private createEntry;
355
+ /**
356
+ * Check if a given level meets the minimum threshold.
357
+ */
358
+ private shouldLog;
359
+ /**
360
+ * Emit a log entry to all configured outputs.
361
+ */
362
+ private emit;
363
+ /**
364
+ * Format a single log entry as a human-readable line with tree characters.
365
+ */
366
+ private formatEntry;
367
+ /**
368
+ * Format a log entry with ANSI colors for console output.
369
+ */
370
+ private formatEntryColor;
371
+ /**
372
+ * Format epoch ms to HH:MM:SS.mmm
373
+ */
374
+ private formatTime;
375
+ /**
376
+ * Ensure a directory exists, creating it recursively if needed.
377
+ */
378
+ private ensureDir;
379
+ /**
380
+ * Get the log file path for a given agent ID.
381
+ */
382
+ private getLogFilePath;
383
+ }
384
+ //# sourceMappingURL=agent-logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-logger.d.ts","sourceRoot":"","sources":["../src/agent-logger.ts"],"names":[],"mappings":"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"}