bereach-openclaw 1.4.7 → 1.4.8-beta.1
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/__tests__/hooks.test.ts +260 -870
- package/node_modules/bereach/FUNCTIONS.md +90 -0
- package/node_modules/bereach/README.md +737 -0
- package/node_modules/bereach/RUNTIMES.md +48 -0
- package/node_modules/bereach/esm/core.d.ts +10 -0
- package/node_modules/bereach/esm/core.d.ts.map +1 -0
- package/node_modules/bereach/esm/core.js +13 -0
- package/node_modules/bereach/esm/core.js.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-accept-invitation.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/actions-accept-invitation.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-accept-invitation.js +97 -0
- package/node_modules/bereach/esm/funcs/actions-accept-invitation.js.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-connect-profile.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/actions-connect-profile.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-connect-profile.js +97 -0
- package/node_modules/bereach/esm/funcs/actions-connect-profile.js.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-create-comment.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/actions-create-comment.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-create-comment.js +97 -0
- package/node_modules/bereach/esm/funcs/actions-create-comment.js.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-decline-invitation.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/actions-decline-invitation.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-decline-invitation.js +97 -0
- package/node_modules/bereach/esm/funcs/actions-decline-invitation.js.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-edit-comment.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/actions-edit-comment.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-edit-comment.js +97 -0
- package/node_modules/bereach/esm/funcs/actions-edit-comment.js.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-edit-post.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/actions-edit-post.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-edit-post.js +97 -0
- package/node_modules/bereach/esm/funcs/actions-edit-post.js.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-follow-company.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/actions-follow-company.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-follow-company.js +97 -0
- package/node_modules/bereach/esm/funcs/actions-follow-company.js.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-follow-profile.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/actions-follow-profile.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-follow-profile.js +97 -0
- package/node_modules/bereach/esm/funcs/actions-follow-profile.js.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-like-comment.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/actions-like-comment.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-like-comment.js +97 -0
- package/node_modules/bereach/esm/funcs/actions-like-comment.js.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-like-post.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/actions-like-post.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-like-post.js +97 -0
- package/node_modules/bereach/esm/funcs/actions-like-post.js.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-list-invitations.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/actions-list-invitations.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-list-invitations.js +99 -0
- package/node_modules/bereach/esm/funcs/actions-list-invitations.js.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-list-sent-invitations.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/actions-list-sent-invitations.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-list-sent-invitations.js +97 -0
- package/node_modules/bereach/esm/funcs/actions-list-sent-invitations.js.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-publish-post.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/actions-publish-post.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-publish-post.js +97 -0
- package/node_modules/bereach/esm/funcs/actions-publish-post.js.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-reply-to-comment.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/actions-reply-to-comment.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-reply-to-comment.js +97 -0
- package/node_modules/bereach/esm/funcs/actions-reply-to-comment.js.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-repost-post.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/actions-repost-post.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-repost-post.js +97 -0
- package/node_modules/bereach/esm/funcs/actions-repost-post.js.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-save-post.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/actions-save-post.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-save-post.js +97 -0
- package/node_modules/bereach/esm/funcs/actions-save-post.js.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-send-message.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/actions-send-message.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-send-message.js +97 -0
- package/node_modules/bereach/esm/funcs/actions-send-message.js.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-unfollow-company.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/actions-unfollow-company.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-unfollow-company.js +97 -0
- package/node_modules/bereach/esm/funcs/actions-unfollow-company.js.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-unfollow-profile.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/actions-unfollow-profile.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-unfollow-profile.js +97 -0
- package/node_modules/bereach/esm/funcs/actions-unfollow-profile.js.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-unlike-comment.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/actions-unlike-comment.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-unlike-comment.js +97 -0
- package/node_modules/bereach/esm/funcs/actions-unlike-comment.js.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-unlike-post.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/actions-unlike-post.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-unlike-post.js +97 -0
- package/node_modules/bereach/esm/funcs/actions-unlike-post.js.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-unsave-post.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/actions-unsave-post.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-unsave-post.js +97 -0
- package/node_modules/bereach/esm/funcs/actions-unsave-post.js.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-withdraw-invitation.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/actions-withdraw-invitation.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/actions-withdraw-invitation.js +97 -0
- package/node_modules/bereach/esm/funcs/actions-withdraw-invitation.js.map +1 -0
- package/node_modules/bereach/esm/funcs/campaigns-filter.d.ts +20 -0
- package/node_modules/bereach/esm/funcs/campaigns-filter.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/campaigns-filter.js +108 -0
- package/node_modules/bereach/esm/funcs/campaigns-filter.js.map +1 -0
- package/node_modules/bereach/esm/funcs/campaigns-get-status.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/campaigns-get-status.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/campaigns-get-status.js +103 -0
- package/node_modules/bereach/esm/funcs/campaigns-get-status.js.map +1 -0
- package/node_modules/bereach/esm/funcs/campaigns-stats.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/campaigns-stats.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/campaigns-stats.js +102 -0
- package/node_modules/bereach/esm/funcs/campaigns-stats.js.map +1 -0
- package/node_modules/bereach/esm/funcs/campaigns-sync.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/campaigns-sync.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/campaigns-sync.js +103 -0
- package/node_modules/bereach/esm/funcs/campaigns-sync.js.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-archive.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/chat-archive.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-archive.js +97 -0
- package/node_modules/bereach/esm/funcs/chat-archive.js.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-find-conversation.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/chat-find-conversation.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-find-conversation.js +97 -0
- package/node_modules/bereach/esm/funcs/chat-find-conversation.js.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-get-messages.d.ts +22 -0
- package/node_modules/bereach/esm/funcs/chat-get-messages.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-get-messages.js +105 -0
- package/node_modules/bereach/esm/funcs/chat-get-messages.js.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-get-unread-count.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/chat-get-unread-count.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-get-unread-count.js +86 -0
- package/node_modules/bereach/esm/funcs/chat-get-unread-count.js.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-list-archived.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/chat-list-archived.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-list-archived.js +100 -0
- package/node_modules/bereach/esm/funcs/chat-list-archived.js.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-list-inbox.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/chat-list-inbox.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-list-inbox.js +99 -0
- package/node_modules/bereach/esm/funcs/chat-list-inbox.js.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-list-starred.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/chat-list-starred.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-list-starred.js +100 -0
- package/node_modules/bereach/esm/funcs/chat-list-starred.js.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-mark-all-read.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/chat-mark-all-read.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-mark-all-read.js +87 -0
- package/node_modules/bereach/esm/funcs/chat-mark-all-read.js.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-mark-seen.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/chat-mark-seen.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-mark-seen.js +97 -0
- package/node_modules/bereach/esm/funcs/chat-mark-seen.js.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-react.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/chat-react.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-react.js +97 -0
- package/node_modules/bereach/esm/funcs/chat-react.js.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-search-conversations.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/chat-search-conversations.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-search-conversations.js +101 -0
- package/node_modules/bereach/esm/funcs/chat-search-conversations.js.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-send-typing-indicator.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/chat-send-typing-indicator.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-send-typing-indicator.js +97 -0
- package/node_modules/bereach/esm/funcs/chat-send-typing-indicator.js.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-star.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/chat-star.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-star.js +97 -0
- package/node_modules/bereach/esm/funcs/chat-star.js.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-unarchive.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/chat-unarchive.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-unarchive.js +97 -0
- package/node_modules/bereach/esm/funcs/chat-unarchive.js.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-unreact.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/chat-unreact.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-unreact.js +97 -0
- package/node_modules/bereach/esm/funcs/chat-unreact.js.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-unstar.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/chat-unstar.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/chat-unstar.js +97 -0
- package/node_modules/bereach/esm/funcs/chat-unstar.js.map +1 -0
- package/node_modules/bereach/esm/funcs/company-pages-get-analytics.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/company-pages-get-analytics.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/company-pages-get-analytics.js +97 -0
- package/node_modules/bereach/esm/funcs/company-pages-get-analytics.js.map +1 -0
- package/node_modules/bereach/esm/funcs/company-pages-get-permissions.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/company-pages-get-permissions.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/company-pages-get-permissions.js +97 -0
- package/node_modules/bereach/esm/funcs/company-pages-get-permissions.js.map +1 -0
- package/node_modules/bereach/esm/funcs/company-pages-list.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/company-pages-list.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/company-pages-list.js +86 -0
- package/node_modules/bereach/esm/funcs/company-pages-list.js.map +1 -0
- package/node_modules/bereach/esm/funcs/company-pages-posts.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/company-pages-posts.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/company-pages-posts.js +97 -0
- package/node_modules/bereach/esm/funcs/company-pages-posts.js.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-add-activities.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/contacts-add-activities.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-add-activities.js +103 -0
- package/node_modules/bereach/esm/funcs/contacts-add-activities.js.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-add-to-campaign.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/contacts-add-to-campaign.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-add-to-campaign.js +103 -0
- package/node_modules/bereach/esm/funcs/contacts-add-to-campaign.js.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-bulk-update.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/contacts-bulk-update.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-bulk-update.js +97 -0
- package/node_modules/bereach/esm/funcs/contacts-bulk-update.js.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-campaign-status-transition.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/contacts-campaign-status-transition.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-campaign-status-transition.js +103 -0
- package/node_modules/bereach/esm/funcs/contacts-campaign-status-transition.js.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-create-campaign.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/contacts-create-campaign.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-create-campaign.js +97 -0
- package/node_modules/bereach/esm/funcs/contacts-create-campaign.js.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-delete-agent-state.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/contacts-delete-agent-state.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-delete-agent-state.js +102 -0
- package/node_modules/bereach/esm/funcs/contacts-delete-agent-state.js.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-delete-campaign.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/contacts-delete-campaign.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-delete-campaign.js +102 -0
- package/node_modules/bereach/esm/funcs/contacts-delete-campaign.js.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-get-agent-state.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/contacts-get-agent-state.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-get-agent-state.js +102 -0
- package/node_modules/bereach/esm/funcs/contacts-get-agent-state.js.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-get-by-url.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/contacts-get-by-url.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-get-by-url.js +100 -0
- package/node_modules/bereach/esm/funcs/contacts-get-by-url.js.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-get-campaign.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/contacts-get-campaign.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-get-campaign.js +102 -0
- package/node_modules/bereach/esm/funcs/contacts-get-campaign.js.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-get.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/contacts-get.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-get.js +102 -0
- package/node_modules/bereach/esm/funcs/contacts-get.js.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-list-activities.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/contacts-list-activities.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-list-activities.js +108 -0
- package/node_modules/bereach/esm/funcs/contacts-list-activities.js.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-list-agent-states.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/contacts-list-agent-states.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-list-agent-states.js +100 -0
- package/node_modules/bereach/esm/funcs/contacts-list-agent-states.js.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-list-by-campaign.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/contacts-list-by-campaign.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-list-by-campaign.js +111 -0
- package/node_modules/bereach/esm/funcs/contacts-list-by-campaign.js.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-list-campaigns.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/contacts-list-campaigns.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-list-campaigns.js +103 -0
- package/node_modules/bereach/esm/funcs/contacts-list-campaigns.js.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-patch-agent-state.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/contacts-patch-agent-state.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-patch-agent-state.js +103 -0
- package/node_modules/bereach/esm/funcs/contacts-patch-agent-state.js.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-search.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/contacts-search.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-search.js +112 -0
- package/node_modules/bereach/esm/funcs/contacts-search.js.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-set-agent-state.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/contacts-set-agent-state.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-set-agent-state.js +103 -0
- package/node_modules/bereach/esm/funcs/contacts-set-agent-state.js.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-stats.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/contacts-stats.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-stats.js +100 -0
- package/node_modules/bereach/esm/funcs/contacts-stats.js.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-update-campaign.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/contacts-update-campaign.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-update-campaign.js +103 -0
- package/node_modules/bereach/esm/funcs/contacts-update-campaign.js.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-update.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/contacts-update.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-update.js +103 -0
- package/node_modules/bereach/esm/funcs/contacts-update.js.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-upsert.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/contacts-upsert.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/contacts-upsert.js +97 -0
- package/node_modules/bereach/esm/funcs/contacts-upsert.js.map +1 -0
- package/node_modules/bereach/esm/funcs/context-delete.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/context-delete.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/context-delete.js +101 -0
- package/node_modules/bereach/esm/funcs/context-delete.js.map +1 -0
- package/node_modules/bereach/esm/funcs/context-list-entries.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/context-list-entries.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/context-list-entries.js +101 -0
- package/node_modules/bereach/esm/funcs/context-list-entries.js.map +1 -0
- package/node_modules/bereach/esm/funcs/context-set.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/context-set.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/context-set.js +97 -0
- package/node_modules/bereach/esm/funcs/context-set.js.map +1 -0
- package/node_modules/bereach/esm/funcs/cron-list-schedules.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/cron-list-schedules.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/cron-list-schedules.js +86 -0
- package/node_modules/bereach/esm/funcs/cron-list-schedules.js.map +1 -0
- package/node_modules/bereach/esm/funcs/cron-update-schedule.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/cron-update-schedule.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/cron-update-schedule.js +103 -0
- package/node_modules/bereach/esm/funcs/cron-update-schedule.js.map +1 -0
- package/node_modules/bereach/esm/funcs/profile-get-credits.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/profile-get-credits.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/profile-get-credits.js +86 -0
- package/node_modules/bereach/esm/funcs/profile-get-credits.js.map +1 -0
- package/node_modules/bereach/esm/funcs/profile-get-follower-analytics.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/profile-get-follower-analytics.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/profile-get-follower-analytics.js +87 -0
- package/node_modules/bereach/esm/funcs/profile-get-follower-analytics.js.map +1 -0
- package/node_modules/bereach/esm/funcs/profile-get-followers.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/profile-get-followers.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/profile-get-followers.js +99 -0
- package/node_modules/bereach/esm/funcs/profile-get-followers.js.map +1 -0
- package/node_modules/bereach/esm/funcs/profile-get-limits.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/profile-get-limits.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/profile-get-limits.js +86 -0
- package/node_modules/bereach/esm/funcs/profile-get-limits.js.map +1 -0
- package/node_modules/bereach/esm/funcs/profile-get-post-analytics.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/profile-get-post-analytics.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/profile-get-post-analytics.js +97 -0
- package/node_modules/bereach/esm/funcs/profile-get-post-analytics.js.map +1 -0
- package/node_modules/bereach/esm/funcs/profile-get-search-appearances.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/profile-get-search-appearances.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/profile-get-search-appearances.js +87 -0
- package/node_modules/bereach/esm/funcs/profile-get-search-appearances.js.map +1 -0
- package/node_modules/bereach/esm/funcs/profile-get.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/profile-get.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/profile-get.js +86 -0
- package/node_modules/bereach/esm/funcs/profile-get.js.map +1 -0
- package/node_modules/bereach/esm/funcs/profile-list-accounts.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/profile-list-accounts.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/profile-list-accounts.js +86 -0
- package/node_modules/bereach/esm/funcs/profile-list-accounts.js.map +1 -0
- package/node_modules/bereach/esm/funcs/profile-list-connections.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/profile-list-connections.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/profile-list-connections.js +103 -0
- package/node_modules/bereach/esm/funcs/profile-list-connections.js.map +1 -0
- package/node_modules/bereach/esm/funcs/profile-posts.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/profile-posts.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/profile-posts.js +99 -0
- package/node_modules/bereach/esm/funcs/profile-posts.js.map +1 -0
- package/node_modules/bereach/esm/funcs/profile-refresh.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/profile-refresh.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/profile-refresh.js +86 -0
- package/node_modules/bereach/esm/funcs/profile-refresh.js.map +1 -0
- package/node_modules/bereach/esm/funcs/profile-switch-account.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/profile-switch-account.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/profile-switch-account.js +97 -0
- package/node_modules/bereach/esm/funcs/profile-switch-account.js.map +1 -0
- package/node_modules/bereach/esm/funcs/profile-update-account.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/profile-update-account.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/profile-update-account.js +97 -0
- package/node_modules/bereach/esm/funcs/profile-update-account.js.map +1 -0
- package/node_modules/bereach/esm/funcs/profile-views.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/profile-views.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/profile-views.js +87 -0
- package/node_modules/bereach/esm/funcs/profile-views.js.map +1 -0
- package/node_modules/bereach/esm/funcs/sales-nav-companies.d.ts +33 -0
- package/node_modules/bereach/esm/funcs/sales-nav-companies.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/sales-nav-companies.js +112 -0
- package/node_modules/bereach/esm/funcs/sales-nav-companies.js.map +1 -0
- package/node_modules/bereach/esm/funcs/sales-nav-people.d.ts +53 -0
- package/node_modules/bereach/esm/funcs/sales-nav-people.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/sales-nav-people.js +132 -0
- package/node_modules/bereach/esm/funcs/sales-nav-people.js.map +1 -0
- package/node_modules/bereach/esm/funcs/sales-nav-search.d.ts +39 -0
- package/node_modules/bereach/esm/funcs/sales-nav-search.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/sales-nav-search.js +118 -0
- package/node_modules/bereach/esm/funcs/sales-nav-search.js.map +1 -0
- package/node_modules/bereach/esm/funcs/scheduled-messages-batch-schedule.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/scheduled-messages-batch-schedule.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/scheduled-messages-batch-schedule.js +97 -0
- package/node_modules/bereach/esm/funcs/scheduled-messages-batch-schedule.js.map +1 -0
- package/node_modules/bereach/esm/funcs/scheduled-messages-cancel.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/scheduled-messages-cancel.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/scheduled-messages-cancel.js +97 -0
- package/node_modules/bereach/esm/funcs/scheduled-messages-cancel.js.map +1 -0
- package/node_modules/bereach/esm/funcs/scheduled-messages-create.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/scheduled-messages-create.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/scheduled-messages-create.js +97 -0
- package/node_modules/bereach/esm/funcs/scheduled-messages-create.js.map +1 -0
- package/node_modules/bereach/esm/funcs/scheduled-messages-list.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/scheduled-messages-list.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/scheduled-messages-list.js +104 -0
- package/node_modules/bereach/esm/funcs/scheduled-messages-list.js.map +1 -0
- package/node_modules/bereach/esm/funcs/scrapers-bulk-visit-batch-status.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/scrapers-bulk-visit-batch-status.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/scrapers-bulk-visit-batch-status.js +102 -0
- package/node_modules/bereach/esm/funcs/scrapers-bulk-visit-batch-status.js.map +1 -0
- package/node_modules/bereach/esm/funcs/scrapers-bulk-visit-profile.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/scrapers-bulk-visit-profile.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/scrapers-bulk-visit-profile.js +97 -0
- package/node_modules/bereach/esm/funcs/scrapers-bulk-visit-profile.js.map +1 -0
- package/node_modules/bereach/esm/funcs/scrapers-collect-comment-replies.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/scrapers-collect-comment-replies.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/scrapers-collect-comment-replies.js +97 -0
- package/node_modules/bereach/esm/funcs/scrapers-collect-comment-replies.js.map +1 -0
- package/node_modules/bereach/esm/funcs/scrapers-collect-comments.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/scrapers-collect-comments.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/scrapers-collect-comments.js +97 -0
- package/node_modules/bereach/esm/funcs/scrapers-collect-comments.js.map +1 -0
- package/node_modules/bereach/esm/funcs/scrapers-collect-hashtag-posts.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/scrapers-collect-hashtag-posts.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/scrapers-collect-hashtag-posts.js +97 -0
- package/node_modules/bereach/esm/funcs/scrapers-collect-hashtag-posts.js.map +1 -0
- package/node_modules/bereach/esm/funcs/scrapers-collect-likes.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/scrapers-collect-likes.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/scrapers-collect-likes.js +97 -0
- package/node_modules/bereach/esm/funcs/scrapers-collect-likes.js.map +1 -0
- package/node_modules/bereach/esm/funcs/scrapers-collect-posts.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/scrapers-collect-posts.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/scrapers-collect-posts.js +97 -0
- package/node_modules/bereach/esm/funcs/scrapers-collect-posts.js.map +1 -0
- package/node_modules/bereach/esm/funcs/scrapers-get-feed.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/scrapers-get-feed.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/scrapers-get-feed.js +99 -0
- package/node_modules/bereach/esm/funcs/scrapers-get-feed.js.map +1 -0
- package/node_modules/bereach/esm/funcs/scrapers-list-saved-posts.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/scrapers-list-saved-posts.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/scrapers-list-saved-posts.js +97 -0
- package/node_modules/bereach/esm/funcs/scrapers-list-saved-posts.js.map +1 -0
- package/node_modules/bereach/esm/funcs/scrapers-visit-company.d.ts +18 -0
- package/node_modules/bereach/esm/funcs/scrapers-visit-company.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/scrapers-visit-company.js +97 -0
- package/node_modules/bereach/esm/funcs/scrapers-visit-company.js.map +1 -0
- package/node_modules/bereach/esm/funcs/scrapers-visit-profile.d.ts +20 -0
- package/node_modules/bereach/esm/funcs/scrapers-visit-profile.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/scrapers-visit-profile.js +99 -0
- package/node_modules/bereach/esm/funcs/scrapers-visit-profile.js.map +1 -0
- package/node_modules/bereach/esm/funcs/search-by-url.d.ts +69 -0
- package/node_modules/bereach/esm/funcs/search-by-url.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/search-by-url.js +148 -0
- package/node_modules/bereach/esm/funcs/search-by-url.js.map +1 -0
- package/node_modules/bereach/esm/funcs/search-companies.d.ts +75 -0
- package/node_modules/bereach/esm/funcs/search-companies.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/search-companies.js +154 -0
- package/node_modules/bereach/esm/funcs/search-companies.js.map +1 -0
- package/node_modules/bereach/esm/funcs/search-jobs.d.ts +96 -0
- package/node_modules/bereach/esm/funcs/search-jobs.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/search-jobs.js +175 -0
- package/node_modules/bereach/esm/funcs/search-jobs.js.map +1 -0
- package/node_modules/bereach/esm/funcs/search-people.d.ts +83 -0
- package/node_modules/bereach/esm/funcs/search-people.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/search-people.js +162 -0
- package/node_modules/bereach/esm/funcs/search-people.js.map +1 -0
- package/node_modules/bereach/esm/funcs/search-posts.d.ts +71 -0
- package/node_modules/bereach/esm/funcs/search-posts.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/search-posts.js +150 -0
- package/node_modules/bereach/esm/funcs/search-posts.js.map +1 -0
- package/node_modules/bereach/esm/funcs/search-resolve-parameters.d.ts +50 -0
- package/node_modules/bereach/esm/funcs/search-resolve-parameters.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/search-resolve-parameters.js +134 -0
- package/node_modules/bereach/esm/funcs/search-resolve-parameters.js.map +1 -0
- package/node_modules/bereach/esm/funcs/search-search.d.ts +55 -0
- package/node_modules/bereach/esm/funcs/search-search.d.ts.map +1 -0
- package/node_modules/bereach/esm/funcs/search-search.js +134 -0
- package/node_modules/bereach/esm/funcs/search-search.js.map +1 -0
- package/node_modules/bereach/esm/hooks/hooks.d.ts +25 -0
- package/node_modules/bereach/esm/hooks/hooks.d.ts.map +1 -0
- package/node_modules/bereach/esm/hooks/hooks.js +82 -0
- package/node_modules/bereach/esm/hooks/hooks.js.map +1 -0
- package/node_modules/bereach/esm/hooks/index.d.ts +3 -0
- package/node_modules/bereach/esm/hooks/index.d.ts.map +1 -0
- package/node_modules/bereach/esm/hooks/index.js +6 -0
- package/node_modules/bereach/esm/hooks/index.js.map +1 -0
- package/node_modules/bereach/esm/hooks/registration.d.ts +3 -0
- package/node_modules/bereach/esm/hooks/registration.d.ts.map +1 -0
- package/node_modules/bereach/esm/hooks/registration.js +12 -0
- package/node_modules/bereach/esm/hooks/registration.js.map +1 -0
- package/node_modules/bereach/esm/hooks/types.d.ts +76 -0
- package/node_modules/bereach/esm/hooks/types.d.ts.map +1 -0
- package/node_modules/bereach/esm/hooks/types.js +5 -0
- package/node_modules/bereach/esm/hooks/types.js.map +1 -0
- package/node_modules/bereach/esm/index.d.ts +6 -0
- package/node_modules/bereach/esm/index.d.ts.map +1 -0
- package/node_modules/bereach/esm/index.js +8 -0
- package/node_modules/bereach/esm/index.js.map +1 -0
- package/node_modules/bereach/esm/lib/base64.d.ts +10 -0
- package/node_modules/bereach/esm/lib/base64.d.ts.map +1 -0
- package/node_modules/bereach/esm/lib/base64.js +31 -0
- package/node_modules/bereach/esm/lib/base64.js.map +1 -0
- package/node_modules/bereach/esm/lib/config.d.ts +38 -0
- package/node_modules/bereach/esm/lib/config.d.ts.map +1 -0
- package/node_modules/bereach/esm/lib/config.js +38 -0
- package/node_modules/bereach/esm/lib/config.js.map +1 -0
- package/node_modules/bereach/esm/lib/dlv.d.ts +14 -0
- package/node_modules/bereach/esm/lib/dlv.d.ts.map +1 -0
- package/node_modules/bereach/esm/lib/dlv.js +46 -0
- package/node_modules/bereach/esm/lib/dlv.js.map +1 -0
- package/node_modules/bereach/esm/lib/encodings.d.ts +53 -0
- package/node_modules/bereach/esm/lib/encodings.d.ts.map +1 -0
- package/node_modules/bereach/esm/lib/encodings.js +370 -0
- package/node_modules/bereach/esm/lib/encodings.js.map +1 -0
- package/node_modules/bereach/esm/lib/env.d.ts +15 -0
- package/node_modules/bereach/esm/lib/env.d.ts.map +1 -0
- package/node_modules/bereach/esm/lib/env.js +44 -0
- package/node_modules/bereach/esm/lib/env.js.map +1 -0
- package/node_modules/bereach/esm/lib/files.d.ts +26 -0
- package/node_modules/bereach/esm/lib/files.d.ts.map +1 -0
- package/node_modules/bereach/esm/lib/files.js +91 -0
- package/node_modules/bereach/esm/lib/files.js.map +1 -0
- package/node_modules/bereach/esm/lib/http.d.ts +67 -0
- package/node_modules/bereach/esm/lib/http.d.ts.map +1 -0
- package/node_modules/bereach/esm/lib/http.js +209 -0
- package/node_modules/bereach/esm/lib/http.js.map +1 -0
- package/node_modules/bereach/esm/lib/is-plain-object.d.ts +2 -0
- package/node_modules/bereach/esm/lib/is-plain-object.d.ts.map +1 -0
- package/node_modules/bereach/esm/lib/is-plain-object.js +38 -0
- package/node_modules/bereach/esm/lib/is-plain-object.js.map +1 -0
- package/node_modules/bereach/esm/lib/logger.d.ts +6 -0
- package/node_modules/bereach/esm/lib/logger.d.ts.map +1 -0
- package/node_modules/bereach/esm/lib/logger.js +5 -0
- package/node_modules/bereach/esm/lib/logger.js.map +1 -0
- package/node_modules/bereach/esm/lib/matchers.d.ts +59 -0
- package/node_modules/bereach/esm/lib/matchers.d.ts.map +1 -0
- package/node_modules/bereach/esm/lib/matchers.js +202 -0
- package/node_modules/bereach/esm/lib/matchers.js.map +1 -0
- package/node_modules/bereach/esm/lib/primitives.d.ts +26 -0
- package/node_modules/bereach/esm/lib/primitives.d.ts.map +1 -0
- package/node_modules/bereach/esm/lib/primitives.js +103 -0
- package/node_modules/bereach/esm/lib/primitives.js.map +1 -0
- package/node_modules/bereach/esm/lib/retries.d.ts +38 -0
- package/node_modules/bereach/esm/lib/retries.d.ts.map +1 -0
- package/node_modules/bereach/esm/lib/retries.js +150 -0
- package/node_modules/bereach/esm/lib/retries.js.map +1 -0
- package/node_modules/bereach/esm/lib/schemas.d.ts +21 -0
- package/node_modules/bereach/esm/lib/schemas.d.ts.map +1 -0
- package/node_modules/bereach/esm/lib/schemas.js +57 -0
- package/node_modules/bereach/esm/lib/schemas.js.map +1 -0
- package/node_modules/bereach/esm/lib/sdks.d.ts +63 -0
- package/node_modules/bereach/esm/lib/sdks.d.ts.map +1 -0
- package/node_modules/bereach/esm/lib/sdks.js +262 -0
- package/node_modules/bereach/esm/lib/sdks.js.map +1 -0
- package/node_modules/bereach/esm/lib/security.d.ts +83 -0
- package/node_modules/bereach/esm/lib/security.d.ts.map +1 -0
- package/node_modules/bereach/esm/lib/security.js +138 -0
- package/node_modules/bereach/esm/lib/security.js.map +1 -0
- package/node_modules/bereach/esm/lib/url.d.ts +5 -0
- package/node_modules/bereach/esm/lib/url.d.ts.map +1 -0
- package/node_modules/bereach/esm/lib/url.js +24 -0
- package/node_modules/bereach/esm/lib/url.js.map +1 -0
- package/node_modules/bereach/esm/models/errors/bereach-default-error.d.ts +10 -0
- package/node_modules/bereach/esm/models/errors/bereach-default-error.d.ts.map +1 -0
- package/node_modules/bereach/esm/models/errors/bereach-default-error.js +30 -0
- package/node_modules/bereach/esm/models/errors/bereach-default-error.js.map +1 -0
- package/node_modules/bereach/esm/models/errors/bereach-error.d.ts +19 -0
- package/node_modules/bereach/esm/models/errors/bereach-error.d.ts.map +1 -0
- package/node_modules/bereach/esm/models/errors/bereach-error.js +26 -0
- package/node_modules/bereach/esm/models/errors/bereach-error.js.map +1 -0
- package/node_modules/bereach/esm/models/errors/collect-likes.d.ts +257 -0
- package/node_modules/bereach/esm/models/errors/collect-likes.d.ts.map +1 -0
- package/node_modules/bereach/esm/models/errors/collect-likes.js +372 -0
- package/node_modules/bereach/esm/models/errors/collect-likes.js.map +1 -0
- package/node_modules/bereach/esm/models/errors/http-client-errors.d.ts +44 -0
- package/node_modules/bereach/esm/models/errors/http-client-errors.d.ts.map +1 -0
- package/node_modules/bereach/esm/models/errors/http-client-errors.js +56 -0
- package/node_modules/bereach/esm/models/errors/http-client-errors.js.map +1 -0
- package/node_modules/bereach/esm/models/errors/index.d.ts +7 -0
- package/node_modules/bereach/esm/models/errors/index.d.ts.map +1 -0
- package/node_modules/bereach/esm/models/errors/index.js +10 -0
- package/node_modules/bereach/esm/models/errors/index.js.map +1 -0
- package/node_modules/bereach/esm/models/errors/response-validation-error.d.ts +26 -0
- package/node_modules/bereach/esm/models/errors/response-validation-error.d.ts.map +1 -0
- package/node_modules/bereach/esm/models/errors/response-validation-error.js +37 -0
- package/node_modules/bereach/esm/models/errors/response-validation-error.js.map +1 -0
- package/node_modules/bereach/esm/models/errors/sdk-validation-error.d.ts +21 -0
- package/node_modules/bereach/esm/models/errors/sdk-validation-error.d.ts.map +1 -0
- package/node_modules/bereach/esm/models/errors/sdk-validation-error.js +52 -0
- package/node_modules/bereach/esm/models/errors/sdk-validation-error.js.map +1 -0
- package/node_modules/bereach/esm/models/index.d.ts +2 -0
- package/node_modules/bereach/esm/models/index.d.ts.map +1 -0
- package/node_modules/bereach/esm/models/index.js +5 -0
- package/node_modules/bereach/esm/models/index.js.map +1 -0
- package/node_modules/bereach/esm/models/operations/index.d.ts +5 -0
- package/node_modules/bereach/esm/models/operations/index.d.ts.map +1 -0
- package/node_modules/bereach/esm/models/operations/index.js +8 -0
- package/node_modules/bereach/esm/models/operations/index.js.map +1 -0
- package/node_modules/bereach/esm/models/operations/search-companies-response.d.ts +2520 -0
- package/node_modules/bereach/esm/models/operations/search-companies-response.d.ts.map +1 -0
- package/node_modules/bereach/esm/models/operations/search-companies-response.js +1631 -0
- package/node_modules/bereach/esm/models/operations/search-companies-response.js.map +1 -0
- package/node_modules/bereach/esm/models/operations/search-contacts-campaign.d.ts +2629 -0
- package/node_modules/bereach/esm/models/operations/search-contacts-campaign.d.ts.map +1 -0
- package/node_modules/bereach/esm/models/operations/search-contacts-campaign.js +1590 -0
- package/node_modules/bereach/esm/models/operations/search-contacts-campaign.js.map +1 -0
- package/node_modules/bereach/esm/models/operations/update-account-response.d.ts +2808 -0
- package/node_modules/bereach/esm/models/operations/update-account-response.d.ts.map +1 -0
- package/node_modules/bereach/esm/models/operations/update-account-response.js +1577 -0
- package/node_modules/bereach/esm/models/operations/update-account-response.js.map +1 -0
- package/node_modules/bereach/esm/models/operations/update-schedule-response.d.ts +2449 -0
- package/node_modules/bereach/esm/models/operations/update-schedule-response.d.ts.map +1 -0
- package/node_modules/bereach/esm/models/operations/update-schedule-response.js +1529 -0
- package/node_modules/bereach/esm/models/operations/update-schedule-response.js.map +1 -0
- package/node_modules/bereach/esm/models/security.d.ts +12 -0
- package/node_modules/bereach/esm/models/security.d.ts.map +1 -0
- package/node_modules/bereach/esm/models/security.js +12 -0
- package/node_modules/bereach/esm/models/security.js.map +1 -0
- package/node_modules/bereach/esm/sdk/actions.d.ts +166 -0
- package/node_modules/bereach/esm/sdk/actions.d.ts.map +1 -0
- package/node_modules/bereach/esm/sdk/actions.js +238 -0
- package/node_modules/bereach/esm/sdk/actions.js.map +1 -0
- package/node_modules/bereach/esm/sdk/campaigns.d.ts +35 -0
- package/node_modules/bereach/esm/sdk/campaigns.d.ts.map +1 -0
- package/node_modules/bereach/esm/sdk/campaigns.js +50 -0
- package/node_modules/bereach/esm/sdk/campaigns.js.map +1 -0
- package/node_modules/bereach/esm/sdk/chat.d.ts +121 -0
- package/node_modules/bereach/esm/sdk/chat.d.ts.map +1 -0
- package/node_modules/bereach/esm/sdk/chat.js +172 -0
- package/node_modules/bereach/esm/sdk/chat.js.map +1 -0
- package/node_modules/bereach/esm/sdk/company-pages.d.ts +33 -0
- package/node_modules/bereach/esm/sdk/company-pages.d.ts.map +1 -0
- package/node_modules/bereach/esm/sdk/company-pages.js +48 -0
- package/node_modules/bereach/esm/sdk/company-pages.js.map +1 -0
- package/node_modules/bereach/esm/sdk/contacts.d.ts +159 -0
- package/node_modules/bereach/esm/sdk/contacts.d.ts.map +1 -0
- package/node_modules/bereach/esm/sdk/contacts.js +228 -0
- package/node_modules/bereach/esm/sdk/contacts.js.map +1 -0
- package/node_modules/bereach/esm/sdk/context.d.ts +26 -0
- package/node_modules/bereach/esm/sdk/context.d.ts.map +1 -0
- package/node_modules/bereach/esm/sdk/context.js +38 -0
- package/node_modules/bereach/esm/sdk/context.js.map +1 -0
- package/node_modules/bereach/esm/sdk/cron.d.ts +19 -0
- package/node_modules/bereach/esm/sdk/cron.d.ts.map +1 -0
- package/node_modules/bereach/esm/sdk/cron.js +28 -0
- package/node_modules/bereach/esm/sdk/cron.js.map +1 -0
- package/node_modules/bereach/esm/sdk/index.d.ts +2 -0
- package/node_modules/bereach/esm/sdk/index.d.ts.map +1 -0
- package/node_modules/bereach/esm/sdk/index.js +5 -0
- package/node_modules/bereach/esm/sdk/index.js.map +1 -0
- package/node_modules/bereach/esm/sdk/profile.d.ts +103 -0
- package/node_modules/bereach/esm/sdk/profile.d.ts.map +1 -0
- package/node_modules/bereach/esm/sdk/profile.js +148 -0
- package/node_modules/bereach/esm/sdk/profile.js.map +1 -0
- package/node_modules/bereach/esm/sdk/sales-nav.d.ts +97 -0
- package/node_modules/bereach/esm/sdk/sales-nav.d.ts.map +1 -0
- package/node_modules/bereach/esm/sdk/sales-nav.js +109 -0
- package/node_modules/bereach/esm/sdk/sales-nav.js.map +1 -0
- package/node_modules/bereach/esm/sdk/scheduled-messages.d.ts +33 -0
- package/node_modules/bereach/esm/sdk/scheduled-messages.d.ts.map +1 -0
- package/node_modules/bereach/esm/sdk/scheduled-messages.js +48 -0
- package/node_modules/bereach/esm/sdk/scheduled-messages.js.map +1 -0
- package/node_modules/bereach/esm/sdk/scrapers.d.ts +84 -0
- package/node_modules/bereach/esm/sdk/scrapers.d.ts.map +1 -0
- package/node_modules/bereach/esm/sdk/scrapers.js +120 -0
- package/node_modules/bereach/esm/sdk/scrapers.js.map +1 -0
- package/node_modules/bereach/esm/sdk/sdk.d.ts +40 -0
- package/node_modules/bereach/esm/sdk/sdk.d.ts.map +1 -0
- package/node_modules/bereach/esm/sdk/sdk.js +67 -0
- package/node_modules/bereach/esm/sdk/sdk.js.map +1 -0
- package/node_modules/bereach/esm/sdk/search.d.ts +427 -0
- package/node_modules/bereach/esm/sdk/search.d.ts.map +1 -0
- package/node_modules/bereach/esm/sdk/search.js +451 -0
- package/node_modules/bereach/esm/sdk/search.js.map +1 -0
- package/node_modules/bereach/esm/types/async.d.ts +23 -0
- package/node_modules/bereach/esm/types/async.d.ts.map +1 -0
- package/node_modules/bereach/esm/types/async.js +28 -0
- package/node_modules/bereach/esm/types/async.js.map +1 -0
- package/node_modules/bereach/esm/types/blobs.d.ts +4 -0
- package/node_modules/bereach/esm/types/blobs.d.ts.map +1 -0
- package/node_modules/bereach/esm/types/blobs.js +25 -0
- package/node_modules/bereach/esm/types/blobs.js.map +1 -0
- package/node_modules/bereach/esm/types/const-date-time.d.ts +3 -0
- package/node_modules/bereach/esm/types/const-date-time.d.ts.map +1 -0
- package/node_modules/bereach/esm/types/const-date-time.js +10 -0
- package/node_modules/bereach/esm/types/const-date-time.js.map +1 -0
- package/node_modules/bereach/esm/types/default-to-zero-value.d.ts +12 -0
- package/node_modules/bereach/esm/types/default-to-zero-value.d.ts.map +1 -0
- package/node_modules/bereach/esm/types/default-to-zero-value.js +31 -0
- package/node_modules/bereach/esm/types/default-to-zero-value.js.map +1 -0
- package/node_modules/bereach/esm/types/discriminated-union.d.ts +25 -0
- package/node_modules/bereach/esm/types/discriminated-union.d.ts.map +1 -0
- package/node_modules/bereach/esm/types/discriminated-union.js +61 -0
- package/node_modules/bereach/esm/types/discriminated-union.js.map +1 -0
- package/node_modules/bereach/esm/types/enums.d.ts +9 -0
- package/node_modules/bereach/esm/types/enums.d.ts.map +1 -0
- package/node_modules/bereach/esm/types/enums.js +27 -0
- package/node_modules/bereach/esm/types/enums.js.map +1 -0
- package/node_modules/bereach/esm/types/fp.d.ts +31 -0
- package/node_modules/bereach/esm/types/fp.d.ts.map +1 -0
- package/node_modules/bereach/esm/types/fp.js +31 -0
- package/node_modules/bereach/esm/types/fp.js.map +1 -0
- package/node_modules/bereach/esm/types/index.d.ts +10 -0
- package/node_modules/bereach/esm/types/index.d.ts.map +1 -0
- package/node_modules/bereach/esm/types/index.js +10 -0
- package/node_modules/bereach/esm/types/index.js.map +1 -0
- package/node_modules/bereach/esm/types/operations.d.ts +27 -0
- package/node_modules/bereach/esm/types/operations.d.ts.map +1 -0
- package/node_modules/bereach/esm/types/operations.js +77 -0
- package/node_modules/bereach/esm/types/operations.js.map +1 -0
- package/node_modules/bereach/esm/types/primitives.d.ts +11 -0
- package/node_modules/bereach/esm/types/primitives.d.ts.map +1 -0
- package/node_modules/bereach/esm/types/primitives.js +132 -0
- package/node_modules/bereach/esm/types/primitives.js.map +1 -0
- package/node_modules/bereach/esm/types/rfcdate.d.ts +21 -0
- package/node_modules/bereach/esm/types/rfcdate.d.ts.map +1 -0
- package/node_modules/bereach/esm/types/rfcdate.js +43 -0
- package/node_modules/bereach/esm/types/rfcdate.js.map +1 -0
- package/node_modules/bereach/esm/types/smart-union.d.ts +7 -0
- package/node_modules/bereach/esm/types/smart-union.d.ts.map +1 -0
- package/node_modules/bereach/esm/types/smart-union.js +118 -0
- package/node_modules/bereach/esm/types/smart-union.js.map +1 -0
- package/node_modules/bereach/esm/types/streams.d.ts +2 -0
- package/node_modules/bereach/esm/types/streams.d.ts.map +1 -0
- package/node_modules/bereach/esm/types/streams.js +15 -0
- package/node_modules/bereach/esm/types/streams.js.map +1 -0
- package/node_modules/bereach/esm/types/unrecognized.d.ts +16 -0
- package/node_modules/bereach/esm/types/unrecognized.d.ts.map +1 -0
- package/node_modules/bereach/esm/types/unrecognized.js +31 -0
- package/node_modules/bereach/esm/types/unrecognized.js.map +1 -0
- package/node_modules/bereach/examples/scrapersCollectLikes.example.ts +30 -0
- package/node_modules/bereach/jsr.json +27 -0
- package/node_modules/bereach/package.json +66 -0
- package/node_modules/bereach/src/core.ts +13 -0
- package/node_modules/bereach/src/funcs/actions-accept-invitation.ts +225 -0
- package/node_modules/bereach/src/funcs/actions-connect-profile.ts +224 -0
- package/node_modules/bereach/src/funcs/actions-create-comment.ts +224 -0
- package/node_modules/bereach/src/funcs/actions-decline-invitation.ts +225 -0
- package/node_modules/bereach/src/funcs/actions-edit-comment.ts +224 -0
- package/node_modules/bereach/src/funcs/actions-edit-post.ts +224 -0
- package/node_modules/bereach/src/funcs/actions-follow-company.ts +224 -0
- package/node_modules/bereach/src/funcs/actions-follow-profile.ts +224 -0
- package/node_modules/bereach/src/funcs/actions-like-comment.ts +224 -0
- package/node_modules/bereach/src/funcs/actions-like-post.ts +224 -0
- package/node_modules/bereach/src/funcs/actions-list-invitations.ts +230 -0
- package/node_modules/bereach/src/funcs/actions-list-sent-invitations.ts +225 -0
- package/node_modules/bereach/src/funcs/actions-publish-post.ts +224 -0
- package/node_modules/bereach/src/funcs/actions-reply-to-comment.ts +224 -0
- package/node_modules/bereach/src/funcs/actions-repost-post.ts +224 -0
- package/node_modules/bereach/src/funcs/actions-save-post.ts +224 -0
- package/node_modules/bereach/src/funcs/actions-send-message.ts +224 -0
- package/node_modules/bereach/src/funcs/actions-unfollow-company.ts +224 -0
- package/node_modules/bereach/src/funcs/actions-unfollow-profile.ts +224 -0
- package/node_modules/bereach/src/funcs/actions-unlike-comment.ts +224 -0
- package/node_modules/bereach/src/funcs/actions-unlike-post.ts +224 -0
- package/node_modules/bereach/src/funcs/actions-unsave-post.ts +224 -0
- package/node_modules/bereach/src/funcs/actions-withdraw-invitation.ts +225 -0
- package/node_modules/bereach/src/funcs/campaigns-filter.ts +236 -0
- package/node_modules/bereach/src/funcs/campaigns-get-status.ts +230 -0
- package/node_modules/bereach/src/funcs/campaigns-stats.ts +230 -0
- package/node_modules/bereach/src/funcs/campaigns-sync.ts +230 -0
- package/node_modules/bereach/src/funcs/chat-archive.ts +224 -0
- package/node_modules/bereach/src/funcs/chat-find-conversation.ts +225 -0
- package/node_modules/bereach/src/funcs/chat-get-messages.ts +233 -0
- package/node_modules/bereach/src/funcs/chat-get-unread-count.ts +205 -0
- package/node_modules/bereach/src/funcs/chat-list-archived.ts +229 -0
- package/node_modules/bereach/src/funcs/chat-list-inbox.ts +227 -0
- package/node_modules/bereach/src/funcs/chat-list-starred.ts +229 -0
- package/node_modules/bereach/src/funcs/chat-mark-all-read.ts +209 -0
- package/node_modules/bereach/src/funcs/chat-mark-seen.ts +224 -0
- package/node_modules/bereach/src/funcs/chat-react.ts +224 -0
- package/node_modules/bereach/src/funcs/chat-search-conversations.ts +230 -0
- package/node_modules/bereach/src/funcs/chat-send-typing-indicator.ts +225 -0
- package/node_modules/bereach/src/funcs/chat-star.ts +224 -0
- package/node_modules/bereach/src/funcs/chat-unarchive.ts +224 -0
- package/node_modules/bereach/src/funcs/chat-unreact.ts +224 -0
- package/node_modules/bereach/src/funcs/chat-unstar.ts +224 -0
- package/node_modules/bereach/src/funcs/company-pages-get-analytics.ts +224 -0
- package/node_modules/bereach/src/funcs/company-pages-get-permissions.ts +224 -0
- package/node_modules/bereach/src/funcs/company-pages-list.ts +205 -0
- package/node_modules/bereach/src/funcs/company-pages-posts.ts +224 -0
- package/node_modules/bereach/src/funcs/contacts-add-activities.ts +230 -0
- package/node_modules/bereach/src/funcs/contacts-add-to-campaign.ts +233 -0
- package/node_modules/bereach/src/funcs/contacts-bulk-update.ts +224 -0
- package/node_modules/bereach/src/funcs/contacts-campaign-status-transition.ts +233 -0
- package/node_modules/bereach/src/funcs/contacts-create-campaign.ts +224 -0
- package/node_modules/bereach/src/funcs/contacts-delete-agent-state.ts +230 -0
- package/node_modules/bereach/src/funcs/contacts-delete-campaign.ts +229 -0
- package/node_modules/bereach/src/funcs/contacts-get-agent-state.ts +229 -0
- package/node_modules/bereach/src/funcs/contacts-get-by-url.ts +228 -0
- package/node_modules/bereach/src/funcs/contacts-get-campaign.ts +229 -0
- package/node_modules/bereach/src/funcs/contacts-get.ts +229 -0
- package/node_modules/bereach/src/funcs/contacts-list-activities.ts +236 -0
- package/node_modules/bereach/src/funcs/contacts-list-agent-states.ts +232 -0
- package/node_modules/bereach/src/funcs/contacts-list-by-campaign.ts +242 -0
- package/node_modules/bereach/src/funcs/contacts-list-campaigns.ts +235 -0
- package/node_modules/bereach/src/funcs/contacts-patch-agent-state.ts +230 -0
- package/node_modules/bereach/src/funcs/contacts-search.ts +244 -0
- package/node_modules/bereach/src/funcs/contacts-set-agent-state.ts +230 -0
- package/node_modules/bereach/src/funcs/contacts-stats.ts +232 -0
- package/node_modules/bereach/src/funcs/contacts-update-campaign.ts +230 -0
- package/node_modules/bereach/src/funcs/contacts-update.ts +230 -0
- package/node_modules/bereach/src/funcs/contacts-upsert.ts +224 -0
- package/node_modules/bereach/src/funcs/context-delete.ts +229 -0
- package/node_modules/bereach/src/funcs/context-list-entries.ts +230 -0
- package/node_modules/bereach/src/funcs/context-set.ts +224 -0
- package/node_modules/bereach/src/funcs/cron-list-schedules.ts +205 -0
- package/node_modules/bereach/src/funcs/cron-update-schedule.ts +230 -0
- package/node_modules/bereach/src/funcs/profile-get-credits.ts +205 -0
- package/node_modules/bereach/src/funcs/profile-get-follower-analytics.ts +209 -0
- package/node_modules/bereach/src/funcs/profile-get-followers.ts +227 -0
- package/node_modules/bereach/src/funcs/profile-get-limits.ts +205 -0
- package/node_modules/bereach/src/funcs/profile-get-post-analytics.ts +225 -0
- package/node_modules/bereach/src/funcs/profile-get-search-appearances.ts +209 -0
- package/node_modules/bereach/src/funcs/profile-get.ts +205 -0
- package/node_modules/bereach/src/funcs/profile-list-accounts.ts +205 -0
- package/node_modules/bereach/src/funcs/profile-list-connections.ts +235 -0
- package/node_modules/bereach/src/funcs/profile-posts.ts +227 -0
- package/node_modules/bereach/src/funcs/profile-refresh.ts +205 -0
- package/node_modules/bereach/src/funcs/profile-switch-account.ts +224 -0
- package/node_modules/bereach/src/funcs/profile-update-account.ts +224 -0
- package/node_modules/bereach/src/funcs/profile-views.ts +209 -0
- package/node_modules/bereach/src/funcs/sales-nav-companies.ts +240 -0
- package/node_modules/bereach/src/funcs/sales-nav-people.ts +260 -0
- package/node_modules/bereach/src/funcs/sales-nav-search.ts +245 -0
- package/node_modules/bereach/src/funcs/scheduled-messages-batch-schedule.ts +224 -0
- package/node_modules/bereach/src/funcs/scheduled-messages-cancel.ts +224 -0
- package/node_modules/bereach/src/funcs/scheduled-messages-create.ts +224 -0
- package/node_modules/bereach/src/funcs/scheduled-messages-list.ts +233 -0
- package/node_modules/bereach/src/funcs/scrapers-bulk-visit-batch-status.ts +230 -0
- package/node_modules/bereach/src/funcs/scrapers-bulk-visit-profile.ts +225 -0
- package/node_modules/bereach/src/funcs/scrapers-collect-comment-replies.ts +225 -0
- package/node_modules/bereach/src/funcs/scrapers-collect-comments.ts +224 -0
- package/node_modules/bereach/src/funcs/scrapers-collect-hashtag-posts.ts +225 -0
- package/node_modules/bereach/src/funcs/scrapers-collect-likes.ts +224 -0
- package/node_modules/bereach/src/funcs/scrapers-collect-posts.ts +224 -0
- package/node_modules/bereach/src/funcs/scrapers-get-feed.ts +227 -0
- package/node_modules/bereach/src/funcs/scrapers-list-saved-posts.ts +224 -0
- package/node_modules/bereach/src/funcs/scrapers-visit-company.ts +224 -0
- package/node_modules/bereach/src/funcs/scrapers-visit-profile.ts +226 -0
- package/node_modules/bereach/src/funcs/search-by-url.ts +275 -0
- package/node_modules/bereach/src/funcs/search-companies.ts +281 -0
- package/node_modules/bereach/src/funcs/search-jobs.ts +302 -0
- package/node_modules/bereach/src/funcs/search-people.ts +289 -0
- package/node_modules/bereach/src/funcs/search-posts.ts +277 -0
- package/node_modules/bereach/src/funcs/search-resolve-parameters.ts +263 -0
- package/node_modules/bereach/src/funcs/search-search.ts +261 -0
- package/node_modules/bereach/src/hooks/hooks.ts +132 -0
- package/node_modules/bereach/src/hooks/index.ts +6 -0
- package/node_modules/bereach/src/hooks/registration.ts +14 -0
- package/node_modules/bereach/src/hooks/types.ts +107 -0
- package/node_modules/bereach/src/index.ts +9 -0
- package/node_modules/bereach/src/lib/base64.ts +39 -0
- package/node_modules/bereach/src/lib/config.ts +71 -0
- package/node_modules/bereach/src/lib/dlv.ts +53 -0
- package/node_modules/bereach/src/lib/encodings.ts +501 -0
- package/node_modules/bereach/src/lib/env.ts +57 -0
- package/node_modules/bereach/src/lib/files.ts +104 -0
- package/node_modules/bereach/src/lib/http.ts +323 -0
- package/node_modules/bereach/src/lib/is-plain-object.ts +43 -0
- package/node_modules/bereach/src/lib/logger.ts +9 -0
- package/node_modules/bereach/src/lib/matchers.ts +353 -0
- package/node_modules/bereach/src/lib/primitives.ts +150 -0
- package/node_modules/bereach/src/lib/retries.ts +218 -0
- package/node_modules/bereach/src/lib/schemas.ts +94 -0
- package/node_modules/bereach/src/lib/sdks.ts +408 -0
- package/node_modules/bereach/src/lib/security.ts +263 -0
- package/node_modules/bereach/src/lib/url.ts +35 -0
- package/node_modules/bereach/src/models/errors/bereach-default-error.ts +40 -0
- package/node_modules/bereach/src/models/errors/bereach-error.ts +35 -0
- package/node_modules/bereach/src/models/errors/collect-likes.ts +600 -0
- package/node_modules/bereach/src/models/errors/http-client-errors.ts +62 -0
- package/node_modules/bereach/src/models/errors/index.ts +10 -0
- package/node_modules/bereach/src/models/errors/response-validation-error.ts +50 -0
- package/node_modules/bereach/src/models/errors/sdk-validation-error.ts +54 -0
- package/node_modules/bereach/src/models/index.ts +5 -0
- package/node_modules/bereach/src/models/operations/index.ts +8 -0
- package/node_modules/bereach/src/models/operations/search-companies-response.ts +4914 -0
- package/node_modules/bereach/src/models/operations/search-contacts-campaign.ts +5266 -0
- package/node_modules/bereach/src/models/operations/update-account-response.ts +5364 -0
- package/node_modules/bereach/src/models/operations/update-schedule-response.ts +4764 -0
- package/node_modules/bereach/src/models/security.ts +26 -0
- package/node_modules/bereach/src/sdk/actions.ts +423 -0
- package/node_modules/bereach/src/sdk/campaigns.ts +83 -0
- package/node_modules/bereach/src/sdk/chat.ts +299 -0
- package/node_modules/bereach/src/sdk/company-pages.ts +79 -0
- package/node_modules/bereach/src/sdk/contacts.ts +405 -0
- package/node_modules/bereach/src/sdk/context.ts +63 -0
- package/node_modules/bereach/src/sdk/cron.ts +43 -0
- package/node_modules/bereach/src/sdk/index.ts +5 -0
- package/node_modules/bereach/src/sdk/profile.ts +251 -0
- package/node_modules/bereach/src/sdk/sales-nav.ts +134 -0
- package/node_modules/bereach/src/sdk/scheduled-messages.ts +81 -0
- package/node_modules/bereach/src/sdk/scrapers.ts +209 -0
- package/node_modules/bereach/src/sdk/sdk.ts +79 -0
- package/node_modules/bereach/src/sdk/search.ts +508 -0
- package/node_modules/bereach/src/types/async.ts +68 -0
- package/node_modules/bereach/src/types/blobs.ts +33 -0
- package/node_modules/bereach/src/types/const-date-time.ts +15 -0
- package/node_modules/bereach/src/types/default-to-zero-value.ts +33 -0
- package/node_modules/bereach/src/types/discriminated-union.ts +101 -0
- package/node_modules/bereach/src/types/enums.ts +45 -0
- package/node_modules/bereach/src/types/fp.ts +50 -0
- package/node_modules/bereach/src/types/index.ts +13 -0
- package/node_modules/bereach/src/types/operations.ts +105 -0
- package/node_modules/bereach/src/types/primitives.ts +168 -0
- package/node_modules/bereach/src/types/rfcdate.ts +54 -0
- package/node_modules/bereach/src/types/smart-union.ts +154 -0
- package/node_modules/bereach/src/types/streams.ts +21 -0
- package/node_modules/bereach/src/types/unrecognized.ts +35 -0
- package/node_modules/zod/LICENSE +21 -0
- package/node_modules/zod/README.md +208 -0
- package/node_modules/zod/index.cjs +33 -0
- package/node_modules/zod/index.d.cts +4 -0
- package/node_modules/zod/index.d.ts +4 -0
- package/node_modules/zod/index.js +4 -0
- package/node_modules/zod/locales/index.cjs +17 -0
- package/node_modules/zod/locales/index.d.cts +1 -0
- package/node_modules/zod/locales/index.d.ts +1 -0
- package/node_modules/zod/locales/index.js +1 -0
- package/node_modules/zod/locales/package.json +6 -0
- package/node_modules/zod/mini/index.cjs +32 -0
- package/node_modules/zod/mini/index.d.cts +3 -0
- package/node_modules/zod/mini/index.d.ts +3 -0
- package/node_modules/zod/mini/index.js +3 -0
- package/node_modules/zod/mini/package.json +6 -0
- package/node_modules/zod/package.json +135 -0
- package/node_modules/zod/src/index.ts +4 -0
- package/node_modules/zod/src/locales/index.ts +1 -0
- package/node_modules/zod/src/mini/index.ts +3 -0
- package/node_modules/zod/src/v3/ZodError.ts +330 -0
- package/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
- package/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
- package/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
- package/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
- package/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
- package/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
- package/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
- package/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
- package/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
- package/node_modules/zod/src/v3/errors.ts +13 -0
- package/node_modules/zod/src/v3/external.ts +6 -0
- package/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
- package/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
- package/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
- package/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
- package/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
- package/node_modules/zod/src/v3/helpers/util.ts +224 -0
- package/node_modules/zod/src/v3/index.ts +4 -0
- package/node_modules/zod/src/v3/locales/en.ts +124 -0
- package/node_modules/zod/src/v3/standard-schema.ts +113 -0
- package/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
- package/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
- package/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
- package/node_modules/zod/src/v3/tests/array.test.ts +71 -0
- package/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
- package/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
- package/node_modules/zod/src/v3/tests/base.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
- package/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
- package/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
- package/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
- package/node_modules/zod/src/v3/tests/complex.test.ts +70 -0
- package/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
- package/node_modules/zod/src/v3/tests/date.test.ts +32 -0
- package/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
- package/node_modules/zod/src/v3/tests/default.test.ts +112 -0
- package/node_modules/zod/src/v3/tests/description.test.ts +33 -0
- package/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
- package/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
- package/node_modules/zod/src/v3/tests/error.test.ts +551 -0
- package/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
- package/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
- package/node_modules/zod/src/v3/tests/function.test.ts +261 -0
- package/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
- package/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
- package/node_modules/zod/src/v3/tests/intersection.test.ts +110 -0
- package/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
- package/node_modules/zod/src/v3/tests/language-server.test.ts +207 -0
- package/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
- package/node_modules/zod/src/v3/tests/map.test.ts +110 -0
- package/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
- package/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
- package/node_modules/zod/src/v3/tests/nan.test.ts +24 -0
- package/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
- package/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
- package/node_modules/zod/src/v3/tests/number.test.ts +176 -0
- package/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/object.test.ts +434 -0
- package/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
- package/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
- package/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
- package/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
- package/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
- package/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
- package/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
- package/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
- package/node_modules/zod/src/v3/tests/readonly.test.ts +194 -0
- package/node_modules/zod/src/v3/tests/record.test.ts +171 -0
- package/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
- package/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
- package/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
- package/node_modules/zod/src/v3/tests/set.test.ts +142 -0
- package/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
- package/node_modules/zod/src/v3/tests/string.test.ts +916 -0
- package/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
- package/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
- package/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
- package/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
- package/node_modules/zod/src/v3/tests/void.test.ts +15 -0
- package/node_modules/zod/src/v3/types.ts +5138 -0
- package/node_modules/zod/src/v4/classic/checks.ts +32 -0
- package/node_modules/zod/src/v4/classic/coerce.ts +27 -0
- package/node_modules/zod/src/v4/classic/compat.ts +70 -0
- package/node_modules/zod/src/v4/classic/errors.ts +82 -0
- package/node_modules/zod/src/v4/classic/external.ts +51 -0
- package/node_modules/zod/src/v4/classic/from-json-schema.ts +643 -0
- package/node_modules/zod/src/v4/classic/index.ts +5 -0
- package/node_modules/zod/src/v4/classic/iso.ts +90 -0
- package/node_modules/zod/src/v4/classic/parse.ts +82 -0
- package/node_modules/zod/src/v4/classic/schemas.ts +2409 -0
- package/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
- package/node_modules/zod/src/v4/classic/tests/apply.test.ts +59 -0
- package/node_modules/zod/src/v4/classic/tests/array.test.ts +264 -0
- package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +210 -0
- package/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
- package/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
- package/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
- package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +54 -0
- package/node_modules/zod/src/v4/classic/tests/brand.test.ts +106 -0
- package/node_modules/zod/src/v4/classic/tests/catch.test.ts +276 -0
- package/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
- package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +573 -0
- package/node_modules/zod/src/v4/classic/tests/codec.test.ts +562 -0
- package/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
- package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +374 -0
- package/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
- package/node_modules/zod/src/v4/classic/tests/date.test.ts +62 -0
- package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +302 -0
- package/node_modules/zod/src/v4/classic/tests/default.test.ts +365 -0
- package/node_modules/zod/src/v4/classic/tests/describe-meta-checks.test.ts +27 -0
- package/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
- package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +661 -0
- package/node_modules/zod/src/v4/classic/tests/enum.test.ts +285 -0
- package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +595 -0
- package/node_modules/zod/src/v4/classic/tests/error.test.ts +711 -0
- package/node_modules/zod/src/v4/classic/tests/file.test.ts +96 -0
- package/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +179 -0
- package/node_modules/zod/src/v4/classic/tests/fix-json-issue.test.ts +26 -0
- package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +734 -0
- package/node_modules/zod/src/v4/classic/tests/function.test.ts +360 -0
- package/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
- package/node_modules/zod/src/v4/classic/tests/hash.test.ts +68 -0
- package/node_modules/zod/src/v4/classic/tests/index.test.ts +939 -0
- package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +60 -0
- package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +198 -0
- package/node_modules/zod/src/v4/classic/tests/json.test.ts +109 -0
- package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +227 -0
- package/node_modules/zod/src/v4/classic/tests/literal.test.ts +117 -0
- package/node_modules/zod/src/v4/classic/tests/map.test.ts +330 -0
- package/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
- package/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
- package/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +101 -0
- package/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
- package/node_modules/zod/src/v4/classic/tests/number.test.ts +270 -0
- package/node_modules/zod/src/v4/classic/tests/object.test.ts +640 -0
- package/node_modules/zod/src/v4/classic/tests/optional.test.ts +223 -0
- package/node_modules/zod/src/v4/classic/tests/partial.test.ts +427 -0
- package/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +211 -0
- package/node_modules/zod/src/v4/classic/tests/pipe.test.ts +101 -0
- package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +74 -0
- package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +282 -0
- package/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
- package/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
- package/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
- package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +252 -0
- package/node_modules/zod/src/v4/classic/tests/record.test.ts +632 -0
- package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +582 -0
- package/node_modules/zod/src/v4/classic/tests/refine.test.ts +570 -0
- package/node_modules/zod/src/v4/classic/tests/registries.test.ts +243 -0
- package/node_modules/zod/src/v4/classic/tests/set.test.ts +181 -0
- package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +134 -0
- package/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +125 -0
- package/node_modules/zod/src/v4/classic/tests/string.test.ts +1175 -0
- package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +106 -0
- package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +771 -0
- package/node_modules/zod/src/v4/classic/tests/to-json-schema-methods.test.ts +438 -0
- package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +2990 -0
- package/node_modules/zod/src/v4/classic/tests/transform.test.ts +361 -0
- package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +183 -0
- package/node_modules/zod/src/v4/classic/tests/union.test.ts +219 -0
- package/node_modules/zod/src/v4/classic/tests/url.test.ts +13 -0
- package/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
- package/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
- package/node_modules/zod/src/v4/core/api.ts +1798 -0
- package/node_modules/zod/src/v4/core/checks.ts +1293 -0
- package/node_modules/zod/src/v4/core/config.ts +15 -0
- package/node_modules/zod/src/v4/core/core.ts +138 -0
- package/node_modules/zod/src/v4/core/doc.ts +44 -0
- package/node_modules/zod/src/v4/core/errors.ts +448 -0
- package/node_modules/zod/src/v4/core/index.ts +16 -0
- package/node_modules/zod/src/v4/core/json-schema-generator.ts +126 -0
- package/node_modules/zod/src/v4/core/json-schema-processors.ts +667 -0
- package/node_modules/zod/src/v4/core/json-schema.ts +147 -0
- package/node_modules/zod/src/v4/core/parse.ts +195 -0
- package/node_modules/zod/src/v4/core/regexes.ts +183 -0
- package/node_modules/zod/src/v4/core/registries.ts +105 -0
- package/node_modules/zod/src/v4/core/schemas.ts +4538 -0
- package/node_modules/zod/src/v4/core/standard-schema.ts +159 -0
- package/node_modules/zod/src/v4/core/tests/extend.test.ts +59 -0
- package/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
- package/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
- package/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
- package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +181 -0
- package/node_modules/zod/src/v4/core/tests/locales/he.test.ts +379 -0
- package/node_modules/zod/src/v4/core/tests/locales/nl.test.ts +46 -0
- package/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
- package/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
- package/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +83 -0
- package/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +67 -0
- package/node_modules/zod/src/v4/core/tests/recursive-tuples.test.ts +45 -0
- package/node_modules/zod/src/v4/core/to-json-schema.ts +613 -0
- package/node_modules/zod/src/v4/core/util.ts +966 -0
- package/node_modules/zod/src/v4/core/versions.ts +5 -0
- package/node_modules/zod/src/v4/core/zsf.ts +323 -0
- package/node_modules/zod/src/v4/index.ts +4 -0
- package/node_modules/zod/src/v4/locales/ar.ts +115 -0
- package/node_modules/zod/src/v4/locales/az.ts +111 -0
- package/node_modules/zod/src/v4/locales/be.ts +176 -0
- package/node_modules/zod/src/v4/locales/bg.ts +128 -0
- package/node_modules/zod/src/v4/locales/ca.ts +116 -0
- package/node_modules/zod/src/v4/locales/cs.ts +118 -0
- package/node_modules/zod/src/v4/locales/da.ts +123 -0
- package/node_modules/zod/src/v4/locales/de.ts +116 -0
- package/node_modules/zod/src/v4/locales/en.ts +119 -0
- package/node_modules/zod/src/v4/locales/eo.ts +118 -0
- package/node_modules/zod/src/v4/locales/es.ts +141 -0
- package/node_modules/zod/src/v4/locales/fa.ts +126 -0
- package/node_modules/zod/src/v4/locales/fi.ts +121 -0
- package/node_modules/zod/src/v4/locales/fr-CA.ts +116 -0
- package/node_modules/zod/src/v4/locales/fr.ts +116 -0
- package/node_modules/zod/src/v4/locales/he.ts +246 -0
- package/node_modules/zod/src/v4/locales/hu.ts +117 -0
- package/node_modules/zod/src/v4/locales/hy.ts +164 -0
- package/node_modules/zod/src/v4/locales/id.ts +115 -0
- package/node_modules/zod/src/v4/locales/index.ts +49 -0
- package/node_modules/zod/src/v4/locales/is.ts +119 -0
- package/node_modules/zod/src/v4/locales/it.ts +116 -0
- package/node_modules/zod/src/v4/locales/ja.ts +114 -0
- package/node_modules/zod/src/v4/locales/ka.ts +123 -0
- package/node_modules/zod/src/v4/locales/kh.ts +7 -0
- package/node_modules/zod/src/v4/locales/km.ts +119 -0
- package/node_modules/zod/src/v4/locales/ko.ts +121 -0
- package/node_modules/zod/src/v4/locales/lt.ts +239 -0
- package/node_modules/zod/src/v4/locales/mk.ts +118 -0
- package/node_modules/zod/src/v4/locales/ms.ts +115 -0
- package/node_modules/zod/src/v4/locales/nl.ts +121 -0
- package/node_modules/zod/src/v4/locales/no.ts +116 -0
- package/node_modules/zod/src/v4/locales/ota.ts +117 -0
- package/node_modules/zod/src/v4/locales/pl.ts +118 -0
- package/node_modules/zod/src/v4/locales/ps.ts +126 -0
- package/node_modules/zod/src/v4/locales/pt.ts +116 -0
- package/node_modules/zod/src/v4/locales/ru.ts +176 -0
- package/node_modules/zod/src/v4/locales/sl.ts +118 -0
- package/node_modules/zod/src/v4/locales/sv.ts +119 -0
- package/node_modules/zod/src/v4/locales/ta.ts +118 -0
- package/node_modules/zod/src/v4/locales/th.ts +119 -0
- package/node_modules/zod/src/v4/locales/tr.ts +111 -0
- package/node_modules/zod/src/v4/locales/ua.ts +7 -0
- package/node_modules/zod/src/v4/locales/uk.ts +117 -0
- package/node_modules/zod/src/v4/locales/ur.ts +119 -0
- package/node_modules/zod/src/v4/locales/uz.ts +116 -0
- package/node_modules/zod/src/v4/locales/vi.ts +117 -0
- package/node_modules/zod/src/v4/locales/yo.ts +124 -0
- package/node_modules/zod/src/v4/locales/zh-CN.ts +116 -0
- package/node_modules/zod/src/v4/locales/zh-TW.ts +115 -0
- package/node_modules/zod/src/v4/mini/checks.ts +32 -0
- package/node_modules/zod/src/v4/mini/coerce.ts +27 -0
- package/node_modules/zod/src/v4/mini/external.ts +40 -0
- package/node_modules/zod/src/v4/mini/index.ts +3 -0
- package/node_modules/zod/src/v4/mini/iso.ts +66 -0
- package/node_modules/zod/src/v4/mini/parse.ts +14 -0
- package/node_modules/zod/src/v4/mini/schemas.ts +1916 -0
- package/node_modules/zod/src/v4/mini/tests/apply.test.ts +24 -0
- package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +129 -0
- package/node_modules/zod/src/v4/mini/tests/brand.test.ts +94 -0
- package/node_modules/zod/src/v4/mini/tests/checks.test.ts +144 -0
- package/node_modules/zod/src/v4/mini/tests/codec.test.ts +529 -0
- package/node_modules/zod/src/v4/mini/tests/computed.test.ts +36 -0
- package/node_modules/zod/src/v4/mini/tests/error.test.ts +22 -0
- package/node_modules/zod/src/v4/mini/tests/functions.test.ts +5 -0
- package/node_modules/zod/src/v4/mini/tests/index.test.ts +963 -0
- package/node_modules/zod/src/v4/mini/tests/number.test.ts +95 -0
- package/node_modules/zod/src/v4/mini/tests/object.test.ts +227 -0
- package/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
- package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +275 -0
- package/node_modules/zod/src/v4/mini/tests/standard-schema.test.ts +50 -0
- package/node_modules/zod/src/v4/mini/tests/string.test.ts +347 -0
- package/node_modules/zod/src/v4-mini/index.ts +3 -0
- package/node_modules/zod/v3/ZodError.cjs +138 -0
- package/node_modules/zod/v3/ZodError.d.cts +164 -0
- package/node_modules/zod/v3/ZodError.d.ts +164 -0
- package/node_modules/zod/v3/ZodError.js +133 -0
- package/node_modules/zod/v3/errors.cjs +17 -0
- package/node_modules/zod/v3/errors.d.cts +5 -0
- package/node_modules/zod/v3/errors.d.ts +5 -0
- package/node_modules/zod/v3/errors.js +9 -0
- package/node_modules/zod/v3/external.cjs +22 -0
- package/node_modules/zod/v3/external.d.cts +6 -0
- package/node_modules/zod/v3/external.d.ts +6 -0
- package/node_modules/zod/v3/external.js +6 -0
- package/node_modules/zod/v3/helpers/enumUtil.cjs +2 -0
- package/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
- package/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
- package/node_modules/zod/v3/helpers/enumUtil.js +1 -0
- package/node_modules/zod/v3/helpers/errorUtil.cjs +9 -0
- package/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
- package/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
- package/node_modules/zod/v3/helpers/errorUtil.js +6 -0
- package/node_modules/zod/v3/helpers/parseUtil.cjs +124 -0
- package/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
- package/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
- package/node_modules/zod/v3/helpers/parseUtil.js +109 -0
- package/node_modules/zod/v3/helpers/partialUtil.cjs +2 -0
- package/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
- package/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
- package/node_modules/zod/v3/helpers/partialUtil.js +1 -0
- package/node_modules/zod/v3/helpers/typeAliases.cjs +2 -0
- package/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
- package/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
- package/node_modules/zod/v3/helpers/typeAliases.js +1 -0
- package/node_modules/zod/v3/helpers/util.cjs +137 -0
- package/node_modules/zod/v3/helpers/util.d.cts +85 -0
- package/node_modules/zod/v3/helpers/util.d.ts +85 -0
- package/node_modules/zod/v3/helpers/util.js +133 -0
- package/node_modules/zod/v3/index.cjs +33 -0
- package/node_modules/zod/v3/index.d.cts +4 -0
- package/node_modules/zod/v3/index.d.ts +4 -0
- package/node_modules/zod/v3/index.js +4 -0
- package/node_modules/zod/v3/locales/en.cjs +112 -0
- package/node_modules/zod/v3/locales/en.d.cts +3 -0
- package/node_modules/zod/v3/locales/en.d.ts +3 -0
- package/node_modules/zod/v3/locales/en.js +109 -0
- package/node_modules/zod/v3/package.json +6 -0
- package/node_modules/zod/v3/standard-schema.cjs +2 -0
- package/node_modules/zod/v3/standard-schema.d.cts +102 -0
- package/node_modules/zod/v3/standard-schema.d.ts +102 -0
- package/node_modules/zod/v3/standard-schema.js +1 -0
- package/node_modules/zod/v3/types.cjs +3777 -0
- package/node_modules/zod/v3/types.d.cts +1034 -0
- package/node_modules/zod/v3/types.d.ts +1034 -0
- package/node_modules/zod/v3/types.js +3695 -0
- package/node_modules/zod/v4/classic/checks.cjs +33 -0
- package/node_modules/zod/v4/classic/checks.d.cts +1 -0
- package/node_modules/zod/v4/classic/checks.d.ts +1 -0
- package/node_modules/zod/v4/classic/checks.js +1 -0
- package/node_modules/zod/v4/classic/coerce.cjs +47 -0
- package/node_modules/zod/v4/classic/coerce.d.cts +17 -0
- package/node_modules/zod/v4/classic/coerce.d.ts +17 -0
- package/node_modules/zod/v4/classic/coerce.js +17 -0
- package/node_modules/zod/v4/classic/compat.cjs +61 -0
- package/node_modules/zod/v4/classic/compat.d.cts +50 -0
- package/node_modules/zod/v4/classic/compat.d.ts +50 -0
- package/node_modules/zod/v4/classic/compat.js +31 -0
- package/node_modules/zod/v4/classic/errors.cjs +74 -0
- package/node_modules/zod/v4/classic/errors.d.cts +30 -0
- package/node_modules/zod/v4/classic/errors.d.ts +30 -0
- package/node_modules/zod/v4/classic/errors.js +48 -0
- package/node_modules/zod/v4/classic/external.cjs +73 -0
- package/node_modules/zod/v4/classic/external.d.cts +15 -0
- package/node_modules/zod/v4/classic/external.d.ts +15 -0
- package/node_modules/zod/v4/classic/external.js +20 -0
- package/node_modules/zod/v4/classic/from-json-schema.cjs +610 -0
- package/node_modules/zod/v4/classic/from-json-schema.d.cts +12 -0
- package/node_modules/zod/v4/classic/from-json-schema.d.ts +12 -0
- package/node_modules/zod/v4/classic/from-json-schema.js +584 -0
- package/node_modules/zod/v4/classic/index.cjs +33 -0
- package/node_modules/zod/v4/classic/index.d.cts +4 -0
- package/node_modules/zod/v4/classic/index.d.ts +4 -0
- package/node_modules/zod/v4/classic/index.js +4 -0
- package/node_modules/zod/v4/classic/iso.cjs +60 -0
- package/node_modules/zod/v4/classic/iso.d.cts +22 -0
- package/node_modules/zod/v4/classic/iso.d.ts +22 -0
- package/node_modules/zod/v4/classic/iso.js +30 -0
- package/node_modules/zod/v4/classic/package.json +6 -0
- package/node_modules/zod/v4/classic/parse.cjs +41 -0
- package/node_modules/zod/v4/classic/parse.d.cts +31 -0
- package/node_modules/zod/v4/classic/parse.d.ts +31 -0
- package/node_modules/zod/v4/classic/parse.js +15 -0
- package/node_modules/zod/v4/classic/schemas.cjs +1272 -0
- package/node_modules/zod/v4/classic/schemas.d.cts +739 -0
- package/node_modules/zod/v4/classic/schemas.d.ts +739 -0
- package/node_modules/zod/v4/classic/schemas.js +1157 -0
- package/node_modules/zod/v4/core/api.cjs +1222 -0
- package/node_modules/zod/v4/core/api.d.cts +304 -0
- package/node_modules/zod/v4/core/api.d.ts +304 -0
- package/node_modules/zod/v4/core/api.js +1082 -0
- package/node_modules/zod/v4/core/checks.cjs +601 -0
- package/node_modules/zod/v4/core/checks.d.cts +278 -0
- package/node_modules/zod/v4/core/checks.d.ts +278 -0
- package/node_modules/zod/v4/core/checks.js +575 -0
- package/node_modules/zod/v4/core/core.cjs +83 -0
- package/node_modules/zod/v4/core/core.d.cts +70 -0
- package/node_modules/zod/v4/core/core.d.ts +70 -0
- package/node_modules/zod/v4/core/core.js +76 -0
- package/node_modules/zod/v4/core/doc.cjs +39 -0
- package/node_modules/zod/v4/core/doc.d.cts +14 -0
- package/node_modules/zod/v4/core/doc.d.ts +14 -0
- package/node_modules/zod/v4/core/doc.js +35 -0
- package/node_modules/zod/v4/core/errors.cjs +213 -0
- package/node_modules/zod/v4/core/errors.d.cts +220 -0
- package/node_modules/zod/v4/core/errors.d.ts +220 -0
- package/node_modules/zod/v4/core/errors.js +182 -0
- package/node_modules/zod/v4/core/index.cjs +47 -0
- package/node_modules/zod/v4/core/index.d.cts +16 -0
- package/node_modules/zod/v4/core/index.d.ts +16 -0
- package/node_modules/zod/v4/core/index.js +16 -0
- package/node_modules/zod/v4/core/json-schema-generator.cjs +99 -0
- package/node_modules/zod/v4/core/json-schema-generator.d.cts +65 -0
- package/node_modules/zod/v4/core/json-schema-generator.d.ts +65 -0
- package/node_modules/zod/v4/core/json-schema-generator.js +95 -0
- package/node_modules/zod/v4/core/json-schema-processors.cjs +648 -0
- package/node_modules/zod/v4/core/json-schema-processors.d.cts +49 -0
- package/node_modules/zod/v4/core/json-schema-processors.d.ts +49 -0
- package/node_modules/zod/v4/core/json-schema-processors.js +605 -0
- package/node_modules/zod/v4/core/json-schema.cjs +2 -0
- package/node_modules/zod/v4/core/json-schema.d.cts +88 -0
- package/node_modules/zod/v4/core/json-schema.d.ts +88 -0
- package/node_modules/zod/v4/core/json-schema.js +1 -0
- package/node_modules/zod/v4/core/package.json +6 -0
- package/node_modules/zod/v4/core/parse.cjs +131 -0
- package/node_modules/zod/v4/core/parse.d.cts +49 -0
- package/node_modules/zod/v4/core/parse.d.ts +49 -0
- package/node_modules/zod/v4/core/parse.js +93 -0
- package/node_modules/zod/v4/core/regexes.cjs +166 -0
- package/node_modules/zod/v4/core/regexes.d.cts +79 -0
- package/node_modules/zod/v4/core/regexes.d.ts +79 -0
- package/node_modules/zod/v4/core/regexes.js +133 -0
- package/node_modules/zod/v4/core/registries.cjs +56 -0
- package/node_modules/zod/v4/core/registries.d.cts +35 -0
- package/node_modules/zod/v4/core/registries.d.ts +35 -0
- package/node_modules/zod/v4/core/registries.js +51 -0
- package/node_modules/zod/v4/core/schemas.cjs +2124 -0
- package/node_modules/zod/v4/core/schemas.d.cts +1146 -0
- package/node_modules/zod/v4/core/schemas.d.ts +1146 -0
- package/node_modules/zod/v4/core/schemas.js +2093 -0
- package/node_modules/zod/v4/core/standard-schema.cjs +2 -0
- package/node_modules/zod/v4/core/standard-schema.d.cts +126 -0
- package/node_modules/zod/v4/core/standard-schema.d.ts +126 -0
- package/node_modules/zod/v4/core/standard-schema.js +1 -0
- package/node_modules/zod/v4/core/to-json-schema.cjs +446 -0
- package/node_modules/zod/v4/core/to-json-schema.d.cts +114 -0
- package/node_modules/zod/v4/core/to-json-schema.d.ts +114 -0
- package/node_modules/zod/v4/core/to-json-schema.js +437 -0
- package/node_modules/zod/v4/core/util.cjs +710 -0
- package/node_modules/zod/v4/core/util.d.cts +199 -0
- package/node_modules/zod/v4/core/util.d.ts +199 -0
- package/node_modules/zod/v4/core/util.js +651 -0
- package/node_modules/zod/v4/core/versions.cjs +8 -0
- package/node_modules/zod/v4/core/versions.d.cts +5 -0
- package/node_modules/zod/v4/core/versions.d.ts +5 -0
- package/node_modules/zod/v4/core/versions.js +5 -0
- package/node_modules/zod/v4/index.cjs +22 -0
- package/node_modules/zod/v4/index.d.cts +3 -0
- package/node_modules/zod/v4/index.d.ts +3 -0
- package/node_modules/zod/v4/index.js +3 -0
- package/node_modules/zod/v4/locales/ar.cjs +133 -0
- package/node_modules/zod/v4/locales/ar.d.cts +5 -0
- package/node_modules/zod/v4/locales/ar.d.ts +4 -0
- package/node_modules/zod/v4/locales/ar.js +106 -0
- package/node_modules/zod/v4/locales/az.cjs +132 -0
- package/node_modules/zod/v4/locales/az.d.cts +5 -0
- package/node_modules/zod/v4/locales/az.d.ts +4 -0
- package/node_modules/zod/v4/locales/az.js +105 -0
- package/node_modules/zod/v4/locales/be.cjs +183 -0
- package/node_modules/zod/v4/locales/be.d.cts +5 -0
- package/node_modules/zod/v4/locales/be.d.ts +4 -0
- package/node_modules/zod/v4/locales/be.js +156 -0
- package/node_modules/zod/v4/locales/bg.cjs +147 -0
- package/node_modules/zod/v4/locales/bg.d.cts +5 -0
- package/node_modules/zod/v4/locales/bg.d.ts +4 -0
- package/node_modules/zod/v4/locales/bg.js +120 -0
- package/node_modules/zod/v4/locales/ca.cjs +134 -0
- package/node_modules/zod/v4/locales/ca.d.cts +5 -0
- package/node_modules/zod/v4/locales/ca.d.ts +4 -0
- package/node_modules/zod/v4/locales/ca.js +107 -0
- package/node_modules/zod/v4/locales/cs.cjs +138 -0
- package/node_modules/zod/v4/locales/cs.d.cts +5 -0
- package/node_modules/zod/v4/locales/cs.d.ts +4 -0
- package/node_modules/zod/v4/locales/cs.js +111 -0
- package/node_modules/zod/v4/locales/da.cjs +142 -0
- package/node_modules/zod/v4/locales/da.d.cts +5 -0
- package/node_modules/zod/v4/locales/da.d.ts +4 -0
- package/node_modules/zod/v4/locales/da.js +115 -0
- package/node_modules/zod/v4/locales/de.cjs +135 -0
- package/node_modules/zod/v4/locales/de.d.cts +5 -0
- package/node_modules/zod/v4/locales/de.d.ts +4 -0
- package/node_modules/zod/v4/locales/de.js +108 -0
- package/node_modules/zod/v4/locales/en.cjs +136 -0
- package/node_modules/zod/v4/locales/en.d.cts +5 -0
- package/node_modules/zod/v4/locales/en.d.ts +4 -0
- package/node_modules/zod/v4/locales/en.js +109 -0
- package/node_modules/zod/v4/locales/eo.cjs +136 -0
- package/node_modules/zod/v4/locales/eo.d.cts +5 -0
- package/node_modules/zod/v4/locales/eo.d.ts +4 -0
- package/node_modules/zod/v4/locales/eo.js +109 -0
- package/node_modules/zod/v4/locales/es.cjs +159 -0
- package/node_modules/zod/v4/locales/es.d.cts +5 -0
- package/node_modules/zod/v4/locales/es.d.ts +4 -0
- package/node_modules/zod/v4/locales/es.js +132 -0
- package/node_modules/zod/v4/locales/fa.cjs +141 -0
- package/node_modules/zod/v4/locales/fa.d.cts +5 -0
- package/node_modules/zod/v4/locales/fa.d.ts +4 -0
- package/node_modules/zod/v4/locales/fa.js +114 -0
- package/node_modules/zod/v4/locales/fi.cjs +139 -0
- package/node_modules/zod/v4/locales/fi.d.cts +5 -0
- package/node_modules/zod/v4/locales/fi.d.ts +4 -0
- package/node_modules/zod/v4/locales/fi.js +112 -0
- package/node_modules/zod/v4/locales/fr-CA.cjs +134 -0
- package/node_modules/zod/v4/locales/fr-CA.d.cts +5 -0
- package/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
- package/node_modules/zod/v4/locales/fr-CA.js +107 -0
- package/node_modules/zod/v4/locales/fr.cjs +135 -0
- package/node_modules/zod/v4/locales/fr.d.cts +5 -0
- package/node_modules/zod/v4/locales/fr.d.ts +4 -0
- package/node_modules/zod/v4/locales/fr.js +108 -0
- package/node_modules/zod/v4/locales/he.cjs +241 -0
- package/node_modules/zod/v4/locales/he.d.cts +5 -0
- package/node_modules/zod/v4/locales/he.d.ts +4 -0
- package/node_modules/zod/v4/locales/he.js +214 -0
- package/node_modules/zod/v4/locales/hu.cjs +135 -0
- package/node_modules/zod/v4/locales/hu.d.cts +5 -0
- package/node_modules/zod/v4/locales/hu.d.ts +4 -0
- package/node_modules/zod/v4/locales/hu.js +108 -0
- package/node_modules/zod/v4/locales/hy.cjs +174 -0
- package/node_modules/zod/v4/locales/hy.d.cts +5 -0
- package/node_modules/zod/v4/locales/hy.d.ts +4 -0
- package/node_modules/zod/v4/locales/hy.js +147 -0
- package/node_modules/zod/v4/locales/id.cjs +133 -0
- package/node_modules/zod/v4/locales/id.d.cts +5 -0
- package/node_modules/zod/v4/locales/id.d.ts +4 -0
- package/node_modules/zod/v4/locales/id.js +106 -0
- package/node_modules/zod/v4/locales/index.cjs +104 -0
- package/node_modules/zod/v4/locales/index.d.cts +49 -0
- package/node_modules/zod/v4/locales/index.d.ts +49 -0
- package/node_modules/zod/v4/locales/index.js +49 -0
- package/node_modules/zod/v4/locales/is.cjs +136 -0
- package/node_modules/zod/v4/locales/is.d.cts +5 -0
- package/node_modules/zod/v4/locales/is.d.ts +4 -0
- package/node_modules/zod/v4/locales/is.js +109 -0
- package/node_modules/zod/v4/locales/it.cjs +135 -0
- package/node_modules/zod/v4/locales/it.d.cts +5 -0
- package/node_modules/zod/v4/locales/it.d.ts +4 -0
- package/node_modules/zod/v4/locales/it.js +108 -0
- package/node_modules/zod/v4/locales/ja.cjs +134 -0
- package/node_modules/zod/v4/locales/ja.d.cts +5 -0
- package/node_modules/zod/v4/locales/ja.d.ts +4 -0
- package/node_modules/zod/v4/locales/ja.js +107 -0
- package/node_modules/zod/v4/locales/ka.cjs +139 -0
- package/node_modules/zod/v4/locales/ka.d.cts +5 -0
- package/node_modules/zod/v4/locales/ka.d.ts +4 -0
- package/node_modules/zod/v4/locales/ka.js +112 -0
- package/node_modules/zod/v4/locales/kh.cjs +12 -0
- package/node_modules/zod/v4/locales/kh.d.cts +5 -0
- package/node_modules/zod/v4/locales/kh.d.ts +5 -0
- package/node_modules/zod/v4/locales/kh.js +5 -0
- package/node_modules/zod/v4/locales/km.cjs +137 -0
- package/node_modules/zod/v4/locales/km.d.cts +5 -0
- package/node_modules/zod/v4/locales/km.d.ts +4 -0
- package/node_modules/zod/v4/locales/km.js +110 -0
- package/node_modules/zod/v4/locales/ko.cjs +138 -0
- package/node_modules/zod/v4/locales/ko.d.cts +5 -0
- package/node_modules/zod/v4/locales/ko.d.ts +4 -0
- package/node_modules/zod/v4/locales/ko.js +111 -0
- package/node_modules/zod/v4/locales/lt.cjs +230 -0
- package/node_modules/zod/v4/locales/lt.d.cts +5 -0
- package/node_modules/zod/v4/locales/lt.d.ts +4 -0
- package/node_modules/zod/v4/locales/lt.js +203 -0
- package/node_modules/zod/v4/locales/mk.cjs +136 -0
- package/node_modules/zod/v4/locales/mk.d.cts +5 -0
- package/node_modules/zod/v4/locales/mk.d.ts +4 -0
- package/node_modules/zod/v4/locales/mk.js +109 -0
- package/node_modules/zod/v4/locales/ms.cjs +134 -0
- package/node_modules/zod/v4/locales/ms.d.cts +5 -0
- package/node_modules/zod/v4/locales/ms.d.ts +4 -0
- package/node_modules/zod/v4/locales/ms.js +107 -0
- package/node_modules/zod/v4/locales/nl.cjs +137 -0
- package/node_modules/zod/v4/locales/nl.d.cts +5 -0
- package/node_modules/zod/v4/locales/nl.d.ts +4 -0
- package/node_modules/zod/v4/locales/nl.js +110 -0
- package/node_modules/zod/v4/locales/no.cjs +135 -0
- package/node_modules/zod/v4/locales/no.d.cts +5 -0
- package/node_modules/zod/v4/locales/no.d.ts +4 -0
- package/node_modules/zod/v4/locales/no.js +108 -0
- package/node_modules/zod/v4/locales/ota.cjs +136 -0
- package/node_modules/zod/v4/locales/ota.d.cts +5 -0
- package/node_modules/zod/v4/locales/ota.d.ts +4 -0
- package/node_modules/zod/v4/locales/ota.js +109 -0
- package/node_modules/zod/v4/locales/package.json +6 -0
- package/node_modules/zod/v4/locales/pl.cjs +136 -0
- package/node_modules/zod/v4/locales/pl.d.cts +5 -0
- package/node_modules/zod/v4/locales/pl.d.ts +4 -0
- package/node_modules/zod/v4/locales/pl.js +109 -0
- package/node_modules/zod/v4/locales/ps.cjs +141 -0
- package/node_modules/zod/v4/locales/ps.d.cts +5 -0
- package/node_modules/zod/v4/locales/ps.d.ts +4 -0
- package/node_modules/zod/v4/locales/ps.js +114 -0
- package/node_modules/zod/v4/locales/pt.cjs +135 -0
- package/node_modules/zod/v4/locales/pt.d.cts +5 -0
- package/node_modules/zod/v4/locales/pt.d.ts +4 -0
- package/node_modules/zod/v4/locales/pt.js +108 -0
- package/node_modules/zod/v4/locales/ru.cjs +183 -0
- package/node_modules/zod/v4/locales/ru.d.cts +5 -0
- package/node_modules/zod/v4/locales/ru.d.ts +4 -0
- package/node_modules/zod/v4/locales/ru.js +156 -0
- package/node_modules/zod/v4/locales/sl.cjs +136 -0
- package/node_modules/zod/v4/locales/sl.d.cts +5 -0
- package/node_modules/zod/v4/locales/sl.d.ts +4 -0
- package/node_modules/zod/v4/locales/sl.js +109 -0
- package/node_modules/zod/v4/locales/sv.cjs +137 -0
- package/node_modules/zod/v4/locales/sv.d.cts +5 -0
- package/node_modules/zod/v4/locales/sv.d.ts +4 -0
- package/node_modules/zod/v4/locales/sv.js +110 -0
- package/node_modules/zod/v4/locales/ta.cjs +137 -0
- package/node_modules/zod/v4/locales/ta.d.cts +5 -0
- package/node_modules/zod/v4/locales/ta.d.ts +4 -0
- package/node_modules/zod/v4/locales/ta.js +110 -0
- package/node_modules/zod/v4/locales/th.cjs +137 -0
- package/node_modules/zod/v4/locales/th.d.cts +5 -0
- package/node_modules/zod/v4/locales/th.d.ts +4 -0
- package/node_modules/zod/v4/locales/th.js +110 -0
- package/node_modules/zod/v4/locales/tr.cjs +132 -0
- package/node_modules/zod/v4/locales/tr.d.cts +5 -0
- package/node_modules/zod/v4/locales/tr.d.ts +4 -0
- package/node_modules/zod/v4/locales/tr.js +105 -0
- package/node_modules/zod/v4/locales/ua.cjs +12 -0
- package/node_modules/zod/v4/locales/ua.d.cts +5 -0
- package/node_modules/zod/v4/locales/ua.d.ts +5 -0
- package/node_modules/zod/v4/locales/ua.js +5 -0
- package/node_modules/zod/v4/locales/uk.cjs +135 -0
- package/node_modules/zod/v4/locales/uk.d.cts +5 -0
- package/node_modules/zod/v4/locales/uk.d.ts +4 -0
- package/node_modules/zod/v4/locales/uk.js +108 -0
- package/node_modules/zod/v4/locales/ur.cjs +137 -0
- package/node_modules/zod/v4/locales/ur.d.cts +5 -0
- package/node_modules/zod/v4/locales/ur.d.ts +4 -0
- package/node_modules/zod/v4/locales/ur.js +110 -0
- package/node_modules/zod/v4/locales/uz.cjs +136 -0
- package/node_modules/zod/v4/locales/uz.d.cts +5 -0
- package/node_modules/zod/v4/locales/uz.d.ts +4 -0
- package/node_modules/zod/v4/locales/uz.js +109 -0
- package/node_modules/zod/v4/locales/vi.cjs +135 -0
- package/node_modules/zod/v4/locales/vi.d.cts +5 -0
- package/node_modules/zod/v4/locales/vi.d.ts +4 -0
- package/node_modules/zod/v4/locales/vi.js +108 -0
- package/node_modules/zod/v4/locales/yo.cjs +134 -0
- package/node_modules/zod/v4/locales/yo.d.cts +5 -0
- package/node_modules/zod/v4/locales/yo.d.ts +4 -0
- package/node_modules/zod/v4/locales/yo.js +107 -0
- package/node_modules/zod/v4/locales/zh-CN.cjs +136 -0
- package/node_modules/zod/v4/locales/zh-CN.d.cts +5 -0
- package/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
- package/node_modules/zod/v4/locales/zh-CN.js +109 -0
- package/node_modules/zod/v4/locales/zh-TW.cjs +134 -0
- package/node_modules/zod/v4/locales/zh-TW.d.cts +5 -0
- package/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
- package/node_modules/zod/v4/locales/zh-TW.js +107 -0
- package/node_modules/zod/v4/mini/checks.cjs +34 -0
- package/node_modules/zod/v4/mini/checks.d.cts +1 -0
- package/node_modules/zod/v4/mini/checks.d.ts +1 -0
- package/node_modules/zod/v4/mini/checks.js +1 -0
- package/node_modules/zod/v4/mini/coerce.cjs +52 -0
- package/node_modules/zod/v4/mini/coerce.d.cts +7 -0
- package/node_modules/zod/v4/mini/coerce.d.ts +7 -0
- package/node_modules/zod/v4/mini/coerce.js +22 -0
- package/node_modules/zod/v4/mini/external.cjs +63 -0
- package/node_modules/zod/v4/mini/external.d.cts +12 -0
- package/node_modules/zod/v4/mini/external.d.ts +12 -0
- package/node_modules/zod/v4/mini/external.js +14 -0
- package/node_modules/zod/v4/mini/index.cjs +32 -0
- package/node_modules/zod/v4/mini/index.d.cts +3 -0
- package/node_modules/zod/v4/mini/index.d.ts +3 -0
- package/node_modules/zod/v4/mini/index.js +3 -0
- package/node_modules/zod/v4/mini/iso.cjs +64 -0
- package/node_modules/zod/v4/mini/iso.d.cts +22 -0
- package/node_modules/zod/v4/mini/iso.d.ts +22 -0
- package/node_modules/zod/v4/mini/iso.js +34 -0
- package/node_modules/zod/v4/mini/package.json +6 -0
- package/node_modules/zod/v4/mini/parse.cjs +16 -0
- package/node_modules/zod/v4/mini/parse.d.cts +1 -0
- package/node_modules/zod/v4/mini/parse.d.ts +1 -0
- package/node_modules/zod/v4/mini/parse.js +1 -0
- package/node_modules/zod/v4/mini/schemas.cjs +1046 -0
- package/node_modules/zod/v4/mini/schemas.d.cts +427 -0
- package/node_modules/zod/v4/mini/schemas.d.ts +427 -0
- package/node_modules/zod/v4/mini/schemas.js +925 -0
- package/node_modules/zod/v4/package.json +6 -0
- package/node_modules/zod/v4-mini/index.cjs +32 -0
- package/node_modules/zod/v4-mini/index.d.cts +3 -0
- package/node_modules/zod/v4-mini/index.d.ts +3 -0
- package/node_modules/zod/v4-mini/index.js +3 -0
- package/node_modules/zod/v4-mini/package.json +6 -0
- package/openclaw.plugin.json +9 -1
- package/package.json +1 -1
- package/skills/bereach/SKILL.md +2 -2
- package/skills/bereach/sub/outreach.md +7 -1
- package/skills/bereach/workspace/soul-template.md +6 -1
- package/src/hooks/cache.ts +2 -2
- package/src/hooks/context-send.ts +66 -0
- package/src/hooks/context.ts +124 -6
- package/src/hooks/enforcement.ts +54 -3
- package/src/hooks/lifecycle.ts +1 -1
- package/src/hooks/model-routing.ts +78 -17
- package/src/hooks/tracking.ts +19 -2
- package/src/hooks/types.ts +39 -19
- package/src/index.ts +6 -1
- package/src/soul-template-content.ts +2 -2
- package/src/tools/definitions.ts +23 -0
- package/src/tools/index.ts +1 -1
- package/__tests__/helpers.test.ts +0 -797
- package/__tests__/soul-injection.test.ts +0 -285
package/__tests__/hooks.test.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
|
|
2
|
-
import { createSessionState, READ_TOOLS, WRITE_TOOLS, PACED_FREE_TOOLS, type SessionState } from "../src/hooks/types";
|
|
2
|
+
import { createSessionState, READ_TOOLS, WRITE_TOOLS, PACED_FREE_TOOLS, classifyUpgrade, type SessionState } from "../src/hooks/types";
|
|
3
3
|
import * as cache from "../src/hooks/cache";
|
|
4
|
+
import type { CacheStore } from "../src/hooks/cache";
|
|
4
5
|
|
|
5
6
|
// ---------------------------------------------------------------------------
|
|
6
7
|
// Helpers
|
|
@@ -45,6 +46,30 @@ function mockFetchResponses(responses: Record<string, unknown>) {
|
|
|
45
46
|
});
|
|
46
47
|
}
|
|
47
48
|
|
|
49
|
+
/** Build a standard snapshot response for the /api/agent/snapshot endpoint. */
|
|
50
|
+
function buildSnapshot(overrides: Partial<CacheStore & { campaignState?: any }> = {}): Record<string, unknown> {
|
|
51
|
+
return {
|
|
52
|
+
"/api/agent/snapshot": {
|
|
53
|
+
credits: overrides.credits ?? { current: 0, limit: 100, remaining: 100, isUnlimited: false, percentage: 0 },
|
|
54
|
+
limits: overrides.limits ?? { multiplier: 1, limits: {} },
|
|
55
|
+
pipeline: overrides.pipeline ?? { contact: 0, lead: 0, qualified: 0, approved: 0, rejected: 0, total: 0 },
|
|
56
|
+
contexts: overrides.contexts ?? [],
|
|
57
|
+
pendingDrafts: overrides.pendingDrafts ?? 0,
|
|
58
|
+
failedDrafts: overrides.failedDrafts ?? 0,
|
|
59
|
+
unreadDMs: overrides.unreadDMs ?? 0,
|
|
60
|
+
pendingSentInvitations: overrides.pendingSentInvitations ?? 0,
|
|
61
|
+
activeAccount: overrides.activeAccount ?? null,
|
|
62
|
+
accounts: overrides.accounts ?? [],
|
|
63
|
+
leadGenState: overrides.leadGenState ?? null,
|
|
64
|
+
outreachState: overrides.outreachState ?? null,
|
|
65
|
+
activeCampaigns: overrides.activeCampaigns ?? [],
|
|
66
|
+
campaignChecks: overrides.campaignChecks ?? {},
|
|
67
|
+
sessionMeta: overrides.sessionMeta ?? null,
|
|
68
|
+
onboardingState: overrides.onboardingState ?? null,
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
|
|
48
73
|
// ---------------------------------------------------------------------------
|
|
49
74
|
// Types
|
|
50
75
|
// ---------------------------------------------------------------------------
|
|
@@ -56,7 +81,6 @@ describe("hooks/types", () => {
|
|
|
56
81
|
expect(state.creditsUsedThisSession).toBe(0);
|
|
57
82
|
expect(state.toolCallCount).toBe(0);
|
|
58
83
|
expect(state.visitedProfiles.size).toBe(0);
|
|
59
|
-
expect(state.engagementSignals.size).toBe(0);
|
|
60
84
|
expect(state.initialized).toBe(false);
|
|
61
85
|
});
|
|
62
86
|
});
|
|
@@ -74,16 +98,10 @@ describe("hooks/cache", () => {
|
|
|
74
98
|
});
|
|
75
99
|
|
|
76
100
|
it("getOrFetch returns data and caches it", async () => {
|
|
77
|
-
const mockFetch = mockFetchResponses({
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
"/api/context": { entries: [] },
|
|
82
|
-
"/api/scheduled-messages": { messages: [], total: 0 },
|
|
83
|
-
"/api/me/linkedin/accounts": { accounts: [{ id: "acc1", linkedinName: "Test", accountPlan: "premium", isUnlimited: false, creditsLimit: 200, creditsCount: 10, isCurrent: true }] },
|
|
84
|
-
"/api/agent-state/lead-gen": { data: null },
|
|
85
|
-
"/api/agent-state/outreach": { data: null },
|
|
86
|
-
});
|
|
101
|
+
const mockFetch = mockFetchResponses(buildSnapshot({
|
|
102
|
+
credits: { current: 10, limit: 100, remaining: 90, isUnlimited: false, percentage: 10 },
|
|
103
|
+
pipeline: { contact: 5, lead: 3, qualified: 1, approved: 0, rejected: 0, total: 9 },
|
|
104
|
+
}));
|
|
87
105
|
globalThis.fetch = mockFetch as any;
|
|
88
106
|
|
|
89
107
|
const data = await cache.getOrFetch("brc_test");
|
|
@@ -100,16 +118,9 @@ describe("hooks/cache", () => {
|
|
|
100
118
|
});
|
|
101
119
|
|
|
102
120
|
it("invalidate clears a specific key", async () => {
|
|
103
|
-
globalThis.fetch = mockFetchResponses({
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
"/api/contacts/stats": { funnel: { contact: 0, lead: 0, qualified: 0, approved: 0, rejected: 0 } },
|
|
107
|
-
"/api/context": { entries: [] },
|
|
108
|
-
"/api/scheduled-messages": { messages: [], total: 0 },
|
|
109
|
-
"/api/me/linkedin/accounts": { accounts: [] },
|
|
110
|
-
"/api/agent-state/lead-gen": { data: null },
|
|
111
|
-
"/api/agent-state/outreach": { data: null },
|
|
112
|
-
}) as any;
|
|
121
|
+
globalThis.fetch = mockFetchResponses(buildSnapshot({
|
|
122
|
+
credits: { current: 10, limit: 100, remaining: 90, isUnlimited: false, percentage: 10 },
|
|
123
|
+
})) as any;
|
|
113
124
|
|
|
114
125
|
await cache.getOrFetch("brc_test");
|
|
115
126
|
cache.invalidate("credits");
|
|
@@ -145,14 +156,15 @@ describe("hooks/context", () => {
|
|
|
145
156
|
|
|
146
157
|
globalThis.fetch = mockFetchResponses({
|
|
147
158
|
"/api/onboarding/soul": { soul: "<!-- bereach-workspace-v2 -->\nTest Template\n<!-- /bereach-workspace -->" },
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
159
|
+
...buildSnapshot({
|
|
160
|
+
credits: { current: 5, limit: 50, remaining: 45, isUnlimited: false, percentage: 10 },
|
|
161
|
+
pipeline: { contact: 10, lead: 5, qualified: 2, approved: 1, rejected: 0, total: 18 },
|
|
162
|
+
contexts: [{ type: "icp", label: "ICP", content: "B2B SaaS founders", scope: "user" }],
|
|
163
|
+
pendingDrafts: 2,
|
|
164
|
+
activeAccount: { id: "a1", name: "John", plan: "premium", headline: null, isUnlimited: false, creditsLimit: 50, creditsCount: 5, isCurrent: true },
|
|
165
|
+
accounts: [{ id: "a1", name: "John", plan: "premium", headline: null, isUnlimited: false, creditsLimit: 50, creditsCount: 5, isCurrent: true }],
|
|
166
|
+
leadGenState: { phase: "enrich", totalFound: 42 },
|
|
167
|
+
}),
|
|
156
168
|
}) as any;
|
|
157
169
|
|
|
158
170
|
registerContextHook(api, "brc_test_key");
|
|
@@ -163,11 +175,9 @@ describe("hooks/context", () => {
|
|
|
163
175
|
expect(result.appendSystemContext).toContain("BeReach Live Status");
|
|
164
176
|
expect(result.appendSystemContext).toContain("45 remaining");
|
|
165
177
|
expect(result.appendSystemContext).toContain("Contact | 10");
|
|
166
|
-
expect(result.appendSystemContext).toContain("2 draft
|
|
178
|
+
expect(result.appendSystemContext).toContain("2 draft");
|
|
167
179
|
expect(result.appendSystemContext).toContain("ICP");
|
|
168
180
|
expect(result.appendSystemContext).toContain("B2B SaaS founders");
|
|
169
|
-
expect(result.appendSystemContext).toContain("Lead gen state found");
|
|
170
|
-
expect(result.appendSystemContext).toContain("42 leads found");
|
|
171
181
|
});
|
|
172
182
|
});
|
|
173
183
|
|
|
@@ -193,16 +203,9 @@ describe("hooks/enforcement", () => {
|
|
|
193
203
|
const { registerEnforcementHook } = await import("../src/hooks/enforcement");
|
|
194
204
|
const api = createMockApi();
|
|
195
205
|
|
|
196
|
-
globalThis.fetch = mockFetchResponses({
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
"/api/contacts/stats": { funnel: {} },
|
|
200
|
-
"/api/context": { entries: [] },
|
|
201
|
-
"/api/scheduled-messages": { messages: [], total: 0 },
|
|
202
|
-
"/api/me/linkedin/accounts": { accounts: [] },
|
|
203
|
-
"/api/agent-state/lead-gen": { data: null },
|
|
204
|
-
"/api/agent-state/outreach": { data: null },
|
|
205
|
-
}) as any;
|
|
206
|
+
globalThis.fetch = mockFetchResponses(buildSnapshot({
|
|
207
|
+
credits: { current: 100, limit: 100, remaining: 0, isUnlimited: false, percentage: 100 },
|
|
208
|
+
})) as any;
|
|
206
209
|
|
|
207
210
|
registerEnforcementHook(api, "brc_test_key", {}, state);
|
|
208
211
|
|
|
@@ -220,16 +223,9 @@ describe("hooks/enforcement", () => {
|
|
|
220
223
|
const { registerEnforcementHook } = await import("../src/hooks/enforcement");
|
|
221
224
|
const api = createMockApi();
|
|
222
225
|
|
|
223
|
-
globalThis.fetch = mockFetchResponses({
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
"/api/contacts/stats": { funnel: {} },
|
|
227
|
-
"/api/context": { entries: [] },
|
|
228
|
-
"/api/scheduled-messages": { messages: [], total: 0 },
|
|
229
|
-
"/api/me/linkedin/accounts": { accounts: [] },
|
|
230
|
-
"/api/agent-state/lead-gen": { data: null },
|
|
231
|
-
"/api/agent-state/outreach": { data: null },
|
|
232
|
-
}) as any;
|
|
226
|
+
globalThis.fetch = mockFetchResponses(buildSnapshot({
|
|
227
|
+
credits: { current: 100, limit: 100, remaining: 0, isUnlimited: false, percentage: 100 },
|
|
228
|
+
})) as any;
|
|
233
229
|
|
|
234
230
|
registerEnforcementHook(api, "brc_test_key", {}, state);
|
|
235
231
|
|
|
@@ -246,14 +242,7 @@ describe("hooks/enforcement", () => {
|
|
|
246
242
|
const api = createMockApi();
|
|
247
243
|
|
|
248
244
|
globalThis.fetch = mockFetchResponses({
|
|
249
|
-
|
|
250
|
-
"/api/rate-limits": { multiplier: 1, limits: {} },
|
|
251
|
-
"/api/contacts/stats": { funnel: {} },
|
|
252
|
-
"/api/context": { entries: [] },
|
|
253
|
-
"/api/scheduled-messages": { messages: [], total: 0 },
|
|
254
|
-
"/api/me/linkedin/accounts": { accounts: [] },
|
|
255
|
-
"/api/agent-state/lead-gen": { data: null },
|
|
256
|
-
"/api/agent-state/outreach": { data: null },
|
|
245
|
+
...buildSnapshot({ credits: { current: 0, limit: 100, remaining: 100, isUnlimited: false, percentage: 0 } }),
|
|
257
246
|
"/api/contacts/by-url": { contact: { doNotContact: false } },
|
|
258
247
|
}) as any;
|
|
259
248
|
|
|
@@ -274,14 +263,7 @@ describe("hooks/enforcement", () => {
|
|
|
274
263
|
const api = createMockApi();
|
|
275
264
|
|
|
276
265
|
globalThis.fetch = mockFetchResponses({
|
|
277
|
-
|
|
278
|
-
"/api/rate-limits": { multiplier: 1, limits: {} },
|
|
279
|
-
"/api/contacts/stats": { funnel: {} },
|
|
280
|
-
"/api/context": { entries: [] },
|
|
281
|
-
"/api/scheduled-messages": { messages: [], total: 0 },
|
|
282
|
-
"/api/me/linkedin/accounts": { accounts: [] },
|
|
283
|
-
"/api/agent-state/lead-gen": { data: null },
|
|
284
|
-
"/api/agent-state/outreach": { data: null },
|
|
266
|
+
...buildSnapshot({ credits: { current: 0, limit: 100, remaining: 100, isUnlimited: false, percentage: 0 } }),
|
|
285
267
|
"/api/contacts/by-url": { contact: { doNotContact: false } },
|
|
286
268
|
}) as any;
|
|
287
269
|
|
|
@@ -301,16 +283,9 @@ describe("hooks/enforcement", () => {
|
|
|
301
283
|
const { registerEnforcementHook } = await import("../src/hooks/enforcement");
|
|
302
284
|
const api = createMockApi();
|
|
303
285
|
|
|
304
|
-
globalThis.fetch = mockFetchResponses({
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
"/api/contacts/stats": { funnel: {} },
|
|
308
|
-
"/api/context": { entries: [] },
|
|
309
|
-
"/api/scheduled-messages": { messages: [], total: 0 },
|
|
310
|
-
"/api/me/linkedin/accounts": { accounts: [] },
|
|
311
|
-
"/api/agent-state/lead-gen": { data: null },
|
|
312
|
-
"/api/agent-state/outreach": { data: null },
|
|
313
|
-
}) as any;
|
|
286
|
+
globalThis.fetch = mockFetchResponses(buildSnapshot({
|
|
287
|
+
credits: { current: 0, limit: 1000, remaining: 1000, isUnlimited: false, percentage: 0 },
|
|
288
|
+
})) as any;
|
|
314
289
|
|
|
315
290
|
state.visitCount = 50;
|
|
316
291
|
registerEnforcementHook(api, "brc_test_key", { maxVisitsPerSession: 50 }, state);
|
|
@@ -330,17 +305,11 @@ describe("hooks/enforcement", () => {
|
|
|
330
305
|
const api = createMockApi();
|
|
331
306
|
|
|
332
307
|
globalThis.fetch = mockFetchResponses({
|
|
333
|
-
|
|
334
|
-
"/api/rate-limits": { multiplier: 1, limits: {} },
|
|
335
|
-
"/api/contacts/stats": { funnel: {} },
|
|
336
|
-
"/api/context": { entries: [] },
|
|
337
|
-
"/api/scheduled-messages": { messages: [], total: 0 },
|
|
338
|
-
"/api/me/linkedin/accounts": { accounts: [] },
|
|
339
|
-
"/api/agent-state/lead-gen": { data: null },
|
|
340
|
-
"/api/agent-state/outreach": { data: null },
|
|
308
|
+
...buildSnapshot({ credits: { current: 0, limit: 100, remaining: 100, isUnlimited: false, percentage: 0 } }),
|
|
341
309
|
"/api/contacts/by-url": { contact: { doNotContact: true } },
|
|
342
310
|
}) as any;
|
|
343
311
|
|
|
312
|
+
state.dmHistoryChecked.add("https://linkedin.com/in/blocked-person");
|
|
344
313
|
registerEnforcementHook(api, "brc_test_key", { writePacingMin: 0, writePacingMax: 0 }, state);
|
|
345
314
|
|
|
346
315
|
const result = await api._fire("before_tool_call", {
|
|
@@ -381,96 +350,6 @@ describe("hooks/tracking", () => {
|
|
|
381
350
|
cache.clearAll();
|
|
382
351
|
});
|
|
383
352
|
|
|
384
|
-
it("truncates long post text in results", async () => {
|
|
385
|
-
const { registerTrackingHook } = await import("../src/hooks/tracking");
|
|
386
|
-
const api = createMockApi();
|
|
387
|
-
registerTrackingHook(api, state, undefined, 50, 10);
|
|
388
|
-
|
|
389
|
-
const longText = "A".repeat(200);
|
|
390
|
-
const ctx = {
|
|
391
|
-
toolName: "bereach_collect_posts",
|
|
392
|
-
result: {
|
|
393
|
-
content: [{ type: "text", text: JSON.stringify({ posts: [{ text: longText, title: "Test" }] }) }],
|
|
394
|
-
},
|
|
395
|
-
};
|
|
396
|
-
|
|
397
|
-
await api._fire("after_tool_call", ctx);
|
|
398
|
-
const parsed = JSON.parse(ctx.result.content[0].text);
|
|
399
|
-
expect(parsed.posts[0].text.length).toBeLessThan(200);
|
|
400
|
-
expect(parsed.posts[0].text).toContain("...");
|
|
401
|
-
});
|
|
402
|
-
|
|
403
|
-
it("strips image URL fields", async () => {
|
|
404
|
-
const { registerTrackingHook } = await import("../src/hooks/tracking");
|
|
405
|
-
const api = createMockApi();
|
|
406
|
-
registerTrackingHook(api, state);
|
|
407
|
-
|
|
408
|
-
const ctx = {
|
|
409
|
-
toolName: "bereach_search_people",
|
|
410
|
-
result: {
|
|
411
|
-
content: [{
|
|
412
|
-
type: "text",
|
|
413
|
-
text: JSON.stringify({
|
|
414
|
-
profiles: [
|
|
415
|
-
{ name: "Test", profilePicture: "https://cdn.example.com/pic.jpg", profileUrl: "https://linkedin.com/in/test" },
|
|
416
|
-
],
|
|
417
|
-
}),
|
|
418
|
-
}],
|
|
419
|
-
},
|
|
420
|
-
};
|
|
421
|
-
|
|
422
|
-
await api._fire("after_tool_call", ctx);
|
|
423
|
-
const parsed = JSON.parse(ctx.result.content[0].text);
|
|
424
|
-
expect(parsed.profiles[0].profilePicture).toBeUndefined();
|
|
425
|
-
expect(parsed.profiles[0].name).toBe("Test");
|
|
426
|
-
expect(parsed.profiles[0].profileUrl).toBe("https://linkedin.com/in/test");
|
|
427
|
-
});
|
|
428
|
-
|
|
429
|
-
it("truncates large arrays", async () => {
|
|
430
|
-
const { registerTrackingHook } = await import("../src/hooks/tracking");
|
|
431
|
-
const api = createMockApi();
|
|
432
|
-
registerTrackingHook(api, state, undefined, 500, 5);
|
|
433
|
-
|
|
434
|
-
const profiles = Array.from({ length: 50 }, (_, i) => ({ name: `Person ${i}` }));
|
|
435
|
-
const ctx = {
|
|
436
|
-
toolName: "bereach_search_people",
|
|
437
|
-
result: {
|
|
438
|
-
content: [{ type: "text", text: JSON.stringify({ profiles }) }],
|
|
439
|
-
},
|
|
440
|
-
};
|
|
441
|
-
|
|
442
|
-
await api._fire("after_tool_call", ctx);
|
|
443
|
-
const parsed = JSON.parse(ctx.result.content[0].text);
|
|
444
|
-
expect(parsed.profiles.length).toBe(5);
|
|
445
|
-
expect(parsed._truncated.total).toBe(50);
|
|
446
|
-
expect(parsed._truncated.shown).toBe(5);
|
|
447
|
-
});
|
|
448
|
-
|
|
449
|
-
it("tracks engagement signals from collect_likes", async () => {
|
|
450
|
-
const { registerTrackingHook } = await import("../src/hooks/tracking");
|
|
451
|
-
const api = createMockApi();
|
|
452
|
-
registerTrackingHook(api, state);
|
|
453
|
-
|
|
454
|
-
const ctx = {
|
|
455
|
-
toolName: "bereach_collect_likes",
|
|
456
|
-
result: {
|
|
457
|
-
content: [{
|
|
458
|
-
type: "text",
|
|
459
|
-
text: JSON.stringify({
|
|
460
|
-
profiles: [
|
|
461
|
-
{ profileUrl: "https://linkedin.com/in/alice" },
|
|
462
|
-
{ profileUrl: "https://linkedin.com/in/bob" },
|
|
463
|
-
],
|
|
464
|
-
}),
|
|
465
|
-
}],
|
|
466
|
-
},
|
|
467
|
-
};
|
|
468
|
-
|
|
469
|
-
await api._fire("after_tool_call", ctx);
|
|
470
|
-
expect(state.engagementSignals.get("https://linkedin.com/in/alice")).toBe(1);
|
|
471
|
-
expect(state.engagementSignals.get("https://linkedin.com/in/bob")).toBe(1);
|
|
472
|
-
});
|
|
473
|
-
|
|
474
353
|
it("tracks visits and invalidates credits cache", async () => {
|
|
475
354
|
const { registerTrackingHook } = await import("../src/hooks/tracking");
|
|
476
355
|
const api = createMockApi();
|
|
@@ -493,21 +372,18 @@ describe("hooks/tracking", () => {
|
|
|
493
372
|
expect(state.creditsUsedThisSession).toBe(1);
|
|
494
373
|
});
|
|
495
374
|
|
|
496
|
-
it("
|
|
375
|
+
it("records DM pacing timestamp on send_message", async () => {
|
|
497
376
|
const { registerTrackingHook } = await import("../src/hooks/tracking");
|
|
498
377
|
const api = createMockApi();
|
|
499
378
|
registerTrackingHook(api, state);
|
|
500
379
|
|
|
501
380
|
const ctx = {
|
|
502
|
-
toolName: "
|
|
503
|
-
result: {
|
|
504
|
-
content: [{ type: "text", text: JSON.stringify({ contacts: [{ name: "Test" }] }, null, 2) }],
|
|
505
|
-
},
|
|
381
|
+
toolName: "bereach_send_message",
|
|
382
|
+
result: JSON.stringify({ success: true }),
|
|
506
383
|
};
|
|
507
384
|
|
|
508
385
|
await api._fire("after_tool_call", ctx);
|
|
509
|
-
|
|
510
|
-
expect(ctx.result.content[0].text).not.toContain("\n");
|
|
386
|
+
expect(state.lastDmSentAt).toBeGreaterThan(0);
|
|
511
387
|
});
|
|
512
388
|
});
|
|
513
389
|
|
|
@@ -575,45 +451,47 @@ describe("hooks/lifecycle", () => {
|
|
|
575
451
|
// ---------------------------------------------------------------------------
|
|
576
452
|
|
|
577
453
|
describe("hooks/model-routing", () => {
|
|
578
|
-
it("
|
|
579
|
-
const { registerModelRoutingHook } = await import("../src/hooks/model-routing");
|
|
454
|
+
it("detects weak models and sets isWeakModel", async () => {
|
|
455
|
+
const { registerModelRoutingHook, modelState } = await import("../src/hooks/model-routing");
|
|
580
456
|
const api = createMockApi();
|
|
581
457
|
|
|
582
458
|
registerModelRoutingHook(api);
|
|
583
459
|
|
|
584
|
-
|
|
585
|
-
|
|
460
|
+
await api._fire("before_model_resolve", {
|
|
461
|
+
model: "anthropic/claude-haiku-3",
|
|
586
462
|
});
|
|
587
463
|
|
|
588
|
-
expect(
|
|
589
|
-
expect(
|
|
464
|
+
expect(modelState.isWeakModel).toBe(true);
|
|
465
|
+
expect(modelState.detectedModel).toBe("anthropic/claude-haiku-3");
|
|
590
466
|
});
|
|
591
467
|
|
|
592
|
-
it("returns undefined for non-
|
|
593
|
-
const { registerModelRoutingHook } = await import("../src/hooks/model-routing");
|
|
468
|
+
it("returns undefined for non-weak models without creative mode", async () => {
|
|
469
|
+
const { registerModelRoutingHook, modelState } = await import("../src/hooks/model-routing");
|
|
594
470
|
const api = createMockApi();
|
|
471
|
+
modelState.creativeMode = false;
|
|
472
|
+
modelState.consecutiveErrors = 0;
|
|
595
473
|
|
|
596
474
|
registerModelRoutingHook(api);
|
|
597
475
|
|
|
598
476
|
const result = await api._fire("before_model_resolve", {
|
|
599
|
-
|
|
477
|
+
model: "anthropic/claude-sonnet-4-6",
|
|
600
478
|
});
|
|
601
479
|
|
|
602
480
|
expect(result).toBeUndefined();
|
|
603
481
|
});
|
|
604
482
|
|
|
605
|
-
it("
|
|
606
|
-
const { registerModelRoutingHook } = await import("../src/hooks/model-routing");
|
|
483
|
+
it("auto-detects creative model for Anthropic Haiku", async () => {
|
|
484
|
+
const { registerModelRoutingHook, modelState } = await import("../src/hooks/model-routing");
|
|
607
485
|
const api = createMockApi();
|
|
486
|
+
modelState.creativeMode = true;
|
|
608
487
|
|
|
609
|
-
registerModelRoutingHook(api
|
|
488
|
+
registerModelRoutingHook(api);
|
|
610
489
|
|
|
611
|
-
|
|
612
|
-
|
|
490
|
+
await api._fire("before_model_resolve", {
|
|
491
|
+
model: "anthropic/claude-haiku-3",
|
|
613
492
|
});
|
|
614
493
|
|
|
615
|
-
expect(
|
|
616
|
-
expect(result.model).toBe("anthropic/claude-opus-5");
|
|
494
|
+
expect(modelState.resolvedCreativeModel).toContain("sonnet");
|
|
617
495
|
});
|
|
618
496
|
});
|
|
619
497
|
|
|
@@ -639,25 +517,10 @@ describe("hooks/enforcement - rate limits", () => {
|
|
|
639
517
|
const { registerEnforcementHook } = await import("../src/hooks/enforcement");
|
|
640
518
|
const api = createMockApi();
|
|
641
519
|
|
|
642
|
-
globalThis.fetch = mockFetchResponses({
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
linkedIn: {
|
|
647
|
-
limits: {
|
|
648
|
-
profile_visit: {
|
|
649
|
-
daily: { current: 100, limit: 100, remaining: 0 },
|
|
650
|
-
},
|
|
651
|
-
},
|
|
652
|
-
},
|
|
653
|
-
},
|
|
654
|
-
"/api/contacts/stats": { funnel: {} },
|
|
655
|
-
"/api/context": { entries: [] },
|
|
656
|
-
"/api/scheduled-messages": { messages: [], total: 0 },
|
|
657
|
-
"/api/me/linkedin/accounts": { accounts: [] },
|
|
658
|
-
"/api/agent-state/lead-gen": { data: null },
|
|
659
|
-
"/api/agent-state/outreach": { data: null },
|
|
660
|
-
}) as any;
|
|
520
|
+
globalThis.fetch = mockFetchResponses(buildSnapshot({
|
|
521
|
+
credits: { current: 5, limit: 100, remaining: 95, isUnlimited: false, percentage: 5 },
|
|
522
|
+
limits: { multiplier: 1, limits: { profile_visit: { daily: { current: 100, limit: 100, remaining: 0 } } } },
|
|
523
|
+
})) as any;
|
|
661
524
|
|
|
662
525
|
registerEnforcementHook(api, "brc_test_key", { readPacingMin: 0, readPacingMax: 0 }, state);
|
|
663
526
|
|
|
@@ -677,24 +540,10 @@ describe("hooks/enforcement - rate limits", () => {
|
|
|
677
540
|
const api = createMockApi();
|
|
678
541
|
|
|
679
542
|
globalThis.fetch = mockFetchResponses({
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
multiplier: 1,
|
|
683
|
-
|
|
684
|
-
limits: {
|
|
685
|
-
connection_request: {
|
|
686
|
-
daily: { current: 10, limit: 30, remaining: 20 },
|
|
687
|
-
weekly: { current: 100, limit: 100, remaining: 0 },
|
|
688
|
-
},
|
|
689
|
-
},
|
|
690
|
-
},
|
|
691
|
-
},
|
|
692
|
-
"/api/contacts/stats": { funnel: {} },
|
|
693
|
-
"/api/context": { entries: [] },
|
|
694
|
-
"/api/scheduled-messages": { messages: [], total: 0 },
|
|
695
|
-
"/api/me/linkedin/accounts": { accounts: [] },
|
|
696
|
-
"/api/agent-state/lead-gen": { data: null },
|
|
697
|
-
"/api/agent-state/outreach": { data: null },
|
|
543
|
+
...buildSnapshot({
|
|
544
|
+
credits: { current: 5, limit: 100, remaining: 95, isUnlimited: false, percentage: 5 },
|
|
545
|
+
limits: { multiplier: 1, limits: { connection_request: { daily: { current: 10, limit: 30, remaining: 20 }, weekly: { current: 100, limit: 100, remaining: 0 } } } },
|
|
546
|
+
}),
|
|
698
547
|
"/api/contacts/by-url": { contact: { doNotContact: false } },
|
|
699
548
|
}) as any;
|
|
700
549
|
|
|
@@ -715,16 +564,9 @@ describe("hooks/enforcement - rate limits", () => {
|
|
|
715
564
|
const { registerEnforcementHook } = await import("../src/hooks/enforcement");
|
|
716
565
|
const api = createMockApi();
|
|
717
566
|
|
|
718
|
-
globalThis.fetch = mockFetchResponses({
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
"/api/contacts/stats": { funnel: {} },
|
|
722
|
-
"/api/context": { entries: [] },
|
|
723
|
-
"/api/scheduled-messages": { messages: [], total: 0 },
|
|
724
|
-
"/api/me/linkedin/accounts": { accounts: [] },
|
|
725
|
-
"/api/agent-state/lead-gen": { data: null },
|
|
726
|
-
"/api/agent-state/outreach": { data: null },
|
|
727
|
-
}) as any;
|
|
567
|
+
globalThis.fetch = mockFetchResponses(buildSnapshot({
|
|
568
|
+
credits: { current: 500, limit: null, remaining: null, isUnlimited: true, percentage: 0 },
|
|
569
|
+
})) as any;
|
|
728
570
|
|
|
729
571
|
registerEnforcementHook(api, "brc_test_key", { readPacingMin: 0, readPacingMax: 0 }, state);
|
|
730
572
|
|
|
@@ -740,16 +582,9 @@ describe("hooks/enforcement - rate limits", () => {
|
|
|
740
582
|
const { registerEnforcementHook } = await import("../src/hooks/enforcement");
|
|
741
583
|
const api = createMockApi();
|
|
742
584
|
|
|
743
|
-
globalThis.fetch = mockFetchResponses({
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
"/api/contacts/stats": { funnel: {} },
|
|
747
|
-
"/api/context": { entries: [] },
|
|
748
|
-
"/api/scheduled-messages": { messages: [], total: 0 },
|
|
749
|
-
"/api/me/linkedin/accounts": { accounts: [] },
|
|
750
|
-
"/api/agent-state/lead-gen": { data: null },
|
|
751
|
-
"/api/agent-state/outreach": { data: null },
|
|
752
|
-
}) as any;
|
|
585
|
+
globalThis.fetch = mockFetchResponses(buildSnapshot({
|
|
586
|
+
credits: { current: 100, limit: 100, remaining: 0, isUnlimited: false, percentage: 100 },
|
|
587
|
+
})) as any;
|
|
753
588
|
|
|
754
589
|
const startMs = Date.now();
|
|
755
590
|
registerEnforcementHook(api, "brc_test_key", { readPacingMin: 5, readPacingMax: 10 }, state);
|
|
@@ -773,6 +608,13 @@ describe("hooks/enforcement - rate limits", () => {
|
|
|
773
608
|
describe("hooks/context - campaign dispatch", () => {
|
|
774
609
|
const originalFetch = globalThis.fetch;
|
|
775
610
|
|
|
611
|
+
beforeEach(async () => {
|
|
612
|
+
cache.clearAll();
|
|
613
|
+
const { modelState } = await import("../src/hooks/model-routing");
|
|
614
|
+
modelState.isWeakModel = false;
|
|
615
|
+
modelState.consecutiveErrors = 0;
|
|
616
|
+
});
|
|
617
|
+
|
|
776
618
|
afterEach(() => {
|
|
777
619
|
globalThis.fetch = originalFetch;
|
|
778
620
|
cache.clearAll();
|
|
@@ -783,43 +625,19 @@ describe("hooks/context - campaign dispatch", () => {
|
|
|
783
625
|
const api = createMockApi();
|
|
784
626
|
|
|
785
627
|
const now = new Date();
|
|
786
|
-
const tenMinAgo = new Date(now.getTime() - 10 * 60 * 1000).toISOString();
|
|
787
628
|
const twoHoursAgo = new Date(now.getTime() - 120 * 60 * 1000).toISOString();
|
|
788
629
|
|
|
789
630
|
globalThis.fetch = mockFetchResponses({
|
|
790
631
|
"/api/onboarding/soul": { soul: "<!-- bereach-workspace-v2 -->\nTest\n<!-- /bereach-workspace -->" },
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
"/api/agent-state/campaigns": {
|
|
801
|
-
data: {
|
|
802
|
-
schemaVersion: 1,
|
|
803
|
-
campaigns: [
|
|
804
|
-
{
|
|
805
|
-
id: "lm-1", type: "lead-magnet", name: "AI tools post",
|
|
806
|
-
status: "active", priority: "high",
|
|
807
|
-
checkIntervalMinutes: 5, lastCheckAt: tenMinAgo,
|
|
808
|
-
createdAt: twoHoursAgo, config: {}, progress: {}, stats: {},
|
|
809
|
-
lockedUntil: null, errorMessage: null, consecutiveErrors: 0, lastSuccessAt: tenMinAgo,
|
|
810
|
-
},
|
|
811
|
-
{
|
|
812
|
-
id: "lg-1", type: "lead-gen", name: "competitor scrape",
|
|
813
|
-
status: "active", priority: "medium",
|
|
814
|
-
checkIntervalMinutes: 60, lastCheckAt: twoHoursAgo,
|
|
815
|
-
createdAt: twoHoursAgo, config: {}, progress: {}, stats: {},
|
|
816
|
-
lockedUntil: null, errorMessage: null, consecutiveErrors: 0, lastSuccessAt: twoHoursAgo,
|
|
817
|
-
},
|
|
818
|
-
],
|
|
819
|
-
updatedAt: tenMinAgo,
|
|
820
|
-
},
|
|
821
|
-
},
|
|
822
|
-
"registry.npmjs.org": null,
|
|
632
|
+
...buildSnapshot({
|
|
633
|
+
credits: { current: 0, limit: 100, remaining: 100, isUnlimited: false, percentage: 0 },
|
|
634
|
+
onboardingState: { completed: true },
|
|
635
|
+
activeCampaigns: [
|
|
636
|
+
{ id: "lm-1", type: "lead-magnet", name: "AI tools post", status: "active" },
|
|
637
|
+
{ id: "lg-1", type: "lead-gen", name: "competitor scrape", status: "active" },
|
|
638
|
+
],
|
|
639
|
+
campaignChecks: { "lm-1": twoHoursAgo, "lg-1": twoHoursAgo },
|
|
640
|
+
}),
|
|
823
641
|
}) as any;
|
|
824
642
|
|
|
825
643
|
registerContextHook(api, "brc_test_key");
|
|
@@ -837,17 +655,10 @@ describe("hooks/context - campaign dispatch", () => {
|
|
|
837
655
|
|
|
838
656
|
globalThis.fetch = mockFetchResponses({
|
|
839
657
|
"/api/onboarding/soul": { soul: "<!-- bereach-workspace-v2 -->\nTest\n<!-- /bereach-workspace -->" },
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
"/api/scheduled-messages": { messages: [], total: 0 },
|
|
845
|
-
"/api/me/linkedin/accounts": { accounts: [] },
|
|
846
|
-
"/api/agent-state/lead-gen": { data: null },
|
|
847
|
-
"/api/agent-state/outreach": { data: null },
|
|
848
|
-
"/api/chats/linkedin/unread": { unreadCount: 0 },
|
|
849
|
-
"/api/agent-state/campaigns": { data: null },
|
|
850
|
-
"registry.npmjs.org": null,
|
|
658
|
+
...buildSnapshot({
|
|
659
|
+
credits: { current: 0, limit: 100, remaining: 100, isUnlimited: false, percentage: 0 },
|
|
660
|
+
onboardingState: { completed: true },
|
|
661
|
+
}),
|
|
851
662
|
}) as any;
|
|
852
663
|
|
|
853
664
|
registerContextHook(api, "brc_test_key");
|
|
@@ -862,17 +673,10 @@ describe("hooks/context - campaign dispatch", () => {
|
|
|
862
673
|
|
|
863
674
|
globalThis.fetch = mockFetchResponses({
|
|
864
675
|
"/api/onboarding/soul": { soul: "<!-- bereach-workspace-v2 -->\nTest\n<!-- /bereach-workspace -->" },
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
"/api/scheduled-messages": { messages: [], total: 0 },
|
|
870
|
-
"/api/me/linkedin/accounts": { accounts: [] },
|
|
871
|
-
"/api/agent-state/lead-gen": { data: null },
|
|
872
|
-
"/api/agent-state/outreach": { data: null },
|
|
873
|
-
"/api/chats/linkedin/unread": { unreadCount: 0 },
|
|
874
|
-
"/api/agent-state/campaigns": { data: null },
|
|
875
|
-
"registry.npmjs.org": null,
|
|
676
|
+
...buildSnapshot({
|
|
677
|
+
credits: { current: 0, limit: 100, remaining: 100, isUnlimited: false, percentage: 0 },
|
|
678
|
+
onboardingState: { completed: true },
|
|
679
|
+
}),
|
|
876
680
|
}) as any;
|
|
877
681
|
|
|
878
682
|
registerContextHook(api, "brc_test_key");
|
|
@@ -881,8 +685,6 @@ describe("hooks/context - campaign dispatch", () => {
|
|
|
881
685
|
expect(result.appendSystemContext).toContain("Execution Modes");
|
|
882
686
|
expect(result.appendSystemContext).toContain("One-shot");
|
|
883
687
|
expect(result.appendSystemContext).toContain("Recurring");
|
|
884
|
-
expect(result.appendSystemContext).toContain("Campaign Orchestrator");
|
|
885
|
-
expect(result.appendSystemContext).toContain("*/5 * * * *");
|
|
886
688
|
});
|
|
887
689
|
|
|
888
690
|
it("injects execution modes when campaign state has 0 campaigns", async () => {
|
|
@@ -891,17 +693,11 @@ describe("hooks/context - campaign dispatch", () => {
|
|
|
891
693
|
|
|
892
694
|
globalThis.fetch = mockFetchResponses({
|
|
893
695
|
"/api/onboarding/soul": { soul: "<!-- bereach-workspace-v2 -->\nTest\n<!-- /bereach-workspace -->" },
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
"/api/me/linkedin/accounts": { accounts: [] },
|
|
900
|
-
"/api/agent-state/lead-gen": { data: null },
|
|
901
|
-
"/api/agent-state/outreach": { data: null },
|
|
902
|
-
"/api/chats/linkedin/unread": { unreadCount: 0 },
|
|
903
|
-
"/api/agent-state/campaigns": { data: { schemaVersion: 1, campaigns: [], updatedAt: "2026-01-01" } },
|
|
904
|
-
"registry.npmjs.org": null,
|
|
696
|
+
...buildSnapshot({
|
|
697
|
+
credits: { current: 0, limit: 100, remaining: 100, isUnlimited: false, percentage: 0 },
|
|
698
|
+
activeCampaigns: [],
|
|
699
|
+
onboardingState: { completed: true },
|
|
700
|
+
}),
|
|
905
701
|
}) as any;
|
|
906
702
|
|
|
907
703
|
registerContextHook(api, "brc_test_key");
|
|
@@ -919,29 +715,14 @@ describe("hooks/context - campaign dispatch", () => {
|
|
|
919
715
|
const now = new Date();
|
|
920
716
|
globalThis.fetch = mockFetchResponses({
|
|
921
717
|
"/api/onboarding/soul": { soul: "<!-- bereach-workspace-v2 -->\nTest\n<!-- /bereach-workspace -->" },
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
"/api/chats/linkedin/unread": { unreadCount: 0 },
|
|
931
|
-
"/api/agent-state/campaigns": {
|
|
932
|
-
data: {
|
|
933
|
-
schemaVersion: 1,
|
|
934
|
-
campaigns: [{
|
|
935
|
-
id: "c1", type: "lead-gen", name: "Test", status: "active",
|
|
936
|
-
priority: "medium", checkIntervalMinutes: 60,
|
|
937
|
-
lastCheckAt: new Date(now.getTime() - 30 * 60_000).toISOString(),
|
|
938
|
-
createdAt: now.toISOString(), config: {}, progress: {}, stats: {},
|
|
939
|
-
lockedUntil: null, errorMessage: null, consecutiveErrors: 0, lastSuccessAt: null,
|
|
940
|
-
}],
|
|
941
|
-
updatedAt: now.toISOString(),
|
|
942
|
-
},
|
|
943
|
-
},
|
|
944
|
-
"registry.npmjs.org": null,
|
|
718
|
+
...buildSnapshot({
|
|
719
|
+
credits: { current: 0, limit: 100, remaining: 100, isUnlimited: false, percentage: 0 },
|
|
720
|
+
activeCampaigns: [
|
|
721
|
+
{ id: "c1", type: "lead-gen", name: "Test", status: "active" },
|
|
722
|
+
],
|
|
723
|
+
campaignChecks: { c1: new Date(now.getTime() - 30 * 60_000).toISOString() },
|
|
724
|
+
onboardingState: { completed: true },
|
|
725
|
+
}),
|
|
945
726
|
}) as any;
|
|
946
727
|
|
|
947
728
|
registerContextHook(api, "brc_test_key");
|
|
@@ -951,170 +732,117 @@ describe("hooks/context - campaign dispatch", () => {
|
|
|
951
732
|
expect(result.appendSystemContext).toContain("Campaign Dispatch");
|
|
952
733
|
});
|
|
953
734
|
|
|
954
|
-
it("injects
|
|
735
|
+
it("injects incomplete task directive when lead-gen state is in progress", async () => {
|
|
955
736
|
const { registerContextHook } = await import("../src/hooks/context");
|
|
956
737
|
const api = createMockApi();
|
|
957
738
|
|
|
958
739
|
globalThis.fetch = mockFetchResponses({
|
|
959
740
|
"/api/onboarding/soul": { soul: "<!-- bereach-workspace-v2 -->\nTest\n<!-- /bereach-workspace -->" },
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
"/api/me/linkedin/accounts": { accounts: [] },
|
|
966
|
-
"/api/agent-state/lead-gen": { data: { phase: "qualification", totalFound: 30, target: 100 } },
|
|
967
|
-
"/api/agent-state/outreach": { data: null },
|
|
968
|
-
"/api/chats/linkedin/unread": { unreadCount: 0 },
|
|
969
|
-
"/api/agent-state/campaigns": { data: null },
|
|
970
|
-
"/api/agent-state/auto-resume": { data: { taskType: "lead-gen", savedAt: new Date().toISOString(), phase: "qualification", found: 30, target: 100, stateKey: "lead-gen" } },
|
|
971
|
-
"registry.npmjs.org": null,
|
|
741
|
+
...buildSnapshot({
|
|
742
|
+
credits: { current: 0, limit: 100, remaining: 100, isUnlimited: false, percentage: 0 },
|
|
743
|
+
leadGenState: { phase: "qualification", totalFound: 30, target: 100 },
|
|
744
|
+
onboardingState: { completed: true },
|
|
745
|
+
}),
|
|
972
746
|
}) as any;
|
|
973
747
|
|
|
974
748
|
registerContextHook(api, "brc_test_key");
|
|
975
749
|
const result = await api._fire("before_prompt_build");
|
|
976
750
|
|
|
977
|
-
expect(result.appendSystemContext).toContain("AUTO-RESUME");
|
|
978
751
|
expect(result.appendSystemContext).toContain("Incomplete Task");
|
|
979
752
|
expect(result.appendSystemContext).toContain("bereach_state_get('lead-gen')");
|
|
980
|
-
expect(result.appendSystemContext).toContain("bereach_state_delete('auto-resume')");
|
|
981
|
-
// Should also inject cron setup since no campaigns exist
|
|
982
|
-
expect(result.appendSystemContext).toContain("Ensure Cron");
|
|
983
753
|
});
|
|
984
754
|
|
|
985
|
-
it("skips
|
|
755
|
+
it("skips incomplete task when lead-gen state is completed", async () => {
|
|
986
756
|
const { registerContextHook } = await import("../src/hooks/context");
|
|
987
757
|
const api = createMockApi();
|
|
988
758
|
|
|
989
759
|
globalThis.fetch = mockFetchResponses({
|
|
990
760
|
"/api/onboarding/soul": { soul: "<!-- bereach-workspace-v2 -->\nTest\n<!-- /bereach-workspace -->" },
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
"/api/me/linkedin/accounts": { accounts: [] },
|
|
997
|
-
"/api/agent-state/lead-gen": { data: { phase: "complete", totalFound: 100, target: 100 } },
|
|
998
|
-
"/api/agent-state/outreach": { data: null },
|
|
999
|
-
"/api/chats/linkedin/unread": { unreadCount: 0 },
|
|
1000
|
-
"/api/agent-state/campaigns": { data: null },
|
|
1001
|
-
"/api/agent-state/auto-resume": { data: { taskType: "lead-gen", savedAt: new Date().toISOString(), phase: "qualification", found: 30, target: 100, stateKey: "lead-gen" } },
|
|
1002
|
-
"registry.npmjs.org": null,
|
|
761
|
+
...buildSnapshot({
|
|
762
|
+
credits: { current: 0, limit: 100, remaining: 100, isUnlimited: false, percentage: 0 },
|
|
763
|
+
leadGenState: { phase: "complete", totalFound: 100, target: 100 },
|
|
764
|
+
onboardingState: { completed: true },
|
|
765
|
+
}),
|
|
1003
766
|
}) as any;
|
|
1004
767
|
|
|
1005
768
|
registerContextHook(api, "brc_test_key");
|
|
1006
769
|
const result = await api._fire("before_prompt_build");
|
|
1007
770
|
|
|
1008
|
-
expect(result.appendSystemContext).not.toContain("
|
|
1009
|
-
expect(result.appendSystemContext).not.toContain("Ensure Cron");
|
|
771
|
+
expect(result.appendSystemContext).not.toContain("Incomplete Task");
|
|
1010
772
|
});
|
|
1011
773
|
|
|
1012
|
-
it("skips
|
|
774
|
+
it("skips incomplete task when lead-gen state is absent", async () => {
|
|
1013
775
|
const { registerContextHook } = await import("../src/hooks/context");
|
|
1014
776
|
const api = createMockApi();
|
|
1015
777
|
|
|
1016
778
|
globalThis.fetch = mockFetchResponses({
|
|
1017
779
|
"/api/onboarding/soul": { soul: "<!-- bereach-workspace-v2 -->\nTest\n<!-- /bereach-workspace -->" },
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
"/api/scheduled-messages": { messages: [], total: 0 },
|
|
1023
|
-
"/api/me/linkedin/accounts": { accounts: [] },
|
|
1024
|
-
"/api/agent-state/lead-gen": { data: null },
|
|
1025
|
-
"/api/agent-state/outreach": { data: null },
|
|
1026
|
-
"/api/chats/linkedin/unread": { unreadCount: 0 },
|
|
1027
|
-
"/api/agent-state/campaigns": { data: null },
|
|
1028
|
-
"/api/agent-state/auto-resume": { data: { taskType: "lead-gen", savedAt: new Date().toISOString(), phase: "search", found: 10, target: 50, stateKey: "lead-gen" } },
|
|
1029
|
-
"registry.npmjs.org": null,
|
|
780
|
+
...buildSnapshot({
|
|
781
|
+
credits: { current: 0, limit: 100, remaining: 100, isUnlimited: false, percentage: 0 },
|
|
782
|
+
onboardingState: { completed: true },
|
|
783
|
+
}),
|
|
1030
784
|
}) as any;
|
|
1031
785
|
|
|
1032
786
|
registerContextHook(api, "brc_test_key");
|
|
1033
787
|
const result = await api._fire("before_prompt_build");
|
|
1034
788
|
|
|
1035
|
-
expect(result.appendSystemContext).not.toContain("
|
|
789
|
+
expect(result.appendSystemContext).not.toContain("Incomplete Task");
|
|
1036
790
|
});
|
|
1037
791
|
|
|
1038
|
-
it("uses live lead-gen state data for progress display
|
|
792
|
+
it("uses live lead-gen state data for progress display", async () => {
|
|
1039
793
|
const { registerContextHook } = await import("../src/hooks/context");
|
|
1040
794
|
const api = createMockApi();
|
|
1041
795
|
|
|
1042
796
|
globalThis.fetch = mockFetchResponses({
|
|
1043
797
|
"/api/onboarding/soul": { soul: "<!-- bereach-workspace-v2 -->\nTest\n<!-- /bereach-workspace -->" },
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
"/api/me/linkedin/accounts": { accounts: [] },
|
|
1050
|
-
"/api/agent-state/lead-gen": { data: { phase: "qualification", totalFound: 55, target: 100 } },
|
|
1051
|
-
"/api/agent-state/outreach": { data: null },
|
|
1052
|
-
"/api/chats/linkedin/unread": { unreadCount: 0 },
|
|
1053
|
-
"/api/agent-state/campaigns": { data: null },
|
|
1054
|
-
"/api/agent-state/auto-resume": { data: { taskType: "lead-gen", savedAt: new Date().toISOString(), phase: "search", found: 30, target: 100, stateKey: "lead-gen" } },
|
|
1055
|
-
"registry.npmjs.org": null,
|
|
798
|
+
...buildSnapshot({
|
|
799
|
+
credits: { current: 0, limit: 100, remaining: 100, isUnlimited: false, percentage: 0 },
|
|
800
|
+
leadGenState: { phase: "qualification", totalFound: 55, target: 100 },
|
|
801
|
+
onboardingState: { completed: true },
|
|
802
|
+
}),
|
|
1056
803
|
}) as any;
|
|
1057
804
|
|
|
1058
805
|
registerContextHook(api, "brc_test_key");
|
|
1059
806
|
const result = await api._fire("before_prompt_build");
|
|
1060
807
|
|
|
1061
|
-
// Should show live progress (55) not stale auto-resume snapshot (30)
|
|
1062
808
|
expect(result.appendSystemContext).toContain("55");
|
|
1063
809
|
expect(result.appendSystemContext).toContain("100");
|
|
1064
810
|
});
|
|
1065
811
|
|
|
1066
|
-
it("
|
|
812
|
+
it("does not inject incomplete task for completed lead-gen state", async () => {
|
|
1067
813
|
const { registerContextHook } = await import("../src/hooks/context");
|
|
1068
814
|
const api = createMockApi();
|
|
1069
815
|
|
|
1070
|
-
const staleTime = new Date(Date.now() - 25 * 60 * 60 * 1000).toISOString(); // 25h ago
|
|
1071
816
|
globalThis.fetch = mockFetchResponses({
|
|
1072
817
|
"/api/onboarding/soul": { soul: "<!-- bereach-workspace-v2 -->\nTest\n<!-- /bereach-workspace -->" },
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
"/api/me/linkedin/accounts": { accounts: [] },
|
|
1079
|
-
"/api/agent-state/lead-gen": { data: { phase: "search", totalFound: 10, target: 50 } },
|
|
1080
|
-
"/api/agent-state/outreach": { data: null },
|
|
1081
|
-
"/api/chats/linkedin/unread": { unreadCount: 0 },
|
|
1082
|
-
"/api/agent-state/campaigns": { data: null },
|
|
1083
|
-
"/api/agent-state/auto-resume": { data: { taskType: "lead-gen", savedAt: staleTime, phase: "search", found: 10, target: 50, stateKey: "lead-gen" } },
|
|
1084
|
-
"registry.npmjs.org": null,
|
|
818
|
+
...buildSnapshot({
|
|
819
|
+
credits: { current: 0, limit: 100, remaining: 100, isUnlimited: false, percentage: 0 },
|
|
820
|
+
leadGenState: { phase: "complete", totalFound: 50, target: 50 },
|
|
821
|
+
onboardingState: { completed: true },
|
|
822
|
+
}),
|
|
1085
823
|
}) as any;
|
|
1086
824
|
|
|
1087
825
|
registerContextHook(api, "brc_test_key");
|
|
1088
826
|
const result = await api._fire("before_prompt_build");
|
|
1089
827
|
|
|
1090
|
-
|
|
1091
|
-
expect(result.appendSystemContext).not.toContain("AUTO-RESUME");
|
|
828
|
+
expect(result.appendSystemContext).not.toContain("Incomplete Task");
|
|
1092
829
|
});
|
|
1093
830
|
|
|
1094
831
|
it("does not inject cron setup for one-shot scenarios", async () => {
|
|
1095
832
|
const { registerContextHook } = await import("../src/hooks/context");
|
|
1096
833
|
const api = createMockApi();
|
|
1097
834
|
|
|
1098
|
-
const now = new Date();
|
|
1099
835
|
globalThis.fetch = mockFetchResponses({
|
|
1100
836
|
"/api/onboarding/soul": { soul: "<!-- bereach-workspace-v2 -->\nTest\n<!-- /bereach-workspace -->" },
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
"/api/scheduled-messages": { messages: [], total: 0 },
|
|
1106
|
-
"/api/me/linkedin/accounts": { accounts: [] },
|
|
1107
|
-
"/api/agent-state/lead-gen": { data: null },
|
|
1108
|
-
"/api/agent-state/outreach": { data: null },
|
|
1109
|
-
"/api/chats/linkedin/unread": { unreadCount: 0 },
|
|
1110
|
-
"/api/agent-state/campaigns": { data: null },
|
|
1111
|
-
"registry.npmjs.org": null,
|
|
837
|
+
...buildSnapshot({
|
|
838
|
+
credits: { current: 0, limit: 100, remaining: 100, isUnlimited: false, percentage: 0 },
|
|
839
|
+
onboardingState: { completed: true },
|
|
840
|
+
}),
|
|
1112
841
|
}) as any;
|
|
1113
842
|
|
|
1114
843
|
registerContextHook(api, "brc_test_key");
|
|
1115
844
|
const result = await api._fire("before_prompt_build");
|
|
1116
845
|
|
|
1117
|
-
// Execution modes are shown, but the directive says "Most requests are one-shot"
|
|
1118
846
|
expect(result.appendSystemContext).toContain("Most requests are one-shot");
|
|
1119
847
|
expect(result.appendSystemContext).toContain("Do not force campaigns on simple tasks");
|
|
1120
848
|
});
|
|
@@ -1132,106 +860,46 @@ describe("hooks/cache - campaign state", () => {
|
|
|
1132
860
|
cache.clearAll();
|
|
1133
861
|
});
|
|
1134
862
|
|
|
1135
|
-
it("fetches and
|
|
1136
|
-
globalThis.fetch = mockFetchResponses({
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
"
|
|
1140
|
-
|
|
1141
|
-
"/api/scheduled-messages": { messages: [], total: 0 },
|
|
1142
|
-
"/api/me/linkedin/accounts": { accounts: [] },
|
|
1143
|
-
"/api/agent-state/lead-gen": { data: null },
|
|
1144
|
-
"/api/agent-state/outreach": { data: null },
|
|
1145
|
-
"/api/chats/linkedin/unread": { unreadCount: 3 },
|
|
1146
|
-
"/api/agent-state/campaigns": {
|
|
1147
|
-
data: { schemaVersion: 1, campaigns: [{ id: "test", status: "active" }], updatedAt: "2026-01-01" },
|
|
1148
|
-
},
|
|
1149
|
-
}) as any;
|
|
863
|
+
it("fetches and returns campaign data from snapshot", async () => {
|
|
864
|
+
globalThis.fetch = mockFetchResponses(buildSnapshot({
|
|
865
|
+
credits: { current: 0, limit: 100, remaining: 100, isUnlimited: false, percentage: 0 },
|
|
866
|
+
unreadDMs: 3,
|
|
867
|
+
activeCampaigns: [{ id: "test", name: "Test", type: "lead-gen", status: "active" }],
|
|
868
|
+
})) as any;
|
|
1150
869
|
|
|
1151
|
-
const data = await cache.
|
|
1152
|
-
expect(data.
|
|
1153
|
-
expect(data.
|
|
870
|
+
const data = await cache.fetchSnapshot("brc_test");
|
|
871
|
+
expect(data.activeCampaigns.length).toBe(1);
|
|
872
|
+
expect(data.activeCampaigns[0].id).toBe("test");
|
|
1154
873
|
expect(data.unreadDMs).toBe(3);
|
|
1155
874
|
});
|
|
1156
875
|
|
|
1157
|
-
it("
|
|
1158
|
-
globalThis.fetch = mockFetchResponses({
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
"/api/contacts/stats": { funnel: {} },
|
|
1162
|
-
"/api/context": { entries: [] },
|
|
1163
|
-
"/api/scheduled-messages": { messages: [], total: 0 },
|
|
1164
|
-
"/api/me/linkedin/accounts": { accounts: [] },
|
|
1165
|
-
"/api/agent-state/lead-gen": { data: null },
|
|
1166
|
-
"/api/agent-state/outreach": { data: null },
|
|
1167
|
-
"/api/chats/linkedin/unread": { unreadCount: 0 },
|
|
1168
|
-
"/api/agent-state/campaigns": {
|
|
1169
|
-
data: { schemaVersion: 99, campaigns: [], updatedAt: "2026-01-01" },
|
|
1170
|
-
},
|
|
1171
|
-
}) as any;
|
|
876
|
+
it("returns empty campaigns when none provided in snapshot", async () => {
|
|
877
|
+
globalThis.fetch = mockFetchResponses(buildSnapshot({
|
|
878
|
+
credits: { current: 0, limit: 100, remaining: 100, isUnlimited: false, percentage: 0 },
|
|
879
|
+
})) as any;
|
|
1172
880
|
|
|
1173
|
-
const data = await cache.
|
|
1174
|
-
|
|
1175
|
-
expect(data.campaignState).toEqual({
|
|
1176
|
-
schemaVersion: 1,
|
|
1177
|
-
campaigns: [],
|
|
1178
|
-
updatedAt: expect.any(String),
|
|
1179
|
-
});
|
|
881
|
+
const data = await cache.fetchSnapshot("brc_test");
|
|
882
|
+
expect(data.activeCampaigns).toEqual([]);
|
|
1180
883
|
});
|
|
1181
884
|
|
|
1182
|
-
it("
|
|
1183
|
-
const mockFetch = mockFetchResponses({
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
"/api/context": { entries: [] },
|
|
1188
|
-
"/api/scheduled-messages": { messages: [], total: 0 },
|
|
1189
|
-
"/api/me/linkedin/accounts": { accounts: [] },
|
|
1190
|
-
"/api/agent-state/lead-gen": { data: null },
|
|
1191
|
-
"/api/agent-state/outreach": { data: null },
|
|
1192
|
-
"/api/chats/linkedin/unread": { unreadCount: 0 },
|
|
1193
|
-
"/api/agent-state/campaigns": { data: null },
|
|
1194
|
-
});
|
|
885
|
+
it("invalidating credits triggers full refetch", async () => {
|
|
886
|
+
const mockFetch = mockFetchResponses(buildSnapshot({
|
|
887
|
+
credits: { current: 0, limit: 100, remaining: 100, isUnlimited: false, percentage: 0 },
|
|
888
|
+
limits: { multiplier: 1, limits: {} },
|
|
889
|
+
}));
|
|
1195
890
|
globalThis.fetch = mockFetch as any;
|
|
1196
891
|
|
|
1197
892
|
await cache.getOrFetch("brc_test");
|
|
1198
893
|
const callsAfterFirst = mockFetch.mock.calls.length;
|
|
1199
894
|
|
|
1200
|
-
// Invalidate
|
|
1201
|
-
cache.invalidate("
|
|
895
|
+
// Invalidate credits — credits is the cache sentinel, triggers refetch
|
|
896
|
+
cache.invalidate("credits");
|
|
1202
897
|
await cache.getOrFetch("brc_test");
|
|
1203
898
|
expect(mockFetch.mock.calls.length).toBeGreaterThan(callsAfterFirst);
|
|
1204
899
|
});
|
|
1205
900
|
});
|
|
1206
901
|
|
|
1207
|
-
//
|
|
1208
|
-
// Context Compat (backward compatibility)
|
|
1209
|
-
// ---------------------------------------------------------------------------
|
|
1210
|
-
|
|
1211
|
-
describe("hooks/context-compat", () => {
|
|
1212
|
-
it("injectSoulTemplate works with empty existing", async () => {
|
|
1213
|
-
const { injectSoulTemplate } = await import("../src/hooks/context-compat");
|
|
1214
|
-
const result = injectSoulTemplate("", "template content");
|
|
1215
|
-
expect(result).toBe("template content");
|
|
1216
|
-
});
|
|
1217
|
-
|
|
1218
|
-
it("injectSoulTemplate appends when no markers", async () => {
|
|
1219
|
-
const { injectSoulTemplate } = await import("../src/hooks/context-compat");
|
|
1220
|
-
const result = injectSoulTemplate("existing content", "new template");
|
|
1221
|
-
expect(result).toContain("existing content");
|
|
1222
|
-
expect(result).toContain("new template");
|
|
1223
|
-
});
|
|
1224
|
-
|
|
1225
|
-
it("injectSoulTemplate replaces between markers", async () => {
|
|
1226
|
-
const { injectSoulTemplate } = await import("../src/hooks/context-compat");
|
|
1227
|
-
const existing = "before <!-- bereach-workspace-v1 -->\nold\n<!-- /bereach-workspace --> after";
|
|
1228
|
-
const result = injectSoulTemplate(existing, "new template");
|
|
1229
|
-
expect(result).toContain("before ");
|
|
1230
|
-
expect(result).toContain("new template");
|
|
1231
|
-
expect(result).toContain(" after");
|
|
1232
|
-
expect(result).not.toContain("old");
|
|
1233
|
-
});
|
|
1234
|
-
});
|
|
902
|
+
// (context-compat module was removed — tests deleted)
|
|
1235
903
|
|
|
1236
904
|
// ---------------------------------------------------------------------------
|
|
1237
905
|
// TEST-5: checkBusinessHours and applyUserIntervalOverrides
|
|
@@ -1294,41 +962,46 @@ describe("hooks/context - checkBusinessHours", () => {
|
|
|
1294
962
|
});
|
|
1295
963
|
});
|
|
1296
964
|
|
|
1297
|
-
describe("hooks/context -
|
|
965
|
+
describe("hooks/context - interval overrides via rankCampaigns", () => {
|
|
1298
966
|
it("overrides campaign check interval from context entries", async () => {
|
|
1299
|
-
const {
|
|
967
|
+
const { _rankCampaigns } = await import("../src/hooks/context");
|
|
968
|
+
const now = Date.now();
|
|
1300
969
|
const campaigns = [
|
|
1301
|
-
{ id: "c1", type: "lead-magnet"
|
|
1302
|
-
{ id: "c2", type: "lead-gen"
|
|
970
|
+
{ id: "c1", type: "lead-magnet", name: "test", status: "active" },
|
|
971
|
+
{ id: "c2", type: "lead-gen", name: "test2", status: "active" },
|
|
1303
972
|
];
|
|
973
|
+
const checks = {
|
|
974
|
+
c1: new Date(now - 20 * 60_000).toISOString(),
|
|
975
|
+
c2: new Date(now - 40 * 60_000).toISOString(),
|
|
976
|
+
};
|
|
1304
977
|
const contexts = [
|
|
1305
978
|
{ type: "check_interval_lead_magnet", content: "15" },
|
|
1306
979
|
{ type: "check_interval_lead_gen", content: "30" },
|
|
1307
980
|
];
|
|
1308
|
-
const result =
|
|
1309
|
-
expect(result
|
|
1310
|
-
expect(result
|
|
981
|
+
const result = _rankCampaigns(campaigns, checks, contexts);
|
|
982
|
+
expect(result.find((r) => r.campaign.id === "c1")!.interval).toBe(15);
|
|
983
|
+
expect(result.find((r) => r.campaign.id === "c2")!.interval).toBe(30);
|
|
1311
984
|
});
|
|
1312
985
|
|
|
1313
|
-
it("
|
|
1314
|
-
const {
|
|
986
|
+
it("uses default interval when context is missing", async () => {
|
|
987
|
+
const { _rankCampaigns } = await import("../src/hooks/context");
|
|
1315
988
|
const campaigns = [
|
|
1316
|
-
{ id: "c1", type: "lead-magnet"
|
|
989
|
+
{ id: "c1", type: "lead-magnet", name: "test", status: "active" },
|
|
1317
990
|
];
|
|
1318
|
-
const result =
|
|
1319
|
-
expect(result[0].
|
|
991
|
+
const result = _rankCampaigns(campaigns, {}, []);
|
|
992
|
+
expect(result[0].interval).toBe(60);
|
|
1320
993
|
});
|
|
1321
994
|
|
|
1322
|
-
it("ignores invalid override values", async () => {
|
|
1323
|
-
const {
|
|
995
|
+
it("ignores invalid override values and falls back to default", async () => {
|
|
996
|
+
const { _rankCampaigns } = await import("../src/hooks/context");
|
|
1324
997
|
const campaigns = [
|
|
1325
|
-
{ id: "c1", type: "outreach"
|
|
998
|
+
{ id: "c1", type: "outreach", name: "test", status: "active" },
|
|
1326
999
|
];
|
|
1327
1000
|
const contexts = [
|
|
1328
1001
|
{ type: "outreach_cadence", content: "not-a-number" },
|
|
1329
1002
|
];
|
|
1330
|
-
const result =
|
|
1331
|
-
expect(result[0].
|
|
1003
|
+
const result = _rankCampaigns(campaigns, {}, contexts);
|
|
1004
|
+
expect(result[0].interval).toBe(60);
|
|
1332
1005
|
});
|
|
1333
1006
|
});
|
|
1334
1007
|
|
|
@@ -1337,11 +1010,16 @@ describe("hooks/context - rankCampaigns", () => {
|
|
|
1337
1010
|
const { _rankCampaigns } = await import("../src/hooks/context");
|
|
1338
1011
|
const now = Date.now();
|
|
1339
1012
|
const campaigns = [
|
|
1340
|
-
{ id: "ok", type: "lead-gen"
|
|
1341
|
-
{ id: "overdue", type: "lead-magnet"
|
|
1342
|
-
{ id: "due", type: "outreach"
|
|
1013
|
+
{ id: "ok", type: "lead-gen", name: "OK", status: "active" },
|
|
1014
|
+
{ id: "overdue", type: "lead-magnet", name: "Overdue", status: "active" },
|
|
1015
|
+
{ id: "due", type: "outreach", name: "Due", status: "active" },
|
|
1343
1016
|
];
|
|
1344
|
-
const
|
|
1017
|
+
const checks = {
|
|
1018
|
+
ok: new Date(now - 10 * 60_000).toISOString(),
|
|
1019
|
+
overdue: new Date(now - 120 * 60_000).toISOString(),
|
|
1020
|
+
due: new Date(now - 65 * 60_000).toISOString(),
|
|
1021
|
+
};
|
|
1022
|
+
const ranked = _rankCampaigns(campaigns, checks, []);
|
|
1345
1023
|
expect(ranked[0].campaign.id).toBe("overdue");
|
|
1346
1024
|
expect(ranked[0].status).toBe("OVERDUE");
|
|
1347
1025
|
expect(ranked[1].campaign.id).toBe("due");
|
|
@@ -1350,15 +1028,14 @@ describe("hooks/context - rankCampaigns", () => {
|
|
|
1350
1028
|
expect(ranked[2].status).toBe("OK");
|
|
1351
1029
|
});
|
|
1352
1030
|
|
|
1353
|
-
it("
|
|
1031
|
+
it("treats all campaigns as rankable (active filtering is upstream)", async () => {
|
|
1354
1032
|
const { _rankCampaigns } = await import("../src/hooks/context");
|
|
1355
1033
|
const campaigns = [
|
|
1356
|
-
{ id: "active", type: "lead-gen"
|
|
1357
|
-
{ id: "paused", type: "outreach"
|
|
1034
|
+
{ id: "active", type: "lead-gen", name: "Active", status: "active" },
|
|
1035
|
+
{ id: "paused", type: "outreach", name: "Paused", status: "paused" },
|
|
1358
1036
|
];
|
|
1359
|
-
const ranked = _rankCampaigns(campaigns);
|
|
1360
|
-
expect(ranked.length).toBe(
|
|
1361
|
-
expect(ranked[0].campaign.id).toBe("active");
|
|
1037
|
+
const ranked = _rankCampaigns(campaigns, {}, []);
|
|
1038
|
+
expect(ranked.length).toBe(2);
|
|
1362
1039
|
});
|
|
1363
1040
|
});
|
|
1364
1041
|
|
|
@@ -1392,11 +1069,9 @@ describe("hooks/enforcement - actionMap coverage", () => {
|
|
|
1392
1069
|
});
|
|
1393
1070
|
});
|
|
1394
1071
|
|
|
1395
|
-
//
|
|
1396
|
-
// TEST-4: Lifecycle — engagement persistence and auto-promotion
|
|
1397
|
-
// ---------------------------------------------------------------------------
|
|
1072
|
+
// (engagementSignals, auto-resume, and auto-pause features were removed from lifecycle hook — tests deleted)
|
|
1398
1073
|
|
|
1399
|
-
describe("hooks/lifecycle -
|
|
1074
|
+
describe("hooks/lifecycle - session meta", () => {
|
|
1400
1075
|
const originalFetch = globalThis.fetch;
|
|
1401
1076
|
let state: SessionState;
|
|
1402
1077
|
|
|
@@ -1410,350 +1085,65 @@ describe("hooks/lifecycle - engagement", () => {
|
|
|
1410
1085
|
cache.clearAll();
|
|
1411
1086
|
});
|
|
1412
1087
|
|
|
1413
|
-
it("
|
|
1088
|
+
it("does NOT call auto-resume or campaigns endpoints (simplified lifecycle)", async () => {
|
|
1414
1089
|
const { registerLifecycleHook } = await import("../src/hooks/lifecycle");
|
|
1415
1090
|
const api = createMockApi();
|
|
1416
1091
|
|
|
1417
|
-
const fetchCalls: { url: string; method: string
|
|
1092
|
+
const fetchCalls: { url: string; method: string }[] = [];
|
|
1418
1093
|
globalThis.fetch = vi.fn(async (url: string, opts?: any) => {
|
|
1419
|
-
|
|
1420
|
-
fetchCalls.push({ url, method, body: opts?.body ? JSON.parse(opts.body) : null });
|
|
1421
|
-
|
|
1422
|
-
if (url.includes("engagement-tracking") && method === "GET") {
|
|
1423
|
-
return {
|
|
1424
|
-
ok: true,
|
|
1425
|
-
json: async () => ({ data: { "https://linkedin.com/in/alice": 2 } }),
|
|
1426
|
-
headers: new Headers(),
|
|
1427
|
-
};
|
|
1428
|
-
}
|
|
1094
|
+
fetchCalls.push({ url, method: opts?.method ?? "GET" });
|
|
1429
1095
|
return { ok: true, json: async () => ({ data: {} }), headers: new Headers() };
|
|
1430
1096
|
}) as any;
|
|
1431
1097
|
|
|
1432
|
-
state.toolCallCount =
|
|
1433
|
-
|
|
1434
|
-
state.engagementSignals.set("https://linkedin.com/in/bob", 1);
|
|
1435
|
-
|
|
1436
|
-
registerLifecycleHook(api, "brc_test_key", { engagementThreshold: 100 }, state);
|
|
1437
|
-
await api._fire("agent_end");
|
|
1438
|
-
|
|
1439
|
-
const putCall = fetchCalls.find((c) => c.url.includes("engagement-tracking") && c.method === "PUT");
|
|
1440
|
-
expect(putCall).toBeDefined();
|
|
1441
|
-
expect(putCall!.body.data["https://linkedin.com/in/alice"]).toBe(5);
|
|
1442
|
-
expect(putCall!.body.data["https://linkedin.com/in/bob"]).toBe(1);
|
|
1443
|
-
});
|
|
1444
|
-
|
|
1445
|
-
it("auto-promotes contacts exceeding engagement threshold", async () => {
|
|
1446
|
-
const { registerLifecycleHook } = await import("../src/hooks/lifecycle");
|
|
1447
|
-
const api = createMockApi();
|
|
1448
|
-
|
|
1449
|
-
const fetchCalls: { url: string; method: string; body: any }[] = [];
|
|
1450
|
-
globalThis.fetch = vi.fn(async (url: string, opts?: any) => {
|
|
1451
|
-
const method = opts?.method ?? "GET";
|
|
1452
|
-
fetchCalls.push({ url, method, body: opts?.body ? JSON.parse(opts.body) : null });
|
|
1453
|
-
|
|
1454
|
-
if (url.includes("engagement-tracking") && method === "GET") {
|
|
1455
|
-
return { ok: true, json: async () => ({ data: {} }), headers: new Headers() };
|
|
1456
|
-
}
|
|
1457
|
-
if (url.includes("/api/contacts/by-url")) {
|
|
1458
|
-
return {
|
|
1459
|
-
ok: true,
|
|
1460
|
-
json: async () => ({ contact: { id: "c-123", lifecycleStage: "contact" } }),
|
|
1461
|
-
headers: new Headers(),
|
|
1462
|
-
};
|
|
1463
|
-
}
|
|
1464
|
-
return { ok: true, json: async () => ({ data: {} }), headers: new Headers() };
|
|
1465
|
-
}) as any;
|
|
1466
|
-
|
|
1467
|
-
state.toolCallCount = 3;
|
|
1468
|
-
state.engagementSignals.set("https://linkedin.com/in/alice", 10);
|
|
1469
|
-
|
|
1470
|
-
registerLifecycleHook(api, "brc_test_key", { engagementThreshold: 5 }, state);
|
|
1098
|
+
state.toolCallCount = 10;
|
|
1099
|
+
registerLifecycleHook(api, "brc_test_key", {}, state);
|
|
1471
1100
|
await api._fire("agent_end");
|
|
1472
1101
|
|
|
1473
|
-
const
|
|
1474
|
-
expect(
|
|
1475
|
-
expect(patchCall!.body.lifecycleStage).toBe("lead");
|
|
1102
|
+
const autoResumeCall = fetchCalls.find((c) => c.url.includes("auto-resume"));
|
|
1103
|
+
expect(autoResumeCall).toBeUndefined();
|
|
1476
1104
|
|
|
1477
|
-
const
|
|
1478
|
-
expect(
|
|
1479
|
-
expect(activityCall!.body.activities[0].type).toBe("engagement_observed");
|
|
1105
|
+
const campaignsCall = fetchCalls.find((c) => c.url.includes("campaigns"));
|
|
1106
|
+
expect(campaignsCall).toBeUndefined();
|
|
1480
1107
|
});
|
|
1108
|
+
});
|
|
1481
1109
|
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
const fetchCalls: { url: string; method: string; body: any }[] = [];
|
|
1487
|
-
globalThis.fetch = vi.fn(async (url: string, opts?: any) => {
|
|
1488
|
-
const method = opts?.method ?? "GET";
|
|
1489
|
-
fetchCalls.push({ url, method, body: opts?.body ? JSON.parse(opts.body) : null });
|
|
1490
|
-
|
|
1491
|
-
if (url.includes("engagement-tracking") && method === "GET") {
|
|
1492
|
-
return { ok: true, json: async () => ({ data: {} }), headers: new Headers() };
|
|
1493
|
-
}
|
|
1494
|
-
if (url.includes("/api/contacts/by-url")) {
|
|
1495
|
-
return {
|
|
1496
|
-
ok: true,
|
|
1497
|
-
json: async () => ({ contact: { id: "c-456", lifecycleStage: "lead" } }),
|
|
1498
|
-
headers: new Headers(),
|
|
1499
|
-
};
|
|
1500
|
-
}
|
|
1501
|
-
return { ok: true, json: async () => ({ data: {} }), headers: new Headers() };
|
|
1502
|
-
}) as any;
|
|
1503
|
-
|
|
1504
|
-
state.toolCallCount = 3;
|
|
1505
|
-
state.engagementSignals.set("https://linkedin.com/in/already-lead", 10);
|
|
1506
|
-
|
|
1507
|
-
registerLifecycleHook(api, "brc_test_key", { engagementThreshold: 5 }, state);
|
|
1508
|
-
await api._fire("agent_end");
|
|
1110
|
+
// ---------------------------------------------------------------------------
|
|
1111
|
+
// classifyUpgrade
|
|
1112
|
+
// ---------------------------------------------------------------------------
|
|
1509
1113
|
|
|
1510
|
-
|
|
1511
|
-
|
|
1114
|
+
describe("classifyUpgrade", () => {
|
|
1115
|
+
it("returns 'none' when versions are equal", () => {
|
|
1116
|
+
expect(classifyUpgrade("1.4.6", "1.4.6")).toBe("none");
|
|
1512
1117
|
});
|
|
1513
1118
|
|
|
1514
|
-
it("
|
|
1515
|
-
|
|
1516
|
-
const api = createMockApi();
|
|
1517
|
-
|
|
1518
|
-
const fetchCalls: { url: string; method: string; body: any }[] = [];
|
|
1519
|
-
const baseMock = mockFetchResponses({
|
|
1520
|
-
"/api/agent-state/session-meta": { data: {} },
|
|
1521
|
-
"/api/agent-state/lead-gen": { data: { phase: "qualification", totalFound: 15, target: 100 } },
|
|
1522
|
-
"/api/agent-state/campaigns": { data: { schemaVersion: 1, campaigns: [], updatedAt: "" } },
|
|
1523
|
-
"/api/agent-state/auto-resume": { data: {} },
|
|
1524
|
-
"/api/me/credits": { credits: { current: 0, limit: 100, remaining: 100, isUnlimited: false, percentage: 0 } },
|
|
1525
|
-
"/api/rate-limits": { multiplier: 1, limits: {} },
|
|
1526
|
-
"/api/contacts/stats": { funnel: {} },
|
|
1527
|
-
"/api/context": { entries: [] },
|
|
1528
|
-
"/api/scheduled-messages": { messages: [], total: 0 },
|
|
1529
|
-
"/api/me/linkedin/accounts": { accounts: [] },
|
|
1530
|
-
"/api/agent-state/outreach": { data: null },
|
|
1531
|
-
"/api/chats/linkedin/unread": { unreadCount: 0 },
|
|
1532
|
-
});
|
|
1533
|
-
|
|
1534
|
-
globalThis.fetch = vi.fn(async (url: string, opts?: any) => {
|
|
1535
|
-
const method = opts?.method ?? "GET";
|
|
1536
|
-
let body = null;
|
|
1537
|
-
try { body = opts?.body ? JSON.parse(opts.body) : null; } catch {}
|
|
1538
|
-
fetchCalls.push({ url, method, body });
|
|
1539
|
-
return baseMock(url, opts);
|
|
1540
|
-
}) as any;
|
|
1541
|
-
|
|
1542
|
-
state.toolCallCount = 20;
|
|
1543
|
-
state.visitCount = 15;
|
|
1544
|
-
registerLifecycleHook(api, "brc_test_key", {}, state);
|
|
1545
|
-
await api._fire("agent_end");
|
|
1546
|
-
|
|
1547
|
-
const putCall = fetchCalls.find((c) => c.url.includes("auto-resume") && c.method === "PUT");
|
|
1548
|
-
expect(putCall).toBeDefined();
|
|
1549
|
-
expect(putCall!.body.data.taskType).toBe("lead-gen");
|
|
1550
|
-
expect(putCall!.body.data.phase).toBe("qualification");
|
|
1551
|
-
expect(putCall!.body.data.found).toBe(15);
|
|
1552
|
-
expect(putCall!.body.data.target).toBe(100);
|
|
1553
|
-
expect(putCall!.body.data.stateKey).toBe("lead-gen");
|
|
1119
|
+
it("returns 'patch' for patch bump", () => {
|
|
1120
|
+
expect(classifyUpgrade("1.4.6", "1.4.7")).toBe("patch");
|
|
1554
1121
|
});
|
|
1555
1122
|
|
|
1556
|
-
it("
|
|
1557
|
-
|
|
1558
|
-
const api = createMockApi();
|
|
1559
|
-
|
|
1560
|
-
const fetchCalls: { url: string; method: string; body: any }[] = [];
|
|
1561
|
-
const baseMock = mockFetchResponses({
|
|
1562
|
-
"/api/agent-state/session-meta": { data: {} },
|
|
1563
|
-
"/api/agent-state/lead-gen": { data: { phase: "complete", totalFound: 100, target: 100 } },
|
|
1564
|
-
"/api/agent-state/campaigns": { data: { schemaVersion: 1, campaigns: [], updatedAt: "" } },
|
|
1565
|
-
"/api/me/credits": { credits: { current: 0, limit: 100, remaining: 100, isUnlimited: false, percentage: 0 } },
|
|
1566
|
-
"/api/rate-limits": { multiplier: 1, limits: {} },
|
|
1567
|
-
"/api/contacts/stats": { funnel: {} },
|
|
1568
|
-
"/api/context": { entries: [] },
|
|
1569
|
-
"/api/scheduled-messages": { messages: [], total: 0 },
|
|
1570
|
-
"/api/me/linkedin/accounts": { accounts: [] },
|
|
1571
|
-
"/api/agent-state/outreach": { data: null },
|
|
1572
|
-
"/api/chats/linkedin/unread": { unreadCount: 0 },
|
|
1573
|
-
});
|
|
1574
|
-
|
|
1575
|
-
globalThis.fetch = vi.fn(async (url: string, opts?: any) => {
|
|
1576
|
-
const method = opts?.method ?? "GET";
|
|
1577
|
-
let body = null;
|
|
1578
|
-
try { body = opts?.body ? JSON.parse(opts.body) : null; } catch {}
|
|
1579
|
-
fetchCalls.push({ url, method, body });
|
|
1580
|
-
return baseMock(url, opts);
|
|
1581
|
-
}) as any;
|
|
1582
|
-
|
|
1583
|
-
state.toolCallCount = 20;
|
|
1584
|
-
registerLifecycleHook(api, "brc_test_key", {}, state);
|
|
1585
|
-
await api._fire("agent_end");
|
|
1586
|
-
|
|
1587
|
-
const putCall = fetchCalls.find((c) => c.url.includes("auto-resume") && c.method === "PUT");
|
|
1588
|
-
expect(putCall).toBeUndefined();
|
|
1123
|
+
it("returns 'minor' for minor bump", () => {
|
|
1124
|
+
expect(classifyUpgrade("1.4.6", "1.5.0")).toBe("minor");
|
|
1589
1125
|
});
|
|
1590
1126
|
|
|
1591
|
-
it("
|
|
1592
|
-
|
|
1593
|
-
const api = createMockApi();
|
|
1594
|
-
|
|
1595
|
-
const fetchCalls: { url: string; method: string; body: any }[] = [];
|
|
1596
|
-
const baseMock = mockFetchResponses({
|
|
1597
|
-
"/api/agent-state/session-meta": { data: {} },
|
|
1598
|
-
"/api/agent-state/lead-gen": { data: { phase: "qualification", totalFound: 100, target: 50 } },
|
|
1599
|
-
"/api/agent-state/campaigns": { data: { schemaVersion: 1, campaigns: [], updatedAt: "" } },
|
|
1600
|
-
"/api/me/credits": { credits: { current: 0, limit: 100, remaining: 100, isUnlimited: false, percentage: 0 } },
|
|
1601
|
-
"/api/rate-limits": { multiplier: 1, limits: {} },
|
|
1602
|
-
"/api/contacts/stats": { funnel: {} },
|
|
1603
|
-
"/api/context": { entries: [] },
|
|
1604
|
-
"/api/scheduled-messages": { messages: [], total: 0 },
|
|
1605
|
-
"/api/me/linkedin/accounts": { accounts: [] },
|
|
1606
|
-
"/api/agent-state/outreach": { data: null },
|
|
1607
|
-
"/api/chats/linkedin/unread": { unreadCount: 0 },
|
|
1608
|
-
});
|
|
1609
|
-
|
|
1610
|
-
globalThis.fetch = vi.fn(async (url: string, opts?: any) => {
|
|
1611
|
-
const method = opts?.method ?? "GET";
|
|
1612
|
-
let body = null;
|
|
1613
|
-
try { body = opts?.body ? JSON.parse(opts.body) : null; } catch {}
|
|
1614
|
-
fetchCalls.push({ url, method, body });
|
|
1615
|
-
return baseMock(url, opts);
|
|
1616
|
-
}) as any;
|
|
1617
|
-
|
|
1618
|
-
state.toolCallCount = 5;
|
|
1619
|
-
registerLifecycleHook(api, "brc_test_key", {}, state);
|
|
1620
|
-
await api._fire("agent_end");
|
|
1621
|
-
|
|
1622
|
-
const putCall = fetchCalls.find((c) => c.url.includes("auto-resume") && c.method === "PUT");
|
|
1623
|
-
expect(putCall).toBeUndefined();
|
|
1127
|
+
it("returns 'major' for major bump", () => {
|
|
1128
|
+
expect(classifyUpgrade("1.4.6", "2.0.0")).toBe("major");
|
|
1624
1129
|
});
|
|
1625
1130
|
|
|
1626
|
-
it("
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
const fetchCalls: { url: string; method: string; body: any }[] = [];
|
|
1631
|
-
const baseMock = mockFetchResponses({
|
|
1632
|
-
"/api/agent-state/session-meta": { data: {} },
|
|
1633
|
-
"/api/agent-state/lead-gen": { data: { totalFound: 30, target: 100 } },
|
|
1634
|
-
"/api/agent-state/campaigns": { data: { schemaVersion: 1, campaigns: [], updatedAt: "" } },
|
|
1635
|
-
"/api/agent-state/auto-resume": { data: {} },
|
|
1636
|
-
"/api/me/credits": { credits: { current: 0, limit: 100, remaining: 100, isUnlimited: false, percentage: 0 } },
|
|
1637
|
-
"/api/rate-limits": { multiplier: 1, limits: {} },
|
|
1638
|
-
"/api/contacts/stats": { funnel: {} },
|
|
1639
|
-
"/api/context": { entries: [] },
|
|
1640
|
-
"/api/scheduled-messages": { messages: [], total: 0 },
|
|
1641
|
-
"/api/me/linkedin/accounts": { accounts: [] },
|
|
1642
|
-
"/api/agent-state/outreach": { data: null },
|
|
1643
|
-
"/api/chats/linkedin/unread": { unreadCount: 0 },
|
|
1644
|
-
});
|
|
1645
|
-
|
|
1646
|
-
globalThis.fetch = vi.fn(async (url: string, opts?: any) => {
|
|
1647
|
-
const method = opts?.method ?? "GET";
|
|
1648
|
-
let body = null;
|
|
1649
|
-
try { body = opts?.body ? JSON.parse(opts.body) : null; } catch {}
|
|
1650
|
-
fetchCalls.push({ url, method, body });
|
|
1651
|
-
return baseMock(url, opts);
|
|
1652
|
-
}) as any;
|
|
1653
|
-
|
|
1654
|
-
state.toolCallCount = 10;
|
|
1655
|
-
registerLifecycleHook(api, "brc_test_key", {}, state);
|
|
1656
|
-
await api._fire("agent_end");
|
|
1657
|
-
|
|
1658
|
-
const putCall = fetchCalls.find((c) => c.url.includes("auto-resume") && c.method === "PUT");
|
|
1659
|
-
expect(putCall).toBeDefined();
|
|
1660
|
-
expect(putCall!.body.data.found).toBe(30);
|
|
1661
|
-
expect(putCall!.body.data.target).toBe(100);
|
|
1131
|
+
it("strips prerelease tags before comparing", () => {
|
|
1132
|
+
expect(classifyUpgrade("1.4.6-beta.1", "1.4.7-beta.2")).toBe("patch");
|
|
1133
|
+
expect(classifyUpgrade("1.4.6-beta.1", "1.5.0-beta.1")).toBe("minor");
|
|
1134
|
+
expect(classifyUpgrade("1.4.6-beta.1", "2.0.0")).toBe("major");
|
|
1662
1135
|
});
|
|
1663
1136
|
|
|
1664
|
-
it("
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
const fetchCalls: { url: string; method: string; body: any }[] = [];
|
|
1669
|
-
const baseMock = mockFetchResponses({
|
|
1670
|
-
"/api/agent-state/session-meta": { data: {} },
|
|
1671
|
-
"/api/agent-state/lead-gen": { data: null },
|
|
1672
|
-
"/api/agent-state/campaigns": { data: { schemaVersion: 1, campaigns: [], updatedAt: "" } },
|
|
1673
|
-
"/api/me/credits": { credits: { current: 0, limit: 100, remaining: 100, isUnlimited: false, percentage: 0 } },
|
|
1674
|
-
"/api/rate-limits": { multiplier: 1, limits: {} },
|
|
1675
|
-
"/api/contacts/stats": { funnel: {} },
|
|
1676
|
-
"/api/context": { entries: [] },
|
|
1677
|
-
"/api/scheduled-messages": { messages: [], total: 0 },
|
|
1678
|
-
"/api/me/linkedin/accounts": { accounts: [] },
|
|
1679
|
-
"/api/agent-state/outreach": { data: null },
|
|
1680
|
-
"/api/chats/linkedin/unread": { unreadCount: 0 },
|
|
1681
|
-
});
|
|
1682
|
-
|
|
1683
|
-
globalThis.fetch = vi.fn(async (url: string, opts?: any) => {
|
|
1684
|
-
const method = opts?.method ?? "GET";
|
|
1685
|
-
let body = null;
|
|
1686
|
-
try { body = opts?.body ? JSON.parse(opts.body) : null; } catch {}
|
|
1687
|
-
fetchCalls.push({ url, method, body });
|
|
1688
|
-
return baseMock(url, opts);
|
|
1689
|
-
}) as any;
|
|
1690
|
-
|
|
1691
|
-
state.toolCallCount = 5;
|
|
1692
|
-
registerLifecycleHook(api, "brc_test_key", {}, state);
|
|
1693
|
-
await api._fire("agent_end");
|
|
1694
|
-
|
|
1695
|
-
const putCall = fetchCalls.find((c) => c.url.includes("auto-resume") && c.method === "PUT");
|
|
1696
|
-
expect(putCall).toBeUndefined();
|
|
1137
|
+
it("returns 'none' when latest is older", () => {
|
|
1138
|
+
expect(classifyUpgrade("1.5.0", "1.4.9")).toBe("none");
|
|
1139
|
+
expect(classifyUpgrade("2.0.0", "1.9.9")).toBe("none");
|
|
1697
1140
|
});
|
|
1698
1141
|
|
|
1699
|
-
it("
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
const campaignData = {
|
|
1704
|
-
schemaVersion: 1,
|
|
1705
|
-
campaigns: [{
|
|
1706
|
-
id: "failing-camp",
|
|
1707
|
-
type: "lead-gen",
|
|
1708
|
-
name: "Failing Campaign",
|
|
1709
|
-
status: "active",
|
|
1710
|
-
priority: "medium",
|
|
1711
|
-
checkIntervalMinutes: 60,
|
|
1712
|
-
lastCheckAt: null,
|
|
1713
|
-
createdAt: "2026-01-01",
|
|
1714
|
-
config: {},
|
|
1715
|
-
progress: {},
|
|
1716
|
-
stats: {},
|
|
1717
|
-
lockedUntil: null,
|
|
1718
|
-
errorMessage: null,
|
|
1719
|
-
consecutiveErrors: 5,
|
|
1720
|
-
lastSuccessAt: null,
|
|
1721
|
-
}],
|
|
1722
|
-
updatedAt: "2026-01-01",
|
|
1723
|
-
};
|
|
1724
|
-
|
|
1725
|
-
const fetchCalls: { url: string; method: string; body: any }[] = [];
|
|
1726
|
-
const baseMock = mockFetchResponses({
|
|
1727
|
-
"/api/me/credits": { credits: { current: 0, limit: 100, remaining: 100, isUnlimited: false, percentage: 0 } },
|
|
1728
|
-
"/api/rate-limits": { multiplier: 1, limits: {} },
|
|
1729
|
-
"/api/contacts/stats": { funnel: {} },
|
|
1730
|
-
"/api/context": { entries: [] },
|
|
1731
|
-
"/api/scheduled-messages": { messages: [], total: 0 },
|
|
1732
|
-
"/api/me/linkedin/accounts": { accounts: [] },
|
|
1733
|
-
"/api/agent-state/lead-gen": { data: null },
|
|
1734
|
-
"/api/agent-state/outreach": { data: null },
|
|
1735
|
-
"/api/chats/linkedin/unread": { unreadCount: 0 },
|
|
1736
|
-
"/api/agent-state/campaigns": { data: campaignData },
|
|
1737
|
-
"/api/agent-state/engagement-tracking": { data: {} },
|
|
1738
|
-
"/api/agent-state/session-meta": { data: {} },
|
|
1739
|
-
});
|
|
1740
|
-
|
|
1741
|
-
globalThis.fetch = vi.fn(async (url: string, opts?: any) => {
|
|
1742
|
-
const method = opts?.method ?? "GET";
|
|
1743
|
-
let body = null;
|
|
1744
|
-
try { body = opts?.body ? JSON.parse(opts.body) : null; } catch {}
|
|
1745
|
-
fetchCalls.push({ url, method, body });
|
|
1746
|
-
return baseMock(url, opts);
|
|
1747
|
-
}) as any;
|
|
1748
|
-
|
|
1749
|
-
state.toolCallCount = 1;
|
|
1750
|
-
registerLifecycleHook(api, "brc_test_key", {}, state);
|
|
1751
|
-
await api._fire("agent_end");
|
|
1142
|
+
it("returns 'major' even when minor/patch are lower", () => {
|
|
1143
|
+
expect(classifyUpgrade("1.9.9", "2.0.0")).toBe("major");
|
|
1144
|
+
});
|
|
1752
1145
|
|
|
1753
|
-
|
|
1754
|
-
expect(
|
|
1755
|
-
const savedCampaign = putCall!.body.data.campaigns[0];
|
|
1756
|
-
expect(savedCampaign.status).toBe("error");
|
|
1757
|
-
expect(savedCampaign.errorMessage).toContain("Auto-paused");
|
|
1146
|
+
it("returns 'minor' even when patch is lower", () => {
|
|
1147
|
+
expect(classifyUpgrade("1.4.9", "1.5.0")).toBe("minor");
|
|
1758
1148
|
});
|
|
1759
1149
|
});
|