@schemyx/mcp 0.1.8 → 0.1.9
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/README.md +6 -40
- package/dist/main.js +1 -6
- package/dist/main.js.map +1 -1
- package/dist/server/index.d.ts +2 -7
- package/dist/server/index.js +14 -105
- package/dist/server/index.js.map +1 -1
- package/dist/server/tool-definitions.d.ts +1 -13
- package/dist/server/tool-definitions.js +3 -173
- package/dist/server/tool-definitions.js.map +1 -1
- package/package.json +2 -2
- package/dist/backend-client.d.ts +0 -1
- package/dist/backend-client.js +0 -18
- package/dist/backend-client.js.map +0 -1
- package/dist/client/backend-client.d.ts +0 -17
- package/dist/client/backend-client.js +0 -97
- package/dist/client/backend-client.js.map +0 -1
- package/dist/client/local-theme-source.d.ts +0 -19
- package/dist/client/local-theme-source.js +0 -737
- package/dist/client/local-theme-source.js.map +0 -1
- package/dist/client/mcp-client.d.ts +0 -15
- package/dist/client/mcp-client.js +0 -46
- package/dist/client/mcp-client.js.map +0 -1
- package/dist/config.d.ts +0 -1
- package/dist/config.js +0 -18
- package/dist/config.js.map +0 -1
- package/dist/local-theme-source.d.ts +0 -1
- package/dist/local-theme-source.js +0 -18
- package/dist/local-theme-source.js.map +0 -1
- package/dist/mcp-client.d.ts +0 -1
- package/dist/mcp-client.js +0 -18
- package/dist/mcp-client.js.map +0 -1
- package/dist/prompts.d.ts +0 -1
- package/dist/prompts.js +0 -18
- package/dist/prompts.js.map +0 -1
- package/dist/server/prompts.d.ts +0 -7
- package/dist/server/prompts.js +0 -55
- package/dist/server/prompts.js.map +0 -1
- package/dist/server.d.ts +0 -4
- package/dist/server.js +0 -163
- package/dist/server.js.map +0 -1
- package/dist/shared/config.d.ts +0 -2
- package/dist/shared/config.js +0 -59
- package/dist/shared/config.js.map +0 -1
- package/dist/shared/types.d.ts +0 -119
- package/dist/shared/types.js +0 -3
- package/dist/shared/types.js.map +0 -1
- package/dist/shared/uri.d.ts +0 -6
- package/dist/shared/uri.js +0 -24
- package/dist/shared/uri.js.map +0 -1
- package/dist/style-recipes.d.ts +0 -1
- package/dist/style-recipes.js +0 -18
- package/dist/style-recipes.js.map +0 -1
- package/dist/text.d.ts +0 -1
- package/dist/text.js +0 -18
- package/dist/text.js.map +0 -1
- package/dist/theme/style-recipes.d.ts +0 -26
- package/dist/theme/style-recipes.js +0 -129
- package/dist/theme/style-recipes.js.map +0 -1
- package/dist/tool-definitions.d.ts +0 -1
- package/dist/tool-definitions.js +0 -18
- package/dist/tool-definitions.js.map +0 -1
- package/dist/types.d.ts +0 -1
- package/dist/types.js +0 -18
- package/dist/types.js.map +0 -1
- package/dist/uri.d.ts +0 -1
- package/dist/uri.js +0 -18
- package/dist/uri.js.map +0 -1
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SchemyxBackendClient = void 0;
|
|
4
|
-
class SchemyxBackendClient {
|
|
5
|
-
config;
|
|
6
|
-
contextCache = null;
|
|
7
|
-
manifestCache = new Map();
|
|
8
|
-
constructor(config) {
|
|
9
|
-
this.config = config;
|
|
10
|
-
}
|
|
11
|
-
async getContext() {
|
|
12
|
-
const cached = this.contextCache;
|
|
13
|
-
if (cached && cached.expiresAt > Date.now()) {
|
|
14
|
-
return cached.value;
|
|
15
|
-
}
|
|
16
|
-
const value = await this.request('/mcp/context');
|
|
17
|
-
this.contextCache = this.cacheEntry(value);
|
|
18
|
-
return value;
|
|
19
|
-
}
|
|
20
|
-
async listConfigs() {
|
|
21
|
-
const context = await this.getContext();
|
|
22
|
-
const configs = context.projects
|
|
23
|
-
.filter((project) => !this.config.projectId || project.id === this.config.projectId)
|
|
24
|
-
.flatMap((project) => project.configs);
|
|
25
|
-
if (this.config.configId) {
|
|
26
|
-
return configs.filter((config) => config.id === this.config.configId);
|
|
27
|
-
}
|
|
28
|
-
return configs;
|
|
29
|
-
}
|
|
30
|
-
async discoverConfigs() {
|
|
31
|
-
const configs = await this.listConfigs();
|
|
32
|
-
return Promise.all(configs.map(async (config) => ({
|
|
33
|
-
config,
|
|
34
|
-
manifest: await this.getManifest(config.id),
|
|
35
|
-
})));
|
|
36
|
-
}
|
|
37
|
-
async getManifest(configId) {
|
|
38
|
-
const cached = this.manifestCache.get(configId);
|
|
39
|
-
if (cached && cached.expiresAt > Date.now()) {
|
|
40
|
-
return cached.value;
|
|
41
|
-
}
|
|
42
|
-
const value = await this.request(`/mcp/configs/${configId}/manifest`);
|
|
43
|
-
this.manifestCache.set(configId, this.cacheEntry(value));
|
|
44
|
-
return value;
|
|
45
|
-
}
|
|
46
|
-
async getLatestConfig(configId) {
|
|
47
|
-
return this.request(`/mcp/configs/${configId}/latest`);
|
|
48
|
-
}
|
|
49
|
-
async readResource(configId, resourceId) {
|
|
50
|
-
return this.request(`/mcp/configs/${configId}/resources/${encodeURIComponent(resourceId)}`);
|
|
51
|
-
}
|
|
52
|
-
async executeTool(configId, toolName, args) {
|
|
53
|
-
return this.request(`/mcp/configs/${configId}/tools/${encodeURIComponent(toolName)}`, {
|
|
54
|
-
method: 'POST',
|
|
55
|
-
body: JSON.stringify({ arguments: args }),
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
async resolveConfigId(configId) {
|
|
59
|
-
if (configId) {
|
|
60
|
-
return configId;
|
|
61
|
-
}
|
|
62
|
-
const configs = await this.listConfigs();
|
|
63
|
-
if (configs.length === 1) {
|
|
64
|
-
return configs[0].id;
|
|
65
|
-
}
|
|
66
|
-
if (configs.length === 0) {
|
|
67
|
-
throw new Error('No Schemyx configs are available for this API key.');
|
|
68
|
-
}
|
|
69
|
-
throw new Error('Multiple configs are available. Pass configId to choose one.');
|
|
70
|
-
}
|
|
71
|
-
async request(path, init) {
|
|
72
|
-
if (!this.config.apiKey) {
|
|
73
|
-
throw new Error('SCHEMYX_API_KEY is required when no local Schemyx theme files are available.');
|
|
74
|
-
}
|
|
75
|
-
const response = await fetch(`${this.config.apiUrl}${path}`, {
|
|
76
|
-
...init,
|
|
77
|
-
headers: {
|
|
78
|
-
Accept: 'application/json',
|
|
79
|
-
Authorization: `Bearer ${this.config.apiKey}`,
|
|
80
|
-
...(init?.body ? { 'Content-Type': 'application/json' } : {}),
|
|
81
|
-
...init?.headers,
|
|
82
|
-
},
|
|
83
|
-
});
|
|
84
|
-
if (!response.ok) {
|
|
85
|
-
throw new Error(`Schemyx API request failed: ${response.status} ${response.statusText} ${await response.text()}`);
|
|
86
|
-
}
|
|
87
|
-
return (await response.json());
|
|
88
|
-
}
|
|
89
|
-
cacheEntry(value) {
|
|
90
|
-
return {
|
|
91
|
-
expiresAt: Date.now() + this.config.cacheTtlMs,
|
|
92
|
-
value,
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
exports.SchemyxBackendClient = SchemyxBackendClient;
|
|
97
|
-
//# sourceMappingURL=backend-client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"backend-client.js","sourceRoot":"","sources":["../../src/client/backend-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { BackendConfigManifest, BackendResourceContent, BackendToolResult, DiscoveredConfig, LocalMcpConfig, McpConfigResponse, SchemyxMcpSource } from '../shared/types';
|
|
2
|
-
export declare function createLocalThemeSourceIfAvailable(config: LocalMcpConfig): Promise<LocalThemeSource | null>;
|
|
3
|
-
export declare class LocalThemeSource implements SchemyxMcpSource {
|
|
4
|
-
private readonly themeDir;
|
|
5
|
-
private bundleCache;
|
|
6
|
-
private configCache;
|
|
7
|
-
constructor(themeDir: string);
|
|
8
|
-
listConfigs(): Promise<McpConfigResponse[]>;
|
|
9
|
-
discoverConfigs(): Promise<DiscoveredConfig[]>;
|
|
10
|
-
getManifest(configId: string): Promise<BackendConfigManifest>;
|
|
11
|
-
getLatestConfig(configId: string): Promise<McpConfigResponse>;
|
|
12
|
-
readResource(configId: string, resourceId: string): Promise<BackendResourceContent>;
|
|
13
|
-
executeTool(configId: string, toolName: string, args: Record<string, unknown>): Promise<BackendToolResult>;
|
|
14
|
-
resolveConfigId(configId: string | undefined): Promise<string>;
|
|
15
|
-
private getBundle;
|
|
16
|
-
private getLocalConfig;
|
|
17
|
-
private createLocalConfig;
|
|
18
|
-
private assertLocalConfig;
|
|
19
|
-
}
|