@besales/mcp 0.48.0 → 1.0.0-beta.2

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 (587) hide show
  1. package/README.md +109 -164
  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 +52 -7
  23. package/dist/http/api-client.js +131 -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 +8 -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 +106 -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 +9902 -4734
  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 +78 -21
  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 +28 -41
  158. package/dist/tools/definitions/crm-platform.js +235 -368
  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/edit-version-transport.test-fixtures.d.ts +13 -0
  197. package/dist/tools/definitions/edit-version-transport.test-fixtures.js +292 -0
  198. package/dist/tools/definitions/edit-version-transport.test-fixtures.js.map +1 -0
  199. package/dist/tools/definitions/edit-version.d.ts +5 -0
  200. package/dist/tools/definitions/edit-version.js +20 -0
  201. package/dist/tools/definitions/edit-version.js.map +1 -0
  202. package/dist/tools/definitions/external-api-channels.js +17 -15
  203. package/dist/tools/definitions/external-api-channels.js.map +1 -1
  204. package/dist/tools/definitions/feedback-document-access.d.ts +16 -0
  205. package/dist/tools/definitions/feedback-document-access.js +63 -0
  206. package/dist/tools/definitions/feedback-document-access.js.map +1 -0
  207. package/dist/tools/definitions/fixtures/shipped-setup-status.d.ts +3 -0
  208. package/dist/tools/definitions/fixtures/shipped-setup-status.js +9 -0
  209. package/dist/tools/definitions/fixtures/shipped-setup-status.js.map +1 -0
  210. package/dist/tools/definitions/follow-up-config.d.ts +79 -0
  211. package/dist/tools/definitions/follow-up-config.js +258 -0
  212. package/dist/tools/definitions/follow-up-config.js.map +1 -0
  213. package/dist/tools/definitions/follow-up-funnel-test.d.ts +4 -3
  214. package/dist/tools/definitions/follow-up-funnel-test.js +65 -52
  215. package/dist/tools/definitions/follow-up-funnel-test.js.map +1 -1
  216. package/dist/tools/definitions/follow-up-promotion-instructions.d.ts +2 -0
  217. package/dist/tools/definitions/follow-up-promotion-instructions.js +7 -0
  218. package/dist/tools/definitions/follow-up-promotion-instructions.js.map +1 -0
  219. package/dist/tools/definitions/follow-up-setup.d.ts +4 -28
  220. package/dist/tools/definitions/follow-up-setup.js +20 -87
  221. package/dist/tools/definitions/follow-up-setup.js.map +1 -1
  222. package/dist/tools/definitions/follow-up.d.ts +20 -122
  223. package/dist/tools/definitions/follow-up.js +200 -357
  224. package/dist/tools/definitions/follow-up.js.map +1 -1
  225. package/dist/tools/definitions/followup-getcourse-compat.d.ts +29 -0
  226. package/dist/tools/definitions/followup-getcourse-compat.js +62 -0
  227. package/dist/tools/definitions/followup-getcourse-compat.js.map +1 -0
  228. package/dist/tools/definitions/followup-sequence-config.schema.d.ts +10 -0
  229. package/dist/tools/definitions/followup-sequence-config.schema.js +14 -0
  230. package/dist/tools/definitions/followup-sequence-config.schema.js.map +1 -0
  231. package/dist/tools/definitions/funnel-analytics.d.ts +18 -0
  232. package/dist/tools/definitions/funnel-analytics.js +150 -0
  233. package/dist/tools/definitions/funnel-analytics.js.map +1 -0
  234. package/dist/tools/definitions/getcourse-anchor-refresh.d.ts +5 -9
  235. package/dist/tools/definitions/getcourse-anchor-refresh.js +26 -31
  236. package/dist/tools/definitions/getcourse-anchor-refresh.js.map +1 -1
  237. package/dist/tools/definitions/getcourse-cold-outbound-settings.d.ts +46 -0
  238. package/dist/tools/definitions/getcourse-cold-outbound-settings.js +37 -0
  239. package/dist/tools/definitions/getcourse-cold-outbound-settings.js.map +1 -0
  240. package/dist/tools/definitions/getcourse-cold-welcome.d.ts +14 -29
  241. package/dist/tools/definitions/getcourse-cold-welcome.js +180 -254
  242. package/dist/tools/definitions/getcourse-cold-welcome.js.map +1 -1
  243. package/dist/tools/definitions/getcourse-wave-welcome.messages.d.ts +10 -0
  244. package/dist/tools/definitions/getcourse-wave-welcome.messages.js +17 -0
  245. package/dist/tools/definitions/getcourse-wave-welcome.messages.js.map +1 -0
  246. package/dist/tools/definitions/help.js.map +1 -1
  247. package/dist/tools/definitions/icp-import-source.d.ts +75 -0
  248. package/dist/tools/definitions/icp-import-source.js +88 -0
  249. package/dist/tools/definitions/icp-import-source.js.map +1 -0
  250. package/dist/tools/definitions/inbound-analytics.d.ts +13 -0
  251. package/dist/tools/definitions/inbound-analytics.js +55 -0
  252. package/dist/tools/definitions/inbound-analytics.js.map +1 -0
  253. package/dist/tools/definitions/instagram-comment.templates.d.ts +19 -0
  254. package/dist/tools/definitions/instagram-comment.templates.js +34 -0
  255. package/dist/tools/definitions/instagram-comment.templates.js.map +1 -0
  256. package/dist/tools/definitions/instagram-settings-compat.d.ts +33 -0
  257. package/dist/tools/definitions/instagram-settings-compat.js +7 -0
  258. package/dist/tools/definitions/instagram-settings-compat.js.map +1 -0
  259. package/dist/tools/definitions/knowledge-chunking.d.ts +42 -0
  260. package/dist/tools/definitions/knowledge-chunking.js +83 -0
  261. package/dist/tools/definitions/knowledge-chunking.js.map +1 -0
  262. package/dist/tools/definitions/knowledge-space-search-fields.d.ts +12 -0
  263. package/dist/tools/definitions/knowledge-space-search-fields.js +30 -0
  264. package/dist/tools/definitions/knowledge-space-search-fields.js.map +1 -0
  265. package/dist/tools/definitions/knowledge.d.ts +24 -14
  266. package/dist/tools/definitions/knowledge.js +342 -233
  267. package/dist/tools/definitions/knowledge.js.map +1 -1
  268. package/dist/tools/definitions/legacy-trigger-repeat.d.ts +17 -0
  269. package/dist/tools/definitions/legacy-trigger-repeat.js +53 -0
  270. package/dist/tools/definitions/legacy-trigger-repeat.js.map +1 -0
  271. package/dist/tools/definitions/link-tracking.d.ts +8 -0
  272. package/dist/tools/definitions/link-tracking.js +141 -38
  273. package/dist/tools/definitions/link-tracking.js.map +1 -1
  274. package/dist/tools/definitions/mailing-variant-content.d.ts +75 -0
  275. package/dist/tools/definitions/mailing-variant-content.js +73 -0
  276. package/dist/tools/definitions/mailing-variant-content.js.map +1 -0
  277. package/dist/tools/definitions/model-comparison.d.ts +1 -0
  278. package/dist/tools/definitions/model-comparison.js +4 -5
  279. package/dist/tools/definitions/model-comparison.js.map +1 -1
  280. package/dist/tools/definitions/money-currency.d.ts +5 -0
  281. package/dist/tools/definitions/money-currency.js +10 -0
  282. package/dist/tools/definitions/money-currency.js.map +1 -0
  283. package/dist/tools/definitions/operator-workflow.d.ts +5 -5
  284. package/dist/tools/definitions/operator-workflow.js +80 -27
  285. package/dist/tools/definitions/operator-workflow.js.map +1 -1
  286. package/dist/tools/definitions/platform-funnel-analytics.d.ts +42 -0
  287. package/dist/tools/definitions/platform-funnel-analytics.js +72 -0
  288. package/dist/tools/definitions/platform-funnel-analytics.js.map +1 -0
  289. package/dist/tools/definitions/platform-getcourse-wave-field-bindings.d.ts +42 -0
  290. package/dist/tools/definitions/platform-getcourse-wave-field-bindings.js +51 -0
  291. package/dist/tools/definitions/platform-getcourse-wave-field-bindings.js.map +1 -0
  292. package/dist/tools/definitions/platform-settings-limits.d.ts +5 -0
  293. package/dist/tools/definitions/platform-settings-limits.js +6 -0
  294. package/dist/tools/definitions/platform-settings-limits.js.map +1 -0
  295. package/dist/tools/definitions/platform-settings-shipped-form.d.ts +37 -0
  296. package/dist/tools/definitions/platform-settings-shipped-form.js +310 -0
  297. package/dist/tools/definitions/platform-settings-shipped-form.js.map +1 -0
  298. package/dist/tools/definitions/platform-settings-update.d.ts +300 -0
  299. package/dist/tools/definitions/platform-settings-update.js +134 -0
  300. package/dist/tools/definitions/platform-settings-update.js.map +1 -0
  301. package/dist/tools/definitions/{getcourse-wave.d.ts → platform-setup-wave.d.ts} +75 -6
  302. package/dist/tools/definitions/platform-setup-wave.js +1079 -0
  303. package/dist/tools/definitions/platform-setup-wave.js.map +1 -0
  304. package/dist/tools/definitions/platform-setup.d.ts +686 -224
  305. package/dist/tools/definitions/platform-setup.js +313 -752
  306. package/dist/tools/definitions/platform-setup.js.map +1 -1
  307. package/dist/tools/definitions/platform-widget-page-rules.schema.d.ts +10 -0
  308. package/dist/tools/definitions/platform-widget-page-rules.schema.js +7 -0
  309. package/dist/tools/definitions/platform-widget-page-rules.schema.js.map +1 -0
  310. package/dist/tools/definitions/prompt-authoring.constants.d.ts +2 -0
  311. package/dist/tools/definitions/prompt-authoring.constants.js +3 -0
  312. package/dist/tools/definitions/prompt-authoring.constants.js.map +1 -0
  313. package/dist/tools/definitions/prompt-batch-controls.d.ts +5 -0
  314. package/dist/tools/definitions/prompt-batch-controls.js +40 -0
  315. package/dist/tools/definitions/prompt-batch-controls.js.map +1 -0
  316. package/dist/tools/definitions/prompt-draft-authoring.d.ts +5 -0
  317. package/dist/tools/definitions/prompt-draft-authoring.js +24 -0
  318. package/dist/tools/definitions/prompt-draft-authoring.js.map +1 -0
  319. package/dist/tools/definitions/prompt-text-projection.d.ts +11 -0
  320. package/dist/tools/definitions/prompt-text-projection.js +62 -0
  321. package/dist/tools/definitions/prompt-text-projection.js.map +1 -0
  322. package/dist/tools/definitions/reviewer-paid.d.ts +19 -0
  323. package/dist/tools/definitions/reviewer-paid.js +115 -0
  324. package/dist/tools/definitions/reviewer-paid.js.map +1 -0
  325. package/dist/tools/definitions/routing-condition-projection.d.ts +31 -0
  326. package/dist/tools/definitions/routing-condition-projection.js +97 -0
  327. package/dist/tools/definitions/routing-condition-projection.js.map +1 -0
  328. package/dist/tools/definitions/schedule-selection-hints.d.ts +3 -0
  329. package/dist/tools/definitions/schedule-selection-hints.js +42 -0
  330. package/dist/tools/definitions/schedule-selection-hints.js.map +1 -0
  331. package/dist/tools/definitions/{scheduled-tasks.d.ts → scheduled-task-alias.d.ts} +12 -10
  332. package/dist/tools/definitions/scheduled-task-alias.js +207 -0
  333. package/dist/tools/definitions/scheduled-task-alias.js.map +1 -0
  334. package/dist/tools/definitions/session.js +3 -3
  335. package/dist/tools/definitions/session.js.map +1 -1
  336. package/dist/tools/definitions/setup-init-operation.schema.d.ts +2 -0
  337. package/dist/tools/definitions/setup-init-operation.schema.js +6 -0
  338. package/dist/tools/definitions/setup-init-operation.schema.js.map +1 -0
  339. package/dist/tools/definitions/shared-input.helpers.d.ts +51 -0
  340. package/dist/tools/definitions/shared-input.helpers.js +323 -0
  341. package/dist/tools/definitions/shared-input.helpers.js.map +1 -0
  342. package/dist/tools/definitions/shared.d.ts +396 -307
  343. package/dist/tools/definitions/shared.js +430 -652
  344. package/dist/tools/definitions/shared.js.map +1 -1
  345. package/dist/tools/definitions/shipped-output-names.d.ts +19 -0
  346. package/dist/tools/definitions/shipped-output-names.js +123 -0
  347. package/dist/tools/definitions/shipped-output-names.js.map +1 -0
  348. package/dist/tools/definitions/task-state.d.ts +5 -5
  349. package/dist/tools/definitions/task-state.js +2 -1
  350. package/dist/tools/definitions/task-state.js.map +1 -1
  351. package/dist/tools/definitions/telegram-personal-capacity.d.ts +4 -0
  352. package/dist/tools/definitions/telegram-personal-capacity.js +18 -0
  353. package/dist/tools/definitions/telegram-personal-capacity.js.map +1 -0
  354. package/dist/tools/definitions/telegram-pool-policy.d.ts +8 -0
  355. package/dist/tools/definitions/telegram-pool-policy.js +56 -0
  356. package/dist/tools/definitions/telegram-pool-policy.js.map +1 -0
  357. package/dist/tools/definitions/touch-history-alias.d.ts +4 -0
  358. package/dist/tools/definitions/touch-history-alias.js +99 -0
  359. package/dist/tools/definitions/touch-history-alias.js.map +1 -0
  360. package/dist/tools/definitions/trigger-action-item.schema.d.ts +254 -0
  361. package/dist/tools/definitions/trigger-action-item.schema.js +121 -0
  362. package/dist/tools/definitions/trigger-action-item.schema.js.map +1 -0
  363. package/dist/tools/definitions/trigger-argument.schema.d.ts +14 -0
  364. package/dist/tools/definitions/trigger-argument.schema.js +23 -0
  365. package/dist/tools/definitions/trigger-argument.schema.js.map +1 -0
  366. package/dist/tools/definitions/trigger-claim-alias.d.ts +10 -0
  367. package/dist/tools/definitions/trigger-claim-alias.js +90 -0
  368. package/dist/tools/definitions/trigger-claim-alias.js.map +1 -0
  369. package/dist/tools/definitions/trigger-echo-projection.d.ts +1 -0
  370. package/dist/tools/definitions/trigger-echo-projection.js +41 -0
  371. package/dist/tools/definitions/trigger-echo-projection.js.map +1 -0
  372. package/dist/tools/definitions/trigger-upsert.tool.d.ts +29 -0
  373. package/dist/tools/definitions/trigger-upsert.tool.js +122 -0
  374. package/dist/tools/definitions/trigger-upsert.tool.js.map +1 -0
  375. package/dist/tools/definitions/v15-port-descriptions.d.ts +11 -0
  376. package/dist/tools/definitions/v15-port-descriptions.js +30 -0
  377. package/dist/tools/definitions/v15-port-descriptions.js.map +1 -0
  378. package/dist/tools/definitions/variables.d.ts +44 -0
  379. package/dist/tools/definitions/variables.js +310 -0
  380. package/dist/tools/definitions/variables.js.map +1 -0
  381. package/dist/tools/definitions/voice-action-input.d.ts +9 -0
  382. package/dist/tools/definitions/voice-action-input.js +141 -0
  383. package/dist/tools/definitions/voice-action-input.js.map +1 -0
  384. package/dist/tools/definitions/widget-customization-compat.d.ts +51 -0
  385. package/dist/tools/definitions/widget-customization-compat.js +23 -0
  386. package/dist/tools/definitions/widget-customization-compat.js.map +1 -0
  387. package/dist/tools/definitions.d.ts +1089 -636
  388. package/dist/tools/definitions.js +57 -27
  389. package/dist/tools/definitions.js.map +1 -1
  390. package/dist/tools/description-localization.js +3 -2
  391. package/dist/tools/description-localization.js.map +1 -1
  392. package/dist/tools/follow-up-request.d.ts +19 -0
  393. package/dist/tools/follow-up-request.js +81 -0
  394. package/dist/tools/follow-up-request.js.map +1 -0
  395. package/dist/tools/followup-revision.d.ts +4 -0
  396. package/dist/tools/followup-revision.js +29 -0
  397. package/dist/tools/followup-revision.js.map +1 -0
  398. package/dist/tools/incomplete-list.js +4 -0
  399. package/dist/tools/incomplete-list.js.map +1 -1
  400. package/dist/tools/inventory.js +47 -11
  401. package/dist/tools/inventory.js.map +1 -1
  402. package/dist/tools/operation-recovery.d.ts +4 -0
  403. package/dist/tools/operation-recovery.js +33 -0
  404. package/dist/tools/operation-recovery.js.map +1 -0
  405. package/dist/tools/registry-mapping-primary.cases.d.ts +2 -0
  406. package/dist/tools/registry-mapping-primary.cases.js +753 -0
  407. package/dist/tools/registry-mapping-primary.cases.js.map +1 -0
  408. package/dist/tools/registry-mapping-secondary.cases.d.ts +2 -0
  409. package/dist/tools/registry-mapping-secondary.cases.js +626 -0
  410. package/dist/tools/registry-mapping-secondary.cases.js.map +1 -0
  411. package/dist/tools/registry-mapping.cases.d.ts +8 -0
  412. package/dist/tools/registry-mapping.cases.js +13 -0
  413. package/dist/tools/registry-mapping.cases.js.map +1 -0
  414. package/dist/tools/registry-test-fixtures.d.ts +50 -0
  415. package/dist/tools/registry-test-fixtures.js +120 -0
  416. package/dist/tools/registry-test-fixtures.js.map +1 -0
  417. package/dist/tools/registry.d.ts +2 -0
  418. package/dist/tools/registry.js +82 -52
  419. package/dist/tools/registry.js.map +1 -1
  420. package/dist/tools/result.d.ts +1 -0
  421. package/dist/tools/result.js +90 -22
  422. package/dist/tools/result.js.map +1 -1
  423. package/dist/tools/toolsets.d.ts +16 -0
  424. package/dist/tools/toolsets.js +25 -1
  425. package/dist/tools/toolsets.js.map +1 -1
  426. package/dist/types/api-contract.gen.d.ts +105875 -22205
  427. package/dist/utils/credential-signatures.d.ts +3 -0
  428. package/dist/utils/credential-signatures.js +10 -0
  429. package/dist/utils/credential-signatures.js.map +1 -0
  430. package/dist/utils/data-source-column-name.d.ts +10 -0
  431. package/dist/utils/data-source-column-name.js +36 -0
  432. package/dist/utils/data-source-column-name.js.map +1 -0
  433. package/dist/utils/logger.d.ts +1 -0
  434. package/dist/utils/logger.js +32 -8
  435. package/dist/utils/logger.js.map +1 -1
  436. package/dist/utils/secret-read-boundary.d.ts +2 -0
  437. package/dist/utils/secret-read-boundary.js +88 -0
  438. package/dist/utils/secret-read-boundary.js.map +1 -0
  439. package/dist/utils/setup-secrets.d.ts +4 -0
  440. package/dist/utils/setup-secrets.js +40 -0
  441. package/dist/utils/setup-secrets.js.map +1 -0
  442. package/docs/agent-models.md +9 -0
  443. package/docs/agent-usage-guide.full.ru.md +1 -4
  444. package/docs/analytics-contract.md +67 -0
  445. package/docs/async-operation-lifecycle.md +10 -3
  446. package/docs/connect.ru.md +144 -4
  447. package/docs/contact-company-profile.md +17 -0
  448. package/docs/contact-recommendations.md +7 -0
  449. package/docs/crm-stage-pool.md +73 -0
  450. package/docs/customer-data.md +61 -0
  451. package/docs/edit-versions.md +36 -0
  452. package/docs/failure-semantics.md +17 -9
  453. package/docs/help-navigation.md +15 -42
  454. package/docs/host-compatibility-matrix.md +72 -93
  455. package/docs/host-setup.md +33 -35
  456. package/docs/invariants/public-api-and-contracts.md +16 -0
  457. package/docs/legacy-action-settings.md +21 -0
  458. package/docs/main-transfer-dependencies.md +38 -0
  459. package/docs/mcp2-parity.md +50 -0
  460. package/docs/modules/analytics.md +79 -0
  461. package/docs/modules/besales-mcp.md +137 -0
  462. package/docs/modules/dialog-review-report.md +38 -0
  463. package/docs/modules/dialogue-followup-adapters.md +39 -0
  464. package/docs/modules/message-reactions.md +17 -0
  465. package/docs/modules/network-mode.md +284 -0
  466. package/docs/modules/prompt-batch-and-dialogue-controls.md +69 -0
  467. package/docs/pii-policy.md +21 -16
  468. package/docs/response-size-budget.md +197 -7
  469. package/docs/secret-read-boundary.md +102 -0
  470. package/docs/task-state.md +7 -2
  471. package/docs/telegram-pool-policy.md +19 -0
  472. package/docs/tool-effects.md +15 -9
  473. package/docs/tool-surface.md +205 -4
  474. package/docs/voice-actions-and-inbox.md +95 -0
  475. package/docs/wazzup-instagram-comments.md +26 -0
  476. package/package.json +17 -10
  477. package/scripts/api-source-loader.spec.mjs +40 -0
  478. package/scripts/audit-bridge-controls.mjs +129 -0
  479. package/scripts/audit-revert-mutants.mjs +107 -0
  480. package/scripts/bridge-api-input.spec.mjs +98 -0
  481. package/scripts/bridge-controls-mutants.mjs +130 -0
  482. package/scripts/brx3-shipped-refusals.spec.mjs +149 -0
  483. package/scripts/brx4-ledger-payload.spec.mjs +127 -0
  484. package/scripts/build-onprem.mjs +108 -0
  485. package/scripts/connect-clients.sh +141 -0
  486. package/scripts/connect-scopes.mjs +166 -0
  487. package/scripts/connect-scopes.spec.mjs +83 -0
  488. package/scripts/emit-personal-link-carrier.mjs +31 -0
  489. package/scripts/emit-setup-init-schemas.mjs +24 -0
  490. package/scripts/emit-tool-routes.mjs +878 -0
  491. package/scripts/emit-tool-routes.spec.mjs +300 -0
  492. package/scripts/followup-registry.spec.mjs +107 -0
  493. package/scripts/generate-crm-rotation-contract.mjs +98 -0
  494. package/scripts/generate-followup-session-contract.mjs +16 -0
  495. package/scripts/icp-import-verification/mutate.cjs +70 -0
  496. package/scripts/import-secret-read-contract.mjs +53 -0
  497. package/scripts/install-claude-desktop.js +1 -1
  498. package/scripts/lag-decisions.mjs +37 -0
  499. package/scripts/lag-decisions.spec.mjs +87 -0
  500. package/scripts/lag-open-task-owners.mjs +46 -0
  501. package/scripts/lag-open-task-owners.spec.mjs +78 -0
  502. package/scripts/lag-payload.mjs +10 -0
  503. package/scripts/legacy-action-lag.spec.mjs +22 -0
  504. package/scripts/legacy-field-refusal.shipped.spec.mjs +99 -0
  505. package/scripts/mcpcompat-handler.mjs +34 -0
  506. package/scripts/mcpcompat-loader.mjs +36 -0
  507. package/scripts/mcpcompat-typescript.mjs +3 -0
  508. package/scripts/platform-settings-shipped-parity.spec.mjs +89 -0
  509. package/scripts/prbr-round1-recheck.spec.mjs +605 -0
  510. package/scripts/prbr-shipped-compatibility.spec.mjs +276 -0
  511. package/scripts/publish-mcp-registry.mjs +98 -0
  512. package/scripts/publish-mcp-registry.spec.mjs +68 -0
  513. package/scripts/record-scheduled-task-call.mjs +26 -0
  514. package/scripts/refusal-probe.mjs +17 -0
  515. package/scripts/refusal-probe.spec.mjs +29 -0
  516. package/scripts/registry-diff.mjs +502 -0
  517. package/scripts/registry-diff.spec.mjs +787 -0
  518. package/scripts/request-query.mjs +43 -0
  519. package/scripts/request-query.spec.mjs +82 -0
  520. package/scripts/route-lag.mjs +23 -0
  521. package/scripts/route-lag.spec.mjs +30 -0
  522. package/scripts/sample-args.mjs +174 -0
  523. package/scripts/sample-args.spec.mjs +160 -0
  524. package/scripts/shipped-definitions.mjs +197 -0
  525. package/scripts/shipped-definitions.spec.mjs +57 -0
  526. package/scripts/shipped-inputs.spec.mjs +136 -0
  527. package/scripts/shipped-recordings.spec.mjs +19 -0
  528. package/scripts/shipped-ref.d.mts +5 -0
  529. package/scripts/shipped-ref.mjs +20 -0
  530. package/scripts/shipped-ref.spec.mjs +59 -0
  531. package/scripts/shipped-registry.mjs +107 -0
  532. package/scripts/shipped-sample-candidates.mjs +69 -0
  533. package/scripts/shipped-sample-candidates.spec.mjs +117 -0
  534. package/scripts/shipped-sample.mjs +868 -0
  535. package/scripts/shipped-sample.spec.mjs +451 -0
  536. package/scripts/sync-agent-model-schemas.mjs +72 -0
  537. package/scripts/sync-api-contracts.mjs +85 -0
  538. package/scripts/sync-api-contracts.spec.mjs +144 -0
  539. package/scripts/sync-contract-ledger-schemas.mjs +161 -0
  540. package/scripts/sync-crm-stage-pool-schema.mjs +85 -0
  541. package/scripts/sync-prompt-draft-schema.mjs +92 -0
  542. package/scripts/sync-route-map.mjs +94 -0
  543. package/scripts/sync-schema-descriptions.mjs +25 -0
  544. package/scripts/sync-tool-inventory.mjs +27 -0
  545. package/scripts/sync-trigger-argument-schema.mjs +121 -0
  546. package/scripts/sync-trigger-repeat-mapping.mjs +12 -0
  547. package/scripts/sync-voice-actions-contract.mjs +67 -0
  548. package/scripts/sync-voice-actions-tools.mjs +97 -0
  549. package/scripts/sync-wave-id-schemas.mjs +55 -0
  550. package/scripts/tool-input-schemas.mjs +46 -0
  551. package/scripts/tool-input-schemas.spec.mjs +50 -0
  552. package/scripts/verify-followup-adapters.mjs +235 -0
  553. package/scripts/verify-secret-read-import.mjs +84 -0
  554. package/scripts/verify-secret-read-mutants.mjs +143 -0
  555. package/dist/tools/definitions/analytics.d.ts +0 -40
  556. package/dist/tools/definitions/analytics.js +0 -233
  557. package/dist/tools/definitions/analytics.js.map +0 -1
  558. package/dist/tools/definitions/broadcast-mailing-variants.d.ts +0 -41
  559. package/dist/tools/definitions/broadcast-mailing-variants.js +0 -194
  560. package/dist/tools/definitions/broadcast-mailing-variants.js.map +0 -1
  561. package/dist/tools/definitions/dialogue-audit.d.ts +0 -38
  562. package/dist/tools/definitions/dialogue-audit.js +0 -292
  563. package/dist/tools/definitions/dialogue-audit.js.map +0 -1
  564. package/dist/tools/definitions/getcourse-wave.js +0 -519
  565. package/dist/tools/definitions/getcourse-wave.js.map +0 -1
  566. package/dist/tools/definitions/operational-overview.d.ts +0 -3
  567. package/dist/tools/definitions/operational-overview.js +0 -23
  568. package/dist/tools/definitions/operational-overview.js.map +0 -1
  569. package/dist/tools/definitions/scheduled-tasks.js +0 -173
  570. package/dist/tools/definitions/scheduled-tasks.js.map +0 -1
  571. package/dist/tools/definitions/trigger-contact-claims.d.ts +0 -7
  572. package/dist/tools/definitions/trigger-contact-claims.js +0 -60
  573. package/dist/tools/definitions/trigger-contact-claims.js.map +0 -1
  574. package/dist/tools/registry-mapping-cases-core.d.ts +0 -38
  575. package/dist/tools/registry-mapping-cases-core.js +0 -963
  576. package/dist/tools/registry-mapping-cases-core.js.map +0 -1
  577. package/dist/tools/registry-mapping-cases-platform.d.ts +0 -2
  578. package/dist/tools/registry-mapping-cases-platform.js +0 -1052
  579. package/dist/tools/registry-mapping-cases-platform.js.map +0 -1
  580. package/dist/tools/trigger-action-config.d.ts +0 -49
  581. package/dist/tools/trigger-action-config.js +0 -171
  582. package/dist/tools/trigger-action-config.js.map +0 -1
  583. package/docs/evals/model-behavior-scorecard.md +0 -80
  584. package/docs/operation-coverage.md +0 -114
  585. package/scripts/mock-credentials.js +0 -77
  586. package/scripts/model-eval-server.js +0 -213
  587. package/scripts/run-model-eval.js +0 -447
