@besales/mcp 0.48.0 → 1.0.0-beta.4

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.
Files changed (604) hide show
  1. package/README.md +117 -163
  2. package/README.onprem.ru.md +35 -0
  3. package/bin/besales-mcp-http.js +9 -0
  4. package/bin/besales-onprem.mjs +19 -0
  5. package/dist/auth/connection-store.d.ts +3 -1
  6. package/dist/auth/connection-store.js +9 -3
  7. package/dist/auth/connection-store.js.map +1 -1
  8. package/dist/auth/oauth-client.d.ts +20 -27
  9. package/dist/auth/oauth-client.js +31 -23
  10. package/dist/auth/oauth-client.js.map +1 -1
  11. package/dist/auth/session-workspace.d.ts +1 -0
  12. package/dist/auth/session-workspace.js +10 -1
  13. package/dist/auth/session-workspace.js.map +1 -1
  14. package/dist/auth/token-storage.js +4 -1
  15. package/dist/auth/token-storage.js.map +1 -1
  16. package/dist/cli.d.ts +1 -0
  17. package/dist/cli.js +80 -19
  18. package/dist/cli.js.map +1 -1
  19. package/dist/constants/crm-catalog.d.ts +2 -0
  20. package/dist/constants/crm-catalog.js +3 -0
  21. package/dist/constants/crm-catalog.js.map +1 -0
  22. package/dist/http/api-client.d.ts +54 -7
  23. package/dist/http/api-client.js +132 -66
  24. package/dist/http/api-client.js.map +1 -1
  25. package/dist/http/feedback-document-error.d.ts +26 -0
  26. package/dist/http/feedback-document-error.js +22 -0
  27. package/dist/http/feedback-document-error.js.map +1 -0
  28. package/dist/http-server.d.ts +15 -0
  29. package/dist/http-server.js +378 -0
  30. package/dist/http-server.js.map +1 -0
  31. package/dist/instructions/server-instructions.d.ts +1 -1
  32. package/dist/instructions/server-instructions.js +6 -3
  33. package/dist/instructions/server-instructions.js.map +1 -1
  34. package/dist/network/constants.d.ts +25 -0
  35. package/dist/network/constants.js +26 -0
  36. package/dist/network/constants.js.map +1 -0
  37. package/dist/network/failed-verifications.d.ts +10 -0
  38. package/dist/network/failed-verifications.js +37 -0
  39. package/dist/network/failed-verifications.js.map +1 -0
  40. package/dist/network/http-test-fixture.d.ts +3 -0
  41. package/dist/network/http-test-fixture.js +86 -0
  42. package/dist/network/http-test-fixture.js.map +1 -0
  43. package/dist/network/known-keys.d.ts +10 -0
  44. package/dist/network/known-keys.js +38 -0
  45. package/dist/network/known-keys.js.map +1 -0
  46. package/dist/network/memory-credentials.d.ts +11 -0
  47. package/dist/network/memory-credentials.js +24 -0
  48. package/dist/network/memory-credentials.js.map +1 -0
  49. package/dist/network/rate-limit.d.ts +23 -0
  50. package/dist/network/rate-limit.js +62 -0
  51. package/dist/network/rate-limit.js.map +1 -0
  52. package/dist/network/rejected-keys.d.ts +9 -0
  53. package/dist/network/rejected-keys.js +39 -0
  54. package/dist/network/rejected-keys.js.map +1 -0
  55. package/dist/network/request-work.d.ts +8 -0
  56. package/dist/network/request-work.js +20 -0
  57. package/dist/network/request-work.js.map +1 -0
  58. package/dist/network/successful-keys.d.ts +17 -0
  59. package/dist/network/successful-keys.js +47 -0
  60. package/dist/network/successful-keys.js.map +1 -0
  61. package/dist/resources/concepts/external-execution.md +3 -1
  62. package/dist/resources/concepts/feedback-sheets.md +21 -12
  63. package/dist/resources/concepts/icp.md +8 -1
  64. package/dist/resources/concepts/sandbox.md +15 -6
  65. package/dist/resources/concepts/triggers.md +43 -0
  66. package/dist/resources/concepts/workbook-classification.md +104 -50
  67. package/dist/resources/docs/agent-behavior.md +51 -382
  68. package/dist/resources/docs/campaigns.md +9 -16
  69. package/dist/resources/docs/crm-integration.md +39 -523
  70. package/dist/resources/docs/files-and-uploads.md +23 -286
  71. package/dist/resources/docs/follow-up.md +47 -12
  72. package/dist/resources/docs/knowledge-base.md +52 -521
  73. package/dist/resources/docs/pipeline-builder.md +26 -216
  74. package/dist/resources/docs/pipeline-settings-deep.md +27 -220
  75. package/dist/resources/docs/platforms.md +149 -519
  76. package/dist/resources/docs/prompt-anatomy.md +39 -285
  77. package/dist/resources/docs/routing.md +8 -16
  78. package/dist/resources/docs/trigger-actions.md +40 -24
  79. package/dist/resources/docs/variables.md +8 -12
  80. package/dist/resources/operator-edit.contract.d.ts +7 -0
  81. package/dist/resources/operator-edit.contract.js +8 -0
  82. package/dist/resources/operator-edit.contract.js.map +1 -0
  83. package/dist/resources/registry.js +20 -4
  84. package/dist/resources/registry.js.map +1 -1
  85. package/dist/resources/workflows/audit-dialogues.md +23 -12
  86. package/dist/resources/workflows/compare-models.md +6 -6
  87. package/dist/resources/workflows/connect-crm-from-scratch.md +15 -12
  88. package/dist/resources/workflows/connect-datasource-from-scratch.md +5 -4
  89. package/dist/resources/workflows/extract-from-document.md +8 -6
  90. package/dist/resources/workflows/operator-edit.md +15 -0
  91. package/dist/resources/workflows/platform-setup-from-scratch.md +59 -70
  92. package/dist/resources/workflows/production-readiness-check.md +25 -15
  93. package/dist/schemas/mcp-tools.json +12389 -6657
  94. package/dist/schemas/voice-actions-api.contract.json +248 -0
  95. package/dist/shared/constants/broadcast-reason.constants.d.ts +2 -0
  96. package/dist/shared/constants/broadcast-reason.constants.js +47 -0
  97. package/dist/shared/constants/broadcast-reason.constants.js.map +1 -0
  98. package/dist/shared/constants/crm-stage-pool.constants.d.ts +2 -0
  99. package/dist/shared/constants/crm-stage-pool.constants.js +3 -0
  100. package/dist/shared/constants/crm-stage-pool.constants.js.map +1 -0
  101. package/dist/shared/constants/followup-note.constants.d.ts +3 -0
  102. package/dist/shared/constants/followup-note.constants.js +4 -0
  103. package/dist/shared/constants/followup-note.constants.js.map +1 -0
  104. package/dist/shared/constants/followup-session.constants.d.ts +2 -0
  105. package/dist/shared/constants/followup-session.constants.js +3 -0
  106. package/dist/shared/constants/followup-session.constants.js.map +1 -0
  107. package/dist/shared/constants/funnel-analytics.constants.d.ts +2 -0
  108. package/dist/shared/constants/funnel-analytics.constants.js +3 -0
  109. package/dist/shared/constants/funnel-analytics.constants.js.map +1 -0
  110. package/dist/shared/constants/message-filter.constants.d.ts +7 -0
  111. package/dist/shared/constants/message-filter.constants.js +8 -0
  112. package/dist/shared/constants/message-filter.constants.js.map +1 -0
  113. package/dist/shared/utils/trigger-repeat-mapping.d.ts +72 -0
  114. package/dist/shared/utils/trigger-repeat-mapping.js +53 -0
  115. package/dist/shared/utils/trigger-repeat-mapping.js.map +1 -0
  116. package/dist/skills/besales-dialogue-audit/SKILL.md +31 -20
  117. package/dist/tasks/task-state-store.js +5 -0
  118. package/dist/tasks/task-state-store.js.map +1 -1
  119. package/dist/tools/annotations.js +4 -3
  120. package/dist/tools/annotations.js.map +1 -1
  121. package/dist/tools/definitions/agent-design.d.ts +81 -24
  122. package/dist/tools/definitions/agent-design.js +246 -90
  123. package/dist/tools/definitions/agent-design.js.map +1 -1
  124. package/dist/tools/definitions/agent-model-notice.d.ts +5 -0
  125. package/dist/tools/definitions/agent-model-notice.js +31 -0
  126. package/dist/tools/definitions/agent-model-notice.js.map +1 -0
  127. package/dist/tools/definitions/agent-models.d.ts +5 -0
  128. package/dist/tools/definitions/agent-models.js +26 -0
  129. package/dist/tools/definitions/agent-models.js.map +1 -0
  130. package/dist/tools/definitions/agent-settings.d.ts +85 -0
  131. package/dist/tools/definitions/agent-settings.js +187 -0
  132. package/dist/tools/definitions/agent-settings.js.map +1 -0
  133. package/dist/tools/definitions/ai-costs.d.ts +12 -0
  134. package/dist/tools/definitions/ai-costs.js +142 -0
  135. package/dist/tools/definitions/ai-costs.js.map +1 -0
  136. package/dist/tools/definitions/api-tool-request.d.ts +15 -0
  137. package/dist/tools/definitions/api-tool-request.js +2 -0
  138. package/dist/tools/definitions/api-tool-request.js.map +1 -0
  139. package/dist/tools/definitions/behavior-shipped-form.d.ts +182 -0
  140. package/dist/tools/definitions/behavior-shipped-form.js +185 -0
  141. package/dist/tools/definitions/behavior-shipped-form.js.map +1 -0
  142. package/dist/tools/definitions/broadcast-alerts.d.ts +6 -0
  143. package/dist/tools/definitions/broadcast-alerts.js +72 -0
  144. package/dist/tools/definitions/broadcast-alerts.js.map +1 -0
  145. package/dist/tools/definitions/broadcast-analytics.d.ts +102 -18
  146. package/dist/tools/definitions/broadcast-analytics.js +732 -431
  147. package/dist/tools/definitions/broadcast-analytics.js.map +1 -1
  148. package/dist/tools/definitions/broadcast-scheduler.d.ts +10 -13
  149. package/dist/tools/definitions/broadcast-scheduler.js +196 -154
  150. package/dist/tools/definitions/broadcast-scheduler.js.map +1 -1
  151. package/dist/tools/definitions/call-operator-task.schema.d.ts +11 -0
  152. package/dist/tools/definitions/call-operator-task.schema.js +30 -0
  153. package/dist/tools/definitions/call-operator-task.schema.js.map +1 -0
  154. package/dist/tools/definitions/contacts.d.ts +3 -0
  155. package/dist/tools/definitions/contacts.js +57 -31
  156. package/dist/tools/definitions/contacts.js.map +1 -1
  157. package/dist/tools/definitions/crm-platform.d.ts +29 -39
  158. package/dist/tools/definitions/crm-platform.js +249 -352
  159. package/dist/tools/definitions/crm-platform.js.map +1 -1
  160. package/dist/tools/definitions/crm-stage-pool.messages.d.ts +39 -0
  161. package/dist/tools/definitions/crm-stage-pool.messages.js +43 -0
  162. package/dist/tools/definitions/crm-stage-pool.messages.js.map +1 -0
  163. package/dist/tools/definitions/crm-stage-pool.schema.d.ts +64 -0
  164. package/dist/tools/definitions/crm-stage-pool.schema.js +109 -0
  165. package/dist/tools/definitions/crm-stage-pool.schema.js.map +1 -0
  166. package/dist/tools/definitions/custom-reports.d.ts +12 -0
  167. package/dist/tools/definitions/custom-reports.js +68 -0
  168. package/dist/tools/definitions/custom-reports.js.map +1 -0
  169. package/dist/tools/definitions/datasource.d.ts +2 -1
  170. package/dist/tools/definitions/datasource.js +28 -13
  171. package/dist/tools/definitions/datasource.js.map +1 -1
  172. package/dist/tools/definitions/dialog-review-findings-response.d.ts +14 -0
  173. package/dist/tools/definitions/dialog-review-findings-response.js +23 -0
  174. package/dist/tools/definitions/dialog-review-findings-response.js.map +1 -0
  175. package/dist/tools/definitions/dialog-review-safe-response.d.ts +5 -0
  176. package/dist/tools/definitions/dialog-review-safe-response.js +152 -0
  177. package/dist/tools/definitions/dialog-review-safe-response.js.map +1 -0
  178. package/dist/tools/definitions/dialog-review.d.ts +49 -0
  179. package/dist/tools/definitions/dialog-review.js +383 -0
  180. package/dist/tools/definitions/dialog-review.js.map +1 -0
  181. package/dist/tools/definitions/dialogue-analysis.d.ts +46 -0
  182. package/dist/tools/definitions/dialogue-analysis.js +170 -0
  183. package/dist/tools/definitions/dialogue-analysis.js.map +1 -0
  184. package/dist/tools/definitions/dialogue-audit-agent-scope.d.ts +7 -0
  185. package/dist/tools/definitions/dialogue-audit-agent-scope.js +41 -0
  186. package/dist/tools/definitions/dialogue-audit-agent-scope.js.map +1 -0
  187. package/dist/tools/definitions/dialogue-audit-alias.d.ts +67 -0
  188. package/dist/tools/definitions/dialogue-audit-alias.js +559 -0
  189. package/dist/tools/definitions/dialogue-audit-alias.js.map +1 -0
  190. package/dist/tools/definitions/dialogue-export.d.ts +7 -1
  191. package/dist/tools/definitions/dialogue-export.js +89 -32
  192. package/dist/tools/definitions/dialogue-export.js.map +1 -1
  193. package/dist/tools/definitions/dialogue-followup-state.d.ts +9 -0
  194. package/dist/tools/definitions/dialogue-followup-state.js +69 -0
  195. package/dist/tools/definitions/dialogue-followup-state.js.map +1 -0
  196. package/dist/tools/definitions/dialogue-reprocess.d.ts +5 -0
  197. package/dist/tools/definitions/dialogue-reprocess.js +107 -0
  198. package/dist/tools/definitions/dialogue-reprocess.js.map +1 -0
  199. package/dist/tools/definitions/edit-version-transport.test-fixtures.d.ts +13 -0
  200. package/dist/tools/definitions/edit-version-transport.test-fixtures.js +292 -0
  201. package/dist/tools/definitions/edit-version-transport.test-fixtures.js.map +1 -0
  202. package/dist/tools/definitions/edit-version.d.ts +5 -0
  203. package/dist/tools/definitions/edit-version.js +20 -0
  204. package/dist/tools/definitions/edit-version.js.map +1 -0
  205. package/dist/tools/definitions/external-api-channels.js +17 -15
  206. package/dist/tools/definitions/external-api-channels.js.map +1 -1
  207. package/dist/tools/definitions/feedback-document-access.d.ts +16 -0
  208. package/dist/tools/definitions/feedback-document-access.js +63 -0
  209. package/dist/tools/definitions/feedback-document-access.js.map +1 -0
  210. package/dist/tools/definitions/fixtures/shipped-setup-status.d.ts +3 -0
  211. package/dist/tools/definitions/fixtures/shipped-setup-status.js +9 -0
  212. package/dist/tools/definitions/fixtures/shipped-setup-status.js.map +1 -0
  213. package/dist/tools/definitions/follow-up-config.d.ts +79 -0
  214. package/dist/tools/definitions/follow-up-config.js +258 -0
  215. package/dist/tools/definitions/follow-up-config.js.map +1 -0
  216. package/dist/tools/definitions/follow-up-funnel-test.d.ts +4 -3
  217. package/dist/tools/definitions/follow-up-funnel-test.js +65 -52
  218. package/dist/tools/definitions/follow-up-funnel-test.js.map +1 -1
  219. package/dist/tools/definitions/follow-up-promotion-instructions.d.ts +2 -0
  220. package/dist/tools/definitions/follow-up-promotion-instructions.js +7 -0
  221. package/dist/tools/definitions/follow-up-promotion-instructions.js.map +1 -0
  222. package/dist/tools/definitions/follow-up-setup.d.ts +4 -28
  223. package/dist/tools/definitions/follow-up-setup.js +20 -87
  224. package/dist/tools/definitions/follow-up-setup.js.map +1 -1
  225. package/dist/tools/definitions/follow-up.d.ts +20 -122
  226. package/dist/tools/definitions/follow-up.js +200 -357
  227. package/dist/tools/definitions/follow-up.js.map +1 -1
  228. package/dist/tools/definitions/followup-getcourse-compat.d.ts +29 -0
  229. package/dist/tools/definitions/followup-getcourse-compat.js +62 -0
  230. package/dist/tools/definitions/followup-getcourse-compat.js.map +1 -0
  231. package/dist/tools/definitions/followup-sequence-config.schema.d.ts +10 -0
  232. package/dist/tools/definitions/followup-sequence-config.schema.js +14 -0
  233. package/dist/tools/definitions/followup-sequence-config.schema.js.map +1 -0
  234. package/dist/tools/definitions/funnel-analytics.d.ts +18 -0
  235. package/dist/tools/definitions/funnel-analytics.js +150 -0
  236. package/dist/tools/definitions/funnel-analytics.js.map +1 -0
  237. package/dist/tools/definitions/getcourse-anchor-refresh.d.ts +5 -9
  238. package/dist/tools/definitions/getcourse-anchor-refresh.js +26 -31
  239. package/dist/tools/definitions/getcourse-anchor-refresh.js.map +1 -1
  240. package/dist/tools/definitions/getcourse-cold-outbound-settings.d.ts +46 -0
  241. package/dist/tools/definitions/getcourse-cold-outbound-settings.js +37 -0
  242. package/dist/tools/definitions/getcourse-cold-outbound-settings.js.map +1 -0
  243. package/dist/tools/definitions/getcourse-cold-welcome.d.ts +14 -29
  244. package/dist/tools/definitions/getcourse-cold-welcome.js +190 -253
  245. package/dist/tools/definitions/getcourse-cold-welcome.js.map +1 -1
  246. package/dist/tools/definitions/getcourse-wave-welcome.messages.d.ts +10 -0
  247. package/dist/tools/definitions/getcourse-wave-welcome.messages.js +17 -0
  248. package/dist/tools/definitions/getcourse-wave-welcome.messages.js.map +1 -0
  249. package/dist/tools/definitions/help.js.map +1 -1
  250. package/dist/tools/definitions/icp-import-source.d.ts +75 -0
  251. package/dist/tools/definitions/icp-import-source.js +88 -0
  252. package/dist/tools/definitions/icp-import-source.js.map +1 -0
  253. package/dist/tools/definitions/inbound-analytics.d.ts +13 -0
  254. package/dist/tools/definitions/inbound-analytics.js +55 -0
  255. package/dist/tools/definitions/inbound-analytics.js.map +1 -0
  256. package/dist/tools/definitions/instagram-comment.templates.d.ts +19 -0
  257. package/dist/tools/definitions/instagram-comment.templates.js +34 -0
  258. package/dist/tools/definitions/instagram-comment.templates.js.map +1 -0
  259. package/dist/tools/definitions/instagram-settings-compat.d.ts +33 -0
  260. package/dist/tools/definitions/instagram-settings-compat.js +7 -0
  261. package/dist/tools/definitions/instagram-settings-compat.js.map +1 -0
  262. package/dist/tools/definitions/knowledge-chunking.d.ts +42 -0
  263. package/dist/tools/definitions/knowledge-chunking.js +83 -0
  264. package/dist/tools/definitions/knowledge-chunking.js.map +1 -0
  265. package/dist/tools/definitions/knowledge-space-search-fields.d.ts +12 -0
  266. package/dist/tools/definitions/knowledge-space-search-fields.js +30 -0
  267. package/dist/tools/definitions/knowledge-space-search-fields.js.map +1 -0
  268. package/dist/tools/definitions/knowledge.d.ts +24 -14
  269. package/dist/tools/definitions/knowledge.js +342 -233
  270. package/dist/tools/definitions/knowledge.js.map +1 -1
  271. package/dist/tools/definitions/legacy-trigger-repeat.d.ts +17 -0
  272. package/dist/tools/definitions/legacy-trigger-repeat.js +53 -0
  273. package/dist/tools/definitions/legacy-trigger-repeat.js.map +1 -0
  274. package/dist/tools/definitions/link-tracking.d.ts +8 -0
  275. package/dist/tools/definitions/link-tracking.js +141 -38
  276. package/dist/tools/definitions/link-tracking.js.map +1 -1
  277. package/dist/tools/definitions/mailing-variant-content.d.ts +75 -0
  278. package/dist/tools/definitions/mailing-variant-content.js +73 -0
  279. package/dist/tools/definitions/mailing-variant-content.js.map +1 -0
  280. package/dist/tools/definitions/model-comparison.d.ts +2 -1
  281. package/dist/tools/definitions/model-comparison.js +4 -5
  282. package/dist/tools/definitions/model-comparison.js.map +1 -1
  283. package/dist/tools/definitions/money-currency.d.ts +5 -0
  284. package/dist/tools/definitions/money-currency.js +10 -0
  285. package/dist/tools/definitions/money-currency.js.map +1 -0
  286. package/dist/tools/definitions/operator-workflow.d.ts +5 -5
  287. package/dist/tools/definitions/operator-workflow.js +80 -27
  288. package/dist/tools/definitions/operator-workflow.js.map +1 -1
  289. package/dist/tools/definitions/platform-funnel-analytics.d.ts +42 -0
  290. package/dist/tools/definitions/platform-funnel-analytics.js +72 -0
  291. package/dist/tools/definitions/platform-funnel-analytics.js.map +1 -0
  292. package/dist/tools/definitions/platform-getcourse-wave-field-bindings.d.ts +42 -0
  293. package/dist/tools/definitions/platform-getcourse-wave-field-bindings.js +51 -0
  294. package/dist/tools/definitions/platform-getcourse-wave-field-bindings.js.map +1 -0
  295. package/dist/tools/definitions/platform-settings-limits.d.ts +5 -0
  296. package/dist/tools/definitions/platform-settings-limits.js +6 -0
  297. package/dist/tools/definitions/platform-settings-limits.js.map +1 -0
  298. package/dist/tools/definitions/platform-settings-shipped-form.d.ts +37 -0
  299. package/dist/tools/definitions/platform-settings-shipped-form.js +310 -0
  300. package/dist/tools/definitions/platform-settings-shipped-form.js.map +1 -0
  301. package/dist/tools/definitions/platform-settings-update.d.ts +300 -0
  302. package/dist/tools/definitions/platform-settings-update.js +134 -0
  303. package/dist/tools/definitions/platform-settings-update.js.map +1 -0
  304. package/dist/tools/definitions/{getcourse-wave.d.ts → platform-setup-wave.d.ts} +75 -6
  305. package/dist/tools/definitions/platform-setup-wave.js +1079 -0
  306. package/dist/tools/definitions/platform-setup-wave.js.map +1 -0
  307. package/dist/tools/definitions/platform-setup.d.ts +697 -224
  308. package/dist/tools/definitions/platform-setup.js +313 -752
  309. package/dist/tools/definitions/platform-setup.js.map +1 -1
  310. package/dist/tools/definitions/platform-widget-page-rules.schema.d.ts +10 -0
  311. package/dist/tools/definitions/platform-widget-page-rules.schema.js +7 -0
  312. package/dist/tools/definitions/platform-widget-page-rules.schema.js.map +1 -0
  313. package/dist/tools/definitions/prompt-authoring.constants.d.ts +2 -0
  314. package/dist/tools/definitions/prompt-authoring.constants.js +3 -0
  315. package/dist/tools/definitions/prompt-authoring.constants.js.map +1 -0
  316. package/dist/tools/definitions/prompt-batch-controls.d.ts +5 -0
  317. package/dist/tools/definitions/prompt-batch-controls.js +40 -0
  318. package/dist/tools/definitions/prompt-batch-controls.js.map +1 -0
  319. package/dist/tools/definitions/prompt-draft-authoring.d.ts +5 -0
  320. package/dist/tools/definitions/prompt-draft-authoring.js +24 -0
  321. package/dist/tools/definitions/prompt-draft-authoring.js.map +1 -0
  322. package/dist/tools/definitions/prompt-text-projection.d.ts +11 -0
  323. package/dist/tools/definitions/prompt-text-projection.js +62 -0
  324. package/dist/tools/definitions/prompt-text-projection.js.map +1 -0
  325. package/dist/tools/definitions/reviewer-paid.d.ts +19 -0
  326. package/dist/tools/definitions/reviewer-paid.js +115 -0
  327. package/dist/tools/definitions/reviewer-paid.js.map +1 -0
  328. package/dist/tools/definitions/routing-condition-projection.d.ts +31 -0
  329. package/dist/tools/definitions/routing-condition-projection.js +97 -0
  330. package/dist/tools/definitions/routing-condition-projection.js.map +1 -0
  331. package/dist/tools/definitions/schedule-selection-hints.d.ts +3 -0
  332. package/dist/tools/definitions/schedule-selection-hints.js +42 -0
  333. package/dist/tools/definitions/schedule-selection-hints.js.map +1 -0
  334. package/dist/tools/definitions/{scheduled-tasks.d.ts → scheduled-task-alias.d.ts} +12 -10
  335. package/dist/tools/definitions/scheduled-task-alias.js +207 -0
  336. package/dist/tools/definitions/scheduled-task-alias.js.map +1 -0
  337. package/dist/tools/definitions/session.js +3 -3
  338. package/dist/tools/definitions/session.js.map +1 -1
  339. package/dist/tools/definitions/setup-init-operation.schema.d.ts +2 -0
  340. package/dist/tools/definitions/setup-init-operation.schema.js +6 -0
  341. package/dist/tools/definitions/setup-init-operation.schema.js.map +1 -0
  342. package/dist/tools/definitions/shared-input.helpers.d.ts +51 -0
  343. package/dist/tools/definitions/shared-input.helpers.js +323 -0
  344. package/dist/tools/definitions/shared-input.helpers.js.map +1 -0
  345. package/dist/tools/definitions/shared.d.ts +401 -307
  346. package/dist/tools/definitions/shared.js +430 -652
  347. package/dist/tools/definitions/shared.js.map +1 -1
  348. package/dist/tools/definitions/shipped-output-names.d.ts +19 -0
  349. package/dist/tools/definitions/shipped-output-names.js +123 -0
  350. package/dist/tools/definitions/shipped-output-names.js.map +1 -0
  351. package/dist/tools/definitions/task-state.d.ts +4 -4
  352. package/dist/tools/definitions/task-state.js +2 -1
  353. package/dist/tools/definitions/task-state.js.map +1 -1
  354. package/dist/tools/definitions/telegram-personal-capacity.d.ts +4 -0
  355. package/dist/tools/definitions/telegram-personal-capacity.js +18 -0
  356. package/dist/tools/definitions/telegram-personal-capacity.js.map +1 -0
  357. package/dist/tools/definitions/telegram-personal-management.d.ts +34 -0
  358. package/dist/tools/definitions/telegram-personal-management.js +139 -0
  359. package/dist/tools/definitions/telegram-personal-management.js.map +1 -0
  360. package/dist/tools/definitions/telegram-personal-restrictions.d.ts +19 -0
  361. package/dist/tools/definitions/telegram-personal-restrictions.js +109 -0
  362. package/dist/tools/definitions/telegram-personal-restrictions.js.map +1 -0
  363. package/dist/tools/definitions/telegram-pool-policy.d.ts +8 -0
  364. package/dist/tools/definitions/telegram-pool-policy.js +56 -0
  365. package/dist/tools/definitions/telegram-pool-policy.js.map +1 -0
  366. package/dist/tools/definitions/touch-history-alias.d.ts +4 -0
  367. package/dist/tools/definitions/touch-history-alias.js +99 -0
  368. package/dist/tools/definitions/touch-history-alias.js.map +1 -0
  369. package/dist/tools/definitions/trigger-action-item.schema.d.ts +254 -0
  370. package/dist/tools/definitions/trigger-action-item.schema.js +121 -0
  371. package/dist/tools/definitions/trigger-action-item.schema.js.map +1 -0
  372. package/dist/tools/definitions/trigger-argument.schema.d.ts +14 -0
  373. package/dist/tools/definitions/trigger-argument.schema.js +23 -0
  374. package/dist/tools/definitions/trigger-argument.schema.js.map +1 -0
  375. package/dist/tools/definitions/trigger-claim-alias.d.ts +10 -0
  376. package/dist/tools/definitions/trigger-claim-alias.js +90 -0
  377. package/dist/tools/definitions/trigger-claim-alias.js.map +1 -0
  378. package/dist/tools/definitions/trigger-echo-projection.d.ts +1 -0
  379. package/dist/tools/definitions/trigger-echo-projection.js +41 -0
  380. package/dist/tools/definitions/trigger-echo-projection.js.map +1 -0
  381. package/dist/tools/definitions/trigger-upsert.tool.d.ts +41 -0
  382. package/dist/tools/definitions/trigger-upsert.tool.js +159 -0
  383. package/dist/tools/definitions/trigger-upsert.tool.js.map +1 -0
  384. package/dist/tools/definitions/v15-port-descriptions.d.ts +11 -0
  385. package/dist/tools/definitions/v15-port-descriptions.js +30 -0
  386. package/dist/tools/definitions/v15-port-descriptions.js.map +1 -0
  387. package/dist/tools/definitions/variables.d.ts +44 -0
  388. package/dist/tools/definitions/variables.js +310 -0
  389. package/dist/tools/definitions/variables.js.map +1 -0
  390. package/dist/tools/definitions/voice-action-input.d.ts +9 -0
  391. package/dist/tools/definitions/voice-action-input.js +141 -0
  392. package/dist/tools/definitions/voice-action-input.js.map +1 -0
  393. package/dist/tools/definitions/widget-customization-compat.d.ts +51 -0
  394. package/dist/tools/definitions/widget-customization-compat.js +23 -0
  395. package/dist/tools/definitions/widget-customization-compat.js.map +1 -0
  396. package/dist/tools/definitions.d.ts +1134 -617
  397. package/dist/tools/definitions.js +63 -27
  398. package/dist/tools/definitions.js.map +1 -1
  399. package/dist/tools/description-localization.js +3 -2
  400. package/dist/tools/description-localization.js.map +1 -1
  401. package/dist/tools/follow-up-request.d.ts +19 -0
  402. package/dist/tools/follow-up-request.js +81 -0
  403. package/dist/tools/follow-up-request.js.map +1 -0
  404. package/dist/tools/followup-revision.d.ts +4 -0
  405. package/dist/tools/followup-revision.js +29 -0
  406. package/dist/tools/followup-revision.js.map +1 -0
  407. package/dist/tools/incomplete-list.js +4 -0
  408. package/dist/tools/incomplete-list.js.map +1 -1
  409. package/dist/tools/inventory.js +47 -11
  410. package/dist/tools/inventory.js.map +1 -1
  411. package/dist/tools/operation-recovery.d.ts +4 -0
  412. package/dist/tools/operation-recovery.js +33 -0
  413. package/dist/tools/operation-recovery.js.map +1 -0
  414. package/dist/tools/registry-mapping-primary.cases.d.ts +2 -0
  415. package/dist/tools/registry-mapping-primary.cases.js +765 -0
  416. package/dist/tools/registry-mapping-primary.cases.js.map +1 -0
  417. package/dist/tools/registry-mapping-secondary.cases.d.ts +2 -0
  418. package/dist/tools/registry-mapping-secondary.cases.js +626 -0
  419. package/dist/tools/registry-mapping-secondary.cases.js.map +1 -0
  420. package/dist/tools/registry-mapping.cases.d.ts +8 -0
  421. package/dist/tools/registry-mapping.cases.js +170 -0
  422. package/dist/tools/registry-mapping.cases.js.map +1 -0
  423. package/dist/tools/registry-test-fixtures.d.ts +50 -0
  424. package/dist/tools/registry-test-fixtures.js +120 -0
  425. package/dist/tools/registry-test-fixtures.js.map +1 -0
  426. package/dist/tools/registry.d.ts +2 -0
  427. package/dist/tools/registry.js +84 -52
  428. package/dist/tools/registry.js.map +1 -1
  429. package/dist/tools/result.d.ts +1 -0
  430. package/dist/tools/result.js +90 -22
  431. package/dist/tools/result.js.map +1 -1
  432. package/dist/tools/toolsets.d.ts +16 -0
  433. package/dist/tools/toolsets.js +25 -1
  434. package/dist/tools/toolsets.js.map +1 -1
  435. package/dist/types/api-contract.gen.d.ts +131892 -22453
  436. package/dist/utils/credential-signatures.d.ts +3 -0
  437. package/dist/utils/credential-signatures.js +10 -0
  438. package/dist/utils/credential-signatures.js.map +1 -0
  439. package/dist/utils/data-source-column-name.d.ts +10 -0
  440. package/dist/utils/data-source-column-name.js +36 -0
  441. package/dist/utils/data-source-column-name.js.map +1 -0
  442. package/dist/utils/logger.d.ts +1 -0
  443. package/dist/utils/logger.js +32 -8
  444. package/dist/utils/logger.js.map +1 -1
  445. package/dist/utils/secret-read-boundary.d.ts +2 -0
  446. package/dist/utils/secret-read-boundary.js +88 -0
  447. package/dist/utils/secret-read-boundary.js.map +1 -0
  448. package/dist/utils/setup-secrets.d.ts +4 -0
  449. package/dist/utils/setup-secrets.js +40 -0
  450. package/dist/utils/setup-secrets.js.map +1 -0
  451. package/docs/agent-models.md +9 -0
  452. package/docs/agent-usage-guide.full.ru.md +1 -4
  453. package/docs/analytics-contract.md +67 -0
  454. package/docs/async-operation-lifecycle.md +10 -3
  455. package/docs/connect.ru.md +144 -4
  456. package/docs/contact-company-profile.md +17 -0
  457. package/docs/contact-recommendations.md +7 -0
  458. package/docs/crm-stage-pool.md +73 -0
  459. package/docs/customer-data.md +61 -0
  460. package/docs/dialogue-reprocess.md +37 -0
  461. package/docs/edit-versions.md +36 -0
  462. package/docs/failure-semantics.md +17 -9
  463. package/docs/help-navigation.md +15 -42
  464. package/docs/host-compatibility-matrix.md +72 -93
  465. package/docs/host-setup.md +33 -35
  466. package/docs/invariants/public-api-and-contracts.md +16 -0
  467. package/docs/legacy-action-settings.md +21 -0
  468. package/docs/main-transfer-dependencies.md +38 -0
  469. package/docs/mcp2-parity.md +50 -0
  470. package/docs/modules/analytics.md +79 -0
  471. package/docs/modules/besales-mcp.md +144 -0
  472. package/docs/modules/dialog-review-report.md +38 -0
  473. package/docs/modules/dialogue-followup-adapters.md +39 -0
  474. package/docs/modules/message-reactions.md +17 -0
  475. package/docs/modules/network-mode.md +284 -0
  476. package/docs/modules/prompt-batch-and-dialogue-controls.md +69 -0
  477. package/docs/pii-policy.md +21 -16
  478. package/docs/response-size-budget.md +197 -7
  479. package/docs/secret-read-boundary.md +102 -0
  480. package/docs/task-state.md +7 -2
  481. package/docs/telegram-personal-management.md +50 -0
  482. package/docs/telegram-personal-restrictions.md +87 -0
  483. package/docs/telegram-pool-policy.md +19 -0
  484. package/docs/tool-effects.md +15 -9
  485. package/docs/tool-surface.md +205 -4
  486. package/docs/voice-actions-and-inbox.md +95 -0
  487. package/docs/wazzup-instagram-comments.md +26 -0
  488. package/package.json +17 -10
  489. package/scripts/api-source-loader.spec.mjs +40 -0
  490. package/scripts/audit-bridge-controls.mjs +129 -0
  491. package/scripts/audit-revert-mutants.mjs +107 -0
  492. package/scripts/bridge-api-input.spec.mjs +98 -0
  493. package/scripts/bridge-controls-mutants.mjs +130 -0
  494. package/scripts/brx3-shipped-refusals.spec.mjs +149 -0
  495. package/scripts/brx4-ledger-payload.spec.mjs +127 -0
  496. package/scripts/build-onprem.mjs +108 -0
  497. package/scripts/connect-clients.sh +141 -0
  498. package/scripts/connect-scopes.mjs +166 -0
  499. package/scripts/connect-scopes.spec.mjs +83 -0
  500. package/scripts/emit-personal-link-carrier.mjs +31 -0
  501. package/scripts/emit-setup-init-schemas.mjs +24 -0
  502. package/scripts/emit-tool-routes.mjs +878 -0
  503. package/scripts/emit-tool-routes.spec.mjs +300 -0
  504. package/scripts/followup-registry.spec.mjs +107 -0
  505. package/scripts/generate-crm-rotation-contract.mjs +98 -0
  506. package/scripts/generate-followup-session-contract.mjs +16 -0
  507. package/scripts/getcourse-text-source.spec.mjs +110 -0
  508. package/scripts/icp-import-verification/mutate.cjs +70 -0
  509. package/scripts/import-secret-read-contract.mjs +53 -0
  510. package/scripts/install-claude-desktop.js +1 -1
  511. package/scripts/lag-decisions.mjs +37 -0
  512. package/scripts/lag-decisions.spec.mjs +87 -0
  513. package/scripts/lag-open-task-owners.mjs +46 -0
  514. package/scripts/lag-open-task-owners.spec.mjs +78 -0
  515. package/scripts/lag-payload.mjs +10 -0
  516. package/scripts/legacy-action-lag.spec.mjs +22 -0
  517. package/scripts/legacy-field-refusal.shipped.spec.mjs +99 -0
  518. package/scripts/mcpcompat-handler.mjs +34 -0
  519. package/scripts/mcpcompat-loader.mjs +36 -0
  520. package/scripts/mcpcompat-typescript.mjs +3 -0
  521. package/scripts/platform-settings-shipped-parity.spec.mjs +89 -0
  522. package/scripts/prbr-round1-recheck.spec.mjs +605 -0
  523. package/scripts/prbr-shipped-compatibility.spec.mjs +276 -0
  524. package/scripts/publish-mcp-registry.mjs +98 -0
  525. package/scripts/publish-mcp-registry.spec.mjs +68 -0
  526. package/scripts/record-scheduled-task-call.mjs +26 -0
  527. package/scripts/refusal-probe.mjs +17 -0
  528. package/scripts/refusal-probe.spec.mjs +29 -0
  529. package/scripts/registry-diff.mjs +502 -0
  530. package/scripts/registry-diff.spec.mjs +787 -0
  531. package/scripts/request-query.mjs +43 -0
  532. package/scripts/request-query.spec.mjs +82 -0
  533. package/scripts/route-lag.mjs +23 -0
  534. package/scripts/route-lag.spec.mjs +30 -0
  535. package/scripts/sample-args.mjs +174 -0
  536. package/scripts/sample-args.spec.mjs +160 -0
  537. package/scripts/shipped-definitions.mjs +197 -0
  538. package/scripts/shipped-definitions.spec.mjs +57 -0
  539. package/scripts/shipped-inputs.spec.mjs +136 -0
  540. package/scripts/shipped-recordings.spec.mjs +19 -0
  541. package/scripts/shipped-ref.d.mts +5 -0
  542. package/scripts/shipped-ref.mjs +20 -0
  543. package/scripts/shipped-ref.spec.mjs +59 -0
  544. package/scripts/shipped-registry.mjs +107 -0
  545. package/scripts/shipped-sample-candidates.mjs +69 -0
  546. package/scripts/shipped-sample-candidates.spec.mjs +117 -0
  547. package/scripts/shipped-sample.mjs +871 -0
  548. package/scripts/shipped-sample.spec.mjs +451 -0
  549. package/scripts/sync-agent-model-schemas.mjs +72 -0
  550. package/scripts/sync-api-contracts.mjs +85 -0
  551. package/scripts/sync-api-contracts.spec.mjs +144 -0
  552. package/scripts/sync-contract-ledger-schemas.mjs +161 -0
  553. package/scripts/sync-crm-stage-pool-schema.mjs +85 -0
  554. package/scripts/sync-prompt-draft-schema.mjs +92 -0
  555. package/scripts/sync-route-map.mjs +94 -0
  556. package/scripts/sync-schema-descriptions.mjs +25 -0
  557. package/scripts/sync-tool-inventory.mjs +27 -0
  558. package/scripts/sync-trigger-argument-schema.mjs +97 -0
  559. package/scripts/sync-trigger-argument-schema.spec.mjs +91 -0
  560. package/scripts/sync-trigger-event-schema.mjs +20 -0
  561. package/scripts/sync-trigger-repeat-mapping.mjs +12 -0
  562. package/scripts/sync-trigger-task-schema.mjs +45 -0
  563. package/scripts/sync-voice-actions-contract.mjs +67 -0
  564. package/scripts/sync-voice-actions-tools.mjs +97 -0
  565. package/scripts/sync-wave-id-schemas.mjs +55 -0
  566. package/scripts/telegram-personal-confirmation-mutants.mjs +74 -0
  567. package/scripts/tool-input-schemas.mjs +46 -0
  568. package/scripts/tool-input-schemas.spec.mjs +50 -0
  569. package/scripts/verify-followup-adapters.mjs +235 -0
  570. package/scripts/verify-secret-read-import.mjs +84 -0
  571. package/scripts/verify-secret-read-mutants.mjs +143 -0
  572. package/dist/tools/definitions/analytics.d.ts +0 -40
  573. package/dist/tools/definitions/analytics.js +0 -233
  574. package/dist/tools/definitions/analytics.js.map +0 -1
  575. package/dist/tools/definitions/broadcast-mailing-variants.d.ts +0 -41
  576. package/dist/tools/definitions/broadcast-mailing-variants.js +0 -194
  577. package/dist/tools/definitions/broadcast-mailing-variants.js.map +0 -1
  578. package/dist/tools/definitions/dialogue-audit.d.ts +0 -38
  579. package/dist/tools/definitions/dialogue-audit.js +0 -292
  580. package/dist/tools/definitions/dialogue-audit.js.map +0 -1
  581. package/dist/tools/definitions/getcourse-wave.js +0 -519
  582. package/dist/tools/definitions/getcourse-wave.js.map +0 -1
  583. package/dist/tools/definitions/operational-overview.d.ts +0 -3
  584. package/dist/tools/definitions/operational-overview.js +0 -23
  585. package/dist/tools/definitions/operational-overview.js.map +0 -1
  586. package/dist/tools/definitions/scheduled-tasks.js +0 -173
  587. package/dist/tools/definitions/scheduled-tasks.js.map +0 -1
  588. package/dist/tools/definitions/trigger-contact-claims.d.ts +0 -7
  589. package/dist/tools/definitions/trigger-contact-claims.js +0 -60
  590. package/dist/tools/definitions/trigger-contact-claims.js.map +0 -1
  591. package/dist/tools/registry-mapping-cases-core.d.ts +0 -38
  592. package/dist/tools/registry-mapping-cases-core.js +0 -963
  593. package/dist/tools/registry-mapping-cases-core.js.map +0 -1
  594. package/dist/tools/registry-mapping-cases-platform.d.ts +0 -2
  595. package/dist/tools/registry-mapping-cases-platform.js +0 -1052
  596. package/dist/tools/registry-mapping-cases-platform.js.map +0 -1
  597. package/dist/tools/trigger-action-config.d.ts +0 -49
  598. package/dist/tools/trigger-action-config.js +0 -171
  599. package/dist/tools/trigger-action-config.js.map +0 -1
  600. package/docs/evals/model-behavior-scorecard.md +0 -80
  601. package/docs/operation-coverage.md +0 -114
  602. package/scripts/mock-credentials.js +0 -77
  603. package/scripts/model-eval-server.js +0 -213
  604. package/scripts/run-model-eval.js +0 -447
