@frogbotai/plugin-mcp 0.15.0 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/access.d.ts +1 -1
- package/dist/access.d.ts.map +1 -1
- package/dist/access.js +4 -2
- package/dist/access.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -5
- package/dist/index.js.map +1 -1
- package/package.json +6 -6
package/dist/access.d.ts
CHANGED
|
@@ -8,6 +8,6 @@ type ResolveMcpAccessOptions = {
|
|
|
8
8
|
req: PayloadRequest;
|
|
9
9
|
};
|
|
10
10
|
export declare function validateMcpCapabilities(pluginOptions: MCPPluginConfig): void;
|
|
11
|
-
export declare function resolveMcpAccess({ authenticate, pluginOptions, req }: ResolveMcpAccessOptions): Promise<MCPAccessSettings>;
|
|
11
|
+
export declare function resolveMcpAccess({ authenticate, pluginOptions, req, }: ResolveMcpAccessOptions): Promise<MCPAccessSettings>;
|
|
12
12
|
export {};
|
|
13
13
|
//# sourceMappingURL=access.d.ts.map
|
package/dist/access.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../src/access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9C,KAAK,uBAAuB,GAAG;IAC7B,YAAY,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;IAC7C,aAAa,EAAE,eAAe,CAAC;IAC/B,GAAG,EAAE,cAAc,CAAC;CACrB,CAAC;
|
|
1
|
+
{"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../src/access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9C,KAAK,uBAAuB,GAAG;IAC7B,YAAY,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;IAC7C,aAAa,EAAE,eAAe,CAAC;IAC/B,GAAG,EAAE,cAAc,CAAC;CACrB,CAAC;AAOF,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,eAAe,GAAG,IAAI,CAe5E;AA0BD,wBAAsB,gBAAgB,CAAC,EACrC,YAAY,EACZ,aAAa,EACb,GAAG,GACJ,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAsBtD"}
|
package/dist/access.js
CHANGED
|
@@ -19,7 +19,9 @@ export function validateMcpCapabilities(pluginOptions) {
|
|
|
19
19
|
function collectionGrants(options) {
|
|
20
20
|
return Object.fromEntries(Object.entries(options ?? {}).map(([slug, config]) => [
|
|
21
21
|
toCamelCase(slug),
|
|
22
|
-
config?.enabled === true
|
|
22
|
+
config?.enabled === true
|
|
23
|
+
? { create: true, delete: true, find: true, update: true }
|
|
24
|
+
: config?.enabled,
|
|
23
25
|
]));
|
|
24
26
|
}
|
|
25
27
|
function globalGrants(options) {
|
|
@@ -31,7 +33,7 @@ function globalGrants(options) {
|
|
|
31
33
|
function namedGrants(items) {
|
|
32
34
|
return Object.fromEntries((items ?? []).map(({ name }) => [toCamelCase(name), true]));
|
|
33
35
|
}
|
|
34
|
-
export async function resolveMcpAccess({ authenticate, pluginOptions, req }) {
|
|
36
|
+
export async function resolveMcpAccess({ authenticate, pluginOptions, req, }) {
|
|
35
37
|
const result = await authenticate({ headers: req.headers, payload: req.payload });
|
|
36
38
|
if (!result.user)
|
|
37
39
|
throw new UnauthorizedError();
|
package/dist/access.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access.js","sourceRoot":"","sources":["../src/access.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAQ5C,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"access.js","sourceRoot":"","sources":["../src/access.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAItC,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,EAAE,cAAc,GAAG,cAAc,CAAC,CAAC;AAEtF,wBAAgB,SAAS,CAAC,aAAa,GAAE,gBAAqB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAItC,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,EAAE,cAAc,GAAG,cAAc,CAAC,CAAC;AAEtF,wBAAgB,SAAS,CAAC,aAAa,GAAE,gBAAqB,GAAG,MAAM,CA4BtE"}
|
package/dist/index.js
CHANGED
|
@@ -4,18 +4,24 @@ import { resolveMcpAccess, validateMcpCapabilities } from './access.js';
|
|
|
4
4
|
export function mcpPlugin(pluginOptions = {}) {
|
|
5
5
|
validateMcpCapabilities(pluginOptions);
|
|
6
6
|
return async (config) => {
|
|
7
|
-
const apiKeyStrategy = config.collections
|
|
7
|
+
const apiKeyStrategy = config.collections
|
|
8
|
+
.flatMap((collection) => {
|
|
8
9
|
const auth = typeof collection.auth === 'object' ? collection.auth : undefined;
|
|
9
10
|
return auth?.strategies ?? [];
|
|
10
|
-
})
|
|
11
|
+
})
|
|
12
|
+
.find(isApiKeyStrategy);
|
|
11
13
|
if (!apiKeyStrategy) {
|
|
12
14
|
throw new Error('[plugin-mcp] apiKeysPlugin must be configured before mcpPlugin.');
|
|
13
15
|
}
|
|
14
16
|
const { experimental: _experimental, overrideAuth: _overrideAuth, ...options } = pluginOptions;
|
|
15
|
-
return await payloadMcpPlugin({
|
|
17
|
+
return (await payloadMcpPlugin({
|
|
16
18
|
...options,
|
|
17
|
-
overrideAuth: (req) => resolveMcpAccess({
|
|
18
|
-
|
|
19
|
+
overrideAuth: (req) => resolveMcpAccess({
|
|
20
|
+
authenticate: apiKeyStrategy.authenticate,
|
|
21
|
+
pluginOptions: options,
|
|
22
|
+
req,
|
|
23
|
+
}),
|
|
24
|
+
})(config));
|
|
19
25
|
};
|
|
20
26
|
}
|
|
21
27
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAGvE,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAIxE,MAAM,UAAU,SAAS,CAAC,gBAAkC,EAAE;IAC5D,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACvC,OAAO,KAAK,EAAE,MAAM,EAAE,EAAE;QACtB,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAGvE,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAIxE,MAAM,UAAU,SAAS,CAAC,gBAAkC,EAAE;IAC5D,uBAAuB,CAAC,aAAa,CAAC,CAAC;IACvC,OAAO,KAAK,EAAE,MAAM,EAAE,EAAE;QACtB,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW;aACtC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YACtB,MAAM,IAAI,GAAG,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/E,OAAO,IAAI,EAAE,UAAU,IAAI,EAAE,CAAC;QAChC,CAAC,CAAC;aACD,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACrF,CAAC;QAED,MAAM,EACJ,YAAY,EAAE,aAAa,EAC3B,YAAY,EAAE,aAAa,EAC3B,GAAG,OAAO,EACX,GAAG,aAAgC,CAAC;QACrC,OAAO,CAAC,MAAM,gBAAgB,CAAC;YAC7B,GAAG,OAAO;YACV,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CACpB,gBAAgB,CAAC;gBACf,YAAY,EAAE,cAAc,CAAC,YAAY;gBACzC,aAAa,EAAE,OAAO;gBACtB,GAAG;aACJ,CAAC;SACL,CAAC,CAAC,MAAe,CAAC,CAA6B,CAAC;IACnD,CAAC,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@frogbotai/plugin-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"description": "Payload MCP integration for FrogBot.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Colby Gilbert",
|
|
@@ -31,15 +31,15 @@
|
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
33
|
"payload": "3.85.1",
|
|
34
|
-
"@frogbotai/plugin-api-keys": "0.
|
|
35
|
-
"frogbot": "0.
|
|
34
|
+
"@frogbotai/plugin-api-keys": "0.17.0",
|
|
35
|
+
"frogbot": "0.17.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"payload": "3.85.1",
|
|
39
39
|
"typescript": "5.6.2",
|
|
40
|
-
"@frogbotai/plugin-api-keys": "0.
|
|
41
|
-
"
|
|
42
|
-
"
|
|
40
|
+
"@frogbotai/plugin-api-keys": "0.17.0",
|
|
41
|
+
"frogbot": "0.17.0",
|
|
42
|
+
"@frogbotai/plugin-roles": "0.17.0"
|
|
43
43
|
},
|
|
44
44
|
"publishConfig": {
|
|
45
45
|
"access": "public"
|