← Public packages
@kentcdodds/jev
Call TypeSafe Jev evaluations via Cloudflare AI Gateway (same token/gateway as @kentcdodds/ai).
src/index.ts
65 lines · 2.0 KB · TypeScript/**
* Overview and setup checklist for TypeSafe Jev via Cloudflare AI Gateway.
* Use when an agent needs setup URLs or readiness before calling `./evaluate`.
*
* @returns Safe setup checklist (no secrets). Prefer `./evaluate` for real calls.
*
* @example
* import overview from 'kody:@kentcdodds/jev'
* const status = await overview()
*/
import { missingSetup, secretsNewUrl } from './resolve.ts'
import jevSettings from './settings.ts'
/**
* Overview and setup checklist for TypeSafe Jev via Cloudflare AI Gateway.
* Use when an agent needs setup URLs or readiness before calling `./evaluate`.
*
* @returns Safe setup checklist (no secrets). Prefer `./evaluate` for real calls.
*
* @example
* import overview from 'kody:@kentcdodds/jev'
* const status = await overview()
*/
export default async function overview() {
const settings = await jevSettings()
const ready = Boolean(settings.accountId)
return {
package: '@kentcdodds/jev',
intent:
'Call TypeSafe Jev (typesafe/jev) structured evaluations through Cloudflare AI Gateway, reusing the same cloudflareApiToken and account/gateway as @kentcdodds/ai when possible.',
exports: [
'.',
'./evaluate',
'./request',
'./settings',
'./types',
'./smoke-test',
],
model: settings.model,
ready,
settings: {
accountIdSet: ready,
gatewayId: settings.gatewayId,
model: settings.model,
sources: settings.sources,
},
secret: 'cloudflareApiToken',
secretsNewUrl,
docs: {
cloudflare: 'https://developers.cloudflare.com/ai/models/typesafe/jev/',
typesafe: 'https://typesafe.ai/',
package: 'https://kody.codes/@kentcdodds/jev',
},
setup: ready ? undefined : missingSetup(''),
next: ready
? 'import evaluate from "kody:@kentcdodds/jev/evaluate"'
: 'Save cloudflareApiToken, then set accountId via ./settings (or reuse @kentcdodds/ai/settings).',
}
}
export { default as evaluate } from './evaluate.ts'
export { default as jevRequest } from './request.ts'
export { default as jevSettings } from './settings.ts'
export { default as smokeTest } from './smoke-test.ts'