UNPKG

n8n-nodes-puter-ai

Version:

Advanced n8n node for Puter.js AI with RAG agentic capabilities, document processing, audio transcription, Supabase integration, and cost-optimized model priorities

197 lines (196 loc) 8.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PuterAiApi = void 0; class PuterAiApi { constructor() { this.name = 'puterAiApi'; this.displayName = 'Puter AI API'; this.documentationUrl = 'https://puter.com'; this.properties = [ { displayName: 'Primary Username', name: 'primaryUsername', type: 'string', default: '', required: true, placeholder: 'Enter your primary Puter.js username (e.g., Puterai2025)', description: 'Your main Puter.js account username', }, { displayName: 'Primary Password', name: 'primaryPassword', type: 'string', typeOptions: { password: true, }, default: '', required: true, placeholder: 'Enter your primary Puter.js password', description: 'Your main Puter.js account password', }, { displayName: 'Primary Account Preferred Models', name: 'primaryModels', type: 'multiOptions', default: ['google/gemma-2-27b-it', 'gemini-1.5-flash', 'gemini-2.0-flash', 'gpt-4o-mini'], description: 'Select preferred models for primary account (in priority order)', options: [ { name: 'Gemma 2 27B ($0.10) - Most Cost-Effective', value: 'google/gemma-2-27b-it' }, { name: 'Gemini 1.5 Flash ($0.225)', value: 'gemini-1.5-flash' }, { name: 'Gemini 2.0 Flash ($0.30)', value: 'gemini-2.0-flash' }, { name: 'GPT-5 Nano ($0.35)', value: 'gpt-5-nano' }, { name: 'GPT-4o Mini ($0.375)', value: 'gpt-4o-mini' }, { name: 'o4-mini (~$0.40)', value: 'o4-mini' }, { name: 'GPT-4.1 Nano (~$0.45)', value: 'gpt-4.1-nano' }, { name: 'Llama 3.1 70B ($0.88)', value: 'meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo' }, { name: 'GPT-4o (Premium)', value: 'gpt-4o' }, { name: 'Claude 3.5 Sonnet (Premium)', value: 'claude-3-5-sonnet-20241022' }, { name: 'o3 (Latest Premium)', value: 'o3' }, { name: 'o1-pro (Premium)', value: 'o1-pro' }, ], }, { displayName: 'Fallback Username 1', name: 'fallback1Username', type: 'string', default: '', placeholder: 'Enter first fallback username (e.g., ticketapp2025)', description: 'First fallback account username (highest priority)', }, { displayName: 'Fallback Password 1', name: 'fallback1Password', type: 'string', typeOptions: { password: true, }, default: '', placeholder: 'Enter first fallback password', description: 'First fallback account password', }, { displayName: 'Fallback 1 Preferred Models', name: 'fallback1Models', type: 'multiOptions', default: ['gemini-1.5-flash', 'gpt-4o-mini', 'gemini-2.0-flash'], description: 'Select preferred models for first fallback account', options: [ { name: 'Gemma 2 27B ($0.10) - Most Cost-Effective', value: 'google/gemma-2-27b-it' }, { name: 'Gemini 1.5 Flash ($0.225)', value: 'gemini-1.5-flash' }, { name: 'Gemini 2.0 Flash ($0.30)', value: 'gemini-2.0-flash' }, { name: 'GPT-5 Nano ($0.35)', value: 'gpt-5-nano' }, { name: 'GPT-4o Mini ($0.375)', value: 'gpt-4o-mini' }, { name: 'o4-mini (~$0.40)', value: 'o4-mini' }, { name: 'GPT-4.1 Nano (~$0.45)', value: 'gpt-4.1-nano' }, { name: 'Llama 3.1 70B ($0.88)', value: 'meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo' }, { name: 'GPT-4o (Premium)', value: 'gpt-4o' }, { name: 'Claude 3.5 Sonnet (Premium)', value: 'claude-3-5-sonnet-20241022' }, { name: 'o3 (Latest Premium)', value: 'o3' }, { name: 'o1-pro (Premium)', value: 'o1-pro' }, ], }, { displayName: 'Fallback Username 2', name: 'fallback2Username', type: 'string', default: '', placeholder: 'Enter second fallback username (optional)', description: 'Second fallback account username (lower priority)', }, { displayName: 'Fallback Password 2', name: 'fallback2Password', type: 'string', typeOptions: { password: true, }, default: '', placeholder: 'Enter second fallback password', description: 'Second fallback account password', }, { displayName: 'Fallback 2 Preferred Models', name: 'fallback2Models', type: 'multiOptions', default: ['google/gemma-2-27b-it', 'gemini-1.5-flash'], description: 'Select preferred models for second fallback account', options: [ { name: 'Gemma 2 27B ($0.10) - Most Cost-Effective', value: 'google/gemma-2-27b-it' }, { name: 'Gemini 1.5 Flash ($0.225)', value: 'gemini-1.5-flash' }, { name: 'Gemini 2.0 Flash ($0.30)', value: 'gemini-2.0-flash' }, { name: 'GPT-5 Nano ($0.35)', value: 'gpt-5-nano' }, { name: 'GPT-4o Mini ($0.375)', value: 'gpt-4o-mini' }, { name: 'o4-mini (~$0.40)', value: 'o4-mini' }, { name: 'GPT-4.1 Nano (~$0.45)', value: 'gpt-4.1-nano' }, { name: 'Llama 3.1 70B ($0.88)', value: 'meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo' }, { name: 'GPT-4o (Premium)', value: 'gpt-4o' }, { name: 'Claude 3.5 Sonnet (Premium)', value: 'claude-3-5-sonnet-20241022' }, { name: 'o3 (Latest Premium)', value: 'o3' }, { name: 'o1-pro (Premium)', value: 'o1-pro' }, ], }, { displayName: 'Enable Auto Fallback', name: 'enableAutoFallback', type: 'boolean', default: true, description: 'Automatically switch to fallback accounts on errors', }, { displayName: 'Fallback Strategy', name: 'fallbackStrategy', type: 'options', default: 'sequential', options: [ { name: 'Sequential', value: 'sequential', description: 'Try fallback accounts in priority order', }, { name: 'Random', value: 'random', description: 'Try fallback accounts in random order', }, ], displayOptions: { show: { enableAutoFallback: [true], }, }, }, { displayName: 'Max Retry Attempts', name: 'maxRetryAttempts', type: 'number', default: 3, description: 'Maximum number of accounts to try before giving up', typeOptions: { minValue: 1, maxValue: 10, }, displayOptions: { show: { enableAutoFallback: [true], }, }, }, ]; this.authenticate = { type: 'generic', properties: { headers: { Authorization: '=Bearer {{$credentials.token}}', }, }, }; this.test = { request: { baseURL: 'https://puter.com', url: '/login', method: 'POST', }, }; } } exports.PuterAiApi = PuterAiApi;