![Create React App Officially Deprecated Amid React 19 Compatibility Issues](https://cdn.sanity.io/images/cgdhsj6q/production/04fa08cf844d798abc0e1a6391c129363cc7e2ab-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Create React App Officially Deprecated Amid React 19 Compatibility Issues
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
github.com/transitive-bullshit/chatgpt-api
AI agent stdlib that works with any LLM and TypeScript AI SDK.
The goal of this project is to create a set of standard AI functions / tools which are optimized for both normal TS-usage as well as LLM-based apps and that work with all of the major AI SDKs (LangChain, LlamaIndex, Vercel AI SDK, OpenAI SDK, etc).
For example, stdlib clients like WeatherClient
can be used as normal TS classes:
import { WeatherClient } from '@agentic/stdlib'
const weather = new WeatherClient() // (requires `WEATHER_API_KEY` env var)
const result = await weather.getCurrentWeather({
q: 'San Francisco'
})
console.log(result)
Or you can use these clients as LLM-based tools where the LLM decides when and how to invoke the underlying functions for you.
This works across all of the major AI SDKs via adaptors. Here's an example using Vercel's AI SDK:
// sdk-specific imports
import { openai } from '@ai-sdk/openai'
import { generateText } from 'ai'
import { createAISDKTools } from '@agentic/stdlib/ai-sdk'
// sdk-agnostic imports
import { WeatherClient } from '@agentic/stdlib'
const weather = new WeatherClient()
const result = await generateText({
model: openai('gpt-4o'),
// this is the key line which uses the `@agentic/stdlib/ai-sdk` adaptor
tools: createAISDKTools(weather),
toolChoice: 'required',
prompt: 'What is the weather in San Francisco?'
})
console.log(result.toolResults[0])
You can use our standard library of thoroughly tested AI functions with your favorite AI SDK – without having to write any glue code!
Here's a slightly more complex example which uses multiple clients and selects a subset of their functions using the AIFunctionSet.pick
method:
// sdk-specific imports
import { ChatModel, createAIRunner } from '@dexaai/dexter'
import { createDexterFunctions } from '@agentic/stdlib/dexter'
// sdk-agnostic imports
import { PerigonClient, SerperClient } from '@agentic/stdlib'
async function main() {
// Perigon is a news API and Serper is a Google search API
const perigon = new PerigonClient()
const serper = new SerperClient()
const runner = createAIRunner({
chatModel: new ChatModel({
params: { model: 'gpt-4o', temperature: 0 }
}),
functions: createDexterFunctions(
perigon.functions.pick('search_news_stories'),
serper
),
systemMessage: `You are a helpful assistant. Be as concise as possible.`
})
const result = await runner(
'Summarize the latest news stories about the upcoming US election.'
)
console.log(result)
}
Here we've exposed 2 functions to the LLM, search_news_stories
(which comes from the PerigonClient.searchStories
method) and serper_google_search
(which implicitly comes from the SerperClient.search
method).
All of the SDK adaptors like createDexterFunctions
accept very flexible in what they accept. AIFunctionLike
objects include:
AIFunctionSet
- Sets of AI functions (like perigon.functions.pick('search_news_stories')
or perigon.functions
or serper.functions
)AIFunctionsProvider
- Client classes which expose an AIFunctionSet
via the .functions
property (like perigon
or serper
)AIFunction
- Individual functions (like perigon.functions.get('search_news_stories')
or serper.functions.get('serper_google_search')
or AI functions created directly via the createAIFunction
utility function)You can pass as many of these AIFunctionLike
objects as you'd like and you can manipulate them as AIFunctionSet
sets via .pick
, .omit
, .get
, .map
, etc.
npm install @agentic/stdlib
This package is ESM only and requires Node.js >= 18
or an equivalent environment (bun, deno, CF workers, etc).
[!NOTE] All heavy third-party imports are isolated as optional peer dependencies to keep the main
@agentic/stdlib
package as lightweight as possible.
Depending on the AI SDK and tool you want to use, you'll also need to install the required peer dependencies.
Service | Client | Description |
---|---|---|
Bing | BingClient | Bing web search. |
Calculator | calculator | Basic calculator for simple mathematical expressions. |
Clearbit | ClearbitClient | Resolving and enriching people and company datae. |
Dexa | DexaClient | Answers questions from the world's best podcasters. |
Diffbot | DiffbotClient | Web page classification and scraping; person and company data enrichment. |
E2B | e2b | Hosted Python code intrepreter sandbox which is really useful for data analysis, flexible code execution, and advanced reasoning on-the-fly. |
Exa | ExaClient | Web search tailored for LLMs. |
Firecrawl | FirecrawlClient | Website scraping and sanitization. |
HackerNews | HackerNewsClient | Official HackerNews API. |
Hunter | HunterClient | Email finder, verifier, and enrichment. |
Jina | JinaClient | Clean URL reader and web search + URL top result reading with a generous free tier. |
Midjourney | MidjourneyClient | Unofficial Midjourney client for generative images. |
Novu | NovuClient | Sending notifications (email, SMS, in-app, push, etc). |
People Data Labs | PeopleDataLabsClient | People & company data (WIP). |
Perigon | PerigonClient | Real-time news API and web content data from 140,000+ sources. Structured and enriched by AI, primed for LLMs. |
Polygon | PolygonClient | Stock market and company financial data. |
PredictLeads | PredictLeadsClient | In-depth company data including signals like fundraising events, hiring news, product launches, technologies used, etc. |
Proxycurl | ProxycurlClient | People and company data from LinkedIn & Crunchbase. |
Scraper | ScraperClient | Scrapes URLs into clean html/markdown/text content (TODO: currently closed beta). |
Searxng | SearxngClient | 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. |
SerpAPI | SerpAPIClient | Lightweight wrapper around SerpAPI for Google search. |
Serper | SerperClient | Lightweight wrapper around Serper for Google search. |
Slack | SlackClient | Send and receive Slack messages. |
SocialData | SocialDataClient | Unofficial Twitter / X client (readonly) which is much cheaper than the official Twitter API. |
Tavily | TavilyClient | Web search API tailored for LLMs. |
Twilio | TwilioClient | Twilio conversation API to send and receive SMS messages. |
TwitterClient | Basic Twitter API methods for fetching users, tweets, and searching recent tweets. Includes support for plan-aware rate-limiting. Uses Nango for OAuth support. | |
WeatherAPI | WeatherClient | Basic access to current weather data based on location. |
Wikidata | WikidataClient | Basic Wikidata client. |
Wikipedia | WikipediaClient | Wikipedia page search and summaries. |
Wolfram Alpha | WolframAlphaClient | Wolfram Alpha LLM API client for answering computational, mathematical, and scientific questions. |
Note that many of these clients expose multiple AI functions.
SearchAndCrawl
AIFunctionSet.specs
or AIFunctionSet.toolSpecs
import { createAISDKTools } from '@agentic/stdlib/ai-sdk'
import { createLangChainTools } from '@agentic/stdlib/langchain'
import { createLlamaIndexTools } from '@agentic/stdlib/llamaindex'
import { createGenkitTools } from '@agentic/stdlib/genkit'
import { createDexterFunctions } from '@agentic/stdlib/dexter'
See the examples directory for examples of how to use each of these adaptors.
ky
and zod
where possible@aiFunction(...)
decorator
inputSchema
zod schemas should be as minimal as possible with descriptions prompt engineered specifically for use with LLMsAIFunctionSet
@agentic/stdlib
DynamicStructuredTool
MIT © Travis Fischer
To stay up to date or learn more, follow @transitive_bs on Twitter.
FAQs
Unknown package
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.