beecork 0.1.0 → 0.2.2
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/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +73 -2
- package/dist/cli/setup.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +15 -1
- package/dist/config.js.map +1 -1
- package/dist/cron/scheduler.d.ts +1 -0
- package/dist/cron/scheduler.d.ts.map +1 -1
- package/dist/cron/scheduler.js +43 -2
- package/dist/cron/scheduler.js.map +1 -1
- package/dist/cron/store.d.ts.map +1 -1
- package/dist/cron/store.js +1 -0
- package/dist/cron/store.js.map +1 -1
- package/dist/daemon.js +31 -18
- package/dist/daemon.js.map +1 -1
- package/dist/db/migrations.d.ts.map +1 -1
- package/dist/db/migrations.js +49 -0
- package/dist/db/migrations.js.map +1 -1
- package/dist/mcp/server.js +44 -43
- package/dist/mcp/server.js.map +1 -1
- package/dist/pipe/anthropic-client.d.ts +13 -0
- package/dist/pipe/anthropic-client.d.ts.map +1 -0
- package/dist/pipe/anthropic-client.js +94 -0
- package/dist/pipe/anthropic-client.js.map +1 -0
- package/dist/pipe/brain.d.ts +23 -0
- package/dist/pipe/brain.d.ts.map +1 -0
- package/dist/pipe/brain.js +162 -0
- package/dist/pipe/brain.js.map +1 -0
- package/dist/pipe/memory-store.d.ts +16 -0
- package/dist/pipe/memory-store.d.ts.map +1 -0
- package/dist/pipe/memory-store.js +79 -0
- package/dist/pipe/memory-store.js.map +1 -0
- package/dist/pipe/project-scanner.d.ts +4 -0
- package/dist/pipe/project-scanner.d.ts.map +1 -0
- package/dist/pipe/project-scanner.js +96 -0
- package/dist/pipe/project-scanner.js.map +1 -0
- package/dist/pipe/types.d.ts +74 -0
- package/dist/pipe/types.d.ts.map +1 -0
- package/dist/pipe/types.js +2 -0
- package/dist/pipe/types.js.map +1 -0
- package/dist/session/manager.d.ts.map +1 -1
- package/dist/session/manager.js +25 -1
- package/dist/session/manager.js.map +1 -1
- package/dist/session/subprocess.d.ts.map +1 -1
- package/dist/session/subprocess.js +24 -0
- package/dist/session/subprocess.js.map +1 -1
- package/dist/telegram/bot.d.ts +3 -3
- package/dist/telegram/bot.d.ts.map +1 -1
- package/dist/telegram/bot.js +106 -90
- package/dist/telegram/bot.js.map +1 -1
- package/dist/types.d.ts +17 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -4
package/dist/cli/setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AA4BA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AA4BA,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAiIjD"}
|
package/dist/cli/setup.js
CHANGED
|
@@ -46,7 +46,17 @@ export async function setupWizard() {
|
|
|
46
46
|
const claudeBin = await ask(rl, 'Path to claude binary', defaultBin);
|
|
47
47
|
// 4. Default working directory
|
|
48
48
|
const defaultDir = await ask(rl, 'Default working directory', os.homedir());
|
|
49
|
-
// 5.
|
|
49
|
+
// 5. Anthropic API key (optional - enables intelligent pipe)
|
|
50
|
+
console.log('\n Intelligent routing (optional): Beecork can route messages to the right');
|
|
51
|
+
console.log(' project automatically and track goal completion. Requires an Anthropic API key.');
|
|
52
|
+
const apiKey = await ask(rl, 'Anthropic API key (press Enter to skip)');
|
|
53
|
+
// 6. Project scan paths
|
|
54
|
+
let scanPaths = ['~/Coding', '~/Projects', '~/code', '~/dev'];
|
|
55
|
+
if (apiKey) {
|
|
56
|
+
const scanInput = await ask(rl, 'Project scan paths (comma-separated)', scanPaths.join(', '));
|
|
57
|
+
scanPaths = scanInput.split(',').map(s => s.trim()).filter(Boolean);
|
|
58
|
+
}
|
|
59
|
+
// 7. Install as service?
|
|
50
60
|
const installServiceAnswer = await ask(rl, 'Install as background service? (y/n)', 'y');
|
|
51
61
|
const shouldInstallService = installServiceAnswer.toLowerCase() === 'y';
|
|
52
62
|
// Build config
|
|
@@ -65,7 +75,7 @@ export async function setupWizard() {
|
|
|
65
75
|
workingDir: defaultDir,
|
|
66
76
|
approvalMode: 'yolo',
|
|
67
77
|
approvalTimeoutMinutes: 30,
|
|
68
|
-
debounceMs:
|
|
78
|
+
debounceMs: 1500,
|
|
69
79
|
},
|
|
70
80
|
},
|
|
71
81
|
memory: {
|
|
@@ -73,6 +83,15 @@ export async function setupWizard() {
|
|
|
73
83
|
dbPath: '~/.beecork/memory.db',
|
|
74
84
|
maxLongTermEntries: 1000,
|
|
75
85
|
},
|
|
86
|
+
pipe: {
|
|
87
|
+
enabled: !!apiKey,
|
|
88
|
+
anthropicApiKey: apiKey,
|
|
89
|
+
routingModel: 'claude-haiku-4-5-20251001',
|
|
90
|
+
complexModel: 'claude-sonnet-4-6-20250514',
|
|
91
|
+
confidenceThreshold: 0.75,
|
|
92
|
+
projectScanPaths: scanPaths,
|
|
93
|
+
maxFollowUps: 5,
|
|
94
|
+
},
|
|
76
95
|
deployment: 'local',
|
|
77
96
|
};
|
|
78
97
|
// Write everything
|
|
@@ -86,6 +105,21 @@ export async function setupWizard() {
|
|
|
86
105
|
// Generate MCP config
|
|
87
106
|
generateMcpConfig();
|
|
88
107
|
console.log(`✓ MCP config generated at ${getMcpConfigPath()}`);
|
|
108
|
+
// Inject Beecork instructions into global CLAUDE.md
|
|
109
|
+
injectClaudeMd();
|
|
110
|
+
console.log('✓ Beecork tools injected into ~/.claude/CLAUDE.md');
|
|
111
|
+
// Scan for projects if pipe is enabled
|
|
112
|
+
if (config.pipe.enabled) {
|
|
113
|
+
const { scanForProjects } = await import('../pipe/project-scanner.js');
|
|
114
|
+
const { PipeMemoryStore } = await import('../pipe/memory-store.js');
|
|
115
|
+
const projects = scanForProjects(config.pipe.projectScanPaths);
|
|
116
|
+
const store = new PipeMemoryStore();
|
|
117
|
+
for (const p of projects) {
|
|
118
|
+
store.upsertProject(p);
|
|
119
|
+
}
|
|
120
|
+
console.log(`✓ Discovered ${projects.length} projects`);
|
|
121
|
+
closeDb();
|
|
122
|
+
}
|
|
89
123
|
// Install service
|
|
90
124
|
if (shouldInstallService) {
|
|
91
125
|
try {
|
|
@@ -142,4 +176,41 @@ function generateMcpConfig() {
|
|
|
142
176
|
};
|
|
143
177
|
fs.writeFileSync(getMcpConfigPath(), JSON.stringify(mcpConfig, null, 2) + '\n');
|
|
144
178
|
}
|
|
179
|
+
const BEECORK_MARKER_START = '<!-- BEECORK START -->';
|
|
180
|
+
const BEECORK_MARKER_END = '<!-- BEECORK END -->';
|
|
181
|
+
const BEECORK_CLAUDE_MD = `${BEECORK_MARKER_START}
|
|
182
|
+
## Beecork — Always-On Tools
|
|
183
|
+
|
|
184
|
+
You have Beecork MCP tools available when running inside Beecork:
|
|
185
|
+
|
|
186
|
+
- **beecork_remember** — Store facts in long-term memory (preferences, addresses, decisions)
|
|
187
|
+
- **beecork_recall** — Search memories. Call this at the start of complex tasks.
|
|
188
|
+
- **beecork_cron_create** — Schedule tasks: "at" (one-time), "every" (interval), "cron" (expression)
|
|
189
|
+
- **beecork_cron_list / beecork_cron_delete** — Manage scheduled tasks
|
|
190
|
+
- **beecork_tab_create / beecork_tab_list** — Manage virtual tabs
|
|
191
|
+
- **beecork_send_message** — Send message to another tab
|
|
192
|
+
- **beecork_notify** — Notify the user mid-task without stopping
|
|
193
|
+
- **beecork_status** — Check system status
|
|
194
|
+
|
|
195
|
+
When running unattended: always call beecork_recall first, always beecork_remember important outcomes, use beecork_notify for progress on long tasks.
|
|
196
|
+
${BEECORK_MARKER_END}`;
|
|
197
|
+
function injectClaudeMd() {
|
|
198
|
+
const claudeMdPath = path.join(os.homedir(), '.claude', 'CLAUDE.md');
|
|
199
|
+
const claudeDir = path.dirname(claudeMdPath);
|
|
200
|
+
fs.mkdirSync(claudeDir, { recursive: true });
|
|
201
|
+
let content = '';
|
|
202
|
+
if (fs.existsSync(claudeMdPath)) {
|
|
203
|
+
content = fs.readFileSync(claudeMdPath, 'utf-8');
|
|
204
|
+
// Remove old injection if present
|
|
205
|
+
const startIdx = content.indexOf(BEECORK_MARKER_START);
|
|
206
|
+
const endIdx = content.indexOf(BEECORK_MARKER_END);
|
|
207
|
+
if (startIdx !== -1 && endIdx !== -1) {
|
|
208
|
+
content = content.slice(0, startIdx) + content.slice(endIdx + BEECORK_MARKER_END.length);
|
|
209
|
+
content = content.trim();
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
// Append Beecork section
|
|
213
|
+
content = content + '\n\n' + BEECORK_CLAUDE_MD + '\n';
|
|
214
|
+
fs.writeFileSync(claudeMdPath, content);
|
|
215
|
+
}
|
|
145
216
|
//# sourceMappingURL=setup.js.map
|
package/dist/cli/setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AA0C3D,wBAAgB,SAAS,IAAI,aAAa,CAWzC;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAKtD;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAGvD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGzD;AAED,wBAAgB,cAAc,IAAI,MAAM,CAGvC;AAID,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK3D"}
|
package/dist/config.js
CHANGED
|
@@ -6,7 +6,16 @@ const DEFAULT_TAB_CONFIG = {
|
|
|
6
6
|
workingDir: os.homedir(),
|
|
7
7
|
approvalMode: 'yolo',
|
|
8
8
|
approvalTimeoutMinutes: 30,
|
|
9
|
-
debounceMs:
|
|
9
|
+
debounceMs: 1500,
|
|
10
|
+
};
|
|
11
|
+
const DEFAULT_PIPE_CONFIG = {
|
|
12
|
+
enabled: false,
|
|
13
|
+
anthropicApiKey: '',
|
|
14
|
+
routingModel: 'claude-haiku-4-5-20251001',
|
|
15
|
+
complexModel: 'claude-sonnet-4-6-20250514',
|
|
16
|
+
confidenceThreshold: 0.75,
|
|
17
|
+
projectScanPaths: ['~/Coding', '~/Projects', '~/code', '~/dev'],
|
|
18
|
+
maxFollowUps: 5,
|
|
10
19
|
};
|
|
11
20
|
const DEFAULT_CONFIG = {
|
|
12
21
|
telegram: {
|
|
@@ -25,6 +34,7 @@ const DEFAULT_CONFIG = {
|
|
|
25
34
|
dbPath: '~/.beecork/memory.db',
|
|
26
35
|
maxLongTermEntries: 1000,
|
|
27
36
|
},
|
|
37
|
+
pipe: { ...DEFAULT_PIPE_CONFIG },
|
|
28
38
|
deployment: 'local',
|
|
29
39
|
};
|
|
30
40
|
let cachedConfig = null;
|
|
@@ -91,6 +101,10 @@ function mergeWithDefaults(raw) {
|
|
|
91
101
|
...DEFAULT_CONFIG.memory,
|
|
92
102
|
...raw.memory,
|
|
93
103
|
},
|
|
104
|
+
pipe: {
|
|
105
|
+
...DEFAULT_PIPE_CONFIG,
|
|
106
|
+
...raw.pipe,
|
|
107
|
+
},
|
|
94
108
|
deployment: raw.deployment ?? DEFAULT_CONFIG.deployment,
|
|
95
109
|
};
|
|
96
110
|
}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG5D,MAAM,kBAAkB,GAAc;IACpC,UAAU,EAAE,EAAE,CAAC,OAAO,EAAE;IACxB,YAAY,EAAE,MAAM;IACpB,sBAAsB,EAAE,EAAE;IAC1B,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF,MAAM,cAAc,GAAkB;IACpC,QAAQ,EAAE;QACR,KAAK,EAAE,EAAE;QACT,cAAc,EAAE,EAAE;KACnB;IACD,UAAU,EAAE;QACV,GAAG,EAAE,QAAQ;QACb,YAAY,EAAE,CAAC,gCAAgC,CAAC;KACjD;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,EAAE,GAAG,kBAAkB,EAAE;KACnC;IACD,MAAM,EAAE;QACN,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,sBAAsB;QAC9B,kBAAkB,EAAE,IAAI;KACzB;IACD,UAAU,EAAE,OAAO;CACpB,CAAC;AAEF,IAAI,YAAY,GAAyB,IAAI,CAAC;AAE9C,MAAM,UAAU,SAAS;IACvB,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IAEtC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7D,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAqB;IAC9C,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACrE,YAAY,GAAG,MAAM,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,YAAY,GAAG,IAAI,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,MAAM,CAAC,QAAQ,CAAC,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,cAAc,GAAG,iCAAiC,CAAC;AAEzD,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,gCAAgC,CAAC;IAChE,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,8CAA8C,CAAC;IACpF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,uDAAuD,CAAC;IAC/F,OAAO,IAAI,CAAC,CAAC,QAAQ;AACvB,CAAC;AAED,SAAS,iBAAiB,CAAC,GAA2B;IACpD,OAAO;QACL,QAAQ,EAAE;YACR,GAAG,cAAc,CAAC,QAAQ;YAC1B,GAAG,GAAG,CAAC,QAAQ;SAChB;QACD,UAAU,EAAE;YACV,GAAG,cAAc,CAAC,UAAU;YAC5B,GAAG,GAAG,CAAC,UAAU;SAClB;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,EAAE,GAAG,kBAAkB,EAAE;YAClC,GAAG,MAAM,CAAC,WAAW,CACnB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC7C,CAAC;gBACD,EAAE,GAAG,kBAAkB,EAAE,GAAG,CAAC,EAAE;aAChC,CAAC,CACH;SACF;QACD,MAAM,EAAE;YACN,GAAG,cAAc,CAAC,MAAM;YACxB,GAAG,GAAG,CAAC,MAAM;SACd;QACD,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,cAAc,CAAC,UAAU;KACxD,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/cron/scheduler.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export declare class CronScheduler {
|
|
|
14
14
|
stopAll(): void;
|
|
15
15
|
private scheduleJob;
|
|
16
16
|
private fireJob;
|
|
17
|
+
private handleSystemEvent;
|
|
17
18
|
}
|
|
18
19
|
/** Convert human interval (30m, 2h, 1d, 1h30m, 2w) to cron expression */
|
|
19
20
|
export declare function intervalToCron(interval: string): string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/cron/scheduler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAO7D,qBAAa,aAAa;IAKtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,WAAW;IALrB,OAAO,CAAC,aAAa,CAAqC;IAC1D,OAAO,CAAC,KAAK,CAAmB;gBAGtB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,kBAAkB,GAAG,IAAI;IAGhD,sDAAsD;IACtD,eAAe,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../src/cron/scheduler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAO7D,qBAAa,aAAa;IAKtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,WAAW;IALrB,OAAO,CAAC,aAAa,CAAqC;IAC1D,OAAO,CAAC,KAAK,CAAmB;gBAGtB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,kBAAkB,GAAG,IAAI;IAGhD,sDAAsD;IACtD,eAAe,IAAI,IAAI;IAiCvB,6DAA6D;IAC7D,cAAc,IAAI,IAAI;IAStB,8BAA8B;IAC9B,OAAO,IAAI,IAAI;IAOf,OAAO,CAAC,WAAW;YAwCL,OAAO;YAgDP,iBAAiB;CAehC;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA4B9D"}
|
package/dist/cron/scheduler.js
CHANGED
|
@@ -22,13 +22,25 @@ export class CronScheduler {
|
|
|
22
22
|
this.scheduledJobs.clear();
|
|
23
23
|
const jobs = this.store.list();
|
|
24
24
|
let scheduled = 0;
|
|
25
|
+
let missedFires = 0;
|
|
25
26
|
for (const job of jobs) {
|
|
26
27
|
if (!job.enabled)
|
|
27
28
|
continue;
|
|
29
|
+
// Detect missed fires: one-time "at" jobs whose time has passed but never ran
|
|
30
|
+
if (job.scheduleType === 'at' && !job.lastRunAt) {
|
|
31
|
+
const targetTime = new Date(job.schedule).getTime();
|
|
32
|
+
if (targetTime <= Date.now()) {
|
|
33
|
+
logger.warn(`Cron: missed fire detected for "${job.name}" (was scheduled for ${job.schedule}), firing now`);
|
|
34
|
+
missedFires++;
|
|
35
|
+
this.fireJob(job);
|
|
36
|
+
this.store.update(job.id, { enabled: false }); // Disable after one-time execution
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
28
40
|
this.scheduleJob(job);
|
|
29
41
|
scheduled++;
|
|
30
42
|
}
|
|
31
|
-
logger.info(`Cron: loaded ${scheduled} active jobs (${jobs.length} total)`);
|
|
43
|
+
logger.info(`Cron: loaded ${scheduled} active jobs (${jobs.length} total)${missedFires > 0 ? `, fired ${missedFires} missed` : ''}`);
|
|
32
44
|
}
|
|
33
45
|
/** Check for the reload signal file and reload if present */
|
|
34
46
|
checkForReload() {
|
|
@@ -87,8 +99,22 @@ export class CronScheduler {
|
|
|
87
99
|
}
|
|
88
100
|
}
|
|
89
101
|
async fireJob(job) {
|
|
90
|
-
logger.info(`Cron firing: "${job.name}" → tab:${job.tabName}`);
|
|
102
|
+
logger.info(`Cron firing: "${job.name}" (${job.payloadType || 'agentTurn'}) → tab:${job.tabName}`);
|
|
91
103
|
const logFile = path.join(getLogsDir(), `cron-${job.name}.log`);
|
|
104
|
+
// Handle systemEvent — internal Beecork actions, not Claude Code
|
|
105
|
+
if (job.payloadType === 'systemEvent') {
|
|
106
|
+
try {
|
|
107
|
+
await this.handleSystemEvent(job);
|
|
108
|
+
this.store.update(job.id, { lastRunAt: new Date().toISOString() });
|
|
109
|
+
fs.appendFileSync(logFile, `[${new Date().toISOString()}] SYSTEM: ${job.message}\n`);
|
|
110
|
+
}
|
|
111
|
+
catch (err) {
|
|
112
|
+
const errMsg = err instanceof Error ? err.message : String(err);
|
|
113
|
+
logger.error(`System event "${job.name}" failed:`, err);
|
|
114
|
+
fs.appendFileSync(logFile, `[${new Date().toISOString()}] ERROR: ${errMsg}\n`);
|
|
115
|
+
}
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
92
118
|
try {
|
|
93
119
|
this.tabManager.ensureTab(job.tabName);
|
|
94
120
|
const result = await this.tabManager.sendMessage(job.tabName, job.message);
|
|
@@ -115,6 +141,21 @@ export class CronScheduler {
|
|
|
115
141
|
}
|
|
116
142
|
}
|
|
117
143
|
}
|
|
144
|
+
async handleSystemEvent(job) {
|
|
145
|
+
switch (job.message) {
|
|
146
|
+
case 'health_check':
|
|
147
|
+
logger.info('System event: health check — daemon alive');
|
|
148
|
+
if (this.telegramBot) {
|
|
149
|
+
await this.telegramBot.sendNotification('🟢 Beecork health check: all systems operational');
|
|
150
|
+
}
|
|
151
|
+
break;
|
|
152
|
+
case 'memory_compaction':
|
|
153
|
+
logger.info('System event: memory compaction (not yet implemented)');
|
|
154
|
+
break;
|
|
155
|
+
default:
|
|
156
|
+
logger.warn(`Unknown system event: ${job.message}`);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
118
159
|
}
|
|
119
160
|
/** Convert human interval (30m, 2h, 1d, 1h30m, 2w) to cron expression */
|
|
120
161
|
export function intervalToCron(interval) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/cron/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAS3C,MAAM,OAAO,aAAa;IAKd;IACA;IALF,aAAa,GAA2B,IAAI,GAAG,EAAE,CAAC;IAClD,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;IAEhC,YACU,UAAsB,EACtB,WAAsC;QADtC,eAAU,GAAV,UAAU,CAAY;QACtB,gBAAW,GAAX,WAAW,CAA2B;IAC7C,CAAC;IAEJ,sDAAsD;IACtD,eAAe;QACb,kBAAkB;QAClB,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAE3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,SAAS,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/cron/scheduler.ts"],"names":[],"mappings":"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"}
|
package/dist/cron/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/cron/store.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/cron/store.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAqB3C,qBAAa,SAAS;;IAKpB,IAAI,IAAI,OAAO,EAAE;IAKjB,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAMpC,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IASvB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO;IAatD,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAM3B,qDAAqD;IACrD,OAAO,CAAC,eAAe;CAkCxB"}
|
package/dist/cron/store.js
CHANGED
|
@@ -7,6 +7,7 @@ function rowToJob(row) {
|
|
|
7
7
|
id: row.id, name: row.name,
|
|
8
8
|
scheduleType: row.schedule_type,
|
|
9
9
|
schedule: row.schedule, tabName: row.tab_name, message: row.message,
|
|
10
|
+
payloadType: row.payload_type || 'agentTurn',
|
|
10
11
|
enabled: row.enabled === 1, createdAt: row.created_at,
|
|
11
12
|
lastRunAt: row.last_run_at, nextRunAt: row.next_run_at,
|
|
12
13
|
};
|
package/dist/cron/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/cron/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/cron/store.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon.js
CHANGED
|
@@ -1,51 +1,64 @@
|
|
|
1
1
|
import fs from 'node:fs';
|
|
2
|
-
import path from 'node:path';
|
|
3
|
-
import os from 'node:os';
|
|
4
2
|
import { getConfig } from './config.js';
|
|
5
3
|
import { getDb, closeDb } from './db/index.js';
|
|
6
4
|
import { TabManager } from './session/manager.js';
|
|
7
5
|
import { BeecorkTelegramBot } from './telegram/bot.js';
|
|
8
6
|
import { CronScheduler } from './cron/scheduler.js';
|
|
7
|
+
import { PipeBrain } from './pipe/brain.js';
|
|
9
8
|
import { ensureBeecorkDirs, getPidPath, getBeecorkHome } from './util/paths.js';
|
|
10
9
|
import { logger } from './util/logger.js';
|
|
11
10
|
let tabManager;
|
|
12
11
|
let telegramBot = null;
|
|
13
12
|
let cronScheduler;
|
|
13
|
+
let pipeBrain = null;
|
|
14
14
|
let pollInterval;
|
|
15
|
-
/** Migrate data from old ~/.clawd to ~/.beecork if needed */
|
|
16
|
-
function migrateFromClawd() {
|
|
17
|
-
const oldHome = path.join(os.homedir(), '.clawd');
|
|
18
|
-
const newHome = getBeecorkHome();
|
|
19
|
-
if (fs.existsSync(oldHome) && !fs.existsSync(newHome)) {
|
|
20
|
-
// Copy old data to new location
|
|
21
|
-
fs.cpSync(oldHome, newHome, { recursive: true });
|
|
22
|
-
logger.info(`Migrated data directory from ${oldHome} to ${newHome}`);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
15
|
async function main() {
|
|
26
|
-
migrateFromClawd();
|
|
27
16
|
ensureBeecorkDirs();
|
|
28
17
|
logger.setLogFile('daemon.log');
|
|
18
|
+
// Check for existing daemon — prevent double instances
|
|
19
|
+
const pidPath = getPidPath();
|
|
20
|
+
if (fs.existsSync(pidPath)) {
|
|
21
|
+
const existingPid = parseInt(fs.readFileSync(pidPath, 'utf-8').trim(), 10);
|
|
22
|
+
if (existingPid && existingPid !== process.pid) {
|
|
23
|
+
try {
|
|
24
|
+
process.kill(existingPid, 0); // Check if alive
|
|
25
|
+
logger.error(`Another daemon is already running (PID ${existingPid}). Exiting.`);
|
|
26
|
+
process.exit(1);
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
// Process is dead, stale PID file — continue
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
29
33
|
logger.info('Beecork daemon starting...');
|
|
30
34
|
// 1. Load config
|
|
31
35
|
const config = getConfig();
|
|
32
36
|
// 2. Initialize database
|
|
33
37
|
getDb();
|
|
34
38
|
// 3. Write PID file
|
|
35
|
-
fs.writeFileSync(
|
|
39
|
+
fs.writeFileSync(pidPath, String(process.pid));
|
|
36
40
|
logger.info(`PID file written: ${process.pid}`);
|
|
37
41
|
// 4. Create TabManager
|
|
38
42
|
tabManager = new TabManager(config);
|
|
39
|
-
// 5.
|
|
43
|
+
// 5. Initialize pipe brain (if API key configured)
|
|
44
|
+
if (config.pipe?.enabled && config.pipe?.anthropicApiKey) {
|
|
45
|
+
pipeBrain = new PipeBrain(config, tabManager);
|
|
46
|
+
const projectCount = await pipeBrain.discoverProjects();
|
|
47
|
+
logger.info(`Pipe brain initialized — ${projectCount} projects discovered`);
|
|
48
|
+
}
|
|
49
|
+
// 6. Ensure default tab
|
|
40
50
|
tabManager.ensureTab('default');
|
|
41
|
-
//
|
|
51
|
+
// 7. Recover crashed tabs
|
|
42
52
|
await recoverCrashedTabs();
|
|
43
53
|
// 7. Start Telegram bot
|
|
44
54
|
if (config.telegram?.token) {
|
|
45
55
|
try {
|
|
46
|
-
telegramBot = new BeecorkTelegramBot(config, tabManager);
|
|
47
|
-
// Wire up notifications
|
|
56
|
+
telegramBot = new BeecorkTelegramBot(config, tabManager, pipeBrain);
|
|
57
|
+
// Wire up notifications
|
|
48
58
|
tabManager.setNotifyCallback((text) => telegramBot.sendNotification(text));
|
|
59
|
+
if (pipeBrain) {
|
|
60
|
+
pipeBrain.setNotifyCallback((text) => telegramBot.sendNotification(text));
|
|
61
|
+
}
|
|
49
62
|
}
|
|
50
63
|
catch (err) {
|
|
51
64
|
logger.error('Failed to start Telegram bot:', err);
|
package/dist/daemon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,
|
|
1
|
+
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAsG3C,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAwCzD"}
|
package/dist/db/migrations.js
CHANGED
|
@@ -41,6 +41,55 @@ const MIGRATIONS = [
|
|
|
41
41
|
ALTER TABLE pending_messages ADD COLUMN user_id TEXT NOT NULL DEFAULT 'local';
|
|
42
42
|
`,
|
|
43
43
|
},
|
|
44
|
+
{
|
|
45
|
+
version: 6,
|
|
46
|
+
description: 'Add pipe intelligence tables (projects, preferences, permissions, routing)',
|
|
47
|
+
up: `
|
|
48
|
+
CREATE TABLE IF NOT EXISTS projects (
|
|
49
|
+
id TEXT PRIMARY KEY,
|
|
50
|
+
name TEXT NOT NULL,
|
|
51
|
+
path TEXT UNIQUE NOT NULL,
|
|
52
|
+
description TEXT DEFAULT '',
|
|
53
|
+
languages TEXT DEFAULT '[]',
|
|
54
|
+
last_used TEXT,
|
|
55
|
+
tab_name TEXT,
|
|
56
|
+
discovered_via TEXT DEFAULT 'scan',
|
|
57
|
+
created_at TEXT DEFAULT (datetime('now')),
|
|
58
|
+
updated_at TEXT DEFAULT (datetime('now'))
|
|
59
|
+
);
|
|
60
|
+
CREATE INDEX IF NOT EXISTS idx_projects_path ON projects(path);
|
|
61
|
+
CREATE INDEX IF NOT EXISTS idx_projects_name ON projects(name);
|
|
62
|
+
|
|
63
|
+
CREATE TABLE IF NOT EXISTS preferences (
|
|
64
|
+
key TEXT PRIMARY KEY,
|
|
65
|
+
value TEXT NOT NULL,
|
|
66
|
+
updated_at TEXT DEFAULT (datetime('now'))
|
|
67
|
+
);
|
|
68
|
+
|
|
69
|
+
CREATE TABLE IF NOT EXISTS permission_history (
|
|
70
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
71
|
+
tool_name TEXT NOT NULL,
|
|
72
|
+
tool_args_pattern TEXT NOT NULL,
|
|
73
|
+
decision TEXT NOT NULL,
|
|
74
|
+
confidence REAL DEFAULT 1.0,
|
|
75
|
+
context TEXT,
|
|
76
|
+
tab_name TEXT,
|
|
77
|
+
created_at TEXT DEFAULT (datetime('now'))
|
|
78
|
+
);
|
|
79
|
+
CREATE INDEX IF NOT EXISTS idx_permissions_tool ON permission_history(tool_name, created_at);
|
|
80
|
+
|
|
81
|
+
CREATE TABLE IF NOT EXISTS routing_history (
|
|
82
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
83
|
+
message_preview TEXT NOT NULL,
|
|
84
|
+
tab_name TEXT NOT NULL,
|
|
85
|
+
project_path TEXT,
|
|
86
|
+
confidence REAL NOT NULL,
|
|
87
|
+
was_correct INTEGER,
|
|
88
|
+
created_at TEXT DEFAULT (datetime('now'))
|
|
89
|
+
);
|
|
90
|
+
CREATE INDEX IF NOT EXISTS idx_routing_tab ON routing_history(tab_name, created_at);
|
|
91
|
+
`,
|
|
92
|
+
},
|
|
44
93
|
];
|
|
45
94
|
export function runMigrations(db) {
|
|
46
95
|
// Ensure schema_version table exists
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAQ3C,MAAM,UAAU,GAAgB;IAC9B;QACE,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,2CAA2C;QACxD,EAAE,EAAE;;;KAGH;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,0BAA0B;QACvC,EAAE,EAAE,EAAE,EAAE,+BAA+B;KACxC;IACD;QACE,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,+BAA+B;QAC5C,EAAE,EAAE;;;;;;;;;;;;;;;KAeH;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,uDAAuD;QACpE,EAAE,EAAE;;;KAGH;KACF;CACF,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,EAAqB;IACjD,qCAAqC;IACrC,EAAE,CAAC,IAAI,CAAC;;;;GAIP,CAAC,CAAC;IAEH,sBAAsB;IACtB,IAAI,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,GAAG,EAAqC,CAAC;IACpG,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACrE,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACvB,CAAC;IAED,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC;IAEnC,2BAA2B;IAC3B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,SAAS,CAAC,OAAO,IAAI,cAAc;YAAE,SAAS;QAClD,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;YAClB,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC3E,SAAS;QACX,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,iBAAiB,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACtB,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,+DAA+D;YAC/D,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,GAAG,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;gBAC1C,MAAM,CAAC,IAAI,CAAC,cAAc,SAAS,CAAC,OAAO,mCAAmC,CAAC,CAAC;gBAChF,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC7E,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAQ3C,MAAM,UAAU,GAAgB;IAC9B;QACE,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,2CAA2C;QACxD,EAAE,EAAE;;;KAGH;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,0BAA0B;QACvC,EAAE,EAAE,EAAE,EAAE,+BAA+B;KACxC;IACD;QACE,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,+BAA+B;QAC5C,EAAE,EAAE;;;;;;;;;;;;;;;KAeH;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,uDAAuD;QACpE,EAAE,EAAE;;;KAGH;KACF;IACD;QACE,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,4EAA4E;QACzF,EAAE,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA4CH;KACF;CACF,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,EAAqB;IACjD,qCAAqC;IACrC,EAAE,CAAC,IAAI,CAAC;;;;GAIP,CAAC,CAAC;IAEH,sBAAsB;IACtB,IAAI,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,GAAG,EAAqC,CAAC;IACpG,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACrE,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACvB,CAAC;IAED,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC;IAEnC,2BAA2B;IAC3B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,SAAS,CAAC,OAAO,IAAI,cAAc;YAAE,SAAS;QAClD,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;YAClB,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC3E,SAAS;QACX,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,iBAAiB,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YACtB,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,+DAA+D;YAC/D,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,GAAG,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;gBAC1C,MAAM,CAAC,IAAI,CAAC,cAAc,SAAS,CAAC,OAAO,mCAAmC,CAAC,CAAC;gBAChF,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC7E,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
|