Merge pull request #687 from transitive-bullshit/feature/zoominfo

pull/689/head
Travis Fischer 2025-02-24 03:01:54 +07:00 zatwierdzone przez GitHub
commit fceaf2ae9f
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: B5690EEEBB952194
71 zmienionych plików z 3321 dodań i 4218 usunięć

Wyświetl plik

@ -53,6 +53,7 @@
{
"group": "Tools",
"pages": [
"tools/apollo",
"tools/bing",
"tools/calculator",
"tools/clearbit",
@ -64,6 +65,7 @@
"tools/hacker-news",
"tools/hunter",
"tools/jina",
"tools/leadmagic",
"tools/midjourney",
"tools/novu",
"tools/people-data-labs",
@ -71,6 +73,7 @@
"tools/polygon",
"tools/predict-leads",
"tools/proxycurl",
"tools/rocketreach",
"tools/searxng",
"tools/serpapi",
"tools/serper",
@ -82,7 +85,8 @@
"tools/weather",
"tools/wikidata",
"tools/wikipedia",
"tools/wolfram-alpha"
"tools/wolfram-alpha",
"tools/zoominfo"
]
}
],

Wyświetl plik

@ -10,25 +10,25 @@ title: Quick Start
</Info>
<Steps>
<Step title='Install core deps'>
<Step title='Install core deps (zod)'>
<CodeGroup>
```bash npm
npm install @agentic/core zod
npm install zod
```
```bash yarn
yarn add @agentic/core zod
yarn add zod
```
```bash pnpm
pnpm add @agentic/core zod
pnpm add zod
```
</CodeGroup>
</Step>
<Step title='Install AI tools'>
You can either install all of the AI tools via the convenience package `@agentic/stdlib`, or you can install them individually via their respective packages (`@agentic/weather`, `@agentic/twitter`, etc.).
You can either install all of the AI tools via `@agentic/stdlib`, or you can install them individually via their respective packages (`@agentic/weather`, `@agentic/twitter`, etc.).
<AccordionGroup>
<Accordion title="Install all AI tools">
@ -72,7 +72,7 @@ title: Quick Start
<Note>
There is no functional difference between using `@agentic/stdlib` versus using the individual tool packages directly. The only difference is if you want to optimize your install size (when running on serverless functions, for instance).
The default examples all use `@agentic/stdlib` because it provides a simpler DX.
The default examples all use `@agentic/stdlib` for simplicity.
</Note>
</Step>
@ -138,15 +138,15 @@ title: Quick Start
<Accordion title="Firebase Genkit">
<CodeGroup>
```bash npm
npm install @agentic/genkit @genkit-ai/ai @genkit-ai/core
npm install @agentic/genkit genkit
```
```bash yarn
yarn add @agentic/genkit @genkit-ai/ai @genkit-ai/core
yarn add @agentic/genkit genkit
```
```bash pnpm
pnpm add @agentic/genkit @genkit-ai/ai @genkit-ai/core
pnpm add @agentic/genkit genkit
```
</CodeGroup>

Wyświetl plik

