@agent-deck/shared 1.1.5 → 1.1.6
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/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/collection-warnings.d.ts.map +1 -1
- package/dist/utils/collection-warnings.js +4 -1
- package/dist/utils/collection-warnings.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/local-mcp-manifest.d.ts +15 -0
- package/dist/utils/local-mcp-manifest.d.ts.map +1 -0
- package/dist/utils/local-mcp-manifest.js +76 -0
- package/dist/utils/local-mcp-manifest.js.map +1 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export * from './types/api';
|
|
|
8
8
|
export { OAuthDiscoveryResult } from './types/oauth';
|
|
9
9
|
export * from './utils';
|
|
10
10
|
export { summarizeCollectionWarnings, getServiceWarnings, getCredentialWarnings, getPlaybookWarnings, primaryCollectionWarning, type CollectionCardWarning, type CollectionWarningKind, } from './utils/collection-warnings';
|
|
11
|
+
export { normalizeLocalMcpManifestInput, parseLocalMcpManifestJson, stripJsonMarkdownFences, } from './utils/local-mcp-manifest';
|
|
11
12
|
export { AGENT_DECK_CLIENT_HEADER, AGENT_DECK_DASHBOARD_CLIENT, AGENT_DECK_AGENT_CLIENT, AGENT_DECK_WORKSPACE_HEADER, AGENT_DECK_DECK_ID_HEADER, } from './constants/client-scope';
|
|
12
13
|
export { MCP_CARD_COLOR, API_KEY_CARD_COLOR, PLAYBOOK_CARD_COLOR, getServiceCardColor } from './constants/card-colors';
|
|
13
14
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGrD,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,GAC3B,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGrD,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,GAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.getServiceCardColor = exports.PLAYBOOK_CARD_COLOR = exports.API_KEY_CARD_COLOR = exports.MCP_CARD_COLOR = exports.AGENT_DECK_DECK_ID_HEADER = exports.AGENT_DECK_WORKSPACE_HEADER = exports.AGENT_DECK_AGENT_CLIENT = exports.AGENT_DECK_DASHBOARD_CLIENT = exports.AGENT_DECK_CLIENT_HEADER = exports.primaryCollectionWarning = exports.getPlaybookWarnings = exports.getCredentialWarnings = exports.getServiceWarnings = exports.summarizeCollectionWarnings = void 0;
|
|
17
|
+
exports.getServiceCardColor = exports.PLAYBOOK_CARD_COLOR = exports.API_KEY_CARD_COLOR = exports.MCP_CARD_COLOR = exports.AGENT_DECK_DECK_ID_HEADER = exports.AGENT_DECK_WORKSPACE_HEADER = exports.AGENT_DECK_AGENT_CLIENT = exports.AGENT_DECK_DASHBOARD_CLIENT = exports.AGENT_DECK_CLIENT_HEADER = exports.stripJsonMarkdownFences = exports.parseLocalMcpManifestJson = exports.normalizeLocalMcpManifestInput = exports.primaryCollectionWarning = exports.getPlaybookWarnings = exports.getCredentialWarnings = exports.getServiceWarnings = exports.summarizeCollectionWarnings = void 0;
|
|
18
18
|
// Schemas (includes Zod-inferred types)
|
|
19
19
|
__exportStar(require("./schemas/service"), exports);
|
|
20
20
|
__exportStar(require("./schemas/deck"), exports);
|
|
@@ -32,6 +32,10 @@ Object.defineProperty(exports, "getServiceWarnings", { enumerable: true, get: fu
|
|
|
32
32
|
Object.defineProperty(exports, "getCredentialWarnings", { enumerable: true, get: function () { return collection_warnings_1.getCredentialWarnings; } });
|
|
33
33
|
Object.defineProperty(exports, "getPlaybookWarnings", { enumerable: true, get: function () { return collection_warnings_1.getPlaybookWarnings; } });
|
|
34
34
|
Object.defineProperty(exports, "primaryCollectionWarning", { enumerable: true, get: function () { return collection_warnings_1.primaryCollectionWarning; } });
|
|
35
|
+
var local_mcp_manifest_1 = require("./utils/local-mcp-manifest");
|
|
36
|
+
Object.defineProperty(exports, "normalizeLocalMcpManifestInput", { enumerable: true, get: function () { return local_mcp_manifest_1.normalizeLocalMcpManifestInput; } });
|
|
37
|
+
Object.defineProperty(exports, "parseLocalMcpManifestJson", { enumerable: true, get: function () { return local_mcp_manifest_1.parseLocalMcpManifestJson; } });
|
|
38
|
+
Object.defineProperty(exports, "stripJsonMarkdownFences", { enumerable: true, get: function () { return local_mcp_manifest_1.stripJsonMarkdownFences; } });
|
|
35
39
|
// Constants
|
|
36
40
|
var client_scope_1 = require("./constants/client-scope");
|
|
37
41
|
Object.defineProperty(exports, "AGENT_DECK_CLIENT_HEADER", { enumerable: true, get: function () { return client_scope_1.AGENT_DECK_CLIENT_HEADER; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,wCAAwC;AACxC,oDAAkC;AAClC,iDAA+B;AAC/B,uDAAqC;AACrC,kDAAgC;AAChC,sDAAoC;AACpC,qDAAmC;AAEnC,0CAA0C;AAC1C,8CAA4B;AAG5B,QAAQ;AACR,0CAAwB;AACxB,mEAQqC;AAPnC,kIAAA,2BAA2B,OAAA;AAC3B,yHAAA,kBAAkB,OAAA;AAClB,4HAAA,qBAAqB,OAAA;AACrB,0HAAA,mBAAmB,OAAA;AACnB,+HAAA,wBAAwB,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,wCAAwC;AACxC,oDAAkC;AAClC,iDAA+B;AAC/B,uDAAqC;AACrC,kDAAgC;AAChC,sDAAoC;AACpC,qDAAmC;AAEnC,0CAA0C;AAC1C,8CAA4B;AAG5B,QAAQ;AACR,0CAAwB;AACxB,mEAQqC;AAPnC,kIAAA,2BAA2B,OAAA;AAC3B,yHAAA,kBAAkB,OAAA;AAClB,4HAAA,qBAAqB,OAAA;AACrB,0HAAA,mBAAmB,OAAA;AACnB,+HAAA,wBAAwB,OAAA;AAI1B,iEAIoC;AAHlC,oIAAA,8BAA8B,OAAA;AAC9B,+HAAA,yBAAyB,OAAA;AACzB,6HAAA,uBAAuB,OAAA;AAGzB,YAAY;AACZ,yDAMkC;AALhC,wHAAA,wBAAwB,OAAA;AACxB,2HAAA,2BAA2B,OAAA;AAC3B,uHAAA,uBAAuB,OAAA;AACvB,2HAAA,2BAA2B,OAAA;AAC3B,yHAAA,yBAAyB,OAAA;AAE3B,uDAAuH;AAA9G,6GAAA,cAAc,OAAA;AAAE,iHAAA,kBAAkB,OAAA;AAAE,kHAAA,mBAAmB,OAAA;AAAE,kHAAA,mBAAmB,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-warnings.d.ts","sourceRoot":"","sources":["../../src/utils/collection-warnings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAGlD,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,YAAY,GAAG,UAAU,CAAC;AAEvE,MAAM,MAAM,qBAAqB,GAC7B,gBAAgB,GAChB,eAAe,GACf,mBAAmB,GACnB,2BAA2B,GAC3B,uBAAuB,CAAC;AAE5B,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACzB,CAAC;AAIF,wBAAgB,wBAAwB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAKpE;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,qFAAqF;IACrF,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAcF,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,qBAA0B,GAClC,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"collection-warnings.d.ts","sourceRoot":"","sources":["../../src/utils/collection-warnings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAGlD,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,YAAY,GAAG,UAAU,CAAC;AAEvE,MAAM,MAAM,qBAAqB,GAC7B,gBAAgB,GAChB,eAAe,GACf,mBAAmB,GACnB,2BAA2B,GAC3B,uBAAuB,CAAC;AAE5B,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACzB,CAAC;AAIF,wBAAgB,wBAAwB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAKpE;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,qFAAqF;IACrF,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAcF,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,qBAA0B,GAClC,qBAAqB,EAAE,CA+CzB;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,UAAU,GAAG,qBAAqB,EAAE,CAYrF;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,iBAAiB,GACzB,qBAAqB,EAAE,CAkBzB;AAED,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,UAAU,EAAE,EACzB,QAAQ,EAAE,OAAO,EAAE,GAClB,iBAAiB,CAKnB;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,OAAO,EAAE,EACnB,WAAW,EAAE,UAAU,EAAE,EACzB,SAAS,EAAE,QAAQ,EAAE,EACrB,qBAAqB,GAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAM,GAChE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC9C,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;IACtD,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;IACzD,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;CACxD,CAkDA;AAED,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,qBAAqB,EAAE,GAAG,SAAS,GAC5C,qBAAqB,GAAG,SAAS,CAKnC"}
|
|
@@ -26,9 +26,12 @@ function mcpHasValidOAuthSession(service) {
|
|
|
26
26
|
function getServiceWarnings(service, context = {}) {
|
|
27
27
|
const warnings = [];
|
|
28
28
|
if (service.health === 'unhealthy') {
|
|
29
|
+
const oauthOk = service.type === 'mcp' && mcpHasValidOAuthSession(service);
|
|
29
30
|
warnings.push({
|
|
30
31
|
kind: 'service_unhealthy',
|
|
31
|
-
message:
|
|
32
|
+
message: oauthOk
|
|
33
|
+
? 'OAuth OK but MCP unreachable — for Slack, enable MCP under Agents & AI Apps in your app settings'
|
|
34
|
+
: 'Service reported unhealthy',
|
|
32
35
|
severity: 'warning',
|
|
33
36
|
});
|
|
34
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-warnings.js","sourceRoot":"","sources":["../../src/utils/collection-warnings.ts"],"names":[],"mappings":";;AA2BA,4DAKC;AAmBD,
|
|
1
|
+
{"version":3,"file":"collection-warnings.js","sourceRoot":"","sources":["../../src/utils/collection-warnings.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,MAAM,CAAC;AACrB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,MAAM,CAAC;AACrB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC"}
|
package/dist/utils/index.js
CHANGED
|
@@ -22,4 +22,5 @@ __exportStar(require("./playbook"), exports);
|
|
|
22
22
|
__exportStar(require("./playbook-dependencies"), exports);
|
|
23
23
|
__exportStar(require("./collection-warnings"), exports);
|
|
24
24
|
__exportStar(require("./oauth-session"), exports);
|
|
25
|
+
__exportStar(require("./local-mcp-manifest"), exports);
|
|
25
26
|
//# sourceMappingURL=index.js.map
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uCAAqB;AACrB,+CAA6B;AAC7B,6CAA2B;AAC3B,+CAA6B;AAC7B,6CAA2B;AAC3B,0DAAwC;AACxC,wDAAsC;AACtC,kDAAgC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uCAAqB;AACrB,+CAA6B;AAC7B,6CAA2B;AAC3B,+CAA6B;AAC7B,6CAA2B;AAC3B,0DAAwC;AACxC,wDAAsC;AACtC,kDAAgC;AAChC,uDAAqC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { MCPServersManifest } from '../schemas/service';
|
|
2
|
+
/** Strip ``` / ```json fences when users paste from markdown docs. */
|
|
3
|
+
export declare function stripJsonMarkdownFences(raw: string): string;
|
|
4
|
+
/**
|
|
5
|
+
* Accept common local MCP config shapes and normalize to { mcpServers: { ... } }.
|
|
6
|
+
*
|
|
7
|
+
* Supported:
|
|
8
|
+
* - Standard Claude/Cursor manifest: { "mcpServers": { "name": { "command", "args" } } }
|
|
9
|
+
* - API import wrapper: { "config": { "mcpServers": { ... } } }
|
|
10
|
+
* - Bare server: { "command": "npx", "args": [...], "name"?: "my-server" }
|
|
11
|
+
* - Unwrapped map: { "google-drive": { "command": "npx", "args": [...] } }
|
|
12
|
+
*/
|
|
13
|
+
export declare function normalizeLocalMcpManifestInput(parsed: unknown): MCPServersManifest;
|
|
14
|
+
export declare function parseLocalMcpManifestJson(raw: string): MCPServersManifest;
|
|
15
|
+
//# sourceMappingURL=local-mcp-manifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-mcp-manifest.d.ts","sourceRoot":"","sources":["../../src/utils/local-mcp-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAwB,MAAM,oBAAoB,CAAC;AAiB9E,sEAAsE;AACtE,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM3D;AAED;;;;;;;;GAQG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,OAAO,GAAG,kBAAkB,CAsClF;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAUzE"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.stripJsonMarkdownFences = stripJsonMarkdownFences;
|
|
4
|
+
exports.normalizeLocalMcpManifestInput = normalizeLocalMcpManifestInput;
|
|
5
|
+
exports.parseLocalMcpManifestJson = parseLocalMcpManifestJson;
|
|
6
|
+
function isRecord(value) {
|
|
7
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
8
|
+
}
|
|
9
|
+
function isServerConfig(value) {
|
|
10
|
+
return isRecord(value) && typeof value.command === 'string';
|
|
11
|
+
}
|
|
12
|
+
function isServersMap(value) {
|
|
13
|
+
if (!isRecord(value) || Object.keys(value).length === 0) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
return Object.values(value).every(isServerConfig);
|
|
17
|
+
}
|
|
18
|
+
/** Strip ``` / ```json fences when users paste from markdown docs. */
|
|
19
|
+
function stripJsonMarkdownFences(raw) {
|
|
20
|
+
let text = raw.trim();
|
|
21
|
+
if (!text.startsWith('```')) {
|
|
22
|
+
return text;
|
|
23
|
+
}
|
|
24
|
+
return text.replace(/^```(?:json)?\s*\n?/i, '').replace(/\n?```\s*$/, '').trim();
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Accept common local MCP config shapes and normalize to { mcpServers: { ... } }.
|
|
28
|
+
*
|
|
29
|
+
* Supported:
|
|
30
|
+
* - Standard Claude/Cursor manifest: { "mcpServers": { "name": { "command", "args" } } }
|
|
31
|
+
* - API import wrapper: { "config": { "mcpServers": { ... } } }
|
|
32
|
+
* - Bare server: { "command": "npx", "args": [...], "name"?: "my-server" }
|
|
33
|
+
* - Unwrapped map: { "google-drive": { "command": "npx", "args": [...] } }
|
|
34
|
+
*/
|
|
35
|
+
function normalizeLocalMcpManifestInput(parsed) {
|
|
36
|
+
if (!isRecord(parsed)) {
|
|
37
|
+
throw new Error('Configuration must be a JSON object');
|
|
38
|
+
}
|
|
39
|
+
if (isRecord(parsed.config) && isServersMap(parsed.config.mcpServers)) {
|
|
40
|
+
return { mcpServers: parsed.config.mcpServers };
|
|
41
|
+
}
|
|
42
|
+
if (isServersMap(parsed.mcpServers)) {
|
|
43
|
+
return { mcpServers: parsed.mcpServers };
|
|
44
|
+
}
|
|
45
|
+
if (isRecord(parsed) && typeof parsed.command === 'string') {
|
|
46
|
+
const name = typeof parsed.name === 'string' && parsed.name.trim() ? parsed.name.trim() : 'local-server';
|
|
47
|
+
const { name: _ignored, ...serverConfig } = parsed;
|
|
48
|
+
if (!isServerConfig(serverConfig)) {
|
|
49
|
+
throw new Error('Missing or invalid command');
|
|
50
|
+
}
|
|
51
|
+
return { mcpServers: { [name]: serverConfig } };
|
|
52
|
+
}
|
|
53
|
+
if (isServersMap(parsed)) {
|
|
54
|
+
return { mcpServers: parsed };
|
|
55
|
+
}
|
|
56
|
+
throw new Error('Invalid configuration: expected a top-level "mcpServers" object. Example:\n' +
|
|
57
|
+
'{\n' +
|
|
58
|
+
' "mcpServers": {\n' +
|
|
59
|
+
' "google-drive": {\n' +
|
|
60
|
+
' "command": "npx",\n' +
|
|
61
|
+
' "args": ["-y", "@piotr-agier/google-drive-mcp"]\n' +
|
|
62
|
+
' }\n' +
|
|
63
|
+
' }\n' +
|
|
64
|
+
'}');
|
|
65
|
+
}
|
|
66
|
+
function parseLocalMcpManifestJson(raw) {
|
|
67
|
+
let parsed;
|
|
68
|
+
try {
|
|
69
|
+
parsed = JSON.parse(stripJsonMarkdownFences(raw));
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
throw new Error(`Failed to parse JSON: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
73
|
+
}
|
|
74
|
+
return normalizeLocalMcpManifestInput(parsed);
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=local-mcp-manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-mcp-manifest.js","sourceRoot":"","sources":["../../src/utils/local-mcp-manifest.ts"],"names":[],"mappings":"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"}
|