diff --git a/firmware-arduino/src/Config.h b/firmware-arduino/src/Config.h index d808430..939f1ea 100644 --- a/firmware-arduino/src/Config.h +++ b/firmware-arduino/src/Config.h @@ -13,8 +13,8 @@ // For ELATO_MODE, you will need to register your DIY Hardware on the Elato website // #define DEV_MODE -#define PROD_MODE -// #define ELATO_MODE +// #define PROD_MODE +#define ELATO_MODE // ---------- CHOOSE YOUR VOICE SERVER ---------- // Keep this separate from DEV/PROD/ELATO so the deployment mode and the voice backend stay independent. diff --git a/server-cloudflare/models/openai.ts b/server-cloudflare/models/openai.ts index 5379e7e..cf78849 100644 --- a/server-cloudflare/models/openai.ts +++ b/server-cloudflare/models/openai.ts @@ -1,3 +1,4 @@ +import { DurableObject } from "cloudflare:workers"; import type { Env } from "../src/types"; import { createOpusPacketizer } from "../src/opus"; import { getSystemPrompt } from "../src/prompt"; @@ -93,15 +94,12 @@ async function synthesizeSpeech(env: Env, text: string): Promise { ) as Promise; } -export class ElatoOpenAiVoiceAgent { +export class ElatoOpenAiVoiceAgent extends DurableObject { private audioBuffer = new Uint8Array(0); private isGenerating = false; - private readonly ctx: DurableObjectState; - private readonly env: Env; constructor(ctx: DurableObjectState, env: Env) { - this.ctx = ctx; - this.env = env; + super(ctx, env); } private appendAudio(chunk: Uint8Array) { diff --git a/server-cloudflare/wrangler.toml b/server-cloudflare/wrangler.toml index d6a22ff..22d73be 100644 --- a/server-cloudflare/wrangler.toml +++ b/server-cloudflare/wrangler.toml @@ -13,3 +13,8 @@ class_name = "ElatoOpenAiVoiceAgent" [[migrations]] tag = "v1" new_sqlite_classes = ["ElatoOpenAiVoiceAgent"] + +[observability] +[observability.logs] +enabled = false +invocation_logs = true \ No newline at end of file