UNPKG

@kaia-team/n8n-nodes-kaia

Version:
383 lines 17.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Kaia = void 0; // Import all modular API modules const apis_1 = require("./apis"); class Kaia { constructor() { this.description = { displayName: 'Kaia', name: 'kaia', icon: 'file:kaia.svg', group: ['transform'], version: 1, description: 'Interact with Kaia LLM platform APIs', subtitle: '={{ $parameter["operation"] + ": " + $parameter["resource"] }}', defaults: { name: 'Kaia', }, inputs: ["main" /* NodeConnectionType.Main */], outputs: ["main" /* NodeConnectionType.Main */], credentials: [ { name: 'kaiaApi', required: true, }, ], codex: { categories: ['AI & ML'], subcategories: { 'AI & ML': ['LLM', 'Chatbot'], }, resources: { primaryDocumentation: [ { url: 'https://docs.kaia.team', }, ], }, }, properties: [ { displayName: 'Resource', name: 'resource', type: 'options', noDataExpression: true, options: [ { name: 'Admin API', value: 'admin', description: 'Interact with the admin instance API', }, { name: 'Admin Token', value: 'adminTokens', description: 'Manage admin tokens', }, { name: 'Answer Rating', value: 'answerRatings', description: 'Manage answer ratings', }, { name: 'Answer Reporting', value: 'answerReportings', description: 'Manage answer reportings', }, { name: 'API Config', value: 'apiConfigs', description: 'Manage incoming webhooks (API configs)', }, { name: 'Assistant', value: 'assistants', description: 'Manage assistants', }, { name: 'Chat History', value: 'chatHistories', description: 'Manage chat histories', }, { name: 'Content', value: 'contents', description: 'Manage contents (news tiles)', }, { name: 'Crawl', value: 'crawls', description: 'Manage websites (crawls)', }, { name: 'CSV', value: 'documentImports', description: 'Manage CSV document imports', }, { name: 'Database Import', value: 'databaseImports', description: 'Manage database imports', }, { name: 'Document', value: 'documents', description: 'Manage documents', }, { name: 'Document Shard', value: 'documentShards', description: 'Manage document shards', }, { name: 'Feed', value: 'feeds', }, { name: 'Function Call', value: 'functionCalls', description: 'Manage function calls', }, { name: 'Headless Widget API', value: 'widget', description: 'Interact with the headless widget API', }, { name: 'Link Package', value: 'linkPackages', description: 'Manage link packages', }, { name: 'Shop', value: 'shop', description: 'Manage redeem codes', }, { name: 'Statistic', value: 'statistics', description: 'Get statistics', }, { name: 'Summary Config', value: 'summaryConfig', description: 'Manage summary configuration', }, { name: 'System Webhook', value: 'systemWebhook', description: 'Manage system webhooks', }, { name: 'User Account', value: 'userAccounts', description: 'Manage user accounts', }, { name: 'User File', value: 'userFiles', description: 'Manage user files', }, { name: 'Vec DB', value: 'vecDbs', description: 'Manage vector databases', }, { name: 'Widget', value: 'widgets', description: 'Manage widget configurations', }, ], default: 'admin', }, { displayName: 'Additional Fields', name: 'additionalFields', type: 'collection', placeholder: 'Add Field', default: {}, displayOptions: { show: { resource: ['widget', 'systemWebhook', 'widgets', 'assistants', 'statistics', 'chatHistories', 'userAccounts', 'answerRatings', 'answerReportings', 'summaryConfig', 'userFiles', 'apiConfigs', 'documents', 'documentImports', 'databaseImports', 'adminTokens', 'vecDbs', 'documentShards', 'crawls', 'feeds', 'contents', 'linkPackages', 'shop'], }, }, options: [ { displayName: 'Headers', name: 'headers', type: 'fixedCollection', typeOptions: { multipleValues: true, }, placeholder: 'Add Header', default: {}, options: [ { name: 'headerParameters', displayName: 'Headers', values: [ { displayName: 'Name', name: 'name', type: 'string', default: '', description: 'Name of the header', }, { displayName: 'Value', name: 'value', type: 'string', default: '', description: 'Value of the header', }, ], }, ], }, ], }, // Admin API Properties ...apis_1.adminApiProperties, // Statistics API Properties ...apis_1.statisticsApiProperties, // User Files API Properties ...apis_1.userFilesApiProperties, // Admin Tokens API Properties ...apis_1.adminTokensApiProperties, // Chat Histories API Properties ...apis_1.chatHistoriesApiProperties, // Answer Ratings API Properties ...apis_1.answerRatingsApiProperties, // Answer Reportings API Properties ...apis_1.answerReportingsApiProperties, // Summary Config API Properties ...apis_1.summaryConfigApiProperties, // Function Calls API Properties ...apis_1.functionCallsApiProperties, // User Accounts API Properties ...apis_1.userAccountsApiProperties, // API Configs API Properties ...apis_1.apiConfigsApiProperties, // Assistants API Properties ...apis_1.assistantsApiProperties, // Widget API Properties ...apis_1.widgetApiProperties, // System Webhook API Properties ...apis_1.systemWebhookApiProperties, // Widgets API Properties ...apis_1.widgetsApiProperties, // Documents API Properties ...apis_1.documentsApiProperties, // Document Imports API Properties ...apis_1.documentImportsApiProperties, // Vec DBs API Properties ...apis_1.vecDbsApiProperties, // Document Shards API Properties ...apis_1.documentShardsApiProperties, // Crawls API Properties ...apis_1.crawlsApiProperties, // Feeds API Properties ...apis_1.feedsApiProperties, // Contents API Properties ...apis_1.contentsApiProperties, // Link Packages API Properties ...apis_1.linkPackagesApiProperties, // Shop API Properties ...apis_1.shopApiProperties, // Database Imports API Properties ...apis_1.databaseImportsApiProperties, ], }; } async execute() { const items = this.getInputData(); const returnData = []; const credentials = await this.getCredentials('kaiaApi'); const adminUrl = credentials.adminUrl; const adminToken = credentials.adminToken; const clientId = credentials.clientId; for (let i = 0; i < items.length; i++) { try { const resource = this.getNodeParameter('resource', i); let response; if (resource === 'admin') { response = await (0, apis_1.handleAdminApi)(this, i, adminUrl, adminToken); } else if (resource === 'widget') { response = await (0, apis_1.handleWidgetApi)(this, i, adminUrl, adminToken, clientId); } else if (resource === 'systemWebhook') { response = await (0, apis_1.handleSystemWebhook)(this, i, adminUrl, adminToken); } else if (resource === 'widgets') { response = await (0, apis_1.handleWidgetsApi)(this, i, adminUrl, adminToken); } else if (resource === 'assistants') { response = await (0, apis_1.handleAssistantsApi)(this, i, adminUrl, adminToken); } else if (resource === 'statistics') { response = await (0, apis_1.handleStatisticsApi)(this, i, adminUrl, adminToken); } else if (resource === 'chatHistories') { response = await (0, apis_1.handleChatHistoriesApi)(this, i, adminUrl, adminToken); } else if (resource === 'userAccounts') { response = await (0, apis_1.handleUserAccountsApi)(this, i, adminUrl, adminToken); } else if (resource === 'functionCalls') { response = await (0, apis_1.handleFunctionCallsApi)(this, i, adminUrl, adminToken); } else if (resource === 'answerRatings') { response = await (0, apis_1.handleAnswerRatingsApi)(this, i, adminUrl, adminToken); } else if (resource === 'answerReportings') { response = await (0, apis_1.handleAnswerReportingsApi)(this, i, adminUrl, adminToken); } else if (resource === 'summaryConfig') { response = await (0, apis_1.handleSummaryConfigApi)(this, i, adminUrl, adminToken); } else if (resource === 'userFiles') { response = await (0, apis_1.handleUserFilesApi)(this, i, adminUrl, adminToken); } else if (resource === 'apiConfigs') { response = await (0, apis_1.handleApiConfigsApi)(this, i, adminUrl, adminToken); } else if (resource === 'documents') { response = await (0, apis_1.handleDocumentsApi)(this, i, adminUrl, adminToken); } else if (resource === 'documentImports') { response = await (0, apis_1.handleDocumentImportsApi)(this, i, adminUrl, adminToken); } else if (resource === 'adminTokens') { response = await (0, apis_1.handleAdminTokensApi)(this, i, adminUrl, adminToken); } else if (resource === 'vecDbs') { response = await (0, apis_1.handleVecDbsApi)(this, i, adminUrl, adminToken); } else if (resource === 'documentShards') { response = await (0, apis_1.handleDocumentShardsApi)(this, i, adminUrl, adminToken); } else if (resource === 'crawls') { response = await (0, apis_1.handleCrawlsApi)(this, i, adminUrl, adminToken); } else if (resource === 'feeds') { response = await (0, apis_1.handleFeedsApi)(this, i, adminUrl, adminToken); } else if (resource === 'contents') { response = await (0, apis_1.handleContentsApi)(this, i, adminUrl, adminToken); } else if (resource === 'linkPackages') { response = await (0, apis_1.handleLinkPackagesApi)(this, i, adminUrl, adminToken); } else if (resource === 'shop') { response = await (0, apis_1.handleShopApi)(this, i, adminUrl, adminToken); } else if (resource === 'databaseImports') { response = await (0, apis_1.handleDatabaseImportsApi)(this, i, adminUrl, adminToken); } if (response) { // Handle both single objects and arrays of execution data if (Array.isArray(response)) { // If response is already an array of INodeExecutionData, spread it returnData.push(...response); } else { // If response is a single object, wrap it in INodeExecutionData returnData.push({ json: response }); } } } catch (error) { if (this.continueOnFail()) { returnData.push({ json: { error: error.message } }); continue; } throw error; } } return [returnData]; } } exports.Kaia = Kaia; //# sourceMappingURL=Kaia.node.js.map