Skip to main content
Glama

Gotas Commerce MCP Server

console.js5.14 kB
import chalk from 'chalk'; import BaseFormatter from './base.js'; const colors = { added: chalk.green, deleted: chalk.red, movedestination: chalk.gray, moved: chalk.yellow, unchanged: chalk.gray, error: chalk.white.bgRed, textDiffLine: chalk.gray, }; class ConsoleFormatter extends BaseFormatter { constructor() { super(); this.includeMoveDestinations = false; } prepareContext(context) { super.prepareContext(context); context.indent = function (levels) { this.indentLevel = (this.indentLevel || 0) + (typeof levels === 'undefined' ? 1 : levels); this.indentPad = new Array(this.indentLevel + 1).join(' '); this.outLine(); }; context.outLine = function () { this.buffer.push(`\n${this.indentPad || ''}`); }; context.out = function (...args) { for (let i = 0, l = args.length; i < l; i++) { const lines = args[i].split('\n'); let text = lines.join(`\n${this.indentPad || ''}`); if (this.color && this.color[0]) { text = this.color[0](text); } this.buffer.push(text); } }; context.pushColor = function (color) { this.color = this.color || []; this.color.unshift(color); }; context.popColor = function () { this.color = this.color || []; this.color.shift(); }; } typeFormattterErrorFormatter(context, err) { context.pushColor(colors.error); // eslint-disable-next-line @typescript-eslint/restrict-template-expressions context.out(`[ERROR]${err}`); context.popColor(); } formatValue(context, value) { context.out(JSON.stringify(value, null, 2)); } formatTextDiffString(context, value) { const lines = this.parseTextDiff(value); context.indent(); for (let i = 0, l = lines.length; i < l; i++) { const line = lines[i]; context.pushColor(colors.textDiffLine); context.out(`${line.location.line},${line.location.chr} `); context.popColor(); const pieces = line.pieces; for (let pieceIndex = 0, piecesLength = pieces.length; pieceIndex < piecesLength; pieceIndex++) { const piece = pieces[pieceIndex]; context.pushColor(colors[piece.type]); context.out(piece.text); context.popColor(); } if (i < l - 1) { context.outLine(); } } context.indent(-1); } rootBegin(context, type, nodeType) { context.pushColor(colors[type]); if (type === 'node') { context.out(nodeType === 'array' ? '[' : '{'); context.indent(); } } rootEnd(context, type, nodeType) { if (type === 'node') { context.indent(-1); context.out(nodeType === 'array' ? ']' : '}'); } context.popColor(); } nodeBegin(context, key, leftKey, type, nodeType) { context.pushColor(colors[type]); context.out(`${leftKey}: `); if (type === 'node') { context.out(nodeType === 'array' ? '[' : '{'); context.indent(); } } nodeEnd(context, key, leftKey, type, nodeType, isLast) { if (type === 'node') { context.indent(-1); context.out(nodeType === 'array' ? ']' : `}${isLast ? '' : ','}`); } if (!isLast) { context.outLine(); } context.popColor(); } format_unchanged(context, delta, left) { if (typeof left === 'undefined') { return; } this.formatValue(context, left); } format_movedestination(context, delta, left) { if (typeof left === 'undefined') { return; } this.formatValue(context, left); } format_node(context, delta, left) { // recurse this.formatDeltaChildren(context, delta, left); } format_added(context, delta) { this.formatValue(context, delta[0]); } format_modified(context, delta) { context.pushColor(colors.deleted); this.formatValue(context, delta[0]); context.popColor(); context.out(' => '); context.pushColor(colors.added); this.formatValue(context, delta[1]); context.popColor(); } format_deleted(context, delta) { this.formatValue(context, delta[0]); } format_moved(context, delta) { context.out(`==> ${delta[1]}`); } format_textdiff(context, delta) { this.formatTextDiffString(context, delta[0]); } } export default ConsoleFormatter; let defaultInstance; export const format = (delta, left) => { if (!defaultInstance) { defaultInstance = new ConsoleFormatter(); } return defaultInstance.format(delta, left); }; export function log(delta, left) { console.log(format(delta, left)); }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/caiovicentino/mcpGOTAS'

If you have feedback or need assistance with the MCP directory API, please join our Discord server