attocode 0.1.3 → 0.1.5

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 (133) hide show
  1. package/CHANGELOG.md +38 -1
  2. package/README.md +56 -0
  3. package/dist/src/agent.d.ts +5 -0
  4. package/dist/src/agent.d.ts.map +1 -1
  5. package/dist/src/agent.js +244 -21
  6. package/dist/src/agent.js.map +1 -1
  7. package/dist/src/analysis/feedback-loop.d.ts +115 -0
  8. package/dist/src/analysis/feedback-loop.d.ts.map +1 -0
  9. package/dist/src/analysis/feedback-loop.js +226 -0
  10. package/dist/src/analysis/feedback-loop.js.map +1 -0
  11. package/dist/src/analysis/index.d.ts +9 -0
  12. package/dist/src/analysis/index.d.ts.map +1 -0
  13. package/dist/src/analysis/index.js +9 -0
  14. package/dist/src/analysis/index.js.map +1 -0
  15. package/dist/src/analysis/prompt-templates.d.ts +36 -0
  16. package/dist/src/analysis/prompt-templates.d.ts.map +1 -0
  17. package/dist/src/analysis/prompt-templates.js +198 -0
  18. package/dist/src/analysis/prompt-templates.js.map +1 -0
  19. package/dist/src/analysis/trace-summary.d.ts +56 -0
  20. package/dist/src/analysis/trace-summary.d.ts.map +1 -0
  21. package/dist/src/analysis/trace-summary.js +261 -0
  22. package/dist/src/analysis/trace-summary.js.map +1 -0
  23. package/dist/src/commands/handler.d.ts.map +1 -1
  24. package/dist/src/commands/handler.js +194 -2
  25. package/dist/src/commands/handler.js.map +1 -1
  26. package/dist/src/config.d.ts +3 -0
  27. package/dist/src/config.d.ts.map +1 -1
  28. package/dist/src/config.js.map +1 -1
  29. package/dist/src/defaults.d.ts +11 -2
  30. package/dist/src/defaults.d.ts.map +1 -1
  31. package/dist/src/defaults.js +25 -2
  32. package/dist/src/defaults.js.map +1 -1
  33. package/dist/src/errors/index.d.ts +233 -0
  34. package/dist/src/errors/index.d.ts.map +1 -0
  35. package/dist/src/errors/index.js +427 -0
  36. package/dist/src/errors/index.js.map +1 -0
  37. package/dist/src/integrations/auto-compaction.d.ts +33 -0
  38. package/dist/src/integrations/auto-compaction.d.ts.map +1 -1
  39. package/dist/src/integrations/auto-compaction.js +47 -3
  40. package/dist/src/integrations/auto-compaction.js.map +1 -1
  41. package/dist/src/integrations/dead-letter-queue.d.ts +208 -0
  42. package/dist/src/integrations/dead-letter-queue.d.ts.map +1 -0
  43. package/dist/src/integrations/dead-letter-queue.js +458 -0
  44. package/dist/src/integrations/dead-letter-queue.js.map +1 -0
  45. package/dist/src/integrations/economics.d.ts +94 -2
  46. package/dist/src/integrations/economics.d.ts.map +1 -1
  47. package/dist/src/integrations/economics.js +263 -10
  48. package/dist/src/integrations/economics.js.map +1 -1
  49. package/dist/src/integrations/health-check.d.ts +218 -0
  50. package/dist/src/integrations/health-check.d.ts.map +1 -0
  51. package/dist/src/integrations/health-check.js +400 -0
  52. package/dist/src/integrations/health-check.js.map +1 -0
  53. package/dist/src/integrations/index.d.ts +5 -0
  54. package/dist/src/integrations/index.d.ts.map +1 -1
  55. package/dist/src/integrations/index.js +9 -0
  56. package/dist/src/integrations/index.js.map +1 -1
  57. package/dist/src/integrations/mcp-client.d.ts +9 -0
  58. package/dist/src/integrations/mcp-client.d.ts.map +1 -1
  59. package/dist/src/integrations/mcp-client.js +49 -7
  60. package/dist/src/integrations/mcp-client.js.map +1 -1
  61. package/dist/src/integrations/openrouter-pricing.d.ts +28 -3
  62. package/dist/src/integrations/openrouter-pricing.d.ts.map +1 -1
  63. package/dist/src/integrations/openrouter-pricing.js +57 -16
  64. package/dist/src/integrations/openrouter-pricing.js.map +1 -1
  65. package/dist/src/integrations/retry.d.ts +131 -0
  66. package/dist/src/integrations/retry.d.ts.map +1 -0
  67. package/dist/src/integrations/retry.js +233 -0
  68. package/dist/src/integrations/retry.js.map +1 -0
  69. package/dist/src/integrations/sqlite-store.d.ts +42 -0
  70. package/dist/src/integrations/sqlite-store.d.ts.map +1 -1
  71. package/dist/src/integrations/sqlite-store.js +111 -0
  72. package/dist/src/integrations/sqlite-store.js.map +1 -1
  73. package/dist/src/main.js +88 -7
  74. package/dist/src/main.js.map +1 -1
  75. package/dist/src/modes/repl.d.ts.map +1 -1
  76. package/dist/src/modes/repl.js +37 -1
  77. package/dist/src/modes/repl.js.map +1 -1
  78. package/dist/src/modes/tui.d.ts.map +1 -1
  79. package/dist/src/modes/tui.js +46 -5
  80. package/dist/src/modes/tui.js.map +1 -1
  81. package/dist/src/modes.d.ts.map +1 -1
  82. package/dist/src/modes.js +10 -3
  83. package/dist/src/modes.js.map +1 -1
  84. package/dist/src/persistence/schema.d.ts +4 -0
  85. package/dist/src/persistence/schema.d.ts.map +1 -1
  86. package/dist/src/persistence/schema.js +49 -0
  87. package/dist/src/persistence/schema.js.map +1 -1
  88. package/dist/src/providers/adapters/anthropic.d.ts +24 -2
  89. package/dist/src/providers/adapters/anthropic.d.ts.map +1 -1
  90. package/dist/src/providers/adapters/anthropic.js +184 -0
  91. package/dist/src/providers/adapters/anthropic.js.map +1 -1
  92. package/dist/src/tools/bash.d.ts.map +1 -1
  93. package/dist/src/tools/bash.js +7 -4
  94. package/dist/src/tools/bash.js.map +1 -1
  95. package/dist/src/tools/file.d.ts.map +1 -1
  96. package/dist/src/tools/file.js +31 -10
  97. package/dist/src/tools/file.js.map +1 -1
  98. package/dist/src/tools/permission.d.ts +12 -0
  99. package/dist/src/tools/permission.d.ts.map +1 -1
  100. package/dist/src/tools/permission.js +136 -0
  101. package/dist/src/tools/permission.js.map +1 -1
  102. package/dist/src/tools/registry.d.ts +23 -1
  103. package/dist/src/tools/registry.d.ts.map +1 -1
  104. package/dist/src/tools/registry.js +77 -17
  105. package/dist/src/tools/registry.js.map +1 -1
  106. package/dist/src/tools/standard.d.ts.map +1 -1
  107. package/dist/src/tools/standard.js +8 -0
  108. package/dist/src/tools/standard.js.map +1 -1
  109. package/dist/src/tools/types.d.ts +20 -1
  110. package/dist/src/tools/types.d.ts.map +1 -1
  111. package/dist/src/tools/types.js.map +1 -1
  112. package/dist/src/tracing/trace-collector.d.ts +209 -3
  113. package/dist/src/tracing/trace-collector.d.ts.map +1 -1
  114. package/dist/src/tracing/trace-collector.js +407 -15
  115. package/dist/src/tracing/trace-collector.js.map +1 -1
  116. package/dist/src/tracing/types.d.ts +476 -2
  117. package/dist/src/tracing/types.d.ts.map +1 -1
  118. package/dist/src/tracing/types.js +25 -0
  119. package/dist/src/tracing/types.js.map +1 -1
  120. package/dist/src/tui/app.d.ts.map +1 -1
  121. package/dist/src/tui/app.js +161 -4
  122. package/dist/src/tui/app.js.map +1 -1
  123. package/dist/src/types.d.ts +35 -0
  124. package/dist/src/types.d.ts.map +1 -1
  125. package/package.json +6 -3
  126. package/dist/src/hello.d.ts +0 -2
  127. package/dist/src/hello.d.ts.map +0 -1
  128. package/dist/src/hello.js +0 -4
  129. package/dist/src/hello.js.map +0 -1
  130. package/dist/src/test-sqlite.d.ts +0 -2
  131. package/dist/src/test-sqlite.d.ts.map +0 -1
  132. package/dist/src/test-sqlite.js +0 -114
  133. package/dist/src/test-sqlite.js.map +0 -1
