feat: update tsconfig to use moduleResolution: "bundler"

pull/659/head
Travis Fischer 2024-07-31 11:12:00 -05:00
rodzic 8eeab0b376
commit 66af6d8a3f
64 zmienionych plików z 221 dodań i 219 usunięć

Wyświetl plik

@ -3,25 +3,25 @@ import 'dotenv/config'
import restoreCursor from 'restore-cursor'
// import { SearxngClient } from '../src/services/searxng-client.js'
// import { ClearbitClient } from '../src/index.js'
// import { ProxycurlClient } from '../src/services/proxycurl-client.js'
// import { WikipediaClient } from '../src/index.js'
// import { PerigonClient } from '../src/index.js'
// import { FirecrawlClient } from '../src/index.js'
// import { ExaClient } from '../src/index.js'
// import { DiffbotClient } from '../src/index.js'
// import { WolframAlphaClient } from '../src/index.js'
// import { SearxngClient } from '../src/services/searxng-client'
// import { ClearbitClient } from '../src/index'
// import { ProxycurlClient } from '../src/services/proxycurl-client'
// import { WikipediaClient } from '../src/index'
// import { PerigonClient } from '../src/index'
// import { FirecrawlClient } from '../src/index'
// import { ExaClient } from '../src/index'
// import { DiffbotClient } from '../src/index'
// import { WolframAlphaClient } from '../src/index'
// import {
// createTwitterV2Client,
// TwitterClient
// } from '../src/services/twitter/index.js'
// import { MidjourneyClient } from '../src/index.js'
// import { BingClient } from '../src/index.js'
// import { TavilyClient } from '../src/index.js'
// import { SocialDataClient } from '../src/index.js'
// import { HunterClient } from '../src/index.js'
import { JinaClient } from '../src/index.js'
// } from '../src/services/twitter/index'
// import { MidjourneyClient } from '../src/index'
// import { BingClient } from '../src/index'
// import { TavilyClient } from '../src/index'
// import { SocialDataClient } from '../src/index'
// import { HunterClient } from '../src/index'
import { JinaClient } from '../src/index'
/**
* Scratch pad for testing.

Wyświetl plik

@ -1,9 +1,9 @@
import { expect, test } from 'vitest'
import { z } from 'zod'
import { AIFunctionSet } from './ai-function-set.js'
import { aiFunction, AIFunctionsProvider } from './fns.js'
import { calculator } from './tools/calculator.js'
import { AIFunctionSet } from './ai-function-set'
import { aiFunction, AIFunctionsProvider } from './fns'
import { calculator } from './tools/calculator'
class MockAITool extends AIFunctionsProvider {
@aiFunction({

Wyświetl plik

@ -1,6 +1,6 @@
import type * as types from './types.ts'
import { AIFunctionsProvider } from './fns.js'
import { isAIFunction } from './utils.js'
import { AIFunctionsProvider } from './fns'
import { isAIFunction } from './utils'
/**
* A set of AI functions intended to make it easier to work with large sets of

Wyświetl plik

@ -2,12 +2,12 @@ import type { SetOptional } from 'type-fest'
import type { z } from 'zod'
import pMap from 'p-map'
import type * as types from './types.js'
import { AIFunctionSet } from './ai-function-set.js'
import { AbortError } from './errors.js'
import { Msg } from './message.js'
import { asSchema, augmentSystemMessageWithJsonSchema } from './schema.js'
import { getErrorMessage } from './utils.js'
import type * as types from './types'
import { AIFunctionSet } from './ai-function-set'
import { AbortError } from './errors'
import { Msg } from './message'
import { asSchema, augmentSystemMessageWithJsonSchema } from './schema'
import { getErrorMessage } from './utils'
export type AIChainParams<Result extends types.AIChainResult = string> = {
chatFn: types.ChatFn

Wyświetl plik

@ -1,7 +1,7 @@
import { describe, expect, it } from 'vitest'
import { z } from 'zod'
import { createAIFunction } from './create-ai-function.js'
import { createAIFunction } from './create-ai-function'
const fullName = createAIFunction(
{

Wyświetl plik

@ -1,9 +1,9 @@
import type { z } from 'zod'
import type * as types from './types.js'
import { parseStructuredOutput } from './parse-structured-output.js'
import { assert } from './utils.js'
import { zodToJsonSchema } from './zod-to-json-schema.js'
import type * as types from './types'
import { parseStructuredOutput } from './parse-structured-output'
import { assert } from './utils'
import { zodToJsonSchema } from './zod-to-json-schema'
/**
* Create a function meant to be used with OpenAI tool or function calling.

Wyświetl plik

@ -1,5 +1,5 @@
import type * as types from './types.js'
import { type AIChainParams, createAIChain } from './create-ai-chain.js'
import type * as types from './types'
import { type AIChainParams, createAIChain } from './create-ai-chain'
export type ExtractObjectParams<Result extends types.AIChainResult = string> =
types.Simplify<

Wyświetl plik

@ -1,9 +1,9 @@
import type { z } from 'zod'
import type * as types from './types.js'
import { AIFunctionSet } from './ai-function-set.js'
import { createAIFunction } from './create-ai-function.js'
import { assert } from './utils.js'
import type * as types from './types'
import { AIFunctionSet } from './ai-function-set'
import { createAIFunction } from './create-ai-function'
import { assert } from './utils'
export interface PrivateAIFunctionMetadata {
name: string

Wyświetl plik

@ -1,15 +1,15 @@
export * from './ai-function-set.js'
export * from './create-ai-chain.js'
export * from './create-ai-function.js'
export * from './errors.js'
export * from './extract-object.js'
export * from './fns.js'
export * from './message.js'
export * from './parse-structured-output.js'
export * from './schema.js'
export * from './services/index.js'
export * from './tools/search-and-crawl.js'
export type * from './types.js'
export * from './url-utils.js'
export * from './utils.js'
export * from './zod-to-json-schema.js'
export * from './ai-function-set'
export * from './create-ai-chain'
export * from './create-ai-function'
export * from './errors'
export * from './extract-object'
export * from './fns'
export * from './message'
export * from './parse-structured-output'
export * from './schema'
export * from './services/index'
export * from './tools/search-and-crawl'
export type * from './types'
export * from './url-utils'
export * from './utils'
export * from './zod-to-json-schema'

Wyświetl plik

@ -1,8 +1,8 @@
import type * as OpenAI from 'openai-fetch'
import { describe, expect, expectTypeOf, it } from 'vitest'
import type * as types from './types.js'
import { Msg } from './message.js'
import type * as types from './types'
import { Msg } from './message'
describe('Msg', () => {
it('creates a message and fixes indentation', () => {

Wyświetl plik

@ -1,6 +1,6 @@
import type { Jsonifiable } from 'type-fest'
import { cleanStringForModel, stringifyForModel } from './utils.js'
import { cleanStringForModel, stringifyForModel } from './utils'
/**
* Generic/default OpenAI message without any narrowing applied.

Wyświetl plik

@ -8,7 +8,7 @@ import {
parseNumberOutput,
parseObjectOutput,
parseStructuredOutput
} from './parse-structured-output.js'
} from './parse-structured-output'
test('extractJSONFromString should extract JSON object from string', () => {
let jsonStr = 'Some text {"name":"John Doe"} more text'

Wyświetl plik

@ -3,8 +3,8 @@ import { jsonrepair, JSONRepairError } from 'jsonrepair'
import { z, type ZodType } from 'zod'
import { fromZodError } from 'zod-validation-error'
import { ParseError } from './errors.js'
import { type SafeParseResult } from './types.js'
import { ParseError } from './errors'
import { type SafeParseResult } from './types'
/**
* Parses a string which is expected to contain a structured JSON value.

Wyświetl plik

@ -1,9 +1,9 @@
import type { z } from 'zod'
import type * as types from './types.js'
import { safeParseStructuredOutput } from './parse-structured-output.js'
import { stringifyForModel } from './utils.js'
import { zodToJsonSchema } from './zod-to-json-schema.js'
import type * as types from './types'
import { safeParseStructuredOutput } from './parse-structured-output'
import { stringifyForModel } from './utils'
import { zodToJsonSchema } from './zod-to-json-schema'
/**
* Used to mark schemas so we can support both Zod and custom schemas.

Wyświetl plik

@ -1,7 +1,7 @@
import { tool } from 'ai'
import type { AIFunctionLike } from '../types.js'
import { AIFunctionSet } from '../ai-function-set.js'
import type { AIFunctionLike } from '../types'
import { AIFunctionSet } from '../ai-function-set'
/**
* Converts a set of Agentic stdlib AI functions to an object compatible with

Wyświetl plik

@ -1,7 +1,7 @@
import { createAIFunction } from '@dexaai/dexter'
import type { AIFunctionLike } from '../types.js'
import { AIFunctionSet } from '../ai-function-set.js'
import type { AIFunctionLike } from '../types'
import { AIFunctionSet } from '../ai-function-set'
/**
* Converts a set of Agentic stdlib AI functions to an array of Dexter-

Wyświetl plik

@ -1,8 +1,8 @@
import { defineTool } from '@genkit-ai/ai'
import { z } from 'zod'
import type { AIFunctionLike } from '../types.js'
import { AIFunctionSet } from '../ai-function-set.js'
import type { AIFunctionLike } from '../types'
import { AIFunctionSet } from '../ai-function-set'
/**
* Converts a set of Agentic stdlib AI functions to an array of Genkit-

Wyświetl plik

@ -1,8 +1,8 @@
import { DynamicStructuredTool } from '@langchain/core/tools'
import type { AIFunctionLike } from '../types.js'
import { AIFunctionSet } from '../ai-function-set.js'
import { stringifyForModel } from '../utils.js'
import type { AIFunctionLike } from '../types'
import { AIFunctionSet } from '../ai-function-set'
import { stringifyForModel } from '../utils'
/**
* Converts a set of Agentic stdlib AI functions to an array of LangChain-

Wyświetl plik

@ -1,7 +1,7 @@
import { FunctionTool } from 'llamaindex'
import type { AIFunctionLike } from '../types.js'
import { AIFunctionSet } from '../ai-function-set.js'
import type { AIFunctionLike } from '../types'
import { AIFunctionSet } from '../ai-function-set'
/**
* Converts a set of Agentic stdlib AI functions to an array of LlamaIndex-

Wyświetl plik

@ -1,8 +1,8 @@
import defaultKy, { type KyInstance } from 'ky'
import { z } from 'zod'
import { aiFunction, AIFunctionsProvider } from '../fns.js'
import { assert, getEnv, omit } from '../utils.js'
import { aiFunction, AIFunctionsProvider } from '../fns'
import { assert, getEnv, omit } from '../utils'
export namespace bing {
export const API_BASE_URL = 'https://api.bing.microsoft.com'

Wyświetl plik

@ -1,7 +1,7 @@
import defaultKy from 'ky'
import pThrottle from 'p-throttle'
import type { KyInstance } from '../types.js'
import type { KyInstance } from '../types'
import {
assert,
delay,
@ -9,7 +9,7 @@ import {
pruneNullOrUndefinedDeep,
sanitizeSearchParams,
throttleKy
} from '../utils.js'
} from '../utils'
export namespace clearbit {
// Allow up to 600 requests per minute by default.

Wyświetl plik

@ -1,9 +1,9 @@
import defaultKy, { type KyInstance } from 'ky'
import { z } from 'zod'
import { aiFunction, AIFunctionsProvider } from '../fns.js'
import { Msg } from '../message.js'
import { assert, getEnv } from '../utils.js'
import { aiFunction, AIFunctionsProvider } from '../fns'
import { Msg } from '../message'
import { assert, getEnv } from '../utils'
export namespace dexa {
export const AskDexaOptionsSchema = z.object({

Wyświetl plik

@ -2,8 +2,8 @@ import defaultKy, { type KyInstance } from 'ky'
import pThrottle from 'p-throttle'
import { z } from 'zod'
import { aiFunction, AIFunctionsProvider } from '../fns.js'
import { assert, getEnv, sanitizeSearchParams, throttleKy } from '../utils.js'
import { aiFunction, AIFunctionsProvider } from '../fns'
import { assert, getEnv, sanitizeSearchParams, throttleKy } from '../utils'
export namespace diffbot {
export const API_BASE_URL = 'https://api.diffbot.com'

Wyświetl plik

@ -1,8 +1,8 @@
import defaultKy, { type KyInstance } from 'ky'
import { z } from 'zod'
import { aiFunction, AIFunctionsProvider } from '../fns.js'
import { assert, getEnv, pruneUndefined } from '../utils.js'
import { aiFunction, AIFunctionsProvider } from '../fns'
import { assert, getEnv, pruneUndefined } from '../utils'
export namespace exa {
export const TextContentsOptionsSchema = z.object({

Wyświetl plik

@ -2,10 +2,10 @@ import defaultKy, { type KyInstance } from 'ky'
import pThrottle from 'p-throttle'
import z from 'zod'
import { aiFunction, AIFunctionsProvider } from '../fns.js'
import { isZodSchema } from '../schema.js'
import { assert, delay, getEnv, throttleKy } from '../utils.js'
import { zodToJsonSchema } from '../zod-to-json-schema.js'
import { aiFunction, AIFunctionsProvider } from '../fns'
import { isZodSchema } from '../schema'
import { assert, delay, getEnv, throttleKy } from '../utils'
import { zodToJsonSchema } from '../zod-to-json-schema'
export namespace firecrawl {
export const BASE_URL = 'https://api.firecrawl.dev'

Wyświetl plik

@ -1,7 +1,7 @@
import { Octokit } from 'octokit'
import { AIFunctionsProvider } from '../fns.js'
import { assert, getEnv } from '../utils.js'
import { AIFunctionsProvider } from '../fns'
import { assert, getEnv } from '../utils'
export namespace github {
export interface User {

Wyświetl plik

@ -1,7 +1,7 @@
import defaultKy, { type KyInstance } from 'ky'
import { AIFunctionsProvider } from '../fns.js'
import { assert, getEnv } from '../utils.js'
import { AIFunctionsProvider } from '../fns'
import { assert, getEnv } from '../utils'
export namespace hackernews {
export type ItemType =

Wyświetl plik

@ -1,13 +1,13 @@
import defaultKy, { type KyInstance } from 'ky'
import { z } from 'zod'
import { aiFunction, AIFunctionsProvider } from '../fns.js'
import { aiFunction, AIFunctionsProvider } from '../fns'
import {
assert,
getEnv,
pruneNullOrUndefinedDeep,
sanitizeSearchParams
} from '../utils.js'
} from '../utils'
export namespace hunter {
export const API_BASE_URL = 'https://api.hunter.io'

Wyświetl plik

@ -1,28 +1,28 @@
export * from './bing-client.js'
export * from './clearbit-client.js'
export * from './dexa-client.js'
export * from './diffbot-client.js'
export * from './exa-client.js'
export * from './firecrawl-client.js'
export * from './github-client.js'
export * from './hacker-news-client.js'
export * from './hunter-client.js'
export * from './jina-client.js'
export * from './midjourney-client.js'
export * from './novu-client.js'
export * from './people-data-labs-client.js'
export * from './perigon-client.js'
export * from './polygon-client.js'
export * from './predict-leads-client.js'
export * from './proxycurl-client.js'
export * from './scraper-client.js'
export * from './searxng-client.js'
export * from './serpapi-client.js'
export * from './serper-client.js'
export * from './slack-client.js'
export * from './social-data-client.js'
export * from './tavily-client.js'
export * from './twilio-client.js'
export * from './weather-client.js'
export * from './wikipedia-client.js'
export * from './wolfram-alpha-client.js'
export * from './bing-client'
export * from './clearbit-client'
export * from './dexa-client'
export * from './diffbot-client'
export * from './exa-client'
export * from './firecrawl-client'
export * from './github-client'
export * from './hacker-news-client'
export * from './hunter-client'
export * from './jina-client'
export * from './midjourney-client'
export * from './novu-client'
export * from './people-data-labs-client'
export * from './perigon-client'
export * from './polygon-client'
export * from './predict-leads-client'
export * from './proxycurl-client'
export * from './scraper-client'
export * from './searxng-client'
export * from './serpapi-client'
export * from './serper-client'
export * from './slack-client'
export * from './social-data-client'
export * from './tavily-client'
export * from './twilio-client'
export * from './weather-client'
export * from './wikipedia-client'
export * from './wolfram-alpha-client'

Wyświetl plik

@ -2,8 +2,8 @@ import defaultKy, { type KyInstance } from 'ky'
import pThrottle from 'p-throttle'
import { z } from 'zod'
import { aiFunction, AIFunctionsProvider } from '../fns.js'
import { getEnv, pruneNullOrUndefined, throttleKy } from '../utils.js'
import { aiFunction, AIFunctionsProvider } from '../fns'
import { getEnv, pruneNullOrUndefined, throttleKy } from '../utils'
export namespace jina {
export const ReaderFormatSchema = z.enum([

Wyświetl plik

@ -1,9 +1,9 @@
import defaultKy, { type KyInstance } from 'ky'
import { z } from 'zod'
import { TimeoutError } from '../errors.js'
import { aiFunction, AIFunctionsProvider } from '../fns.js'
import { assert, delay, getEnv, pruneNullOrUndefined } from '../utils.js'
import { TimeoutError } from '../errors'
import { aiFunction, AIFunctionsProvider } from '../fns'
import { assert, delay, getEnv, pruneNullOrUndefined } from '../utils'
// TODO: add additional methods for upscaling, variations, etc.

Wyświetl plik

@ -1,8 +1,8 @@
import defaultKy, { type KyInstance } from 'ky'
import { z } from 'zod'
import { aiFunction, AIFunctionsProvider } from '../fns.js'
import { assert, getEnv } from '../utils.js'
import { aiFunction, AIFunctionsProvider } from '../fns'
import { assert, getEnv } from '../utils'
export namespace novu {
export const API_BASE_URL = 'https://api.novu.co/v1'

Wyświetl plik

@ -1,7 +1,7 @@
import defaultKy, { type KyInstance } from 'ky'
import pThrottle from 'p-throttle'
import { assert, getEnv, sanitizeSearchParams, throttleKy } from '../utils.js'
import { assert, getEnv, sanitizeSearchParams, throttleKy } from '../utils'
/**
* TODO: I'm holding off on converting this client to an `AIFunctionsProvider`

Wyświetl plik

@ -2,8 +2,8 @@ import defaultKy, { type KyInstance } from 'ky'
import pThrottle from 'p-throttle'
import { z } from 'zod'
import { aiFunction, AIFunctionsProvider } from '../fns.js'
import { assert, getEnv, sanitizeSearchParams, throttleKy } from '../utils.js'
import { aiFunction, AIFunctionsProvider } from '../fns'
import { assert, getEnv, sanitizeSearchParams, throttleKy } from '../utils'
// TODO: https://docs.goperigon.com/docs/searching-sources
// TODO: https://docs.goperigon.com/docs/journalist-data

Wyświetl plik

@ -1,7 +1,7 @@
import defaultKy, { type KyInstance } from 'ky'
import { AIFunctionsProvider } from '../fns.js'
import { assert, getEnv } from '../utils.js'
import { AIFunctionsProvider } from '../fns'
import { assert, getEnv } from '../utils'
// TODO: add aiFunction decorator to select methods

Wyświetl plik

@ -2,15 +2,15 @@ import defaultKy, { type KyInstance } from 'ky'
import pThrottle from 'p-throttle'
import { z } from 'zod'
import type { DeepNullable } from '../types.js'
import { aiFunction, AIFunctionsProvider } from '../fns.js'
import type { DeepNullable } from '../types'
import { aiFunction, AIFunctionsProvider } from '../fns'
import {
assert,
getEnv,
pruneUndefined,
sanitizeSearchParams,
throttleKy
} from '../utils.js'
} from '../utils'
// TODO: improve `domain` validation for fast-fail

Wyświetl plik

@ -3,8 +3,8 @@ import defaultKy, { type KyInstance } from 'ky'
import pThrottle from 'p-throttle'
import { z } from 'zod'
import { aiFunction, AIFunctionsProvider } from '../fns.js'
import { assert, getEnv, sanitizeSearchParams, throttleKy } from '../utils.js'
import { aiFunction, AIFunctionsProvider } from '../fns'
import { assert, getEnv, sanitizeSearchParams, throttleKy } from '../utils'
// All proxycurl types are auto-generated from their openapi spec
export namespace proxycurl {

Wyświetl plik

@ -2,8 +2,8 @@ import defaultKy, { type KyInstance } from 'ky'
import pThrottle from 'p-throttle'
import { z } from 'zod'
import { aiFunction, AIFunctionsProvider } from '../fns.js'
import { assert, getEnv, omit, throttleKy } from '../utils.js'
import { aiFunction, AIFunctionsProvider } from '../fns'
import { assert, getEnv, omit, throttleKy } from '../utils'
export namespace scraper {
// Allow up to 1 request per second by default.

Wyświetl plik

@ -1,8 +1,8 @@
import defaultKy, { type KyInstance } from 'ky'
import { z } from 'zod'
import { aiFunction, AIFunctionsProvider } from '../fns.js'
import { assert, getEnv, omit, pick, pruneUndefined } from '../utils.js'
import { aiFunction, AIFunctionsProvider } from '../fns'
import { assert, getEnv, omit, pick, pruneUndefined } from '../utils'
export namespace searxng {
export const SearchCategorySchema = z.enum([

Wyświetl plik

@ -1,8 +1,8 @@
import defaultKy, { type KyInstance } from 'ky'
import { z } from 'zod'
import { aiFunction, AIFunctionsProvider } from '../fns.js'
import { assert, getEnv } from '../utils.js'
import { aiFunction, AIFunctionsProvider } from '../fns'
import { assert, getEnv } from '../utils'
/**
* All types have been exported from the `serpapi` package, which we're

Wyświetl plik

@ -1,8 +1,8 @@
import defaultKy, { type KyInstance } from 'ky'
import { z } from 'zod'
import { aiFunction, AIFunctionsProvider } from '../fns.js'
import { assert, getEnv, omit } from '../utils.js'
import { aiFunction, AIFunctionsProvider } from '../fns'
import { assert, getEnv, omit } from '../utils'
export namespace serper {
export const API_BASE_URL = 'https://google.serper.dev'

Wyświetl plik

@ -1,9 +1,9 @@
import defaultKy, { type KyInstance } from 'ky'
import { z } from 'zod'
import { TimeoutError } from '../errors.js'
import { aiFunction, AIFunctionsProvider } from '../fns.js'
import { assert, delay, getEnv } from '../utils.js'
import { TimeoutError } from '../errors'
import { aiFunction, AIFunctionsProvider } from '../fns'
import { assert, delay, getEnv } from '../utils'
// TODO: need to expose more aiFunctions

Wyświetl plik

@ -1,8 +1,8 @@
import defaultKy, { type KyInstance } from 'ky'
import pThrottle from 'p-throttle'
import { AIFunctionsProvider } from '../fns.js'
import { assert, getEnv, sanitizeSearchParams, throttleKy } from '../utils.js'
import { AIFunctionsProvider } from '../fns'
import { assert, getEnv, sanitizeSearchParams, throttleKy } from '../utils'
// TODO: need to add `aiFunction` wrappers for each method

Wyświetl plik

@ -2,8 +2,8 @@ import defaultKy, { type KyInstance } from 'ky'
import pThrottle from 'p-throttle'
import { z } from 'zod'
import { aiFunction, AIFunctionsProvider } from '../fns.js'
import { assert, getEnv, pruneNullOrUndefined, throttleKy } from '../utils.js'
import { aiFunction, AIFunctionsProvider } from '../fns'
import { assert, getEnv, pruneNullOrUndefined, throttleKy } from '../utils'
export namespace tavily {
export const API_BASE_URL = 'https://api.tavily.com'

Wyświetl plik

@ -1,9 +1,9 @@
import defaultKy, { type KyInstance } from 'ky'
import { z } from 'zod'
import { TimeoutError } from '../errors.js'
import { aiFunction, AIFunctionsProvider } from '../fns.js'
import { assert, delay, getEnv } from '../utils.js'
import { TimeoutError } from '../errors'
import { aiFunction, AIFunctionsProvider } from '../fns'
import { assert, delay, getEnv } from '../utils'
export namespace twilio {
export const CONVERSATION_API_BASE_URL = 'https://conversations.twilio.com/v1'

Wyświetl plik

@ -1,7 +1,7 @@
import { auth, Client as TwitterV2Client } from 'twitter-api-sdk'
import { assert, getEnv } from '../../utils.js'
import { getNango, validateNangoConnectionOAuthScopes } from './nango.js'
import { assert, getEnv } from '../../utils'
import { getNango, validateNangoConnectionOAuthScopes } from './nango'
// Auth new Nango accounts here: https://app.nango.dev/connections

Wyświetl plik

@ -1,6 +1,6 @@
export * from './client.js'
export * from './error.js'
export * from './nango.js'
export * from './twitter-client.js'
export type * from './types.js'
export * from './utils.js'
export * from './client'
export * from './error'
export * from './nango'
export * from './twitter-client'
export type * from './types'
export * from './utils'

Wyświetl plik

@ -1,6 +1,6 @@
import { type Connection, Nango } from '@nangohq/node'
import { getEnv } from '../../utils.js'
import { getEnv } from '../../utils'
// This is intentionally left as a global singleton to avoid re-creating the
// Nango connection instance on successive calls in serverless environments.

Wyświetl plik

@ -1,10 +1,10 @@
import pThrottle from 'p-throttle'
import { z } from 'zod'
import type * as types from './types.js'
import { aiFunction, AIFunctionsProvider } from '../../fns.js'
import { assert, getEnv } from '../../utils.js'
import { handleKnownTwitterErrors } from './utils.js'
import type * as types from './types'
import { aiFunction, AIFunctionsProvider } from '../../fns'
import { assert, getEnv } from '../../utils'
import { handleKnownTwitterErrors } from './utils'
/**
* This file contains rate-limited wrappers around all of the core Twitter API

Wyświetl plik

@ -1,6 +1,6 @@
import type * as types from './types.js'
import { omit } from '../../utils.js'
import { TwitterError } from './error.js'
import type * as types from './types'
import { omit } from '../../utils'
import { TwitterError } from './error'
/**
* Error handler which takes in an unknown Error object and converts it to a

Wyświetl plik

@ -1,8 +1,8 @@
import defaultKy, { type KyInstance } from 'ky'
import { z } from 'zod'
import { aiFunction, AIFunctionsProvider } from '../fns.js'
import { assert, getEnv, sanitizeSearchParams } from '../utils.js'
import { aiFunction, AIFunctionsProvider } from '../fns'
import { assert, getEnv, sanitizeSearchParams } from '../utils'
export namespace weatherapi {
export const BASE_URL = 'https://api.weatherapi.com/v1'

Wyświetl plik

@ -2,8 +2,8 @@ import defaultKy, { type KyInstance } from 'ky'
import pThrottle from 'p-throttle'
import { z } from 'zod'
import { aiFunction, AIFunctionsProvider } from '../fns.js'
import { assert, getEnv, throttleKy } from '../utils.js'
import { aiFunction, AIFunctionsProvider } from '../fns'
import { assert, getEnv, throttleKy } from '../utils'
export namespace wikipedia {
// Allow up to 200 requests per second by default.

Wyświetl plik

@ -1,8 +1,8 @@
import defaultKy, { type KyInstance } from 'ky'
import { z } from 'zod'
import { aiFunction, AIFunctionsProvider } from '../fns.js'
import { assert, getEnv, sanitizeSearchParams } from '../utils.js'
import { aiFunction, AIFunctionsProvider } from '../fns'
import { assert, getEnv, sanitizeSearchParams } from '../utils'
export namespace wolframalpha {
export const API_BASE_URL = 'https://www.wolframalpha.com/api/'

Wyświetl plik

@ -1,7 +1,7 @@
import { evaluate } from 'mathjs'
import { z } from 'zod'
import { createAIFunction } from '../create-ai-function.js'
import { createAIFunction } from '../create-ai-function'
// TODO: ensure `expr` is sanitized to not run arbitrary code

Wyświetl plik

@ -1,8 +1,8 @@
import { CodeInterpreter, type ProcessMessage } from '@e2b/code-interpreter'
import { z } from 'zod'
import { createAIFunction } from '../create-ai-function.js'
import { getEnv } from '../utils.js'
import { createAIFunction } from '../create-ai-function'
import { getEnv } from '../utils'
/**
* E2B Python code interpreter sandbox.

Wyświetl plik

@ -1,11 +1,11 @@
import pMap from 'p-map'
import { z } from 'zod'
import { aiFunction, AIFunctionsProvider } from '../fns.js'
import { type diffbot, DiffbotClient } from '../services/diffbot-client.js'
import { SerpAPIClient } from '../services/serpapi-client.js'
import { isValidCrawlableUrl, normalizeUrl } from '../url-utils.js'
import { omit, pick } from '../utils.js'
import { aiFunction, AIFunctionsProvider } from '../fns'
import { type diffbot, DiffbotClient } from '../services/diffbot-client'
import { SerpAPIClient } from '../services/serpapi-client'
import { isValidCrawlableUrl, normalizeUrl } from '../url-utils'
import { omit, pick } from '../utils'
// TODO: allow `search` tool to support other search clients
// (e.g. Bing, Exa, Searxng, Serper, Tavily)

Wyświetl plik

@ -1,12 +1,12 @@
import type { Jsonifiable, SetOptional, Simplify } from 'type-fest'
import type { z } from 'zod'
import type { AIFunctionSet } from './ai-function-set.js'
import type { AIFunctionsProvider } from './fns.js'
import type { Msg } from './message.js'
import type { AIFunctionSet } from './ai-function-set'
import type { AIFunctionsProvider } from './fns'
import type { Msg } from './message'
export type { Msg } from './message.js'
export type { Schema } from './schema.js'
export type { Msg } from './message'
export type { Schema } from './schema'
export type { KyInstance } from 'ky'
export type { ThrottledFunction } from 'p-throttle'
export type { SetRequired, Simplify } from 'type-fest'

Wyświetl plik

@ -1,6 +1,6 @@
import { describe, expect, test } from 'vitest'
import { normalizeUrl } from './url-utils.js'
import { normalizeUrl } from './url-utils'
describe('normalizeUrl', () => {
test('valid urls', async () => {

Wyświetl plik

@ -4,7 +4,7 @@ import normalizeUrlImpl, {
} from 'normalize-url'
import QuickLRU from 'quick-lru'
import { hashObject } from './utils.js'
import { hashObject } from './utils'
const protocolAllowList = new Set(['https:', 'http:'])
const normalizedUrlCache = new QuickLRU<string, string>({

Wyświetl plik

@ -2,14 +2,14 @@ import ky from 'ky'
import pThrottle from 'p-throttle'
import { describe, expect, test } from 'vitest'
import { mockKyInstance } from './_utils.js'
import { mockKyInstance } from './_utils'
import {
omit,
pick,
sanitizeSearchParams,
stringifyForModel,
throttleKy
} from './utils.js'
} from './utils'
test('pick', () => {
expect(pick({ a: 1, b: 2, c: 3 }, 'a', 'c')).toEqual({ a: 1, c: 3 })

Wyświetl plik

@ -1,9 +1,9 @@
import dedent from 'dedent'
import hashObjectImpl, { type Options as HashObjectOptions } from 'hash-object'
import type * as types from './types.js'
import type * as types from './types'
export { assert } from './assert.js'
export { assert } from './assert'
export { default as delay } from 'delay'
/**

Wyświetl plik

@ -1,7 +1,7 @@
import { describe, expect, it } from 'vitest'
import { z } from 'zod'
import { zodToJsonSchema } from './zod-to-json-schema.js'
import { zodToJsonSchema } from './zod-to-json-schema'
describe('zodToJsonSchema', () => {
it('handles basic objects', () => {

Wyświetl plik

@ -1,8 +1,8 @@
import type { z } from 'zod'
import { zodToJsonSchema as zodToJsonSchemaImpl } from 'zod-to-json-schema'
import type * as types from './types.js'
import { omit } from './utils.js'
import type * as types from './types'
import { omit } from './utils'
/** Generate a JSON Schema from a Zod schema. */
export function zodToJsonSchema(schema: z.ZodType): types.JSONSchema {

Wyświetl plik

@ -1,29 +1,31 @@
{
"compilerOptions": {
"target": "ES2020",
"lib": ["ESNext"],
"esModuleInterop": true,
"skipLibCheck": true,
"verbatimModuleSyntax": true,
"allowJs": true,
"resolveJsonModule": true,
"lib": ["esnext", "dom.iterable"],
"module": "esnext",
"moduleResolution": "bundler",
"moduleDetection": "force",
"noEmit": true,
"target": "es2020",
"outDir": "dist",
"allowImportingTsExtensions": false,
"allowJs": true,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"incremental": false,
"isolatedModules": true,
"useDefineForClassFields": true,
"jsx": "preserve",
"noUncheckedIndexedAccess": true,
"resolveJsonModule": true,
"skipLibCheck": true,
"sourceMap": true,
"strict": true,
"useDefineForClassFields": true,
"verbatimModuleSyntax": true
// NOTE: these are deprecated
// "experimentalDecorators": true,
// "emitDecoratorMetadata": true,
"strict": true,
"noUncheckedIndexedAccess": true,
"forceConsistentCasingInFileNames": true,
"module": "NodeNext",
"moduleResolution": "NodeNext",
"outDir": "dist",
"sourceMap": true
},
"include": ["src"]
}