@@ -0,0 +1,248 @@
1
+ {
2
+ "source": {
3
+ "file": "besales-api/contracts/openapi-besales-api.yaml",
4
+ "sha256": "08c86fe0742af2c8c2cf2848569a72f4e1998f31d6467aedc298a46053750c55",
5
+ "relationMapperSha256": "bc8513adaa89587f10d5bb346963f49c11a5f83bc693a8ba7101b418b560fe22"
6
+ },
7
+ "voiceConfigs": {
8
+ "VOICE_TRANSFER_CALL": {
9
+ "additionalProperties": false,
10
+ "properties": {
11
+ "schema_version": {
12
+ "enum": [
13
+ 1
14
+ ],
15
+ "type": "number"
16
+ },
17
+ "step_type": {
18
+ "enum": [
19
+ "VOICE_TRANSFER_CALL"
20
+ ],
21
+ "type": "string"
22
+ },
23
+ "targetLabel": {
24
+ "anyOf": [
25
+ {
26
+ "maxLength": 120,
27
+ "type": "string"
28
+ },
29
+ {
30
+ "type": "null"
31
+ }
32
+ ],
33
+ "default": null
34
+ }
35
+ },
36
+ "required": [
37
+ "schema_version",
38
+ "step_type"
39
+ ],
40
+ "type": "object"
41
+ },
42
+ "VOICE_INITIATE_OUTBOUND_CALL": {
43
+ "additionalProperties": false,
44
+ "properties": {
45
+ "callingTimezone": {
46
+ "minLength": 1,
47
+ "type": "string"
48
+ },
49
+ "callingWindow": {
50
+ "anyOf": [
51
+ {
52
+ "additionalProperties": false,
53
+ "properties": {
54
+ "days": {
55
+ "items": {
56
+ "maximum": 7,
57
+ "minimum": 1,
58
+ "type": "integer"
59
+ },
60
+ "maxItems": 7,
61
+ "type": "array"
62
+ },
63
+ "endHour": {
64
+ "maximum": 24,
65
+ "minimum": 1,
66
+ "type": "integer"
67
+ },
68
+ "startHour": {
69
+ "maximum": 23,
70
+ "minimum": 0,
71
+ "type": "integer"
72
+ }
73
+ },
74
+ "type": "object"
75
+ },
76
+ {
77
+ "additionalProperties": false,
78
+ "properties": {
79
+ "days": {
80
+ "items": {
81
+ "maximum": 6,
82
+ "minimum": 0,
83
+ "type": "integer"
84
+ },
85
+ "type": "array"
86
+ },
87
+ "end": {
88
+ "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
89
+ "type": "string"
90
+ },
91
+ "start": {
92
+ "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
93
+ "type": "string"
94
+ }
95
+ },
96
+ "type": "object"
97
+ }
98
+ ],
99
+ "default": {}
100
+ },
101
+ "delayDays": {
102
+ "default": 0,
103
+ "maximum": 9007199254740991,
104
+ "minimum": 0,
105
+ "type": "integer"
106
+ },
107
+ "delayHours": {
108
+ "default": 0,
109
+ "maximum": 23,
110
+ "minimum": 0,
111
+ "type": "integer"
112
+ },
113
+ "delayMinutes": {
114
+ "default": 0,
115
+ "maximum": 59,
116
+ "minimum": 0,
117
+ "type": "integer"
118
+ },
119
+ "fromNumberId": {
120
+ "anyOf": [
121
+ {
122
+ "format": "uuid",
123
+ "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
124
+ "type": "string"
125
+ },
126
+ {
127
+ "type": "null"
128
+ }
129
+ ],
130
+ "default": null
131
+ },
132
+ "maxCallbacksPerContact": {
133
+ "default": 2,
134
+ "exclusiveMinimum": 0,
135
+ "maximum": 9007199254740991,
136
+ "type": "integer"
137
+ },
138
+ "reason": {
139
+ "anyOf": [
140
+ {
141
+ "maxLength": 500,
142
+ "type": "string"
143
+ },
144
+ {
145
+ "type": "null"
146
+ }
147
+ ],
148
+ "default": null
149
+ },
150
+ "schema_version": {
151
+ "enum": [
152
+ 1
153
+ ],
154
+ "type": "number"
155
+ },
156
+ "step_type": {
157
+ "enum": [
158
+ "VOICE_INITIATE_OUTBOUND_CALL"
159
+ ],
160
+ "type": "string"
161
+ },
162
+ "timing": {
163
+ "default": "IMMEDIATE",
164
+ "enum": [
165
+ "CALLBACK",
166
+ "IMMEDIATE"
167
+ ],
168
+ "type": "string"
169
+ }
170
+ },
171
+ "required": [
172
+ "schema_version",
173
+ "step_type"
174
+ ],
175
+ "type": "object"
176
+ }
177
+ },
178
+ "purchased": {
179
+ "description": "Заказ или продажная стадия: true — есть успешное боевое создание заказа агентом либо текущая продажная стадия своей CRM; false — нет обоих признаков. Это не оплата. При channelId область ограничена каналом, иначе общая по видимым каналам человека; тот же признак hasPurchase возвращается в строке",
180
+ "type": "boolean"
181
+ },
182
+ "hasPurchase": {
183
+ "description": "Есть заказ агента или продажная стадия в области purchased: выбранный канал либо все видимые каналы человека. Не означает оплату",
184
+ "type": "boolean"
185
+ },
186
+ "relationNames": [
187
+ "sendText",
188
+ "sendMedia",
189
+ "sendButtons",
190
+ "telegramChannelMessage",
191
+ "requestContact",
192
+ "requestSatisfactionRating",
193
+ "silentAi",
194
+ "callOperator",
195
+ "handoffToAgent",
196
+ "saveFact",
197
+ "savePreference",
198
+ "saveContactInfo",
199
+ "summarize",
200
+ "crmCreateDeal",
201
+ "crmMoveStage",
202
+ "crmRenameDeal",
203
+ "crmUpdateField",
204
+ "crmConvertLeadToDeal",
205
+ "crmAddNote",
206
+ "crmCloseDeal",
207
+ "setVariable",
208
+ "calendarLook",
209
+ "calendarUpdate",
210
+ "calendarDelete",
211
+ "readNamespaces",
212
+ "addUnknownQuestion",
213
+ "getcourseReadOrderStatus",
214
+ "getcourseReadRegistrationLinks",
215
+ "parseWebpage",
216
+ "httpWebhook",
217
+ "scheduleFollowUp",
218
+ "cancelScheduledFollowup",
219
+ "platformLog",
220
+ "assignContactEvent",
221
+ "googleSheetsAppendRow",
222
+ "emitEvent",
223
+ "triggerWorkflow",
224
+ "subAgentDelegation",
225
+ "mcpTool",
226
+ "dataSourceRead",
227
+ "dataSourceWrite",
228
+ "initiateOutboundCall",
229
+ "transferCall",
230
+ "getcourseSetDealTags",
231
+ "getcourseUpdateDealStatus",
232
+ "getcourseUpdateDealCustomFields",
233
+ "getcourseUpdateUserCustomFields",
234
+ "getcourseSendPaymentLink",
235
+ "getcourseAddDealNote",
236
+ "getcourseCreateDeal",
237
+ "getcourseSetDealManager",
238
+ "getcourseSetPersonalManager",
239
+ "getcourseSetManager",
240
+ "getcourseAddUserGroups",
241
+ "getcourseRemoveUserGroups",
242
+ "getcourseUpdateUserGroups",
243
+ "getcourseMoveStage",
244
+ "getcourseCloseDialogAfterSilence",
245
+ "getcourseCloseDialog",
246
+ "getcourseChangeDepartment"
247
+ ]
248
+ }
@@ -0,0 +1,2 @@
1
+ /** Закрытый словарь причин фильтра: прежние проверки и все источники исходов. */
2
+ export declare const BROADCAST_REASON_FILTER_VALUES: readonly ["ACTIVE_DEAL_OTHER_PRODUCT", "ACTIVE_DEAL_SAME_PRODUCT", "ACTIVE_INVOICE_SAME_PRODUCT", "ALREADY_SENT", "BOARD_NO_TARGET", "CONTACT_ERASED", "CONTACT_IMPORT_FAILED", "DEAL_MOVE_REFUSED", "DEDUP_ALREADY_SENT", "DUPLICATE", "FAILED", "GETCOURSE_CHECK_ERROR", "MANAGER_ASSIGNED_ACTIVE_DEAL", "NO_MESSENGER", "OUTCOME_UNKNOWN", "PAID_SAME_PRODUCT", "PRODUCT_CONTEXT_MISSING", "RUN_CANCELLED", "RUN_FAILED", "SKIPPED_ACTIVE_DEAL", "SKIPPED_ACTIVE_EPISODE", "SKIPPED_ACTIVE_SERIES", "SKIPPED_ALREADY_IN_DIALOG", "SKIPPED_ALREADY_SENT_SEGMENT", "SKIPPED_ANCHOR_IN_PAST", "SKIPPED_BOT_SILENCED", "SKIPPED_CONTACT_BANNED", "SKIPPED_COOLDOWN", "SKIPPED_FOREIGN_WORKSPACE", "SKIPPED_GUARD_UNAVAILABLE", "SKIPPED_HANDED_TO_OPERATOR", "SKIPPED_NOT_GETCOURSE", "SKIPPED_NOT_IN_BASE", "SKIPPED_NO_ANCHOR", "SKIPPED_NO_GETCOURSE_USER", "SKIPPED_PLATFORM_CHANGED", "SKIPPED_SESSION_AHEAD", "SKIPPED_TEXT_TOO_LONG", "SKIPPED_UNREACHABLE", "SKIPPED_UNRESOLVED_VARS", "STATUS_TARGET_UNRESOLVED", "UNKNOWN_REASON", "USER_NOT_FOUND"];
@@ -0,0 +1,47 @@
1
+ /** Закрытый словарь причин фильтра: прежние проверки и все источники исходов. */
2
+ export const BROADCAST_REASON_FILTER_VALUES = [
3
+ "ACTIVE_DEAL_OTHER_PRODUCT",
4
+ "ACTIVE_DEAL_SAME_PRODUCT",
5
+ "ACTIVE_INVOICE_SAME_PRODUCT",
6
+ "ALREADY_SENT",
7
+ "BOARD_NO_TARGET",
8
+ "CONTACT_ERASED",
9
+ "CONTACT_IMPORT_FAILED",
10
+ "DEAL_MOVE_REFUSED",
11
+ "DEDUP_ALREADY_SENT",
12
+ "DUPLICATE",
13
+ "FAILED",
14
+ "GETCOURSE_CHECK_ERROR",
15
+ "MANAGER_ASSIGNED_ACTIVE_DEAL",
16
+ "NO_MESSENGER",
17
+ "OUTCOME_UNKNOWN",
18
+ "PAID_SAME_PRODUCT",
19
+ "PRODUCT_CONTEXT_MISSING",
20
+ "RUN_CANCELLED",
21
+ "RUN_FAILED",
22
+ "SKIPPED_ACTIVE_DEAL",
23
+ "SKIPPED_ACTIVE_EPISODE",
24
+ "SKIPPED_ACTIVE_SERIES",
25
+ "SKIPPED_ALREADY_IN_DIALOG",
26
+ "SKIPPED_ALREADY_SENT_SEGMENT",
27
+ "SKIPPED_ANCHOR_IN_PAST",
28
+ "SKIPPED_BOT_SILENCED",
29
+ "SKIPPED_CONTACT_BANNED",
30
+ "SKIPPED_COOLDOWN",
31
+ "SKIPPED_FOREIGN_WORKSPACE",
32
+ "SKIPPED_GUARD_UNAVAILABLE",
33
+ "SKIPPED_HANDED_TO_OPERATOR",
34
+ "SKIPPED_NOT_GETCOURSE",
35
+ "SKIPPED_NOT_IN_BASE",
36
+ "SKIPPED_NO_ANCHOR",
37
+ "SKIPPED_NO_GETCOURSE_USER",
38
+ "SKIPPED_PLATFORM_CHANGED",
39
+ "SKIPPED_SESSION_AHEAD",
40
+ "SKIPPED_TEXT_TOO_LONG",
41
+ "SKIPPED_UNREACHABLE",
42
+ "SKIPPED_UNRESOLVED_VARS",
43
+ "STATUS_TARGET_UNRESOLVED",
44
+ "UNKNOWN_REASON",
45
+ "USER_NOT_FOUND"
46
+ ];
47
+ //# sourceMappingURL=broadcast-reason.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broadcast-reason.constants.js","sourceRoot":"","sources":["../../../src/shared/constants/broadcast-reason.constants.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,2BAA2B;IAC3B,0BAA0B;IAC1B,6BAA6B;IAC7B,cAAc;IACd,iBAAiB;IACjB,gBAAgB;IAChB,uBAAuB;IACvB,mBAAmB;IACnB,oBAAoB;IACpB,WAAW;IACX,QAAQ;IACR,uBAAuB;IACvB,8BAA8B;IAC9B,cAAc;IACd,iBAAiB;IACjB,mBAAmB;IACnB,yBAAyB;IACzB,eAAe;IACf,YAAY;IACZ,qBAAqB;IACrB,wBAAwB;IACxB,uBAAuB;IACvB,2BAA2B;IAC3B,8BAA8B;IAC9B,wBAAwB;IACxB,sBAAsB;IACtB,wBAAwB;IACxB,kBAAkB;IAClB,2BAA2B;IAC3B,2BAA2B;IAC3B,4BAA4B;IAC5B,uBAAuB;IACvB,qBAAqB;IACrB,mBAAmB;IACnB,2BAA2B;IAC3B,0BAA0B;IAC1B,uBAAuB;IACvB,uBAAuB;IACvB,qBAAqB;IACrB,yBAAyB;IACzB,0BAA0B;IAC1B,gBAAgB;IAChB,gBAAgB;CACR,CAAC"}
@@ -0,0 +1,2 @@
1
+ /** Предел относится к настройке действия; цепочки используют общий бюджет конфигурации API. */
2
+ export declare const CRM_STAGE_ACTION_POOL_MAX_SIZE = 20;
@@ -0,0 +1,3 @@
1
+ /** Предел относится к настройке действия; цепочки используют общий бюджет конфигурации API. */
2
+ export const CRM_STAGE_ACTION_POOL_MAX_SIZE = 20;
3
+ //# sourceMappingURL=crm-stage-pool.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crm-stage-pool.constants.js","sourceRoot":"","sources":["../../../src/shared/constants/crm-stage-pool.constants.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Границы записки совпадают с проверкой цепочки на сервере. */
2
+ export declare const FOLLOWUP_NOTE_MAX_VARIABLES = 10;
3
+ export declare const FOLLOWUP_NOTE_MAX_VALUE_CODE_UNITS = 500;
@@ -0,0 +1,4 @@
1
+ /** Границы записки совпадают с проверкой цепочки на сервере. */
2
+ export const FOLLOWUP_NOTE_MAX_VARIABLES = 10;
3
+ export const FOLLOWUP_NOTE_MAX_VALUE_CODE_UNITS = 500;
4
+ //# sourceMappingURL=followup-note.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"followup-note.constants.js","sourceRoot":"","sources":["../../../src/shared/constants/followup-note.constants.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAC9C,MAAM,CAAC,MAAM,kCAAkC,GAAG,GAAG,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const MAX_CLOCK_DAY_OFFSET = 30;
2
+ export declare const MAX_SESSION_DURATION_MINUTES: number;
@@ -0,0 +1,3 @@
1
+ export const MAX_CLOCK_DAY_OFFSET = 30;
2
+ export const MAX_SESSION_DURATION_MINUTES = 24 * 60;
3
+ //# sourceMappingURL=followup-session.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"followup-session.constants.js","sourceRoot":"","sources":["../../../src/shared/constants/followup-session.constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AACvC,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,GAAG,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ /** Потолок страницы списка совпадает с серверным ограничением. */
2
+ export declare const FUNNEL_DRILLDOWN_PAGE_SIZE_MAX = 200;
@@ -0,0 +1,3 @@
1
+ /** Потолок страницы списка совпадает с серверным ограничением. */
2
+ export const FUNNEL_DRILLDOWN_PAGE_SIZE_MAX = 200;
3
+ //# sourceMappingURL=funnel-analytics.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"funnel-analytics.constants.js","sourceRoot":"","sources":["../../../src/shared/constants/funnel-analytics.constants.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,CAAC"}
@@ -0,0 +1,7 @@
1
+ /** Границы зеркалят серверную схему правил замен исходящего текста. */
2
+ export declare const MESSAGE_FILTER_SOURCE_MAX_LENGTH = 8192;
3
+ export declare const MESSAGE_FILTER_TARGET_MAX_LENGTH = 8192;
4
+ export declare const MESSAGE_FILTER_NONCHARACTER_START = 64976;
5
+ export declare const MESSAGE_FILTER_NONCHARACTER_END = 65007;
6
+ export declare const MESSAGE_FILTER_PLANE_END_MASK = 65535;
7
+ export declare const MESSAGE_FILTER_PLANE_END_FIRST = 65534;
@@ -0,0 +1,8 @@
1
+ /** Границы зеркалят серверную схему правил замен исходящего текста. */
2
+ export const MESSAGE_FILTER_SOURCE_MAX_LENGTH = 8192;
3
+ export const MESSAGE_FILTER_TARGET_MAX_LENGTH = 8192;
4
+ export const MESSAGE_FILTER_NONCHARACTER_START = 0xfdd0;
5
+ export const MESSAGE_FILTER_NONCHARACTER_END = 0xfdef;
6
+ export const MESSAGE_FILTER_PLANE_END_MASK = 0xffff;
7
+ export const MESSAGE_FILTER_PLANE_END_FIRST = 0xfffe;
8
+ //# sourceMappingURL=message-filter.constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-filter.constants.js","sourceRoot":"","sources":["../../../src/shared/constants/message-filter.constants.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,MAAM,CAAC,MAAM,gCAAgC,GAAG,IAAI,CAAC;AACrD,MAAM,CAAC,MAAM,gCAAgC,GAAG,IAAI,CAAC;AACrD,MAAM,CAAC,MAAM,iCAAiC,GAAG,MAAM,CAAC;AACxD,MAAM,CAAC,MAAM,+BAA+B,GAAG,MAAM,CAAC;AACtD,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC;AACpD,MAAM,CAAC,MAAM,8BAA8B,GAAG,MAAM,CAAC"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Перенос настроек повторяемости триггера v1.5 в опцию действия v2.
3
+ *
4
+ * В прежней системе осей ДВЕ, и обе булевы:
5
+ * - `allowRepeatedCalls` — разрешить модели вызвать триггер несколько раз внутри ОДНОГО ответа
6
+ * клиенту (умолчание: запрещено);
7
+ * - `runOncePerContact` — исключить триггер навсегда после первого срабатывания по контакту
8
+ * (умолчание: не исключать).
9
+ *
10
+ * В v2 первая ось не настраивается вовсе — защита от зацикливания внутри одного ответа
11
+ * действует всегда. Настраиваемой осталась вторая, и она сужена до ДИАЛОГА: право возвращается
12
+ * после авто-завершения переписки.
13
+ *
14
+ * Поэтому перенос сводит два флага к одному, сохраняя ВЫРАЖЕННОЕ владельцем намерение:
15
+ * пометил «однократно» — сохраняем однократность; пометил «повтор законен» — сохраняем повтор.
16
+ * Не трогал ни одного — получает умолчание v2, и именно эти триггеры меняют поведение.
17
+ */
18
+ export interface V15TriggerRepeatFlags {
19
+ readonly allowRepeatedCalls: boolean;
20
+ readonly runOncePerContact: boolean;
21
+ }
22
+ export interface RepeatImpact {
23
+ /** Значение `agent_actions.allow_repeat_in_conversation` после переноса. */
24
+ readonly allowRepeatInConversation: boolean;
25
+ /** Изменится ли наблюдаемое поведение относительно прежней системы. */
26
+ readonly behaviourChanges: boolean;
27
+ readonly reason: RepeatImpactReason;
28
+ }
29
+ export type RepeatImpactReason =
30
+ /**
31
+ * Владелец требовал однократности НАВСЕГДА по контакту, а в v2 окно — переписка.
32
+ * Поведение меняется в СТОРОНУ ПОВТОРА: после закрытия диалога тот же контакт получит
33
+ * ещё одно срабатывание. Молчать об этом нельзя — у таких действий побочка обычно
34
+ * необратима (заметка в CRM, заказ), ровно ради них флаг и включали.
35
+ */
36
+ 'ONCE_SCOPE_WIDENED_TO_CONVERSATION'
37
+ /**
38
+ * Владелец явно пометил действие как законно повторяющееся. Повтор МЕЖДУ сообщениями
39
+ * сохранён — но повтор ВНУТРИ одного ответа модели, которым флаг и управлял в прежней
40
+ * системе, в v2 невозможен вовсе и настройкой не возвращается.
41
+ *
42
+ * Поэтому класс тоже меняет поведение и обязан попадать в список владельцу. Прежняя
43
+ * редакция помечала его «поведение не меняется», и владелец не видел единственный класс,
44
+ * у которого пропала именно та ось, которую он настраивал: действие, отвечавшее на один
45
+ * запрос двумя фото, после переноса пришлёт одно.
46
+ */
47
+ | 'REPEAT_PRESERVED_IN_TURN_LOST'
48
+ /** Ни один флаг не выставлен: прежде повтор был свободен, в v2 подавляется умолчанием. */
49
+ | 'DEFAULT_NOW_SUPPRESSES';
50
+ export declare function resolveAllowRepeatInConversation(flags: V15TriggerRepeatFlags): RepeatImpact;
51
+ export interface TriggerRepeatImpactRow extends V15TriggerRepeatFlags {
52
+ readonly triggerId: string;
53
+ readonly triggerName: string;
54
+ readonly agentId: string;
55
+ }
56
+ export interface TriggerRepeatImpactReport {
57
+ readonly total: number;
58
+ /** Триггеры, чьё наблюдаемое поведение изменится — в любую сторону. */
59
+ readonly changing: readonly (TriggerRepeatImpactRow & {
60
+ readonly reason: RepeatImpactReason;
61
+ })[];
62
+ /** Решение по КАЖДОМУ триггеру: список для сверки, а не только выборка изменений. */
63
+ readonly decisions: readonly (TriggerRepeatImpactRow & RepeatImpact)[];
64
+ }
65
+ /**
66
+ * Список для владельца: какие действия поменяют поведение после включения умолчания.
67
+ *
68
+ * Строится по данным прежней системы, а не по журналу v2: в v2 до переноса исполнений нет
69
+ * вовсе, а после включения гейта второе срабатывание уже не состоится — значит по журналу v2
70
+ * такой список не наберётся никогда.
71
+ */
72
+ export declare function describeRepeatImpact(rows: readonly TriggerRepeatImpactRow[]): TriggerRepeatImpactReport;
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Перенос настроек повторяемости триггера v1.5 в опцию действия v2.
3
+ *
4
+ * В прежней системе осей ДВЕ, и обе булевы:
5
+ * - `allowRepeatedCalls` — разрешить модели вызвать триггер несколько раз внутри ОДНОГО ответа
6
+ * клиенту (умолчание: запрещено);
7
+ * - `runOncePerContact` — исключить триггер навсегда после первого срабатывания по контакту
8
+ * (умолчание: не исключать).
9
+ *
10
+ * В v2 первая ось не настраивается вовсе — защита от зацикливания внутри одного ответа
11
+ * действует всегда. Настраиваемой осталась вторая, и она сужена до ДИАЛОГА: право возвращается
12
+ * после авто-завершения переписки.
13
+ *
14
+ * Поэтому перенос сводит два флага к одному, сохраняя ВЫРАЖЕННОЕ владельцем намерение:
15
+ * пометил «однократно» — сохраняем однократность; пометил «повтор законен» — сохраняем повтор.
16
+ * Не трогал ни одного — получает умолчание v2, и именно эти триггеры меняют поведение.
17
+ */
18
+ export function resolveAllowRepeatInConversation(flags) {
19
+ if (flags.runOncePerContact) {
20
+ return {
21
+ allowRepeatInConversation: false,
22
+ behaviourChanges: true,
23
+ reason: 'ONCE_SCOPE_WIDENED_TO_CONVERSATION',
24
+ };
25
+ }
26
+ if (flags.allowRepeatedCalls) {
27
+ return {
28
+ allowRepeatInConversation: true,
29
+ behaviourChanges: true,
30
+ reason: 'REPEAT_PRESERVED_IN_TURN_LOST',
31
+ };
32
+ }
33
+ return {
34
+ allowRepeatInConversation: false,
35
+ behaviourChanges: true,
36
+ reason: 'DEFAULT_NOW_SUPPRESSES',
37
+ };
38
+ }
39
+ /**
40
+ * Список для владельца: какие действия поменяют поведение после включения умолчания.
41
+ *
42
+ * Строится по данным прежней системы, а не по журналу v2: в v2 до переноса исполнений нет
43
+ * вовсе, а после включения гейта второе срабатывание уже не состоится — значит по журналу v2
44
+ * такой список не наберётся никогда.
45
+ */
46
+ export function describeRepeatImpact(rows) {
47
+ const decisions = rows.map((row) => ({ ...row, ...resolveAllowRepeatInConversation(row) }));
48
+ const changing = decisions
49
+ .filter((decision) => decision.behaviourChanges)
50
+ .map(({ behaviourChanges: _ignored, allowRepeatInConversation: _also, ...rest }) => rest);
51
+ return { total: rows.length, changing, decisions };
52
+ }
53
+ //# sourceMappingURL=trigger-repeat-mapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger-repeat-mapping.js","sourceRoot":"","sources":["../../../src/shared/utils/trigger-repeat-mapping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAqCH,MAAM,UAAU,gCAAgC,CAAC,KAA4B;IAC3E,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC5B,OAAO;YACL,yBAAyB,EAAE,KAAK;YAChC,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,oCAAoC;SAC7C,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC7B,OAAO;YACL,yBAAyB,EAAE,IAAI;YAC/B,gBAAgB,EAAE,IAAI;YACtB,MAAM,EAAE,+BAA+B;SACxC,CAAC;IACJ,CAAC;IACD,OAAO;QACL,yBAAyB,EAAE,KAAK;QAChC,gBAAgB,EAAE,IAAI;QACtB,MAAM,EAAE,wBAAwB;KACjC,CAAC;AACJ,CAAC;AAgBD;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAuC;IAEvC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,gCAAgC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5F,MAAM,QAAQ,GAAG,SAAS;SACvB,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;SAC/C,GAAG,CAAC,CAAC,EAAE,gBAAgB,EAAE,QAAQ,EAAE,yBAAyB,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAC5F,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACrD,CAAC"}
@@ -1,37 +1,48 @@
1
1
  ---
