UNPKG

@botpress/adk-cli

Version:

Command-line interface for the Botpress Agent Development Kit (ADK)

95 lines (93 loc) 3 kB
// @bun import { ensureJsonOnlyFormat } from "./chunk-7sfagm12.js"; import { resolveCommandContext } from "./chunk-3ahwp6fe.js"; import"./chunk-kk3h6qaj.js"; import { createCliLogger } from "./chunk-gzwt1qdr.js"; import"./chunk-nxy2ya5r.js"; import"./chunk-wzj4dc7n.js"; import"./chunk-p0hjqn4r.js"; import"./chunk-np5wcwfv.js"; import"./chunk-dq2xpa24.js"; import"./chunk-6w0knnta.js"; import"./chunk-40x04ckt.js"; import"./chunk-t76d8fxx.js"; import"./chunk-nh2akp42.js"; import"./chunk-0fdvzjbh.js"; import"./chunk-2a5b6azq.js"; import"./chunk-vay209b5.js"; import"./chunk-3xrpxgq4.js"; import { Cognitive } from "./chunk-rfm3jr1m.js"; import"./chunk-w346ejn9.js"; import"./chunk-knvm2anf.js"; import"./chunk-65h5trb5.js"; import"./chunk-s2akeqpw.js"; import"./chunk-6771vrjp.js"; import"./chunk-g8mm42v1.js"; import"./chunk-50hzjdck.js"; import"./chunk-nn2jb0x0.js"; import"./chunk-v8xvth6j.js"; import"./chunk-kkk13rcb.js"; import"./chunk-ytpp1kam.js"; import"./chunk-na956zz3.js"; import"./chunk-f4bw8q7c.js"; import"./chunk-0v8vgrns.js"; import"./chunk-54qt5g7m.js"; import"./chunk-dhs2bg35.js"; // src/commands/adk-models.ts var INDENT = " "; async function adkModels(opts) { ensureJsonOnlyFormat(opts.format); const logger = createCliLogger({ format: opts.format }); const context = await resolveCommandContext({ target: "dev", require: ["project", "credentials", "workspace", "bot"] }); const cognitive = new Cognitive({ client: context.client, __experimental_beta: true }); const models = await cognitive.fetchRemoteModels(); const list = Array.from(models.values()).map((m) => ({ ref: m.ref, name: m.name, integration: m.integration, tags: m.tags })); if (models.size === 0) { logger.warn("No models available. Check that your bot has model integrations installed.").result(list); return; } const byIntegration = new Map; for (const model of models.values()) { const group = byIntegration.get(model.integration) ?? []; group.push({ ref: model.ref, name: model.name, tags: model.tags }); byIntegration.set(model.integration, group); } logger.newline(); logger.info(`${INDENT}Available Models (${models.size} total)`); logger.newline(); logger.info(`${INDENT}Aliases`); logger.info(`${INDENT} fast`, "cyan"); logger.info(`${INDENT} \u2014 fastest available model`, "gray"); logger.info(`${INDENT} best`, "cyan"); logger.info(`${INDENT} \u2014 most capable available model`, "gray"); logger.newline(); for (const [integration, group] of byIntegration) { logger.info(`${INDENT}${integration}`); for (const model of group) { const tags = model.tags.length > 0 ? ` [${model.tags.join(", ")}]` : ""; logger.info(`${INDENT} ${model.ref}${tags}`, "cyan"); } logger.newline(); } logger.info(`${INDENT}Use these refs with --judge-model, evals.judgeModel, or models in agent.config.ts`, "gray").result(list); logger.newline(); } export { adkModels };