@decaf-ts/mcp-server 0.4.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/mcp-server.cjs +711 -965
- package/dist/mcp-server.esm.cjs +710 -959
- package/lib/esm/mcp/fastmcp-wiring.js +5 -5
- package/lib/esm/mcp/index.d.ts +2 -0
- package/lib/esm/mcp/index.js +8 -5
- package/lib/esm/mcp/mcp-module.d.ts +3 -3
- package/lib/esm/mcp/mcp-module.js +3 -3
- package/lib/esm/mcp/moduleRegistry.d.ts +3 -1
- package/lib/esm/mcp/moduleRegistry.js +8 -7
- package/lib/esm/mcp/prompts/index.d.ts +1 -1
- package/lib/esm/mcp/prompts/index.js +2 -2
- package/lib/esm/mcp/prompts/prompts.js +9 -3
- package/lib/esm/mcp/templates/index.js +4 -4
- package/lib/esm/mcp/tools/codex-tools.js +1 -1
- package/lib/esm/mcp/tools/generateMcpModule.js +1 -1
- package/lib/esm/mcp/tools/index.d.ts +0 -102
- package/lib/esm/mcp/tools/index.js +6 -8
- package/lib/esm/mcp/tools/tools.js +4 -2
- package/lib/esm/mcp/utils.d.ts +1 -2
- package/lib/esm/mcp/utils.js +1 -1
- package/lib/esm/metadata.d.ts +1 -1
- package/lib/esm/metadata.js +1 -1
- package/lib/esm/modules/_template/index.d.ts +4 -4
- package/lib/esm/modules/_template/index.js +9 -9
- package/lib/esm/modules/index.js +11 -4
- package/lib/esm/modules/mcp/index.d.ts +4 -4
- package/lib/esm/modules/mcp/index.js +9 -9
- package/lib/mcp/fastmcp-wiring.cjs +10 -10
- package/lib/mcp/index.cjs +16 -11
- package/lib/mcp/index.d.ts +2 -0
- package/lib/mcp/mcp-module.cjs +2 -9
- package/lib/mcp/mcp-module.d.ts +3 -3
- package/lib/mcp/moduleRegistry.cjs +9 -7
- package/lib/mcp/moduleRegistry.d.ts +3 -1
- package/lib/mcp/prompts/index.cjs +2 -2
- package/lib/mcp/prompts/index.d.ts +1 -1
- package/lib/mcp/prompts/prompts.cjs +9 -3
- package/lib/mcp/templates/index.cjs +1 -1
- package/lib/mcp/tools/codex-tools.cjs +1 -1
- package/lib/mcp/tools/generateMcpModule.cjs +1 -1
- package/lib/mcp/tools/index.cjs +8 -24
- package/lib/mcp/tools/index.d.ts +0 -102
- package/lib/mcp/tools/tools.cjs +40 -5
- package/lib/mcp/utils.cjs +1 -1
- package/lib/mcp/utils.d.ts +1 -2
- package/lib/metadata.cjs +1 -1
- package/lib/metadata.d.ts +1 -1
- package/lib/modules/_template/index.cjs +17 -17
- package/lib/modules/_template/index.d.ts +4 -4
- package/lib/modules/index.cjs +14 -7
- package/lib/modules/mcp/index.cjs +17 -17
- package/lib/modules/mcp/index.d.ts +4 -4
- package/package.json +6 -2
|
@@ -130,4 +130,4 @@ export const generateMcpModuleTool = {
|
|
|
130
130
|
},
|
|
131
131
|
};
|
|
132
132
|
export default generateMcpModuleTool;
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVNY3BNb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbWNwL3Rvb2xzL2dlbmVyYXRlTWNwTW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdDQUFnQztBQUNoQyxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEIsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBRXhCLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFDeEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTlELE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDOUIsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO0lBQzVDLFVBQVUsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2pDLFdBQVcsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztDQUN2QyxDQUFDLENBQUM7QUFJSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBMkM7SUFDM0UsSUFBSSxFQUFFLHFCQUFxQjtJQUMzQixXQUFXLEVBQ1QsZ0pBQWdKO0lBQ2xKLFVBQVUsRUFBRSxjQUFjO0lBQzFCLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDdkIsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxLQUFZLENBQUMsQ0FBQztRQUNoRCxNQUFNLElBQUksR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ2hDLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFP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cm9tIFwiZnNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgdHlwZSB7IFRvb2wgfSBmcm9tIFwiZmFzdG1jcFwiO1xuaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2RcIjtcbmltcG9ydCB7IGdldFdvcmtzcGFjZVJvb3QgfSBmcm9tIFwiLi4vd29ya3NwYWNlXCI7XG5pbXBvcnQgeyBhbmFseXplUmVwbyB9IGZyb20gXCIuLi9jb2RlXCI7XG5pbXBvcnQgeyBzY2FmZm9sZE1vZHVsZSB9IGZyb20gXCIuLi92YWxpZGF0aW9uL3NjYWZmb2xkTW9kdWxlXCI7XG5cbmNvbnN0IGdlbmVyYXRlU2NoZW1hID0gei5vYmplY3Qoe1xuICByZXBvUGF0aDogei5zdHJpbmcoKS5vcHRpb25hbCgpLmRlZmF1bHQoXCIuXCIpLFxuICBtb2R1bGVOYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGluY2x1ZGVEb2NzOiB6LmJvb2xlYW4oKS5kZWZhdWx0KHRydWUpLFxufSk7XG5cbnR5cGUgR2VuZXJhdGVBcmdzID0gei5pbmZlcjx0eXBlb2YgZ2VuZXJhdGVTY2hlbWE+O1xuXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVNY3BNb2R1bGVUb29sOiBUb29sPHVuZGVmaW5lZCwgdHlwZW9mIGdlbmVyYXRlU2NoZW1hPiA9IHtcbiAgbmFtZTogXCJnZW5lcmF0ZS1tY3AtbW9kdWxlXCIsXG4gIGRlc2NyaXB0aW9uOlxuICAgIFwiR2VuZXJhdGUgYSBtaW5pbWFsIE1DUCBtb2R1bGUgdW5kZXIgc3JjL21vZHVsZXMvPG5hbWU+IGJ5IGFuYWx5emluZyBhIHRhcmdldCByZXBvc2l0b3J5IGFuZCBleHBvcnRpbmcgcHJvbXB0cywgcmVzb3VyY2VzLCB0ZW1wbGF0ZXMgYW5kIHRvb2xzLlwiLFxuICBwYXJhbWV0ZXJzOiBnZW5lcmF0ZVNjaGVtYSxcbiAgZXhlY3V0ZTogYXN5bmMgKGlucHV0KSA9PiB7XG4gICAgY29uc3QgYXJncyA9IGdlbmVyYXRlU2NoZW1hLnBhcnNlKGlucHV0IGFzIGFueSk7XG4gICAgY29uc3Qgcm9vdCA9IGdldFdvcmtzcGFjZVJvb3QoKTtcbiAgICBsZXQgcmVwb1Jvb3QgPSBwYXRoLnJlc29sdmUocHJvY2Vzcy5jd2QoKSwgYXJncy5yZXBvUGF0aCB8fCBcIi5cIik7XG4gICAgaWYgKCFmcy5leGlzdHNTeW5jKHJlcG9Sb290KSkge1xuICAgICAgY29uc3QgYWx0ID0gcGF0aC5yZXNvbHZlKHByb2Nlc3MuY3dkKCksIFwiLi5cIiwgYXJncy5yZXBvUGF0aCk7XG4gICAgICBpZiAoZnMuZXhpc3RzU3luYyhhbHQpKSByZXBvUm9vdCA9IGFsdDtcbiAgICB9XG4gICAgaWYgKCFmcy5leGlzdHNTeW5jKHJlcG9Sb290KSkge1xuICAgICAgY29uc3QgYWx0MiA9IHBhdGgucmVzb2x2ZShcbiAgICAgICAgcHJvY2Vzcy5jd2QoKSxcbiAgICAgICAgXCIuLlwiLFxuICAgICAgICBwYXRoLmJhc2VuYW1lKGFyZ3MucmVwb1BhdGgpXG4gICAgICApO1xuICAgICAgaWYgKGZzLmV4aXN0c1N5bmMoYWx0MikpIHJlcG9Sb290ID0gYWx0MjtcbiAgICB9XG4gICAgaWYgKCFmcy5leGlzdHNTeW5jKHJlcG9Sb290KSlcbiAgICAgIHRocm93IG5ldyBFcnJvcihgUmVwb3NpdG9yeSBub3QgZm91bmQgYXQgJHtyZXBvUm9vdH1gKTtcblxuICAgIGNvbnN0IGFuYWx5c2lzID0gYW5hbHl6ZVJlcG8ocmVwb1Jvb3QpO1xuICAgIGNvbnN0IGluZmVycmVkTmFtZSA9XG4gICAgICBhcmdzLm1vZHVsZU5hbWUgPz8gcGF0aC5iYXNlbmFtZShwYXRoLnJlc29sdmUocmVwb1Jvb3QpKTtcbiAgICBjb25zdCBtb2R1bGVSb290ID0gcGF0aC5qb2luKHJvb3QsIFwic3JjXCIsIFwibW9kdWxlc1wiLCBpbmZlcnJlZE5hbWUpO1xuXG4gICAgLy8gVXNlIGV4aXN0aW5nIHNjYWZmb2xkIHRvIGNyZWF0ZSBmb2xkZXJzXG4gICAgc2NhZmZvbGRNb2R1bGUocm9vdCwgaW5mZXJyZWROYW1lKTtcblxuICAgIC8vIHBvcHVsYXRlIHByb21wdHM6IGNvcHkgbWFya2Rvd24gcHJvbXB0cyBmcm9tIFJFQURNRS5tZCBhbmQgZG9jcy9cbiAgICBjb25zdCBwcm9tcHRzRGlyID0gcGF0aC5qb2luKG1vZHVsZVJvb3QsIFwicHJvbXB0c1wiKTtcbiAgICBjb25zdCByZXNvdXJjZXNEaXIgPSBwYXRoLmpvaW4obW9kdWxlUm9vdCwgXCJyZXNvdXJjZXNcIik7XG4gICAgY29uc3QgdGVtcGxhdGVzRGlyID0gcGF0aC5qb2luKG1vZHVsZVJvb3QsIFwidGVtcGxhdGVzXCIpO1xuICAgIGNvbnN0IHRvb2xzRGlyID0gcGF0aC5qb2luKG1vZHVsZVJvb3QsIFwidG9vbHNcIik7XG5cbiAgICAvLyBoZWxwZXIgdG8gd3JpdGUgYW4gaW5kZXgudHMgdGhhdCBleHBvcnRzIGFycmF5c1xuICAgIGZ1bmN0aW9uIHdyaXRlSW5kZXgoZGlyOiBzdHJpbmcsIHZhck5hbWU6IHN0cmluZywgaXRlbXM6IHN0cmluZykge1xuICAgICAgY29uc3QgcCA9IHBhdGguam9pbihkaXIsIFwiaW5kZXgudHNcIik7XG4gICAgICBjb25zdCBjb250ZW50ID0gYGV4cG9ydCBjb25zdCAke3Zhck5hbWV9ID0gJHtpdGVtc30gYXMgY29uc3Q7XFxuYDtcbiAgICAgIGZzLndyaXRlRmlsZVN5bmMocCwgY29udGVudCwgeyBlbmNvZGluZzogXCJ1dGY4XCIgfSk7XG4gICAgfVxuXG4gICAgLy8gUHJvbXB0czogY3JlYXRlIGEgc2ltcGxlIHByb21wdCBmcm9tIFJFQURNRSBhbmQgYW55IC5tZCBpbiBkb2NzXG4gICAgY29uc3QgcHJvbXB0QXNzZXRzOiBhbnlbXSA9IFtdO1xuICAgIGlmIChhcmdzLmluY2x1ZGVEb2NzKSB7XG4gICAgICBjb25zdCByZWFkbWUgPSBwYXRoLmpvaW4ocmVwb1Jvb3QsIFwiUkVBRE1FLm1kXCIpO1xuICAgICAgaWYgKGZzLmV4aXN0c1N5bmMocmVhZG1lKSkge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gZnMucmVhZEZpbGVTeW5jKHJlYWRtZSwgXCJ1dGY4XCIpO1xuICAgICAgICBjb25zdCBpZCA9IFwicmVhZG1lXCI7XG4gICAgICAgIGNvbnN0IHByb21wdFBhdGggPSBwYXRoLmpvaW4ocHJvbXB0c0RpciwgYCR7aWR9Lm1kYCk7XG4gICAgICAgIGZzLndyaXRlRmlsZVN5bmMocHJvbXB0UGF0aCwgY29udGVudCwgeyBlbmNvZGluZzogXCJ1dGY4XCIgfSk7XG4gICAgICAgIHByb21wdEFzc2V0cy5wdXNoKHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICB0aXRsZTogXCJSRUFETUVcIixcbiAgICAgICAgICBkZXNjcmlwdGlvbjogXCJSZXBvc2l0b3J5IFJFQURNRVwiLFxuICAgICAgICAgIGFic29sdXRlUGF0aDogcHJvbXB0UGF0aCxcbiAgICAgICAgICBsb2FkOiAoKSA9PiBjb250ZW50LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRvY3NEaXIgPSBwYXRoLmpvaW4ocmVwb1Jvb3QsIFwiZG9jc1wiKTtcbiAgICAgIGlmIChmcy5leGlzdHNTeW5jKGRvY3NEaXIpICYmIGZzLnN0YXRTeW5jKGRvY3NEaXIpLmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgICAgZm9yIChjb25zdCBmIG9mIGZzLnJlYWRkaXJTeW5jKGRvY3NEaXIpKSB7XG4gICAgICAgICAgaWYgKCFmLmVuZHNXaXRoKFwiLm1kXCIpKSBjb250aW51ZTtcbiAgICAgICAgICBjb25zdCBjb250ZW50ID0gZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihkb2NzRGlyLCBmKSwgXCJ1dGY4XCIpO1xuICAgICAgICAgIGNvbnN0IGlkID0gcGF0aC5wYXJzZShmKS5uYW1lO1xuICAgICAgICAgIGNvbnN0IHByb21wdFBhdGggPSBwYXRoLmpvaW4ocHJvbXB0c0RpciwgYCR7aWR9Lm1kYCk7XG4gICAgICAgICAgZnMud3JpdGVGaWxlU3luYyhwcm9tcHRQYXRoLCBjb250ZW50LCB7IGVuY29kaW5nOiBcInV0ZjhcIiB9KTtcbiAgICAgICAgICBwcm9tcHRBc3NldHMucHVzaCh7XG4gICAgICAgICAgICBpZCxcbiAgICAgICAgICAgIHRpdGxlOiBpZCxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBjb250ZW50LnNwbGl0KC9cXHI/XFxuLylbMF0gfHwgXCJcIixcbiAgICAgICAgICAgIGFic29sdXRlUGF0aDogcHJvbXB0UGF0aCxcbiAgICAgICAgICAgIGxvYWQ6ICgpID0+IGNvbnRlbnQsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB3cml0ZUluZGV4KHByb21wdHNEaXIsIFwicHJvbXB0c1wiLCBKU09OLnN0cmluZ2lmeShwcm9tcHRBc3NldHMsIG51bGwsIDIpKTtcblxuICAgIC8vIFJlc291cmNlczogcmVmZXJlbmNlIHRoZSByZXBvIHJvb3QgYW5kIGRvY3NcbiAgICBjb25zdCByZXNvdXJjZUFzc2V0cyA9IFtcbiAgICAgIHtcbiAgICAgICAgaWQ6IGAke2luZmVycmVkTmFtZX0ucmVwb2AsXG4gICAgICAgIG5hbWU6IGAke2luZmVycmVkTmFtZX0gcmVwb3NpdG9yeWAsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBcIlNvdXJjZSByZXBvc2l0b3J5XCIsXG4gICAgICAgIHVyaTogYGZpbGU6Ly8ke3JlcG9Sb290fWAsXG4gICAgICAgIGFic29sdXRlUGF0aDogcmVwb1Jvb3QsXG4gICAgICB9LFxuICAgIF07XG4gICAgd3JpdGVJbmRleChcbiAgICAgIHJlc291cmNlc0RpcixcbiAgICAgIFwicmVzb3VyY2VzXCIsXG4gICAgICBKU09OLnN0cmluZ2lmeShyZXNvdXJjZUFzc2V0cywgbnVsbCwgMilcbiAgICApO1xuXG4gICAgLy8gVGVtcGxhdGVzOiBjcmVhdGUgYSBwbGFjZWhvbGRlciB0ZW1wbGF0ZSB0aGF0IHJlZmVyZW5jZXMgUkVBRE1FXG4gICAgY29uc3QgdGVtcGxhdGVBc3NldHMgPSBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwicmVhZG1lLXRlbXBsYXRlXCIsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBcIlJFQURNRSBhcyBndWlkYW5jZVwiLFxuICAgICAgICB1cmlUZW1wbGF0ZTogYGZpbGU6Ly8ke3BhdGguam9pbihyZXBvUm9vdCwgXCJSRUFETUUubWRcIil9YCxcbiAgICAgICAgbWltZVR5cGU6IFwidGV4dC9tYXJrZG93blwiLFxuICAgICAgfSxcbiAgICBdO1xuICAgIHdyaXRlSW5kZXgoXG4gICAgICB0ZW1wbGF0ZXNEaXIsXG4gICAgICBcInRlbXBsYXRlc1wiLFxuICAgICAgSlNPTi5zdHJpbmdpZnkodGVtcGxhdGVBc3NldHMsIG51bGwsIDIpXG4gICAgKTtcblxuICAgIC8vIFRvb2xzOiBjcmVhdGUgYSB3cmFwcGVyIHRvb2wgdGhhdCBleHBvc2VzIGFuYWx5emUvZW51bWVyYXRlIGZvciB0aGUgbW9kdWxlXG4gICAgY29uc3QgdG9vbEluZGV4UGF0aCA9IHBhdGguam9pbih0b29sc0RpciwgXCJpbmRleC50c1wiKTtcbiAgICBjb25zdCB0b29sQ29udGVudCA9IGBpbXBvcnQgdHlwZSB7IFRvb2wgfSBmcm9tICdmYXN0bWNwJztcXG5pbXBvcnQgeyBidWlsZEFuYWx5emVSZXBvc2l0b3J5VG9vbCwgYnVpbGRFbnVtZXJhdGVDYXBhYmlsaXRpZXNUb29sLCBidWlsZFBsYW5GZWF0dXJlVG9vbCB9IGZyb20gJy4uLy4uLy4uL21jcC90b29scy90b29scyc7XFxuZXhwb3J0IGNvbnN0IHRvb2xzID0gW1xcbiAgeyBpZDogJyR7aW5mZXJyZWROYW1lfS5hbmFseXplJywgdGl0bGU6ICdBbmFseXplICR7aW5mZXJyZWROYW1lfScsIGRlc2NyaXB0aW9uOiAnQW5hbHl6ZSB0aGUgdGFyZ2V0IHJlcG9zaXRvcnknLCB0b29sOiBidWlsZEFuYWx5emVSZXBvc2l0b3J5VG9vbCgpIH0sXFxuICB7IGlkOiAnJHtpbmZlcnJlZE5hbWV9LmVudW1lcmF0ZScsIHRpdGxlOiAnRW51bWVyYXRlIGNhcGFiaWxpdGllcyBmb3IgJHtpbmZlcnJlZE5hbWV9JywgZGVzY3JpcHRpb246ICdFbnVtZXJhdGUgY2FwYWJpbGl0aWVzJywgdG9vbDogYnVpbGRFbnVtZXJhdGVDYXBhYmlsaXRpZXNUb29sKCkgfSxcXG4gIHsgaWQ6ICcke2luZmVycmVkTmFtZX0ucGxhbicsIHRpdGxlOiAnUGxhbiBmZWF0dXJlcyBmb3IgJHtpbmZlcnJlZE5hbWV9JywgZGVzY3JpcHRpb246ICdQbGFuIGZlYXR1cmUgaW1wbGVtZW50YXRpb24nLCB0b29sOiBidWlsZFBsYW5GZWF0dXJlVG9vbCgpIH0sXFxuXSBhcyBjb25zdDtcXG5gO1xuICAgIGZzLndyaXRlRmlsZVN5bmModG9vbEluZGV4UGF0aCwgdG9vbENvbnRlbnQsIHsgZW5jb2Rpbmc6IFwidXRmOFwiIH0pO1xuXG4gICAgLy8gV3JpdGUgbW9kdWxlIGluZGV4LnRzXG4gICAgY29uc3QgbW9kdWxlSW5kZXggPSBwYXRoLmpvaW4obW9kdWxlUm9vdCwgXCJpbmRleC50c1wiKTtcbiAgICBjb25zdCBtb2R1bGVJbmRleENvbnRlbnQgPSBgaW1wb3J0IHsgcHJvbXB0cyB9IGZyb20gJy4vcHJvbXB0cyc7XFxuaW1wb3J0IHsgcmVzb3VyY2VzIH0gZnJvbSAnLi9yZXNvdXJjZXMnO1xcbmltcG9ydCB7IHRlbXBsYXRlcyB9IGZyb20gJy4vdGVtcGxhdGVzJztcXG5pbXBvcnQgeyB0b29scyB9IGZyb20gJy4vdG9vbHMnO1xcbmV4cG9ydCB7IHByb21wdHMgfSBmcm9tICcuL3Byb21wdHMnO1xcbmV4cG9ydCB7IHJlc291cmNlcyB9IGZyb20gJy4vcmVzb3VyY2VzJztcXG5leHBvcnQgeyB0ZW1wbGF0ZXMgfSBmcm9tICcuL3RlbXBsYXRlcyc7XFxuZXhwb3J0IHsgdG9vbHMgfSBmcm9tICcuL3Rvb2xzJztcXG5leHBvcnQgY29uc3QgbW9kdWxlUGFja2FnZSA9IHsgbmFtZTogJyR7aW5mZXJyZWROYW1lfScsIHByb21wdHMsIHJlc291cmNlcywgdGVtcGxhdGVzLCB0b29scyB9IGFzIGNvbnN0O1xcbmA7XG4gICAgZnMud3JpdGVGaWxlU3luYyhtb2R1bGVJbmRleCwgbW9kdWxlSW5kZXhDb250ZW50LCB7IGVuY29kaW5nOiBcInV0ZjhcIiB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICBjb250ZW50OiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBcInRleHRcIixcbiAgICAgICAgICB0ZXh0OiBKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbW9kdWxlUm9vdCxcbiAgICAgICAgICAgICAgaW5mZXJyZWROYW1lLFxuICAgICAgICAgICAgICBhbmFseXNpc1N1bW1hcnk6IHtcbiAgICAgICAgICAgICAgICBmaWxlczogYW5hbHlzaXMuZmlsZXMubGVuZ3RoLFxuICAgICAgICAgICAgICAgIHRlc3RGaWxlczogYW5hbHlzaXMudGVzdEZpbGVzLmxlbmd0aCxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgMlxuICAgICAgICAgICksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH07XG4gIH0sXG59O1xuXG5leHBvcnQgZGVmYXVsdCBnZW5lcmF0ZU1jcE1vZHVsZVRvb2w7XG4iXX0=
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVNY3BNb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbWNwL3Rvb2xzL2dlbmVyYXRlTWNwTW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdDQUFnQztBQUNoQyxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDcEIsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBRXhCLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFDeEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTlELE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDOUIsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO0lBQzVDLFVBQVUsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2pDLFdBQVcsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztDQUN2QyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBMkM7SUFDM0UsSUFBSSxFQUFFLHFCQUFxQjtJQUMzQixXQUFXLEVBQ1QsZ0pBQWdKO0lBQ2xKLFVBQVUsRUFBRSxjQUFjO0lBQzFCLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDdkIsTUFBTSxJQUFJLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxLQUFZLENBQUMsQ0FBQztRQUNoRCxNQUFNLElBQUksR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ2hDLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFP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cm9tIFwiZnNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgdHlwZSB7IFRvb2wgfSBmcm9tIFwiZmFzdG1jcFwiO1xuaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2RcIjtcbmltcG9ydCB7IGdldFdvcmtzcGFjZVJvb3QgfSBmcm9tIFwiLi4vd29ya3NwYWNlXCI7XG5pbXBvcnQgeyBhbmFseXplUmVwbyB9IGZyb20gXCIuLi9jb2RlXCI7XG5pbXBvcnQgeyBzY2FmZm9sZE1vZHVsZSB9IGZyb20gXCIuLi92YWxpZGF0aW9uL3NjYWZmb2xkTW9kdWxlXCI7XG5cbmNvbnN0IGdlbmVyYXRlU2NoZW1hID0gei5vYmplY3Qoe1xuICByZXBvUGF0aDogei5zdHJpbmcoKS5vcHRpb25hbCgpLmRlZmF1bHQoXCIuXCIpLFxuICBtb2R1bGVOYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGluY2x1ZGVEb2NzOiB6LmJvb2xlYW4oKS5kZWZhdWx0KHRydWUpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZU1jcE1vZHVsZVRvb2w6IFRvb2w8dW5kZWZpbmVkLCB0eXBlb2YgZ2VuZXJhdGVTY2hlbWE+ID0ge1xuICBuYW1lOiBcImdlbmVyYXRlLW1jcC1tb2R1bGVcIixcbiAgZGVzY3JpcHRpb246XG4gICAgXCJHZW5lcmF0ZSBhIG1pbmltYWwgTUNQIG1vZHVsZSB1bmRlciBzcmMvbW9kdWxlcy88bmFtZT4gYnkgYW5hbHl6aW5nIGEgdGFyZ2V0IHJlcG9zaXRvcnkgYW5kIGV4cG9ydGluZyBwcm9tcHRzLCByZXNvdXJjZXMsIHRlbXBsYXRlcyBhbmQgdG9vbHMuXCIsXG4gIHBhcmFtZXRlcnM6IGdlbmVyYXRlU2NoZW1hLFxuICBleGVjdXRlOiBhc3luYyAoaW5wdXQpID0+IHtcbiAgICBjb25zdCBhcmdzID0gZ2VuZXJhdGVTY2hlbWEucGFyc2UoaW5wdXQgYXMgYW55KTtcbiAgICBjb25zdCByb290ID0gZ2V0V29ya3NwYWNlUm9vdCgpO1xuICAgIGxldCByZXBvUm9vdCA9IHBhdGgucmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBhcmdzLnJlcG9QYXRoIHx8IFwiLlwiKTtcbiAgICBpZiAoIWZzLmV4aXN0c1N5bmMocmVwb1Jvb3QpKSB7XG4gICAgICBjb25zdCBhbHQgPSBwYXRoLnJlc29sdmUocHJvY2Vzcy5jd2QoKSwgXCIuLlwiLCBhcmdzLnJlcG9QYXRoKTtcbiAgICAgIGlmIChmcy5leGlzdHNTeW5jKGFsdCkpIHJlcG9Sb290ID0gYWx0O1xuICAgIH1cbiAgICBpZiAoIWZzLmV4aXN0c1N5bmMocmVwb1Jvb3QpKSB7XG4gICAgICBjb25zdCBhbHQyID0gcGF0aC5yZXNvbHZlKFxuICAgICAgICBwcm9jZXNzLmN3ZCgpLFxuICAgICAgICBcIi4uXCIsXG4gICAgICAgIHBhdGguYmFzZW5hbWUoYXJncy5yZXBvUGF0aClcbiAgICAgICk7XG4gICAgICBpZiAoZnMuZXhpc3RzU3luYyhhbHQyKSkgcmVwb1Jvb3QgPSBhbHQyO1xuICAgIH1cbiAgICBpZiAoIWZzLmV4aXN0c1N5bmMocmVwb1Jvb3QpKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBSZXBvc2l0b3J5IG5vdCBmb3VuZCBhdCAke3JlcG9Sb290fWApO1xuXG4gICAgY29uc3QgYW5hbHlzaXMgPSBhbmFseXplUmVwbyhyZXBvUm9vdCk7XG4gICAgY29uc3QgaW5mZXJyZWROYW1lID1cbiAgICAgIGFyZ3MubW9kdWxlTmFtZSA/PyBwYXRoLmJhc2VuYW1lKHBhdGgucmVzb2x2ZShyZXBvUm9vdCkpO1xuICAgIGNvbnN0IG1vZHVsZVJvb3QgPSBwYXRoLmpvaW4ocm9vdCwgXCJzcmNcIiwgXCJtb2R1bGVzXCIsIGluZmVycmVkTmFtZSk7XG5cbiAgICAvLyBVc2UgZXhpc3Rpbmcgc2NhZmZvbGQgdG8gY3JlYXRlIGZvbGRlcnNcbiAgICBzY2FmZm9sZE1vZHVsZShyb290LCBpbmZlcnJlZE5hbWUpO1xuXG4gICAgLy8gcG9wdWxhdGUgcHJvbXB0czogY29weSBtYXJrZG93biBwcm9tcHRzIGZyb20gUkVBRE1FLm1kIGFuZCBkb2NzL1xuICAgIGNvbnN0IHByb21wdHNEaXIgPSBwYXRoLmpvaW4obW9kdWxlUm9vdCwgXCJwcm9tcHRzXCIpO1xuICAgIGNvbnN0IHJlc291cmNlc0RpciA9IHBhdGguam9pbihtb2R1bGVSb290LCBcInJlc291cmNlc1wiKTtcbiAgICBjb25zdCB0ZW1wbGF0ZXNEaXIgPSBwYXRoLmpvaW4obW9kdWxlUm9vdCwgXCJ0ZW1wbGF0ZXNcIik7XG4gICAgY29uc3QgdG9vbHNEaXIgPSBwYXRoLmpvaW4obW9kdWxlUm9vdCwgXCJ0b29sc1wiKTtcblxuICAgIC8vIGhlbHBlciB0byB3cml0ZSBhbiBpbmRleC50cyB0aGF0IGV4cG9ydHMgYXJyYXlzXG4gICAgZnVuY3Rpb24gd3JpdGVJbmRleChkaXI6IHN0cmluZywgdmFyTmFtZTogc3RyaW5nLCBpdGVtczogc3RyaW5nKSB7XG4gICAgICBjb25zdCBwID0gcGF0aC5qb2luKGRpciwgXCJpbmRleC50c1wiKTtcbiAgICAgIGNvbnN0IGNvbnRlbnQgPSBgZXhwb3J0IGNvbnN0ICR7dmFyTmFtZX0gPSAke2l0ZW1zfSBhcyBjb25zdDtcXG5gO1xuICAgICAgZnMud3JpdGVGaWxlU3luYyhwLCBjb250ZW50LCB7IGVuY29kaW5nOiBcInV0ZjhcIiB9KTtcbiAgICB9XG5cbiAgICAvLyBQcm9tcHRzOiBjcmVhdGUgYSBzaW1wbGUgcHJvbXB0IGZyb20gUkVBRE1FIGFuZCBhbnkgLm1kIGluIGRvY3NcbiAgICBjb25zdCBwcm9tcHRBc3NldHM6IGFueVtdID0gW107XG4gICAgaWYgKGFyZ3MuaW5jbHVkZURvY3MpIHtcbiAgICAgIGNvbnN0IHJlYWRtZSA9IHBhdGguam9pbihyZXBvUm9vdCwgXCJSRUFETUUubWRcIik7XG4gICAgICBpZiAoZnMuZXhpc3RzU3luYyhyZWFkbWUpKSB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSBmcy5yZWFkRmlsZVN5bmMocmVhZG1lLCBcInV0ZjhcIik7XG4gICAgICAgIGNvbnN0IGlkID0gXCJyZWFkbWVcIjtcbiAgICAgICAgY29uc3QgcHJvbXB0UGF0aCA9IHBhdGguam9pbihwcm9tcHRzRGlyLCBgJHtpZH0ubWRgKTtcbiAgICAgICAgZnMud3JpdGVGaWxlU3luYyhwcm9tcHRQYXRoLCBjb250ZW50LCB7IGVuY29kaW5nOiBcInV0ZjhcIiB9KTtcbiAgICAgICAgcHJvbXB0QXNzZXRzLnB1c2goe1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIHRpdGxlOiBcIlJFQURNRVwiLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlJlcG9zaXRvcnkgUkVBRE1FXCIsXG4gICAgICAgICAgYWJzb2x1dGVQYXRoOiBwcm9tcHRQYXRoLFxuICAgICAgICAgIGxvYWQ6ICgpID0+IGNvbnRlbnQsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgY29uc3QgZG9jc0RpciA9IHBhdGguam9pbihyZXBvUm9vdCwgXCJkb2NzXCIpO1xuICAgICAgaWYgKGZzLmV4aXN0c1N5bmMoZG9jc0RpcikgJiYgZnMuc3RhdFN5bmMoZG9jc0RpcikuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgICBmb3IgKGNvbnN0IGYgb2YgZnMucmVhZGRpclN5bmMoZG9jc0RpcikpIHtcbiAgICAgICAgICBpZiAoIWYuZW5kc1dpdGgoXCIubWRcIikpIGNvbnRpbnVlO1xuICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSBmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKGRvY3NEaXIsIGYpLCBcInV0ZjhcIik7XG4gICAgICAgICAgY29uc3QgaWQgPSBwYXRoLnBhcnNlKGYpLm5hbWU7XG4gICAgICAgICAgY29uc3QgcHJvbXB0UGF0aCA9IHBhdGguam9pbihwcm9tcHRzRGlyLCBgJHtpZH0ubWRgKTtcbiAgICAgICAgICBmcy53cml0ZUZpbGVTeW5jKHByb21wdFBhdGgsIGNvbnRlbnQsIHsgZW5jb2Rpbmc6IFwidXRmOFwiIH0pO1xuICAgICAgICAgIHByb21wdEFzc2V0cy5wdXNoKHtcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgdGl0bGU6IGlkLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IGNvbnRlbnQuc3BsaXQoL1xccj9cXG4vKVswXSB8fCBcIlwiLFxuICAgICAgICAgICAgYWJzb2x1dGVQYXRoOiBwcm9tcHRQYXRoLFxuICAgICAgICAgICAgbG9hZDogKCkgPT4gY29udGVudCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHdyaXRlSW5kZXgocHJvbXB0c0RpciwgXCJwcm9tcHRzXCIsIEpTT04uc3RyaW5naWZ5KHByb21wdEFzc2V0cywgbnVsbCwgMikpO1xuXG4gICAgLy8gUmVzb3VyY2VzOiByZWZlcmVuY2UgdGhlIHJlcG8gcm9vdCBhbmQgZG9jc1xuICAgIGNvbnN0IHJlc291cmNlQXNzZXRzID0gW1xuICAgICAge1xuICAgICAgICBpZDogYCR7aW5mZXJyZWROYW1lfS5yZXBvYCxcbiAgICAgICAgbmFtZTogYCR7aW5mZXJyZWROYW1lfSByZXBvc2l0b3J5YCxcbiAgICAgICAgZGVzY3JpcHRpb246IFwiU291cmNlIHJlcG9zaXRvcnlcIixcbiAgICAgICAgdXJpOiBgZmlsZTovLyR7cmVwb1Jvb3R9YCxcbiAgICAgICAgYWJzb2x1dGVQYXRoOiByZXBvUm9vdCxcbiAgICAgIH0sXG4gICAgXTtcbiAgICB3cml0ZUluZGV4KFxuICAgICAgcmVzb3VyY2VzRGlyLFxuICAgICAgXCJyZXNvdXJjZXNcIixcbiAgICAgIEpTT04uc3RyaW5naWZ5KHJlc291cmNlQXNzZXRzLCBudWxsLCAyKVxuICAgICk7XG5cbiAgICAvLyBUZW1wbGF0ZXM6IGNyZWF0ZSBhIHBsYWNlaG9sZGVyIHRlbXBsYXRlIHRoYXQgcmVmZXJlbmNlcyBSRUFETUVcbiAgICBjb25zdCB0ZW1wbGF0ZUFzc2V0cyA9IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJyZWFkbWUtdGVtcGxhdGVcIixcbiAgICAgICAgZGVzY3JpcHRpb246IFwiUkVBRE1FIGFzIGd1aWRhbmNlXCIsXG4gICAgICAgIHVyaVRlbXBsYXRlOiBgZmlsZTovLyR7cGF0aC5qb2luKHJlcG9Sb290LCBcIlJFQURNRS5tZFwiKX1gLFxuICAgICAgICBtaW1lVHlwZTogXCJ0ZXh0L21hcmtkb3duXCIsXG4gICAgICB9LFxuICAgIF07XG4gICAgd3JpdGVJbmRleChcbiAgICAgIHRlbXBsYXRlc0RpcixcbiAgICAgIFwidGVtcGxhdGVzXCIsXG4gICAgICBKU09OLnN0cmluZ2lmeSh0ZW1wbGF0ZUFzc2V0cywgbnVsbCwgMilcbiAgICApO1xuXG4gICAgLy8gVG9vbHM6IGNyZWF0ZSBhIHdyYXBwZXIgdG9vbCB0aGF0IGV4cG9zZXMgYW5hbHl6ZS9lbnVtZXJhdGUgZm9yIHRoZSBtb2R1bGVcbiAgICBjb25zdCB0b29sSW5kZXhQYXRoID0gcGF0aC5qb2luKHRvb2xzRGlyLCBcImluZGV4LnRzXCIpO1xuICAgIGNvbnN0IHRvb2xDb250ZW50ID0gYGltcG9ydCB0eXBlIHsgVG9vbCB9IGZyb20gJ2Zhc3RtY3AnO1xcbmltcG9ydCB7IGJ1aWxkQW5hbHl6ZVJlcG9zaXRvcnlUb29sLCBidWlsZEVudW1lcmF0ZUNhcGFiaWxpdGllc1Rvb2wsIGJ1aWxkUGxhbkZlYXR1cmVUb29sIH0gZnJvbSAnLi4vLi4vLi4vbWNwL3Rvb2xzL3Rvb2xzJztcXG5leHBvcnQgY29uc3QgdG9vbHMgPSBbXFxuICB7IGlkOiAnJHtpbmZlcnJlZE5hbWV9LmFuYWx5emUnLCB0aXRsZTogJ0FuYWx5emUgJHtpbmZlcnJlZE5hbWV9JywgZGVzY3JpcHRpb246ICdBbmFseXplIHRoZSB0YXJnZXQgcmVwb3NpdG9yeScsIHRvb2w6IGJ1aWxkQW5hbHl6ZVJlcG9zaXRvcnlUb29sKCkgfSxcXG4gIHsgaWQ6ICcke2luZmVycmVkTmFtZX0uZW51bWVyYXRlJywgdGl0bGU6ICdFbnVtZXJhdGUgY2FwYWJpbGl0aWVzIGZvciAke2luZmVycmVkTmFtZX0nLCBkZXNjcmlwdGlvbjogJ0VudW1lcmF0ZSBjYXBhYmlsaXRpZXMnLCB0b29sOiBidWlsZEVudW1lcmF0ZUNhcGFiaWxpdGllc1Rvb2woKSB9LFxcbiAgeyBpZDogJyR7aW5mZXJyZWROYW1lfS5wbGFuJywgdGl0bGU6ICdQbGFuIGZlYXR1cmVzIGZvciAke2luZmVycmVkTmFtZX0nLCBkZXNjcmlwdGlvbjogJ1BsYW4gZmVhdHVyZSBpbXBsZW1lbnRhdGlvbicsIHRvb2w6IGJ1aWxkUGxhbkZlYXR1cmVUb29sKCkgfSxcXG5dIGFzIGNvbnN0O1xcbmA7XG4gICAgZnMud3JpdGVGaWxlU3luYyh0b29sSW5kZXhQYXRoLCB0b29sQ29udGVudCwgeyBlbmNvZGluZzogXCJ1dGY4XCIgfSk7XG5cbiAgICAvLyBXcml0ZSBtb2R1bGUgaW5kZXgudHNcbiAgICBjb25zdCBtb2R1bGVJbmRleCA9IHBhdGguam9pbihtb2R1bGVSb290LCBcImluZGV4LnRzXCIpO1xuICAgIGNvbnN0IG1vZHVsZUluZGV4Q29udGVudCA9IGBpbXBvcnQgeyBwcm9tcHRzIH0gZnJvbSAnLi9wcm9tcHRzJztcXG5pbXBvcnQgeyByZXNvdXJjZXMgfSBmcm9tICcuL3Jlc291cmNlcyc7XFxuaW1wb3J0IHsgdGVtcGxhdGVzIH0gZnJvbSAnLi90ZW1wbGF0ZXMnO1xcbmltcG9ydCB7IHRvb2xzIH0gZnJvbSAnLi90b29scyc7XFxuZXhwb3J0IHsgcHJvbXB0cyB9IGZyb20gJy4vcHJvbXB0cyc7XFxuZXhwb3J0IHsgcmVzb3VyY2VzIH0gZnJvbSAnLi9yZXNvdXJjZXMnO1xcbmV4cG9ydCB7IHRlbXBsYXRlcyB9IGZyb20gJy4vdGVtcGxhdGVzJztcXG5leHBvcnQgeyB0b29scyB9IGZyb20gJy4vdG9vbHMnO1xcbmV4cG9ydCBjb25zdCBtb2R1bGVQYWNrYWdlID0geyBuYW1lOiAnJHtpbmZlcnJlZE5hbWV9JywgcHJvbXB0cywgcmVzb3VyY2VzLCB0ZW1wbGF0ZXMsIHRvb2xzIH0gYXMgY29uc3Q7XFxuYDtcbiAgICBmcy53cml0ZUZpbGVTeW5jKG1vZHVsZUluZGV4LCBtb2R1bGVJbmRleENvbnRlbnQsIHsgZW5jb2Rpbmc6IFwidXRmOFwiIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRlbnQ6IFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICAgIHRleHQ6IEpTT04uc3RyaW5naWZ5KFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBtb2R1bGVSb290LFxuICAgICAgICAgICAgICBpbmZlcnJlZE5hbWUsXG4gICAgICAgICAgICAgIGFuYWx5c2lzU3VtbWFyeToge1xuICAgICAgICAgICAgICAgIGZpbGVzOiBhbmFseXNpcy5maWxlcy5sZW5ndGgsXG4gICAgICAgICAgICAgICAgdGVzdEZpbGVzOiBhbmFseXNpcy50ZXN0RmlsZXMubGVuZ3RoLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAyXG4gICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfSxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGdlbmVyYXRlTWNwTW9kdWxlVG9vbDtcbiJdfQ==
|
|
@@ -1,107 +1,5 @@
|
|
|
1
1
|
import { decoratorTools } from "../decorator-tools";
|
|
2
|
-
export * from "./tools";
|
|
3
|
-
export * from "./codex-tools";
|
|
4
|
-
export * from "./generateMcpModule";
|
|
5
2
|
export declare const toolList: any[];
|
|
6
|
-
export declare const decoratorToolList: ({
|
|
7
|
-
readonly name: "create-or-update-model";
|
|
8
|
-
readonly description: "Create or update a validation-ready model class";
|
|
9
|
-
readonly execute: (args: {
|
|
10
|
-
filePath: string;
|
|
11
|
-
className: string;
|
|
12
|
-
classDecorators?: import("../decorator-tools").DecoratorSpec[];
|
|
13
|
-
properties: import("../decorator-tools").AttributeSpec[];
|
|
14
|
-
importsFrom: string;
|
|
15
|
-
overwrite?: boolean;
|
|
16
|
-
}) => Promise<{
|
|
17
|
-
filePath: string;
|
|
18
|
-
}>;
|
|
19
|
-
} | {
|
|
20
|
-
readonly name: "add-attribute";
|
|
21
|
-
readonly description: "Add a decorated attribute to an existing model";
|
|
22
|
-
readonly execute: (args: {
|
|
23
|
-
filePath: string;
|
|
24
|
-
className: string;
|
|
25
|
-
attribute: import("../decorator-tools").AttributeSpec;
|
|
26
|
-
importsFrom: string;
|
|
27
|
-
}) => Promise<{
|
|
28
|
-
filePath: string;
|
|
29
|
-
}>;
|
|
30
|
-
} | {
|
|
31
|
-
readonly name: "remove-attribute";
|
|
32
|
-
readonly description: "Remove an attribute from a model class";
|
|
33
|
-
readonly execute: (args: {
|
|
34
|
-
filePath: string;
|
|
35
|
-
className: string;
|
|
36
|
-
attributeName: string;
|
|
37
|
-
}) => Promise<{
|
|
38
|
-
filePath: string;
|
|
39
|
-
}>;
|
|
40
|
-
} | {
|
|
41
|
-
readonly name: "apply-decorator";
|
|
42
|
-
readonly description: "Apply a decorator to a class or property";
|
|
43
|
-
readonly execute: (args: {
|
|
44
|
-
filePath: string;
|
|
45
|
-
className: string;
|
|
46
|
-
target: {
|
|
47
|
-
kind: "class" | "property";
|
|
48
|
-
name?: string;
|
|
49
|
-
};
|
|
50
|
-
decorator: import("../decorator-tools").DecoratorSpec;
|
|
51
|
-
importsFrom: string;
|
|
52
|
-
}) => Promise<{
|
|
53
|
-
filePath: string;
|
|
54
|
-
}>;
|
|
55
|
-
} | {
|
|
56
|
-
readonly name: "remove-decorator";
|
|
57
|
-
readonly description: "Remove a decorator from a class or property";
|
|
58
|
-
readonly execute: (args: {
|
|
59
|
-
filePath: string;
|
|
60
|
-
className: string;
|
|
61
|
-
target: {
|
|
62
|
-
kind: "class" | "property";
|
|
63
|
-
name?: string;
|
|
64
|
-
};
|
|
65
|
-
decoratorName: string;
|
|
66
|
-
}) => Promise<{
|
|
67
|
-
filePath: string;
|
|
68
|
-
}>;
|
|
69
|
-
} | {
|
|
70
|
-
readonly name: "scaffold-validator";
|
|
71
|
-
readonly description: "Scaffold a validator class and optional decorator";
|
|
72
|
-
readonly execute: (args: {
|
|
73
|
-
validatorsDir: string;
|
|
74
|
-
decoratorDir?: string;
|
|
75
|
-
name: string;
|
|
76
|
-
}) => Promise<{
|
|
77
|
-
classFile: string;
|
|
78
|
-
decoratorFile: string | undefined;
|
|
79
|
-
}>;
|
|
80
|
-
} | {
|
|
81
|
-
readonly name: "scaffold-serializer";
|
|
82
|
-
readonly description: "Scaffold a serializer class and optional registry";
|
|
83
|
-
readonly execute: (args: {
|
|
84
|
-
dir: string;
|
|
85
|
-
name: string;
|
|
86
|
-
registerDir?: string;
|
|
87
|
-
setDefault?: boolean;
|
|
88
|
-
}) => Promise<{
|
|
89
|
-
classFile: string;
|
|
90
|
-
registerFile: string | undefined;
|
|
91
|
-
}>;
|
|
92
|
-
} | {
|
|
93
|
-
readonly name: "scaffold-hashing";
|
|
94
|
-
readonly description: "Scaffold a hashing function and optional registry";
|
|
95
|
-
readonly execute: (args: {
|
|
96
|
-
dir: string;
|
|
97
|
-
name: string;
|
|
98
|
-
registerDir?: string;
|
|
99
|
-
setDefault?: boolean;
|
|
100
|
-
}) => Promise<{
|
|
101
|
-
functionFile: string;
|
|
102
|
-
registerFile: string | undefined;
|
|
103
|
-
}>;
|
|
104
|
-
})[];
|
|
105
3
|
export declare const tools: {
|
|
106
4
|
createOrUpdateModelTool: {
|
|
107
5
|
readonly name: "create-or-update-model";
|
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
import { decoratorTools } from "../decorator-tools";
|
|
2
1
|
import { moduleRegistry } from "../moduleRegistry";
|
|
3
|
-
import { toolList as coreToolList, } from "./tools";
|
|
4
2
|
import { coverageEnforcerTool, documentObjectTool, readmeImprovementTool, } from "./codex-tools";
|
|
5
|
-
|
|
6
|
-
export * from "./codex-tools";
|
|
7
|
-
export * from "./generateMcpModule";
|
|
3
|
+
import { decoratorTools } from "../decorator-tools";
|
|
8
4
|
const codexToolList = [
|
|
9
5
|
documentObjectTool,
|
|
10
6
|
coverageEnforcerTool,
|
|
11
7
|
readmeImprovementTool,
|
|
12
8
|
];
|
|
13
|
-
|
|
9
|
+
import { toolList as coreToolList } from "./tools";
|
|
10
|
+
const moduleToolList = moduleRegistry
|
|
11
|
+
.listTools()
|
|
12
|
+
.map((asset) => asset.tool);
|
|
14
13
|
export const toolList = [...coreToolList, ...codexToolList, ...moduleToolList];
|
|
15
|
-
export const decoratorToolList = Object.values(decoratorTools);
|
|
16
14
|
const [analyzeRepositoryTool, enumerateCapabilitiesTool, planFeatureTool, documentCodeToolRef, applyCodeChangeToolRef,] = coreToolList;
|
|
17
15
|
export const tools = {
|
|
18
16
|
analyzeRepositoryTool,
|
|
@@ -26,4 +24,4 @@ export const tools = {
|
|
|
26
24
|
...decoratorTools,
|
|
27
25
|
};
|
|
28
26
|
export { decoratorTools };
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbWNwL3Rvb2xzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLGtCQUFrQixFQUNsQixxQkFBcUIsR0FDdEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE1BQU0sYUFBYSxHQUFHO0lBQ3BCLGtCQUFrQjtJQUNsQixvQkFBb0I7SUFDcEIscUJBQXFCO0NBQ3RCLENBQUM7QUFFRixPQUFPLEVBQUUsUUFBUSxJQUFJLFlBQVksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVuRCxNQUFNLGNBQWMsR0FBRyxjQUFjO0tBQ2xDLFNBQVMsRUFBRTtLQUNYLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQVcsQ0FBQyxDQUFDO0FBRXJDLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsWUFBWSxFQUFFLEdBQUcsYUFBYSxFQUFFLEdBQUcsY0FBYyxDQUFDLENBQUM7QUFDL0UsTUFBTSxDQUNKLHFCQUFxQixFQUNyQix5QkFBeUIsRUFDekIsZUFBZSxFQUNmLG1CQUFtQixFQUNuQixzQkFBc0IsRUFDdkIsR0FBRyxZQUFZLENBQUM7QUFFakIsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHO0lBQ25CLHFCQUFxQjtJQUNyQix5QkFBeUI7SUFDekIsZUFBZTtJQUNmLGdCQUFnQixFQUFFLG1CQUFtQjtJQUNyQyxtQkFBbUIsRUFBRSxzQkFBc0I7SUFDM0Msa0JBQWtCO0lBQ2xCLG9CQUFvQjtJQUNwQixxQkFBcUI7SUFDckIsR0FBRyxjQUFjO0NBQ2xCLENBQUM7QUFDRixPQUFPLEVBQUUsY0FBYyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtb2R1bGVSZWdpc3RyeSB9IGZyb20gXCIuLi9tb2R1bGVSZWdpc3RyeVwiO1xuaW1wb3J0IHtcbiAgY292ZXJhZ2VFbmZvcmNlclRvb2wsXG4gIGRvY3VtZW50T2JqZWN0VG9vbCxcbiAgcmVhZG1lSW1wcm92ZW1lbnRUb29sLFxufSBmcm9tIFwiLi9jb2RleC10b29sc1wiO1xuaW1wb3J0IHsgZGVjb3JhdG9yVG9vbHMgfSBmcm9tIFwiLi4vZGVjb3JhdG9yLXRvb2xzXCI7XG5jb25zdCBjb2RleFRvb2xMaXN0ID0gW1xuICBkb2N1bWVudE9iamVjdFRvb2wsXG4gIGNvdmVyYWdlRW5mb3JjZXJUb29sLFxuICByZWFkbWVJbXByb3ZlbWVudFRvb2wsXG5dO1xuXG5pbXBvcnQgeyB0b29sTGlzdCBhcyBjb3JlVG9vbExpc3QgfSBmcm9tIFwiLi90b29sc1wiO1xuXG5jb25zdCBtb2R1bGVUb29sTGlzdCA9IG1vZHVsZVJlZ2lzdHJ5XG4gIC5saXN0VG9vbHMoKVxuICAubWFwKChhc3NldCkgPT4gYXNzZXQudG9vbCBhcyBhbnkpO1xuXG5leHBvcnQgY29uc3QgdG9vbExpc3QgPSBbLi4uY29yZVRvb2xMaXN0LCAuLi5jb2RleFRvb2xMaXN0LCAuLi5tb2R1bGVUb29sTGlzdF07XG5jb25zdCBbXG4gIGFuYWx5emVSZXBvc2l0b3J5VG9vbCxcbiAgZW51bWVyYXRlQ2FwYWJpbGl0aWVzVG9vbCxcbiAgcGxhbkZlYXR1cmVUb29sLFxuICBkb2N1bWVudENvZGVUb29sUmVmLFxuICBhcHBseUNvZGVDaGFuZ2VUb29sUmVmLFxuXSA9IGNvcmVUb29sTGlzdDtcblxuZXhwb3J0IGNvbnN0IHRvb2xzID0ge1xuICBhbmFseXplUmVwb3NpdG9yeVRvb2wsXG4gIGVudW1lcmF0ZUNhcGFiaWxpdGllc1Rvb2wsXG4gIHBsYW5GZWF0dXJlVG9vbCxcbiAgZG9jdW1lbnRDb2RlVG9vbDogZG9jdW1lbnRDb2RlVG9vbFJlZixcbiAgYXBwbHlDb2RlQ2hhbmdlVG9vbDogYXBwbHlDb2RlQ2hhbmdlVG9vbFJlZixcbiAgZG9jdW1lbnRPYmplY3RUb29sLFxuICBjb3ZlcmFnZUVuZm9yY2VyVG9vbCxcbiAgcmVhZG1lSW1wcm92ZW1lbnRUb29sLFxuICAuLi5kZWNvcmF0b3JUb29scyxcbn07XG5leHBvcnQgeyBkZWNvcmF0b3JUb29scyB9O1xuIl19
|
|
@@ -5,7 +5,6 @@ import { analyzeRepoSchema, codeChangeSchema, documentCodeSchema, enumerateCapab
|
|
|
5
5
|
import { analyzeRepo } from "../code";
|
|
6
6
|
import { deriveCapabilities } from "../utils";
|
|
7
7
|
import { getWorkspaceRoot, resolveInWorkspace, throwUserError, WorkspaceError, } from "../workspace";
|
|
8
|
-
import { buildDocumentationPayload, DEFAULT_PROMPT_NAME, discoverDocPrompts, selectPrompt, } from "../prompts/prompts";
|
|
9
8
|
export function buildAnalyzeRepositoryTool() {
|
|
10
9
|
return {
|
|
11
10
|
name: "analyze-repository",
|
|
@@ -179,6 +178,9 @@ export const documentCodeTool = {
|
|
|
179
178
|
const fileContent = fs.readFileSync(filePath, {
|
|
180
179
|
encoding: args.encoding,
|
|
181
180
|
});
|
|
181
|
+
// dynamically import prompt helpers
|
|
182
|
+
const promptMod = await import("../prompts/prompts");
|
|
183
|
+
const { discoverDocPrompts, selectPrompt, DEFAULT_PROMPT_NAME, buildDocumentationPayload, } = promptMod;
|
|
182
184
|
const prompts = discoverDocPrompts(root);
|
|
183
185
|
if (!prompts.length) {
|
|
184
186
|
return throwUserError("No documentation prompts found under .code/prompts or .codex/prompts");
|
|
@@ -270,4 +272,4 @@ export const toolList = [
|
|
|
270
272
|
documentCodeTool,
|
|
271
273
|
applyCodeChangeTool,
|
|
272
274
|
];
|
|
273
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbWNwL3Rvb2xzL3Rvb2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFFeEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsMkJBQTJCLEVBQzNCLGlCQUFpQixHQUNsQixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5QyxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsY0FBYyxHQUNmLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixZQUFZLEdBQ2IsTUFBTSxvQkFBb0IsQ0FBQztBQUk1QixNQUFNLFVBQVUsMEJBQTBCO0lBSXhDLE9BQU87UUFDTCxJQUFJLEVBQUUsb0JBQW9CO1FBQzFCLFdBQVcsRUFDVCwrR0FBK0c7UUFDakgsVUFBVSxFQUFFLGlCQUFpQjtRQUM3QixPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3ZCLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMzRCxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUM3QiwyREFBMkQ7Z0JBQzNELE1BQU0sR0FBRyxHQUFHLElB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QUM7QUFJRixNQUFNLGFBQWEsR0FBYztJQUMvQiwwQkFBMEIsRUFBRTtJQUM1Qiw4QkFBOEIsRUFBRTtJQUNoQyxvQkFBb0IsRUFBRTtDQUN2QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFjO0lBQ2pDLEdBQUcsYUFBYTtJQUNoQixnQkFBZ0I7SUFDaEIsbUJBQW1CO0NBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgQ29udGVudFJlc3VsdCwgVG9vbCB9IGZyb20gXCJmYXN0bWNwXCI7XG5pbXBvcnQgeyBhcHBseVBhdGNoLCBjcmVhdGVUd29GaWxlc1BhdGNoIH0gZnJvbSBcImRpZmZcIjtcbmltcG9ydCB7XG4gIGFuYWx5emVSZXBvU2NoZW1hLFxuICBjb2RlQ2hhbmdlU2NoZW1hLFxuICBkb2N1bWVudENvZGVTY2hlbWEsXG4gIGVudW1lcmF0ZUNhcGFiaWxpdGllc1NjaGVtYSxcbiAgcGxhbkZlYXR1cmVTY2hlbWEsXG59IGZyb20gXCIuLi9zY2hlbWFzXCI7XG5pbXBvcnQgeyBhbmFseXplUmVwbyB9IGZyb20gXCIuLi9jb2RlXCI7XG5pbXBvcnQgeyBkZXJpdmVDYXBhYmlsaXRpZXMgfSBmcm9tIFwiLi4vdXRpbHNcIjtcbmltcG9ydCB7XG4gIGdldFdvcmtzcGFjZVJvb3QsXG4gIHJlc29sdmVJbldvcmtzcGFjZSxcbiAgdGhyb3dVc2VyRXJyb3IsXG4gIFdvcmtzcGFjZUVycm9yLFxufSBmcm9tIFwiLi4vd29ya3NwYWNlXCI7XG5pbXBvcnQge1xuICBidWlsZERvY3VtZW50YXRpb25QYXlsb2FkLFxuICBERUZBVUxUX1BST01QVF9OQU1FLFxuICBkaXNjb3ZlckRvY1Byb21wdHMsXG4gIHNlbGVjdFByb21wdCxcbn0gZnJvbSBcIi4uL3Byb21wdHMvcHJvbXB0c1wiO1xuaW1wb3J0IHR5cGUgeyBBcHBseUNvZGVDaGFuZ2VBcmdzLCBEb2N1bWVudENvZGVBcmdzIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyBnZW5lcmF0ZU1jcE1vZHVsZVRvb2wgfSBmcm9tIFwiLi9nZW5lcmF0ZU1jcE1vZHVsZVwiO1xuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRBbmFseXplUmVwb3NpdG9yeVRvb2woKTogVG9vbDxcbiAgdW5kZWZpbmVkLFxuICB0eXBlb2YgYW5hbHl6ZVJlcG9TY2hlbWFcbj4ge1xuICByZXR1cm4ge1xuICAgIG5hbWU6IFwiYW5hbHl6ZS1yZXBvc2l0b3J5XCIsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIkFuYWx5emUgYSBsb2NhbCByZXBvc2l0b3J5J3Mgc291cmNlLCB0ZXN0cywgYW5kIGRvY3MgdG8gZXh0cmFjdCBleHBvcnRlZCBBUElzLCBkZWNvcmF0b3JzLCBhbmQgdGVzdCBtZW50aW9ucy5cIixcbiAgICBwYXJhbWV0ZXJzOiBhbmFseXplUmVwb1NjaGVtYSxcbiAgICBleGVjdXRlOiBhc3luYyAoaW5wdXQpID0+IHtcbiAgICAgIGxldCByZXBvUm9vdCA9IHBhdGgucmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBpbnB1dC5yZXBvUGF0aCk7XG4gICAgICBpZiAoIWZzLmV4aXN0c1N5bmMocmVwb1Jvb3QpKSB7XG4gICAgICAgIC8vIHRyeSByZXNvbHZpbmcgZnJvbSBtb25vcmVwbyByb290IChwYXJlbnQgb2YgY3VycmVudCBjd2QpXG4gICAgICAgIGNvbnN0IGFsdCA9IHBhdGgucmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBcIi4uXCIsIGlucHV0LnJlcG9QYXRoKTtcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmMoYWx0KSkgcmVwb1Jvb3QgPSBhbHQ7XG4gICAgICB9XG4gICAgICBpZiAoIWZzLmV4aXN0c1N5bmMocmVwb1Jvb3QpKSB7XG4gICAgICAgIC8vIGlmIGlucHV0IHdhcyBhYnNvbHV0ZSBhbmQgc3RpbGwgbm90IGZvdW5kLCB0cnkgLi4vPGJhc2VuYW1lPlxuICAgICAgICBjb25zdCBhbHQyID0gcGF0aC5yZXNvbHZlKFxuICAgICAgICAgIHByb2Nlc3MuY3dkKCksXG4gICAgICAgICAgXCIuLlwiLFxuICAgICAgICAgIHBhdGguYmFzZW5hbWUoaW5wdXQucmVwb1BhdGgpXG4gICAgICAgICk7XG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKGFsdDIpKSByZXBvUm9vdCA9IGFsdDI7XG4gICAgICB9XG4gICAgICBpZiAoIWZzLmV4aXN0c1N5bmMocmVwb1Jvb3QpKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFJlcG9zaXRvcnkgbm90IGZvdW5kIGF0ICR7cmVwb1Jvb3R9YCk7XG4gICAgICBjb25zdCByZXN1bHQgPSBhbmFseXplUmVwbyhyZXBvUm9vdCk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb250ZW50OiBbeyB0eXBlOiBcInRleHRcIiwgdGV4dDogSlNPTi5zdHJpbmdpZnkocmVzdWx0LCBudWxsLCAyKSB9XSxcbiAgICAgIH07XG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkRW51bWVyYXRlQ2FwYWJpbGl0aWVzVG9vbCgpOiBUb29sPFxuICB1bmRlZmluZWQsXG4gIHR5cGVvZiBlbnVtZXJhdGVDYXBhYmlsaXRpZXNTY2hlbWFcbj4ge1xuICByZXR1cm4ge1xuICAgIG5hbWU6IFwiZW51bWVyYXRlLWNhcGFiaWxpdGllc1wiLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJFbnVtZXJhdGUgZGV2ZWxvcGVyLWZhY2luZyBjYXBhYmlsaXRpZXMgb2YgdGhlIGdpdmVuIHJlcG9zaXRvcnksIGluZmVycmVkIGZyb20gY29kZSwgdGVzdHMsIGFuZCBkb2NzLlwiLFxuICAgIHBhcmFtZXRlcnM6IGVudW1lcmF0ZUNhcGFiaWxpdGllc1NjaGVtYSxcbiAgICBleGVjdXRlOiBhc3luYyAoaW5wdXQpID0+IHtcbiAgICAgIGxldCByZXBvUm9vdCA9IHBhdGgucmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBpbnB1dC5yZXBvUGF0aCk7XG4gICAgICBpZiAoIWZzLmV4aXN0c1N5bmMocmVwb1Jvb3QpKSB7XG4gICAgICAgIGNvbnN0IGFsdCA9IHBhdGgucmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBcIi4uXCIsIGlucHV0LnJlcG9QYXRoKTtcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmMoYWx0KSkgcmVwb1Jvb3QgPSBhbHQ7XG4gICAgICB9XG4gICAgICBpZiAoIWZzLmV4aXN0c1N5bmMocmVwb1Jvb3QpKSB7XG4gICAgICAgIGNvbnN0IGFsdDIgPSBwYXRoLnJlc29sdmUoXG4gICAgICAgICAgcHJvY2Vzcy5jd2QoKSxcbiAgICAgICAgICBcIi4uXCIsXG4gICAgICAgICAgcGF0aC5iYXNlbmFtZShpbnB1dC5yZXBvUGF0aClcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmMoYWx0MikpIHJlcG9Sb290ID0gYWx0MjtcbiAgICAgIH1cbiAgICAgIGlmICghZnMuZXhpc3RzU3luYyhyZXBvUm9vdCkpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgUmVwb3NpdG9yeSBub3QgZm91bmQgYXQgJHtyZXBvUm9vdH1gKTtcbiAgICAgIGNvbnN0IGFuYWx5c2lzID0gYW5hbHl6ZVJlcG8ocmVwb1Jvb3QpO1xuICAgICAgY29uc3QgY2FwYWJpbGl0aWVzID0gZGVyaXZlQ2FwYWJpbGl0aWVzKGFuYWx5c2lzKTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbnRlbnQ6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiBcInRleHRcIixcbiAgICAgICAgICAgIHRleHQ6IEpTT04uc3RyaW5naWZ5KFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY2FwYWJpbGl0aWVzLFxuICAgICAgICAgICAgICAgIGFuYWx5c2lzU3VtbWFyeToge1xuICAgICAgICAgICAgICAgICAgZmlsZXM6IGFuYWx5c2lzLmZpbGVzLmxlbmd0aCxcbiAgICAgICAgICAgICAgICAgIHRlc3RGaWxlczogYW5hbHlzaXMudGVzdEZpbGVzLmxlbmd0aCxcbiAgICAgICAgICAgICAgICAgIHJlYWRtZTogYW5hbHlzaXMucmVhZG1lPy50aXRsZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICAyXG4gICAgICAgICAgICApLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9O1xuICAgIH0sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFBsYW5GZWF0dXJlVG9vbCgpOiBUb29sPFxuICB1bmRlZmluZWQsXG4gIHR5cGVvZiBwbGFuRmVhdHVyZVNjaGVtYVxuPiB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogXCJwbGFuLWZlYXR1cmUtaW1wbGVtZW50YXRpb25cIixcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiR2l2ZW4gYSBmZWF0dXJlIHJlcXVlc3QsIHNlbGVjdCBhcHByb3ByaWF0ZSBNQ1AgdG9vbHMgKGluY2x1ZGluZyBleGlzdGluZyBhbmQgbmV3IG9uZXMpIGFuZCBwcm9kdWNlIGFuIGV4ZWN1dGlvbiBwbGFuLlwiLFxuICAgIHBhcmFtZXRlcnM6IHBsYW5GZWF0dXJlU2NoZW1hLFxuICAgIGV4ZWN1dGU6IGFzeW5jIChpbnB1dCkgPT4ge1xuICAgICAgY29uc3Qgc3RlcHM6IEFycmF5PHtcbiAgICAgICAgc3RlcDogbnVtYmVyO1xuICAgICAgICBhY3Rpb246IHN0cmluZztcbiAgICAgICAgdG9vbD86IHN0cmluZztcbiAgICAgICAgYXJndW1lbnRzPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICAgICAgcmF0aW9uYWxlOiBzdHJpbmc7XG4gICAgICB9PiA9IFtdO1xuICAgICAgbGV0IGkgPSAxO1xuICAgICAgc3RlcHMucHVzaCh7XG4gICAgICAgIHN0ZXA6IGkrKyxcbiAgICAgICAgYWN0aW9uOiBcIkFuYWx5emUgcmVwb3NpdG9yeSB0byBlbnVtZXJhdGUgQVBJcyBhbmQgZGVjb3JhdG9yc1wiLFxuICAgICAgICB0b29sOiBcImFuYWx5emUtcmVwb3NpdG9yeVwiLFxuICAgICAgICBhcmd1bWVudHM6IHsgcmVwb1BhdGg6IGlucHV0LnJlcG9QYXRoIH0sXG4gICAgICAgIHJhdGlvbmFsZTogXCJVbmRlcnN0YW5kIGF2YWlsYWJsZSBidWlsZGluZyBibG9ja3MuXCIsXG4gICAgICB9KTtcbiAgICAgIHN0ZXBzLnB1c2goe1xuICAgICAgICBzdGVwOiBpKyssXG4gICAgICAgIGFjdGlvbjogXCJMaXN0IGNhcGFiaWxpdGllcyBleHBlY3RlZCBmb3IgZGV2ZWxvcGVyc1wiLFxuICAgICAgICB0b29sOiBcImVudW1lcmF0ZS1jYXBhYmlsaXRpZXNcIixcbiAgICAgICAgYXJndW1lbnRzOiB7IHJlcG9QYXRoOiBpbnB1dC5yZXBvUGF0aCB9LFxuICAgICAgICByYXRpb25hbGU6IFwiQWxpZ24gdGhlIHBsYW4gd2l0aCBzdXBwb3J0ZWQgY2FwYWJpbGl0aWVzLlwiLFxuICAgICAgfSk7XG4gICAgICAvLyBTdWdnZXN0IGV4aXN0aW5nIGdlbmVyaWMgdG9vbHMgZnJvbSBtY3AtbW9kdWxlXG4gICAgICBzdGVwcy5wdXNoKHtcbiAgICAgICAgc3RlcDogaSsrLFxuICAgICAgICBhY3Rpb246XG4gICAgICAgICAgXCJTZWxlY3QgZG9jdW1lbnRhdGlvbiBwcm9tcHQgYW5kIGdhdGhlciByZWxldmFudCBzb3VyY2UgZmlsZShzKVwiLFxuICAgICAgICB0b29sOiBcImRvY3VtZW50LWNvZGVcIixcbiAgICAgICAgYXJndW1lbnRzOiB7IGZpbGVQYXRoOiBcIjx0YXJnZXQtZmlsZT5cIiB9LFxuICAgICAgICByYXRpb25hbGU6IFwiUHJvdmlkZSBjb250ZXh0IGFuZCBpbnN0cnVjdGlvbnMgZm9yIGNoYW5nZXMuXCIsXG4gICAgICB9KTtcbiAgICAgIHN0ZXBzLnB1c2goe1xuICAgICAgICBzdGVwOiBpKyssXG4gICAgICAgIGFjdGlvbjogXCJBcHBseSBjb2RlIGNoYW5nZXMgdXNpbmcgdW5pZmllZCBkaWZmIHBhdGNoXCIsXG4gICAgICAgIHRvb2w6IFwiYXBwbHktY29kZS1jaGFuZ2VcIixcbiAgICAgICAgYXJndW1lbnRzOiB7XG4gICAgICAgICAgZmlsZVBhdGg6IFwiPHRhcmdldC1maWxlPlwiLFxuICAgICAgICAgIHBhdGNoOiBcIjx1bmlmaWVkLWRpZmY+XCIsXG4gICAgICAgICAgZHJ5UnVuOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICByYXRpb25hbGU6IFwiVmFsaWRhdGUgY2hhbmdlcyBzYWZlbHkgYmVmb3JlIGNvbW1pdHRpbmcuXCIsXG4gICAgICB9KTtcbiAgICAgIHN0ZXBzLnB1c2goe1xuICAgICAgICBzdGVwOiBpKyssXG4gICAgICAgIGFjdGlvbjogXCJDb21taXQgY29kZSBjaGFuZ2VzXCIsXG4gICAgICAgIHRvb2w6IFwiYXBwbHktY29kZS1jaGFuZ2VcIixcbiAgICAgICAgYXJndW1lbnRzOiB7XG4gICAgICAgICAgZmlsZVBhdGg6IFwiPHRhcmdldC1maWxlPlwiLFxuICAgICAgICAgIHBhdGNoOiBcIjx1bmlmaWVkLWRpZmY+XCIsXG4gICAgICAgICAgZHJ5UnVuOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgICAgcmF0aW9uYWxlOiBcIlBlcnNpc3QgdGhlIHVwZGF0ZS5cIixcbiAgICAgIH0pO1xuICAgICAgLy8gSWYgZGVjb3JhdGlvbi1yZWxhdGVkIHRlcm1zIHByZXNlbnQsIHN1Z2dlc3QgZGVjb3JhdG9yIHRvb2xzXG4gICAgICBpZiAoL2RlY29yYXR8Zmxhdm91cnxvdmVycmlkZXxleHRlbmR8YnVpbGRlci9pLnRlc3QoaW5wdXQuZmVhdHVyZSkpIHtcbiAgICAgICAgc3RlcHMudW5zaGlmdCh7XG4gICAgICAgICAgc3RlcDogMCxcbiAgICAgICAgICBhY3Rpb246IFwiVXNlIGRlY29yYXRvciB0b29saW5nIHRvIGluc2VydC9yZW1vdmUvbW9kaWZ5IGRlY29yYXRvcnNcIixcbiAgICAgICAgICB0b29sOiBcImRlY29yYXRvci10b29sc1wiLFxuICAgICAgICAgIGFyZ3VtZW50czogeyBhY3Rpb246IFwiaGVscFwiIH0sXG4gICAgICAgICAgcmF0aW9uYWxlOiBcIkxldmVyYWdlIHNwZWNpYWxpemVkIHV0aWxpdGllcyBmb3IgZGVjb3JhdGlvbiBwYXR0ZXJucy5cIixcbiAgICAgICAgfSk7XG4gICAgICAgIHN0ZXBzLmZvckVhY2goKHMsIGlkeCkgPT4gKHMuc3RlcCA9IGlkeCArIDEpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbnRlbnQ6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiBcInRleHRcIixcbiAgICAgICAgICAgIHRleHQ6IEpTT04uc3RyaW5naWZ5KFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcGxhbjogc3RlcHMsXG4gICAgICAgICAgICAgICAgbm90ZXM6XG4gICAgICAgICAgICAgICAgICBcIlJlcGxhY2UgcGxhY2Vob2xkZXIgYXJndW1lbnRzIGxpa2UgPHRhcmdldC1maWxlPiBhbmQgPHVuaWZpZWQtZGlmZj4gYmFzZWQgb24gdGhlIGFuYWx5c2lzIG91dHB1dC5cIixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgICAgMlxuICAgICAgICAgICAgKSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfTtcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgY29uc3QgZG9jdW1lbnRDb2RlVG9vbDogVG9vbDx1bmRlZmluZWQsIHR5cGVvZiBkb2N1bWVudENvZGVTY2hlbWE+ID0ge1xuICBhbm5vdGF0aW9uczoge1xuICAgIGlkZW1wb3RlbnRIaW50OiB0cnVlLFxuICAgIG9wZW5Xb3JsZEhpbnQ6IGZhbHNlLFxuICAgIHJlYWRPbmx5SGludDogdHJ1ZSxcbiAgICB0aXRsZTogXCJEb2N1bWVudCBTb3VyY2UgRmlsZVwiLFxuICB9LFxuICBkZXNjcmlwdGlvbjpcbiAgICBcIkdlbmVyYXRlIGRvY3VtZW50YXRpb24gZ3VpZGFuY2UgZm9yIGEgZmlsZSBieSBjb21iaW5pbmcgcmVwb3NpdG9yeSBwcm9tcHRzIHdpdGggdGhlIHRhcmdldCBzb3VyY2UgY29kZS5cIixcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBleGVjdXRlOiBhc3luYyAoaW5wdXQsIF9jb250ZXh0KTogUHJvbWlzZTxDb250ZW50UmVzdWx0PiA9PiB7XG4gICAgY29uc3QgYXJncyA9IGRvY3VtZW50Q29kZVNjaGVtYS5wYXJzZShpbnB1dCBhcyBEb2N1bWVudENvZGVBcmdzKTtcbiAgICBjb25zdCByb290ID0gZ2V0V29ya3NwYWNlUm9vdCgpO1xuICAgIGxldCBmaWxlUGF0aDogc3RyaW5nO1xuICAgIHRyeSB7XG4gICAgICBmaWxlUGF0aCA9IHJlc29sdmVJbldvcmtzcGFjZShyb290LCBhcmdzLmZpbGVQYXRoKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgV29ya3NwYWNlRXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIHRocm93VXNlckVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgfVxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cblxuICAgIGlmICghZnMuZXhpc3RzU3luYyhmaWxlUGF0aCkpIHtcbiAgICAgIHJldHVybiB0aHJvd1VzZXJFcnJvcihgQ2Fubm90IGRvY3VtZW50IG1pc3NpbmcgZmlsZSBhdCAke2FyZ3MuZmlsZVBhdGh9YCk7XG4gICAgfVxuXG4gICAgY29uc3QgZmlsZUNvbnRlbnQgPSBmcy5yZWFkRmlsZVN5bmMoZmlsZVBhdGgsIHtcbiAgICAgIGVuY29kaW5nOiBhcmdzLmVuY29kaW5nIGFzIEJ1ZmZlckVuY29kaW5nLFxuICAgIH0pO1xuICAgIGNvbnN0IHByb21wdHMgPSBkaXNjb3ZlckRvY1Byb21wdHMocm9vdCk7XG5cbiAgICBpZiAoIXByb21wdHMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdGhyb3dVc2VyRXJyb3IoXG4gICAgICAgIFwiTm8gZG9jdW1lbnRhdGlvbiBwcm9tcHRzIGZvdW5kIHVuZGVyIC5jb2RlL3Byb21wdHMgb3IgLmNvZGV4L3Byb21wdHNcIlxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcm9tcHQgPSBzZWxlY3RQcm9tcHQoXG4gICAgICBwcm9tcHRzLFxuICAgICAgYXJncy5wcm9tcHROYW1lID8/IERFRkFVTFRfUFJPTVBUX05BTUVcbiAgICApO1xuXG4gICAgcmV0dXJuIGJ1aWxkRG9jdW1lbnRhdGlvblBheWxvYWQoe1xuICAgICAgZmlsZVBhdGg6IGFyZ3MuZmlsZVBhdGgsXG4gICAgICBmaWxlQ29udGVudCxcbiAgICAgIHByb21wdCxcbiAgICAgIGluY2x1ZGVDb2RlOiBhcmdzLmluY2x1ZGVDb2RlLFxuICAgICAgaW5jbHVkZVByb21wdDogYXJncy5pbmNsdWRlUHJvbXB0LFxuICAgICAgaW5jbHVkZU1ldGFkYXRhOiBhcmdzLmluY2x1ZGVNZXRhZGF0YSxcbiAgICAgIGFkZGl0aW9uYWxDb250ZXh0OiBhcmdzLmFkZGl0aW9uYWxDb250ZXh0LFxuICAgIH0pO1xuICB9LFxuICBuYW1lOiBcImRvY3VtZW50LWNvZGVcIixcbiAgcGFyYW1ldGVyczogZG9jdW1lbnRDb2RlU2NoZW1hLFxufTtcblxuZXhwb3J0IGNvbnN0IGFwcGx5Q29kZUNoYW5nZVRvb2w6IFRvb2w8dW5kZWZpbmVkLCB0eXBlb2YgY29kZUNoYW5nZVNjaGVtYT4gPSB7XG4gIGFubm90YXRpb25zOiB7XG4gICAgZGVzdHJ1Y3RpdmVIaW50OiB0cnVlLFxuICAgIGlkZW1wb3RlbnRIaW50OiBmYWxzZSxcbiAgICBvcGVuV29ybGRIaW50OiBmYWxzZSxcbiAgICByZWFkT25seUhpbnQ6IGZhbHNlLFxuICAgIHRpdGxlOiBcIkFwcGx5IENvZGUgUGF0Y2hcIixcbiAgfSxcbiAgZGVzY3JpcHRpb246XG4gICAgXCJBcHBseSBhIHVuaWZpZWQgZGlmZiBwYXRjaCB0byBhIHdvcmtzcGFjZSBmaWxlIHdpdGggb3B0aW9uYWwgZHJ5LXJ1biB2YWxpZGF0aW9uIGFuZCBkaWZmIHByZXZpZXcuXCIsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgZXhlY3V0ZTogYXN5bmMgKGlucHV0LCBfY29udGV4dCk6IFByb21pc2U8c3RyaW5nIHwgQ29udGVudFJlc3VsdD4gPT4ge1xuICAgIGNvbnN0IGFyZ3MgPSBjb2RlQ2hhbmdlU2NoZW1hLnBhcnNlKGlucHV0IGFzIEFwcGx5Q29kZUNoYW5nZUFyZ3MpO1xuICAgIGNvbnN0IHJvb3QgPSBnZXRXb3Jrc3BhY2VSb290KCk7XG4gICAgbGV0IGZpbGVQYXRoOiBzdHJpbmc7XG4gICAgdHJ5IHtcbiAgICAgIGZpbGVQYXRoID0gcmVzb2x2ZUluV29ya3NwYWNlKHJvb3QsIGFyZ3MuZmlsZVBhdGgpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBXb3Jrc3BhY2VFcnJvcikge1xuICAgICAgICByZXR1cm4gdGhyb3dVc2VyRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICB9XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG5cbiAgICBjb25zdCBvcmlnaW5hbCA9IGZzLmV4aXN0c1N5bmMoZmlsZVBhdGgpXG4gICAgICA/IGZzLnJlYWRGaWxlU3luYyhmaWxlUGF0aCwgYXJncy5lbmNvZGluZyBhcyBCdWZmZXJFbmNvZGluZylcbiAgICAgIDogXCJcIjtcblxuICAgIGxldCBwYXRjaGVkOiBzdHJpbmcgfCBmYWxzZTtcbiAgICB0cnkge1xuICAgICAgcGF0Y2hlZCA9IGFwcGx5UGF0Y2gob3JpZ2luYWwsIGFyZ3MucGF0Y2gpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gdGhyb3dVc2VyRXJyb3IoXG4gICAgICAgIGBGYWlsZWQgdG8gYXBwbHkgcHJvdmlkZWQgcGF0Y2ggdG8gJHthcmdzLmZpbGVQYXRofTogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IGVycm9yfWBcbiAgICAgICk7XG4gICAgfVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaWYgKHBhdGNoZWQgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gdGhyb3dVc2VyRXJyb3IoXG4gICAgICAgIGBGYWlsZWQgdG8gYXBwbHkgcHJvdmlkZWQgcGF0Y2ggdG8gJHthcmdzLmZpbGVQYXRofWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKCFhcmdzLmRyeVJ1bikge1xuICAgICAgZnMubWtkaXJTeW5jKHBhdGguZGlybmFtZShmaWxlUGF0aCksIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgICAgZnMud3JpdGVGaWxlU3luYyhmaWxlUGF0aCwgcGF0Y2hlZCwge1xuICAgICAgICBlbmNvZGluZzogYXJncy5lbmNvZGluZyBhcyBCdWZmZXJFbmNvZGluZyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICghYXJncy5zaG93RGlmZikge1xuICAgICAgcmV0dXJuIGBQYXRjaCAke2FyZ3MuZHJ5UnVuID8gXCJ2YWxpZGF0ZWRcIiA6IFwiYXBwbGllZFwifSBmb3IgJHthcmdzLmZpbGVQYXRofWA7XG4gICAgfVxuXG4gICAgY29uc3QgcHJldmlldyA9IGNyZWF0ZVR3b0ZpbGVzUGF0Y2goXG4gICAgICBhcmdzLmZpbGVQYXRoLFxuICAgICAgYXJncy5maWxlUGF0aCxcbiAgICAgIG9yaWdpbmFsLFxuICAgICAgcGF0Y2hlZCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIHsgY29udGV4dDogYXJncy5kaWZmQ29udGV4dCB9XG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICBjb250ZW50OiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBcInRleHRcIixcbiAgICAgICAgICB0ZXh0OiBgUGF0Y2ggJHthcmdzLmRyeVJ1biA/IFwidmFsaWRhdGVkXCIgOiBcImFwcGxpZWRcIn0gZm9yICR7YXJncy5maWxlUGF0aH1gLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgICAgdGV4dDogW1wiYGBgZGlmZlwiLCBwcmV2aWV3LnRyaW0oKSwgXCJgYGBcIl0uam9pbihcIlxcblwiKSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSBzYXRpc2ZpZXMgQ29udGVudFJlc3VsdDtcbiAgfSxcbiAgbmFtZTogXCJhcHBseS1jb2RlLWNoYW5nZVwiLFxuICBwYXJhbWV0ZXJzOiBjb2RlQ2hhbmdlU2NoZW1hLFxufTtcblxudHlwZSBBbnlUb29sID0gVG9vbDx1bmRlZmluZWQsIGFueT47XG5cbmNvbnN0IGFuYWx5dGljVG9vbHM6IEFueVRvb2xbXSA9IFtcbiAgYnVpbGRBbmFseXplUmVwb3NpdG9yeVRvb2woKSxcbiAgYnVpbGRFbnVtZXJhdGVDYXBhYmlsaXRpZXNUb29sKCksXG4gIGJ1aWxkUGxhbkZlYXR1cmVUb29sKCksXG5dO1xuXG5leHBvcnQgY29uc3QgdG9vbExpc3Q6IEFueVRvb2xbXSA9IFtcbiAgLi4uYW5hbHl0aWNUb29scyxcbiAgZG9jdW1lbnRDb2RlVG9vbCxcbiAgYXBwbHlDb2RlQ2hhbmdlVG9vbCxcbl07XG4iXX0=
|
|
275
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbWNwL3Rvb2xzL3Rvb2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFFeEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsMkJBQTJCLEVBQzNCLGlCQUFpQixHQUNsQixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5QyxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixjQUFjLEVBQ2QsY0FBYyxHQUNmLE1BQU0sY0FBYyxDQUFDO0FBT3RCLE1BQU0sVUFBVSwwQkFBMEI7SUFJeEMsT0FBTztRQUNMLElBQUksRUFBRSxvQkFBb0I7UUFDMUIsV0FBVyxFQUNULCtHQUErRztRQUNqSCxVQUFVLEVBQUUsaUJBQWlCO1FBQzdCLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDdkIsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQzdCLDJEQUEyRDtnQkFDM0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFD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QUM1QixDQUFDO0lBQ0QsSUFBSSxFQUFFLG1CQUFtQjtJQUN6QixVQUFVLEVBQUUsZ0JBQWdCO0NBQzdCLENBQUM7QUFJRixNQUFNLGFBQWEsR0FBYztJQUMvQiwwQkFBMEIsRUFBRTtJQUM1Qiw4QkFBOEIsRUFBRTtJQUNoQyxvQkFBb0IsRUFBRTtDQUN2QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFjO0lBQ2pDLEdBQUcsYUFBYTtJQUNoQixnQkFBZ0I7SUFDaEIsbUJBQW1CO0NBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgQ29udGVudFJlc3VsdCwgVG9vbCB9IGZyb20gXCJmYXN0bWNwXCI7XG5pbXBvcnQgeyBhcHBseVBhdGNoLCBjcmVhdGVUd29GaWxlc1BhdGNoIH0gZnJvbSBcImRpZmZcIjtcbmltcG9ydCB7XG4gIGFuYWx5emVSZXBvU2NoZW1hLFxuICBjb2RlQ2hhbmdlU2NoZW1hLFxuICBkb2N1bWVudENvZGVTY2hlbWEsXG4gIGVudW1lcmF0ZUNhcGFiaWxpdGllc1NjaGVtYSxcbiAgcGxhbkZlYXR1cmVTY2hlbWEsXG59IGZyb20gXCIuLi9zY2hlbWFzXCI7XG5pbXBvcnQgeyBhbmFseXplUmVwbyB9IGZyb20gXCIuLi9jb2RlXCI7XG5pbXBvcnQgeyBkZXJpdmVDYXBhYmlsaXRpZXMgfSBmcm9tIFwiLi4vdXRpbHNcIjtcbmltcG9ydCB7XG4gIGdldFdvcmtzcGFjZVJvb3QsXG4gIHJlc29sdmVJbldvcmtzcGFjZSxcbiAgdGhyb3dVc2VyRXJyb3IsXG4gIFdvcmtzcGFjZUVycm9yLFxufSBmcm9tIFwiLi4vd29ya3NwYWNlXCI7XG4vLyBOT1RFOiBwcm9tcHQgaGVscGVycyAoYnVpbGREb2N1bWVudGF0aW9uUGF5bG9hZCwgZGlzY292ZXJEb2NQcm9tcHRzLCBzZWxlY3RQcm9tcHQsIERFRkFVTFRfUFJPTVBUX05BTUUpXG4vLyBhcmUgaW1wb3J0ZWQgZHluYW1pY2FsbHkgaW5zaWRlIGRvY3VtZW50Q29kZVRvb2wuZXhlY3V0ZSB0byBhdm9pZCBjcmVhdGluZyBhIHN0YXRpYyBjaXJjdWxhciBpbXBvcnRcbi8vIGF0IG1vZHVsZSBsb2FkIHRpbWUgKG1vZHVsZVJlZ2lzdHJ5IC0+IG1vZHVsZXMgLT4gZGVjb3JhdGlvbiB0b29scyAtPiBtY3AvdG9vbHMgLT4gcHJvbXB0cykuXG4vLyBUaGV5IHdpbGwgYmUgbG9hZGVkIHdoZW4gdGhlIHRvb2wgZXhlY3V0ZXMuXG5pbXBvcnQgdHlwZSB7IEFwcGx5Q29kZUNoYW5nZUFyZ3MsIERvY3VtZW50Q29kZUFyZ3MgfSBmcm9tIFwiLi4vdHlwZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkQW5hbHl6ZVJlcG9zaXRvcnlUb29sKCk6IFRvb2w8XG4gIHVuZGVmaW5lZCxcbiAgdHlwZW9mIGFuYWx5emVSZXBvU2NoZW1hXG4+IHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiBcImFuYWx5emUtcmVwb3NpdG9yeVwiLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJBbmFseXplIGEgbG9jYWwgcmVwb3NpdG9yeSdzIHNvdXJjZSwgdGVzdHMsIGFuZCBkb2NzIHRvIGV4dHJhY3QgZXhwb3J0ZWQgQVBJcywgZGVjb3JhdG9ycywgYW5kIHRlc3QgbWVudGlvbnMuXCIsXG4gICAgcGFyYW1ldGVyczogYW5hbHl6ZVJlcG9TY2hlbWEsXG4gICAgZXhlY3V0ZTogYXN5bmMgKGlucHV0KSA9PiB7XG4gICAgICBsZXQgcmVwb1Jvb3QgPSBwYXRoLnJlc29sdmUocHJvY2Vzcy5jd2QoKSwgaW5wdXQucmVwb1BhdGgpO1xuICAgICAgaWYgKCFmcy5leGlzdHNTeW5jKHJlcG9Sb290KSkge1xuICAgICAgICAvLyB0cnkgcmVzb2x2aW5nIGZyb20gbW9ub3JlcG8gcm9vdCAocGFyZW50IG9mIGN1cnJlbnQgY3dkKVxuICAgICAgICBjb25zdCBhbHQgPSBwYXRoLnJlc29sdmUocHJvY2Vzcy5jd2QoKSwgXCIuLlwiLCBpbnB1dC5yZXBvUGF0aCk7XG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKGFsdCkpIHJlcG9Sb290ID0gYWx0O1xuICAgICAgfVxuICAgICAgaWYgKCFmcy5leGlzdHNTeW5jKHJlcG9Sb290KSkge1xuICAgICAgICAvLyBpZiBpbnB1dCB3YXMgYWJzb2x1dGUgYW5kIHN0aWxsIG5vdCBmb3VuZCwgdHJ5IC4uLzxiYXNlbmFtZT5cbiAgICAgICAgY29uc3QgYWx0MiA9IHBhdGgucmVzb2x2ZShcbiAgICAgICAgICBwcm9jZXNzLmN3ZCgpLFxuICAgICAgICAgIFwiLi5cIixcbiAgICAgICAgICBwYXRoLmJhc2VuYW1lKGlucHV0LnJlcG9QYXRoKVxuICAgICAgICApO1xuICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyhhbHQyKSkgcmVwb1Jvb3QgPSBhbHQyO1xuICAgICAgfVxuICAgICAgaWYgKCFmcy5leGlzdHNTeW5jKHJlcG9Sb290KSlcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBSZXBvc2l0b3J5IG5vdCBmb3VuZCBhdCAke3JlcG9Sb290fWApO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYW5hbHl6ZVJlcG8ocmVwb1Jvb3QpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29udGVudDogW3sgdHlwZTogXCJ0ZXh0XCIsIHRleHQ6IEpTT04uc3RyaW5naWZ5KHJlc3VsdCwgbnVsbCwgMikgfV0sXG4gICAgICB9O1xuICAgIH0sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEVudW1lcmF0ZUNhcGFiaWxpdGllc1Rvb2woKTogVG9vbDxcbiAgdW5kZWZpbmVkLFxuICB0eXBlb2YgZW51bWVyYXRlQ2FwYWJpbGl0aWVzU2NoZW1hXG4+IHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiBcImVudW1lcmF0ZS1jYXBhYmlsaXRpZXNcIixcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiRW51bWVyYXRlIGRldmVsb3Blci1mYWNpbmcgY2FwYWJpbGl0aWVzIG9mIHRoZSBnaXZlbiByZXBvc2l0b3J5LCBpbmZlcnJlZCBmcm9tIGNvZGUsIHRlc3RzLCBhbmQgZG9jcy5cIixcbiAgICBwYXJhbWV0ZXJzOiBlbnVtZXJhdGVDYXBhYmlsaXRpZXNTY2hlbWEsXG4gICAgZXhlY3V0ZTogYXN5bmMgKGlucHV0KSA9PiB7XG4gICAgICBsZXQgcmVwb1Jvb3QgPSBwYXRoLnJlc29sdmUocHJvY2Vzcy5jd2QoKSwgaW5wdXQucmVwb1BhdGgpO1xuICAgICAgaWYgKCFmcy5leGlzdHNTeW5jKHJlcG9Sb290KSkge1xuICAgICAgICBjb25zdCBhbHQgPSBwYXRoLnJlc29sdmUocHJvY2Vzcy5jd2QoKSwgXCIuLlwiLCBpbnB1dC5yZXBvUGF0aCk7XG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKGFsdCkpIHJlcG9Sb290ID0gYWx0O1xuICAgICAgfVxuICAgICAgaWYgKCFmcy5leGlzdHNTeW5jKHJlcG9Sb290KSkge1xuICAgICAgICBjb25zdCBhbHQyID0gcGF0aC5yZXNvbHZlKFxuICAgICAgICAgIHByb2Nlc3MuY3dkKCksXG4gICAgICAgICAgXCIuLlwiLFxuICAgICAgICAgIHBhdGguYmFzZW5hbWUoaW5wdXQucmVwb1BhdGgpXG4gICAgICAgICk7XG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKGFsdDIpKSByZXBvUm9vdCA9IGFsdDI7XG4gICAgICB9XG4gICAgICBpZiAoIWZzLmV4aXN0c1N5bmMocmVwb1Jvb3QpKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFJlcG9zaXRvcnkgbm90IGZvdW5kIGF0ICR7cmVwb1Jvb3R9YCk7XG4gICAgICBjb25zdCBhbmFseXNpcyA9IGFuYWx5emVSZXBvKHJlcG9Sb290KTtcbiAgICAgIGNvbnN0IGNhcGFiaWxpdGllcyA9IGRlcml2ZUNhcGFiaWxpdGllcyhhbmFseXNpcyk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb250ZW50OiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgICAgICB0ZXh0OiBKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNhcGFiaWxpdGllcyxcbiAgICAgICAgICAgICAgICBhbmFseXNpc1N1bW1hcnk6IHtcbiAgICAgICAgICAgICAgICAgIGZpbGVzOiBhbmFseXNpcy5maWxlcy5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICB0ZXN0RmlsZXM6IGFuYWx5c2lzLnRlc3RGaWxlcy5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICByZWFkbWU6IGFuYWx5c2lzLnJlYWRtZT8udGl0bGUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgICAgMlxuICAgICAgICAgICAgKSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfTtcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRQbGFuRmVhdHVyZVRvb2woKTogVG9vbDxcbiAgdW5kZWZpbmVkLFxuICB0eXBlb2YgcGxhbkZlYXR1cmVTY2hlbWFcbj4ge1xuICByZXR1cm4ge1xuICAgIG5hbWU6IFwicGxhbi1mZWF0dXJlLWltcGxlbWVudGF0aW9uXCIsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIkdpdmVuIGEgZmVhdHVyZSByZXF1ZXN0LCBzZWxlY3QgYXBwcm9wcmlhdGUgTUNQIHRvb2xzIChpbmNsdWRpbmcgZXhpc3RpbmcgYW5kIG5ldyBvbmVzKSBhbmQgcHJvZHVjZSBhbiBleGVjdXRpb24gcGxhbi5cIixcbiAgICBwYXJhbWV0ZXJzOiBwbGFuRmVhdHVyZVNjaGVtYSxcbiAgICBleGVjdXRlOiBhc3luYyAoaW5wdXQpID0+IHtcbiAgICAgIGNvbnN0IHN0ZXBzOiBBcnJheTx7XG4gICAgICAgIHN0ZXA6IG51bWJlcjtcbiAgICAgICAgYWN0aW9uOiBzdHJpbmc7XG4gICAgICAgIHRvb2w/OiBzdHJpbmc7XG4gICAgICAgIGFyZ3VtZW50cz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgICAgIHJhdGlvbmFsZTogc3RyaW5nO1xuICAgICAgfT4gPSBbXTtcbiAgICAgIGxldCBpID0gMTtcbiAgICAgIHN0ZXBzLnB1c2goe1xuICAgICAgICBzdGVwOiBpKyssXG4gICAgICAgIGFjdGlvbjogXCJBbmFseXplIHJlcG9zaXRvcnkgdG8gZW51bWVyYXRlIEFQSXMgYW5kIGRlY29yYXRvcnNcIixcbiAgICAgICAgdG9vbDogXCJhbmFseXplLXJlcG9zaXRvcnlcIixcbiAgICAgICAgYXJndW1lbnRzOiB7IHJlcG9QYXRoOiBpbnB1dC5yZXBvUGF0aCB9LFxuICAgICAgICByYXRpb25hbGU6IFwiVW5kZXJzdGFuZCBhdmFpbGFibGUgYnVpbGRpbmcgYmxvY2tzLlwiLFxuICAgICAgfSk7XG4gICAgICBzdGVwcy5wdXNoKHtcbiAgICAgICAgc3RlcDogaSsrLFxuICAgICAgICBhY3Rpb246IFwiTGlzdCBjYXBhYmlsaXRpZXMgZXhwZWN0ZWQgZm9yIGRldmVsb3BlcnNcIixcbiAgICAgICAgdG9vbDogXCJlbnVtZXJhdGUtY2FwYWJpbGl0aWVzXCIsXG4gICAgICAgIGFyZ3VtZW50czogeyByZXBvUGF0aDogaW5wdXQucmVwb1BhdGggfSxcbiAgICAgICAgcmF0aW9uYWxlOiBcIkFsaWduIHRoZSBwbGFuIHdpdGggc3VwcG9ydGVkIGNhcGFiaWxpdGllcy5cIixcbiAgICAgIH0pO1xuICAgICAgLy8gU3VnZ2VzdCBleGlzdGluZyBnZW5lcmljIHRvb2xzIGZyb20gbWNwLW1vZHVsZVxuICAgICAgc3RlcHMucHVzaCh7XG4gICAgICAgIHN0ZXA6IGkrKyxcbiAgICAgICAgYWN0aW9uOlxuICAgICAgICAgIFwiU2VsZWN0IGRvY3VtZW50YXRpb24gcHJvbXB0IGFuZCBnYXRoZXIgcmVsZXZhbnQgc291cmNlIGZpbGUocylcIixcbiAgICAgICAgdG9vbDogXCJkb2N1bWVudC1jb2RlXCIsXG4gICAgICAgIGFyZ3VtZW50czogeyBmaWxlUGF0aDogXCI8dGFyZ2V0LWZpbGU+XCIgfSxcbiAgICAgICAgcmF0aW9uYWxlOiBcIlByb3ZpZGUgY29udGV4dCBhbmQgaW5zdHJ1Y3Rpb25zIGZvciBjaGFuZ2VzLlwiLFxuICAgICAgfSk7XG4gICAgICBzdGVwcy5wdXNoKHtcbiAgICAgICAgc3RlcDogaSsrLFxuICAgICAgICBhY3Rpb246IFwiQXBwbHkgY29kZSBjaGFuZ2VzIHVzaW5nIHVuaWZpZWQgZGlmZiBwYXRjaFwiLFxuICAgICAgICB0b29sOiBcImFwcGx5LWNvZGUtY2hhbmdlXCIsXG4gICAgICAgIGFyZ3VtZW50czoge1xuICAgICAgICAgIGZpbGVQYXRoOiBcIjx0YXJnZXQtZmlsZT5cIixcbiAgICAgICAgICBwYXRjaDogXCI8dW5pZmllZC1kaWZmPlwiLFxuICAgICAgICAgIGRyeVJ1bjogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgcmF0aW9uYWxlOiBcIlZhbGlkYXRlIGNoYW5nZXMgc2FmZWx5IGJlZm9yZSBjb21taXR0aW5nLlwiLFxuICAgICAgfSk7XG4gICAgICBzdGVwcy5wdXNoKHtcbiAgICAgICAgc3RlcDogaSsrLFxuICAgICAgICBhY3Rpb246IFwiQ29tbWl0IGNvZGUgY2hhbmdlc1wiLFxuICAgICAgICB0b29sOiBcImFwcGx5LWNvZGUtY2hhbmdlXCIsXG4gICAgICAgIGFyZ3VtZW50czoge1xuICAgICAgICAgIGZpbGVQYXRoOiBcIjx0YXJnZXQtZmlsZT5cIixcbiAgICAgICAgICBwYXRjaDogXCI8dW5pZmllZC1kaWZmPlwiLFxuICAgICAgICAgIGRyeVJ1bjogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICAgIHJhdGlvbmFsZTogXCJQZXJzaXN0IHRoZSB1cGRhdGUuXCIsXG4gICAgICB9KTtcbiAgICAgIC8vIElmIGRlY29yYXRpb24tcmVsYXRlZCB0ZXJtcyBwcmVzZW50LCBzdWdnZXN0IGRlY29yYXRvciB0b29sc1xuICAgICAgaWYgKC9kZWNvcmF0fGZsYXZvdXJ8b3ZlcnJpZGV8ZXh0ZW5kfGJ1aWxkZXIvaS50ZXN0KGlucHV0LmZlYXR1cmUpKSB7XG4gICAgICAgIHN0ZXBzLnVuc2hpZnQoe1xuICAgICAgICAgIHN0ZXA6IDAsXG4gICAgICAgICAgYWN0aW9uOiBcIlVzZSBkZWNvcmF0b3IgdG9vbGluZyB0byBpbnNlcnQvcmVtb3ZlL21vZGlmeSBkZWNvcmF0b3JzXCIsXG4gICAgICAgICAgdG9vbDogXCJkZWNvcmF0b3ItdG9vbHNcIixcbiAgICAgICAgICBhcmd1bWVudHM6IHsgYWN0aW9uOiBcImhlbHBcIiB9LFxuICAgICAgICAgIHJhdGlvbmFsZTogXCJMZXZlcmFnZSBzcGVjaWFsaXplZCB1dGlsaXRpZXMgZm9yIGRlY29yYXRpb24gcGF0dGVybnMuXCIsXG4gICAgICAgIH0pO1xuICAgICAgICBzdGVwcy5mb3JFYWNoKChzLCBpZHgpID0+IChzLnN0ZXAgPSBpZHggKyAxKSk7XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb250ZW50OiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgICAgICB0ZXh0OiBKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBsYW46IHN0ZXBzLFxuICAgICAgICAgICAgICAgIG5vdGVzOlxuICAgICAgICAgICAgICAgICAgXCJSZXBsYWNlIHBsYWNlaG9sZGVyIGFyZ3VtZW50cyBsaWtlIDx0YXJnZXQtZmlsZT4gYW5kIDx1bmlmaWVkLWRpZmY+IGJhc2VkIG9uIHRoZSBhbmFseXNpcyBvdXRwdXQuXCIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAgIDJcbiAgICAgICAgICAgICksXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH07XG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IGRvY3VtZW50Q29kZVRvb2w6IFRvb2w8dW5kZWZpbmVkLCB0eXBlb2YgZG9jdW1lbnRDb2RlU2NoZW1hPiA9IHtcbiAgYW5ub3RhdGlvbnM6IHtcbiAgICBpZGVtcG90ZW50SGludDogdHJ1ZSxcbiAgICBvcGVuV29ybGRIaW50OiBmYWxzZSxcbiAgICByZWFkT25seUhpbnQ6IHRydWUsXG4gICAgdGl0bGU6IFwiRG9jdW1lbnQgU291cmNlIEZpbGVcIixcbiAgfSxcbiAgZGVzY3JpcHRpb246XG4gICAgXCJHZW5lcmF0ZSBkb2N1bWVudGF0aW9uIGd1aWRhbmNlIGZvciBhIGZpbGUgYnkgY29tYmluaW5nIHJlcG9zaXRvcnkgcHJvbXB0cyB3aXRoIHRoZSB0YXJnZXQgc291cmNlIGNvZGUuXCIsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgZXhlY3V0ZTogYXN5bmMgKGlucHV0LCBfY29udGV4dCk6IFByb21pc2U8Q29udGVudFJlc3VsdD4gPT4ge1xuICAgIGNvbnN0IGFyZ3MgPSBkb2N1bWVudENvZGVTY2hlbWEucGFyc2UoaW5wdXQgYXMgRG9jdW1lbnRDb2RlQXJncyk7XG4gICAgY29uc3Qgcm9vdCA9IGdldFdvcmtzcGFjZVJvb3QoKTtcbiAgICBsZXQgZmlsZVBhdGg6IHN0cmluZztcbiAgICB0cnkge1xuICAgICAgZmlsZVBhdGggPSByZXNvbHZlSW5Xb3Jrc3BhY2Uocm9vdCwgYXJncy5maWxlUGF0aCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIFdvcmtzcGFjZUVycm9yKSB7XG4gICAgICAgIHJldHVybiB0aHJvd1VzZXJFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgIH1cbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG5cbiAgICBpZiAoIWZzLmV4aXN0c1N5bmMoZmlsZVBhdGgpKSB7XG4gICAgICByZXR1cm4gdGhyb3dVc2VyRXJyb3IoYENhbm5vdCBkb2N1bWVudCBtaXNzaW5nIGZpbGUgYXQgJHthcmdzLmZpbGVQYXRofWApO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbGVDb250ZW50ID0gZnMucmVhZEZpbGVTeW5jKGZpbGVQYXRoLCB7XG4gICAgICBlbmNvZGluZzogYXJncy5lbmNvZGluZyBhcyBCdWZmZXJFbmNvZGluZyxcbiAgICB9KTtcbiAgICAvLyBkeW5hbWljYWxseSBpbXBvcnQgcHJvbXB0IGhlbHBlcnNcbiAgICBjb25zdCBwcm9tcHRNb2QgPSBhd2FpdCBpbXBvcnQoXCIuLi9wcm9tcHRzL3Byb21wdHNcIik7XG4gICAgY29uc3Qge1xuICAgICAgZGlzY292ZXJEb2NQcm9tcHRzLFxuICAgICAgc2VsZWN0UHJvbXB0LFxuICAgICAgREVGQVVMVF9QUk9NUFRfTkFNRSxcbiAgICAgIGJ1aWxkRG9jdW1lbnRhdGlvblBheWxvYWQsXG4gICAgfSA9IHByb21wdE1vZDtcbiAgICBjb25zdCBwcm9tcHRzID0gZGlzY292ZXJEb2NQcm9tcHRzKHJvb3QpO1xuXG4gICAgaWYgKCFwcm9tcHRzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHRocm93VXNlckVycm9yKFxuICAgICAgICBcIk5vIGRvY3VtZW50YXRpb24gcHJvbXB0cyBmb3VuZCB1bmRlciAuY29kZS9wcm9tcHRzIG9yIC5jb2RleC9wcm9tcHRzXCJcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgcHJvbXB0ID0gc2VsZWN0UHJvbXB0KFxuICAgICAgcHJvbXB0cyxcbiAgICAgIGFyZ3MucHJvbXB0TmFtZSA/PyBERUZBVUxUX1BST01QVF9OQU1FXG4gICAgKTtcblxuICAgIHJldHVybiBidWlsZERvY3VtZW50YXRpb25QYXlsb2FkKHtcbiAgICAgIGZpbGVQYXRoOiBhcmdzLmZpbGVQYXRoLFxuICAgICAgZmlsZUNvbnRlbnQsXG4gICAgICBwcm9tcHQsXG4gICAgICBpbmNsdWRlQ29kZTogYXJncy5pbmNsdWRlQ29kZSxcbiAgICAgIGluY2x1ZGVQcm9tcHQ6IGFyZ3MuaW5jbHVkZVByb21wdCxcbiAgICAgIGluY2x1ZGVNZXRhZGF0YTogYXJncy5pbmNsdWRlTWV0YWRhdGEsXG4gICAgICBhZGRpdGlvbmFsQ29udGV4dDogYXJncy5hZGRpdGlvbmFsQ29udGV4dCxcbiAgICB9KTtcbiAgfSxcbiAgbmFtZTogXCJkb2N1bWVudC1jb2RlXCIsXG4gIHBhcmFtZXRlcnM6IGRvY3VtZW50Q29kZVNjaGVtYSxcbn07XG5cbmV4cG9ydCBjb25zdCBhcHBseUNvZGVDaGFuZ2VUb29sOiBUb29sPHVuZGVmaW5lZCwgdHlwZW9mIGNvZGVDaGFuZ2VTY2hlbWE+ID0ge1xuICBhbm5vdGF0aW9uczoge1xuICAgIGRlc3RydWN0aXZlSGludDogdHJ1ZSxcbiAgICBpZGVtcG90ZW50SGludDogZmFsc2UsXG4gICAgb3BlbldvcmxkSGludDogZmFsc2UsXG4gICAgcmVhZE9ubHlIaW50OiBmYWxzZSxcbiAgICB0aXRsZTogXCJBcHBseSBDb2RlIFBhdGNoXCIsXG4gIH0sXG4gIGRlc2NyaXB0aW9uOlxuICAgIFwiQXBwbHkgYSB1bmlmaWVkIGRpZmYgcGF0Y2ggdG8gYSB3b3Jrc3BhY2UgZmlsZSB3aXRoIG9wdGlvbmFsIGRyeS1ydW4gdmFsaWRhdGlvbiBhbmQgZGlmZiBwcmV2aWV3LlwiLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIGV4ZWN1dGU6IGFzeW5jIChpbnB1dCwgX2NvbnRleHQpOiBQcm9taXNlPHN0cmluZyB8IENvbnRlbnRSZXN1bHQ+ID0+IHtcbiAgICBjb25zdCBhcmdzID0gY29kZUNoYW5nZVNjaGVtYS5wYXJzZShpbnB1dCBhcyBBcHBseUNvZGVDaGFuZ2VBcmdzKTtcbiAgICBjb25zdCByb290ID0gZ2V0V29ya3NwYWNlUm9vdCgpO1xuICAgIGxldCBmaWxlUGF0aDogc3RyaW5nO1xuICAgIHRyeSB7XG4gICAgICBmaWxlUGF0aCA9IHJlc29sdmVJbldvcmtzcGFjZShyb290LCBhcmdzLmZpbGVQYXRoKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgV29ya3NwYWNlRXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIHRocm93VXNlckVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgfVxuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuXG4gICAgY29uc3Qgb3JpZ2luYWwgPSBmcy5leGlzdHNTeW5jKGZpbGVQYXRoKVxuICAgICAgPyBmcy5yZWFkRmlsZVN5bmMoZmlsZVBhdGgsIGFyZ3MuZW5jb2RpbmcgYXMgQnVmZmVyRW5jb2RpbmcpXG4gICAgICA6IFwiXCI7XG5cbiAgICBsZXQgcGF0Y2hlZDogc3RyaW5nIHwgZmFsc2U7XG4gICAgdHJ5IHtcbiAgICAgIHBhdGNoZWQgPSBhcHBseVBhdGNoKG9yaWdpbmFsLCBhcmdzLnBhdGNoKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgcmV0dXJuIHRocm93VXNlckVycm9yKFxuICAgICAgICBgRmFpbGVkIHRvIGFwcGx5IHByb3ZpZGVkIHBhdGNoIHRvICR7YXJncy5maWxlUGF0aH06ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBlcnJvcn1gXG4gICAgICApO1xuICAgIH1cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlmIChwYXRjaGVkID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIHRocm93VXNlckVycm9yKFxuICAgICAgICBgRmFpbGVkIHRvIGFwcGx5IHByb3ZpZGVkIHBhdGNoIHRvICR7YXJncy5maWxlUGF0aH1gXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICghYXJncy5kcnlSdW4pIHtcbiAgICAgIGZzLm1rZGlyU3luYyhwYXRoLmRpcm5hbWUoZmlsZVBhdGgpLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICAgIGZzLndyaXRlRmlsZVN5bmMoZmlsZVBhdGgsIHBhdGNoZWQsIHtcbiAgICAgICAgZW5jb2Rpbmc6IGFyZ3MuZW5jb2RpbmcgYXMgQnVmZmVyRW5jb2RpbmcsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoIWFyZ3Muc2hvd0RpZmYpIHtcbiAgICAgIHJldHVybiBgUGF0Y2ggJHthcmdzLmRyeVJ1biA/IFwidmFsaWRhdGVkXCIgOiBcImFwcGxpZWRcIn0gZm9yICR7YXJncy5maWxlUGF0aH1gO1xuICAgIH1cblxuICAgIGNvbnN0IHByZXZpZXcgPSBjcmVhdGVUd29GaWxlc1BhdGNoKFxuICAgICAgYXJncy5maWxlUGF0aCxcbiAgICAgIGFyZ3MuZmlsZVBhdGgsXG4gICAgICBvcmlnaW5hbCxcbiAgICAgIHBhdGNoZWQsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB7IGNvbnRleHQ6IGFyZ3MuZGlmZkNvbnRleHQgfVxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY29udGVudDogW1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgICAgdGV4dDogYFBhdGNoICR7YXJncy5kcnlSdW4gPyBcInZhbGlkYXRlZFwiIDogXCJhcHBsaWVkXCJ9IGZvciAke2FyZ3MuZmlsZVBhdGh9YCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IFwidGV4dFwiLFxuICAgICAgICAgIHRleHQ6IFtcImBgYGRpZmZcIiwgcHJldmlldy50cmltKCksIFwiYGBgXCJdLmpvaW4oXCJcXG5cIiksXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0gc2F0aXNmaWVzIENvbnRlbnRSZXN1bHQ7XG4gIH0sXG4gIG5hbWU6IFwiYXBwbHktY29kZS1jaGFuZ2VcIixcbiAgcGFyYW1ldGVyczogY29kZUNoYW5nZVNjaGVtYSxcbn07XG5cbnR5cGUgQW55VG9vbCA9IFRvb2w8dW5kZWZpbmVkLCBhbnk+O1xuXG5jb25zdCBhbmFseXRpY1Rvb2xzOiBBbnlUb29sW10gPSBbXG4gIGJ1aWxkQW5hbHl6ZVJlcG9zaXRvcnlUb29sKCksXG4gIGJ1aWxkRW51bWVyYXRlQ2FwYWJpbGl0aWVzVG9vbCgpLFxuICBidWlsZFBsYW5GZWF0dXJlVG9vbCgpLFxuXTtcblxuZXhwb3J0IGNvbnN0IHRvb2xMaXN0OiBBbnlUb29sW10gPSBbXG4gIC4uLmFuYWx5dGljVG9vbHMsXG4gIGRvY3VtZW50Q29kZVRvb2wsXG4gIGFwcGx5Q29kZUNoYW5nZVRvb2wsXG5dO1xuIl19
|
package/lib/esm/mcp/utils.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { analyzeRepo } from "./code";
|
|
2
1
|
export declare function readFileSafe(filePath: string, encoding?: BufferEncoding): string | undefined;
|
|
3
2
|
export declare function listFilesRecursive(root: string, matcher?: (p: string) => boolean): string[];
|
|
4
|
-
export declare function deriveCapabilities(analysis:
|
|
3
|
+
export declare function deriveCapabilities(analysis: any): string[];
|
package/lib/esm/mcp/utils.js
CHANGED
|
@@ -43,4 +43,4 @@ export function deriveCapabilities(analysis) {
|
|
|
43
43
|
cap.add("follow-readme-guides");
|
|
44
44
|
return [...cap].sort();
|
|
45
45
|
}
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWNwL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFFeEIsTUFBTSxVQUFVLFlBQVksQ0FDMUIsUUFBZ0IsRUFDaEIsV0FBMkIsTUFBTTtJQUVqQyxJQUFJLENBQUM7UUFDSCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLElBQVksRUFDWixPQUFnQztJQUVoQyxNQUFNLEdBQUcsR0FBYSxFQUFFLENBQUM7SUFDekIsTUFBTSxLQUFLLEdBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixPQUFPLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNwQixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFHLENBQUM7UUFDekIsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1lBQ3ZCLEtBQUssTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUM7Z0JBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLENBQUM7YUFBTSxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3BDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUNwQixDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLFFBQWE7SUFDOUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztJQUM5QixvR0FBb0c7SUFDcEcsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztJQUNsQyxLQUFLLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDMUMsS0FBSyxNQUFNLENBQUMsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVU7WUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNELEtBQUssTUFBTSxDQUFDLElBQUksUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPO1lBQ3JDLElBQUksc0NBQXNDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDaEQsR0FBRyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RCxHQUFHLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFDN0MsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUMzRSxJQUFJLFFBQVEsQ0FBQyxNQUFNO1FBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3JELE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0FBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVhZEZpbGVTYWZlKFxuICBmaWxlUGF0aDogc3RyaW5nLFxuICBlbmNvZGluZzogQnVmZmVyRW5jb2RpbmcgPSBcInV0ZjhcIlxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gZnMucmVhZEZpbGVTeW5jKGZpbGVQYXRoLCB7IGVuY29kaW5nIH0pO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaXN0RmlsZXNSZWN1cnNpdmUoXG4gIHJvb3Q6IHN0cmluZyxcbiAgbWF0Y2hlcj86IChwOiBzdHJpbmcpID0+IGJvb2xlYW5cbik6IHN0cmluZ1tdIHtcbiAgY29uc3Qgb3V0OiBzdHJpbmdbXSA9IFtdO1xuICBjb25zdCBzdGFjazogc3RyaW5nW10gPSBbcm9vdF07XG4gIHdoaWxlIChzdGFjay5sZW5ndGgpIHtcbiAgICBjb25zdCBjdXIgPSBzdGFjay5wb3AoKSE7XG4gICAgY29uc3Qgc3RhdCA9IGZzLnN0YXRTeW5jKGN1cik7XG4gICAgaWYgKHN0YXQuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgZm9yIChjb25zdCBmIG9mIGZzLnJlYWRkaXJTeW5jKGN1cikpIHN0YWNrLnB1c2gocGF0aC5qb2luKGN1ciwgZikpO1xuICAgIH0gZWxzZSBpZiAoIW1hdGNoZXIgfHwgbWF0Y2hlcihjdXIpKSB7XG4gICAgICBvdXQucHVzaChjdXIpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gb3V0LnNvcnQoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlcml2ZUNhcGFiaWxpdGllcyhhbmFseXNpczogYW55KTogc3RyaW5nW10ge1xuICBjb25zdCBjYXAgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgLy8gaGV1cmlzdGljczogaWYgZGVjb3JhdG9ycyBsaWtlIERlY29yYXRpb24sIGZsYXZvdXJlZEFzLCBleHRlbmQsIG92ZXJyaWRlIGFwcGVhciwgYWRkIGNhcGFiaWxpdGllc1xuICBjb25zdCBhbGxEZWNzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gIGZvciAoY29uc3QgayBvZiBPYmplY3Qua2V5cyhhbmFseXNpcy5hcGkpKSB7XG4gICAgZm9yIChjb25zdCBkIG9mIGFuYWx5c2lzLmFwaVtrXS5kZWNvcmF0b3JzKSBhbGxEZWNzLmFkZChkKTtcbiAgICBmb3IgKGNvbnN0IGUgb2YgYW5hbHlzaXMuYXBpW2tdLmV4cG9ydHMpXG4gICAgICBpZiAoL0RlY29yYXRpb258ZGVjb3JhdGV8QnVpbGRlcnxGbGF2b3VyL2kudGVzdChlKSlcbiAgICAgICAgY2FwLmFkZChcInVzZS1kZWNvcmF0aW9uLWFwaVwiKTtcbiAgfVxuICBpZiAoWy4uLmFsbERlY3NdLnNvbWUoKGQpID0+IC9vdmVycmlkZXxleHRlbmQvaS50ZXN0KGQpKSlcbiAgICBjYXAuYWRkKFwib3ZlcnJpZGUtYW5kLWV4dGVuZC1kZWNvcmF0aW9uc1wiKTtcbiAgaWYgKE9iamVjdC5rZXlzKGFuYWx5c2lzLnRlc3RzKS5sZW5ndGggPiAwKSBjYXAuYWRkKFwidmFsaWRhdGUtd2l0aC10ZXN0c1wiKTtcbiAgaWYgKGFuYWx5c2lzLnJlYWRtZSkgY2FwLmFkZChcImZvbGxvdy1yZWFkbWUtZ3VpZGVzXCIpO1xuICByZXR1cm4gWy4uLmNhcF0uc29ydCgpO1xufVxuXG4iXX0=
|
package/lib/esm/metadata.d.ts
CHANGED
package/lib/esm/metadata.js
CHANGED
|
@@ -6,7 +6,7 @@ import { Metadata } from "@decaf-ts/decoration";
|
|
|
6
6
|
* @summary The actual version number is replaced during the build process.
|
|
7
7
|
* @type {string}
|
|
8
8
|
*/
|
|
9
|
-
export const VERSION = "0.
|
|
9
|
+
export const VERSION = "0.4.0";
|
|
10
10
|
export const PACKAGE_NAME = "##PACKAGE_NAME##";
|
|
11
11
|
try {
|
|
12
12
|
Metadata.registerLibrary(PACKAGE_NAME, VERSION);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { prompts } from "./prompts";
|
|
2
|
-
export { resources } from "./resources";
|
|
3
|
-
export { templates } from "./templates";
|
|
4
|
-
export { tools } from "./tools";
|
|
1
|
+
export { prompts } from "./prompts/index";
|
|
2
|
+
export { resources } from "./resources/index";
|
|
3
|
+
export { templates } from "./templates/index";
|
|
4
|
+
export { tools } from "./tools/index";
|
|
5
5
|
export declare const modulePackage: {
|
|
6
6
|
readonly name: "_template";
|
|
7
7
|
readonly prompts: readonly [{
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { prompts } from "./prompts";
|
|
2
|
-
import { resources } from "./resources";
|
|
3
|
-
import { templates } from "./templates";
|
|
4
|
-
import { tools } from "./tools";
|
|
5
|
-
export { prompts } from "./prompts";
|
|
6
|
-
export { resources } from "./resources";
|
|
7
|
-
export { templates } from "./templates";
|
|
8
|
-
export { tools } from "./tools";
|
|
1
|
+
import { prompts } from "./prompts/index";
|
|
2
|
+
import { resources } from "./resources/index";
|
|
3
|
+
import { templates } from "./templates/index";
|
|
4
|
+
import { tools } from "./tools/index";
|
|
5
|
+
export { prompts } from "./prompts/index";
|
|
6
|
+
export { resources } from "./resources/index";
|
|
7
|
+
export { templates } from "./templates/index";
|
|
8
|
+
export { tools } from "./tools/index";
|
|
9
9
|
export const modulePackage = {
|
|
10
10
|
name: "_template",
|
|
11
11
|
prompts,
|
|
@@ -13,4 +13,4 @@ export const modulePackage = {
|
|
|
13
13
|
templates,
|
|
14
14
|
tools,
|
|
15
15
|
};
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9fdGVtcGxhdGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUMzQixJQUFJLEVBQUUsV0FBVztJQUNqQixPQUFPO0lBQ1AsU0FBUztJQUNULFNBQVM7SUFDVCxLQUFLO0NBQ0csQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHByb21wdHMgfSBmcm9tIFwiLi9wcm9tcHRzL2luZGV4XCI7XG5pbXBvcnQgeyByZXNvdXJjZXMgfSBmcm9tIFwiLi9yZXNvdXJjZXMvaW5kZXhcIjtcbmltcG9ydCB7IHRlbXBsYXRlcyB9IGZyb20gXCIuL3RlbXBsYXRlcy9pbmRleFwiO1xuaW1wb3J0IHsgdG9vbHMgfSBmcm9tIFwiLi90b29scy9pbmRleFwiO1xuZXhwb3J0IHsgcHJvbXB0cyB9IGZyb20gXCIuL3Byb21wdHMvaW5kZXhcIjtcbmV4cG9ydCB7IHJlc291cmNlcyB9IGZyb20gXCIuL3Jlc291cmNlcy9pbmRleFwiO1xuZXhwb3J0IHsgdGVtcGxhdGVzIH0gZnJvbSBcIi4vdGVtcGxhdGVzL2luZGV4XCI7XG5leHBvcnQgeyB0b29scyB9IGZyb20gXCIuL3Rvb2xzL2luZGV4XCI7XG5leHBvcnQgY29uc3QgbW9kdWxlUGFja2FnZSA9IHtcbiAgbmFtZTogXCJfdGVtcGxhdGVcIixcbiAgcHJvbXB0cyxcbiAgcmVzb3VyY2VzLFxuICB0ZW1wbGF0ZXMsXG4gIHRvb2xzLFxufSBhcyBjb25zdDtcbiJdfQ==
|
package/lib/esm/modules/index.js
CHANGED
|
@@ -1,10 +1,17 @@
|
|
|
1
|
-
import { modulePackage as decorationModule } from "./decoration";
|
|
2
|
-
import { modulePackage as mcpModule } from "./mcp";
|
|
3
|
-
import { modulePackage as templateModule } from "./_template";
|
|
1
|
+
import { modulePackage as decorationModule } from "./decoration/index";
|
|
2
|
+
import { modulePackage as mcpModule } from "./mcp/index";
|
|
3
|
+
import { modulePackage as templateModule } from "./_template/index";
|
|
4
4
|
// modulePackage objects may be declared with readonly arrays (as const). Cast to the mutable type expected by runtime APIs.
|
|
5
5
|
export const modulePackages = [
|
|
6
6
|
decorationModule,
|
|
7
7
|
mcpModule,
|
|
8
8
|
templateModule,
|
|
9
9
|
];
|
|
10
|
-
|
|
10
|
+
// register packages with module registry lazily
|
|
11
|
+
import { registerModulePackages } from "../mcp/moduleRegistry";
|
|
12
|
+
registerModulePackages(modulePackages);
|
|
13
|
+
// Also expose packages on a runtime global so modules that must avoid static imports
|
|
14
|
+
// (for circular dependency reasons) can read the list without importing moduleRegistry.
|
|
15
|
+
// This mirrors the behavior used by getRegisteredModulePackages() in prompts.ts
|
|
16
|
+
globalThis.__DECAF_MODULE_PACKAGES__ = modulePackages;
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kdWxlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxJQUFJLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsSUFBSSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsSUFBSSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVwRSw0SEFBNEg7QUFDNUgsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUEwQjtJQUNuRCxnQkFBa0Q7SUFDbEQsU0FBMkM7SUFDM0MsY0FBZ0Q7Q0FDakQsQ0FBQztBQUVGLGdEQUFnRDtBQUNoRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvRCxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUV2QyxxRkFBcUY7QUFDckYsd0ZBQXdGO0FBQ3hGLGdGQUFnRjtBQUMvRSxVQUFrQixDQUFDLHlCQUF5QixHQUFHLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTW9kdWxlRXhwb3J0UGFja2FnZSB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgbW9kdWxlUGFja2FnZSBhcyBkZWNvcmF0aW9uTW9kdWxlIH0gZnJvbSBcIi4vZGVjb3JhdGlvbi9pbmRleFwiO1xuaW1wb3J0IHsgbW9kdWxlUGFja2FnZSBhcyBtY3BNb2R1bGUgfSBmcm9tIFwiLi9tY3AvaW5kZXhcIjtcbmltcG9ydCB7IG1vZHVsZVBhY2thZ2UgYXMgdGVtcGxhdGVNb2R1bGUgfSBmcm9tIFwiLi9fdGVtcGxhdGUvaW5kZXhcIjtcblxuLy8gbW9kdWxlUGFja2FnZSBvYmplY3RzIG1heSBiZSBkZWNsYXJlZCB3aXRoIHJlYWRvbmx5IGFycmF5cyAoYXMgY29uc3QpLiBDYXN0IHRvIHRoZSBtdXRhYmxlIHR5cGUgZXhwZWN0ZWQgYnkgcnVudGltZSBBUElzLlxuZXhwb3J0IGNvbnN0IG1vZHVsZVBhY2thZ2VzOiBNb2R1bGVFeHBvcnRQYWNrYWdlW10gPSBbXG4gIGRlY29yYXRpb25Nb2R1bGUgYXMgdW5rbm93biBhcyBNb2R1bGVFeHBvcnRQYWNrYWdlLFxuICBtY3BNb2R1bGUgYXMgdW5rbm93biBhcyBNb2R1bGVFeHBvcnRQYWNrYWdlLFxuICB0ZW1wbGF0ZU1vZHVsZSBhcyB1bmtub3duIGFzIE1vZHVsZUV4cG9ydFBhY2thZ2UsXG5dO1xuXG4vLyByZWdpc3RlciBwYWNrYWdlcyB3aXRoIG1vZHVsZSByZWdpc3RyeSBsYXppbHlcbmltcG9ydCB7IHJlZ2lzdGVyTW9kdWxlUGFja2FnZXMgfSBmcm9tIFwiLi4vbWNwL21vZHVsZVJlZ2lzdHJ5XCI7XG5yZWdpc3Rlck1vZHVsZVBhY2thZ2VzKG1vZHVsZVBhY2thZ2VzKTtcblxuLy8gQWxzbyBleHBvc2UgcGFja2FnZXMgb24gYSBydW50aW1lIGdsb2JhbCBzbyBtb2R1bGVzIHRoYXQgbXVzdCBhdm9pZCBzdGF0aWMgaW1wb3J0c1xuLy8gKGZvciBjaXJjdWxhciBkZXBlbmRlbmN5IHJlYXNvbnMpIGNhbiByZWFkIHRoZSBsaXN0IHdpdGhvdXQgaW1wb3J0aW5nIG1vZHVsZVJlZ2lzdHJ5LlxuLy8gVGhpcyBtaXJyb3JzIHRoZSBiZWhhdmlvciB1c2VkIGJ5IGdldFJlZ2lzdGVyZWRNb2R1bGVQYWNrYWdlcygpIGluIHByb21wdHMudHNcbihnbG9iYWxUaGlzIGFzIGFueSkuX19ERUNBRl9NT0RVTEVfUEFDS0FHRVNfXyA9IG1vZHVsZVBhY2thZ2VzO1xuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ModuleExportPackage } from "../../types";
|
|
2
|
-
export { prompts } from "./prompts";
|
|
3
|
-
export { resources } from "./resources";
|
|
4
|
-
export { templates } from "./templates";
|
|
5
|
-
export { tools } from "./tools";
|
|
2
|
+
export { prompts } from "./prompts/index";
|
|
3
|
+
export { resources } from "./resources/index";
|
|
4
|
+
export { templates } from "./templates/index";
|
|
5
|
+
export { tools } from "./tools/index";
|
|
6
6
|
export declare const modulePackage: ModuleExportPackage;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { prompts } from "./prompts";
|
|
2
|
-
import { resources } from "./resources";
|
|
3
|
-
import { templates } from "./templates";
|
|
4
|
-
import { tools } from "./tools";
|
|
5
|
-
export { prompts } from "./prompts";
|
|
6
|
-
export { resources } from "./resources";
|
|
7
|
-
export { templates } from "./templates";
|
|
8
|
-
export { tools } from "./tools";
|
|
1
|
+
import { prompts } from "./prompts/index";
|
|
2
|
+
import { resources } from "./resources/index";
|
|
3
|
+
import { templates } from "./templates/index";
|
|
4
|
+
import { tools } from "./tools/index";
|
|
5
|
+
export { prompts } from "./prompts/index";
|
|
6
|
+
export { resources } from "./resources/index";
|
|
7
|
+
export { templates } from "./templates/index";
|
|
8
|
+
export { tools } from "./tools/index";
|
|
9
9
|
export const modulePackage = {
|
|
10
10
|
name: "mcp",
|
|
11
11
|
prompts,
|
|
@@ -13,4 +13,4 @@ export const modulePackage = {
|
|
|
13
13
|
templates,
|
|
14
14
|
tools,
|
|
15
15
|
};
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9tY3AvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXRDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBd0I7SUFDaEQsSUFBSSxFQUFFLEtBQUs7SUFDWCxPQUFPO0lBQ1AsU0FBUztJQUNULFNBQVM7SUFDVCxLQUFLO0NBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTW9kdWxlRXhwb3J0UGFja2FnZSB9IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsgcHJvbXB0cyB9IGZyb20gXCIuL3Byb21wdHMvaW5kZXhcIjtcbmltcG9ydCB7IHJlc291cmNlcyB9IGZyb20gXCIuL3Jlc291cmNlcy9pbmRleFwiO1xuaW1wb3J0IHsgdGVtcGxhdGVzIH0gZnJvbSBcIi4vdGVtcGxhdGVzL2luZGV4XCI7XG5pbXBvcnQgeyB0b29scyB9IGZyb20gXCIuL3Rvb2xzL2luZGV4XCI7XG5cbmV4cG9ydCB7IHByb21wdHMgfSBmcm9tIFwiLi9wcm9tcHRzL2luZGV4XCI7XG5leHBvcnQgeyByZXNvdXJjZXMgfSBmcm9tIFwiLi9yZXNvdXJjZXMvaW5kZXhcIjtcbmV4cG9ydCB7IHRlbXBsYXRlcyB9IGZyb20gXCIuL3RlbXBsYXRlcy9pbmRleFwiO1xuZXhwb3J0IHsgdG9vbHMgfSBmcm9tIFwiLi90b29scy9pbmRleFwiO1xuXG5leHBvcnQgY29uc3QgbW9kdWxlUGFja2FnZTogTW9kdWxlRXhwb3J0UGFja2FnZSA9IHtcbiAgbmFtZTogXCJtY3BcIixcbiAgcHJvbXB0cyxcbiAgcmVzb3VyY2VzLFxuICB0ZW1wbGF0ZXMsXG4gIHRvb2xzLFxufTtcbiJdfQ==
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.EnrichCoreWithAggregation = EnrichCoreWithAggregation;
|
|
4
4
|
const aggregateModules_1 = require("./aggregateModules.cjs");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
5
|
+
const index_1 = require("./prompts/index.cjs");
|
|
6
|
+
const index_2 = require("./tools/index.cjs");
|
|
7
|
+
const index_3 = require("./resources/index.cjs");
|
|
8
|
+
const index_4 = require("./templates/index.cjs");
|
|
9
9
|
/**
|
|
10
10
|
* Aggregate module assets and register them on the provided FastMCP-like server.
|
|
11
11
|
* Falls back to built-in lists if aggregation yields none.
|
|
@@ -13,25 +13,25 @@ const templates_1 = require("./templates/index.cjs");
|
|
|
13
13
|
async function EnrichCoreWithAggregation(server, repoRoot = process.cwd()) {
|
|
14
14
|
// First register built-in prompts/tools/resources/templates (legacy behavior)
|
|
15
15
|
try {
|
|
16
|
-
(0,
|
|
17
|
-
for (const prompt of
|
|
16
|
+
(0, index_1.loadPrompts)();
|
|
17
|
+
for (const prompt of index_1.promptList)
|
|
18
18
|
server.addPrompt(prompt);
|
|
19
19
|
}
|
|
20
20
|
catch (e) {
|
|
21
21
|
// ignore if loadPrompts not available or fails
|
|
22
22
|
}
|
|
23
23
|
try {
|
|
24
|
-
for (const tool of
|
|
24
|
+
for (const tool of index_2.toolList)
|
|
25
25
|
server.addTool(tool);
|
|
26
26
|
}
|
|
27
27
|
catch (e) { }
|
|
28
28
|
try {
|
|
29
|
-
for (const resource of
|
|
29
|
+
for (const resource of index_3.resources)
|
|
30
30
|
server.addResource(resource);
|
|
31
31
|
}
|
|
32
32
|
catch (e) { }
|
|
33
33
|
try {
|
|
34
|
-
const templates = (0,
|
|
34
|
+
const templates = (0, index_4.buildResourceTemplates)();
|
|
35
35
|
for (const template of templates)
|
|
36
36
|
server.addResourceTemplate(template);
|
|
37
37
|
}
|
|
@@ -56,4 +56,4 @@ async function EnrichCoreWithAggregation(server, repoRoot = process.cwd()) {
|
|
|
56
56
|
conflicts: agg.conflicts,
|
|
57
57
|
};
|
|
58
58
|
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFzdG1jcC13aXJpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWNwL2Zhc3RtY3Atd2lyaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBaUJBLDhEQStDQztBQWhFRCw2REFBc0Q7QUFDdEQsK0NBQTBEO0FBQzFELDZDQUF5QztBQUN6QyxpREFBOEM7QUFDOUMsaURBQTJEO0FBUzNEOzs7R0FHRztBQUNJLEtBQUssVUFBVSx5QkFBeUIsQ0FDN0MsTUFBbUIsRUFDbkIsUUFBUSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUU7SUFFeEIsOEVBQThFO0lBQzlFLElBQUksQ0FBQztRQUNILElBQUEsbUJBQVcsR0FBRSxDQUFDO1FBQ2QsS0FBSyxNQUFNLE1BQU0sSUFBSSxrQkFBVTtZQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBYSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDWCwrQ0FBK0M7SUFDakQsQ0FBQztJQUVELElBQUksQ0FBQztRQUNILEtBQUssTUFBTSxJQUFJLElBQUksZ0JBQVE7WUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQVcsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQztJQUVkLElBQUksQ0FBQztRQUNILEtBQUssTUFBTSxRQUFRLElBQUksaUJBQVM7WUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQWUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQztJQUVkLElBQUksQ0FBQztRQUNILE1BQU0sU0FBUyxHQUFHLElBQUEsOEJBQXNCLEdBQUUsQ0FBQztRQUMzQyxLQUFLLE1BQU0sUUFBUSxJQUFJLFNBQVM7WUFDOUIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFFBQWUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQztJQUVkLHVFQUF1RTtJQUN2RSxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUEsbUNBQWdCLEVBQUMsUUFBUSxDQUFDLENBQUM7SUFFN0MsS0FBSyxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDNUIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBQ0QsS0FBSyxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDMUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBQ0QsS0FBSyxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDOUIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsS0FBSyxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxrREFBa0Q7SUFDbEQsT0FBTztRQUNMLGNBQWMsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTTtRQUNwRCxTQUFTLEVBQUUsR0FBRyxDQUFDLFNBQVM7S0FDekIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhZ2dyZWdhdGVNb2R1bGVzIH0gZnJvbSBcIi4vYWdncmVnYXRlTW9kdWxlc1wiO1xuaW1wb3J0IHsgbG9hZFByb21wdHMsIHByb21wdExpc3QgfSBmcm9tIFwiLi9wcm9tcHRzL2luZGV4XCI7XG5pbXBvcnQgeyB0b29sTGlzdCB9IGZyb20gXCIuL3Rvb2xzL2luZGV4XCI7XG5pbXBvcnQgeyByZXNvdXJjZXMgfSBmcm9tIFwiLi9yZXNvdXJjZXMvaW5kZXhcIjtcbmltcG9ydCB7IGJ1aWxkUmVzb3VyY2VUZW1wbGF0ZXMgfSBmcm9tIFwiLi90ZW1wbGF0ZXMvaW5kZXhcIjtcblxuZXhwb3J0IHR5cGUgRmFzdE1DUExpa2UgPSB7XG4gIGFkZFByb21wdDogKHA6IGFueSkgPT4gdm9pZDtcbiAgYWRkVG9vbDogKHQ6IGFueSkgPT4gdm9pZDtcbiAgYWRkUmVzb3VyY2U6IChyOiBhbnkpID0+IHZvaWQ7XG4gIGFkZFJlc291cmNlVGVtcGxhdGU6ICh0OiBhbnkpID0+IHZvaWQ7XG59O1xuXG4vKipcbiAqIEFnZ3JlZ2F0ZSBtb2R1bGUgYXNzZXRzIGFuZCByZWdpc3RlciB0aGVtIG9uIHRoZSBwcm92aWRlZCBGYXN0TUNQLWxpa2Ugc2VydmVyLlxuICogRmFsbHMgYmFjayB0byBidWlsdC1pbiBsaXN0cyBpZiBhZ2dyZWdhdGlvbiB5aWVsZHMgbm9uZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIEVucmljaENvcmVXaXRoQWdncmVnYXRpb24oXG4gIHNlcnZlcjogRmFzdE1DUExpa2UsXG4gIHJlcG9Sb290ID0gcHJvY2Vzcy5jd2QoKVxuKSB7XG4gIC8vIEZpcnN0IHJlZ2lzdGVyIGJ1aWx0LWluIHByb21wdHMvdG9vbHMvcmVzb3VyY2VzL3RlbXBsYXRlcyAobGVnYWN5IGJlaGF2aW9yKVxuICB0cnkge1xuICAgIGxvYWRQcm9tcHRzKCk7XG4gICAgZm9yIChjb25zdCBwcm9tcHQgb2YgcHJvbXB0TGlzdCkgc2VydmVyLmFkZFByb21wdChwcm9tcHQgYXMgYW55KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIC8vIGlnbm9yZSBpZiBsb2FkUHJvbXB0cyBub3QgYXZhaWxhYmxlIG9yIGZhaWxzXG4gIH1cblxuICB0cnkge1xuICAgIGZvciAoY29uc3QgdG9vbCBvZiB0b29sTGlzdCkgc2VydmVyLmFkZFRvb2wodG9vbCBhcyBhbnkpO1xuICB9IGNhdGNoIChlKSB7fVxuXG4gIHRyeSB7XG4gICAgZm9yIChjb25zdCByZXNvdXJjZSBvZiByZXNvdXJjZXMpIHNlcnZlci5hZGRSZXNvdXJjZShyZXNvdXJjZSBhcyBhbnkpO1xuICB9IGNhdGNoIChlKSB7fVxuXG4gIHRyeSB7XG4gICAgY29uc3QgdGVtcGxhdGVzID0gYnVpbGRSZXNvdXJjZVRlbXBsYXRlcygpO1xuICAgIGZvciAoY29uc3QgdGVtcGxhdGUgb2YgdGVtcGxhdGVzKVxuICAgICAgc2VydmVyLmFkZFJlc291cmNlVGVtcGxhdGUodGVtcGxhdGUgYXMgYW55KTtcbiAgfSBjYXRjaCAoZSkge31cblxuICAvLyBOb3cgYWdncmVnYXRlIG1vZHVsZXMgYW5kIHJlZ2lzdGVyIGFnZ3JlZ2F0ZWQgYXNzZXRzIHdpdGggcHJvdmVuYW5jZVxuICBjb25zdCBhZ2cgPSBhd2FpdCBhZ2dyZWdhdGVNb2R1bGVzKHJlcG9Sb290KTtcblxuICBmb3IgKGNvbnN0IHAgb2YgYWdnLnByb21wdHMpIHtcbiAgICBzZXJ2ZXIuYWRkUHJvbXB0KHApO1xuICB9XG4gIGZvciAoY29uc3QgdCBvZiBhZ2cudG9vbHMpIHtcbiAgICBzZXJ2ZXIuYWRkVG9vbCh0KTtcbiAgfVxuICBmb3IgKGNvbnN0IHIgb2YgYWdnLnJlc291cmNlcykge1xuICAgIHNlcnZlci5hZGRSZXNvdXJjZShyKTtcbiAgfVxuICBmb3IgKGNvbnN0IHRwbCBvZiBhZ2cudGVtcGxhdGVzKSB7XG4gICAgc2VydmVyLmFkZFJlc291cmNlVGVtcGxhdGUodHBsKTtcbiAgfVxuXG4gIC8vIHJldHVybiBhZ2dyZWdhdGlvbiBzdW1tYXJ5IGZvciBjYWxsaW5nIHRlc3RzL0NJXG4gIHJldHVybiB7XG4gICAgbW9kdWxlc0NoZWNrZWQ6IGFnZy5wcm9tcHRzLmNvbmNhdChhZ2cudG9vbHMpLmxlbmd0aCxcbiAgICBjb25mbGljdHM6IGFnZy5jb25mbGljdHMsXG4gIH07XG59XG4iXX0=
|