n8n-nodes-rooyai-model 1.0.4 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,12 +21,30 @@ class RooyaiChatModel {
21
21
  },
22
22
  },
23
23
  inputs: [],
24
- // 🔥 التعديل هنا: الاسم ده هو الصح 100% 🔥
25
24
  outputs: ['ai_languageModel'],
26
25
  credentials: [
27
- { name: 'rooyaiAccount', required: true },
28
- { name: 'rooyaiOpenAI', required: false },
29
- { name: 'rooyaiOpenRouter', required: false },
26
+ {
27
+ name: 'rooyaiAccount',
28
+ required: true,
29
+ },
30
+ {
31
+ name: 'rooyaiOpenAI',
32
+ required: true,
33
+ displayOptions: {
34
+ show: {
35
+ provider: ['openai'],
36
+ },
37
+ },
38
+ },
39
+ {
40
+ name: 'rooyaiOpenRouter',
41
+ required: true,
42
+ displayOptions: {
43
+ show: {
44
+ provider: ['openrouter'],
45
+ },
46
+ },
47
+ },
30
48
  ],
31
49
  properties: [
32
50
  {
@@ -34,32 +52,101 @@ class RooyaiChatModel {
34
52
  name: 'provider',
35
53
  type: 'options',
36
54
  options: [
37
- { name: 'OpenAI', value: 'openai' },
38
55
  { name: 'OpenRouter', value: 'openrouter' },
56
+ { name: 'OpenAI', value: 'openai' },
39
57
  ],
40
58
  default: 'openrouter',
59
+ noDataExpression: true,
60
+ },
61
+ // OpenRouter Models (قائمة ثابتة شاملة)
62
+ {
63
+ displayName: 'Model',
64
+ name: 'model',
65
+ type: 'options',
66
+ description: 'Select the model to use',
67
+ displayOptions: {
68
+ show: {
69
+ provider: ['openrouter'],
70
+ },
71
+ },
72
+ default: 'openai/gpt-4o',
73
+ options: [
74
+ // OpenAI
75
+ { name: 'GPT-4o', value: 'openai/gpt-4o' },
76
+ { name: 'GPT-4o Mini', value: 'openai/gpt-4o-mini' },
77
+ { name: 'GPT-4 Turbo', value: 'openai/gpt-4-turbo' },
78
+ // Anthropic
79
+ { name: 'Claude 3.5 Sonnet', value: 'anthropic/claude-3.5-sonnet' },
80
+ { name: 'Claude 3 Opus', value: 'anthropic/claude-3-opus' },
81
+ { name: 'Claude 3 Haiku', value: 'anthropic/claude-3-haiku' },
82
+ // Google
83
+ { name: 'Gemini Pro 1.5', value: 'google/gemini-pro-1.5' },
84
+ { name: 'Gemini Flash 1.5', value: 'google/gemini-flash-1.5' },
85
+ // Meta
86
+ { name: 'Llama 3 70B', value: 'meta-llama/llama-3-70b-instruct' },
87
+ { name: 'Llama 3 8B', value: 'meta-llama/llama-3-8b-instruct' },
88
+ // DeepSeek
89
+ { name: 'DeepSeek R1', value: 'deepseek/deepseek-r1' },
90
+ { name: 'DeepSeek V3', value: 'deepseek/deepseek-chat' },
91
+ // Mistral
92
+ { name: 'Mistral Large', value: 'mistralai/mistral-large' },
93
+ ],
41
94
  },
95
+ // OpenAI Models
42
96
  {
43
97
  displayName: 'Model',
44
98
  name: 'model',
45
- type: 'string',
99
+ type: 'options',
100
+ displayOptions: {
101
+ show: {
102
+ provider: ['openai'],
103
+ },
104
+ },
105
+ options: [
106
+ { name: 'GPT-4o', value: 'gpt-4o' },
107
+ { name: 'GPT-4o Mini', value: 'gpt-4o-mini' },
108
+ { name: 'GPT-4 Turbo', value: 'gpt-4-turbo' },
109
+ { name: 'GPT-3.5 Turbo', value: 'gpt-3.5-turbo' },
110
+ ],
46
111
  default: 'gpt-4o',
47
112
  },
113
+ // Options
48
114
  {
49
- displayName: 'Temperature',
50
- name: 'temperature',
51
- type: 'number',
52
- default: 0.7,
53
- typeOptions: { minValue: 0, maxValue: 2, numberStepSize: 0.1 },
115
+ displayName: 'Options',
116
+ name: 'options',
117
+ type: 'collection',
118
+ placeholder: 'Add Option',
119
+ default: {},
120
+ options: [
121
+ {
122
+ displayName: 'Temperature',
123
+ name: 'temperature',
124
+ type: 'number',
125
+ default: 0.7,
126
+ typeOptions: {
127
+ minValue: 0,
128
+ maxValue: 2,
129
+ numberStepSize: 0.1,
130
+ },
131
+ },
132
+ {
133
+ displayName: 'Max Tokens',
134
+ name: 'maxTokens',
135
+ type: 'number',
136
+ default: 2000,
137
+ description: 'The maximum number of tokens to generate',
138
+ },
139
+ ],
54
140
  },
55
141
  ],
56
142
  };
57
143
  }
58
144
  async supplyData(itemIndex) {
145
+ var _a;
59
146
  const credentials = await this.getCredentials('rooyaiAccount');
60
147
  const provider = this.getNodeParameter('provider', itemIndex);
61
148
  const modelName = this.getNodeParameter('model', itemIndex);
62
- const temperature = this.getNodeParameter('temperature', itemIndex);
149
+ const options = this.getNodeParameter('options', itemIndex, {});
63
150
  let apiKey = '';
64
151
  if (provider === 'openrouter') {
65
152
  const creds = await this.getCredentials('rooyaiOpenRouter');
@@ -79,7 +166,8 @@ class RooyaiChatModel {
79
166
  },
80
167
  },
81
168
  modelName: modelName,
82
- temperature: temperature,
169
+ temperature: (_a = options.temperature) !== null && _a !== void 0 ? _a : 0.7,
170
+ maxTokens: options.maxTokens,
83
171
  });
84
172
  return {
85
173
  response: model,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-rooyai-model",
3
- "version": "1.0.4",
3
+ "version": "1.0.5",
4
4
  "description": "Rooyai AI Model Integration for n8n",
5
5
  "keywords": [
6
6
  "n8n-community-node-package"
@@ -23,7 +23,8 @@
23
23
  "prepublishOnly": "npm run build"
24
24
  },
25
25
  "files": [
26
- "dist"
26
+ "dist",
27
+ "nodes/rooyai.svg"
27
28
  ],
28
29
  "devDependencies": {
29
30
  "n8n-workflow": "^1.120.4",