@besales/mcp 0.47.1 → 1.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +109 -164
- package/README.onprem.ru.md +35 -0
- package/bin/besales-mcp-http.js +9 -0
- package/bin/besales-onprem.mjs +19 -0
- package/dist/auth/connection-store.d.ts +3 -1
- package/dist/auth/connection-store.js +9 -3
- package/dist/auth/connection-store.js.map +1 -1
- package/dist/auth/oauth-client.d.ts +20 -27
- package/dist/auth/oauth-client.js +31 -23
- package/dist/auth/oauth-client.js.map +1 -1
- package/dist/auth/session-workspace.d.ts +1 -0
- package/dist/auth/session-workspace.js +10 -1
- package/dist/auth/session-workspace.js.map +1 -1
- package/dist/auth/token-storage.js +4 -1
- package/dist/auth/token-storage.js.map +1 -1
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +80 -19
- package/dist/cli.js.map +1 -1
- package/dist/constants/crm-catalog.d.ts +2 -0
- package/dist/constants/crm-catalog.js +3 -0
- package/dist/constants/crm-catalog.js.map +1 -0
- package/dist/http/api-client.d.ts +52 -7
- package/dist/http/api-client.js +131 -66
- package/dist/http/api-client.js.map +1 -1
- package/dist/http/feedback-document-error.d.ts +26 -0
- package/dist/http/feedback-document-error.js +22 -0
- package/dist/http/feedback-document-error.js.map +1 -0
- package/dist/http-server.d.ts +15 -0
- package/dist/http-server.js +378 -0
- package/dist/http-server.js.map +1 -0
- package/dist/instructions/server-instructions.d.ts +1 -1
- package/dist/instructions/server-instructions.js +6 -3
- package/dist/instructions/server-instructions.js.map +1 -1
- package/dist/network/constants.d.ts +25 -0
- package/dist/network/constants.js +26 -0
- package/dist/network/constants.js.map +1 -0
- package/dist/network/failed-verifications.d.ts +10 -0
- package/dist/network/failed-verifications.js +37 -0
- package/dist/network/failed-verifications.js.map +1 -0
- package/dist/network/http-test-fixture.d.ts +3 -0
- package/dist/network/http-test-fixture.js +86 -0
- package/dist/network/http-test-fixture.js.map +1 -0
- package/dist/network/known-keys.d.ts +10 -0
- package/dist/network/known-keys.js +38 -0
- package/dist/network/known-keys.js.map +1 -0
- package/dist/network/memory-credentials.d.ts +11 -0
- package/dist/network/memory-credentials.js +24 -0
- package/dist/network/memory-credentials.js.map +1 -0
- package/dist/network/rate-limit.d.ts +23 -0
- package/dist/network/rate-limit.js +62 -0
- package/dist/network/rate-limit.js.map +1 -0
- package/dist/network/rejected-keys.d.ts +9 -0
- package/dist/network/rejected-keys.js +39 -0
- package/dist/network/rejected-keys.js.map +1 -0
- package/dist/network/request-work.d.ts +8 -0
- package/dist/network/request-work.js +20 -0
- package/dist/network/request-work.js.map +1 -0
- package/dist/network/successful-keys.d.ts +17 -0
- package/dist/network/successful-keys.js +47 -0
- package/dist/network/successful-keys.js.map +1 -0
- package/dist/resources/concepts/external-execution.md +3 -1
- package/dist/resources/concepts/feedback-sheets.md +21 -12
- package/dist/resources/concepts/icp.md +8 -1
- package/dist/resources/concepts/sandbox.md +15 -6
- package/dist/resources/concepts/triggers.md +8 -0
- package/dist/resources/concepts/workbook-classification.md +104 -50
- package/dist/resources/docs/agent-behavior.md +51 -382
- package/dist/resources/docs/campaigns.md +9 -16
- package/dist/resources/docs/crm-integration.md +39 -523
- package/dist/resources/docs/files-and-uploads.md +23 -286
- package/dist/resources/docs/follow-up.md +47 -12
- package/dist/resources/docs/knowledge-base.md +52 -521
- package/dist/resources/docs/pipeline-builder.md +26 -216
- package/dist/resources/docs/pipeline-settings-deep.md +27 -220
- package/dist/resources/docs/platforms.md +106 -519
- package/dist/resources/docs/prompt-anatomy.md +39 -285
- package/dist/resources/docs/routing.md +8 -16
- package/dist/resources/docs/trigger-actions.md +40 -24
- package/dist/resources/docs/variables.md +8 -12
- package/dist/resources/operator-edit.contract.d.ts +7 -0
- package/dist/resources/operator-edit.contract.js +8 -0
- package/dist/resources/operator-edit.contract.js.map +1 -0
- package/dist/resources/registry.js +20 -4
- package/dist/resources/registry.js.map +1 -1
- package/dist/resources/workflows/audit-dialogues.md +23 -12
- package/dist/resources/workflows/compare-models.md +6 -4
- package/dist/resources/workflows/connect-crm-from-scratch.md +15 -12
- package/dist/resources/workflows/connect-datasource-from-scratch.md +5 -4
- package/dist/resources/workflows/extract-from-document.md +8 -6
- package/dist/resources/workflows/operator-edit.md +15 -0
- package/dist/resources/workflows/platform-setup-from-scratch.md +59 -70
- package/dist/resources/workflows/production-readiness-check.md +25 -15
- package/dist/schemas/mcp-tools.json +12061 -6753
- package/dist/schemas/voice-actions-api.contract.json +248 -0
- package/dist/shared/constants/broadcast-reason.constants.d.ts +2 -0
- package/dist/shared/constants/broadcast-reason.constants.js +47 -0
- package/dist/shared/constants/broadcast-reason.constants.js.map +1 -0
- package/dist/shared/constants/crm-stage-pool.constants.d.ts +2 -0
- package/dist/shared/constants/crm-stage-pool.constants.js +3 -0
- package/dist/shared/constants/crm-stage-pool.constants.js.map +1 -0
- package/dist/shared/constants/followup-note.constants.d.ts +3 -0
- package/dist/shared/constants/followup-note.constants.js +4 -0
- package/dist/shared/constants/followup-note.constants.js.map +1 -0
- package/dist/shared/constants/followup-session.constants.d.ts +2 -0
- package/dist/shared/constants/followup-session.constants.js +3 -0
- package/dist/shared/constants/followup-session.constants.js.map +1 -0
- package/dist/shared/constants/funnel-analytics.constants.d.ts +2 -0
- package/dist/shared/constants/funnel-analytics.constants.js +3 -0
- package/dist/shared/constants/funnel-analytics.constants.js.map +1 -0
- package/dist/shared/constants/message-filter.constants.d.ts +7 -0
- package/dist/shared/constants/message-filter.constants.js +8 -0
- package/dist/shared/constants/message-filter.constants.js.map +1 -0
- package/dist/shared/utils/trigger-repeat-mapping.d.ts +72 -0
- package/dist/shared/utils/trigger-repeat-mapping.js +53 -0
- package/dist/shared/utils/trigger-repeat-mapping.js.map +1 -0
- package/dist/skills/besales-dialogue-audit/SKILL.md +31 -20
- package/dist/tasks/task-state-store.js +5 -0
- package/dist/tasks/task-state-store.js.map +1 -1
- package/dist/tools/annotations.js +4 -3
- package/dist/tools/annotations.js.map +1 -1
- package/dist/tools/definitions/agent-design.d.ts +78 -21
- package/dist/tools/definitions/agent-design.js +246 -90
- package/dist/tools/definitions/agent-design.js.map +1 -1
- package/dist/tools/definitions/agent-model-notice.d.ts +5 -0
- package/dist/tools/definitions/agent-model-notice.js +31 -0
- package/dist/tools/definitions/agent-model-notice.js.map +1 -0
- package/dist/tools/definitions/agent-models.d.ts +5 -0
- package/dist/tools/definitions/agent-models.js +26 -0
- package/dist/tools/definitions/agent-models.js.map +1 -0
- package/dist/tools/definitions/agent-settings.d.ts +85 -0
- package/dist/tools/definitions/agent-settings.js +187 -0
- package/dist/tools/definitions/agent-settings.js.map +1 -0
- package/dist/tools/definitions/ai-costs.d.ts +12 -0
- package/dist/tools/definitions/ai-costs.js +142 -0
- package/dist/tools/definitions/ai-costs.js.map +1 -0
- package/dist/tools/definitions/api-tool-request.d.ts +15 -0
- package/dist/tools/definitions/api-tool-request.js +2 -0
- package/dist/tools/definitions/api-tool-request.js.map +1 -0
- package/dist/tools/definitions/behavior-shipped-form.d.ts +182 -0
- package/dist/tools/definitions/behavior-shipped-form.js +185 -0
- package/dist/tools/definitions/behavior-shipped-form.js.map +1 -0
- package/dist/tools/definitions/broadcast-alerts.d.ts +6 -0
- package/dist/tools/definitions/broadcast-alerts.js +72 -0
- package/dist/tools/definitions/broadcast-alerts.js.map +1 -0
- package/dist/tools/definitions/broadcast-analytics.d.ts +102 -18
- package/dist/tools/definitions/broadcast-analytics.js +732 -427
- package/dist/tools/definitions/broadcast-analytics.js.map +1 -1
- package/dist/tools/definitions/broadcast-scheduler.d.ts +19 -13
- package/dist/tools/definitions/broadcast-scheduler.js +217 -128
- package/dist/tools/definitions/broadcast-scheduler.js.map +1 -1
- package/dist/tools/definitions/call-operator-task.schema.d.ts +11 -0
- package/dist/tools/definitions/call-operator-task.schema.js +30 -0
- package/dist/tools/definitions/call-operator-task.schema.js.map +1 -0
- package/dist/tools/definitions/contacts.d.ts +3 -0
- package/dist/tools/definitions/contacts.js +57 -31
- package/dist/tools/definitions/contacts.js.map +1 -1
- package/dist/tools/definitions/crm-platform.d.ts +28 -39
- package/dist/tools/definitions/crm-platform.js +235 -344
- package/dist/tools/definitions/crm-platform.js.map +1 -1
- package/dist/tools/definitions/crm-stage-pool.messages.d.ts +39 -0
- package/dist/tools/definitions/crm-stage-pool.messages.js +43 -0
- package/dist/tools/definitions/crm-stage-pool.messages.js.map +1 -0
- package/dist/tools/definitions/crm-stage-pool.schema.d.ts +64 -0
- package/dist/tools/definitions/crm-stage-pool.schema.js +109 -0
- package/dist/tools/definitions/crm-stage-pool.schema.js.map +1 -0
- package/dist/tools/definitions/custom-reports.d.ts +12 -0
- package/dist/tools/definitions/custom-reports.js +68 -0
- package/dist/tools/definitions/custom-reports.js.map +1 -0
- package/dist/tools/definitions/datasource.d.ts +2 -1
- package/dist/tools/definitions/datasource.js +28 -13
- package/dist/tools/definitions/datasource.js.map +1 -1
- package/dist/tools/definitions/dialog-review-findings-response.d.ts +14 -0
- package/dist/tools/definitions/dialog-review-findings-response.js +23 -0
- package/dist/tools/definitions/dialog-review-findings-response.js.map +1 -0
- package/dist/tools/definitions/dialog-review-safe-response.d.ts +5 -0
- package/dist/tools/definitions/dialog-review-safe-response.js +152 -0
- package/dist/tools/definitions/dialog-review-safe-response.js.map +1 -0
- package/dist/tools/definitions/dialog-review.d.ts +49 -0
- package/dist/tools/definitions/dialog-review.js +383 -0
- package/dist/tools/definitions/dialog-review.js.map +1 -0
- package/dist/tools/definitions/dialogue-analysis.d.ts +46 -0
- package/dist/tools/definitions/dialogue-analysis.js +170 -0
- package/dist/tools/definitions/dialogue-analysis.js.map +1 -0
- package/dist/tools/definitions/dialogue-audit-agent-scope.d.ts +7 -0
- package/dist/tools/definitions/dialogue-audit-agent-scope.js +41 -0
- package/dist/tools/definitions/dialogue-audit-agent-scope.js.map +1 -0
- package/dist/tools/definitions/dialogue-audit-alias.d.ts +67 -0
- package/dist/tools/definitions/dialogue-audit-alias.js +559 -0
- package/dist/tools/definitions/dialogue-audit-alias.js.map +1 -0
- package/dist/tools/definitions/dialogue-export.d.ts +7 -1
- package/dist/tools/definitions/dialogue-export.js +89 -32
- package/dist/tools/definitions/dialogue-export.js.map +1 -1
- package/dist/tools/definitions/dialogue-followup-state.d.ts +9 -0
- package/dist/tools/definitions/dialogue-followup-state.js +69 -0
- package/dist/tools/definitions/dialogue-followup-state.js.map +1 -0
- package/dist/tools/definitions/edit-version-transport.test-fixtures.d.ts +13 -0
- package/dist/tools/definitions/edit-version-transport.test-fixtures.js +292 -0
- package/dist/tools/definitions/edit-version-transport.test-fixtures.js.map +1 -0
- package/dist/tools/definitions/edit-version.d.ts +5 -0
- package/dist/tools/definitions/edit-version.js +20 -0
- package/dist/tools/definitions/edit-version.js.map +1 -0
- package/dist/tools/definitions/external-api-channels.js +17 -15
- package/dist/tools/definitions/external-api-channels.js.map +1 -1
- package/dist/tools/definitions/feedback-document-access.d.ts +16 -0
- package/dist/tools/definitions/feedback-document-access.js +63 -0
- package/dist/tools/definitions/feedback-document-access.js.map +1 -0
- package/dist/tools/definitions/fixtures/shipped-setup-status.d.ts +3 -0
- package/dist/tools/definitions/fixtures/shipped-setup-status.js +9 -0
- package/dist/tools/definitions/fixtures/shipped-setup-status.js.map +1 -0
- package/dist/tools/definitions/follow-up-config.d.ts +79 -0
- package/dist/tools/definitions/follow-up-config.js +258 -0
- package/dist/tools/definitions/follow-up-config.js.map +1 -0
- package/dist/tools/definitions/follow-up-funnel-test.d.ts +4 -3
- package/dist/tools/definitions/follow-up-funnel-test.js +65 -52
- package/dist/tools/definitions/follow-up-funnel-test.js.map +1 -1
- package/dist/tools/definitions/follow-up-promotion-instructions.d.ts +2 -0
- package/dist/tools/definitions/follow-up-promotion-instructions.js +7 -0
- package/dist/tools/definitions/follow-up-promotion-instructions.js.map +1 -0
- package/dist/tools/definitions/follow-up-setup.d.ts +4 -28
- package/dist/tools/definitions/follow-up-setup.js +20 -87
- package/dist/tools/definitions/follow-up-setup.js.map +1 -1
- package/dist/tools/definitions/follow-up.d.ts +20 -122
- package/dist/tools/definitions/follow-up.js +200 -354
- package/dist/tools/definitions/follow-up.js.map +1 -1
- package/dist/tools/definitions/followup-getcourse-compat.d.ts +29 -0
- package/dist/tools/definitions/followup-getcourse-compat.js +62 -0
- package/dist/tools/definitions/followup-getcourse-compat.js.map +1 -0
- package/dist/tools/definitions/followup-sequence-config.schema.d.ts +10 -0
- package/dist/tools/definitions/followup-sequence-config.schema.js +14 -0
- package/dist/tools/definitions/followup-sequence-config.schema.js.map +1 -0
- package/dist/tools/definitions/funnel-analytics.d.ts +18 -0
- package/dist/tools/definitions/funnel-analytics.js +150 -0
- package/dist/tools/definitions/funnel-analytics.js.map +1 -0
- package/dist/tools/definitions/getcourse-anchor-refresh.d.ts +5 -9
- package/dist/tools/definitions/getcourse-anchor-refresh.js +26 -31
- package/dist/tools/definitions/getcourse-anchor-refresh.js.map +1 -1
- package/dist/tools/definitions/getcourse-cold-outbound-settings.d.ts +46 -0
- package/dist/tools/definitions/getcourse-cold-outbound-settings.js +37 -0
- package/dist/tools/definitions/getcourse-cold-outbound-settings.js.map +1 -0
- package/dist/tools/definitions/getcourse-cold-welcome.d.ts +17 -29
- package/dist/tools/definitions/getcourse-cold-welcome.js +182 -242
- package/dist/tools/definitions/getcourse-cold-welcome.js.map +1 -1
- package/dist/tools/definitions/getcourse-wave-welcome.messages.d.ts +10 -0
- package/dist/tools/definitions/getcourse-wave-welcome.messages.js +17 -0
- package/dist/tools/definitions/getcourse-wave-welcome.messages.js.map +1 -0
- package/dist/tools/definitions/help.js.map +1 -1
- package/dist/tools/definitions/icp-import-source.d.ts +75 -0
- package/dist/tools/definitions/icp-import-source.js +88 -0
- package/dist/tools/definitions/icp-import-source.js.map +1 -0
- package/dist/tools/definitions/inbound-analytics.d.ts +13 -0
- package/dist/tools/definitions/inbound-analytics.js +55 -0
- package/dist/tools/definitions/inbound-analytics.js.map +1 -0
- package/dist/tools/definitions/instagram-comment.templates.d.ts +19 -0
- package/dist/tools/definitions/instagram-comment.templates.js +34 -0
- package/dist/tools/definitions/instagram-comment.templates.js.map +1 -0
- package/dist/tools/definitions/instagram-settings-compat.d.ts +33 -0
- package/dist/tools/definitions/instagram-settings-compat.js +7 -0
- package/dist/tools/definitions/instagram-settings-compat.js.map +1 -0
- package/dist/tools/definitions/knowledge-chunking.d.ts +42 -0
- package/dist/tools/definitions/knowledge-chunking.js +83 -0
- package/dist/tools/definitions/knowledge-chunking.js.map +1 -0
- package/dist/tools/definitions/knowledge-space-search-fields.d.ts +12 -0
- package/dist/tools/definitions/knowledge-space-search-fields.js +30 -0
- package/dist/tools/definitions/knowledge-space-search-fields.js.map +1 -0
- package/dist/tools/definitions/knowledge.d.ts +24 -14
- package/dist/tools/definitions/knowledge.js +342 -233
- package/dist/tools/definitions/knowledge.js.map +1 -1
- package/dist/tools/definitions/legacy-trigger-repeat.d.ts +17 -0
- package/dist/tools/definitions/legacy-trigger-repeat.js +53 -0
- package/dist/tools/definitions/legacy-trigger-repeat.js.map +1 -0
- package/dist/tools/definitions/link-tracking.d.ts +8 -0
- package/dist/tools/definitions/link-tracking.js +141 -38
- package/dist/tools/definitions/link-tracking.js.map +1 -1
- package/dist/tools/definitions/mailing-variant-content.d.ts +75 -0
- package/dist/tools/definitions/mailing-variant-content.js +73 -0
- package/dist/tools/definitions/mailing-variant-content.js.map +1 -0
- package/dist/tools/definitions/model-comparison.d.ts +1 -0
- package/dist/tools/definitions/model-comparison.js +4 -5
- package/dist/tools/definitions/model-comparison.js.map +1 -1
- package/dist/tools/definitions/money-currency.d.ts +5 -0
- package/dist/tools/definitions/money-currency.js +10 -0
- package/dist/tools/definitions/money-currency.js.map +1 -0
- package/dist/tools/definitions/operator-workflow.d.ts +5 -5
- package/dist/tools/definitions/operator-workflow.js +80 -27
- package/dist/tools/definitions/operator-workflow.js.map +1 -1
- package/dist/tools/definitions/platform-funnel-analytics.d.ts +42 -0
- package/dist/tools/definitions/platform-funnel-analytics.js +72 -0
- package/dist/tools/definitions/platform-funnel-analytics.js.map +1 -0
- package/dist/tools/definitions/platform-getcourse-wave-field-bindings.d.ts +42 -0
- package/dist/tools/definitions/platform-getcourse-wave-field-bindings.js +51 -0
- package/dist/tools/definitions/platform-getcourse-wave-field-bindings.js.map +1 -0
- package/dist/tools/definitions/platform-settings-limits.d.ts +5 -0
- package/dist/tools/definitions/platform-settings-limits.js +6 -0
- package/dist/tools/definitions/platform-settings-limits.js.map +1 -0
- package/dist/tools/definitions/platform-settings-shipped-form.d.ts +37 -0
- package/dist/tools/definitions/platform-settings-shipped-form.js +310 -0
- package/dist/tools/definitions/platform-settings-shipped-form.js.map +1 -0
- package/dist/tools/definitions/platform-settings-update.d.ts +300 -0
- package/dist/tools/definitions/platform-settings-update.js +134 -0
- package/dist/tools/definitions/platform-settings-update.js.map +1 -0
- package/dist/tools/definitions/{getcourse-wave.d.ts → platform-setup-wave.d.ts} +75 -6
- package/dist/tools/definitions/platform-setup-wave.js +1079 -0
- package/dist/tools/definitions/platform-setup-wave.js.map +1 -0
- package/dist/tools/definitions/platform-setup.d.ts +701 -222
- package/dist/tools/definitions/platform-setup.js +313 -752
- package/dist/tools/definitions/platform-setup.js.map +1 -1
- package/dist/tools/definitions/platform-widget-page-rules.schema.d.ts +10 -0
- package/dist/tools/definitions/platform-widget-page-rules.schema.js +7 -0
- package/dist/tools/definitions/platform-widget-page-rules.schema.js.map +1 -0
- package/dist/tools/definitions/prompt-authoring.constants.d.ts +2 -0
- package/dist/tools/definitions/prompt-authoring.constants.js +3 -0
- package/dist/tools/definitions/prompt-authoring.constants.js.map +1 -0
- package/dist/tools/definitions/prompt-batch-controls.d.ts +5 -0
- package/dist/tools/definitions/prompt-batch-controls.js +40 -0
- package/dist/tools/definitions/prompt-batch-controls.js.map +1 -0
- package/dist/tools/definitions/prompt-draft-authoring.d.ts +5 -0
- package/dist/tools/definitions/prompt-draft-authoring.js +24 -0
- package/dist/tools/definitions/prompt-draft-authoring.js.map +1 -0
- package/dist/tools/definitions/prompt-text-projection.d.ts +11 -0
- package/dist/tools/definitions/prompt-text-projection.js +62 -0
- package/dist/tools/definitions/prompt-text-projection.js.map +1 -0
- package/dist/tools/definitions/reviewer-paid.d.ts +19 -0
- package/dist/tools/definitions/reviewer-paid.js +115 -0
- package/dist/tools/definitions/reviewer-paid.js.map +1 -0
- package/dist/tools/definitions/routing-condition-projection.d.ts +31 -0
- package/dist/tools/definitions/routing-condition-projection.js +97 -0
- package/dist/tools/definitions/routing-condition-projection.js.map +1 -0
- package/dist/tools/definitions/schedule-selection-hints.d.ts +3 -0
- package/dist/tools/definitions/schedule-selection-hints.js +42 -0
- package/dist/tools/definitions/schedule-selection-hints.js.map +1 -0
- package/dist/tools/definitions/{scheduled-tasks.d.ts → scheduled-task-alias.d.ts} +12 -10
- package/dist/tools/definitions/scheduled-task-alias.js +207 -0
- package/dist/tools/definitions/scheduled-task-alias.js.map +1 -0
- package/dist/tools/definitions/session.js +3 -3
- package/dist/tools/definitions/session.js.map +1 -1
- package/dist/tools/definitions/setup-init-operation.schema.d.ts +2 -0
- package/dist/tools/definitions/setup-init-operation.schema.js +6 -0
- package/dist/tools/definitions/setup-init-operation.schema.js.map +1 -0
- package/dist/tools/definitions/shared-input.helpers.d.ts +51 -0
- package/dist/tools/definitions/shared-input.helpers.js +323 -0
- package/dist/tools/definitions/shared-input.helpers.js.map +1 -0
- package/dist/tools/definitions/shared.d.ts +414 -284
- package/dist/tools/definitions/shared.js +436 -619
- package/dist/tools/definitions/shared.js.map +1 -1
- package/dist/tools/definitions/shipped-output-names.d.ts +19 -0
- package/dist/tools/definitions/shipped-output-names.js +123 -0
- package/dist/tools/definitions/shipped-output-names.js.map +1 -0
- package/dist/tools/definitions/task-state.d.ts +5 -5
- package/dist/tools/definitions/task-state.js +2 -1
- package/dist/tools/definitions/task-state.js.map +1 -1
- package/dist/tools/definitions/telegram-personal-capacity.d.ts +4 -0
- package/dist/tools/definitions/telegram-personal-capacity.js +18 -0
- package/dist/tools/definitions/telegram-personal-capacity.js.map +1 -0
- package/dist/tools/definitions/telegram-pool-policy.d.ts +8 -0
- package/dist/tools/definitions/telegram-pool-policy.js +56 -0
- package/dist/tools/definitions/telegram-pool-policy.js.map +1 -0
- package/dist/tools/definitions/touch-history-alias.d.ts +4 -0
- package/dist/tools/definitions/touch-history-alias.js +99 -0
- package/dist/tools/definitions/touch-history-alias.js.map +1 -0
- package/dist/tools/definitions/trigger-action-item.schema.d.ts +254 -0
- package/dist/tools/definitions/trigger-action-item.schema.js +121 -0
- package/dist/tools/definitions/trigger-action-item.schema.js.map +1 -0
- package/dist/tools/definitions/trigger-argument.schema.d.ts +14 -0
- package/dist/tools/definitions/trigger-argument.schema.js +23 -0
- package/dist/tools/definitions/trigger-argument.schema.js.map +1 -0
- package/dist/tools/definitions/trigger-claim-alias.d.ts +10 -0
- package/dist/tools/definitions/trigger-claim-alias.js +90 -0
- package/dist/tools/definitions/trigger-claim-alias.js.map +1 -0
- package/dist/tools/definitions/trigger-echo-projection.d.ts +1 -0
- package/dist/tools/definitions/trigger-echo-projection.js +41 -0
- package/dist/tools/definitions/trigger-echo-projection.js.map +1 -0
- package/dist/tools/definitions/trigger-upsert.tool.d.ts +29 -0
- package/dist/tools/definitions/trigger-upsert.tool.js +122 -0
- package/dist/tools/definitions/trigger-upsert.tool.js.map +1 -0
- package/dist/tools/definitions/v15-port-descriptions.d.ts +11 -0
- package/dist/tools/definitions/v15-port-descriptions.js +30 -0
- package/dist/tools/definitions/v15-port-descriptions.js.map +1 -0
- package/dist/tools/definitions/variables.d.ts +44 -0
- package/dist/tools/definitions/variables.js +310 -0
- package/dist/tools/definitions/variables.js.map +1 -0
- package/dist/tools/definitions/voice-action-input.d.ts +9 -0
- package/dist/tools/definitions/voice-action-input.js +141 -0
- package/dist/tools/definitions/voice-action-input.js.map +1 -0
- package/dist/tools/definitions/widget-customization-compat.d.ts +51 -0
- package/dist/tools/definitions/widget-customization-compat.js +23 -0
- package/dist/tools/definitions/widget-customization-compat.js.map +1 -0
- package/dist/tools/definitions.d.ts +1105 -621
- package/dist/tools/definitions.js +57 -27
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/description-localization.js +3 -2
- package/dist/tools/description-localization.js.map +1 -1
- package/dist/tools/follow-up-request.d.ts +19 -0
- package/dist/tools/follow-up-request.js +81 -0
- package/dist/tools/follow-up-request.js.map +1 -0
- package/dist/tools/followup-revision.d.ts +4 -0
- package/dist/tools/followup-revision.js +29 -0
- package/dist/tools/followup-revision.js.map +1 -0
- package/dist/tools/incomplete-list.js +4 -0
- package/dist/tools/incomplete-list.js.map +1 -1
- package/dist/tools/inventory.js +47 -11
- package/dist/tools/inventory.js.map +1 -1
- package/dist/tools/operation-recovery.d.ts +4 -0
- package/dist/tools/operation-recovery.js +33 -0
- package/dist/tools/operation-recovery.js.map +1 -0
- package/dist/tools/registry-mapping-primary.cases.d.ts +2 -0
- package/dist/tools/registry-mapping-primary.cases.js +753 -0
- package/dist/tools/registry-mapping-primary.cases.js.map +1 -0
- package/dist/tools/registry-mapping-secondary.cases.d.ts +2 -0
- package/dist/tools/registry-mapping-secondary.cases.js +626 -0
- package/dist/tools/registry-mapping-secondary.cases.js.map +1 -0
- package/dist/tools/registry-mapping.cases.d.ts +8 -0
- package/dist/tools/registry-mapping.cases.js +13 -0
- package/dist/tools/registry-mapping.cases.js.map +1 -0
- package/dist/tools/registry-test-fixtures.d.ts +50 -0
- package/dist/tools/registry-test-fixtures.js +120 -0
- package/dist/tools/registry-test-fixtures.js.map +1 -0
- package/dist/tools/registry.d.ts +2 -0
- package/dist/tools/registry.js +82 -52
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/result.d.ts +1 -0
- package/dist/tools/result.js +90 -22
- package/dist/tools/result.js.map +1 -1
- package/dist/tools/toolsets.d.ts +16 -0
- package/dist/tools/toolsets.js +25 -1
- package/dist/tools/toolsets.js.map +1 -1
- package/dist/types/api-contract.gen.d.ts +105862 -22115
- package/dist/utils/credential-signatures.d.ts +3 -0
- package/dist/utils/credential-signatures.js +10 -0
- package/dist/utils/credential-signatures.js.map +1 -0
- package/dist/utils/data-source-column-name.d.ts +10 -0
- package/dist/utils/data-source-column-name.js +36 -0
- package/dist/utils/data-source-column-name.js.map +1 -0
- package/dist/utils/logger.d.ts +1 -0
- package/dist/utils/logger.js +32 -8
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/secret-read-boundary.d.ts +2 -0
- package/dist/utils/secret-read-boundary.js +88 -0
- package/dist/utils/secret-read-boundary.js.map +1 -0
- package/dist/utils/setup-secrets.d.ts +4 -0
- package/dist/utils/setup-secrets.js +40 -0
- package/dist/utils/setup-secrets.js.map +1 -0
- package/docs/agent-models.md +9 -0
- package/docs/agent-usage-guide.full.ru.md +1 -4
- package/docs/analytics-contract.md +67 -0
- package/docs/async-operation-lifecycle.md +10 -3
- package/docs/connect.ru.md +144 -4
- package/docs/contact-company-profile.md +17 -0
- package/docs/contact-recommendations.md +7 -0
- package/docs/crm-stage-pool.md +73 -0
- package/docs/customer-data.md +61 -0
- package/docs/edit-versions.md +36 -0
- package/docs/failure-semantics.md +17 -9
- package/docs/help-navigation.md +15 -42
- package/docs/host-compatibility-matrix.md +72 -93
- package/docs/host-setup.md +33 -35
- package/docs/invariants/public-api-and-contracts.md +16 -0
- package/docs/legacy-action-settings.md +21 -0
- package/docs/main-transfer-dependencies.md +38 -0
- package/docs/mcp2-parity.md +50 -0
- package/docs/modules/analytics.md +79 -0
- package/docs/modules/besales-mcp.md +137 -0
- package/docs/modules/dialog-review-report.md +38 -0
- package/docs/modules/dialogue-followup-adapters.md +39 -0
- package/docs/modules/message-reactions.md +17 -0
- package/docs/modules/network-mode.md +284 -0
- package/docs/modules/prompt-batch-and-dialogue-controls.md +69 -0
- package/docs/pii-policy.md +21 -16
- package/docs/response-size-budget.md +197 -7
- package/docs/secret-read-boundary.md +102 -0
- package/docs/task-state.md +7 -2
- package/docs/telegram-pool-policy.md +19 -0
- package/docs/tool-effects.md +15 -9
- package/docs/tool-surface.md +205 -4
- package/docs/voice-actions-and-inbox.md +95 -0
- package/docs/wazzup-instagram-comments.md +26 -0
- package/package.json +17 -10
- package/scripts/api-source-loader.spec.mjs +40 -0
- package/scripts/audit-bridge-controls.mjs +129 -0
- package/scripts/audit-revert-mutants.mjs +107 -0
- package/scripts/bridge-api-input.spec.mjs +98 -0
- package/scripts/bridge-controls-mutants.mjs +130 -0
- package/scripts/brx3-shipped-refusals.spec.mjs +149 -0
- package/scripts/brx4-ledger-payload.spec.mjs +127 -0
- package/scripts/build-onprem.mjs +108 -0
- package/scripts/connect-clients.sh +141 -0
- package/scripts/connect-scopes.mjs +166 -0
- package/scripts/connect-scopes.spec.mjs +83 -0
- package/scripts/emit-personal-link-carrier.mjs +31 -0
- package/scripts/emit-setup-init-schemas.mjs +24 -0
- package/scripts/emit-tool-routes.mjs +878 -0
- package/scripts/emit-tool-routes.spec.mjs +300 -0
- package/scripts/followup-registry.spec.mjs +107 -0
- package/scripts/generate-crm-rotation-contract.mjs +98 -0
- package/scripts/generate-followup-session-contract.mjs +16 -0
- package/scripts/icp-import-verification/mutate.cjs +70 -0
- package/scripts/import-secret-read-contract.mjs +53 -0
- package/scripts/install-claude-desktop.js +1 -1
- package/scripts/lag-decisions.mjs +37 -0
- package/scripts/lag-decisions.spec.mjs +87 -0
- package/scripts/lag-open-task-owners.mjs +46 -0
- package/scripts/lag-open-task-owners.spec.mjs +78 -0
- package/scripts/lag-payload.mjs +10 -0
- package/scripts/legacy-action-lag.spec.mjs +22 -0
- package/scripts/legacy-field-refusal.shipped.spec.mjs +99 -0
- package/scripts/mcpcompat-handler.mjs +34 -0
- package/scripts/mcpcompat-loader.mjs +36 -0
- package/scripts/mcpcompat-typescript.mjs +3 -0
- package/scripts/platform-settings-shipped-parity.spec.mjs +89 -0
- package/scripts/prbr-round1-recheck.spec.mjs +605 -0
- package/scripts/prbr-shipped-compatibility.spec.mjs +276 -0
- package/scripts/publish-mcp-registry.mjs +98 -0
- package/scripts/publish-mcp-registry.spec.mjs +68 -0
- package/scripts/record-scheduled-task-call.mjs +26 -0
- package/scripts/refusal-probe.mjs +17 -0
- package/scripts/refusal-probe.spec.mjs +29 -0
- package/scripts/registry-diff.mjs +502 -0
- package/scripts/registry-diff.spec.mjs +787 -0
- package/scripts/request-query.mjs +43 -0
- package/scripts/request-query.spec.mjs +82 -0
- package/scripts/route-lag.mjs +23 -0
- package/scripts/route-lag.spec.mjs +30 -0
- package/scripts/sample-args.mjs +174 -0
- package/scripts/sample-args.spec.mjs +160 -0
- package/scripts/shipped-definitions.mjs +197 -0
- package/scripts/shipped-definitions.spec.mjs +57 -0
- package/scripts/shipped-inputs.spec.mjs +136 -0
- package/scripts/shipped-recordings.spec.mjs +19 -0
- package/scripts/shipped-ref.d.mts +5 -0
- package/scripts/shipped-ref.mjs +20 -0
- package/scripts/shipped-ref.spec.mjs +59 -0
- package/scripts/shipped-registry.mjs +107 -0
- package/scripts/shipped-sample-candidates.mjs +69 -0
- package/scripts/shipped-sample-candidates.spec.mjs +117 -0
- package/scripts/shipped-sample.mjs +868 -0
- package/scripts/shipped-sample.spec.mjs +451 -0
- package/scripts/sync-agent-model-schemas.mjs +72 -0
- package/scripts/sync-api-contracts.mjs +85 -0
- package/scripts/sync-api-contracts.spec.mjs +144 -0
- package/scripts/sync-contract-ledger-schemas.mjs +161 -0
- package/scripts/sync-crm-stage-pool-schema.mjs +85 -0
- package/scripts/sync-prompt-draft-schema.mjs +92 -0
- package/scripts/sync-route-map.mjs +94 -0
- package/scripts/sync-schema-descriptions.mjs +25 -0
- package/scripts/sync-tool-inventory.mjs +27 -0
- package/scripts/sync-trigger-argument-schema.mjs +121 -0
- package/scripts/sync-trigger-repeat-mapping.mjs +12 -0
- package/scripts/sync-voice-actions-contract.mjs +67 -0
- package/scripts/sync-voice-actions-tools.mjs +97 -0
- package/scripts/sync-wave-id-schemas.mjs +55 -0
- package/scripts/tool-input-schemas.mjs +46 -0
- package/scripts/tool-input-schemas.spec.mjs +50 -0
- package/scripts/verify-followup-adapters.mjs +235 -0
- package/scripts/verify-secret-read-import.mjs +84 -0
- package/scripts/verify-secret-read-mutants.mjs +143 -0
- package/dist/tools/definitions/analytics.d.ts +0 -40
- package/dist/tools/definitions/analytics.js +0 -233
- package/dist/tools/definitions/analytics.js.map +0 -1
- package/dist/tools/definitions/broadcast-mailing-variants.d.ts +0 -41
- package/dist/tools/definitions/broadcast-mailing-variants.js +0 -194
- package/dist/tools/definitions/broadcast-mailing-variants.js.map +0 -1
- package/dist/tools/definitions/dialogue-audit.d.ts +0 -38
- package/dist/tools/definitions/dialogue-audit.js +0 -292
- package/dist/tools/definitions/dialogue-audit.js.map +0 -1
- package/dist/tools/definitions/getcourse-wave.js +0 -519
- package/dist/tools/definitions/getcourse-wave.js.map +0 -1
- package/dist/tools/definitions/operational-overview.d.ts +0 -3
- package/dist/tools/definitions/operational-overview.js +0 -23
- package/dist/tools/definitions/operational-overview.js.map +0 -1
- package/dist/tools/definitions/scheduled-tasks.js +0 -173
- package/dist/tools/definitions/scheduled-tasks.js.map +0 -1
- package/dist/tools/definitions/trigger-contact-claims.d.ts +0 -7
- package/dist/tools/definitions/trigger-contact-claims.js +0 -60
- package/dist/tools/definitions/trigger-contact-claims.js.map +0 -1
- package/dist/tools/registry-mapping-cases-core.d.ts +0 -38
- package/dist/tools/registry-mapping-cases-core.js +0 -927
- package/dist/tools/registry-mapping-cases-core.js.map +0 -1
- package/dist/tools/registry-mapping-cases-platform.d.ts +0 -2
- package/dist/tools/registry-mapping-cases-platform.js +0 -1052
- package/dist/tools/registry-mapping-cases-platform.js.map +0 -1
- package/dist/tools/trigger-action-config.d.ts +0 -49
- package/dist/tools/trigger-action-config.js +0 -171
- package/dist/tools/trigger-action-config.js.map +0 -1
- package/docs/evals/model-behavior-scorecard.md +0 -80
- package/docs/operation-coverage.md +0 -114
- package/scripts/mock-credentials.js +0 -77
- package/scripts/model-eval-server.js +0 -213
- package/scripts/run-model-eval.js +0 -447
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"follow-up-config.js","sourceRoot":"","sources":["../../../src/tools/definitions/follow-up-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* Компактный план: оставляет человеку всё, что нужно проверить перед необратимой отправкой, —
|
|
3
|
+
* точный текст, шаблон, причину, по которой пункт не уйдёт, побочки, которые тест НЕ сделает,
|
|
4
|
+
* исключённые цепочки и обрезку. Коды сервера заменены подписями: человеку код не показывается.
|
|
4
5
|
*/
|
|
5
6
|
export declare function compactFunnelTestPlan(response: unknown): unknown;
|
|
6
|
-
/**
|
|
7
|
+
/** Тест воронки дожимов: план по адресу человека в канале, запуск, состояние, остановка. */
|
|
7
8
|
export declare const followUpFunnelTestTools: (import("./shared.js").ToolDefinition<{
|
|
8
9
|
chat_user_id: string;
|
|
9
10
|
workspace_id?: string | undefined;
|
|
@@ -1,78 +1,86 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { compactObject, defineTool, uuidSchema, withInstructions } from './shared.js';
|
|
3
|
+
/** Потолок причины подтверждения — как у отгруженного инструмента. */
|
|
3
4
|
const CONFIRMATION_REASON_MAX_LENGTH = 500;
|
|
4
|
-
/** Только
|
|
5
|
+
/** Только обычный объект JSON: ответ сервера — недоверенная граница. */
|
|
5
6
|
function isRecord(value) {
|
|
6
7
|
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
7
8
|
}
|
|
8
9
|
function recordsOf(value) {
|
|
9
10
|
return Array.isArray(value) ? value.filter(isRecord) : [];
|
|
10
11
|
}
|
|
12
|
+
/** Подпись причины из ответа сервера: `{ code, label }` → подпись; пусто — `null`. */
|
|
13
|
+
function labelOf(value) {
|
|
14
|
+
return isRecord(value) ? value.label : null;
|
|
15
|
+
}
|
|
11
16
|
/**
|
|
12
|
-
*
|
|
13
|
-
*
|
|
17
|
+
* Компактный план: оставляет человеку всё, что нужно проверить перед необратимой отправкой, —
|
|
18
|
+
* точный текст, шаблон, причину, по которой пункт не уйдёт, побочки, которые тест НЕ сделает,
|
|
19
|
+
* исключённые цепочки и обрезку. Коды сервера заменены подписями: человеку код не показывается.
|
|
14
20
|
*/
|
|
15
21
|
export function compactFunnelTestPlan(response) {
|
|
16
22
|
if (!isRecord(response)) {
|
|
17
23
|
return response;
|
|
18
24
|
}
|
|
19
|
-
const
|
|
20
|
-
const
|
|
25
|
+
const plan = isRecord(response.plan) ? response.plan : {};
|
|
26
|
+
const compact = {
|
|
21
27
|
runId: response.runId,
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
.
|
|
35
|
-
.map((sequence) => compactObject({
|
|
36
|
-
sequenceName: sequence.sequenceName,
|
|
37
|
-
reason: sequence.reason,
|
|
38
|
-
outcome: sequence.outcome,
|
|
39
|
-
totalSteps: sequence.totalSteps,
|
|
28
|
+
status: response.statusLabel,
|
|
29
|
+
contactId: response.contactId,
|
|
30
|
+
channelId: response.channelId,
|
|
31
|
+
expiresAt: response.expiresAt,
|
|
32
|
+
contactBlockReason: labelOf(plan.contactBlockReason),
|
|
33
|
+
items: recordsOf(plan.items).map((item) => compactObject({
|
|
34
|
+
order: item.order,
|
|
35
|
+
chain: item.workflowName,
|
|
36
|
+
text: item.displayText,
|
|
37
|
+
template: item.template ?? undefined,
|
|
38
|
+
skipReason: labelOf(item.blockedReason),
|
|
39
|
+
hasPersonalLink: item.hasPersonalLink === true ? true : undefined,
|
|
40
|
+
testWillNotDo: recordsOf(item.skippedEffects).map((effect) => labelOf(effect.effect)),
|
|
40
41
|
})),
|
|
41
|
-
|
|
42
|
-
.filter((
|
|
43
|
-
.map((
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
excludedChains: recordsOf(plan.chains)
|
|
43
|
+
.filter((chain) => chain.included !== true)
|
|
44
|
+
.map((chain) => compactObject({
|
|
45
|
+
chain: chain.workflowName,
|
|
46
|
+
reason: labelOf(chain.exclusionReason),
|
|
47
|
+
totalSteps: chain.totalSteps,
|
|
46
48
|
})),
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
stoppedChains: recordsOf(plan.chains)
|
|
50
|
+
.filter((chain) => chain.included === true && isRecord(chain.stopReason))
|
|
51
|
+
.map((chain) => ({ chain: chain.workflowName, reason: labelOf(chain.stopReason) })),
|
|
52
|
+
truncated: plan.truncated,
|
|
53
|
+
unchecked: recordsOf(plan.unchecked).map(labelOf),
|
|
54
|
+
notCovered: recordsOf(plan.notCovered).map(labelOf),
|
|
51
55
|
};
|
|
52
|
-
return withInstructions(
|
|
53
|
-
'
|
|
54
|
-
'Перед start покажи
|
|
55
|
-
'Запускай только этот runId:
|
|
56
|
+
return withInstructions(compact, [
|
|
57
|
+
'Инструмент плана НИЧЕГО не отправил и модель не вызывал: план собран из текстов цепочек.',
|
|
58
|
+
'Перед start покажи человеку каждый текст, шаблон, skipReason, excludedChains, stoppedChains и truncated.',
|
|
59
|
+
'Запускай только этот runId: сервер возьмёт замороженный план и тексты не пересоберёт. Черновик живёт сутки — позже план строится заново.',
|
|
56
60
|
]);
|
|
57
61
|
}
|
|
58
|
-
/**
|
|
62
|
+
/** Тест воронки дожимов: план по адресу человека в канале, запуск, состояние, остановка. */
|
|
59
63
|
export const followUpFunnelTestTools = [
|
|
60
64
|
defineTool({
|
|
61
65
|
name: 'besales_followup_funnel_test_plan',
|
|
62
|
-
|
|
66
|
+
// План сохраняет черновик на сервере и удаляет прежние черновики того же автора.
|
|
67
|
+
sideEffect: 'write',
|
|
68
|
+
carriesCustomerData: true,
|
|
63
69
|
requiredFields: ['chat_user_id'],
|
|
64
70
|
defaultWorkspaceId: true,
|
|
65
71
|
schema: z
|
|
66
72
|
.object({
|
|
67
73
|
workspace_id: uuidSchema.optional(),
|
|
74
|
+
// Единица прежней версии — карточка человека в канале — у v2 и есть АДРЕС человека в канале:
|
|
75
|
+
// имя поля отгруженного инструмента сохранено, значение — идентификатор адреса.
|
|
68
76
|
chat_user_id: uuidSchema,
|
|
69
77
|
funnel_id: uuidSchema.optional(),
|
|
70
78
|
})
|
|
71
79
|
.strict(),
|
|
72
80
|
createRequest: (input) => ({
|
|
73
81
|
method: 'POST',
|
|
74
|
-
path: `/
|
|
75
|
-
|
|
82
|
+
path: `/contact-identities/${input.chat_user_id}/funnel-test/plan`,
|
|
83
|
+
...(input.funnel_id === undefined ? {} : { body: { funnelId: input.funnel_id } }),
|
|
76
84
|
}),
|
|
77
85
|
enhanceResponse: compactFunnelTestPlan,
|
|
78
86
|
}),
|
|
@@ -81,6 +89,7 @@ export const followUpFunnelTestTools = [
|
|
|
81
89
|
sideEffect: 'spend',
|
|
82
90
|
requiredFields: ['run_id', 'explicit_confirmation', 'confirmation_reason'],
|
|
83
91
|
defaultWorkspaceId: true,
|
|
92
|
+
verifyWithToolName: 'besales_followup_funnel_test_status',
|
|
84
93
|
schema: z
|
|
85
94
|
.object({
|
|
86
95
|
workspace_id: uuidSchema.optional(),
|
|
@@ -91,19 +100,20 @@ export const followUpFunnelTestTools = [
|
|
|
91
100
|
.strict(),
|
|
92
101
|
createRequest: (input) => ({
|
|
93
102
|
method: 'POST',
|
|
94
|
-
path: `/
|
|
95
|
-
//
|
|
96
|
-
body: { acknowledge: true },
|
|
103
|
+
path: `/funnel-test-runs/${input.run_id}/start`,
|
|
104
|
+
// Причина подтверждения уходит в журнал аудита запуска.
|
|
105
|
+
body: { acknowledge: true, confirmationReason: input.confirmation_reason },
|
|
97
106
|
}),
|
|
98
107
|
enhanceResponse: (response) => withInstructions(response, [
|
|
99
|
-
'
|
|
100
|
-
'Опрашивай besales_followup_funnel_test_status до
|
|
101
|
-
'Если человек ответит во время прогона,
|
|
108
|
+
'Настоящая отправка запущена по замороженному плану, пункты уходят по одному с паузой 15 секунд.',
|
|
109
|
+
'Опрашивай besales_followup_funnel_test_status до завершения.',
|
|
110
|
+
'Если человек ответит во время прогона, сервер остановит оставшиеся касания.',
|
|
102
111
|
]),
|
|
103
112
|
}),
|
|
104
113
|
defineTool({
|
|
105
114
|
name: 'besales_followup_funnel_test_status',
|
|
106
115
|
sideEffect: 'none',
|
|
116
|
+
carriesCustomerData: true,
|
|
107
117
|
requiredFields: ['run_id'],
|
|
108
118
|
defaultWorkspaceId: true,
|
|
109
119
|
schema: z
|
|
@@ -114,11 +124,12 @@ export const followUpFunnelTestTools = [
|
|
|
114
124
|
.strict(),
|
|
115
125
|
createRequest: (input) => ({
|
|
116
126
|
method: 'GET',
|
|
117
|
-
path: `/
|
|
127
|
+
path: `/funnel-test-runs/${input.run_id}`,
|
|
118
128
|
}),
|
|
119
129
|
enhanceResponse: (response) => withInstructions(response, [
|
|
120
|
-
'dispatchedCount
|
|
121
|
-
'
|
|
130
|
+
'dispatchedCount — «занято до отправки», а не «доставлено»: доказанный исход каждого пункта — в results[].',
|
|
131
|
+
'Показывай человеку подписи (statusLabel, outcomeLabel, label причин), а не коды.',
|
|
132
|
+
'stalled=true лечится остановкой (cancel), а не повторным запуском того же runId.',
|
|
122
133
|
]),
|
|
123
134
|
}),
|
|
124
135
|
defineTool({
|
|
@@ -126,6 +137,7 @@ export const followUpFunnelTestTools = [
|
|
|
126
137
|
sideEffect: 'write',
|
|
127
138
|
requiredFields: ['run_id'],
|
|
128
139
|
defaultWorkspaceId: true,
|
|
140
|
+
verifyWithToolName: 'besales_followup_funnel_test_status',
|
|
129
141
|
schema: z
|
|
130
142
|
.object({
|
|
131
143
|
workspace_id: uuidSchema.optional(),
|
|
@@ -134,11 +146,12 @@ export const followUpFunnelTestTools = [
|
|
|
134
146
|
.strict(),
|
|
135
147
|
createRequest: (input) => ({
|
|
136
148
|
method: 'POST',
|
|
137
|
-
path: `/
|
|
149
|
+
path: `/funnel-test-runs/${input.run_id}/cancel`,
|
|
150
|
+
body: {},
|
|
138
151
|
}),
|
|
139
152
|
enhanceResponse: (response) => withInstructions(response, [
|
|
140
|
-
'
|
|
141
|
-
'Проверь results[] в ответе или повторным status
|
|
153
|
+
'Остановка действует со следующего касания: пункт, уже переданный на отправку, мог дойти до человека.',
|
|
154
|
+
'Проверь results[] в ответе или повторным вызовом status.',
|
|
142
155
|
]),
|
|
143
156
|
}),
|
|
144
157
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"follow-up-funnel-test.js","sourceRoot":"","sources":["../../../src/tools/definitions/follow-up-funnel-test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEtF,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAE3C,wEAAwE;AACxE,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"follow-up-funnel-test.js","sourceRoot":"","sources":["../../../src/tools/definitions/follow-up-funnel-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/** Одинаковое правило публикации полной формы и одной фразы. */
|
|
2
|
+
export declare const followUpPromotionInstructions: readonly ["Если изменились только тексты сообщений, уже идущие люди получат новый текст со следующего сообщения. Сообщение, отправлявшееся в момент сохранения, придёт прежним; повторной отправки нет.", "Если изменено что-то ещё в шагах (расписание, условия, порядок, заметка в CRM), идущие остаются на своей версии. Если вместе с текстом изменены настройки цепочки (остановка при оплате, запись в карточку после отправки, предел кругов, продолжение после ответа, порог молчания, дата календаря), новые настройки действуют для всех сразу, а текст идущим не меняется до повторного сохранения без изменений.", "runs называет людей, получающих новый текст, уже отправлявших старый и оставшихся на своей версии с причиной. Перескажи числа и summary человеку; технический адрес firstDifference переведи в понятное описание. warnings относится только к оставленным людям."];
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Одинаковое правило публикации полной формы и одной фразы. */
|
|
2
|
+
export const followUpPromotionInstructions = [
|
|
3
|
+
'Если изменились только тексты сообщений, уже идущие люди получат новый текст со следующего сообщения. Сообщение, отправлявшееся в момент сохранения, придёт прежним; повторной отправки нет.',
|
|
4
|
+
'Если изменено что-то ещё в шагах (расписание, условия, порядок, заметка в CRM), идущие остаются на своей версии. Если вместе с текстом изменены настройки цепочки (остановка при оплате, запись в карточку после отправки, предел кругов, продолжение после ответа, порог молчания, дата календаря), новые настройки действуют для всех сразу, а текст идущим не меняется до повторного сохранения без изменений.',
|
|
5
|
+
'runs называет людей, получающих новый текст, уже отправлявших старый и оставшихся на своей версии с причиной. Перескажи числа и summary человеку; технический адрес firstDifference переведи в понятное описание. warnings относится только к оставленным людям.',
|
|
6
|
+
];
|
|
7
|
+
//# sourceMappingURL=follow-up-promotion-instructions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"follow-up-promotion-instructions.js","sourceRoot":"","sources":["../../../src/tools/definitions/follow-up-promotion-instructions.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,8LAA8L;IAC9L,mZAAmZ;IACnZ,kQAAkQ;CAC1P,CAAC"}
|
|
@@ -1,33 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* Вынесены из `platform-setup.ts` ТОЛЬКО ради лимита длины файла (1200 строк) — как это уже
|
|
5
|
-
* сделано для волн GetCourse. Набор спредится в `platformSetupTools` НА ПРЕЖНЕМ МЕСТЕ: реестр
|
|
6
|
-
* сверяет точный порядок инструментов с `mcp-tools.json`, и перестановка сломала бы parity-тест.
|
|
7
|
-
*
|
|
8
|
-
* Чтение сценариев живёт отдельно, в `follow-up.ts`.
|
|
9
|
-
*/
|
|
10
|
-
export declare const followUpSetupTools: (import("./shared.js").ToolDefinition<{
|
|
11
|
-
platform_id: string;
|
|
12
|
-
name: string;
|
|
13
|
-
type: "MEETING_REMINDER" | "INACTIVE_USER_REACTIVATION" | "LOST_CLIENTS";
|
|
14
|
-
trigger: "LOST_CLIENTS" | "USER_INACTIVITY" | "DEAL_CLOSED" | "BIRTHDAY_DATE" | "MEETING_TIME" | "CUSTOM_SCHEDULE";
|
|
15
|
-
config: {
|
|
16
|
-
[x: string]: unknown;
|
|
17
|
-
};
|
|
18
|
-
explicit_confirmation?: boolean | undefined;
|
|
19
|
-
confirmation_reason?: string | undefined;
|
|
20
|
-
sequence_id?: string | undefined;
|
|
21
|
-
description?: string | null | undefined;
|
|
22
|
-
enabled?: boolean | undefined;
|
|
23
|
-
}> | import("./shared.js").ToolDefinition<{
|
|
24
|
-
platform_id: string;
|
|
25
|
-
sequence_id: string;
|
|
26
|
-
name?: string | undefined;
|
|
27
|
-
}> | import("./shared.js").ToolDefinition<{
|
|
1
|
+
/** Позиция и ожидаемый текст адресуют именно то сообщение, которое прочитал оператор. */
|
|
2
|
+
export declare const followUpSetupTools: import("./shared.js").ToolDefinition<{
|
|
28
3
|
platform_id: string;
|
|
29
4
|
sequence_id: string;
|
|
30
5
|
step_index: number;
|
|
31
6
|
content: string;
|
|
32
7
|
expected_content: string;
|
|
33
|
-
|
|
8
|
+
expected_version?: string | undefined;
|
|
9
|
+
}>[];
|
|
@@ -1,109 +1,42 @@
|
|
|
1
|
+
import { editVersionInstruction } from './edit-version.js';
|
|
2
|
+
import { followUpPromotionInstructions } from './follow-up-promotion-instructions.js';
|
|
1
3
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Потолок длины имени копии follow-up сценария. Зеркалит `@MaxLength` в DTO бэкенда и
|
|
6
|
-
* `maxLength` в OpenAPI: расхождение означало бы поздний 400 вместо ранней понятной ошибки.
|
|
7
|
-
*/
|
|
8
|
-
const FOLLOW_UP_NAME_MAX_LENGTH = 200;
|
|
9
|
-
/**
|
|
10
|
-
* МУТАЦИИ follow-up сценариев для Platform Setup Bridge.
|
|
11
|
-
*
|
|
12
|
-
* Вынесены из `platform-setup.ts` ТОЛЬКО ради лимита длины файла (1200 строк) — как это уже
|
|
13
|
-
* сделано для волн GetCourse. Набор спредится в `platformSetupTools` НА ПРЕЖНЕМ МЕСТЕ: реестр
|
|
14
|
-
* сверяет точный порядок инструментов с `mcp-tools.json`, и перестановка сломала бы parity-тест.
|
|
15
|
-
*
|
|
16
|
-
* Чтение сценариев живёт отдельно, в `follow-up.ts`.
|
|
17
|
-
*/
|
|
4
|
+
import { compactObject, defineTool, uuidSchema, withInstructions } from './shared.js';
|
|
5
|
+
/** Позиция и ожидаемый текст адресуют именно то сообщение, которое прочитал оператор. */
|
|
18
6
|
export const followUpSetupTools = [
|
|
19
|
-
defineTool({
|
|
20
|
-
name: 'besales_followup_sequence_upsert',
|
|
21
|
-
sideEffect: 'write',
|
|
22
|
-
requiredFields: ['platform_id', 'name', 'type', 'trigger', 'config'],
|
|
23
|
-
schema: z.object({
|
|
24
|
-
platform_id: uuidSchema,
|
|
25
|
-
sequence_id: uuidSchema.optional(),
|
|
26
|
-
name: z.string(),
|
|
27
|
-
description: z.string().nullable().optional(),
|
|
28
|
-
type: followUpSequenceTypeSchema,
|
|
29
|
-
enabled: z.boolean().optional(),
|
|
30
|
-
trigger: followUpTriggerSchema,
|
|
31
|
-
config: anyObjectSchema,
|
|
32
|
-
...platformSetupConfirmationSchema,
|
|
33
|
-
})
|
|
34
|
-
.superRefine(refineFollowUpConfig),
|
|
35
|
-
createRequest: (input) => ({
|
|
36
|
-
method: input.sequence_id ? 'PATCH' : 'POST',
|
|
37
|
-
path: input.sequence_id
|
|
38
|
-
? `/platforms/${input.platform_id}/follow-up/sequences/${input.sequence_id}`
|
|
39
|
-
: `/platforms/${input.platform_id}/follow-up/sequences`,
|
|
40
|
-
body: compactObject({
|
|
41
|
-
name: input.name,
|
|
42
|
-
description: input.description,
|
|
43
|
-
type: input.type,
|
|
44
|
-
enabled: input.enabled,
|
|
45
|
-
trigger: input.trigger,
|
|
46
|
-
config: input.config,
|
|
47
|
-
...setupConfirmation(input),
|
|
48
|
-
}),
|
|
49
|
-
}),
|
|
50
|
-
}),
|
|
51
|
-
defineTool({
|
|
52
|
-
name: 'besales_followup_sequence_clone',
|
|
53
|
-
sideEffect: 'write',
|
|
54
|
-
requiredFields: ['platform_id', 'sequence_id'],
|
|
55
|
-
schema: z
|
|
56
|
-
.object({
|
|
57
|
-
platform_id: uuidSchema,
|
|
58
|
-
// Источник копирования; обязан принадлежать platform_id (cross-platform не поддерживается).
|
|
59
|
-
sequence_id: uuidSchema,
|
|
60
|
-
// Имя копии. Не передано — сервер подберёт `<имя>-copy`, `<имя>-copy-2`, …
|
|
61
|
-
// Лимит зеркалит DTO бэкенда: без него агент получал бы поздний 400 вместо ранней ошибки.
|
|
62
|
-
name: z.string().max(FOLLOW_UP_NAME_MAX_LENGTH).optional(),
|
|
63
|
-
})
|
|
64
|
-
.strict(),
|
|
65
|
-
createRequest: (input) => ({
|
|
66
|
-
method: 'POST',
|
|
67
|
-
path: `/platforms/${input.platform_id}/follow-up/sequences/${input.sequence_id}/clone`,
|
|
68
|
-
body: compactObject({ name: input.name }),
|
|
69
|
-
}),
|
|
70
|
-
enhanceResponse: (response) => withInstructions(response, [
|
|
71
|
-
'Копия создана ВЫКЛЮЧЕННОЙ и такой останется, пока её не включат явно: прогресс follow-up изолирован по sequenceId, поэтому включённая копия слала бы те же касания тем же контактам вторым потоком.',
|
|
72
|
-
'Скопировано только ОПРЕДЕЛЕНИЕ (имя, тип, триггер, config). Прогресс контактов, история отправок и запланированные сообщения источника не копируются и не затрагиваются.',
|
|
73
|
-
'Перед включением копии убедись, что условия цепочек образуют строгое разбиение (например eq A / eq B / neq A AND neq B). Две цепочки без взаимоисключающих условий удвоят отправку — они выполняются независимо.',
|
|
74
|
-
'Копия остаётся на ТОЙ ЖЕ платформе. Для переноса на другую платформу используй besales_platform_clone_* — конфиг ссылается на статусы CRM, агентов, файлы и переменные этой платформы.',
|
|
75
|
-
]),
|
|
76
|
-
}),
|
|
77
7
|
defineTool({
|
|
78
8
|
name: 'besales_followup_step_message_set',
|
|
79
9
|
sideEffect: 'write',
|
|
80
10
|
requiredFields: ['platform_id', 'sequence_id', 'step_index', 'content', 'expected_content'],
|
|
81
11
|
schema: z
|
|
82
12
|
.object({
|
|
13
|
+
expected_version: z
|
|
14
|
+
.string()
|
|
15
|
+
.regex(/^[1-9][0-9]{0,9}$/u)
|
|
16
|
+
.optional(),
|
|
83
17
|
platform_id: uuidSchema,
|
|
84
18
|
sequence_id: uuidSchema,
|
|
85
|
-
// Позиция шага в config.steps, с нуля — ровно тот индекс, под которым шаг пришёл в
|
|
86
|
-
// besales_followup_sequence_list.
|
|
87
19
|
step_index: z.number().int().min(0),
|
|
88
|
-
// Новый текст. Пустая строка запрещена: шаг без текста рантайм не отправит.
|
|
89
20
|
content: z.string().min(1),
|
|
90
|
-
// Текущий текст шага, каким его видел вызывающий. Пустая строка допустима — у шага из
|
|
91
|
-
// одних вложений content законно отсутствует.
|
|
92
21
|
expected_content: z.string(),
|
|
93
22
|
})
|
|
94
23
|
.strict(),
|
|
95
24
|
createRequest: (input) => ({
|
|
96
25
|
method: 'PATCH',
|
|
97
|
-
path: `/
|
|
98
|
-
body: {
|
|
26
|
+
path: `/channels/${input.platform_id}/followup-sequences/${input.sequence_id}/steps/${input.step_index}/message`,
|
|
27
|
+
body: compactObject({
|
|
28
|
+
content: input.content,
|
|
29
|
+
expectedContent: input.expected_content,
|
|
30
|
+
expectedVersion: input.expected_version,
|
|
31
|
+
}),
|
|
99
32
|
}),
|
|
100
33
|
enhanceResponse: (response) => withInstructions(response, [
|
|
101
|
-
|
|
102
|
-
'
|
|
103
|
-
'
|
|
104
|
-
'
|
|
105
|
-
'
|
|
106
|
-
|
|
34
|
+
editVersionInstruction(),
|
|
35
|
+
'Меняет только config.steps[step_index].messageConfig.content; позиция начинается с нуля. Время, условия, соседние шаги и описание сохраняются.',
|
|
36
|
+
'expected_content бери из config.steps[i].messageConfig.content свежего besales_followup_sequence_list с sequence_id. После конфликта сохрани ввод и дождись явного решения человека.',
|
|
37
|
+
'Шаг-вебхук и утверждённый шаблон отвергаются. Незаведённый или архивный слаг {{link:слаг}} даёт 400 до записи.',
|
|
38
|
+
'Если config недоступен, сначала сохрани цепочку целиком формой дожимов. Это открывает точечную правку и для копии канала.',
|
|
39
|
+
...followUpPromotionInstructions,
|
|
107
40
|
]),
|
|
108
41
|
}),
|
|
109
42
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"follow-up-setup.js","sourceRoot":"","sources":["../../../src/tools/definitions/follow-up-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"follow-up-setup.js","sourceRoot":"","sources":["../../../src/tools/definitions/follow-up-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEtF,yFAAyF;AACzF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,UAAU,CAAC;QACT,IAAI,EAAE,mCAAmC;QACzC,UAAU,EAAE,OAAO;QACnB,cAAc,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,kBAAkB,CAAC;QAC3F,MAAM,EAAE,CAAC;aACN,MAAM,CAAC;YACN,gBAAgB,EAAE,CAAC;iBAChB,MAAM,EAAE;iBACR,KAAK,CAAC,oBAAoB,CAAC;iBAC3B,QAAQ,EAAE;YACb,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,UAAU;YACvB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;SAC7B,CAAC;aACD,MAAM,EAAE;QACX,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACzB,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,aAAa,KAAK,CAAC,WAAW,uBAAuB,KAAK,CAAC,WAAW,UAAU,KAAK,CAAC,UAAU,UAAU;YAChH,IAAI,EAAE,aAAa,CAAC;gBAClB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,eAAe,EAAE,KAAK,CAAC,gBAAgB;gBACvC,eAAe,EAAE,KAAK,CAAC,gBAAgB;aACxC,CAAC;SACH,CAAC;QACF,eAAe,EAAE,CAAC,QAAQ,EAAE,EAAE,CAC5B,gBAAgB,CAAC,QAAQ,EAAE;YACzB,sBAAsB,EAAE;YACxB,gJAAgJ;YAChJ,sLAAsL;YACtL,gHAAgH;YAChH,2HAA2H;YAC3H,GAAG,6BAA6B;SACjC,CAAC;KACL,CAAC;CACH,CAAC"}
|