n8n-nodes-openrouter-selector 0.3.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/README.md +307 -0
- package/dist/credentials/OpenRouterApi.credentials.d.ts +10 -0
- package/dist/credentials/OpenRouterApi.credentials.d.ts.map +1 -0
- package/dist/credentials/OpenRouterApi.credentials.js +38 -0
- package/dist/credentials/OpenRouterApi.credentials.js.map +1 -0
- package/dist/credentials/SupabaseModelCatalogApi.credentials.d.ts +10 -0
- package/dist/credentials/SupabaseModelCatalogApi.credentials.d.ts.map +1 -0
- package/dist/credentials/SupabaseModelCatalogApi.credentials.js +51 -0
- package/dist/credentials/SupabaseModelCatalogApi.credentials.js.map +1 -0
- package/dist/nodes/OpenRouterChatCompletion/OpenRouterChatCompletion.node.d.ts +11 -0
- package/dist/nodes/OpenRouterChatCompletion/OpenRouterChatCompletion.node.d.ts.map +1 -0
- package/dist/nodes/OpenRouterChatCompletion/OpenRouterChatCompletion.node.js +300 -0
- package/dist/nodes/OpenRouterChatCompletion/OpenRouterChatCompletion.node.js.map +1 -0
- package/dist/nodes/OpenRouterChatCompletion/openrouter-chat.svg +13 -0
- package/dist/nodes/OpenRouterModelSelector/OpenRouterModelSelector.node.d.ts +14 -0
- package/dist/nodes/OpenRouterModelSelector/OpenRouterModelSelector.node.d.ts.map +1 -0
- package/dist/nodes/OpenRouterModelSelector/OpenRouterModelSelector.node.js +412 -0
- package/dist/nodes/OpenRouterModelSelector/OpenRouterModelSelector.node.js.map +1 -0
- package/dist/nodes/OpenRouterModelSelector/modelScoring.d.ts +28 -0
- package/dist/nodes/OpenRouterModelSelector/modelScoring.d.ts.map +1 -0
- package/dist/nodes/OpenRouterModelSelector/modelScoring.js +384 -0
- package/dist/nodes/OpenRouterModelSelector/modelScoring.js.map +1 -0
- package/dist/nodes/OpenRouterModelSelector/openrouter-selector.svg +37 -0
- package/dist/nodes/OpenRouterModelSelector/taskProfiles.d.ts +39 -0
- package/dist/nodes/OpenRouterModelSelector/taskProfiles.d.ts.map +1 -0
- package/dist/nodes/OpenRouterModelSelector/taskProfiles.js +271 -0
- package/dist/nodes/OpenRouterModelSelector/taskProfiles.js.map +1 -0
- package/dist/nodes/OpenRouterModelSelector/types.d.ts +217 -0
- package/dist/nodes/OpenRouterModelSelector/types.d.ts.map +1 -0
- package/dist/nodes/OpenRouterModelSelector/types.js +44 -0
- package/dist/nodes/OpenRouterModelSelector/types.js.map +1 -0
- package/dist/nodes/OpenRouterSmartChat/OpenRouterSmartChat.node.d.ts +11 -0
- package/dist/nodes/OpenRouterSmartChat/OpenRouterSmartChat.node.d.ts.map +1 -0
- package/dist/nodes/OpenRouterSmartChat/OpenRouterSmartChat.node.js +657 -0
- package/dist/nodes/OpenRouterSmartChat/OpenRouterSmartChat.node.js.map +1 -0
- package/dist/nodes/OpenRouterSmartChat/modelScoring.d.ts +28 -0
- package/dist/nodes/OpenRouterSmartChat/modelScoring.d.ts.map +1 -0
- package/dist/nodes/OpenRouterSmartChat/modelScoring.js +384 -0
- package/dist/nodes/OpenRouterSmartChat/modelScoring.js.map +1 -0
- package/dist/nodes/OpenRouterSmartChat/openrouter-smart.svg +11 -0
- package/dist/nodes/OpenRouterSmartChat/taskProfiles.d.ts +39 -0
- package/dist/nodes/OpenRouterSmartChat/taskProfiles.d.ts.map +1 -0
- package/dist/nodes/OpenRouterSmartChat/taskProfiles.js +271 -0
- package/dist/nodes/OpenRouterSmartChat/taskProfiles.js.map +1 -0
- package/dist/nodes/OpenRouterSmartChat/types.d.ts +217 -0
- package/dist/nodes/OpenRouterSmartChat/types.d.ts.map +1 -0
- package/dist/nodes/OpenRouterSmartChat/types.js +44 -0
- package/dist/nodes/OpenRouterSmartChat/types.js.map +1 -0
- package/dist/nodes/OpenRouterSmartEmbedding/OpenRouterEmbeddings.class.d.ts +48 -0
- package/dist/nodes/OpenRouterSmartEmbedding/OpenRouterEmbeddings.class.d.ts.map +1 -0
- package/dist/nodes/OpenRouterSmartEmbedding/OpenRouterEmbeddings.class.js +265 -0
- package/dist/nodes/OpenRouterSmartEmbedding/OpenRouterEmbeddings.class.js.map +1 -0
- package/dist/nodes/OpenRouterSmartEmbedding/OpenRouterSmartEmbedding.node.d.ts +16 -0
- package/dist/nodes/OpenRouterSmartEmbedding/OpenRouterSmartEmbedding.node.d.ts.map +1 -0
- package/dist/nodes/OpenRouterSmartEmbedding/OpenRouterSmartEmbedding.node.js +177 -0
- package/dist/nodes/OpenRouterSmartEmbedding/OpenRouterSmartEmbedding.node.js.map +1 -0
- package/dist/nodes/OpenRouterSmartEmbedding/openrouter-embed.svg +22 -0
- package/dist/nodes/shared/contentAnalyzer.d.ts +16 -0
- package/dist/nodes/shared/contentAnalyzer.d.ts.map +1 -0
- package/dist/nodes/shared/contentAnalyzer.js +256 -0
- package/dist/nodes/shared/contentAnalyzer.js.map +1 -0
- package/dist/nodes/shared/embeddingScoring.d.ts +12 -0
- package/dist/nodes/shared/embeddingScoring.d.ts.map +1 -0
- package/dist/nodes/shared/embeddingScoring.js +329 -0
- package/dist/nodes/shared/embeddingScoring.js.map +1 -0
- package/dist/nodes/shared/types.d.ts +131 -0
- package/dist/nodes/shared/types.d.ts.map +1 -0
- package/dist/nodes/shared/types.js +24 -0
- package/dist/nodes/shared/types.js.map +1 -0
- package/package.json +67 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared Type Definitions for Embedding Extension
|
|
3
|
+
*/
|
|
4
|
+
export type Language = 'en' | 'de' | 'zh' | 'multi' | 'unknown';
|
|
5
|
+
export type Domain = 'general' | 'technical' | 'code' | 'legal' | 'medical' | 'financial';
|
|
6
|
+
export interface ContentAnalysis {
|
|
7
|
+
language: Language;
|
|
8
|
+
hasCode: boolean;
|
|
9
|
+
codeRatio: number;
|
|
10
|
+
estimatedTokens: number;
|
|
11
|
+
detectedDomain: Domain;
|
|
12
|
+
confidence: number;
|
|
13
|
+
features: {
|
|
14
|
+
hasCodeBlocks: boolean;
|
|
15
|
+
hasInlineCode: boolean;
|
|
16
|
+
hasTechnicalTerms: boolean;
|
|
17
|
+
hasMultipleLanguages: boolean;
|
|
18
|
+
dominantScriptType: 'latin' | 'cjk' | 'mixed';
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
export interface AnalyzerOptions {
|
|
22
|
+
sampleSize?: number;
|
|
23
|
+
codeThreshold?: number;
|
|
24
|
+
detectFeatures?: boolean;
|
|
25
|
+
}
|
|
26
|
+
export type Budget = 'cheap' | 'balanced' | 'premium';
|
|
27
|
+
export type EmbeddingTask = 'rag' | 'code_search' | 'multilingual' | 'classification' | 'clustering' | 'auto';
|
|
28
|
+
export type SelectionMode = 'auto' | 'manual';
|
|
29
|
+
export interface EmbeddingModel {
|
|
30
|
+
model: string;
|
|
31
|
+
provider: string;
|
|
32
|
+
displayName: string;
|
|
33
|
+
dimensions: number;
|
|
34
|
+
maxContext: number;
|
|
35
|
+
pricePerMillion: number;
|
|
36
|
+
supportsInstructions: boolean;
|
|
37
|
+
supportsMatryoshka: boolean;
|
|
38
|
+
matryoshkaDims?: number[];
|
|
39
|
+
languages: string[];
|
|
40
|
+
modality: 'text' | 'text+code' | 'multimodal';
|
|
41
|
+
isActive: boolean;
|
|
42
|
+
}
|
|
43
|
+
export interface EmbeddingBenchmarks {
|
|
44
|
+
model: string;
|
|
45
|
+
mtebOverall: number | null;
|
|
46
|
+
mtebRetrieval: number | null;
|
|
47
|
+
mtebCode: number | null;
|
|
48
|
+
mtebMultilingual: number | null;
|
|
49
|
+
mtebClassification: number | null;
|
|
50
|
+
mtebClustering: number | null;
|
|
51
|
+
mtebSts: number | null;
|
|
52
|
+
mtebReranking: number | null;
|
|
53
|
+
mtebPairClassification: number | null;
|
|
54
|
+
mtebRank: number | null;
|
|
55
|
+
source: string;
|
|
56
|
+
updatedAt: Date;
|
|
57
|
+
}
|
|
58
|
+
export interface EmbeddingModelWithBenchmarks {
|
|
59
|
+
model: EmbeddingModel;
|
|
60
|
+
benchmarks: EmbeddingBenchmarks | null;
|
|
61
|
+
}
|
|
62
|
+
export interface EmbeddingTaskProfile {
|
|
63
|
+
taskName: EmbeddingTask;
|
|
64
|
+
displayName: string;
|
|
65
|
+
benchmarkWeights: {
|
|
66
|
+
mtebRetrieval?: number;
|
|
67
|
+
mtebCode?: number;
|
|
68
|
+
mtebMultilingual?: number;
|
|
69
|
+
mtebClassification?: number;
|
|
70
|
+
mtebClustering?: number;
|
|
71
|
+
mtebSts?: number;
|
|
72
|
+
mtebOverall?: number;
|
|
73
|
+
};
|
|
74
|
+
providerBoosts: {
|
|
75
|
+
qwen?: number;
|
|
76
|
+
google?: number;
|
|
77
|
+
openai?: number;
|
|
78
|
+
voyage?: number;
|
|
79
|
+
cohere?: number;
|
|
80
|
+
mistral?: number;
|
|
81
|
+
};
|
|
82
|
+
minContextLength: number;
|
|
83
|
+
preferMultilingual: boolean;
|
|
84
|
+
preferCode: boolean;
|
|
85
|
+
}
|
|
86
|
+
export interface ScoringFilters {
|
|
87
|
+
minContextLength?: number;
|
|
88
|
+
maxPricePerMillion?: number;
|
|
89
|
+
requiredDimensions?: number;
|
|
90
|
+
providerWhitelist?: string[];
|
|
91
|
+
providerBlacklist?: string[];
|
|
92
|
+
requireMultilingual?: boolean;
|
|
93
|
+
requireCodeOptimization?: boolean;
|
|
94
|
+
}
|
|
95
|
+
export interface ScoredModel {
|
|
96
|
+
modelId: string;
|
|
97
|
+
provider: string;
|
|
98
|
+
displayName: string;
|
|
99
|
+
dimensions: number;
|
|
100
|
+
score: number;
|
|
101
|
+
scoreBreakdown: {
|
|
102
|
+
benchmarkFit: number;
|
|
103
|
+
taskFit: number;
|
|
104
|
+
budgetFit: number;
|
|
105
|
+
capabilityFit: number;
|
|
106
|
+
providerBoost: number;
|
|
107
|
+
};
|
|
108
|
+
reasoning: string;
|
|
109
|
+
pricing: {
|
|
110
|
+
pricePerMillion: number;
|
|
111
|
+
estimatedCostForBatch?: number;
|
|
112
|
+
};
|
|
113
|
+
isManualSelection: boolean;
|
|
114
|
+
}
|
|
115
|
+
export interface OpenRouterEmbeddingResponse {
|
|
116
|
+
object: 'list';
|
|
117
|
+
data: Array<{
|
|
118
|
+
object: 'embedding';
|
|
119
|
+
embedding: number[];
|
|
120
|
+
index: number;
|
|
121
|
+
}>;
|
|
122
|
+
model: string;
|
|
123
|
+
usage: {
|
|
124
|
+
prompt_tokens: number;
|
|
125
|
+
total_tokens: number;
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
export declare const BUDGET_PRICE_LIMITS: Record<Budget, number>;
|
|
129
|
+
export declare const SUPPORTED_EMBEDDING_PROVIDERS: readonly ["qwen", "google", "openai", "voyage", "cohere", "mistral", "jina"];
|
|
130
|
+
export type SupportedEmbeddingProvider = (typeof SUPPORTED_EMBEDDING_PROVIDERS)[number];
|
|
131
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../nodes/shared/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Shared Type Definitions for Embedding Extension
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SUPPORTED_EMBEDDING_PROVIDERS = exports.BUDGET_PRICE_LIMITS = void 0;
|
|
7
|
+
// =============================================================================
|
|
8
|
+
// Constants
|
|
9
|
+
// =============================================================================
|
|
10
|
+
exports.BUDGET_PRICE_LIMITS = {
|
|
11
|
+
cheap: 0.05,
|
|
12
|
+
balanced: 0.15,
|
|
13
|
+
premium: Infinity,
|
|
14
|
+
};
|
|
15
|
+
exports.SUPPORTED_EMBEDDING_PROVIDERS = [
|
|
16
|
+
'qwen',
|
|
17
|
+
'google',
|
|
18
|
+
'openai',
|
|
19
|
+
'voyage',
|
|
20
|
+
'cohere',
|
|
21
|
+
'mistral',
|
|
22
|
+
'jina',
|
|
23
|
+
];
|
|
24
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../nodes/shared/types.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAiKH,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEnE,QAAA,mBAAmB,GAA2B;IACzD,KAAK,EAAE,IAAI;IACX,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,QAAQ;CAClB,CAAC;AAEW,QAAA,6BAA6B,GAAG;IAC3C,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,MAAM;CACE,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "n8n-nodes-openrouter-selector",
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"description": "n8n community node for intelligent OpenRouter model selection based on task, budget, and benchmarks",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"n8n-community-node-package",
|
|
7
|
+
"openrouter",
|
|
8
|
+
"llm",
|
|
9
|
+
"model-selection",
|
|
10
|
+
"ai",
|
|
11
|
+
"benchmark",
|
|
12
|
+
"embeddings"
|
|
13
|
+
],
|
|
14
|
+
"license": "MIT",
|
|
15
|
+
"homepage": "https://github.com/ecolights/n8n-nodes-openrouter-selector",
|
|
16
|
+
"author": {
|
|
17
|
+
"name": "EcoLights",
|
|
18
|
+
"email": "dev@ecolights.de"
|
|
19
|
+
},
|
|
20
|
+
"repository": {
|
|
21
|
+
"type": "git",
|
|
22
|
+
"url": "https://github.com/ecolights/n8n-nodes-openrouter-selector.git"
|
|
23
|
+
},
|
|
24
|
+
"scripts": {
|
|
25
|
+
"build": "tsc && gulp build:icons",
|
|
26
|
+
"dev": "tsc --watch",
|
|
27
|
+
"format": "prettier nodes credentials --write",
|
|
28
|
+
"lint": "eslint nodes credentials --ext .ts --fix",
|
|
29
|
+
"lintcheck": "eslint nodes credentials --ext .ts",
|
|
30
|
+
"prepublishOnly": "npm run build"
|
|
31
|
+
},
|
|
32
|
+
"files": [
|
|
33
|
+
"dist"
|
|
34
|
+
],
|
|
35
|
+
"n8n": {
|
|
36
|
+
"n8nNodesApiVersion": 1,
|
|
37
|
+
"credentials": [
|
|
38
|
+
"dist/credentials/SupabaseModelCatalogApi.credentials.js",
|
|
39
|
+
"dist/credentials/OpenRouterApi.credentials.js"
|
|
40
|
+
],
|
|
41
|
+
"nodes": [
|
|
42
|
+
"dist/nodes/OpenRouterModelSelector/OpenRouterModelSelector.node.js",
|
|
43
|
+
"dist/nodes/OpenRouterChatCompletion/OpenRouterChatCompletion.node.js",
|
|
44
|
+
"dist/nodes/OpenRouterSmartChat/OpenRouterSmartChat.node.js",
|
|
45
|
+
"dist/nodes/OpenRouterSmartEmbedding/OpenRouterSmartEmbedding.node.js"
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
"dependencies": {
|
|
49
|
+
"@langchain/core": "^0.3.0"
|
|
50
|
+
},
|
|
51
|
+
"devDependencies": {
|
|
52
|
+
"@types/node": "^20.10.0",
|
|
53
|
+
"@typescript-eslint/parser": "^6.0.0",
|
|
54
|
+
"eslint": "^8.56.0",
|
|
55
|
+
"gulp": "^4.0.2",
|
|
56
|
+
"n8n-workflow": "^1.20.0",
|
|
57
|
+
"prettier": "^3.1.0",
|
|
58
|
+
"typescript": "^5.3.0"
|
|
59
|
+
},
|
|
60
|
+
"peerDependencies": {
|
|
61
|
+
"n8n-workflow": "*"
|
|
62
|
+
},
|
|
63
|
+
"engines": {
|
|
64
|
+
"node": ">=18.10",
|
|
65
|
+
"pnpm": ">=9.1"
|
|
66
|
+
}
|
|
67
|
+
}
|