overmind-mcp 2.6.1 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.mcp.json.example +41 -21
- package/README.md +179 -187
- package/bin/README.md +44 -34
- package/bin/install-overmind-windows.bat +56 -12
- package/dist/bin/cli.js +115 -24
- package/dist/bin/cli.js.map +1 -1
- package/dist/bin/overmind-client.d.ts +77 -0
- package/dist/bin/overmind-client.d.ts.map +1 -0
- package/dist/bin/overmind-client.js +221 -0
- package/dist/bin/overmind-client.js.map +1 -0
- package/dist/lib/agent_lifecycle.d.ts +91 -0
- package/dist/lib/agent_lifecycle.d.ts.map +1 -0
- package/dist/lib/agent_lifecycle.js +155 -0
- package/dist/lib/agent_lifecycle.js.map +1 -0
- package/dist/lib/config.d.ts +5 -26
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +33 -12
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/envUtils.d.ts +1 -1
- package/dist/lib/envUtils.d.ts.map +1 -1
- package/dist/lib/envUtils.js +11 -4
- package/dist/lib/envUtils.js.map +1 -1
- package/dist/lib/loadEnv.d.ts.map +1 -1
- package/dist/lib/loadEnv.js +9 -4
- package/dist/lib/loadEnv.js.map +1 -1
- package/dist/lib/logger.d.ts.map +1 -1
- package/dist/lib/logger.js +20 -4
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/orchestration/dispatcher.d.ts.map +1 -1
- package/dist/lib/orchestration/dispatcher.js +10 -1
- package/dist/lib/orchestration/dispatcher.js.map +1 -1
- package/dist/lib/orchestration/swarm.d.ts +1 -0
- package/dist/lib/orchestration/swarm.d.ts.map +1 -1
- package/dist/lib/orchestration/swarm.js +11 -9
- package/dist/lib/orchestration/swarm.js.map +1 -1
- package/dist/lib/processRegistry.d.ts +2 -50
- package/dist/lib/processRegistry.d.ts.map +1 -1
- package/dist/lib/processRegistry.js +191 -286
- package/dist/lib/processRegistry.js.map +1 -1
- package/dist/memory/MemoryFactory.d.ts.map +1 -1
- package/dist/memory/MemoryFactory.js +2 -1
- package/dist/memory/MemoryFactory.js.map +1 -1
- package/dist/memory/PostgresMemoryProvider.d.ts +1 -0
- package/dist/memory/PostgresMemoryProvider.d.ts.map +1 -1
- package/dist/memory/PostgresMemoryProvider.js +22 -3
- package/dist/memory/PostgresMemoryProvider.js.map +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +84 -80
- package/dist/server.js.map +1 -1
- package/dist/services/AgentManager.d.ts +1 -0
- package/dist/services/AgentManager.d.ts.map +1 -1
- package/dist/services/AgentManager.js +27 -1
- package/dist/services/AgentManager.js.map +1 -1
- package/dist/services/ClaudeRunner.d.ts +0 -12
- package/dist/services/ClaudeRunner.d.ts.map +1 -1
- package/dist/services/ClaudeRunner.js +26 -132
- package/dist/services/ClaudeRunner.js.map +1 -1
- package/dist/services/ClineRunner.d.ts.map +1 -1
- package/dist/services/ClineRunner.js +16 -7
- package/dist/services/ClineRunner.js.map +1 -1
- package/dist/services/GeminiRunner.d.ts.map +1 -1
- package/dist/services/GeminiRunner.js +13 -6
- package/dist/services/GeminiRunner.js.map +1 -1
- package/dist/services/KiloRunner.d.ts.map +1 -1
- package/dist/services/KiloRunner.js +7 -4
- 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 +131 -34
- package/dist/services/NousHermesRunner.js.map +1 -1
- package/dist/services/OpenClawRunner.d.ts.map +1 -1
- package/dist/services/OpenClawRunner.js +16 -7
- package/dist/services/OpenClawRunner.js.map +1 -1
- package/dist/services/OpenCodeRunner.d.ts.map +1 -1
- package/dist/services/OpenCodeRunner.js +16 -7
- package/dist/services/OpenCodeRunner.js.map +1 -1
- package/dist/services/PromptManager.d.ts.map +1 -1
- package/dist/services/PromptManager.js +4 -0
- package/dist/services/PromptManager.js.map +1 -1
- package/dist/services/QwenCliRunner.d.ts.map +1 -1
- package/dist/services/QwenCliRunner.js +16 -7
- package/dist/services/QwenCliRunner.js.map +1 -1
- package/dist/tools/agent_control.d.ts +2 -69
- package/dist/tools/agent_control.d.ts.map +1 -1
- package/dist/tools/agent_control.js +191 -275
- package/dist/tools/agent_control.js.map +1 -1
- package/dist/tools/config_example.d.ts +2 -2
- package/dist/tools/config_example.d.ts.map +1 -1
- package/dist/tools/config_example.js +2 -4
- package/dist/tools/config_example.js.map +1 -1
- package/dist/tools/create_agent.d.ts.map +1 -1
- package/dist/tools/create_agent.js +11 -0
- package/dist/tools/create_agent.js.map +1 -1
- package/dist/tools/manage_agents.d.ts.map +1 -1
- package/dist/tools/manage_agents.js +3 -2
- package/dist/tools/manage_agents.js.map +1 -1
- package/dist/tools/memory_store.d.ts +1 -1
- package/dist/tools/run_agent.d.ts +1 -2
- package/dist/tools/run_agent.d.ts.map +1 -1
- package/dist/tools/run_agent.js +1 -13
- package/dist/tools/run_agent.js.map +1 -1
- package/dist/tools/run_agent_cli.d.ts +4 -10
- package/dist/tools/run_agent_cli.d.ts.map +1 -1
- package/dist/tools/run_agent_cli.js +11 -91
- package/dist/tools/run_agent_cli.js.map +1 -1
- package/dist/tools/run_agents_parallel.d.ts +1 -2
- package/dist/tools/run_agents_parallel.d.ts.map +1 -1
- package/dist/tools/run_claude.d.ts +0 -1
- package/dist/tools/run_claude.d.ts.map +1 -1
- package/dist/tools/run_claude.js +1 -9
- package/dist/tools/run_claude.js.map +1 -1
- package/dist/tools/run_hermes.d.ts +1 -0
- package/dist/tools/run_hermes.d.ts.map +1 -1
- package/dist/tools/run_hermes.js +4 -3
- package/dist/tools/run_hermes.js.map +1 -1
- package/docs/agent-http-tutorial.md +527 -0
- package/package.json +114 -112
- package/scripts/postgres-manager.mjs +0 -0
- package/scripts/setup.mjs +0 -0
- package/scripts/uninstall.mjs +0 -0
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* agent_lifecycle.ts — Lightweight in-memory agent lifecycle manager
|
|
3
|
+
* =================================================================
|
|
4
|
+
*
|
|
5
|
+
* Single source of truth for LIVE agent state during execution.
|
|
6
|
+
* No disk I/O, no async on the hot path.
|
|
7
|
+
*
|
|
8
|
+
* Two layers working together:
|
|
9
|
+
* - agent_lifecycle (RAM): outputBuffer, status, sessionId, PID → O(1) access
|
|
10
|
+
* - processRegistry (disk): persistence, sweeper, OS-level kill
|
|
11
|
+
*
|
|
12
|
+
* Design goals:
|
|
13
|
+
* - appendLiveOutput() → O(1) in-memory string concat, zero disk I/O
|
|
14
|
+
* - agent_control → direct Map read, no disk poll
|
|
15
|
+
* - 10+ agents → all in RAM, zero contention
|
|
16
|
+
* - wait() → AbortController-based, instant resolution
|
|
17
|
+
*/
|
|
18
|
+
import { ChildProcess } from 'child_process';
|
|
19
|
+
export type LifecycleStatus = 'running' | 'done' | 'failed' | 'orphaned';
|
|
20
|
+
export interface LiveAgent {
|
|
21
|
+
pid: number;
|
|
22
|
+
runner: string;
|
|
23
|
+
agentName: string;
|
|
24
|
+
sessionId: string;
|
|
25
|
+
status: LifecycleStatus;
|
|
26
|
+
outputBuffer: string;
|
|
27
|
+
exitCode: number | null;
|
|
28
|
+
startedAt: number;
|
|
29
|
+
lastOutputAt: number;
|
|
30
|
+
abortController?: AbortController;
|
|
31
|
+
cleanupFn: () => Promise<void>;
|
|
32
|
+
childRef: ChildProcess | null;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Register a new running agent. Call once per spawn.
|
|
36
|
+
*/
|
|
37
|
+
export declare function registerLiveAgent(agent: {
|
|
38
|
+
pid: number;
|
|
39
|
+
runner: string;
|
|
40
|
+
agentName: string;
|
|
41
|
+
sessionId: string;
|
|
42
|
+
abortController?: AbortController;
|
|
43
|
+
cleanupFn: () => Promise<void>;
|
|
44
|
+
childRef: ChildProcess | null;
|
|
45
|
+
}): void;
|
|
46
|
+
/**
|
|
47
|
+
* Append a text chunk to the agent's ring buffer. O(1).
|
|
48
|
+
*/
|
|
49
|
+
export declare function appendLiveOutput(pid: number, chunk: string): void;
|
|
50
|
+
/**
|
|
51
|
+
* Update sessionId after the runner resolves it from the JSON response.
|
|
52
|
+
*/
|
|
53
|
+
export declare function linkLiveSession(pid: number, sessionId: string): void;
|
|
54
|
+
/**
|
|
55
|
+
* Transition an agent to a terminal state.
|
|
56
|
+
* Resolves any pending wait() via AbortController.abort().
|
|
57
|
+
*/
|
|
58
|
+
export declare function setLiveStatus(pid: number, status: LifecycleStatus, exitCode?: number | null): void;
|
|
59
|
+
/**
|
|
60
|
+
* Unregister and remove from map. Called after 'exit' event in the runner.
|
|
61
|
+
*/
|
|
62
|
+
export declare function unregisterLiveAgent(pid: number): void;
|
|
63
|
+
/**
|
|
64
|
+
* Get a live agent by agentName (+ optionally by runner).
|
|
65
|
+
*/
|
|
66
|
+
export declare function getLiveAgent(agentName: string, runner?: string): LiveAgent | undefined;
|
|
67
|
+
/**
|
|
68
|
+
* Get a live agent by PID.
|
|
69
|
+
*/
|
|
70
|
+
export declare function getLiveAgentByPid(pid: number): LiveAgent | undefined;
|
|
71
|
+
/**
|
|
72
|
+
* All currently running agents.
|
|
73
|
+
*/
|
|
74
|
+
export declare function getRunningAgents(): LiveAgent[];
|
|
75
|
+
/**
|
|
76
|
+
* Agent counts.
|
|
77
|
+
*/
|
|
78
|
+
export declare function getAgentCount(): {
|
|
79
|
+
running: number;
|
|
80
|
+
total: number;
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* Attach an AbortController to a running agent (for wait() resolution).
|
|
84
|
+
*/
|
|
85
|
+
export declare function setLiveAbortController(pid: number, ac: AbortController): void;
|
|
86
|
+
/**
|
|
87
|
+
* Drain all agents — called on SIGTERM/SIGINT.
|
|
88
|
+
* Best-effort cleanup of all running processes.
|
|
89
|
+
*/
|
|
90
|
+
export declare function drainAllAgents(): Promise<void>;
|
|
91
|
+
//# sourceMappingURL=agent_lifecycle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent_lifecycle.d.ts","sourceRoot":"","sources":["../../src/lib/agent_lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEzE,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,eAAe,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;CAC/B;AAoBD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;CAC/B,GAAG,IAAI,CAoBP;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAKjE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAKpE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,eAAe,EACvB,QAAQ,GAAE,MAAM,GAAG,IAAW,GAC7B,IAAI,CASN;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAMrD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAOtF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAEpE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,SAAS,EAAE,CAE9C;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAMlE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,eAAe,GAAG,IAAI,CAG7E;AAED;;;GAGG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAMpD"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* agent_lifecycle.ts — Lightweight in-memory agent lifecycle manager
|
|
3
|
+
* =================================================================
|
|
4
|
+
*
|
|
5
|
+
* Single source of truth for LIVE agent state during execution.
|
|
6
|
+
* No disk I/O, no async on the hot path.
|
|
7
|
+
*
|
|
8
|
+
* Two layers working together:
|
|
9
|
+
* - agent_lifecycle (RAM): outputBuffer, status, sessionId, PID → O(1) access
|
|
10
|
+
* - processRegistry (disk): persistence, sweeper, OS-level kill
|
|
11
|
+
*
|
|
12
|
+
* Design goals:
|
|
13
|
+
* - appendLiveOutput() → O(1) in-memory string concat, zero disk I/O
|
|
14
|
+
* - agent_control → direct Map read, no disk poll
|
|
15
|
+
* - 10+ agents → all in RAM, zero contention
|
|
16
|
+
* - wait() → AbortController-based, instant resolution
|
|
17
|
+
*/
|
|
18
|
+
const MAX_BUFFER = 256 * 1024;
|
|
19
|
+
// ─── In-memory store ───────────────────────────────────────────────────────────
|
|
20
|
+
const lifecycleMap = new Map();
|
|
21
|
+
const sessionIndex = new Map(); // sessionId → pid
|
|
22
|
+
// ─── Ring-buffer ───────────────────────────────────────────────────────────────
|
|
23
|
+
function appendToRing(existing, chunk) {
|
|
24
|
+
const combined = existing + chunk;
|
|
25
|
+
return combined.length > MAX_BUFFER
|
|
26
|
+
? combined.slice(-MAX_BUFFER)
|
|
27
|
+
: combined;
|
|
28
|
+
}
|
|
29
|
+
// ─── Lifecycle API ─────────────────────────────────────────────────────────────
|
|
30
|
+
/**
|
|
31
|
+
* Register a new running agent. Call once per spawn.
|
|
32
|
+
*/
|
|
33
|
+
export function registerLiveAgent(agent) {
|
|
34
|
+
// Evict any stale entry for the same agentName that is still 'running'
|
|
35
|
+
for (const [pid, a] of lifecycleMap) {
|
|
36
|
+
if (a.agentName === agent.agentName && a.status === 'running') {
|
|
37
|
+
a.status = 'orphaned';
|
|
38
|
+
lifecycleMap.delete(pid);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
const live = {
|
|
42
|
+
...agent,
|
|
43
|
+
status: 'running',
|
|
44
|
+
outputBuffer: '',
|
|
45
|
+
exitCode: null,
|
|
46
|
+
startedAt: Date.now(),
|
|
47
|
+
lastOutputAt: Date.now(),
|
|
48
|
+
};
|
|
49
|
+
lifecycleMap.set(agent.pid, live);
|
|
50
|
+
if (agent.sessionId)
|
|
51
|
+
sessionIndex.set(agent.sessionId, agent.pid);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Append a text chunk to the agent's ring buffer. O(1).
|
|
55
|
+
*/
|
|
56
|
+
export function appendLiveOutput(pid, chunk) {
|
|
57
|
+
const agent = lifecycleMap.get(pid);
|
|
58
|
+
if (!agent)
|
|
59
|
+
return;
|
|
60
|
+
agent.outputBuffer = appendToRing(agent.outputBuffer, chunk);
|
|
61
|
+
agent.lastOutputAt = Date.now();
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Update sessionId after the runner resolves it from the JSON response.
|
|
65
|
+
*/
|
|
66
|
+
export function linkLiveSession(pid, sessionId) {
|
|
67
|
+
const agent = lifecycleMap.get(pid);
|
|
68
|
+
if (!agent)
|
|
69
|
+
return;
|
|
70
|
+
agent.sessionId = sessionId;
|
|
71
|
+
sessionIndex.set(sessionId, pid);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Transition an agent to a terminal state.
|
|
75
|
+
* Resolves any pending wait() via AbortController.abort().
|
|
76
|
+
*/
|
|
77
|
+
export function setLiveStatus(pid, status, exitCode = null) {
|
|
78
|
+
const agent = lifecycleMap.get(pid);
|
|
79
|
+
if (!agent)
|
|
80
|
+
return;
|
|
81
|
+
agent.status = status;
|
|
82
|
+
agent.exitCode = exitCode;
|
|
83
|
+
agent.lastOutputAt = Date.now();
|
|
84
|
+
if (status !== 'running' && agent.abortController) {
|
|
85
|
+
agent.abortController.abort();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Unregister and remove from map. Called after 'exit' event in the runner.
|
|
90
|
+
*/
|
|
91
|
+
export function unregisterLiveAgent(pid) {
|
|
92
|
+
const agent = lifecycleMap.get(pid);
|
|
93
|
+
if (agent) {
|
|
94
|
+
if (agent.sessionId)
|
|
95
|
+
sessionIndex.delete(agent.sessionId);
|
|
96
|
+
lifecycleMap.delete(pid);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Get a live agent by agentName (+ optionally by runner).
|
|
101
|
+
*/
|
|
102
|
+
export function getLiveAgent(agentName, runner) {
|
|
103
|
+
for (const agent of lifecycleMap.values()) {
|
|
104
|
+
if (agent.agentName === agentName && (runner === undefined || agent.runner === runner)) {
|
|
105
|
+
return agent;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return undefined;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Get a live agent by PID.
|
|
112
|
+
*/
|
|
113
|
+
export function getLiveAgentByPid(pid) {
|
|
114
|
+
return lifecycleMap.get(pid);
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* All currently running agents.
|
|
118
|
+
*/
|
|
119
|
+
export function getRunningAgents() {
|
|
120
|
+
return [...lifecycleMap.values()].filter((a) => a.status === 'running');
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Agent counts.
|
|
124
|
+
*/
|
|
125
|
+
export function getAgentCount() {
|
|
126
|
+
let running = 0;
|
|
127
|
+
for (const a of lifecycleMap.values()) {
|
|
128
|
+
if (a.status === 'running')
|
|
129
|
+
running++;
|
|
130
|
+
}
|
|
131
|
+
return { running, total: lifecycleMap.size };
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Attach an AbortController to a running agent (for wait() resolution).
|
|
135
|
+
*/
|
|
136
|
+
export function setLiveAbortController(pid, ac) {
|
|
137
|
+
const agent = lifecycleMap.get(pid);
|
|
138
|
+
if (agent)
|
|
139
|
+
agent.abortController = ac;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Drain all agents — called on SIGTERM/SIGINT.
|
|
143
|
+
* Best-effort cleanup of all running processes.
|
|
144
|
+
*/
|
|
145
|
+
export async function drainAllAgents() {
|
|
146
|
+
for (const agent of lifecycleMap.values()) {
|
|
147
|
+
if (agent.status === 'running') {
|
|
148
|
+
try {
|
|
149
|
+
await agent.cleanupFn();
|
|
150
|
+
}
|
|
151
|
+
catch { /* best-effort */ }
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=agent_lifecycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent_lifecycle.js","sourceRoot":"","sources":["../../src/lib/agent_lifecycle.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/config.d.ts
CHANGED
|
@@ -24,34 +24,13 @@ export interface ConfigType {
|
|
|
24
24
|
HARD_TIMEOUT_MS: number;
|
|
25
25
|
KEEPALIVE_INTERVAL_MS: number;
|
|
26
26
|
}
|
|
27
|
+
declare let PKG_VERSION: string;
|
|
28
|
+
export { PKG_VERSION };
|
|
27
29
|
export declare const DEFAULT_CONFIG: ConfigType;
|
|
28
|
-
export declare const CONFIG:
|
|
29
|
-
CLAUDE: {
|
|
30
|
-
CORE: string;
|
|
31
|
-
PERMISSIONS: string;
|
|
32
|
-
PATHS: {
|
|
33
|
-
SETTINGS: string;
|
|
34
|
-
MCP: string;
|
|
35
|
-
};
|
|
36
|
-
};
|
|
37
|
-
KILO: {
|
|
38
|
-
CORE: string;
|
|
39
|
-
DEFAULT_MODEL: string;
|
|
40
|
-
PATHS: {
|
|
41
|
-
SETTINGS: string;
|
|
42
|
-
};
|
|
43
|
-
};
|
|
44
|
-
HERMES: {
|
|
45
|
-
CORE: string;
|
|
46
|
-
PATHS: {
|
|
47
|
-
SETTINGS: string;
|
|
48
|
-
};
|
|
49
|
-
};
|
|
50
|
-
TIMEOUT_MS: number;
|
|
51
|
-
HARD_TIMEOUT_MS: number;
|
|
52
|
-
KEEPALIVE_INTERVAL_MS: number;
|
|
53
|
-
};
|
|
30
|
+
export declare const CONFIG: ConfigType;
|
|
54
31
|
export declare function resetWorkspaceCache(): void;
|
|
32
|
+
/** Validate agent name to prevent path traversal */
|
|
33
|
+
export declare function isValidAgentName(name: string): boolean;
|
|
55
34
|
export declare function getWorkspaceDir(): string;
|
|
56
35
|
export declare function resolveConfigPath(configPath: string, workspaceDirOverride?: string): string;
|
|
57
36
|
export declare function updateConfig(newSettingsPath?: string, newMcpPath?: string): void;
|
package/dist/lib/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE;YACL,QAAQ,EAAE,MAAM,CAAC;YACjB,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;KACH,CAAC;IACF,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE;YACL,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC;KACH,CAAC;IACF,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE;YACL,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC;KACH,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;CAC/B;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE;YACL,QAAQ,EAAE,MAAM,CAAC;YACjB,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;KACH,CAAC;IACF,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE;YACL,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC;KACH,CAAC;IACF,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE;YACL,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC;KACH,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAQD,QAAA,IAAI,WAAW,QAAU,CAAC;AAM1B,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB,eAAO,MAAM,cAAc,EAAE,UAyB5B,CAAC;AAGF,eAAO,MAAM,MAAM,EAAE,UAAuD,CAAC;AAI7E,wBAAgB,mBAAmB,SAElC;AAED,oDAAoD;AACpD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,eAAe,IAAI,MAAM,CA2DxC;AAKD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM,CAkB3F;AAED,wBAAgB,YAAY,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,QAGzE"}
|
package/dist/lib/config.js
CHANGED
|
@@ -5,16 +5,26 @@ import { fileURLToPath } from 'url';
|
|
|
5
5
|
import { loadEnvQuietly } from './loadEnv.js';
|
|
6
6
|
const __filename = fileURLToPath(import.meta.url);
|
|
7
7
|
const __dirname = path.dirname(__filename);
|
|
8
|
+
// Version read from package.json at build time
|
|
9
|
+
import { createRequire } from 'module';
|
|
10
|
+
const require = createRequire(import.meta.url);
|
|
11
|
+
let PKG_VERSION = '2.7.0';
|
|
12
|
+
try {
|
|
13
|
+
const pkg = require('../../package.json');
|
|
14
|
+
PKG_VERSION = pkg.version || PKG_VERSION;
|
|
15
|
+
}
|
|
16
|
+
catch { /* fallback */ }
|
|
17
|
+
export { PKG_VERSION };
|
|
8
18
|
export const DEFAULT_CONFIG = {
|
|
9
|
-
TIMEOUT_MS:
|
|
10
|
-
KEEPALIVE_INTERVAL_MS:
|
|
19
|
+
TIMEOUT_MS: 900000, // 15 minutes
|
|
20
|
+
KEEPALIVE_INTERVAL_MS: 300000, // 5 minutes (must be < TIMEOUT_MS to actually extend)
|
|
11
21
|
HARD_TIMEOUT_MS: 60000, // 1 minute extra after keepalive
|
|
12
22
|
CLAUDE: {
|
|
13
23
|
CORE: '--output-format json',
|
|
14
|
-
PERMISSIONS: '--dangerously-skip-permissions',
|
|
24
|
+
PERMISSIONS: '--dangerously-skip-permissions', // Feature: autonomous mode by default
|
|
15
25
|
PATHS: {
|
|
16
26
|
SETTINGS: './.claude/settings.json',
|
|
17
|
-
MCP: '.mcp.json',
|
|
27
|
+
MCP: '.mcp.json',
|
|
18
28
|
},
|
|
19
29
|
},
|
|
20
30
|
KILO: {
|
|
@@ -31,11 +41,16 @@ export const DEFAULT_CONFIG = {
|
|
|
31
41
|
},
|
|
32
42
|
},
|
|
33
43
|
};
|
|
34
|
-
|
|
44
|
+
// Deep clone to prevent shared references with DEFAULT_CONFIG
|
|
45
|
+
export const CONFIG = JSON.parse(JSON.stringify(DEFAULT_CONFIG));
|
|
35
46
|
let cachedWorkspaceDir = null;
|
|
36
47
|
export function resetWorkspaceCache() {
|
|
37
48
|
cachedWorkspaceDir = null;
|
|
38
49
|
}
|
|
50
|
+
/** Validate agent name to prevent path traversal */
|
|
51
|
+
export function isValidAgentName(name) {
|
|
52
|
+
return /^[a-zA-Z0-9_-]+$/.test(name) && name.length > 0 && name.length <= 128;
|
|
53
|
+
}
|
|
39
54
|
export function getWorkspaceDir() {
|
|
40
55
|
if (cachedWorkspaceDir && process.env.NODE_ENV !== 'test')
|
|
41
56
|
return cachedWorkspaceDir;
|
|
@@ -44,14 +59,12 @@ export function getWorkspaceDir() {
|
|
|
44
59
|
workspaceDir = path.resolve(process.env.OVERMIND_WORKSPACE);
|
|
45
60
|
}
|
|
46
61
|
else {
|
|
47
|
-
// 2. Local Project mode if config exists in current working directory
|
|
48
62
|
const cwd = process.cwd();
|
|
49
63
|
if (fs.existsSync(path.join(cwd, '.mcp.json')) ||
|
|
50
64
|
fs.existsSync(path.join(cwd, '.mcp.local.json'))) {
|
|
51
65
|
workspaceDir = cwd;
|
|
52
66
|
}
|
|
53
67
|
else {
|
|
54
|
-
// 3. Search up the tree
|
|
55
68
|
let current = cwd;
|
|
56
69
|
while (path.dirname(current) !== current) {
|
|
57
70
|
if (fs.existsSync(path.join(current, '.mcp.json')) ||
|
|
@@ -62,19 +75,23 @@ export function getWorkspaceDir() {
|
|
|
62
75
|
current = path.dirname(current);
|
|
63
76
|
}
|
|
64
77
|
if (!workspaceDir) {
|
|
65
|
-
// 4. Auto-detect from code location
|
|
66
78
|
const codeRoot = path.resolve(__dirname, '../..');
|
|
67
79
|
if (fs.existsSync(path.join(codeRoot, '.mcp.json')) ||
|
|
68
80
|
fs.existsSync(path.join(codeRoot, '.mcp.local.json'))) {
|
|
69
81
|
workspaceDir = codeRoot;
|
|
70
82
|
}
|
|
71
83
|
else {
|
|
72
|
-
// 4. Global fallback
|
|
73
84
|
const homedir = os.homedir();
|
|
74
85
|
workspaceDir = path.join(homedir, '.overmind-mcp');
|
|
75
|
-
|
|
76
|
-
fs.
|
|
77
|
-
|
|
86
|
+
try {
|
|
87
|
+
if (!fs.existsSync(workspaceDir)) {
|
|
88
|
+
fs.mkdirSync(workspaceDir, { recursive: true });
|
|
89
|
+
fs.writeFileSync(path.join(workspaceDir, '.mcp.json'), JSON.stringify({ mcpServers: {} }, null, 2));
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
// Permission errors — fall back to cwd
|
|
94
|
+
workspaceDir = cwd;
|
|
78
95
|
}
|
|
79
96
|
}
|
|
80
97
|
}
|
|
@@ -93,6 +110,10 @@ export function resolveConfigPath(configPath, workspaceDirOverride) {
|
|
|
93
110
|
return configPath;
|
|
94
111
|
const workspaceDir = workspaceDirOverride || getWorkspaceDir();
|
|
95
112
|
const fullPath = path.resolve(workspaceDir, configPath);
|
|
113
|
+
// Prevent path traversal beyond workspace
|
|
114
|
+
if (!fullPath.startsWith(path.resolve(workspaceDir))) {
|
|
115
|
+
throw new Error(`Path traversal detected: ${configPath} resolves outside workspace`);
|
|
116
|
+
}
|
|
96
117
|
// Special handling for MCP config to support .local variant
|
|
97
118
|
if (configPath === '.mcp.json' && !fs.existsSync(fullPath)) {
|
|
98
119
|
const localPath = path.resolve(workspaceDir, '.mcp.local.json');
|
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;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AA6B9C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/envUtils.d.ts
CHANGED
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
type Interpolatable = string | number | boolean | null | undefined | Interpolatable[] | {
|
|
6
6
|
[key: string]: Interpolatable;
|
|
7
7
|
};
|
|
8
|
-
export declare function interpolateEnvVars(obj: Interpolatable): Interpolatable;
|
|
8
|
+
export declare function interpolateEnvVars(obj: Interpolatable, visited?: WeakSet<object>): Interpolatable;
|
|
9
9
|
export {};
|
|
10
10
|
//# sourceMappingURL=envUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envUtils.d.ts","sourceRoot":"","sources":["../../src/lib/envUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,KAAK,cAAc,GACf,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,GACT,cAAc,EAAE,GAChB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"envUtils.d.ts","sourceRoot":"","sources":["../../src/lib/envUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,KAAK,cAAc,GACf,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,GACT,cAAc,EAAE,GAChB;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAA;CAAE,CAAC;AAGtC,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,cAAc,EACnB,OAAO,GAAE,OAAO,CAAC,MAAM,CAAiB,GACvC,cAAc,CA4BhB"}
|
package/dist/lib/envUtils.js
CHANGED
|
@@ -2,20 +2,27 @@
|
|
|
2
2
|
* Environment variable interpolation utility for Overmind.
|
|
3
3
|
* Allows settings.json to use $VAR or ${VAR} syntax to reference values from .env
|
|
4
4
|
*/
|
|
5
|
-
|
|
5
|
+
// Track visited objects to prevent infinite recursion from circular references
|
|
6
|
+
export function interpolateEnvVars(obj, visited = new WeakSet()) {
|
|
6
7
|
if (typeof obj === 'string') {
|
|
8
|
+
// Replace unresolved vars with empty string instead of literal $VAR
|
|
7
9
|
return obj.replace(/\$(\w+)|\${(\w+)}/g, (_, name1, name2) => {
|
|
8
10
|
const name = name1 || name2;
|
|
9
|
-
return process.env[name]
|
|
11
|
+
return process.env[name] ?? '';
|
|
10
12
|
});
|
|
11
13
|
}
|
|
12
14
|
if (Array.isArray(obj)) {
|
|
13
|
-
return obj.map(interpolateEnvVars);
|
|
15
|
+
return obj.map((item) => interpolateEnvVars(item, visited));
|
|
14
16
|
}
|
|
15
17
|
if (obj !== null && typeof obj === 'object') {
|
|
18
|
+
// Circular reference detection
|
|
19
|
+
if (visited.has(obj)) {
|
|
20
|
+
return obj; // Break cycle
|
|
21
|
+
}
|
|
22
|
+
visited.add(obj);
|
|
16
23
|
const result = {};
|
|
17
24
|
for (const [key, value] of Object.entries(obj)) {
|
|
18
|
-
result[key] = interpolateEnvVars(value);
|
|
25
|
+
result[key] = interpolateEnvVars(value, visited);
|
|
19
26
|
}
|
|
20
27
|
return result;
|
|
21
28
|
}
|
package/dist/lib/envUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envUtils.js","sourceRoot":"","sources":["../../src/lib/envUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,MAAM,UAAU,kBAAkB,
|
|
1
|
+
{"version":3,"file":"envUtils.js","sourceRoot":"","sources":["../../src/lib/envUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,+EAA+E;AAC/E,MAAM,UAAU,kBAAkB,CAChC,GAAmB,EACnB,UAA2B,IAAI,OAAO,EAAE;IAExC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,oEAAoE;QACpE,OAAO,GAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC3D,MAAM,IAAI,GAAG,KAAK,IAAI,KAAK,CAAC;YAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5C,+BAA+B;QAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,GAAG,CAAC,CAAC,cAAc;QAC5B,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEjB,MAAM,MAAM,GAAmC,EAAE,CAAC;QAClD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadEnv.d.ts","sourceRoot":"","sources":["../../src/lib/loadEnv.ts"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"loadEnv.d.ts","sourceRoot":"","sources":["../../src/lib/loadEnv.ts"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAwBpD"}
|
package/dist/lib/loadEnv.js
CHANGED
|
@@ -4,11 +4,13 @@ export function loadEnvQuietly(envPath) {
|
|
|
4
4
|
if (fs.existsSync(envPath)) {
|
|
5
5
|
const content = fs.readFileSync(envPath, 'utf8');
|
|
6
6
|
content.split('\n').forEach((line) => {
|
|
7
|
-
const match = line.match(/^\s*([\w.-]+)\s*=\s*(.*)
|
|
7
|
+
const match = line.match(/^\s*([\w.-]+)\s*=\s*(.*)?$/);
|
|
8
8
|
if (match) {
|
|
9
9
|
const key = match[1];
|
|
10
10
|
let value = match[2] || '';
|
|
11
|
-
|
|
11
|
+
// Strip inline comments ONLY after whitespace+#, not # inside values
|
|
12
|
+
// This preserves # in API keys, URLs with fragments, etc.
|
|
13
|
+
value = value.replace(/\s+#.*$/, '').trim();
|
|
12
14
|
if (value.startsWith('"') && value.endsWith('"'))
|
|
13
15
|
value = value.slice(1, -1);
|
|
14
16
|
else if (value.startsWith("'") && value.endsWith("'"))
|
|
@@ -19,8 +21,11 @@ export function loadEnvQuietly(envPath) {
|
|
|
19
21
|
});
|
|
20
22
|
}
|
|
21
23
|
}
|
|
22
|
-
catch {
|
|
23
|
-
//
|
|
24
|
+
catch (e) {
|
|
25
|
+
// Log malformed .env instead of silently swallowing
|
|
26
|
+
if (e instanceof Error) {
|
|
27
|
+
console.error(`[loadEnv] Warning: Failed to load ${envPath}: ${e.message}`);
|
|
28
|
+
}
|
|
24
29
|
}
|
|
25
30
|
}
|
|
26
31
|
//# sourceMappingURL=loadEnv.js.map
|
package/dist/lib/loadEnv.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadEnv.js","sourceRoot":"","sources":["../../src/lib/loadEnv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACjD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC
|
|
1
|
+
{"version":3,"file":"loadEnv.js","sourceRoot":"","sources":["../../src/lib/loadEnv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACjD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBACvD,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACrB,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC3B,qEAAqE;oBACrE,0DAA0D;oBAC1D,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC5C,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;wBAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;yBACxE,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;wBAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBAClF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;wBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBAClD,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,oDAAoD;QACpD,IAAI,CAAC,YAAY,KAAK,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,qCAAqC,OAAO,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;AACH,CAAC"}
|
package/dist/lib/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/lib/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/lib/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAgFxB,eAAO,MAAM,UAAU,6BAkBtB,CAAC;AAGF,eAAO,MAAM,kBAAkB,6BAA+C,CAAC;AAC/E,eAAO,MAAM,WAAW,6BAAwC,CAAC;AACjE,eAAO,MAAM,SAAS,6BAAsC,CAAC;AAC7D,eAAO,MAAM,SAAS,6BAAsC,CAAC;AAI7D,eAAe,UAAU,CAAC"}
|
package/dist/lib/logger.js
CHANGED
|
@@ -1,21 +1,36 @@
|
|
|
1
1
|
import pino from 'pino';
|
|
2
2
|
import path from 'path';
|
|
3
|
+
import fs from 'fs';
|
|
3
4
|
/**
|
|
4
5
|
* ============================================================================
|
|
5
|
-
* 🚀 SUPER-PINO LOGGER - Workflow Edition (Overmind)
|
|
6
|
+
* 🚀 SUPER-PINO LOGGER - Workflow Edition (Overmind) v2.7.0
|
|
6
7
|
* ============================================================================
|
|
7
8
|
*/
|
|
8
9
|
const REDACT_PATHS = [
|
|
9
10
|
'*.password',
|
|
10
11
|
'*.api_key',
|
|
12
|
+
'*.apiKey',
|
|
11
13
|
'*.token',
|
|
14
|
+
'*.auth_token',
|
|
15
|
+
'*.authToken',
|
|
12
16
|
'*.secret',
|
|
17
|
+
'*.access_token',
|
|
18
|
+
'*.accessToken',
|
|
13
19
|
'req.headers.authorization',
|
|
14
20
|
'*.email',
|
|
21
|
+
'*.credential',
|
|
15
22
|
];
|
|
16
23
|
const DEFAULT_LOG_DIR = path.join(process.cwd(), 'logs');
|
|
17
24
|
const DEFAULT_LOG_FILE = path.join(DEFAULT_LOG_DIR, 'nexus-workflow.log');
|
|
18
|
-
|
|
25
|
+
let PKG_VERSION = '2.7.0';
|
|
26
|
+
try {
|
|
27
|
+
const pkgPath = path.resolve(process.cwd(), 'package.json');
|
|
28
|
+
if (fs.existsSync(pkgPath)) {
|
|
29
|
+
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
|
|
30
|
+
PKG_VERSION = pkg.version || PKG_VERSION;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
catch { /* fallback */ }
|
|
19
34
|
function getFileTargets() {
|
|
20
35
|
const raw = process.env.LOG_FILES ?? '';
|
|
21
36
|
const paths = raw
|
|
@@ -23,7 +38,8 @@ function getFileTargets() {
|
|
|
23
38
|
.map((p) => p.trim())
|
|
24
39
|
.filter(Boolean);
|
|
25
40
|
const userPaths = paths.map((p) => (path.isAbsolute(p) ? p : path.resolve(process.cwd(), p)));
|
|
26
|
-
|
|
41
|
+
// Only include default log file + user paths (removed hardcoded global path)
|
|
42
|
+
return [DEFAULT_LOG_FILE, ...userPaths];
|
|
27
43
|
}
|
|
28
44
|
const fileTargets = getFileTargets();
|
|
29
45
|
const transport = pino.transport({
|
|
@@ -68,7 +84,7 @@ export const rootLogger = pino({
|
|
|
68
84
|
},
|
|
69
85
|
base: {
|
|
70
86
|
service: 'workflow-mcp-orchestrator',
|
|
71
|
-
version:
|
|
87
|
+
version: PKG_VERSION,
|
|
72
88
|
},
|
|
73
89
|
}, transport);
|
|
74
90
|
// Specialized Child Loggers
|
package/dist/lib/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/lib/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/lib/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../../src/lib/orchestration/dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAY,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAI/F,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,GAAG;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAGF,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAErC,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;CAClB;AAID,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAiBD,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,SAAS,EAAE,EACnB,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC;IAAE,OAAO,EAAE,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../../src/lib/orchestration/dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAY,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAI/F,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,GAAG;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAGF,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAErC,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;CAClB;AAID,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAiBD,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,SAAS,EAAE,EACnB,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC;IAAE,OAAO,EAAE,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAmH1E;AAID,wBAAsB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,eAAe;aAvHzD,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;aAAW,OAAO;GAyHvE"}
|