@elizaos/plugin-sql 1.0.0-alpha.52 → 1.0.0-alpha.54

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/dist/migrate.js CHANGED
@@ -16,7 +16,6 @@ async function runMigrations() {
16
16
  );
17
17
  await connectionManager.initialize();
18
18
  await connectionManager.runMigrations();
19
- await connectionManager.close();
20
19
  logger.success("PostgreSQL migrations completed successfully");
21
20
  process.exit(0);
22
21
  } catch (error) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/migrate.ts"],"sourceRoot":"./","sourcesContent":["import { logger } from \"@elizaos/core\";\nimport { config } from \"dotenv\";\nimport { PGliteClientManager } from \"./pg-lite/manager.js\";\nimport { PostgresConnectionManager } from \"./pg/manager.js\";\n\nconfig({ path: \"../../.env\" });\n\n/**\n * Runs the database migrations based on the environment variable POSTGRES_URL.\n * If the POSTGRES_URL is provided, it indicates the use of a PostgreSQL database and the corresponding migration logic needs to be implemented.\n * If POSTGRES_URL is not provided, it uses a PGlite database and runs the migrations on it.\n * @returns {Promise<void>} A promise that resolves once the migrations are completed successfully or rejects if an error occurs.\n */\nasync function runMigrations() {\n\tif (process.env.POSTGRES_URL) {\n\t\ttry {\n\t\t\tconst connectionManager = new PostgresConnectionManager(\n\t\t\t\tprocess.env.POSTGRES_URL,\n\t\t\t);\n\t\t\tawait connectionManager.initialize();\n\t\t\tawait connectionManager.runMigrations();\n\t\t\tawait connectionManager.close();\n\t\t\tlogger.success(\"PostgreSQL migrations completed successfully\");\n\t\t\tprocess.exit(0);\n\t\t} catch (error) {\n\t\t\tlogger.warn(\"PostgreSQL migration failed:\", error);\n\t\t\tprocess.exit(1);\n\t\t}\n\t} else {\n\t\tlogger.info(\"Using PGlite database\");\n\t\tconst clientManager = new PGliteClientManager({\n\t\t\tdataDir: \"../../pglite\",\n\t\t});\n\n\t\ttry {\n\t\t\tawait clientManager.initialize();\n\t\t\tawait clientManager.runMigrations();\n\t\t\tlogger.success(\"PGlite migrations completed successfully\");\n\t\t\tawait clientManager.close();\n\t\t\tprocess.exit(0);\n\t\t} catch (error) {\n\t\t\tlogger.error(\"PGlite migration failed:\", error);\n\t\t\ttry {\n\t\t\t\tawait clientManager.close();\n\t\t\t} catch (closeError) {\n\t\t\t\tlogger.error(\"Failed to close PGlite connection:\", closeError);\n\t\t\t}\n\t\t\tprocess.exit(1);\n\t\t}\n\t}\n}\n\nrunMigrations().catch((error) => {\n\tlogger.error(\"Unhandled error in migrations:\", error);\n\tprocess.exit(1);\n});\n"],"mappings":";;;;;;;AAAA,SAAS,cAAc;AACvB,SAAS,cAAc;AAIvB,OAAO,EAAE,MAAM,aAAa,CAAC;AAQ7B,eAAe,gBAAgB;AAC9B,MAAI,QAAQ,IAAI,cAAc;AAC7B,QAAI;AACH,YAAM,oBAAoB,IAAI;AAAA,QAC7B,QAAQ,IAAI;AAAA,MACb;AACA,YAAM,kBAAkB,WAAW;AACnC,YAAM,kBAAkB,cAAc;AACtC,YAAM,kBAAkB,MAAM;AAC9B,aAAO,QAAQ,8CAA8C;AAC7D,cAAQ,KAAK,CAAC;AAAA,IACf,SAAS,OAAO;AACf,aAAO,KAAK,gCAAgC,KAAK;AACjD,cAAQ,KAAK,CAAC;AAAA,IACf;AAAA,EACD,OAAO;AACN,WAAO,KAAK,uBAAuB;AACnC,UAAM,gBAAgB,IAAI,oBAAoB;AAAA,MAC7C,SAAS;AAAA,IACV,CAAC;AAED,QAAI;AACH,YAAM,cAAc,WAAW;AAC/B,YAAM,cAAc,cAAc;AAClC,aAAO,QAAQ,0CAA0C;AACzD,YAAM,cAAc,MAAM;AAC1B,cAAQ,KAAK,CAAC;AAAA,IACf,SAAS,OAAO;AACf,aAAO,MAAM,4BAA4B,KAAK;AAC9C,UAAI;AACH,cAAM,cAAc,MAAM;AAAA,MAC3B,SAAS,YAAY;AACpB,eAAO,MAAM,sCAAsC,UAAU;AAAA,MAC9D;AACA,cAAQ,KAAK,CAAC;AAAA,IACf;AAAA,EACD;AACD;AArCe;AAuCf,cAAc,EAAE,MAAM,CAAC,UAAU;AAChC,SAAO,MAAM,kCAAkC,KAAK;AACpD,UAAQ,KAAK,CAAC;AACf,CAAC;","names":[]}
