UNPKG

@nestbox-ai/cli

Version:

The cli tools that helps developers to build agents

88 lines 4.01 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.resolveDocProcContext = resolveDocProcContext; exports.maybePrintJson = maybePrintJson; exports.getResponseData = getResponseData; exports.printSimpleTable = printSimpleTable; exports.ensureFileExists = ensureFileExists; exports.writeTemplateFile = writeTemplateFile; exports.withDocProcErrorHandling = withDocProcErrorHandling; const chalk_1 = __importDefault(require("chalk")); const cli_table3_1 = __importDefault(require("cli-table3")); const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); const project_1 = require("../../utils/project"); function resolveDocProcContext(apis, options) { return __awaiter(this, void 0, void 0, function* () { const project = yield (0, project_1.resolveProject)(apis.projectsApi, Object.assign(Object.assign({}, options), { showSpinner: false, instance: 'doc-proc' })); const instanceId = String(options.instance || process.env.NESTBOX_DOC_PROC_INSTANCE || '').trim(); if (!instanceId) { throw new Error('Missing instance ID. Pass --instance <instanceId> or set NESTBOX_DOC_PROC_INSTANCE.'); } return { projectId: project.id, projectName: project.name, instanceId, }; }); } function maybePrintJson(data, json) { if (json) { console.log(JSON.stringify(data, null, 2)); return true; } return false; } function getResponseData(response) { return response === null || response === void 0 ? void 0 : response.data; } function printSimpleTable(headers, rows) { const table = new cli_table3_1.default({ head: headers.map((header) => chalk_1.default.white.bold(header)), style: { head: [], border: [] }, wordWrap: true, }); rows.forEach((row) => table.push(row)); console.log(table.toString()); } function ensureFileExists(filePath) { if (!fs_1.default.existsSync(filePath)) { throw new Error(`File not found: ${filePath}`); } } function writeTemplateFile(outputPath, contents, force) { const resolved = path_1.default.resolve(outputPath); if (fs_1.default.existsSync(resolved) && !force) { throw new Error(`File already exists: ${resolved}. Use --force to overwrite.`); } fs_1.default.writeFileSync(resolved, contents, 'utf8'); } function withDocProcErrorHandling(action) { return __awaiter(this, void 0, void 0, function* () { var _a, _b, _c; try { yield action(); } catch (error) { if (((_a = error.response) === null || _a === void 0 ? void 0 : _a.status) === 401) { console.error(chalk_1.default.red('Authentication token has expired. Please login again using "nestbox login <domain>".')); return; } const message = ((_c = (_b = error.response) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.message) || error.message || 'Unknown error'; console.error(chalk_1.default.red('Error:'), message); } }); } //# sourceMappingURL=helpers.js.map