kopia lustrzana https://github.com/transitive-bullshit/chatgpt-api
feat: add zpollo, leadmagic, and rocketreach
rodzic
5b12dc3fd4
commit
762ba97b96
|
@ -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.23.8"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@agentic/tsconfig": "workspace:*"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
}
|
||||
}
|
|
@ -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)
|
|
@ -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<apollo.EnrichPersonResponse>()
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
export * from './apollo-client'
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"extends": "@agentic/tsconfig/base.json",
|
||||
"include": ["src"],
|
||||
"exclude": ["node_modules", "dist"]
|
||||
}
|
|
@ -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.23.8"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@agentic/tsconfig": "workspace:*"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
}
|
||||
}
|
|
@ -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)
|
|
@ -0,0 +1 @@
|
|||
export * from './leadmagic-client'
|
|
@ -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<leadmagic.EnrichedPerson>()
|
||||
}
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"extends": "@agentic/tsconfig/base.json",
|
||||
"include": ["src"],
|
||||
"exclude": ["node_modules", "dist"]
|
||||
}
|
|
@ -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.23.8"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@agentic/tsconfig": "workspace:*"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
}
|
||||
}
|
|
@ -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)
|
|
@ -0,0 +1 @@
|
|||
export * from './rocketreach-client'
|
|
@ -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>()
|
||||
}
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"extends": "@agentic/tsconfig/base.json",
|
||||
"include": ["src"],
|
||||
"exclude": ["node_modules", "dist"]
|
||||
}
|
|
@ -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
|
|
@ -32,6 +32,7 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"@agentic/ai-sdk": "workspace:*",
|
||||
"@agentic/apollo": "workspace:*",
|
||||
"@agentic/bing": "workspace:*",
|
||||
"@agentic/calculator": "workspace:*",
|
||||
"@agentic/clearbit": "workspace:*",
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
export * from '@agentic/apollo'
|
||||
export * from '@agentic/bing'
|
||||
export * from '@agentic/calculator'
|
||||
export * from '@agentic/clearbit'
|
||||
|
|
|
@ -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
|
||||
*/
|
||||
|
|
|
@ -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
|
||||
|
|
Ładowanie…
Reference in New Issue