overmind-mcp 2.4.2 → 2.5.1
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/.mcp.json.example +21 -0
- package/README.md +107 -80
- package/assets/overmind.png +0 -0
- package/bin/.gitkeep +0 -0
- package/bin/README.md +34 -0
- package/bin/install-overmind-unix.sh +412 -0
- package/bin/install-overmind-windows.bat +407 -0
- package/dist/bin/cli.js +438 -7
- package/dist/bin/cli.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/config.d.ts +31 -1
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +19 -27
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/sessions.d.ts +3 -2
- package/dist/lib/sessions.d.ts.map +1 -1
- package/dist/lib/sessions.js +94 -25
- package/dist/lib/sessions.js.map +1 -1
- package/dist/memory/MemoryFactory.d.ts +15 -1
- package/dist/memory/MemoryFactory.d.ts.map +1 -1
- package/dist/memory/MemoryFactory.js +53 -3
- package/dist/memory/MemoryFactory.js.map +1 -1
- package/dist/memory/PostgresMemoryProvider.d.ts +7 -0
- package/dist/memory/PostgresMemoryProvider.d.ts.map +1 -1
- package/dist/memory/PostgresMemoryProvider.js +180 -105
- package/dist/memory/PostgresMemoryProvider.js.map +1 -1
- package/dist/server.d.ts +41 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +152 -26
- package/dist/server.js.map +1 -1
- package/dist/services/AgentManager.d.ts.map +1 -1
- package/dist/services/AgentManager.js +67 -11
- package/dist/services/AgentManager.js.map +1 -1
- package/dist/services/ClaudeRunner.d.ts +8 -0
- package/dist/services/ClaudeRunner.d.ts.map +1 -1
- package/dist/services/ClaudeRunner.js +514 -213
- package/dist/services/ClaudeRunner.js.map +1 -1
- package/dist/services/ClineRunner.d.ts +7 -0
- package/dist/services/ClineRunner.d.ts.map +1 -1
- package/dist/services/ClineRunner.js +80 -11
- package/dist/services/ClineRunner.js.map +1 -1
- package/dist/services/GeminiRunner.d.ts +6 -0
- package/dist/services/GeminiRunner.d.ts.map +1 -1
- package/dist/services/GeminiRunner.js +285 -58
- package/dist/services/GeminiRunner.js.map +1 -1
- package/dist/services/KiloRunner.d.ts +12 -0
- package/dist/services/KiloRunner.d.ts.map +1 -1
- package/dist/services/KiloRunner.js +441 -57
- package/dist/services/KiloRunner.js.map +1 -1
- package/dist/services/OpenClawRunner.d.ts +7 -0
- package/dist/services/OpenClawRunner.d.ts.map +1 -1
- package/dist/services/OpenClawRunner.js +79 -11
- package/dist/services/OpenClawRunner.js.map +1 -1
- package/dist/services/OpenCodeRunner.d.ts +7 -0
- package/dist/services/OpenCodeRunner.d.ts.map +1 -1
- package/dist/services/OpenCodeRunner.js +79 -11
- package/dist/services/OpenCodeRunner.js.map +1 -1
- package/dist/tools/config_example.d.ts +7 -4
- package/dist/tools/config_example.d.ts.map +1 -1
- package/dist/tools/config_example.js +191 -86
- package/dist/tools/config_example.js.map +1 -1
- package/dist/tools/create_agent.d.ts +15 -9
- package/dist/tools/create_agent.d.ts.map +1 -1
- package/dist/tools/create_agent.js +8 -9
- package/dist/tools/create_agent.js.map +1 -1
- package/dist/tools/get_agent_configs.d.ts +10 -4
- package/dist/tools/get_agent_configs.d.ts.map +1 -1
- package/dist/tools/get_agent_configs.js.map +1 -1
- package/dist/tools/manage_agents.d.ts +36 -18
- package/dist/tools/manage_agents.d.ts.map +1 -1
- package/dist/tools/manage_agents.js +2 -2
- package/dist/tools/manage_agents.js.map +1 -1
- package/dist/tools/manage_prompts.d.ts +13 -8
- package/dist/tools/manage_prompts.d.ts.map +1 -1
- package/dist/tools/manage_prompts.js.map +1 -1
- package/dist/tools/memory_runs.d.ts +3 -4
- package/dist/tools/memory_runs.d.ts.map +1 -1
- package/dist/tools/memory_runs.js.map +1 -1
- package/dist/tools/memory_search.d.ts +3 -4
- package/dist/tools/memory_search.d.ts.map +1 -1
- package/dist/tools/memory_search.js.map +1 -1
- package/dist/tools/memory_store.d.ts +11 -5
- package/dist/tools/memory_store.d.ts.map +1 -1
- package/dist/tools/memory_store.js.map +1 -1
- package/dist/tools/run_agent.d.ts +15 -16
- package/dist/tools/run_agent.d.ts.map +1 -1
- package/dist/tools/run_agent.js +128 -160
- package/dist/tools/run_agent.js.map +1 -1
- package/dist/tools/run_claude.d.ts +8 -3
- package/dist/tools/run_claude.d.ts.map +1 -1
- package/dist/tools/run_claude.js +59 -41
- package/dist/tools/run_claude.js.map +1 -1
- package/dist/tools/run_cline.d.ts +13 -4
- package/dist/tools/run_cline.d.ts.map +1 -1
- package/dist/tools/run_cline.js +55 -43
- package/dist/tools/run_cline.js.map +1 -1
- package/dist/tools/run_gemini.d.ts +13 -4
- package/dist/tools/run_gemini.d.ts.map +1 -1
- package/dist/tools/run_gemini.js +53 -33
- package/dist/tools/run_gemini.js.map +1 -1
- package/dist/tools/run_kilo.d.ts +17 -7
- package/dist/tools/run_kilo.d.ts.map +1 -1
- package/dist/tools/run_kilo.js +68 -41
- package/dist/tools/run_kilo.js.map +1 -1
- package/dist/tools/run_openclaw.d.ts +13 -4
- package/dist/tools/run_openclaw.d.ts.map +1 -1
- package/dist/tools/run_openclaw.js +52 -44
- package/dist/tools/run_openclaw.js.map +1 -1
- package/dist/tools/run_opencode.d.ts +13 -4
- package/dist/tools/run_opencode.d.ts.map +1 -1
- package/dist/tools/run_opencode.js +52 -39
- package/dist/tools/run_opencode.js.map +1 -1
- package/docs/README.md +128 -0
- package/docs/agent_control.md +656 -0
- package/docs/index.html +493 -0
- package/docs/library.html +239 -0
- package/docs/prompt.html +1212 -0
- package/docs/script.js +428 -0
- package/docs/styles.css +2816 -0
- package/package.json +55 -25
- package/scripts/auto-changelog.mjs +132 -0
- package/scripts/auto-install.mjs +322 -0
- package/scripts/install-dependencies.mjs +462 -0
- package/scripts/postgres-manager.mjs +219 -0
- package/scripts/postinstall.mjs +538 -0
- package/scripts/setup-overmind-db.mjs +199 -0
- package/scripts/setup-windows.js +266 -0
- package/scripts/setup.mjs +397 -0
- package/scripts/test-installation.mjs +158 -0
- package/scripts/uninstall.mjs +238 -0
- package/assets/overmind_mcp_pro_banner_v3.png +0 -0
- package/dist/services/QwenRunner.d.ts +0 -19
- package/dist/services/QwenRunner.d.ts.map +0 -1
- package/dist/services/QwenRunner.js +0 -87
- package/dist/services/QwenRunner.js.map +0 -1
- package/dist/services/TraeRunner.d.ts +0 -19
- package/dist/services/TraeRunner.d.ts.map +0 -1
- package/dist/services/TraeRunner.js +0 -88
- package/dist/services/TraeRunner.js.map +0 -1
- package/dist/tools/run_qwen.d.ts +0 -15
- package/dist/tools/run_qwen.d.ts.map +0 -1
- package/dist/tools/run_qwen.js +0 -61
- package/dist/tools/run_qwen.js.map +0 -1
- package/dist/tools/run_trae.d.ts +0 -15
- package/dist/tools/run_trae.d.ts.map +0 -1
- package/dist/tools/run_trae.js +0 -66
- package/dist/tools/run_trae.js.map +0 -1
- package/dist/tools/shell_execute.d.ts +0 -10
- package/dist/tools/shell_execute.d.ts.map +0 -1
- package/dist/tools/shell_execute.js +0 -24
- package/dist/tools/shell_execute.js.map +0 -1
- package/dist/tools/test_agent_control.d.ts +0 -2
- package/dist/tools/test_agent_control.d.ts.map +0 -1
- package/dist/tools/test_agent_control.js +0 -92
- package/dist/tools/test_agent_control.js.map +0 -1
package/dist/lib/config.js
CHANGED
|
@@ -2,10 +2,13 @@ import os from 'os';
|
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import fs from 'fs';
|
|
4
4
|
import { fileURLToPath } from 'url';
|
|
5
|
+
import { loadEnvQuietly } from './loadEnv.js';
|
|
5
6
|
const __filename = fileURLToPath(import.meta.url);
|
|
6
7
|
const __dirname = path.dirname(__filename);
|
|
7
8
|
export const DEFAULT_CONFIG = {
|
|
8
|
-
TIMEOUT_MS:
|
|
9
|
+
TIMEOUT_MS: 3000000, // 50 minutes (timeout global par défaut)
|
|
10
|
+
KEEPALIVE_INTERVAL_MS: 900000, // 15 minutes
|
|
11
|
+
HARD_TIMEOUT_MS: 60000, // 1 minute extra after keepalive
|
|
9
12
|
CLAUDE: {
|
|
10
13
|
CORE: '--output-format json',
|
|
11
14
|
PERMISSIONS: '--dangerously-skip-permissions',
|
|
@@ -14,32 +17,21 @@ export const DEFAULT_CONFIG = {
|
|
|
14
17
|
MCP: '.mcp.json', // Will be resolved dynamically
|
|
15
18
|
},
|
|
16
19
|
},
|
|
20
|
+
KILO: {
|
|
21
|
+
CORE: '--auto',
|
|
22
|
+
DEFAULT_MODEL: 'step 3.5 flash',
|
|
23
|
+
PATHS: {
|
|
24
|
+
SETTINGS: './.claude/settings.json',
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
HERMES: {
|
|
28
|
+
CORE: 'chat -q',
|
|
29
|
+
PATHS: {
|
|
30
|
+
SETTINGS: './.hermes/settings.json',
|
|
31
|
+
},
|
|
32
|
+
},
|
|
17
33
|
};
|
|
18
34
|
export const CONFIG = { ...DEFAULT_CONFIG };
|
|
19
|
-
// Helper to manually parse .env without any noisy console.logs
|
|
20
|
-
function loadEnvQuietly(envPath) {
|
|
21
|
-
try {
|
|
22
|
-
if (fs.existsSync(envPath)) {
|
|
23
|
-
const content = fs.readFileSync(envPath, 'utf8');
|
|
24
|
-
content.split('\n').forEach((line) => {
|
|
25
|
-
const match = line.match(/^\s*([\w.-]+)\s*=\s*(.*)?\s*$/);
|
|
26
|
-
if (match) {
|
|
27
|
-
const key = match[1];
|
|
28
|
-
let value = (match[2] || '').replace(/\s*#.*$/, '').trim();
|
|
29
|
-
if (value.startsWith('"') && value.endsWith('"'))
|
|
30
|
-
value = value.slice(1, -1);
|
|
31
|
-
else if (value.startsWith("'") && value.endsWith("'"))
|
|
32
|
-
value = value.slice(1, -1);
|
|
33
|
-
if (!process.env[key])
|
|
34
|
-
process.env[key] = value;
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
catch (_e) {
|
|
40
|
-
// Ignore .env parsing errors
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
35
|
let cachedWorkspaceDir = null;
|
|
44
36
|
export function resetWorkspaceCache() {
|
|
45
37
|
cachedWorkspaceDir = null;
|
|
@@ -96,10 +88,10 @@ export function getWorkspaceDir() {
|
|
|
96
88
|
}
|
|
97
89
|
// Trigger initial environment loading on module import
|
|
98
90
|
getWorkspaceDir();
|
|
99
|
-
export function resolveConfigPath(configPath) {
|
|
91
|
+
export function resolveConfigPath(configPath, workspaceDirOverride) {
|
|
100
92
|
if (path.isAbsolute(configPath))
|
|
101
93
|
return configPath;
|
|
102
|
-
const workspaceDir = getWorkspaceDir();
|
|
94
|
+
const workspaceDir = workspaceDirOverride || getWorkspaceDir();
|
|
103
95
|
const fullPath = path.resolve(workspaceDir, configPath);
|
|
104
96
|
// Special handling for MCP config to support .local variant
|
|
105
97
|
if (configPath === '.mcp.json' && !fs.existsSync(fullPath)) {
|
package/dist/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/sessions.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export declare function getLastSessionId(agentName: string): Promise<string | null>;
|
|
2
|
-
export declare function saveSessionId(agentName: string, sessionId: string): Promise<void>;
|
|
1
|
+
export declare function getLastSessionId(agentName: string, workspaceDir?: string, runner?: string): Promise<string | null>;
|
|
2
|
+
export declare function saveSessionId(agentName: string, sessionId: string, workspaceDir?: string, runner?: string): Promise<void>;
|
|
3
|
+
export declare function deleteSessionId(agentName: string, workspaceDir?: string, runner?: string): Promise<void>;
|
|
3
4
|
//# sourceMappingURL=sessions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/lib/sessions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/lib/sessions.ts"],"names":[],"mappings":"AAiDA,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiBxB;AAED,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAwBf;AAED,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CA0Bf"}
|
package/dist/lib/sessions.js
CHANGED
|
@@ -1,39 +1,108 @@
|
|
|
1
1
|
import fs from 'fs/promises';
|
|
2
2
|
import path from 'path';
|
|
3
|
+
import { Mutex } from 'async-mutex';
|
|
3
4
|
import { getWorkspaceDir } from './config.js';
|
|
5
|
+
const sessionMutex = new Mutex();
|
|
4
6
|
const SESSIONS_FILE = '.claude/sessions.json';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
+
const SESSION_TTL_MS = 30 * 24 * 60 * 60 * 1000;
|
|
8
|
+
function getSessionsPath(workspaceDir) {
|
|
9
|
+
return path.resolve(workspaceDir || getWorkspaceDir(), SESSIONS_FILE);
|
|
7
10
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
function buildKey(runner, agentName) {
|
|
12
|
+
return runner ? `${runner}:${agentName}` : agentName;
|
|
13
|
+
}
|
|
14
|
+
async function purgeExpired(sessions) {
|
|
15
|
+
const now = Date.now();
|
|
16
|
+
const purged = {};
|
|
17
|
+
let changed = false;
|
|
18
|
+
for (const [key, val] of Object.entries(sessions)) {
|
|
19
|
+
if (typeof val === 'object' && val !== null && 'ts' in val) {
|
|
20
|
+
if (now - val.ts < SESSION_TTL_MS) {
|
|
21
|
+
purged[key] = val;
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
changed = true;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
purged[key] = val;
|
|
29
|
+
}
|
|
17
30
|
}
|
|
31
|
+
return changed ? purged : sessions;
|
|
32
|
+
}
|
|
33
|
+
function extractId(val) {
|
|
34
|
+
if (!val)
|
|
35
|
+
return null;
|
|
36
|
+
if (typeof val === 'string')
|
|
37
|
+
return val;
|
|
38
|
+
return val.id || null;
|
|
39
|
+
}
|
|
40
|
+
export async function getLastSessionId(agentName, workspaceDir, runner) {
|
|
41
|
+
return sessionMutex.runExclusive(async () => {
|
|
42
|
+
try {
|
|
43
|
+
const filePath = getSessionsPath(workspaceDir);
|
|
44
|
+
const content = await fs.readFile(filePath, 'utf-8');
|
|
45
|
+
let sessions = JSON.parse(content);
|
|
46
|
+
sessions = await purgeExpired(sessions);
|
|
47
|
+
const namespacedKey = buildKey(runner, agentName);
|
|
48
|
+
if (sessions[namespacedKey]) {
|
|
49
|
+
return extractId(sessions[namespacedKey]);
|
|
50
|
+
}
|
|
51
|
+
return extractId(sessions[agentName]) || null;
|
|
52
|
+
}
|
|
53
|
+
catch (_error) {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
export async function saveSessionId(agentName, sessionId, workspaceDir, runner) {
|
|
59
|
+
return sessionMutex.runExclusive(async () => {
|
|
60
|
+
const filePath = getSessionsPath(workspaceDir);
|
|
61
|
+
const dir = path.dirname(filePath);
|
|
62
|
+
try {
|
|
63
|
+
await fs.mkdir(dir, { recursive: true });
|
|
64
|
+
let sessions = {};
|
|
65
|
+
try {
|
|
66
|
+
const content = await fs.readFile(filePath, 'utf-8');
|
|
67
|
+
sessions = JSON.parse(content);
|
|
68
|
+
sessions = await purgeExpired(sessions);
|
|
69
|
+
}
|
|
70
|
+
catch (_e) {
|
|
71
|
+
// Ignore error (file new)
|
|
72
|
+
}
|
|
73
|
+
const key = buildKey(runner, agentName);
|
|
74
|
+
sessions[key] = { id: sessionId, ts: Date.now() };
|
|
75
|
+
await fs.writeFile(filePath, JSON.stringify(sessions, null, 2), 'utf-8');
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
console.error(`Failed to save session ID for ${agentName}:`, error);
|
|
79
|
+
}
|
|
80
|
+
});
|
|
18
81
|
}
|
|
19
|
-
export async function
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
try {
|
|
23
|
-
await fs.mkdir(dir, { recursive: true });
|
|
24
|
-
let sessions = {};
|
|
82
|
+
export async function deleteSessionId(agentName, workspaceDir, runner) {
|
|
83
|
+
return sessionMutex.runExclusive(async () => {
|
|
84
|
+
const filePath = getSessionsPath(workspaceDir);
|
|
25
85
|
try {
|
|
26
86
|
const content = await fs.readFile(filePath, 'utf-8');
|
|
27
|
-
sessions = JSON.parse(content);
|
|
87
|
+
let sessions = JSON.parse(content);
|
|
88
|
+
const namespacedKey = buildKey(runner, agentName);
|
|
89
|
+
let deleted = false;
|
|
90
|
+
if (sessions[namespacedKey]) {
|
|
91
|
+
delete sessions[namespacedKey];
|
|
92
|
+
deleted = true;
|
|
93
|
+
}
|
|
94
|
+
if (sessions[agentName]) {
|
|
95
|
+
delete sessions[agentName];
|
|
96
|
+
deleted = true;
|
|
97
|
+
}
|
|
98
|
+
if (deleted) {
|
|
99
|
+
sessions = await purgeExpired(sessions);
|
|
100
|
+
await fs.writeFile(filePath, JSON.stringify(sessions, null, 2), 'utf-8');
|
|
101
|
+
}
|
|
28
102
|
}
|
|
29
103
|
catch (_e) {
|
|
30
|
-
// Ignore
|
|
104
|
+
// Ignore
|
|
31
105
|
}
|
|
32
|
-
|
|
33
|
-
await fs.writeFile(filePath, JSON.stringify(sessions, null, 2), 'utf-8');
|
|
34
|
-
}
|
|
35
|
-
catch (error) {
|
|
36
|
-
console.error(`Failed to save session ID for ${agentName}:`, error);
|
|
37
|
-
}
|
|
106
|
+
});
|
|
38
107
|
}
|
|
39
108
|
//# sourceMappingURL=sessions.js.map
|
package/dist/lib/sessions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/lib/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,aAAa,GAAG,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/lib/sessions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,25 @@
|
|
|
1
1
|
import { MemoryProvider, StoreRunParams } from './types.js';
|
|
2
|
+
export { registerMemoryAlertCallback, unregisterMemoryAlertCallback } from './PostgresMemoryProvider.js';
|
|
2
3
|
/**
|
|
3
4
|
* Gets the PostgreSQL Memory Provider.
|
|
4
5
|
* SQLite support has been removed to streamline the codebase.
|
|
5
6
|
*/
|
|
6
7
|
export declare function getMemoryProvider(): MemoryProvider;
|
|
8
|
+
/**
|
|
9
|
+
* Check if memory database is available.
|
|
10
|
+
*/
|
|
11
|
+
export declare function isMemoryAvailable(): boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Get last database error message.
|
|
14
|
+
*/
|
|
15
|
+
export declare function getLastMemoryError(): string | null;
|
|
16
|
+
/**
|
|
17
|
+
* Initialize memory factory and register alert callbacks.
|
|
18
|
+
*/
|
|
19
|
+
export declare function initMemoryFactory(): void;
|
|
7
20
|
/**
|
|
8
21
|
* Convenience helper for runners to record activity without fetching the provider manually.
|
|
22
|
+
* THROWS on DB failure to alert the caller - memory failures should not be silent!
|
|
9
23
|
*/
|
|
10
|
-
export declare function storeRun(params: StoreRunParams): Promise<string
|
|
24
|
+
export declare function storeRun(params: StoreRunParams): Promise<string>;
|
|
11
25
|
//# sourceMappingURL=MemoryFactory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryFactory.d.ts","sourceRoot":"","sources":["../../src/memory/MemoryFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"MemoryFactory.d.ts","sourceRoot":"","sources":["../../src/memory/MemoryFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAc5D,OAAO,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAEzG;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CAIlD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAElD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CASxC;AAKD;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAmBtE"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
import { PostgresMemoryProvider } from './PostgresMemoryProvider.js';
|
|
1
|
+
import { PostgresMemoryProvider, registerMemoryAlertCallback, } from './PostgresMemoryProvider.js';
|
|
2
|
+
import pino from 'pino';
|
|
3
|
+
const logger = pino({ name: 'MemoryFactory' });
|
|
2
4
|
let _provider = null;
|
|
5
|
+
let _isDbAvailable = true;
|
|
6
|
+
let _lastDbError = null;
|
|
7
|
+
// Re-export for external use
|
|
8
|
+
export { registerMemoryAlertCallback, unregisterMemoryAlertCallback } from './PostgresMemoryProvider.js';
|
|
3
9
|
/**
|
|
4
10
|
* Gets the PostgreSQL Memory Provider.
|
|
5
11
|
* SQLite support has been removed to streamline the codebase.
|
|
@@ -10,10 +16,54 @@ export function getMemoryProvider() {
|
|
|
10
16
|
_provider = new PostgresMemoryProvider();
|
|
11
17
|
return _provider;
|
|
12
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Check if memory database is available.
|
|
21
|
+
*/
|
|
22
|
+
export function isMemoryAvailable() {
|
|
23
|
+
return _isDbAvailable;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Get last database error message.
|
|
27
|
+
*/
|
|
28
|
+
export function getLastMemoryError() {
|
|
29
|
+
return _lastDbError;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Initialize memory factory and register alert callbacks.
|
|
33
|
+
*/
|
|
34
|
+
export function initMemoryFactory() {
|
|
35
|
+
registerMemoryAlertCallback((message, error) => {
|
|
36
|
+
_isDbAvailable = false;
|
|
37
|
+
_lastDbError = error?.message || message;
|
|
38
|
+
logger.error({ message, error: error?.message }, 'MEMORY ALERT: Database unavailable!');
|
|
39
|
+
// Could trigger additional alerts here (webhooks, notifications, etc.)
|
|
40
|
+
});
|
|
41
|
+
logger.info('MemoryFactory initialized with alert callbacks');
|
|
42
|
+
}
|
|
43
|
+
// Initialize on module load
|
|
44
|
+
initMemoryFactory();
|
|
13
45
|
/**
|
|
14
46
|
* Convenience helper for runners to record activity without fetching the provider manually.
|
|
47
|
+
* THROWS on DB failure to alert the caller - memory failures should not be silent!
|
|
15
48
|
*/
|
|
16
|
-
export function storeRun(params) {
|
|
17
|
-
|
|
49
|
+
export async function storeRun(params) {
|
|
50
|
+
const provider = getMemoryProvider();
|
|
51
|
+
try {
|
|
52
|
+
_isDbAvailable = true;
|
|
53
|
+
_lastDbError = null;
|
|
54
|
+
return await provider.storeRun(params);
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
_isDbAvailable = false;
|
|
58
|
+
const err = error instanceof Error ? error : new Error(String(error));
|
|
59
|
+
_lastDbError = err.message;
|
|
60
|
+
logger.error({
|
|
61
|
+
error: err.message,
|
|
62
|
+
runner: params.runner,
|
|
63
|
+
agentName: params.agentName,
|
|
64
|
+
}, 'CRITICAL: Failed to store run in memory - database may be unavailable!');
|
|
65
|
+
// Re-throw so the runner can report this to the user
|
|
66
|
+
throw new Error(`MEMORY_UNAVAILABLE: ${err.message}`, { cause: error });
|
|
67
|
+
}
|
|
18
68
|
}
|
|
19
69
|
//# sourceMappingURL=MemoryFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryFactory.js","sourceRoot":"","sources":["../../src/memory/MemoryFactory.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"MemoryFactory.js","sourceRoot":"","sources":["../../src/memory/MemoryFactory.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AACrC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;AAE/C,IAAI,SAAS,GAA0B,IAAI,CAAC;AAC5C,IAAI,cAAc,GAAG,IAAI,CAAC;AAC1B,IAAI,YAAY,GAAkB,IAAI,CAAC;AAEvC,6BAA6B;AAC7B,OAAO,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAEzG;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAChC,SAAS,GAAG,IAAI,sBAAsB,EAAE,CAAC;IACzC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,2BAA2B,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QAC7C,cAAc,GAAG,KAAK,CAAC;QACvB,YAAY,GAAG,KAAK,EAAE,OAAO,IAAI,OAAO,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,qCAAqC,CAAC,CAAC;QAExF,uEAAuE;IACzE,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;AAChE,CAAC;AAED,4BAA4B;AAC5B,iBAAiB,EAAE,CAAC;AAEpB;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAsB;IACnD,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;IACrC,IAAI,CAAC;QACH,cAAc,GAAG,IAAI,CAAC;QACtB,YAAY,GAAG,IAAI,CAAC;QACpB,OAAO,MAAM,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,cAAc,GAAG,KAAK,CAAC;QACvB,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC;QAC3B,MAAM,CAAC,KAAK,CAAC;YACX,KAAK,EAAE,GAAG,CAAC,OAAO;YAClB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,EAAE,wEAAwE,CAAC,CAAC;QAE7E,qDAAqD;QACrD,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1E,CAAC;AACH,CAAC"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import { MemoryProvider, AgentRun, SearchResult, MemoryStats, StoreRunParams, SearchMemoryParams } from './types.js';
|
|
2
|
+
interface AlertCallback {
|
|
3
|
+
(message: string, error?: Error): void;
|
|
4
|
+
}
|
|
5
|
+
export declare function registerMemoryAlertCallback(callback: AlertCallback): void;
|
|
6
|
+
export declare function unregisterMemoryAlertCallback(callback: AlertCallback): void;
|
|
2
7
|
export declare class PostgresMemoryProvider implements MemoryProvider {
|
|
3
8
|
private pools;
|
|
4
9
|
private initializedDbs;
|
|
5
10
|
private maintenancePool;
|
|
6
11
|
private coreDbName;
|
|
7
12
|
private dbVectorSupport;
|
|
13
|
+
private dbCreationInProgress;
|
|
8
14
|
constructor();
|
|
9
15
|
private sanitizeIdentifier;
|
|
10
16
|
private getDbName;
|
|
@@ -25,4 +31,5 @@ export declare class PostgresMemoryProvider implements MemoryProvider {
|
|
|
25
31
|
}): Promise<AgentRun[]>;
|
|
26
32
|
getStats(agentName?: string): Promise<MemoryStats>;
|
|
27
33
|
}
|
|
34
|
+
export {};
|
|
28
35
|
//# sourceMappingURL=PostgresMemoryProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgresMemoryProvider.d.ts","sourceRoot":"","sources":["../../src/memory/PostgresMemoryProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PostgresMemoryProvider.d.ts","sourceRoot":"","sources":["../../src/memory/PostgresMemoryProvider.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,cAAc,EACd,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAgBpB,UAAU,aAAa;IACrB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;CACxC;AAMD,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAGzE;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAE3E;AA6BD,qBAAa,sBAAuB,YAAW,cAAc;IAC3D,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,eAAe,CAAO;IAC9B,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,oBAAoB,CAAqB;;IAOjD,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,SAAS;YAKH,UAAU;YAqEV,oBAAoB;YA+FpB,YAAY;IAoGpB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IA8CjD,cAAc,CAAC,MAAM,EAAE;QAC3B,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,MAAM,CAAC;IA4Bb,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAkEjE,aAAa,CAAC,MAAM,EAAE;QAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAsBjB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CAuBzD"}
|