@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
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { readFile } from 'node:fs/promises';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { parse as parseYaml } from 'yaml';
|
|
4
|
+
/**
|
|
5
|
+
* Load triggers from .agent/triggers.yaml
|
|
6
|
+
*/
|
|
7
|
+
export async function loadTriggers(workDir) {
|
|
8
|
+
const dir = workDir ?? process.cwd();
|
|
9
|
+
const triggersPath = path.join(dir, '.agent', 'triggers.yaml');
|
|
10
|
+
try {
|
|
11
|
+
const content = await readFile(triggersPath, 'utf-8');
|
|
12
|
+
const parsed = parseYaml(content);
|
|
13
|
+
if (!parsed?.triggers || !Array.isArray(parsed.triggers)) {
|
|
14
|
+
return [];
|
|
15
|
+
}
|
|
16
|
+
return parsed.triggers
|
|
17
|
+
.filter(t => t.enabled !== false)
|
|
18
|
+
.map(t => ({
|
|
19
|
+
...t,
|
|
20
|
+
enabled: t.enabled !== false,
|
|
21
|
+
debounce: t.debounce ?? 2000,
|
|
22
|
+
}));
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return [];
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Get the default triggers template
|
|
30
|
+
*/
|
|
31
|
+
export function getDefaultTriggersYaml() {
|
|
32
|
+
return `# Agent Daemon Triggers
|
|
33
|
+
# These define what the daemon watches and automates.
|
|
34
|
+
# Event types: file.changed, cron, webhook, git.push, goal.check
|
|
35
|
+
|
|
36
|
+
triggers:
|
|
37
|
+
# Process the goal/task queue every 2 minutes
|
|
38
|
+
- name: goal-processor
|
|
39
|
+
event: goal.check
|
|
40
|
+
schedule: "*/2 * * * *"
|
|
41
|
+
enabled: true
|
|
42
|
+
action:
|
|
43
|
+
type: goal-progress
|
|
44
|
+
|
|
45
|
+
# Daily standup report from git log
|
|
46
|
+
# - name: morning-standup
|
|
47
|
+
# event: cron
|
|
48
|
+
# schedule: "0 9 * * 1-5"
|
|
49
|
+
# enabled: false
|
|
50
|
+
# action:
|
|
51
|
+
# skill: git-commit
|
|
52
|
+
# input:
|
|
53
|
+
# type: standup-report
|
|
54
|
+
|
|
55
|
+
# Auto code-review on file changes
|
|
56
|
+
# - name: auto-review
|
|
57
|
+
# event: file.changed
|
|
58
|
+
# watch: "src/**/*.ts"
|
|
59
|
+
# debounce: 5000
|
|
60
|
+
# enabled: false
|
|
61
|
+
# action:
|
|
62
|
+
# skill: code-review
|
|
63
|
+
# input:
|
|
64
|
+
# scope: changed-files
|
|
65
|
+
|
|
66
|
+
# System health check every hour
|
|
67
|
+
# - name: health-check
|
|
68
|
+
# event: cron
|
|
69
|
+
# schedule: "0 * * * *"
|
|
70
|
+
# enabled: false
|
|
71
|
+
# action:
|
|
72
|
+
# skill: system-monitor
|
|
73
|
+
# report: true
|
|
74
|
+
`;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=triggers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triggers.js","sourceRoot":"","sources":["../../../src/daemon/triggers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAmC1C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAgB;IAC/C,MAAM,GAAG,GAAG,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;IAE/D,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAiB,CAAC;QAElD,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvD,OAAO,EAAE,CAAC;QACd,CAAC;QAED,OAAO,MAAM,CAAC,QAAQ;aACjB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC;aAChC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACP,GAAG,CAAC;YACJ,OAAO,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK;YAC5B,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;SAC/B,CAAC,CAAC,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB;IAClC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CV,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { LLMRouter } from '../llm/router.js';
|
|
2
|
+
import { MemoryStore } from '../memory/store.js';
|
|
3
|
+
import { GoalStore, type Goal, type Task } from './store.js';
|
|
4
|
+
/**
|
|
5
|
+
* Goal Decomposition Engine
|
|
6
|
+
*
|
|
7
|
+
* Uses the LLM to break high-level goals into concrete,
|
|
8
|
+
* executable tasks with dependencies and skill assignments.
|
|
9
|
+
*/
|
|
10
|
+
export interface DecomposedTask {
|
|
11
|
+
title: string;
|
|
12
|
+
description: string;
|
|
13
|
+
skill?: string;
|
|
14
|
+
dependsOnIndex?: number[];
|
|
15
|
+
requiresApproval?: boolean;
|
|
16
|
+
input?: Record<string, any>;
|
|
17
|
+
}
|
|
18
|
+
export interface DecompositionResult {
|
|
19
|
+
tasks: DecomposedTask[];
|
|
20
|
+
reasoning: string;
|
|
21
|
+
estimatedMinutes: number;
|
|
22
|
+
}
|
|
23
|
+
export declare class GoalDecomposer {
|
|
24
|
+
private llm;
|
|
25
|
+
private memoryStore;
|
|
26
|
+
private goalStore;
|
|
27
|
+
constructor(llm: LLMRouter, memoryStore: MemoryStore, goalStore: GoalStore);
|
|
28
|
+
/**
|
|
29
|
+
* Decompose a goal into tasks using the LLM
|
|
30
|
+
*/
|
|
31
|
+
decompose(goal: Goal): Promise<DecompositionResult>;
|
|
32
|
+
/**
|
|
33
|
+
* Decompose and immediately create tasks in the goal store
|
|
34
|
+
*/
|
|
35
|
+
decomposeAndCreate(goal: Goal): Promise<Task[]>;
|
|
36
|
+
/**
|
|
37
|
+
* Parse the LLM's JSON response robustly
|
|
38
|
+
*/
|
|
39
|
+
private parseResponse;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=decomposer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decomposer.d.ts","sourceRoot":"","sources":["../../../src/goals/decomposer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,KAAK,IAAI,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAG7D;;;;;GAKG;AAEH,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAChC,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;CAC5B;AA2BD,qBAAa,cAAc;IAEnB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,SAAS;gBAFT,GAAG,EAAE,SAAS,EACd,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS;IAGhC;;OAEG;IACG,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAyDzD;;OAEG;IACG,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IA8CrD;;OAEG;IACH,OAAO,CAAC,aAAa;CA0CxB"}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Available skills context for the LLM
|
|
3
|
+
*/
|
|
4
|
+
function getSkillsCatalog() {
|
|
5
|
+
return `
|
|
6
|
+
Available skills the agent can use:
|
|
7
|
+
- code-review: Analyze code for bugs, style, and improvements
|
|
8
|
+
- git-commit: Stage, commit, and push changes using conventional commits
|
|
9
|
+
- docker-deploy: Build Docker images and deploy containers
|
|
10
|
+
- project-scaffold: Create new projects (React, Next.js, Express, etc.)
|
|
11
|
+
- npm-publish: Version bump, build, and publish npm packages
|
|
12
|
+
- system-monitor: Check CPU, memory, disk, and running processes
|
|
13
|
+
- log-analyzer: Parse and summarize log files for errors/patterns
|
|
14
|
+
- file-organizer: Sort and organize files by type/date/size
|
|
15
|
+
- web-search: Search the web for information
|
|
16
|
+
- create-note: Create markdown notes and documentation
|
|
17
|
+
- api-tester: Test HTTP endpoints with assertions
|
|
18
|
+
- db-query: Execute and explain database queries
|
|
19
|
+
- backup: Create timestamped backups of files/directories
|
|
20
|
+
- cron-scheduler: Schedule recurring tasks
|
|
21
|
+
- send-email: Send notification emails
|
|
22
|
+
- open-vscode: Open files/projects in VS Code
|
|
23
|
+
`.trim();
|
|
24
|
+
}
|
|
25
|
+
export class GoalDecomposer {
|
|
26
|
+
llm;
|
|
27
|
+
memoryStore;
|
|
28
|
+
goalStore;
|
|
29
|
+
constructor(llm, memoryStore, goalStore) {
|
|
30
|
+
this.llm = llm;
|
|
31
|
+
this.memoryStore = memoryStore;
|
|
32
|
+
this.goalStore = goalStore;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Decompose a goal into tasks using the LLM
|
|
36
|
+
*/
|
|
37
|
+
async decompose(goal) {
|
|
38
|
+
// Gather context from memory
|
|
39
|
+
const memoryContext = this.memoryStore.getContext(goal.title, 300);
|
|
40
|
+
const systemPrompt = `You are an autonomous AI agent planner. Your job is to break down a high-level goal into specific, actionable tasks.
|
|
41
|
+
|
|
42
|
+
Rules:
|
|
43
|
+
1. Each task should be a single, concrete action
|
|
44
|
+
2. Assign the most appropriate skill to each task (from the catalog below)
|
|
45
|
+
3. Define dependencies between tasks (which tasks must complete first)
|
|
46
|
+
4. Flag any task that modifies production systems or has destructive effects as requiresApproval: true
|
|
47
|
+
5. Tasks should be ordered logically
|
|
48
|
+
6. Keep tasks focused — one action per task
|
|
49
|
+
7. Include a brief description for each task
|
|
50
|
+
|
|
51
|
+
${getSkillsCatalog()}
|
|
52
|
+
|
|
53
|
+
${memoryContext ? `\nRelevant context from agent memory:\n${memoryContext}` : ''}
|
|
54
|
+
|
|
55
|
+
Respond ONLY with valid JSON in this exact format:
|
|
56
|
+
{
|
|
57
|
+
"reasoning": "Brief explanation of your decomposition strategy",
|
|
58
|
+
"estimatedMinutes": <number>,
|
|
59
|
+
"tasks": [
|
|
60
|
+
{
|
|
61
|
+
"title": "Short task title",
|
|
62
|
+
"description": "What this task does",
|
|
63
|
+
"skill": "skill-name or null",
|
|
64
|
+
"dependsOnIndex": [0, 1],
|
|
65
|
+
"requiresApproval": false,
|
|
66
|
+
"input": {}
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
}`;
|
|
70
|
+
const userPrompt = `Decompose this goal into executable tasks:
|
|
71
|
+
|
|
72
|
+
Goal: ${goal.title}
|
|
73
|
+
${goal.description ? `Description: ${goal.description}` : ''}
|
|
74
|
+
${goal.deadline ? `Deadline: ${goal.deadline}` : ''}
|
|
75
|
+
Priority: ${goal.priority}/10`;
|
|
76
|
+
const response = await this.llm.chat({
|
|
77
|
+
messages: [
|
|
78
|
+
{ role: 'system', content: systemPrompt },
|
|
79
|
+
{ role: 'user', content: userPrompt },
|
|
80
|
+
],
|
|
81
|
+
temperature: 0.3,
|
|
82
|
+
maxTokens: 2000,
|
|
83
|
+
});
|
|
84
|
+
// Parse the LLM response
|
|
85
|
+
const parsed = this.parseResponse(response.content);
|
|
86
|
+
return parsed;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Decompose and immediately create tasks in the goal store
|
|
90
|
+
*/
|
|
91
|
+
async decomposeAndCreate(goal) {
|
|
92
|
+
const result = await this.decompose(goal);
|
|
93
|
+
const createdTasks = [];
|
|
94
|
+
// Map task indices to real task IDs for dependency resolution
|
|
95
|
+
const indexToId = new Map();
|
|
96
|
+
for (let i = 0; i < result.tasks.length; i++) {
|
|
97
|
+
const taskDef = result.tasks[i];
|
|
98
|
+
// Resolve dependencies from array indices to task IDs
|
|
99
|
+
const dependsOn = [];
|
|
100
|
+
if (taskDef.dependsOnIndex) {
|
|
101
|
+
for (const depIdx of taskDef.dependsOnIndex) {
|
|
102
|
+
const depId = indexToId.get(depIdx);
|
|
103
|
+
if (depId !== undefined) {
|
|
104
|
+
dependsOn.push(depId);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
const task = this.goalStore.addTask(goal.id, taskDef.title, {
|
|
109
|
+
description: taskDef.description,
|
|
110
|
+
skill: taskDef.skill,
|
|
111
|
+
input: taskDef.input,
|
|
112
|
+
dependsOn,
|
|
113
|
+
requiresApproval: taskDef.requiresApproval ?? false,
|
|
114
|
+
});
|
|
115
|
+
indexToId.set(i, task.id);
|
|
116
|
+
createdTasks.push(task);
|
|
117
|
+
}
|
|
118
|
+
// Save the decomposition reasoning as a memory
|
|
119
|
+
this.memoryStore.save(`Decomposed goal "${goal.title}" into ${createdTasks.length} tasks. ` +
|
|
120
|
+
`Strategy: ${result.reasoning}. ` +
|
|
121
|
+
`Estimated: ${result.estimatedMinutes} minutes.`, 'learned', 'agent', ['goal', 'decomposition', 'planning']);
|
|
122
|
+
return createdTasks;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Parse the LLM's JSON response robustly
|
|
126
|
+
*/
|
|
127
|
+
parseResponse(content) {
|
|
128
|
+
// Try to extract JSON from the response (handles markdown code blocks)
|
|
129
|
+
let jsonStr = content;
|
|
130
|
+
// Strip markdown code fences if present
|
|
131
|
+
const jsonMatch = content.match(/```(?:json)?\s*\n?([\s\S]*?)\n?\s*```/);
|
|
132
|
+
if (jsonMatch) {
|
|
133
|
+
jsonStr = jsonMatch[1];
|
|
134
|
+
}
|
|
135
|
+
try {
|
|
136
|
+
const parsed = JSON.parse(jsonStr.trim());
|
|
137
|
+
if (!Array.isArray(parsed.tasks)) {
|
|
138
|
+
throw new Error('Response missing tasks array');
|
|
139
|
+
}
|
|
140
|
+
return {
|
|
141
|
+
tasks: parsed.tasks.map((t) => ({
|
|
142
|
+
title: t.title ?? 'Unnamed task',
|
|
143
|
+
description: t.description ?? '',
|
|
144
|
+
skill: t.skill ?? undefined,
|
|
145
|
+
dependsOnIndex: t.dependsOnIndex ?? [],
|
|
146
|
+
requiresApproval: t.requiresApproval ?? false,
|
|
147
|
+
input: t.input ?? {},
|
|
148
|
+
})),
|
|
149
|
+
reasoning: parsed.reasoning ?? 'No reasoning provided',
|
|
150
|
+
estimatedMinutes: parsed.estimatedMinutes ?? 30,
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
catch (err) {
|
|
154
|
+
// Fallback: create a single task from the goal
|
|
155
|
+
return {
|
|
156
|
+
tasks: [{
|
|
157
|
+
title: 'Execute goal manually',
|
|
158
|
+
description: `LLM decomposition failed. Original response: ${content.slice(0, 200)}`,
|
|
159
|
+
requiresApproval: true,
|
|
160
|
+
}],
|
|
161
|
+
reasoning: `Decomposition failed: ${err.message}`,
|
|
162
|
+
estimatedMinutes: 60,
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=decomposer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decomposer.js","sourceRoot":"","sources":["../../../src/goals/decomposer.ts"],"names":[],"mappings":"AA2BA;;GAEG;AACH,SAAS,gBAAgB;IACrB,OAAO;;;;;;;;;;;;;;;;;;CAkBV,CAAC,IAAI,EAAE,CAAC;AACT,CAAC;AAED,MAAM,OAAO,cAAc;IAEX;IACA;IACA;IAHZ,YACY,GAAc,EACd,WAAwB,EACxB,SAAoB;QAFpB,QAAG,GAAH,GAAG,CAAW;QACd,gBAAW,GAAX,WAAW,CAAa;QACxB,cAAS,GAAT,SAAS,CAAW;IAC5B,CAAC;IAEL;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,IAAU;QACtB,6BAA6B;QAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAEnE,MAAM,YAAY,GAAG;;;;;;;;;;;EAW3B,gBAAgB,EAAE;;EAElB,aAAa,CAAC,CAAC,CAAC,0CAA0C,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;EAgB9E,CAAC;QAEK,MAAM,UAAU,GAAG;;QAEnB,IAAI,CAAC,KAAK;EAChB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE;EAC1D,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE;YACvC,IAAI,CAAC,QAAQ,KAAK,CAAC;QAEvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YACjC,QAAQ,EAAE;gBACN,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE;gBACzC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE;aACxC;YACD,WAAW,EAAE,GAAG;YAChB,SAAS,EAAE,IAAI;SAClB,CAAC,CAAC;QAEH,yBAAyB;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEpD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,IAAU;QAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAW,EAAE,CAAC;QAEhC,8DAA8D;QAC9D,MAAM,SAAS,GAAwB,IAAI,GAAG,EAAE,CAAC;QAEjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEhC,sDAAsD;YACtD,MAAM,SAAS,GAAa,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBACzB,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;oBAC1C,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBACpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACtB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC1B,CAAC;gBACL,CAAC;YACL,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE;gBACxD,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,SAAS;gBACT,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,KAAK;aACtD,CAAC,CAAC;YAEH,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,+CAA+C;QAC/C,IAAI,CAAC,WAAW,CAAC,IAAI,CACjB,oBAAoB,IAAI,CAAC,KAAK,UAAU,YAAY,CAAC,MAAM,UAAU;YACrE,aAAa,MAAM,CAAC,SAAS,IAAI;YACjC,cAAc,MAAM,CAAC,gBAAgB,WAAW,EAChD,SAAS,EACT,OAAO,EACP,CAAC,MAAM,EAAE,eAAe,EAAE,UAAU,CAAC,CACxC,CAAC;QAEF,OAAO,YAAY,CAAC;IACxB,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,OAAe;QACjC,uEAAuE;QACvE,IAAI,OAAO,GAAG,OAAO,CAAC;QAEtB,wCAAwC;QACxC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACzE,IAAI,SAAS,EAAE,CAAC;YACZ,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAE1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACpD,CAAC;YAED,OAAO;gBACH,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;oBACjC,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,cAAc;oBAChC,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE;oBAChC,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS;oBAC3B,cAAc,EAAE,CAAC,CAAC,cAAc,IAAI,EAAE;oBACtC,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,IAAI,KAAK;oBAC7C,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;iBACvB,CAAC,CAAC;gBACH,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,uBAAuB;gBACtD,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,EAAE;aAClD,CAAC;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,+CAA+C;YAC/C,OAAO;gBACH,KAAK,EAAE,CAAC;wBACJ,KAAK,EAAE,uBAAuB;wBAC9B,WAAW,EAAE,gDAAgD,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;wBACpF,gBAAgB,EAAE,IAAI;qBACzB,CAAC;gBACF,SAAS,EAAE,yBAA0B,GAAa,CAAC,OAAO,EAAE;gBAC5D,gBAAgB,EAAE,EAAE;aACvB,CAAC;QACN,CAAC;IACL,CAAC;CACJ"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { LLMRouter } from '../llm/router.js';
|
|
2
|
+
import { MemoryStore } from '../memory/store.js';
|
|
3
|
+
import { GoalStore, type Task } from './store.js';
|
|
4
|
+
/**
|
|
5
|
+
* Task Executor — Runs individual tasks within goals
|
|
6
|
+
*
|
|
7
|
+
* Provides real execution via:
|
|
8
|
+
* 1. LLM-guided skill execution (sends task + skill prompt to LLM)
|
|
9
|
+
* 2. Direct shell command execution
|
|
10
|
+
* 3. Compound multi-step execution
|
|
11
|
+
*/
|
|
12
|
+
export declare class TaskExecutor {
|
|
13
|
+
private llm;
|
|
14
|
+
private memoryStore;
|
|
15
|
+
private goalStore;
|
|
16
|
+
private workDir;
|
|
17
|
+
constructor(llm: LLMRouter, memoryStore: MemoryStore, goalStore: GoalStore, workDir?: string);
|
|
18
|
+
/**
|
|
19
|
+
* Execute a single task
|
|
20
|
+
*/
|
|
21
|
+
execute(task: Task): Promise<{
|
|
22
|
+
success: boolean;
|
|
23
|
+
output: string;
|
|
24
|
+
}>;
|
|
25
|
+
/**
|
|
26
|
+
* Execute task using an assigned skill
|
|
27
|
+
*/
|
|
28
|
+
private executeWithSkill;
|
|
29
|
+
/**
|
|
30
|
+
* Execute task directly with LLM reasoning (no specific skill)
|
|
31
|
+
*/
|
|
32
|
+
private executeWithLLM;
|
|
33
|
+
/**
|
|
34
|
+
* Process the entire task queue for active goals
|
|
35
|
+
*/
|
|
36
|
+
processQueue(maxTasks?: number): Promise<{
|
|
37
|
+
processed: number;
|
|
38
|
+
completed: number;
|
|
39
|
+
failed: number;
|
|
40
|
+
results: Array<{
|
|
41
|
+
taskId: number;
|
|
42
|
+
title: string;
|
|
43
|
+
success: boolean;
|
|
44
|
+
output: string;
|
|
45
|
+
}>;
|
|
46
|
+
}>;
|
|
47
|
+
/**
|
|
48
|
+
* Extract bash commands from LLM response
|
|
49
|
+
*/
|
|
50
|
+
private extractCommands;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=executor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/goals/executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAMlD;;;;;;;GAOG;AACH,qBAAa,YAAY;IAEjB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,OAAO;gBAHP,GAAG,EAAE,SAAS,EACd,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,OAAO,GAAE,MAAsB;IAG3C;;OAEG;IACG,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAmCxE;;OAEG;YACW,gBAAgB;IAgF9B;;OAEG;YACW,cAAc;IAyB5B;;OAEG;IACG,YAAY,CAAC,QAAQ,SAAI,GAAG,OAAO,CAAC;QACtC,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,KAAK,CAAC;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,OAAO,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACvF,CAAC;IA8BF;;OAEG;IACH,OAAO,CAAC,eAAe;CAiB1B"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { exec } from 'node:child_process';
|
|
2
|
+
import { promisify } from 'node:util';
|
|
3
|
+
const execAsync = promisify(exec);
|
|
4
|
+
/**
|
|
5
|
+
* Task Executor — Runs individual tasks within goals
|
|
6
|
+
*
|
|
7
|
+
* Provides real execution via:
|
|
8
|
+
* 1. LLM-guided skill execution (sends task + skill prompt to LLM)
|
|
9
|
+
* 2. Direct shell command execution
|
|
10
|
+
* 3. Compound multi-step execution
|
|
11
|
+
*/
|
|
12
|
+
export class TaskExecutor {
|
|
13
|
+
llm;
|
|
14
|
+
memoryStore;
|
|
15
|
+
goalStore;
|
|
16
|
+
workDir;
|
|
17
|
+
constructor(llm, memoryStore, goalStore, workDir = process.cwd()) {
|
|
18
|
+
this.llm = llm;
|
|
19
|
+
this.memoryStore = memoryStore;
|
|
20
|
+
this.goalStore = goalStore;
|
|
21
|
+
this.workDir = workDir;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Execute a single task
|
|
25
|
+
*/
|
|
26
|
+
async execute(task) {
|
|
27
|
+
// Mark as running
|
|
28
|
+
this.goalStore.startTask(task.id);
|
|
29
|
+
try {
|
|
30
|
+
let result;
|
|
31
|
+
if (task.skill) {
|
|
32
|
+
result = await this.executeWithSkill(task);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
result = await this.executeWithLLM(task);
|
|
36
|
+
}
|
|
37
|
+
if (result.success) {
|
|
38
|
+
this.goalStore.completeTask(task.id, result.output);
|
|
39
|
+
// Save learnings for future context
|
|
40
|
+
this.memoryStore.save(`Task completed: "${task.title}" → ${result.output.slice(0, 300)}`, 'learned', 'agent', ['task', 'execution', task.skill ?? 'general']);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
this.goalStore.failTask(task.id, result.output);
|
|
44
|
+
}
|
|
45
|
+
return result;
|
|
46
|
+
}
|
|
47
|
+
catch (err) {
|
|
48
|
+
const error = err.message;
|
|
49
|
+
this.goalStore.failTask(task.id, error);
|
|
50
|
+
return { success: false, output: error };
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Execute task using an assigned skill
|
|
55
|
+
*/
|
|
56
|
+
async executeWithSkill(task) {
|
|
57
|
+
const start = Date.now();
|
|
58
|
+
// Gather context
|
|
59
|
+
const memoryContext = this.memoryStore.getContext(task.title, 200);
|
|
60
|
+
const goal = this.goalStore.getGoal(task.goal_id);
|
|
61
|
+
const systemPrompt = `You are an autonomous agent executing a task as part of a larger goal.
|
|
62
|
+
You have the skill "${task.skill}" available.
|
|
63
|
+
|
|
64
|
+
Your job:
|
|
65
|
+
1. Analyze the task and determine the exact actions needed
|
|
66
|
+
2. Provide shell commands to execute (if applicable)
|
|
67
|
+
3. Report what was accomplished
|
|
68
|
+
|
|
69
|
+
Important:
|
|
70
|
+
- Be specific and actionable
|
|
71
|
+
- If you need to run commands, wrap them in \`\`\`bash blocks
|
|
72
|
+
- Report results clearly
|
|
73
|
+
- Working directory: ${this.workDir}
|
|
74
|
+
|
|
75
|
+
${memoryContext ? `\nRelevant context:\n${memoryContext}` : ''}`;
|
|
76
|
+
const userPrompt = `Execute this task:
|
|
77
|
+
|
|
78
|
+
Task: ${task.title}
|
|
79
|
+
${task.description ? `Description: ${task.description}` : ''}
|
|
80
|
+
Skill: ${task.skill}
|
|
81
|
+
${goal ? `Parent Goal: ${goal.title}` : ''}
|
|
82
|
+
${Object.keys(task.input).length > 0 ? `Input: ${JSON.stringify(task.input)}` : ''}`;
|
|
83
|
+
let success = true;
|
|
84
|
+
let output = '';
|
|
85
|
+
try {
|
|
86
|
+
const response = await this.llm.chat({
|
|
87
|
+
messages: [
|
|
88
|
+
{ role: 'system', content: systemPrompt },
|
|
89
|
+
{ role: 'user', content: userPrompt },
|
|
90
|
+
],
|
|
91
|
+
temperature: 0.2,
|
|
92
|
+
maxTokens: 1500,
|
|
93
|
+
skillName: task.skill ?? undefined,
|
|
94
|
+
});
|
|
95
|
+
// Extract and run any bash commands from the response
|
|
96
|
+
const commands = this.extractCommands(response.content);
|
|
97
|
+
const commandResults = [];
|
|
98
|
+
for (const cmd of commands) {
|
|
99
|
+
try {
|
|
100
|
+
const { stdout, stderr } = await execAsync(cmd, {
|
|
101
|
+
cwd: this.workDir,
|
|
102
|
+
timeout: 60_000,
|
|
103
|
+
env: { ...process.env },
|
|
104
|
+
});
|
|
105
|
+
commandResults.push(`$ ${cmd}\n${stdout.trim()}${stderr ? '\nstderr: ' + stderr.trim() : ''}`);
|
|
106
|
+
}
|
|
107
|
+
catch (err) {
|
|
108
|
+
success = false;
|
|
109
|
+
commandResults.push(`$ ${cmd}\nFailed: ${err.message}`);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
output = commands.length > 0
|
|
113
|
+
? `${response.content}\n\n--- Executed Commands ---\n${commandResults.join('\n\n')}`
|
|
114
|
+
: response.content;
|
|
115
|
+
}
|
|
116
|
+
catch (err) {
|
|
117
|
+
success = false;
|
|
118
|
+
output = `LLM/Execution Error: ${err.message}`;
|
|
119
|
+
}
|
|
120
|
+
// Record metrics
|
|
121
|
+
if (task.skill) {
|
|
122
|
+
this.memoryStore.recordSkillMetric(task.skill, success, Date.now() - start);
|
|
123
|
+
}
|
|
124
|
+
return { success, output };
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Execute task directly with LLM reasoning (no specific skill)
|
|
128
|
+
*/
|
|
129
|
+
async executeWithLLM(task) {
|
|
130
|
+
const memoryContext = this.memoryStore.getContext(task.title, 200);
|
|
131
|
+
const response = await this.llm.chat({
|
|
132
|
+
messages: [
|
|
133
|
+
{
|
|
134
|
+
role: 'system',
|
|
135
|
+
content: `You are an autonomous agent. Analyze and execute the given task.
|
|
136
|
+
Provide clear, actionable results.
|
|
137
|
+
If shell commands are needed, wrap them in \`\`\`bash blocks.
|
|
138
|
+
Working directory: ${this.workDir}
|
|
139
|
+
${memoryContext ? `\nContext:\n${memoryContext}` : ''}`,
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
role: 'user',
|
|
143
|
+
content: `Execute: ${task.title}\n${task.description ?? ''}`,
|
|
144
|
+
},
|
|
145
|
+
],
|
|
146
|
+
temperature: 0.2,
|
|
147
|
+
maxTokens: 1000,
|
|
148
|
+
});
|
|
149
|
+
return { success: true, output: response.content };
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Process the entire task queue for active goals
|
|
153
|
+
*/
|
|
154
|
+
async processQueue(maxTasks = 5) {
|
|
155
|
+
let processed = 0;
|
|
156
|
+
let completed = 0;
|
|
157
|
+
let failed = 0;
|
|
158
|
+
const results = [];
|
|
159
|
+
while (processed < maxTasks) {
|
|
160
|
+
const task = this.goalStore.getNextTask();
|
|
161
|
+
if (!task)
|
|
162
|
+
break;
|
|
163
|
+
processed++;
|
|
164
|
+
const result = await this.execute(task);
|
|
165
|
+
results.push({
|
|
166
|
+
taskId: task.id,
|
|
167
|
+
title: task.title,
|
|
168
|
+
success: result.success,
|
|
169
|
+
output: result.output.slice(0, 500),
|
|
170
|
+
});
|
|
171
|
+
if (result.success) {
|
|
172
|
+
completed++;
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
failed++;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
return { processed, completed, failed, results };
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Extract bash commands from LLM response
|
|
182
|
+
*/
|
|
183
|
+
extractCommands(content) {
|
|
184
|
+
const commands = [];
|
|
185
|
+
const regex = /```bash\n([\s\S]*?)```/g;
|
|
186
|
+
let match;
|
|
187
|
+
while ((match = regex.exec(content)) !== null) {
|
|
188
|
+
const block = match[1].trim();
|
|
189
|
+
// Split multi-line blocks into individual commands
|
|
190
|
+
const lines = block.split('\n')
|
|
191
|
+
.map(l => l.trim())
|
|
192
|
+
.filter(l => l && !l.startsWith('#'));
|
|
193
|
+
commands.push(...lines);
|
|
194
|
+
}
|
|
195
|
+
return commands;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../src/goals/executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -106,6 +106,10 @@ export declare class GoalStore {
|
|
|
106
106
|
* Approve a task that requires human approval
|
|
107
107
|
*/
|
|
108
108
|
approveTask(id: number): boolean;
|
|
109
|
+
/**
|
|
110
|
+
* Get recent errors for a specific skill
|
|
111
|
+
*/
|
|
112
|
+
getSkillErrors(skillName: string, limit?: number): string[];
|
|
109
113
|
/**
|
|
110
114
|
* Get tasks waiting for approval
|
|
111
115
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/goals/store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/goals/store.ts"],"names":[],"mappings":"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"}
|
package/dist/src/goals/store.js
CHANGED
|
@@ -189,6 +189,19 @@ export class GoalStore {
|
|
|
189
189
|
}
|
|
190
190
|
return result.changes > 0;
|
|
191
191
|
}
|
|
192
|
+
/**
|
|
193
|
+
* Get recent errors for a specific skill
|
|
194
|
+
*/
|
|
195
|
+
getSkillErrors(skillName, limit = 5) {
|
|
196
|
+
const stmt = this.db.prepare(`
|
|
197
|
+
SELECT error, output FROM tasks
|
|
198
|
+
WHERE skill = ? AND (status IN ('failed', 'blocked') OR error IS NOT NULL)
|
|
199
|
+
ORDER BY created_at DESC
|
|
200
|
+
LIMIT ?
|
|
201
|
+
`);
|
|
202
|
+
const rows = stmt.all(skillName, limit);
|
|
203
|
+
return rows.map(r => r.error || r.output || 'Unknown error');
|
|
204
|
+
}
|
|
192
205
|
/**
|
|
193
206
|
* Get tasks waiting for approval
|
|
194
207
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/goals/store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/goals/store.ts"],"names":[],"mappings":"AA0CA,MAAM,OAAO,SAAS;IACV,EAAE,CAAoB;IAE9B,YAAY,WAAwB;QAChC,2CAA2C;QAC3C,IAAI,CAAC,EAAE,GAAI,WAAmB,CAAC,EAAE,CAAC;IACtC,CAAC;IAED,6DAA6D;IAE7D;;OAEG;IACH,OAAO,CACH,KAAa,EACb,UAKI,EAAE;QAEN,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;SAG5B,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CACnB,KAAK,EACL,OAAO,CAAC,WAAW,IAAI,IAAI,EAC3B,OAAO,CAAC,QAAQ,IAAI,CAAC,EACrB,OAAO,CAAC,QAAQ,IAAI,IAAI,EACxB,OAAO,CAAC,YAAY,IAAI,IAAI,CAC/B,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,eAAyB,EAAE,KAAK,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAyB,CAAE,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,EAAU;QACd,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAQ,CAAC;QAC/E,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,OAAO,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAuB;QAC7B,IAAI,IAAW,CAAC;QAChB,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAClB,6EAA6E,CAChF,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACJ,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAClB,wEAAwE,CAC3E,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,EAAU,EAAE,MAAsB;QAC/C,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;SAEf,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,QAAQ,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,MAAM,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,EAAU;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE/B,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;QACrE,MAAM,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;QAE1C,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;SAEf,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAErB,uCAAuC;QACvC,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;YAClB,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAC3C,CAAC;IACL,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,EAAU;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzE,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,6DAA6D;IAE7D;;OAEG;IACH,OAAO,CACH,MAAc,EACd,KAAa,EACb,UAOI,EAAE;QAEN,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;SAG5B,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CACnB,MAAM,EACN,KAAK,EACL,OAAO,CAAC,WAAW,IAAI,IAAI,EAC3B,OAAO,CAAC,KAAK,IAAI,IAAI,EACrB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,EACnC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,EACvC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAChC,OAAO,CAAC,WAAW,IAAI,IAAI,CAC9B,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,eAAyB,EAAE,KAAK,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAyB,CAAE,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,EAAU;QACd,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAQ,CAAC;QAC/E,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAc;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CACxB,uDAAuD,CAC1D,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACd,OAAQ,IAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,WAAW;QACP,wDAAwD;QACxD,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;SAMlC,CAAC,CAAC,GAAG,EAAW,CAAC;QAElB,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAEjC,qBAAqB;YACrB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,WAAW,CAAC,CAAC;gBAC1D,IAAI,CAAC,MAAM;oBAAE,SAAS;YAC1B,CAAC;YAED,0CAA0C;YAC1C,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,WAAW;gBAAE,SAAS;YAE1D,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,EAAU;QAChB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;SAEf,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACX,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,EAAU,EAAE,MAAc;QACnC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;SAGf,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QAErE,uBAAuB;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,IAAI;YAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,EAAU,EAAE,KAAa;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACtC,QAAQ;YACR,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;aAGf,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC,CAAC;QACvH,CAAC;aAAM,CAAC;YACJ,gBAAgB;YAChB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;aAGf,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,YAAY,KAAK,EAAE,CAAC,CAAC;QAC7E,CAAC;IACL,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,EAAU;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;SAG9B,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACX,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,SAAiB,EAAE,KAAK,GAAG,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;SAK5B,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAU,CAAC;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,IAAI,eAAe,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,mBAAmB;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;SAK5B,CAAC,CAAC,GAAG,EAAE,CAAC;QACT,OAAQ,IAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,KAAK;QAUD,OAAO;YACH,WAAW,EAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,yDAAyD,CAAC,CAAC,GAAG,EAAU,CAAC,CAAC;YACxG,cAAc,EAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,4DAA4D,CAAC,CAAC,GAAG,EAAU,CAAC,CAAC;YAC9G,YAAY,EAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,sEAAsE,CAAC,CAAC,GAAG,EAAU,CAAC,CAAC;YACtH,YAAY,EAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,0DAA0D,CAAC,CAAC,GAAG,EAAU,CAAC,CAAC;YAC1G,cAAc,EAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,4DAA4D,CAAC,CAAC,GAAG,EAAU,CAAC,CAAC;YAC9G,WAAW,EAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,yDAAyD,CAAC,CAAC,GAAG,EAAU,CAAC,CAAC;YACxG,gBAAgB,EAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,0IAA0I,CAAC,CAAC,GAAG,EAAU,CAAC,CAAC;SACjM,CAAC;IACN,CAAC;IAED,6DAA6D;IAErD,SAAS,CAAC,GAAQ;QACtB,OAAO;YACH,GAAG,GAAG;YACN,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC;YACpC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC;YAC9C,iBAAiB,EAAE,CAAC,CAAC,GAAG,CAAC,iBAAiB;SAC7C,CAAC;IACN,CAAC;IAEO,QAAQ,CAAC,SAAiB,EAAE,UAAkB,EAAE,QAAgB,EAAE,OAAe;QACrF,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;SAGf,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;CACJ"}
|