n8n-nodes-cognidata 1.0.0
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.
- package/LICENSE +21 -0
- package/dist/credentials/CognidataApi.credentials.d.ts +10 -0
- package/dist/credentials/CognidataApi.credentials.d.ts.map +1 -0
- package/dist/credentials/CognidataApi.credentials.js +46 -0
- package/dist/credentials/CognidataApi.credentials.js.map +1 -0
- package/dist/nodes/CognidataAi/CognidataAi.node.d.ts +11 -0
- package/dist/nodes/CognidataAi/CognidataAi.node.d.ts.map +1 -0
- package/dist/nodes/CognidataAi/CognidataAi.node.js +271 -0
- package/dist/nodes/CognidataAi/CognidataAi.node.js.map +1 -0
- package/dist/nodes/CognidataAi/cognidata.svg +8 -0
- package/package.json +37 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Cognidata
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IAuthenticateGeneric, ICredentialTestRequest, ICredentialType, INodeProperties } from 'n8n-workflow';
|
|
2
|
+
export declare class CognidataApi implements ICredentialType {
|
|
3
|
+
name: string;
|
|
4
|
+
displayName: string;
|
|
5
|
+
documentationUrl: string;
|
|
6
|
+
properties: INodeProperties[];
|
|
7
|
+
authenticate: IAuthenticateGeneric;
|
|
8
|
+
test: ICredentialTestRequest;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=CognidataApi.credentials.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CognidataApi.credentials.d.ts","sourceRoot":"","sources":["../../credentials/CognidataApi.credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,MAAM,cAAc,CAAC;AAEtB,qBAAa,YAAa,YAAW,eAAe;IACnD,IAAI,SAAkB;IACtB,WAAW,SAAyB;IACpC,gBAAgB,SAAmC;IACnD,UAAU,EAAE,eAAe,EAAE,CAkB3B;IAEF,YAAY,EAAE,oBAAoB,CAOhC;IAEF,IAAI,EAAE,sBAAsB,CAM1B;CACF"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CognidataApi = void 0;
|
|
4
|
+
class CognidataApi {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.name = 'cognidataApi';
|
|
7
|
+
this.displayName = 'Cognidata Suite API';
|
|
8
|
+
this.documentationUrl = 'https://docs.cognidata.io/api';
|
|
9
|
+
this.properties = [
|
|
10
|
+
{
|
|
11
|
+
displayName: 'API Key',
|
|
12
|
+
name: 'apiKey',
|
|
13
|
+
type: 'string',
|
|
14
|
+
typeOptions: { password: true },
|
|
15
|
+
default: '',
|
|
16
|
+
required: true,
|
|
17
|
+
description: 'Your Cognidata Suite API key',
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
displayName: 'Base URL',
|
|
21
|
+
name: 'baseUrl',
|
|
22
|
+
type: 'string',
|
|
23
|
+
default: 'http://localhost:8000/api/v1',
|
|
24
|
+
required: true,
|
|
25
|
+
description: 'Base URL of your Cognidata Suite instance (e.g. https://api.cognidata.io/api/v1)',
|
|
26
|
+
},
|
|
27
|
+
];
|
|
28
|
+
this.authenticate = {
|
|
29
|
+
type: 'generic',
|
|
30
|
+
properties: {
|
|
31
|
+
headers: {
|
|
32
|
+
Authorization: '=Bearer {{$credentials.apiKey}}',
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
this.test = {
|
|
37
|
+
request: {
|
|
38
|
+
baseURL: '={{$credentials.baseUrl}}',
|
|
39
|
+
url: '/inference/models',
|
|
40
|
+
method: 'GET',
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.CognidataApi = CognidataApi;
|
|
46
|
+
//# sourceMappingURL=CognidataApi.credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CognidataApi.credentials.js","sourceRoot":"","sources":["../../credentials/CognidataApi.credentials.ts"],"names":[],"mappings":";;;AAOA,MAAa,YAAY;IAAzB;QACC,SAAI,GAAG,cAAc,CAAC;QACtB,gBAAW,GAAG,qBAAqB,CAAC;QACpC,qBAAgB,GAAG,+BAA+B,CAAC;QACnD,eAAU,GAAsB;YAC/B;gBACC,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,8BAA8B;aAC3C;YACD;gBACC,WAAW,EAAE,UAAU;gBACvB,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,8BAA8B;gBACvC,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,kFAAkF;aAC/F;SACD,CAAC;QAEF,iBAAY,GAAyB;YACpC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,aAAa,EAAE,iCAAiC;iBAChD;aACD;SACD,CAAC;QAEF,SAAI,GAA2B;YAC9B,OAAO,EAAE;gBACR,OAAO,EAAE,2BAA2B;gBACpC,GAAG,EAAE,mBAAmB;gBACxB,MAAM,EAAE,KAAK;aACb;SACD,CAAC;IACH,CAAC;CAAA;AAxCD,oCAwCC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IExecuteFunctions, ILoadOptionsFunctions, INodeExecutionData, INodePropertyOptions, INodeType, INodeTypeDescription } from 'n8n-workflow';
|
|
2
|
+
export declare class CognidataAi implements INodeType {
|
|
3
|
+
description: INodeTypeDescription;
|
|
4
|
+
methods: {
|
|
5
|
+
loadOptions: {
|
|
6
|
+
getModels(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]>;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=CognidataAi.node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CognidataAi.node.d.ts","sourceRoot":"","sources":["../../../nodes/CognidataAi/CognidataAi.node.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,SAAS,EACT,oBAAoB,EAEpB,MAAM,cAAc,CAAC;AAEtB,qBAAa,WAAY,YAAW,SAAS;IAC5C,WAAW,EAAE,oBAAoB,CAqJ/B;IAEF,OAAO;;4BAEiB,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;;MAoB7E;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CAiGvE"}
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CognidataAi = void 0;
|
|
4
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
|
+
class CognidataAi {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.description = {
|
|
8
|
+
displayName: 'Cognidata AI',
|
|
9
|
+
name: 'cognidataAi',
|
|
10
|
+
icon: 'file:cognidata.svg',
|
|
11
|
+
group: ['transform'],
|
|
12
|
+
version: 1,
|
|
13
|
+
subtitle: '={{$parameter["operation"]}}',
|
|
14
|
+
description: 'Use LLM models via Cognidata Suite — unified AI gateway with token tracking and cost control',
|
|
15
|
+
defaults: {
|
|
16
|
+
name: 'Cognidata AI',
|
|
17
|
+
},
|
|
18
|
+
inputs: ['main'],
|
|
19
|
+
outputs: ['main'],
|
|
20
|
+
credentials: [
|
|
21
|
+
{
|
|
22
|
+
name: 'cognidataApi',
|
|
23
|
+
required: true,
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
properties: [
|
|
27
|
+
{
|
|
28
|
+
displayName: 'Operation',
|
|
29
|
+
name: 'operation',
|
|
30
|
+
type: 'options',
|
|
31
|
+
noDataExpression: true,
|
|
32
|
+
options: [
|
|
33
|
+
{
|
|
34
|
+
name: 'Chat Completion',
|
|
35
|
+
value: 'chatCompletion',
|
|
36
|
+
description: 'Send a chat message and get a response',
|
|
37
|
+
action: 'Chat completion',
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: 'Trigger Flow',
|
|
41
|
+
value: 'triggerFlow',
|
|
42
|
+
description: 'Trigger a Cognidata Suite Agent Flow',
|
|
43
|
+
action: 'Trigger agent flow',
|
|
44
|
+
},
|
|
45
|
+
],
|
|
46
|
+
default: 'chatCompletion',
|
|
47
|
+
},
|
|
48
|
+
// ── Chat Completion fields ──
|
|
49
|
+
{
|
|
50
|
+
displayName: 'System Prompt',
|
|
51
|
+
name: 'systemPrompt',
|
|
52
|
+
type: 'string',
|
|
53
|
+
typeOptions: {
|
|
54
|
+
rows: 4,
|
|
55
|
+
},
|
|
56
|
+
default: '',
|
|
57
|
+
description: 'System instructions for the AI model',
|
|
58
|
+
displayOptions: {
|
|
59
|
+
show: {
|
|
60
|
+
operation: ['chatCompletion'],
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
displayName: 'User Message',
|
|
66
|
+
name: 'userMessage',
|
|
67
|
+
type: 'string',
|
|
68
|
+
typeOptions: {
|
|
69
|
+
rows: 4,
|
|
70
|
+
},
|
|
71
|
+
default: '',
|
|
72
|
+
required: true,
|
|
73
|
+
description: 'The message to send to the AI model. Supports expressions like {{ $json.message }}.',
|
|
74
|
+
displayOptions: {
|
|
75
|
+
show: {
|
|
76
|
+
operation: ['chatCompletion'],
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
displayName: 'Model',
|
|
82
|
+
name: 'model',
|
|
83
|
+
type: 'options',
|
|
84
|
+
typeOptions: {
|
|
85
|
+
loadOptionsMethod: 'getModels',
|
|
86
|
+
},
|
|
87
|
+
default: '',
|
|
88
|
+
description: 'AI model to use for the completion. Leave empty to use your default model.',
|
|
89
|
+
displayOptions: {
|
|
90
|
+
show: {
|
|
91
|
+
operation: ['chatCompletion'],
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
displayName: 'Max Tokens',
|
|
97
|
+
name: 'maxTokens',
|
|
98
|
+
type: 'number',
|
|
99
|
+
default: 1024,
|
|
100
|
+
description: 'Maximum number of tokens in the response',
|
|
101
|
+
displayOptions: {
|
|
102
|
+
show: {
|
|
103
|
+
operation: ['chatCompletion'],
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
displayName: 'Temperature',
|
|
109
|
+
name: 'temperature',
|
|
110
|
+
type: 'number',
|
|
111
|
+
default: 0.7,
|
|
112
|
+
typeOptions: {
|
|
113
|
+
minValue: 0,
|
|
114
|
+
maxValue: 2,
|
|
115
|
+
numberStepSize: 0.1,
|
|
116
|
+
},
|
|
117
|
+
description: 'Controls randomness. Lower = more deterministic.',
|
|
118
|
+
displayOptions: {
|
|
119
|
+
show: {
|
|
120
|
+
operation: ['chatCompletion'],
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
},
|
|
124
|
+
// ── Trigger Flow fields ──
|
|
125
|
+
{
|
|
126
|
+
displayName: 'Flow ID',
|
|
127
|
+
name: 'flowId',
|
|
128
|
+
type: 'string',
|
|
129
|
+
default: '',
|
|
130
|
+
required: true,
|
|
131
|
+
description: 'The Cognidata Suite Agent Flow ID to trigger',
|
|
132
|
+
displayOptions: {
|
|
133
|
+
show: {
|
|
134
|
+
operation: ['triggerFlow'],
|
|
135
|
+
},
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
displayName: 'Input Message',
|
|
140
|
+
name: 'flowInput',
|
|
141
|
+
type: 'string',
|
|
142
|
+
typeOptions: {
|
|
143
|
+
rows: 4,
|
|
144
|
+
},
|
|
145
|
+
default: '',
|
|
146
|
+
description: 'Input message for the flow',
|
|
147
|
+
displayOptions: {
|
|
148
|
+
show: {
|
|
149
|
+
operation: ['triggerFlow'],
|
|
150
|
+
},
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
],
|
|
154
|
+
};
|
|
155
|
+
this.methods = {
|
|
156
|
+
loadOptions: {
|
|
157
|
+
async getModels() {
|
|
158
|
+
var _a;
|
|
159
|
+
const credentials = await this.getCredentials('cognidataApi');
|
|
160
|
+
const baseUrl = credentials.baseUrl;
|
|
161
|
+
const response = await this.helpers.request({
|
|
162
|
+
method: 'GET',
|
|
163
|
+
url: `${baseUrl}/inference/models`,
|
|
164
|
+
headers: {
|
|
165
|
+
Authorization: `Bearer ${credentials.apiKey}`,
|
|
166
|
+
},
|
|
167
|
+
json: true,
|
|
168
|
+
});
|
|
169
|
+
const models = (_a = response === null || response === void 0 ? void 0 : response.data) !== null && _a !== void 0 ? _a : [];
|
|
170
|
+
return models.map((model) => ({
|
|
171
|
+
name: `${model.display_name} (${model.service})`,
|
|
172
|
+
value: model.id,
|
|
173
|
+
}));
|
|
174
|
+
},
|
|
175
|
+
},
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
async execute() {
|
|
179
|
+
var _a, _b, _c, _d, _e, _f;
|
|
180
|
+
const items = this.getInputData();
|
|
181
|
+
const returnData = [];
|
|
182
|
+
const operation = this.getNodeParameter('operation', 0);
|
|
183
|
+
const credentials = await this.getCredentials('cognidataApi');
|
|
184
|
+
const baseUrl = credentials.baseUrl;
|
|
185
|
+
for (let i = 0; i < items.length; i++) {
|
|
186
|
+
try {
|
|
187
|
+
if (operation === 'chatCompletion') {
|
|
188
|
+
const systemPrompt = this.getNodeParameter('systemPrompt', i, '');
|
|
189
|
+
const userMessage = this.getNodeParameter('userMessage', i);
|
|
190
|
+
const modelId = this.getNodeParameter('model', i, '');
|
|
191
|
+
const maxTokens = this.getNodeParameter('maxTokens', i, 1024);
|
|
192
|
+
const temperature = this.getNodeParameter('temperature', i, 0.7);
|
|
193
|
+
const messages = [];
|
|
194
|
+
if (systemPrompt) {
|
|
195
|
+
messages.push({ role: 'system', content: systemPrompt });
|
|
196
|
+
}
|
|
197
|
+
messages.push({ role: 'user', content: userMessage });
|
|
198
|
+
const body = {
|
|
199
|
+
messages,
|
|
200
|
+
temperature,
|
|
201
|
+
max_tokens: maxTokens,
|
|
202
|
+
stream: false,
|
|
203
|
+
};
|
|
204
|
+
if (modelId) {
|
|
205
|
+
body.model_id = modelId;
|
|
206
|
+
}
|
|
207
|
+
const response = await this.helpers.request({
|
|
208
|
+
method: 'POST',
|
|
209
|
+
url: `${baseUrl}/inference/chat`,
|
|
210
|
+
headers: {
|
|
211
|
+
'Content-Type': 'application/json',
|
|
212
|
+
Authorization: `Bearer ${credentials.apiKey}`,
|
|
213
|
+
},
|
|
214
|
+
body: JSON.stringify(body),
|
|
215
|
+
json: true,
|
|
216
|
+
});
|
|
217
|
+
const data = (_a = response === null || response === void 0 ? void 0 : response.data) !== null && _a !== void 0 ? _a : {};
|
|
218
|
+
returnData.push({
|
|
219
|
+
json: {
|
|
220
|
+
content: (_b = data.content) !== null && _b !== void 0 ? _b : '',
|
|
221
|
+
model_id: (_c = data.model_id) !== null && _c !== void 0 ? _c : modelId,
|
|
222
|
+
model_name: (_d = data.model_name) !== null && _d !== void 0 ? _d : '',
|
|
223
|
+
usage: (_e = data.usage) !== null && _e !== void 0 ? _e : {},
|
|
224
|
+
finish_reason: (_f = data.finish_reason) !== null && _f !== void 0 ? _f : '',
|
|
225
|
+
raw: response,
|
|
226
|
+
},
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
else if (operation === 'triggerFlow') {
|
|
230
|
+
const flowId = this.getNodeParameter('flowId', i);
|
|
231
|
+
const flowInput = this.getNodeParameter('flowInput', i, '');
|
|
232
|
+
const response = await this.helpers.request({
|
|
233
|
+
method: 'POST',
|
|
234
|
+
url: `${baseUrl}/inference/flows/${flowId}/execute`,
|
|
235
|
+
headers: {
|
|
236
|
+
'Content-Type': 'application/json',
|
|
237
|
+
Authorization: `Bearer ${credentials.apiKey}`,
|
|
238
|
+
},
|
|
239
|
+
body: JSON.stringify({
|
|
240
|
+
message: flowInput,
|
|
241
|
+
metadata: {},
|
|
242
|
+
}),
|
|
243
|
+
json: true,
|
|
244
|
+
});
|
|
245
|
+
returnData.push({
|
|
246
|
+
json: {
|
|
247
|
+
flowId,
|
|
248
|
+
result: response,
|
|
249
|
+
},
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
catch (error) {
|
|
254
|
+
if (this.continueOnFail()) {
|
|
255
|
+
returnData.push({
|
|
256
|
+
json: {
|
|
257
|
+
error: error.message,
|
|
258
|
+
},
|
|
259
|
+
});
|
|
260
|
+
continue;
|
|
261
|
+
}
|
|
262
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), error, {
|
|
263
|
+
itemIndex: i,
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
return [returnData];
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
exports.CognidataAi = CognidataAi;
|
|
271
|
+
//# sourceMappingURL=CognidataAi.node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CognidataAi.node.js","sourceRoot":"","sources":["../../../nodes/CognidataAi/CognidataAi.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 64 64" width="64" height="64">
|
|
2
|
+
<defs>
|
|
3
|
+
<clipPath id="rounded">
|
|
4
|
+
<rect width="64" height="64" rx="12" ry="12"/>
|
|
5
|
+
</clipPath>
|
|
6
|
+
</defs>
|
|
7
|
+
<image width="64" height="64" clip-path="url(#rounded)" href="data:image/png;base64,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"/>
|
|
8
|
+
</svg>
|
package/package.json
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "n8n-nodes-cognidata",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "n8n community node for Cognidata Suite — LLM and workflow integration",
|
|
5
|
+
"keywords": ["n8n-community-node-package", "cognidata", "llm", "ai"],
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"author": {
|
|
8
|
+
"name": "Cognidata",
|
|
9
|
+
"url": "https://cognidata.io"
|
|
10
|
+
},
|
|
11
|
+
"repository": {
|
|
12
|
+
"type": "git",
|
|
13
|
+
"url": "https://github.com/cognidata/n8n-nodes-cognidata.git"
|
|
14
|
+
},
|
|
15
|
+
"main": "dist/nodes/CognidataAi/CognidataAi.node.js",
|
|
16
|
+
"scripts": {
|
|
17
|
+
"build": "tsc && npm run copy:icons",
|
|
18
|
+
"copy:icons": "cp nodes/CognidataAi/cognidata.svg dist/nodes/CognidataAi/",
|
|
19
|
+
"dev": "tsc --watch",
|
|
20
|
+
"lint": "eslint nodes credentials --ext .ts",
|
|
21
|
+
"prepublishOnly": "npm run build"
|
|
22
|
+
},
|
|
23
|
+
"files": ["dist"],
|
|
24
|
+
"n8n": {
|
|
25
|
+
"n8nNodesApiVersion": 1,
|
|
26
|
+
"credentials": ["dist/credentials/CognidataApi.credentials.js"],
|
|
27
|
+
"nodes": ["dist/nodes/CognidataAi/CognidataAi.node.js"]
|
|
28
|
+
},
|
|
29
|
+
"devDependencies": {
|
|
30
|
+
"@types/node": "^22.0.0",
|
|
31
|
+
"n8n-workflow": "*",
|
|
32
|
+
"typescript": "~5.6.0"
|
|
33
|
+
},
|
|
34
|
+
"peerDependencies": {
|
|
35
|
+
"n8n-workflow": "*"
|
|
36
|
+
}
|
|
37
|
+
}
|