UNPKG

manifest

Version:

Self-hosted Manifest LLM router with embedded server, SQLite database, and dashboard

91 lines 13.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.InitialSchema1771464895790 = void 0; class InitialSchema1771464895790 { name = 'InitialSchema1771464895790'; async up(queryRunner) { const tables = await queryRunner.query(`SELECT tablename FROM pg_tables WHERE schemaname = 'public' AND tablename = 'tenants'`); if (tables.length > 0) return; await queryRunner.query(`CREATE TABLE "tool_executions" ("id" character varying NOT NULL, "tenant_id" character varying, "agent_id" character varying, "llm_call_id" character varying, "tool_name" character varying NOT NULL, "duration_ms" integer, "status" character varying NOT NULL DEFAULT 'ok', "error_message" character varying, CONSTRAINT "PK_bdd7e5fafce34f8647fde510aff" PRIMARY KEY ("id"))`); await queryRunner.query(`CREATE INDEX "IDX_7fc8d9c06936a673fd5c404706" ON "tool_executions" ("tenant_id") `); await queryRunner.query(`CREATE INDEX "IDX_a24432cde19440451cc7b5d15f" ON "tool_executions" ("agent_id") `); await queryRunner.query(`CREATE INDEX "IDX_4d007c4a559001d501d06fb6f4" ON "tool_executions" ("tenant_id", "agent_id") `); await queryRunner.query(`CREATE TABLE "security_event" ("id" character varying NOT NULL, "session_key" character varying, "timestamp" TIMESTAMP NOT NULL, "severity" character varying NOT NULL, "category" character varying NOT NULL, "description" character varying NOT NULL, "user_id" character varying, CONSTRAINT "PK_fb070407ce281c218223836bad4" PRIMARY KEY ("id"))`); await queryRunner.query(`CREATE TABLE "notification_rules" ("id" character varying NOT NULL, "tenant_id" character varying NOT NULL, "agent_id" character varying NOT NULL, "agent_name" character varying NOT NULL, "user_id" character varying NOT NULL, "metric_type" character varying NOT NULL, "threshold" numeric(15,6) NOT NULL, "period" character varying NOT NULL, "is_active" boolean NOT NULL DEFAULT true, "created_at" TIMESTAMP NOT NULL DEFAULT NOW(), "updated_at" TIMESTAMP NOT NULL DEFAULT NOW(), CONSTRAINT "PK_eb87ba4f7f01eabf003fcf4e65c" PRIMARY KEY ("id"))`); await queryRunner.query(`CREATE INDEX "IDX_47769ef426d10cb4f079a0451b" ON "notification_rules" ("tenant_id", "agent_id") `); await queryRunner.query(`CREATE TABLE "agent_api_keys" ("id" character varying NOT NULL, "key" character varying(64) NOT NULL, "label" character varying, "tenant_id" character varying NOT NULL, "agent_id" character varying NOT NULL, "is_active" boolean NOT NULL DEFAULT true, "expires_at" TIMESTAMP, "last_used_at" TIMESTAMP, "created_at" TIMESTAMP NOT NULL DEFAULT NOW(), CONSTRAINT "REL_8c341005a4d7642cd4b0f53e13" UNIQUE ("agent_id"), CONSTRAINT "PK_f6aea58a209eb8dc0734b9cc0da" PRIMARY KEY ("id"))`); await queryRunner.query(`CREATE UNIQUE INDEX "IDX_9357d38f073722e36f2f281276" ON "agent_api_keys" ("key") `); await queryRunner.query(`CREATE TABLE "agents" ("id" character varying NOT NULL, "name" character varying NOT NULL, "description" character varying, "is_active" boolean NOT NULL DEFAULT true, "tenant_id" character varying NOT NULL, "created_at" TIMESTAMP NOT NULL DEFAULT NOW(), "updated_at" TIMESTAMP NOT NULL DEFAULT NOW(), CONSTRAINT "PK_9c653f28ae19c5884d5baf6a1d9" PRIMARY KEY ("id"))`); await queryRunner.query(`CREATE UNIQUE INDEX "IDX_ab2b5ee2849c9ecfb1eb57d1f3" ON "agents" ("tenant_id", "name") `); await queryRunner.query(`CREATE TABLE "tenants" ("id" character varying NOT NULL, "name" character varying NOT NULL, "organization_name" character varying, "email" character varying, "is_active" boolean NOT NULL DEFAULT true, "created_at" TIMESTAMP NOT NULL DEFAULT NOW(), "updated_at" TIMESTAMP NOT NULL DEFAULT NOW(), CONSTRAINT "UQ_32731f181236a46182a38c992a8" UNIQUE ("name"), CONSTRAINT "PK_53be67a04681c66b87ee27c9321" PRIMARY KEY ("id"))`); await queryRunner.query(`CREATE TABLE "token_usage_snapshots" ("id" character varying NOT NULL, "tenant_id" character varying, "agent_id" character varying, "agent_name" character varying, "snapshot_time" TIMESTAMP NOT NULL, "input_tokens" integer NOT NULL DEFAULT '0', "output_tokens" integer NOT NULL DEFAULT '0', "cache_read_tokens" integer NOT NULL DEFAULT '0', "cache_creation_tokens" integer NOT NULL DEFAULT '0', "total_tokens" integer NOT NULL DEFAULT '0', CONSTRAINT "PK_70e30ce7ced706c96a4d975a896" PRIMARY KEY ("id"))`); await queryRunner.query(`CREATE INDEX "IDX_305fe9e3e5efff31a20a90c12e" ON "token_usage_snapshots" ("tenant_id") `); await queryRunner.query(`CREATE INDEX "IDX_49c9b53af0ef0839174ce670ef" ON "token_usage_snapshots" ("agent_id") `); await queryRunner.query(`CREATE INDEX "IDX_3af795abffe699032a63ff5c22" ON "token_usage_snapshots" ("tenant_id", "agent_id", "snapshot_time") `); await queryRunner.query(`CREATE TABLE "notification_logs" ("id" character varying NOT NULL, "rule_id" character varying NOT NULL, "period_start" TIMESTAMP NOT NULL, "period_end" TIMESTAMP NOT NULL, "actual_value" numeric(15,6) NOT NULL, "threshold_value" numeric(15,6) NOT NULL, "metric_type" character varying NOT NULL, "agent_name" character varying NOT NULL, "sent_at" TIMESTAMP NOT NULL DEFAULT NOW(), CONSTRAINT "PK_19c524e644cdeaebfcffc284871" PRIMARY KEY ("id"))`); await queryRunner.query(`CREATE UNIQUE INDEX "IDX_951323f7afddb097bfbda22542" ON "notification_logs" ("rule_id", "period_start") `); await queryRunner.query(`CREATE TABLE "model_pricing" ("model_name" character varying NOT NULL, "input_price_per_token" numeric(12,10) NOT NULL, "output_price_per_token" numeric(12,10) NOT NULL, "provider" character varying NOT NULL DEFAULT '', "updated_at" character varying, CONSTRAINT "PK_40967c2092c230caebcc821b52a" PRIMARY KEY ("model_name"))`); await queryRunner.query(`CREATE TABLE "cost_snapshots" ("id" character varying NOT NULL, "tenant_id" character varying, "agent_id" character varying, "agent_name" character varying, "snapshot_time" TIMESTAMP NOT NULL, "cost_usd" numeric(10,6) NOT NULL DEFAULT '0', "model" character varying, CONSTRAINT "PK_d2958ea9b14c1e2d5c0f7a61b92" PRIMARY KEY ("id"))`); await queryRunner.query(`CREATE INDEX "IDX_468b7d3a69ee28a127cd8287b9" ON "cost_snapshots" ("tenant_id") `); await queryRunner.query(`CREATE INDEX "IDX_3bf823e7c31aa4a5f12fcde527" ON "cost_snapshots" ("agent_id") `); await queryRunner.query(`CREATE TABLE "llm_calls" ("id" character varying NOT NULL, "tenant_id" character varying, "agent_id" character varying, "turn_id" character varying, "call_index" integer, "gen_ai_system" character varying, "request_model" character varying, "response_model" character varying, "input_tokens" integer NOT NULL DEFAULT '0', "output_tokens" integer NOT NULL DEFAULT '0', "cache_read_tokens" integer NOT NULL DEFAULT '0', "cache_creation_tokens" integer NOT NULL DEFAULT '0', "duration_ms" integer, "ttft_ms" integer, "temperature" numeric(3,2), "max_output_tokens" integer, "timestamp" TIMESTAMP NOT NULL, CONSTRAINT "PK_927dd9d5a428274e38a05706af8" PRIMARY KEY ("id"))`); await queryRunner.query(`CREATE INDEX "IDX_ff92361a95863b8f0de3a371e5" ON "llm_calls" ("tenant_id") `); await queryRunner.query(`CREATE INDEX "IDX_e3e44ae5bdb48ceeb10d7880cf" ON "llm_calls" ("agent_id") `); await queryRunner.query(`CREATE TABLE "api_keys" ("id" character varying NOT NULL, "key" character varying NOT NULL, "user_id" character varying NOT NULL, "name" character varying NOT NULL, "created_at" TIMESTAMP NOT NULL DEFAULT NOW(), "last_used_at" TIMESTAMP, CONSTRAINT "PK_5c8a79801b44bd27b79228e1dad" PRIMARY KEY ("id"))`); await queryRunner.query(`CREATE TABLE "agent_messages" ("id" character varying NOT NULL, "tenant_id" character varying, "agent_id" character varying, "trace_id" character varying, "session_key" character varying, "session_id" character varying, "timestamp" TIMESTAMP NOT NULL, "duration_ms" integer, "input_tokens" integer NOT NULL DEFAULT '0', "output_tokens" integer NOT NULL DEFAULT '0', "cache_read_tokens" integer NOT NULL DEFAULT '0', "cache_creation_tokens" integer NOT NULL DEFAULT '0', "cost_usd" numeric(10,6), "status" character varying NOT NULL DEFAULT 'ok', "error_message" character varying, "description" character varying, "service_type" character varying, "agent_name" character varying, "model" character varying, "skill_name" character varying, "user_id" character varying, CONSTRAINT "PK_8c7cdeda30e81dba421925df4fe" PRIMARY KEY ("id"))`); await queryRunner.query(`CREATE INDEX "IDX_519ec0b8e9fc7c2e53d300c69c" ON "agent_messages" ("tenant_id") `); await queryRunner.query(`CREATE INDEX "IDX_1d3c0f0f21ffa94c7300a2e996" ON "agent_messages" ("agent_id") `); await queryRunner.query(`CREATE INDEX "IDX_cc0146344144249cd7dde2f8ad" ON "agent_messages" ("user_id") `); await queryRunner.query(`CREATE INDEX "IDX_b920481d4d296ccce0647d6a8a" ON "agent_messages" ("tenant_id", "agent_id", "timestamp") `); await queryRunner.query(`CREATE TABLE "agent_logs" ("id" character varying NOT NULL, "tenant_id" character varying, "agent_id" character varying, "timestamp" TIMESTAMP NOT NULL, "agent_name" character varying, "severity" character varying NOT NULL DEFAULT 'info', "body" text, "trace_id" character varying, "span_id" character varying, "attributes" text, CONSTRAINT "PK_2cc52efab0f963454d7006a6981" PRIMARY KEY ("id"))`); await queryRunner.query(`CREATE INDEX "IDX_e981397068db115bcd95a39396" ON "agent_logs" ("tenant_id") `); await queryRunner.query(`CREATE INDEX "IDX_039a398c03e68e46a0fc0bc998" ON "agent_logs" ("agent_id") `); await queryRunner.query(`CREATE INDEX "IDX_e9678de7cf6f122f3286bb4075" ON "agent_logs" ("tenant_id", "agent_id", "timestamp") `); await queryRunner.query(`ALTER TABLE "agent_api_keys" ADD CONSTRAINT "FK_25add637eabf3b78d8a46bc4976" FOREIGN KEY ("tenant_id") REFERENCES "tenants"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); await queryRunner.query(`ALTER TABLE "agent_api_keys" ADD CONSTRAINT "FK_8c341005a4d7642cd4b0f53e134" FOREIGN KEY ("agent_id") REFERENCES "agents"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); await queryRunner.query(`ALTER TABLE "agents" ADD CONSTRAINT "FK_87e9fdd9a00cd5fa5768aa0e6be" FOREIGN KEY ("tenant_id") REFERENCES "tenants"("id") ON DELETE CASCADE ON UPDATE NO ACTION`); } async down(queryRunner) { await queryRunner.query(`ALTER TABLE "agents" DROP CONSTRAINT "FK_87e9fdd9a00cd5fa5768aa0e6be"`); await queryRunner.query(`ALTER TABLE "agent_api_keys" DROP CONSTRAINT "FK_8c341005a4d7642cd4b0f53e134"`); await queryRunner.query(`ALTER TABLE "agent_api_keys" DROP CONSTRAINT "FK_25add637eabf3b78d8a46bc4976"`); await queryRunner.query(`DROP INDEX "public"."IDX_e9678de7cf6f122f3286bb4075"`); await queryRunner.query(`DROP INDEX "public"."IDX_039a398c03e68e46a0fc0bc998"`); await queryRunner.query(`DROP INDEX "public"."IDX_e981397068db115bcd95a39396"`); await queryRunner.query(`DROP TABLE "agent_logs"`); await queryRunner.query(`DROP INDEX "public"."IDX_b920481d4d296ccce0647d6a8a"`); await queryRunner.query(`DROP INDEX "public"."IDX_cc0146344144249cd7dde2f8ad"`); await queryRunner.query(`DROP INDEX "public"."IDX_1d3c0f0f21ffa94c7300a2e996"`); await queryRunner.query(`DROP INDEX "public"."IDX_519ec0b8e9fc7c2e53d300c69c"`); await queryRunner.query(`DROP TABLE "agent_messages"`); await queryRunner.query(`DROP TABLE "api_keys"`); await queryRunner.query(`DROP INDEX "public"."IDX_e3e44ae5bdb48ceeb10d7880cf"`); await queryRunner.query(`DROP INDEX "public"."IDX_ff92361a95863b8f0de3a371e5"`); await queryRunner.query(`DROP TABLE "llm_calls"`); await queryRunner.query(`DROP INDEX "public"."IDX_3bf823e7c31aa4a5f12fcde527"`); await queryRunner.query(`DROP INDEX "public"."IDX_468b7d3a69ee28a127cd8287b9"`); await queryRunner.query(`DROP TABLE "cost_snapshots"`); await queryRunner.query(`DROP TABLE "model_pricing"`); await queryRunner.query(`DROP INDEX "public"."IDX_951323f7afddb097bfbda22542"`); await queryRunner.query(`DROP TABLE "notification_logs"`); await queryRunner.query(`DROP INDEX "public"."IDX_3af795abffe699032a63ff5c22"`); await queryRunner.query(`DROP INDEX "public"."IDX_49c9b53af0ef0839174ce670ef"`); await queryRunner.query(`DROP INDEX "public"."IDX_305fe9e3e5efff31a20a90c12e"`); await queryRunner.query(`DROP TABLE "token_usage_snapshots"`); await queryRunner.query(`DROP TABLE "tenants"`); await queryRunner.query(`DROP INDEX "public"."IDX_ab2b5ee2849c9ecfb1eb57d1f3"`); await queryRunner.query(`DROP TABLE "agents"`); await queryRunner.query(`DROP INDEX "public"."IDX_9357d38f073722e36f2f281276"`); await queryRunner.query(`DROP TABLE "agent_api_keys"`); await queryRunner.query(`DROP INDEX "public"."IDX_47769ef426d10cb4f079a0451b"`); await queryRunner.query(`DROP TABLE "notification_rules"`); await queryRunner.query(`DROP TABLE "security_event"`); await queryRunner.query(`DROP INDEX "public"."IDX_4d007c4a559001d501d06fb6f4"`); await queryRunner.query(`DROP INDEX "public"."IDX_a24432cde19440451cc7b5d15f"`); await queryRunner.query(`DROP INDEX "public"."IDX_7fc8d9c06936a673fd5c404706"`); await queryRunner.query(`DROP TABLE "tool_executions"`); } } exports.InitialSchema1771464895790 = InitialSchema1771464895790; //# sourceMappingURL=1771464895790-InitialSchema.js.map