1
+ {"version":3,"sources":["../src/migrate.ts"],"sourceRoot":"./","sourcesContent":["import { logger } from \"@elizaos/core\";\nimport { config } from \"dotenv\";\nimport { PGliteClientManager } from \"./pg-lite/manager.js\";\nimport { PostgresConnectionManager } from \"./pg/manager.js\";\n\nconfig({ path: \"../../.env\" });\n\n/**\n * Runs the database migrations based on the environment variable POSTGRES_URL.\n * If the POSTGRES_URL is provided, it indicates the use of a PostgreSQL database and the corresponding migration logic needs to be implemented.\n * If POSTGRES_URL is not provided, it uses a PGlite database and runs the migrations on it.\n * @returns {Promise<void>} A promise that resolves once the migrations are completed successfully or rejects if an error occurs.\n */\nasync function runMigrations() {\n\tif (process.env.POSTGRES_URL) {\n\t\ttry {\n\t\t\tconst connectionManager = new PostgresConnectionManager(\n\t\t\t\tprocess.env.POSTGRES_URL,\n\t\t\t);\n\t\t\tawait connectionManager.initialize();\n\t\t\tawait connectionManager.runMigrations();\n\t\t\t// await connectionManager.close();\n\t\t\tlogger.success(\"PostgreSQL migrations completed successfully\");\n\t\t\tprocess.exit(0);\n\t\t} catch (error) {\n\t\t\tlogger.warn(\"PostgreSQL migration failed:\", error);\n\t\t\tprocess.exit(1);\n\t\t}\n\t} else {\n\t\tlogger.info(\"Using PGlite database\");\n\t\tconst clientManager = new PGliteClientManager({\n\t\t\tdataDir: \"../../pglite\",\n\t\t});\n\n\t\ttry {\n\t\t\tawait clientManager.initialize();\n\t\t\tawait clientManager.runMigrations();\n\t\t\tlogger.success(\"PGlite migrations completed successfully\");\n\t\t\tawait clientManager.close();\n\t\t\tprocess.exit(0);\n\t\t} catch (error) {\n\t\t\tlogger.error(\"PGlite migration failed:\", error);\n\t\t\ttry {\n\t\t\t\tawait clientManager.close();\n\t\t\t} catch (closeError) {\n\t\t\t\tlogger.error(\"Failed to close PGlite connection:\", closeError);\n\t\t\t}\n\t\t\tprocess.exit(1);\n\t\t}\n\t}\n}\n\nrunMigrations().catch((error) => {\n\tlogger.error(\"Unhandled error in migrations:\", error);\n\tprocess.exit(1);\n});\n"],"mappings":";;;;;;;AAAA,SAAS,cAAc;AACvB,SAAS,cAAc;AAIvB,OAAO,EAAE,MAAM,aAAa,CAAC;AAQ7B,eAAe,gBAAgB;AAC9B,MAAI,QAAQ,IAAI,cAAc;AAC7B,QAAI;AACH,YAAM,oBAAoB,IAAI;AAAA,QAC7B,QAAQ,IAAI;AAAA,MACb;AACA,YAAM,kBAAkB,WAAW;AACnC,YAAM,kBAAkB,cAAc;AAEtC,aAAO,QAAQ,8CAA8C;AAC7D,cAAQ,KAAK,CAAC;AAAA,IACf,SAAS,OAAO;AACf,aAAO,KAAK,gCAAgC,KAAK;AACjD,cAAQ,KAAK,CAAC;AAAA,IACf;AAAA,EACD,OAAO;AACN,WAAO,KAAK,uBAAuB;AACnC,UAAM,gBAAgB,IAAI,oBAAoB;AAAA,MAC7C,SAAS;AAAA,IACV,CAAC;AAED,QAAI;AACH,YAAM,cAAc,WAAW;AAC/B,YAAM,cAAc,cAAc;AAClC,aAAO,QAAQ,0CAA0C;AACzD,YAAM,cAAc,MAAM;AAC1B,cAAQ,KAAK,CAAC;AAAA,IACf,SAAS,OAAO;AACf,aAAO,MAAM,4BAA4B,KAAK;AAC9C,UAAI;AACH,cAAM,cAAc,MAAM;AAAA,MAC3B,SAAS,YAAY;AACpB,eAAO,MAAM,sCAAsC,UAAU;AAAA,MAC9D;AACA,cAAQ,KAAK,CAAC;AAAA,IACf;AAAA,EACD;AACD;AArCe;AAuCf,cAAc,EAAE,MAAM,CAAC,UAAU;AAChC,SAAO,MAAM,kCAAkC,KAAK;AACpD,UAAQ,KAAK,CAAC;AACf,CAAC;","names":[]}
@@ -0,0 +1,198 @@
1
+ CREATE EXTENSION IF NOT EXISTS vector;
2
+ --> statement-breakpoint
3
+ CREATE EXTENSION IF NOT EXISTS fuzzystrmatch;
4
+ --> statement-breakpoint
5
+ CREATE TABLE "agents" (
6
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
7
+ "createdAt" timestamptz DEFAULT now() NOT NULL,
8
+ "updatedAt" timestamptz DEFAULT now() NOT NULL,
9
+ "name" text,
10
+ "username" text,
11
+ "system" text,
12
+ "bio" jsonb NOT NULL,
13
+ "message_examples" jsonb DEFAULT '[]'::jsonb,
14
+ "post_examples" jsonb DEFAULT '[]'::jsonb,
15
+ "topics" jsonb DEFAULT '[]'::jsonb,
16
+ "adjectives" jsonb DEFAULT '[]'::jsonb,
17
+ "knowledge" jsonb DEFAULT '[]'::jsonb,
18
+ "plugins" jsonb DEFAULT '[]'::jsonb,
19
+ "settings" jsonb DEFAULT '{}'::jsonb,
20
+ "style" jsonb DEFAULT '{}'::jsonb,
21
+ CONSTRAINT "name_unique" UNIQUE("name")
22
+ );
23
+ --> statement-breakpoint
24
+ CREATE TABLE "cache" (
25
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
26
+ "key" text NOT NULL,
27
+ "agentId" uuid NOT NULL,
28
+ "value" jsonb NOT NULL,
29
+ "createdAt" timestamptz DEFAULT now() NOT NULL,
30
+ "expiresAt" timestamptz,
31
+ CONSTRAINT "cache_key_agent_unique" UNIQUE("key","agentId")
32
+ );
33
+ --> statement-breakpoint
34
+ CREATE TABLE "components" (
35
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
36
+ "entityId" uuid NOT NULL,
37
+ "agentId" uuid NOT NULL,
38
+ "roomId" uuid NOT NULL,
39
+ "worldId" uuid,
40
+ "sourceEntityId" uuid,
41
+ "type" text NOT NULL,
42
+ "data" jsonb DEFAULT '{}'::jsonb,
43
+ "createdAt" timestamptz DEFAULT now() NOT NULL
44
+ );
45
+ --> statement-breakpoint
46
+ CREATE TABLE "embeddings" (
47
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
48
+ "memory_id" uuid,
49
+ "created_at" timestamptz DEFAULT now() NOT NULL,
50
+ "dim_384" vector(384),
51
+ "dim_512" vector(512),
52
+ "dim_768" vector(768),
53
+ "dim_1024" vector(1024),
54
+ "dim_1536" vector(1536),
55
+ "dim_3072" vector(3072),
56
+ CONSTRAINT "embedding_source_check" CHECK ("memory_id" IS NOT NULL)
57
+ );
58
+ --> statement-breakpoint
59
+ CREATE TABLE "entities" (
60
+ "id" uuid PRIMARY KEY NOT NULL,
61
+ "agentId" uuid NOT NULL,
62
+ "createdAt" timestamptz DEFAULT now() NOT NULL,
63
+ "names" text[] DEFAULT '{}'::text[],
64
+ "metadata" jsonb DEFAULT '{}'::jsonb,
65
+ CONSTRAINT "id_agent_id_unique" UNIQUE("id","agentId")
66
+ );
67
+ --> statement-breakpoint
68
+ CREATE TABLE "logs" (
69
+ "id" uuid DEFAULT gen_random_uuid() NOT NULL,
70
+ "createdAt" timestamptz DEFAULT now() NOT NULL,
71
+ "entityId" uuid NOT NULL,
72
+ "body" jsonb NOT NULL,
73
+ "type" text NOT NULL,
74
+ "roomId" uuid NOT NULL
75
+ );
76
+ --> statement-breakpoint
77
+ CREATE TABLE "memories" (
78
+ "id" uuid PRIMARY KEY NOT NULL,
79
+ "type" text NOT NULL,
80
+ "createdAt" timestamptz DEFAULT now() NOT NULL,
81
+ "content" jsonb NOT NULL,
82
+ "entityId" uuid,
83
+ "agentId" uuid,
84
+ "roomId" uuid,
85
+ "unique" boolean DEFAULT true NOT NULL,
86
+ "metadata" jsonb DEFAULT '{}'::jsonb NOT NULL,
87
+ CONSTRAINT "fragment_metadata_check" CHECK (
88
+ CASE
89
+ WHEN metadata->>'type' = 'fragment' THEN
90
+ metadata ? 'documentId' AND
91
+ metadata ? 'position'
92
+ ELSE true
93
+ END
94
+ ),
95
+ CONSTRAINT "document_metadata_check" CHECK (
96
+ CASE
97
+ WHEN metadata->>'type' = 'document' THEN
98
+ metadata ? 'timestamp'
99
+ ELSE true
100
+ END
101
+ )
102
+ );
103
+ --> statement-breakpoint
104
+ CREATE TABLE "participants" (
105
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
106
+ "createdAt" timestamptz DEFAULT now() NOT NULL,
107
+ "entityId" uuid,
108
+ "roomId" uuid,
109
+ "agentId" uuid,
110
+ "roomState" text
111
+ );
112
+ --> statement-breakpoint
113
+ CREATE TABLE "relationships" (
114
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
115
+ "createdAt" timestamptz DEFAULT now() NOT NULL,
116
+ "sourceEntityId" uuid NOT NULL,
117
+ "targetEntityId" uuid NOT NULL,
118
+ "agentId" uuid NOT NULL,
119
+ "tags" text[],
120
+ "metadata" jsonb,
121
+ CONSTRAINT "unique_relationship" UNIQUE("sourceEntityId","targetEntityId","agentId")
122
+ );
123
+ --> statement-breakpoint
124
+ CREATE TABLE "rooms" (
125
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
126
+ "agentId" uuid,
127
+ "source" text NOT NULL,
128
+ "type" text NOT NULL,
129
+ "serverId" text,
130
+ "worldId" uuid,
131
+ "name" text,
132
+ "metadata" jsonb,
133
+ "channelId" text,
134
+ "createdAt" timestamptz DEFAULT now() NOT NULL
135
+ );
136
+ --> statement-breakpoint
137
+ CREATE TABLE "tasks" (
138
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
139
+ "name" text NOT NULL,
140
+ "description" text NOT NULL,
141
+ "room_id" uuid,
142
+ "world_id" uuid,
143
+ "agent_id" uuid NOT NULL,
144
+ "tags" text[],
145
+ "metadata" jsonb,
146
+ "created_at" timestamp DEFAULT now(),
147
+ "updated_at" timestamp DEFAULT now()
148
+ );
149
+ --> statement-breakpoint
150
+ CREATE TABLE "worlds" (
151
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
152
+ "agentId" uuid NOT NULL,
153
+ "name" text NOT NULL,
154
+ "metadata" jsonb,
155
+ "serverId" text NOT NULL,
156
+ "createdAt" timestamptz DEFAULT now() NOT NULL
157
+ );
158
+ --> statement-breakpoint
159
+ ALTER TABLE "cache" ADD CONSTRAINT "cache_agentId_agents_id_fk" FOREIGN KEY ("agentId") REFERENCES "public"."agents"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
160
+ ALTER TABLE "components" ADD CONSTRAINT "components_entityId_entities_id_fk" FOREIGN KEY ("entityId") REFERENCES "public"."entities"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
161
+ ALTER TABLE "components" ADD CONSTRAINT "components_agentId_agents_id_fk" FOREIGN KEY ("agentId") REFERENCES "public"."agents"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
162
+ ALTER TABLE "components" ADD CONSTRAINT "components_roomId_rooms_id_fk" FOREIGN KEY ("roomId") REFERENCES "public"."rooms"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
163
+ ALTER TABLE "components" ADD CONSTRAINT "components_worldId_worlds_id_fk" FOREIGN KEY ("worldId") REFERENCES "public"."worlds"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
164
+ ALTER TABLE "components" ADD CONSTRAINT "components_sourceEntityId_entities_id_fk" FOREIGN KEY ("sourceEntityId") REFERENCES "public"."entities"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
165
+ ALTER TABLE "embeddings" ADD CONSTRAINT "embeddings_memory_id_memories_id_fk" FOREIGN KEY ("memory_id") REFERENCES "public"."memories"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
166
+ ALTER TABLE "embeddings" ADD CONSTRAINT "fk_embedding_memory" FOREIGN KEY ("memory_id") REFERENCES "public"."memories"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
167
+ ALTER TABLE "entities" ADD CONSTRAINT "entities_agentId_agents_id_fk" FOREIGN KEY ("agentId") REFERENCES "public"."agents"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
168
+ ALTER TABLE "logs" ADD CONSTRAINT "logs_entityId_entities_id_fk" FOREIGN KEY ("entityId") REFERENCES "public"."entities"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
169
+ ALTER TABLE "logs" ADD CONSTRAINT "logs_roomId_rooms_id_fk" FOREIGN KEY ("roomId") REFERENCES "public"."rooms"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint
170
+ ALTER TABLE "logs" ADD CONSTRAINT "fk_room" FOREIGN KEY ("roomId") REFERENCES "public"."rooms"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
171
+ ALTER TABLE "logs" ADD CONSTRAINT "fk_user" FOREIGN KEY ("entityId") REFERENCES "public"."entities"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
172
+ ALTER TABLE "memories" ADD CONSTRAINT "memories_entityId_entities_id_fk" FOREIGN KEY ("entityId") REFERENCES "public"."entities"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
173
+ ALTER TABLE "memories" ADD CONSTRAINT "memories_agentId_agents_id_fk" FOREIGN KEY ("agentId") REFERENCES "public"."agents"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
174
+ ALTER TABLE "memories" ADD CONSTRAINT "memories_roomId_rooms_id_fk" FOREIGN KEY ("roomId") REFERENCES "public"."rooms"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
175
+ ALTER TABLE "memories" ADD CONSTRAINT "fk_room" FOREIGN KEY ("roomId") REFERENCES "public"."rooms"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
176
+ ALTER TABLE "memories" ADD CONSTRAINT "fk_user" FOREIGN KEY ("entityId") REFERENCES "public"."entities"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
177
+ ALTER TABLE "memories" ADD CONSTRAINT "fk_agent" FOREIGN KEY ("agentId") REFERENCES "public"."entities"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
178
+ ALTER TABLE "participants" ADD CONSTRAINT "participants_entityId_entities_id_fk" FOREIGN KEY ("entityId") REFERENCES "public"."entities"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
179
+ ALTER TABLE "participants" ADD CONSTRAINT "participants_roomId_rooms_id_fk" FOREIGN KEY ("roomId") REFERENCES "public"."rooms"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
180
+ ALTER TABLE "participants" ADD CONSTRAINT "participants_agentId_agents_id_fk" FOREIGN KEY ("agentId") REFERENCES "public"."agents"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
181
+ ALTER TABLE "participants" ADD CONSTRAINT "fk_room" FOREIGN KEY ("roomId") REFERENCES "public"."rooms"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
182
+ ALTER TABLE "participants" ADD CONSTRAINT "fk_user" FOREIGN KEY ("entityId") REFERENCES "public"."entities"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
183
+ ALTER TABLE "relationships" ADD CONSTRAINT "relationships_sourceEntityId_entities_id_fk" FOREIGN KEY ("sourceEntityId") REFERENCES "public"."entities"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
184
+ ALTER TABLE "relationships" ADD CONSTRAINT "relationships_targetEntityId_entities_id_fk" FOREIGN KEY ("targetEntityId") REFERENCES "public"."entities"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
185
+ ALTER TABLE "relationships" ADD CONSTRAINT "relationships_agentId_agents_id_fk" FOREIGN KEY ("agentId") REFERENCES "public"."agents"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
186
+ ALTER TABLE "relationships" ADD CONSTRAINT "fk_user_a" FOREIGN KEY ("sourceEntityId") REFERENCES "public"."entities"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
187
+ ALTER TABLE "relationships" ADD CONSTRAINT "fk_user_b" FOREIGN KEY ("targetEntityId") REFERENCES "public"."entities"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
188
+ ALTER TABLE "rooms" ADD CONSTRAINT "rooms_agentId_agents_id_fk" FOREIGN KEY ("agentId") REFERENCES "public"."agents"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
189
+ ALTER TABLE "rooms" ADD CONSTRAINT "rooms_worldId_worlds_id_fk" FOREIGN KEY ("worldId") REFERENCES "public"."worlds"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
190
+ ALTER TABLE "worlds" ADD CONSTRAINT "worlds_agentId_agents_id_fk" FOREIGN KEY ("agentId") REFERENCES "public"."agents"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
191
+ CREATE INDEX "idx_embedding_memory" ON "embeddings" USING btree ("memory_id");--> statement-breakpoint
192
+ CREATE INDEX "idx_memories_type_room" ON "memories" USING btree ("type","roomId");--> statement-breakpoint
193
+ CREATE INDEX "idx_memories_metadata_type" ON "memories" USING btree (((metadata->>'type')));--> statement-breakpoint
194
+ CREATE INDEX "idx_memories_document_id" ON "memories" USING btree (((metadata->>'documentId')));--> statement-breakpoint
195
+ CREATE INDEX "idx_fragments_order" ON "memories" USING btree (((metadata->>'documentId')),((metadata->>'position')));--> statement-breakpoint
196
+ CREATE INDEX "idx_participants_user" ON "participants" USING btree ("entityId");--> statement-breakpoint
197
+ CREATE INDEX "idx_participants_room" ON "participants" USING btree ("roomId");--> statement-breakpoint
198
+ CREATE INDEX "idx_relationships_users" ON "relationships" USING btree ("sourceEntityId","targetEntityId");