UNPKG

@kaia-team/n8n-nodes-kaia

Version:
195 lines 6.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.chatHistoriesApiProperties = void 0; exports.handleChatHistoriesApi = handleChatHistoriesApi; const n8n_workflow_1 = require("n8n-workflow"); const utils_1 = require("../utils"); /** * Chat Histories API Properties * Properties specific to the chatHistories API resource */ exports.chatHistoriesApiProperties = [ { displayName: 'Operation', name: 'operation', type: 'options', noDataExpression: true, displayOptions: { show: { resource: ['chatHistories'], }, }, options: [ { name: 'List', value: 'list', action: 'List chat histories', }, { name: 'Read', value: 'read', action: 'Read a chat history', }, ], default: 'list', }, { displayName: 'Chat History ID', name: 'chatHistoryId', type: 'string', default: '', displayOptions: { show: { resource: ['chatHistories'], operation: ['read'], }, }, required: true, }, { displayName: 'Start Date', name: 'start_date', type: 'dateTime', default: '', displayOptions: { show: { resource: ['chatHistories'], operation: ['list'], }, }, }, { displayName: 'End Date', name: 'end_date', type: 'dateTime', default: '', displayOptions: { show: { resource: ['chatHistories'], operation: ['list'], }, }, }, { displayName: 'Assistants', name: 'assistants', type: 'string', default: '', placeholder: '67891a243d8c8bb261870f87, 67925d786582eb1f22f82429, 6784f852c9fb0f1181cdc7de', displayOptions: { show: { resource: ['chatHistories'], operation: ['list'], }, }, description: 'Comma-separated list of assistant IDs (e.g., 67891a243d8c8bb261870f87, 67925d786582eb1f22f82429)', }, { displayName: 'Sorting', name: 'sorting', type: 'string', default: 'created', displayOptions: { show: { resource: ['chatHistories'], operation: ['list'], }, }, }, { displayName: 'Content', name: 'content', type: 'options', options: [ { name: 'Short', value: 'short' }, { name: 'Long', value: 'long' }, ], default: 'short', displayOptions: { show: { resource: ['chatHistories'], operation: ['list'], }, }, description: 'Content type (short for external chats, long for full content)', }, { displayName: 'User ID', name: 'user_id', type: 'string', default: '', displayOptions: { show: { resource: ['chatHistories'], operation: ['list'], }, }, }, { displayName: 'Account ID', name: 'account_id', type: 'string', default: '', displayOptions: { show: { resource: ['chatHistories'], operation: ['list'], }, }, }, ]; /** * Chat Histories API Handler * Handles requests to the chatHistories API */ async function handleChatHistoriesApi(executeFunctions, itemIndex, adminUrl, adminToken) { const operation = executeFunctions.getNodeParameter('operation', itemIndex); const additionalFields = executeFunctions.getNodeParameter('additionalFields', itemIndex, {}); const headers = (0, utils_1.createHeaders)(adminToken, additionalFields); if (operation === 'list') { const qs = {}; const startDate = executeFunctions.getNodeParameter('start_date', itemIndex, ''); if (startDate) qs.start_date = startDate; const endDate = executeFunctions.getNodeParameter('end_date', itemIndex, ''); if (endDate) qs.end_date = endDate; const assistantsStr = executeFunctions.getNodeParameter('assistants', itemIndex, ''); if (assistantsStr) { const assistantsArray = assistantsStr.split(',').map(s => s.trim()); // Use repeat format for Rails-style array parameters qs['assistants[]'] = assistantsArray; } const sorting = executeFunctions.getNodeParameter('sorting', itemIndex, ''); if (sorting) qs.sorting = sorting; const content = executeFunctions.getNodeParameter('content', itemIndex, ''); if (content) qs.content = content; const userId = executeFunctions.getNodeParameter('user_id', itemIndex, ''); if (userId) qs.user_id = userId; const accountId = executeFunctions.getNodeParameter('account_id', itemIndex, ''); if (accountId) qs.account_id = accountId; const response = await executeFunctions.helpers.httpRequest({ method: 'GET', url: `${adminUrl}/chat_histories.json`, headers, qs, arrayFormat: 'repeat', // This will format arrays as repeated parameters }); return executeFunctions.helpers.returnJsonArray(response); } else if (operation === 'read') { const chatHistoryId = executeFunctions.getNodeParameter('chatHistoryId', itemIndex); const response = await executeFunctions.helpers.httpRequest({ method: 'GET', url: `${adminUrl}/chat_histories/${chatHistoryId}.json`, headers, }); return response; } throw new n8n_workflow_1.NodeOperationError(executeFunctions.getNode(), `Unknown chat histories operation: ${operation}`); } //# sourceMappingURL=chatHistoriesApi.js.map