@ -0,0 +1,38 @@
---
title: Apollo
description: Apollo provides an API for B2B person and company enrichment.
---
- package: `@agentic/apollo`
- exports: `class Apollo`, `namespace apollo`
- env vars: `APOLLO_API_KEY`
- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/apollo/src/apollo-client.ts)
- [apollo api docs](https://docs.apollo.io)
## Install
<CodeGroup>
```bash npm
npm install @agentic/apollo
```
```bash yarn
yarn add @agentic/apollo
```
```bash pnpm
pnpm add @agentic/apollo
```
</CodeGroup>
## Usage
```ts
import { ApolloClient } from '@agentic/apollo'
const apollo = new ApolloClient()
const res = await apollo.enrichPerson({
linkedin_url: 'https://linkedin.com/in/fisch2'
})
```

Wyświetl plik

@ -0,0 +1,38 @@
---
title: LeadMagic
description: LeadMagic provides an API for B2B person, company, and email enrichment.
---
- package: `@agentic/leadmagic`
- exports: `class LeadMagic`, `namespace leadmagic`
- env vars: `LEADMAGIC_API_KEY`
- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/leadmagic/src/leadmagic-client.ts)
- [leadmagic api docs](https://docs.leadmagic.io)
## Install
<CodeGroup>
```bash npm
npm install @agentic/leadmagic
```
```bash yarn
yarn add @agentic/leadmagic
```
```bash pnpm
pnpm add @agentic/leadmagic
```
</CodeGroup>
## Usage
```ts
import { LeadMagicClient } from '@agentic/leadmagic'
const leadmagic = new LeadMagicClient()
const res = await leadmagic.profileSearch({
linkedinUsername: 'fisch2'
})
```

Wyświetl plik

@ -0,0 +1,38 @@
---
title: RocketReach
description: RocketReach provides an API for B2B person and company enrichment.
---
- package: `@agentic/rocketreach`
- exports: `class RocketReach`, `namespace rocketreach`
- env vars: `ROCKETREACH_API_KEY`
- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/rocketreach/src/rocketreach-client.ts)
- [rocketreach api docs](https://rocketreach.co/api/v2/docs)
## Install
<CodeGroup>
```bash npm
npm install @agentic/rocketreach
```
```bash yarn
yarn add @agentic/rocketreach
```
```bash pnpm
pnpm add @agentic/rocketreach
```
</CodeGroup>
## Usage
```ts
import { RocketReachClient } from '@agentic/rocketreach'
const rocketreach = new RocketReachClient()
const res = await rocketreach.lookupPerson({
linkedin_url: 'https://www.linkedin.com/in/fisch2'
})
```

Wyświetl plik

@ -0,0 +1,40 @@
---
title: ZoomInfo
description: ZoomInfo provides a powerful API for B2B person and company data enrichment.
---
- package: `@agentic/zoominfo`
- exports: `class ZoomInfo`, `namespace zoominfo`
- env vars:
- `ZOOMINFO_USERNAME` and `ZOOMINFO_PASSWORD` for basic auth
- `ZOOMINFO_USERNAME`, `ZOOMINFO_CLIENT_ID`, and `ZOOMINFO_PRIVATE_KEY` for PKI auth
- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/zoominfo/src/zoominfo-client.ts)
- [zoominfo api docs](https://api-docs.zoominfo.com)
## Install
<CodeGroup>
```bash npm
npm install @agentic/zoominfo
```
```bash yarn
yarn add @agentic/zoominfo
```
```bash pnpm
pnpm add @agentic/zoominfo
```
</CodeGroup>
## Usage
```ts
import { ZoomInfoClient } from '@agentic/zoominfo'
const zoomInfo = new ZoomInfoClient()
const res = await zoomInfo.enrichContact({
emailAddress: 'travis@transitivebullsh.it'
})
```

Wyświetl plik

@ -11,7 +11,7 @@
"@agentic/langchain": "workspace:*",
"@agentic/stdlib": "workspace:*",
"@langchain/core": "^0.3.13",
"@langchain/openai": "^0.3.11",
"@langchain/openai": "0.4.4",
"langchain": "^0.3.3",
"zod": "^3.24.2"
},

Wyświetl plik

