funolio-agent 1.0.7 → 1.0.48

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.
Files changed (239) hide show
  1. package/dist/agent-config.d.ts +9 -1
  2. package/dist/agent-config.d.ts.map +1 -1
  3. package/dist/agent-config.js +4 -1
  4. package/dist/agent-config.js.map +1 -1
  5. package/dist/approval.d.ts +1 -0
  6. package/dist/approval.d.ts.map +1 -1
  7. package/dist/approval.js +12 -0
  8. package/dist/approval.js.map +1 -1
  9. package/dist/auth/auto-detect.d.ts +11 -3
  10. package/dist/auth/auto-detect.d.ts.map +1 -1
  11. package/dist/auth/auto-detect.js +136 -168
  12. package/dist/auth/auto-detect.js.map +1 -1
  13. package/dist/auth/subscription-runtime.js +1 -1
  14. package/dist/auth/subscription-runtime.js.map +1 -1
  15. package/dist/auto-organizer.d.ts.map +1 -1
  16. package/dist/auto-organizer.js +4 -3
  17. package/dist/auto-organizer.js.map +1 -1
  18. package/dist/backfill.d.ts.map +1 -1
  19. package/dist/backfill.js +34 -30
  20. package/dist/backfill.js.map +1 -1
  21. package/dist/bot-manager.d.ts +4 -8
  22. package/dist/bot-manager.d.ts.map +1 -1
  23. package/dist/bot-manager.js +31 -160
  24. package/dist/bot-manager.js.map +1 -1
  25. package/dist/clerk-model.d.ts +15 -7
  26. package/dist/clerk-model.d.ts.map +1 -1
  27. package/dist/clerk-model.js +78 -43
  28. package/dist/clerk-model.js.map +1 -1
  29. package/dist/cli-session-epoch.d.ts +10 -0
  30. package/dist/cli-session-epoch.d.ts.map +1 -0
  31. package/dist/cli-session-epoch.js +61 -0
  32. package/dist/cli-session-epoch.js.map +1 -0
  33. package/dist/cli.js +7 -2
  34. package/dist/cli.js.map +1 -1
  35. package/dist/commands/import-history.js +5 -1
  36. package/dist/commands/import-history.js.map +1 -1
  37. package/dist/commands/init.d.ts.map +1 -1
  38. package/dist/commands/init.js +30 -1
  39. package/dist/commands/init.js.map +1 -1
  40. package/dist/commands/pool.js +1 -1
  41. package/dist/commands/pool.js.map +1 -1
  42. package/dist/commands/setup.d.ts +37 -0
  43. package/dist/commands/setup.d.ts.map +1 -1
  44. package/dist/commands/setup.js +146 -43
  45. package/dist/commands/setup.js.map +1 -1
  46. package/dist/commands/start.d.ts.map +1 -1
  47. package/dist/commands/start.js +117 -255
  48. package/dist/commands/start.js.map +1 -1
  49. package/dist/config-cleanup.d.ts.map +1 -1
  50. package/dist/config-cleanup.js +2 -1
  51. package/dist/config-cleanup.js.map +1 -1
  52. package/dist/config.d.ts +6 -9
  53. package/dist/config.d.ts.map +1 -1
  54. package/dist/config.js +7 -18
  55. package/dist/config.js.map +1 -1
  56. package/dist/context-window.d.ts +33 -5
  57. package/dist/context-window.d.ts.map +1 -1
  58. package/dist/context-window.js +122 -21
  59. package/dist/context-window.js.map +1 -1
  60. package/dist/eval/orchestrator-front-door-replay.js +1 -1
  61. package/dist/eval/orchestrator-front-door-replay.js.map +1 -1
  62. package/dist/eval/policy-detection-replay.js +1 -1
  63. package/dist/eval/policy-detection-replay.js.map +1 -1
  64. package/dist/import-parser-core.d.ts.map +1 -1
  65. package/dist/import-parser-core.js +74 -8
  66. package/dist/import-parser-core.js.map +1 -1
  67. package/dist/integration-tokens.d.ts +1 -6
  68. package/dist/integration-tokens.d.ts.map +1 -1
  69. package/dist/integration-tokens.js +38 -40
  70. package/dist/integration-tokens.js.map +1 -1
  71. package/dist/local-cli-pty-manager.d.ts +50 -0
  72. package/dist/local-cli-pty-manager.d.ts.map +1 -0
  73. package/dist/local-cli-pty-manager.js +645 -0
  74. package/dist/local-cli-pty-manager.js.map +1 -0
  75. package/dist/local-data.d.ts +89 -6
  76. package/dist/local-data.d.ts.map +1 -1
  77. package/dist/local-data.js +600 -63
  78. package/dist/local-data.js.map +1 -1
  79. package/dist/local-db.d.ts.map +1 -1
  80. package/dist/local-db.js +74 -1
  81. package/dist/local-db.js.map +1 -1
  82. package/dist/local-funnel.d.ts +0 -7
  83. package/dist/local-funnel.d.ts.map +1 -1
  84. package/dist/local-funnel.js +22 -30
  85. package/dist/local-funnel.js.map +1 -1
  86. package/dist/local-import-worker.d.ts.map +1 -1
  87. package/dist/local-import-worker.js +49 -4
  88. package/dist/local-import-worker.js.map +1 -1
  89. package/dist/local-memory-search.d.ts +1 -0
  90. package/dist/local-memory-search.d.ts.map +1 -1
  91. package/dist/local-memory-search.js +107 -21
  92. package/dist/local-memory-search.js.map +1 -1
  93. package/dist/local-server.d.ts +21 -0
  94. package/dist/local-server.d.ts.map +1 -1
  95. package/dist/local-server.js +1057 -501
  96. package/dist/local-server.js.map +1 -1
  97. package/dist/mcp/bridge-server.d.ts.map +1 -1
  98. package/dist/mcp/bridge-server.js +2 -1
  99. package/dist/mcp/bridge-server.js.map +1 -1
  100. package/dist/mcp/local-memory-server.d.ts +6 -1
  101. package/dist/mcp/local-memory-server.d.ts.map +1 -1
  102. package/dist/mcp/local-memory-server.js +38 -13
  103. package/dist/mcp/local-memory-server.js.map +1 -1
  104. package/dist/mcp/manager.d.ts +3 -22
  105. package/dist/mcp/manager.d.ts.map +1 -1
  106. package/dist/mcp/manager.js +66 -320
  107. package/dist/mcp/manager.js.map +1 -1
  108. package/dist/memory-extraction.d.ts +2 -0
  109. package/dist/memory-extraction.d.ts.map +1 -1
  110. package/dist/memory-extraction.js +3 -1
  111. package/dist/memory-extraction.js.map +1 -1
  112. package/dist/message-loop.d.ts +1 -3
  113. package/dist/message-loop.d.ts.map +1 -1
  114. package/dist/message-loop.js +220 -437
  115. package/dist/message-loop.js.map +1 -1
  116. package/dist/mqtt-client.d.ts +2 -28
  117. package/dist/mqtt-client.d.ts.map +1 -1
  118. package/dist/mqtt-client.js +2 -2
  119. package/dist/mqtt-client.js.map +1 -1
  120. package/dist/oauth.d.ts +6 -0
  121. package/dist/oauth.d.ts.map +1 -1
  122. package/dist/oauth.js +91 -0
  123. package/dist/oauth.js.map +1 -1
  124. package/dist/orchestration/front-door-policy.d.ts +5 -2
  125. package/dist/orchestration/front-door-policy.d.ts.map +1 -1
  126. package/dist/orchestration/front-door-policy.js +25 -28
  127. package/dist/orchestration/front-door-policy.js.map +1 -1
  128. package/dist/orchestration/orchestrator-blocked-prompt.d.ts +2 -1
  129. package/dist/orchestration/orchestrator-blocked-prompt.d.ts.map +1 -1
  130. package/dist/orchestration/orchestrator-blocked-prompt.js +12 -1
  131. package/dist/orchestration/orchestrator-blocked-prompt.js.map +1 -1
  132. package/dist/orchestration/orchestrator-final-response-prompt.d.ts +4 -1
  133. package/dist/orchestration/orchestrator-final-response-prompt.d.ts.map +1 -1
  134. package/dist/orchestration/orchestrator-final-response-prompt.js +9 -7
  135. package/dist/orchestration/orchestrator-final-response-prompt.js.map +1 -1
  136. package/dist/orchestration/orchestrator-operating-prompt.d.ts +11 -0
  137. package/dist/orchestration/orchestrator-operating-prompt.d.ts.map +1 -1
  138. package/dist/orchestration/orchestrator-operating-prompt.js +67 -44
  139. package/dist/orchestration/orchestrator-operating-prompt.js.map +1 -1
  140. package/dist/orchestration/worker-operating-prompt.d.ts +2 -0
  141. package/dist/orchestration/worker-operating-prompt.d.ts.map +1 -1
  142. package/dist/orchestration/worker-operating-prompt.js +41 -2
  143. package/dist/orchestration/worker-operating-prompt.js.map +1 -1
  144. package/dist/orchestrator.d.ts +17 -0
  145. package/dist/orchestrator.d.ts.map +1 -1
  146. package/dist/orchestrator.js +328 -166
  147. package/dist/orchestrator.js.map +1 -1
  148. package/dist/prompt-template.js +3 -3
  149. package/dist/prompt-template.js.map +1 -1
  150. package/dist/providers/anthropic.d.ts +0 -5
  151. package/dist/providers/anthropic.d.ts.map +1 -1
  152. package/dist/providers/anthropic.js +29 -75
  153. package/dist/providers/anthropic.js.map +1 -1
  154. package/dist/providers/claude-cli-prompt.d.ts.map +1 -1
  155. package/dist/providers/claude-cli-prompt.js +22 -6
  156. package/dist/providers/claude-cli-prompt.js.map +1 -1
  157. package/dist/providers/claude-cli.d.ts.map +1 -1
  158. package/dist/providers/claude-cli.js +36 -142
  159. package/dist/providers/claude-cli.js.map +1 -1
  160. package/dist/providers/codex-cli.d.ts.map +1 -1
  161. package/dist/providers/codex-cli.js +148 -74
  162. package/dist/providers/codex-cli.js.map +1 -1
  163. package/dist/providers/google.d.ts.map +1 -1
  164. package/dist/providers/google.js +4 -2
  165. package/dist/providers/google.js.map +1 -1
  166. package/dist/providers/index.d.ts +13 -0
  167. package/dist/providers/index.d.ts.map +1 -1
  168. package/dist/providers/index.js.map +1 -1
  169. package/dist/providers/openai.d.ts.map +1 -1
  170. package/dist/providers/openai.js +27 -2
  171. package/dist/providers/openai.js.map +1 -1
  172. package/dist/runtime-context.d.ts +10 -0
  173. package/dist/runtime-context.d.ts.map +1 -0
  174. package/dist/runtime-context.js +30 -0
  175. package/dist/runtime-context.js.map +1 -0
  176. package/dist/storage-mode.d.ts +5 -0
  177. package/dist/storage-mode.d.ts.map +1 -0
  178. package/dist/storage-mode.js +21 -0
  179. package/dist/storage-mode.js.map +1 -0
  180. package/dist/subagent/queue.d.ts.map +1 -1
  181. package/dist/subagent/queue.js +1 -0
  182. package/dist/subagent/queue.js.map +1 -1
  183. package/dist/summarization-pipeline.d.ts +10 -0
  184. package/dist/summarization-pipeline.d.ts.map +1 -1
  185. package/dist/summarization-pipeline.js +147 -34
  186. package/dist/summarization-pipeline.js.map +1 -1
  187. package/dist/tool-permissions.d.ts +2 -0
  188. package/dist/tool-permissions.d.ts.map +1 -0
  189. package/dist/tool-permissions.js +25 -0
  190. package/dist/tool-permissions.js.map +1 -0
  191. package/dist/tools/analyze-image.js +2 -2
  192. package/dist/tools/analyze-image.js.map +1 -1
  193. package/dist/tools/edit-file.js +3 -3
  194. package/dist/tools/edit-file.js.map +1 -1
  195. package/dist/tools/index.d.ts +7 -8
  196. package/dist/tools/index.d.ts.map +1 -1
  197. package/dist/tools/index.js +106 -60
  198. package/dist/tools/index.js.map +1 -1
  199. package/dist/tools/list-directory.js +7 -4
  200. package/dist/tools/list-directory.js.map +1 -1
  201. package/dist/tools/read-file.js +3 -3
  202. package/dist/tools/read-file.js.map +1 -1
  203. package/dist/tools/run-command.js +3 -3
  204. package/dist/tools/run-command.js.map +1 -1
  205. package/dist/tools/sandbox.d.ts +10 -5
  206. package/dist/tools/sandbox.d.ts.map +1 -1
  207. package/dist/tools/sandbox.js +41 -13
  208. package/dist/tools/sandbox.js.map +1 -1
  209. package/dist/tools/search-codebase.js +2 -2
  210. package/dist/tools/search-codebase.js.map +1 -1
  211. package/dist/tools/search-local-memory.d.ts.map +1 -1
  212. package/dist/tools/search-local-memory.js +19 -8
  213. package/dist/tools/search-local-memory.js.map +1 -1
  214. package/dist/tools/search-memory.d.ts.map +1 -1
  215. package/dist/tools/search-memory.js +9 -3
  216. package/dist/tools/search-memory.js.map +1 -1
  217. package/dist/tools/spawn-subagent.d.ts.map +1 -1
  218. package/dist/tools/spawn-subagent.js +1 -0
  219. package/dist/tools/spawn-subagent.js.map +1 -1
  220. package/dist/tools/write-file.js +3 -3
  221. package/dist/tools/write-file.js.map +1 -1
  222. package/dist/types.d.ts +5 -0
  223. package/dist/types.d.ts.map +1 -1
  224. package/dist/types.js +0 -3
  225. package/dist/types.js.map +1 -1
  226. package/dist/verification/index.js +2 -2
  227. package/dist/verification/index.js.map +1 -1
  228. package/dist/wizard-state.d.ts.map +1 -1
  229. package/dist/wizard-state.js +16 -2
  230. package/dist/wizard-state.js.map +1 -1
  231. package/dist/wizard-support.d.ts +2 -2
  232. package/dist/wizard-support.d.ts.map +1 -1
  233. package/dist/wizard-support.js +88 -99
  234. package/dist/wizard-support.js.map +1 -1
  235. package/dist/workflow-engine.d.ts +9 -3
  236. package/dist/workflow-engine.d.ts.map +1 -1
  237. package/dist/workflow-engine.js +378 -82
  238. package/dist/workflow-engine.js.map +1 -1
  239. package/package.json +2 -1
