diff --git a/packages/apollo/package.json b/packages/apollo/package.json new file mode 100644 index 00000000..379badc0 --- /dev/null +++ b/packages/apollo/package.json @@ -0,0 +1,48 @@ +{ + "name": "@agentic/apollo", + "version": "7.3.2", + "description": "Agentic SDK for Apollo.io.", + "author": "Travis Fischer ", + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/transitive-bullshit/agentic.git", + "directory": "packages/apollo" + }, + "type": "module", + "source": "./src/index.ts", + "types": "./dist/index.d.ts", + "sideEffects": false, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js", + "default": "./dist/index.js" + } + }, + "files": [ + "dist" + ], + "scripts": { + "build": "tsup --config ../../tsup.config.ts", + "dev": "tsup --config ../../tsup.config.ts --watch", + "clean": "del dist", + "test": "run-s test:*", + "test:lint": "eslint .", + "test:typecheck": "tsc --noEmit" + }, + "dependencies": { + "@agentic/core": "workspace:*", + "ky": "^1.7.5", + "p-throttle": "^6.2.0" + }, + "peerDependencies": { + "zod": "^3.23.8" + }, + "devDependencies": { + "@agentic/tsconfig": "workspace:*" + }, + "publishConfig": { + "access": "public" + } +} diff --git a/packages/apollo/readme.md b/packages/apollo/readme.md new file mode 100644 index 00000000..38781f32 --- /dev/null +++ b/packages/apollo/readme.md @@ -0,0 +1,24 @@ +

+ + Agentic + +

+ +

+ AI agent stdlib that works with any LLM and TypeScript AI SDK. +

+ +

+ Build Status + NPM + MIT License + Prettier Code Formatting +