2
2
  name: besales-dialogue-audit
3
- description: Read-only аудит production-переписок BeSales через MCP, включая поиск ошибочно созданных GetCourse-заявок по фактам trigger-actions. Используй, когда просят проанализировать массив диалогов, найти плохие ответы агента, ложные заявки, обращения действующих учеников или подготовить regression-кейсы.
3
+ description: Read-only аудит production-переписок BeSales через MCP, включая поиск ошибочно созданных GetCourse-заявок по фактам исполнения действий. Используй, когда просят проанализировать массив диалогов, найти плохие ответы агента, ложные заявки, обращения действующих учеников или подготовить regression-кейсы.
4
4
  ---
5
5
 
6
6
  # BeSales Dialogue Audit
7
7
 
8
- Используй только `besales_dialogues_query` и `besales_dialogue_transcript`. Не подключайся
9
- к PostgreSQL напрямую и не вызывай mutation-tools.
8
+ Для сырого read-only аудита используй `besales_dialogues_query` и
9
+ `besales_dialogue_transcript`. Не подключайся к PostgreSQL напрямую и не вызывай mutation-tools
10
+ в этом режиме.
10
11
 
11
- > ⚠️ Это НЕ «Ревизор диалогов». Здесь ты разбираешь СЫРЫЕ переписки сам. Ревизор — отдельный
12
- > ночной прогон платформы: он судит по развёрнутому промпту агента, принципам и журналу действий,
13
- > ставит якоря на конкретные реплики и накапливает разметку человека. Нужны его находки (например,
14
- > чтобы починить промпт) — это другие инструменты: `besales_dialogue_audit_runs_list` →
15
- > `besales_dialogue_audit_findings`. Путать их нельзя: материал и выводы разные.
12
+ ## Выбор материала
16
13
 