@@ -9,6 +9,27 @@
9
9
  */
10
10
  import type { Message } from '../types.js';
11
11
  import type { Compactor } from './compaction.js';
12
+ import type { Reference } from '../tricks/reversible-compaction.js';
13
+ /**
14
+ * Result from a custom compaction handler (supports reversible compaction).
15
+ */
16
+ export interface CustomCompactionResult {
17
+ /** The summarized content */
18
+ summary: string;
19
+ /** Token count before compaction */
20
+ tokensBefore: number;
21
+ /** Token count after compaction */
22
+ tokensAfter: number;
23
+ /** Messages to preserve in context */
24
+ preservedMessages: Message[];
25
+ /** Preserved references for retrieval (from reversible compaction) */
26
+ references?: Reference[];
27
+ }
28
+ /**
29
+ * Custom compaction handler function type.
30
+ * Allows integration with reversible compaction or other compaction strategies.
31
+ */
32
+ export type CompactHandler = (messages: Message[]) => Promise<CustomCompactionResult>;
12
33
  /**
13
34
  * Configuration for automatic compaction behavior.
14
35
  */
@@ -29,6 +50,8 @@ export interface AutoCompactionConfig {
29
50
  cooldownMs: number;
30
51
  /** Max context window tokens (default: 200000 for Claude) */
31
52
  maxContextTokens: number;
53
+ /** Optional custom compaction handler (e.g., for reversible compaction with reference preservation) */
54
+ compactHandler?: CompactHandler;
32
55
  }
