attocode 0.1.0 → 0.1.3

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 (103) hide show
  1. package/CHANGELOG.md +64 -1
  2. package/README.md +138 -10
  3. package/dist/src/agent.d.ts +75 -1
  4. package/dist/src/agent.d.ts.map +1 -1
  5. package/dist/src/agent.js +700 -25
  6. package/dist/src/agent.js.map +1 -1
  7. package/dist/src/commands/agents-commands.d.ts +24 -0
  8. package/dist/src/commands/agents-commands.d.ts.map +1 -0
  9. package/dist/src/commands/agents-commands.js +284 -0
  10. package/dist/src/commands/agents-commands.js.map +1 -0
  11. package/dist/src/commands/handler.d.ts.map +1 -1
  12. package/dist/src/commands/handler.js +135 -19
  13. package/dist/src/commands/handler.js.map +1 -1
  14. package/dist/src/commands/init-commands.d.ts +35 -0
  15. package/dist/src/commands/init-commands.d.ts.map +1 -0
  16. package/dist/src/commands/init-commands.js +187 -0
  17. package/dist/src/commands/init-commands.js.map +1 -0
  18. package/dist/src/commands/skills-commands.d.ts +26 -0
  19. package/dist/src/commands/skills-commands.d.ts.map +1 -0
  20. package/dist/src/commands/skills-commands.js +309 -0
  21. package/dist/src/commands/skills-commands.js.map +1 -0
  22. package/dist/src/commands/types.d.ts +13 -2
  23. package/dist/src/commands/types.d.ts.map +1 -1
  24. package/dist/src/defaults.d.ts +29 -1
  25. package/dist/src/defaults.d.ts.map +1 -1
  26. package/dist/src/defaults.js +66 -0
  27. package/dist/src/defaults.js.map +1 -1
  28. package/dist/src/integrations/agent-registry.d.ts +68 -2
  29. package/dist/src/integrations/agent-registry.d.ts.map +1 -1
  30. package/dist/src/integrations/agent-registry.js +230 -23
  31. package/dist/src/integrations/agent-registry.js.map +1 -1
  32. package/dist/src/integrations/cancellation.d.ts +5 -0
  33. package/dist/src/integrations/cancellation.d.ts.map +1 -1
  34. package/dist/src/integrations/cancellation.js +7 -0
  35. package/dist/src/integrations/cancellation.js.map +1 -1
  36. package/dist/src/integrations/capabilities.d.ts +160 -0
  37. package/dist/src/integrations/capabilities.d.ts.map +1 -0
  38. package/dist/src/integrations/capabilities.js +426 -0
  39. package/dist/src/integrations/capabilities.js.map +1 -0
  40. package/dist/src/integrations/context-engineering.d.ts +6 -1
  41. package/dist/src/integrations/context-engineering.d.ts.map +1 -1
  42. package/dist/src/integrations/context-engineering.js +7 -0
  43. package/dist/src/integrations/context-engineering.js.map +1 -1
  44. package/dist/src/integrations/index.d.ts +12 -2
  45. package/dist/src/integrations/index.d.ts.map +1 -1
  46. package/dist/src/integrations/index.js +22 -2
  47. package/dist/src/integrations/index.js.map +1 -1
  48. package/dist/src/integrations/interactive-planning.d.ts +322 -0
  49. package/dist/src/integrations/interactive-planning.d.ts.map +1 -0
  50. package/dist/src/integrations/interactive-planning.js +655 -0
  51. package/dist/src/integrations/interactive-planning.js.map +1 -0
  52. package/dist/src/integrations/learning-store.d.ts +291 -0
  53. package/dist/src/integrations/learning-store.d.ts.map +1 -0
  54. package/dist/src/integrations/learning-store.js +640 -0
  55. package/dist/src/integrations/learning-store.js.map +1 -0
  56. package/dist/src/integrations/pending-plan.d.ts.map +1 -1
  57. package/dist/src/integrations/pending-plan.js +69 -10
  58. package/dist/src/integrations/pending-plan.js.map +1 -1
  59. package/dist/src/integrations/skill-executor.d.ts +113 -0
  60. package/dist/src/integrations/skill-executor.d.ts.map +1 -0
  61. package/dist/src/integrations/skill-executor.js +270 -0
  62. package/dist/src/integrations/skill-executor.js.map +1 -0
  63. package/dist/src/integrations/skills.d.ts +98 -7
  64. package/dist/src/integrations/skills.d.ts.map +1 -1
  65. package/dist/src/integrations/skills.js +210 -11
  66. package/dist/src/integrations/skills.js.map +1 -1
  67. package/dist/src/providers/circuit-breaker.d.ts +180 -0
  68. package/dist/src/providers/circuit-breaker.d.ts.map +1 -0
  69. package/dist/src/providers/circuit-breaker.js +349 -0
  70. package/dist/src/providers/circuit-breaker.js.map +1 -0
  71. package/dist/src/providers/fallback-chain.d.ts +194 -0
  72. package/dist/src/providers/fallback-chain.d.ts.map +1 -0
  73. package/dist/src/providers/fallback-chain.js +363 -0
  74. package/dist/src/providers/fallback-chain.js.map +1 -0
  75. package/dist/src/providers/llm-resilience.d.ts +126 -0
  76. package/dist/src/providers/llm-resilience.d.ts.map +1 -0
  77. package/dist/src/providers/llm-resilience.js +261 -0
  78. package/dist/src/providers/llm-resilience.js.map +1 -0
  79. package/dist/src/providers/resilient-provider.d.ts +124 -0
  80. package/dist/src/providers/resilient-provider.d.ts.map +1 -0
  81. package/dist/src/providers/resilient-provider.js +242 -0
  82. package/dist/src/providers/resilient-provider.js.map +1 -0
  83. package/dist/src/tricks/recursive-context.d.ts +296 -0
  84. package/dist/src/tricks/recursive-context.d.ts.map +1 -0
  85. package/dist/src/tricks/recursive-context.js +518 -0
  86. package/dist/src/tricks/recursive-context.js.map +1 -0
  87. package/dist/src/tui/app.d.ts.map +1 -1
  88. package/dist/src/tui/app.js +226 -29
  89. package/dist/src/tui/app.js.map +1 -1
  90. package/dist/src/tui/components/ApprovalDialog.d.ts.map +1 -1
  91. package/dist/src/tui/components/ApprovalDialog.js +1 -1
  92. package/dist/src/tui/components/ApprovalDialog.js.map +1 -1
  93. package/dist/src/tui/index.d.ts +1 -0
  94. package/dist/src/tui/index.d.ts.map +1 -1
  95. package/dist/src/tui/index.js +2 -0
  96. package/dist/src/tui/index.js.map +1 -1
  97. package/dist/src/tui/transparency-aggregator.d.ts +100 -0
  98. package/dist/src/tui/transparency-aggregator.d.ts.map +1 -0
  99. package/dist/src/tui/transparency-aggregator.js +234 -0
  100. package/dist/src/tui/transparency-aggregator.js.map +1 -0
  101. package/dist/src/types.d.ts +155 -0
  102. package/dist/src/types.d.ts.map +1 -1
  103. package/package.json +1 -1
