@besales/mcp 0.48.0 → 1.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 -6
- 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 +9902 -4734
- 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 -431
- package/dist/tools/definitions/broadcast-analytics.js.map +1 -1
- package/dist/tools/definitions/broadcast-scheduler.d.ts +10 -13
- package/dist/tools/definitions/broadcast-scheduler.js +196 -154
- 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 -41
- package/dist/tools/definitions/crm-platform.js +235 -368
- 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 -357
- 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 +14 -29
- package/dist/tools/definitions/getcourse-cold-welcome.js +180 -254
- 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 +686 -224
- 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 +396 -307
- package/dist/tools/definitions/shared.js +430 -652
- 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 +1089 -636
- 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 +105875 -22205
- 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 -963
- 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
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
Read-only разбор реальных переписок через `besales_dialogues_query` и
|
|
6
6
|
`besales_dialogue_transcript`: найти ошибки агента, доказуемо сопоставить их с
|
|
7
|
-
выполненными
|
|
7
|
+
выполненными действиями и подготовить изменения правил и regression-кейсы.
|
|
8
8
|
Ничего в агенте, CRM или платформе этот workflow не меняет.
|
|
9
9
|
|
|
10
10
|
## Выборка
|
|
@@ -13,26 +13,37 @@ Read-only разбор реальных переписок через `besales_d
|
|
|
13
13
|
2. Для общего аудита фильтруй по периоду, платформам и `has_messages=true`.
|
|
14
14
|
3. Для аудита созданных заявок добавь:
|
|
15
15
|
- `action_type=["GETCOURSE_CREATE_DEAL"]`;
|
|
16
|
-
- `action_success=true`;
|
|
17
16
|
- `action_execution_mode="production"`.
|
|
17
|
+
`action_success` здесь НЕ ставь: исход каждого шага считай по транскрипту — отчёту нужны и
|
|
18
|
+
подтверждённые заявки, и дубли, и неизвестные исходы (`REVIEW`). `action_success=true` годится
|
|
19
|
+
только для быстрого счёта подтверждённых: провалы и неизвестные исходы он отсекает.
|
|
18
20
|
`GETCOURSE_SEND_PAYMENT_LINK` проверяй отдельной выборкой как коммерческий side effect:
|
|
19
21
|
он может работать с существующим заказом и не доказывает создание новой заявки.
|
|
20
22
|
4. Обойди все страницы `besales_dialogues_query` по `cursor`. Не выдавай первую страницу
|
|
21
23
|
за полную выборку.
|
|
22
24
|
5. Для каждого `conversationId` дочитай все страницы `besales_dialogue_transcript`.
|
|
23
|
-
Объединяй `turns` и `
|
|
25
|
+
Объединяй `turns` и `actionExecutions`: исполнение лежит ровно на одной странице.
|
|
26
|
+
`triggerMessageId` исполнения — реплика человека, начавшая ход; `responseMessageId` —
|
|
27
|
+
ответ того же прогона.
|
|
24
28
|
|
|
25
|
-
|
|
26
|
-
|
|
29
|
+
Фильтр действия — по типу ШАГА: тип, успех и окно дат сходятся на одном шаге одного
|
|
30
|
+
исполнения, окно считается по времени исполнения. Это отличает заявку периода от старого
|
|
31
|
+
действия в длинном диалоге. `total` манифеста — число диалогов, а не заявок.
|
|
27
32
|
|
|
28
33
|
## Что считать созданной заявкой
|
|
29
34
|
|
|
30
|
-
- `GETCOURSE_CREATE_DEAL
|
|
31
|
-
`dealNumber` или `dealId` — подтверждённое создание.
|
|
32
|
-
|
|
33
|
-
- `
|
|
34
|
-
-
|
|
35
|
+
- Шаг `stepType=GETCOURSE_CREATE_DEAL` со `status=OK`, `reusedOpenInvoice=false` и есть
|
|
36
|
+
`dealNumber` или `dealId` — подтверждённое создание. При `reusedOpenInvoice=true` шаг
|
|
37
|
+
успешно использовал открытый счёт, но нового заказа нет; считай его отдельно от созданных.
|
|
38
|
+
- `status=SKIPPED` — идемпотентный пропуск (дубль), новую заявку не считать.
|
|
39
|
+
- Шаг с `outcomeUnknown=true` (`FAILED` или `OK`) — исход неизвестен, сделка могла создаться:
|
|
40
|
+
пометь `REVIEW`.
|
|
41
|
+
- Исполнение с `abandoned=true` — неизвестен исход только НЕЗАВЕРШЁННОГО шага: шаг `OK` с номером
|
|
42
|
+
сделки в том же исполнении остаётся подтверждённым; шаг, до которого исполнение не дошло, в
|
|
43
|
+
`steps` не записан вовсе.
|
|
44
|
+
- Успешный шаг без безопасного идентификатора — факт выполнения подтверждён, но создание
|
|
35
45
|
пометь `REVIEW`, не додумывай результат.
|
|
46
|
+
- `runId=null` — прогон неизвестен (ручной запуск, перенесённая строка), а не «действий не было».
|
|
36
47
|
- Сырой result намеренно не доступен. Не пытайся получить его прямым SQL.
|
|
37
48
|
|
|
38
49
|
## Классификация
|
|
@@ -51,7 +62,7 @@ Action-фильтр применяется к действию на сообще
|
|
|
51
62
|
## Доказательства
|
|
52
63
|
|
|
53
64
|
- Приведи 1-3 коротких фрагмента клиента с `sentAt` и `messageId`.
|
|
54
|
-
- Укажи
|
|
65
|
+
- Укажи имя действия (`actionName`), тип шага, время исполнения и номер/id сделки, если они есть.
|
|
55
66
|
- Отделяй наблюдаемый факт от вывода модели.
|
|
56
67
|
- Не выводи телефоны, email, токены и внешние идентификаторы без необходимости.
|
|
57
68
|
- Не утверждай, что оператор написал сообщение: `isAi=false` означает оператор ИЛИ
|
|
@@ -61,7 +72,7 @@ Action-фильтр применяется к действию на сообще
|
|
|
61
72
|
|
|
62
73
|
- До 200 диалогов анализируй все.
|
|
63
74
|
- Более 200: если пользователь явно просит весь массив — анализируй весь массив батчами;
|
|
64
|
-
иначе возьми стратифицированную выборку по платформе и
|
|
75
|
+
иначе возьми стратифицированную выборку по платформе и имени действия, назови размер выборки
|
|
65
76
|
и не экстраполируй абсолютные числа на всю совокупность.
|
|
66
77
|
|
|
67
78
|
## Формат отчёта
|
|
@@ -15,15 +15,15 @@
|
|
|
15
15
|
сейчас). Выбери **~5 моделей** под use-case агента (продажи → живой тон;
|
|
16
16
|
рассуждение → reasoning-модели; дёшево/много → budget). `defaultModelIds` —
|
|
17
17
|
разумный набор по умолчанию, если оператор не назвал модели.
|
|
18
|
-
- `available=false` →
|
|
19
|
-
через OpenRouter (`OPENROUTER_API_KEY`), а
|
|
20
|
-
Alibaba DashScope (`DASHSCOPE_API_KEY`) на стороне prompt-services
|
|
21
|
-
`glm-5.3-flash`, `glm-5.3-flashx`
|
|
22
|
-
|
|
18
|
+
- `available=false` → модель сейчас недоступна. Модели с префиксом провайдера (claude, grok,
|
|
19
|
+
deepseek, gemini, GLM, `qwen/*` и другие) идут через OpenRouter (`OPENROUTER_API_KEY`), а
|
|
20
|
+
`qwen3.8-flash` — напрямую через Alibaba DashScope (`DASHSCOPE_API_KEY`) на стороне prompt-services.
|
|
21
|
+
Для GLM бери `z-ai/glm-5.3`, `z-ai/glm-5.3-flash`, `z-ai/glm-5.3-flashx` через OpenRouter;
|
|
22
|
+
в запуск передавай runnable id из текущего каталога.
|
|
23
23
|
|
|
24
24
|
2. **`besales_model_comparison_run_start`** `{ agent_id, models?, dialogue_count? }`
|
|
25
25
|
— запуск (async). По умолчанию `dialogue_count=5`; `models` опционально (тогда
|
|
26
|
-
набор по умолчанию). До **
|
|
26
|
+
набор по умолчанию). До **36 моделей** и **20 диалогов**, если оператор просит
|
|
27
27
|
больше. Возвращает `run_id`.
|
|
28
28
|
|
|
29
29
|
3. **`besales_model_comparison_get`** `{ agent_id, run_id }` — поллируй до
|
|
@@ -52,13 +52,11 @@ field-mapping / operators.
|
|
|
52
52
|
|
|
53
53
|
Уникальность: один AmoCRM на workspace (`(workspaceId, AMOCRM)`).
|
|
54
54
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
(`POST /api/amo-crm/channel-connect`); через MCP этого шага нет. Предупреди об этом шаге сразу,
|
|
61
|
-
как о local-app у Bitrix24, — иначе клиент считает настройку законченной, а переписки не видит.
|
|
55
|
+
**Отдельный шаг — переписка в карточке сделки.** Сразу предупреди: `READY` подключения не
|
|
56
|
+
означает регистрацию чат-канала amoCRM. Получи текст заявки через
|
|
57
|
+
`besales_crm_amocrm_channel_registration` и передай человеку дословно, адрес не собирай сам.
|
|
58
|
+
Выданные поддержкой `channelId` и секрет человек привязывает в интерфейсе, минуя ассистента.
|
|
59
|
+
Подробности — `besales://docs/crm-integration`.
|
|
62
60
|
|
|
63
61
|
## BITRIX24 — подключение
|
|
64
62
|
|
|
@@ -71,11 +69,6 @@ field-mapping / operators.
|
|
|
71
69
|
Несекретное: `account_domain` (`school.getcourse.ru`, опц. `managed_tag_prefix`).
|
|
72
70
|
Секрет: `school_api_key` (опц. `legacy_api_key`). `READY` = read-only API-проба прошла.
|
|
73
71
|
|
|
74
|
-
## TELEGRAM (Forum CRM) — подключение
|
|
75
|
-
|
|
76
|
-
Несекретное: `forum_group_id` (ID форум-группы). Секрет: `crm_bot_token`. `READY` =
|
|
77
|
-
`getMe` бота прошёл.
|
|
78
|
-
|
|
79
72
|
## Активация
|
|
80
73
|
|
|
81
74
|
CRM создаётся в `status` и работает (sync воронок, выгрузка звонков, запись лидов) только
|
|
@@ -88,6 +81,16 @@ CRM создаётся в `status` и работает (sync воронок, в
|
|
|
88
81
|
переключиться, либо чтобы повторно включить CRM, авто-отключённую по ошибке авторизации
|
|
89
82
|
(`401/403`). ⚠️ Это деактивирует текущую активную — предупреди пользователя перед вызовом.
|
|
90
83
|
|
|
84
|
+
|
|
85
|
+
## Входящие события amoCRM (адрес вебхука)
|
|
86
|
+
|
|
87
|
+
amoCRM шлёт события сделок на адрес, который человек вписывает в настройках вебхуков своего
|
|
88
|
+
аккаунта. Адрес несёт пропуск, поэтому через ассистента он НЕ проходит: закажи одноразовую
|
|
89
|
+
ссылку `besales_crm_webhook_url_reveal({ crm_id })` и передай человеку — страница за ссылкой
|
|
90
|
+
потребует входа и права управлять CRM и покажет адрес один раз. Ссылка одноразовая и с
|
|
91
|
+
ограниченным сроком; просроченную заказывай заново тем же инструментом. У прочих провайдеров
|
|
92
|
+
такого адреса нет — инструмент ответит отказом.
|
|
93
|
+
|
|
91
94
|
## Что дальше (CRM READY + активна)
|
|
92
95
|
|
|
93
96
|
Pipelines: `besales_crm_pipeline_list` / `besales_crm_pipeline_create`,
|
|
@@ -58,14 +58,15 @@ Ordering-инвариант: connection `READY` прежде чем назнач
|
|
|
58
58
|
|
|
59
59
|
`besales_datasource_vectorize({ data_source_id, catalog_external_code, enabled: true })` —
|
|
60
60
|
включает семантический поиск по каталогу (роль `PRODUCT_CATALOG` обязательна, подключение
|
|
61
|
-
`ACTIVE`):
|
|
62
|
-
и поиск по точному `$filter` не годится («покажи что-то для дома до 5000»).
|
|
61
|
+
`ACTIVE`): индексация в PostgreSQL + pgvector. `enabled: false` — удаление векторов. Нужно,
|
|
62
|
+
когда товаров много и поиск по точному `$filter` не годится («покажи что-то для дома до 5000»).
|
|
63
63
|
|
|
64
64
|
## Чтение/запись в диалоге — это ДЕЙСТВИЯ ТРИГГЕРОВ (не tools агента)
|
|
65
65
|
|
|
66
66
|
Финальный шаг «агент реально читает/пишет 1С в разговоре» настраивается через **существующий**
|
|
67
|
-
`besales_trigger_upsert` (НЕ через `besales_datasource_*`).
|
|
68
|
-
|
|
67
|
+
`besales_trigger_upsert` (НЕ через `besales_datasource_*`). Это совместимая поверхность настройки:
|
|
68
|
+
1С-логика исполняется серверными action steps под ActionGovernor, а модель получает только
|
|
69
|
+
разрешённый action key и не выбирает connection ID или тип шага. Форма действия:
|
|
69
70
|
|
|
70
71
|
```
|
|
71
72
|
besales_trigger_upsert({ platform_id, agent_id, name, condition, actions: [{
|
|
@@ -9,8 +9,9 @@
|
|
|
9
9
|
- xlsx: `besales_file_upload_request` → browser upload → `besales_file_upload_status` →
|
|
10
10
|
`besales_workbook_inspect`.
|
|
11
11
|
- Google Sheets: `besales_workbook_inspect` по URL.
|
|
12
|
-
- Inspect
|
|
13
|
-
`besales_workbook_sheet_read`; `readError` не означает пустой
|
|
12
|
+
- Inspect даёт инвентаризацию и sample. Нужные листы дочитай через
|
|
13
|
+
`besales_workbook_sheet_read`; `readError` не означает пустой лист, а
|
|
14
|
+
`sourceTruncated=true` запрещает выдавать доступную часть за полный источник.
|
|
14
15
|
- Иначе: прочитай содержимое и классифицируй сам.
|
|
15
16
|
- Глубже про таксономию вкладок — concept `besales://concepts/workbook-classification`.
|
|
16
17
|
|
|
@@ -24,7 +25,7 @@
|
|
|
24
25
|
| Прайс / каталог / таблица | `besales_knowledge_table_link` либо `besales_workbook_to_knowledge_document` |
|
|
25
26
|
| Продуктовый / бизнес-текст | `besales_knowledge_document_upload` |
|
|
26
27
|
| Brand-guide / tone / persona | ICP tone (`besales_icp_create`) + `besales_behavior_update` |
|
|
27
|
-
| Выгрузка диалогов из CRM (amoCRM) | `besales_workbook_extract_amocrm_leads
|
|
28
|
+
| Выгрузка диалогов из CRM (amoCRM) | `besales_workbook_extract_amocrm_leads`; в v2 найденные lead ID сохраняются для отдельного аудио-конвейера и не передаются в текстовый `besales_icp_import_dialogues` |
|
|
28
29
|
| Значения (имя компании, телефон, часы) | `besales_variable_create` |
|
|
29
30
|
| Общий PDF / договор / политика / непонятный тип (fallback) | `besales_knowledge_document_upload` — дефолт, если ничего выше не подошло |
|
|
30
31
|
|
|
@@ -33,11 +34,12 @@
|
|
|
33
34
|
Если что-то ушло в knowledge — не забудь создать/привязать space:
|
|
34
35
|
`besales_knowledge_space_create` → `besales_knowledge_space_channel_link_upsert`.
|
|
35
36
|
|
|
37
|
+
После раскладки сохрани решения через `besales_workbook_classification_update`. Архивируй
|
|
38
|
+
provenance только по просьбе пользователя через `besales_workbook_archive`; созданные документы
|
|
39
|
+
при этом остаются.
|
|
40
|
+
|
|
36
41
|
## Принцип
|
|
37
42
|
|
|
38
43
|
Документ редко = «одна сущность». Прайс-лист несёт и таблицу для RAG, и переменные
|
|
39
44
|
(контакты), и иногда tone. Раскладывай по всем релевантным целям за один проход.
|
|
40
45
|
Затем возвращайся в `besales://workflows/platform-setup-from-scratch`.
|
|
41
|
-
|
|
42
|
-
Перед записью результатов сохрани решения через `besales_workbook_classification_update`.
|
|
43
|
-
Архивируй исходник только по просьбе пользователя через `besales_workbook_archive`.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Ручная связь CRM-оператора
|
|
2
|
+
|
|
3
|
+
Прочитайте `besales_crm_operator_list` и возьмите `operator_id` и `editVersion` из выбранной строки.
|
|
4
|
+
В `besales_crm_operator_update` можно отправить `expected_version`, `workspace_member_id`
|
|
5
|
+
и прежние `is_operator` / `is_sdr`. Версия обязательна при изменении `workspace_member_id`, включая `null`; старый вызов
|
|
6
|
+
только с флагами сохраняется без версии. Версия сама по себе не является правкой.
|
|
7
|
+
|
|
8
|
+
`workspace_member_id` — users.id текущего сотрудника с ролью OPERATOR/MANAGER. Почты CRM
|
|
9
|
+
и Besales могут различаться. `null` снимает связь вручную; пропуск сохраняет её.
|
|
10
|
+
Ручное снятие сохраняется после синхронизации. Новый профиль сотрудника создаётся только
|
|
11
|
+
если отсутствует, выключенным без логинов; существующая готовность остаётся прежней.
|
|
12
|
+
|
|
13
|
+
При 409 сохраните введённые поля, перечитайте строку для сравнения и дождитесь явного решения
|
|
14
|
+
человека. Не подставляйте currentVersion автоматически и не повторяйте PATCH. Ошибка содержит
|
|
15
|
+
безопасные идентификаторы и текущую версию, без сырой строки пользователя и секретов.
|
|
@@ -66,17 +66,21 @@ Backbone happy-path настройки с нуля по **6-фазной мод
|
|
|
66
66
|
а) построй структуру скрипта (этапы/ветки/реплики/переходы) → `besales_dialog_script_update`
|
|
67
67
|
(поле `dialog_script` — SUMMARY/скелет; читать/сверять — `besales_dialog_script_get`);
|
|
68
68
|
б) промпт: `besales_prompt_generate_get_instructions` → локально выполни стадии →
|
|
69
|
-
`besales_prompt_generate_submit`. До
|
|
70
|
-
|
|
71
|
-
сверь `testedConfiguration.promptContentHash`
|
|
72
|
-
§6 пиши НА ОСНОВЕ скрипта,
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
69
|
+
`besales_prompt_generate_submit`. До публикации передай полученный текст как `candidate_prompt`
|
|
70
|
+
в `besales_sandbox_run_start` с `options.mode=single_agent`. Дождись `COMPLETED` и findings,
|
|
71
|
+
сверь `testedConfiguration.promptContentHash` с SHA-256 проверенного текста; затем отдельно,
|
|
72
|
+
после подтверждения пользователя, вызови `besales_prompt_finalize`. §6 пиши НА ОСНОВЕ скрипта,
|
|
73
|
+
но подробнее и независимо. Структура — `besales://docs/prompt-anatomy`.
|
|
74
|
+
3. `besales_behavior_update` — приветствие: поле `text`, БЕЗ кнопок (дефолт «Привет!/Hello» →
|
|
75
|
+
язык аудитории; для INBOUND открывает диалог). ⚠️ У НОВОГО канала секции поведения ещё нет,
|
|
76
|
+
сливать не с чем — первая запись `greeting` обязана нести `text`, `buttons`,
|
|
77
|
+
`keyboard_type` и `popup_delay_seconds` целиком; дальше присылай только меняемые поля.
|
|
78
|
+
`buttons` opt-in — лишь по явному запросу; остальной behavior (persona/тон/typing) — фаза
|
|
79
|
+
Enrich. `besales://docs/agent-behavior`.
|
|
76
80
|
4. **Статика:** `besales_prompt_lint` + анализ `besales_prompt_analyze_get_instructions` /
|
|
77
81
|
`besales_prompt_analyze_submit`.
|
|
78
82
|
5. **Симуляция:** `besales_sandbox_run_start` по тест-сценариям (фаза 3) → findings → правки.
|
|
79
|
-
|
|
83
|
+
`candidate_prompt` проверяет черновик без публикации в работающем боте.
|
|
80
84
|
Глубже — `besales://workflows/iterate-with-sandbox`.
|
|
81
85
|
6. **Выбор модели (только здесь или по запросу — дорого):** `besales://workflows/compare-models`
|
|
82
86
|
(`besales_model_catalog_list` → `besales_model_comparison_run_start` → `_get` → `_eval_submit`).
|
|
@@ -119,83 +123,68 @@ Backbone happy-path настройки с нуля по **6-фазной мод
|
|
|
119
123
|
|
|
120
124
|
## Маршруты обычных задач
|
|
121
125
|
|
|
122
|
-
Шесть фаз
|
|
123
|
-
|
|
124
|
-
|
|
126
|
+
Шесть фаз нужны для новой настройки. Свободный вопрос или точечная правка не запускают весь
|
|
127
|
+
мастер. Сначала `besales_workspace_current`, затем выбор объекта по имени; завершай маршрут
|
|
128
|
+
повторным чтением или проверкой статуса операции.
|
|
125
129
|
|
|
126
|
-
###
|
|
130
|
+
### FAQ или продажи
|
|
127
131
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
5. Завершение: привязка агента/knowledge видна в context, run `COMPLETED`, quality policy
|
|
134
|
-
выполнена. Иначе назвать конкретный следующий tool и аргументы.
|
|
135
|
-
|
|
136
|
-
### Новый sales-бот
|
|
137
|
-
|
|
138
|
-
Тот же путь, но до финализации обязательны релевантный ICP и скрипт диалога. CRM нужна только
|
|
139
|
-
если задача включает сделку, поля или стадии. Наличие строки CRM не доказывает live authorization:
|
|
140
|
-
проверить setup status/health и фактические pipelines.
|
|
132
|
+
На READY-канале прочитай `besales_platform_context_get`, собери темы и ограничения, создай
|
|
133
|
+
агента, знания, промпт и приветствие. FAQ-боту предложи ICP без обязательного шага; sales-боту
|
|
134
|
+
до финализации нужны релевантный ICP и скрипт. Подготовь сценарии, получи завершённый sandbox и
|
|
135
|
+
findings; привязки знаний проверь в context, качество — по readiness. Если что-то не доказано,
|
|
136
|
+
назови следующий инструмент и недостающие аргументы.
|
|
141
137
|
|
|
142
138
|
### Правка работающего агента
|
|
143
139
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
### Документ → знания, правила или ICP
|
|
151
|
-
|
|
152
|
-
Использовать `besales://workflows/extract-from-document`. Inspect/sample не равны полной вычитке.
|
|
153
|
-
Для другого языка сначала перечислить листы/разделы и дать саммари на языке диалога. Чтение
|
|
154
|
-
продолжается; перед записью чисел, процентов и условий получить подтверждение, если человек их
|
|
155
|
-
ещё не согласовал. Завершение: source fingerprint, сохранённая classification, созданные IDs и
|
|
156
|
-
повторное чтение связей.
|
|
157
|
-
|
|
158
|
-
### CRM или 1С
|
|
159
|
-
|
|
160
|
-
CRM: `besales://workflows/connect-crm-from-scratch`; 1С/data source:
|
|
161
|
-
`besales://workflows/connect-datasource-from-scratch`. Browser setup поллится до `READY`.
|
|
162
|
-
После записи проверить live health/catalog/pipeline, а не только существование строки.
|
|
140
|
+
`besales_agent_list` с `query` → при нескольких совпадениях согласуй выбор →
|
|
141
|
+
`besales_agent_get` → полный снимок и черновик `besales_prompt_patch_*`. Для пакетной операции
|
|
142
|
+
есть `besales_prompt_batch_start` с `idempotency_key`; её исход проверяй через
|
|
143
|
+
`besales_prompt_batch_status` или `besales_prompt_batch_by_key`. Проверка кандидата изолирована
|
|
144
|
+
от публикации; commit/finalize — отдельное согласованное действие. Перечитай итоговую версию:
|
|
145
|
+
`skippedCount > 0`, ошибка линтера или устаревший тест не означают успех.
|
|
163
146
|
|
|
164
|
-
###
|
|
147
|
+
### Документ и подключение источников
|
|
165
148
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
149
|
+
Документ → `besales://workflows/extract-from-document`: sample недостаточен для полной вычитки.
|
|
150
|
+
Для другого языка сначала перечисли листы/разделы и дай саммари на языке диалога; числа,
|
|
151
|
+
проценты и условия согласуй до записи, если они ещё не согласованы. Зафиксируй классификацию,
|
|
152
|
+
идентификаторы созданных объектов и повторно проверь связи.
|
|
169
153
|
|
|
170
|
-
|
|
154
|
+
CRM → `besales://workflows/connect-crm-from-scratch`; 1С →
|
|
155
|
+
`besales://workflows/connect-datasource-from-scratch`. Дождись `READY`, затем проверь доступный
|
|
156
|
+
каталог и воронки. Само наличие строки подключения не доказывает живую авторизацию.
|
|
171
157
|
|
|
172
|
-
|
|
173
|
-
отправки. Сохранить `idempotency_key` до вызова, затем поллить соответствующий status. При
|
|
174
|
-
`OUTCOME_UNKNOWN` искать запуск по receipt/key и не повторять отправку.
|
|
158
|
+
### Дожимы, рассылки и аналитика
|
|
175
159
|
|
|
176
|
-
|
|
160
|
+
Для follow-up прочитай полный config и ограничения канала, сохрани все шаги при замене и
|
|
161
|
+
перечитай цепочку: `besales://docs/follow-up`. Выключенная цепочка и отсутствие ожидаемого
|
|
162
|
+
запуска — разные состояния.
|
|
177
163
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
164
|
+
Для рассылки сначала покажи preview и доступные ошибки/причины пропуска, получи подтверждение
|
|
165
|
+
живой отправки; затем проверяй статус. Если инструмент принимает `idempotency_key`, сохрани его
|
|
166
|
+
до вызова. При `OUTCOME_UNKNOWN` ищи receipt/запуск, повтор не разрешён автоматически.
|
|
181
167
|
|
|
182
|
-
|
|
168
|
+
Исходящий отчёт — `besales_broadcast_analytics_get`: период, `view=cohort|period|entry` и нужное
|
|
169
|
+
зерно. Общие неденежные итоги бери из `totals`, денежные плитки — из `moneyTotals.paidAmount` и
|
|
170
|
+
`moneyTotals.indirectAmount`; строки по каналам не суммируй повторно. Исходящие метрики не
|
|
171
|
+
доказывают отсутствие входящих сообщений.
|
|
183
172
|
|
|
184
|
-
|
|
185
|
-
unsupported и перейти в UI, не угадывать причину.
|
|
186
|
-
2. По времени проверить mute/silence/operator status, routing/model, RAG evidence,
|
|
187
|
-
trigger/action execution, transport и delivery receipt.
|
|
188
|
-
3. Отсутствие evidence назвать «не найдено свидетельство», а не нулём.
|
|
189
|
-
4. Завершение — одна доказанная причина либо перечень точных недостающих данных.
|
|
173
|
+
### Бот молчит и аудит
|
|
190
174
|
|
|
191
|
-
|
|
175
|
+
Выбери контакт и сообщение по обычным данным. Если MCP не даёт нужного чтения, назови пробел и
|
|
176
|
+
перейди в UI. По времени проверь доступные свидетельства паузы/оператора, маршрута и модели,
|
|
177
|
+
знаний, исполнения действий и доставки. Отсутствие свидетельства не равно нулю. Результат —
|
|
178
|
+
доказанная причина либо точный список недостающих данных.
|
|
192
179
|
|
|
193
|
-
`besales://workflows/audit-dialogues
|
|
194
|
-
|
|
180
|
+
Сырой аудит → `besales://workflows/audit-dialogues`; отчёт ревизора →
|
|
181
|
+
`besales_dialogue_audit_runs_list` / `besales_dialogue_audit_run_get` /
|
|
182
|
+
`besales_dialogue_audit_findings`. Pending/failed/unknown не являются успехом; ненужные PII
|
|
183
|
+
маскируй и не копируй.
|
|
195
184
|
|
|
196
185
|
### Продолжение после ошибки
|
|
197
186
|
|
|
198
|
-
401 →
|
|
199
|
-
410 → новый get_instructions; 422 →
|
|
200
|
-
|
|
201
|
-
|
|
187
|
+
401 → восстанови подключение нужного workspace; 403 → проверь недостающие scopes, сохраняя
|
|
188
|
+
прежние; 410 у external instructions → новый get_instructions; 422 → исправь указанные поля;
|
|
189
|
+
429 → выжди срок из ответа. Timeout/5xx после неидемпотентной записи → неизвестный исход,
|
|
190
|
+
сначала receipt/status/list. Перед продолжением перечитай объект и права.
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
# Workflow: Production Readiness Check
|
|
2
2
|
|
|
3
|
-
Финальная проверка перед запуском бота. Workspace overview нужен для выбора
|
|
4
|
-
`besales_agent_readiness_get` проверяет конкретного
|
|
5
|
-
|
|
6
|
-
актуальны. Не обещай, что повтор
|
|
3
|
+
Финальная проверка перед запуском бота. Workspace overview нужен для выбора канала, но
|
|
4
|
+
`besales_agent_readiness_get` проверяет конкретного агента — по каждому каналу, к которому он привязан.
|
|
5
|
+
Сейчас API не фиксирует версии зависимых настроек и возвращает `NOT_PROVEN`, даже если промпт и
|
|
6
|
+
свидетельства качества актуальны. Не обещай, что повтор песочницы даст `READY`. Часть
|
|
7
|
+
бизнес-возможностей остаётся опциональной.
|
|
7
8
|
|
|
8
9
|
## Шаг 1 — Снимок
|
|
9
10
|
|
|
@@ -12,24 +13,33 @@
|
|
|
12
13
|
|
|
13
14
|
## Чеклист (по readiness выбранного агента)
|
|
14
15
|
|
|
16
|
+
Ответ двухуровневый. Верхние `gates` — сводка по каналу песочницы (`sandboxChannelId`); `bindings[]` —
|
|
17
|
+
те же ворота по каждому каналу агента. Верхний `missing` содержит все шаги: пункты агента, затем пункты
|
|
18
|
+
каждой привязки с названием канала.
|
|
19
|
+
|
|
15
20
|
**Блокирующее (должно быть):**
|
|
16
21
|
|
|
17
22
|
- `channelActive`, `aiEnabled`, `promptConfigured`, `promptHashInvariant`, `greetingConfigured`.
|
|
18
|
-
- `knowledgeLinked`: все
|
|
19
|
-
|
|
20
|
-
- `
|
|
21
|
-
`
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
- `knowledgeLinked`: все пространства из настроек поиска агента существуют, и хотя бы одно из них доступно
|
|
24
|
+
каналу автоматическим поиском.
|
|
25
|
+
- `icp.passed`: ICP обязателен для продаж, квалификации и реактивации
|
|
26
|
+
(`SALE`, `QUALIFICATION`, `REACTIVATION`); для FAQ/поддержки это не обязательный шаг.
|
|
27
|
+
- `sandbox.status=COMPLETED`, `findingsStatus=SUBMITTED`, `qualityRate ≥ policy.minQualityRate`,
|
|
28
|
+
`promptAndAgentCurrent=true`. Прогон по кандидату промпта готовность не доказывает.
|
|
29
|
+
`configurationCurrent=null`: `promptAndAgentCurrent` проверяет только промпт и запись агента, а
|
|
30
|
+
`unverifiedDependencies` перечисляет непроверенные зависимости. Это блокирует общий положительный
|
|
31
|
+
вердикт, даже при `promptAndAgentCurrent=true`.
|
|
32
|
+
- Проверки ожиданий сценариев у доказанного прогона: ни одной проверки — шаг «добавьте ожидания»; доля
|
|
33
|
+
`checksRate` ниже `policy.minChecksRate` — шаг с долей и порогом. Пустой `checksRate` значит «не проверяли», а не
|
|
34
|
+
ноль процентов. Восемь базовых проверок заводит оператор командой `yarn evals:seed-baseline` на сервере.
|
|
25
35
|
|
|
26
36
|
**Сильно рекомендуется:**
|
|
27
|
-
- `passRate` — только живучесть. Даже 1.0 не заменяет quality
|
|
28
|
-
- `crmAuthorization=NOT_EVALUATED` означает, что
|
|
37
|
+
- `passRate` — только живучесть. Даже 1.0 не заменяет quality и findings.
|
|
38
|
+
- `crmAuthorization=NOT_EVALUATED` означает, что живой доступ к CRM надо проверить отдельно,
|
|
29
39
|
когда CRM входит в цель запуска.
|
|
30
40
|
|
|
31
|
-
`NOT_PROVEN` — нормальный честный исход. Выполни адресные пункты `missing
|
|
32
|
-
readiness: сохранённый ответ не заменяет свежую проверку объекта и прав.
|
|
41
|
+
`NOT_PROVEN` — нормальный честный исход. Выполни адресные пункты `missing` обоих уровней, затем
|
|
42
|
+
перечитай readiness: сохранённый ответ не заменяет свежую проверку объекта и прав.
|
|
33
43
|
|
|
34
44
|
**По бизнес-цели (опционально — НЕ «недоделано» если не нужно):**
|
|
35
45
|
- Triggers / follow-ups: `besales_trigger_upsert` / `besales_followup_sequence_upsert`.
|