UNPKG

n8n-bookstack-agent-tool

Version:

Comprehensive BookStack API integration tool for n8n AI Agent with MCP framework compatibility

93 lines 3.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.N8nConfigGenerator = void 0; class N8nConfigGenerator { static generateBookStackConfig() { return [ { displayName: 'BookStack Base URL', name: 'baseUrl', type: 'string', required: true, placeholder: 'https://your-bookstack.example.com', description: 'The base URL of your BookStack instance (without trailing slash)' }, { displayName: 'Authentication Method', name: 'authType', type: 'options', required: true, default: 'bearer', options: [ { name: 'Bearer Token', value: 'bearer' }, { name: 'Session Cookie', value: 'session' } ], description: 'Choose the authentication method to use with BookStack API' }, { displayName: 'API Token', name: 'token', type: 'string', required: true, placeholder: 'your-api-token-here', description: 'Your BookStack API token (visible when authType is "bearer")' }, { displayName: 'Session Cookie', name: 'sessionCookie', type: 'string', required: false, placeholder: 'bookstack_session=...', description: 'Your BookStack session cookie (visible when authType is "session")' }, { displayName: 'Request Timeout (ms)', name: 'timeout', type: 'number', default: 30000, required: false, description: 'Timeout for API requests in milliseconds (1000-300000)' }, { displayName: 'Retry Attempts', name: 'retryAttempts', type: 'number', default: 3, required: false, description: 'Number of retry attempts for failed requests (0-10)' }, { displayName: 'Retry Delay (ms)', name: 'retryDelay', type: 'number', default: 1000, required: false, description: 'Delay between retry attempts in milliseconds (100-10000)' } ]; } static generateConfigSchema() { const config = this.generateBookStackConfig(); return { type: 'object', properties: config.reduce((acc, field) => { acc[field.name] = { type: field.type === 'options' ? 'string' : field.type, description: field.description, ...(field.default !== undefined && { default: field.default }), ...(field.options && { enum: field.options.map(opt => opt.value) }) }; return acc; }, {}), required: config.filter(field => field.required).map(field => field.name) }; } } exports.N8nConfigGenerator = N8nConfigGenerator; //# sourceMappingURL=gui-config.js.map