bitrix24-mcp-bridge 0.2.1 → 0.4.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 CHANGED
@@ -52,6 +52,19 @@ bitrix24-mcp-bridge`.
52
52
  портал по умолчанию, `[p]` порт, `[t]` ротировать токен, `[u]` обновить
53
53
  расширение из установленного пакета, `[q]` выход.
54
54
 
55
+ **Обновление пакета** почти полностью автоматическое:
56
+
57
+ - **Каталог** — новые записи дописываются в ваш `~/.bitrix24-mcp-bridge/actions.json` при следующем
58
+ старте (в stderr — `[catalog] added N new entries…`). Ваши записи и правки не трогаются, а запись,
59
+ которую вы удалили сами, назад не возвращается: доставленные ключи помечаются в
60
+ `catalog-state.json`, поэтому удаление считается решением, а не пробелом.
61
+ - **Файлы расширения** в `~/.bitrix24-mcp-bridge/extension/` обновляются там же автоматически, если
62
+ версия пакета изменилась (`[extension] refreshed …`), — запускать `setup` → `[u]` вручную больше не нужно.
63
+ - **Один ручной шаг остаётся:** нажать «Обновить» на расширении в `chrome://extensions` и перезагрузить
64
+ вкладку портала. Программно это сделать нельзя — Chrome перечитывает файлы unpacked-расширения только
65
+ сам. Пока этого не сделано, `bitrix_status` возвращает `warning` с версиями моста и расширения, так
66
+ что рассинхрон виден сразу, а не всплывает необъяснимой ошибкой.
67
+
55
68
  **Мультипортальность** поддержана: каждый портал — отдельная запись, а в манифесте
56
69
  расширения `matches`/`host_permissions` перечисляют ровно сконфигурированные origin'ы
57
70
  (least-privilege на origin).
@@ -97,6 +110,7 @@ daemon после любой правки, затрагивающей конфи
97
110
  | *Люди / поиск* | |
98
111
  | `bitrix_user_get` | карточка пользователя |
99
112
  | `bitrix_entity_selector` / `bitrix_entity_search` | загрузка селектора / текстовый поиск сущностей |
113
+ | `bitrix_entity_chat` | chatId чата связанного объекта (задача/группа/CRM) через `im.chat.get` |
100
114
 
101
115
  `bitrix_help` — единственный источник конвенций params (select/filter/order/пагинация,
102
116
  имена полей). Он отдаёт `docs/api-notes.md`, так что любому агенту не нужен доступ к репозиторию.
@@ -181,13 +195,23 @@ bun run src/index.ts --daemon # daemon вручную
181
195
  bun run src/index.ts setup # интерактивная настройка
182
196
  bun test # юнит-тесты (bun:test)
183
197
  bun run typecheck # tsc --noEmit (сервер + extension)
184
- bun run build:ext # dev-сборка пер-пользовательского расширения
198
+ bun run build:dist # бандл сервера → dist/cli.js
199
+ bun run build:ext # dev-сборка расширения → extension/dev/ (загружаемое)
200
+ bun run sync:runtime # применить репо-изменения к живому daemon (см. ниже)
185
201
  ```
186
202
 
187
- `.env` — **только dev-оверрайд** (gitignored): `BITRIX_MCP_TOKEN`, `BITRIX_ORIGIN`,
188
- `BITRIX_MCP_PORT`, опционально `BITRIX_CATALOG`. В проде конфиг живёт в
203
+ `.env` — **только dev-оверрайды** (gitignored). Токен / origin / порт берутся из общего
204
+ `~/.bitrix24-mcp-bridge/config.json` (через `loadConfig`) — дублировать их в `.env` не нужно, иначе
205
+ dev-токен разойдётся с daemon. Осмысленно держать там лишь `BITRIX_CATALOG` (указывает
206
+ dev-сборку/daemon на репозиторный `actions.json`). В проде весь конфиг — в
189
207
  `~/.bitrix24-mcp-bridge/config.json`, который пишет `setup`.
190
208
 
209
+ **Репо ≠ живой daemon.** Daemon, к которому ходят агенты, читает **runtime-папку**
210
+ (`~/.bitrix24-mcp-bridge/actions.json` + запущенный `dist/cli.js`), а не файлы репозитория. После
211
+ правки каталога или кода сервера выполни **`bun run sync:runtime`**: она пересоберёт бандл, скопирует
212
+ репо-`actions.json` в runtime-папку и погасит daemon (следующий вызов агента поднимет свежий). Без
213
+ этого новые инструменты/методы агенту не видны.
214
+
191
215
  Дистрибуция: `bin` `bitrix24-bridge` → `dist/cli.js`; npm-хук `prepare` при установке
192
216
  собирает и `dist/cli.js`, и статичные бандлы расширения (`extension/dist/`), которые
193
217
  `setup` затем копирует в runtime-домашнюю папку. Публикуемые файлы перечислены в `files`
@@ -205,6 +229,6 @@ Trusted Publisher** (с provenance, без токенов). CI ([`.github/workfl
205
229
  ## Документация
206
230
 
207
231
  - [docs/RUNBOOK.md](docs/RUNBOOK.md) — установка, настройка, повседневная работа, диагностика
208
- - [docs/api-notes.md](docs/api-notes.md) — карта API Bitrix24 (единый источник для `bitrix_help`)
209
- - [docs/reconnaissance.md](docs/reconnaissance.md) — как снять HAR и расширить `actions.json`
232
+ - [docs/api-notes.md](docs/api-notes.md) — карта API Bitrix24 для агента (единый источник для `bitrix_help`)
233
+ - [docs/reconnaissance.md](docs/reconnaissance.md) — capture, транспорт записи каталога, расширение `actions.json`
210
234
  - [extension/README.md](extension/README.md) — устройство расширения и модель доверия
@@ -23,7 +23,10 @@
23
23
  "chat.dialogId": { "action": "im.v2.Chat.getDialogId", "method": "POST" },
24
24
  "chat.read.all": { "action": "im.v2.Chat.readAll", "method": "POST" },
25
25
  "im.user.get": { "endpoint": "/rest/im.user.get.json", "method": "POST" },
26
+ "im.chat.get": { "endpoint": "/rest/im.chat.get.json", "method": "POST" },
26
27
 
27
28
  "task.subtasks": { "action": "tasks.v2.Task.Relation.Child.list", "method": "POST", "bodyType": "json" },
28
- "task.related": { "action": "tasks.v2.Task.Relation.Related.list", "method": "POST", "bodyType": "json" }
29
+ "task.related": { "action": "tasks.v2.Task.Relation.Related.list", "method": "POST", "bodyType": "json" },
30
+
31
+ "call.detail": { "endpoint": "/call/detail/{callId}", "method": "GET", "params": { "IFRAME": "Y", "IFRAME_TYPE": "SIDE_SLIDER" }, "responseType": "text" }
29
32
  }