@@ -0,0 +1,640 @@
1
+ /**
2
+ * Learning Store Integration
3
+ *
4
+ * Provides cross-session persistence for failure patterns and learnings.
5
+ * Extends the failure-evidence system with long-term memory.
6
+ *
7
+ * Features:
8
+ * - SQLite persistence for learnings
9
+ * - Pattern extraction from failures
10
+ * - User validation workflow
11
+ * - Retrieval of relevant learnings for new sessions
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * const store = createLearningStore({
16
+ * dbPath: '.agent/learnings.db',
17
+ * requireValidation: true,
18
+ * });
19
+ *
20
+ * // Connect failure tracker to store
21
+ * store.connectFailureTracker(tracker);
22
+ *
23
+ * // Learnings are auto-extracted and proposed
24
+ * store.on((event) => {
25
+ * if (event.type === 'learning.proposed') {
26
+ * // Ask user to validate
27
+ * const approved = await askUser(event.learning.description);
28
+ * if (approved) {
29
+ * store.validateLearning(event.learning.id, true);
30
+ * }
31
+ * }
32
+ * });
33
+ *
34
+ * // Retrieve relevant learnings for context
35
+ * const learnings = store.retrieveRelevant('file operations', 5);
36
+ * ```
37
+ */
38
+ import Database from 'better-sqlite3';
39
+ // =============================================================================
40
+ // DATABASE SCHEMA
41
+ // =============================================================================
42
+ const SCHEMA = `
43
+ CREATE TABLE IF NOT EXISTS learnings (
44
+ id TEXT PRIMARY KEY,
45
+ created_at TEXT NOT NULL,
46
+ updated_at TEXT NOT NULL,
47
+ type TEXT NOT NULL,
48
+ status TEXT NOT NULL,
49
+ description TEXT NOT NULL,
50
+ details TEXT,
51
+ categories TEXT NOT NULL,
52
+ actions TEXT NOT NULL,
53
+ keywords TEXT NOT NULL,
54
+ apply_count INTEGER DEFAULT 0,
55
+ help_count INTEGER DEFAULT 0,
56
+ confidence REAL DEFAULT 0.5,
57
+ source_failure_ids TEXT NOT NULL,
58
+ user_notes TEXT
59
+ );
60
+
61
+ CREATE INDEX IF NOT EXISTS idx_learnings_status ON learnings(status);
62
+ CREATE INDEX IF NOT EXISTS idx_learnings_type ON learnings(type);
63
+ CREATE INDEX IF NOT EXISTS idx_learnings_confidence ON learnings(confidence);
64
+
65
+ CREATE VIRTUAL TABLE IF NOT EXISTS learnings_fts USING fts5(
66
+ id,
67
+ description,
68
+ details,
69
+ keywords,
70
+ actions,
71
+ content=learnings,
72
+ content_rowid=rowid
73
+ );
74
+
75
+ CREATE TRIGGER IF NOT EXISTS learnings_ai AFTER INSERT ON learnings BEGIN
76
+ INSERT INTO learnings_fts(id, description, details, keywords, actions)
77
+ VALUES (NEW.id, NEW.description, NEW.details, NEW.keywords, NEW.actions);
78
+ END;
79
+
80
+ CREATE TRIGGER IF NOT EXISTS learnings_ad AFTER DELETE ON learnings BEGIN
81
+ INSERT INTO learnings_fts(learnings_fts, id, description, details, keywords, actions)
82
+ VALUES ('delete', OLD.id, OLD.description, OLD.details, OLD.keywords, OLD.actions);
83
+ END;
84
+
85
+ CREATE TRIGGER IF NOT EXISTS learnings_au AFTER UPDATE ON learnings BEGIN
86
+ INSERT INTO learnings_fts(learnings_fts, id, description, details, keywords, actions)
87
+ VALUES ('delete', OLD.id, OLD.description, OLD.details, OLD.keywords, OLD.actions);
88
+ INSERT INTO learnings_fts(id, description, details, keywords, actions)
89
+ VALUES (NEW.id, NEW.description, NEW.details, NEW.keywords, NEW.actions);
90
+ END;
91
+ `;
92
+ // =============================================================================
93
+ // LEARNING STORE
94
+ // =============================================================================
95
+ /**
96
+ * Manages persistent storage and retrieval of learnings.
97
+ */
98
+ export class LearningStore {
99
+ config;
100
+ db;
101
+ listeners = [];
102
+ failureTrackerUnsubscribe;
103
+ constructor(config = {}) {
104
+ this.config = {
105
+ dbPath: config.dbPath ?? '.agent/learnings.db',
106
+ requireValidation: config.requireValidation ?? true,
107
+ autoValidateThreshold: config.autoValidateThreshold ?? 0.9,
108
+ maxLearnings: config.maxLearnings ?? 500,
109
+ inMemory: config.inMemory ?? false,
110
+ };
111
+ // Initialize database
112
+ this.db = new Database(this.config.inMemory ? ':memory:' : this.config.dbPath);
113
+ this.initializeSchema();
114
+ }
115
+ /**
116
+ * Initialize the database schema.
117
+ */
118
+ initializeSchema() {
119
+ // Execute schema statements one at a time to handle SQLite limitations
120
+ const statements = SCHEMA.split(';').filter(s => s.trim());
121
+ for (const stmt of statements) {
122
+ try {
123
+ this.db.prepare(stmt + ';').run();
124
+ }
125
+ catch {
126
+ // Some statements may fail if already exists, which is fine
127
+ }
128
+ }
129
+ }
130
+ /**
131
+ * Connect a failure tracker to automatically extract learnings.
132
+ */
133
+ connectFailureTracker(tracker) {
134
+ this.failureTrackerUnsubscribe = tracker.on((event) => {
135
+ if (event.type === 'pattern.detected') {
136
+ this.extractLearningFromPattern(event.pattern);
137
+ }
138
+ });
139
+ return () => {
140
+ if (this.failureTrackerUnsubscribe) {
141
+ this.failureTrackerUnsubscribe();
142
+ this.failureTrackerUnsubscribe = undefined;
143
+ }
144
+ };
145
+ }
146
+ /**
147
+ * Propose a new learning.
148
+ */
149
+ proposeLearning(proposal) {
150
+ const learning = {
151
+ id: `learn-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`,
152
+ createdAt: new Date().toISOString(),
153
+ updatedAt: new Date().toISOString(),
154
+ type: proposal.type,
155
+ status: this.shouldAutoValidate(proposal.confidence ?? 0.5) ? 'validated' : 'proposed',
156
+ description: proposal.description,
157
+ details: proposal.details,
158
+ categories: proposal.categories || [],
159
+ actions: proposal.actions || [],
160
+ keywords: proposal.keywords || this.extractKeywords(proposal.description),
161
+ applyCount: 0,
162
+ helpCount: 0,
163
+ confidence: proposal.confidence ?? 0.5,
164
+ sourceFailureIds: proposal.sourceFailures?.map((f) => f.id) || [],
165
+ };
166
+ this.saveLearning(learning);
167
+ if (learning.status === 'proposed') {
168
+ this.emit({ type: 'learning.proposed', learning });
169
+ }
170
+ return learning;
171
+ }
172
+ /**
173
+ * Validate a proposed learning.
174
+ */
175
+ validateLearning(learningId, approved, reason) {
176
+ const learning = this.getLearning(learningId);
177
+ if (!learning)
178
+ return false;
179
+ if (approved) {
180
+ learning.status = 'validated';
181
+ learning.updatedAt = new Date().toISOString();
182
+ this.saveLearning(learning);
183
+ this.emit({ type: 'learning.validated', learningId });
184
+ }
185
+ else {
186
+ learning.status = 'rejected';
187
+ learning.userNotes = reason;
188
+ learning.updatedAt = new Date().toISOString();
189
+ this.saveLearning(learning);
190
+ this.emit({ type: 'learning.rejected', learningId, reason });
191
+ }
192
+ return true;
193
+ }
194
+ /**
195
+ * Record that a learning was applied.
196
+ */
197
+ recordApply(learningId, context) {
198
+ const learning = this.getLearning(learningId);
199
+ if (!learning)
200
+ return false;
201
+ learning.applyCount++;
202
+ learning.updatedAt = new Date().toISOString();
203
+ this.saveLearning(learning);
204
+ this.emit({ type: 'learning.applied', learningId, context });
205
+ return true;
206
+ }
207
+ /**
208
+ * Record that a learning helped.
209
+ */
210
+ recordHelped(learningId) {
211
+ const learning = this.getLearning(learningId);
212
+ if (!learning)
213
+ return false;
214
+ learning.helpCount++;
215
+ // Increase confidence when learning helps
216
+ learning.confidence = Math.min(1, learning.confidence + 0.05);
217
+ learning.updatedAt = new Date().toISOString();
218
+ this.saveLearning(learning);
219
+ this.emit({ type: 'learning.helped', learningId });
220
+ return true;
221
+ }
222
+ /**
223
+ * Get a learning by ID.
224
+ */
225
+ getLearning(id) {
226
+ const row = this.db.prepare('SELECT * FROM learnings WHERE id = ?').get(id);
227
+ if (!row)
228
+ return null;
229
+ return this.rowToLearning(row);
230
+ }
231
+ /**
232
+ * Get all validated learnings.
233
+ */
234
+ getValidatedLearnings() {
235
+ const rows = this.db
236
+ .prepare('SELECT * FROM learnings WHERE status = ? ORDER BY confidence DESC')
237
+ .all('validated');
238
+ return rows.map((r) => this.rowToLearning(r));
239
+ }
240
+ /**
241
+ * Get proposed learnings awaiting validation.
242
+ */
243
+ getPendingLearnings() {
244
+ const rows = this.db
245
+ .prepare('SELECT * FROM learnings WHERE status = ? ORDER BY created_at DESC')
246
+ .all('proposed');
247
+ return rows.map((r) => this.rowToLearning(r));
248
+ }
249
+ /**
250
+ * Retrieve learnings relevant to a query.
251
+ */
252
+ retrieveRelevant(query, limit = 10) {
253
+ // Use FTS for search
254
+ try {
255
+ const rows = this.db
256
+ .prepare(`SELECT learnings.* FROM learnings_fts
257
+ JOIN learnings ON learnings_fts.id = learnings.id
258
+ WHERE learnings_fts MATCH ?
259
+ AND learnings.status = 'validated'
260
+ ORDER BY rank
261
+ LIMIT ?`)
262
+ .all(this.sanitizeFtsQuery(query), limit);
263
+ return rows.map((r) => this.rowToLearning(r));
264
+ }
265
+ catch {
266
+ // FTS query failed, fall back to LIKE search
267
+ return this.retrieveByKeyword(query, limit);
268
+ }
269
+ }
270
+ /**
271
+ * Retrieve learnings by keyword (fallback).
272
+ */
273
+ retrieveByKeyword(keyword, limit) {
274
+ const rows = this.db
275
+ .prepare(`SELECT * FROM learnings
276
+ WHERE status = 'validated'
277
+ AND (description LIKE ? OR details LIKE ? OR keywords LIKE ?)
278
+ ORDER BY confidence DESC
279
+ LIMIT ?`)
280
+ .all(`%${keyword}%`, `%${keyword}%`, `%${keyword}%`, limit);
281
+ return rows.map((r) => this.rowToLearning(r));
282
+ }
283
+ /**
284
+ * Retrieve learnings by category.
285
+ */
286
+ retrieveByCategory(category, limit = 10) {
287
+ const rows = this.db
288
+ .prepare(`SELECT * FROM learnings
289
+ WHERE status = 'validated'
290
+ AND categories LIKE ?
291
+ ORDER BY confidence DESC, help_count DESC
292
+ LIMIT ?`)
293
+ .all(`%${category}%`, limit);
294
+ return rows.map((r) => this.rowToLearning(r));
295
+ }
296
+ /**
297
+ * Retrieve learnings by action.
298
+ */
299
+ retrieveByAction(action, limit = 10) {
300
+ const rows = this.db
301
+ .prepare(`SELECT * FROM learnings
302
+ WHERE status = 'validated'
303
+ AND actions LIKE ?
304
+ ORDER BY confidence DESC, help_count DESC
305
+ LIMIT ?`)
306
+ .all(`%${action}%`, limit);
307
+ return rows.map((r) => this.rowToLearning(r));
308
+ }
309
+ /**
310
+ * Get learning context formatted for LLM inclusion.
311
+ */
312
+ getLearningContext(options = {}) {
313
+ const { query, categories = [], actions = [], maxLearnings = 5, } = options;
314
+ let learnings = [];
315
+ // Search by query
316
+ if (query) {
317
+ learnings = this.retrieveRelevant(query, maxLearnings);
318
+ }
319
+ // Add by categories
320
+ for (const cat of categories) {
321
+ const catLearnings = this.retrieveByCategory(cat, 2);
322
+ learnings.push(...catLearnings);
323
+ }
324
+ // Add by actions
325
+ for (const action of actions) {
326
+ const actionLearnings = this.retrieveByAction(action, 2);
327
+ learnings.push(...actionLearnings);
328
+ }
329
+ // Deduplicate and limit
330
+ const seen = new Set();
331
+ learnings = learnings.filter((l) => {
332
+ if (seen.has(l.id))
333
+ return false;
334
+ seen.add(l.id);
335
+ return true;
336
+ }).slice(0, maxLearnings);
337
+ if (learnings.length === 0) {
338
+ return '';
339
+ }
340
+ return formatLearningsContext(learnings);
341
+ }
342
+ /**
343
+ * Archive a learning.
344
+ */
345
+ archiveLearning(learningId) {
346
+ const learning = this.getLearning(learningId);
347
+ if (!learning)
348
+ return false;
349
+ learning.status = 'archived';
350
+ learning.updatedAt = new Date().toISOString();
351
+ this.saveLearning(learning);
352
+ return true;
353
+ }
354
+ /**
355
+ * Delete a learning.
356
+ */
357
+ deleteLearning(learningId) {
358
+ const result = this.db.prepare('DELETE FROM learnings WHERE id = ?').run(learningId);
359
+ return result.changes > 0;
360
+ }
361
+ /**
362
+ * Get learning statistics.
363
+ */
364
+ getStats() {
365
+ const total = this.db.prepare('SELECT COUNT(*) as count FROM learnings').get().count;
366
+ const byStatus = {
367
+ proposed: 0,
368
+ validated: 0,
369
+ rejected: 0,
370
+ archived: 0,
371
+ };
372
+ const statusRows = this.db.prepare('SELECT status, COUNT(*) as count FROM learnings GROUP BY status').all();
373
+ for (const row of statusRows) {
374
+ byStatus[row.status] = row.count;
375
+ }
376
+ const byType = {
377
+ pattern: 0,
378
+ workaround: 0,
379
+ antipattern: 0,
380
+ best_practice: 0,
381
+ gotcha: 0,
382
+ };
383
+ const typeRows = this.db.prepare('SELECT type, COUNT(*) as count FROM learnings GROUP BY type').all();
384
+ for (const row of typeRows) {
385
+ byType[row.type] = row.count;
386
+ }
387
+ const topApplied = this.db
388
+ .prepare('SELECT id, description, apply_count FROM learnings ORDER BY apply_count DESC LIMIT 5')
389
+ .all();
390
+ const topHelpful = this.db
391
+ .prepare('SELECT id, description, help_count FROM learnings ORDER BY help_count DESC LIMIT 5')
392
+ .all();
393
+ return {
394
+ total,
395
+ byStatus,
396
+ byType,
397
+ topApplied: topApplied.map((r) => ({ id: r.id, description: r.description, applyCount: r.apply_count })),
398
+ topHelpful: topHelpful.map((r) => ({ id: r.id, description: r.description, helpCount: r.help_count })),
399
+ };
400
+ }
401
+ /**
402
+ * Subscribe to events.
403
+ */
404
+ on(listener) {
405
+ this.listeners.push(listener);
406
+ return () => {
407
+ const idx = this.listeners.indexOf(listener);
408
+ if (idx >= 0)
409
+ this.listeners.splice(idx, 1);
410
+ };
411
+ }
412
+ /**
413
+ * Close the database connection.
414
+ */
415
+ close() {
416
+ if (this.failureTrackerUnsubscribe) {
417
+ this.failureTrackerUnsubscribe();
418
+ }
419
+ this.db.close();
420
+ }
421
+ // Internal methods
422
+ shouldAutoValidate(confidence) {
423
+ return !this.config.requireValidation || confidence >= this.config.autoValidateThreshold;
424
+ }
425
+ extractLearningFromPattern(pattern) {
426
+ const learning = this.proposeLearning({
427
+ type: pattern.type === 'repeated_action' ? 'antipattern' : 'pattern',
428
+ description: pattern.description,
429
+ details: pattern.suggestion,
430
+ keywords: pattern.description.split(/\s+/).filter((w) => w.length > 3),
431
+ confidence: pattern.confidence,
432
+ });
433
+ this.emit({ type: 'pattern.extracted', pattern, learning });
434
+ return learning;
435
+ }
436
+ extractKeywords(text) {
437
+ // Simple keyword extraction - remove common words and short words
438
+ const stopWords = new Set([
439
+ 'the', 'a', 'an', 'and', 'or', 'but', 'is', 'are', 'was', 'were',
440
+ 'be', 'been', 'being', 'have', 'has', 'had', 'do', 'does', 'did',
441
+ 'to', 'at', 'by', 'for', 'with', 'about', 'against', 'between',
442
+ 'into', 'through', 'during', 'before', 'after', 'above', 'below',
443
+ 'from', 'up', 'down', 'in', 'out', 'on', 'off', 'over', 'under',
444
+ 'again', 'further', 'then', 'once', 'here', 'there', 'when', 'where',
445
+ 'why', 'how', 'all', 'each', 'few', 'more', 'most', 'other', 'some',
446
+ 'such', 'no', 'nor', 'not', 'only', 'own', 'same', 'so', 'than',
447
+ 'too', 'very', 'can', 'will', 'just', 'should', 'now',
448
+ ]);
449
+ return text
450
+ .toLowerCase()
451
+ .split(/\W+/)
452
+ .filter((word) => word.length > 3 && !stopWords.has(word))
453
+ .slice(0, 10);
454
+ }
455
+ sanitizeFtsQuery(query) {
456
+ // Escape special FTS5 characters
457
+ return query
458
+ .replace(/['"]/g, '')
459
+ .replace(/[^\w\s]/g, ' ')
460
+ .trim()
461
+ .split(/\s+/)
462
+ .filter((w) => w.length > 0)
463
+ .join(' OR ');
464
+ }
465
+ saveLearning(learning) {
466
+ const stmt = this.db.prepare(`
467
+ INSERT OR REPLACE INTO learnings (
468
+ id, created_at, updated_at, type, status, description, details,
469
+ categories, actions, keywords, apply_count, help_count, confidence,
470
+ source_failure_ids, user_notes
471
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
472
+ `);
473
+ stmt.run(learning.id, learning.createdAt, learning.updatedAt, learning.type, learning.status, learning.description, learning.details || null, JSON.stringify(learning.categories), JSON.stringify(learning.actions), JSON.stringify(learning.keywords), learning.applyCount, learning.helpCount, learning.confidence, JSON.stringify(learning.sourceFailureIds), learning.userNotes || null);
474
+ // Enforce max learnings
475
+ const count = this.db.prepare('SELECT COUNT(*) as count FROM learnings').get().count;
476
+ if (count > this.config.maxLearnings) {
477
+ // Delete oldest rejected or archived first, then lowest confidence
478
+ this.db.prepare(`
479
+ DELETE FROM learnings WHERE id IN (
480
+ SELECT id FROM learnings
481
+ WHERE status IN ('rejected', 'archived')
482
+ ORDER BY updated_at ASC
483
+ LIMIT ?
484
+ )
485
+ `).run(count - this.config.maxLearnings);
486
+ // If still over limit, delete lowest confidence
487
+ const remainingCount = this.db.prepare('SELECT COUNT(*) as count FROM learnings').get().count;
488
+ if (remainingCount > this.config.maxLearnings) {
489
+ this.db.prepare(`
490
+ DELETE FROM learnings WHERE id IN (
491
+ SELECT id FROM learnings
492
+ ORDER BY confidence ASC, apply_count ASC
493
+ LIMIT ?
494
+ )
495
+ `).run(remainingCount - this.config.maxLearnings);
496
+ }
497
+ }
498
+ }
499
+ rowToLearning(row) {
500
+ return {
501
+ id: row.id,
502
+ createdAt: row.created_at,
503
+ updatedAt: row.updated_at,
504
+ type: row.type,
505
+ status: row.status,
506
+ description: row.description,
507
+ details: row.details || undefined,
508
+ categories: JSON.parse(row.categories),
509
+ actions: JSON.parse(row.actions),
510
+ keywords: JSON.parse(row.keywords),
511
+ applyCount: row.apply_count,
512
+ helpCount: row.help_count,
513
+ confidence: row.confidence,
514
+ sourceFailureIds: JSON.parse(row.source_failure_ids),
515
+ userNotes: row.user_notes || undefined,
516
+ };
517
+ }
518
+ emit(event) {
519
+ for (const listener of this.listeners) {
520
+ try {
521
+ listener(event);
522
+ }
523
+ catch {
524
+ // Ignore listener errors
525
+ }
526
+ }
527
+ }
528
+ }
529
+ // =============================================================================
530
+ // FACTORY FUNCTIONS
531
+ // =============================================================================
532
+ /**
533
+ * Create a learning store.
534
+ *
535
+ * @example
536
+ * ```typescript
537
+ * const store = createLearningStore({
538
+ * dbPath: '.agent/learnings.db',
539
+ * requireValidation: true,
540
+ * });
541
+ *
542
+ * // Propose a learning manually
543
+ * store.proposeLearning({
544
+ * type: 'gotcha',
545
+ * description: 'Always check file exists before reading',
546
+ * actions: ['read_file'],
547
+ * categories: ['not_found'],
548
+ * });
549
+ *
550
+ * // Retrieve relevant learnings
551
+ * const learnings = store.retrieveRelevant('file permissions');
552
+ * ```
553
+ */
554
+ export function createLearningStore(config = {}) {
555
+ return new LearningStore(config);
556
+ }
557
+ /**
558
+ * Create an in-memory learning store (for testing).
559
+ */
560
+ export function createInMemoryLearningStore(config = {}) {
561
+ return new LearningStore({
562
+ ...config,
563
+ inMemory: true,
564
+ });
565
+ }
566
+ // =============================================================================
567
+ // UTILITIES
568
+ // =============================================================================
569
+ /**
570
+ * Format learnings as context for LLM.
571
+ */
572
+ export function formatLearningsContext(learnings) {
573
+ if (learnings.length === 0)
574
+ return '';
575
+ const lines = [
576
+ '[Learnings from Previous Sessions]',
577
+ '',
578
+ ];
579
+ for (const l of learnings) {
580
+ const typeIcon = {
581
+ pattern: '📊',
582
+ workaround: '💡',
583
+ antipattern: '⚠️',
584
+ best_practice: '✅',
585
+ gotcha: '🔍',
586
+ }[l.type];
587
+ lines.push(`${typeIcon} **${l.description}**`);
588
+ if (l.details) {
589
+ lines.push(` ${l.details}`);
590
+ }
591
+ if (l.actions.length > 0) {
592
+ lines.push(` Actions: ${l.actions.join(', ')}`);
593
+ }
594
+ lines.push('');
595
+ }
596
+ return lines.join('\n');
597
+ }
598
+ /**
599
+ * Format learning stats for display.
600
+ */
601
+ export function formatLearningStats(stats) {
602
+ const lines = [
603
+ 'Learning Statistics:',
604
+ ` Total: ${stats.total}`,
605
+ '',
606
+ ' By Status:',
607
+ ];
608
+ for (const [status, count] of Object.entries(stats.byStatus)) {
609
+ if (count > 0) {
610
+ lines.push(` ${status}: ${count}`);
611
+ }
612
+ }
613
+ lines.push('');
614
+ lines.push(' By Type:');
615
+ for (const [type, count] of Object.entries(stats.byType)) {
616
+ if (count > 0) {
617
+ lines.push(` ${type}: ${count}`);
618
+ }
619
+ }
620
+ if (stats.topApplied.length > 0) {
621
+ lines.push('');
622
+ lines.push(' Most Applied:');
623
+ for (const l of stats.topApplied) {
624
+ if (l.applyCount > 0) {
625
+ lines.push(` ${l.description.slice(0, 50)}... (${l.applyCount})`);
626
+ }
627
+ }
628
+ }
629
+ if (stats.topHelpful.length > 0) {
630
+ lines.push('');
631
+ lines.push(' Most Helpful:');
632
+ for (const l of stats.topHelpful) {
633
+ if (l.helpCount > 0) {
634
+ lines.push(` ${l.description.slice(0, 50)}... (${l.helpCount})`);
635
+ }
636
+ }
637
+ }
638
+ return lines.join('\n');
639
+ }
640
+ //# sourceMappingURL=learning-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"learning-store.js","sourceRoot":"","sources":["../../../src/integrations/learning-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AA+ItC,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAEhF,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDd,CAAC;AAEF,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,OAAO,aAAa;IAChB,MAAM,CAAgC;IACtC,EAAE,CAAoB;IACtB,SAAS,GAAiC,EAAE,CAAC;IAC7C,yBAAyB,CAAc;IAE/C,YAAY,SAA8B,EAAE;QAC1C,IAAI,CAAC,MAAM,GAAG;YACZ,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,qBAAqB;YAC9C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,IAAI;YACnD,qBAAqB,EAAE,MAAM,CAAC,qBAAqB,IAAI,GAAG;YAC1D,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,GAAG;YACxC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,KAAK;SACnC,CAAC;QAEF,sBAAsB;QACtB,IAAI,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/E,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,gBAAgB;QACtB,uEAAuE;QACvE,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3D,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,4DAA4D;YAC9D,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAC,OAAuB;QAC3C,IAAI,CAAC,yBAAyB,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE;YACpD,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACtC,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACjD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE;YACV,IAAI,IAAI,CAAC,yBAAyB,EAAE,CAAC;gBACnC,IAAI,CAAC,yBAAyB,EAAE,CAAC;gBACjC,IAAI,CAAC,yBAAyB,GAAG,SAAS,CAAC;YAC7C,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,QAA0B;QACxC,MAAM,QAAQ,GAAa;YACzB,EAAE,EAAE,SAAS,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;YACnE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU;YACtF,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,EAAE;YACrC,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,EAAE;YAC/B,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC;YACzE,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,GAAG;YACtC,gBAAgB,EAAE,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE;SAClE,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE5B,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,UAAkB,EAAE,QAAiB,EAAE,MAAe;QACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE5B,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC;YAC9B,QAAQ,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC9C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,UAAU,EAAE,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,MAAM,GAAG,UAAU,CAAC;YAC7B,QAAQ,CAAC,SAAS,GAAG,MAAM,CAAC;YAC5B,QAAQ,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC9C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,UAAkB,EAAE,OAAe;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE5B,QAAQ,CAAC,UAAU,EAAE,CAAC;QACtB,QAAQ,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC9C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE5B,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,UAAkB;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE5B,QAAQ,CAAC,SAAS,EAAE,CAAC;QACrB,0CAA0C;QAC1C,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;QAC9D,QAAQ,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC9C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE5B,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,EAAU;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC,GAAG,CAAC,EAAE,CAA4B,CAAC;QACvG,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,qBAAqB;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CAAC,mEAAmE,CAAC;aAC5E,GAAG,CAAC,WAAW,CAAkB,CAAC;QACrC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CAAC,mEAAmE,CAAC;aAC5E,GAAG,CAAC,UAAU,CAAkB,CAAC;QACpC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,KAAa,EAAE,QAAgB,EAAE;QAChD,qBAAqB;QACrB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;iBACjB,OAAO,CACN;;;;;mBAKS,CACV;iBACA,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,KAAK,CAAkB,CAAC;YAE7D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,6CAA6C;YAC7C,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,OAAe,EAAE,KAAa;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CACN;;;;iBAIS,CACV;aACA,GAAG,CAAC,IAAI,OAAO,GAAG,EAAE,IAAI,OAAO,GAAG,EAAE,IAAI,OAAO,GAAG,EAAE,KAAK,CAAkB,CAAC;QAE/E,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,QAAyB,EAAE,QAAgB,EAAE;QAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CACN;;;;iBAIS,CACV;aACA,GAAG,CAAC,IAAI,QAAQ,GAAG,EAAE,KAAK,CAAkB,CAAC;QAEhD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,MAAc,EAAE,QAAgB,EAAE;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CACN;;;;iBAIS,CACV;aACA,GAAG,CAAC,IAAI,MAAM,GAAG,EAAE,KAAK,CAAkB,CAAC;QAE9C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,UAKf,EAAE;QACJ,MAAM,EACJ,KAAK,EACL,UAAU,GAAG,EAAE,EACf,OAAO,GAAG,EAAE,EACZ,YAAY,GAAG,CAAC,GACjB,GAAG,OAAO,CAAC;QAEZ,IAAI,SAAS,GAAe,EAAE,CAAC;QAE/B,kBAAkB;QAClB,IAAI,KAAK,EAAE,CAAC;YACV,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACzD,CAAC;QAED,oBAAoB;QACpB,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACrD,SAAS,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;QAClC,CAAC;QAED,iBAAiB;QACjB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACzD,SAAS,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;QACrC,CAAC;QAED,wBAAwB;QACxB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACjC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAE,OAAO,KAAK,CAAC;YACjC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QAE1B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,UAAkB;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE5B,QAAQ,CAAC,MAAM,GAAG,UAAU,CAAC;QAC7B,QAAQ,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC9C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,UAAkB;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrF,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,QAAQ;QAON,MAAM,KAAK,GAAI,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC,GAAG,EAAwB,CAAC,KAAK,CAAC;QAE5G,MAAM,QAAQ,GAAmC;YAC/C,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,CAAC;YACZ,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,CAAC;SACZ,CAAC;QAEF,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,iEAAiE,CAAC,CAAC,GAAG,EAAsD,CAAC;QAChK,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;QACnC,CAAC;QAED,MAAM,MAAM,GAAiC;YAC3C,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,CAAC;YACd,aAAa,EAAE,CAAC;YAChB,MAAM,EAAE,CAAC;SACV,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,6DAA6D,CAAC,CAAC,GAAG,EAAkD,CAAC;QACtJ,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;QAC/B,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE;aACvB,OAAO,CAAC,sFAAsF,CAAC;aAC/F,GAAG,EAAqE,CAAC;QAE5E,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE;aACvB,OAAO,CAAC,oFAAoF,CAAC;aAC7F,GAAG,EAAoE,CAAC;QAE3E,OAAO;YACL,KAAK;YACL,QAAQ;YACR,MAAM;YACN,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YACxG,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;SACvG,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,EAAE,CAAC,QAAoC;QACrC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO,GAAG,EAAE;YACV,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,GAAG,IAAI,CAAC;gBAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACnC,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IAED,mBAAmB;IAEX,kBAAkB,CAAC,UAAkB;QAC3C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC;IAC3F,CAAC;IAEO,0BAA0B,CAAC,OAAuB;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;YACpC,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;YACpE,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,OAAO,EAAE,OAAO,CAAC,UAAU;YAC3B,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YACtE,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QAE5D,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,eAAe,CAAC,IAAY;QAClC,kEAAkE;QAClE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;YACxB,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM;YAChE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK;YAChE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;YAC9D,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;YAChE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO;YAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO;YACpE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;YACnE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;YAC/D,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK;SACtD,CAAC,CAAC;QAEH,OAAO,IAAI;aACR,WAAW,EAAE;aACb,KAAK,CAAC,KAAK,CAAC;aACZ,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aACzD,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClB,CAAC;IAEO,gBAAgB,CAAC,KAAa;QACpC,iCAAiC;QACjC,OAAO,KAAK;aACT,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;aACpB,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;aACxB,IAAI,EAAE;aACN,KAAK,CAAC,KAAK,CAAC;aACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;aAC3B,IAAI,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAEO,YAAY,CAAC,QAAkB;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;KAM5B,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CACN,QAAQ,CAAC,EAAE,EACX,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,WAAW,EACpB,QAAQ,CAAC,OAAO,IAAI,IAAI,EACxB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,EACnC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAChC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACjC,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,UAAU,EACnB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EACzC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAC3B,CAAC;QAEF,wBAAwB;QACxB,MAAM,KAAK,GAAI,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC,GAAG,EAAwB,CAAC,KAAK,CAAC;QAC5G,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACrC,mEAAmE;YACnE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;OAOf,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAEzC,gDAAgD;YAChD,MAAM,cAAc,GAAI,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC,GAAG,EAAwB,CAAC,KAAK,CAAC;YACrH,IAAI,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;gBAC9C,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;SAMf,CAAC,CAAC,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,GAAgB;QACpC,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,IAAI,EAAE,GAAG,CAAC,IAAoB;YAC9B,MAAM,EAAE,GAAG,CAAC,MAAwB;YACpC,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,SAAS;YACjC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAsB;YAC3D,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAa;YAC5C,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAa;YAC9C,UAAU,EAAE,GAAG,CAAC,WAAW;YAC3B,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAa;YAChE,SAAS,EAAE,GAAG,CAAC,UAAU,IAAI,SAAS;SACvC,CAAC;IACJ,CAAC;IAEO,IAAI,CAAC,KAAyB;QACpC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;YAAC,MAAM,CAAC;gBACP,yBAAyB;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAqBD,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,mBAAmB,CACjC,SAA8B,EAAE;IAEhC,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CACzC,SAA2D,EAAE;IAE7D,OAAO,IAAI,aAAa,CAAC;QACvB,GAAG,MAAM;QACT,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;AACL,CAAC;AAED,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,SAAqB;IAC1D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEtC,MAAM,KAAK,GAAG;QACZ,oCAAoC;QACpC,EAAE;KACH,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG;YACf,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,IAAI;YACjB,aAAa,EAAE,GAAG;YAClB,MAAM,EAAE,IAAI;SACb,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAEV,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,MAAM,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC;QAE/C,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAA4C;IAC9E,MAAM,KAAK,GAAG;QACZ,sBAAsB;QACtB,YAAY,KAAK,CAAC,KAAK,EAAE;QACzB,EAAE;QACF,cAAc;KACf,CAAC;IAEF,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7D,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,OAAO,MAAM,KAAK,KAAK,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAEzB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;gBACpB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pending-plan.d.ts","sourceRoot":"","sources":["../../../src/integrations/pending-plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pending-plan.d.ts","sourceRoot":"","sources":["../../../src/integrations/pending-plan.ts"],"names":[],"mappings":"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"}