kopia lustrzana https://github.com/transitive-bullshit/chatgpt-api
feat: WIP non-managed gateway auth/payments
rodzic
3f5faf2a9b
commit
0da05dcbdc
|
@ -1,20 +1,9 @@
|
|||
import type { LiteralUnion } from 'type-fest'
|
||||
import decircular from 'decircular'
|
||||
import isObject from 'is-obj'
|
||||
import sortKeys from 'sort-keys'
|
||||
|
||||
import { sha256 } from './utils'
|
||||
|
||||
export type Algorithm = LiteralUnion<
|
||||
'SHA-1' | 'SHA-256' | 'SHA-384' | 'SHA-512',
|
||||
string
|
||||
>
|
||||
|
||||
export type HashObjectOptions = {
|
||||
/** @default 'SHA-256' */
|
||||
readonly algorithm?: Algorithm
|
||||
}
|
||||
|
||||
function normalizeObject(object: any): any {
|
||||
if (typeof object === 'string') {
|
||||
return object.normalize('NFD')
|
||||
|
|
|
@ -246,7 +246,18 @@ To add support for annual pricing plans, for example, you can use: \`['month', '
|
|||
* `toolConfigs`, it will use the default behavior of the Agentic API
|
||||
* gateway.
|
||||
*/
|
||||
toolConfigs: z.array(toolConfigSchema).optional().default([])
|
||||
toolConfigs: z.array(toolConfigSchema).optional().default([]),
|
||||
|
||||
/**
|
||||
* Whether the project's auth and billing is managed by Agentic or by the
|
||||
* origin server.
|
||||
*
|
||||
* If `true`, Agentic will manage the project's auth and billing.
|
||||
* If `false`, the origin server is responsible.
|
||||
*
|
||||
* @default true
|
||||
*/
|
||||
managed: z.boolean().optional().default(true)
|
||||
})
|
||||
.strip()
|
||||
|
||||
|
|
|
@ -3,43 +3,14 @@ import { z } from '@hono/zod-openapi'
|
|||
import { mcpServerInfoSchema } from './mcp'
|
||||
import { toolNameSchema } from './tools'
|
||||
|
||||
export const originAdapterLocationSchema = z.literal('external')
|
||||
// z.union([
|
||||
// z.literal('external'),
|
||||
// z.literal('internal')
|
||||
// ])
|
||||
export type OriginAdapterLocation = z.infer<typeof originAdapterLocationSchema>
|
||||
|
||||
// export const originAdapterInternalTypeSchema = z.union([
|
||||
// z.literal('docker'),
|
||||
// z.literal('mcp'),
|
||||
// z.literal('python-fastapi'),
|
||||
// // etc
|
||||
// ])
|
||||
// export type OriginAdapterInternalType = z.infer<
|
||||
// typeof originAdapterInternalTypeSchema
|
||||
// >
|
||||
|
||||
export const commonOriginAdapterSchema = z.object({
|
||||
location: originAdapterLocationSchema.optional().default('external'),
|
||||
|
||||
/** Required origin API HTTPS base URL */
|
||||
/** Required URL of the remote origin server. Must be a valid \`https\` URL. */
|
||||
url: z.string().url()
|
||||
.describe(`Required base URL of the externally hosted origin API server. Must be a valid \`https\` URL.
|
||||
.describe(`Required URL of the externally hosted origin server. Must be a valid \`https\` URL.
|
||||
|
||||
NOTE: Agentic currently only supports \`external\` API servers. If you'd like to host your API or MCP server on Agentic's infrastructure, please reach out to support@agentic.so.`)
|
||||
|
||||
// TODO: Add support for `internal` hosted API servers
|
||||
// internalType: originAdapterInternalTypeSchema.optional()
|
||||
})
|
||||
|
||||
// TODO: add future support for:
|
||||
// - external mcp
|
||||
// - internal docker
|
||||
// - internal mcp
|
||||
// - internal http
|
||||
// - etc
|
||||
|
||||
export const openapiOriginAdapterConfigSchema = commonOriginAdapterSchema.merge(
|
||||
z.object({
|
||||
/**
|
||||
|
@ -79,7 +50,8 @@ export type MCPOriginAdapterConfig = z.infer<
|
|||
typeof mcpOriginAdapterConfigSchema
|
||||
>
|
||||
|
||||
// TODO: Decide on whether to support `raw` origin adapters or not.
|
||||
// TODO: Decide on whether to support `raw` origin adapters or not. It's useful for
|
||||
// internal testing.
|
||||
export const rawOriginAdapterConfigSchema = commonOriginAdapterSchema.merge(
|
||||
z.object({
|
||||
/**
|
||||
|
@ -204,7 +176,9 @@ export const mcpOriginAdapterSchema = commonOriginAdapterSchema.merge(
|
|||
*/
|
||||
type: z.literal('mcp'),
|
||||
|
||||
// Optional headers to pass to the origin API server
|
||||
/**
|
||||
* Optional headers to pass to the origin API server.
|
||||
*/
|
||||
headers: z.record(z.string(), z.string()).optional(),
|
||||
|
||||
/**
|
||||
|
|
438
pnpm-lock.yaml
438
pnpm-lock.yaml
|
@ -6,486 +6,48 @@ settings:
|
|||
|
||||
catalogs:
|
||||
default:
|
||||
'@ai-sdk/openai':
|
||||
specifier: ^1.3.23
|
||||
version: 1.3.23
|
||||
'@apideck/better-ajv-errors':
|
||||
specifier: ^0.3.6
|
||||
version: 0.3.6
|
||||
'@clack/prompts':
|
||||
specifier: ^0.11.0
|
||||
version: 0.11.0
|
||||
'@cloudflare/workers-types':
|
||||
specifier: ^4.20250620.0
|
||||
version: 4.20250620.0
|
||||
'@commander-js/extra-typings':
|
||||
specifier: ^14.0.0
|
||||
version: 14.0.0
|
||||
'@date-fns/utc':
|
||||
specifier: ^2.1.0
|
||||
version: 2.1.0
|
||||
'@dicebear/collection':
|
||||
specifier: ^9.2.3
|
||||
version: 9.2.3
|
||||
'@dicebear/core':
|
||||
specifier: ^9.2.3
|
||||
version: 9.2.3
|
||||
'@dotenvx/dotenvx':
|
||||
specifier: ^1.47.7
|
||||
version: 1.47.7
|
||||
'@edge-runtime/vm':
|
||||
specifier: ^5.0.0
|
||||
version: 5.0.0
|
||||
'@fisch0920/config':
|
||||
specifier: ^1.1.4
|
||||
version: 1.1.4
|
||||
'@fisch0920/drizzle-orm':
|
||||
specifier: ^0.43.7
|
||||
version: 0.43.7
|
||||
'@fisch0920/drizzle-zod':
|
||||
specifier: ^0.7.9
|
||||
version: 0.7.9
|
||||
'@fisch0920/markdown-to-html':
|
||||
specifier: ^1.1.0
|
||||
version: 1.1.0
|
||||
'@hono/mcp':
|
||||
specifier: ^0.1.0
|
||||
version: 0.1.0
|
||||
'@hono/node-server':
|
||||
specifier: ^1.15.0
|
||||
version: 1.15.0
|
||||
'@hono/sentry':
|
||||
specifier: ^1.2.2
|
||||
version: 1.2.2
|
||||
'@hono/zod-openapi':
|
||||
specifier: ^0.19.9
|
||||
version: 0.19.9
|
||||
'@hono/zod-validator':
|
||||
specifier: ^0.7.0
|
||||
version: 0.7.0
|
||||
'@langchain/core':
|
||||
specifier: ^0.3.60
|
||||
version: 0.3.61
|
||||
'@langchain/openai':
|
||||
specifier: ^0.5.14
|
||||
version: 0.5.16
|
||||
'@llamaindex/openai':
|
||||
specifier: ^0.4.4
|
||||
version: 0.4.6
|
||||
'@llamaindex/workflow':
|
||||
specifier: ^1.1.9
|
||||
version: 1.1.12
|
||||
'@mastra/core':
|
||||
specifier: ^0.10.6
|
||||
version: 0.10.8
|
||||
'@mastra/schema-compat':
|
||||
specifier: ^0.10.3
|
||||
version: 0.10.3
|
||||
'@modelcontextprotocol/sdk':
|
||||
specifier: ^1.15.0
|
||||
version: 1.15.0
|
||||
'@number-flow/react':
|
||||
specifier: ^0.5.10
|
||||
version: 0.5.10
|
||||
'@paralleldrive/cuid2':
|
||||
specifier: ^2.2.2
|
||||
version: 2.2.2
|
||||
'@pmndrs/assets':
|
||||
specifier: ^1.7.0
|
||||
version: 1.7.0
|
||||
'@radix-ui/react-collapsible':
|
||||
specifier: ^1.1.11
|
||||
version: 1.1.11
|
||||
'@radix-ui/react-dropdown-menu':
|
||||
specifier: 2.1.15
|
||||
version: 2.1.15
|
||||
'@radix-ui/react-label':
|
||||
specifier: ^2.1.7
|
||||
version: 2.1.7
|
||||
'@radix-ui/react-slot':
|
||||
specifier: 1.2.3
|
||||
version: 1.2.3
|
||||
'@radix-ui/react-tabs':
|
||||
specifier: ^1.1.12
|
||||
version: 1.1.12
|
||||
'@radix-ui/react-tooltip':
|
||||
specifier: ^1.2.7
|
||||
version: 1.2.7
|
||||
'@react-email/components':
|
||||
specifier: ^0.1.1
|
||||
version: 0.1.1
|
||||
'@react-three/cannon':
|
||||
specifier: ^6.6.0
|
||||
version: 6.6.0
|
||||
'@react-three/drei':
|
||||
specifier: ^10.4.4
|
||||
version: 10.4.4
|
||||
'@react-three/fiber':
|
||||
specifier: ^9.2.0
|
||||
version: 9.2.0
|
||||
'@react-three/postprocessing':
|
||||
specifier: ^3.0.4
|
||||
version: 3.0.4
|
||||
'@react-three/rapier':
|
||||
specifier: ^2.1.0
|
||||
version: 2.1.0
|
||||
'@redocly/openapi-core':
|
||||
specifier: ^1.34.3
|
||||
version: 1.34.3
|
||||
'@sentry/cli':
|
||||
specifier: ^2.46.0
|
||||
version: 2.46.0
|
||||
'@sentry/cloudflare':
|
||||
specifier: ^9.35.0
|
||||
version: 9.35.0
|
||||
'@sentry/core':
|
||||
specifier: ^9.35.0
|
||||
version: 9.35.0
|
||||
'@sentry/node':
|
||||
specifier: ^9.35.0
|
||||
version: 9.35.0
|
||||
'@sindresorhus/slugify':
|
||||
specifier: ^2.2.1
|
||||
version: 2.2.1
|
||||
'@standard-schema/spec':
|
||||
specifier: ^1.0.0
|
||||
version: 1.0.0
|
||||
'@tailwindcss/postcss':
|
||||
specifier: ^4.1.11
|
||||
version: 4.1.11
|
||||
'@tailwindcss/typography':
|
||||
specifier: ^0.5.16
|
||||
version: 0.5.16
|
||||
'@tanstack/react-form':
|
||||
specifier: ^1.14.1
|
||||
version: 1.14.1
|
||||
'@tanstack/react-query':
|
||||
specifier: ^5.81.5
|
||||
version: 5.81.5
|
||||
'@tanstack/react-query-devtools':
|
||||
specifier: ^5.81.5
|
||||
version: 5.81.5
|
||||
'@types/canvas-confetti':
|
||||
specifier: ^1.9.0
|
||||
version: 1.9.0
|
||||
'@types/ms':
|
||||
specifier: ^2.1.0
|
||||
version: 2.1.0
|
||||
'@types/node':
|
||||
specifier: ^24.0.14
|
||||
version: 24.0.14
|
||||
'@types/react':
|
||||
specifier: ^19.1.8
|
||||
version: 19.1.8
|
||||
'@types/react-dom':
|
||||
specifier: ^19.1.6
|
||||
version: 19.1.6
|
||||
'@types/semver':
|
||||
specifier: ^7.7.0
|
||||
version: 7.7.0
|
||||
'@types/three':
|
||||
specifier: ^0.178.0
|
||||
version: 0.178.0
|
||||
agents:
|
||||
specifier: ^0.0.101
|
||||
version: 0.0.101
|
||||
ai:
|
||||
specifier: ^4.3.17
|
||||
version: 4.3.17
|
||||
ajv:
|
||||
specifier: ^8.17.1
|
||||
version: 8.17.1
|
||||
ajv-formats:
|
||||
specifier: ^3.0.1
|
||||
version: 3.0.1
|
||||
autoprefixer:
|
||||
specifier: ^10.4.21
|
||||
version: 10.4.21
|
||||
bcryptjs:
|
||||
specifier: ^3.0.2
|
||||
version: 3.0.2
|
||||
bumpp:
|
||||
specifier: ^10.2.0
|
||||
version: 10.2.0
|
||||
camelcase:
|
||||
specifier: ^8.0.0
|
||||
version: 8.0.0
|
||||
canvas-confetti:
|
||||
specifier: ^1.9.3
|
||||
version: 1.9.3
|
||||
class-variance-authority:
|
||||
specifier: ^0.7.1
|
||||
version: 0.7.1
|
||||
clsx:
|
||||
specifier: ^2.1.1
|
||||
version: 2.1.1
|
||||
commander:
|
||||
specifier: ^14.0.0
|
||||
version: 14.0.0
|
||||
conf:
|
||||
specifier: ^14.0.0
|
||||
version: 14.0.0
|
||||
date-fns:
|
||||
specifier: ^4.1.0
|
||||
version: 4.1.0
|
||||
decamelize:
|
||||
specifier: ^6.0.0
|
||||
version: 6.0.0
|
||||
decircular:
|
||||
specifier: ^1.0.0
|
||||
version: 1.0.0
|
||||
dedent:
|
||||
specifier: ^1.6.0
|
||||
version: 1.6.0
|
||||
del-cli:
|
||||
specifier: ^6.0.0
|
||||
version: 6.0.0
|
||||
delay:
|
||||
specifier: ^6.0.0
|
||||
version: 6.0.0
|
||||
dotenv:
|
||||
specifier: 17.2.0
|
||||
version: 17.2.0
|
||||
drizzle-kit:
|
||||
specifier: ^0.31.4
|
||||
version: 0.31.4
|
||||
drizzle-orm:
|
||||
specifier: ^0.44.2
|
||||
version: 0.44.2
|
||||
email-validator:
|
||||
specifier: ^2.0.4
|
||||
version: 2.0.4
|
||||
eslint:
|
||||
specifier: ^9.31.0
|
||||
version: 9.31.0
|
||||
eslint-plugin-drizzle:
|
||||
specifier: ^0.2.3
|
||||
version: 0.2.3
|
||||
eventid:
|
||||
specifier: ^2.0.1
|
||||
version: 2.0.1
|
||||
exit-hook:
|
||||
specifier: ^4.0.0
|
||||
version: 4.0.0
|
||||
fast-content-type-parse:
|
||||
specifier: ^3.0.0
|
||||
version: 3.0.0
|
||||
fast-uri:
|
||||
specifier: ^3.0.6
|
||||
version: 3.0.6
|
||||
fastmcp:
|
||||
specifier: ^3.8.2
|
||||
version: 3.8.2
|
||||
genkit:
|
||||
specifier: ^1.13.0
|
||||
version: 1.14.0
|
||||
genkitx-openai:
|
||||
specifier: ^0.22.3
|
||||
version: 0.22.3
|
||||
get-port:
|
||||
specifier: ^7.1.0
|
||||
version: 7.1.0
|
||||
hast-util-to-jsx-runtime:
|
||||
specifier: ^2.3.6
|
||||
version: 2.3.6
|
||||
hono:
|
||||
specifier: ^4.8.4
|
||||
version: 4.8.4
|
||||
is-obj:
|
||||
specifier: ^3.0.0
|
||||
version: 3.0.0
|
||||
jsonrepair:
|
||||
specifier: ^3.12.0
|
||||
version: 3.12.0
|
||||
knip:
|
||||
specifier: ^5.62.0
|
||||
version: 5.62.0
|
||||
ky:
|
||||
specifier: ^1.8.1
|
||||
version: 1.8.1
|
||||
langchain:
|
||||
specifier: ^0.3.29
|
||||
version: 0.3.29
|
||||
lint-staged:
|
||||
specifier: ^16.1.2
|
||||
version: 16.1.2
|
||||
llamaindex:
|
||||
specifier: ^0.11.8
|
||||
version: 0.11.11
|
||||
lucide-react:
|
||||
specifier: ^0.525.0
|
||||
version: 0.525.0
|
||||
mint:
|
||||
specifier: ^4.2.4
|
||||
version: 4.2.4
|
||||
motion:
|
||||
specifier: ^12.19.2
|
||||
version: 12.19.2
|
||||
ms:
|
||||
specifier: ^2.1.3
|
||||
version: 2.1.3
|
||||
next:
|
||||
specifier: ^15.3.5
|
||||
version: 15.3.5
|
||||
next-themes:
|
||||
specifier: ^0.4.6
|
||||
version: 0.4.6
|
||||
npm-run-all2:
|
||||
specifier: ^8.0.4
|
||||
version: 8.0.4
|
||||
octokit:
|
||||
specifier: ^5.0.3
|
||||
version: 5.0.3
|
||||
only-allow:
|
||||
specifier: ^1.2.1
|
||||
version: 1.2.1
|
||||
open:
|
||||
specifier: ^10.1.2
|
||||
version: 10.1.2
|
||||
openai:
|
||||
specifier: ^5.5.1
|
||||
version: 5.8.2
|
||||
openai-fetch:
|
||||
specifier: ^3.4.2
|
||||
version: 3.4.2
|
||||
openai-zod-to-json-schema:
|
||||
specifier: ^1.1.1
|
||||
version: 1.1.1
|
||||
openapi-typescript:
|
||||
specifier: ^7.8.0
|
||||
version: 7.8.0
|
||||
ora:
|
||||
specifier: ^8.2.0
|
||||
version: 8.2.0
|
||||
p-all:
|
||||
specifier: ^5.0.0
|
||||
version: 5.0.0
|
||||
p-map:
|
||||
specifier: ^7.0.3
|
||||
version: 7.0.3
|
||||
p-throttle:
|
||||
specifier: 6.2.0
|
||||
version: 6.2.0
|
||||
p-times:
|
||||
specifier: ^4.0.0
|
||||
version: 4.0.0
|
||||
parse-json:
|
||||
specifier: ^8.3.0
|
||||
version: 8.3.0
|
||||
plur:
|
||||
specifier: ^5.1.0
|
||||
version: 5.1.0
|
||||
postcss:
|
||||
specifier: ^8.5.6
|
||||
version: 8.5.6
|
||||
postgres:
|
||||
specifier: ^3.4.7
|
||||
version: 3.4.7
|
||||
posthog-js:
|
||||
specifier: ^1.256.2
|
||||
version: 1.256.2
|
||||
prettier:
|
||||
specifier: ^3.6.2
|
||||
version: 3.6.2
|
||||
react:
|
||||
specifier: ^19.1.0
|
||||
version: 19.1.0
|
||||
react-dom:
|
||||
specifier: ^19.1.0
|
||||
version: 19.1.0
|
||||
react-email:
|
||||
specifier: ^4.0.17
|
||||
version: 4.0.17
|
||||
react-infinite-scroll-hook:
|
||||
specifier: ^6.0.1
|
||||
version: 6.0.1
|
||||
react-lottie-player:
|
||||
specifier: ^2.1.0
|
||||
version: 2.1.0
|
||||
react-medium-image-zoom:
|
||||
specifier: ^5.2.14
|
||||
version: 5.2.14
|
||||
react-use:
|
||||
specifier: ^17.6.0
|
||||
version: 17.6.0
|
||||
resend:
|
||||
specifier: ^4.6.0
|
||||
version: 4.6.0
|
||||
restore-cursor:
|
||||
specifier: ^5.1.0
|
||||
version: 5.1.0
|
||||
semver:
|
||||
specifier: ^7.7.2
|
||||
version: 7.7.2
|
||||
server-only:
|
||||
specifier: ^0.0.1
|
||||
version: 0.0.1
|
||||
shiki:
|
||||
specifier: ^3.7.0
|
||||
version: 3.7.0
|
||||
simple-git-hooks:
|
||||
specifier: ^2.13.0
|
||||
version: 2.13.0
|
||||
sonner:
|
||||
specifier: ^2.0.6
|
||||
version: 2.0.6
|
||||
sort-keys:
|
||||
specifier: ^5.1.0
|
||||
version: 5.1.0
|
||||
stripe:
|
||||
specifier: ^18.2.1
|
||||
version: 18.3.0
|
||||
suspend-react:
|
||||
specifier: ^0.1.3
|
||||
version: 0.1.3
|
||||
tailwind-merge:
|
||||
specifier: ^3.3.1
|
||||
version: 3.3.1
|
||||
tailwindcss:
|
||||
specifier: ^4.1.11
|
||||
version: 4.1.11
|
||||
three:
|
||||
specifier: ^0.178.0
|
||||
version: 0.178.0
|
||||
tsup:
|
||||
specifier: ^8.5.0
|
||||
version: 8.5.0
|
||||
tsx:
|
||||
specifier: ^4.20.3
|
||||
version: 4.20.3
|
||||
turbo:
|
||||
specifier: ^2.5.5
|
||||
version: 2.5.5
|
||||
tw-animate-css:
|
||||
specifier: ^1.3.4
|
||||
version: 1.3.4
|
||||
type-fest:
|
||||
specifier: ^4.41.0
|
||||
version: 4.41.0
|
||||
typescript:
|
||||
specifier: ^5.8.3
|
||||
version: 5.8.3
|
||||
unconfig:
|
||||
specifier: ^7.3.2
|
||||
version: 7.3.2
|
||||
vite-tsconfig-paths:
|
||||
specifier: ^5.1.4
|
||||
version: 5.1.4
|
||||
vitest:
|
||||
specifier: ^3.2.4
|
||||
version: 3.2.4
|
||||
wrangler:
|
||||
specifier: ^4.23.0
|
||||
version: 4.23.0
|
||||
zod:
|
||||
specifier: ^3.25.67
|
||||
version: 3.25.75
|
||||
zod-to-json-schema:
|
||||
specifier: ^3.24.5
|
||||
version: 3.24.6
|
||||
zod-validation-error:
|
||||
specifier: 4.0.0-beta.1
|
||||
version: 4.0.0-beta.1
|
||||
|
||||
importers:
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue