overmind-mcp 1.13.12-alpha → 1.13.13
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/bin/cli.js +0 -0
- package/dist/lib/telemetry.d.ts +4 -0
- package/dist/lib/telemetry.d.ts.map +1 -1
- package/dist/lib/telemetry.js +28 -1
- package/dist/lib/telemetry.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 +6 -0
- package/dist/memory/PostgresMemoryProvider.d.ts.map +1 -1
- package/dist/memory/PostgresMemoryProvider.js +100 -31
- package/dist/memory/PostgresMemoryProvider.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +0 -16
- package/dist/server.js.map +1 -1
- package/dist/services/ClaudeRunner.d.ts.map +1 -1
- package/dist/services/ClaudeRunner.js +44 -7
- package/dist/services/ClaudeRunner.js.map +1 -1
- package/dist/services/ClineRunner.d.ts +4 -0
- package/dist/services/ClineRunner.d.ts.map +1 -1
- package/dist/services/ClineRunner.js +60 -5
- package/dist/services/ClineRunner.js.map +1 -1
- package/dist/services/GeminiRunner.d.ts +2 -0
- package/dist/services/GeminiRunner.d.ts.map +1 -1
- package/dist/services/GeminiRunner.js +54 -10
- package/dist/services/GeminiRunner.js.map +1 -1
- package/dist/services/KiloRunner.d.ts.map +1 -1
- package/dist/services/KiloRunner.js +42 -15
- package/dist/services/KiloRunner.js.map +1 -1
- package/dist/services/NousHermesRunner.d.ts +4 -0
- package/dist/services/NousHermesRunner.d.ts.map +1 -1
- package/dist/services/NousHermesRunner.js +152 -23
- package/dist/services/NousHermesRunner.js.map +1 -1
- package/dist/services/OpenClawRunner.d.ts +4 -0
- package/dist/services/OpenClawRunner.d.ts.map +1 -1
- package/dist/services/OpenClawRunner.js +41 -8
- package/dist/services/OpenClawRunner.js.map +1 -1
- package/dist/services/OpenCodeRunner.d.ts +4 -0
- package/dist/services/OpenCodeRunner.d.ts.map +1 -1
- package/dist/services/OpenCodeRunner.js +59 -5
- package/dist/services/OpenCodeRunner.js.map +1 -1
- package/dist/services/QwenCliRunner.d.ts +4 -0
- package/dist/services/QwenCliRunner.d.ts.map +1 -1
- package/dist/services/QwenCliRunner.js +59 -5
- package/dist/services/QwenCliRunner.js.map +1 -1
- package/dist/tools/create_agent.d.ts +1 -1
- package/dist/tools/manage_agents.d.ts +1 -1
- package/dist/tools/run_agent.d.ts.map +1 -1
- package/dist/tools/run_agent.js +95 -32
- package/dist/tools/run_agent.js.map +1 -1
- package/dist/tools/run_claude.js +2 -2
- package/dist/tools/run_claude.js.map +1 -1
- package/dist/tools/run_cline.js +2 -2
- package/dist/tools/run_cline.js.map +1 -1
- package/dist/tools/run_gemini.js +2 -2
- package/dist/tools/run_gemini.js.map +1 -1
- package/dist/tools/run_hermes.js +2 -2
- package/dist/tools/run_hermes.js.map +1 -1
- package/dist/tools/run_kilo.d.ts +1 -1
- package/dist/tools/run_kilo.js +2 -2
- package/dist/tools/run_kilo.js.map +1 -1
- package/dist/tools/run_openclaw.js +2 -2
- package/dist/tools/run_openclaw.js.map +1 -1
- package/dist/tools/run_opencode.js +2 -2
- package/dist/tools/run_opencode.js.map +1 -1
- package/dist/tools/run_qwencli.js +2 -2
- package/dist/tools/run_qwencli.js.map +1 -1
- package/package.json +103 -98
package/dist/bin/cli.js
CHANGED
|
File without changes
|
package/dist/lib/telemetry.d.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { type Span } from '@opentelemetry/api';
|
|
2
2
|
export declare function initTelemetry(): void;
|
|
3
|
+
/**
|
|
4
|
+
* Gracefully shutdown the telemetry SDK
|
|
5
|
+
*/
|
|
6
|
+
export declare function shutdownTelemetry(): Promise<void>;
|
|
3
7
|
export declare function withSpan<T>(name: string, fn: (span: Span) => Promise<T>, attributes?: Record<string, string>): Promise<T>;
|
|
4
8
|
export declare function getTracer(): import("@opentelemetry/api").Tracer;
|
|
5
9
|
//# sourceMappingURL=telemetry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/lib/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/lib/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAC;AA0BtE,wBAAgB,aAAa,IAAI,IAAI,CAkBpC;AAED;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAKvD;AAED,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAC9B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,OAAO,CAAC,CAAC,CAAC,CAoBZ;AAED,wBAAgB,SAAS,wCAExB"}
|
package/dist/lib/telemetry.js
CHANGED
|
@@ -3,7 +3,25 @@ import { NodeSDK } from '@opentelemetry/sdk-node';
|
|
|
3
3
|
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
|
|
4
4
|
import { resourceFromAttributes } from '@opentelemetry/resources';
|
|
5
5
|
import { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION } from '@opentelemetry/semantic-conventions';
|
|
6
|
+
import { readFileSync } from 'fs';
|
|
7
|
+
import { fileURLToPath } from 'url';
|
|
8
|
+
import { dirname, join } from 'path';
|
|
6
9
|
let sdk = null;
|
|
10
|
+
/**
|
|
11
|
+
* Get version from package.json dynamically
|
|
12
|
+
*/
|
|
13
|
+
function getServiceVersion() {
|
|
14
|
+
try {
|
|
15
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
16
|
+
const __dirname = dirname(__filename);
|
|
17
|
+
const packagePath = join(__dirname, '../../package.json');
|
|
18
|
+
const pkg = JSON.parse(readFileSync(packagePath, 'utf8'));
|
|
19
|
+
return pkg.version || '1.0.0';
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return '1.0.0'; // Fallback version
|
|
23
|
+
}
|
|
24
|
+
}
|
|
7
25
|
export function initTelemetry() {
|
|
8
26
|
if (process.env.OTEL_ENABLED !== 'true')
|
|
9
27
|
return;
|
|
@@ -13,12 +31,21 @@ export function initTelemetry() {
|
|
|
13
31
|
sdk = new NodeSDK({
|
|
14
32
|
resource: resourceFromAttributes({
|
|
15
33
|
[ATTR_SERVICE_NAME]: 'overmind-mcp',
|
|
16
|
-
[ATTR_SERVICE_VERSION]:
|
|
34
|
+
[ATTR_SERVICE_VERSION]: getServiceVersion(),
|
|
17
35
|
}),
|
|
18
36
|
traceExporter: exporter,
|
|
19
37
|
});
|
|
20
38
|
sdk.start();
|
|
21
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Gracefully shutdown the telemetry SDK
|
|
42
|
+
*/
|
|
43
|
+
export async function shutdownTelemetry() {
|
|
44
|
+
if (sdk) {
|
|
45
|
+
await sdk.shutdown();
|
|
46
|
+
sdk = null;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
22
49
|
export async function withSpan(name, fn, attributes) {
|
|
23
50
|
const tracer = trace.getTracer('overmind-mcp');
|
|
24
51
|
return tracer.startActiveSpan(name, async (span) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/lib/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,cAAc,EAAa,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../../src/lib/telemetry.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}`);
|
|
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,CAAC,CAAC;IACxD,CAAC;AACH,CAAC"}
|
|
@@ -1,4 +1,9 @@
|
|
|
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;
|
|
@@ -26,4 +31,5 @@ export declare class PostgresMemoryProvider implements MemoryProvider {
|
|
|
26
31
|
}): Promise<AgentRun[]>;
|
|
27
32
|
getStats(agentName?: string): Promise<MemoryStats>;
|
|
28
33
|
}
|
|
34
|
+
export {};
|
|
29
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;IAmGpB,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"}
|
|
@@ -2,6 +2,8 @@ import { Pool, Client } from 'pg';
|
|
|
2
2
|
import { getPool } from 'overmind-postgres-mcp';
|
|
3
3
|
import crypto from 'crypto';
|
|
4
4
|
import { embedText } from 'overmind-postgres-mcp/services/embeddings';
|
|
5
|
+
import pino from 'pino';
|
|
6
|
+
const logger = pino({ name: 'PostgresMemory' });
|
|
5
7
|
// ── Internal helpers ─────────────────────────────────────────────────────────
|
|
6
8
|
function randomId() {
|
|
7
9
|
return crypto.randomBytes(8).toString('hex');
|
|
@@ -9,6 +11,37 @@ function randomId() {
|
|
|
9
11
|
function sha256(text) {
|
|
10
12
|
return crypto.createHash('sha256').update(text).digest('hex').slice(0, 16);
|
|
11
13
|
}
|
|
14
|
+
let alertCallbacks = [];
|
|
15
|
+
let lastDbError = null;
|
|
16
|
+
let lastDbErrorTime = 0;
|
|
17
|
+
export function registerMemoryAlertCallback(callback) {
|
|
18
|
+
alertCallbacks.push(callback);
|
|
19
|
+
logger.info('Memory alert callback registered');
|
|
20
|
+
}
|
|
21
|
+
export function unregisterMemoryAlertCallback(callback) {
|
|
22
|
+
alertCallbacks = alertCallbacks.filter((cb) => cb !== callback);
|
|
23
|
+
}
|
|
24
|
+
function triggerMemoryAlert(message, error) {
|
|
25
|
+
const now = Date.now();
|
|
26
|
+
const errorMsg = error?.message || message;
|
|
27
|
+
// Debounce: don't spam alerts for the same error within 60 seconds
|
|
28
|
+
if (errorMsg === lastDbError && now - lastDbErrorTime < 60000) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
lastDbError = errorMsg;
|
|
32
|
+
lastDbErrorTime = now;
|
|
33
|
+
// Log locally first
|
|
34
|
+
logger.error({ error: errorMsg, stack: error?.stack }, message);
|
|
35
|
+
// Trigger all registered callbacks
|
|
36
|
+
for (const callback of alertCallbacks) {
|
|
37
|
+
try {
|
|
38
|
+
callback(message, error);
|
|
39
|
+
}
|
|
40
|
+
catch (e) {
|
|
41
|
+
logger.warn({ callbackError: e }, 'Alert callback threw an error');
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
12
45
|
// ── Provider Implementation ──────────────────────────────────────────────────
|
|
13
46
|
export class PostgresMemoryProvider {
|
|
14
47
|
pools = new Map();
|
|
@@ -30,8 +63,20 @@ export class PostgresMemoryProvider {
|
|
|
30
63
|
return `agent_${this.sanitizeIdentifier(agentName)}`;
|
|
31
64
|
}
|
|
32
65
|
async getPoolFor(dbName) {
|
|
33
|
-
if (this.pools.has(dbName))
|
|
34
|
-
|
|
66
|
+
if (this.pools.has(dbName)) {
|
|
67
|
+
const existingPool = this.pools.get(dbName);
|
|
68
|
+
// Check if pool is still connected
|
|
69
|
+
try {
|
|
70
|
+
const client = await existingPool.connect();
|
|
71
|
+
client.release();
|
|
72
|
+
return existingPool;
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
// Pool is dead, remove it and recreate
|
|
76
|
+
this.pools.delete(dbName);
|
|
77
|
+
logger.warn({ dbName }, 'Existing pool was dead, creating new one');
|
|
78
|
+
}
|
|
79
|
+
}
|
|
35
80
|
await this.ensureDatabaseExists(dbName);
|
|
36
81
|
// Create a new pool for this specific database
|
|
37
82
|
const poolOptions = this.maintenancePool.options || {};
|
|
@@ -48,21 +93,30 @@ export class PostgresMemoryProvider {
|
|
|
48
93
|
const user = poolOptions.user || process.env.POSTGRES_USER || 'postgres';
|
|
49
94
|
const max = poolOptions.max || 10;
|
|
50
95
|
const idleTimeoutMillis = poolOptions.idleTimeoutMillis || 30000;
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
96
|
+
logger.info({ dbName, host, user }, 'Creating connection pool for database');
|
|
97
|
+
try {
|
|
98
|
+
const newPool = new Pool({
|
|
99
|
+
host,
|
|
100
|
+
port,
|
|
101
|
+
user,
|
|
102
|
+
password,
|
|
103
|
+
database: dbName,
|
|
104
|
+
ssl: poolOptions.ssl,
|
|
105
|
+
max,
|
|
106
|
+
idleTimeoutMillis,
|
|
107
|
+
});
|
|
108
|
+
// Test connection immediately
|
|
109
|
+
const testClient = await newPool.connect();
|
|
110
|
+
testClient.release();
|
|
111
|
+
this.pools.set(dbName, newPool);
|
|
112
|
+
return newPool;
|
|
113
|
+
}
|
|
114
|
+
catch (error) {
|
|
115
|
+
const err = error instanceof Error ? error : new Error(String(error));
|
|
116
|
+
logger.error({ dbName, host, error: err.message }, 'CRITICAL: Failed to connect to database');
|
|
117
|
+
triggerMemoryAlert(`❌ DATABASE UNAVAILABLE: Cannot connect to ${dbName} at ${host}. Memory will not be persisted!`, err);
|
|
118
|
+
throw error;
|
|
119
|
+
}
|
|
66
120
|
}
|
|
67
121
|
async ensureDatabaseExists(dbName) {
|
|
68
122
|
// Prevent race conditions: if this DB is already being created, wait a bit and check again
|
|
@@ -235,23 +289,38 @@ export class PostgresMemoryProvider {
|
|
|
235
289
|
}
|
|
236
290
|
async storeRun(params) {
|
|
237
291
|
const dbName = this.getDbName(params.agentName || undefined);
|
|
238
|
-
|
|
292
|
+
let pool;
|
|
293
|
+
try {
|
|
294
|
+
pool = await this.getPoolFor(dbName);
|
|
295
|
+
}
|
|
296
|
+
catch (error) {
|
|
297
|
+
const err = error instanceof Error ? error : new Error(String(error));
|
|
298
|
+
triggerMemoryAlert(`❌ MEMORY STORE FAILED: Cannot store run for agent "${params.agentName}". Database unavailable: ${err.message}`, err);
|
|
299
|
+
throw error;
|
|
300
|
+
}
|
|
239
301
|
await this.initializeDb(dbName, pool);
|
|
240
302
|
const id = randomId();
|
|
241
|
-
|
|
242
|
-
|
|
303
|
+
try {
|
|
304
|
+
await pool.query(`INSERT INTO agent_runs
|
|
305
|
+
(id, runner, agent_name, prompt, result, error, duration_ms, success, session_id)
|
|
243
306
|
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9)`, [
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
307
|
+
id,
|
|
308
|
+
params.runner,
|
|
309
|
+
params.agentName || null,
|
|
310
|
+
params.prompt.slice(0, 4096),
|
|
311
|
+
params.result?.slice(0, 8192) || null,
|
|
312
|
+
params.error || null,
|
|
313
|
+
params.durationMs || null,
|
|
314
|
+
params.success ? 1 : 0,
|
|
315
|
+
params.sessionId || null,
|
|
316
|
+
]);
|
|
317
|
+
return id;
|
|
318
|
+
}
|
|
319
|
+
catch (error) {
|
|
320
|
+
const err = error instanceof Error ? error : new Error(String(error));
|
|
321
|
+
triggerMemoryAlert(`❌ MEMORY STORE FAILED: Cannot persist run to database ${dbName}. Error: ${err.message}`, err);
|
|
322
|
+
throw error;
|
|
323
|
+
}
|
|
255
324
|
}
|
|
256
325
|
async storeKnowledge(params) {
|
|
257
326
|
const dbName = this.getDbName(params.agentName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgresMemoryProvider.js","sourceRoot":"","sources":["../../src/memory/PostgresMemoryProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PostgresMemoryProvider.js","sourceRoot":"","sources":["../../src/memory/PostgresMemoryProvider.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AA+BlC,wBAAgB,YAAY,CAAC,IAAI,GAAE,MAAuB,iDAuKzD"}
|
package/dist/server.js
CHANGED
|
@@ -10,7 +10,6 @@ import { createPrompt, createPromptSchema, editPrompt, editPromptSchema, } from
|
|
|
10
10
|
import { listAgents, listAgentsSchema, deleteAgent, deleteAgentSchema, updateAgentConfig, updateAgentConfigSchema, } from './tools/manage_agents.js';
|
|
11
11
|
import { getAgentConfigs, getAgentConfigsSchema } from './tools/get_agent_configs.js';
|
|
12
12
|
import { configExample, configExampleSchema } from './tools/config_example.js';
|
|
13
|
-
import { metadataTool, metadataSchema } from './tools/metadata.js';
|
|
14
13
|
function wrapExecute(toolName, fn) {
|
|
15
14
|
return (...args) => withSpan(`tool.${toolName}`, () => fn(...args));
|
|
16
15
|
}
|
|
@@ -158,21 +157,6 @@ create_agent(name: "planner", runner: "cline", mode: "plan", prompt: "Tu es un p
|
|
|
158
157
|
parameters: configExampleSchema,
|
|
159
158
|
execute: configExample,
|
|
160
159
|
});
|
|
161
|
-
// ─── METADATA ────────────────────────────────────────────────────────────────
|
|
162
|
-
server.addTool({
|
|
163
|
-
name: 'metadata',
|
|
164
|
-
description: `Retourne les métadonnées projet instantanément : arborescence, fichiers de config, statistiques (fichiers, lignes, langages).
|
|
165
|
-
|
|
166
|
-
**Paramètres:**
|
|
167
|
-
- path: Chemin du projet (défaut: répertoire courant)
|
|
168
|
-
- depth: Profondeur de l'arborescence (défaut: 3)
|
|
169
|
-
- includeStats: Inclure les statistiques de code (défaut: true)
|
|
170
|
-
|
|
171
|
-
**Exemple:**
|
|
172
|
-
metadata(path: "./my-project", depth: 4, includeStats: true)`,
|
|
173
|
-
parameters: metadataSchema,
|
|
174
|
-
execute: metadataTool,
|
|
175
|
-
});
|
|
176
160
|
return server;
|
|
177
161
|
}
|
|
178
162
|
//# sourceMappingURL=server.js.map
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAI/E,SAAS,WAAW,CAAC,QAAgB,EAAE,EAAe;IACpD,OAAO,CAAC,GAAG,IAA6B,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AAC/F,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe,cAAc;IACxD,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC;QACzB,IAAI;QACJ,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,gFAAgF;IAChF,MAAM,CAAC,OAAO,CAAC;QACb,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oGA8BmF;QAChG,UAAU,EAAE,cAAc;QAC1B,OAAO,EAAE,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC;KAC5C,CAAC,CAAC;IAEH,8EAA8E;IAC9E,MAAM,CAAC,OAAO,CAAC;QACb,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE;;;;;;;;;;;;;;0EAcyD;QACtE,UAAU,EAAE,uBAAuB;QACnC,OAAO,EAAE,WAAW,CAAC,qBAAqB,EAAE,iBAAiB,CAAC;KAC/D,CAAC,CAAC;IAEH,yDAAyD;IACzD,MAAM,CAAC,OAAO,CAAC;QACb,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE;;;;;;;4GAO2F;QACxG,UAAU,EAAE,iBAAiB;QAC7B,OAAO,EAAE,WAAW;KACrB,CAAC,CAAC;IAEH,4BAA4B;IAC5B,MAAM,CAAC,OAAO,CAAC;QACb,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,wFAAwF;QAC1F,UAAU,EAAE,gBAAgB;QAC5B,OAAO,EAAE,UAAU;KACpB,CAAC,CAAC;IAEH,6BAA6B;IAC7B,MAAM,CAAC,OAAO,CAAC;QACb,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,qDAAqD;QAClE,UAAU,EAAE,iBAAiB;QAC7B,OAAO,EAAE,WAAW;KACrB,CAAC,CAAC;IAEH,6CAA6C;IAC7C,MAAM,CAAC,OAAO,CAAC;QACb,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,mLAAmL;QACrL,UAAU,EAAE,uBAAuB;QACnC,OAAO,EAAE,iBAAiB;KAC3B,CAAC,CAAC;IAEH,gFAAgF;IAEhF,+BAA+B;IAC/B,MAAM,CAAC,OAAO,CAAC;QACb,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,qDAAqD;QAClE,UAAU,EAAE,kBAAkB;QAC9B,OAAO,EAAE,YAAY;KACtB,CAAC,CAAC;IAEH,qDAAqD;IACrD,MAAM,CAAC,OAAO,CAAC;QACb,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,sEAAsE;QACnF,UAAU,EAAE,gBAAgB;QAC5B,OAAO,EAAE,UAAU;KACpB,CAAC,CAAC;IAEH,iFAAiF;IAEjF,MAAM,CAAC,OAAO,CAAC;QACb,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,wFAAwF;QAC1F,UAAU,EAAE,kBAAkB;QAC9B,OAAO,EAAE,gBAAgB;KAC1B,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC;QACb,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,4EAA4E;QACzF,UAAU,EAAE,iBAAiB;QAC7B,OAAO,EAAE,eAAe;KACzB,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC;QACb,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,yFAAyF;QAC3F,UAAU,EAAE,gBAAgB;QAC5B,OAAO,EAAE,cAAc;KACxB,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC;QACb,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,oGAAoG;QACtG,UAAU,EAAE,qBAAqB;QACjC,OAAO,EAAE,eAAe;KACzB,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC;QACb,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,qGAAqG;QACvG,UAAU,EAAE,mBAAmB;QAC/B,OAAO,EAAE,aAAa;KACvB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaudeRunner.d.ts","sourceRoot":"","sources":["../../src/services/ClaudeRunner.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAS;;IAOpB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ClaudeRunner.d.ts","sourceRoot":"","sources":["../../src/services/ClaudeRunner.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAS;;IAOpB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CA+kBlE"}
|
|
@@ -170,7 +170,7 @@ export class ClaudeRunner {
|
|
|
170
170
|
const fallbacks = [];
|
|
171
171
|
for (const key of FALLBACK_KEYS) {
|
|
172
172
|
const val = agentCustomEnv[key];
|
|
173
|
-
if (val && typeof val === 'string' && val.length > 0
|
|
173
|
+
if (val && typeof val === 'string' && val.length > 0) {
|
|
174
174
|
fallbacks.push({ key, value: val });
|
|
175
175
|
}
|
|
176
176
|
}
|
|
@@ -193,6 +193,8 @@ export class ClaudeRunner {
|
|
|
193
193
|
return { tokenEnvKey: tk, tokenValue: val };
|
|
194
194
|
}
|
|
195
195
|
}
|
|
196
|
+
// Aucun primary token trouvé — retourner null plutôt que de tomber dans les fallbacks
|
|
197
|
+
return null;
|
|
196
198
|
}
|
|
197
199
|
// Retry (index >= 1) : skip primary, use fallbacks directly
|
|
198
200
|
const fallbacks = getAvailableFallbacks();
|
|
@@ -306,18 +308,36 @@ export class ClaudeRunner {
|
|
|
306
308
|
const envKey = resolvedToken.slice(1);
|
|
307
309
|
resolvedToken = process.env[envKey] || resolvedToken;
|
|
308
310
|
}
|
|
309
|
-
|
|
311
|
+
// Le Claude CLI lit ANTHROPIC_AUTH_TOKEN — on injecte toujours sous ce nom,
|
|
312
|
+
// peu importe que tokenInfo vienne du primary ou d'un AUTH_FALLBACK_n.
|
|
313
|
+
spawnEnv['ANTHROPIC_AUTH_TOKEN'] = resolvedToken;
|
|
310
314
|
}
|
|
311
315
|
currentStderr = '';
|
|
312
316
|
currentStdout = '';
|
|
313
317
|
let command = 'claude';
|
|
314
318
|
let spawnArgs = [];
|
|
319
|
+
// Sur retry avec un token fallback, on doit démarrer une nouvelle session.
|
|
320
|
+
// Reprendre (--resume) une session créée par un autre compte/token fait que
|
|
321
|
+
// le provider (ex: Z.AI) lie la session au compte original → le quota du
|
|
322
|
+
// compte original s'applique même avec un nouveau token → 429 parasite.
|
|
323
|
+
const isFallbackRetry = tokenInfo !== null && tokenInfo.tokenEnvKey.startsWith('AUTH_FALLBACK_');
|
|
324
|
+
let effectiveArgs = argsSpawn;
|
|
325
|
+
if (isFallbackRetry) {
|
|
326
|
+
effectiveArgs = [];
|
|
327
|
+
for (let i = 0; i < argsSpawn.length; i++) {
|
|
328
|
+
if (argsSpawn[i] === '--resume') {
|
|
329
|
+
i++; // skip the value too
|
|
330
|
+
continue;
|
|
331
|
+
}
|
|
332
|
+
effectiveArgs.push(argsSpawn[i]);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
315
335
|
if (process.platform === 'win32') {
|
|
316
336
|
command = 'cmd.exe';
|
|
317
|
-
spawnArgs = ['/c', 'claude', ...
|
|
337
|
+
spawnArgs = ['/c', 'claude', ...effectiveArgs, '-p'];
|
|
318
338
|
}
|
|
319
339
|
else {
|
|
320
|
-
spawnArgs = [...
|
|
340
|
+
spawnArgs = [...effectiveArgs, '-p'];
|
|
321
341
|
}
|
|
322
342
|
if (!options.silent) {
|
|
323
343
|
const tokenLabel = tokenInfo ? ` (token: ${tokenInfo.tokenEnvKey})` : '';
|
|
@@ -416,8 +436,25 @@ export class ClaudeRunner {
|
|
|
416
436
|
}
|
|
417
437
|
}
|
|
418
438
|
}
|
|
419
|
-
// ───
|
|
420
|
-
//
|
|
439
|
+
// ─── Fallback retry — DÉSACTIVÉ (en standby) ───────────────────────
|
|
440
|
+
// Le retry interne au runner ne peut pas changer effectivement de token :
|
|
441
|
+
// Claude CLI réutilise l'auth de la session (--resume / session-env) ou
|
|
442
|
+
// d'autres credentials hérités, donc le fallback se retrouve à soumettre
|
|
443
|
+
// la même clé que l'attempt précédent. Conséquence observée : 429 répété
|
|
444
|
+
// avec exactement le même message (Anthropic Console quota), même quand
|
|
445
|
+
// la clé fallback fonctionne en direct (curl OK, primary OK).
|
|
446
|
+
//
|
|
447
|
+
// TODO(bridge/client) : réimplémenter le fallback en amont du runner —
|
|
448
|
+
// côté bridge HTTP (overmind-bridge.js / nexus-api-server) ou côté
|
|
449
|
+
// client Discord. Au lieu de relancer un subprocess `claude` qui hérite
|
|
450
|
+
// de l'état session, le bridge doit :
|
|
451
|
+
// 1. détecter la 429/401 dans la réponse JSON du runner
|
|
452
|
+
// 2. relancer un nouveau call run_agent avec un agent/settings dont
|
|
453
|
+
// le ANTHROPIC_AUTH_TOKEN primary pointe sur la clé suivante
|
|
454
|
+
// (ou cloner l'agent à la volée avec settings overridés)
|
|
455
|
+
// 3. ne PAS passer de sessionId pour cette nouvelle tentative
|
|
456
|
+
// ───────────────────────────────────────────────────────────────────
|
|
457
|
+
const FALLBACK_RETRY_ENABLED = false;
|
|
421
458
|
const isRetryable = isRetryableError(currentStderr, jsonEnvelope);
|
|
422
459
|
const hasRetryableStatus = jsonEnvelope !== null &&
|
|
423
460
|
(jsonEnvelope.api_error_status === 401 ||
|
|
@@ -425,7 +462,7 @@ export class ClaudeRunner {
|
|
|
425
462
|
jsonEnvelope.api_error_status === 500 ||
|
|
426
463
|
jsonEnvelope.api_error_status === 502 ||
|
|
427
464
|
jsonEnvelope.api_error_status === 503);
|
|
428
|
-
const isFailure = (code !== 0 && isRetryable) || hasRetryableStatus;
|
|
465
|
+
const isFailure = FALLBACK_RETRY_ENABLED && ((code !== 0 && isRetryable) || hasRetryableStatus);
|
|
429
466
|
if (isFailure) {
|
|
430
467
|
if (retryCount < maxRetries) {
|
|
431
468
|
triggerRetry(retryCount + 1);
|