17
- > ⭐ Если задача — «разобрать работу агента и починить промпт», а не «найти ложные заявки»,
18
- > у ревизора с 17.08.2026 есть ВНЕШНИЙ режим, и материал в нём строго богаче сырой выгрузки:
19
- > `besales_dialogue_audit_segments_get` отдаёт реконструированный промпт агента, механический линт
20
- > и транскрипт с ПОЛНЫМИ результатами обращений в 1С/CRM (публичная выгрузка отдаёт только
21
- > `{dealId, dealNumber, skipped}`), с якорями `msg=` и с пометками «НЕ судить» на репликах чужих
22
- > агентов. Разбираешь своей моделью, возвращаешь через `besales_dialogue_audit_import` — находки
23
- > ложатся в отчёт ревизора с водяными знаками и дедупом. Цикл замкнутый: выдача → разбор → импорт.
14
+ Сырой аудит ниже и «Ревизор диалогов» — разные задачи. Сырые переписки ты разбираешь сам;
15
+ готовые находки ревизора читаются через `besales_dialogue_audit_runs_list` →
16
+ `besales_dialogue_audit_findings`. Ревизор учитывает инструкцию агента, правила и журнал действий,
17
+ привязывает находки к репликам и сохраняет человеческую разметку. Не подменяй один отчёт другим.
18
+
19
+ Для разбора качества агента доступен внешний режим: `besales_dialogue_audit_segments_get`
20
+ по `platform_id` отдаёт роль проверяющего, правила речи, инструкцию агента, правила заказчика и
21
+ отрезки с якорями `[msg=N]`. Судить нужно по выданному материалу; реплики `[не судить]` агенту
22
+ не вменяй. Полных результатов 1С/CRM и механического линта эта выдача не обещает.
23
+
24
+ Разбери материал своей моделью. Если задача включает сохранение отчёта ревизора, после
25
+ подтверждения пользователя вызови `besales_dialogue_audit_import`: передай `tickets` всех
26
+ разобранных отрезков, включая чистые, и находки с якорем в `primary_message_id`. Импорт пишет
27
+ отчёт и двигает отметку разобранного; без него повторная выдача возвращает ту же страницу.
28
+ Сервер проверяет подпись тикета, материал и якорь. На канале с обезличиванием выдача отвечает 409:
29
+ не отключай защиту ради аудита. Не пересылай материал и не сохраняй его без явной просьбы.
30
+
31
+ ## Сырой read-only аудит
24
32
 
