pull/715/head
Travis Fischer 2025-05-25 05:36:39 +07:00
rodzic f791ccc2f5
commit 8f0e3f2cfa
30 zmienionych plików z 627 dodań i 206 usunięć

Wyświetl plik

@ -27,6 +27,7 @@
},
"dependencies": {
"@agentic/platform-core": "workspace:*",
"@agentic/platform-schemas": "workspace:*",
"@agentic/platform-validators": "workspace:*",
"@fisch0920/drizzle-orm": "^0.43.7",
"@fisch0920/drizzle-zod": "^0.7.9",
@ -42,7 +43,6 @@
"hono": "^4.7.9",
"octokit": "^5.0.2",
"p-all": "^5.0.0",
"parse-json": "^8.3.0",
"postgres": "^3.4.5",
"restore-cursor": "catalog:",
"semver": "^7.7.2",
@ -54,7 +54,6 @@
"@types/semver": "^7.7.0",
"drizzle-kit": "^0.31.1",
"drizzle-orm": "^0.43.1",
"openapi-typescript": "^7.8.0",
"zod-to-json-schema": "^3.24.5"
"openapi-typescript": "^7.8.0"
}
}

Wyświetl plik

@ -20,7 +20,6 @@ export {
idPrefixMap,
type ModelType
} from './schema/common'
export * from './schema/schemas'
export * from './schemas'
export type * from './types'
export * from './utils'

Wyświetl plik

@ -31,8 +31,7 @@ export const idPrefixMap = {
// auth
user: 'user',
account: 'acct',
session: 'sess'
account: 'acct'
} as const
export type ModelType = keyof typeof idPrefixMap

Wyświetl plik