+ +# Agentic + +**See the [github repo](https://github.com/transitive-bullshit/agentic) or [docs](https://agentic.so) for more info.** + +## License + +MIT © [Travis Fischer](https://x.com/transitive_bs) diff --git a/packages/apollo/src/apollo-client.ts b/packages/apollo/src/apollo-client.ts new file mode 100644 index 00000000..0545b67c --- /dev/null +++ b/packages/apollo/src/apollo-client.ts @@ -0,0 +1,341 @@ +import { + aiFunction, + AIFunctionsProvider, + assert, + getEnv, + throttleKy +} from '@agentic/core' +import defaultKy, { type KyInstance } from 'ky' +import pThrottle from 'p-throttle' +import { z } from 'zod' + +export namespace apollo { + export const API_BASE_URL = 'https://api.apollo.io' + + // Allow up to 5 requests per second by default. + // https://docs.apollo.io/reference/rate-limits + export const throttle = pThrottle({ + limit: 5, + interval: 1000 + }) + + export interface EnrichPersonOptions { + first_name?: string + last_name?: string + name?: string + email?: string + hashed_email?: string + organization_name?: string + domain?: string + id?: string + linkedin_url?: string + reveal_personal_emails?: boolean + reveal_phone_number?: boolean + webhook_url?: string + } + + export interface EnrichPersonResponse { + person: Person + } + + export interface Person { + id: string + first_name: string + last_name: string + name: string + linkedin_url: string + title: string + email_status: string + photo_url: string + twitter_url: any + github_url: any + facebook_url: any + extrapolated_email_confidence: any + headline: string + email: string + organization_id: string + employment_history: EmploymentHistory[] + state: string + city: string + country: string + contact_id: string + contact: Contact + revealed_for_current_team: boolean + organization: Organization + is_likely_to_engage: boolean + intent_strength: any + show_intent: boolean + departments: string[] + subdepartments: string[] + functions: string[] + seniority: string + } + + export interface EmploymentHistory { + _id: string + id: string + created_at: string | null + updated_at: string | null + title: string + key: string + current: boolean + degree: string | null + description: string | null + emails: any + end_date?: string + grade_level: string | null + kind: string | null + major: string | null + organization_id?: string | null + organization_name: string | null + raw_address: string | null + start_date: string + } + + export interface Contact { + contact_roles: any[] + id: string + first_name: string + last_name: string + name: string + linkedin_url: string + title: string + contact_stage_id: string + owner_id: any + creator_id: string + person_id: string + email_needs_tickling: any + organization_name: string + source: string + original_source: string + organization_id: string + headline: string + photo_url: any + present_raw_address: string + linkedin_uid: any + extrapolated_email_confidence: any + salesforce_id: any + salesforce_lead_id: any + salesforce_contact_id: any + salesforce_account_id: any + crm_owner_id: any + created_at: string + emailer_campaign_ids: any[] + direct_dial_status: any + direct_dial_enrichment_failed_at: any + email_status: string + email_source: any + account_id: string + last_activity_date: any + hubspot_vid: any + hubspot_company_id: any + crm_id: any + sanitized_phone: string + merged_crm_ids: any + updated_at: string + queued_for_crm_push: any + suggested_from_rule_engine_config_id: any + email_unsubscribed: any + label_ids: any[] + has_pending_email_arcgate_request: boolean + has_email_arcgate_request: boolean + existence_level: string + email: string + email_from_customer: boolean + typed_custom_fields: TypedCustomFields + custom_field_errors: any + crm_record_url: any + email_status_unavailable_reason: any + email_true_status: string + updated_email_true_status: boolean + contact_rule_config_statuses: any[] + source_display_name: string + contact_emails: ContactEmail[] + time_zone: string + phone_numbers: PhoneNumber[] + account_phone_note: any + free_domain: boolean + is_likely_to_engage: boolean + } + + export interface TypedCustomFields {} + + export interface ContactEmail { + email: string + email_md5: string + email_sha256: string + email_status: string + email_source: any + extrapolated_email_confidence: any + position: number + email_from_customer: any + free_domain: boolean + } + + export interface PhoneNumber { + raw_number: string + sanitized_number: string + type: any + position: number + status: string + dnc_status: any + dnc_other_info: any + dialer_flags?: DialerFlags + } + + export interface DialerFlags { + country_name: string + country_enabled: boolean + high_risk_calling_enabled: boolean + potential_high_risk_number: boolean + } + + export interface Organization { + id: string + name: string + website_url: string + blog_url: any + angellist_url: any + linkedin_url: string + twitter_url: string + facebook_url: string + primary_phone: PrimaryPhone + languages: any[] + alexa_ranking: number + phone: any + linkedin_uid: string + founded_year: number + publicly_traded_symbol: any + publicly_traded_exchange: any + logo_url: string + crunchbase_url: any + primary_domain: string + industry: string + keywords: string[] + estimated_num_employees: number + industries: string[] + secondary_industries: any[] + snippets_loaded: boolean + industry_tag_id: string + industry_tag_hash: IndustryTagHash + retail_location_count: number + raw_address: string + street_address: string + city: string + state: string + postal_code: string + country: string + owned_by_organization_id: any + seo_description: string + short_description: string + suborganizations: any[] + num_suborganizations: number + annual_revenue_printed: string + annual_revenue: number + total_funding: number + total_funding_printed: string + latest_funding_round_date: string + latest_funding_stage: string + funding_events: FundingEvent[] + technology_names: string[] + current_technologies: CurrentTechnology[] + org_chart_root_people_ids: string[] + org_chart_sector: string + org_chart_removed: boolean + org_chart_show_department_filter: boolean + } + + export interface PrimaryPhone {} + + export interface IndustryTagHash { + 'information technology & services': string + } + + export interface FundingEvent { + id: string + date: string + news_url?: string + type: string + investors: string + amount: string + currency: string + } + + export interface CurrentTechnology { + uid: string + name: string + category: string + } +} + +/** + * Apollo.io is a robust B2B person and company enrichment API. + * + * @see https://docs.apollo.io + */ +export class ApolloClient extends AIFunctionsProvider { + protected readonly ky: KyInstance + protected readonly apiKey: string + protected readonly apiBaseUrl: string + + constructor({ + apiKey = getEnv('APOLLO_API_KEY'), + apiBaseUrl = apollo.API_BASE_URL, + timeoutMs = 60_000, + throttle = true, + ky = defaultKy + }: { + apiKey?: string + apiBaseUrl?: string + timeoutMs?: number + throttle?: boolean + ky?: KyInstance + } = {}) { + assert( + apiKey, + `ApolloClient missing required "username" (defaults to "APOLLO_API_KEY")` + ) + super() + + this.apiKey = apiKey + this.apiBaseUrl = apiBaseUrl + + const throttledKy = throttle ? throttleKy(ky, apollo.throttle) : ky + + this.ky = throttledKy.extend({ + prefixUrl: apiBaseUrl, + timeout: timeoutMs, + headers: { + 'x-api-key': apiKey + } + }) + } + + @aiFunction({ + name: 'apollo_enrich_person', + description: `Attempts to enrich a person with Apollo data. + +Apollo relies on the information you pass via the endpoint's parameters to identify the correct person to enrich. If you provide more information about a person, Apollo is more likely to find a match within its database. If you only provide general information, such as a name without a domain or email address, you might receive a 200 response, but the response will indicate that no records have been enriched. + +By default, this endpoint does not return personal emails or phone numbers. Use the reveal_personal_emails and reveal_phone_number parameters to retrieve emails and phone numbers.`, + inputSchema: z.object({ + first_name: z.string().optional(), + last_name: z.string().optional(), + name: z.string().optional(), + email: z.string().optional(), + hashed_email: z.string().optional(), + organization_name: z.string().optional(), + domain: z.string().optional(), + id: z.string().optional(), + linkedin_url: z.string().optional(), + reveal_personal_emails: z.boolean().optional(), + reveal_phone_number: z.boolean().optional(), + webhook_url: z.string().optional() + }) + }) + async enrichPerson(opts: apollo.EnrichPersonOptions) { + return this.ky + .post('api/v1/people/match', { json: opts }) + .json() + } +} diff --git a/packages/apollo/src/index.ts b/packages/apollo/src/index.ts new file mode 100644 index 00000000..5fdc2788 --- /dev/null +++ b/packages/apollo/src/index.ts @@ -0,0 +1 @@ +export * from './apollo-client' diff --git a/packages/apollo/tsconfig.json b/packages/apollo/tsconfig.json new file mode 100644 index 00000000..6c8d720c --- /dev/null +++ b/packages/apollo/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "@agentic/tsconfig/base.json", + "include": ["src"], + "exclude": ["node_modules", "dist"] +} diff --git a/packages/leadmagic/package.json b/packages/leadmagic/package.json new file mode 100644 index 00000000..1d216e33 --- /dev/null +++ b/packages/leadmagic/package.json @@ -0,0 +1,48 @@ +{ + "name": "@agentic/leadmagic", + "version": "7.3.2", + "description": "Agentic SDK for LeadMagic.", + "author": "Travis Fischer ", + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/transitive-bullshit/agentic.git", + "directory": "packages/leadmagic" + }, + "type": "module", + "source": "./src/index.ts", + "types": "./dist/index.d.ts", + "sideEffects": false, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js", + "default": "./dist/index.js" + } + }, + "files": [ + "dist" + ], + "scripts": { + "build": "tsup --config ../../tsup.config.ts", + "dev": "tsup --config ../../tsup.config.ts --watch", + "clean": "del dist", + "test": "run-s test:*", + "test:lint": "eslint .", + "test:typecheck": "tsc --noEmit" + }, + "dependencies": { + "@agentic/core": "workspace:*", + "ky": "^1.7.5", + "p-throttle": "^6.2.0" + }, + "peerDependencies": { + "zod": "^3.23.8" + }, + "devDependencies": { + "@agentic/tsconfig": "workspace:*" + }, + "publishConfig": { + "access": "public" + } +} diff --git a/packages/leadmagic/readme.md b/packages/leadmagic/readme.md new file mode 100644 index 00000000..38781f32 --- /dev/null +++ b/packages/leadmagic/readme.md @@ -0,0 +1,24 @@ +