25
33
  1. Прочитай MCP resource `besales://workflows/audit-dialogues` и следуй ему как source of truth.
26
34
  2. Если период не задан, возьми последние 7 суток и явно зафиксируй допущение.
27
- 3. Для точного аудита новых заявок фильтруй `GETCOURSE_CREATE_DEAL` через
28
- `action_type` + `action_success=true` + `action_execution_mode=production`.
35
+ 3. Для аудита новых заявок фильтруй `action_type=["GETCOURSE_CREATE_DEAL"]` +
36
+ `action_execution_mode=production` без `action_success` и считай исходы шагов по транскрипту:
37
+ `action_success=true` отсекает провалы и неизвестные исходы, которым нужен `REVIEW`.
29
38
  `GETCOURSE_SEND_PAYMENT_LINK` проверяй отдельной выборкой как коммерческий side effect:
30
39
  он может обновлять существующий заказ и не доказывает создание новой заявки.
31
40
  4. Обязательно обойди cursor-пагинацию манифеста и каждого транскрипта.
32
- 5. Связывай реплики и действия по `messageId`; не угадывай факт создания заявки только по тексту.
33
- 6. Учитывай только `executionMode=production`. `resultSummary.skipped=true` означает, что
34
- новая заявка не создавалась.
41
+ 5. Связывай реплики и действия по `triggerMessageId` / `responseMessageId` исполнения; не угадывай
42
+ факт создания заявки только по тексту.
43
+ 6. Заявка — шаг `GETCOURSE_CREATE_DEAL` со `status=OK` без `outcomeUnknown`. `status=SKIPPED`
44
+ означает, что новая заявка не создавалась; шаг с `outcomeUnknown=true` — `REVIEW`; у брошенного
45
+ исполнения (`abandoned=true`) неизвестен только незавершённый шаг.
35
46
  7. Классифицируй подтверждённые действия как `JUSTIFIED`, `FALSE_POSITIVE` или `REVIEW` и
