From 1c5f7fcd84a42845edfeb950528c85580328dd3f Mon Sep 17 00:00:00 2001 From: moon Date: Wed, 20 Mar 2024 12:18:23 -0700 Subject: [PATCH] Add error handling for goals so we know why things are failing --- package.json | 2 +- src/lib/__tests__/goals.test.ts | 2 ++ src/lib/__tests__/messages.test.ts | 1 + src/lib/adapters/supabase.ts | 23 ++++++++++++------- .../20240318103238_remote_schema.sql | 1 + 5 files changed, 20 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 2120870..b805581 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bgent", - "version": "0.0.46", + "version": "0.1.1", "private": false, "description": "bgent. because agent was taken.", "type": "module", diff --git a/src/lib/__tests__/goals.test.ts b/src/lib/__tests__/goals.test.ts index d99150e..d3e988f 100644 --- a/src/lib/__tests__/goals.test.ts +++ b/src/lib/__tests__/goals.test.ts @@ -55,6 +55,8 @@ describe("Goals", () => { onlyInProgress: false, }); + console.log("goals", goals); + const createdGoal = goals.find((goal: Goal) => goal.name === newGoal.name); expect(createdGoal).toBeDefined(); diff --git a/src/lib/__tests__/messages.test.ts b/src/lib/__tests__/messages.test.ts index 8fcd68f..d14e343 100644 --- a/src/lib/__tests__/messages.test.ts +++ b/src/lib/__tests__/messages.test.ts @@ -61,6 +61,7 @@ describe("Messages Library", () => { }); test("formatActors should format actors into a readable string", () => { + console.log("ACTORS:", actors) const formattedActors = formatActors({ actors }); actors.forEach((actor) => { expect(formattedActors).toContain(actor.name); diff --git a/src/lib/adapters/supabase.ts b/src/lib/adapters/supabase.ts index 23f09ea..9c0b24a 100644 --- a/src/lib/adapters/supabase.ts +++ b/src/lib/adapters/supabase.ts @@ -43,7 +43,7 @@ export class SupabaseDatabaseAdapter extends DatabaseAdapter { .select( ` participants:participants!inner( - user_id:accounts(id, name, details) + account:accounts(id, name, details) ) `, ) @@ -59,7 +59,7 @@ export class SupabaseDatabaseAdapter extends DatabaseAdapter { return data .map((room) => room.participants.map((participant) => { - const user = participant.user_id[0]; // Assuming user_id is an array with a single object + const user = participant.account as unknown as Actor; return { name: user?.name, details: user?.details, @@ -235,10 +235,7 @@ export class SupabaseDatabaseAdapter extends DatabaseAdapter { } } - async removeAllMemories( - room_id: UUID, - tableName: string, - ): Promise { + async removeAllMemories(room_id: UUID, tableName: string): Promise { const result = await this.supabase.rpc("remove_memories", { query_table_name: tableName, query_room_id: room_id, @@ -294,11 +291,21 @@ export class SupabaseDatabaseAdapter extends DatabaseAdapter { } async updateGoal(goal: Goal): Promise { - await this.supabase.from("goals").update(goal).match({ id: goal.id }); + const { error } = await this.supabase + .from("goals") + .update(goal) + .match({ id: goal.id }); + if (error) { + throw new Error(`Error creating goal: ${error.message}`); + } } async createGoal(goal: Goal): Promise { - await this.supabase.from("goals").upsert(goal); + console.log("inserting goal:", goal); + const { error } = await this.supabase.from("goals").insert(goal); + if (error) { + throw new Error(`Error creating goal: ${error.message}`); + } } async removeGoal(goalId: UUID): Promise { diff --git a/supabase/migrations/20240318103238_remote_schema.sql b/supabase/migrations/20240318103238_remote_schema.sql index a3d354c..b5d6bf0 100644 --- a/supabase/migrations/20240318103238_remote_schema.sql +++ b/supabase/migrations/20240318103238_remote_schema.sql @@ -306,6 +306,7 @@ CREATE TABLE IF NOT EXISTS "public"."goals" ( "user_id" "uuid", "room_id" "uuid", "status" "text", + "name" "text", "objectives" "jsonb"[] DEFAULT '{}'::"jsonb"[] NOT NULL );