33
56
  /**
34
57
  * Result of checking token usage and potentially compacting.
@@ -46,6 +69,8 @@ export interface CompactionCheckResult {
46
69
  compactedMessages?: Message[];
47
70
  /** Summary generated during compaction */
48
71
  summary?: string;
72
+ /** Preserved references from reversible compaction (for later retrieval) */
73
+ references?: Reference[];
49
74
  }
50
75
  /**
51
76
  * Events emitted by AutoCompactionManager.
@@ -152,6 +177,14 @@ export declare class AutoCompactionManager {
152
177
  * Perform the actual compaction.
153
178
  */
154
179
  private performCompaction;
180
+ /**
181
+ * Perform compaction using custom handler (supports reversible compaction with references).
182
+ */
183
+ private performCustomCompaction;
184
+ /**
185
+ * Perform compaction using default compactor.
186
+ */
187
+ private performDefaultCompaction;
155
188
  /**
156
189
  * Emergency truncation fallback when LLM-based compaction fails.
157
190
  * Simply keeps system message and last N messages without summarization.
@@ -1 +1 @@
1
- {"version":3,"file":"auto-compaction.d.ts","sourceRoot":"","sources":["../../../src/integrations/auto-compaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-compaction.d.ts","sourceRoot":"","sources":["../../../src/integrations/auto-compaction.ts"],"names":[],"mappings":"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"}
@@ -248,15 +248,59 @@ export class AutoCompactionManager {
248
248
  /**
249
249
  * Perform the actual compaction.
250
250
  */
