@besales/mcp 0.1.0 → 0.11.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/README.md +272 -17
- package/dist/auth/connection-store.d.ts +58 -0
- package/dist/auth/connection-store.js +208 -0
- package/dist/auth/connection-store.js.map +1 -0
- package/dist/auth/oauth-client.d.ts +27 -2
- package/dist/auth/oauth-client.js +62 -11
- package/dist/auth/oauth-client.js.map +1 -1
- package/dist/auth/session-workspace.d.ts +2 -0
- package/dist/auth/session-workspace.js +20 -0
- package/dist/auth/session-workspace.js.map +1 -0
- package/dist/auth/token-storage.d.ts +19 -5
- package/dist/auth/token-storage.js +11 -6
- package/dist/auth/token-storage.js.map +1 -1
- package/dist/cli.d.ts +2 -7
- package/dist/cli.js +111 -33
- package/dist/cli.js.map +1 -1
- package/dist/http/api-client.d.ts +4 -13
- package/dist/http/api-client.js +18 -18
- package/dist/http/api-client.js.map +1 -1
- package/dist/index.d.ts +8 -6
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/instructions/server-instructions.d.ts +15 -0
- package/dist/instructions/server-instructions.js +243 -0
- package/dist/instructions/server-instructions.js.map +1 -0
- package/dist/package-metadata.js +7 -1
- package/dist/package-metadata.js.map +1 -1
- package/dist/resources/concepts/feedback-sheets.md +77 -0
- package/dist/resources/concepts/sandbox.md +13 -0
- package/dist/resources/concepts/workbook-classification.md +241 -0
- package/dist/resources/docs/agent-behavior.md +393 -0
- package/dist/resources/docs/crm-integration.md +535 -0
- package/dist/resources/docs/files-and-uploads.md +295 -0
- package/dist/resources/docs/knowledge-base.md +521 -0
- package/dist/resources/docs/pipeline-builder.md +221 -0
- package/dist/resources/docs/pipeline-settings-deep.md +221 -0
- package/dist/resources/docs/platforms.md +513 -0
- package/dist/resources/docs/prompt-anatomy.md +298 -0
- package/dist/resources/docs/prompt-principles.md +289 -0
- package/dist/resources/registry.js +34 -12
- package/dist/resources/registry.js.map +1 -1
- package/dist/resources/workflows/compare-models.md +46 -0
- package/dist/resources/workflows/connect-crm-from-scratch.md +89 -0
- package/dist/resources/workflows/connect-datasource-from-scratch.md +92 -0
- package/dist/resources/workflows/extract-from-document.md +36 -0
- package/dist/resources/workflows/iterate-with-sandbox.md +31 -0
- package/dist/resources/workflows/platform-setup-from-scratch.md +113 -0
- package/dist/resources/workflows/production-readiness-check.md +41 -0
- package/dist/schemas/mcp-tools.json +2636 -182
- package/dist/server.js +2 -0
- package/dist/server.js.map +1 -1
- package/dist/tools/definitions/agent-design.d.ts +215 -0
- package/dist/tools/definitions/agent-design.js +643 -0
- package/dist/tools/definitions/agent-design.js.map +1 -0
- package/dist/tools/definitions/crm-platform.d.ts +211 -0
- package/dist/tools/definitions/crm-platform.js +1070 -0
- package/dist/tools/definitions/crm-platform.js.map +1 -0
- package/dist/tools/definitions/datasource.d.ts +40 -0
- package/dist/tools/definitions/datasource.js +196 -0
- package/dist/tools/definitions/datasource.js.map +1 -0
- package/dist/tools/definitions/knowledge.d.ts +215 -0
- package/dist/tools/definitions/knowledge.js +782 -0
- package/dist/tools/definitions/knowledge.js.map +1 -0
- package/dist/tools/definitions/model-comparison.d.ts +25 -0
- package/dist/tools/definitions/model-comparison.js +101 -0
- package/dist/tools/definitions/model-comparison.js.map +1 -0
- package/dist/tools/definitions/platform-setup.d.ts +412 -0
- package/dist/tools/definitions/platform-setup.js +738 -0
- package/dist/tools/definitions/platform-setup.js.map +1 -0
- package/dist/tools/definitions/session.d.ts +11 -0
- package/dist/tools/definitions/session.js +86 -0
- package/dist/tools/definitions/session.js.map +1 -0
- package/dist/tools/definitions/shared.d.ts +742 -0
- package/dist/tools/definitions/shared.js +773 -0
- package/dist/tools/definitions/shared.js.map +1 -0
- package/dist/tools/definitions.d.ts +873 -88
- package/dist/tools/definitions.js +14 -856
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/registry.d.ts +3 -1
- package/dist/tools/registry.js +90 -11
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/result.d.ts +1 -1
- package/dist/tools/result.js +12 -4
- package/dist/tools/result.js.map +1 -1
- package/dist/utils/logger.js +2 -1
- package/dist/utils/logger.js.map +1 -1
- package/docs/host-setup.md +34 -15
- package/package.json +2 -2
- package/scripts/install-claude-desktop.js +89 -11
- package/scripts/mock-api-server.js +1 -1
- package/scripts/mock-credentials.js +49 -6
- package/dist/types/api-contract.gen.d.ts +0 -6975
- package/dist/types/api-contract.gen.js +0 -6
- package/dist/types/api-contract.gen.js.map +0 -1
|
@@ -2,8 +2,13 @@
|
|
|
2
2
|
import * as keytar from 'keytar';
|
|
3
3
|
|
|
4
4
|
const SERVICE = '@besales/mcp';
|
|
5
|
-
|
|
6
|
-
const
|
|
5
|
+
// Держать в синхроне с connection-store.ts / token-storage.ts (скрипт не импортирует TS).
|
|
6
|
+
const INDEX_ACCOUNT = 'index';
|
|
7
|
+
const ACTIVE_ACCOUNT = 'active';
|
|
8
|
+
const KEY_ACCOUNT_PREFIX = 'key:';
|
|
9
|
+
const LEGACY_API_KEY_ACCOUNT = 'api_key';
|
|
10
|
+
const LEGACY_WORKSPACE_ID_ACCOUNT = 'workspace_id';
|
|
11
|
+
|
|
7
12
|
const DEFAULT_MOCK_API_KEY = 'mcp_mock_key_for_local_inspector';
|
|
8
13
|
const DEFAULT_MOCK_WORKSPACE_ID = '00000000-0000-4000-8000-000000000001';
|
|
9
14
|
const WARNING_MESSAGE = [
|
|
@@ -11,21 +16,59 @@ const WARNING_MESSAGE = [
|
|
|
11
16
|
'It can overwrite or clear local production credentials for this user.',
|
|
12
17
|
].join(' ');
|
|
13
18
|
|
|
19
|
+
function maskApiKey(apiKey) {
|
|
20
|
+
return apiKey.length < 12 ? '***' : `${apiKey.slice(0, 8)}...`;
|
|
21
|
+
}
|
|
22
|
+
|
|
14
23
|
const command = process.argv[2] ?? 'seed';
|
|
15
24
|
const apiKey = process.env.BESALES_MOCK_API_KEY ?? DEFAULT_MOCK_API_KEY;
|
|
16
25
|
const workspaceId = process.env.BESALES_MOCK_WORKSPACE_ID ?? DEFAULT_MOCK_WORKSPACE_ID;
|
|
17
26
|
|
|
18
27
|
if (command === 'seed') {
|
|
19
28
|
console.warn(WARNING_MESSAGE);
|
|
20
|
-
|
|
21
|
-
await keytar.setPassword(SERVICE,
|
|
29
|
+
|
|
30
|
+
await keytar.setPassword(SERVICE, `${KEY_ACCOUNT_PREFIX}${workspaceId}`, apiKey);
|
|
31
|
+
|
|
32
|
+
// Merge (как ConnectionStore.addOrReplace) — можно засидить несколько воркспейсов подряд.
|
|
33
|
+
const rawIndex = await keytar.getPassword(SERVICE, INDEX_ACCOUNT);
|
|
34
|
+
let index = [];
|
|
35
|
+
try {
|
|
36
|
+
const parsed = rawIndex ? JSON.parse(rawIndex) : [];
|
|
37
|
+
index = Array.isArray(parsed) ? parsed : [];
|
|
38
|
+
} catch {
|
|
39
|
+
index = [];
|
|
40
|
+
}
|
|
41
|
+
index = index.filter((connection) => connection.workspaceId !== workspaceId);
|
|
42
|
+
index.push({
|
|
43
|
+
workspaceId,
|
|
44
|
+
keyPrefix: maskApiKey(apiKey),
|
|
45
|
+
connectedAt: new Date().toISOString(),
|
|
46
|
+
});
|
|
47
|
+
await keytar.setPassword(SERVICE, INDEX_ACCOUNT, JSON.stringify(index));
|
|
48
|
+
|
|
49
|
+
const active = await keytar.getPassword(SERVICE, ACTIVE_ACCOUNT);
|
|
50
|
+
if (!active) {
|
|
51
|
+
await keytar.setPassword(SERVICE, ACTIVE_ACCOUNT, workspaceId);
|
|
52
|
+
}
|
|
53
|
+
|
|
22
54
|
console.log(`Seeded mock credentials for workspace ${workspaceId}`);
|
|
23
55
|
} else if (command === 'clear') {
|
|
24
56
|
console.warn(WARNING_MESSAGE);
|
|
57
|
+
|
|
58
|
+
const credentials = await keytar.findCredentials(SERVICE);
|
|
59
|
+
await Promise.all(
|
|
60
|
+
credentials
|
|
61
|
+
.map(({ account }) => account)
|
|
62
|
+
.filter((account) => account.startsWith(KEY_ACCOUNT_PREFIX))
|
|
63
|
+
.map((account) => keytar.deletePassword(SERVICE, account)),
|
|
64
|
+
);
|
|
25
65
|
await Promise.all([
|
|
26
|
-
keytar.deletePassword(SERVICE,
|
|
27
|
-
keytar.deletePassword(SERVICE,
|
|
66
|
+
keytar.deletePassword(SERVICE, INDEX_ACCOUNT),
|
|
67
|
+
keytar.deletePassword(SERVICE, ACTIVE_ACCOUNT),
|
|
68
|
+
keytar.deletePassword(SERVICE, LEGACY_API_KEY_ACCOUNT),
|
|
69
|
+
keytar.deletePassword(SERVICE, LEGACY_WORKSPACE_ID_ACCOUNT),
|
|
28
70
|
]);
|
|
71
|
+
|
|
29
72
|
console.log('Cleared mock credentials');
|
|
30
73
|
} else {
|
|
31
74
|
console.error(`Unknown command: ${command}`);
|