@@ -1,10 +1,20 @@
1
+ import type { ApiToolRequest } from './api-tool-request.js';
1
2
  import { z, type ZodType } from 'zod';
2
3
  import type { ConnectionStore } from '../../auth/connection-store.js';
3
- import type { ApiMethod, ToolApiClient } from '../../http/api-client.js';
4
- export interface ApiToolRequest {
5
- readonly method?: ApiMethod;
6
- readonly path: string;
7
- readonly body?: unknown;
4
+ import type { ToolApiClient } from '../../http/api-client.js';
5
+ export type { ApiToolRequest } from './api-tool-request.js';
6
+ /**
7
+ * Второй запрос того же вызова — когда поля инструмента принадлежат двум маршрутам сервера (у отгруженного моста
8
+ * одна строка настроек, у v2 у части полей свой владелец). Исполняет реестр: `follow-up-request.ts`.
9
+ */
10
+ export interface FollowUpToolRequest extends ApiToolRequest {
11
+ /** Ключ ответа инструмента, под которым лежит ответ второго запроса. */
12
+ readonly responseKey: string;
13
+ /**
14
+ * Первый запрос не несёт ни одного поля: вызов целиком принадлежит второму маршруту, и первый не уходит —
15
+ * пустая правка оставила бы запись аудита о ничего не изменившей записи.
16
+ */
17
+ readonly replacesPrimary: boolean;
8
18
  }
9
19
  /** Контекст для локальных (не-API) тулов: keychain-store + живой env процесса. */
10
20
  export interface LocalToolContext {
@@ -57,6 +67,8 @@ export type ToolSideEffect = 'none' | 'write' | 'spend';
57
67
  export interface ToolDefinition<Input> {
58
68
  readonly name: string;
59
69
  readonly sideEffect: ToolSideEffect;
70
+ /** Снимает подсказку «только чтение» без объявления несуществующей записи, например у POST-поиска. */
71
+ readonly readOnlyHint?: false;
60
72
  /**
61
73
  * Операция доказуемо обратима — снимает пометку «разрушительная». По спецификации MCP у
62
74
  * не-читающего инструмента она подразумевается ИСТИННОЙ, поэтому опасна не пропущенная
@@ -72,6 +84,19 @@ export interface ToolDefinition<Input> {
72
84
  readonly idempotent?: boolean;
73
85
  /** Инструмент заведомо не выходит за пределы Besales. Умолчание — обратное, как худшее. */
74
86
  readonly closedWorld?: boolean;
87
+ /**
88
+ * Ответ несёт персональные данные клиентов воркспейса — имя, идентификатор в мессенджере
89
+ * (у части каналов это телефон) или сами реплики переписки.
90
+ *
91
+ * ⚠️ Это не про право доступа: у вызывающего оно есть, те же данные он видит в интерфейсе
92
+ * продукта. Это про ПЕРИМЕТР: ответ инструмента оседает в транскрипте стороннего приложения
93
+ * и его телеметрии, чей срок хранения владельцу воркспейса неподконтролен.
94
+ *
95
+ * Пометка объявляется здесь, чтобы решение о политике (обезличивание / отдельная область
96
+ * доступа / согласие владельца) применялось к одному объявленному множеству, а не к
97
+ * рукописному списку имён в каждом новом месте.
98
+ */
99
+ readonly carriesCustomerData?: boolean;
75
100
  /**
76
101
  * Чем свериться, если исход остался НЕИЗВЕСТЕН: связь оборвалась или сервер ответил отказом
77
102
  * уже после того, как запрос до него дошёл. Отсутствие локального подтверждения не
@@ -82,14 +107,26 @@ export interface ToolDefinition<Input> {
82
107
  readonly verifyWithToolName?: string;
83
108
  readonly requiredFields: readonly string[];
84
109
  readonly schema: ZodType<Input>;
85
- readonly resultPolicy?: ToolResultPolicy;
110
+ /**
111
+ * ⛔ Может быть ФУНКЦИЕЙ разобранного входа. Одной константы хватает, пока у инструмента один
112
+ * конверт ответа; у фасада отчётов их пятнадцать и они несопоставимы: у сводки данные плюс
113
+ * итоги, у списков страницы, у когорт — запрет усечения. Одна политика на всех означала бы либо
114
+ * неусекаемые тяжёлые ответы, либо отказ там, где сужение работало.
115
+ */
116
+ readonly resultPolicy?: ToolResultPolicy | ((input: Input) => ToolResultPolicy);
86
117
  readonly defaultWorkspaceId?: boolean;
87
- /** API-проксирующие тулы. Взаимоисключающе с `localHandler`. */
118
+ /** Конструктор API-запроса, в том числе для инспекции маршрута при localHandler. */
88
119
  readonly createRequest?: (input: Input) => ApiToolRequest;
120
+ /**
121
+ * Второй запрос вызова (см. `FollowUpToolRequest`); `undefined` — второго нет. Карта маршрутов описывает первый
122
+ * запрос; адрес и тело второго держат тесты инструмента.
123
+ */
124
+ readonly followUpRequest?: (input: Input) => FollowUpToolRequest | undefined;
89
125
  /**
90
126
  * Локальные тулы без обращения к backend (работают с keychain-store + env +
91
127
  * in-memory session state). Если задан — registry вызывает его вместо
92
- * resolveWorkspace + createRequest. Взаимоисключающе с `createRequest`.
128
+ * resolveWorkspace + createRequest. При наличии обоих обработчик имеет приоритет;
129
+ * createRequest сохраняет контракт основного API-запроса для карты маршрутов.
93
130
  */
94
131
  readonly localHandler?: (input: Input, ctx: LocalToolContext) => Promise<unknown> | unknown;
95
132
  readonly enhanceResponse?: (response: unknown, input: Input) => unknown;
@@ -99,9 +136,12 @@ export interface CreateToolsOptions {
99
136
  readonly apiClient?: ToolApiClient;
100
137
  }
101
138
  export declare const uuidSchema: z.ZodString;
139
+ /** Preserved knowledge-space IDs keep hex 8-4-4-4-12 without RFC version/variant constraints. */
140
+ export declare const knowledgeSpaceIdSchema: z.ZodGUID;
102
141
  export declare const anyObjectSchema: z.ZodObject<{}, z.core.$loose>;
103
142
  export declare const optionalAnyObjectSchema: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
104
143
  export declare const outcomeSchema: z.ZodEnum<{
144
+ unknown: "unknown";
105
145
  won: "won";
106
146
  lost: "lost";
107
147
  in_progress: "in_progress";
@@ -123,12 +163,26 @@ export declare const PROMPT_DIFF_MAX_LINES_LIMIT = 1000;
123
163
  * Больший `limit` сервер отвергнет валидацией, поэтому граница объявлена и здесь.
124
164
  */
125
165
  export declare const VARIABLES_MAX_PAGE_SIZE = 200;
126
- /** Максимальный размер явно запрошенной страницы списка агентов платформы. */
127
- export declare const PLATFORM_AGENTS_MAX_PAGE_SIZE = 200;
166
+ /**
167
+ * Верхняя граница страницы перечня агентов канала — совпадает с `CHANNEL_AGENTS_LIST_MAX_LIMIT`
168
+ * бэкенда. Умолчания у самой ручки нет: без `limit` перечень приходит целиком.
169
+ */
170
+ export declare const CHANNEL_AGENTS_MAX_PAGE_SIZE = 200;
171
+ /** Верхняя граница страницы сценариев ICP — совпадает с `ICP_SCENARIOS_LIST_MAX_LIMIT` бэкенда. */
172
+ export declare const ICP_SCENARIOS_MAX_PAGE_SIZE = 200;
173
+ /** Верхняя граница страницы воронок и стадий — совпадает с `CRM_PIPELINES_LIST_MAX_LIMIT` бэкенда. */
174
+ export declare const CRM_PIPELINES_MAX_PAGE_SIZE = 200;
175
+ /** Верхняя граница страницы цепочек дожима — совпадает с `FOLLOWUP_SEQUENCES_LIST_MAX_LIMIT`. */
176
+ export declare const FOLLOWUP_SEQUENCES_MAX_PAGE_SIZE = 200;
128
177
  /** Потолок агентов в одном пакетном прогоне — должен совпадать с `PROMPT_BATCH_MAX_AGENTS`. */
129
178
  export declare const PROMPT_BATCH_MAX_AGENTS = 200;
130
179
  /** Длина ключа идемпотентности пакетного прогона — должна совпадать с DTO бэкенда. */
131
180
  export declare const PROMPT_BATCH_IDEMPOTENCY_KEY_MAX_LENGTH = 200;
181
+ /**
182
+ * Потолок срока доверия ответу школы (сутки). Совпадает с сервером: иначе мост пропустил бы
183
+ * значение, которое сервер отвергает, либо наоборот.
184
+ */
185
+ export declare const GETCOURSE_REACHABILITY_TTL_DAYS_MAX = 365;
132
186
  /**
133
187
  * Одна patch-операция промпта. Общая для `besales_prompt_patch_apply` и
134
188
  * `besales_prompt_batch_start`: две копии разъехались бы при добавлении нового типа.
@@ -182,7 +236,6 @@ export declare const oauthPlatformTypeSchema: z.ZodEnum<{
182
236
  }>;
183
237
  export declare const provisionableCrmTypeSchema: z.ZodEnum<{
184
238
  GETCOURSE: "GETCOURSE";
185
- TELEGRAM: "TELEGRAM";
186
239
  AMOCRM: "AMOCRM";
187
240
  BITRIX24: "BITRIX24";
188
241
  }>;
@@ -231,10 +284,10 @@ export declare const followUpTriggerSchema: z.ZodEnum<{
231
284
  }>;
232
285
  export declare const analysisModeSchema: z.ZodEnum<{
233
286
  grammar: "grammar";
234
- industry: "industry";
235
287
  structure: "structure";
236
- completeness: "completeness";
288
+ industry: "industry";
237
289
  contradictions: "contradictions";
290
+ completeness: "completeness";
238
291
  }>;
239
292
  export declare const promptGenerationStageOutputSchema: z.ZodObject<{
240
293
  name: z.ZodEnum<{
@@ -248,8 +301,8 @@ export declare const promptGenerationStageOutputSchema: z.ZodObject<{
248
301
  export declare const promptAnalysisStageOutputSchema: z.ZodObject<{
249
302
  name: z.ZodEnum<{
250
303
  grammar: "grammar";
251
- industry: "industry";
252
304
  structure: "structure";
305
+ industry: "industry";
253
306
  aggregation: "aggregation";
254
307
  }>;
255
308
  output: z.ZodObject<{}, z.core.$loose>;
@@ -335,32 +388,41 @@ export declare const icpAnalysisPersonaSchema: z.ZodPipe<z.ZodObject<{
335
388
  /**
336
389
  * Машинные ожидания реплики: что раннер песочницы обязан увидеть в ответе агента на неё.
337
390
  *
338
- * ⚠️ Без этой схемы поле не просто «не валидируется», а ИСЧЕЗАЕТ: zod стрипает неизвестные ключи
339
- * молча, и ожидания не доехали бы до backend вовсе. Вторая точка потери — маппинг сабмита, где
340
- * реплики пересобираются по явному списку полей.
391
+ * ⚠️ Без схемы поле не просто «не проверяется», а ИСЧЕЗАЕТ: zod молча срезает неизвестные ключи,
392
+ * и рубрика не доехала бы до сервера вовсе. Вторая точка потери — сборка тела отправки, где
393
+ * реплики пересобираются по явному списку полей: там `expect` перечислен отдельно.
394
+ *
395
+ * ⛔ Принимаются ровно ТРИ правила — те, что сервер открывает генератору сценариев
396
+ * (`GENERATED_SCENARIO_EXPECTATION_KEYS`, `additionalProperties: false`): два по тексту ответа и
397
+ * запрет ранней передачи оператору, у которого единственная цель — `call_operator` (песочница
398
+ * проверяет его по сработавшему действию с шагом передачи). Идентификаторов действий и имён
399
+ * инструментов генератор не знает, и выдуманная цель краснела бы на исправном агенте: правила по
400
+ * действиям ставит оператор. Хранилище сервера знает ШЕСТЬ имён — это реестр ХРАНЕНИЯ, а не то,
401
+ * что сервер показывает пишущей стороне.
402
+ *
403
+ * ⚠️ Отгруженный клиент объявляет все шесть, и сервер их принимает; сужение здесь повторяет
404
+ * контракт генератора, а не обещает модели цели, которых она не знает.
341
405
  */
342
406
  export declare const scenarioTurnExpectationSchema: z.ZodObject<{
343
- triggers: z.ZodOptional<z.ZodArray<z.ZodString>>;
344
- noTriggers: z.ZodOptional<z.ZodArray<z.ZodString>>;
345
- tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
346
- noTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
407
+ noTools: z.ZodOptional<z.ZodArray<z.ZodEnum<{
408
+ call_operator: "call_operator";
409
+ }>>>;
347
410
  answerContains: z.ZodOptional<z.ZodArray<z.ZodString>>;
348
411
  answerNotContains: z.ZodOptional<z.ZodArray<z.ZodString>>;
349
- }, z.core.$strip>;
412
+ }, z.core.$strict>;
350
413
  export declare const scenarioSituationSchema: z.ZodObject<{
351
414
  role: z.ZodEnum<{
352
- client: "client";
353
415
  agent: "agent";
416
+ client: "client";
354
417
  }>;
355
418
  text: z.ZodString;
356
419
  expect: z.ZodOptional<z.ZodObject<{
357
- triggers: z.ZodOptional<z.ZodArray<z.ZodString>>;
358
- noTriggers: z.ZodOptional<z.ZodArray<z.ZodString>>;
359
- tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
360
- noTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
420
+ noTools: z.ZodOptional<z.ZodArray<z.ZodEnum<{
421
+ call_operator: "call_operator";
422
+ }>>>;
361
423
  answerContains: z.ZodOptional<z.ZodArray<z.ZodString>>;
362
424
  answerNotContains: z.ZodOptional<z.ZodArray<z.ZodString>>;
363
- }, z.core.$strip>>;
425
+ }, z.core.$strict>>;
364
426
  }, z.core.$strip>;
365
427
  export declare const generatedScenarioSchema: z.ZodPipe<z.ZodObject<{
366
428
  name: z.ZodString;
@@ -369,30 +431,26 @@ export declare const generatedScenarioSchema: z.ZodPipe<z.ZodObject<{
369
431
  segmentIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
370
432
  situations: z.ZodArray<z.ZodObject<{
371
433
  role: z.ZodEnum<{
372
- client: "client";
373
434
  agent: "agent";
435
+ client: "client";
374
436
  }>;
375
437
  text: z.ZodString;
376
438
  expect: z.ZodOptional<z.ZodObject<{
377
- triggers: z.ZodOptional<z.ZodArray<z.ZodString>>;
378
- noTriggers: z.ZodOptional<z.ZodArray<z.ZodString>>;
379
- tools: z.ZodOptional<z.ZodArray<z.ZodString>>;
380
- noTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
439
+ noTools: z.ZodOptional<z.ZodArray<z.ZodEnum<{
440
+ call_operator: "call_operator";
441
+ }>>>;
381
442
  answerContains: z.ZodOptional<z.ZodArray<z.ZodString>>;
382
443
  answerNotContains: z.ZodOptional<z.ZodArray<z.ZodString>>;
383
- }, z.core.$strip>>;
444
+ }, z.core.$strict>>;
384
445
  }, z.core.$strip>>;
385
446
  }, z.core.$strip>, z.ZodTransform<{
386
447
  segment_ids: string[] | undefined;
387
448
  name: string;
388
449
  situations: {
389
- role: "client" | "agent";
450
+ role: "agent" | "client";
390
451
  text: string;
391
452
  expect?: {
392
- triggers?: string[] | undefined;
393
- noTriggers?: string[] | undefined;
394
- tools?: string[] | undefined;
395
- noTools?: string[] | undefined;
453
+ noTools?: "call_operator"[] | undefined;
396
454
  answerContains?: string[] | undefined;
397
455
  answerNotContains?: string[] | undefined;
398
456
  } | undefined;
@@ -401,13 +459,10 @@ export declare const generatedScenarioSchema: z.ZodPipe<z.ZodObject<{
401
459
  }, {
402
460
  name: string;
403
461
  situations: {
404
- role: "client" | "agent";
462
+ role: "agent" | "client";
405
463
  text: string;
406
464
  expect?: {
407
- triggers?: string[] | undefined;
408
- noTriggers?: string[] | undefined;
409
- tools?: string[] | undefined;
410
- noTools?: string[] | undefined;
465
+ noTools?: "call_operator"[] | undefined;
411
466
  answerContains?: string[] | undefined;
412
467
  answerNotContains?: string[] | undefined;
413
468
  } | undefined;
@@ -416,22 +471,35 @@ export declare const generatedScenarioSchema: z.ZodPipe<z.ZodObject<{
416
471
  segment_ids?: string[] | undefined;
417
472
  segmentIds?: string[] | undefined;
418
473
  }>>;
474
+ /**
475
+ * Находка песочницы — КАНОН сервера, а не прежняя форма ветки v2.
476
+ *
477
+ * ⛔ Рубрика — РОВНО семь категорий отгруженного контракта. `missed_trigger` убрана: сервер её
478
+ * отвергает, то есть ветка v2 предлагала модели категорию, на которой вызов падал целиком.
479
+ * `missed_context` добавлена — она в каноне и была недостижима. Прежняя `wrong_pipeline_transition`
480
+ * НЕ рекламируется сознательно: сервер её принимает ради уже сохранённых находок, но его задание
481
+ * называет модели семь категорий, и предлагать восьмую значило бы спорить с этим решением.
482
+ *
483
+ * ⛔ Текст находки называется `description`; прежнее имя `message` принимается тоже, потому что
484
+ * им пользуется отгруженный клиент, стоящий у людей сейчас. Требуется РОВНО ОДНО из двух: без
485
+ * этого правила находка без текста уходила бы на сервер пустой.
486
+ */
419
487
  export declare const sandboxFindingSchema: z.ZodObject<{
420
488
  scenario_id: z.ZodOptional<z.ZodString>;
421
489
  scenarioId: z.ZodOptional<z.ZodString>;
422
490
  category: z.ZodEnum<{
423
- other: "other";
424
491
  hallucination: "hallucination";
425
492
  wrong_action: "wrong_action";
426
- bad_tone: "bad_tone";
427
- missed_context: "missed_context";
428
493
  wrong_routing: "wrong_routing";
494
+ missed_context: "missed_context";
429
495
  rag_miss: "rag_miss";
496
+ bad_tone: "bad_tone";
497
+ other: "other";
430
498
  }>;
431
499
  severity: z.ZodEnum<{
432
- critical: "critical";
433
500
  low: "low";
434
501
  medium: "medium";
502
+ critical: "critical";
435
503
  }>;
436
504
  description: z.ZodOptional<z.ZodString>;
437
505
  message: z.ZodOptional<z.ZodString>;
@@ -445,18 +513,18 @@ export declare const simulationFindingSchema: z.ZodObject<{
445
513
  dialogue_id: z.ZodOptional<z.ZodString>;
446
514
  dialogueId: z.ZodOptional<z.ZodString>;
447
515
  category: z.ZodEnum<{
448
- other: "other";
449
516
  hallucination: "hallucination";
450
517
  wrong_action: "wrong_action";
451
- bad_tone: "bad_tone";
452
518
  missed_context: "missed_context";
519
+ bad_tone: "bad_tone";
520
+ other: "other";
453
521
  contradiction: "contradiction";
454
522
  off_topic: "off_topic";
455
523
  }>;
456
524
  severity: z.ZodEnum<{
457
- critical: "critical";
458
525
  low: "low";
459
526
  medium: "medium";
527
+ critical: "critical";
460
528
  }>;
461
529
  message: z.ZodString;
462
530
  suggestion: z.ZodOptional<z.ZodString>;
@@ -535,8 +603,8 @@ export declare const agentButtonGeneratorSchema: z.ZodObject<{
535
603
  export declare const agentOutputConfigSchema: z.ZodObject<{
536
604
  display_name: z.ZodOptional<z.ZodString>;
537
605
  response_mode: z.ZodOptional<z.ZodEnum<{
538
- SILENT: "SILENT";
539
606
  TEXT: "TEXT";
607
+ SILENT: "SILENT";
540
608
  }>>;
541
609
  button_generator: z.ZodOptional<z.ZodObject<{
542
610
  enabled: z.ZodOptional<z.ZodBoolean>;
@@ -549,6 +617,7 @@ export declare const agentOutputConfigSchema: z.ZodObject<{
549
617
  }, z.core.$strip>>;
550
618
  }, z.core.$strip>;
551
619
  export declare const agentScopeSchema: z.ZodEnum<{
620
+ other: "other";
552
621
  sale: "sale";
553
622
  reactivation: "reactivation";
554
623
  support: "support";
@@ -556,222 +625,308 @@ export declare const agentScopeSchema: z.ZodEnum<{
556
625
  faq: "faq";
557
626
  qualification: "qualification";
558
627
  complaint: "complaint";
559
- other: "other";
560
628
  }>;
561
629
  export declare const behaviorGreetingButtonSchema: z.ZodObject<{
562
630
  id: z.ZodString;
563
631
  label: z.ZodString;
564
632
  text: z.ZodString;
565
633
  order: z.ZodNumber;
566
- }, z.core.$strip>;
634
+ }, z.core.$strict>;
567
635
  export declare const behaviorGreetingSchema: z.ZodObject<{
568
- bot_greeting: z.ZodOptional<z.ZodString>;
569
- greeting_file_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
570
- greeting_buttons: z.ZodOptional<z.ZodArray<z.ZodObject<{
636
+ text: z.ZodOptional<z.ZodString>;
637
+ file_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
638
+ buttons: z.ZodOptional<z.ZodArray<z.ZodObject<{
571
639
  id: z.ZodString;
572
640
  label: z.ZodString;
573
641
  text: z.ZodString;
574
642
  order: z.ZodNumber;
575
- }, z.core.$strip>>>;
576
- greeting_buttons_keyboard_type: z.ZodOptional<z.ZodEnum<{
643
+ }, z.core.$strict>>>;
644
+ keyboard_type: z.ZodOptional<z.ZodEnum<{
577
645
  INLINE: "INLINE";
578
646
  REPLY: "REPLY";
579
647
  }>>;
580
648
  popup_delay_seconds: z.ZodOptional<z.ZodNumber>;
581
- }, z.core.$strip>;
649
+ send_off_message_when_ai_disabled: z.ZodOptional<z.ZodBoolean>;
650
+ schema_version: z.ZodOptional<z.ZodLiteral<1>>;
651
+ }, z.core.$strict>;
652
+ /**
653
+ * Обработчик вложения, у которого есть разбор моделью: картинка (кадр уходит зрячей модели),
654
+ * видео (в модель уходит подпись) и документ (в модель уходит ИЗВЛЕЧЁННЫЙ ТЕКСТ, сам файл — нет).
655
+ *
656
+ * ⚠️ У картинки и документа `PROCESS_WITH_LLM` означает: воркспейс соглашается отправлять в модель
657
+ * содержимое присланных файлов, включая персональные данные ТРЕТЬИХ ЛИЦ. Обезличивание подменяет
658
+ * известные значения контакта и распознаёт имена и контакты эвристикой, но полноты на содержимом
659
+ * чужого файла не гарантирует. Поэтому включение требует `explicit_confirmation`.
660
+ */
582
661
  export declare const behaviorMediaHandlerSchema: z.ZodObject<{
583
- fixed_response_text: z.ZodOptional<z.ZodString>;
662
+ fixed_response_text: z.ZodOptional<z.ZodNullable<z.ZodString>>;
584
663
  call_operator: z.ZodOptional<z.ZodBoolean>;
585
- operator_comment: z.ZodOptional<z.ZodString>;
586
- behavior: z.ZodEnum<{
664
+ operator_comment: z.ZodOptional<z.ZodNullable<z.ZodString>>;
665
+ behavior: z.ZodOptional<z.ZodEnum<{
587
666
  SILENT: "SILENT";
588
667
  PROCESS_WITH_LLM: "PROCESS_WITH_LLM";
589
668
  FIXED_RESPONSE: "FIXED_RESPONSE";
590
- }>;
591
- }, z.core.$strip>;
669
+ }>>;
670
+ }, z.core.$strict>;
671
+ /**
672
+ * Обработчик вложения БЕЗ разбора моделью — сегодня это только звук.
673
+ *
674
+ * ⛔ Отдельная схема, а не общая: разбирать в аудиофайле нечего (голосовые обрабатывает
675
+ * распознавание речи), и общий набор значений заставлял бы агента слать заведомо невалидный
676
+ * запрос — сервер отвергает `PROCESS_WITH_LLM` у звука своей схемой.
677
+ */
592
678
  export declare const behaviorPlainMediaHandlerSchema: z.ZodObject<{
593
- fixed_response_text: z.ZodOptional<z.ZodString>;
679
+ fixed_response_text: z.ZodOptional<z.ZodNullable<z.ZodString>>;
594
680
  call_operator: z.ZodOptional<z.ZodBoolean>;
595
- operator_comment: z.ZodOptional<z.ZodString>;
596
- behavior: z.ZodEnum<{
681
+ operator_comment: z.ZodOptional<z.ZodNullable<z.ZodString>>;
682
+ behavior: z.ZodOptional<z.ZodEnum<{
597
683
  SILENT: "SILENT";
598
684
  FIXED_RESPONSE: "FIXED_RESPONSE";
599
- }>;
600
- }, z.core.$strip>;
685
+ }>>;
686
+ }, z.core.$strict>;
601
687
  export declare const behaviorMediaHandlingSchema: z.ZodObject<{
602
688
  image: z.ZodOptional<z.ZodObject<{
603
- fixed_response_text: z.ZodOptional<z.ZodString>;
689
+ fixed_response_text: z.ZodOptional<z.ZodNullable<z.ZodString>>;
604
690
  call_operator: z.ZodOptional<z.ZodBoolean>;
605
- operator_comment: z.ZodOptional<z.ZodString>;
606
- behavior: z.ZodEnum<{
691
+ operator_comment: z.ZodOptional<z.ZodNullable<z.ZodString>>;
692
+ behavior: z.ZodOptional<z.ZodEnum<{
607
693
  SILENT: "SILENT";
608
694
  PROCESS_WITH_LLM: "PROCESS_WITH_LLM";
609
695
  FIXED_RESPONSE: "FIXED_RESPONSE";
610
- }>;
611
- }, z.core.$strip>>;
696
+ }>>;
697
+ }, z.core.$strict>>;
612
698
  video: z.ZodOptional<z.ZodObject<{
613
- fixed_response_text: z.ZodOptional<z.ZodString>;
699
+ fixed_response_text: z.ZodOptional<z.ZodNullable<z.ZodString>>;
614
700
  call_operator: z.ZodOptional<z.ZodBoolean>;
615
- operator_comment: z.ZodOptional<z.ZodString>;
616
- behavior: z.ZodEnum<{
701
+ operator_comment: z.ZodOptional<z.ZodNullable<z.ZodString>>;
702
+ behavior: z.ZodOptional<z.ZodEnum<{
617
703
  SILENT: "SILENT";
618
704
  PROCESS_WITH_LLM: "PROCESS_WITH_LLM";
619
705
  FIXED_RESPONSE: "FIXED_RESPONSE";
620
- }>;
621
- }, z.core.$strip>>;
706
+ }>>;
707
+ }, z.core.$strict>>;
622
708
  audio: z.ZodOptional<z.ZodObject<{
623
- fixed_response_text: z.ZodOptional<z.ZodString>;
709
+ fixed_response_text: z.ZodOptional<z.ZodNullable<z.ZodString>>;
624
710
  call_operator: z.ZodOptional<z.ZodBoolean>;
625
- operator_comment: z.ZodOptional<z.ZodString>;
626
- behavior: z.ZodEnum<{
711
+ operator_comment: z.ZodOptional<z.ZodNullable<z.ZodString>>;
712
+ behavior: z.ZodOptional<z.ZodEnum<{
627
713
  SILENT: "SILENT";
628
714
  FIXED_RESPONSE: "FIXED_RESPONSE";
629
- }>;
630
- }, z.core.$strip>>;
715
+ }>>;
716
+ }, z.core.$strict>>;
631
717
  document: z.ZodOptional<z.ZodObject<{
632
- fixed_response_text: z.ZodOptional<z.ZodString>;
718
+ fixed_response_text: z.ZodOptional<z.ZodNullable<z.ZodString>>;
633
719
  call_operator: z.ZodOptional<z.ZodBoolean>;
634
- operator_comment: z.ZodOptional<z.ZodString>;
635
- behavior: z.ZodEnum<{
720
+ operator_comment: z.ZodOptional<z.ZodNullable<z.ZodString>>;
721
+ behavior: z.ZodOptional<z.ZodEnum<{
636
722
  SILENT: "SILENT";
637
723
  PROCESS_WITH_LLM: "PROCESS_WITH_LLM";
638
724
  FIXED_RESPONSE: "FIXED_RESPONSE";
639
- }>;
640
- }, z.core.$strip>>;
641
- }, z.core.$strip>;
725
+ }>>;
726
+ }, z.core.$strict>>;
727
+ schema_version: z.ZodOptional<z.ZodLiteral<1>>;
728
+ }, z.core.$strict>;
729
+ export declare const behaviorUnsupportedInputHandlingSchema: z.ZodObject<{
730
+ behavior: z.ZodOptional<z.ZodEnum<{
731
+ SILENT: "SILENT";
732
+ FIXED_RESPONSE: "FIXED_RESPONSE";
733
+ AS_TEXT: "AS_TEXT";
734
+ }>>;
735
+ fixed_response_text: z.ZodOptional<z.ZodNullable<z.ZodString>>;
736
+ call_operator: z.ZodOptional<z.ZodBoolean>;
737
+ operator_comment: z.ZodOptional<z.ZodNullable<z.ZodString>>;
738
+ schema_version: z.ZodOptional<z.ZodLiteral<1>>;
739
+ }, z.core.$strict>;
642
740
  export declare const behaviorUrlHandlingSchema: z.ZodObject<{
643
- behavior: z.ZodEnum<{
741
+ behavior: z.ZodOptional<z.ZodEnum<{
644
742
  SILENT: "SILENT";
645
743
  FIXED_RESPONSE: "FIXED_RESPONSE";
646
744
  PASS_THROUGH: "PASS_THROUGH";
647
745
  PROCESS_WITH_CRAWLER: "PROCESS_WITH_CRAWLER";
648
- }>;
649
- fixed_response_text: z.ZodOptional<z.ZodString>;
746
+ }>>;
747
+ fixed_response_text: z.ZodOptional<z.ZodNullable<z.ZodString>>;
650
748
  call_operator: z.ZodOptional<z.ZodBoolean>;
651
- operator_comment: z.ZodOptional<z.ZodString>;
749
+ operator_comment: z.ZodOptional<z.ZodNullable<z.ZodString>>;
652
750
  use_youtube_data_api: z.ZodOptional<z.ZodBoolean>;
653
- }, z.core.$strip>;
751
+ schema_version: z.ZodOptional<z.ZodLiteral<1>>;
752
+ }, z.core.$strict>;
654
753
  export declare const behaviorErrorHandlingSchema: z.ZodObject<{
655
754
  ai_error_behavior: z.ZodOptional<z.ZodEnum<{
656
755
  SILENT: "SILENT";
657
756
  SEND_ERROR_MESSAGE: "SEND_ERROR_MESSAGE";
658
757
  }>>;
659
- ai_error_custom_message: z.ZodOptional<z.ZodString>;
660
- call_operator_with_error: z.ZodOptional<z.ZodBoolean>;
758
+ custom_message: z.ZodOptional<z.ZodNullable<z.ZodString>>;
759
+ call_operator: z.ZodOptional<z.ZodBoolean>;
760
+ ai_error_target: z.ZodOptional<z.ZodNullable<z.ZodObject<{
761
+ pipeline_id: z.ZodOptional<z.ZodString>;
762
+ status_id: z.ZodString;
763
+ }, z.core.$strict>>>;
661
764
  ai_error_target_stage_id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
662
- }, z.core.$strip>;
765
+ schema_version: z.ZodOptional<z.ZodLiteral<1>>;
766
+ }, z.core.$strict>;
767
+ /**
768
+ * ⛔ У РАБОЧЕГО дня обязательны ОБА времени и строго в формате `HH:MM`. Схема хранения приняла бы
769
+ * и `active: true` без времён, и запись вида `9:00` — а читатель расписания на таком дне считает
770
+ * НЕСТРОГИМ всё расписание целиком и объявляет оператора доступным ВСЕГДА. То есть один
771
+ * неаккуратный день молча выключает расписание на всю неделю, без ошибки и без предупреждения.
772
+ */
663
773
  export declare const behaviorDayAvailabilitySchema: z.ZodObject<{
664
774
  active: z.ZodBoolean;
665
775
  start_time: z.ZodOptional<z.ZodString>;
666
776
  end_time: z.ZodOptional<z.ZodString>;
667
- }, z.core.$strip>;
777
+ }, z.core.$strict>;
778
+ /**
779
+ * ⛔ Ключи дня пришпилены к канону `MON..SUN`. Хранилище приняло бы ЛЮБУЮ строку
780
+ * (`z.record(z.string(), …)`), а читатель при чужом ключе объявляет оператора доступным ВСЕГДА —
781
+ * то есть расписание, выставленное с ключами `monday…sunday`, молча не работало бы: ни ошибки,
782
+ * ни предупреждения, ни строки в логе.
783
+ */
668
784
  export declare const behaviorWeekAvailabilitySchema: z.ZodObject<{
669
- monday: z.ZodOptional<z.ZodObject<{
785
+ MON: z.ZodOptional<z.ZodObject<{
670
786
  active: z.ZodBoolean;
671
787
  start_time: z.ZodOptional<z.ZodString>;
672
788
  end_time: z.ZodOptional<z.ZodString>;
673
- }, z.core.$strip>>;
674
- tuesday: z.ZodOptional<z.ZodObject<{
789
+ }, z.core.$strict>>;
790
+ TUE: z.ZodOptional<z.ZodObject<{
675
791
  active: z.ZodBoolean;
676
792
  start_time: z.ZodOptional<z.ZodString>;
677
793
  end_time: z.ZodOptional<z.ZodString>;
678
- }, z.core.$strip>>;
679
- wednesday: z.ZodOptional<z.ZodObject<{
794
+ }, z.core.$strict>>;
795
+ WED: z.ZodOptional<z.ZodObject<{
680
796
  active: z.ZodBoolean;
681
797
  start_time: z.ZodOptional<z.ZodString>;
682
798
  end_time: z.ZodOptional<z.ZodString>;
683
- }, z.core.$strip>>;
684
- thursday: z.ZodOptional<z.ZodObject<{
799
+ }, z.core.$strict>>;
800
+ THU: z.ZodOptional<z.ZodObject<{
685
801
  active: z.ZodBoolean;
686
802
  start_time: z.ZodOptional<z.ZodString>;
687
803
  end_time: z.ZodOptional<z.ZodString>;
688
- }, z.core.$strip>>;
689
- friday: z.ZodOptional<z.ZodObject<{
804
+ }, z.core.$strict>>;
805
+ FRI: z.ZodOptional<z.ZodObject<{
690
806
  active: z.ZodBoolean;
691
807
  start_time: z.ZodOptional<z.ZodString>;
692
808
  end_time: z.ZodOptional<z.ZodString>;
693
- }, z.core.$strip>>;
694
- saturday: z.ZodOptional<z.ZodObject<{
809
+ }, z.core.$strict>>;
810
+ SAT: z.ZodOptional<z.ZodObject<{
695
811
  active: z.ZodBoolean;
696
812
  start_time: z.ZodOptional<z.ZodString>;
697
813
  end_time: z.ZodOptional<z.ZodString>;
698
- }, z.core.$strip>>;
699
- sunday: z.ZodOptional<z.ZodObject<{
814
+ }, z.core.$strict>>;
815
+ SUN: z.ZodOptional<z.ZodObject<{
700
816
  active: z.ZodBoolean;
701
817
  start_time: z.ZodOptional<z.ZodString>;
702
818
  end_time: z.ZodOptional<z.ZodString>;
703
- }, z.core.$strip>>;
704
- }, z.core.$strip>;
819
+ }, z.core.$strict>>;
820
+ }, z.core.$strict>;
705
821
  export declare const behaviorOperatorScheduleSchema: z.ZodObject<{
706
822
  enabled: z.ZodOptional<z.ZodBoolean>;
707
823
  availability: z.ZodOptional<z.ZodObject<{
708
- monday: z.ZodOptional<z.ZodObject<{
824
+ MON: z.ZodOptional<z.ZodObject<{
709
825
  active: z.ZodBoolean;
710
826
  start_time: z.ZodOptional<z.ZodString>;
711
827
  end_time: z.ZodOptional<z.ZodString>;
712
- }, z.core.$strip>>;
713
- tuesday: z.ZodOptional<z.ZodObject<{
828
+ }, z.core.$strict>>;
829
+ TUE: z.ZodOptional<z.ZodObject<{
714
830
  active: z.ZodBoolean;
715
831
  start_time: z.ZodOptional<z.ZodString>;
716
832
  end_time: z.ZodOptional<z.ZodString>;
717
- }, z.core.$strip>>;
718
- wednesday: z.ZodOptional<z.ZodObject<{
833
+ }, z.core.$strict>>;
834
+ WED: z.ZodOptional<z.ZodObject<{
719
835
  active: z.ZodBoolean;
720
836
  start_time: z.ZodOptional<z.ZodString>;
721
837
  end_time: z.ZodOptional<z.ZodString>;
722
- }, z.core.$strip>>;
723
- thursday: z.ZodOptional<z.ZodObject<{
838
+ }, z.core.$strict>>;
839
+ THU: z.ZodOptional<z.ZodObject<{
724
840
  active: z.ZodBoolean;
725
841
  start_time: z.ZodOptional<z.ZodString>;
726
842
  end_time: z.ZodOptional<z.ZodString>;
727
- }, z.core.$strip>>;
728
- friday: z.ZodOptional<z.ZodObject<{
843
+ }, z.core.$strict>>;
844
+ FRI: z.ZodOptional<z.ZodObject<{
729
845
  active: z.ZodBoolean;
730
846
  start_time: z.ZodOptional<z.ZodString>;
731
847
  end_time: z.ZodOptional<z.ZodString>;
732
- }, z.core.$strip>>;
733
- saturday: z.ZodOptional<z.ZodObject<{
848
+ }, z.core.$strict>>;
849
+ SAT: z.ZodOptional<z.ZodObject<{
734
850
  active: z.ZodBoolean;
735
851
  start_time: z.ZodOptional<z.ZodString>;
736
852
  end_time: z.ZodOptional<z.ZodString>;
737
- }, z.core.$strip>>;
738
- sunday: z.ZodOptional<z.ZodObject<{
853
+ }, z.core.$strict>>;
854
+ SUN: z.ZodOptional<z.ZodObject<{
739
855
  active: z.ZodBoolean;
740
856
  start_time: z.ZodOptional<z.ZodString>;
741
857
  end_time: z.ZodOptional<z.ZodString>;
742
- }, z.core.$strip>>;
743
- }, z.core.$strip>>;
744
- unavailable_message: z.ZodOptional<z.ZodString>;
858
+ }, z.core.$strict>>;
859
+ }, z.core.$strict>>;
860
+ unavailable_message: z.ZodOptional<z.ZodNullable<z.ZodString>>;
745
861
  bot_waiting_return_hours: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<-1>, z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<3>, z.ZodLiteral<6>, z.ZodLiteral<12>, z.ZodLiteral<24>]>>;
