Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
5420fde
Update README.md
letmehateu Oct 8, 2025
c3aa5c5
Update README.md
letmehateu Oct 8, 2025
d67598a
Update README.md
letmehateu Oct 8, 2025
deeb22c
feat: add ElizaOS reference to runtime
standujar Nov 3, 2025
d6bcbcb
feat: enhance onResponse callback to include optional file attachments
standujar Nov 3, 2025
4083b01
feat(tests): enhance event handling in ElizaOS tests with type-safe e…
standujar Nov 3, 2025
6412b15
feat(tests): add hasElizaOS mock to various test files for improved r…
standujar Nov 3, 2025
08d5141
fix(plugin-sql): correct types path in package.json exports
0xbbjoker Nov 5, 2025
7c76a9c
refactor: update RLS security checks to consider RLS isolation status
standujar Nov 10, 2025
e66215b
refactor: implement server ID validation for RLS in messaging channel…
standujar Nov 10, 2025
76b57d2
fix: Load environment variables from process.env instead of .env file
standujar Nov 10, 2025
cb7adab
chore: update dependencies in bun.lock file to latest versions
standujar Nov 10, 2025
d722354
chore: update dependencies in bun.lock file to latest versions
standujar Nov 10, 2025
1e001d6
feat(cli): add OpenRouter support for AI and embedding models
Neysixx Nov 11, 2025
c3a5292
refactor(cli): revert miss-changes and edit right setup
Neysixx Nov 11, 2025
b2d5e91
fix(cli): update embedding support for OpenRouter in selection utilities
Neysixx Nov 11, 2025
f9f6d1a
Merge pull request #6139 from elizaOS/fix/remove-unused-rls-check
0xbbjoker Nov 11, 2025
fb9b8ad
Merge branch 'develop' into fix/plugin-sql-package-json-types-path
0xbbjoker Nov 11, 2025
56b7ca9
chore: release v1.6.5-alpha.1 (alpha) [skip ci]
github-actions[bot] Nov 11, 2025
663d711
Merge branch 'develop' into feat/unified-messaging-api-runtime-reference
0xbbjoker Nov 11, 2025
b1f951e
refactor: simplify onResponse callback by removing file attachment pa…
standujar Nov 11, 2025
2f5d8de
fix: improve error handling when loading .env files and clarify docum…
standujar Nov 11, 2025
43263c2
fix: ensure console.warn is defined before logging errors when loadin…
standujar Nov 11, 2025
96f3c3a
Merge branch 'develop' into fix/load-secrets-from-process-env
standujar Nov 11, 2025
b1306a3
Merge pull request #6141 from elizaOS/fix/load-secrets-from-process-env
0xbbjoker Nov 12, 2025
73f744f
Merge branch 'develop' into feat/unified-messaging-api-runtime-reference
0xbbjoker Nov 12, 2025
ce6c43a
Merge branch 'develop' into fix/plugin-sql-package-json-types-path
0xbbjoker Nov 12, 2025
023d8ab
chore: release v1.6.5-alpha.2 (alpha) [skip ci]
github-actions[bot] Nov 12, 2025
80f3ec9
Merge branch 'develop' into feat/unified-messaging-api-runtime-reference
standujar Nov 12, 2025
7c6c674
fix: adjust sync delay verification in runtime embedding tests for ti…
standujar Nov 12, 2025
46c4218
Merge branch 'develop' into fix/cli-openrouter-embedding
standujar Nov 12, 2025
0bd3ef7
Merge pull request #6111 from elizaOS/feat/unified-messaging-api-runt…
0xbbjoker Nov 12, 2025
685e5e7
Merge branch 'develop' into fix/plugin-sql-package-json-types-path
0xbbjoker Nov 12, 2025
9abdd87
chore: release v1.6.5-alpha.3 (alpha) [skip ci]
github-actions[bot] Nov 12, 2025
6e0c9eb
Merge branch 'develop' into fix/plugin-sql-package-json-types-path
0xbbjoker Nov 12, 2025
b4f4585
Merge pull request #6134 from elizaOS/fix/plugin-sql-package-json-typ…
0xbbjoker Nov 13, 2025
778a027
chore: release v1.6.5-alpha.4 (alpha) [skip ci]
github-actions[bot] Nov 13, 2025
726b1d7
fix(build): resolve TypeScript declaration generation errors
0xbbjoker Nov 13, 2025
5778e97
fix(plugin-sql): correct browser declaration alias path
0xbbjoker Nov 13, 2025
41f568d
Merge pull request #6146 from elizaOS/fix/build-typescript-declarations
0xbbjoker Nov 13, 2025
61b81e5
chore: release v1.6.5-alpha.5 (alpha) [skip ci]
github-actions[bot] Nov 13, 2025
fa89f69
fix: migrate from LangChain v0.3 to @langchain/textsplitters v1.0
0xbbjoker Nov 14, 2025
f3aa75c
Merge pull request #6050 from letmehateu/develop
wtfsayo Nov 16, 2025
7789a6c
Merge branch 'develop' into fix/migrate-langchain-to-v1
0xbbjoker Nov 17, 2025
d942536
fix(core): add @langchain/core@^1.0.0 to resolve peer dependency
0xbbjoker Nov 17, 2025
afa9b85
Merge pull request #6152 from elizaOS/fix/migrate-langchain-to-v1
0xbbjoker Nov 17, 2025
f89ce97
chore: release v1.6.5-alpha.6 (alpha) [skip ci]
github-actions[bot] Nov 17, 2025
ee5564d
Merge branch 'develop' into fix/cli-openrouter-embedding
standujar Nov 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
537 changes: 284 additions & 253 deletions bun.lock

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion lerna.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"version": "1.6.5-alpha.0",
"version": "1.6.5-alpha.6",
"packages": [
"packages/*"
],
Expand Down
2 changes: 1 addition & 1 deletion packages/api-client/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@elizaos/api-client",
"version": "1.6.5-alpha.0",
"version": "1.6.5-alpha.6",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"module": "dist/index.js",
Expand Down
2 changes: 1 addition & 1 deletion packages/app/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@elizaos/app",
"version": "1.6.5-alpha.0",
"version": "1.6.5-alpha.6",
"type": "module",
"scripts": {
"start": "tauri dev",
Expand Down
6 changes: 3 additions & 3 deletions packages/cli/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -331,7 +331,7 @@ elizaos tee phala <command> [options]
- **`elizaos tee phala auth login [api-key]`** - Set the API key for authentication

- Store your Phala Cloud API key securely for subsequent operations
- Get your API key from [Phala Cloud Dashboard](https://cloud.phala.network)
- Get your API key from [Phala Cloud Dashboard](https://cloud.phala.network/register)

- **`elizaos tee phala auth logout`** - Remove the stored API key

Expand Down Expand Up @@ -444,7 +444,7 @@ elizaos tee phala <command> [options]

```bash
elizaos tee phala free
# Or visit https://cloud.phala.network to create an account
# Or visit https://cloud.phala.network/register to create an account
```

2. **Authenticate**:
Expand Down Expand Up @@ -509,7 +509,7 @@ For private Docker images, set these environment variables before deployment and
##### Additional Resources

- **Command Help**: `elizaos tee phala help` or `elizaos tee phala <command> --help`
- **Official Documentation**: [Phala Cloud Docs](https://docs.phala.network/phala-cloud)
- **Official Documentation**: [Phala Cloud Docs](https://docs.phala.com/phala-cloud/what-is/what-is-phala-cloud)
- **Dashboard**: [Phala Cloud Dashboard](https://cloud.phala.network)
- **NPM Package**: [phala on npm](https://www.npmjs.com/package/phala)
- **Support**: [Phala Network Discord](https://discord.gg/phala-network)
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@elizaos/cli",
"version": "1.6.5-alpha.0",
"version": "1.6.5-alpha.6",
"description": "elizaOS CLI - Manage your AI agents and plugins",
"publishConfig": {
"access": "public",
Expand Down
66 changes: 66 additions & 0 deletions packages/cli/src/commands/create/actions/setup.ts
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,72 @@ export async function setupEmbeddingModelConfig(
break;
}

case 'openrouter': {
// 'openrouter' for embeddings, configure it with model and dimensions
if (!hasValidApiKey(content, 'OPENROUTER_API_KEY')) {
if (isNonInteractive) {
// In non-interactive mode, add/update placeholder
if (!content.includes('OPENROUTER_API_KEY=')) {
content += '\n# Embedding Model Configuration (Fallback)\n';
content += '# OpenRouter Embeddings Configuration\n';
content += 'OPENROUTER_API_KEY=your_openrouter_api_key_here\n';
content += 'OPENROUTER_EMBEDDING_MODEL=openai/text-embedding-3-small\n';
content += 'OPENROUTER_EMBEDDING_DIMENSIONS=1536\n';
content += '# Get your API key from: https://openrouter.ai/keys\n';
}
await fs.writeFile(envFilePath, content, 'utf8');
} else {
// Interactive mode - prompt for OpenRouter API key
await promptAndStoreOpenRouterKey(envFilePath);
}
} else {
// OpenRouter API key exists, but we need to add embedding model configuration
if (isNonInteractive) {
// Re-read content to get latest state
content = await fs.readFile(envFilePath, 'utf8');

// In non-interactive mode, just add embedding model if not present
// Check for active (non-commented) lines only
const hasActiveEmbeddingModel = /^OPENROUTER_EMBEDDING_MODEL=.+$/m.test(content);
const hasActiveEmbeddingDimensions = /^OPENROUTER_EMBEDDING_DIMENSIONS=.+$/m.test(
content
);

if (!hasActiveEmbeddingModel) {
content += 'OPENROUTER_EMBEDDING_MODEL=openai/text-embedding-3-small\n';
}
if (!hasActiveEmbeddingDimensions) {
content += 'OPENROUTER_EMBEDDING_DIMENSIONS=1536\n';
}
await fs.writeFile(envFilePath, content, 'utf8');
} else {
// Interactive mode - Re-read and add embedding config
content = await fs.readFile(envFilePath, 'utf8');

// Check for active (non-commented) lines only
const hasActiveEmbeddingModel = /^OPENROUTER_EMBEDDING_MODEL=.+$/m.test(content);
const hasActiveEmbeddingDimensions = /^OPENROUTER_EMBEDDING_DIMENSIONS=.+$/m.test(
content
);

if (!hasActiveEmbeddingModel) {
if (content && !content.endsWith('\n')) {
content += '\n';
}
content += 'OPENROUTER_EMBEDDING_MODEL=openai/text-embedding-3-small\n';
}
if (!hasActiveEmbeddingDimensions) {
if (content && !content.endsWith('\n')) {
content += '\n';
}
content += 'OPENROUTER_EMBEDDING_DIMENSIONS=1536\n';
}
await fs.writeFile(envFilePath, content, 'utf8');
}
}
break;
}

default:
console.warn(`Unknown embedding model: ${embeddingModel}, skipping configuration`);
return;
Expand Down
7 changes: 6 additions & 1 deletion packages/cli/src/commands/create/utils/selection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ export function getAvailableAIModels(): AIModelOption[] {
* Models with embeddings don't need a separate embedding provider.
*/
export function hasEmbeddingSupport(aiModel: string): boolean {
const modelsWithEmbeddings = ['local', 'openai', 'google'];
const modelsWithEmbeddings = ['local', 'openai', 'google', 'openrouter'];
return modelsWithEmbeddings.includes(aiModel);
}

Expand Down Expand Up @@ -137,6 +137,11 @@ export function getAvailableEmbeddingModels(): AIModelOption[] {
value: 'google',
description: 'Google embedding models',
},
{
title: 'OpenRouter',
value: 'openrouter',
description: 'Access multiple embedding models',
},
];
}

Expand Down
7 changes: 3 additions & 4 deletions packages/cli/src/commands/start/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@ import { displayBanner, handleError } from '@/src/utils';
import { buildProject } from '@/src/utils/build-project';
import { ensureElizaOSCli } from '@/src/utils/dependency-manager';
import { detectDirectoryType } from '@/src/utils/directory-detection';
import { logger, type Character, type ProjectAgent } from '@elizaos/core';
import { logger, type Character, type ProjectAgent, loadEnvFile } from '@elizaos/core';
import { AgentServer, loadCharacterTryPath } from '@elizaos/server';
import { Command, InvalidOptionArgumentError } from 'commander';
import dotenv from 'dotenv';
import * as fs from 'node:fs';
import * as path from 'node:path';
import { StartOptions } from './types';
Expand Down Expand Up @@ -36,13 +35,13 @@ export const start = new Command()
const { envFilePath } = await userEnv.getPathInfo();
const candidateEnv = envFilePath || path.join(process.cwd(), '.env');
if (fs.existsSync(candidateEnv)) {
dotenv.config({ path: candidateEnv });
loadEnvFile(candidateEnv);
}
} catch {
// Fallback to CWD-based .env if resolution fails
const envPath = path.join(process.cwd(), '.env');
if (fs.existsSync(envPath)) {
dotenv.config({ path: envPath });
loadEnvFile(envPath);
}
}

Expand Down
4 changes: 4 additions & 0 deletions packages/cli/src/utils/get-config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,10 @@ ANTHROPIC_API_KEY=
# OLLAMA_MEDIUM_MODEL=gemma3:latest
# OLLAMA_LARGE_MODEL=gemma3:latest

# OpenRouter Configuration
# OPENROUTER_API_KEY=
# OPENROUTER_EMBEDDING_MODEL=openai/text-embedding-3-small
# OPENROUTER_EMBEDDING_DIMENSIONS=1536

# Highly recommended to use nomic-embed-text for embeddings
# OLLAMA_EMBEDDING_MODEL=nomic-embed-text
Expand Down
6 changes: 3 additions & 3 deletions packages/cli/tests/unit/utils/selection.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ describe('selection utilities', () => {
expect(hasEmbeddingSupport('local')).toBe(true);
expect(hasEmbeddingSupport('openai')).toBe(true);
expect(hasEmbeddingSupport('google')).toBe(true);
expect(hasEmbeddingSupport('openrouter')).toBe(true);
});

it('should return false for models without embedding support', () => {
expect(hasEmbeddingSupport('claude')).toBe(false);
expect(hasEmbeddingSupport('openrouter')).toBe(false);
});

it('should return false for unknown models', () => {
Expand Down Expand Up @@ -68,8 +68,8 @@ describe('selection utilities', () => {

describe('AI model selection flow', () => {
it('should identify which models need separate embedding providers', () => {
const modelsNeedingEmbeddings = ['claude', 'openrouter'];
const modelsWithEmbeddings = ['local', 'openai', 'google'];
const modelsNeedingEmbeddings = ['claude'];
const modelsWithEmbeddings = ['local', 'openai', 'google', 'openrouter'];

modelsNeedingEmbeddings.forEach((model) => {
expect(hasEmbeddingSupport(model)).toBe(false);
Expand Down
2 changes: 1 addition & 1 deletion packages/client/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@elizaos/client",
"version": "1.6.5-alpha.0",
"version": "1.6.5-alpha.6",
"description": "Web client interface for ElizaOS agents",
"repository": {
"type": "git",
Expand Down
2 changes: 1 addition & 1 deletion packages/config/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@elizaos/config",
"description": "Shared configuration for ElizaOS projects and plugins",
"version": "1.6.5-alpha.0",
"version": "1.6.5-alpha.6",
"type": "module",
"main": "dist/index.js",
"module": "dist/index.js",
Expand Down
5 changes: 3 additions & 2 deletions packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@elizaos/core",
"version": "1.6.5-alpha.0",
"version": "1.6.5-alpha.6",
"description": "",
"type": "module",
"main": "dist/index.js",
Expand Down Expand Up @@ -66,12 +66,13 @@
"typescript": "5.9.2"
},
"dependencies": {
"@langchain/core": "^1.0.0",
"@langchain/textsplitters": "^1.0.0",
"adze": "^2.2.5",
"crypto-browserify": "^3.12.0",
"dotenv": "17.2.3",
"glob": "11.0.3",
"handlebars": "^4.7.8",
"langchain": "^0.3.35",
"pdfjs-dist": "^5.2.133",
"unique-names-generator": "4.7.1",
"uuid": "13.0.0",
Expand Down
Loading