@elliotding/ai-agent-mcp 0.1.9 → 0.1.11
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/ai-resource-telemetry.json +1 -1
- package/dist/git/multi-source-manager.d.ts.map +1 -1
- package/dist/git/multi-source-manager.js +43 -9
- package/dist/git/multi-source-manager.js.map +1 -1
- package/dist/prompts/manager.d.ts +11 -0
- package/dist/prompts/manager.d.ts.map +1 -1
- package/dist/prompts/manager.js +44 -2
- package/dist/prompts/manager.js.map +1 -1
- package/dist/tools/sync-resources.d.ts.map +1 -1
- package/dist/tools/sync-resources.js +90 -14
- package/dist/tools/sync-resources.js.map +1 -1
- package/package.json +1 -1
- package/src/git/multi-source-manager.ts +62 -13
- package/src/prompts/manager.ts +58 -2
- package/src/tools/sync-resources.ts +119 -14
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"client_version": "0.1.5",
|
|
3
3
|
"users": {
|
|
4
4
|
"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJDU1BfTUNQX0FVVEgiLCJpc3MiOiJjbGllbnQtc2VydmljZS1wbGF0Zm9ybSIsImlhdCI6MTc3MjA3NjIxNSwiZW1haWwiOiJlbGxpb3QuZGluZ0B6b29tLnVzIn0.xw7Np0MynXqhL4ay_vN1v5Ac332aga0tgybPQsC7WMc": {
|
|
5
|
-
"last_reported_at": "2026-03-
|
|
5
|
+
"last_reported_at": "2026-03-25T09:05:27.196Z",
|
|
6
6
|
"pending_events": [],
|
|
7
7
|
"subscribed_rules": [],
|
|
8
8
|
"configured_mcps": [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-source-manager.d.ts","sourceRoot":"","sources":["../../src/git/multi-source-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA8BH,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,CAAC;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,cAAM,qBAAqB;IACzB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,MAAM;IAK3B;;OAEG;YACW,UAAU;IASxB;;OAEG;YACW,iBAAiB;IAe/B;;OAEG;YACW,gBAAgB;IAU9B;;OAEG;YACW,UAAU;IAWxB;;OAEG;YACW,eAAe;IAwB7B;;;;;OAKG;YACW,cAAc;IA+C5B;;OAEG;YACW,UAAU;IAgExB;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAyC7C;;;;;;;;;;;OAWG;IACG,iBAAiB,CACrB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GACjD,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"multi-source-manager.d.ts","sourceRoot":"","sources":["../../src/git/multi-source-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA8BH,UAAU,UAAU;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,CAAC;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,cAAM,qBAAqB;IACzB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,MAAM;IAK3B;;OAEG;YACW,UAAU;IASxB;;OAEG;YACW,iBAAiB;IAe/B;;OAEG;YACW,gBAAgB;IAU9B;;OAEG;YACW,UAAU;IAWxB;;OAEG;YACW,eAAe;IAwB7B;;;;;OAKG;YACW,cAAc;IA+C5B;;OAEG;YACW,UAAU;IAgExB;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAyC7C;;;;;;;;;;;OAWG;IACG,iBAAiB,CACrB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GACjD,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAgHpD;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,KAAK,CAAC;QACrC,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;QACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;KACxB,CAAC,CAAC;CAuBJ;AAID,eAAO,MAAM,qBAAqB,uBAA+C,CAAC"}
|
|
@@ -291,12 +291,26 @@ class MultiSourceGitManager {
|
|
|
291
291
|
mcp: 'mcp',
|
|
292
292
|
};
|
|
293
293
|
const typeDir = typeToDirKey[resourceType] ?? 'skills';
|
|
294
|
+
logger_1.logger.info({
|
|
295
|
+
resourceName,
|
|
296
|
+
resourceType,
|
|
297
|
+
resolvedDirKey: typeDir,
|
|
298
|
+
sourceCount: sources.length,
|
|
299
|
+
sourceNames: sources.map((s) => s.name),
|
|
300
|
+
}, 'readResourceFiles: start — searching git sources for resource');
|
|
294
301
|
for (const source of sources) {
|
|
295
302
|
const sourcePath = path.join(this.baseDir, source.path);
|
|
296
303
|
const resourcesSubDir = source.resources[typeDir];
|
|
297
304
|
const resourceDir = path.join(sourcePath, resourcesSubDir, resourceName);
|
|
298
305
|
const resourceFile = path.join(sourcePath, resourcesSubDir, `${resourceName}.md`);
|
|
299
|
-
|
|
306
|
+
logger_1.logger.info({
|
|
307
|
+
source: source.name,
|
|
308
|
+
resourceName,
|
|
309
|
+
resourceType,
|
|
310
|
+
tryDirPath: resourceDir,
|
|
311
|
+
tryFilePath: resourceFile,
|
|
312
|
+
}, 'readResourceFiles: trying source');
|
|
313
|
+
// Try directory-based layout first (e.g. rules/<name>/ or mcp/<name>/)
|
|
300
314
|
try {
|
|
301
315
|
const stat = await fs.stat(resourceDir);
|
|
302
316
|
if (stat.isDirectory()) {
|
|
@@ -309,21 +323,41 @@ class MultiSourceGitManager {
|
|
|
309
323
|
const content = await fs.readFile(filePath, 'utf-8');
|
|
310
324
|
results.push({ path: f, content });
|
|
311
325
|
}
|
|
312
|
-
logger_1.logger.
|
|
326
|
+
logger_1.logger.info({
|
|
327
|
+
source: source.name,
|
|
328
|
+
resourceName,
|
|
329
|
+
resourceType,
|
|
330
|
+
dirPath: resourceDir,
|
|
331
|
+
fileCount: results.length,
|
|
332
|
+
files: results.map((r) => r.path),
|
|
333
|
+
}, 'readResourceFiles: found files in directory layout');
|
|
313
334
|
return results;
|
|
314
335
|
}
|
|
336
|
+
logger_1.logger.info({ source: source.name, resourceName, resourceType, dirPath: resourceDir }, 'readResourceFiles: directory exists but contains no .md/.mdc files — trying flat file');
|
|
315
337
|
}
|
|
316
338
|
}
|
|
317
339
|
catch { /* not a directory or doesn't exist — try flat file */ }
|
|
318
|
-
// Try flat file layout (e.g.
|
|
319
|
-
try
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
340
|
+
// Try flat file layout (e.g. rules/<name>.mdc or rules/<name>.md)
|
|
341
|
+
// Also try .mdc extension for rule resources.
|
|
342
|
+
const mdcFile = path.join(sourcePath, resourcesSubDir, `${resourceName}.mdc`);
|
|
343
|
+
for (const [filePath, ext] of [[resourceFile, '.md'], [mdcFile, '.mdc']]) {
|
|
344
|
+
try {
|
|
345
|
+
const content = await fs.readFile(filePath, 'utf-8');
|
|
346
|
+
logger_1.logger.info({
|
|
347
|
+
source: source.name,
|
|
348
|
+
resourceName,
|
|
349
|
+
resourceType,
|
|
350
|
+
filePath,
|
|
351
|
+
ext,
|
|
352
|
+
contentLength: content.length,
|
|
353
|
+
}, 'readResourceFiles: found flat file');
|
|
354
|
+
return [{ path: `${resourceName}${ext}`, content }];
|
|
355
|
+
}
|
|
356
|
+
catch { /* not found — try next extension or source */ }
|
|
323
357
|
}
|
|
324
|
-
|
|
358
|
+
logger_1.logger.info({ source: source.name, resourceName, resourceType }, 'readResourceFiles: resource not found in this source — trying next');
|
|
325
359
|
}
|
|
326
|
-
logger_1.logger.warn({ resourceName, resourceType }, 'readResourceFiles: resource not found in any git source');
|
|
360
|
+
logger_1.logger.warn({ resourceName, resourceType, resolvedDirKey: typeDir, sourceCount: sources.length }, 'readResourceFiles: resource not found in any git source');
|
|
327
361
|
return [];
|
|
328
362
|
}
|
|
329
363
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-source-manager.js","sourceRoot":"","sources":["../../src/git/multi-source-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"multi-source-manager.js","sourceRoot":"","sources":["../../src/git/multi-source-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -100,6 +100,17 @@ export declare class PromptManager {
|
|
|
100
100
|
has(promptName: string): boolean;
|
|
101
101
|
/** Return a snapshot of all registered prompt names. */
|
|
102
102
|
promptNames(): string[];
|
|
103
|
+
/**
|
|
104
|
+
* Remove any registered prompts whose names are NOT in the provided set of
|
|
105
|
+
* expected prompt names built from the current subscription list.
|
|
106
|
+
*
|
|
107
|
+
* Call this after every sync_resources run to prevent stale prompts from
|
|
108
|
+
* accumulating across reconnections or subscription changes.
|
|
109
|
+
*
|
|
110
|
+
* @param expectedNames Set of prompt names that SHOULD exist (e.g. built by
|
|
111
|
+
* calling buildPromptName() for each active subscription).
|
|
112
|
+
*/
|
|
113
|
+
pruneStalePrompts(expectedNames: Set<string>): void;
|
|
103
114
|
}
|
|
104
115
|
/** Singleton PromptManager shared across the server process. */
|
|
105
116
|
export declare const promptManager: PromptManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/prompts/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAMxE,MAAM,WAAW,kBAAkB;IACjC,+EAA+E;IAC/E,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,aAAa,EAAE,SAAS,GAAG,OAAO,CAAC;IACnC,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;CACpB;AAQD,qBAAa,aAAa;IACxB,sDAAsD;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;IAC/D;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;IAM1D;;;;;;;;OAQG;IACH,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,eAAe,GAAG,eAAe,CAAC,GAAG,MAAM;IAU1F;;;;;;;;;;OAUG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/prompts/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAMxE,MAAM,WAAW,kBAAkB;IACjC,+EAA+E;IAC/E,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,aAAa,EAAE,SAAS,GAAG,OAAO,CAAC;IACnC,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;CACpB;AAQD,qBAAa,aAAa;IACxB,sDAAsD;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;IAC/D;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;IAM1D;;;;;;;;OAQG;IACH,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,eAAe,GAAG,eAAe,CAAC,GAAG,MAAM;IAU1F;;;;;;;;;;OAUG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IA+LzD;;;;OAIG;IACH;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IAgBrB,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC7D;;;;;OAKG;IACH,gBAAgB,CACd,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,SAAS,GAAG,OAAO,EACjC,YAAY,EAAE,MAAM,GACnB,IAAI;IAOP;;;OAGG;IACG,aAAa,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5D;;;OAGG;IACG,iBAAiB,CAAC,SAAS,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBvE,yDAAyD;IACzD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,qEAAqE;IACrE,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAIhC,wDAAwD;IACxD,WAAW,IAAI,MAAM,EAAE;IAIvB;;;;;;;;;OASG;IACH,iBAAiB,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI;CA8BpD;AAED,gEAAgE;AAChE,eAAO,MAAM,aAAa,eAAsB,CAAC"}
|
package/dist/prompts/manager.js
CHANGED
|
@@ -91,7 +91,12 @@ class PromptManager {
|
|
|
91
91
|
arguments: [],
|
|
92
92
|
};
|
|
93
93
|
const prompts = [setupPrompt, ...resourcePrompts];
|
|
94
|
-
logger_js_1.logger.info({
|
|
94
|
+
logger_js_1.logger.info({
|
|
95
|
+
total: prompts.length,
|
|
96
|
+
setupPromptIncluded: true,
|
|
97
|
+
resourcePromptCount: resourcePrompts.length,
|
|
98
|
+
resourcePromptNames: resourcePrompts.map((p) => p.name),
|
|
99
|
+
}, 'ListPrompts called — csp-ai-agent-setup injected as first entry');
|
|
95
100
|
return { prompts };
|
|
96
101
|
});
|
|
97
102
|
// Serve the content of a specific prompt.
|
|
@@ -99,7 +104,11 @@ class PromptManager {
|
|
|
99
104
|
const { name, arguments: args } = request.params;
|
|
100
105
|
// ── Setup prompt: drives initial sync + local action execution ───────────
|
|
101
106
|
if (name === 'csp-ai-agent-setup') {
|
|
102
|
-
logger_js_1.logger.info({
|
|
107
|
+
logger_js_1.logger.info({
|
|
108
|
+
promptName: name,
|
|
109
|
+
userToken: userToken ? `${userToken.slice(0, 12)}...` : 'none',
|
|
110
|
+
registeredPromptCount: this.prompts.size,
|
|
111
|
+
}, 'GetPrompt: serving csp-ai-agent-setup — AI will sync resources and apply local actions');
|
|
103
112
|
const setupContent = `## CSP AI Agent — Initialisation\n\n` +
|
|
104
113
|
`**[MANDATORY — Execute immediately, do not skip any step]**\n\n` +
|
|
105
114
|
`You MUST perform the following steps in order right now:\n\n` +
|
|
@@ -303,6 +312,39 @@ class PromptManager {
|
|
|
303
312
|
promptNames() {
|
|
304
313
|
return Array.from(this.prompts.keys());
|
|
305
314
|
}
|
|
315
|
+
/**
|
|
316
|
+
* Remove any registered prompts whose names are NOT in the provided set of
|
|
317
|
+
* expected prompt names built from the current subscription list.
|
|
318
|
+
*
|
|
319
|
+
* Call this after every sync_resources run to prevent stale prompts from
|
|
320
|
+
* accumulating across reconnections or subscription changes.
|
|
321
|
+
*
|
|
322
|
+
* @param expectedNames Set of prompt names that SHOULD exist (e.g. built by
|
|
323
|
+
* calling buildPromptName() for each active subscription).
|
|
324
|
+
*/
|
|
325
|
+
pruneStalePrompts(expectedNames) {
|
|
326
|
+
const before = this.prompts.size;
|
|
327
|
+
const pruned = [];
|
|
328
|
+
for (const [name, prompt] of this.prompts.entries()) {
|
|
329
|
+
if (!expectedNames.has(name)) {
|
|
330
|
+
this.prompts.delete(name);
|
|
331
|
+
cache_js_1.promptCache.delete(prompt.meta.resource_type, prompt.meta.resource_id);
|
|
332
|
+
pruned.push(name);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
if (pruned.length > 0) {
|
|
336
|
+
logger_js_1.logger.info({
|
|
337
|
+
prunedCount: pruned.length,
|
|
338
|
+
prunedNames: pruned,
|
|
339
|
+
before,
|
|
340
|
+
after: this.prompts.size,
|
|
341
|
+
expectedCount: expectedNames.size,
|
|
342
|
+
}, 'PromptManager: pruned stale prompts not in current subscription list');
|
|
343
|
+
}
|
|
344
|
+
else {
|
|
345
|
+
logger_js_1.logger.info({ promptCount: this.prompts.size, expectedCount: expectedNames.size }, 'PromptManager: no stale prompts to prune');
|
|
346
|
+
}
|
|
347
|
+
}
|
|
306
348
|
}
|
|
307
349
|
exports.PromptManager = PromptManager;
|
|
308
350
|
/** Singleton PromptManager shared across the server process. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/prompts/manager.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,iEAG4C;AAE5C,yCAAyC;AACzC,iDAAiE;AACjE,kDAA4C;AAC5C,oDAAkD;AAuBlD,MAAa,aAAa;IACxB,sDAAsD;IACrC,OAAO,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC/D;;;;;OAKG;IACc,gBAAgB,GAAG,IAAI,OAAO,EAAU,CAAC;IAE1D,8EAA8E;IAC9E,sBAAsB;IACtB,8EAA8E;IAE9E;;;;;;;;OAQG;IACH,eAAe,CAAC,IAAiE;QAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;QACpE,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACnE,OAAO,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,8EAA8E;IAC9E,kDAAkD;IAClD,8EAA8E;IAE9E;;;;;;;;;;OAUG;IACH,eAAe,CAAC,MAAc,EAAE,SAAkB;QAChD,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO;QAC9C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAElC,+BAA+B;QAC/B,yEAAyE;QACzE,6EAA6E;QAC7E,uEAAuE;QACvE,MAAM,CAAC,iBAAiB,CAAC,mCAAwB,EAAE,GAAG,EAAE;YACtD,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;gBACxF,IAAI;gBACJ,WAAW;gBACX,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,gEAAgE;wBAC7E,QAAQ,EAAE,KAAK;qBAChB;iBACF;aACF,CAAC,CAAC,CAAC;YAEJ,MAAM,WAAW,GAAG;gBAClB,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EACT,4EAA4E;oBAC5E,yFAAyF;gBAC3F,SAAS,EAAE,EAAE;aACd,CAAC;YAEF,MAAM,OAAO,GAAG,CAAC,WAAW,EAAE,GAAG,eAAe,CAAC,CAAC;YAClD,kBAAM,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/prompts/manager.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,iEAG4C;AAE5C,yCAAyC;AACzC,iDAAiE;AACjE,kDAA4C;AAC5C,oDAAkD;AAuBlD,MAAa,aAAa;IACxB,sDAAsD;IACrC,OAAO,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC/D;;;;;OAKG;IACc,gBAAgB,GAAG,IAAI,OAAO,EAAU,CAAC;IAE1D,8EAA8E;IAC9E,sBAAsB;IACtB,8EAA8E;IAE9E;;;;;;;;OAQG;IACH,eAAe,CAAC,IAAiE;QAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;QACpE,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACnE,OAAO,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,8EAA8E;IAC9E,kDAAkD;IAClD,8EAA8E;IAE9E;;;;;;;;;;OAUG;IACH,eAAe,CAAC,MAAc,EAAE,SAAkB;QAChD,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO;QAC9C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAElC,+BAA+B;QAC/B,yEAAyE;QACzE,6EAA6E;QAC7E,uEAAuE;QACvE,MAAM,CAAC,iBAAiB,CAAC,mCAAwB,EAAE,GAAG,EAAE;YACtD,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;gBACxF,IAAI;gBACJ,WAAW;gBACX,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,gEAAgE;wBAC7E,QAAQ,EAAE,KAAK;qBAChB;iBACF;aACF,CAAC,CAAC,CAAC;YAEJ,MAAM,WAAW,GAAG;gBAClB,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EACT,4EAA4E;oBAC5E,yFAAyF;gBAC3F,SAAS,EAAE,EAAE;aACd,CAAC;YAEF,MAAM,OAAO,GAAG,CAAC,WAAW,EAAE,GAAG,eAAe,CAAC,CAAC;YAClD,kBAAM,CAAC,IAAI,CACT;gBACE,KAAK,EAAE,OAAO,CAAC,MAAM;gBACrB,mBAAmB,EAAE,IAAI;gBACzB,mBAAmB,EAAE,eAAe,CAAC,MAAM;gBAC3C,mBAAmB,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aACxD,EACD,iEAAiE,CAClE,CAAC;YACF,OAAO,EAAE,OAAO,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,0CAA0C;QAC1C,MAAM,CAAC,iBAAiB,CAAC,iCAAsB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACjE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAEjD,4EAA4E;YAC5E,IAAI,IAAI,KAAK,oBAAoB,EAAE,CAAC;gBAClC,kBAAM,CAAC,IAAI,CACT;oBACE,UAAU,EAAE,IAAI;oBAChB,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;oBAC9D,qBAAqB,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;iBACzC,EACD,wFAAwF,CACzF,CAAC;gBACF,MAAM,YAAY,GAChB,sCAAsC;oBACtC,iEAAiE;oBACjE,8DAA8D;oBAC9D,kCAAkC;oBAClC,0CAA0C;oBAC1C,iCAAiC;oBACjC,+BAA+B;oBAC/B,oCAAoC;oBACpC,gFAAgF;oBAChF,sEAAsE;oBACtE,0FAA0F;oBAC1F,8FAA8F;oBAC9F,6EAA6E;oBAC7E,gGAAgG;oBAChG,6DAA6D;oBAC7D,mEAAmE;oBACnE,mGAAmG;oBACnG,gEAAgE;oBAChE,6FAA6F;oBAC7F,uBAAuB;oBACvB,sDAAsD;oBACtD,oCAAoC;oBACpC,yDAAyD;oBACzD,8CAA8C;oBAC9C,4EAA4E,CAAC;gBAE/E,OAAO;oBACL,WAAW,EAAE,sEAAsE;oBACnF,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,MAAe;4BACrB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,YAAY,EAAE;yBACvD;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAE1C,kBAAM,CAAC,IAAI,CACT;gBACE,aAAa,EAAE,IAAI;gBACnB,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAChD,KAAK,EAAE,CAAC,CAAC,UAAU;aACpB,EACD,4BAA4B,CAC7B,CAAC;YAEF,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,kBAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,wCAAwC,CAAC,CAAC;gBAC5E,OAAO;oBACL,WAAW,EAAE,IAAI;oBACjB,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,MAAe;4BACrB,OAAO,EAAE;gCACP,IAAI,EAAE,MAAe;gCACrB,IAAI,EAAE,WAAW,IAAI,2DAA2D;6BACjF;yBACF;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;YAC5B,MAAM,MAAM,GACV,OAAO,IAAI,EAAE,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE;gBAC7D,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;gBACrB,CAAC,CAAC,SAAS,CAAC;YAEhB,sEAAsE;YACtE,yEAAyE;YACzE,MAAM,cAAc,GAAG,SAAS,IAAI,EAAE,CAAC;YACvC,IAAI,cAAc,EAAE,CAAC;gBACnB,oBAAS;qBACN,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,MAAM,CAAC;qBAClG,KAAK,CAAC,GAAG,EAAE,GAAsB,CAAC,CAAC,CAAC;YACzC,CAAC;YAED,gEAAgE;YAChE,mEAAmE;YACnE,wEAAwE;YACxE,IAAI,OAAO,GAAG,sBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACrE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,kBAAM,CAAC,KAAK,CACV,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,EAChC,mDAAmD,CACpD,CAAC;gBACF,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,sBAAW,CAAC,SAAS,CAAC;oBACtC,MAAM,WAAW,GAAG,MAAM,IAAA,8CAA+B,EAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;oBACpF,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;oBACvD,sBAAW,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBACnE,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,kBAAM,CAAC,KAAK,CACV,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,EAC/D,mCAAmC,CACpC,CAAC;oBACF,uEAAuE;oBACvE,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;gBAC7D,CAAC;YACH,CAAC;YAED,kBAAM,CAAC,IAAI,CACT;gBACE,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,IAAI,CAAC,WAAW;gBAC5B,aAAa,EAAE,OAAO,CAAC,MAAM;gBAC7B,cAAc,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;aACtC,EACD,2BAA2B,CAC5B,CAAC;YAEF,OAAO;gBACL,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,QAAQ,EAAE;oBACR;wBACE,+DAA+D;wBAC/D,4DAA4D;wBAC5D,iDAAiD;wBACjD,IAAI,EAAE,MAAe;wBACrB,OAAO,EAAE,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,OAAO,EAAE;qBAClD;iBACF;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,kBAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAC5D,CAAC;IAED,8EAA8E;IAC9E,8BAA8B;IAC9B,8EAA8E;IAE9E;;;;OAIG;IACH;;;;;;;OAOG;IACK,mBAAmB,CAAC,IAAwB;QAClD,OAAO,CACL,gDAAgD;YAChD,mFAAmF;YACnF,4EAA4E;YAC5E,wDAAwD;YACxD,6BAA6B,IAAI,CAAC,WAAW,OAAO;YACpD,+BAA+B,IAAI,CAAC,aAAa,OAAO;YACxD,+BAA+B,IAAI,CAAC,aAAa,OAAO;YACxD,wEAAwE;YACxE,yGAAyG;YACzG,mEAAmE;YACnE,oDAAoD,CACrD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAwB;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAExC,kDAAkD;QAClD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,sBAAW,CAAC,SAAS,CAAC;YACtC,sBAAW,CAAC,SAAS,EAAE,CAAC;YACxB,MAAM,WAAW,GAAG,MAAM,IAAA,8CAA+B,EACvD,IAAI,CAAC,UAAU,EACf,OAAO,CACR,CAAC;YACF,qEAAqE;YACrE,uEAAuE;YACvE,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;YAC7D,sBAAW,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,kBAAM,CAAC,IAAI,CACT,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,EAC/D,oFAAoF,CACrF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE;YACrB,IAAI;YACJ,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI;SACL,CAAC,CAAC;QAEH,kBAAM,CAAC,IAAI,CACT,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,EAClD,mBAAmB,CACpB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CACd,UAAkB,EAClB,YAAiC,EACjC,YAAoB;QAEpB,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC,CAAC;QAChG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1B,sBAAW,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAC7C,kBAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,qBAAqB,CAAC,CAAC;IACvE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,IAAwB;QAC1C,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAC,SAA+B;QACrD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CACnD,CAAC;QAEF,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;QAChE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,kBAAM,CAAC,IAAI,CACT,EAAE,YAAY,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,EAC1D,qDAAqD,CACtD,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,kBAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,EAAE,oCAAoC,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,qEAAqE;IACrE,GAAG,CAAC,UAAkB;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,wDAAwD;IACxD,WAAW;QACT,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;;;;OASG;IACH,iBAAiB,CAAC,aAA0B;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QACjC,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACpD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC1B,sBAAW,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACvE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,kBAAM,CAAC,IAAI,CACT;gBACE,WAAW,EAAE,MAAM,CAAC,MAAM;gBAC1B,WAAW,EAAE,MAAM;gBACnB,MAAM;gBACN,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBACxB,aAAa,EAAE,aAAa,CAAC,IAAI;aAClC,EACD,sEAAsE,CACvE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,kBAAM,CAAC,IAAI,CACT,EAAE,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,aAAa,CAAC,IAAI,EAAE,EACrE,0CAA0C,CAC3C,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AA/YD,sCA+YC;AAED,gEAAgE;AACnD,QAAA,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-resources.d.ts","sourceRoot":"","sources":["../../src/tools/sync-resources.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAaH,OAAO,KAAK,EAEV,mBAAmB,EAEnB,UAAU,EACX,MAAM,gBAAgB,CAAC;AAsBxB,wBAAsB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"sync-resources.d.ts","sourceRoot":"","sources":["../../src/tools/sync-resources.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAaH,OAAO,KAAK,EAEV,mBAAmB,EAEnB,UAAU,EACX,MAAM,gBAAgB,CAAC;AAsBxB,wBAAsB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CA2jB7F;AAGD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwC7B,CAAC"}
|
|
@@ -137,6 +137,10 @@ async function syncResources(params) {
|
|
|
137
137
|
const details = [];
|
|
138
138
|
// Accumulated local file-system actions the AI must perform on the user's machine.
|
|
139
139
|
const localActions = [];
|
|
140
|
+
// Track which prompt names are expected from the current subscription list.
|
|
141
|
+
// After the loop, any prompt registered in PromptManager but NOT in this set
|
|
142
|
+
// is stale (from a previous connection / subscription change) and will be pruned.
|
|
143
|
+
const expectedPromptNames = new Set();
|
|
140
144
|
for (let i = 0; i < subscriptions.subscriptions.length; i++) {
|
|
141
145
|
const sub = subscriptions.subscriptions[i];
|
|
142
146
|
if (!sub)
|
|
@@ -221,14 +225,17 @@ async function syncResources(params) {
|
|
|
221
225
|
const description = frontmatterDesc ??
|
|
222
226
|
sub.description ??
|
|
223
227
|
sub.name;
|
|
224
|
-
|
|
228
|
+
const meta = {
|
|
225
229
|
resource_id: sub.id,
|
|
226
230
|
resource_type: sub.type,
|
|
227
231
|
resource_name: sub.name,
|
|
228
232
|
team: sub.team ?? 'general',
|
|
229
233
|
description,
|
|
230
234
|
rawContent,
|
|
231
|
-
}
|
|
235
|
+
};
|
|
236
|
+
await index_js_2.promptManager.registerPrompt(meta);
|
|
237
|
+
// Track this prompt name so stale prompts can be pruned after the loop.
|
|
238
|
+
expectedPromptNames.add(index_js_2.promptManager.buildPromptName(meta));
|
|
232
239
|
// Clean up any legacy local files that may have been written by an
|
|
233
240
|
// older version of sync_resources. Command/Skill resources are now
|
|
234
241
|
// served exclusively as MCP Prompts; stale local files would cause
|
|
@@ -272,17 +279,25 @@ async function syncResources(params) {
|
|
|
272
279
|
// reading the files directly from the local git checkout.
|
|
273
280
|
let resourceFiles = downloadResult.files;
|
|
274
281
|
if (resourceFiles.length === 0) {
|
|
282
|
+
logger_1.logger.info({ resourceId: sub.id, resourceName: sub.name, type: sub.type }, 'sync_resources: API returned no files — triggering git-checkout fallback');
|
|
275
283
|
const gitType = sub.type;
|
|
276
284
|
const gitFiles = await multi_source_manager_1.multiSourceGitManager.readResourceFiles(sub.name, gitType);
|
|
277
285
|
if (gitFiles.length > 0) {
|
|
278
286
|
resourceFiles = gitFiles;
|
|
287
|
+
logger_1.logger.info({
|
|
288
|
+
resourceId: sub.id,
|
|
289
|
+
resourceName: sub.name,
|
|
290
|
+
type: sub.type,
|
|
291
|
+
fileCount: resourceFiles.length,
|
|
292
|
+
files: resourceFiles.map((f) => f.path),
|
|
293
|
+
}, 'sync_resources: git-checkout fallback succeeded');
|
|
279
294
|
(0, logger_1.logToolStep)('sync_resources', 'Loaded resource files from local git checkout', {
|
|
280
295
|
resourceId: sub.id,
|
|
281
296
|
fileCount: resourceFiles.length,
|
|
282
297
|
});
|
|
283
298
|
}
|
|
284
299
|
else {
|
|
285
|
-
logger_1.logger.warn({ resourceId: sub.id, resourceName: sub.name, type: sub.type }, '
|
|
300
|
+
logger_1.logger.warn({ resourceId: sub.id, resourceName: sub.name, type: sub.type }, 'sync_resources: git-checkout fallback found no files — marking resource failed');
|
|
286
301
|
tally.failed++;
|
|
287
302
|
details.push({ id: sub.id, name: sub.name, action: 'failed', version: resourceVersion });
|
|
288
303
|
continue;
|
|
@@ -299,42 +314,63 @@ async function syncResources(params) {
|
|
|
299
314
|
const mcpConfigFile = resourceFiles.find((f) => path.basename(f.path) === 'mcp-config.json');
|
|
300
315
|
// ~/.cursor/mcp.json on the user's machine
|
|
301
316
|
const mcpJsonPath = `${(0, cursor_paths_1.getCursorRootDirForClient)()}/mcp.json`;
|
|
317
|
+
logger_1.logger.info({
|
|
318
|
+
resourceId: sub.id,
|
|
319
|
+
resourceName: sub.name,
|
|
320
|
+
mcpJsonPath,
|
|
321
|
+
hasMcpConfigFile: !!mcpConfigFile,
|
|
322
|
+
availableFiles: resourceFiles.map((f) => f.path),
|
|
323
|
+
}, 'sync_resources: processing MCP resource');
|
|
302
324
|
if (mcpConfigFile) {
|
|
303
325
|
let cfg = {};
|
|
304
326
|
try {
|
|
305
327
|
cfg = JSON.parse(mcpConfigFile.content);
|
|
306
328
|
}
|
|
307
|
-
catch {
|
|
329
|
+
catch {
|
|
330
|
+
logger_1.logger.warn({ resourceId: sub.id, resourceName: sub.name }, 'sync_resources: failed to parse mcp-config.json — treating as empty config');
|
|
331
|
+
}
|
|
308
332
|
if (typeof cfg['command'] === 'string') {
|
|
309
333
|
// ── Format A: local executable ──────────────────────────────────
|
|
310
|
-
// Queue write_file for each resource file + merge_mcp_json for entry.
|
|
311
334
|
const installDir = `${(0, cursor_paths_1.getCursorTypeDirForClient)('mcp')}/${sub.name}`;
|
|
335
|
+
const writeActions = [];
|
|
312
336
|
for (const file of resourceFiles) {
|
|
313
337
|
const normalised = path.normalize(file.path);
|
|
314
338
|
if (normalised.startsWith('..'))
|
|
315
339
|
continue;
|
|
316
|
-
|
|
340
|
+
const fileDest = `${installDir}/${normalised}`;
|
|
341
|
+
localActions.push({ action: 'write_file', path: fileDest, content: file.content });
|
|
342
|
+
writeActions.push(fileDest);
|
|
317
343
|
}
|
|
318
344
|
const env = (cfg['env'] ?? {});
|
|
319
345
|
const missingEnv = Object.entries(env).filter(([, v]) => v === '').map(([k]) => k);
|
|
320
|
-
// Resolve relative args to the install directory (client-side path).
|
|
321
346
|
const looksLikePath = (a) => a.startsWith('./') || a.startsWith('../') || a.includes('/') || /\.\w+$/.test(a);
|
|
322
347
|
const args = (cfg['args'] ?? []).map((a) => path.isAbsolute(a) || !looksLikePath(a) ? a : `${installDir}/${a.replace(/^\.\//, '')}`);
|
|
348
|
+
const serverName = cfg['name'] ?? sub.name;
|
|
323
349
|
localActions.push({
|
|
324
350
|
action: 'merge_mcp_json',
|
|
325
351
|
mcp_json_path: mcpJsonPath,
|
|
326
|
-
server_name:
|
|
352
|
+
server_name: serverName,
|
|
327
353
|
entry: { ...cfg, args },
|
|
328
354
|
...(missingEnv.length > 0 ? {
|
|
329
355
|
missing_env: missingEnv,
|
|
330
356
|
setup_hint: `Fill in env vars in ${mcpJsonPath} under mcpServers["${sub.name}"]: ${missingEnv.join(', ')}.`,
|
|
331
357
|
} : {}),
|
|
332
358
|
});
|
|
359
|
+
logger_1.logger.info({
|
|
360
|
+
resourceId: sub.id,
|
|
361
|
+
resourceName: sub.name,
|
|
362
|
+
format: 'A',
|
|
363
|
+
installDir,
|
|
364
|
+
mcpJsonPath,
|
|
365
|
+
serverName,
|
|
366
|
+
writeFiles: writeActions,
|
|
367
|
+
missingEnv,
|
|
368
|
+
}, 'sync_resources: MCP Format A — write_file + merge_mcp_json actions queued');
|
|
333
369
|
(0, logger_1.logToolStep)('sync_resources', 'Local-executable MCP: write_file + merge_mcp_json queued', { resourceId: sub.id });
|
|
334
370
|
}
|
|
335
371
|
else {
|
|
336
372
|
// ── Format B: remote URL map ────────────────────────────────────
|
|
337
|
-
|
|
373
|
+
const queuedServers = [];
|
|
338
374
|
for (const [serverName, entry] of Object.entries(cfg)) {
|
|
339
375
|
const e = entry;
|
|
340
376
|
const env = (e['env'] ?? {});
|
|
@@ -349,31 +385,53 @@ async function syncResources(params) {
|
|
|
349
385
|
setup_hint: `Fill in env vars in ${mcpJsonPath} under mcpServers["${serverName}"]: ${missingEnv.join(', ')}.`,
|
|
350
386
|
} : {}),
|
|
351
387
|
});
|
|
388
|
+
queuedServers.push(serverName);
|
|
352
389
|
}
|
|
390
|
+
logger_1.logger.info({
|
|
391
|
+
resourceId: sub.id,
|
|
392
|
+
resourceName: sub.name,
|
|
393
|
+
format: 'B',
|
|
394
|
+
mcpJsonPath,
|
|
395
|
+
serverKeys: queuedServers,
|
|
396
|
+
}, 'sync_resources: MCP Format B — merge_mcp_json actions queued');
|
|
353
397
|
(0, logger_1.logToolStep)('sync_resources', 'Remote-URL MCP: merge_mcp_json queued', {
|
|
354
398
|
resourceId: sub.id, serverKeys: Object.keys(cfg),
|
|
355
399
|
});
|
|
356
400
|
}
|
|
357
401
|
}
|
|
358
402
|
else {
|
|
359
|
-
// No mcp-config.json: heuristic fallback
|
|
403
|
+
// No mcp-config.json: heuristic fallback
|
|
360
404
|
const installDir = `${(0, cursor_paths_1.getCursorTypeDirForClient)('mcp')}/${sub.name}`;
|
|
405
|
+
const writeActions = [];
|
|
361
406
|
for (const file of resourceFiles) {
|
|
362
407
|
const normalised = path.normalize(file.path);
|
|
363
408
|
if (normalised.startsWith('..'))
|
|
364
409
|
continue;
|
|
365
|
-
|
|
410
|
+
const fileDest = `${installDir}/${normalised}`;
|
|
411
|
+
localActions.push({ action: 'write_file', path: fileDest, content: file.content });
|
|
412
|
+
writeActions.push(fileDest);
|
|
366
413
|
}
|
|
367
414
|
const jsEntry = resourceFiles.find((f) => f.path.endsWith('.js'));
|
|
368
415
|
const pyEntry = resourceFiles.find((f) => f.path.endsWith('.py'));
|
|
369
416
|
const entryFile = jsEntry ?? pyEntry ?? resourceFiles[0];
|
|
370
417
|
const cmd = jsEntry ? 'node' : 'python3';
|
|
418
|
+
const entryPath = `${installDir}/${entryFile?.path ?? ''}`;
|
|
371
419
|
localActions.push({
|
|
372
420
|
action: 'merge_mcp_json',
|
|
373
421
|
mcp_json_path: mcpJsonPath,
|
|
374
422
|
server_name: sub.name,
|
|
375
|
-
entry: { command: cmd, args: [
|
|
423
|
+
entry: { command: cmd, args: [entryPath] },
|
|
376
424
|
});
|
|
425
|
+
logger_1.logger.info({
|
|
426
|
+
resourceId: sub.id,
|
|
427
|
+
resourceName: sub.name,
|
|
428
|
+
format: 'heuristic',
|
|
429
|
+
installDir,
|
|
430
|
+
mcpJsonPath,
|
|
431
|
+
cmd,
|
|
432
|
+
entryPath,
|
|
433
|
+
writeFiles: writeActions,
|
|
434
|
+
}, 'sync_resources: MCP heuristic fallback — write_file + merge_mcp_json actions queued');
|
|
377
435
|
(0, logger_1.logToolStep)('sync_resources', 'MCP heuristic fallback: write_file + merge_mcp_json queued', { resourceId: sub.id });
|
|
378
436
|
}
|
|
379
437
|
tally.synced++;
|
|
@@ -385,18 +443,28 @@ async function syncResources(params) {
|
|
|
385
443
|
// Use client-side path so the path resolves on the user's machine.
|
|
386
444
|
if (sub.type === 'rule') {
|
|
387
445
|
const typeDir = (0, cursor_paths_1.getCursorTypeDirForClient)(sub.type);
|
|
446
|
+
const writeActions = [];
|
|
388
447
|
for (const file of resourceFiles) {
|
|
389
448
|
const normalised = path.normalize(file.path);
|
|
390
449
|
if (normalised.startsWith('..')) {
|
|
391
450
|
logger_1.logger.warn({ resourceId: sub.id, filePath: file.path }, 'Skipping suspicious file path');
|
|
392
451
|
continue;
|
|
393
452
|
}
|
|
453
|
+
const destPath = `${typeDir}/${normalised}`;
|
|
394
454
|
localActions.push({
|
|
395
455
|
action: 'write_file',
|
|
396
|
-
path:
|
|
456
|
+
path: destPath,
|
|
397
457
|
content: file.content,
|
|
398
458
|
});
|
|
459
|
+
writeActions.push(destPath);
|
|
399
460
|
}
|
|
461
|
+
logger_1.logger.info({
|
|
462
|
+
resourceId: sub.id,
|
|
463
|
+
resourceName: sub.name,
|
|
464
|
+
typeDir,
|
|
465
|
+
fileCount: writeActions.length,
|
|
466
|
+
destPaths: writeActions,
|
|
467
|
+
}, 'sync_resources: Rule — write_file actions queued for AI');
|
|
400
468
|
tally.synced++;
|
|
401
469
|
details.push({ id: sub.id, name: sub.name, action: 'synced', version: resourceVersion });
|
|
402
470
|
(0, logger_1.logToolStep)('sync_resources', 'Rule: write_file actions queued for AI', {
|
|
@@ -420,7 +488,15 @@ async function syncResources(params) {
|
|
|
420
488
|
details.push({ id: sub.id, name: sub.name, action: 'failed', version: sub.resource?.version ?? 'unknown' });
|
|
421
489
|
}
|
|
422
490
|
}
|
|
423
|
-
// ── Step 4:
|
|
491
|
+
// ── Step 4: Prune stale prompts ────────────────────────────────────────
|
|
492
|
+
// Remove any prompt registered in a previous session that is no longer in
|
|
493
|
+
// the current subscription list. This prevents prompt count from growing
|
|
494
|
+
// unboundedly across reconnections.
|
|
495
|
+
// In 'check' mode we skip pruning — we never registered any prompts above.
|
|
496
|
+
if (mode !== 'check') {
|
|
497
|
+
index_js_2.promptManager.pruneStalePrompts(expectedPromptNames);
|
|
498
|
+
}
|
|
499
|
+
// ── Step 5: Health score ───────────────────────────────────────────────
|
|
424
500
|
const healthScore = tally.total > 0
|
|
425
501
|
? Math.round(((tally.synced + tally.cached) / tally.total) * 100)
|
|
426
502
|
: 100;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-resources.js","sourceRoot":"","sources":["../../src/tools/sync-resources.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCH,sCAkdC;AAxfD,gDAAkC;AAClC,2CAA6B;AAC7B,4CAAkF;AAClF,0CAA0C;AAC1C,sEAAoE;AACpE,wDAI+B;AAC/B,4CAAiD;AAOjD,oDAAkD;AAClD,kDAAoD;AAEpD;;;;GAIG;AACH,SAAS,6BAA6B,CAAC,OAAe;IACpD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACjD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACxC,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACjC,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACxD,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAGM,KAAK,UAAU,aAAa,CAAC,MAAe;IACjD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,MAAM,WAAW,GAAG,MAA6B,CAAC;IAElD,eAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,EAAE,6BAA6B,CAAC,CAAC;IAElC,IAAA,oBAAW,EAAC,gBAAgB,EAAE,yBAAyB,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IAElF,IAAI,CAAC;QACH,MAAM,IAAI,GAAQ,WAAW,CAAC,IAAI,IAAK,aAAa,CAAC;QACrD,MAAM,KAAK,GAAO,WAAW,CAAC,KAAK,IAAI,QAAQ,CAAC;QAChD,MAAM,KAAK,GAAO,WAAW,CAAC,KAAK,CAAC;QACpC,MAAM,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC;QAEzC,IAAA,oBAAW,EAAC,gBAAgB,EAAE,sBAAsB,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAE9E,0EAA0E;QAC1E,IAAA,oBAAW,EAAC,gBAAgB,EAAE,yCAAyC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3F,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEtB,MAAM,aAAa,GAAG,MAAM,kBAAS,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,EAAE,SAAS,CAAC,CAAC;QAE7E,IAAA,oBAAW,EAAC,gBAAgB,EAAE,uBAAuB,EAAE;YACrD,KAAK,EAAE,aAAa,CAAC,KAAK;YAC1B,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;YACzB,GAAG,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAC,CAAC;QAEH,0EAA0E;QAC1E,IAAA,oBAAW,EAAC,gBAAgB,EAAE,8BAA8B,CAAC,CAAC;QAE9D,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,MAAM,4CAAqB,CAAC,eAAe,EAAE,CAAC;YAC/D,IAAA,oBAAW,EAAC,gBAAgB,EAAE,mCAAmC,EAAE;gBACjE,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;aAC3F,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,MAAM,UAAU,GAAG,MAAM,4CAAqB,CAAC,cAAc,EAAE,CAAC;YAChE,IAAA,oBAAW,EAAC,gBAAgB,EAAE,gCAAgC,EAAE;gBAC9D,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;gBACzB,OAAO,EAAE;oBACP,MAAM,EAAK,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM;oBAC/D,MAAM,EAAK,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM;oBAC/D,QAAQ,EAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,MAAM;oBACnE,OAAO,EAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM;iBACjE;aACF,CAAC,CAAC;QACL,CAAC;QAED,0EAA0E;QAC1E,4EAA4E;QAC5E,0EAA0E;QAC1E,4EAA4E;QAC5E,4EAA4E;QAC5E,IAAA,oBAAW,EAAC,gBAAgB,EAAE,yCAAyC,EAAE;YACvE,KAAK,EAAE,aAAa,CAAC,KAAK;SAC3B,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAE9E,MAAM,OAAO,GAKR,EAAE,CAAC;QAER,mFAAmF;QACnF,MAAM,YAAY,GAAkB,EAAE,CAAC;QAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5D,MAAM,GAAG,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,GAAG;gBAAE,SAAS;YAEnB,oFAAoF;YACpF,MAAM,eAAe,GAAG,GAAG,CAAC,QAAQ,EAAE,OAAO,IAAI,SAAS,CAAC;YAE3D,IAAA,oBAAW,EAAC,gBAAgB,EAAE,cAAc,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE;gBAClE,UAAU,EAAE,GAAG,CAAC,EAAE;gBAClB,YAAY,EAAE,GAAG,CAAC,IAAI;gBACtB,YAAY,EAAE,GAAG,CAAC,IAAI;aACvB,CAAC,CAAC;YAEH,IAAI,CAAC;gBACH,4DAA4D;gBAC5D,qEAAqE;gBACrE,MAAM,QAAQ,GAAG,IAAA,oCAAqB,EAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBAE3D,0EAA0E;gBAC1E,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;oBACrB,IAAI,CAAC;wBACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;wBAC1B,KAAK,CAAC,MAAM,EAAE,CAAC;wBACf,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;wBACzF,IAAA,oBAAW,EAAC,gBAAgB,EAAE,uCAAuC,EAAE;4BACrE,UAAU,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ;yBAC7B,CAAC,CAAC;oBACL,CAAC;oBAAC,MAAM,CAAC;wBACP,KAAK,CAAC,MAAM,EAAE,CAAC;wBACf,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;wBACzF,IAAA,oBAAW,EAAC,gBAAgB,EAAE,+BAA+B,EAAE;4BAC7D,UAAU,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ;yBAC7B,CAAC,CAAC;oBACL,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,uEAAuE;gBACvE,2EAA2E;gBAC3E,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACnD,IAAA,oBAAW,EAAC,gBAAgB,EAAE,eAAe,GAAG,CAAC,IAAI,gBAAgB,EAAE;wBACrE,UAAU,EAAE,GAAG,CAAC,EAAE;wBAClB,YAAY,EAAE,GAAG,CAAC,IAAI;qBACvB,CAAC,CAAC;oBACH,IAAI,CAAC;wBACH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBACvB,MAAM,cAAc,GAAG,MAAM,kBAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;wBAC3E,IAAA,oBAAW,EAAC,gBAAgB,EAAE,iCAAiC,EAAE;4BAC/D,UAAU,EAAE,GAAG,CAAC,EAAE;4BAClB,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM;4BACtC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG;yBAC3B,CAAC,CAAC;wBAEH,0EAA0E;wBAC1E,4EAA4E;wBAC5E,6DAA6D;wBAC7D,IAAI,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC;wBACvC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BAC7B,WAAW,GAAG,MAAM,4CAAqB,CAAC,iBAAiB,CACzD,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,IAA2B,CAChC,CAAC;4BACF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCAC3B,IAAA,oBAAW,EAAC,gBAAgB,EAAE,+CAA+C,EAAE;oCAC7E,UAAU,EAAE,GAAG,CAAC,EAAE;oCAClB,SAAS,EAAE,WAAW,CAAC,MAAM;iCAC9B,CAAC,CAAC;4BACL,CAAC;iCAAM,CAAC;gCACN,eAAM,CAAC,IAAI,CACT,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,CAAC,IAAI,EAAE,EAC9C,sEAAsE,CACvE,CAAC;4BACJ,CAAC;wBACH,CAAC;wBAED,sCAAsC;wBACtC,0EAA0E;wBAC1E,oEAAoE;wBACpE,4DAA4D;wBAC5D,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC;wBACrC,MAAM,WAAW,GAAG,OAAO;4BACzB,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC;gCAC7D,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gCAC/C,WAAW,CAAC,CAAC,CAAC,CAAC;4BAClB,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC;gCAChF,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gCAC/C,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;wBAErB,MAAM,UAAU,GAAG,WAAW,EAAE,OAAO,IAAI,EAAE,CAAC;wBAE9C,oEAAoE;wBACpE,yEAAyE;wBACzE,MAAM,eAAe,GAAG,6BAA6B,CAAC,UAAU,CAAC,CAAC;wBAClE,MAAM,WAAW,GACf,eAAe;4BACd,GAAW,CAAC,WAAW;4BACxB,GAAG,CAAC,IAAI,CAAC;wBAEX,MAAM,wBAAa,CAAC,cAAc,CAAC;4BACjC,WAAW,EAAE,GAAG,CAAC,EAAE;4BACnB,aAAa,EAAE,GAAG,CAAC,IAA2B;4BAC9C,aAAa,EAAE,GAAG,CAAC,IAAI;4BACvB,IAAI,EAAG,GAAW,CAAC,IAAI,IAAI,SAAS;4BACpC,WAAW;4BACX,UAAU;yBACX,CAAC,CAAC;wBAEH,mEAAmE;wBACnE,oEAAoE;wBACpE,mEAAmE;wBACnE,oEAAoE;wBACpE,IAAI,CAAC;4BACH,MAAM,UAAU,GAAG,IAAA,oCAAqB,EAAC,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC;4BACrE,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;4BAC5B,eAAM,CAAC,IAAI,CACT,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,EAClC,sDAAsD,CACvD,CAAC;wBACJ,CAAC;wBAAC,MAAM,CAAC;4BACP,2CAA2C;wBAC7C,CAAC;wBAED,KAAK,CAAC,MAAM,EAAE,CAAC;wBACf,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;wBACzF,IAAA,oBAAW,EAAC,gBAAgB,EAAE,GAAG,GAAG,CAAC,IAAI,2BAA2B,EAAE;4BACpE,UAAU,EAAE,GAAG,CAAC,EAAE;4BAClB,WAAW,EAAE,wBAAa,CAAC,IAAI;yBAChC,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,SAAS,EAAE,CAAC;wBACnB,eAAM,CAAC,KAAK,CACV,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAG,SAAmB,CAAC,OAAO,EAAE,EAC3D,gDAAgD,CACjD,CAAC;wBACF,KAAK,CAAC,MAAM,EAAE,CAAC;wBACf,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;oBAC3F,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,4DAA4D;gBAC5D,IAAA,oBAAW,EAAC,gBAAgB,EAAE,sBAAsB,EAAE;oBACpD,UAAU,EAAE,GAAG,CAAC,EAAE;oBAClB,YAAY,EAAE,GAAG,CAAC,IAAI;iBACvB,CAAC,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,MAAM,cAAc,GAAG,MAAM,kBAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;gBAC3E,IAAA,oBAAW,EAAC,gBAAgB,EAAE,mBAAmB,EAAE;oBACjD,UAAU,EAAE,GAAG,CAAC,EAAE;oBAClB,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM;oBACtC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG;iBAC3B,CAAC,CAAC;gBAEH,0EAA0E;gBAC1E,wEAAwE;gBACxE,0DAA0D;gBAC1D,IAAI,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC;gBACzC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,IAA4C,CAAC;oBACjE,MAAM,QAAQ,GAAG,MAAM,4CAAqB,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAClF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxB,aAAa,GAAG,QAAQ,CAAC;wBACzB,IAAA,oBAAW,EAAC,gBAAgB,EAAE,+CAA+C,EAAE;4BAC7E,UAAU,EAAE,GAAG,CAAC,EAAE;4BAClB,SAAS,EAAE,aAAa,CAAC,MAAM;yBAChC,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,eAAM,CAAC,IAAI,CACT,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,EAC9D,yDAAyD,CAC1D,CAAC;wBACF,KAAK,CAAC,MAAM,EAAE,CAAC;wBACf,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;wBACzF,SAAS;oBACX,CAAC;gBACH,CAAC;gBAED,yEAAyE;gBACzE,oEAAoE;gBACpE,qEAAqE;gBACrE,EAAE;gBACF,4EAA4E;gBAC5E,wEAAwE;gBACxE,8CAA8C;gBAC9C,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;oBACvB,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,iBAAiB,CACnD,CAAC;oBACF,2CAA2C;oBAC3C,MAAM,WAAW,GAAG,GAAG,IAAA,wCAAyB,GAAE,WAAW,CAAC;oBAE9D,IAAI,aAAa,EAAE,CAAC;wBAClB,IAAI,GAAG,GAA4B,EAAE,CAAC;wBACtC,IAAI,CAAC;4BAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAA4B,CAAC;wBAAC,CAAC;wBAC3E,MAAM,CAAC,CAAC,iCAAiC,CAAC,CAAC;wBAE3C,IAAI,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;4BACvC,mEAAmE;4BACnE,sEAAsE;4BACtE,MAAM,UAAU,GAAG,GAAG,IAAA,wCAAyB,EAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;4BACrE,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;gCACjC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gCAC7C,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;oCAAE,SAAS;gCAC1C,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,UAAU,IAAI,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;4BAC1G,CAAC;4BACD,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAA2B,CAAC;4BACzD,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;4BACnF,qEAAqE;4BACrE,MAAM,aAAa,GAAG,CAAC,CAAS,EAAE,EAAE,CAClC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;4BACnF,MAAM,IAAI,GAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACvD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CACxF,CAAC;4BACF,YAAY,CAAC,IAAI,CAAC;gCAChB,MAAM,EAAE,gBAAgB;gCACxB,aAAa,EAAE,WAAW;gCAC1B,WAAW,EAAG,GAAG,CAAC,MAAM,CAAwB,IAAI,GAAG,CAAC,IAAI;gCAC5D,KAAK,EAAE,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE;gCACvB,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;oCAC1B,WAAW,EAAE,UAAU;oCACvB,UAAU,EAAE,uBAAuB,WAAW,sBAAsB,GAAG,CAAC,IAAI,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;iCAC5G,CAAC,CAAC,CAAC,EAAE,CAAC;6BACR,CAAC,CAAC;4BACH,IAAA,oBAAW,EAAC,gBAAgB,EAAE,0DAA0D,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;wBACpH,CAAC;6BAAM,CAAC;4BACN,mEAAmE;4BACnE,gEAAgE;4BAChE,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gCACtD,MAAM,CAAC,GAAG,KAAgC,CAAC;gCAC3C,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAA2B,CAAC;gCACvD,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;gCACnF,YAAY,CAAC,IAAI,CAAC;oCAChB,MAAM,EAAE,gBAAgB;oCACxB,aAAa,EAAE,WAAW;oCAC1B,WAAW,EAAE,UAAU;oCACvB,KAAK,EAAE,CAAC;oCACR,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;wCAC1B,WAAW,EAAE,UAAU;wCACvB,UAAU,EAAE,uBAAuB,WAAW,sBAAsB,UAAU,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;qCAC9G,CAAC,CAAC,CAAC,EAAE,CAAC;iCACR,CAAC,CAAC;4BACL,CAAC;4BACD,IAAA,oBAAW,EAAC,gBAAgB,EAAE,uCAAuC,EAAE;gCACrE,UAAU,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;6BACjD,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,kEAAkE;wBAClE,MAAM,UAAU,GAAG,GAAG,IAAA,wCAAyB,EAAC,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;wBACrE,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;4BACjC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BAC7C,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC;gCAAE,SAAS;4BAC1C,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,UAAU,IAAI,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;wBAC1G,CAAC;wBACD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;wBAClE,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;wBAClE,MAAM,SAAS,GAAG,OAAO,IAAI,OAAO,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;wBACzD,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;wBACzC,YAAY,CAAC,IAAI,CAAC;4BAChB,MAAM,EAAE,gBAAgB;4BACxB,aAAa,EAAE,WAAW;4BAC1B,WAAW,EAAE,GAAG,CAAC,IAAI;4BACrB,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,UAAU,IAAI,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,EAAE;yBAC1E,CAAC,CAAC;wBACH,IAAA,oBAAW,EAAC,gBAAgB,EAAE,4DAA4D,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;oBACtH,CAAC;oBAED,KAAK,CAAC,MAAM,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;oBACzF,SAAS;gBACX,CAAC;gBAED,yEAAyE;gBACzE,8DAA8D;gBAC9D,mEAAmE;gBACnE,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACxB,MAAM,OAAO,GAAG,IAAA,wCAAyB,EAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAEpD,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;wBACjC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC7C,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;4BAChC,eAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,+BAA+B,CAAC,CAAC;4BAC1F,SAAS;wBACX,CAAC;wBACD,YAAY,CAAC,IAAI,CAAC;4BAChB,MAAM,EAAE,YAAY;4BACpB,IAAI,EAAE,GAAG,OAAO,IAAI,UAAU,EAAE;4BAChC,OAAO,EAAE,IAAI,CAAC,OAAO;yBACtB,CAAC,CAAC;oBACL,CAAC;oBAED,KAAK,CAAC,MAAM,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;oBACzF,IAAA,oBAAW,EAAC,gBAAgB,EAAE,wCAAwC,EAAE;wBACtE,UAAU,EAAE,GAAG,CAAC,EAAE;wBAClB,SAAS,EAAE,aAAa,CAAC,MAAM;qBAChC,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBAED,uEAAuE;gBACvE,eAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,uCAAuC,CAAC,CAAC;gBAC7F,KAAK,CAAC,MAAM,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;YAE3F,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,eAAM,CAAC,KAAK,CAAC;oBACX,UAAU,EAAE,GAAG,CAAC,EAAE;oBAClB,YAAY,EAAE,GAAG,CAAC,IAAI;oBACtB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,EAAE,yBAAyB,CAAC,CAAC;gBAE9B,KAAK,CAAC,MAAM,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,IAAI,SAAS,EAAE,CAAC,CAAC;YAC9G,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;YACjE,CAAC,CAAC,GAAG,CAAC;QAER,MAAM,MAAM,GAAwB;YAClC,IAAI;YACJ,YAAY,EAAE,WAAW;YACzB,OAAO,EAAE,KAAK;YACd,OAAO;YACP,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7E,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,IAAA,oBAAW,EAAC,gBAAgB,EAAE,SAAS,EAAE,MAAiC,EAAE,QAAQ,CAAC,CAAC;QACtF,IAAA,sBAAa,EAAC,gBAAgB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAE9C,eAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,gBAAgB;YACtB,IAAI;YACJ,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,WAAW;YACX,QAAQ;YACR,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,EAAE,uCAAuC,CAAC,CAAC;QAE5C,qDAAqD;QACrD,6EAA6E;QAC7E,MAAM,eAAe,GAAG,aAAa,CAAC,aAAa;aAChD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;aAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACX,WAAW,EAAE,CAAC,CAAC,EAAE;YACjB,aAAa,EAAE,CAAC,CAAC,IAAI;YACrB,aAAa,EAAG,CAAS,CAAC,aAAa,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpE,CAAC,CAAC,CAAC;QACN,IAAI,SAAS;YAAE,oBAAS,CAAC,qBAAqB,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAE3F,gFAAgF;QAChF,MAAM,cAAc,GAAG,aAAa,CAAC,aAAa;aAC/C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC;aAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACX,WAAW,EAAE,CAAC,CAAC,EAAE;YACjB,aAAa,EAAE,CAAC,CAAC,IAAI;YACrB,aAAa,EAAG,CAAS,CAAC,aAAa,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpE,CAAC,CAAC,CAAC;QACN,IAAI,SAAS;YAAE,oBAAS,CAAC,oBAAoB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAEzF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAEzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAExC,eAAM,CAAC,KAAK,CAAC;YACX,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,KAAK,YAAY,KAAK;gBAC3B,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;gBAClE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YACjB,QAAQ;YACR,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,EAAE,kCAAkC,CAAC,CAAC;QAEvC,IAAA,sBAAa,EAAC,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE7G,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,IAAI,EAAE,KAAK,YAAY,uBAAc,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe;gBACpE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAChE;SACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,+BAA+B;AAClB,QAAA,iBAAiB,GAAG;IAC/B,IAAI,EAAE,gBAAgB;IACtB,WAAW,EACT,uCAAuC;QACvC,2EAA2E;QAC3E,uFAAuF;QACvF,qFAAqF;QACrF,sDAAsD;QACtD,yEAAyE;QACzE,oFAAoF;QACpF,gFAAgF;QAChF,oFAAoF;IACtF,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,wEAAwE;gBACrF,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC;gBACtC,OAAO,EAAE,aAAa;aACvB;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,uEAAuE;gBACpF,IAAI,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC;gBACpC,OAAO,EAAE,QAAQ;aAClB;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,8CAA8C;aAC5D;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,8EAA8E;oBAC9E,iFAAiF;aACpF;SACF;KACF;IACD,OAAO,EAAE,aAAa;CACvB,CAAC"}
|
|
1
|
+
{"version":3,"file":"sync-resources.js","sourceRoot":"","sources":["../../src/tools/sync-resources.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -327,13 +327,35 @@ class MultiSourceGitManager {
|
|
|
327
327
|
};
|
|
328
328
|
const typeDir = typeToDirKey[resourceType] ?? 'skills';
|
|
329
329
|
|
|
330
|
+
logger.info(
|
|
331
|
+
{
|
|
332
|
+
resourceName,
|
|
333
|
+
resourceType,
|
|
334
|
+
resolvedDirKey: typeDir,
|
|
335
|
+
sourceCount: sources.length,
|
|
336
|
+
sourceNames: sources.map((s) => s.name),
|
|
337
|
+
},
|
|
338
|
+
'readResourceFiles: start — searching git sources for resource',
|
|
339
|
+
);
|
|
340
|
+
|
|
330
341
|
for (const source of sources) {
|
|
331
342
|
const sourcePath = path.join(this.baseDir, source.path);
|
|
332
343
|
const resourcesSubDir = source.resources[typeDir as keyof typeof source.resources];
|
|
333
344
|
const resourceDir = path.join(sourcePath, resourcesSubDir, resourceName);
|
|
334
345
|
const resourceFile = path.join(sourcePath, resourcesSubDir, `${resourceName}.md`);
|
|
335
346
|
|
|
336
|
-
|
|
347
|
+
logger.info(
|
|
348
|
+
{
|
|
349
|
+
source: source.name,
|
|
350
|
+
resourceName,
|
|
351
|
+
resourceType,
|
|
352
|
+
tryDirPath: resourceDir,
|
|
353
|
+
tryFilePath: resourceFile,
|
|
354
|
+
},
|
|
355
|
+
'readResourceFiles: trying source',
|
|
356
|
+
);
|
|
357
|
+
|
|
358
|
+
// Try directory-based layout first (e.g. rules/<name>/ or mcp/<name>/)
|
|
337
359
|
try {
|
|
338
360
|
const stat = await fs.stat(resourceDir);
|
|
339
361
|
if (stat.isDirectory()) {
|
|
@@ -346,28 +368,55 @@ class MultiSourceGitManager {
|
|
|
346
368
|
const content = await fs.readFile(filePath, 'utf-8');
|
|
347
369
|
results.push({ path: f, content });
|
|
348
370
|
}
|
|
349
|
-
logger.
|
|
350
|
-
{
|
|
371
|
+
logger.info(
|
|
372
|
+
{
|
|
373
|
+
source: source.name,
|
|
374
|
+
resourceName,
|
|
375
|
+
resourceType,
|
|
376
|
+
dirPath: resourceDir,
|
|
377
|
+
fileCount: results.length,
|
|
378
|
+
files: results.map((r) => r.path),
|
|
379
|
+
},
|
|
351
380
|
'readResourceFiles: found files in directory layout',
|
|
352
381
|
);
|
|
353
382
|
return results;
|
|
354
383
|
}
|
|
384
|
+
logger.info(
|
|
385
|
+
{ source: source.name, resourceName, resourceType, dirPath: resourceDir },
|
|
386
|
+
'readResourceFiles: directory exists but contains no .md/.mdc files — trying flat file',
|
|
387
|
+
);
|
|
355
388
|
}
|
|
356
389
|
} catch { /* not a directory or doesn't exist — try flat file */ }
|
|
357
390
|
|
|
358
|
-
// Try flat file layout (e.g.
|
|
359
|
-
try
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
391
|
+
// Try flat file layout (e.g. rules/<name>.mdc or rules/<name>.md)
|
|
392
|
+
// Also try .mdc extension for rule resources.
|
|
393
|
+
const mdcFile = path.join(sourcePath, resourcesSubDir, `${resourceName}.mdc`);
|
|
394
|
+
for (const [filePath, ext] of [[resourceFile, '.md'], [mdcFile, '.mdc']] as const) {
|
|
395
|
+
try {
|
|
396
|
+
const content = await fs.readFile(filePath, 'utf-8');
|
|
397
|
+
logger.info(
|
|
398
|
+
{
|
|
399
|
+
source: source.name,
|
|
400
|
+
resourceName,
|
|
401
|
+
resourceType,
|
|
402
|
+
filePath,
|
|
403
|
+
ext,
|
|
404
|
+
contentLength: content.length,
|
|
405
|
+
},
|
|
406
|
+
'readResourceFiles: found flat file',
|
|
407
|
+
);
|
|
408
|
+
return [{ path: `${resourceName}${ext}`, content }];
|
|
409
|
+
} catch { /* not found — try next extension or source */ }
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
logger.info(
|
|
413
|
+
{ source: source.name, resourceName, resourceType },
|
|
414
|
+
'readResourceFiles: resource not found in this source — trying next',
|
|
415
|
+
);
|
|
367
416
|
}
|
|
368
417
|
|
|
369
418
|
logger.warn(
|
|
370
|
-
{ resourceName, resourceType },
|
|
419
|
+
{ resourceName, resourceType, resolvedDirKey: typeDir, sourceCount: sources.length },
|
|
371
420
|
'readResourceFiles: resource not found in any git source',
|
|
372
421
|
);
|
|
373
422
|
return [];
|
package/src/prompts/manager.ts
CHANGED
|
@@ -122,7 +122,15 @@ export class PromptManager {
|
|
|
122
122
|
};
|
|
123
123
|
|
|
124
124
|
const prompts = [setupPrompt, ...resourcePrompts];
|
|
125
|
-
logger.info(
|
|
125
|
+
logger.info(
|
|
126
|
+
{
|
|
127
|
+
total: prompts.length,
|
|
128
|
+
setupPromptIncluded: true,
|
|
129
|
+
resourcePromptCount: resourcePrompts.length,
|
|
130
|
+
resourcePromptNames: resourcePrompts.map((p) => p.name),
|
|
131
|
+
},
|
|
132
|
+
'ListPrompts called — csp-ai-agent-setup injected as first entry',
|
|
133
|
+
);
|
|
126
134
|
return { prompts };
|
|
127
135
|
});
|
|
128
136
|
|
|
@@ -132,7 +140,14 @@ export class PromptManager {
|
|
|
132
140
|
|
|
133
141
|
// ── Setup prompt: drives initial sync + local action execution ───────────
|
|
134
142
|
if (name === 'csp-ai-agent-setup') {
|
|
135
|
-
logger.info(
|
|
143
|
+
logger.info(
|
|
144
|
+
{
|
|
145
|
+
promptName: name,
|
|
146
|
+
userToken: userToken ? `${userToken.slice(0, 12)}...` : 'none',
|
|
147
|
+
registeredPromptCount: this.prompts.size,
|
|
148
|
+
},
|
|
149
|
+
'GetPrompt: serving csp-ai-agent-setup — AI will sync resources and apply local actions',
|
|
150
|
+
);
|
|
136
151
|
const setupContent =
|
|
137
152
|
`## CSP AI Agent — Initialisation\n\n` +
|
|
138
153
|
`**[MANDATORY — Execute immediately, do not skip any step]**\n\n` +
|
|
@@ -390,6 +405,47 @@ export class PromptManager {
|
|
|
390
405
|
promptNames(): string[] {
|
|
391
406
|
return Array.from(this.prompts.keys());
|
|
392
407
|
}
|
|
408
|
+
|
|
409
|
+
/**
|
|
410
|
+
* Remove any registered prompts whose names are NOT in the provided set of
|
|
411
|
+
* expected prompt names built from the current subscription list.
|
|
412
|
+
*
|
|
413
|
+
* Call this after every sync_resources run to prevent stale prompts from
|
|
414
|
+
* accumulating across reconnections or subscription changes.
|
|
415
|
+
*
|
|
416
|
+
* @param expectedNames Set of prompt names that SHOULD exist (e.g. built by
|
|
417
|
+
* calling buildPromptName() for each active subscription).
|
|
418
|
+
*/
|
|
419
|
+
pruneStalePrompts(expectedNames: Set<string>): void {
|
|
420
|
+
const before = this.prompts.size;
|
|
421
|
+
const pruned: string[] = [];
|
|
422
|
+
|
|
423
|
+
for (const [name, prompt] of this.prompts.entries()) {
|
|
424
|
+
if (!expectedNames.has(name)) {
|
|
425
|
+
this.prompts.delete(name);
|
|
426
|
+
promptCache.delete(prompt.meta.resource_type, prompt.meta.resource_id);
|
|
427
|
+
pruned.push(name);
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
if (pruned.length > 0) {
|
|
432
|
+
logger.info(
|
|
433
|
+
{
|
|
434
|
+
prunedCount: pruned.length,
|
|
435
|
+
prunedNames: pruned,
|
|
436
|
+
before,
|
|
437
|
+
after: this.prompts.size,
|
|
438
|
+
expectedCount: expectedNames.size,
|
|
439
|
+
},
|
|
440
|
+
'PromptManager: pruned stale prompts not in current subscription list',
|
|
441
|
+
);
|
|
442
|
+
} else {
|
|
443
|
+
logger.info(
|
|
444
|
+
{ promptCount: this.prompts.size, expectedCount: expectedNames.size },
|
|
445
|
+
'PromptManager: no stale prompts to prune',
|
|
446
|
+
);
|
|
447
|
+
}
|
|
448
|
+
}
|
|
393
449
|
}
|
|
394
450
|
|
|
395
451
|
/** Singleton PromptManager shared across the server process. */
|
|
@@ -130,6 +130,11 @@ export async function syncResources(params: unknown): Promise<ToolResult<SyncRes
|
|
|
130
130
|
// Accumulated local file-system actions the AI must perform on the user's machine.
|
|
131
131
|
const localActions: LocalAction[] = [];
|
|
132
132
|
|
|
133
|
+
// Track which prompt names are expected from the current subscription list.
|
|
134
|
+
// After the loop, any prompt registered in PromptManager but NOT in this set
|
|
135
|
+
// is stale (from a previous connection / subscription change) and will be pruned.
|
|
136
|
+
const expectedPromptNames = new Set<string>();
|
|
137
|
+
|
|
133
138
|
for (let i = 0; i < subscriptions.subscriptions.length; i++) {
|
|
134
139
|
const sub = subscriptions.subscriptions[i];
|
|
135
140
|
if (!sub) continue;
|
|
@@ -228,14 +233,18 @@ export async function syncResources(params: unknown): Promise<ToolResult<SyncRes
|
|
|
228
233
|
(sub as any).description ??
|
|
229
234
|
sub.name;
|
|
230
235
|
|
|
231
|
-
|
|
236
|
+
const meta = {
|
|
232
237
|
resource_id: sub.id,
|
|
233
238
|
resource_type: sub.type as 'command' | 'skill',
|
|
234
239
|
resource_name: sub.name,
|
|
235
240
|
team: (sub as any).team ?? 'general',
|
|
236
241
|
description,
|
|
237
242
|
rawContent,
|
|
238
|
-
}
|
|
243
|
+
};
|
|
244
|
+
await promptManager.registerPrompt(meta);
|
|
245
|
+
|
|
246
|
+
// Track this prompt name so stale prompts can be pruned after the loop.
|
|
247
|
+
expectedPromptNames.add(promptManager.buildPromptName(meta));
|
|
239
248
|
|
|
240
249
|
// Clean up any legacy local files that may have been written by an
|
|
241
250
|
// older version of sync_resources. Command/Skill resources are now
|
|
@@ -287,10 +296,24 @@ export async function syncResources(params: unknown): Promise<ToolResult<SyncRes
|
|
|
287
296
|
// reading the files directly from the local git checkout.
|
|
288
297
|
let resourceFiles = downloadResult.files;
|
|
289
298
|
if (resourceFiles.length === 0) {
|
|
299
|
+
logger.info(
|
|
300
|
+
{ resourceId: sub.id, resourceName: sub.name, type: sub.type },
|
|
301
|
+
'sync_resources: API returned no files — triggering git-checkout fallback',
|
|
302
|
+
);
|
|
290
303
|
const gitType = sub.type as 'command' | 'skill' | 'rule' | 'mcp';
|
|
291
304
|
const gitFiles = await multiSourceGitManager.readResourceFiles(sub.name, gitType);
|
|
292
305
|
if (gitFiles.length > 0) {
|
|
293
306
|
resourceFiles = gitFiles;
|
|
307
|
+
logger.info(
|
|
308
|
+
{
|
|
309
|
+
resourceId: sub.id,
|
|
310
|
+
resourceName: sub.name,
|
|
311
|
+
type: sub.type,
|
|
312
|
+
fileCount: resourceFiles.length,
|
|
313
|
+
files: resourceFiles.map((f) => f.path),
|
|
314
|
+
},
|
|
315
|
+
'sync_resources: git-checkout fallback succeeded',
|
|
316
|
+
);
|
|
294
317
|
logToolStep('sync_resources', 'Loaded resource files from local git checkout', {
|
|
295
318
|
resourceId: sub.id,
|
|
296
319
|
fileCount: resourceFiles.length,
|
|
@@ -298,7 +321,7 @@ export async function syncResources(params: unknown): Promise<ToolResult<SyncRes
|
|
|
298
321
|
} else {
|
|
299
322
|
logger.warn(
|
|
300
323
|
{ resourceId: sub.id, resourceName: sub.name, type: sub.type },
|
|
301
|
-
'
|
|
324
|
+
'sync_resources: git-checkout fallback found no files — marking resource failed',
|
|
302
325
|
);
|
|
303
326
|
tally.failed++;
|
|
304
327
|
details.push({ id: sub.id, name: sub.name, action: 'failed', version: resourceVersion });
|
|
@@ -320,42 +343,73 @@ export async function syncResources(params: unknown): Promise<ToolResult<SyncRes
|
|
|
320
343
|
// ~/.cursor/mcp.json on the user's machine
|
|
321
344
|
const mcpJsonPath = `${getCursorRootDirForClient()}/mcp.json`;
|
|
322
345
|
|
|
346
|
+
logger.info(
|
|
347
|
+
{
|
|
348
|
+
resourceId: sub.id,
|
|
349
|
+
resourceName: sub.name,
|
|
350
|
+
mcpJsonPath,
|
|
351
|
+
hasMcpConfigFile: !!mcpConfigFile,
|
|
352
|
+
availableFiles: resourceFiles.map((f) => f.path),
|
|
353
|
+
},
|
|
354
|
+
'sync_resources: processing MCP resource',
|
|
355
|
+
);
|
|
356
|
+
|
|
323
357
|
if (mcpConfigFile) {
|
|
324
358
|
let cfg: Record<string, unknown> = {};
|
|
325
359
|
try { cfg = JSON.parse(mcpConfigFile.content) as Record<string, unknown>; }
|
|
326
|
-
catch {
|
|
360
|
+
catch {
|
|
361
|
+
logger.warn(
|
|
362
|
+
{ resourceId: sub.id, resourceName: sub.name },
|
|
363
|
+
'sync_resources: failed to parse mcp-config.json — treating as empty config',
|
|
364
|
+
);
|
|
365
|
+
}
|
|
327
366
|
|
|
328
367
|
if (typeof cfg['command'] === 'string') {
|
|
329
368
|
// ── Format A: local executable ──────────────────────────────────
|
|
330
|
-
// Queue write_file for each resource file + merge_mcp_json for entry.
|
|
331
369
|
const installDir = `${getCursorTypeDirForClient('mcp')}/${sub.name}`;
|
|
370
|
+
const writeActions: string[] = [];
|
|
332
371
|
for (const file of resourceFiles) {
|
|
333
372
|
const normalised = path.normalize(file.path);
|
|
334
373
|
if (normalised.startsWith('..')) continue;
|
|
335
|
-
|
|
374
|
+
const fileDest = `${installDir}/${normalised}`;
|
|
375
|
+
localActions.push({ action: 'write_file', path: fileDest, content: file.content });
|
|
376
|
+
writeActions.push(fileDest);
|
|
336
377
|
}
|
|
337
378
|
const env = (cfg['env'] ?? {}) as Record<string, string>;
|
|
338
379
|
const missingEnv = Object.entries(env).filter(([, v]) => v === '').map(([k]) => k);
|
|
339
|
-
// Resolve relative args to the install directory (client-side path).
|
|
340
380
|
const looksLikePath = (a: string) =>
|
|
341
381
|
a.startsWith('./') || a.startsWith('../') || a.includes('/') || /\.\w+$/.test(a);
|
|
342
382
|
const args = ((cfg['args'] ?? []) as string[]).map((a) =>
|
|
343
383
|
path.isAbsolute(a) || !looksLikePath(a) ? a : `${installDir}/${a.replace(/^\.\//, '')}`,
|
|
344
384
|
);
|
|
385
|
+
const serverName = (cfg['name'] as string | undefined) ?? sub.name;
|
|
345
386
|
localActions.push({
|
|
346
387
|
action: 'merge_mcp_json',
|
|
347
388
|
mcp_json_path: mcpJsonPath,
|
|
348
|
-
server_name:
|
|
389
|
+
server_name: serverName,
|
|
349
390
|
entry: { ...cfg, args },
|
|
350
391
|
...(missingEnv.length > 0 ? {
|
|
351
392
|
missing_env: missingEnv,
|
|
352
393
|
setup_hint: `Fill in env vars in ${mcpJsonPath} under mcpServers["${sub.name}"]: ${missingEnv.join(', ')}.`,
|
|
353
394
|
} : {}),
|
|
354
395
|
});
|
|
396
|
+
logger.info(
|
|
397
|
+
{
|
|
398
|
+
resourceId: sub.id,
|
|
399
|
+
resourceName: sub.name,
|
|
400
|
+
format: 'A',
|
|
401
|
+
installDir,
|
|
402
|
+
mcpJsonPath,
|
|
403
|
+
serverName,
|
|
404
|
+
writeFiles: writeActions,
|
|
405
|
+
missingEnv,
|
|
406
|
+
},
|
|
407
|
+
'sync_resources: MCP Format A — write_file + merge_mcp_json actions queued',
|
|
408
|
+
);
|
|
355
409
|
logToolStep('sync_resources', 'Local-executable MCP: write_file + merge_mcp_json queued', { resourceId: sub.id });
|
|
356
410
|
} else {
|
|
357
411
|
// ── Format B: remote URL map ────────────────────────────────────
|
|
358
|
-
|
|
412
|
+
const queuedServers: string[] = [];
|
|
359
413
|
for (const [serverName, entry] of Object.entries(cfg)) {
|
|
360
414
|
const e = entry as Record<string, unknown>;
|
|
361
415
|
const env = (e['env'] ?? {}) as Record<string, string>;
|
|
@@ -370,29 +424,57 @@ export async function syncResources(params: unknown): Promise<ToolResult<SyncRes
|
|
|
370
424
|
setup_hint: `Fill in env vars in ${mcpJsonPath} under mcpServers["${serverName}"]: ${missingEnv.join(', ')}.`,
|
|
371
425
|
} : {}),
|
|
372
426
|
});
|
|
427
|
+
queuedServers.push(serverName);
|
|
373
428
|
}
|
|
429
|
+
logger.info(
|
|
430
|
+
{
|
|
431
|
+
resourceId: sub.id,
|
|
432
|
+
resourceName: sub.name,
|
|
433
|
+
format: 'B',
|
|
434
|
+
mcpJsonPath,
|
|
435
|
+
serverKeys: queuedServers,
|
|
436
|
+
},
|
|
437
|
+
'sync_resources: MCP Format B — merge_mcp_json actions queued',
|
|
438
|
+
);
|
|
374
439
|
logToolStep('sync_resources', 'Remote-URL MCP: merge_mcp_json queued', {
|
|
375
440
|
resourceId: sub.id, serverKeys: Object.keys(cfg),
|
|
376
441
|
});
|
|
377
442
|
}
|
|
378
443
|
} else {
|
|
379
|
-
// No mcp-config.json: heuristic fallback
|
|
444
|
+
// No mcp-config.json: heuristic fallback
|
|
380
445
|
const installDir = `${getCursorTypeDirForClient('mcp')}/${sub.name}`;
|
|
446
|
+
const writeActions: string[] = [];
|
|
381
447
|
for (const file of resourceFiles) {
|
|
382
448
|
const normalised = path.normalize(file.path);
|
|
383
449
|
if (normalised.startsWith('..')) continue;
|
|
384
|
-
|
|
450
|
+
const fileDest = `${installDir}/${normalised}`;
|
|
451
|
+
localActions.push({ action: 'write_file', path: fileDest, content: file.content });
|
|
452
|
+
writeActions.push(fileDest);
|
|
385
453
|
}
|
|
386
454
|
const jsEntry = resourceFiles.find((f) => f.path.endsWith('.js'));
|
|
387
455
|
const pyEntry = resourceFiles.find((f) => f.path.endsWith('.py'));
|
|
388
456
|
const entryFile = jsEntry ?? pyEntry ?? resourceFiles[0];
|
|
389
457
|
const cmd = jsEntry ? 'node' : 'python3';
|
|
458
|
+
const entryPath = `${installDir}/${entryFile?.path ?? ''}`;
|
|
390
459
|
localActions.push({
|
|
391
460
|
action: 'merge_mcp_json',
|
|
392
461
|
mcp_json_path: mcpJsonPath,
|
|
393
462
|
server_name: sub.name,
|
|
394
|
-
entry: { command: cmd, args: [
|
|
463
|
+
entry: { command: cmd, args: [entryPath] },
|
|
395
464
|
});
|
|
465
|
+
logger.info(
|
|
466
|
+
{
|
|
467
|
+
resourceId: sub.id,
|
|
468
|
+
resourceName: sub.name,
|
|
469
|
+
format: 'heuristic',
|
|
470
|
+
installDir,
|
|
471
|
+
mcpJsonPath,
|
|
472
|
+
cmd,
|
|
473
|
+
entryPath,
|
|
474
|
+
writeFiles: writeActions,
|
|
475
|
+
},
|
|
476
|
+
'sync_resources: MCP heuristic fallback — write_file + merge_mcp_json actions queued',
|
|
477
|
+
);
|
|
396
478
|
logToolStep('sync_resources', 'MCP heuristic fallback: write_file + merge_mcp_json queued', { resourceId: sub.id });
|
|
397
479
|
}
|
|
398
480
|
|
|
@@ -406,6 +488,7 @@ export async function syncResources(params: unknown): Promise<ToolResult<SyncRes
|
|
|
406
488
|
// Use client-side path so the path resolves on the user's machine.
|
|
407
489
|
if (sub.type === 'rule') {
|
|
408
490
|
const typeDir = getCursorTypeDirForClient(sub.type);
|
|
491
|
+
const writeActions: string[] = [];
|
|
409
492
|
|
|
410
493
|
for (const file of resourceFiles) {
|
|
411
494
|
const normalised = path.normalize(file.path);
|
|
@@ -413,13 +496,26 @@ export async function syncResources(params: unknown): Promise<ToolResult<SyncRes
|
|
|
413
496
|
logger.warn({ resourceId: sub.id, filePath: file.path }, 'Skipping suspicious file path');
|
|
414
497
|
continue;
|
|
415
498
|
}
|
|
499
|
+
const destPath = `${typeDir}/${normalised}`;
|
|
416
500
|
localActions.push({
|
|
417
501
|
action: 'write_file',
|
|
418
|
-
path:
|
|
502
|
+
path: destPath,
|
|
419
503
|
content: file.content,
|
|
420
504
|
});
|
|
505
|
+
writeActions.push(destPath);
|
|
421
506
|
}
|
|
422
507
|
|
|
508
|
+
logger.info(
|
|
509
|
+
{
|
|
510
|
+
resourceId: sub.id,
|
|
511
|
+
resourceName: sub.name,
|
|
512
|
+
typeDir,
|
|
513
|
+
fileCount: writeActions.length,
|
|
514
|
+
destPaths: writeActions,
|
|
515
|
+
},
|
|
516
|
+
'sync_resources: Rule — write_file actions queued for AI',
|
|
517
|
+
);
|
|
518
|
+
|
|
423
519
|
tally.synced++;
|
|
424
520
|
details.push({ id: sub.id, name: sub.name, action: 'synced', version: resourceVersion });
|
|
425
521
|
logToolStep('sync_resources', 'Rule: write_file actions queued for AI', {
|
|
@@ -446,7 +542,16 @@ export async function syncResources(params: unknown): Promise<ToolResult<SyncRes
|
|
|
446
542
|
}
|
|
447
543
|
}
|
|
448
544
|
|
|
449
|
-
// ── Step 4:
|
|
545
|
+
// ── Step 4: Prune stale prompts ────────────────────────────────────────
|
|
546
|
+
// Remove any prompt registered in a previous session that is no longer in
|
|
547
|
+
// the current subscription list. This prevents prompt count from growing
|
|
548
|
+
// unboundedly across reconnections.
|
|
549
|
+
// In 'check' mode we skip pruning — we never registered any prompts above.
|
|
550
|
+
if (mode !== 'check') {
|
|
551
|
+
promptManager.pruneStalePrompts(expectedPromptNames);
|
|
552
|
+
}
|
|
553
|
+
|
|
554
|
+
// ── Step 5: Health score ───────────────────────────────────────────────
|
|
450
555
|
const healthScore = tally.total > 0
|
|
451
556
|
? Math.round(((tally.synced + tally.cached) / tally.total) * 100)
|
|
452
557
|
: 100;
|