@ -11,7 +11,7 @@
"@agentic/core": "workspace:*",
"@agentic/llamaindex": "workspace:*",
"@agentic/stdlib": "workspace:*",
"llamaindex": "^0.7.3",
"llamaindex": "^0.9.2",
"zod": "^3.24.2"
},
"devDependencies": {

Wyświetl plik

@ -1,6 +1,6 @@
import 'dotenv/config'
import { ExaClient } from '@agentic/stdlib'
import { ZoomInfoClient } from '@agentic/stdlib'
import restoreCursor from 'restore-cursor'
/**
@ -129,11 +129,21 @@ async function main() {
// json: true
// })
const exa = new ExaClient()
const res = await exa.search({
query: 'OpenAI',
category: 'linkedin profile'
// const exa = new ExaClient()
// const res = await exa.search({
// query: 'OpenAI',
// category: 'linkedin profile'
// })
const zoomInfo = new ZoomInfoClient()
const res = await zoomInfo.enrichContact({
// emailAddress: 'travis@transitivebullsh.it'
fullName: 'Kevin Raheja',
companyName: 'HeyGen'
})
// const res = await zoomInfo.searchContacts({
// fullName: 'Kevin Raheja'
// })
console.log(JSON.stringify(res, null, 2))
}

Wyświetl plik

@ -45,12 +45,14 @@
"npm-run-all2": "^7.0.2",
"only-allow": "^1.2.1",
"prettier": "^3.5.1",
"syncpack": "14.0.0-alpha.10",
"tsup": "^8.3.6",
"tsx": "^4.19.3",
"turbo": "^2.4.2",
"typescript": "^5.7.3",
"vitest": "3.0.6",
"zod": "^3.24.2"
"zod": "^3.24.2",
"zoominfo-api-auth-client": "^1.0.1"
},
"lint-staged": {
"*.{ts,tsx}": [

Wyświetl plik

@ -35,7 +35,7 @@
"@agentic/core": "workspace:*"
},
"peerDependencies": {
"ai": "^4.1.0"
"ai": "^4.1.42"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*",

Wyświetl plik

@ -0,0 +1,48 @@
{
"name": "@agentic/apollo",
"version": "7.3.2",
"description": "Agentic SDK for Apollo.io.",
"author": "Travis Fischer <travis@transitivebullsh.it>",
"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.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"
},
"publishConfig": {
"access": "public"
}
}

Wyświetl plik

@ -0,0 +1,24 @@
<p align="center">
<a href="https://agentic.so">
<img alt="Agentic" src="https://raw.githubusercontent.com/transitive-bullshit/agentic/main/docs/media/agentic-header.jpg" width="308">
</a>
</p>
<p align="center">
<em>AI agent stdlib that works with any LLM and TypeScript AI SDK.</em>
</p>
<p align="center">
<a href="https://github.com/transitive-bullshit/agentic/actions/workflows/main.yml"><img alt="Build Status" src="https://github.com/transitive-bullshit/agentic/actions/workflows/main.yml/badge.svg" /></a>
<a href="https://www.npmjs.com/package/@agentic/stdlib"><img alt="NPM" src="https://img.shields.io/npm/v/@agentic/stdlib.svg" /></a>
<a href="https://github.com/transitive-bullshit/agentic/blob/main/license"><img alt="MIT License" src="https://img.shields.io/badge/license-MIT-blue" /></a>
<a href="https://prettier.io"><img alt="Prettier Code Formatting" src="https://img.shields.io/badge/code_style-prettier-brightgreen.svg" /></a>
</p>
# 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)

Wyświetl plik

@ -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 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<apollo.EnrichPersonResponse>()
}
}

Wyświetl plik

@ -0,0 +1 @@
export * from './apollo-client'

Wyświetl plik

@ -0,0 +1,5 @@
{
"extends": "@agentic/tsconfig/base.json",
"include": ["src"],
"exclude": ["node_modules", "dist"]
}

Wyświetl plik

@ -35,7 +35,7 @@
"ky": "^1.7.5"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -35,7 +35,7 @@
"mathjs": "^13.0.3"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -36,7 +36,7 @@
"p-throttle": "^6.2.0"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -11,9 +11,10 @@ import pThrottle from 'p-throttle'
export namespace clearbit {
// Allow up to 600 requests per minute by default.
// (10 requests per second)
export const throttle = pThrottle({
limit: 600,
interval: 60 * 1000
limit: 10,
interval: 1000
})
export const MAX_PAGE_SIZE = 100

Wyświetl plik

@ -43,7 +43,7 @@
"zod-validation-error": "^3.4.0"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*",

Wyświetl plik

@ -36,7 +36,7 @@
"p-throttle": "^6.2.0"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -36,7 +36,7 @@
"p-throttle": "^6.2.0"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -35,7 +35,7 @@
},
"peerDependencies": {
"@e2b/code-interpreter": "^1.0.2",
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*",

Wyświetl plik

@ -35,7 +35,7 @@
"ky": "^1.7.5"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -36,7 +36,7 @@
"p-throttle": "^6.2.0"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -37,7 +37,7 @@
"p-throttle": "^6.2.0"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -35,7 +35,7 @@
"ky": "^1.7.5"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -35,7 +35,7 @@
"ky": "^1.7.5"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -38,7 +38,7 @@
"@agentic/core": "workspace:*",
"@agentic/tsconfig": "workspace:*",
"@ai-sdk/openai": "^1.1.13",
"ai": "^4.0.2"
"ai": "^4.1.42"
},
"publishConfig": {
"access": "public"

Wyświetl plik

@ -36,7 +36,7 @@
"p-throttle": "^6.2.0"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -0,0 +1,48 @@
{
"name": "@agentic/leadmagic",
"version": "7.3.2",
"description": "Agentic SDK for LeadMagic.",
"author": "Travis Fischer <travis@transitivebullsh.it>",
"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.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"
},
"publishConfig": {
"access": "public"
}
}

Wyświetl plik

@ -0,0 +1,24 @@
<p align="center">
<a href="https://agentic.so">
<img alt="Agentic" src="https://raw.githubusercontent.com/transitive-bullshit/agentic/main/docs/media/agentic-header.jpg" width="308">
</a>
</p>
<p align="center">
<em>AI agent stdlib that works with any LLM and TypeScript AI SDK.</em>
</p>
<p align="center">
<a href="https://github.com/transitive-bullshit/agentic/actions/workflows/main.yml"><img alt="Build Status" src="https://github.com/transitive-bullshit/agentic/actions/workflows/main.yml/badge.svg" /></a>
<a href="https://www.npmjs.com/package/@agentic/stdlib"><img alt="NPM" src="https://img.shields.io/npm/v/@agentic/stdlib.svg" /></a>
<a href="https://github.com/transitive-bullshit/agentic/blob/main/license"><img alt="MIT License" src="https://img.shields.io/badge/license-MIT-blue" /></a>
<a href="https://prettier.io"><img alt="Prettier Code Formatting" src="https://img.shields.io/badge/code_style-prettier-brightgreen.svg" /></a>
</p>
# 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)

Wyświetl plik

@ -0,0 +1 @@
export * from './leadmagic-client'

Wyświetl plik

@ -0,0 +1,121 @@
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.
// (5 requests per second)
export const throttle = pThrottle({
limit: 5,
interval: 1000
})
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<leadmagic.EnrichedPerson>()
}
}

Wyświetl plik

@ -0,0 +1,5 @@
{
"extends": "@agentic/tsconfig/base.json",
"include": ["src"],
"exclude": ["node_modules", "dist"]
}

Wyświetl plik

@ -35,11 +35,11 @@
"@agentic/core": "workspace:*"
},
"peerDependencies": {
"llamaindex": "^0.7.3"
"llamaindex": "^0.9.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*",
"llamaindex": "^0.7.3"
"llamaindex": "^0.9.2"
},
"publishConfig": {
"access": "public"

Wyświetl plik

@ -35,7 +35,7 @@
"ky": "^1.7.5"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -35,7 +35,7 @@
"ky": "^1.7.5"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -36,7 +36,7 @@
"p-throttle": "^6.2.0"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -36,7 +36,7 @@
"p-throttle": "^6.2.0"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -35,7 +35,7 @@
"ky": "^1.7.5"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -36,7 +36,7 @@
"p-throttle": "^6.2.0"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -36,7 +36,7 @@
"p-throttle": "^6.2.0"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -0,0 +1,48 @@
{
"name": "@agentic/rocketreach",
"version": "7.3.2",
"description": "Agentic SDK for RocketReach.",
"author": "Travis Fischer <travis@transitivebullsh.it>",
"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.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"
},
"publishConfig": {
"access": "public"
}
}

Wyświetl plik

@ -0,0 +1,24 @@
<p align="center">
<a href="https://agentic.so">
<img alt="Agentic" src="https://raw.githubusercontent.com/transitive-bullshit/agentic/main/docs/media/agentic-header.jpg" width="308">
</a>
</p>
<p align="center">
<em>AI agent stdlib that works with any LLM and TypeScript AI SDK.</em>
</p>
<p align="center">
<a href="https://github.com/transitive-bullshit/agentic/actions/workflows/main.yml"><img alt="Build Status" src="https://github.com/transitive-bullshit/agentic/actions/workflows/main.yml/badge.svg" /></a>
<a href="https://www.npmjs.com/package/@agentic/stdlib"><img alt="NPM" src="https://img.shields.io/npm/v/@agentic/stdlib.svg" /></a>
<a href="https://github.com/transitive-bullshit/agentic/blob/main/license"><img alt="MIT License" src="https://img.shields.io/badge/license-MIT-blue" /></a>
<a href="https://prettier.io"><img alt="Prettier Code Formatting" src="https://img.shields.io/badge/code_style-prettier-brightgreen.svg" /></a>
</p>
# 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)

Wyświetl plik

@ -0,0 +1 @@
export * from './rocketreach-client'

Wyświetl plik

@ -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<string, string>
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<rocketreach.Person>()
}
}

Wyświetl plik

@ -0,0 +1,5 @@
{
"extends": "@agentic/tsconfig/base.json",
"include": ["src"],
"exclude": ["node_modules", "dist"]
}

Wyświetl plik

@ -35,7 +35,7 @@
"ky": "^1.7.5"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -35,7 +35,7 @@
"ky": "^1.7.5"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -35,7 +35,7 @@
"ky": "^1.7.5"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -35,7 +35,7 @@
"ky": "^1.7.5"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -36,7 +36,7 @@
"p-throttle": "^6.2.0"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -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

Wyświetl plik

@ -32,6 +32,7 @@
},
"dependencies": {
"@agentic/ai-sdk": "workspace:*",
"@agentic/apollo": "workspace:*",
"@agentic/bing": "workspace:*",
"@agentic/calculator": "workspace:*",
"@agentic/clearbit": "workspace:*",
@ -48,6 +49,7 @@
"@agentic/hunter": "workspace:*",
"@agentic/jina": "workspace:*",
"@agentic/langchain": "workspace:*",
"@agentic/leadmagic": "workspace:*",
"@agentic/llamaindex": "workspace:*",
"@agentic/midjourney": "workspace:*",
"@agentic/novu": "workspace:*",
@ -56,6 +58,7 @@
"@agentic/polygon": "workspace:*",
"@agentic/predict-leads": "workspace:*",
"@agentic/proxycurl": "workspace:*",
"@agentic/rocketreach": "workspace:*",
"@agentic/searxng": "workspace:*",
"@agentic/serpapi": "workspace:*",
"@agentic/serper": "workspace:*",
@ -68,10 +71,11 @@
"@agentic/wikidata": "workspace:*",
"@agentic/wikipedia": "workspace:*",
"@agentic/wolfram-alpha": "workspace:*",
"@agentic/zoominfo": "workspace:*",
"@e2b/code-interpreter": "^1.0.2"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -1,3 +1,4 @@
export * from '@agentic/apollo'
export * from '@agentic/bing'
export * from '@agentic/calculator'
export * from '@agentic/clearbit'
@ -10,6 +11,7 @@ export * from '@agentic/github'
export * from '@agentic/hacker-news'
export * from '@agentic/hunter'
export * from '@agentic/jina'
export * from '@agentic/leadmagic'
export * from '@agentic/midjourney'
export * from '@agentic/novu'
export * from '@agentic/people-data-labs'
@ -17,6 +19,7 @@ export * from '@agentic/perigon'
export * from '@agentic/polygon'
export * from '@agentic/predict-leads'
export * from '@agentic/proxycurl'
export * from '@agentic/rocketreach'
export * from '@agentic/searxng'
export * from '@agentic/serpapi'
export * from '@agentic/serper'
@ -29,3 +32,4 @@ export * from '@agentic/weather'
export * from '@agentic/wikidata'
export * from '@agentic/wikipedia'
export * from '@agentic/wolfram-alpha'
export * from '@agentic/zoominfo'

Wyświetl plik

@ -36,7 +36,7 @@
"p-throttle": "^6.2.0"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -35,7 +35,7 @@
"ky": "^1.7.5"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -39,7 +39,7 @@
"type-fest": "^4.35.0"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -35,7 +35,7 @@
"ky": "^1.7.5"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -37,7 +37,7 @@
"wikibase-sdk": "^10.0.3"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -36,7 +36,7 @@
"p-throttle": "^6.2.0"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -35,7 +35,7 @@
"ky": "^1.7.5"
},
"peerDependencies": {
"zod": "^3.23.8"
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*"

Wyświetl plik

@ -0,0 +1,50 @@
{
"name": "@agentic/zoominfo",
"version": "7.3.2",
"description": "Agentic SDK for ZoomInfo.",
"author": "Travis Fischer <travis@transitivebullsh.it>",
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/transitive-bullshit/agentic.git",
"directory": "packages/zoominfo"
},
"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:*",
"jsrsasign": "^10.9.0",
"ky": "^1.7.5",
"p-throttle": "^6.2.0"
},
"peerDependencies": {
"zod": "^3.24.2"
},
"devDependencies": {
"@agentic/tsconfig": "workspace:*",
"@types/jsrsasign": "^10.5.15"
},
"publishConfig": {
"access": "public"
}
}

Wyświetl plik

@ -0,0 +1,24 @@
<p align="center">
<a href="https://agentic.so">
<img alt="Agentic" src="https://raw.githubusercontent.com/transitive-bullshit/agentic/main/docs/media/agentic-header.jpg" width="308">
</a>
</p>
<p align="center">
<em>AI agent stdlib that works with any LLM and TypeScript AI SDK.</em>
</p>
<p align="center">
<a href="https://github.com/transitive-bullshit/agentic/actions/workflows/main.yml"><img alt="Build Status" src="https://github.com/transitive-bullshit/agentic/actions/workflows/main.yml/badge.svg" /></a>
<a href="https://www.npmjs.com/package/@agentic/stdlib"><img alt="NPM" src="https://img.shields.io/npm/v/@agentic/stdlib.svg" /></a>
<a href="https://github.com/transitive-bullshit/agentic/blob/main/license"><img alt="MIT License" src="https://img.shields.io/badge/license-MIT-blue" /></a>
<a href="https://prettier.io"><img alt="Prettier Code Formatting" src="https://img.shields.io/badge/code_style-prettier-brightgreen.svg" /></a>
</p>
# 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)

Wyświetl plik

@ -0,0 +1 @@
export * from './zoominfo-client'

Wyświetl plik

@ -0,0 +1,5 @@
{
"extends": "@agentic/tsconfig/base.json",
"include": ["src"],
"exclude": ["node_modules", "dist"]
}

Plik diff jest za duży Load Diff

Wyświetl plik

@ -26,6 +26,7 @@
- [Firebase Genkit](#firebase-genkit)
- [Dexa Dexter](#dexa-dexter)
- [OpenAI](#openai)
- [GenAIScript](#genaiscript)
- [Tools](#tools)
- [Contributors](#contributors)
- [License](#license)
@ -147,6 +148,7 @@ Full docs are available at [agentic.so](https://agentic.so).
| Service / Tool | Package | Docs | Description |
| ------------------------------------------------------------------------ | --------------------------- | ------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Apollo](https://docs.apollo.io) | `@agentic/apollo` | [docs](https://agentic.so/tools/apollo) | B2B person and company enrichment API. |
| [Bing](https://www.microsoft.com/en-us/bing/apis/bing-web-search-api) | `@agentic/bing` | [docs](https://agentic.so/tools/bing) | Bing web search. |
| [Calculator](https://github.com/josdejong/mathjs) | `@agentic/calculator` | [docs](https://agentic.so/tools/calculator) | Basic calculator for simple mathematical expressions. |
| [Clearbit](https://dashboard.clearbit.com/docs) | `@agentic/clearbit` | [docs](https://agentic.so/tools/clearbit) | Resolving and enriching people and company data. |
@ -158,6 +160,7 @@ Full docs are available at [agentic.so](https://agentic.so).
| [HackerNews](https://github.com/HackerNews/API) | `@agentic/hacker-news` | [docs](https://agentic.so/tools/hacker-news) | Official HackerNews API. |
| [Hunter](https://hunter.io) | `@agentic/hunter` | [docs](https://agentic.so/tools/hunter) | Email finder, verifier, and enrichment. |
| [Jina](https://jina.ai/reader) | `@agentic/jina` | [docs](https://agentic.so/tools/jina) | URL scraper and web search. |
| [LeadMagic](https://leadmagic.io) | `@agentic/leadmagic` | [docs](https://agentic.so/tools/leadmagic) | B2B person, company, and email enrichment API. |
| [Midjourney](https://www.imagineapi.dev) | `@agentic/midjourney` | [docs](https://agentic.so/tools/midjourney) | Unofficial Midjourney client for generative images. |
| [Novu](https://novu.co) | `@agentic/novu` | [docs](https://agentic.so/tools/novu) | Sending notifications (email, SMS, in-app, push, etc). |
| [People Data Labs](https://www.peopledatalabs.com) | `@agentic/people-data-labs` | [docs](https://agentic.so/tools/people-data-labs) | People & company data (WIP). |
@ -165,6 +168,7 @@ Full docs are available at [agentic.so](https://agentic.so).
| [Polygon](https://polygon.io) | `@agentic/polygon` | [docs](https://agentic.so/tools/polygon) | Stock market and company financial data. |
| [PredictLeads](https://predictleads.com) | `@agentic/predict-leads` | [docs](https://agentic.so/tools/predict-leads) | In-depth company data including signals like fundraising events, hiring news, product launches, technologies used, etc. |
| [Proxycurl](https://nubela.co/proxycurl) | `@agentic/proxycurl` | [docs](https://agentic.so/tools/proxycurl) | People and company data from LinkedIn & Crunchbase. |
| [RocketReach](https://rocketreach.co/api/v2/docs) | `@agentic/rocketreach` | [docs](https://agentic.so/tools/rocketreach) | B2B person and company enrichment API. |
| [Searxng](https://docs.searxng.org) | `@agentic/searxng` | [docs](https://agentic.so/tools/searxng) | OSS meta search engine capable of searching across many providers like Reddit, Google, Brave, Arxiv, Genius, IMDB, Rotten Tomatoes, Wikidata, Wolfram Alpha, YouTube, GitHub, [etc](https://docs.searxng.org/user/configured_engines.html#configured-engines). |
| [SerpAPI](https://serpapi.com/search-api) | `@agentic/serpapi` | [docs](https://agentic.so/tools/serpapi) | Lightweight wrapper around SerpAPI for Google search. |
| [Serper](https://serper.dev) | `@agentic/serper` | [docs](https://agentic.so/tools/serper) | Lightweight wrapper around Serper for Google search. |
@ -177,6 +181,7 @@ Full docs are available at [agentic.so](https://agentic.so).
| [Wikidata](https://www.wikidata.org/wiki/Wikidata:Data_access) | `@agentic/wikidata` | [docs](https://agentic.so/tools/wikidata) | Basic Wikidata client. |
| [Wikipedia](https://www.mediawiki.org/wiki/API) | `@agentic/wikipedia` | [docs](https://agentic.so/tools/wikipedia) | Wikipedia page search and summaries. |
| [Wolfram Alpha](https://products.wolframalpha.com/llm-api/documentation) | `@agentic/wolfram-alpha` | [docs](https://agentic.so/tools/wolfram-alpha) | Wolfram Alpha LLM API client for answering computational, mathematical, and scientific questions. |
| [ZoomInfo](https://api-docs.zoominfo.com) | `@agentic/zoominfo` | [docs](https://agentic.so/tools/zoominfo) | Powerful B2B person and company data enrichment. |
For more details, see the [docs](https://agentic.so).