36
47
  подкрепляй решение короткими цитатами клиента с timestamp/messageId.
37
48
  8. Не меняй промпт, триггеры или платформу. В конце дай конкретные предложения и
@@ -1,3 +1,4 @@
1
+ import { containsSetupPageAddress } from '../utils/setup-secrets.js';
1
2
  import { randomUUID } from 'node:crypto';
2
3
  import { mkdir, open, readFile, rename, rm, stat } from 'node:fs/promises';
3
4
  import { homedir } from 'node:os';
@@ -26,6 +27,8 @@ export class TaskStateStore {
26
27
  this.now = options.now ?? (() => new Date());
27
28
  }
28
29
  async create(workspaceId, payload, retentionDays = DEFAULT_RETENTION_DAYS) {
30
+ if (containsSetupPageAddress(payload))
31
+ throw new Error('Task state refuses setup page addresses. Keep only the reference for polling.');
29
32
  if (retentionDays < 1 || retentionDays > MAX_RETENTION_DAYS) {
30
33
  throw new Error(`retention_days must be between 1 and ${MAX_RETENTION_DAYS}.`);
31
34
  }
@@ -62,6 +65,8 @@ export class TaskStateStore {
62
65
  return this.view(task);
63
66
  }
64
67
  async update(workspaceId, taskId, expectedVersion, patch) {
68
+ if (containsSetupPageAddress(patch))
69
+ throw new Error('Task state refuses setup page addresses. Keep only the reference for polling.');
65
70
  return this.withLock(async () => {
66
71
  const document = await this.readDocument();
67
72
  const index = this.requireIndex(document, workspaceId, taskId);