251
- async performCompaction(messages, currentTokens, maxTokens, ratio) {
251
+ async performCompaction(messages, currentTokens, maxTokens, _ratio) {
252
252
  this.emit({
253
253
  type: 'autocompaction.triggered',
254
254
  mode: this.config.mode,
255
255
  currentTokens,
256
256
  });
257
+ // Use custom compaction handler if provided (e.g., for reversible compaction)
258
+ if (this.config.compactHandler) {
259
+ return this.performCustomCompaction(messages, maxTokens);
260
+ }
261
+ // Otherwise use the default compactor
262
+ return this.performDefaultCompaction(messages, maxTokens);
263
+ }
264
+ /**
265
+ * Perform compaction using custom handler (supports reversible compaction with references).
266
+ */
267
+ async performCustomCompaction(messages, maxTokens) {
268
+ const totalPreserve = this.config.preserveRecentUserMessages + this.config.preserveRecentAssistantMessages;
269
+ try {
270
+ const result = await this.config.compactHandler(messages);
271
+ // Update cooldown
272
+ this.lastCompactionTime = Date.now();
273
+ const reduction = result.tokensBefore > 0
274
+ ? Math.round((1 - result.tokensAfter / result.tokensBefore) * 100)
275
+ : 0;
276
+ this.emit({
277
+ type: 'autocompaction.completed',
278
+ tokensBefore: result.tokensBefore,
279
+ tokensAfter: result.tokensAfter,
280
+ reduction,
281
+ });
282
+ return {
283
+ status: 'compacted',
284
+ currentTokens: result.tokensAfter,
285
+ maxTokens,
286
+ ratio: result.tokensAfter / maxTokens,
287
+ compactedMessages: result.preservedMessages,
288
+ summary: result.summary,
289
+ references: result.references, // Preserve references from reversible compaction
290
+ };
291
+ }
292
+ catch (compactionError) {
293
+ console.error('[AutoCompaction] Custom compaction failed, using emergency truncation:', compactionError);
294
+ const emergencyResult = this.emergencyTruncate(messages, totalPreserve);
295
+ this.lastCompactionTime = Date.now();
296
+ return emergencyResult;
297
+ }
298
+ }
299
+ /**
300
+ * Perform compaction using default compactor.
301
+ */
302
+ async performDefaultCompaction(messages, maxTokens) {
257
303
  // Configure compactor to preserve the specified number of messages
258
- // The compactor already handles preserving recent messages, but we can
259
- // update its config if needed based on our preservation settings
260
304
  const totalPreserve = this.config.preserveRecentUserMessages + this.config.preserveRecentAssistantMessages;
261
305
  const currentCompactorConfig = this.compactor.getConfig();
262
306
  // Temporarily adjust if our preserve count differs
@@ -1 +1 @@
1
- {"version":3,"file":"auto-compaction.js","sourceRoot":"","sources":["../../../src/integrations/auto-compaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-compaction.js","sourceRoot":"","sources":["../../../src/integrations/auto-compaction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,208 @@
1
+ /**
2
+ * Dead Letter Queue
3
+ *
4
+ * Persists failed operations for later retry or manual intervention.
5
+ * Integrates with SQLite store for durability across sessions.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const dlq = createDeadLetterQueue(db);
10
+ *
11
+ * // On failure, add to DLQ
12
+ * await dlq.add({
13
+ * operation: 'tool:bash',
14
+ * args: { command: 'npm install' },
15
+ * error: new Error('ETIMEDOUT'),
16
+ * sessionId: 'session-123',
17
+ * });
18
+ *
19
+ * // At session start, drain pending items
20
+ * const pending = await dlq.getPending();
21
+ * for (const item of pending) {
22
+ * const success = await retry(item);
23
+ * if (success) await dlq.resolve(item.id);
24
+ * }
25
+ * ```
26
+ */
27
+ import type Database from 'better-sqlite3';
28
+ import { ErrorCategory, type AgentError } from '../errors/index.js';
29
+ /**
30
+ * Status of a dead letter item.
31
+ */
32
+ export type DeadLetterStatus = 'pending' | 'retrying' | 'resolved' | 'abandoned';
33
+ /**
34
+ * A failed operation stored in the dead letter queue.
35
+ */
36
+ export interface DeadLetterItem {
37
+ /** Unique ID */
38
+ id: string;
39
+ /** Session ID (if associated with a session) */
40
+ sessionId?: string;
41
+ /** Operation type (e.g., 'tool:bash', 'mcp:playwright:click') */
42
+ operation: string;
43
+ /** Operation arguments (serialized JSON) */
44
+ args: string;
45
+ /** Error message */
46
+ error: string;
47
+ /** Error category for recovery decisions */
48
+ category: ErrorCategory;
49
+ /** Number of retry attempts made */
50
+ attempts: number;
51
+ /** Maximum retry attempts before abandoning */
52
+ maxAttempts: number;
53
+ /** Timestamp of last retry attempt */
54
+ lastAttempt: Date;
55
+ /** Timestamp for next retry (if scheduled) */
56
+ nextRetry?: Date;
57
+ /** Additional metadata */
58
+ metadata?: Record<string, unknown>;
59
+ /** Current status */
60
+ status: DeadLetterStatus;
61
+ /** When the item was created */
62
+ createdAt: Date;
63
+ /** When the item was resolved (if resolved) */
64
+ resolvedAt?: Date;
65
+ }
66
+ /**
67
+ * Input for adding a dead letter.
68
+ */
69
+ export interface AddDeadLetterInput {
70
+ /** Operation type */
71
+ operation: string;
72
+ /** Operation arguments */
73
+ args: unknown;
74
+ /** Error that caused the failure */
75
+ error: Error | AgentError;
76
+ /** Associated session ID */
77
+ sessionId?: string;
78
+ /** Maximum retry attempts (default: 3) */
79
+ maxAttempts?: number;
80
+ /** Additional metadata */
81
+ metadata?: Record<string, unknown>;
82
+ }
83
+ /**
84
+ * Options for querying the dead letter queue.
85
+ */
86
+ export interface DeadLetterQueryOptions {
87
+ /** Filter by status */
88
+ status?: DeadLetterStatus;
89
+ /** Filter by operation type */
90
+ operation?: string;
91
+ /** Filter by session ID */
92
+ sessionId?: string;
93
+ /** Only items ready for retry (nextRetry <= now) */
94
+ readyForRetry?: boolean;
95
+ /** Limit number of results */
96
+ limit?: number;
97
+ /** Order by field */
98
+ orderBy?: 'createdAt' | 'lastAttempt' | 'nextRetry';
99
+ }
100
+ /**
101
+ * Dead letter queue statistics.
102
+ */
103
+ export interface DeadLetterStats {
104
+ total: number;
105
+ pending: number;
106
+ retrying: number;
107
+ resolved: number;
108
+ abandoned: number;
109
+ byOperation: Record<string, number>;
110
+ byCategory: Record<string, number>;
111
+ }
112
+ /**
113
+ * Dead letter queue event types.
114
+ */
115
+ export type DeadLetterEvent = {
116
+ type: 'item.added';
117
+ item: DeadLetterItem;
118
+ } | {
119
+ type: 'item.retrying';
120
+ item: DeadLetterItem;
121
+ } | {
122
+ type: 'item.resolved';
123
+ item: DeadLetterItem;
124
+ } | {
125
+ type: 'item.abandoned';
126
+ item: DeadLetterItem;
127
+ } | {
128
+ type: 'item.deleted';
129
+ id: string;
130
+ };
131
+ export type DeadLetterEventListener = (event: DeadLetterEvent) => void;
132
+ /**
133
+ * Dead letter queue backed by SQLite.
134
+ */
135
+ export declare class DeadLetterQueue {
136
+ private db;
137
+ private listeners;
138
+ private stmts?;
139
+ constructor(db: Database.Database);
140
+ private prepareStatements;
141
+ /**
142
+ * Check if DLQ is available (table exists).
143
+ */
144
+ isAvailable(): boolean;
145
+ /**
146
+ * Add a failed operation to the dead letter queue.
147
+ */
148
+ add(input: AddDeadLetterInput): Promise<DeadLetterItem>;
149
+ /**
150
+ * Get a dead letter item by ID.
151
+ */
152
+ get(id: string): DeadLetterItem | null;
153
+ /**
154
+ * Get pending items ready for retry.
155
+ */
156
+ getPending(options?: DeadLetterQueryOptions): DeadLetterItem[];
157
+ /**
158
+ * Query dead letters with filters.
159
+ */
160
+ query(options?: DeadLetterQueryOptions): DeadLetterItem[];
161
+ /**
162
+ * Mark an item as being retried.
163
+ */
164
+ markRetrying(id: string): void;
165
+ /**
166
+ * Mark an item as resolved (successful retry).
167
+ */
168
+ resolve(id: string): void;
169
+ /**
170
+ * Mark an item as abandoned (max retries exceeded or non-recoverable).
171
+ */
172
+ abandon(id: string): void;
173
+ /**
174
+ * Return an item to pending status after a failed retry.
175
+ */
176
+ returnToPending(id: string): void;
177
+ /**
178
+ * Delete an item from the queue.
179
+ */
180
+ delete(id: string): void;
181
+ /**
182
+ * Get queue statistics.
183
+ */
184
+ getStats(): DeadLetterStats;
185
+ /**
186
+ * Cleanup old resolved/abandoned items.
187
+ */
188
+ cleanup(olderThanDays?: number): number;
189
+ /**
190
+ * Add an event listener.
191
+ */
192
+ on(listener: DeadLetterEventListener): () => void;
193
+ private emit;
194
+ /**
195
+ * Calculate next retry time based on attempts and error category.
196
+ */
197
+ private calculateNextRetry;
198
+ private rowToItem;
199
+ }
200
+ /**
201
+ * Create a dead letter queue instance.
202
+ */
203
+ export declare function createDeadLetterQueue(db: Database.Database): DeadLetterQueue;
204
+ /**
205
+ * Format dead letter stats for display.
206
+ */
207
+ export declare function formatDeadLetterStats(stats: DeadLetterStats): string;
208
+ //# sourceMappingURL=dead-letter-queue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dead-letter-queue.d.ts","sourceRoot":"","sources":["../../../src/integrations/dead-letter-queue.ts"],"names":[],"mappings":"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"}