Build on the supported package contract
Use @absolutejs/engagement through its supported public entry points.
@absolutejs/engagementv0.0.8betaCommerce & GrowthThe EngagementSource contract + normalized types for @absolutejs/engagement sales-engagement adapters — enrichment (person/company) and outreach activity (email/LinkedIn/call touchpoints).
bun add @absolutejs/engagementProvider-neutral contracts for sales enrichment and outreach activity in AbsoluteJS. Applications depend on one EngagementSource; provider packages such as @absolutejs/engagement-apollo implement that contract.
The package manifest exposes a required engagement/source slot. The hosted AbsoluteJS.ai platform uses that slot to present compatible providers as configuration choices while keeping credentials in the environment and provider response shapes behind the shared contract.
@absolutejs/engagement-apollo
— Apollo person and company enrichment, role-based people search, and outreach activity.
Outcomes
Use @absolutejs/engagement through its supported public entry points.
Hardening checklist
Follow in order
# @absolutejs/engagement
import type { EngagementSource } from "@absolutejs/engagement";
export const enrichLead = async (engagement: EngagementSource, email: string) =>
engagement.enrichPerson?.({ email });Supported entry points declared by this package manifest.
Package entry point declared in package.json.
Scripts declared by this package manifest.
Search the declarations exported by the current package type files. Expand a symbol to inspect its source-backed signature.
Thrown by an adapter when the provider reports a rate limit (e.g. HTTP 429), so a consumer can DEFER (retry when the window resets) instead of mistaking it for "no results found". Other failures still resolve to null/[] — only an explicit rate limit throws, because only it is meaningfully retryable-later.
class RateLimitError extends Error {
readonly provider: string;
constructor(provider: string);
}@absolutejs/engagement