genkit-cli
Version:
CLI for interacting with the Google Genkit AI framework
118 lines • 4.98 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.docsRead = exports.docsSearch = exports.docsList = void 0;
const utils_1 = require("@genkit-ai/tools-common/utils");
const clc = __importStar(require("colorette"));
const commander_1 = require("commander");
const docs_1 = require("../utils/docs");
exports.docsList = new commander_1.Command('docs:list')
.description('list available Genkit documentation files')
.argument('[language]', 'language to list docs for (js, go, python)', 'js')
.action(async (language) => {
try {
const documents = await (0, docs_1.loadDocs)();
const lang = language || 'js';
const fileList = Object.keys(documents)
.filter((file) => file.startsWith(lang))
.sort();
if (fileList.length === 0) {
utils_1.logger.info(`No documentation found for language: ${lang}`);
return;
}
utils_1.logger.info(`Genkit Documentation Index (${lang}):\n`);
fileList.forEach((file) => {
const doc = documents[file];
utils_1.logger.info(`${clc.bold(doc.title)}`);
utils_1.logger.info(` Path: ${file}`);
if (doc.description) {
utils_1.logger.info(` ${clc.italic(doc.description)}`);
}
utils_1.logger.info('');
});
utils_1.logger.info(`Use 'genkit docs:read <path>' to read a document.`);
}
catch (e) {
utils_1.logger.error(`Failed to load documentation: ${e instanceof Error ? e.message : String(e)}`);
}
});
exports.docsSearch = new commander_1.Command('docs:search')
.description('search Genkit documentation')
.argument('<query>', 'keywords to search for. For multiple keywords, enclose in quotes. E.g. "stream flows"')
.argument('[language]', 'language to search docs for (js, go, python)', 'js')
.action(async (query, language) => {
try {
const documents = await (0, docs_1.loadDocs)();
const lang = language || 'js';
const results = (0, docs_1.searchDocs)(documents, query, lang).slice(0, 10);
if (results.length === 0) {
utils_1.logger.info(`No results found for "${query}" in ${lang} docs.`);
return;
}
utils_1.logger.info(`Found ${results.length} matching documents for "${query}":\n`);
results.forEach((r) => {
utils_1.logger.info(`${clc.bold(r.doc.title)}`);
utils_1.logger.info(` Path: ${r.file}`);
if (r.doc.description) {
utils_1.logger.info(` ${clc.italic(r.doc.description)}`);
}
utils_1.logger.info('');
});
}
catch (e) {
utils_1.logger.error(`Failed to load documentation: ${e instanceof Error ? e.message : String(e)}`);
}
});
exports.docsRead = new commander_1.Command('docs:read')
.description('read a Genkit documentation file')
.argument('<filePath>', 'path of the document to read')
.action(async (filePath) => {
try {
const documents = await (0, docs_1.loadDocs)();
const doc = documents[filePath];
if (!doc) {
utils_1.logger.error(`Document not found: ${filePath}`);
return;
}
utils_1.logger.info(clc.bold(doc.title));
utils_1.logger.info('='.repeat(doc.title.length));
utils_1.logger.info('');
utils_1.logger.info(doc.text);
}
catch (e) {
utils_1.logger.error(`Failed to load documentation: ${e instanceof Error ? e.message : String(e)}`);
}
});
//# sourceMappingURL=docs.js.map