@ -1,3 +1,7 @@
import {
type StripeSubscriptionItemIdMap,
stripeSubscriptionItemIdMapSchema
} from '@agentic/platform-schemas'
import { relations } from '@fisch0920/drizzle-orm'
import {
boolean,
@ -27,10 +31,6 @@ import {
} from './common'
import { deployments } from './deployment'
import { projects } from './project'
import {
type StripeSubscriptionItemIdMap,
stripeSubscriptionItemIdMapSchema
} from './schemas'
import { users } from './user'
// TODO: Consumers should be valid for any enabled project like in RapidAPI and GCP.

Wyświetl plik

@ -1,3 +1,9 @@
import {
type DeploymentOriginAdapter,
deploymentOriginAdapterSchema,
type PricingPlanList,
pricingPlanListSchema
} from '@agentic/platform-schemas'
import { validators } from '@agentic/platform-validators'
import { relations } from '@fisch0920/drizzle-orm'
import {
@ -29,12 +35,6 @@ import {
userId
} from './common'
import { projects } from './project'
import {
type DeploymentOriginAdapter,
deploymentOriginAdapterSchema,
type PricingPlanList,
pricingPlanListSchema
} from './schemas'
import { teams } from './team'
import { users } from './user'

Wyświetl plik

@ -1,3 +1,12 @@
import {
pricingIntervalSchema,
type StripeMeterIdMap,
stripeMeterIdMapSchema,
type StripePriceIdMap,
stripePriceIdMapSchema,
type StripeProductIdMap,
stripeProductIdMapSchema
} from '@agentic/platform-schemas'
import { validators } from '@agentic/platform-validators'
import { relations } from '@fisch0920/drizzle-orm'
import {
@ -33,15 +42,6 @@ import {
userId
} from './common'
import { deployments } from './deployment'
import {
pricingIntervalSchema,
type StripeMeterIdMap,
stripeMeterIdMapSchema,
type StripePriceIdMap,
stripePriceIdMapSchema,
type StripeProductIdMap,
stripeProductIdMapSchema
} from './schemas'
import { teams } from './team'
import { users } from './user'

Wyświetl plik

@ -1,11 +1,11 @@
import { hashObject } from '@agentic/platform-core'
import type {
PricingInterval,
PricingPlan,
PricingPlanLineItem,
PricingPlanList
} from './schema/schemas'
} from '@agentic/platform-schemas'
import { hashObject } from '@agentic/platform-core'
import type { RawProject } from './types'
/**

Wyświetl plik

@ -1,3 +1,7 @@
import type {
PricingPlan,
PricingPlanLineItem
} from '@agentic/platform-schemas'
import type Stripe from 'stripe'
import { assert } from '@agentic/platform-core'
import pAll from 'p-all'
@ -8,8 +12,6 @@ import {
getLabelForPricingInterval,
getPricingPlanLineItemHashForStripePrice,
getPricingPlansByInterval,
type PricingPlan,
type PricingPlanLineItem,
type RawDeployment,
type RawProject,
schema

Wyświetl plik

@ -1,6 +1,6 @@
import type { DeploymentOriginAdapter } from '@agentic/platform-schemas'
import { assert } from '@agentic/platform-core'
import type { DeploymentOriginAdapter } from '@/db'
import type { Logger } from '@/lib/logger'
import { validateOpenAPISpec } from '@/lib/validate-openapi-spec'

Wyświetl plik

@ -1,3 +1,4 @@
import { parseJson } from '@agentic/platform-core'
import {
BaseResolver,
bundle,
@ -8,7 +9,6 @@ import {
type NormalizedProblem,
Source
} from '@redocly/openapi-core'
import parseJson from 'parse-json'
import type { Logger } from './logger'
import type { LooseOpenAPI3Spec } from './types'

Wyświetl plik

@ -6,6 +6,6 @@
"@/*": ["src/*"]
}
},
"include": ["src", "*.config.ts", "bin/*"],
"include": ["src", "*.config.ts"],
"exclude": ["node_modules", "dist"]
}

Wyświetl plik

@ -29,6 +29,7 @@
"dependencies": {
"@agentic/platform-api-client": "workspace:*",
"@agentic/platform-core": "workspace:*",
"@agentic/platform-schemas": "workspace:*",
"@hono/node-server": "^1.14.1",
"commander": "^14.0.0",
"conf": "^13.1.0",
@ -39,6 +40,7 @@
"open": "^10.1.2",
"ora": "^8.2.0",
"restore-cursor": "catalog:",
"unconfig": "^7.3.2",
"zod": "catalog:"
},
"devDependencies": {

Wyświetl plik

@ -1,7 +1,7 @@
import { Command } from 'commander'
import type { Context } from '../types'
import { auth } from '../auth'
import { auth } from '../lib/auth'
export function registerSigninCommand({ client, program, logger }: Context) {
const command = new Command('login')

Wyświetl plik

@ -1,7 +1,7 @@
import { Command } from 'commander'
import type { Context } from '../types'
import { AuthStore } from '../store'
import { AuthStore } from '../lib/store'
export function registerSignoutCommand({ client, program, logger }: Context) {
const command = new Command('logout')

Wyświetl plik

@ -7,7 +7,7 @@ import restoreCursor from 'restore-cursor'
import { registerSigninCommand } from './commands/signin'
import { registerSignoutCommand } from './commands/signout'
import { registerWhoAmICommand } from './commands/whoami'
import { AuthStore } from './store'
import { AuthStore } from './lib/store'
async function main() {
restoreCursor()

Wyświetl plik

@ -6,7 +6,7 @@ import { Hono } from 'hono'
import open from 'open'
import { oraPromise } from 'ora'
import type { AuthSession } from './types'
import type { AuthSession } from '../types'
import { AuthStore } from './store'
const providerToLabel = {
@ -23,7 +23,9 @@ export async function auth({
provider: 'github' | 'password'
preferredPort?: number
}): Promise<AuthSession> {
const providerLabel = providerToLabel[provider]!
const providerLabel = providerToLabel[provider]
assert(providerLabel, `Missing required provider: ${provider}`)
const port = await getPort({ port: preferredPort })
const app = new Hono()

Wyświetl plik

@ -0,0 +1,17 @@
import { parseZodSchema } from '@agentic/platform-core'
import { agenticProjectSchema } from '@agentic/platform-schemas'
import { loadConfig } from 'unconfig'
export async function loadAgenticConfig({ cwd }: { cwd?: string }) {
const { config } = await loadConfig({
cwd,
sources: [
{
files: 'agentic.config',
extensions: ['ts', 'mts', 'cts', 'js', 'mjs', 'cjs', 'json']
}
]
})
return parseZodSchema(agenticProjectSchema, config)
}

Wyświetl plik

@ -1,7 +1,7 @@
import { assert } from '@agentic/platform-core'
import Conf from 'conf'
import type { AuthSession } from './types'
import type { AuthSession } from '../types'
const keyAuthSession = 'authSession'

Wyświetl plik

@ -24,6 +24,7 @@
},
"dependencies": {
"hash-object": "^5.0.1",
"parse-json": "^8.3.0",
"zod": "catalog:",
"zod-validation-error": "^3.4.1"
},

Wyświetl plik

@ -6,6 +6,8 @@ import hashObjectImpl, { type Options as HashObjectOptions } from 'hash-object'
import { HttpError, ZodValidationError } from './errors'
export { default as parseJson } from 'parse-json'
/**
* From `inputObj`, create a new object that does not include `keys`.
*

Wyświetl plik

@ -0,0 +1,25 @@
import restoreCursor from 'restore-cursor'
import { zodToJsonSchema } from 'zod-to-json-schema'
import { agenticProjectSchema } from '../src'
async function main() {
restoreCursor()
const tempJsonSchema = zodToJsonSchema(agenticProjectSchema)
const publicJsonSchema = {
...tempJsonSchema,
$schema: 'https://json-schema.org/draft-07/schema',
// TODO
// $id: 'https://agentic.so/docs/schema.json',
title: 'Agentic project schema',
description:
"Schema used by 'agentic.json' files to configure Agentic projects."
}
// eslint-disable-next-line no-console
console.log(JSON.stringify(publicJsonSchema, null, 2))
}
await main()

Wyświetl plik

@ -0,0 +1,36 @@
{
"name": "@agentic/platform-schemas",
"version": "0.0.1",
"description": "Core schemas shared across the Agentic platform.",
"author": "Travis Fischer <travis@transitivebullsh.it>",
"license": "UNLICENSED",
"repository": {
"type": "git",
"url": "git+https://github.com/transitive-bullshit/agentic-platform.git",
"directory": "packages/schemas"
},
"type": "module",
"source": "./src/index.ts",
"types": "./src/index.ts",
"sideEffects": false,
"exports": {
".": "./src/index.ts"
},
"scripts": {
"test": "run-s test:*",
"test:lint": "eslint .",
"test:typecheck": "tsc --noEmit"
},
"dependencies": {
"@agentic/platform-core": "workspace:*",
"@hono/zod-openapi": "^0.19.6",
"zod": "catalog:"
},
"devDependencies": {
"restore-cursor": "catalog:",
"zod-to-json-schema": "^3.24.5"
},
"publishConfig": {
"access": "public"
}
}

Wyświetl plik

@ -0,0 +1,280 @@
{
"$schema": "https://json-schema.org/draft-07/schema",
"title": "Agentic project schema",
"description": "Schema used by 'agentic.json' files to configure Agentic projects.",
"additionalProperties": false,
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the project."
},
"description": {
"type": "string",
"description": "A one-sentence description of the project."
},
"readme": {
"type": "string",
"description": "A readme documenting the project (supports GitHub-flavored markdown)."
},
"sourceUrl": {
"type": "string",
"format": "uri",
"description": "Optional URL to the source code for the project."
},
"iconUrl": {
"type": "string",
"format": "uri",
"description": "Optional logo image URL to use for the project. Logos should have a square aspect ratio."
},
"originUrl": {
"type": "string",
"format": "uri",
"description": "Required base URL of the externally hosted origin API server. Must be a valid `https` URL.\n\nNOTE: 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."
},
"originAdapter": {
"anyOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "openapi"
},
"spec": {
"type": "string",
"description": "JSON stringified OpenAPI spec describing the origin API server."
},
"location": {
"type": "string",
"const": "external"
}
},
"required": ["type", "spec", "location"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "raw"
},
"location": {
"$ref": "#/properties/originAdapter/anyOf/0/properties/location"
}
},
"required": ["type", "location"],
"additionalProperties": false
}
],
"description": "Deployment origin API adapter is used to configure the origin API server downstream from Agentic's API gateway. It specifies whether the origin API server denoted by `originUrl` is hosted externally or deployed internally to Agentic's infrastructure. It also specifies the format for how origin tools / services are defined: either as an OpenAPI spec, an MCP server, or as a raw HTTP REST API.\n\nNOTE: 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.",
"default": {
"location": "external",
"type": "raw"
}
},
"pricingPlans": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"slug": {
"type": "string",
"minLength": 1,
"description": "PricingPlan slug (\"free\", \"starter-monthly\", \"pro-annual\", etc)"
},
"interval": {
"type": "string",
"enum": ["day", "week", "month", "year"],
"description": "The frequency at which a subscription is billed."
},
"desc": {
"type": "string"
},
"features": {
"type": "array",
"items": {
"type": "string"
}
},
"trialPeriodDays": {
"type": "number",
"minimum": 0
},
"lineItems": {
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"slug": {
"anyOf": [
{
"type": "string"
},
{
"type": "string",
"const": "base"
},
{
"type": "string",
"const": "requests"
}
]
},
"interval": {
"$ref": "#/properties/pricingPlans/items/properties/interval",
"description": "The frequency at which a subscription is billed."
},
"label": {
"type": "string"
},
"usageType": {
"type": "string",
"const": "licensed"
},
"amount": {
"type": "number",
"minimum": 0
}
},
"required": ["slug", "usageType", "amount"],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"slug": {
"$ref": "#/properties/pricingPlans/items/properties/lineItems/items/anyOf/0/properties/slug"
},
"interval": {
"$ref": "#/properties/pricingPlans/items/properties/lineItems/items/anyOf/0/properties/interval"
},
"label": {
"$ref": "#/properties/pricingPlans/items/properties/lineItems/items/anyOf/0/properties/label"
},
"usageType": {
"type": "string",
"const": "metered"
},
"unitLabel": {
"type": "string"
},
"rateLimit": {
"type": "object",
"properties": {
"interval": {
"type": "number"
},
"maxPerInterval": {
"type": "number"
}
},
"required": ["interval", "maxPerInterval"],
"additionalProperties": false
},
"billingScheme": {
"type": "string",
"enum": ["per_unit", "tiered"]
},
"unitAmount": {
"type": "number",
"minimum": 0
},
"tiersMode": {
"type": "string",
"enum": ["graduated", "volume"]
},
"tiers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"unitAmount": {
"type": "number"
},
"flatAmount": {
"type": "number"
},
"upTo": {
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"const": "inf"
}
]
}
},
"required": ["upTo"],
"additionalProperties": false
}
},
"defaultAggregation": {
"type": "object",
"properties": {
"formula": {
"type": "string",
"enum": ["sum", "count", "last"],
"default": "sum"
}
},
"additionalProperties": false
},
"transformQuantity": {
"type": "object",
"properties": {
"divideBy": {
"type": "number",
"exclusiveMinimum": 0
},
"round": {
"type": "string",
"enum": ["down", "up"]
}
},
"required": ["divideBy", "round"],
"additionalProperties": false
}
},
"required": ["slug", "usageType", "billingScheme"],
"additionalProperties": false
}
],
"description": "PricingPlanLineItems represent a single line-item in a Stripe Subscription. They map to a Stripe billing `Price` and possibly a corresponding Stripe `Meter` for metered usage."
},
"minItems": 1,
"maxItems": 20
}
},
"required": ["name", "slug", "lineItems"],
"additionalProperties": false,
"description": "Represents the config for a Stripe subscription with one or more PricingPlanLineItems."
},
"minItems": 1,
"description": "List of PricingPlans to enable subscriptions for the project. Defaults to a single free tier.",
"default": [
{
"name": "Free",
"slug": "free",
"lineItems": [
{
"slug": "base",
"usageType": "licensed",
"amount": 0
}
]
}
]
}
},
"required": ["name", "originUrl"]
}

Wyświetl plik

@ -1,10 +1,6 @@
import 'dotenv/config'
import { z } from '@hono/zod-openapi'
import restoreCursor from 'restore-cursor'
import { zodToJsonSchema } from 'zod-to-json-schema'
import { deploymentOriginAdapterSchema, pricingPlanListSchema } from '@/db'
import { deploymentOriginAdapterSchema, pricingPlanListSchema } from './schemas'
// TODO:
// - **service / tool definitions**
@ -13,9 +9,11 @@ import { deploymentOriginAdapterSchema, pricingPlanListSchema } from '@/db'
// - origin adapter openapi schema path, url, or in-place definition
// - optional stripe webhooks
// - optional response header config (custom headers, immutability for caching, etc)
// - optional version
// - optional agentic version
const publicSchema = z.object({
name: z.string().describe('The name of the project.'),
export const agenticProjectSchema = z.object({
name: z.string().describe('Name of the project.'),
// Metadata
description: z
@ -74,14 +72,4 @@ NOTE: Agentic currently only supports \`external\` API servers. If you'd like to
}
])
})
async function main() {
restoreCursor()
const publicJsonSchema = zodToJsonSchema(publicSchema)
// eslint-disable-next-line no-console
console.log(JSON.stringify(publicJsonSchema, null, 2))
}
await main()
export type AgenticProject = z.infer<typeof agenticProjectSchema>

Wyświetl plik

@ -0,0 +1,2 @@
export * from './agentic-project-schema'
export * from './schemas'

Wyświetl plik

@ -1,61 +1,5 @@
import { parseJson } from '@agentic/platform-core'
import { z } from '@hono/zod-openapi'
import parseJson from 'parse-json'
// export const authProviderTypeSchema = z
// .union([
// z.literal('github'),
// z.literal('google'),
// z.literal('spotify'),
// z.literal('twitter'),
// z.literal('linkedin'),
// z.literal('stripe')
// ])
// .openapi('AuthProviderType')
// export type AuthProviderType = z.infer<typeof authProviderTypeSchema>
// export const authProviderSchema = z.object({
// provider: authProviderTypeSchema,
// /** Provider-specific user id */
// id: z.string(),
// /** Provider-specific username */
// username: z.string().optional(),
// /** Standard oauth2 access token */
// accessToken: z.string().optional(),
// /** Standard oauth2 refresh token */
// refreshToken: z.string().optional(),
// /** Stripe public key */
// publicKey: z.string().optional(),
// /** OAuth scope(s) */
// scope: z.string().optional()
// })
// export type AuthProvider = z.infer<typeof authProviderSchema>
// export const publicAuthProviderSchema = authProviderSchema
// .omit({
// accessToken: true,
// refreshToken: true,
// publicKey: true
// })
// .strip()
// .openapi('AuthProvider')
// export type PublicAuthProvider = z.infer<typeof publicAuthProviderSchema>
// export const authProvidersSchema = z.record(
// authProviderTypeSchema,
// authProviderSchema.optional()
// )
// export type AuthProviders = z.infer<typeof authProvidersSchema>
// export const publicAuthProvidersSchema = z
// .record(authProviderTypeSchema, publicAuthProviderSchema.optional())
// .openapi('AuthProviders')
// export type PublicAuthProviders = z.infer<typeof publicAuthProvidersSchema>
export const webhookSchema = z
.object({

Wyświetl plik

@ -0,0 +1,55 @@
export const authProviderTypeSchema = z
.union([
z.literal('github'),
z.literal('google'),
z.literal('spotify'),
z.literal('twitter'),
z.literal('linkedin'),
z.literal('stripe')
])
.openapi('AuthProviderType')
export type AuthProviderType = z.infer<typeof authProviderTypeSchema>
export const authProviderSchema = z.object({
provider: authProviderTypeSchema,
/** Provider-specific user id */
id: z.string(),
/** Provider-specific username */
username: z.string().optional(),
/** Standard oauth2 access token */
accessToken: z.string().optional(),
/** Standard oauth2 refresh token */
refreshToken: z.string().optional(),
/** Stripe public key */
publicKey: z.string().optional(),
/** OAuth scope(s) */
scope: z.string().optional()
})
export type AuthProvider = z.infer<typeof authProviderSchema>
export const publicAuthProviderSchema = authProviderSchema
.omit({
accessToken: true,
refreshToken: true,
publicKey: true
})
.strip()
.openapi('AuthProvider')
export type PublicAuthProvider = z.infer<typeof publicAuthProviderSchema>
export const authProvidersSchema = z.record(
authProviderTypeSchema,
authProviderSchema.optional()
)
export type AuthProviders = z.infer<typeof authProvidersSchema>
export const publicAuthProvidersSchema = z
.record(authProviderTypeSchema, publicAuthProviderSchema.optional())
.openapi('AuthProviders')
export type PublicAuthProviders = z.infer<typeof publicAuthProvidersSchema>

Wyświetl plik

@ -0,0 +1,5 @@
{
"extends": "@fisch0920/config/tsconfig-node",
"include": ["src", "*.config.ts", "bin/*"],
"exclude": ["node_modules"]
}

Wyświetl plik

@ -73,7 +73,7 @@ importers:
devDependencies:
'@fisch0920/config':
specifier: 'catalog:'
version: 1.1.0(@typescript-eslint/parser@8.31.0(eslint@9.26.0)(typescript@5.8.3))(@typescript-eslint/utils@8.31.0(eslint@9.26.0)(typescript@5.8.3))(eslint@9.26.0)(prettier@3.5.3)(typescript@5.8.3)(vitest@3.1.3(@types/node@22.15.18)(tsx@4.19.4)(yaml@2.7.1))
version: 1.1.0(@typescript-eslint/parser@8.31.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(@typescript-eslint/utils@8.31.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(prettier@3.5.3)(typescript@5.8.3)(vitest@3.1.3(@types/node@22.15.18)(jiti@2.4.2)(tsx@4.19.4)(yaml@2.7.1))
'@types/node':
specifier: 'catalog:'
version: 22.15.18
@ -85,10 +85,10 @@ importers:
version: 16.5.0
eslint:
specifier: 'catalog:'
version: 9.26.0
version: 9.26.0(jiti@2.4.2)
eslint-plugin-drizzle:
specifier: ^0.2.3
version: 0.2.3(eslint@9.26.0)
version: 0.2.3(eslint@9.26.0(jiti@2.4.2))
lint-staged:
specifier: 'catalog:'
version: 16.0.0
@ -106,7 +106,7 @@ importers:
version: 2.13.0
tsup:
specifier: 'catalog:'
version: 8.4.0(postcss@8.5.3)(tsx@4.19.4)(typescript@5.8.3)(yaml@2.7.1)
version: 8.4.0(jiti@2.4.2)(postcss@8.5.3)(tsx@4.19.4)(typescript@5.8.3)(yaml@2.7.1)
tsx:
specifier: 'catalog:'
version: 4.19.4
@ -118,10 +118,10 @@ importers:
version: 5.8.3
vite-tsconfig-paths:
specifier: ^5.1.4
version: 5.1.4(typescript@5.8.3)(vite@6.3.3(@types/node@22.15.18)(tsx@4.19.4)(yaml@2.7.1))
version: 5.1.4(typescript@5.8.3)(vite@6.3.3(@types/node@22.15.18)(jiti@2.4.2)(tsx@4.19.4)(yaml@2.7.1))
vitest:
specifier: 'catalog:'
version: 3.1.3(@types/node@22.15.18)(tsx@4.19.4)(yaml@2.7.1)
version: 3.1.3(@types/node@22.15.18)(jiti@2.4.2)(tsx@4.19.4)(yaml@2.7.1)
zod:
specifier: 'catalog:'
version: 3.24.4
@ -131,6 +131,9 @@ importers:
'@agentic/platform-core':
specifier: workspace:*
version: link:../../packages/core
'@agentic/platform-schemas':
specifier: workspace:*
version: link:../../packages/schemas
'@agentic/platform-validators':
specifier: workspace:*
version: link:../../packages/validators
@ -176,9 +179,6 @@ importers:
p-all:
specifier: ^5.0.0
version: 5.0.0
parse-json:
specifier: ^8.3.0
version: 8.3.0
postgres:
specifier: ^3.4.5
version: 3.4.5
@ -210,9 +210,6 @@ importers:
openapi-typescript:
specifier: ^7.8.0
version: 7.8.0(typescript@5.8.3)
zod-to-json-schema:
specifier: ^3.24.5
version: 3.24.5(zod@3.24.4)
packages/api-client:
dependencies:
@ -244,6 +241,9 @@ importers:
'@agentic/platform-core':
specifier: workspace:*
version: link:../core
'@agentic/platform-schemas':
specifier: workspace:*
version: link:../schemas
'@hono/node-server':
specifier: ^1.14.1
version: 1.14.1(hono@4.7.9)
@ -274,6 +274,9 @@ importers:
restore-cursor:
specifier: 'catalog:'
version: 5.1.0
unconfig:
specifier: ^7.3.2
version: 7.3.2
zod:
specifier: 'catalog:'
version: 3.24.4
@ -290,6 +293,9 @@ importers:
hash-object:
specifier: ^5.0.1
version: 5.0.1
parse-json:
specifier: ^8.3.0
version: 8.3.0
zod:
specifier: 'catalog:'
version: 3.24.4
@ -301,6 +307,25 @@ importers:
specifier: ^4.7.9
version: 4.7.9
packages/schemas:
dependencies:
'@agentic/platform-core':
specifier: workspace:*
version: link:../core
'@hono/zod-openapi':
specifier: ^0.19.6
version: 0.19.6(hono@4.7.9)(zod@3.24.4)
zod:
specifier: 'catalog:'
version: 3.24.4
devDependencies:
restore-cursor:
specifier: 'catalog:'
version: 5.1.0
zod-to-json-schema:
specifier: ^3.24.5
version: 3.24.5(zod@3.24.4)
packages/validators:
dependencies:
'@paralleldrive/cuid2':
@ -1198,6 +1223,10 @@ packages:
peerDependencies:
'@opentelemetry/api': ^1.8
'@quansync/fs@0.1.3':
resolution: {integrity: sha512-G0OnZbMWEs5LhDyqy2UL17vGhSVHkQIfVojMtEWVenvj0V5S84VBgy86kJIuNsGDp2p7sTKlpSIpBUWdC35OKg==}
engines: {node: '>=20.0.0'}
'@redocly/ajv@8.11.2':
resolution: {integrity: sha512-io1JpnwtIcvojV7QKDUSIuMN/ikdOUd1ReEnUnMKGfDVridQZ31J0MmIuqwuRjWDZfmvr+Q0MqCcfHM2gTivOg==}
@ -1909,6 +1938,9 @@ packages:
resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
engines: {node: '>= 0.4'}
defu@6.1.4:
resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
del-cli@6.0.0:
resolution: {integrity: sha512-9nitGV2W6KLFyya4qYt4+9AKQFL+c0Ehj5K7V7IwlxTc6RMCfQUGY9E9pLG6e8TQjtwXpuiWIGGZb3mfVxyZkw==}
engines: {node: '>=18'}
@ -2752,6 +2784,10 @@ packages:
jackspeak@3.4.3:
resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
jiti@2.4.2:
resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==}
hasBin: true
jose@5.9.6:
resolution: {integrity: sha512-AMlnetc9+CV9asI19zHmrgS/WYsWUwCn2R7RzlbJWD7F9eWYUTGyBmU9o6PxngtLGOiDGPRu+Uc4fhKzbpteZQ==}
@ -3261,6 +3297,9 @@ packages:
resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==}
engines: {node: '>=0.6'}
quansync@0.2.10:
resolution: {integrity: sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==}
queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
@ -3820,6 +3859,9 @@ packages:
resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
engines: {node: '>= 0.4'}
unconfig@7.3.2:
resolution: {integrity: sha512-nqG5NNL2wFVGZ0NA/aCFw0oJ2pxSf1lwg4Z5ill8wd7K4KX/rQbHlwbh+bjctXL5Ly1xtzHenHGOK0b+lG6JVg==}
undici-types@6.21.0:
resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
@ -4232,9 +4274,9 @@ snapshots:
'@esbuild/win32-x64@0.25.4':
optional: true
'@eslint-community/eslint-utils@4.6.1(eslint@9.26.0)':
'@eslint-community/eslint-utils@4.6.1(eslint@9.26.0(jiti@2.4.2))':
dependencies:
eslint: 9.26.0
eslint: 9.26.0(jiti@2.4.2)
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.12.1': {}
@ -4286,26 +4328,26 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@fisch0920/config@1.1.0(@typescript-eslint/parser@8.31.0(eslint@9.26.0)(typescript@5.8.3))(@typescript-eslint/utils@8.31.0(eslint@9.26.0)(typescript@5.8.3))(eslint@9.26.0)(prettier@3.5.3)(typescript@5.8.3)(vitest@3.1.3(@types/node@22.15.18)(tsx@4.19.4)(yaml@2.7.1))':
'@fisch0920/config@1.1.0(@typescript-eslint/parser@8.31.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(@typescript-eslint/utils@8.31.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(prettier@3.5.3)(typescript@5.8.3)(vitest@3.1.3(@types/node@22.15.18)(jiti@2.4.2)(tsx@4.19.4)(yaml@2.7.1))':
dependencies:
'@eslint/js': 9.26.0
'@total-typescript/ts-reset': 0.6.1
'@vitest/eslint-plugin': 1.1.43(@typescript-eslint/utils@8.31.0(eslint@9.26.0)(typescript@5.8.3))(eslint@9.26.0)(typescript@5.8.3)(vitest@3.1.3(@types/node@22.15.18)(tsx@4.19.4)(yaml@2.7.1))
eslint: 9.26.0
eslint-config-prettier: 10.1.2(eslint@9.26.0)
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.31.0(eslint@9.26.0)(typescript@5.8.3))(eslint@9.26.0)
eslint-plugin-jest-dom: 5.5.0(eslint@9.26.0)
eslint-plugin-jsx-a11y: 6.10.2(eslint@9.26.0)
eslint-plugin-react: 7.37.5(eslint@9.26.0)
eslint-plugin-react-hooks: 5.2.0(eslint@9.26.0)
'@vitest/eslint-plugin': 1.1.43(@typescript-eslint/utils@8.31.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)(vitest@3.1.3(@types/node@22.15.18)(jiti@2.4.2)(tsx@4.19.4)(yaml@2.7.1))
eslint: 9.26.0(jiti@2.4.2)
eslint-config-prettier: 10.1.2(eslint@9.26.0(jiti@2.4.2))
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.31.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))
eslint-plugin-jest-dom: 5.5.0(eslint@9.26.0(jiti@2.4.2))
eslint-plugin-jsx-a11y: 6.10.2(eslint@9.26.0(jiti@2.4.2))
eslint-plugin-react: 7.37.5(eslint@9.26.0(jiti@2.4.2))
eslint-plugin-react-hooks: 5.2.0(eslint@9.26.0(jiti@2.4.2))
eslint-plugin-security: 3.0.1
eslint-plugin-simple-import-sort: 12.1.1(eslint@9.26.0)
eslint-plugin-testing-library: 7.1.1(eslint@9.26.0)(typescript@5.8.3)
eslint-plugin-unicorn: 58.0.0(eslint@9.26.0)
eslint-plugin-simple-import-sort: 12.1.1(eslint@9.26.0(jiti@2.4.2))
eslint-plugin-testing-library: 7.1.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)
eslint-plugin-unicorn: 58.0.0(eslint@9.26.0(jiti@2.4.2))
globals: 16.0.0
prettier: 3.5.3
typescript: 5.8.3
typescript-eslint: 8.31.0(eslint@9.26.0)(typescript@5.8.3)
typescript-eslint: 8.31.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)
transitivePeerDependencies:
- '@testing-library/dom'
- '@typescript-eslint/parser'
@ -4848,6 +4890,10 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@quansync/fs@0.1.3':
dependencies:
quansync: 0.2.10
'@redocly/ajv@8.11.2':
dependencies:
fast-deep-equal: 3.1.3
@ -5050,15 +5096,15 @@ snapshots:
dependencies:
'@types/node': 22.15.18
'@typescript-eslint/eslint-plugin@8.31.0(@typescript-eslint/parser@8.31.0(eslint@9.26.0)(typescript@5.8.3))(eslint@9.26.0)(typescript@5.8.3)':
'@typescript-eslint/eslint-plugin@8.31.0(@typescript-eslint/parser@8.31.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)':
dependencies:
'@eslint-community/regexpp': 4.12.1
'@typescript-eslint/parser': 8.31.0(eslint@9.26.0)(typescript@5.8.3)
'@typescript-eslint/parser': 8.31.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)
'@typescript-eslint/scope-manager': 8.31.0
'@typescript-eslint/type-utils': 8.31.0(eslint@9.26.0)(typescript@5.8.3)
'@typescript-eslint/utils': 8.31.0(eslint@9.26.0)(typescript@5.8.3)
'@typescript-eslint/type-utils': 8.31.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)
'@typescript-eslint/utils': 8.31.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)
'@typescript-eslint/visitor-keys': 8.31.0
eslint: 9.26.0
eslint: 9.26.0(jiti@2.4.2)
graphemer: 1.4.0
ignore: 5.3.2
natural-compare: 1.4.0
@ -5067,14 +5113,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/parser@8.31.0(eslint@9.26.0)(typescript@5.8.3)':
'@typescript-eslint/parser@8.31.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)':
dependencies:
'@typescript-eslint/scope-manager': 8.31.0
'@typescript-eslint/types': 8.31.0
'@typescript-eslint/typescript-estree': 8.31.0(typescript@5.8.3)
'@typescript-eslint/visitor-keys': 8.31.0
debug: 4.4.1(supports-color@10.0.0)
eslint: 9.26.0
eslint: 9.26.0(jiti@2.4.2)
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
@ -5084,12 +5130,12 @@ snapshots:
'@typescript-eslint/types': 8.31.0
'@typescript-eslint/visitor-keys': 8.31.0
'@typescript-eslint/type-utils@8.31.0(eslint@9.26.0)(typescript@5.8.3)':
'@typescript-eslint/type-utils@8.31.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)':
dependencies:
'@typescript-eslint/typescript-estree': 8.31.0(typescript@5.8.3)
'@typescript-eslint/utils': 8.31.0(eslint@9.26.0)(typescript@5.8.3)
'@typescript-eslint/utils': 8.31.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)
debug: 4.4.1(supports-color@10.0.0)
eslint: 9.26.0
eslint: 9.26.0(jiti@2.4.2)
ts-api-utils: 2.1.0(typescript@5.8.3)
typescript: 5.8.3
transitivePeerDependencies:
@ -5111,13 +5157,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@typescript-eslint/utils@8.31.0(eslint@9.26.0)(typescript@5.8.3)':
'@typescript-eslint/utils@8.31.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)':
dependencies:
'@eslint-community/eslint-utils': 4.6.1(eslint@9.26.0)
'@eslint-community/eslint-utils': 4.6.1(eslint@9.26.0(jiti@2.4.2))
'@typescript-eslint/scope-manager': 8.31.0
'@typescript-eslint/types': 8.31.0
'@typescript-eslint/typescript-estree': 8.31.0(typescript@5.8.3)
eslint: 9.26.0
eslint: 9.26.0(jiti@2.4.2)
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
@ -5127,13 +5173,13 @@ snapshots:
'@typescript-eslint/types': 8.31.0
eslint-visitor-keys: 4.2.0
'@vitest/eslint-plugin@1.1.43(@typescript-eslint/utils@8.31.0(eslint@9.26.0)(typescript@5.8.3))(eslint@9.26.0)(typescript@5.8.3)(vitest@3.1.3(@types/node@22.15.18)(tsx@4.19.4)(yaml@2.7.1))':
'@vitest/eslint-plugin@1.1.43(@typescript-eslint/utils@8.31.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)(vitest@3.1.3(@types/node@22.15.18)(jiti@2.4.2)(tsx@4.19.4)(yaml@2.7.1))':
dependencies:
'@typescript-eslint/utils': 8.31.0(eslint@9.26.0)(typescript@5.8.3)
eslint: 9.26.0
'@typescript-eslint/utils': 8.31.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)
eslint: 9.26.0(jiti@2.4.2)
optionalDependencies:
typescript: 5.8.3
vitest: 3.1.3(@types/node@22.15.18)(tsx@4.19.4)(yaml@2.7.1)
vitest: 3.1.3(@types/node@22.15.18)(jiti@2.4.2)(tsx@4.19.4)(yaml@2.7.1)
'@vitest/expect@3.1.3':
dependencies:
@ -5142,13 +5188,13 @@ snapshots:
chai: 5.2.0
tinyrainbow: 2.0.0
'@vitest/mocker@3.1.3(vite@6.3.3(@types/node@22.15.18)(tsx@4.19.4)(yaml@2.7.1))':
'@vitest/mocker@3.1.3(vite@6.3.3(@types/node@22.15.18)(jiti@2.4.2)(tsx@4.19.4)(yaml@2.7.1))':
dependencies:
'@vitest/spy': 3.1.3
estree-walker: 3.0.3
magic-string: 0.30.17
optionalDependencies:
vite: 6.3.3(@types/node@22.15.18)(tsx@4.19.4)(yaml@2.7.1)
vite: 6.3.3(@types/node@22.15.18)(jiti@2.4.2)(tsx@4.19.4)(yaml@2.7.1)
'@vitest/pretty-format@3.1.3':
dependencies:
@ -5597,6 +5643,8 @@ snapshots:
has-property-descriptors: 1.0.2
object-keys: 1.1.1
defu@6.1.4: {}
del-cli@6.0.0:
dependencies:
del: 8.0.0
@ -5833,9 +5881,9 @@ snapshots:
escape-string-regexp@4.0.0: {}
eslint-config-prettier@10.1.2(eslint@9.26.0):
eslint-config-prettier@10.1.2(eslint@9.26.0(jiti@2.4.2)):
dependencies:
eslint: 9.26.0
eslint: 9.26.0(jiti@2.4.2)
eslint-import-resolver-node@0.3.9:
dependencies:
@ -5845,21 +5893,21 @@ snapshots:
transitivePeerDependencies:
- supports-color
eslint-module-utils@2.12.0(@typescript-eslint/parser@8.31.0(eslint@9.26.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint@9.26.0):
eslint-module-utils@2.12.0(@typescript-eslint/parser@8.31.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint@9.26.0(jiti@2.4.2)):
dependencies:
debug: 3.2.7
optionalDependencies:
'@typescript-eslint/parser': 8.31.0(eslint@9.26.0)(typescript@5.8.3)
eslint: 9.26.0
'@typescript-eslint/parser': 8.31.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)
eslint: 9.26.0(jiti@2.4.2)
eslint-import-resolver-node: 0.3.9
transitivePeerDependencies:
- supports-color
eslint-plugin-drizzle@0.2.3(eslint@9.26.0):
eslint-plugin-drizzle@0.2.3(eslint@9.26.0(jiti@2.4.2)):
dependencies:
eslint: 9.26.0
eslint: 9.26.0(jiti@2.4.2)
eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.31.0(eslint@9.26.0)(typescript@5.8.3))(eslint@9.26.0):
eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.31.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2)):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.8
@ -5868,9 +5916,9 @@ snapshots:
array.prototype.flatmap: 1.3.3
debug: 3.2.7
doctrine: 2.1.0
eslint: 9.26.0
eslint: 9.26.0(jiti@2.4.2)
eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.31.0(eslint@9.26.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint@9.26.0)
eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.31.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint@9.26.0(jiti@2.4.2))
hasown: 2.0.2
is-core-module: 2.16.1
is-glob: 4.0.3
@ -5882,19 +5930,19 @@ snapshots:
string.prototype.trimend: 1.0.9
tsconfig-paths: 3.15.0
optionalDependencies:
'@typescript-eslint/parser': 8.31.0(eslint@9.26.0)(typescript@5.8.3)
'@typescript-eslint/parser': 8.31.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
- supports-color
eslint-plugin-jest-dom@5.5.0(eslint@9.26.0):
eslint-plugin-jest-dom@5.5.0(eslint@9.26.0(jiti@2.4.2)):
dependencies:
'@babel/runtime': 7.27.0
eslint: 9.26.0
eslint: 9.26.0(jiti@2.4.2)
requireindex: 1.2.0
eslint-plugin-jsx-a11y@6.10.2(eslint@9.26.0):
eslint-plugin-jsx-a11y@6.10.2(eslint@9.26.0(jiti@2.4.2)):
dependencies:
aria-query: 5.3.2
array-includes: 3.1.8
@ -5904,7 +5952,7 @@ snapshots:
axobject-query: 4.1.0
damerau-levenshtein: 1.0.8
emoji-regex: 9.2.2
eslint: 9.26.0
eslint: 9.26.0(jiti@2.4.2)
hasown: 2.0.2
jsx-ast-utils: 3.3.5
language-tags: 1.0.9
@ -5913,11 +5961,11 @@ snapshots:
safe-regex-test: 1.1.0
string.prototype.includes: 2.0.1
eslint-plugin-react-hooks@5.2.0(eslint@9.26.0):
eslint-plugin-react-hooks@5.2.0(eslint@9.26.0(jiti@2.4.2)):
dependencies:
eslint: 9.26.0
eslint: 9.26.0(jiti@2.4.2)
eslint-plugin-react@7.37.5(eslint@9.26.0):
eslint-plugin-react@7.37.5(eslint@9.26.0(jiti@2.4.2)):
dependencies:
array-includes: 3.1.8
array.prototype.findlast: 1.2.5
@ -5925,7 +5973,7 @@ snapshots:
array.prototype.tosorted: 1.1.4
doctrine: 2.1.0
es-iterator-helpers: 1.2.1
eslint: 9.26.0
eslint: 9.26.0(jiti@2.4.2)
estraverse: 5.3.0
hasown: 2.0.2
jsx-ast-utils: 3.3.5
@ -5943,28 +5991,28 @@ snapshots:
dependencies:
safe-regex: 2.1.1
eslint-plugin-simple-import-sort@12.1.1(eslint@9.26.0):
eslint-plugin-simple-import-sort@12.1.1(eslint@9.26.0(jiti@2.4.2)):
dependencies:
eslint: 9.26.0
eslint: 9.26.0(jiti@2.4.2)
eslint-plugin-testing-library@7.1.1(eslint@9.26.0)(typescript@5.8.3):
eslint-plugin-testing-library@7.1.1(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3):
dependencies:
'@typescript-eslint/scope-manager': 8.31.0
'@typescript-eslint/utils': 8.31.0(eslint@9.26.0)(typescript@5.8.3)
eslint: 9.26.0
'@typescript-eslint/utils': 8.31.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)
eslint: 9.26.0(jiti@2.4.2)
transitivePeerDependencies:
- supports-color
- typescript
eslint-plugin-unicorn@58.0.0(eslint@9.26.0):
eslint-plugin-unicorn@58.0.0(eslint@9.26.0(jiti@2.4.2)):
dependencies:
'@babel/helper-validator-identifier': 7.25.9
'@eslint-community/eslint-utils': 4.6.1(eslint@9.26.0)
'@eslint-community/eslint-utils': 4.6.1(eslint@9.26.0(jiti@2.4.2))
'@eslint/plugin-kit': 0.2.8
ci-info: 4.2.0
clean-regexp: 1.0.0
core-js-compat: 3.41.0
eslint: 9.26.0
eslint: 9.26.0(jiti@2.4.2)
esquery: 1.6.0
globals: 16.0.0
indent-string: 5.0.0
@ -5986,9 +6034,9 @@ snapshots:
eslint-visitor-keys@4.2.0: {}
eslint@9.26.0:
eslint@9.26.0(jiti@2.4.2):
dependencies:
'@eslint-community/eslint-utils': 4.6.1(eslint@9.26.0)
'@eslint-community/eslint-utils': 4.6.1(eslint@9.26.0(jiti@2.4.2))
'@eslint-community/regexpp': 4.12.1
'@eslint/config-array': 0.20.0
'@eslint/config-helpers': 0.2.1
@ -6025,6 +6073,8 @@ snapshots:
natural-compare: 1.4.0
optionator: 0.9.4
zod: 3.24.4
optionalDependencies:
jiti: 2.4.2
transitivePeerDependencies:
- supports-color
@ -6554,6 +6604,8 @@ snapshots:
optionalDependencies:
'@pkgjs/parseargs': 0.11.0
jiti@2.4.2: {}
jose@5.9.6: {}
joycon@3.1.1: {}
@ -6986,10 +7038,11 @@ snapshots:
possible-typed-array-names@1.1.0: {}
postcss-load-config@6.0.1(postcss@8.5.3)(tsx@4.19.4)(yaml@2.7.1):
postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.3)(tsx@4.19.4)(yaml@2.7.1):
dependencies:
lilconfig: 3.1.3
optionalDependencies:
jiti: 2.4.2
postcss: 8.5.3
tsx: 4.19.4
yaml: 2.7.1
@ -7033,6 +7086,8 @@ snapshots:
dependencies:
side-channel: 1.1.0
quansync@0.2.10: {}
queue-microtask@1.2.3: {}
range-parser@1.2.1: {}
@ -7552,7 +7607,7 @@ snapshots:
tslib@2.8.1: {}
tsup@8.4.0(postcss@8.5.3)(tsx@4.19.4)(typescript@5.8.3)(yaml@2.7.1):
tsup@8.4.0(jiti@2.4.2)(postcss@8.5.3)(tsx@4.19.4)(typescript@5.8.3)(yaml@2.7.1):
dependencies:
bundle-require: 5.1.0(esbuild@0.25.4)
cac: 6.7.14
@ -7562,7 +7617,7 @@ snapshots:
esbuild: 0.25.4
joycon: 3.1.1
picocolors: 1.1.1
postcss-load-config: 6.0.1(postcss@8.5.3)(tsx@4.19.4)(yaml@2.7.1)
postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.5.3)(tsx@4.19.4)(yaml@2.7.1)
resolve-from: 5.0.0
rollup: 4.40.0
source-map: 0.8.0-beta.0
@ -7660,12 +7715,12 @@ snapshots:
possible-typed-array-names: 1.1.0
reflect.getprototypeof: 1.0.10
typescript-eslint@8.31.0(eslint@9.26.0)(typescript@5.8.3):
typescript-eslint@8.31.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3):
dependencies:
'@typescript-eslint/eslint-plugin': 8.31.0(@typescript-eslint/parser@8.31.0(eslint@9.26.0)(typescript@5.8.3))(eslint@9.26.0)(typescript@5.8.3)
'@typescript-eslint/parser': 8.31.0(eslint@9.26.0)(typescript@5.8.3)
'@typescript-eslint/utils': 8.31.0(eslint@9.26.0)(typescript@5.8.3)
eslint: 9.26.0
'@typescript-eslint/eslint-plugin': 8.31.0(@typescript-eslint/parser@8.31.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)
'@typescript-eslint/parser': 8.31.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)
'@typescript-eslint/utils': 8.31.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)
eslint: 9.26.0(jiti@2.4.2)
typescript: 5.8.3
transitivePeerDependencies:
- supports-color
@ -7681,6 +7736,13 @@ snapshots:
has-symbols: 1.1.0
which-boxed-primitive: 1.1.1
unconfig@7.3.2:
dependencies:
'@quansync/fs': 0.1.3
defu: 6.1.4
jiti: 2.4.2
quansync: 0.2.10
undici-types@6.21.0: {}
unicorn-magic@0.1.0: {}
@ -7716,13 +7778,13 @@ snapshots:
vary@1.1.2: {}
vite-node@3.1.3(@types/node@22.15.18)(tsx@4.19.4)(yaml@2.7.1):
vite-node@3.1.3(@types/node@22.15.18)(jiti@2.4.2)(tsx@4.19.4)(yaml@2.7.1):
dependencies:
cac: 6.7.14
debug: 4.4.1(supports-color@10.0.0)
es-module-lexer: 1.7.0
pathe: 2.0.3
vite: 6.3.3(@types/node@22.15.18)(tsx@4.19.4)(yaml@2.7.1)
vite: 6.3.3(@types/node@22.15.18)(jiti@2.4.2)(tsx@4.19.4)(yaml@2.7.1)
transitivePeerDependencies:
- '@types/node'
- jiti
@ -7737,18 +7799,18 @@ snapshots:
- tsx
- yaml
vite-tsconfig-paths@5.1.4(typescript@5.8.3)(vite@6.3.3(@types/node@22.15.18)(tsx@4.19.4)(yaml@2.7.1)):
vite-tsconfig-paths@5.1.4(typescript@5.8.3)(vite@6.3.3(@types/node@22.15.18)(jiti@2.4.2)(tsx@4.19.4)(yaml@2.7.1)):
dependencies:
debug: 4.4.0
globrex: 0.1.2
tsconfck: 3.1.5(typescript@5.8.3)
optionalDependencies:
vite: 6.3.3(@types/node@22.15.18)(tsx@4.19.4)(yaml@2.7.1)
vite: 6.3.3(@types/node@22.15.18)(jiti@2.4.2)(tsx@4.19.4)(yaml@2.7.1)
transitivePeerDependencies:
- supports-color
- typescript
vite@6.3.3(@types/node@22.15.18)(tsx@4.19.4)(yaml@2.7.1):
vite@6.3.3(@types/node@22.15.18)(jiti@2.4.2)(tsx@4.19.4)(yaml@2.7.1):
dependencies:
esbuild: 0.25.4
fdir: 6.4.4(picomatch@4.0.2)
@ -7759,13 +7821,14 @@ snapshots:
optionalDependencies:
'@types/node': 22.15.18
fsevents: 2.3.3
jiti: 2.4.2
tsx: 4.19.4
yaml: 2.7.1
vitest@3.1.3(@types/node@22.15.18)(tsx@4.19.4)(yaml@2.7.1):
vitest@3.1.3(@types/node@22.15.18)(jiti@2.4.2)(tsx@4.19.4)(yaml@2.7.1):
dependencies:
'@vitest/expect': 3.1.3
'@vitest/mocker': 3.1.3(vite@6.3.3(@types/node@22.15.18)(tsx@4.19.4)(yaml@2.7.1))
'@vitest/mocker': 3.1.3(vite@6.3.3(@types/node@22.15.18)(jiti@2.4.2)(tsx@4.19.4)(yaml@2.7.1))
'@vitest/pretty-format': 3.1.3
'@vitest/runner': 3.1.3
'@vitest/snapshot': 3.1.3
@ -7782,8 +7845,8 @@ snapshots:
tinyglobby: 0.2.13
tinypool: 1.0.2
tinyrainbow: 2.0.0
vite: 6.3.3(@types/node@22.15.18)(tsx@4.19.4)(yaml@2.7.1)
vite-node: 3.1.3(@types/node@22.15.18)(tsx@4.19.4)(yaml@2.7.1)
vite: 6.3.3(@types/node@22.15.18)(jiti@2.4.2)(tsx@4.19.4)(yaml@2.7.1)
vite-node: 3.1.3(@types/node@22.15.18)(jiti@2.4.2)(tsx@4.19.4)(yaml@2.7.1)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/node': 22.15.18