@stackable-labs/mcp-app-extension 0.4.1 → 0.4.2
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/{auth-AJDGAQSE.js → auth-CJL2AMD2.js} +2 -2
- package/dist/{auth-JRYNP3PL.js → auth-SHC2ZPYW.js} +2 -2
- package/dist/{chunk-6EMXRSXY.js → chunk-657HRIOS.js} +13 -7
- package/dist/{chunk-4XCX3LVH.js → chunk-OKQPGRY2.js} +17 -11
- package/dist/index.js +4 -4
- package/dist/server.js +4 -4
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { writeAuthState } from './chunk-
|
|
2
|
+
import { writeAuthState, STANDALONE_CLIENT_AUTH_FILE } from './chunk-OKQPGRY2.js';
|
|
3
3
|
import { createServer } from 'http';
|
|
4
4
|
import process6 from 'process';
|
|
5
5
|
import { Buffer as Buffer$1 } from 'buffer';
|
|
@@ -661,7 +661,7 @@ var performOAuthFlow = async (discoveryUrl) => {
|
|
|
661
661
|
orgId: payload.orgId,
|
|
662
662
|
userId: payload.sub
|
|
663
663
|
},
|
|
664
|
-
|
|
664
|
+
STANDALONE_CLIENT_AUTH_FILE.MCP
|
|
665
665
|
);
|
|
666
666
|
return tokenResponse.access_token;
|
|
667
667
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { writeAuthState } from './chunk-
|
|
1
|
+
import { writeAuthState, STANDALONE_CLIENT_AUTH_FILE } from './chunk-657HRIOS.js';
|
|
2
2
|
import { createServer } from 'http';
|
|
3
3
|
import process6 from 'process';
|
|
4
4
|
import { Buffer as Buffer$1 } from 'buffer';
|
|
@@ -660,7 +660,7 @@ var performOAuthFlow = async (discoveryUrl) => {
|
|
|
660
660
|
orgId: payload.orgId,
|
|
661
661
|
userId: payload.sub
|
|
662
662
|
},
|
|
663
|
-
|
|
663
|
+
STANDALONE_CLIENT_AUTH_FILE.MCP
|
|
664
664
|
);
|
|
665
665
|
return tokenResponse.access_token;
|
|
666
666
|
};
|
|
@@ -3,10 +3,16 @@ import { join } from 'path';
|
|
|
3
3
|
import { homedir } from 'os';
|
|
4
4
|
|
|
5
5
|
// ../../lib/utils-auth/src/constants.ts
|
|
6
|
-
var
|
|
7
|
-
CLI: "@stackable-labs/cli-app-extension",
|
|
8
|
-
MCP: "@stackable-labs/mcp-app-extension"
|
|
6
|
+
var STANDALONE_CLIENT_DATA = {
|
|
7
|
+
CLI: { name: "@stackable-labs/cli-app-extension", authFile: "auth.json" },
|
|
8
|
+
MCP: { name: "@stackable-labs/mcp-app-extension", authFile: "mcp-auth.json" }
|
|
9
9
|
};
|
|
10
|
+
var STANDALONE_CLIENT = Object.fromEntries(
|
|
11
|
+
Object.entries(STANDALONE_CLIENT_DATA).map(([k, v]) => [k, v.name])
|
|
12
|
+
);
|
|
13
|
+
var STANDALONE_CLIENT_AUTH_FILE = Object.fromEntries(
|
|
14
|
+
Object.entries(STANDALONE_CLIENT_DATA).map(([k, v]) => [k, v.authFile])
|
|
15
|
+
);
|
|
10
16
|
Object.values(STANDALONE_CLIENT);
|
|
11
17
|
|
|
12
18
|
// ../../lib/contracts/src/permissions.ts
|
|
@@ -28,9 +34,9 @@ var EDITOR_ROLES = [
|
|
|
28
34
|
|
|
29
35
|
// ../../lib/utils-auth/src/index.ts
|
|
30
36
|
var AUTH_DIR = join(homedir(), ".stackable");
|
|
31
|
-
join(AUTH_DIR,
|
|
32
|
-
join(AUTH_DIR,
|
|
33
|
-
var resolveAuthFile = (filename) => join(AUTH_DIR, filename ??
|
|
37
|
+
join(AUTH_DIR, STANDALONE_CLIENT_AUTH_FILE.CLI);
|
|
38
|
+
var MCP_AUTH_FILE = join(AUTH_DIR, STANDALONE_CLIENT_AUTH_FILE.MCP);
|
|
39
|
+
var resolveAuthFile = (filename) => join(AUTH_DIR, filename ?? STANDALONE_CLIENT_AUTH_FILE.CLI);
|
|
34
40
|
var readAuthState = async (filename) => {
|
|
35
41
|
try {
|
|
36
42
|
const content = await readFile(resolveAuthFile(filename), "utf8");
|
|
@@ -69,4 +75,4 @@ var getToken = async (filename) => {
|
|
|
69
75
|
return state.token;
|
|
70
76
|
};
|
|
71
77
|
|
|
72
|
-
export { STANDALONE_CLIENT, getToken, writeAuthState };
|
|
78
|
+
export { MCP_AUTH_FILE, STANDALONE_CLIENT, STANDALONE_CLIENT_AUTH_FILE, getToken, writeAuthState };
|
|
@@ -3,6 +3,19 @@ import { mkdir, writeFile, readFile } from 'fs/promises';
|
|
|
3
3
|
import { join } from 'path';
|
|
4
4
|
import { homedir } from 'os';
|
|
5
5
|
|
|
6
|
+
// ../../lib/utils-auth/src/constants.ts
|
|
7
|
+
var STANDALONE_CLIENT_DATA = {
|
|
8
|
+
CLI: { name: "@stackable-labs/cli-app-extension", authFile: "auth.json" },
|
|
9
|
+
MCP: { name: "@stackable-labs/mcp-app-extension", authFile: "mcp-auth.json" }
|
|
10
|
+
};
|
|
11
|
+
var STANDALONE_CLIENT = Object.fromEntries(
|
|
12
|
+
Object.entries(STANDALONE_CLIENT_DATA).map(([k, v]) => [k, v.name])
|
|
13
|
+
);
|
|
14
|
+
var STANDALONE_CLIENT_AUTH_FILE = Object.fromEntries(
|
|
15
|
+
Object.entries(STANDALONE_CLIENT_DATA).map(([k, v]) => [k, v.authFile])
|
|
16
|
+
);
|
|
17
|
+
Object.values(STANDALONE_CLIENT);
|
|
18
|
+
|
|
6
19
|
// ../../lib/contracts/src/permissions.ts
|
|
7
20
|
var SUPER_ROLE = {
|
|
8
21
|
ADMIN: "org:super_admin"
|
|
@@ -20,18 +33,11 @@ var EDITOR_ROLES = [
|
|
|
20
33
|
...Object.values(EDITOR_ROLES)
|
|
21
34
|
];
|
|
22
35
|
|
|
23
|
-
// ../../lib/utils-auth/src/constants.ts
|
|
24
|
-
var STANDALONE_CLIENT = {
|
|
25
|
-
CLI: "@stackable-labs/cli-app-extension",
|
|
26
|
-
MCP: "@stackable-labs/mcp-app-extension"
|
|
27
|
-
};
|
|
28
|
-
Object.values(STANDALONE_CLIENT);
|
|
29
|
-
|
|
30
36
|
// ../../lib/utils-auth/src/index.ts
|
|
31
37
|
var AUTH_DIR = join(homedir(), ".stackable");
|
|
32
|
-
join(AUTH_DIR,
|
|
33
|
-
join(AUTH_DIR,
|
|
34
|
-
var resolveAuthFile = (filename) => join(AUTH_DIR, filename ??
|
|
38
|
+
join(AUTH_DIR, STANDALONE_CLIENT_AUTH_FILE.CLI);
|
|
39
|
+
var MCP_AUTH_FILE = join(AUTH_DIR, STANDALONE_CLIENT_AUTH_FILE.MCP);
|
|
40
|
+
var resolveAuthFile = (filename) => join(AUTH_DIR, filename ?? STANDALONE_CLIENT_AUTH_FILE.CLI);
|
|
35
41
|
var readAuthState = async (filename) => {
|
|
36
42
|
try {
|
|
37
43
|
const content = await readFile(resolveAuthFile(filename), "utf8");
|
|
@@ -70,4 +76,4 @@ var getToken = async (filename) => {
|
|
|
70
76
|
return state.token;
|
|
71
77
|
};
|
|
72
78
|
|
|
73
|
-
export { STANDALONE_CLIENT, getToken, writeAuthState };
|
|
79
|
+
export { MCP_AUTH_FILE, STANDALONE_CLIENT, STANDALONE_CLIENT_AUTH_FILE, getToken, writeAuthState };
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { STANDALONE_CLIENT, getToken } from './chunk-
|
|
2
|
+
import { STANDALONE_CLIENT, MCP_AUTH_FILE, getToken, STANDALONE_CLIENT_AUTH_FILE } from './chunk-OKQPGRY2.js';
|
|
3
3
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
4
4
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
5
5
|
import { IDENTITY_EVENTS, ACTIVITY_EVENTS, SURFACE_TARGETS, PERMISSIONS, CAPABILITY_PERMISSION_MAP, ALLOWED_ICONS, UI_TAGS, UI_TAG_ATTRIBUTES, tagToComponentName } from '@stackable-labs/sdk-extension-contracts';
|
|
@@ -3772,10 +3772,10 @@ var createMcpServer = (options = {}) => {
|
|
|
3772
3772
|
return options.authContext.token;
|
|
3773
3773
|
}
|
|
3774
3774
|
try {
|
|
3775
|
-
return await getToken(
|
|
3775
|
+
return await getToken(STANDALONE_CLIENT_AUTH_FILE.MCP);
|
|
3776
3776
|
} catch {
|
|
3777
3777
|
}
|
|
3778
|
-
const { performOAuthFlow } = await import('./auth-
|
|
3778
|
+
const { performOAuthFlow } = await import('./auth-CJL2AMD2.js');
|
|
3779
3779
|
const MCP_API_BASE_URL = process.env.MCP_API_BASE_URL ?? DEFAULT_MCP_API_BASE_URL;
|
|
3780
3780
|
return performOAuthFlow(`${MCP_API_BASE_URL}/.well-known/oauth-authorization-server`);
|
|
3781
3781
|
};
|
|
@@ -3810,7 +3810,7 @@ var createMcpServer = (options = {}) => {
|
|
|
3810
3810
|
if (e.message.includes("fetch")) {
|
|
3811
3811
|
const MCP_API_BASE_URL = process.env.MCP_API_BASE_URL ?? DEFAULT_MCP_API_BASE_URL;
|
|
3812
3812
|
return errorContent(
|
|
3813
|
-
`MCP auth flow failed: ${e.message}. Check MCP_API_BASE_URL env var (currently "${MCP_API_BASE_URL}"). To re-auth from scratch: rm
|
|
3813
|
+
`MCP auth flow failed: ${e.message}. Check MCP_API_BASE_URL env var (currently "${MCP_API_BASE_URL}"). To re-auth from scratch: rm ${MCP_AUTH_FILE}`
|
|
3814
3814
|
);
|
|
3815
3815
|
}
|
|
3816
3816
|
return errorContent(e.message);
|
package/dist/server.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { STANDALONE_CLIENT, getToken } from './chunk-
|
|
1
|
+
import { STANDALONE_CLIENT, MCP_AUTH_FILE, getToken, STANDALONE_CLIENT_AUTH_FILE } from './chunk-657HRIOS.js';
|
|
2
2
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
3
3
|
import { IDENTITY_EVENTS, ACTIVITY_EVENTS, SURFACE_TARGETS, PERMISSIONS, CAPABILITY_PERMISSION_MAP, ALLOWED_ICONS, UI_TAGS, UI_TAG_ATTRIBUTES, tagToComponentName } from '@stackable-labs/sdk-extension-contracts';
|
|
4
4
|
import { z } from 'zod';
|
|
@@ -3770,10 +3770,10 @@ var createMcpServer = (options = {}) => {
|
|
|
3770
3770
|
return options.authContext.token;
|
|
3771
3771
|
}
|
|
3772
3772
|
try {
|
|
3773
|
-
return await getToken(
|
|
3773
|
+
return await getToken(STANDALONE_CLIENT_AUTH_FILE.MCP);
|
|
3774
3774
|
} catch {
|
|
3775
3775
|
}
|
|
3776
|
-
const { performOAuthFlow } = await import('./auth-
|
|
3776
|
+
const { performOAuthFlow } = await import('./auth-SHC2ZPYW.js');
|
|
3777
3777
|
const MCP_API_BASE_URL = process.env.MCP_API_BASE_URL ?? DEFAULT_MCP_API_BASE_URL;
|
|
3778
3778
|
return performOAuthFlow(`${MCP_API_BASE_URL}/.well-known/oauth-authorization-server`);
|
|
3779
3779
|
};
|
|
@@ -3808,7 +3808,7 @@ var createMcpServer = (options = {}) => {
|
|
|
3808
3808
|
if (e.message.includes("fetch")) {
|
|
3809
3809
|
const MCP_API_BASE_URL = process.env.MCP_API_BASE_URL ?? DEFAULT_MCP_API_BASE_URL;
|
|
3810
3810
|
return errorContent(
|
|
3811
|
-
`MCP auth flow failed: ${e.message}. Check MCP_API_BASE_URL env var (currently "${MCP_API_BASE_URL}"). To re-auth from scratch: rm
|
|
3811
|
+
`MCP auth flow failed: ${e.message}. Check MCP_API_BASE_URL env var (currently "${MCP_API_BASE_URL}"). To re-auth from scratch: rm ${MCP_AUTH_FILE}`
|
|
3812
3812
|
);
|
|
3813
3813
|
}
|
|
3814
3814
|
return errorContent(e.message);
|