From e8aeb1ed687bbdfb2098ec83c093f5fcab142ef1 Mon Sep 17 00:00:00 2001 From: Shaw Date: Fri, 7 Feb 2025 16:41:37 -0500 Subject: [PATCH] fix some bugs but providers cooked --- bun.lockb | Bin 1115112 -> 1115616 bytes package.json | 6 +++--- packages/agent/src/index.ts | 2 +- packages/cli/README.md | 2 +- packages/cli/package.json | 6 +++--- packages/cli/src/commands/init.ts | 12 ++++++------ packages/cli/src/tee/phala/constants.ts | 2 +- packages/client/package.json | 1 + packages/core/src/generation.ts | 18 ++++++++---------- turbo.json | 11 +++++++++-- 10 files changed, 33 insertions(+), 27 deletions(-) diff --git a/bun.lockb b/bun.lockb index 12a2862d4360fe5c2d0176307525e80ea60884a2..cca7a8340f654aadd40fb1a7e170ce1054e105b9 100755 GIT binary patch delta 53446 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 M)53ho(#cx*H#(5?EdT%j diff --git a/package.json b/package.json index 87d4231d05a..cd30d95f8c9 100644 --- a/package.json +++ b/package.json @@ -7,9 +7,9 @@ "check": "biome check --apply .", "preinstall": "npx only-allow bun", "build": "turbo run build --filter=./packages/*", - "start": "bun --filter=./packages/* --filter=!@elizaos/cli start", - "agent": "bun --filter=@elizaos/agent start", - "dev": "bun --filter=./packages/* dev", + "start": "turbo run start --filter=!./packages/docs", + "agent": "turbo run start --filter=@elizaos/agent", + "dev": "turbo run dev --filter=!./packages/docs", "release": "bun run build && bun format && npx lerna publish --no-private --force-publish", "docker:build": "bash ./scripts/docker.sh build", "docker:run": "bash ./scripts/docker.sh run", diff --git a/packages/agent/src/index.ts b/packages/agent/src/index.ts index bb859ec8d2b..2203962feb3 100644 --- a/packages/agent/src/index.ts +++ b/packages/agent/src/index.ts @@ -591,7 +591,7 @@ const startAgents = async () => { } elizaLogger.info( - "Run `pnpm start:client` to start the client and visit the outputted URL (http://localhost:5173) to chat with your agents. When running multiple agents, use client with different port `SERVER_PORT=3001 pnpm start:client`" + "Run `bun start:client` to start the client and visit the outputted URL (http://localhost:5173) to chat with your agents. When running multiple agents, use client with different port `SERVER_PORT=3001 bun start:client`" ); }; diff --git a/packages/cli/README.md b/packages/cli/README.md index 6ebd93b6444..ab7e65a5e35 100644 --- a/packages/cli/README.md +++ b/packages/cli/README.md @@ -7,7 +7,7 @@ The TEE CLI provides a set of commands to manage your ElizaOS TEE deployments, f ### Prerequisites - Docker installed and running -- Node.js and npm/pnpm installed +- Node.js and npm/bun installed - A Docker Hub account for publishing images - A Phala Cloud (https://cloud.phala.network/login) API key for cloud deployments diff --git a/packages/cli/package.json b/packages/cli/package.json index 4bb0864acf2..bf475c1b30a 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -32,9 +32,9 @@ "format:write": "prettier --write \"**/*.{ts,tsx,mdx}\" --cache", "format:check": "prettier --check \"**/*.{ts,tsx,mdx}\" --cache", "release": "changeset version", - "pub:beta": "pnpm build && pnpm publish --no-git-checks --access public --tag beta", - "pub:next": "pnpm build && pnpm publish --no-git-checks --access public --tag next", - "pub:release": "pnpm build && pnpm publish --access public", + "pub:beta": "bun build && bun publish --no-git-checks --access public --tag beta", + "pub:next": "bun build && bun publish --no-git-checks --access public --tag next", + "pub:release": "bun build && bun publish --access public", "test": "vitest run", "test:dev": "REGISTRY_URL=http://localhost:3333 vitest run" }, diff --git a/packages/cli/src/commands/init.ts b/packages/cli/src/commands/init.ts index 474eef6d46f..5d0c837be8f 100644 --- a/packages/cli/src/commands/init.ts +++ b/packages/cli/src/commands/init.ts @@ -69,25 +69,25 @@ async function selectPlugins() { async function installDependencies(targetDir: string, database: string, selectedPlugins: string[]) { logger.info("Installing dependencies...") - // Install pnpm if not already installed - await execa("npm", ["install", "-g", "pnpm"], { + // Install bun if not already installed + await execa("npm", ["install", "-g", "bun"], { stdio: "inherit" }) - // Use pnpm for installation - await execa("pnpm", ["install", "--no-frozen-lockfile"], { + // Use bun for installation + await execa("bun", ["install", "--no-frozen-lockfile"], { cwd: targetDir, stdio: "inherit" }) - await execa("pnpm", ["add", `@elizaos/adapter-${database}`, "--workspace-root"], { + await execa("bun", ["add", `@elizaos/adapter-${database}`, "--workspace-root"], { cwd: targetDir, stdio: "inherit" }) if (selectedPlugins.length > 0) { console.log(selectedPlugins) - await execa("pnpm", ["add", ...selectedPlugins, "--workspace-root"], { + await execa("bun", ["add", ...selectedPlugins, "--workspace-root"], { cwd: targetDir, stdio: "inherit" }) diff --git a/packages/cli/src/tee/phala/constants.ts b/packages/cli/src/tee/phala/constants.ts index c2c25527817..283f069528f 100644 --- a/packages/cli/src/tee/phala/constants.ts +++ b/packages/cli/src/tee/phala/constants.ts @@ -33,7 +33,7 @@ services: /bin/sh -c " cd /app && echo {{characterBase64Data}} | base64 -d > characters/{{characterName}}.character.json && - pnpm run start --non-interactive --character=characters/{{characterName}}.character.json + bun run start --non-interactive --character=characters/{{characterName}}.character.json " stdin_open: true tty: true diff --git a/packages/client/package.json b/packages/client/package.json index c769ddb7d04..5563b71c55f 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -5,6 +5,7 @@ "type": "module", "scripts": { "extract-version": "bash ./version.sh", + "start": "bun run extract-version && vite", "dev": "bun run extract-version && vite", "build": "bun run extract-version && tsc -b && vite build", "preview": "vite preview" diff --git a/packages/core/src/generation.ts b/packages/core/src/generation.ts index a383c24a86e..14e65fed9f9 100644 --- a/packages/core/src/generation.ts +++ b/packages/core/src/generation.ts @@ -1,16 +1,15 @@ // ================ IMPORTS ================ -import { createOpenAI } from "@ai-sdk/openai"; import { createAnthropic } from "@ai-sdk/anthropic"; +import { createOpenAI } from "@ai-sdk/openai"; import { experimental_generateImage as aiGenerateImage, generateObject as aiGenerateObject, generateText as aiGenerateText, - type JSONValue, type StepResult as AIStepResult, type CoreTool, - type GenerateObjectResult, + type JSONValue } from "ai"; -import { object, z, type ZodSchema } from "zod"; +import { z, type ZodSchema } from "zod"; import { elizaLogger, logFunctionCall } from "./index.ts"; import { parseJSONObjectFromText @@ -22,8 +21,7 @@ import { type IAgentRuntime, type IImageDescriptionService, ModelClass, - ServiceType, - type TelemetrySettings, + ServiceType } from "./types.ts"; @@ -89,8 +87,8 @@ async function withRetry( function isAnthropicProvider(runtime: IAgentRuntime): boolean { const provider = runtime.getModelProvider()?.provider; return ( - provider.toLowerCase().includes("anthropic") || - provider.toLowerCase().includes("claude") + provider?.toLowerCase().includes("anthropic") || + provider?.toLowerCase().includes("claude") ); } @@ -119,7 +117,7 @@ function validateModelConfig( ) { const validations = [ { value: config.apiKey, name: 'API key', for: provider }, - { value: config.baseURL, name: 'endpoint URL', for: provider }, + // { value: config.baseURL, name: 'endpoint URL', for: provider }, { value: config.modelProvider, name: 'model provider' }, { value: config.modelProvider?.models, name: 'model configurations', in: 'provider' }, { value: config.model, name: 'model name', for: `class ${config.modelClass}` } @@ -149,7 +147,7 @@ export function initializeModelClient(runtime: IAgentRuntime, modelClass: ModelC const modelProvider = runtime.getModelProvider(); const modelConfig = modelProvider?.models?.[modelClass]; - const model = modelConfig?.name; + const model = modelConfig?.name || "gpt-4o"; // Single validation call replaces multiple if-checks validateModelConfig(provider, { diff --git a/turbo.json b/turbo.json index f1ffeb4bd71..890aa72835e 100644 --- a/turbo.json +++ b/turbo.json @@ -3,8 +3,15 @@ "tasks": { "build": { "dependsOn": ["^build"], - "outputs": ["dist/**"], - "cache": false + "outputs": ["dist/**"] + }, + "start": { + "dependsOn": ["build"], + "persistent": true + }, + "dev": { + "persistent": true, + "dependsOn": ["build"] } } } \ No newline at end of file