@botpress/adk-cli
Version:
Command-line interface for the Botpress Agent Development Kit (ADK)
95 lines (93 loc) • 3 kB
JavaScript
// @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
};