+ + Agentic + +

+ +

+ AI agent stdlib that works with any LLM and TypeScript AI SDK. +

+ +

+ Build Status + NPM + MIT License + Prettier Code Formatting +

+ +# Agentic + +**See the [github repo](https://github.com/transitive-bullshit/agentic) or [docs](https://agentic.so) for more info.** + +## License + +MIT © [Travis Fischer](https://x.com/transitive_bs) diff --git a/packages/leadmagic/src/index.ts b/packages/leadmagic/src/index.ts new file mode 100644 index 00000000..efc3d230 --- /dev/null +++ b/packages/leadmagic/src/index.ts @@ -0,0 +1 @@ +export * from './leadmagic-client' diff --git a/packages/leadmagic/src/leadmagic-client.ts b/packages/leadmagic/src/leadmagic-client.ts new file mode 100644 index 00000000..2c143e48 --- /dev/null +++ b/packages/leadmagic/src/leadmagic-client.ts @@ -0,0 +1,120 @@ +import { + aiFunction, + AIFunctionsProvider, + assert, + getEnv, + throttleKy +} from '@agentic/core' +import defaultKy, { type KyInstance } from 'ky' +import pThrottle from 'p-throttle' +import { z } from 'zod' + +export namespace leadmagic { + export const API_BASE_URL = 'https://api.leadmagic.io' + + // Allow up to 300 requests per minute by default. + export const throttle = pThrottle({ + limit: 300, + interval: 60_000 + }) + + export interface ProfileSearchOptions { + linkedinUsername: string + } + + export interface EnrichedPerson { + profileUrl: string + creditsConsumed: number + firstName: string + lastName: string + fullName: string + headline: string + userSkills: string + company_name: string + company_size: string + company_industry: string + company_website: string + totalTenureMonths: number + totalTenureDays: number + totalTenureYears: number + connections: number + country: string + location: string + about: string + experiences: Experience[] + highlights: any[] + } + + export interface Experience { + title: string + subtitle: string + caption: string + subComponents: any[] + } +} + +/** + * LeadMagic.io is a B2B person, company, and email enrichment API. + * + * @see https://docs.leadmagic.io + */ +export class LeadMagicClient extends AIFunctionsProvider { + protected readonly ky: KyInstance + protected readonly apiKey: string + protected readonly apiBaseUrl: string + + constructor({ + apiKey = getEnv('LEADMAGIC_API_KEY'), + apiBaseUrl = leadmagic.API_BASE_URL, + timeoutMs = 60_000, + throttle = true, + ky = defaultKy + }: { + apiKey?: string + apiBaseUrl?: string + timeoutMs?: number + throttle?: boolean + ky?: KyInstance + } = {}) { + assert( + apiKey, + `LeadMagicClient missing required "username" (defaults to "LEADMAGIC_API_KEY")` + ) + super() + + this.apiKey = apiKey + this.apiBaseUrl = apiBaseUrl + + const throttledKy = throttle ? throttleKy(ky, leadmagic.throttle) : ky + + this.ky = throttledKy.extend({ + prefixUrl: apiBaseUrl, + timeout: timeoutMs, + headers: { + 'X-API-Key': apiKey + } + }) + } + + @aiFunction({ + name: 'leadmagic_profile_search', + description: + 'Attempts to enrich a person with LeadMagic data based on their public LinkedIn username / identifier.', + inputSchema: z.object({ + linkedinUsername: z + .string() + .describe( + 'The public LinkedIn username / identifier of the person to enrich. This is the last part of the LinkedIn profile URL. For example, `https://linkedin.com/in/fisch2` would be `fisch2`.' + ) + }) + }) + async profileSearch(opts: leadmagic.ProfileSearchOptions) { + return this.ky + .post('profile-search', { + json: { + profile_url: opts.linkedinUsername.split('/').at(-1)?.trim()! + } + }) + .json() + } +} diff --git a/packages/leadmagic/tsconfig.json b/packages/leadmagic/tsconfig.json new file mode 100644 index 00000000..6c8d720c --- /dev/null +++ b/packages/leadmagic/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "@agentic/tsconfig/base.json", + "include": ["src"], + "exclude": ["node_modules", "dist"] +} diff --git a/packages/rocketreach/package.json b/packages/rocketreach/package.json new file mode 100644 index 00000000..36d9673e --- /dev/null +++ b/packages/rocketreach/package.json @@ -0,0 +1,48 @@ +{ + "name": "@agentic/rocketreach", + "version": "7.3.2", + "description": "Agentic SDK for RocketReach.", + "author": "Travis Fischer ", + "license": "MIT", + "repository": { + "type": "git", + "url": "git+https://github.com/transitive-bullshit/agentic.git", + "directory": "packages/rocketreach" + }, + "type": "module", + "source": "./src/index.ts", + "types": "./dist/index.d.ts", + "sideEffects": false, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js", + "default": "./dist/index.js" + } + }, + "files": [ + "dist" + ], + "scripts": { + "build": "tsup --config ../../tsup.config.ts", + "dev": "tsup --config ../../tsup.config.ts --watch", + "clean": "del dist", + "test": "run-s test:*", + "test:lint": "eslint .", + "test:typecheck": "tsc --noEmit" + }, + "dependencies": { + "@agentic/core": "workspace:*", + "ky": "^1.7.5", + "p-throttle": "^6.2.0" + }, + "peerDependencies": { + "zod": "^3.23.8" + }, + "devDependencies": { + "@agentic/tsconfig": "workspace:*" + }, + "publishConfig": { + "access": "public" + } +} diff --git a/packages/rocketreach/readme.md b/packages/rocketreach/readme.md new file mode 100644 index 00000000..38781f32 --- /dev/null +++ b/packages/rocketreach/readme.md @@ -0,0 +1,24 @@ +

