@praveencs/agent 0.2.0 → 0.7.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.
- package/README.md +42 -982
- package/dist/src/cli/commands/daemon.d.ts.map +1 -1
- package/dist/src/cli/commands/daemon.js +147 -7
- package/dist/src/cli/commands/daemon.js.map +1 -1
- package/dist/src/cli/commands/goal.d.ts.map +1 -1
- package/dist/src/cli/commands/goal.js +67 -0
- package/dist/src/cli/commands/goal.js.map +1 -1
- package/dist/src/cli/commands/report.d.ts +3 -0
- package/dist/src/cli/commands/report.d.ts.map +1 -0
- package/dist/src/cli/commands/report.js +34 -0
- package/dist/src/cli/commands/report.js.map +1 -0
- package/dist/src/cli/commands/skills.d.ts.map +1 -1
- package/dist/src/cli/commands/skills.js +100 -0
- package/dist/src/cli/commands/skills.js.map +1 -1
- package/dist/src/cli/index.d.ts.map +1 -1
- package/dist/src/cli/index.js +3 -1
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/daemon/manager.d.ts +9 -3
- package/dist/src/daemon/manager.d.ts.map +1 -1
- package/dist/src/daemon/manager.js +31 -10
- package/dist/src/daemon/manager.js.map +1 -1
- package/dist/src/daemon/service.d.ts +76 -0
- package/dist/src/daemon/service.d.ts.map +1 -0
- package/dist/src/daemon/service.js +284 -0
- package/dist/src/daemon/service.js.map +1 -0
- package/dist/src/daemon/triggers.d.ts +34 -0
- package/dist/src/daemon/triggers.d.ts.map +1 -0
- package/dist/src/daemon/triggers.js +76 -0
- package/dist/src/daemon/triggers.js.map +1 -0
- package/dist/src/goals/decomposer.d.ts +41 -0
- package/dist/src/goals/decomposer.d.ts.map +1 -0
- package/dist/src/goals/decomposer.js +167 -0
- package/dist/src/goals/decomposer.js.map +1 -0
- package/dist/src/goals/executor.d.ts +52 -0
- package/dist/src/goals/executor.d.ts.map +1 -0
- package/dist/src/goals/executor.js +198 -0
- package/dist/src/goals/executor.js.map +1 -0
- package/dist/src/goals/store.d.ts +4 -0
- package/dist/src/goals/store.d.ts.map +1 -1
- package/dist/src/goals/store.js +13 -0
- package/dist/src/goals/store.js.map +1 -1
- package/dist/src/memory/store.d.ts +12 -0
- package/dist/src/memory/store.d.ts.map +1 -1
- package/dist/src/memory/store.js +57 -1
- package/dist/src/memory/store.js.map +1 -1
- package/dist/src/reporting/generator.d.ts +14 -0
- package/dist/src/reporting/generator.d.ts.map +1 -0
- package/dist/src/reporting/generator.js +91 -0
- package/dist/src/reporting/generator.js.map +1 -0
- package/dist/src/skills/doctor.d.ts +30 -0
- package/dist/src/skills/doctor.d.ts.map +1 -0
- package/dist/src/skills/doctor.js +108 -0
- package/dist/src/skills/doctor.js.map +1 -0
- package/dist/src/skills/loader.d.ts +4 -0
- package/dist/src/skills/loader.d.ts.map +1 -1
- package/dist/src/skills/loader.js +13 -0
- package/dist/src/skills/loader.js.map +1 -1
- package/package.json +1 -1
|
@@ -64,6 +64,18 @@ export declare class MemoryStore {
|
|
|
64
64
|
};
|
|
65
65
|
private logAudit;
|
|
66
66
|
getAuditLog(limit?: number): any[];
|
|
67
|
+
/**
|
|
68
|
+
* Get activity for a specific date (default: today)
|
|
69
|
+
*/
|
|
70
|
+
getDailyActivity(date?: Date): any[];
|
|
71
|
+
/**
|
|
72
|
+
* Record usage of a skill
|
|
73
|
+
*/
|
|
74
|
+
recordSkillMetric(skill: string, success: boolean, durationMs: number): void;
|
|
75
|
+
/**
|
|
76
|
+
* Get metrics for all skills
|
|
77
|
+
*/
|
|
78
|
+
getSkillMetrics(): any[];
|
|
67
79
|
close(): void;
|
|
68
80
|
}
|
|
69
81
|
//# sourceMappingURL=store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/memory/store.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,MAAM,WAAW,MAAM;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,SAAS,GAAG,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IACpE,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAClC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAmB,SAAQ,MAAM;IAC9C,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,WAAW;IACpB,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA4B;gBAEvC,MAAM,EAAE,MAAM;IAY1B;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW;IASzC;;OAEG;IACH,OAAO,CAAC,OAAO;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/memory/store.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,MAAM,WAAW,MAAM;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,SAAS,GAAG,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IACpE,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAClC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAmB,SAAQ,MAAM;IAC9C,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,WAAW;IACpB,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA4B;gBAEvC,MAAM,EAAE,MAAM;IAY1B;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW;IASzC;;OAEG;IACH,OAAO,CAAC,OAAO;IAgHf;;OAEG;IACH,IAAI,CACA,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAAM,CAAC,UAAU,CAAa,EACxC,MAAM,GAAE,MAAM,CAAC,QAAQ,CAAU,EACjC,IAAI,GAAE,MAAM,EAAO,GACpB,MAAM;IAYT;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,kBAAkB,EAAE;IAqCvD;;OAEG;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,KAAK,SAAK,GAAG,MAAM,EAAE;IAqBzD;;OAEG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAOpC;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAS3B;;;OAGG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,MAAM;IAkBlD;;OAEG;IACH,KAAK,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE;IAoBhG,OAAO,CAAC,QAAQ;IAOhB,WAAW,CAAC,KAAK,SAAK,GAAG,GAAG,EAAE;IAM9B;;OAEG;IACH,gBAAgB,CAAC,IAAI,GAAE,IAAiB,GAAG,GAAG,EAAE;IAgBhD;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAmB5E;;OAEG;IACH,eAAe,IAAI,GAAG,EAAE;IAMxB,KAAK,IAAI,IAAI;CAIhB"}
|
package/dist/src/memory/store.js
CHANGED
|
@@ -123,6 +123,16 @@ export class MemoryStore {
|
|
|
123
123
|
CREATE INDEX IF NOT EXISTS idx_tasks_goal ON tasks(goal_id);
|
|
124
124
|
CREATE INDEX IF NOT EXISTS idx_tasks_status ON tasks(status);
|
|
125
125
|
CREATE INDEX IF NOT EXISTS idx_audit_entity ON audit_events(entity_type, entity_id);
|
|
126
|
+
|
|
127
|
+
-- Skill Metrics table
|
|
128
|
+
CREATE TABLE IF NOT EXISTS skill_metrics (
|
|
129
|
+
skill TEXT PRIMARY KEY,
|
|
130
|
+
calls INTEGER DEFAULT 0,
|
|
131
|
+
successes INTEGER DEFAULT 0,
|
|
132
|
+
failures INTEGER DEFAULT 0,
|
|
133
|
+
total_duration_ms INTEGER DEFAULT 0,
|
|
134
|
+
last_used DATETIME
|
|
135
|
+
);
|
|
126
136
|
`);
|
|
127
137
|
}
|
|
128
138
|
// ─── Memory Operations ─────────────────────────────────────
|
|
@@ -150,7 +160,16 @@ export class MemoryStore {
|
|
|
150
160
|
ORDER BY fts.rank
|
|
151
161
|
LIMIT ?
|
|
152
162
|
`);
|
|
153
|
-
|
|
163
|
+
// Sanitize query for FTS5: remove special chars that break syntax
|
|
164
|
+
// or wrap in quotes if you want exact match.
|
|
165
|
+
// For now, let's just strip non-alphanumeric except spaces.
|
|
166
|
+
const safeQuery = query.replace(/[^\w\s]/g, ' ').trim();
|
|
167
|
+
// If query becomes empty after sanitization, return empty results
|
|
168
|
+
if (!safeQuery)
|
|
169
|
+
return [];
|
|
170
|
+
// Use OR logic for multiple terms for broader context
|
|
171
|
+
const ftsQuery = safeQuery.split(/\s+/).join(' OR ');
|
|
172
|
+
const results = stmt.all(ftsQuery, limit);
|
|
154
173
|
// Update accessed_at for returned memories
|
|
155
174
|
const updateStmt = this.db.prepare(`
|
|
156
175
|
UPDATE memories SET accessed_at = datetime('now') WHERE id = ?
|
|
@@ -246,6 +265,43 @@ export class MemoryStore {
|
|
|
246
265
|
getAuditLog(limit = 20) {
|
|
247
266
|
return this.db.prepare('SELECT * FROM audit_events ORDER BY created_at DESC LIMIT ?').all(limit);
|
|
248
267
|
}
|
|
268
|
+
/**
|
|
269
|
+
* Get activity for a specific date (default: today)
|
|
270
|
+
*/
|
|
271
|
+
getDailyActivity(date = new Date()) {
|
|
272
|
+
const startOfDay = new Date(date);
|
|
273
|
+
startOfDay.setHours(0, 0, 0, 0);
|
|
274
|
+
const endOfDay = new Date(date);
|
|
275
|
+
endOfDay.setHours(23, 59, 59, 999);
|
|
276
|
+
return this.db.prepare(`
|
|
277
|
+
SELECT * FROM audit_events
|
|
278
|
+
WHERE created_at BETWEEN ? AND ?
|
|
279
|
+
ORDER BY created_at ASC
|
|
280
|
+
`).all(startOfDay.toISOString(), endOfDay.toISOString());
|
|
281
|
+
}
|
|
282
|
+
// ─── Skill Metrics ───────────────────────────────────────
|
|
283
|
+
/**
|
|
284
|
+
* Record usage of a skill
|
|
285
|
+
*/
|
|
286
|
+
recordSkillMetric(skill, success, durationMs) {
|
|
287
|
+
const stmt = this.db.prepare(`
|
|
288
|
+
INSERT INTO skill_metrics (skill, calls, successes, failures, total_duration_ms, last_used)
|
|
289
|
+
VALUES (?, 1, ?, ?, ?, datetime('now'))
|
|
290
|
+
ON CONFLICT(skill) DO UPDATE SET
|
|
291
|
+
calls = calls + 1,
|
|
292
|
+
successes = successes + (excluded.successes),
|
|
293
|
+
failures = failures + (excluded.failures),
|
|
294
|
+
total_duration_ms = total_duration_ms + excluded.total_duration_ms,
|
|
295
|
+
last_used = datetime('now')
|
|
296
|
+
`);
|
|
297
|
+
stmt.run(skill, success ? 1 : 0, success ? 0 : 1, durationMs);
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Get metrics for all skills
|
|
301
|
+
*/
|
|
302
|
+
getSkillMetrics() {
|
|
303
|
+
return this.db.prepare('SELECT * FROM skill_metrics ORDER BY calls DESC').all();
|
|
304
|
+
}
|
|
249
305
|
// ─── Cleanup ─────────────────────────────────────────────
|
|
250
306
|
close() {
|
|
251
307
|
this.db.close();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/memory/store.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAwBpC,MAAM,OAAO,WAAW;IACZ,EAAE,CAAoB;IACtB,MAAM,CAAC,QAAQ,GAAuB,IAAI,CAAC;IAEnD,YAAY,MAAc;QACtB,0BAA0B;QAC1B,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAErD,IAAI,CAAC,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE/B,oDAAoD;QACpD,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAErC,IAAI,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,OAAe;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QACzD,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAK,WAAW,CAAC,QAAgB,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC1E,WAAW,CAAC,QAAQ,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;YAC9C,WAAW,CAAC,QAAgB,CAAC,KAAK,GAAG,MAAM,CAAC;QACjD,CAAC;QACD,OAAO,WAAW,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED;;OAEG;IACK,OAAO;QACX,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/memory/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare class ReportGenerator {
|
|
2
|
+
private memoryStore;
|
|
3
|
+
private goalStore;
|
|
4
|
+
constructor(workDir?: string);
|
|
5
|
+
/**
|
|
6
|
+
* Generate a daily standup/activity report
|
|
7
|
+
*/
|
|
8
|
+
generateDailyReport(date?: Date): Promise<string>;
|
|
9
|
+
/**
|
|
10
|
+
* Generate an executive summary using LLM
|
|
11
|
+
*/
|
|
12
|
+
generateExecutiveSummary(): Promise<string>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/reporting/generator.ts"],"names":[],"mappings":"AAKA,qBAAa,eAAe;IACxB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,SAAS,CAAY;gBAEjB,OAAO,GAAE,MAAsB;IAK3C;;OAEG;IACG,mBAAmB,CAAC,IAAI,GAAE,IAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAyDnE;;OAEG;IACG,wBAAwB,IAAI,OAAO,CAAC,MAAM,CAAC;CA4BpD"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { MemoryStore } from '../memory/store.js';
|
|
2
|
+
import { GoalStore } from '../goals/store.js';
|
|
3
|
+
import { ConfigLoader } from '../config/loader.js';
|
|
4
|
+
import { LLMRouter } from '../llm/router.js';
|
|
5
|
+
export class ReportGenerator {
|
|
6
|
+
memoryStore;
|
|
7
|
+
goalStore;
|
|
8
|
+
constructor(workDir = process.cwd()) {
|
|
9
|
+
this.memoryStore = MemoryStore.open(workDir);
|
|
10
|
+
this.goalStore = new GoalStore(this.memoryStore);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Generate a daily standup/activity report
|
|
14
|
+
*/
|
|
15
|
+
async generateDailyReport(date = new Date()) {
|
|
16
|
+
const activity = this.memoryStore.getDailyActivity(date);
|
|
17
|
+
// Group by type
|
|
18
|
+
const tasksCompleted = activity.filter(a => a.event_type === 'task.completed');
|
|
19
|
+
const tasksFailed = activity.filter(a => a.event_type === 'task.failed');
|
|
20
|
+
const goalsCreated = activity.filter(a => a.event_type === 'goal.created');
|
|
21
|
+
const memoriesSaved = activity.filter(a => a.event_type === 'memory.save');
|
|
22
|
+
const dateStr = date.toISOString().split('T')[0];
|
|
23
|
+
// Basic stats
|
|
24
|
+
let report = `# 📝 Agent Daily Report: ${dateStr}\n\n`;
|
|
25
|
+
report += `## 📊 Summary\n`;
|
|
26
|
+
report += `- **Tasks Completed:** ${tasksCompleted.length}\n`;
|
|
27
|
+
report += `- **Tasks Failed:** ${tasksFailed.length}\n`;
|
|
28
|
+
report += `- **New Goals:** ${goalsCreated.length}\n`;
|
|
29
|
+
report += `- **Memories Learned:** ${memoriesSaved.length}\n`;
|
|
30
|
+
if (tasksCompleted.length > 0) {
|
|
31
|
+
report += `\n## ✅ Completed Tasks\n`;
|
|
32
|
+
for (const t of tasksCompleted) {
|
|
33
|
+
// Fetch task details if possible (details column holds title/id)
|
|
34
|
+
// "Task #1 completed"
|
|
35
|
+
report += `- ${t.details}\n`;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (tasksFailed.length > 0) {
|
|
39
|
+
report += `\n## ❌ Failures & Blockers\n`;
|
|
40
|
+
for (const t of tasksFailed) {
|
|
41
|
+
report += `- ${t.details}\n`;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (goalsCreated.length > 0) {
|
|
45
|
+
report += `\n## 🎯 New Goals\n`;
|
|
46
|
+
for (const g of goalsCreated) {
|
|
47
|
+
report += `- ${g.details}\n`;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
// Add active goals status
|
|
51
|
+
const activeGoals = this.goalStore.listGoals('active');
|
|
52
|
+
if (activeGoals.length > 0) {
|
|
53
|
+
report += `\n## 🔄 Active Goals Progress\n`;
|
|
54
|
+
for (const goal of activeGoals) {
|
|
55
|
+
const pct = Math.round(goal.progress * 100);
|
|
56
|
+
report += `- **${goal.title}**: ${pct}% complete (Priority: ${goal.priority})\n`;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return report;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Generate an executive summary using LLM
|
|
63
|
+
*/
|
|
64
|
+
async generateExecutiveSummary() {
|
|
65
|
+
const rawReport = await this.generateDailyReport();
|
|
66
|
+
try {
|
|
67
|
+
const configLoader = new ConfigLoader();
|
|
68
|
+
const config = await configLoader.load();
|
|
69
|
+
const llm = new LLMRouter(config);
|
|
70
|
+
const response = await llm.chat({
|
|
71
|
+
messages: [
|
|
72
|
+
{
|
|
73
|
+
role: 'system',
|
|
74
|
+
content: 'You are an executive assistant. Summarize the following technical activity log into a brief, professional daily email update for a manager. Focus on progress and blockers. Keep it under 200 words.'
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
role: 'user',
|
|
78
|
+
content: rawReport
|
|
79
|
+
}
|
|
80
|
+
],
|
|
81
|
+
maxTokens: 500,
|
|
82
|
+
temperature: 0.3
|
|
83
|
+
});
|
|
84
|
+
return response.content;
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
return "Unable to generate executive summary (LLM unavailable). See full report below.\n\n" + rawReport;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../src/reporting/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { MemoryStore } from '../memory/store.js';
|
|
2
|
+
import { SkillLoader } from './loader.js';
|
|
3
|
+
import { LLMRouter } from '../llm/router.js';
|
|
4
|
+
export interface Diagnosis {
|
|
5
|
+
skill: string;
|
|
6
|
+
healthy: boolean;
|
|
7
|
+
issues: string[];
|
|
8
|
+
fixSuggestion?: string;
|
|
9
|
+
logsanalyzed: number;
|
|
10
|
+
}
|
|
11
|
+
export declare class SkillDoctor {
|
|
12
|
+
private memoryStore;
|
|
13
|
+
private skillLoader;
|
|
14
|
+
private llm;
|
|
15
|
+
private goalStore;
|
|
16
|
+
constructor(memoryStore: MemoryStore, skillLoader: SkillLoader, llm: LLMRouter);
|
|
17
|
+
/**
|
|
18
|
+
* Diagnose a specific skill based on recent performance
|
|
19
|
+
*/
|
|
20
|
+
diagnose(skillName: string): Promise<Diagnosis>;
|
|
21
|
+
/**
|
|
22
|
+
* Attempt to automatically fix a failing skill
|
|
23
|
+
*/
|
|
24
|
+
fix(skillName: string): Promise<{
|
|
25
|
+
success: boolean;
|
|
26
|
+
patch?: string;
|
|
27
|
+
reasoning?: string;
|
|
28
|
+
}>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=doctor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/skills/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAI7C,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,WAAW;IAIhB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,GAAG;IALf,OAAO,CAAC,SAAS,CAAY;gBAGjB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,SAAS;IAK1B;;OAEG;IACG,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IA2BrD;;OAEG;IACG,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CA0ElG"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { GoalStore } from '../goals/store.js';
|
|
2
|
+
import { writeFile } from 'node:fs/promises';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
export class SkillDoctor {
|
|
5
|
+
memoryStore;
|
|
6
|
+
skillLoader;
|
|
7
|
+
llm;
|
|
8
|
+
goalStore;
|
|
9
|
+
constructor(memoryStore, skillLoader, llm) {
|
|
10
|
+
this.memoryStore = memoryStore;
|
|
11
|
+
this.skillLoader = skillLoader;
|
|
12
|
+
this.llm = llm;
|
|
13
|
+
this.goalStore = new GoalStore(memoryStore);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Diagnose a specific skill based on recent performance
|
|
17
|
+
*/
|
|
18
|
+
async diagnose(skillName) {
|
|
19
|
+
// 1. Check general metrics
|
|
20
|
+
const metrics = this.memoryStore.getSkillMetrics().find(m => m.skill === skillName);
|
|
21
|
+
const issues = [];
|
|
22
|
+
if (metrics) {
|
|
23
|
+
const rate = metrics.calls > 0 ? (metrics.successes / metrics.calls) : 1;
|
|
24
|
+
if (rate < 0.5)
|
|
25
|
+
issues.push(`Low success rate: ${Math.round(rate * 100)}%`);
|
|
26
|
+
if (metrics.failures > 5)
|
|
27
|
+
issues.push(`High failure count: ${metrics.failures}`);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
return { skill: skillName, healthy: true, issues: ['No usage data'], logsanalyzed: 0 };
|
|
31
|
+
}
|
|
32
|
+
// 2. Analyze specific error logs
|
|
33
|
+
const errors = this.goalStore.getSkillErrors(skillName, 5);
|
|
34
|
+
if (errors.length > 0) {
|
|
35
|
+
issues.push(...errors.slice(0, 3).map(e => `Recent error: ${e.slice(0, 100)}...`));
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
skill: skillName,
|
|
39
|
+
healthy: issues.length === 0,
|
|
40
|
+
issues,
|
|
41
|
+
logsanalyzed: errors.length
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Attempt to automatically fix a failing skill
|
|
46
|
+
*/
|
|
47
|
+
async fix(skillName) {
|
|
48
|
+
const skill = this.skillLoader.get(skillName);
|
|
49
|
+
if (!skill) {
|
|
50
|
+
return { success: false, reasoning: `Skill "${skillName}" not found` };
|
|
51
|
+
}
|
|
52
|
+
// Only fix prompt-based skills for now
|
|
53
|
+
if (!skill.promptContent) {
|
|
54
|
+
return { success: false, reasoning: 'Can only auto-fix prompt-based (.md) skills' };
|
|
55
|
+
}
|
|
56
|
+
const errors = this.goalStore.getSkillErrors(skillName, 10);
|
|
57
|
+
if (errors.length === 0) {
|
|
58
|
+
return { success: false, reasoning: 'No error logs found to analyze' };
|
|
59
|
+
}
|
|
60
|
+
// Generate patch using LLM
|
|
61
|
+
const prompt = `You are an expert AI Agent Skill Developer.
|
|
62
|
+
Your task is to fix a broken skill by updating its prompt definition.
|
|
63
|
+
|
|
64
|
+
Skill: ${skillName}
|
|
65
|
+
Description: ${skill.manifest.description}
|
|
66
|
+
|
|
67
|
+
Current Prompt Source:
|
|
68
|
+
\`\`\`markdown
|
|
69
|
+
${skill.promptContent}
|
|
70
|
+
\`\`\`
|
|
71
|
+
|
|
72
|
+
Recent runtime errors:
|
|
73
|
+
${errors.map(e => `- ${e}`).join('\n')}
|
|
74
|
+
|
|
75
|
+
Analyze the errors and the source code.
|
|
76
|
+
Most errors are due to hallucinated tools, bad JSON formatting, or unclear instructions.
|
|
77
|
+
Rewrite the ENTIRE prompt file content to fix these issues.
|
|
78
|
+
Maintain the original YAML frontmatter or structure if present, but improve the instructions/examples.
|
|
79
|
+
|
|
80
|
+
Respond ONLY with the new markdown content inside a \`\`\`markdown block.
|
|
81
|
+
Add a brief reasoning outside the block.
|
|
82
|
+
`;
|
|
83
|
+
try {
|
|
84
|
+
const response = await this.llm.chat({
|
|
85
|
+
messages: [{ role: 'user', content: prompt }],
|
|
86
|
+
temperature: 0.2, // Low temp for code generation
|
|
87
|
+
maxTokens: 2000
|
|
88
|
+
});
|
|
89
|
+
// Extract markdown block
|
|
90
|
+
const match = response.content.match(/```markdown\n([\s\S]*?)```/);
|
|
91
|
+
if (!match) {
|
|
92
|
+
return { success: false, reasoning: 'LLM failed to generate valid markdown.' };
|
|
93
|
+
}
|
|
94
|
+
const newContent = match[1];
|
|
95
|
+
const reasoning = response.content.replace(/```markdown\n[\s\S]*?```/, '').trim();
|
|
96
|
+
// Apply the fix
|
|
97
|
+
const entryPath = path.join(skill.path, skill.manifest.entrypoint);
|
|
98
|
+
await writeFile(entryPath, newContent, 'utf-8');
|
|
99
|
+
// Record this repair
|
|
100
|
+
this.memoryStore.save(`Auto-fixed skill "${skillName}". Reasoning: ${reasoning}`, 'learned', 'auto', ['repair', skillName]);
|
|
101
|
+
return { success: true, patch: newContent, reasoning };
|
|
102
|
+
}
|
|
103
|
+
catch (err) {
|
|
104
|
+
return { success: false, reasoning: err.message };
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=doctor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/skills/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,10 @@ export declare class SkillLoader {
|
|
|
35
35
|
* Install a skill from a local path
|
|
36
36
|
*/
|
|
37
37
|
installFromPath(sourcePath: string, targetDir?: string): Promise<LoadedSkill | null>;
|
|
38
|
+
/**
|
|
39
|
+
* Reload a specific skill from disk
|
|
40
|
+
*/
|
|
41
|
+
reload(name: string): Promise<LoadedSkill | null>;
|
|
38
42
|
/**
|
|
39
43
|
* Remove a skill
|
|
40
44
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/skills/loader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuB,KAAK,WAAW,EAAsB,MAAM,YAAY,CAAC;AAGvF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;GAEG;AACH,qBAAa,WAAW;IACpB,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,MAAM,CAAc;gBAEhB,MAAM,EAAE,WAAW;IAI/B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAavC;;OAEG;YACW,iBAAiB;IA0B/B;;OAEG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAkC9D;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI1C;;OAEG;IACH,IAAI,IAAI,WAAW,EAAE;IAIrB;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;OAEG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAuB1F;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAS/C"}
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/skills/loader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuB,KAAK,WAAW,EAAsB,MAAM,YAAY,CAAC;AAGvF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;GAEG;AACH,qBAAa,WAAW;IACpB,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,MAAM,CAAc;gBAEhB,MAAM,EAAE,WAAW;IAI/B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAavC;;OAEG;YACW,iBAAiB;IA0B/B;;OAEG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAkC9D;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI1C;;OAEG;IACH,IAAI,IAAI,WAAW,EAAE;IAIrB;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;OAEG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAuB1F;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAWvD;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAS/C"}
|
|
@@ -126,6 +126,19 @@ export class SkillLoader {
|
|
|
126
126
|
}
|
|
127
127
|
return installed;
|
|
128
128
|
}
|
|
129
|
+
/**
|
|
130
|
+
* Reload a specific skill from disk
|
|
131
|
+
*/
|
|
132
|
+
async reload(name) {
|
|
133
|
+
const skill = this.skills.get(name);
|
|
134
|
+
if (!skill)
|
|
135
|
+
return null;
|
|
136
|
+
const reloaded = await this.loadSkill(skill.path);
|
|
137
|
+
if (reloaded) {
|
|
138
|
+
this.skills.set(name, reloaded);
|
|
139
|
+
}
|
|
140
|
+
return reloaded;
|
|
141
|
+
}
|
|
129
142
|
/**
|
|
130
143
|
* Remove a skill
|
|
131
144
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/skills/loader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/skills/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAwC,MAAM,YAAY,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD;;GAEG;AACH,MAAM,OAAO,WAAW;IACZ,MAAM,GAA6B,IAAI,GAAG,EAAE,CAAC;IAC7C,MAAM,CAAc;IAE5B,YAAY,MAAmB;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACT,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;QAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAE1B,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAC7C,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,OAAe;QAC3C,IAAI,CAAC;YACD,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,CAAC,0BAA0B;QACtC,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;gBAAE,SAAS;YAEnC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAEvD,IAAI,CAAC;gBACD,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC3B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAC7C,IAAI,KAAK,EAAE,CAAC;oBACR,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAChD,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACL,sCAAsC;YAC1C,CAAC;QACL,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,QAAgB;QAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAEvD,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACtD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAEhC,MAAM,MAAM,GAAG,cAAc,CAAC,mBAAmB,EAAE,GAAG,EAAE,iBAAiB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACpG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,CAAC,KAAK,CAAC,6BAA6B,YAAY,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACzF,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAqB,CAAC;YAC9C,MAAM,MAAM,GAAgB;gBACxB,QAAQ;gBACR,IAAI,EAAE,QAAQ;aACjB,CAAC;YAEF,0BAA0B;YAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC3D,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtC,MAAM,CAAC,aAAa,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC9D,CAAC;iBAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpF,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC;YACpC,CAAC;YAED,OAAO,MAAM,CAAC;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,6BAA6B,QAAQ,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAClF,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,IAAY;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,IAAI;QACA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,IAAY;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,UAAkB,EAAE,SAAkB;QACxD,MAAM,OAAO,GAAG,SAAS,IAAI,YAAY,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE3C,2BAA2B;QAC3B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,oBAAoB,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,2BAA2B;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEnD,SAAS;QACT,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,SAAS,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,IAAY;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,IAAY;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAEzB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
|