@besales/mcp 0.48.0 → 1.0.0-beta.4

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