@besales/mcp 0.40.0 → 0.42.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/README.md +54 -9
- package/dist/auth/oauth-client.d.ts +31 -1
- package/dist/auth/oauth-client.js +37 -2
- package/dist/auth/oauth-client.js.map +1 -1
- package/dist/cli.js +13 -1
- package/dist/cli.js.map +1 -1
- package/dist/instructions/server-instructions.d.ts +1 -1
- package/dist/instructions/server-instructions.js +4 -0
- package/dist/instructions/server-instructions.js.map +1 -1
- package/dist/schemas/mcp-tools.json +350 -8
- package/dist/tools/definitions/agent-design.d.ts +7 -7
- package/dist/tools/definitions/broadcast-analytics.d.ts +3 -3
- package/dist/tools/definitions/broadcast-analytics.js +1 -0
- package/dist/tools/definitions/broadcast-analytics.js.map +1 -1
- package/dist/tools/definitions/broadcast-mailing-variants.d.ts +2 -0
- package/dist/tools/definitions/broadcast-mailing-variants.js +5 -0
- package/dist/tools/definitions/broadcast-mailing-variants.js.map +1 -1
- package/dist/tools/definitions/follow-up-funnel-test.d.ts +19 -0
- package/dist/tools/definitions/follow-up-funnel-test.js +141 -0
- package/dist/tools/definitions/follow-up-funnel-test.js.map +1 -0
- package/dist/tools/definitions/follow-up.d.ts +2 -2
- package/dist/tools/definitions/getcourse-cold-welcome.d.ts +18 -0
- package/dist/tools/definitions/getcourse-cold-welcome.js +77 -4
- package/dist/tools/definitions/getcourse-cold-welcome.js.map +1 -1
- package/dist/tools/definitions/knowledge.d.ts +2 -2
- package/dist/tools/definitions/link-tracking.d.ts +5 -0
- package/dist/tools/definitions/link-tracking.js +78 -0
- package/dist/tools/definitions/link-tracking.js.map +1 -1
- package/dist/tools/definitions/platform-setup.d.ts +5 -5
- package/dist/tools/definitions/shared.d.ts +10 -10
- package/dist/tools/definitions.d.ts +50 -18
- package/dist/tools/definitions.js +2 -0
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/registry-mapping-cases-core.js +23 -0
- package/dist/tools/registry-mapping-cases-core.js.map +1 -1
- package/dist/tools/result.js +6 -1
- package/dist/tools/result.js.map +1 -1
- package/dist/types/api-contract.gen.d.ts +24684 -0
- package/dist/types/api-contract.gen.js +6 -0
- package/dist/types/api-contract.gen.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -290,7 +290,7 @@ connect each once and pin sessions via `BESALES_WORKSPACE_ID` (or switch the
|
|
|
290
290
|
global default with `besales-mcp use <id>`) — see
|
|
291
291
|
[Multiple Workspaces](#multiple-workspaces).
|
|
292
292
|
|
|
293
|
-
## Available tools (
|
|
293
|
+
## Available tools (197 tools by category)
|
|
294
294
|
|
|
295
295
|
Итоговое число выводится из `src/schemas/mcp-tools.json` (`tools.length`) и закреплено в
|
|
296
296
|
`src/tools/registry.spec.ts`. ⚠️ Разбивка по категориям ниже и `summary.tools_by_category`
|
|
@@ -326,10 +326,16 @@ global default with `besales-mcp use <id>`) — see
|
|
|
326
326
|
| GetCourse waves | 10 | `besales_getcourse_wave_import`, `besales_getcourse_wave_status`, `besales_getcourse_wave_run_start`, `besales_getcourse_wave_run_status`, `besales_getcourse_wave_run_contacts`, `besales_getcourse_wave_run_cancel`, `besales_getcourse_wave_run_batch_start`, `besales_getcourse_wave_run_batch_status`, `besales_getcourse_wave_run_batch_cancel`, `besales_getcourse_wave_run_batch_resume`; durable confirm использует стабильный `launch_key` + `dry_run_hash`, import/run/batch принимают `segment_description` |
|
|
327
327
|
| Scheduled tasks | 2 | `besales_scheduled_task_list`, `besales_scheduled_task_update` — cron-driven dialogue analysis («суфлёр»): daily summary + hourly status written to the CRM timeline or as a hidden open-line message, never to the client |
|
|
328
328
|
| Link tracking (короткие ссылки) | 6 | `besales_tracked_link_list` / `_create` / `_update` / `_archive` / `_breakdown` / `_clicks` — каталог токенов `{{link:slug}}` для текстов дожимов и рассылок; удаления нет (архивация), правка адреса историю выдач не переписывает |
|
|
329
|
-
| Follow-up (read) |
|
|
329
|
+
| Follow-up (read) | 3 | `besales_followup_sequence_list`, `besales_followup_step_stats`, `besales_followup_reactions` — inspect configs and authoritative delivery/reaction analytics |
|
|
330
|
+
| Follow-up funnel test | 4 | `besales_followup_funnel_test_plan/start/status/cancel` — frozen-plan live-person test; plan spends LLM tokens but sends nothing, start requires explicit confirmation |
|
|
330
331
|
|
|
331
332
|
Recent capabilities:
|
|
332
333
|
|
|
334
|
+
- **Funnel test outside the web UI** — `besales_followup_funnel_test_plan` freezes expanded
|
|
335
|
+
texts and dynamic generations under one `runId`; `start` sends exactly that snapshot to the
|
|
336
|
+
live contact and requires both `explicit_confirmation=true` and `confirmation_reason`.
|
|
337
|
+
Status/cancel wrap the durable 15-second-gap run. All four tools require the dedicated
|
|
338
|
+
`mcp:funnel-test` scope, which is not covered by `mcp:*`.
|
|
333
339
|
- **Prompt lint diagnostics** — a rejected `besales_prompt_patch_commit` now carries the
|
|
334
340
|
backend's `lintIssues` (up to 3, e.g. the exact character count over the 80000 hard
|
|
335
341
|
limit) instead of a bare 400. `besales_prompt_headroom` answers the same question
|
|
@@ -393,7 +399,7 @@ Inspect them locally:
|
|
|
393
399
|
yarn dlx @modelcontextprotocol/inspector node bin/besales-mcp.js
|
|
394
400
|
```
|
|
395
401
|
|
|
396
|
-
The Inspector should show
|
|
402
|
+
The Inspector should show 197 tools and 31 resources.
|
|
397
403
|
|
|
398
404
|
## Codex Dialogue Audit Skill
|
|
399
405
|
|
|
@@ -437,12 +443,51 @@ Claude Code, and Codex CLI are documented in
|
|
|
437
443
|
- This package calls Animaly only through `ai-aniomaly` `/api/v2/*`.
|
|
438
444
|
- Direct calls to `prompt-services` are intentionally out of scope.
|
|
439
445
|
|
|
440
|
-
The package exposes
|
|
446
|
+
The package exposes 197 active MCP tools from `src/schemas/mcp-tools.json`.
|
|
441
447
|
|
|
442
448
|
### Token scopes
|
|
443
449
|
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
450
|
+
`besales-mcp connect` requests one canonical set, declared as `MCP_OAUTH_SCOPES`
|
|
451
|
+
in `src/auth/oauth-client.ts`:
|
|
452
|
+
|
|
453
|
+
| Scope | Covers |
|
|
454
|
+
|---|---|
|
|
455
|
+
| `mcp:*` | composite base — reads, PromptHub, ICP, sandbox, knowledge, dialogue export, analytics aggregates |
|
|
456
|
+
| `mcp:platform-setup` | setup mutations: knowledge ingestion, variables, CRM pipelines, platform settings/provisioning, clone, the Platform Setup Bridge, waves |
|
|
457
|
+
| `mcp:funnel-test` | frozen follow-up funnel test against a live person |
|
|
458
|
+
| `read:campaigns` | cold-welcome preview, broadcast reads and their message texts |
|
|
459
|
+
| `launch:campaigns` | cold-welcome and broadcast launches |
|
|
460
|
+
|
|
461
|
+
None of these is implied by another: a plain `mcp:*` key authorizes neither setup
|
|
462
|
+
mutations nor campaigns, and `mcp:platform-setup` does not imply the right to send
|
|
463
|
+
to real people. Existing connections are never widened silently — after upgrading,
|
|
464
|
+
reconnect once to be granted a newly added scope.
|
|
465
|
+
|
|
466
|
+
> **⚠️ Invariant — the scope set only ever GROWS.**
|
|
467
|
+
> A new scope is **appended** to `MCP_OAUTH_SCOPES`; existing entries are never removed,
|
|
468
|
+
> renamed or reordered. Replacing an entry silently narrows every key issued from then on,
|
|
469
|
+
> and `connect` gives no sign of it: consent opens, the key is issued, tools load, and the
|
|
470
|
+
> loss only surfaces much later as a 403 from one endpoint. That is exactly how
|
|
471
|
+
> `read:campaigns` + `launch:campaigns` were lost when `mcp:funnel-test` was added
|
|
472
|
+
> (2026-08-19) — the set used to be one flat string, and the string was rewritten.
|
|
473
|
+
> The same rule applies to the backend's `MCP_OPTIONAL_CONNECT_SCOPES`, the consent-page
|
|
474
|
+
> allowlist `OPTIONAL_OAUTH_SCOPES`, and the `scope` enum in the OpenAPI contract:
|
|
475
|
+
> add a line, never swap one.
|
|
476
|
+
|
|
477
|
+
`connect` prints the granted set, and warns on stderr when the new key carries fewer
|
|
478
|
+
permissions than the one it replaces:
|
|
479
|
+
|
|
480
|
+
```
|
|
481
|
+
Connected to workspace de86534d-… (key: mcp_a1b2…).
|
|
482
|
+
Scopes: mcp:* mcp:platform-setup mcp:funnel-test read:campaigns launch:campaigns
|
|
483
|
+
Active workspace: de86534d-….
|
|
484
|
+
|
|
485
|
+
WARNING: this key has FEWER permissions than the one it replaced.
|
|
486
|
+
Lost: read:campaigns, launch:campaigns
|
|
487
|
+
Tools needing them will fail with 403 "API key does not have required scopes".
|
|
488
|
+
Update the client (npx -y @besales/mcp@latest) and run `besales-mcp connect` again.
|
|
489
|
+
```
|
|
490
|
+
|
|
491
|
+
The comparison is made by the backend (`dropped_scopes` in the `/auth/mcp-token`
|
|
492
|
+
response) against the newest live MCP key of that workspace — the client cannot read
|
|
493
|
+
an old key's scopes on its own.
|
|
@@ -1,13 +1,42 @@
|
|
|
1
|
+
import type { paths } from '../types/api-contract.gen.js';
|
|
2
|
+
/** Union допустимых строк `scope` из OpenAPI-контракта `/api/v2/auth/mcp-connect`. */
|
|
3
|
+
type ContractConnectScope = paths['/api/v2/auth/mcp-connect']['get']['parameters']['query']['scope'];
|
|
1
4
|
export declare const DEFAULT_API_BASE_URL = "https://core.besales.ai/api/v2";
|
|
2
5
|
export declare const DEFAULT_OAUTH_AUTHORIZE_URL = "https://app.besales.ai/settings/mcp/consent";
|
|
3
6
|
export declare const OAUTH_CALLBACK_HOST = "127.0.0.1";
|
|
4
7
|
export declare const OAUTH_CALLBACK_PATH = "/oauth-callback";
|
|
5
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Права, которые `besales-mcp connect` запрашивает у воркспейса, в каноническом порядке
|
|
10
|
+
* (совпадает с `MCP_OPTIONAL_CONNECT_SCOPES` бэкенда и `OPTIONAL_OAUTH_SCOPES` фронта).
|
|
11
|
+
*
|
|
12
|
+
* ⚠️ ИНВАРИАНТ: новый scope ДОБАВЛЯЕТСЯ в конец. Существующие не удаляются — набор
|
|
13
|
+
* только растёт. Раньше это была плоская строка, и добавление `mcp:funnel-test`
|
|
14
|
+
* ПЕРЕПИСАЛО её вместе с `read:campaigns` + `launch:campaigns`: каждый реконнект молча
|
|
15
|
+
* выпускал ключ уже предыдущего, connect отрабатывал успешно, а потеря всплывала позже
|
|
16
|
+
* как 403 одного тула (`besales_getcourse_cold_welcome_preview`, 2026-08-19).
|
|
17
|
+
*
|
|
18
|
+
* Сужение теперь не только запрещено правилом: `connect` сверяет выданный набор с набором
|
|
19
|
+
* заменяемого ключа (`droppedScopes` в ответе `/auth/mcp-token`) и печатает потерю.
|
|
20
|
+
*/
|
|
21
|
+
export declare const MCP_OAUTH_SCOPES: readonly ["mcp:*", "mcp:platform-setup", "mcp:funnel-test", "read:campaigns", "launch:campaigns"];
|
|
22
|
+
/**
|
|
23
|
+
* Строка `scope` запроса согласия. Аннотация типом из OpenAPI не косметическая: если клиент
|
|
24
|
+
* начнёт просить комбинацию, которой бэкенд не принимает, падает КОМПИЛЯЦИЯ (`yarn build`),
|
|
25
|
+
* а не боевой `connect` с невнятным 400 у пользователя.
|
|
26
|
+
*/
|
|
27
|
+
export declare const OAUTH_SCOPE: ContractConnectScope;
|
|
6
28
|
export declare const OAUTH_TIMEOUT_MS: number;
|
|
7
29
|
export declare const TOKEN_EXCHANGE_TIMEOUT_MS: number;
|
|
8
30
|
export interface OAuthConnectResult {
|
|
9
31
|
readonly apiKey: string;
|
|
10
32
|
readonly workspaceId: string;
|
|
33
|
+
/** Права выданного ключа — то, что реально записано в `api_keys.scopes`. */
|
|
34
|
+
readonly scopes: readonly string[];
|
|
35
|
+
/**
|
|
36
|
+
* Права, которые нёс заменяемый ключ, а новый не несёт. Непустой массив означает
|
|
37
|
+
* тихое сужение: connect прошёл, но часть тулов теперь будет отвечать 403.
|
|
38
|
+
*/
|
|
39
|
+
readonly droppedScopes: readonly string[];
|
|
11
40
|
}
|
|
12
41
|
export interface AuthorizationCodeExchange {
|
|
13
42
|
readonly code: string;
|
|
@@ -62,3 +91,4 @@ export declare class OauthClient {
|
|
|
62
91
|
*/
|
|
63
92
|
private defaultExchange;
|
|
64
93
|
}
|
|
94
|
+
export {};
|
|
@@ -7,7 +7,32 @@ export const DEFAULT_API_BASE_URL = 'https://core.besales.ai/api/v2';
|
|
|
7
7
|
export const DEFAULT_OAUTH_AUTHORIZE_URL = 'https://app.besales.ai/settings/mcp/consent';
|
|
8
8
|
export const OAUTH_CALLBACK_HOST = '127.0.0.1';
|
|
9
9
|
export const OAUTH_CALLBACK_PATH = '/oauth-callback';
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Права, которые `besales-mcp connect` запрашивает у воркспейса, в каноническом порядке
|
|
12
|
+
* (совпадает с `MCP_OPTIONAL_CONNECT_SCOPES` бэкенда и `OPTIONAL_OAUTH_SCOPES` фронта).
|
|
13
|
+
*
|
|
14
|
+
* ⚠️ ИНВАРИАНТ: новый scope ДОБАВЛЯЕТСЯ в конец. Существующие не удаляются — набор
|
|
15
|
+
* только растёт. Раньше это была плоская строка, и добавление `mcp:funnel-test`
|
|
16
|
+
* ПЕРЕПИСАЛО её вместе с `read:campaigns` + `launch:campaigns`: каждый реконнект молча
|
|
17
|
+
* выпускал ключ уже предыдущего, connect отрабатывал успешно, а потеря всплывала позже
|
|
18
|
+
* как 403 одного тула (`besales_getcourse_cold_welcome_preview`, 2026-08-19).
|
|
19
|
+
*
|
|
20
|
+
* Сужение теперь не только запрещено правилом: `connect` сверяет выданный набор с набором
|
|
21
|
+
* заменяемого ключа (`droppedScopes` в ответе `/auth/mcp-token`) и печатает потерю.
|
|
22
|
+
*/
|
|
23
|
+
export const MCP_OAUTH_SCOPES = [
|
|
24
|
+
'mcp:*',
|
|
25
|
+
'mcp:platform-setup',
|
|
26
|
+
'mcp:funnel-test',
|
|
27
|
+
'read:campaigns',
|
|
28
|
+
'launch:campaigns',
|
|
29
|
+
];
|
|
30
|
+
/**
|
|
31
|
+
* Строка `scope` запроса согласия. Аннотация типом из OpenAPI не косметическая: если клиент
|
|
32
|
+
* начнёт просить комбинацию, которой бэкенд не принимает, падает КОМПИЛЯЦИЯ (`yarn build`),
|
|
33
|
+
* а не боевой `connect` с невнятным 400 у пользователя.
|
|
34
|
+
*/
|
|
35
|
+
export const OAUTH_SCOPE = MCP_OAUTH_SCOPES.join(' ');
|
|
11
36
|
export const OAUTH_TIMEOUT_MS = 5 * 60 * 1000;
|
|
12
37
|
export const TOKEN_EXCHANGE_TIMEOUT_MS = 30 * 1000;
|
|
13
38
|
export function generateCodeVerifier() {
|
|
@@ -230,7 +255,17 @@ export class OauthClient {
|
|
|
230
255
|
if (typeof payload?.api_key !== 'string' || typeof payload?.workspace_id !== 'string') {
|
|
231
256
|
throw new Error('MCP token exchange returned an invalid response');
|
|
232
257
|
}
|
|
233
|
-
return {
|
|
258
|
+
return {
|
|
259
|
+
apiKey: payload.api_key,
|
|
260
|
+
workspaceId: payload.workspace_id,
|
|
261
|
+
// Поля добавлены позже самого эндпоинта: бэкенд старше клиента их не пришлёт, и это не
|
|
262
|
+
// повод рушить connect — просто не покажем разбор прав.
|
|
263
|
+
scopes: toStringArray(payload.scopes),
|
|
264
|
+
droppedScopes: toStringArray(payload.dropped_scopes),
|
|
265
|
+
};
|
|
234
266
|
}
|
|
235
267
|
}
|
|
268
|
+
function toStringArray(value) {
|
|
269
|
+
return Array.isArray(value) ? value.filter((item) => typeof item === 'string') : [];
|
|
270
|
+
}
|
|
236
271
|
//# sourceMappingURL=oauth-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-client.js","sourceRoot":"","sources":["../../src/auth/oauth-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,YAAY,EAAuB,MAAM,WAAW,CAAC;AAG9D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"oauth-client.js","sourceRoot":"","sources":["../../src/auth/oauth-client.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -96,12 +96,24 @@ async function installSkillCommand(name, force, io, installer) {
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
async function connectCommand(io, oauthClient, store) {
|
|
99
|
-
const { apiKey, workspaceId } = await oauthClient.connect();
|
|
99
|
+
const { apiKey, workspaceId, scopes, droppedScopes } = await oauthClient.connect();
|
|
100
100
|
await store.addOrReplace(workspaceId, apiKey);
|
|
101
101
|
const active = await store.getActive();
|
|
102
102
|
io.log(`Connected to workspace ${workspaceId} (key: ${maskApiKey(apiKey)}).`);
|
|
103
|
+
if (scopes.length > 0) {
|
|
104
|
+
io.log(`Scopes: ${scopes.join(' ')}`);
|
|
105
|
+
}
|
|
103
106
|
io.log(`Active workspace: ${active ?? workspaceId}.`);
|
|
104
107
|
io.log('Tip: set BESALES_WORKSPACE_ID in your MCP host config to pin this session to a workspace.');
|
|
108
|
+
// Сужение прав НЕ ломает connect: обмен кода проходит, тулы загружаются, а отказ всплывает
|
|
109
|
+
// позже как 403 одного эндпоинта — и читается как «ключ протух», а не «право потеряно».
|
|
110
|
+
// Единственный момент, когда видны оба набора, — здесь, поэтому пишем громко и в stderr.
|
|
111
|
+
if (droppedScopes.length > 0) {
|
|
112
|
+
io.error(`WARNING: this key has FEWER permissions than the one it replaced.\n` +
|
|
113
|
+
` Lost: ${droppedScopes.join(', ')}\n` +
|
|
114
|
+
` Tools needing them will fail with 403 "API key does not have required scopes".\n` +
|
|
115
|
+
` Update the client (npx -y @besales/mcp@latest) and run \`besales-mcp connect\` again.`);
|
|
116
|
+
}
|
|
105
117
|
return 0;
|
|
106
118
|
}
|
|
107
119
|
async function connectionsCommand(io, store) {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|