@@ -40,20 +40,22 @@ var __importStar = (this && this.__importStar) || (function () {
40
40
  return result;
41
41
  };
42
42
  })();
43
- var __importDefault = (this && this.__importDefault) || function (mod) {
44
- return (mod && mod.__esModule) ? mod : { "default": mod };
45
- };
46
43
  Object.defineProperty(exports, "__esModule", { value: true });
47
44
  exports.MCPManager = void 0;
48
45
  const child_process_1 = require("child_process");
49
46
  const fs = __importStar(require("fs"));
50
47
  const path = __importStar(require("path"));
51
48
  const events_1 = require("events");
52
- const chalk_1 = __importDefault(require("chalk"));
53
49
  const config_1 = require("../config");
54
50
  const registry_1 = require("./registry");
55
51
  const stdio_protocol_1 = require("./stdio-protocol");
56
- const tool_grouping_1 = require("./tool-grouping");
52
+ const GOOGLE_INTEGRATION_SERVER_IDS = new Set([
53
+ 'google-workspace',
54
+ 'google-drive',
55
+ 'google-calendar',
56
+ 'google-chat',
57
+ 'gmail',
58
+ ]);
57
59
  /**
58
60
  * MCP Manager — singleton per agent instance.
59
61
  */
@@ -140,67 +142,16 @@ class MCPManager extends events_1.EventEmitter {
140
142
  ? ['-y', config.npmPackage, ...config.args]
141
143
  : ['run', config.pipPackage, ...config.args];
142
144
  // Inject integration tokens for known MCP servers (e.g. google-drive → Google OAuth tokens)
143
- const GOOGLE_MCP_IDS = new Set(['google-workspace', 'google-drive', 'google-calendar', 'gmail']);
144
145
  let integrationEnv = {};
145
146
  try {
146
- const { getIntegrationEnvVars } = require('../integration-tokens');
147
- if (GOOGLE_MCP_IDS.has(config.id)) {
147
+ const { getIntegrationEnvVars, writeGoogleWorkspaceFiles } = require('../integration-tokens');
148
+ if (GOOGLE_INTEGRATION_SERVER_IDS.has(config.id)) {
149
+ writeGoogleWorkspaceFiles();
148
150
  integrationEnv = getIntegrationEnvVars('google');
149
151
  }
150
152
  }
151
153
  catch { }
152
- // Merge all env var sources: process.env < integration-tokens.json < marketplace envVars
153
- const mergedEnv = { ...process.env, ...integrationEnv, ...config.envVars };
154
- // For Google MCP servers that use file-based auth (e.g. @piotr-agier/google-drive-mcp),
155
- // write the credentials and tokens to the expected file locations. These packages read
156
- // from gcp-oauth.keys.json + ~/.config/google-drive-mcp/tokens.json rather than env vars.
157
- if (GOOGLE_MCP_IDS.has(config.id)) {
158
- const clientId = mergedEnv.GOOGLE_CLIENT_ID;
159
- const clientSecret = mergedEnv.GOOGLE_CLIENT_SECRET;
160
- const refreshToken = mergedEnv.GOOGLE_REFRESH_TOKEN;
161
- if (clientId && clientSecret && refreshToken) {
162
- try {
163
- const os = require('os');
164
- const configDir = path.join(os.homedir(), '.config', 'google-drive-mcp');
165
- if (!fs.existsSync(configDir)) {
166
- fs.mkdirSync(configDir, { recursive: true, mode: 0o700 });
167
- }
168
- // Write credentials file (gcp-oauth.keys.json)
169
- const keysFile = path.join(configDir, 'gcp-oauth.keys.json');
170
- fs.writeFileSync(keysFile, JSON.stringify({
171
- installed: {
172
- client_id: clientId,
173
- client_secret: clientSecret,
174
- redirect_uris: ['http://localhost:3000/oauth2callback'],
175
- },
176
- }, null, 2), { mode: 0o600 });
177
- // Write tokens file. The MCP package validates access_token is truthy
178
- // before attempting refresh, so we must provide a non-empty value.
179
- // Setting expiry_date in the past forces an immediate refresh using
180
- // the refresh_token, which gets a fresh access_token from Google.
181
- const tokensFile = path.join(configDir, 'tokens.json');
182
- fs.writeFileSync(tokensFile, JSON.stringify({
183
- access_token: mergedEnv.GOOGLE_ACCESS_TOKEN || 'needs-refresh',
184
- refresh_token: refreshToken,
185
- scope: 'https://www.googleapis.com/auth/drive https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/gmail.modify https://www.googleapis.com/auth/chat.spaces https://www.googleapis.com/auth/chat.messages',
186
- token_type: 'Bearer',
187
- expiry_date: Date.now() - 1000, // Force refresh on first use
188
- }, null, 2), { mode: 0o600 });
189
- // Also set the env var so the package can find its config
190
- mergedEnv.GOOGLE_DRIVE_MCP_TOKEN_PATH = tokensFile;
191
- mergedEnv.GOOGLE_CLIENT_SECRET_PATH = keysFile;
192
- console.log(chalk_1.default.green(` ✓ Wrote Google credentials for ${config.id} to ${configDir}`));
193
- }
194
- catch (err) {
195
- console.error(chalk_1.default.red(` ✗ Failed to write Google credential files: ${err.message}`));
196
- }
197
- }
198
- else {
199
- console.warn(chalk_1.default.yellow(` ⚠ Missing Google credentials for ${config.id} (need CLIENT_ID, CLIENT_SECRET, REFRESH_TOKEN)`));
200
- console.warn(chalk_1.default.yellow(` Install via the Funolio marketplace and provide your Google OAuth credentials.`));
201
- }
202
- }
203
- const env = mergedEnv;
154
+ const env = { ...process.env, ...integrationEnv, ...config.envVars };
204
155
  const child = (0, child_process_1.spawn)(cmd, args, {
205
156
  stdio: ['pipe', 'pipe', 'pipe'],
206
157
  env,
@@ -213,7 +164,6 @@ class MCPManager extends events_1.EventEmitter {
213
164
  ready: false,
214
165
  requestId: 0,
215
166
  pendingRequests: new Map(),
216
- stderrBuffer: [],
217
167
  };
218
168
  this.servers.set(config.id, instance);
219
169
  const reader = new stdio_protocol_1.McpStdioMessageReader((msg) => {
@@ -231,19 +181,11 @@ class MCPManager extends events_1.EventEmitter {
231
181
  child.stdout?.on('data', (chunk) => {
232
182
  reader.feed(chunk);
233
183
  });
234
- // Capture recent stderr for error enrichment (ring buffer, last 5 messages)
235
- const stderrBuffer = [];
236
- const MAX_STDERR_LINES = 5;
237
184
  child.stderr?.on('data', (data) => {
238
185
  const msg = data.toString().trim();
239
- if (msg) {
186
+ if (msg)
240
187
  console.error(`[MCP:${config.id}] ${msg}`);
241
- stderrBuffer.push(msg);
242
- if (stderrBuffer.length > MAX_STDERR_LINES)
243
- stderrBuffer.shift();
244
- }
245
188
  });
246
- instance.stderrBuffer = stderrBuffer;
247
189
  child.on('exit', (code) => {
248
190
  const error = new Error(`MCP server ${config.id} exited with code ${code}`);
249
191
  for (const [requestId, pending] of instance.pendingRequests.entries()) {
@@ -254,17 +196,6 @@ class MCPManager extends events_1.EventEmitter {
254
196
  this.servers.delete(config.id);
255
197
  this.rebuildToolList();
256
198
  this.emit('server-stopped', config.id);
257
- // Fix 2: MCP crash recovery — attempt one restart for always-on servers
258
- if (config.alwaysOn && entry) {
259
- console.log(`[MCP] Attempting auto-restart of ${config.id}...`);
260
- this.launchServer(config, entry).then((tools) => {
261
- console.log(`[MCP] ✓ Auto-restarted ${config.id} — ${tools.length} tools recovered`);
262
- this.emit('server-restarted', config.id, tools);
263
- }).catch((err) => {
264
- console.error(`[MCP] ✗ Auto-restart of ${config.id} failed: ${err.message}`);
265
- this.emit('server-restart-failed', config.id, err.message);
266
- });
267
- }
268
199
  });
269
200
  // MCP handshake: initialize
270
201
  try {
@@ -283,15 +214,10 @@ class MCPManager extends events_1.EventEmitter {
283
214
  inputSchema: t.inputSchema || {},
284
215
  serverId: config.id,
285
216
  }));
286
- // Apply smart tool grouping for servers with many tools
287
- const groupedTools = (0, tool_grouping_1.groupMcpTools)(tools, config.id, entry.name);
288
- if (groupedTools.length < tools.length) {
289
- console.log(`[MCP] ${entry.name}: grouped ${tools.length} tools into ${groupedTools.length} meta-tool(s)`);
290
- }
291
- instance.tools = groupedTools;
217
+ instance.tools = tools;
292
218
  instance.ready = true;
293
219
  this.rebuildToolList();
294
- console.log(`[MCP] ${entry.name} launched — ${tools.length} tools discovered (${groupedTools.length} after grouping)`);
220
+ console.log(`[MCP] ${entry.name} launched — ${tools.length} tools discovered`);
295
221
  this.emit('server-ready', config.id, tools);
296
222
  return tools;
297
223
  }
@@ -309,14 +235,13 @@ class MCPManager extends events_1.EventEmitter {
309
235
  const msg = (0, stdio_protocol_1.encodeMcpStdioMessage)({ jsonrpc: '2.0', id, method, params });
310
236
  instance.pendingRequests.set(id, { resolve, reject });
311
237
  instance.process.stdin.write(msg);
312
- // Timeout: 120s for initialize (first launch may download packages), 30s for other requests
313
- const timeoutMs = method === 'initialize' ? 120_000 : 30_000;
238
+ // Timeout after 30s
314
239
  setTimeout(() => {
315
240
  if (instance.pendingRequests.has(id)) {
316
241
  instance.pendingRequests.delete(id);
317
- reject(new Error(`MCP request ${method} timed out after ${timeoutMs / 1000}s`));
242
+ reject(new Error(`MCP request ${method} timed out`));
318
243
  }
319
- }, timeoutMs);
244
+ }, 30_000);
320
245
  });
321
246
  }
322
247
  /** Send a JSON-RPC notification (no response expected) */
@@ -324,106 +249,8 @@ class MCPManager extends events_1.EventEmitter {
324
249
  const msg = (0, stdio_protocol_1.encodeMcpStdioMessage)({ jsonrpc: '2.0', method, params });
325
250
  instance.process.stdin.write(msg);
326
251
  }
327
- /** Enrich MCP error results with actionable hints */
328
- enrichErrorResult(result, toolName, args) {
329
- if (!result?.isError)
330
- return result;
331
- const contentText = result.content
332
- ? result.content.map((c) => c.text || JSON.stringify(c)).join('\n')
333
- : '';
334
- // Detect unhelpful errors and add context
335
- const isUnhelpful = !contentText || contentText === 'Unknown error' || contentText.length < 20;
336
- // Check for file-type-specific hints
337
- const fileId = (args.fileId || args.file_id || '');
338
- const mimeType = (args.mimeType || args.mime_type || '');
339
- const actionName = toolName.replace(/^mcp_[^_]+_/, '');
340
- let hint = '';
341
- if (actionName === 'downloadFile' || actionName === 'readSpreadsheet' || actionName === 'readDocument') {
342
- const uploadedFormats = ['.xlsx', '.docx', '.pptx', '.csv', '.pdf'];
343
- const uploadedMimes = ['application/vnd.openxmlformats', 'application/msword', 'application/pdf'];
344
- const isUploaded = uploadedFormats.some(f => mimeType.includes(f)) ||
345
- uploadedMimes.some(m => mimeType.includes(m));
346
- if (isUploaded && actionName === 'readSpreadsheet') {
347
- hint = '\nHINT: This file appears to be an uploaded .xlsx file, NOT a native Google Sheet. ' +
348
- 'Use downloadFile to save it locally, then read with run_command (e.g., python with openpyxl).';
349
- }
350
- else if (isUploaded && actionName === 'downloadFile' && isUnhelpful) {
351
- hint = '\nHINT: downloadFile failed. Try using copyFile with convert=true to convert to native Google format first, then use the appropriate read tool.';
352
- }
353
- }
354
- if (hint && result.content) {
355
- result.content = [
356
- ...result.content,
357
- { type: 'text', text: hint },
358
- ];
359
- }
360
- return result;
361
- }
362
- /** Call a tool on an MCP server (handles both regular and meta-tools) */
252
+ /** Call a tool on an MCP server */
363
253
  async callTool(toolName, args) {
364
- // Handle meta-tool calls: resolve to the real tool name and args
365
- if ((0, tool_grouping_1.isMetaTool)(toolName)) {
366
- const action = args.action;
367
- const params = (args.params || {});
368
- if (!action)
369
- throw new Error(`Meta-tool "${toolName}" requires an "action" parameter`);
370
- const { originalToolName, originalArgs } = (0, tool_grouping_1.resolveMetaTool)(toolName, action, params);
371
- // Find the server for this meta-tool
372
- const metaTool = this.allDiscoveredTools.find((t) => t.name === toolName);
373
- if (!metaTool)
374
- throw new Error(`Meta-tool not found: ${toolName}`);
375
- const instance = this.servers.get(metaTool.serverId);
376
- if (!instance || !instance.ready)
377
- throw new Error(`MCP server ${metaTool.serverId} not running`);
378
- // Strip prefix to get the raw MCP tool name
379
- const rawName = originalToolName.replace(`mcp_${metaTool.serverId}_`, '');
380
- // Auto-create parent directories for downloadFile to avoid "Parent directory does not exist"
381
- if (rawName === 'downloadFile' || rawName === 'download_file') {
382
- const localPath = originalArgs.localPath || originalArgs.local_path;
383
- if (typeof localPath === 'string') {
384
- const parentDir = path.dirname(localPath);
385
- if (!fs.existsSync(parentDir)) {
386
- fs.mkdirSync(parentDir, { recursive: true });
387
- }
388
- }
389
- }
390
- try {
391
- const result = await this.sendRequest(instance, 'tools/call', { name: rawName, arguments: originalArgs });
392
- // Bug 4: Enrich meta-tool errors with stderr
393
- if (result?.isError) {
394
- const recentStderr = instance.stderrBuffer?.slice(-3)
395
- .filter((s) => s.includes('Error') || s.includes('error') || s.includes('fail') || s.includes('not exist') || s.includes('Invalid'))
396
- .join(' | ');
397
- if (recentStderr) {
398
- const existingText = result.content?.map((c) => c.text || '').join(' ') || '';
399
- result.content = [{ type: 'text', text: `${existingText || 'Unknown error'}. Server details: ${recentStderr}` }];
400
- }
401
- }
402
- // Bug 1: Validate downloadFile results — detect Google sign-in pages
403
- if ((rawName === 'downloadFile' || rawName === 'download_file') && !result?.isError) {
404
- const localPath = (originalArgs.localPath || originalArgs.local_path);
405
- if (localPath && fs.existsSync(localPath)) {
406
- const header = Buffer.alloc(500);
407
- const fd = fs.openSync(localPath, 'r');
408
- fs.readSync(fd, header, 0, 500, 0);
409
- fs.closeSync(fd);
410
- const headerStr = header.toString('utf8').toLowerCase();
411
- if (headerStr.includes('accounts.google.com') ||
412
- (headerStr.startsWith('<!doctype html>') && !localPath.endsWith('.html'))) {
413
- fs.unlinkSync(localPath);
414
- return {
415
- content: [{ type: 'text', text: 'ERROR: Download failed — received Google sign-in page instead of actual file content. The OAuth token may have expired. The file was NOT saved. Try using run_command to download via curl with a fresh token, or ask the user to re-authenticate Google Workspace.' }],
416
- isError: true,
417
- };
418
- }
419
- }
420
- }
421
- return this.enrichErrorResult(result, originalToolName, originalArgs);
422
- }
423
- catch (err) {
424
- throw new Error(`MCP tool ${rawName} failed: ${err.message}${err.stack ? '\n' + err.stack.split('\n').slice(0, 3).join('\n') : ''}`);
425
- }
426
- }
427
254
  const tool = this.allDiscoveredTools.find((t) => t.name === toolName);
428
255
  if (!tool)
429
256
  throw new Error(`MCP tool not found: ${toolName}`);
@@ -432,45 +259,11 @@ class MCPManager extends events_1.EventEmitter {
432
259
  throw new Error(`MCP server ${tool.serverId} not running`);
433
260
  // Strip the mcp_{serverId}_ prefix to get the original tool name
434
261
  const originalName = toolName.replace(`mcp_${tool.serverId}_`, '');
435
- // Auto-create parent directories for downloadFile to avoid "Parent directory does not exist"
436
- if (originalName === 'downloadFile' || originalName === 'download_file') {
437
- const localPath = args.localPath || args.local_path;
438
- if (typeof localPath === 'string') {
439
- const parentDir = path.dirname(localPath);
440
- if (!fs.existsSync(parentDir)) {
441
- fs.mkdirSync(parentDir, { recursive: true });
442
- }
443
- }
444
- }
445
- try {
446
- const result = await this.sendRequest(instance, 'tools/call', {
447
- name: originalName,
448
- arguments: args,
449
- });
450
- // Bug 1: Validate downloadFile results — detect Google sign-in pages
451
- if ((originalName === 'downloadFile' || originalName === 'download_file') && !result?.isError) {
452
- const localPath = (args.localPath || args.local_path);
453
- if (localPath && fs.existsSync(localPath)) {
454
- const header = Buffer.alloc(500);
455
- const fd = fs.openSync(localPath, 'r');
456
- fs.readSync(fd, header, 0, 500, 0);
457
- fs.closeSync(fd);
458
- const headerStr = header.toString('utf8').toLowerCase();
459
- if (headerStr.includes('accounts.google.com') ||
460
- (headerStr.startsWith('<!doctype html>') && !localPath.endsWith('.html'))) {
461
- fs.unlinkSync(localPath);
462
- return {
463
- content: [{ type: 'text', text: 'ERROR: Download failed — received Google sign-in page instead of actual file content. The OAuth token may have expired. The file was NOT saved. Try using run_command to download via curl with a fresh token, or ask the user to re-authenticate Google Workspace.' }],
464
- isError: true,
465
- };
466
- }
467
- }
468
- }
469
- return this.enrichErrorResult(result, toolName, args);
470
- }
471
- catch (err) {
472
- throw new Error(`MCP tool ${originalName} failed: ${err.message}${err.stack ? '\n' + err.stack.split('\n').slice(0, 3).join('\n') : ''}`);
473
- }
262
+ const result = await this.sendRequest(instance, 'tools/call', {
263
+ name: originalName,
264
+ arguments: args,
265
+ });
266
+ return result;
474
267
  }
475
268
  /** Rebuild the merged list of all discovered tools */
476
269
  rebuildToolList() {
@@ -493,40 +286,22 @@ class MCPManager extends events_1.EventEmitter {
493
286
  const output = result?.content
494
287
  ? result.content.map((c) => c.text || JSON.stringify(c)).join('\n')
495
288
  : JSON.stringify(result);
496
- let errorOutput = output;
497
- if (result?.isError) {
498
- // Enrich error with recent stderr from the MCP server
499
- const srv = this.servers.get(t.serverId);
500
- const recentStderr = srv?.stderrBuffer?.slice(-3)
501
- .filter((s) => s.includes('Error') || s.includes('error') || s.includes('fail') || s.includes('not exist'))
502
- .join('\n');
503
- const parts = ['ERROR:'];
504
- if (output && output !== 'Unknown error')
505
- parts.push(output);
506
- if (recentStderr)
507
- parts.push(`Server details: ${recentStderr}`);
508
- if (parts.length === 1)
509
- parts.push('Unknown error from MCP server');
510
- errorOutput = parts.join(' ');
511
- }
512
289
  return {
513
290
  tool_call_id: '',
514
291
  name: t.name,
515
292
  success: !result?.isError,
516
- output: result?.isError ? errorOutput : output,
293
+ output,
517
294
  verified: true,
518
295
  verification_details: 'MCP tool execution',
519
296
  };
520
297
  }
521
298
  catch (err) {
522
- const errorDetail = err.message || 'Unknown error';
523
- const stackHint = err.stack ? '\n' + err.stack.split('\n').slice(1, 3).join('\n') : '';
524
299
  return {
525
300
  tool_call_id: '',
526
301
  name: t.name,
527
302
  success: false,
528
303
  output: '',
529
- error: `${errorDetail}${stackHint}`,
304
+ error: err.message,
530
305
  verified: true,
531
306
  verification_details: 'MCP tool execution failed',
532
307
  };
@@ -549,6 +324,47 @@ class MCPManager extends events_1.EventEmitter {
549
324
  alwaysOn: instance.config.alwaysOn,
550
325
  };
551
326
  }
327
+ async waitForServerExit(id, instance) {
328
+ await new Promise((resolve) => {
329
+ let settled = false;
330
+ const finish = () => {
331
+ if (settled)
332
+ return;
333
+ settled = true;
334
+ clearTimeout(timeout);
335
+ instance.process.removeListener('exit', finish);
336
+ this.removeListener('server-stopped', onStopped);
337
+ resolve();
338
+ };
339
+ const onStopped = (stoppedId) => {
340
+ if (stoppedId === id)
341
+ finish();
342
+ };
343
+ const timeout = setTimeout(finish, 5_000);
344
+ instance.process.once('exit', finish);
345
+ this.on('server-stopped', onStopped);
346
+ instance.process.kill();
347
+ });
348
+ }
349
+ async reloadIntegrationServers(integration) {
350
+ if (integration !== 'google')
351
+ return [];
352
+ const restarted = [];
353
+ const runningGoogleServers = Array.from(this.servers.entries())
354
+ .filter(([id]) => GOOGLE_INTEGRATION_SERVER_IDS.has(id));
355
+ for (const [id, instance] of runningGoogleServers) {
356
+ const config = {
357
+ ...instance.config,
358
+ envVars: { ...instance.config.envVars },
359
+ args: [...instance.config.args],
360
+ };
361
+ const entry = instance.entry;
362
+ await this.waitForServerExit(id, instance);
363
+ await this.launchServer(config, entry);
364
+ restarted.push(id);
365
+ }
366
+ return restarted;
367
+ }
552
368
  /** Stop a running MCP server */
553
369
  async stopServer(id) {
554
370
  const instance = this.servers.get(id);
@@ -586,76 +402,6 @@ class MCPManager extends events_1.EventEmitter {
586
402
  this.saveConfigs();
587
403
  }
588
404
  }
589
- /**
590
- * Pre-warm an npm package by running `npx -y <package> --help` in the background.
591
- * This downloads/caches the package so subsequent launches are fast.
592
- */
593
- static preWarmPackage(npmPackage) {
594
- console.log(`[MCP] Pre-warming package cache: ${npmPackage}`);
595
- const child = (0, child_process_1.spawn)('npx', ['-y', npmPackage, '--help'], {
596
- stdio: 'ignore',
597
- detached: true,
598
- env: { ...process.env },
599
- });
600
- child.unref();
601
- child.on('exit', (code) => {
602
- console.log(`[MCP] Pre-warm of ${npmPackage} finished (exit ${code})`);
603
- });
604
- }
605
- /**
606
- * Reload all running Google MCP servers after token refresh.
607
- * Stops each server, then re-launches with fresh credentials from the token store.
608
- */
609
- async reloadIntegrationServers(integration) {
610
- if (integration !== 'google')
611
- return [];
612
- const GOOGLE_IDS = new Set(['google-workspace', 'google-drive', 'google-calendar', 'gmail']);
613
- const restarted = [];
614
- const runningGoogle = Array.from(this.servers.entries())
615
- .filter(([id]) => GOOGLE_IDS.has(id));
616
- for (const [id, instance] of runningGoogle) {
617
- const config = { ...instance.config };
618
- const entry = instance.entry;
619
- console.log(`[MCP] Reloading ${id} after Google token refresh...`);
620
- try {
621
- // Stop current instance
622
- instance.process.kill();
623
- // Wait briefly for exit
624
- await new Promise((resolve) => {
625
- const timeout = setTimeout(resolve, 5000);
626
- instance.process.once('exit', () => { clearTimeout(timeout); resolve(); });
627
- });
628
- this.servers.delete(id);
629
- this.rebuildToolList();
630
- // Re-launch with fresh tokens from the updated token store
631
- await this.launchServer(config, entry);
632
- restarted.push(id);
633
- console.log(`[MCP] ✓ Reloaded ${id} successfully`);
634
- }
635
- catch (err) {
636
- console.error(`[MCP] ✗ Failed to reload ${id}: ${err.message}`);
637
- }
638
- }
639
- return restarted;
640
- }
641
- /**
642
- * Fix 3: Check which configured (always-on) servers are NOT currently running.
643
- * Returns names of dead servers for injection into system prompt / tool list.
644
- */
645
- getDeadServers() {
646
- const configs = this.loadPersistedConfigs();
647
- const running = new Set(this.servers.keys());
648
- return configs
649
- .filter(c => c.alwaysOn && !running.has(c.id))
650
- .map(c => c.id);
651
- }
652
- /**
653
- * Check if a specific server is alive and responsive.
654
- */
655
- isServerAlive(id) {
656
- const instance = this.servers.get(id);
657
- return !!(instance && instance.ready && instance.process && !instance.process.killed);
658
- }
659
405
  /** Shutdown all MCP servers */
660
406
  async shutdown() {
661
407
  for (const [id, instance] of this.servers) {
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/mcp/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/mcp/manager.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,8 @@ export interface ParsedMemoryExtraction {
24
24
  actionItems: ExtractedActionItem[];
25
25
  facts: ExtractedFact[];
26
26
  summary: string;
27
+ rollingSummary?: string;
28
+ segmentSummary?: string;
27
29
  }
28
30
  export declare function decisionQualityScore(title: string): number;
29
31
  export declare function actionQualityScore(title: string): number;
@@ -1 +1 @@
1
- {"version":3,"file":"memory-extraction.d.ts","sourceRoot":"","sources":["../src/memory-extraction.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAoFD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAS1D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CASxD;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,IAAI,CAchG;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,mBAAmB,GAAG,mBAAmB,GAAG,IAAI,CAalG;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,aAAa,GAAG,aAAa,GAAG,IAAI,CAcpF;AA0ED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,sBAAsB,GAAG,sBAAsB,CAwB/F"}
1
+ {"version":3,"file":"memory-extraction.d.ts","sourceRoot":"","sources":["../src/memory-extraction.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAoFD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAS1D;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CASxD;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,IAAI,CAchG;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,mBAAmB,GAAG,mBAAmB,GAAG,IAAI,CAalG;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,aAAa,GAAG,aAAa,GAAG,IAAI,CAcpF;AA0ED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,sBAAsB,GAAG,sBAAsB,CA0B/F"}
@@ -236,7 +236,9 @@ function sanitizeParsedExtraction(parsed) {
236
236
  title: cleanField(parsed.title) || null,
237
237
  topic: cleanField(parsed.topic) || null,
238
238
  project: cleanField(parsed.project) || null,
239
- summary: cleanField(parsed.summary),
239
+ summary: cleanField(parsed.summary || parsed.rollingSummary || ''),
240
+ rollingSummary: cleanField(parsed.rollingSummary || parsed.summary || ''),
241
+ segmentSummary: cleanField(parsed.segmentSummary || ''),
240
242
  };
241
243
  }
242
244
  //# sourceMappingURL=memory-extraction.js.map