+ + Agentic + +

+ +

+ AI agent stdlib that works with any LLM and TypeScript AI SDK. +

+ +

+ Build Status + NPM + MIT License + Prettier Code Formatting +

+ +# Agentic + +**See the [github repo](https://github.com/transitive-bullshit/agentic) or [docs](https://agentic.so) for more info.** + +## License + +MIT © [Travis Fischer](https://x.com/transitive_bs) diff --git a/packages/rocketreach/src/index.ts b/packages/rocketreach/src/index.ts new file mode 100644 index 00000000..3944d607 --- /dev/null +++ b/packages/rocketreach/src/index.ts @@ -0,0 +1 @@ +export * from './rocketreach-client' diff --git a/packages/rocketreach/src/rocketreach-client.ts b/packages/rocketreach/src/rocketreach-client.ts new file mode 100644 index 00000000..23c275a0 --- /dev/null +++ b/packages/rocketreach/src/rocketreach-client.ts @@ -0,0 +1,189 @@ +import { + AIFunctionsProvider, + assert, + getEnv, + sanitizeSearchParams, + throttleKy +} from '@agentic/core' +import defaultKy, { type KyInstance } from 'ky' +import pThrottle from 'p-throttle' + +export namespace rocketreach { + export const API_BASE_URL = 'https://api.rocketreach.co' + + // Allow up to 5 requests per second by default. + export const throttle = pThrottle({ + limit: 5, + interval: 1000 + }) + + export interface EnrichPersonOptions { + // RocketReach internal person ID returned by searches. + id?: number + + // Must specify along with current_employer. + name?: string + + // Must specify along with name. + current_employer?: string + + // Desired prospect's job title. May improve match rate. + title?: string + + // LinkedIn URL of prospect to lookup. + linkedin_url?: string + + // A known email address of the prospect. May improve match rate. + email?: string + + // An NPI number for a US healthcare professional. Can be used as a unique match criteria. + npi_number?: number + + // Specify an alternative lookup type to use (if available). + lookup_type?: + | 'standard' + | 'premium' + | 'premium (feeds disabled)' + | 'bulk' + | 'phone' + | 'enrich' + } + + export interface Person { + id: number + status: string + name: string + profile_pic: string + linkedin_url: string + links: Record + location: string + current_title: string + current_employer: string + current_employer_id: number + current_employer_domain: string + current_employer_website: string + current_employer_linkedin_url: string + job_history: JobHistory[] + education: Education[] + skills: string[] + birth_year: number + region_latitude: number + region_longitude: number + city: string + region: string + country: string + country_code: string + npi_data: NpiData + recommended_email: string + recommended_personal_email: string + recommended_professional_email: string + current_work_email: string + current_personal_email: string + emails: Email[] + phones: Phone[] + profile_list: ProfileList + } + + export interface ProfileList { + id: number + name: string + } + + export interface JobHistory { + start_date: string + end_date: string + company: string + company_name: string + company_id: number + company_linkedin_url: string + department: string + title: string + highest_level: string + description: string + last_updated: string + sub_department: string + is_current: boolean + } + + export interface Education { + major: string + school: string + degree: string + start: number + end: number + } + + export interface NpiData { + npi_number: string + credentials: string + license_number: string + specialization: string + } + + export interface Email { + email: string + smtp_valid: string + type: string + last_validation_check: string + grade: string + } + + export interface Phone { + number: string + type: string + validity: string + recommended: boolean + premium: boolean + last_checked: string + } +} + +/** + * RocketReach is a B2B person and company enrichment API. + * + * @see https://rocketreach.co/api/v2/docs + */ +export class RocketReachClient extends AIFunctionsProvider { + protected readonly ky: KyInstance + protected readonly apiKey: string + protected readonly apiBaseUrl: string + + constructor({ + apiKey = getEnv('ROCKETREACH_API_KEY'), + apiBaseUrl = rocketreach.API_BASE_URL, + timeoutMs = 60_000, + throttle = true, + ky = defaultKy + }: { + apiKey?: string + apiBaseUrl?: string + timeoutMs?: number + throttle?: boolean + ky?: KyInstance + } = {}) { + assert( + apiKey, + `RocketReachClient missing required "username" (defaults to "ROCKETREACH_API_KEY")` + ) + super() + + this.apiKey = apiKey + this.apiBaseUrl = apiBaseUrl + + const throttledKy = throttle ? throttleKy(ky, rocketreach.throttle) : ky + + this.ky = throttledKy.extend({ + prefixUrl: apiBaseUrl, + timeout: timeoutMs, + headers: { + 'Api-Key': apiKey + } + }) + } + + async lookupPerson(opts: rocketreach.EnrichPersonOptions) { + return this.ky + .get('api/v2/person/lookup', { searchParams: sanitizeSearchParams(opts) }) + .json() + } +} diff --git a/packages/rocketreach/tsconfig.json b/packages/rocketreach/tsconfig.json new file mode 100644 index 00000000..6c8d720c --- /dev/null +++ b/packages/rocketreach/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "@agentic/tsconfig/base.json", + "include": ["src"], + "exclude": ["node_modules", "dist"] +} diff --git a/packages/stdlib/CHANGELOG.md b/packages/stdlib/CHANGELOG.md deleted file mode 100644 index e32371de..00000000 --- a/packages/stdlib/CHANGELOG.md +++ /dev/null @@ -1,281 +0,0 @@ -# @agentic/stdlib - -## 7.3.2 - -### Patch Changes - -- Downgrade p-throttle to v6.2.0 -- Updated dependencies - - @agentic/ai-sdk@7.3.2 - - @agentic/bing@7.3.2 - - @agentic/calculator@7.3.2 - - @agentic/clearbit@7.3.2 - - @agentic/core@7.3.2 - - @agentic/dexa@7.3.2 - - @agentic/dexter@7.3.2 - - @agentic/diffbot@7.3.2 - - @agentic/e2b@7.3.2 - - @agentic/exa@7.3.2 - - @agentic/firecrawl@7.3.2 - - @agentic/genkit@7.3.2 - - @agentic/github@7.3.2 - - @agentic/hacker-news@7.3.2 - - @agentic/hunter@7.3.2 - - @agentic/jina@7.3.2 - - @agentic/langchain@7.3.2 - - @agentic/llamaindex@7.3.2 - - @agentic/midjourney@7.3.2 - - @agentic/novu@7.3.2 - - @agentic/people-data-labs@7.3.2 - - @agentic/perigon@7.3.2 - - @agentic/polygon@7.3.2 - - @agentic/predict-leads@7.3.2 - - @agentic/proxycurl@7.3.2 - - @agentic/searxng@7.3.2 - - @agentic/serpapi@7.3.2 - - @agentic/serper@7.3.2 - - @agentic/slack@7.3.2 - - @agentic/social-data@7.3.2 - - @agentic/tavily@7.3.2 - - @agentic/twilio@7.3.2 - - @agentic/twitter@7.3.2 - - @agentic/weather@7.3.2 - - @agentic/wikidata@7.3.2 - - @agentic/wikipedia@7.3.2 - - @agentic/wolfram-alpha@7.3.2 - -## 7.3.1 - -### Patch Changes - -- Add readmes to all packages. -- Updated dependencies - - @agentic/ai-sdk@7.3.1 - - @agentic/bing@7.3.1 - - @agentic/calculator@7.3.1 - - @agentic/clearbit@7.3.1 - - @agentic/core@7.3.1 - - @agentic/dexa@7.3.1 - - @agentic/dexter@7.3.1 - - @agentic/diffbot@7.3.1 - - @agentic/e2b@7.3.1 - - @agentic/exa@7.3.1 - - @agentic/firecrawl@7.3.1 - - @agentic/genkit@7.3.1 - - @agentic/github@7.3.1 - - @agentic/hacker-news@7.3.1 - - @agentic/hunter@7.3.1 - - @agentic/jina@7.3.1 - - @agentic/langchain@7.3.1 - - @agentic/llamaindex@7.3.1 - - @agentic/midjourney@7.3.1 - - @agentic/novu@7.3.1 - - @agentic/people-data-labs@7.3.1 - - @agentic/perigon@7.3.1 - - @agentic/polygon@7.3.1 - - @agentic/predict-leads@7.3.1 - - @agentic/proxycurl@7.3.1 - - @agentic/searxng@7.3.1 - - @agentic/serpapi@7.3.1 - - @agentic/serper@7.3.1 - - @agentic/slack@7.3.1 - - @agentic/social-data@7.3.1 - - @agentic/tavily@7.3.1 - - @agentic/twilio@7.3.1 - - @agentic/twitter@7.3.1 - - @agentic/weather@7.3.1 - - @agentic/wikidata@7.3.1 - - @agentic/wikipedia@7.3.1 - - @agentic/wolfram-alpha@7.3.1 - -## 7.3.0 - -### Minor Changes - -- Update all deps - -### Patch Changes - -- Updated dependencies - - @agentic/ai-sdk@7.3.0 - - @agentic/bing@7.3.0 - - @agentic/calculator@7.3.0 - - @agentic/clearbit@7.3.0 - - @agentic/core@7.3.0 - - @agentic/dexa@7.3.0 - - @agentic/dexter@7.3.0 - - @agentic/diffbot@7.3.0 - - @agentic/e2b@7.3.0 - - @agentic/exa@7.3.0 - - @agentic/firecrawl@7.3.0 - - @agentic/genkit@7.3.0 - - @agentic/github@7.3.0 - - @agentic/hacker-news@7.3.0 - - @agentic/hunter@7.3.0 - - @agentic/jina@7.3.0 - - @agentic/langchain@7.3.0 - - @agentic/llamaindex@7.3.0 - - @agentic/midjourney@7.3.0 - - @agentic/novu@7.3.0 - - @agentic/people-data-labs@7.3.0 - - @agentic/perigon@7.3.0 - - @agentic/polygon@7.3.0 - - @agentic/predict-leads@7.3.0 - - @agentic/proxycurl@7.3.0 - - @agentic/searxng@7.3.0 - - @agentic/serpapi@7.3.0 - - @agentic/serper@7.3.0 - - @agentic/slack@7.3.0 - - @agentic/social-data@7.3.0 - - @agentic/tavily@7.3.0 - - @agentic/twilio@7.3.0 - - @agentic/twitter@7.3.0 - - @agentic/weather@7.3.0 - - @agentic/wikidata@7.3.0 - - @agentic/wikipedia@7.3.0 - - @agentic/wolfram-alpha@7.3.0 - -## 7.2.0 - -### Minor Changes - -- Remove hash-object and search-and-crawl packages - -### Patch Changes - -- Updated dependencies - - @agentic/ai-sdk@7.2.0 - - @agentic/bing@7.2.0 - - @agentic/calculator@7.2.0 - - @agentic/clearbit@7.2.0 - - @agentic/core@7.2.0 - - @agentic/dexa@7.2.0 - - @agentic/dexter@7.2.0 - - @agentic/diffbot@7.2.0 - - @agentic/e2b@7.2.0 - - @agentic/exa@7.2.0 - - @agentic/firecrawl@7.2.0 - - @agentic/genkit@7.2.0 - - @agentic/github@7.2.0 - - @agentic/hacker-news@7.2.0 - - @agentic/hunter@7.2.0 - - @agentic/jina@7.2.0 - - @agentic/langchain@7.2.0 - - @agentic/llamaindex@7.2.0 - - @agentic/midjourney@7.2.0 - - @agentic/novu@7.2.0 - - @agentic/people-data-labs@7.2.0 - - @agentic/perigon@7.2.0 - - @agentic/polygon@7.2.0 - - @agentic/predict-leads@7.2.0 - - @agentic/proxycurl@7.2.0 - - @agentic/searxng@7.2.0 - - @agentic/serpapi@7.2.0 - - @agentic/serper@7.2.0 - - @agentic/slack@7.2.0 - - @agentic/social-data@7.2.0 - - @agentic/tavily@7.2.0 - - @agentic/twilio@7.2.0 - - @agentic/twitter@7.2.0 - - @agentic/weather@7.2.0 - - @agentic/wikidata@7.2.0 - - @agentic/wikipedia@7.2.0 - - @agentic/wolfram-alpha@7.2.0 - -## 7.1.0 - -### Minor Changes - -- 33bcbe0: Update deps - -### Patch Changes - -- Updated dependencies [33bcbe0] - - @agentic/core@7.1.0 - - @agentic/ai-sdk@7.1.0 - - @agentic/bing@7.1.0 - - @agentic/calculator@7.1.0 - - @agentic/clearbit@7.1.0 - - @agentic/dexa@7.1.0 - - @agentic/dexter@7.1.0 - - @agentic/diffbot@7.1.0 - - @agentic/e2b@7.1.0 - - @agentic/exa@7.1.0 - - @agentic/firecrawl@7.1.0 - - @agentic/genkit@7.1.0 - - @agentic/github@7.1.0 - - @agentic/hacker-news@7.1.0 - - @agentic/hunter@7.1.0 - - @agentic/jina@7.1.0 - - @agentic/langchain@7.1.0 - - @agentic/llamaindex@7.1.0 - - @agentic/midjourney@7.1.0 - - @agentic/novu@7.1.0 - - @agentic/people-data-labs@7.1.0 - - @agentic/perigon@7.1.0 - - @agentic/polygon@7.1.0 - - @agentic/predict-leads@7.1.0 - - @agentic/proxycurl@7.1.0 - - @agentic/search-and-crawl@7.1.0 - - @agentic/searxng@7.1.0 - - @agentic/serpapi@7.1.0 - - @agentic/serper@7.1.0 - - @agentic/slack@7.1.0 - - @agentic/social-data@7.1.0 - - @agentic/tavily@7.1.0 - - @agentic/twilio@7.1.0 - - @agentic/twitter@7.1.0 - - @agentic/weather@7.1.0 - - @agentic/wikidata@7.1.0 - - @agentic/wikipedia@7.1.0 - - @agentic/wolfram-alpha@7.1.0 - -## 7.0.0 - -### Major Changes - -- cba1cc7: Move to monorepo and multiple packages - - See https://github.com/transitive-bullshit/agentic/issues/654 and https://github.com/transitive-bullshit/agentic/pull/657 for more info. - -### Patch Changes - -- Updated dependencies [cba1cc7] - - @agentic/people-data-labs@7.0.0 - - @agentic/search-and-crawl@7.0.0 - - @agentic/predict-leads@7.0.0 - - @agentic/wolfram-alpha@7.0.0 - - @agentic/hacker-news@7.0.0 - - @agentic/social-data@7.0.0 - - @agentic/calculator@7.0.0 - - @agentic/llamaindex@7.0.0 - - @agentic/midjourney@7.0.0 - - @agentic/firecrawl@7.0.0 - - @agentic/langchain@7.0.0 - - @agentic/proxycurl@7.0.0 - - @agentic/wikipedia@7.0.0 - - @agentic/clearbit@7.0.0 - - @agentic/wikidata@7.0.0 - - @agentic/diffbot@7.0.0 - - @agentic/perigon@7.0.0 - - @agentic/polygon@7.0.0 - - @agentic/searxng@7.0.0 - - @agentic/serpapi@7.0.0 - - @agentic/twitter@7.0.0 - - @agentic/weather@7.0.0 - - @agentic/ai-sdk@7.0.0 - - @agentic/dexter@7.0.0 - - @agentic/genkit@7.0.0 - - @agentic/github@7.0.0 - - @agentic/hunter@7.0.0 - - @agentic/serper@7.0.0 - - @agentic/tavily@7.0.0 - - @agentic/twilio@7.0.0 - - @agentic/slack@7.0.0 - - @agentic/bing@7.0.0 - - @agentic/core@7.0.0 - - @agentic/dexa@7.0.0 - - @agentic/jina@7.0.0 - - @agentic/novu@7.0.0 - - @agentic/e2b@7.0.0 - - @agentic/exa@7.0.0 diff --git a/packages/stdlib/package.json b/packages/stdlib/package.json index 01031acf..6f1f2c77 100644 --- a/packages/stdlib/package.json +++ b/packages/stdlib/package.json @@ -32,6 +32,7 @@ }, "dependencies": { "@agentic/ai-sdk": "workspace:*", + "@agentic/apollo": "workspace:*", "@agentic/bing": "workspace:*", "@agentic/calculator": "workspace:*", "@agentic/clearbit": "workspace:*", diff --git a/packages/stdlib/src/index.ts b/packages/stdlib/src/index.ts index bf0460d8..70b42d1b 100644 --- a/packages/stdlib/src/index.ts +++ b/packages/stdlib/src/index.ts @@ -1,3 +1,4 @@ +export * from '@agentic/apollo' export * from '@agentic/bing' export * from '@agentic/calculator' export * from '@agentic/clearbit' diff --git a/packages/zoominfo/src/zoominfo-client.ts b/packages/zoominfo/src/zoominfo-client.ts index 2f59e15d..5e24a272 100644 --- a/packages/zoominfo/src/zoominfo-client.ts +++ b/packages/zoominfo/src/zoominfo-client.ts @@ -320,7 +320,7 @@ export namespace zoominfo { } /** - * ZoomInfo ia a robust B2B entity enrichment API. + * ZoomInfo is a robust B2B enrichment and search API for people and companies. * * @see https://api-docs.zoominfo.com */ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6b68f406..6974df5d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -242,6 +242,25 @@ importers: specifier: ^4.1.42 version: 4.1.42(react@18.3.1)(zod@3.24.2) + packages/apollo: + dependencies: + '@agentic/core': + specifier: workspace:* + version: link:../core + ky: + specifier: ^1.7.5 + version: 1.7.5 + p-throttle: + specifier: ^6.2.0 + version: 6.2.0 + zod: + specifier: ^3.23.8 + version: 3.24.2 + devDependencies: + '@agentic/tsconfig': + specifier: workspace:* + version: link:../tsconfig + packages/bing: dependencies: '@agentic/core': @@ -556,6 +575,25 @@ importers: specifier: ^0.3.13 version: 0.3.40(openai@4.85.2(encoding@0.1.13)(ws@8.18.0)(zod@3.24.2)) + packages/leadmagic: + dependencies: + '@agentic/core': + specifier: workspace:* + version: link:../core + ky: + specifier: ^1.7.5 + version: 1.7.5 + p-throttle: + specifier: ^6.2.0 + version: 6.2.0 + zod: + specifier: ^3.23.8 + version: 3.24.2 + devDependencies: + '@agentic/tsconfig': + specifier: workspace:* + version: link:../tsconfig + packages/llamaindex: dependencies: '@agentic/core': @@ -693,6 +731,25 @@ importers: specifier: workspace:* version: link:../tsconfig + packages/rocketreach: + dependencies: + '@agentic/core': + specifier: workspace:* + version: link:../core + ky: + specifier: ^1.7.5 + version: 1.7.5 + p-throttle: + specifier: ^6.2.0 + version: 6.2.0 + zod: + specifier: ^3.23.8 + version: 3.24.2 + devDependencies: + '@agentic/tsconfig': + specifier: workspace:* + version: link:../tsconfig + packages/searxng: dependencies: '@agentic/core': @@ -781,6 +838,9 @@ importers: '@agentic/ai-sdk': specifier: workspace:* version: link:../ai-sdk + '@agentic/apollo': + specifier: workspace:* + version: link:../apollo '@agentic/bing': specifier: workspace:* version: link:../bing