diff --git a/docs/mint.json b/docs/mint.json index fbe6bdd47..eba4c0a39 100644 --- a/docs/mint.json +++ b/docs/mint.json @@ -53,7 +53,38 @@ }, { "group": "Tools", - "pages": ["tools/bing", "tools/weather"] + "pages": [ + "tools/bing", + "tools/calculator", + "tools/clearbit", + "tools/dexa", + "tools/diffbot", + "tools/e2b", + "tools/exa", + "tools/firecrawl", + "tools/hacker-news", + "tools/hunter", + "tools/jina", + "tools/midjourney", + "tools/novu", + "tools/people-data-labs", + "tools/perigon", + "tools/polygon", + "tools/predict-leads", + "tools/proxycurl", + "tools/searxng", + "tools/serpapi", + "tools/serper", + "tools/slack", + "tools/social-data", + "tools/tavily", + "tools/twilio", + "tools/twitter", + "tools/weather", + "tools/wikidata", + "tools/wikipedia", + "tools/wolfram-alpha" + ] } ], "footerSocials": { diff --git a/docs/tools/calculator.mdx b/docs/tools/calculator.mdx new file mode 100644 index 000000000..d5fb8f510 --- /dev/null +++ b/docs/tools/calculator.mdx @@ -0,0 +1,35 @@ +--- +title: Calculator +description: A simple calculator tool. +--- + +- package: `@agentic/calculator` +- exports: `function calculator` +- env vars: _none_ +- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/calculator/src/calculator.ts) +- [api docs](https://mathjs.org) + +## Install + + +```bash npm +npm install @agentic/calculator +``` + +```bash yarn +yarn add @agentic/calculator +``` + +```bash pnpm +pnpm add @agentic/calculator +``` + + + +## Usage + +```ts +import { calculator } from '@agentic/calculator' + +const res = await calculator({ expr: '1 + 1' }) +``` diff --git a/docs/tools/clearbit.mdx b/docs/tools/clearbit.mdx new file mode 100644 index 000000000..6ed6f1a11 --- /dev/null +++ b/docs/tools/clearbit.mdx @@ -0,0 +1,36 @@ +--- +title: Clearbit +description: Resolving and enriching people and company data. +--- + +- package: `@agentic/clearbit` +- exports: `class ClearbitClient`, `namespace clearbit` +- env vars: `CLEARBIT_API_KEY` +- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/clearbit/src/clearbit-client.ts) +- [api docs](https://dashboard.clearbit.com/docs) + +## Install + + +```bash npm +npm install @agentic/clearbit +``` + +```bash yarn +yarn add @agentic/clearbit +``` + +```bash pnpm +pnpm add @agentic/clearbit +``` + + + +## Usage + +```ts +import { ClearbitClient } from '@agentic/clearbit' + +const clearbit = new ClearbitClient() +const res = await clearbit.companyEnrichment({ domain: 'apple.com' }) +``` diff --git a/docs/tools/dexa.mdx b/docs/tools/dexa.mdx new file mode 100644 index 000000000..273a15b1f --- /dev/null +++ b/docs/tools/dexa.mdx @@ -0,0 +1,41 @@ +--- +title: Dexa +description: Answers questions from the world's best podcasters. +--- + + + The [Dexa](https://dexa.ai) API is currently only available as a closed beta. + + +- package: `@agentic/dexa` +- exports: + - `class DexaClient`, `namespace dexa` + - `class ScraperClient`, `namespace scraper` +- env vars: `DEXA_API_KEY` +- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/dexa/src/dexa-client.ts) + +## Install + + +```bash npm +npm install @agentic/dexa +``` + +```bash yarn +yarn add @agentic/dexa +``` + +```bash pnpm +pnpm add @agentic/dexa +``` + + + +## Usage + +```ts +import { DexaClient } from '@agentic/dexa' + +const dexa = new DexaClient() +const res = await dexa.search('latest news') +``` diff --git a/docs/tools/diffbot.mdx b/docs/tools/diffbot.mdx new file mode 100644 index 000000000..dcdce9afc --- /dev/null +++ b/docs/tools/diffbot.mdx @@ -0,0 +1,38 @@ +--- +title: Diffbot +description: Diffbot API client. +--- + +Diffbot provides web page classification and scraping. It also provides access to a knowledge graph with the ability to perform person and company data enrichment. + +- package: `@agentic/diffbot` +- exports: `class DiffbotClient`, `namespace diffbot` +- env vars: `DIFFBOT_API_KEY` +- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/diffbot/src/diffbot-client.ts) +- [api docs](https://docs.diffbot.com) + +## Install + + +```bash npm +npm install @agentic/diffbot +``` + +```bash yarn +yarn add @agentic/diffbot +``` + +```bash pnpm +pnpm add @agentic/diffbot +``` + + + +## Usage + +```ts +import { DiffbotClient } from '@agentic/diffbot' + +const diffbot = new DiffbotClient() +const res = await diffbot.analyzeUrl('https://example.com') +``` diff --git a/docs/tools/e2b.mdx b/docs/tools/e2b.mdx new file mode 100644 index 000000000..ac11114d8 --- /dev/null +++ b/docs/tools/e2b.mdx @@ -0,0 +1,37 @@ +--- +title: E2B +description: Hosted Python code interpreter sandbox. +--- + +Hosted Python code intrepreter sandbox which is really useful for data analysis, flexible code execution, and advanced reasoning on-the-fly. + +- package: `@agentic/e2b` +- exports: `function e2b` +- env vars: `E2B_API_KEY` +- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/e2b/src/e2b.ts) +- [api docs](https://e2b.dev) + +## Install + + +```bash npm +npm install @agentic/e2b @e2b/code-interpreter +``` + +```bash yarn +yarn add @agentic/e2b @e2b/code-interpreter +``` + +```bash pnpm +pnpm add @agentic/e2b @e2b/code-interpreter +``` + + + +## Usage + +```ts +import { e2b } from '@agentic/e2b' + +const res = await e2b({ code: 'print("Hello, World")' }) +``` diff --git a/docs/tools/exa.mdx b/docs/tools/exa.mdx new file mode 100644 index 000000000..20605be45 --- /dev/null +++ b/docs/tools/exa.mdx @@ -0,0 +1,36 @@ +--- +title: Exa +description: Web search tailored for LLMs. +--- + +- package: `@agentic/exa` +- exports: `class ExaClient`, `namespace exa` +- env vars: `EXA_API_KEY` +- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/exa/src/exa-client.ts) +- [api docs](https://docs.exa.ai) + +## Install + + +```bash npm +npm install @agentic/exa +``` + +```bash yarn +yarn add @agentic/exa +``` + +```bash pnpm +pnpm add @agentic/exa +``` + + + +## Usage + +```ts +import { ExaClient } from '@agentic/exa' + +const exa = new ExaClient() +const res = await exa.search('latest news') +``` diff --git a/docs/tools/firecrawl.mdx b/docs/tools/firecrawl.mdx new file mode 100644 index 000000000..dca9677ca --- /dev/null +++ b/docs/tools/firecrawl.mdx @@ -0,0 +1,38 @@ +--- +title: Firecrawl +description: Website scraping and structured data extraction. +--- + +Turn websites into LLM-ready data. Crawl and convert any website into clean markdown or structured data. + +- package: `@agentic/firecrawl` +- exports: `class FirecrawlClient`, `namespace firecrawl` +- env vars: `FIRECRAWL_API_KEY` +- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/firecrawl/src/firecrawl-client.ts) +- [api docs](https://www.firecrawl.dev) + +## Install + + +```bash npm +npm install @agentic/firecrawl +``` + +```bash yarn +yarn add @agentic/firecrawl +``` + +```bash pnpm +pnpm add @agentic/firecrawl +``` + + + +## Usage + +```ts +import { FirecrawlClient } from '@agentic/firecrawl' + +const firecrawl = new FirecrawlClient() +const res = await firecrawl.scrapeUrl('https://example.com') +``` diff --git a/docs/tools/hacker-news.mdx b/docs/tools/hacker-news.mdx new file mode 100644 index 000000000..904ecd4d5 --- /dev/null +++ b/docs/tools/hacker-news.mdx @@ -0,0 +1,38 @@ +--- +title: HackerNews +description: Basic client for the official Hacker News API. +--- + +Note that the [HN Algolia API](https://hn.algolia.com/api) seems to no longer be available, so we can't add search without quite a bit of overhead. + +- package: `@agentic/hacker-news` +- exports: `class HackerNewsClient`, `namespace hackernews` +- env vars: `HACKER_NEWS_API_USER_AGENT` (_optional_) +- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/hacker-news/src/hacker-news-client.ts) +- [api docs](https://github.com/HackerNews/API) + +## Install + + +```bash npm +npm install @agentic/hacker-news +``` + +```bash yarn +yarn add @agentic/hacker-news +``` + +```bash pnpm +pnpm add @agentic/hacker-news +``` + + + +## Usage + +```ts +import { HackerNewsClient } from '@agentic/hacker-news' + +const hn = new HackerNewsClient() +const res = await hn.getTopStories() +``` diff --git a/docs/tools/hunter.mdx b/docs/tools/hunter.mdx new file mode 100644 index 000000000..d9d86c5c3 --- /dev/null +++ b/docs/tools/hunter.mdx @@ -0,0 +1,41 @@ +--- +title: Hunter +description: Email finder, verifier, and enrichment. +--- + +- package: `@agentic/hunter` +- exports: `class HunterClient`, `namespace hunter` +- env vars: `HUNTER_API_KEY` +- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/hunter/src/hunter-client.ts) +- [api docs]() + +## Install + + +```bash npm +npm install @agentic/hunter +``` + +```bash yarn +yarn add @agentic/hunter +``` + +```bash pnpm +pnpm add @agentic/hunter +``` + + + +## Usage + +```ts +import { HunterClient } from '@agentic/hunter' + +const hunter = new HunterClient() +const res0 = await hunter.domainSearch('apple.com') +const res1 = await hunter.emailFinder({ + domain: 'transitivebullsh.it', + first_name: 'travis', + last_name: 'fischer' +}) +``` diff --git a/docs/tools/jina.mdx b/docs/tools/jina.mdx new file mode 100644 index 000000000..5932b7e79 --- /dev/null +++ b/docs/tools/jina.mdx @@ -0,0 +1,45 @@ +--- +title: Jina +description: URL scraper and web search +--- + +LLM-friendly URL reader and search client by [Jina AI](https://jina.ai/reader) with a basic free tier. + +- package: `@agentic/jina` +- exports: `class JinaClient`, `namespace jina` +- env vars: `JINA_API_KEY` +- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/jina/src/jina-client.ts) +- [api docs](https://jina.ai/reader) + +## Install + + +```bash npm +npm install @agentic/jina +``` + +```bash yarn +yarn add @agentic/jina +``` + +```bash pnpm +pnpm add @agentic/jina +``` + + + +## Usage + +```ts +import { JinaClient } from '@agentic/jina' + +const jina = new JinaClient() +const res0 = await jina.readUrl('https://example.com') +const res1 = await jina.search({ query: 'latest news', json: true }) +``` + +## Notes + +- Does not support "stream mode". +- Results default to markdown text format. +- To return JSON (especially useful for `search`), set `json: true` in the options. diff --git a/docs/tools/midjourney.mdx b/docs/tools/midjourney.mdx new file mode 100644 index 000000000..ddc1e1f91 --- /dev/null +++ b/docs/tools/midjourney.mdx @@ -0,0 +1,38 @@ +--- +title: Midjourney +description: Unofficial Midjourney API client for generative images. +--- + +- package: `@agentic/midjourney` +- exports: `class MidjourneyClient`, `namespace midjourney` +- env vars: `MIDJOURNEY_IMAGINE_API_KEY` +- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/midjourney/src/midjourney-client.ts) +- [api docs](https://www.imagineapi.dev) + +## Install + + +```bash npm +npm install @agentic/midjourney +``` + +```bash yarn +yarn add @agentic/midjourney +``` + +```bash pnpm +pnpm add @agentic/midjourney +``` + + + +## Usage + +```ts +import { MidjourneyClient } from '@agentic/midjourney' + +const midjourney = new MidjourneyClient() +const res = await midjourney.imagine({ + prompt: 'beautiful sunset over the ocean, oil painting, monet' +}) +``` diff --git a/docs/tools/novu.mdx b/docs/tools/novu.mdx new file mode 100644 index 000000000..633fdf6fb --- /dev/null +++ b/docs/tools/novu.mdx @@ -0,0 +1,38 @@ +--- +title: Novu +description: Novu API client. +--- + +The [Novu API](https://novu.co) provides a router for sending notifications across different channels like Email, SMS, Chat, In-App, and Push. + +- package: `@agentic/novu` +- exports: `class NovuClient`, `namespace novu` +- env vars: `NOVU_API_KEY` +- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/novu/src/novu-client.ts) +- [api docs](https://novu.co) + +## Install + + +```bash npm +npm install @agentic/novu +``` + +```bash yarn +yarn add @agentic/novu +``` + +```bash pnpm +pnpm add @agentic/novu +``` + + + +## Usage + +```ts +import { NovuClient } from '@agentic/novu' + +const novu = new NovuClient() +const res = await novu.search('latest news') +``` diff --git a/docs/tools/people-data-labs.mdx b/docs/tools/people-data-labs.mdx new file mode 100644 index 000000000..7da9f00dc --- /dev/null +++ b/docs/tools/people-data-labs.mdx @@ -0,0 +1,45 @@ +--- +title: People Data Labs +description: People & company data enrichment. +--- + + + People Data Labs tends to be more expensive than other similar data proviers. + The author recommends you stay away from them. + + +- package: `@agentic/people-data-labs` +- exports: `class PeopleDataLabsClient`, `namespace peopledatalabs` +- env vars: `PEOPLE_DATA_LABS_API_KEY` +- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/people-data-labs/src/people-data-labs-client.ts) +- [api docs](https://www.peopledatalabs.com) + +## Install + + +```bash npm +npm install @agentic/people-data-labs +``` + +```bash yarn +yarn add @agentic/people-data-labs +``` + +```bash pnpm +pnpm add @agentic/people-data-labs +``` + + + +## Usage + +```ts +import { PeopleDataLabsClient } from '@agentic/people-data-labs' + +const pdl = new PeopleDataLabsClient() +const res = await pdl.companyLookup({ + query: { + website: 'apple.com' + } +}) +``` diff --git a/docs/tools/perigon.mdx b/docs/tools/perigon.mdx new file mode 100644 index 000000000..ca42ecf61 --- /dev/null +++ b/docs/tools/perigon.mdx @@ -0,0 +1,44 @@ +--- +title: Perigon +description: Real-time news API. +--- + +Real-time news API and web content data from 140,000+ sources. Structured and enriched by AI, primed for LLMs. + +- search news articles +- search news stories (clusters of related news articles) +- search people, companies, topics, and journalists + +- package: `@agentic/perigon` +- exports: `class PerigonClient`, `namespace perigon` +- env vars: `PERIGON_API_KEY` +- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/perigon/src/perigon-client.ts) +- [api docs](https://www.goperigon.com/products/news-api) + +## Install + + +```bash npm +npm install @agentic/perigon +``` + +```bash yarn +yarn add @agentic/perigon +``` + +```bash pnpm +pnpm add @agentic/perigon +``` + + + +## Usage + +```ts +import { PerigonClient } from '@agentic/perigon' + +const perigon = new PerigonClient() +const res = await perigon.searchArticles({ + q: '"elon musk" AND tesla' +}) +``` diff --git a/docs/tools/polygon.mdx b/docs/tools/polygon.mdx new file mode 100644 index 000000000..80176095e --- /dev/null +++ b/docs/tools/polygon.mdx @@ -0,0 +1,36 @@ +--- +title: Polygon +description: Stock market and company financial data. +--- + +- package: `@agentic/polygon` +- exports: `class PolygonClient`, `namespace polygon` +- env vars: `POLYGON_API_KEY` +- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/polygon/src/polygon-client.ts) +- [api docs](https://polygon.io/docs) + +## Install + + +```bash npm +npm install @agentic/polygon +``` + +```bash yarn +yarn add @agentic/polygon +``` + +```bash pnpm +pnpm add @agentic/polygon +``` + + + +## Usage + +```ts +import { PolygonClient } from '@agentic/polygon' + +const polygon = new PolygonClient() +const res = await polygon.tickerDetails({ ticker: 'AAPL' }) +``` diff --git a/docs/tools/predict-leads.mdx b/docs/tools/predict-leads.mdx new file mode 100644 index 000000000..db9a534e8 --- /dev/null +++ b/docs/tools/predict-leads.mdx @@ -0,0 +1,38 @@ +--- +title: Predict Leads +description: Company data and events API. +--- + +In-depth company data, including signals like fundraising announcemnts, hiring intent, new customers signed, technologies used, product launches, location expansions, awards received, etc. + +- package: `@agentic/predict-leads` +- exports: `class PredictLeadsClient`, `namespace predictleads` +- env vars: `PREDICT_LEADS_API_KEY`, `PREDICT_LEADS_API_TOKEN` +- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/predict-leads/src/predict-leads-client.ts) +- [api docs]() + +## Install + + +```bash npm +npm install @agentic/predict-leads +``` + +```bash yarn +yarn add @agentic/predict-leads +``` + +```bash pnpm +pnpm add @agentic/predict-leads +``` + + + +## Usage + +```ts +import { PredictLeadsClient } from '@agentic/predict-leads' + +const predictLeads = new PredictLeadsClient() +const res = await predictLeads.getCompanyEvents({ domain: 'apple.com' }) +``` diff --git a/docs/tools/proxycurl.mdx b/docs/tools/proxycurl.mdx new file mode 100644 index 000000000..9f8fc86e1 --- /dev/null +++ b/docs/tools/proxycurl.mdx @@ -0,0 +1,42 @@ +--- +title: Proxycurl +description: People and company data from LinkedIn & Crunchbase. +--- + +- package: `@agentic/proxycurl` +- exports: `class ProxycurlClient`, `namespace proxycurl` +- env vars: `PROXYCURL_API_KEY` +- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/proxycurl/src/proxycurl-client.ts) +- [api docs](https://nubela.co/proxycurl) + +## Install + + +```bash npm +npm install @agentic/proxycurl +``` + +```bash yarn +yarn add @agentic/proxycurl +``` + +```bash pnpm +pnpm add @agentic/proxycurl +``` + + + +## Usage + +```ts +import { ProxycurlClient } from '@agentic/proxycurl' + +const proxycurl = new ProxycurlClient() +const company = await proxycurl.getLinkedInCompany({ + url: 'https://linkedin.com/company/apple' +}) + +const person = await proxycurl.getLinkedInPerson({ + url: 'https://linkedin.com/in/fisch2' +}) +``` diff --git a/docs/tools/searxng.mdx b/docs/tools/searxng.mdx new file mode 100644 index 000000000..0dee62118 --- /dev/null +++ b/docs/tools/searxng.mdx @@ -0,0 +1,59 @@ +--- +title: Searxng +description: OSS meta search engine. +--- + +Open source meta search engine capable of searching across many different +sources and search engines. + +The most important search engines are: + +- `reddit` (Reddit posts) +- `google` (Google web search) +- `google news` (Google News search) +- `brave` (Brave web search) +- `arxiv` (academic papers) +- `genius` (Genius.com for song lyrics) +- `imdb` (movies and TV shows) +- `hackernews` (Hacker News) +- `wikidata` (Wikidata) +- `wolframalpha` (Wolfram Alpha) +- `youtube` (YouTube videos) +- `github` (GitHub code and repositories) + +--- + +- package: `@agentic/searxng` +- exports: `class SearxngClient`, `namespace searxng` +- env vars: `SEARXNG_API_BASE_URL` +- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/searxng/src/searxng-client.ts) +- [api docs](https://docs.searxng.org) + +## Install + + +```bash npm +npm install @agentic/searxng +``` + +```bash yarn +yarn add @agentic/searxng +``` + +```bash pnpm +pnpm add @agentic/searxng +``` + + + +## Usage + +```ts +import { SearxngClient } from '@agentic/searxng' + +const searxng = new SearxngClient() +const res = await searxng.search({ + query: 'us election', + engines: ['google', 'reddit', 'hackernews'] +}) +``` diff --git a/docs/tools/serpapi.mdx b/docs/tools/serpapi.mdx new file mode 100644 index 000000000..48f73bb42 --- /dev/null +++ b/docs/tools/serpapi.mdx @@ -0,0 +1,36 @@ +--- +title: SerpAPI +description: Lightweight wrapper around SerpAPI for Google search. +--- + +- package: `@agentic/serpapi` +- exports: `class SerpAPIClient`, `namespace serpapi` +- env vars: `SERPAPI_API_KEY` +- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/serpapi/src/serpapi-client.ts) +- [api docs](https://serpapi.com/search-api) + +## Install + + +```bash npm +npm install @agentic/serpapi +``` + +```bash yarn +yarn add @agentic/serpapi +``` + +```bash pnpm +pnpm add @agentic/serpapi +``` + + + +## Usage + +```ts +import { SerpAPIClient } from '@agentic/serpapi' + +const serpapi = new SerpAPIClient() +const res = await serpapi.search('latest news') +``` diff --git a/docs/tools/serper.mdx b/docs/tools/serper.mdx new file mode 100644 index 000000000..a6cfa3bce --- /dev/null +++ b/docs/tools/serper.mdx @@ -0,0 +1,36 @@ +--- +title: Serper +description: Lightweight wrapper around Serper for Google search. +--- + +- package: `@agentic/serper` +- exports: `class SerperClient`, `namespace serper` +- env vars: `SERPER_API_KEY` +- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/serper/src/serper-client.ts) +- [api docs](https://serper.dev) + +## Install + + +```bash npm +npm install @agentic/serper +``` + +```bash yarn +yarn add @agentic/serper +``` + +```bash pnpm +pnpm add @agentic/serper +``` + + + +## Usage + +```ts +import { SerperClient } from '@agentic/serper' + +const serper = new SerperClient() +const res = await serper.search('latest news') +``` diff --git a/docs/tools/slack.mdx b/docs/tools/slack.mdx new file mode 100644 index 000000000..e8d7a8747 --- /dev/null +++ b/docs/tools/slack.mdx @@ -0,0 +1,39 @@ +--- +title: Slack +description: Minimal Slack API client for sending and receiving Slack messages. +--- + +- package: `@agentic/slack` +- exports: `class SlackClient`, `namespace slack` +- env vars: `SLACK_API_KEY` +- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/slack/src/slack-client.ts) +- [api docs]() + +## Install + + +```bash npm +npm install @agentic/slack +``` + +```bash yarn +yarn add @agentic/slack +``` + +```bash pnpm +pnpm add @agentic/slack +``` + + + +## Usage + +```ts +import { SlackClient } from '@agentic/slack' + +const slack = new SlackClient() +const res = await slack.sendMessage({ + text: 'hello', + channel: 'general' +}) +``` diff --git a/docs/tools/social-data.mdx b/docs/tools/social-data.mdx new file mode 100644 index 000000000..090e7e99f --- /dev/null +++ b/docs/tools/social-data.mdx @@ -0,0 +1,36 @@ +--- +title: Social Data Tools +description: Unofficial Twitter / X client (readonly) which is much cheaper than the official Twitter API. +--- + +- package: `@agentic/social-data` +- exports: `class SocialDataClient`, `namespace socialdata` +- env vars: `SOCIAL_DATA_API_KEY` +- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/social-data/src/social-data-client.ts) +- [api docs](https://socialdata.tools) + +## Install + + +```bash npm +npm install @agentic/social-data +``` + +```bash yarn +yarn add @agentic/social-data +``` + +```bash pnpm +pnpm add @agentic/social-data +``` + + + +## Usage + +```ts +import { SocialDataClient } from '@agentic/social-data' + +const sd = new SocialDataClient() +const res = await sd.getUserByUsername('transitive_bs') +``` diff --git a/docs/tools/tavily.mdx b/docs/tools/tavily.mdx new file mode 100644 index 000000000..1e621c280 --- /dev/null +++ b/docs/tools/tavily.mdx @@ -0,0 +1,36 @@ +--- +title: Tavily +description: Web search API tailored for LLMs. +--- + +- package: `@agentic/tavily` +- exports: `class TavilyClient`, `namespace tavily` +- env vars: `BING_API_KEY` +- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/tavily/src/tavily-client.ts) +- [api docs](https://tavily.com) + +## Install + + +```bash npm +npm install @agentic/tavily +``` + +```bash yarn +yarn add @agentic/tavily +``` + +```bash pnpm +pnpm add @agentic/tavily +``` + + + +## Usage + +```ts +import { TavilyClient } from '@agentic/tavily' + +const tavily = new TavilyClient() +const res = await tavily.search('latest news') +``` diff --git a/docs/tools/twilio.mdx b/docs/tools/twilio.mdx new file mode 100644 index 000000000..34cd2f439 --- /dev/null +++ b/docs/tools/twilio.mdx @@ -0,0 +1,39 @@ +--- +title: Twilio +description: Twilio conversation API to send and receive SMS messages. +--- + +- package: `@agentic/twilio` +- exports: `class TwilioClient`, `namespace twilio` +- env vars: `TWILIO_API_KEY` +- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/twilio/src/twilio-client.ts) +- [api docs](https://www.twilio.com/docs/conversations/api) + +## Install + + +```bash npm +npm install @agentic/twilio +``` + +```bash yarn +yarn add @agentic/twilio +``` + +```bash pnpm +pnpm add @agentic/twilio +``` + + + +## Usage + +```ts +import { TwilioClient } from '@agentic/twilio' + +const twilio = new TwilioClient() +const res = await twilio.sendMessage({ + conversationId: 'TODO', + text: 'Hello, world' +}) +``` diff --git a/docs/tools/twitter.mdx b/docs/tools/twitter.mdx new file mode 100644 index 000000000..ba4911149 --- /dev/null +++ b/docs/tools/twitter.mdx @@ -0,0 +1,40 @@ +--- +title: Twitter +description: Official Twitter / X API client. +--- + +Basic Twitter API methods for fetching users, tweets, and searching recent tweets. Includes support for plan-aware rate-limiting. Uses [Nango](https://www.nango.dev) for OAuth support. + +- package: `@agentic/twitter` +- exports: `class TwitterClient`, `namespace twitter` +- env vars: `TWITTER_API_KEY`, `TWITTER_API_PLAN` +- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/twitter/src/twitter-client.ts) +- [api docs](https://developer.twitter.com/en/docs/twitter-api) + +## Install + + +```bash npm +npm install @agentic/twitter +``` + +```bash yarn +yarn add @agentic/twitter +``` + +```bash pnpm +pnpm add @agentic/twitter +``` + + + +## Usage + +```ts +import { TwitterClient } from '@agentic/twitter' + +const twitter = new TwitterClient() +const res = await twitter.createTweet({ + text: 'hello, world' +}) +``` diff --git a/docs/tools/weather.mdx b/docs/tools/weather.mdx new file mode 100644 index 000000000..f4f0ce249 --- /dev/null +++ b/docs/tools/weather.mdx @@ -0,0 +1,36 @@ +--- +title: Weather +description: Simple Weather API client for accessing weather data based on location. +--- + +- package: `@agentic/weather` +- exports: `class WeatherClient`, `namespace weather` +- env vars: `WEATHER_API_KEY` +- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/weather/src/weather-client.ts) +- [api docs](https://www.weatherapi.com) + +## Install + + +```bash npm +npm install @agentic/weather +``` + +```bash yarn +yarn add @agentic/weather +``` + +```bash pnpm +pnpm add @agentic/weather +``` + + + +## Usage + +```ts +import { WeatherClient } from '@agentic/weather' + +const weather = new WeatherClient() +const res = await weather.getCurrentWeather('new york') +``` diff --git a/docs/tools/wikidata.mdx b/docs/tools/wikidata.mdx new file mode 100644 index 000000000..144433c01 --- /dev/null +++ b/docs/tools/wikidata.mdx @@ -0,0 +1,36 @@ +--- +title: Wikidata +description: Basic Wikidata client. +--- + +- package: `@agentic/wikidata` +- exports: `class WikidataClient`, `namespace wikidata` +- env vars: `WIKIDATA_API_USER_AGENT` (_optional_) +- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/wikidata/src/wikidata-client.ts) +- [api docs](https://github.com/maxlath/wikibase-sdk) + +## Install + + +```bash npm +npm install @agentic/wikidata +``` + +```bash yarn +yarn add @agentic/wikidata +``` + +```bash pnpm +pnpm add @agentic/wikidata +``` + + + +## Usage + +```ts +import { WikidataClient } from '@agentic/wikidata' + +const wikidata = new WikidataClient() +const res = await wikidata.getEntityById('Q317521') // elon musk +``` diff --git a/docs/tools/wikipedia.mdx b/docs/tools/wikipedia.mdx new file mode 100644 index 000000000..92a18e44d --- /dev/null +++ b/docs/tools/wikipedia.mdx @@ -0,0 +1,37 @@ +--- +title: Wikipedia +description: Wikipedia apage search and summary API. +--- + +- package: `@agentic/wikipedia` +- exports: `class WikipediaClient`, `namespace wikipedia` +- env vars: `WIKIPEDIA_API_USER_AGENT` (_optional_) +- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/wikipedia/src/wikipedia-client.ts) +- [api docs](https://www.mediawiki.org/wiki/API) + +## Install + + +```bash npm +npm install @agentic/wikipedia +``` + +```bash yarn +yarn add @agentic/wikipedia +``` + +```bash pnpm +pnpm add @agentic/wikipedia +``` + + + +## Usage + +```ts +import { WikipediaClient } from '@agentic/wikipedia' + +const wikipedia = new WikipediaClient() +const res0 = await wikipedia.search({ query: 'steve jobs' }) +const res1 = await wikipedia.getPageSummary({ title: 'Elon_Musk' }) +``` diff --git a/docs/tools/wolfram-alpha.mdx b/docs/tools/wolfram-alpha.mdx new file mode 100644 index 000000000..4727f8529 --- /dev/null +++ b/docs/tools/wolfram-alpha.mdx @@ -0,0 +1,36 @@ +--- +title: Wolfram Alpha +description: Wolfram Alpha LLM API client for answering computational, mathematical, and scientific questions. +--- + +- package: `@agentic/wolfram-alpha` +- exports: `class WolframAlphaClient`, `namespace wolframalpha` +- env vars: `WOLFRAM_APP_ID` +- [source](https://github.com/transitive-bullshit/agentic/blob/main/packages/wolfram-alpha/src/wolfram-alpha-client.ts) +- [api docs](https://products.wolframalpha.com/llm-api/documentation) + +## Install + + +```bash npm +npm install @agentic/wolfram-alpha +``` + +```bash yarn +yarn add @agentic/wolfram-alpha +``` + +```bash pnpm +pnpm add @agentic/wolfram-alpha +``` + + + +## Usage + +```ts +import { WolframAlphaClient } from '@agentic/wolfram-alpha' + +const wolframAlpha = new WolframAlphaClient() +const res = await wolframAlpha.search('latest news') +``` diff --git a/packages/jina/src/jina-client.ts b/packages/jina/src/jina-client.ts index 7b200cdfe..429073e5c 100644 --- a/packages/jina/src/jina-client.ts +++ b/packages/jina/src/jina-client.ts @@ -101,7 +101,7 @@ export namespace jina { /** * LLM-friendly URL reader and search client by Jina AI. * - * - Includes a very generous free tier. + * - Includes a small free tier. * - Does not support "stream mode". * - Results default to markdown text format. * - To return JSON (especially useful for `search`), set `json: true` in the diff --git a/readme.md b/readme.md index cbd23d8e1..612f8dd9c 100644 --- a/readme.md +++ b/readme.md @@ -291,15 +291,15 @@ See [examples/openai](./examples/openai) for a full example. | ------------------------------------------------------------------------ | --------------------------- | ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Bing](https://www.microsoft.com/en-us/bing/apis/bing-web-search-api) | `@agentic/bing` | `BingClient` | Bing web search. | | [Calculator](https://github.com/josdejong/mathjs) | `@agentic/calculator` | `calculator` | Basic calculator for simple mathematical expressions. | -| [Clearbit](https://dashboard.clearbit.com/docs) | `@agentic/clearbit` | `ClearbitClient` | Resolving and enriching people and company datae. | +| [Clearbit](https://dashboard.clearbit.com/docs) | `@agentic/clearbit` | `ClearbitClient` | Resolving and enriching people and company data. | | [Dexa](https://dexa.ai) | `@agentic/dexa` | `DexaClient` | Answers questions from the world's best podcasters. | | [Diffbot](https://docs.diffbot.com) | `@agentic/diffbot` | `DiffbotClient` | Web page classification and scraping; person and company data enrichment. | | [E2B](https://e2b.dev) | `@agentic/e2b` | `e2b` | Hosted Python code intrepreter sandbox which is really useful for data analysis, flexible code execution, and advanced reasoning on-the-fly. (_peer dep_ `@e2b/code-interpreter`) | | [Exa](https://docs.exa.ai) | `@agentic/exa` | `ExaClient` | Web search tailored for LLMs. | -| [Firecrawl](https://www.firecrawl.dev) | `@agentic/firecrawl` | `FirecrawlClient` | Website scraping and sanitization. | +| [Firecrawl](https://www.firecrawl.dev) | `@agentic/firecrawl` | `FirecrawlClient` | Website scraping and structured data extraction. | | [HackerNews](https://github.com/HackerNews/API) | `@agentic/hacker-news` | `HackerNewsClient` | Official HackerNews API. | | [Hunter](https://hunter.io) | `@agentic/hunter` | `HunterClient` | Email finder, verifier, and enrichment. | -| [Jina](https://jina.ai/reader) | `@agentic/jina` | `JinaClient` | Clean URL reader and web search + URL top result reading with a generous free tier. | +| [Jina](https://jina.ai/reader) | `@agentic/jina` | `JinaClient` | URL scraper and web search. | | [Midjourney](https://www.imagineapi.dev) | `@agentic/midjourney` | `MidjourneyClient` | Unofficial Midjourney client for generative images. | | [Novu](https://novu.co) | `@agentic/novu` | `NovuClient` | Sending notifications (email, SMS, in-app, push, etc). | | [People Data Labs](https://www.peopledatalabs.com) | `@agentic/people-data-labs` | `PeopleDataLabsClient` | People & company data (WIP). |