@elizaos/plugin-openrouter 2.0.0-alpha.9 → 2.0.3-beta.2

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 ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Shaw Walters and elizaOS Contributors
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.
package/README.md ADDED
@@ -0,0 +1,133 @@
1
+ # @elizaos/plugin-openrouter
2
+
3
+ elizaOS plugin that routes text generation, image description, image generation, and text embedding through the [OpenRouter](https://openrouter.ai) API, giving Eliza agents access to hundreds of hosted models via a single API key.
4
+
5
+ ## Usage
6
+
7
+ Add the plugin to your character configuration:
8
+
9
+ ```json
10
+ "plugins": ["@elizaos/plugin-openrouter"]
11
+ ```
12
+
13
+ ## Configuration
14
+
15
+ The plugin requires the OpenRouter API key and can be configured via environment variables or character settings.
16
+
17
+ **Character Settings Example:**
18
+
19
+ ```json
20
+ "settings": {
21
+ "OPENROUTER_API_KEY": "your_openrouter_api_key",
22
+ "OPENROUTER_BASE_URL": "https://openrouter.ai/api/v1", // Optional: Default is OpenRouter endpoint
23
+ "OPENROUTER_SMALL_MODEL": "google/gemini-flash", // Optional: Overrides default small model
24
+ "OPENROUTER_LARGE_MODEL": "google/gemini-pro", // Optional: Overrides default large model
25
+ "OPENROUTER_IMAGE_MODEL": "x-ai/grok-2-vision-1212", // Optional: Overrides default image model
26
+ "OPENROUTER_IMAGE_GENERATION_MODEL": "google/gemini-2.5-flash-image-preview", // Optional: Overrides default image generation model
27
+ "OPENROUTER_EMBEDDING_MODEL": "openai/text-embedding-3-small", // Optional: Overrides default embedding model
28
+ "OPENROUTER_EMBEDDING_DIMENSIONS": "1536", // Optional: Sets embedding vector dimensions (384, 512, 768, 1024, 1536, 2048, 3072)
29
+ "OPENROUTER_BROWSER_BASE_URL": "https://your-proxy.example.com/openrouter"
30
+ // Fallbacks if specific OPENROUTER models are not set
31
+ "SMALL_MODEL": "google/gemini-flash",
32
+ "LARGE_MODEL": "google/gemini-pro",
33
+ "IMAGE_MODEL": "x-ai/grok-2-vision-1212",
34
+ "IMAGE_GENERATION_MODEL": "google/gemini-2.5-flash-image-preview",
35
+ "EMBEDDING_MODEL": "openai/text-embedding-3-small",
36
+ "EMBEDDING_DIMENSIONS": "1536"
37
+ }
38
+ ```
39
+
40
+ **`.env` File Example:**
41
+
42
+ ```
43
+ OPENROUTER_API_KEY=your_openrouter_api_key
44
+ # Optional overrides:
45
+ OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
46
+ OPENROUTER_SMALL_MODEL=google/gemini-flash
47
+ OPENROUTER_LARGE_MODEL=google/gemini-pro
48
+ OPENROUTER_IMAGE_MODEL=x-ai/grok-2-vision-1212
49
+ OPENROUTER_IMAGE_GENERATION_MODEL=google/gemini-2.5-flash-image-preview
50
+ OPENROUTER_EMBEDDING_MODEL=openai/text-embedding-3-small
51
+ OPENROUTER_EMBEDDING_DIMENSIONS=1536
52
+ # Browser proxy (frontend builds only)
53
+ OPENROUTER_BROWSER_BASE_URL=https://your-proxy.example.com/openrouter
54
+ # Fallbacks if specific OPENROUTER models are not set
55
+ SMALL_MODEL=google/gemini-flash
56
+ LARGE_MODEL=google/gemini-pro
57
+ IMAGE_MODEL=x-ai/grok-2-vision-1212
58
+ IMAGE_GENERATION_MODEL=google/gemini-2.5-flash-image-preview
59
+ EMBEDDING_MODEL=openai/text-embedding-3-small
60
+ EMBEDDING_DIMENSIONS=1536
61
+ ```
62
+
63
+ ### Configuration Options
64
+
65
+ - `OPENROUTER_API_KEY` (required): Your OpenRouter API key.
66
+ - `OPENROUTER_BASE_URL`: Custom API endpoint (default: https://openrouter.ai/api/v1).
67
+ - `OPENROUTER_BROWSER_BASE_URL`: Browser-only base URL to a proxy endpoint that forwards requests to OpenRouter without exposing keys.
68
+
69
+ ### Browser mode and proxying
70
+
71
+ When bundled for the browser, this plugin avoids sending Authorization headers. Set `OPENROUTER_BROWSER_BASE_URL` to a server-side proxy you control that injects the OpenRouter API key. This prevents exposing secrets in frontend builds.
72
+
73
+ Example minimal proxy (Express):
74
+
75
+ ```ts
76
+ import express from "express";
77
+ import fetch from "node-fetch";
78
+
79
+ const app = express();
80
+ app.use(express.json());
81
+
82
+ app.post("/openrouter/*", async (req, res) => {
83
+ const url = `https://openrouter.ai/api/v1/${req.params[0]}`;
84
+ const r = await fetch(url, {
85
+ method: "POST",
86
+ headers: {
87
+ Authorization: `Bearer ${process.env.OPENROUTER_API_KEY}`,
88
+ "Content-Type": "application/json",
89
+ },
90
+ body: JSON.stringify(req.body),
91
+ });
92
+ res
93
+ .status(r.status)
94
+ .set(Object.fromEntries(r.headers))
95
+ .send(await r.text());
96
+ });
97
+
98
+ app.listen(3000);
99
+ ```
100
+
101
+ - `OPENROUTER_SMALL_MODEL`: Specific model to use for `TEXT_SMALL`. Overrides `SMALL_MODEL` if set.
102
+ - `OPENROUTER_LARGE_MODEL`: Specific model to use for `TEXT_LARGE`. Overrides `LARGE_MODEL` if set.
103
+ - `OPENROUTER_IMAGE_MODEL`: Specific model to use for `IMAGE_DESCRIPTION`. Overrides `IMAGE_MODEL` if set.
104
+ - `OPENROUTER_IMAGE_GENERATION_MODEL`: Specific model to use for `IMAGE` generation. Overrides `IMAGE_GENERATION_MODEL` if set.
105
+ - `OPENROUTER_EMBEDDING_MODEL`: Specific model to use for `TEXT_EMBEDDING`. Overrides `EMBEDDING_MODEL` if set.
106
+ - `OPENROUTER_TRANSCRIPTION_MODEL`: Specific model to use for `TRANSCRIPTION` (default: `openai/whisper-large-v3`). Overrides `TRANSCRIPTION_MODEL` if set.
107
+ - `OPENROUTER_EMBEDDING_DIMENSIONS`: Number of dimensions for embedding vectors. Supported values: 384, 512, 768, 1024, 1536, 2048, 3072. Defaults to 1536.
108
+ - `OPENROUTER_AUTO_CLEANUP_IMAGES`: Boolean flag for auto-cleanup of generated images, read by `shouldAutoCleanupImages()` in `utils/config.ts` (default: "false").
109
+ - `SMALL_MODEL`: Fallback model for small tasks (default: "google/gemini-2.5-flash-lite"). Used if `OPENROUTER_SMALL_MODEL` is not set.
110
+ - `LARGE_MODEL`: Fallback model for large tasks (default: "google/gemini-2.5-flash"). Used if `OPENROUTER_LARGE_MODEL` is not set.
111
+ - `IMAGE_MODEL`: Fallback model for image analysis (default: "x-ai/grok-2-vision-1212"). Used if `OPENROUTER_IMAGE_MODEL` is not set.
112
+ - `IMAGE_GENERATION_MODEL`: Fallback model for image generation (default: "google/gemini-2.5-flash-image-preview"). Used if `OPENROUTER_IMAGE_GENERATION_MODEL` is not set.
113
+ - `EMBEDDING_MODEL`: Fallback model for text embeddings (default: "openai/text-embedding-3-small"). Used if `OPENROUTER_EMBEDDING_MODEL` is not set.
114
+ - `TRANSCRIPTION_MODEL`: Fallback model for audio transcription (default: "openai/whisper-large-v3"). Used if `OPENROUTER_TRANSCRIPTION_MODEL` is not set.
115
+ - `EMBEDDING_DIMENSIONS`: Fallback dimension setting for embeddings (default: "1536"). Used if `OPENROUTER_EMBEDDING_DIMENSIONS` is not set.
116
+
117
+ ## Provided Models
118
+
119
+ The plugin registers these model types:
120
+
121
+ - `TEXT_NANO`: Fastest/cheapest text generation; falls back to the small model when no nano override is set.
122
+ - `TEXT_SMALL`: Fast, cost-effective text generation (default: `google/gemini-2.5-flash-lite`). Supports `tools`, `toolChoice`, and `responseSchema`.
123
+ - `TEXT_MEDIUM`: Mid-tier text generation; falls back to the small model when no medium override is set.
124
+ - `TEXT_LARGE`: Complex text generation tasks (default: `google/gemini-2.5-flash`). Supports `tools`, `toolChoice`, and `responseSchema`.
125
+ - `TEXT_MEGA`: Largest text tasks; falls back to the large model when no mega override is set.
126
+ - `RESPONSE_HANDLER`: Should-respond decisions; falls back to the nano model.
127
+ - `ACTION_PLANNER`: Action planning; falls back to the medium model.
128
+ - `IMAGE_DESCRIPTION`: Analyzes images and provides descriptive text (default: `x-ai/grok-2-vision-1212`).
129
+ - `IMAGE`: Generates images from text prompts (default: `google/gemini-2.5-flash-image-preview`).
130
+ - `TEXT_EMBEDDING`: Vector embeddings with configurable dimensions (default: `openai/text-embedding-3-small`, 1536 dims).
131
+ - `TRANSCRIPTION`: Transcribes audio through OpenRouter's `/audio/transcriptions` endpoint (default: `openai/whisper-large-v3`).
132
+
133
+ Transcription inputs may be URL strings, `Buffer`, `Blob` / `File`, core `{ audioUrl, prompt? }`, or local `{ audio, model?, language?, temperature?, format?, mimeType? }` objects. The handler sends base64 `input_audio` JSON to OpenRouter and returns the transcript text.
package/auto-enable.ts ADDED
@@ -0,0 +1,17 @@
1
+ // Auto-enable check for @elizaos/plugin-openrouter.
2
+ //
3
+ // Plugin manifest entry-point — referenced by package.json's
4
+ // `elizaos.plugin.autoEnableModule`. Keep this module light: env reads only,
5
+ // no service init, no transitive imports of the full plugin runtime. The
6
+ // auto-enable engine loads dozens of these per boot.
7
+ import type { PluginAutoEnableContext } from "@elizaos/core";
8
+
9
+ const ENV_KEYS = ["OPENROUTER_API_KEY"] as const;
10
+
11
+ /** Enable when an OpenRouter API key is present. */
12
+ export function shouldEnable(ctx: PluginAutoEnableContext): boolean {
13
+ return ENV_KEYS.some((k) => {
14
+ const v = ctx.env[k];
15
+ return typeof v === "string" && v.trim() !== "";
16
+ });
17
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elizaos/plugin-openrouter",
3
- "version": "2.0.0-alpha.9",
3
+ "version": "2.0.3-beta.2",
4
4
  "type": "module",
5
5
  "main": "dist/node/index.node.js",
6
6
  "module": "dist/node/index.node.js",
@@ -27,39 +27,59 @@
27
27
  "types": "./dist/node/index.d.ts",
28
28
  "default": "./dist/node/index.node.js"
29
29
  },
30
- "require": "./dist/cjs/index.node.cjs",
31
30
  "default": "./dist/node/index.node.js"
31
+ },
32
+ "./*.css": "./dist/*.css",
33
+ "./*": {
34
+ "types": "./dist/*.d.ts",
35
+ "import": "./dist/*.js",
36
+ "default": "./dist/*.js"
32
37
  }
33
38
  },
34
39
  "files": [
35
- "dist"
40
+ "dist",
41
+ "auto-enable.ts"
36
42
  ],
43
+ "elizaos": {
44
+ "plugin": {
45
+ "autoEnableModule": "./auto-enable.ts",
46
+ "capabilities": [
47
+ "text-large",
48
+ "text-small",
49
+ "tool-use",
50
+ "embedding",
51
+ "image-description",
52
+ "image-generation"
53
+ ]
54
+ }
55
+ },
37
56
  "sideEffects": false,
38
57
  "dependencies": {
39
- "@ai-sdk/openai": "^3.0.9",
40
- "@ai-sdk/ui-utils": "^1.2.8",
41
- "@elizaos/core": "alpha",
42
- "@openrouter/ai-sdk-provider": "^1.2.0",
43
- "ai": "^6.0.30",
44
- "undici": "^7.16.0"
58
+ "@openrouter/ai-sdk-provider": "^2.0.0",
59
+ "ai": "^6.0.30"
45
60
  },
46
61
  "devDependencies": {
47
- "@biomejs/biome": "^2.3.11",
62
+ "@biomejs/biome": "^2.4.14",
63
+ "@elizaos/core": "2.0.3-beta.2",
48
64
  "@types/bun": "^1.3.5",
49
65
  "@types/json-schema": "^7.0.15",
50
66
  "@types/node": "^25.0.3",
51
67
  "dotenv": "^17.2.3",
52
- "typescript": "^5.9.3"
68
+ "typescript": "^6.0.3",
69
+ "vitest": "^4.0.0"
70
+ },
71
+ "peerDependencies": {
72
+ "@elizaos/core": "2.0.3-beta.2"
53
73
  },
54
74
  "scripts": {
55
75
  "dev": "bun --hot build.ts",
56
76
  "lint": "bunx @biomejs/biome check --write --unsafe .",
57
- "clean": "rm -rf dist .turbo node_modules .turbo-tsconfig.json tsconfig.tsbuildinfo",
77
+ "clean": "rm -rf dist .turbo .turbo-tsconfig.json tsconfig.tsbuildinfo",
58
78
  "format": "bunx @biomejs/biome format --write .",
59
79
  "format:check": "bunx @biomejs/biome format .",
60
80
  "typecheck": "tsc --noEmit --noCheck -p tsconfig.json",
61
- "test": "vitest run",
62
- "test:unit": "vitest run __tests__/",
81
+ "test": "vitest run --config ./vitest.config.ts",
82
+ "test:unit": "vitest run __tests__/ --config ./vitest.config.ts",
63
83
  "test:watch": "vitest",
64
84
  "lint:check": "bunx @biomejs/biome check .",
65
85
  "build": "bun run build.ts",
@@ -100,7 +120,7 @@
100
120
  "type": "string",
101
121
  "description": "Overrides the default small language model used for text/object generation.",
102
122
  "required": false,
103
- "default": "google/gemini-2.0-flash-001",
123
+ "default": "google/gemini-2.5-flash-lite",
104
124
  "sensitive": false
105
125
  },
106
126
  "OPENROUTER_LARGE_MODEL": {
@@ -114,7 +134,7 @@
114
134
  "type": "string",
115
135
  "description": "General fallback environment variable for the small model name when OPENROUTER_SMALL_MODEL is not set.",
116
136
  "required": false,
117
- "default": "google/gemini-2.0-flash-001",
137
+ "default": "google/gemini-2.5-flash-lite",
118
138
  "sensitive": false
119
139
  },
120
140
  "LARGE_MODEL": {
@@ -161,7 +181,7 @@
161
181
  },
162
182
  "OPENROUTER_EMBEDDING_DIMENSIONS": {
163
183
  "type": "number",
164
- "description": "Number of dimensions for embedding vectors. Supported values: 256, 384, 512, 768, 1024, 1536, 2048, 3072.",
184
+ "description": "Number of dimensions for embedding vectors. Supported values: 384, 512, 768, 1024, 1536, 2048, 3072.",
165
185
  "required": false,
166
186
  "default": 1536,
167
187
  "sensitive": false
@@ -189,7 +209,7 @@
189
209
  }
190
210
  }
191
211
  },
192
- "milady": {
212
+ "eliza": {
193
213
  "platforms": [
194
214
  "browser",
195
215
  "node"
@@ -199,5 +219,6 @@
199
219
  "browser": "Browser-compatible build available via exports.browser",
200
220
  "node": "Node.js build available via exports.node"
201
221
  }
202
- }
222
+ },
223
+ "gitHead": "82fe0f44215954c2417328203f5bd6510985c1fc"
203
224
  }
@@ -1,79 +0,0 @@
1
- // utils/config.ts
2
- var DEFAULT_BASE_URL = "https://openrouter.ai/api/v1";
3
- var DEFAULT_SMALL_MODEL = "google/gemini-2.0-flash-001";
4
- var DEFAULT_LARGE_MODEL = "google/gemini-2.5-flash";
5
- var DEFAULT_IMAGE_MODEL = "x-ai/grok-2-vision-1212";
6
- var DEFAULT_IMAGE_GENERATION_MODEL = "google/gemini-2.5-flash-image-preview";
7
- var DEFAULT_EMBEDDING_MODEL = "openai/text-embedding-3-small";
8
- var DEFAULT_EMBEDDING_DIMENSIONS = 1536;
9
- function getEnvValue(key) {
10
- if (typeof process === "undefined" || !process.env) {
11
- return;
12
- }
13
- const value = process.env[key];
14
- return value === undefined ? undefined : String(value);
15
- }
16
- function getSetting(runtime, key, defaultValue) {
17
- const value = runtime.getSetting(key);
18
- if (value !== undefined && value !== null) {
19
- return String(value);
20
- }
21
- return getEnvValue(key) ?? defaultValue;
22
- }
23
- function getBaseURL(runtime) {
24
- const browserURL = getSetting(runtime, "OPENROUTER_BROWSER_BASE_URL");
25
- if (typeof globalThis !== "undefined" && globalThis.document && browserURL) {
26
- return browserURL;
27
- }
28
- return getSetting(runtime, "OPENROUTER_BASE_URL", DEFAULT_BASE_URL) || DEFAULT_BASE_URL;
29
- }
30
- function getApiKey(runtime) {
31
- return getSetting(runtime, "OPENROUTER_API_KEY");
32
- }
33
- function getSmallModel(runtime) {
34
- return getSetting(runtime, "OPENROUTER_SMALL_MODEL") ?? getSetting(runtime, "SMALL_MODEL", DEFAULT_SMALL_MODEL) ?? DEFAULT_SMALL_MODEL;
35
- }
36
- function getLargeModel(runtime) {
37
- return getSetting(runtime, "OPENROUTER_LARGE_MODEL") ?? getSetting(runtime, "LARGE_MODEL", DEFAULT_LARGE_MODEL) ?? DEFAULT_LARGE_MODEL;
38
- }
39
- function getImageModel(runtime) {
40
- return getSetting(runtime, "OPENROUTER_IMAGE_MODEL") ?? getSetting(runtime, "IMAGE_MODEL", DEFAULT_IMAGE_MODEL) ?? DEFAULT_IMAGE_MODEL;
41
- }
42
- function getImageGenerationModel(runtime) {
43
- return getSetting(runtime, "OPENROUTER_IMAGE_GENERATION_MODEL") ?? getSetting(runtime, "IMAGE_GENERATION_MODEL", DEFAULT_IMAGE_GENERATION_MODEL) ?? DEFAULT_IMAGE_GENERATION_MODEL;
44
- }
45
- function getEmbeddingModel(runtime) {
46
- return getSetting(runtime, "OPENROUTER_EMBEDDING_MODEL") ?? getSetting(runtime, "EMBEDDING_MODEL", DEFAULT_EMBEDDING_MODEL) ?? DEFAULT_EMBEDDING_MODEL;
47
- }
48
- function getEmbeddingDimensions(runtime) {
49
- const setting = getSetting(runtime, "OPENROUTER_EMBEDDING_DIMENSIONS") ?? getSetting(runtime, "EMBEDDING_DIMENSIONS");
50
- return setting ? parseInt(setting, 10) : DEFAULT_EMBEDDING_DIMENSIONS;
51
- }
52
- function shouldAutoCleanupImages(runtime) {
53
- const setting = getSetting(runtime, "OPENROUTER_AUTO_CLEANUP_IMAGES", "false");
54
- return setting?.toLowerCase() === "true";
55
- }
56
- export {
57
- shouldAutoCleanupImages,
58
- openrouterPlugin,
59
- getSmallModel,
60
- getSetting,
61
- getLargeModel,
62
- getImageModel,
63
- getImageGenerationModel,
64
- getEmbeddingModel,
65
- getEmbeddingDimensions,
66
- getBaseURL,
67
- getApiKey,
68
- openrouterPlugin2 as default,
69
- DEFAULT_SMALL_MODEL,
70
- DEFAULT_LARGE_MODEL,
71
- DEFAULT_IMAGE_MODEL,
72
- DEFAULT_IMAGE_GENERATION_MODEL,
73
- DEFAULT_EMBEDDING_MODEL,
74
- DEFAULT_EMBEDDING_DIMENSIONS,
75
- DEFAULT_BASE_URL
76
- };
77
-
78
- //# debugId=B9F8AC74D6EA35A764756E2164756E21
79
- //# sourceMappingURL=index.browser.js.map
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../utils/config.ts"],
4
- "sourcesContent": [
5
- "import type { IAgentRuntime } from \"@elizaos/core\";\n\nexport const DEFAULT_BASE_URL = \"https://openrouter.ai/api/v1\";\nexport const DEFAULT_SMALL_MODEL = \"google/gemini-2.0-flash-001\";\nexport const DEFAULT_LARGE_MODEL = \"google/gemini-2.5-flash\";\nexport const DEFAULT_IMAGE_MODEL = \"x-ai/grok-2-vision-1212\";\nexport const DEFAULT_IMAGE_GENERATION_MODEL = \"google/gemini-2.5-flash-image-preview\";\nexport const DEFAULT_EMBEDDING_MODEL = \"openai/text-embedding-3-small\";\nexport const DEFAULT_EMBEDDING_DIMENSIONS = 1536;\n\nfunction getEnvValue(key: string): string | undefined {\n if (typeof process === \"undefined\" || !process.env) {\n return undefined;\n }\n const value = process.env[key];\n return value === undefined ? undefined : String(value);\n}\n\nexport function getSetting(\n runtime: IAgentRuntime,\n key: string,\n defaultValue?: string\n): string | undefined {\n const value = runtime.getSetting(key);\n if (value !== undefined && value !== null) {\n return String(value);\n }\n return getEnvValue(key) ?? defaultValue;\n}\n\nexport function getBaseURL(runtime: IAgentRuntime): string {\n const browserURL = getSetting(runtime, \"OPENROUTER_BROWSER_BASE_URL\");\n if (\n typeof globalThis !== \"undefined\" &&\n (globalThis as Record<string, unknown>).document &&\n browserURL\n ) {\n return browserURL;\n }\n return getSetting(runtime, \"OPENROUTER_BASE_URL\", DEFAULT_BASE_URL) || DEFAULT_BASE_URL;\n}\n\nexport function getApiKey(runtime: IAgentRuntime): string | undefined {\n return getSetting(runtime, \"OPENROUTER_API_KEY\");\n}\n\nexport function getSmallModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"OPENROUTER_SMALL_MODEL\") ??\n getSetting(runtime, \"SMALL_MODEL\", DEFAULT_SMALL_MODEL) ??\n DEFAULT_SMALL_MODEL\n );\n}\n\nexport function getLargeModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"OPENROUTER_LARGE_MODEL\") ??\n getSetting(runtime, \"LARGE_MODEL\", DEFAULT_LARGE_MODEL) ??\n DEFAULT_LARGE_MODEL\n );\n}\n\nexport function getImageModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"OPENROUTER_IMAGE_MODEL\") ??\n getSetting(runtime, \"IMAGE_MODEL\", DEFAULT_IMAGE_MODEL) ??\n DEFAULT_IMAGE_MODEL\n );\n}\n\nexport function getImageGenerationModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"OPENROUTER_IMAGE_GENERATION_MODEL\") ??\n getSetting(runtime, \"IMAGE_GENERATION_MODEL\", DEFAULT_IMAGE_GENERATION_MODEL) ??\n DEFAULT_IMAGE_GENERATION_MODEL\n );\n}\n\nexport function getEmbeddingModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"OPENROUTER_EMBEDDING_MODEL\") ??\n getSetting(runtime, \"EMBEDDING_MODEL\", DEFAULT_EMBEDDING_MODEL) ??\n DEFAULT_EMBEDDING_MODEL\n );\n}\n\nexport function getEmbeddingDimensions(runtime: IAgentRuntime): number {\n const setting =\n getSetting(runtime, \"OPENROUTER_EMBEDDING_DIMENSIONS\") ??\n getSetting(runtime, \"EMBEDDING_DIMENSIONS\");\n return setting ? parseInt(setting, 10) : DEFAULT_EMBEDDING_DIMENSIONS;\n}\n\nexport function shouldAutoCleanupImages(runtime: IAgentRuntime): boolean {\n const setting = getSetting(runtime, \"OPENROUTER_AUTO_CLEANUP_IMAGES\", \"false\");\n return setting?.toLowerCase() === \"true\";\n}\n"
6
- ],
7
- "mappings": ";AAEO,IAAM,mBAAmB;AACzB,IAAM,sBAAsB;AAC5B,IAAM,sBAAsB;AAC5B,IAAM,sBAAsB;AAC5B,IAAM,iCAAiC;AACvC,IAAM,0BAA0B;AAChC,IAAM,+BAA+B;AAE5C,SAAS,WAAW,CAAC,KAAiC;AAAA,EACpD,IAAI,OAAO,YAAY,eAAe,CAAC,QAAQ,KAAK;AAAA,IAClD;AAAA,EACF;AAAA,EACA,MAAM,QAAQ,QAAQ,IAAI;AAAA,EAC1B,OAAO,UAAU,YAAY,YAAY,OAAO,KAAK;AAAA;AAGhD,SAAS,UAAU,CACxB,SACA,KACA,cACoB;AAAA,EACpB,MAAM,QAAQ,QAAQ,WAAW,GAAG;AAAA,EACpC,IAAI,UAAU,aAAa,UAAU,MAAM;AAAA,IACzC,OAAO,OAAO,KAAK;AAAA,EACrB;AAAA,EACA,OAAO,YAAY,GAAG,KAAK;AAAA;AAGtB,SAAS,UAAU,CAAC,SAAgC;AAAA,EACzD,MAAM,aAAa,WAAW,SAAS,6BAA6B;AAAA,EACpE,IACE,OAAO,eAAe,eACrB,WAAuC,YACxC,YACA;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EACA,OAAO,WAAW,SAAS,uBAAuB,gBAAgB,KAAK;AAAA;AAGlE,SAAS,SAAS,CAAC,SAA4C;AAAA,EACpE,OAAO,WAAW,SAAS,oBAAoB;AAAA;AAG1C,SAAS,aAAa,CAAC,SAAgC;AAAA,EAC5D,OACE,WAAW,SAAS,wBAAwB,KAC5C,WAAW,SAAS,eAAe,mBAAmB,KACtD;AAAA;AAIG,SAAS,aAAa,CAAC,SAAgC;AAAA,EAC5D,OACE,WAAW,SAAS,wBAAwB,KAC5C,WAAW,SAAS,eAAe,mBAAmB,KACtD;AAAA;AAIG,SAAS,aAAa,CAAC,SAAgC;AAAA,EAC5D,OACE,WAAW,SAAS,wBAAwB,KAC5C,WAAW,SAAS,eAAe,mBAAmB,KACtD;AAAA;AAIG,SAAS,uBAAuB,CAAC,SAAgC;AAAA,EACtE,OACE,WAAW,SAAS,mCAAmC,KACvD,WAAW,SAAS,0BAA0B,8BAA8B,KAC5E;AAAA;AAIG,SAAS,iBAAiB,CAAC,SAAgC;AAAA,EAChE,OACE,WAAW,SAAS,4BAA4B,KAChD,WAAW,SAAS,mBAAmB,uBAAuB,KAC9D;AAAA;AAIG,SAAS,sBAAsB,CAAC,SAAgC;AAAA,EACrE,MAAM,UACJ,WAAW,SAAS,iCAAiC,KACrD,WAAW,SAAS,sBAAsB;AAAA,EAC5C,OAAO,UAAU,SAAS,SAAS,EAAE,IAAI;AAAA;AAGpC,SAAS,uBAAuB,CAAC,SAAiC;AAAA,EACvE,MAAM,UAAU,WAAW,SAAS,kCAAkC,OAAO;AAAA,EAC7E,OAAO,SAAS,YAAY,MAAM;AAAA;",
8
- "debugId": "B9F8AC74D6EA35A764756E2164756E21",
9
- "names": []
10
- }
@@ -1,2 +0,0 @@
1
- export * from '../index';
2
- export { default } from '../index';
@@ -1,2 +0,0 @@
1
- export * from '../index';
2
- export { default } from '../index';
@@ -1,121 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropNames = Object.getOwnPropertyNames;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- function __accessProp(key) {
6
- return this[key];
7
- }
8
- var __toCommonJS = (from) => {
9
- var entry = (__moduleCache ??= new WeakMap).get(from), desc;
10
- if (entry)
11
- return entry;
12
- entry = __defProp({}, "__esModule", { value: true });
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (var key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(entry, key))
16
- __defProp(entry, key, {
17
- get: __accessProp.bind(from, key),
18
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
- });
20
- }
21
- __moduleCache.set(from, entry);
22
- return entry;
23
- };
24
- var __moduleCache;
25
- var __returnValue = (v) => v;
26
- function __exportSetter(name, newValue) {
27
- this[name] = __returnValue.bind(null, newValue);
28
- }
29
- var __export = (target, all) => {
30
- for (var name in all)
31
- __defProp(target, name, {
32
- get: all[name],
33
- enumerable: true,
34
- configurable: true,
35
- set: __exportSetter.bind(all, name)
36
- });
37
- };
38
-
39
- // index.ts
40
- var exports_typescript = {};
41
- __export(exports_typescript, {
42
- shouldAutoCleanupImages: () => shouldAutoCleanupImages,
43
- openrouterPlugin: () => import_plugin.openrouterPlugin,
44
- getSmallModel: () => getSmallModel,
45
- getSetting: () => getSetting,
46
- getLargeModel: () => getLargeModel,
47
- getImageModel: () => getImageModel,
48
- getImageGenerationModel: () => getImageGenerationModel,
49
- getEmbeddingModel: () => getEmbeddingModel,
50
- getEmbeddingDimensions: () => getEmbeddingDimensions,
51
- getBaseURL: () => getBaseURL,
52
- getApiKey: () => getApiKey,
53
- default: () => import_plugin.openrouterPlugin,
54
- DEFAULT_SMALL_MODEL: () => DEFAULT_SMALL_MODEL,
55
- DEFAULT_LARGE_MODEL: () => DEFAULT_LARGE_MODEL,
56
- DEFAULT_IMAGE_MODEL: () => DEFAULT_IMAGE_MODEL,
57
- DEFAULT_IMAGE_GENERATION_MODEL: () => DEFAULT_IMAGE_GENERATION_MODEL,
58
- DEFAULT_EMBEDDING_MODEL: () => DEFAULT_EMBEDDING_MODEL,
59
- DEFAULT_EMBEDDING_DIMENSIONS: () => DEFAULT_EMBEDDING_DIMENSIONS,
60
- DEFAULT_BASE_URL: () => DEFAULT_BASE_URL
61
- });
62
- module.exports = __toCommonJS(exports_typescript);
63
-
64
- // utils/config.ts
65
- var DEFAULT_BASE_URL = "https://openrouter.ai/api/v1";
66
- var DEFAULT_SMALL_MODEL = "google/gemini-2.0-flash-001";
67
- var DEFAULT_LARGE_MODEL = "google/gemini-2.5-flash";
68
- var DEFAULT_IMAGE_MODEL = "x-ai/grok-2-vision-1212";
69
- var DEFAULT_IMAGE_GENERATION_MODEL = "google/gemini-2.5-flash-image-preview";
70
- var DEFAULT_EMBEDDING_MODEL = "openai/text-embedding-3-small";
71
- var DEFAULT_EMBEDDING_DIMENSIONS = 1536;
72
- function getEnvValue(key) {
73
- if (typeof process === "undefined" || !process.env) {
74
- return;
75
- }
76
- const value = process.env[key];
77
- return value === undefined ? undefined : String(value);
78
- }
79
- function getSetting(runtime, key, defaultValue) {
80
- const value = runtime.getSetting(key);
81
- if (value !== undefined && value !== null) {
82
- return String(value);
83
- }
84
- return getEnvValue(key) ?? defaultValue;
85
- }
86
- function getBaseURL(runtime) {
87
- const browserURL = getSetting(runtime, "OPENROUTER_BROWSER_BASE_URL");
88
- if (typeof globalThis !== "undefined" && globalThis.document && browserURL) {
89
- return browserURL;
90
- }
91
- return getSetting(runtime, "OPENROUTER_BASE_URL", DEFAULT_BASE_URL) || DEFAULT_BASE_URL;
92
- }
93
- function getApiKey(runtime) {
94
- return getSetting(runtime, "OPENROUTER_API_KEY");
95
- }
96
- function getSmallModel(runtime) {
97
- return getSetting(runtime, "OPENROUTER_SMALL_MODEL") ?? getSetting(runtime, "SMALL_MODEL", DEFAULT_SMALL_MODEL) ?? DEFAULT_SMALL_MODEL;
98
- }
99
- function getLargeModel(runtime) {
100
- return getSetting(runtime, "OPENROUTER_LARGE_MODEL") ?? getSetting(runtime, "LARGE_MODEL", DEFAULT_LARGE_MODEL) ?? DEFAULT_LARGE_MODEL;
101
- }
102
- function getImageModel(runtime) {
103
- return getSetting(runtime, "OPENROUTER_IMAGE_MODEL") ?? getSetting(runtime, "IMAGE_MODEL", DEFAULT_IMAGE_MODEL) ?? DEFAULT_IMAGE_MODEL;
104
- }
105
- function getImageGenerationModel(runtime) {
106
- return getSetting(runtime, "OPENROUTER_IMAGE_GENERATION_MODEL") ?? getSetting(runtime, "IMAGE_GENERATION_MODEL", DEFAULT_IMAGE_GENERATION_MODEL) ?? DEFAULT_IMAGE_GENERATION_MODEL;
107
- }
108
- function getEmbeddingModel(runtime) {
109
- return getSetting(runtime, "OPENROUTER_EMBEDDING_MODEL") ?? getSetting(runtime, "EMBEDDING_MODEL", DEFAULT_EMBEDDING_MODEL) ?? DEFAULT_EMBEDDING_MODEL;
110
- }
111
- function getEmbeddingDimensions(runtime) {
112
- const setting = getSetting(runtime, "OPENROUTER_EMBEDDING_DIMENSIONS") ?? getSetting(runtime, "EMBEDDING_DIMENSIONS");
113
- return setting ? parseInt(setting, 10) : DEFAULT_EMBEDDING_DIMENSIONS;
114
- }
115
- function shouldAutoCleanupImages(runtime) {
116
- const setting = getSetting(runtime, "OPENROUTER_AUTO_CLEANUP_IMAGES", "false");
117
- return setting?.toLowerCase() === "true";
118
- }
119
-
120
- //# debugId=8CB3E91DAB0E9DCD64756E2164756E21
121
- //# sourceMappingURL=index.node.cjs.map
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../utils/config.ts"],
4
- "sourcesContent": [
5
- "import type { IAgentRuntime } from \"@elizaos/core\";\n\nexport const DEFAULT_BASE_URL = \"https://openrouter.ai/api/v1\";\nexport const DEFAULT_SMALL_MODEL = \"google/gemini-2.0-flash-001\";\nexport const DEFAULT_LARGE_MODEL = \"google/gemini-2.5-flash\";\nexport const DEFAULT_IMAGE_MODEL = \"x-ai/grok-2-vision-1212\";\nexport const DEFAULT_IMAGE_GENERATION_MODEL = \"google/gemini-2.5-flash-image-preview\";\nexport const DEFAULT_EMBEDDING_MODEL = \"openai/text-embedding-3-small\";\nexport const DEFAULT_EMBEDDING_DIMENSIONS = 1536;\n\nfunction getEnvValue(key: string): string | undefined {\n if (typeof process === \"undefined\" || !process.env) {\n return undefined;\n }\n const value = process.env[key];\n return value === undefined ? undefined : String(value);\n}\n\nexport function getSetting(\n runtime: IAgentRuntime,\n key: string,\n defaultValue?: string\n): string | undefined {\n const value = runtime.getSetting(key);\n if (value !== undefined && value !== null) {\n return String(value);\n }\n return getEnvValue(key) ?? defaultValue;\n}\n\nexport function getBaseURL(runtime: IAgentRuntime): string {\n const browserURL = getSetting(runtime, \"OPENROUTER_BROWSER_BASE_URL\");\n if (\n typeof globalThis !== \"undefined\" &&\n (globalThis as Record<string, unknown>).document &&\n browserURL\n ) {\n return browserURL;\n }\n return getSetting(runtime, \"OPENROUTER_BASE_URL\", DEFAULT_BASE_URL) || DEFAULT_BASE_URL;\n}\n\nexport function getApiKey(runtime: IAgentRuntime): string | undefined {\n return getSetting(runtime, \"OPENROUTER_API_KEY\");\n}\n\nexport function getSmallModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"OPENROUTER_SMALL_MODEL\") ??\n getSetting(runtime, \"SMALL_MODEL\", DEFAULT_SMALL_MODEL) ??\n DEFAULT_SMALL_MODEL\n );\n}\n\nexport function getLargeModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"OPENROUTER_LARGE_MODEL\") ??\n getSetting(runtime, \"LARGE_MODEL\", DEFAULT_LARGE_MODEL) ??\n DEFAULT_LARGE_MODEL\n );\n}\n\nexport function getImageModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"OPENROUTER_IMAGE_MODEL\") ??\n getSetting(runtime, \"IMAGE_MODEL\", DEFAULT_IMAGE_MODEL) ??\n DEFAULT_IMAGE_MODEL\n );\n}\n\nexport function getImageGenerationModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"OPENROUTER_IMAGE_GENERATION_MODEL\") ??\n getSetting(runtime, \"IMAGE_GENERATION_MODEL\", DEFAULT_IMAGE_GENERATION_MODEL) ??\n DEFAULT_IMAGE_GENERATION_MODEL\n );\n}\n\nexport function getEmbeddingModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"OPENROUTER_EMBEDDING_MODEL\") ??\n getSetting(runtime, \"EMBEDDING_MODEL\", DEFAULT_EMBEDDING_MODEL) ??\n DEFAULT_EMBEDDING_MODEL\n );\n}\n\nexport function getEmbeddingDimensions(runtime: IAgentRuntime): number {\n const setting =\n getSetting(runtime, \"OPENROUTER_EMBEDDING_DIMENSIONS\") ??\n getSetting(runtime, \"EMBEDDING_DIMENSIONS\");\n return setting ? parseInt(setting, 10) : DEFAULT_EMBEDDING_DIMENSIONS;\n}\n\nexport function shouldAutoCleanupImages(runtime: IAgentRuntime): boolean {\n const setting = getSetting(runtime, \"OPENROUTER_AUTO_CLEANUP_IMAGES\", \"false\");\n return setting?.toLowerCase() === \"true\";\n}\n"
6
- ],
7
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,IAAM,mBAAmB;AACzB,IAAM,sBAAsB;AAC5B,IAAM,sBAAsB;AAC5B,IAAM,sBAAsB;AAC5B,IAAM,iCAAiC;AACvC,IAAM,0BAA0B;AAChC,IAAM,+BAA+B;AAE5C,SAAS,WAAW,CAAC,KAAiC;AAAA,EACpD,IAAI,OAAO,YAAY,eAAe,CAAC,QAAQ,KAAK;AAAA,IAClD;AAAA,EACF;AAAA,EACA,MAAM,QAAQ,QAAQ,IAAI;AAAA,EAC1B,OAAO,UAAU,YAAY,YAAY,OAAO,KAAK;AAAA;AAGhD,SAAS,UAAU,CACxB,SACA,KACA,cACoB;AAAA,EACpB,MAAM,QAAQ,QAAQ,WAAW,GAAG;AAAA,EACpC,IAAI,UAAU,aAAa,UAAU,MAAM;AAAA,IACzC,OAAO,OAAO,KAAK;AAAA,EACrB;AAAA,EACA,OAAO,YAAY,GAAG,KAAK;AAAA;AAGtB,SAAS,UAAU,CAAC,SAAgC;AAAA,EACzD,MAAM,aAAa,WAAW,SAAS,6BAA6B;AAAA,EACpE,IACE,OAAO,eAAe,eACrB,WAAuC,YACxC,YACA;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EACA,OAAO,WAAW,SAAS,uBAAuB,gBAAgB,KAAK;AAAA;AAGlE,SAAS,SAAS,CAAC,SAA4C;AAAA,EACpE,OAAO,WAAW,SAAS,oBAAoB;AAAA;AAG1C,SAAS,aAAa,CAAC,SAAgC;AAAA,EAC5D,OACE,WAAW,SAAS,wBAAwB,KAC5C,WAAW,SAAS,eAAe,mBAAmB,KACtD;AAAA;AAIG,SAAS,aAAa,CAAC,SAAgC;AAAA,EAC5D,OACE,WAAW,SAAS,wBAAwB,KAC5C,WAAW,SAAS,eAAe,mBAAmB,KACtD;AAAA;AAIG,SAAS,aAAa,CAAC,SAAgC;AAAA,EAC5D,OACE,WAAW,SAAS,wBAAwB,KAC5C,WAAW,SAAS,eAAe,mBAAmB,KACtD;AAAA;AAIG,SAAS,uBAAuB,CAAC,SAAgC;AAAA,EACtE,OACE,WAAW,SAAS,mCAAmC,KACvD,WAAW,SAAS,0BAA0B,8BAA8B,KAC5E;AAAA;AAIG,SAAS,iBAAiB,CAAC,SAAgC;AAAA,EAChE,OACE,WAAW,SAAS,4BAA4B,KAChD,WAAW,SAAS,mBAAmB,uBAAuB,KAC9D;AAAA;AAIG,SAAS,sBAAsB,CAAC,SAAgC;AAAA,EACrE,MAAM,UACJ,WAAW,SAAS,iCAAiC,KACrD,WAAW,SAAS,sBAAsB;AAAA,EAC5C,OAAO,UAAU,SAAS,SAAS,EAAE,IAAI;AAAA;AAGpC,SAAS,uBAAuB,CAAC,SAAiC;AAAA,EACvE,MAAM,UAAU,WAAW,SAAS,kCAAkC,OAAO;AAAA,EAC7E,OAAO,SAAS,YAAY,MAAM;AAAA;",
8
- "debugId": "8CB3E91DAB0E9DCD64756E2164756E21",
9
- "names": []
10
- }
package/dist/index.d.ts DELETED
@@ -1,5 +0,0 @@
1
- import type { Plugin } from "@elizaos/core";
2
-
3
- export declare const openrouterPlugin: Plugin;
4
- declare const _default: Plugin;
5
- export default _default;
@@ -1,2 +0,0 @@
1
- export * from '../index';
2
- export { default } from '../index';
@@ -1,79 +0,0 @@
1
- // utils/config.ts
2
- var DEFAULT_BASE_URL = "https://openrouter.ai/api/v1";
3
- var DEFAULT_SMALL_MODEL = "google/gemini-2.0-flash-001";
4
- var DEFAULT_LARGE_MODEL = "google/gemini-2.5-flash";
5
- var DEFAULT_IMAGE_MODEL = "x-ai/grok-2-vision-1212";
6
- var DEFAULT_IMAGE_GENERATION_MODEL = "google/gemini-2.5-flash-image-preview";
7
- var DEFAULT_EMBEDDING_MODEL = "openai/text-embedding-3-small";
8
- var DEFAULT_EMBEDDING_DIMENSIONS = 1536;
9
- function getEnvValue(key) {
10
- if (typeof process === "undefined" || !process.env) {
11
- return;
12
- }
13
- const value = process.env[key];
14
- return value === undefined ? undefined : String(value);
15
- }
16
- function getSetting(runtime, key, defaultValue) {
17
- const value = runtime.getSetting(key);
18
- if (value !== undefined && value !== null) {
19
- return String(value);
20
- }
21
- return getEnvValue(key) ?? defaultValue;
22
- }
23
- function getBaseURL(runtime) {
24
- const browserURL = getSetting(runtime, "OPENROUTER_BROWSER_BASE_URL");
25
- if (typeof globalThis !== "undefined" && globalThis.document && browserURL) {
26
- return browserURL;
27
- }
28
- return getSetting(runtime, "OPENROUTER_BASE_URL", DEFAULT_BASE_URL) || DEFAULT_BASE_URL;
29
- }
30
- function getApiKey(runtime) {
31
- return getSetting(runtime, "OPENROUTER_API_KEY");
32
- }
33
- function getSmallModel(runtime) {
34
- return getSetting(runtime, "OPENROUTER_SMALL_MODEL") ?? getSetting(runtime, "SMALL_MODEL", DEFAULT_SMALL_MODEL) ?? DEFAULT_SMALL_MODEL;
35
- }
36
- function getLargeModel(runtime) {
37
- return getSetting(runtime, "OPENROUTER_LARGE_MODEL") ?? getSetting(runtime, "LARGE_MODEL", DEFAULT_LARGE_MODEL) ?? DEFAULT_LARGE_MODEL;
38
- }
39
- function getImageModel(runtime) {
40
- return getSetting(runtime, "OPENROUTER_IMAGE_MODEL") ?? getSetting(runtime, "IMAGE_MODEL", DEFAULT_IMAGE_MODEL) ?? DEFAULT_IMAGE_MODEL;
41
- }
42
- function getImageGenerationModel(runtime) {
43
- return getSetting(runtime, "OPENROUTER_IMAGE_GENERATION_MODEL") ?? getSetting(runtime, "IMAGE_GENERATION_MODEL", DEFAULT_IMAGE_GENERATION_MODEL) ?? DEFAULT_IMAGE_GENERATION_MODEL;
44
- }
45
- function getEmbeddingModel(runtime) {
46
- return getSetting(runtime, "OPENROUTER_EMBEDDING_MODEL") ?? getSetting(runtime, "EMBEDDING_MODEL", DEFAULT_EMBEDDING_MODEL) ?? DEFAULT_EMBEDDING_MODEL;
47
- }
48
- function getEmbeddingDimensions(runtime) {
49
- const setting = getSetting(runtime, "OPENROUTER_EMBEDDING_DIMENSIONS") ?? getSetting(runtime, "EMBEDDING_DIMENSIONS");
50
- return setting ? parseInt(setting, 10) : DEFAULT_EMBEDDING_DIMENSIONS;
51
- }
52
- function shouldAutoCleanupImages(runtime) {
53
- const setting = getSetting(runtime, "OPENROUTER_AUTO_CLEANUP_IMAGES", "false");
54
- return setting?.toLowerCase() === "true";
55
- }
56
- export {
57
- shouldAutoCleanupImages,
58
- openrouterPlugin,
59
- getSmallModel,
60
- getSetting,
61
- getLargeModel,
62
- getImageModel,
63
- getImageGenerationModel,
64
- getEmbeddingModel,
65
- getEmbeddingDimensions,
66
- getBaseURL,
67
- getApiKey,
68
- openrouterPlugin2 as default,
69
- DEFAULT_SMALL_MODEL,
70
- DEFAULT_LARGE_MODEL,
71
- DEFAULT_IMAGE_MODEL,
72
- DEFAULT_IMAGE_GENERATION_MODEL,
73
- DEFAULT_EMBEDDING_MODEL,
74
- DEFAULT_EMBEDDING_DIMENSIONS,
75
- DEFAULT_BASE_URL
76
- };
77
-
78
- //# debugId=431621A17DB0AE0564756E2164756E21
79
- //# sourceMappingURL=index.node.js.map
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../utils/config.ts"],
4
- "sourcesContent": [
5
- "import type { IAgentRuntime } from \"@elizaos/core\";\n\nexport const DEFAULT_BASE_URL = \"https://openrouter.ai/api/v1\";\nexport const DEFAULT_SMALL_MODEL = \"google/gemini-2.0-flash-001\";\nexport const DEFAULT_LARGE_MODEL = \"google/gemini-2.5-flash\";\nexport const DEFAULT_IMAGE_MODEL = \"x-ai/grok-2-vision-1212\";\nexport const DEFAULT_IMAGE_GENERATION_MODEL = \"google/gemini-2.5-flash-image-preview\";\nexport const DEFAULT_EMBEDDING_MODEL = \"openai/text-embedding-3-small\";\nexport const DEFAULT_EMBEDDING_DIMENSIONS = 1536;\n\nfunction getEnvValue(key: string): string | undefined {\n if (typeof process === \"undefined\" || !process.env) {\n return undefined;\n }\n const value = process.env[key];\n return value === undefined ? undefined : String(value);\n}\n\nexport function getSetting(\n runtime: IAgentRuntime,\n key: string,\n defaultValue?: string\n): string | undefined {\n const value = runtime.getSetting(key);\n if (value !== undefined && value !== null) {\n return String(value);\n }\n return getEnvValue(key) ?? defaultValue;\n}\n\nexport function getBaseURL(runtime: IAgentRuntime): string {\n const browserURL = getSetting(runtime, \"OPENROUTER_BROWSER_BASE_URL\");\n if (\n typeof globalThis !== \"undefined\" &&\n (globalThis as Record<string, unknown>).document &&\n browserURL\n ) {\n return browserURL;\n }\n return getSetting(runtime, \"OPENROUTER_BASE_URL\", DEFAULT_BASE_URL) || DEFAULT_BASE_URL;\n}\n\nexport function getApiKey(runtime: IAgentRuntime): string | undefined {\n return getSetting(runtime, \"OPENROUTER_API_KEY\");\n}\n\nexport function getSmallModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"OPENROUTER_SMALL_MODEL\") ??\n getSetting(runtime, \"SMALL_MODEL\", DEFAULT_SMALL_MODEL) ??\n DEFAULT_SMALL_MODEL\n );\n}\n\nexport function getLargeModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"OPENROUTER_LARGE_MODEL\") ??\n getSetting(runtime, \"LARGE_MODEL\", DEFAULT_LARGE_MODEL) ??\n DEFAULT_LARGE_MODEL\n );\n}\n\nexport function getImageModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"OPENROUTER_IMAGE_MODEL\") ??\n getSetting(runtime, \"IMAGE_MODEL\", DEFAULT_IMAGE_MODEL) ??\n DEFAULT_IMAGE_MODEL\n );\n}\n\nexport function getImageGenerationModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"OPENROUTER_IMAGE_GENERATION_MODEL\") ??\n getSetting(runtime, \"IMAGE_GENERATION_MODEL\", DEFAULT_IMAGE_GENERATION_MODEL) ??\n DEFAULT_IMAGE_GENERATION_MODEL\n );\n}\n\nexport function getEmbeddingModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"OPENROUTER_EMBEDDING_MODEL\") ??\n getSetting(runtime, \"EMBEDDING_MODEL\", DEFAULT_EMBEDDING_MODEL) ??\n DEFAULT_EMBEDDING_MODEL\n );\n}\n\nexport function getEmbeddingDimensions(runtime: IAgentRuntime): number {\n const setting =\n getSetting(runtime, \"OPENROUTER_EMBEDDING_DIMENSIONS\") ??\n getSetting(runtime, \"EMBEDDING_DIMENSIONS\");\n return setting ? parseInt(setting, 10) : DEFAULT_EMBEDDING_DIMENSIONS;\n}\n\nexport function shouldAutoCleanupImages(runtime: IAgentRuntime): boolean {\n const setting = getSetting(runtime, \"OPENROUTER_AUTO_CLEANUP_IMAGES\", \"false\");\n return setting?.toLowerCase() === \"true\";\n}\n"
6
- ],
7
- "mappings": ";AAEO,IAAM,mBAAmB;AACzB,IAAM,sBAAsB;AAC5B,IAAM,sBAAsB;AAC5B,IAAM,sBAAsB;AAC5B,IAAM,iCAAiC;AACvC,IAAM,0BAA0B;AAChC,IAAM,+BAA+B;AAE5C,SAAS,WAAW,CAAC,KAAiC;AAAA,EACpD,IAAI,OAAO,YAAY,eAAe,CAAC,QAAQ,KAAK;AAAA,IAClD;AAAA,EACF;AAAA,EACA,MAAM,QAAQ,QAAQ,IAAI;AAAA,EAC1B,OAAO,UAAU,YAAY,YAAY,OAAO,KAAK;AAAA;AAGhD,SAAS,UAAU,CACxB,SACA,KACA,cACoB;AAAA,EACpB,MAAM,QAAQ,QAAQ,WAAW,GAAG;AAAA,EACpC,IAAI,UAAU,aAAa,UAAU,MAAM;AAAA,IACzC,OAAO,OAAO,KAAK;AAAA,EACrB;AAAA,EACA,OAAO,YAAY,GAAG,KAAK;AAAA;AAGtB,SAAS,UAAU,CAAC,SAAgC;AAAA,EACzD,MAAM,aAAa,WAAW,SAAS,6BAA6B;AAAA,EACpE,IACE,OAAO,eAAe,eACrB,WAAuC,YACxC,YACA;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EACA,OAAO,WAAW,SAAS,uBAAuB,gBAAgB,KAAK;AAAA;AAGlE,SAAS,SAAS,CAAC,SAA4C;AAAA,EACpE,OAAO,WAAW,SAAS,oBAAoB;AAAA;AAG1C,SAAS,aAAa,CAAC,SAAgC;AAAA,EAC5D,OACE,WAAW,SAAS,wBAAwB,KAC5C,WAAW,SAAS,eAAe,mBAAmB,KACtD;AAAA;AAIG,SAAS,aAAa,CAAC,SAAgC;AAAA,EAC5D,OACE,WAAW,SAAS,wBAAwB,KAC5C,WAAW,SAAS,eAAe,mBAAmB,KACtD;AAAA;AAIG,SAAS,aAAa,CAAC,SAAgC;AAAA,EAC5D,OACE,WAAW,SAAS,wBAAwB,KAC5C,WAAW,SAAS,eAAe,mBAAmB,KACtD;AAAA;AAIG,SAAS,uBAAuB,CAAC,SAAgC;AAAA,EACtE,OACE,WAAW,SAAS,mCAAmC,KACvD,WAAW,SAAS,0BAA0B,8BAA8B,KAC5E;AAAA;AAIG,SAAS,iBAAiB,CAAC,SAAgC;AAAA,EAChE,OACE,WAAW,SAAS,4BAA4B,KAChD,WAAW,SAAS,mBAAmB,uBAAuB,KAC9D;AAAA;AAIG,SAAS,sBAAsB,CAAC,SAAgC;AAAA,EACrE,MAAM,UACJ,WAAW,SAAS,iCAAiC,KACrD,WAAW,SAAS,sBAAsB;AAAA,EAC5C,OAAO,UAAU,SAAS,SAAS,EAAE,IAAI;AAAA;AAGpC,SAAS,uBAAuB,CAAC,SAAiC;AAAA,EACvE,MAAM,UAAU,WAAW,SAAS,kCAAkC,OAAO;AAAA,EAC7E,OAAO,SAAS,YAAY,MAAM;AAAA;",
8
- "debugId": "431621A17DB0AE0564756E2164756E21",
9
- "names": []
10
- }