746
- follow_up_waiting_return_hours: z.ZodOptional<z.ZodNumber>;
747
- skip_task_creation_on_call_operator: z.ZodOptional<z.ZodBoolean>;
748
- }, z.core.$strip>;
862
+ followup_waiting_return_hours: z.ZodOptional<z.ZodNumber>;
863
+ pause_agent_on_operator_reply: z.ZodOptional<z.ZodBoolean>;
864
+ schema_version: z.ZodOptional<z.ZodLiteral<1>>;
865
+ }, z.core.$strict>;
749
866
  export declare const behaviorTypingBehaviorSchema: z.ZodObject<{
750
- waiting_answer_time: z.ZodOptional<z.ZodNumber>;
751
- can_interrupt: z.ZodOptional<z.ZodBoolean>;
752
- message_devide: z.ZodOptional<z.ZodBoolean>;
753
867
  typing_speed: z.ZodOptional<z.ZodEnum<{
754
868
  medium: "medium";
755
869
  slow: "slow";
756
870
  fast: "fast";
871
+ instant: "instant";
757
872
  }>>;
758
- fake_delay: z.ZodOptional<z.ZodNumber>;
759
- message_open_delay: z.ZodOptional<z.ZodNumber>;
760
- go_offline: z.ZodOptional<z.ZodString>;
761
- }, z.core.$strip>;
873
+ waiting_answer_time: z.ZodOptional<z.ZodNumber>;
874
+ can_interrupt: z.ZodOptional<z.ZodBoolean>;
875
+ fake_delay_ms: z.ZodOptional<z.ZodNumber>;
876
+ message_open_delay_ms: z.ZodOptional<z.ZodNumber>;
877
+ schema_version: z.ZodOptional<z.ZodLiteral<1>>;
878
+ }, z.core.$strict>;
762
879
  export declare const behaviorMessageFilterSchema: z.ZodObject<{
763
880
  id: z.ZodString;
764
881
  source: z.ZodString;
765
882
  target: z.ZodString;
766
883
  enabled: z.ZodBoolean;
767
884
  order: z.ZodNumber;
768
- }, z.core.$strip>;
885
+ }, z.core.$strict>;
886
+ export declare const behaviorMessageFiltersSchema: z.ZodObject<{
887
+ skip_task_creation_on_call_operator: z.ZodOptional<z.ZodBoolean>;
888
+ rules: z.ZodOptional<z.ZodArray<z.ZodObject<{
889
+ id: z.ZodString;
890
+ source: z.ZodString;
891
+ target: z.ZodString;
892
+ enabled: z.ZodBoolean;
893
+ order: z.ZodNumber;
894
+ }, z.core.$strict>>>;
895
+ schema_version: z.ZodOptional<z.ZodLiteral<1>>;
896
+ }, z.core.$strict>;
769
897
  export declare const behaviorMessageSplittingSchema: z.ZodObject<{
770
- message_chunk_separator: z.ZodOptional<z.ZodString>;
771
- }, z.core.$strip>;
898
+ enabled: z.ZodOptional<z.ZodBoolean>;
899
+ mode: z.ZodOptional<z.ZodEnum<{
900
+ PARAGRAPH: "PARAGRAPH";
901
+ SEPARATOR: "SEPARATOR";
902
+ }>>;
903
+ separator: z.ZodOptional<z.ZodString>;
904
+ max_chunk_size: z.ZodOptional<z.ZodNumber>;
905
+ delay_between_ms: z.ZodOptional<z.ZodNumber>;
906
+ schema_version: z.ZodOptional<z.ZodLiteral<1>>;
907
+ }, z.core.$strict>;
908
+ /**
909
+ * CRM-поведение канала в инструменте поведения — только входящий фильтр по сделке GetCourse («бот отвечает только
910
+ * тем, у кого есть подходящая сделка»). Раздел СЛИВАЕТСЯ с сохранённым CRM-поведением канала; у канала без привязанной
911
+ * CRM сливать не с чем, и сервер ответит отказом с перечнем недостающих полей. Полноту включённого фильтра и
912
+ * подтверждение смены включённости и типа держит сервер.
913
+ */
914
+ export declare const behaviorCrmSchema: z.ZodObject<{
915
+ inbound_deal_filter: z.ZodOptional<z.ZodObject<{
916
+ enabled: z.ZodBoolean;
917
+ type: z.ZodEnum<{
918
+ NONE: "NONE";
919
+ TAG: "TAG";
920
+ CUSTOM_FIELD: "CUSTOM_FIELD";
921
+ }>;
922
+ value: z.ZodOptional<z.ZodNullable<z.ZodString>>;
923
+ field_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
924
+ }, z.core.$strict>>;
925
+ schema_version: z.ZodOptional<z.ZodLiteral<1>>;
926
+ }, z.core.$strict>;
772
927
  export declare const behaviorPrivacySchema: z.ZodObject<{
773
928
  anonymization_enabled: z.ZodOptional<z.ZodBoolean>;
774
- contact_name_personalization_mode: z.ZodOptional<z.ZodEnum<{
929
+ personalization_mode: z.ZodOptional<z.ZodEnum<{
775
930
  OFF: "OFF";
776
931
  SHADOW: "SHADOW";
777
932
  ENABLED: "ENABLED";
@@ -789,7 +944,8 @@ export declare const behaviorPrivacySchema: z.ZodObject<{
789
944
  OGRNIP: "OGRNIP";
790
945
  SOCIAL_ID: "SOCIAL_ID";
791
946
  }>>>;
792
- }, z.core.$strip>;
947
+ schema_version: z.ZodOptional<z.ZodLiteral<1>>;
948
+ }, z.core.$strict>;
793
949
  export declare const pipelineCrmBehaviorSchema: z.ZodObject<{
794
950
  active_pipeline_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
795
951
  filter_enabled: z.ZodOptional<z.ZodBoolean>;
@@ -804,9 +960,13 @@ export declare const pipelineAutoFinishSchema: z.ZodObject<{
804
960
  send_finish_auto_note_to_crm: z.ZodOptional<z.ZodBoolean>;
805
961
  finish_auto_note_template: z.ZodOptional<z.ZodNullable<z.ZodString>>;
806
962
  }, z.core.$strip>;
963
+ /**
964
+ * Кто из людей вообще доходит до агента.
965
+ *
966
+ * ⛔ Выключатели канала и ответов агента (`is_active`, `is_ai_enabled`) СЮДА НЕ ВХОДЯТ — их дом
967
+ * `general_settings`. Отсюда приёмник их не принимает и отвечал отказом на весь запрос.
968
+ */
807
969
  export declare const platformAccessControlSchema: z.ZodObject<{
808
- is_active: z.ZodOptional<z.ZodBoolean>;
809
- is_ai_enabled: z.ZodOptional<z.ZodBoolean>;
810
970
  is_user_filter_enabled: z.ZodOptional<z.ZodBoolean>;
811
971
  filtered_user_ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
812
972
  enable_cleanup_commands: z.ZodOptional<z.ZodBoolean>;
@@ -817,6 +977,7 @@ export declare const platformVariablesConfigSchema: z.ZodObject<{
817
977
  }, z.core.$strict>;
818
978
  export declare const platformCrmBehaviorSchema: z.ZodObject<{
819
979
  send_to_crm: z.ZodOptional<z.ZodBoolean>;
980
+ create_deal_on_first_outbound: z.ZodOptional<z.ZodBoolean>;
820
981
  use_cross_platform_history: z.ZodOptional<z.ZodBoolean>;
821
982
  responsible_assignee_strategy: z.ZodOptional<z.ZodEnum<{
822
983
  ROUND_ROBIN: "ROUND_ROBIN";
@@ -832,6 +993,12 @@ export declare const platformCrmBehaviorSchema: z.ZodObject<{
832
993
  failed_note_template: z.ZodOptional<z.ZodNullable<z.ZodString>>;
833
994
  send_operator_takeover_note_to_crm: z.ZodOptional<z.ZodBoolean>;
834
995
  operator_takeover_note_template: z.ZodOptional<z.ZodNullable<z.ZodString>>;
996
+ finish_auto_enabled: z.ZodOptional<z.ZodBoolean>;
997
+ finish_auto_days: z.ZodOptional<z.ZodNumber>;
998
+ send_finish_auto_note_to_crm: z.ZodOptional<z.ZodBoolean>;
999
+ finish_auto_note_template: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1000
+ getcourse_create_deal_payment_tracking_enabled: z.ZodOptional<z.ZodBoolean>;
1001
+ getcourse_status_deal_fallback_enabled: z.ZodOptional<z.ZodBoolean>;
835
1002
  deal_marker_type: z.ZodOptional<z.ZodEnum<{
836
1003
  NONE: "NONE";
837
1004
  TAG: "TAG";
@@ -848,44 +1015,54 @@ export declare const platformCrmBehaviorSchema: z.ZodObject<{
848
1015
  inbound_deal_filter_value: z.ZodOptional<z.ZodNullable<z.ZodString>>;
849
1016
  inbound_deal_filter_field_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
850
1017
  }, z.core.$strict>;
1018
+ /**
1019
+ * Маркетинговая секция виджета — РОВНО два поля, которые принимает besales-api.
1020
+ *
1021
+ * ⛔ Список сайтов, лимит обращений, признак «передавать адрес страницы» и оформление ЖИВУТ НЕ
1022
+ * ЗДЕСЬ, а в `general_settings`: их приёмник — конфигурация подключения канала, а не поведение.
1023
+ * Прежде все шесть полей уезжали сюда под именами `webWidget*`, которых приёмная сторона не знает
1024
+ * ни одного, и любое из них давало отказ «удалите неизвестные поля» на ВЕСЬ запрос — то есть ни
1025
+ * одна настройка виджета через мост не записывалась.
1026
+ *
1027
+ * ⛔ `null` здесь не принимается: приёмник объявляет оба поля необязательными, но НЕ нулевыми, а
1028
+ * проекция пишет `null` значением, а не удаляет ключ. Мост, принявший `null`, обещал бы очистку,
1029
+ * которой не бывает.
1030
+ */
851
1031
  export declare const platformWidgetMarketingSchema: z.ZodObject<{
852
- web_widget_allowed_origins: z.ZodOptional<z.ZodNullable<z.ZodObject<{}, z.core.$loose>>>;
853
- web_widget_show_page_info: z.ZodOptional<z.ZodBoolean>;
854
- web_widget_rate_limit_per_minute: z.ZodOptional<z.ZodNumber>;
855
- web_widget_customization: z.ZodOptional<z.ZodNullable<z.ZodObject<{}, z.core.$loose>>>;
856
- web_widget_marketing_field_mappings: z.ZodOptional<z.ZodNullable<z.ZodObject<{}, z.core.$loose>>>;
857
- web_widget_entry_url_variable_mapping: z.ZodOptional<z.ZodNullable<z.ZodObject<{}, z.core.$loose>>>;
1032
+ marketing_field_mappings: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
1033
+ entry_url_variable_mapping: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
858
1034
  }, z.core.$strict>;
859
- /** Предел длины одного готового текста ответа на комментарий: зеркало бэкенда (Instagram усекает приватный ответ). */
860
- export declare const INSTAGRAM_COMMENT_TEMPLATE_MAX_LENGTH = 500;
861
1035
  /**
862
- * Готовые тексты, которые уходят клиенту дословно, без участия модели (способ ответа
863
- * PUBLIC_AND_DM): личное сообщение автору комментария, личное сообщение автору жалобы и
864
- * единственный публичный ответ на жалобу. Пустой объект очищает поле.
1036
+ * Оформление виджета — одиннадцать разделов ровно теми именами, которыми их принимает
1037
+ * `general_settings.customization`.
1038
+ *
1039
+ * ⚠️ Внутренность раздела мост НЕ переописывает: это был бы второй реестр против схемы хранения
1040
+ * besales-api, и он разошёлся бы с ней на первой же правке. Раздел сливается с сохранённым, так
1041
+ * что частичное значение законно; пустой объект не сбрасывает ничего.
865
1042
  */
866
- export declare const platformInstagramCommentTemplatesSchema: z.ZodObject<{
867
- dm: z.ZodOptional<z.ZodObject<{
868
- ru: z.ZodOptional<z.ZodString>;
869
- uz: z.ZodOptional<z.ZodString>;
870
- uz_cyrl: z.ZodOptional<z.ZodString>;
871
- }, z.core.$strict>>;
872
- dm_complaint: z.ZodOptional<z.ZodObject<{
873
- ru: z.ZodOptional<z.ZodString>;
874
- uz: z.ZodOptional<z.ZodString>;
875
- uz_cyrl: z.ZodOptional<z.ZodString>;
876
- }, z.core.$strict>>;
877
- public_complaint: z.ZodOptional<z.ZodObject<{
878
- ru: z.ZodOptional<z.ZodString>;
879
- uz: z.ZodOptional<z.ZodString>;
880
- uz_cyrl: z.ZodOptional<z.ZodString>;
881
- }, z.core.$strict>>;
1043
+ export declare const platformWidgetCustomizationSchema: z.ZodObject<{
1044
+ button: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
1045
+ window: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
1046
+ theme: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
1047
+ welcome_state: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
1048
+ pre_chat_form: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
1049
+ offline_state: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
1050
+ languages: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
1051
+ widget_ux: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
1052
+ gdpr: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
1053
+ embed: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
1054
+ advanced: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
882
1055
  }, z.core.$strict>;
883
1056
  export declare const platformInstagramCommentSchema: z.ZodObject<{
884
1057
  reply_to_instagram_comments: z.ZodOptional<z.ZodBoolean>;
885
1058
  instagram_comment_handling_mode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
886
- instagram_comment_reply_method: z.ZodOptional<z.ZodNullable<z.ZodString>>;
887
- instagram_comment_keywords: z.ZodOptional<z.ZodNullable<z.ZodObject<{}, z.core.$loose>>>;
888
- instagram_comment_templates: z.ZodOptional<z.ZodObject<{
1059
+ instagram_comment_reply_method: z.ZodOptional<z.ZodEnum<{
1060
+ DM_ONLY: "DM_ONLY";
1061
+ PUBLIC_REPLY: "PUBLIC_REPLY";
1062
+ BOTH: "BOTH";
1063
+ PUBLIC_AND_DM: "PUBLIC_AND_DM";
1064
+ }>>;
1065
+ instagram_comment_templates: z.ZodOptional<z.ZodNullable<z.ZodObject<{
889
1066
  dm: z.ZodOptional<z.ZodObject<{
890
1067
  ru: z.ZodOptional<z.ZodString>;
891
1068
  uz: z.ZodOptional<z.ZodString>;
@@ -901,59 +1078,54 @@ export declare const platformInstagramCommentSchema: z.ZodObject<{
901
1078
  uz: z.ZodOptional<z.ZodString>;
902
1079
  uz_cyrl: z.ZodOptional<z.ZodString>;
903
1080
  }, z.core.$strict>>;
904
- }, z.core.$strict>>;
1081
+ }, z.core.$strict>>>;
1082
+ instagram_comment_keywords: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
905
1083
  reply_to_story_mentions: z.ZodOptional<z.ZodBoolean>;
906
1084
  }, z.core.$strict>;
907
1085
  /**
908
- * Ссылка на стадию CRM ПОЛНЫМ композитом.
1086
+ * Общие настройки канала. Четыре поля справедливы для любого канала, остальные — веб-виджет.
909
1087
  *
910
- * ⚠️ Голый `status_id` не годится: статусы 142/143 и одноимённые стадии есть в КАЖДОЙ
911
- * воронке, и выбор по номеру попал бы не туда.
912
- */
913
- export declare const funnelStageRefSchema: z.ZodObject<{
914
- pipeline_crm_id: z.ZodString;
915
- pipeline_id: z.ZodNumber;
916
- status_id: z.ZodNumber;
917
- }, z.core.$strict>;
918
- /**
919
- * Настройки раздела «Воронка канала».
1088
+ * ⛔ Список сайтов — МАССИВ строк, и проверка его формы остаётся на приёмной стороне. Здесь список
1089
+ * объявлялся объектом, из-за чего отвергался мостом ещё до отправки. Элементом законны голый домен
1090
+ * (`site.ru`), домен с портом (`site.ru:8443`), полный адрес (`https://site.ru`) и `*`, поэтому
1091
+ * проверка «это URL» была бы ошибкой — она отвергла бы три законные формы из четырёх.
1092
+ *
1093
+ * ⚠️ Пустой список — законное значение со смыслом «не работать нигде»; приёмник его принимает, и
1094
+ * мост не вправе быть строже.
920
1095
  *
921
- * ⚠️ `null` у `decision_gate`/`path_target_stage` — СБРОС; отсутствие поля — «не трогать».
922
- * Бэкенд ДЕЛЕГИРУЕТ запись сервисам раздела, поэтому здесь нет своей валидации стадий:
923
- * «стадии разные» и «стадия есть в каталоге площадки» проверяет он, и второй набор правил
924
- * рядом разошёлся бы с первым.
1096
+ * Лимит обращений — целое число от 1 до 600, как на приёмной стороне.
925
1097
  */
926
- export declare const platformFunnelAnalyticsSchema: z.ZodObject<{
927
- decision_gate: z.ZodOptional<z.ZodNullable<z.ZodObject<{
928
- submitted: z.ZodObject<{
929
- pipeline_crm_id: z.ZodString;
930
- pipeline_id: z.ZodNumber;
931
- status_id: z.ZodNumber;
932
- }, z.core.$strict>;
933
- approved: z.ZodObject<{
934
- pipeline_crm_id: z.ZodString;
935
- pipeline_id: z.ZodNumber;
936
- status_id: z.ZodNumber;
937
- }, z.core.$strict>;
938
- rejected: z.ZodObject<{
939
- pipeline_crm_id: z.ZodString;
940
- pipeline_id: z.ZodNumber;
941
- status_id: z.ZodNumber;
942
- }, z.core.$strict>;
943
- }, z.core.$strict>>>;
944
- path_target_stage: z.ZodOptional<z.ZodNullable<z.ZodObject<{
945
- pipeline_crm_id: z.ZodString;
946
- pipeline_id: z.ZodNumber;
947
- status_id: z.ZodNumber;
948
- }, z.core.$strict>>>;
949
- engaged_inbound_count: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
950
- stuck_threshold_hours: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
951
- }, z.core.$strict>;
952
1098
  export declare const platformGeneralSettingsSchema: z.ZodObject<{
953
1099
  name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
954
1100
  off_message: z.ZodOptional<z.ZodNullable<z.ZodString>>;
955
1101
  timezone: z.ZodOptional<z.ZodString>;
956
1102
  is_active: z.ZodOptional<z.ZodBoolean>;
1103
+ is_ai_enabled: z.ZodOptional<z.ZodBoolean>;
1104
+ phone_parsing_country: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1105
+ allowed_origins: z.ZodOptional<z.ZodArray<z.ZodString>>;
1106
+ page_rules: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1107
+ mode: z.ZodEnum<{
1108
+ ALL: "ALL";
1109
+ ALLOW: "ALLOW";
1110
+ DENY: "DENY";
1111
+ }>;
1112
+ patterns: z.ZodArray<z.ZodString>;
1113
+ }, z.core.$strict>>>;
1114
+ rate_limit: z.ZodOptional<z.ZodNumber>;
1115
+ show_page_info: z.ZodOptional<z.ZodBoolean>;
1116
+ customization: z.ZodOptional<z.ZodObject<{
1117
+ button: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
1118
+ window: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
1119
+ theme: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
1120
+ welcome_state: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
1121
+ pre_chat_form: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
1122
+ offline_state: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
1123
+ languages: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
1124
+ widget_ux: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
1125
+ gdpr: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
1126
+ embed: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
1127
+ advanced: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
1128
+ }, z.core.$strict>>;
957
1129
  }, z.core.$strict>;
958
1130
  export declare const platformSalebotSettingsSchema: z.ZodObject<{
959
1131
  project_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -973,32 +1145,6 @@ export declare const platformBitrix24BotSettingsSchema: z.ZodObject<{
973
1145
  open_line_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
974
1146
  ignore_crm_stage_gate: z.ZodOptional<z.ZodBoolean>;
975
1147
  }, z.core.$strict>;
976
- /**
977
- * ⚠️ УСТАРЕЛО с 23.08.2026 и на поведение НЕ влияет. Оставлено, потому что API поле ещё
978
- * принимает, а старые записи его несут; снять можно только вместе с клиентами.
979
- *
980
- * Режим применялся ко ВСЕМУ списку разом: `RESTRICT` умел лишь сужать уже посчитанный выбор, а
981
- * Email/WhatsApp/SMS в него не попадали ни у кого (`bot_link` школы отдаёт vk/telegram/max) — то
982
- * есть их отметка была молчаливым no-op. Теперь список значит «слать сюда», а судьбу КАЖДОГО
983
- * канала решает сервер по фактам о контакте. «Отправить ещё и на почту» = добавить Email в
984
- * `channels` И перечислить мессенджеры явно; предлагать `ADD` больше НЕ нужно.
985
- */
986
- export declare const coldWelcomeChannelsModeEnum: z.ZodEnum<{
987
- RESTRICT: "RESTRICT";
988
- ADD: "ADD";
989
- }>;
990
- /**
991
- * Режим правила предохранителя холодных отправок.
992
- *
993
- * OFF — правило выключено; WARN — сработавшее правило только записывается в аудит, отправка
994
- * идёт; BLOCK — отправка останавливается. По умолчанию `active_series` = BLOCK (правило,
995
- * из-за нарушения которого пришла жалоба клиента), остальные = WARN.
996
- */
997
- export declare const guardModeEnum: z.ZodEnum<{
998
- OFF: "OFF";
999
- WARN: "WARN";
1000
- BLOCK: "BLOCK";
1001
- }>;
1002
1148
  export declare const getcourseTransportEnum: z.ZodEnum<{
1003
1149
  Site: "Site";
1004
1150
  Email: "Email";
@@ -1079,23 +1225,8 @@ export declare const platformGetcourseSettingsSchema: z.ZodObject<{
1079
1225
  variable_name: z.ZodString;
1080
1226
  }, z.core.$strict>>>>;
1081
1227
  target_department_id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1228
+ operator_department_id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1082
1229
  delivery_check_enabled: z.ZodOptional<z.ZodBoolean>;
1083
- guard_active_series: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
1084
- OFF: "OFF";
1085
- WARN: "WARN";
1086
- BLOCK: "BLOCK";
1087
- }>>>;
1088
- guard_active_application: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
1089
- OFF: "OFF";
1090
- WARN: "WARN";
1091
- BLOCK: "BLOCK";
1092
- }>>>;
1093
- guard_paid: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
1094
- OFF: "OFF";
1095
- WARN: "WARN";
1096
- BLOCK: "BLOCK";
1097
- }>>>;
1098
- quiet_days: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1099
1230
  reachability_ttl_days: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1100
1231
  delivery_field_map: z.ZodOptional<z.ZodRecord<z.ZodEnum<{
1101
1232
  Site: "Site";
@@ -1108,7 +1239,7 @@ export declare const platformGetcourseSettingsSchema: z.ZodObject<{
1108
1239
  WhatsApp: "WhatsApp";
1109
1240
  Viber: "Viber";
1110
1241
  MAX: "MAX";
1111
- }>, z.ZodString>>;
1242
+ }> & z.core.$partial, z.ZodString>>;
1112
1243
  manual_mute_enabled: z.ZodOptional<z.ZodBoolean>;
1113
1244
  manual_mute_field_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1114
1245
  manual_mute_value: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -1118,6 +1249,7 @@ export declare const platformGetcourseSettingsSchema: z.ZodObject<{
1118
1249
  create_missing_deal_funnel_id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1119
1250
  create_missing_deal_stage_id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1120
1251
  revenue_offer_ids: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1252
+ revenue_offers_paid_since: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1121
1253
  }, z.core.$strict>;
1122
1254
  export declare const knowledgeTableSourceSchema: z.ZodObject<{
1123
1255
  kind: z.ZodEnum<{
@@ -1127,47 +1259,4 @@ export declare const knowledgeTableSourceSchema: z.ZodObject<{
1127
1259
  spreadsheet_url: z.ZodOptional<z.ZodString>;
1128
1260
  table_schema: z.ZodOptional<z.ZodObject<{}, z.core.$loose>>;
1129
1261
  }, z.core.$strip>;
1130
- export declare function defineTool<Input>(definition: ToolDefinition<Input>): ToolDefinition<Input>;
1131
- export declare function compactObject<T extends Record<string, unknown>>(value: T): Partial<T>;
1132
- export declare function compactMetadata(metadata: {
1133
- total_tokens?: number;
1134
- models?: Record<string, string>;
1135
- } | undefined): Record<string, unknown> | undefined;
1136
- export declare function setupConfirmation(input: {
1137
- explicit_confirmation?: boolean;
1138
- confirmation_reason?: string;
1139
- }): Record<string, unknown>;
1140
- export declare function withInstructions(response: unknown, instructions: readonly string[]): unknown;
1141
- export declare function buildKnowledgeSpaceListQuery(scopeType?: string, channelId?: string): string;
1142
- export declare function buildListQuery(params: Record<string, string | number | boolean | string[] | undefined>): string;
1143
- export declare function buildVariableListQuery(scope: 'WORKSPACE' | 'CHANNEL', platformId?: string, filter?: 'all' | 'variables' | 'constants', limit?: number, cursor?: string): string;
1144
- export declare function buildVariableScopeQuery(scope: 'WORKSPACE' | 'CHANNEL', platformId?: string): string;
1145
- export declare function buildFileListQuery(input: {
1146
- file_type?: string;
1147
- source?: string;
1148
- section_id?: string;
1149
- limit?: number;
1150
- offset?: number;
1151
- }): string;
1152
- export declare function mapRuntimeConfigInput(input: z.infer<typeof agentRuntimeConfigSchema>): Record<string, unknown>;
1153
- export declare function mapOutputConfigInput(input: z.infer<typeof agentOutputConfigSchema>): Record<string, unknown>;
1154
- export declare function mapBehaviorGreetingInput(input: z.infer<typeof behaviorGreetingSchema>): Record<string, unknown>;
1155
- export declare function mapMediaHandlerInput(input: z.infer<typeof behaviorMediaHandlerSchema> | undefined): Record<string, unknown> | undefined;
1156
- export declare function mapBehaviorMediaHandlingInput(input: z.infer<typeof behaviorMediaHandlingSchema>): Record<string, unknown>;
1157
- export declare function mapBehaviorUrlHandlingInput(input: z.infer<typeof behaviorUrlHandlingSchema>): Record<string, unknown>;
1158
- export declare function mapBehaviorErrorHandlingInput(input: z.infer<typeof behaviorErrorHandlingSchema>): Record<string, unknown>;
1159
- export declare function mapBehaviorOperatorScheduleInput(input: z.infer<typeof behaviorOperatorScheduleSchema>): Record<string, unknown>;
1160
- export declare function mapBehaviorTypingInput(input: z.infer<typeof behaviorTypingBehaviorSchema>): Record<string, unknown>;
1161
- export declare function mapPipelineCrmBehaviorInput(input: z.infer<typeof pipelineCrmBehaviorSchema>): Record<string, unknown>;
1162
- export declare function mapPipelineAutoFinishInput(input: z.infer<typeof pipelineAutoFinishSchema>): Record<string, unknown>;
1163
- export declare function mapPlatformAccessControlInput(input: z.infer<typeof platformAccessControlSchema>): Record<string, unknown>;
1164
- export declare function mapPlatformVariablesConfigInput(input: z.infer<typeof platformVariablesConfigSchema>): Record<string, unknown>;
1165
- export declare function mapPlatformCrmBehaviorInput(input: z.infer<typeof platformCrmBehaviorSchema>): Record<string, unknown>;
1166
- export declare function mapPlatformWidgetMarketingInput(input: z.infer<typeof platformWidgetMarketingSchema>): Record<string, unknown>;
1167
- export declare function mapPlatformInstagramCommentInput(input: z.infer<typeof platformInstagramCommentSchema>): Record<string, unknown>;
1168
- export declare function mapPlatformFunnelAnalyticsInput(input: z.infer<typeof platformFunnelAnalyticsSchema>): Record<string, unknown>;
1169
- export declare function mapPlatformGeneralSettingsInput(input: z.infer<typeof platformGeneralSettingsSchema>): Record<string, unknown>;
1170
- export declare function mapPlatformSalebotSettingsInput(input: z.infer<typeof platformSalebotSettingsSchema>): Record<string, unknown>;
1171
- export declare function mapPlatformSmsgorodSettingsInput(input: z.infer<typeof platformSmsgorodSettingsSchema>): Record<string, unknown>;
1172
- export declare function mapPlatformBitrix24BotSettingsInput(input: z.infer<typeof platformBitrix24BotSettingsSchema>): Record<string, unknown>;
1173
- export declare function mapPlatformGetcourseSettingsInput(input: z.infer<typeof platformGetcourseSettingsSchema>): Record<string, unknown>;
1262
+ export * from './shared-input.helpers.js';