@verdict-ai/db 0.1.0 → 0.2.0

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.
Files changed (42) hide show
  1. package/dist/auth.d.ts +12 -2
  2. package/dist/auth.js +5 -4
  3. package/dist/auth.js.map +1 -1
  4. package/dist/control.d.ts +58 -0
  5. package/dist/control.js +305 -0
  6. package/dist/control.js.map +1 -0
  7. package/dist/d1.d.ts +1201 -0
  8. package/dist/dialects.d.ts +7 -0
  9. package/dist/dialects.js +17 -0
  10. package/dist/dialects.js.map +1 -1
  11. package/dist/documents.d.ts +2 -0
  12. package/dist/postgres.d.ts +2454 -268
  13. package/dist/queries.d.ts +2 -0
  14. package/dist/queries.js +4 -0
  15. package/dist/queries.js.map +1 -1
  16. package/dist/schema/control.d.ts +71 -0
  17. package/dist/schema/control.js +29 -0
  18. package/dist/schema/control.js.map +1 -0
  19. package/dist/schema/pg.d.ts +2453 -262
  20. package/dist/schema/pg.js +44 -2
  21. package/dist/schema/pg.js.map +1 -1
  22. package/dist/schema/sqlite.d.ts +2680 -273
  23. package/dist/schema/sqlite.js +44 -2
  24. package/dist/schema/sqlite.js.map +1 -1
  25. package/dist/store.d.ts +12 -4
  26. package/dist/store.js +77 -6
  27. package/dist/store.js.map +1 -1
  28. package/drizzle/0002_publications.sql +20 -0
  29. package/drizzle/0003_publishers.sql +9 -0
  30. package/drizzle/0004_control_plane.sql +75 -0
  31. package/drizzle/meta/0002_snapshot.json +659 -0
  32. package/drizzle/meta/0003_snapshot.json +712 -0
  33. package/drizzle/meta/0004_snapshot.json +1191 -0
  34. package/drizzle/meta/_journal.json +21 -0
  35. package/drizzle/pg/0001_publications.sql +20 -0
  36. package/drizzle/pg/0002_publishers.sql +9 -0
  37. package/drizzle/pg/0003_control_plane.sql +75 -0
  38. package/drizzle/pg/meta/0001_snapshot.json +769 -0
  39. package/drizzle/pg/meta/0002_snapshot.json +828 -0
  40. package/drizzle/pg/meta/0003_snapshot.json +1381 -0
  41. package/drizzle/pg/meta/_journal.json +21 -0
  42. package/package.json +4 -3
@@ -9,7 +9,8 @@
9
9
  * @verdict-ai/core and evolve quickly. Columns exist only for what we query or report on: tenant, status, score, timestamps,
10
10
  * and a denormalized `ratings` table for calibration / inter-rater analytics.
11
11
  */
12
- import { index, integer, real, sqliteTable, text, uniqueIndex } from "drizzle-orm/sqlite-core";
12
+ import { index, integer, primaryKey, real, sqliteTable, text, uniqueIndex } from "drizzle-orm/sqlite-core";
13
+ import { controlColumns } from "./control.js";
13
14
  export const rubrics = sqliteTable("rubrics", {
14
15
  id: text("id").primaryKey(),
15
16
  tenantId: text("tenant_id"),
@@ -86,5 +87,46 @@ export const idempotencyKeys = sqliteTable("idempotency_keys", {
86
87
  createdAt: text("created_at").notNull(),
87
88
  expiresAt: text("expires_at").notNull(),
88
89
  }, t => [uniqueIndex("idempotency_keys_tenant_key").on(t.tenantId, t.key)]);
89
- export const schema = { rubrics, evaluations, ratings, apiKeys, idempotencyKeys };
90
+ /**
91
+ * Public hub documents: copies of what authors chose to publish (docs/design/hub.md §16.1). Public reads touch only
92
+ * this table. Columns are the search filters; the document is the source of truth.
93
+ */
94
+ export const publications = sqliteTable("publications", {
95
+ id: text("id").primaryKey(),
96
+ tenantId: text("tenant_id"),
97
+ owner: text("owner").notNull(),
98
+ slug: text("slug").notNull(),
99
+ versionId: text("version_id").notNull(),
100
+ title: text("title").notNull(),
101
+ domain: text("domain"),
102
+ locale: text("locale"),
103
+ judgmentType: text("judgment_type").notNull(),
104
+ license: text("license").notNull(),
105
+ doc: text("doc", { mode: "json" }).notNull().$type(),
106
+ createdAt: text("created_at").notNull(),
107
+ withdrawnAt: text("withdrawn_at"),
108
+ }, (t) => [
109
+ uniqueIndex("publications_owner_slug_version").on(t.owner, t.slug, t.versionId),
110
+ index("publications_created").on(t.createdAt),
111
+ index("publications_version").on(t.versionId),
112
+ index("publications_tenant").on(t.tenantId),
113
+ ]);
114
+ /** GitHub accounts that signed in to publish (docs/design/hub.md H2); the tenant id is `gh:<github id>`. */
115
+ export const publishers = sqliteTable("publishers", {
116
+ tenantId: text("tenant_id").primaryKey(),
117
+ githubId: integer("github_id").notNull(),
118
+ login: text("login").notNull(),
119
+ createdAt: text("created_at").notNull(),
120
+ updatedAt: text("updated_at").notNull(),
121
+ }, (t) => [uniqueIndex("publishers_github_id").on(t.githubId)]);
122
+ /** Control plane tables (docs/design/control-plane.md §9.3); the columns are shared with the other dialect in `control.ts`. */
123
+ const control = controlColumns((name) => text(name).notNull(), (name) => text(name), () => text("doc", { mode: "json" }).notNull().$type());
124
+ export const projects = sqliteTable("projects", control.projects, (t) => [primaryKey({ columns: [t.tenantId, t.name] })]);
125
+ export const environments = sqliteTable("environments", control.environments, (t) => [primaryKey({ columns: [t.tenantId, t.project, t.name] })]);
126
+ export const projectVersions = sqliteTable("project_versions", control.projectVersions, (t) => [primaryKey({ columns: [t.tenantId, t.project, t.name, t.id] }), index("project_versions_created").on(t.tenantId, t.project, t.createdAt)]);
127
+ export const pointers = sqliteTable("pointers", control.pointers, (t) => [primaryKey({ columns: [t.tenantId, t.project, t.environment, t.name] }), index("pointers_version").on(t.tenantId, t.project, t.name, t.versionId)]);
128
+ export const promotions = sqliteTable("promotions", control.promotions, (t) => [primaryKey({ columns: [t.tenantId, t.project, t.id] }), index("promotions_created").on(t.tenantId, t.project, t.createdAt)]);
129
+ export const runReports = sqliteTable("run_reports", control.runReports, (t) => [primaryKey({ columns: [t.tenantId, t.project, t.runId] }), index("run_reports_started").on(t.tenantId, t.project, t.startedAt)]);
130
+ export const comparisonReports = sqliteTable("comparison_reports", control.comparisonReports, (t) => [primaryKey({ columns: [t.tenantId, t.project, t.id] }), index("comparison_reports_reported").on(t.tenantId, t.project, t.reportedAt)]);
131
+ export const schema = { rubrics, evaluations, ratings, apiKeys, idempotencyKeys, publications, publishers, projects, environments, projectVersions, pointers, promotions, runReports, comparisonReports };
90
132
  //# sourceMappingURL=sqlite.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/schema/sqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/schema/sqlite.ts"],"names":[],"mappings":"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"}
package/dist/store.d.ts CHANGED
@@ -1,19 +1,21 @@
1
1
  import { DocumentQueries } from "./queries.js";
2
2
  import { type SQL } from "drizzle-orm";
3
3
  import type { BaseSQLiteDatabase } from "drizzle-orm/sqlite-core";
4
- import type { IdempotencyRecord, Evaluation, ListOptions, Store, StoredRubric } from "@verdict-ai/core";
4
+ import { type ControlStore, type IdempotencyRecord, type Evaluation, type ListOptions, type Publication, type PublicationQuery, type PublicationStore, type Publisher, type PublisherStore, type Store, type StoredRubric } from "@verdict-ai/core";
5
5
  import { type Schema } from "./schema/sqlite.js";
6
- import { type Dialect, type PgDb } from "./dialects.js";
6
+ import { type Atomic, type Dialect, type PgDb } from "./dialects.js";
7
7
  /** D1, better-sqlite3 and libsql share this SQLite driver contract. */
8
8
  export type SqliteDb = BaseSQLiteDatabase<"async" | "sync", unknown, Schema>;
9
9
  /**
10
10
  * Store implementation on Drizzle. Documents live in `doc` JSON columns; indexed columns are derived on write so
11
11
  * listings and analytics never parse blobs. Tenant scoping is enforced in every read.
12
12
  */
13
- export declare class DrizzleStore implements Store {
13
+ export declare class DrizzleStore implements Store, PublicationStore, PublisherStore {
14
14
  private queries;
15
15
  private reserve;
16
- constructor(db: SqliteDb | DocumentQueries, atomicBatch?: (statements: SQL[]) => Promise<void>, dialect?: Dialect, reserve?: (record: IdempotencyRecord, initial: Evaluation[]) => Promise<void>);
16
+ /** Projects, environments, pointers and reports (docs/design/control-plane.md). */
17
+ readonly control: ControlStore;
18
+ constructor(db: SqliteDb | DocumentQueries, atomicBatch?: (statements: SQL[]) => Promise<void>, dialect?: Dialect, reserve?: (record: IdempotencyRecord, initial: Evaluation[]) => Promise<void>, atomic?: Atomic);
17
19
  reserveIdempotency(r: IdempotencyRecord, initial: Evaluation[]): Promise<boolean>;
18
20
  putIdempotency(r: IdempotencyRecord): Promise<void>;
19
21
  getIdempotency(tenantId: string | undefined, key: string): Promise<IdempotencyRecord | undefined>;
@@ -24,6 +26,12 @@ export declare class DrizzleStore implements Store {
24
26
  putEvaluation(e: Evaluation): Promise<void>;
25
27
  getEvaluation(id: string, tenantId?: string): Promise<Evaluation | undefined>;
26
28
  listEvaluations(o?: ListOptions): Promise<Evaluation[]>;
29
+ putPublication(p: Publication): Promise<void>;
30
+ getPublication(id: string): Promise<Publication | undefined>;
31
+ listPublications(q?: PublicationQuery): Promise<Publication[]>;
32
+ withdrawPublication(id: string, tenantId: string | undefined, at: string): Promise<boolean>;
33
+ putPublisher(p: Publisher): Promise<void>;
34
+ getPublisher(tenantId: string): Promise<Publisher | undefined>;
27
35
  /** Per-criterion rating rows for a rubric (feeds calibration: confidence vs. human agreement). */
28
36
  ratingsForRubric(rubricId: string, tenantId?: string, judgeTypes?: string[]): Promise<{
29
37
  id: string;
package/dist/store.js CHANGED
@@ -4,8 +4,10 @@
4
4
  import { storeOperation } from "./errors.js";
5
5
  import { DocumentQueries, sqliteQueries, postgresQueries } from "./queries.js";
6
6
  import { readDocument, evaluationRow, ratingRows } from "./documents.js";
7
- import { and, desc, eq, inArray } from "drizzle-orm";
8
- import { sqliteDialect, pgDialect } from "./dialects.js";
7
+ import { and, desc, eq, inArray, isNull, or, sql } from "drizzle-orm";
8
+ import { PUBLICATION_LIST_LIMIT } from "@verdict-ai/core";
9
+ import { DrizzleControlStore } from "./control.js";
10
+ import { pgAtomic, sqliteAtomic, sqliteDialect, pgDialect } from "./dialects.js";
9
11
  // why: rating projections bind many columns; chunking stays below D1's per-statement parameter budget.
10
12
  const RATING_INSERT_CHUNK_SIZE = 50;
11
13
  /**
@@ -15,15 +17,19 @@ const RATING_INSERT_CHUNK_SIZE = 50;
15
17
  export class DrizzleStore {
16
18
  queries;
17
19
  reserve;
18
- constructor(db, atomicBatch, dialect = sqliteDialect, reserve) {
20
+ /** Projects, environments, pointers and reports (docs/design/control-plane.md). */
21
+ control;
22
+ constructor(db, atomicBatch, dialect = sqliteDialect, reserve, atomic) {
19
23
  this.queries = db instanceof DocumentQueries ? db : sqliteQueries(db, dialect.tables);
20
24
  if (db instanceof DocumentQueries) {
21
- if (!reserve)
22
- throw new TypeError("document query adapters require a reservation function");
25
+ if (!reserve || !atomic)
26
+ throw new TypeError("document query adapters require reservation and atomic functions");
23
27
  this.reserve = reserve;
28
+ this.control = new DrizzleControlStore(db, atomic);
24
29
  }
25
30
  else {
26
31
  this.reserve = (record, initial) => dialect.reserve(db, record, initial, atomicBatch);
32
+ this.control = new DrizzleControlStore(this.queries, sqliteAtomic(db, atomicBatch));
27
33
  }
28
34
  }
29
35
  async reserveIdempotency(r, initial) {
@@ -130,6 +136,66 @@ export class DrizzleStore {
130
136
  return rows.map((r) => readDocument(r.doc));
131
137
  });
132
138
  }
139
+ /* ---------------- publications (public hub) ---------------- */
140
+ async putPublication(p) {
141
+ return storeOperation(`putPublication:${p.id}`, async () => {
142
+ const row = {
143
+ id: p.id, tenantId: p.tenantId ?? null, owner: p.owner, slug: p.slug, versionId: p.version.id, title: p.title,
144
+ domain: p.domain ?? null, locale: p.locale ?? null, judgmentType: p.judgmentType, license: p.license,
145
+ doc: { ...p }, createdAt: p.createdAt, withdrawnAt: p.withdrawnAt ?? null,
146
+ };
147
+ const { id: _id, createdAt: _c, ...set } = row;
148
+ await this.queries.insert("publications", [row], { keys: ["id"], set });
149
+ });
150
+ }
151
+ async getPublication(id) {
152
+ return storeOperation(`getPublication:${id}`, async () => {
153
+ const { publications } = this.queries.tables;
154
+ const [row] = await this.queries.select("publications", { where: eq(publications.id, id), limit: 1 });
155
+ return row ? publicationOf(row) : undefined;
156
+ });
157
+ }
158
+ async listPublications(q = {}) {
159
+ return storeOperation("listPublications", async () => {
160
+ const { publications: t } = this.queries.tables;
161
+ const needle = q.q ? `%${q.q.toLowerCase().replace(/[\\%_]/g, (c) => `\\${c}`)}%` : undefined;
162
+ const conds = [
163
+ q.includeWithdrawn ? undefined : isNull(t.withdrawnAt),
164
+ q.tenantId === undefined ? undefined : eq(t.tenantId, q.tenantId),
165
+ q.domain ? eq(t.domain, q.domain) : undefined, q.locale ? eq(t.locale, q.locale) : undefined,
166
+ q.judgmentType ? eq(t.judgmentType, q.judgmentType) : undefined, q.owner ? eq(t.owner, q.owner) : undefined,
167
+ q.slug ? eq(t.slug, q.slug) : undefined, q.versionId ? eq(t.versionId, q.versionId) : undefined,
168
+ // lower() on both sides: SQLite LIKE ignores ASCII case, Postgres LIKE does not.
169
+ needle ? or(...[t.title, t.owner, t.slug, t.domain].map((col) => sql `lower(${col}) like ${needle} escape '\\'`)) : undefined,
170
+ ].filter((c) => !!c);
171
+ const rows = await this.queries.select("publications", { where: conds.length ? and(...conds) : undefined, orderBy: desc(t.createdAt), limit: q.limit ?? PUBLICATION_LIST_LIMIT });
172
+ return rows.map(publicationOf);
173
+ });
174
+ }
175
+ async withdrawPublication(id, tenantId, at) {
176
+ return storeOperation(`withdrawPublication:${id}`, async () => {
177
+ const existing = await this.getPublication(id);
178
+ if (!existing || existing.tenantId !== tenantId)
179
+ return false;
180
+ if (existing.withdrawnAt)
181
+ return true;
182
+ await this.putPublication({ ...existing, withdrawnAt: at });
183
+ return true;
184
+ });
185
+ }
186
+ /* ---------------- publishers (hub sign-in) ---------------- */
187
+ async putPublisher(p) {
188
+ return storeOperation(`putPublisher:${p.tenantId}`, async () => {
189
+ const row = { tenantId: p.tenantId, githubId: p.githubId, login: p.login, createdAt: p.createdAt, updatedAt: p.updatedAt };
190
+ await this.queries.insert("publishers", [row], { keys: ["tenantId"], set: { login: row.login, updatedAt: row.updatedAt } });
191
+ });
192
+ }
193
+ async getPublisher(tenantId) {
194
+ return storeOperation(`getPublisher:${tenantId}`, async () => {
195
+ const [row] = await this.queries.select("publishers", { where: eq(this.queries.tables.publishers.tenantId, tenantId), limit: 1 });
196
+ return row ? { tenantId: row.tenantId, githubId: row.githubId, login: row.login, createdAt: row.createdAt, updatedAt: row.updatedAt } : undefined;
197
+ });
198
+ }
133
199
  /* ---------------- analytics helpers ---------------- */
134
200
  /** Per-criterion rating rows for a rubric (feeds calibration: confidence vs. human agreement). */
135
201
  async ratingsForRubric(rubricId, tenantId, judgeTypes) {
@@ -143,7 +209,12 @@ export class DrizzleStore {
143
209
  /** Postgres facade over the shared document and rating logic. */
144
210
  export class PgStore extends DrizzleStore {
145
211
  constructor(db) {
146
- super(postgresQueries(db, pgDialect.tables), undefined, undefined, (record, initial) => pgDialect.reserve(db, record, initial));
212
+ super(postgresQueries(db, pgDialect.tables), undefined, undefined, (record, initial) => pgDialect.reserve(db, record, initial), pgAtomic(db));
147
213
  }
148
214
  }
215
+ // The withdrawn column is authoritative: a document written before its withdrawal still reads as withdrawn.
216
+ function publicationOf(row) {
217
+ const doc = row.doc;
218
+ return row.withdrawnAt ? { ...doc, withdrawnAt: row.withdrawnAt } : doc;
219
+ }
149
220
  //# sourceMappingURL=store.js.map
package/dist/store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ CREATE TABLE `publications` (
2
+ `id` text PRIMARY KEY NOT NULL,
3
+ `tenant_id` text,
4
+ `owner` text NOT NULL,
5
+ `slug` text NOT NULL,
6
+ `version_id` text NOT NULL,
7
+ `title` text NOT NULL,
8
+ `domain` text,
9
+ `locale` text,
10
+ `judgment_type` text NOT NULL,
11
+ `license` text NOT NULL,
12
+ `doc` text NOT NULL,
13
+ `created_at` text NOT NULL,
14
+ `withdrawn_at` text
15
+ );
16
+ --> statement-breakpoint
17
+ CREATE UNIQUE INDEX `publications_owner_slug_version` ON `publications` (`owner`,`slug`,`version_id`);--> statement-breakpoint
18
+ CREATE INDEX `publications_created` ON `publications` (`created_at`);--> statement-breakpoint
19
+ CREATE INDEX `publications_version` ON `publications` (`version_id`);--> statement-breakpoint
20
+ CREATE INDEX `publications_tenant` ON `publications` (`tenant_id`);
@@ -0,0 +1,9 @@
1
+ CREATE TABLE `publishers` (
2
+ `tenant_id` text PRIMARY KEY NOT NULL,
3
+ `github_id` integer NOT NULL,
4
+ `login` text NOT NULL,
5
+ `created_at` text NOT NULL,
6
+ `updated_at` text NOT NULL
7
+ );
8
+ --> statement-breakpoint
9
+ CREATE UNIQUE INDEX `publishers_github_id` ON `publishers` (`github_id`);
@@ -0,0 +1,75 @@
1
+ CREATE TABLE `comparison_reports` (
2
+ `tenant_id` text NOT NULL,
3
+ `project` text NOT NULL,
4
+ `id` text NOT NULL,
5
+ `rubric_name` text NOT NULL,
6
+ `head_version_id` text NOT NULL,
7
+ `doc` text NOT NULL,
8
+ `reported_at` text NOT NULL,
9
+ PRIMARY KEY(`tenant_id`, `project`, `id`)
10
+ );
11
+ --> statement-breakpoint
12
+ CREATE INDEX `comparison_reports_reported` ON `comparison_reports` (`tenant_id`,`project`,`reported_at`);--> statement-breakpoint
13
+ CREATE TABLE `environments` (
14
+ `tenant_id` text NOT NULL,
15
+ `project` text NOT NULL,
16
+ `name` text NOT NULL,
17
+ `created_at` text NOT NULL,
18
+ PRIMARY KEY(`tenant_id`, `project`, `name`)
19
+ );
20
+ --> statement-breakpoint
21
+ CREATE TABLE `pointers` (
22
+ `tenant_id` text NOT NULL,
23
+ `project` text NOT NULL,
24
+ `environment` text NOT NULL,
25
+ `rubric_name` text NOT NULL,
26
+ `version_id` text NOT NULL,
27
+ `updated_at` text NOT NULL,
28
+ PRIMARY KEY(`tenant_id`, `project`, `environment`, `rubric_name`)
29
+ );
30
+ --> statement-breakpoint
31
+ CREATE INDEX `pointers_version` ON `pointers` (`tenant_id`,`project`,`rubric_name`,`version_id`);--> statement-breakpoint
32
+ CREATE TABLE `project_versions` (
33
+ `tenant_id` text NOT NULL,
34
+ `project` text NOT NULL,
35
+ `rubric_name` text NOT NULL,
36
+ `version_id` text NOT NULL,
37
+ `doc` text NOT NULL,
38
+ `created_at` text NOT NULL,
39
+ PRIMARY KEY(`tenant_id`, `project`, `rubric_name`, `version_id`)
40
+ );
41
+ --> statement-breakpoint
42
+ CREATE INDEX `project_versions_created` ON `project_versions` (`tenant_id`,`project`,`created_at`);--> statement-breakpoint
43
+ CREATE TABLE `projects` (
44
+ `tenant_id` text NOT NULL,
45
+ `name` text NOT NULL,
46
+ `created_at` text NOT NULL,
47
+ PRIMARY KEY(`tenant_id`, `name`)
48
+ );
49
+ --> statement-breakpoint
50
+ CREATE TABLE `promotions` (
51
+ `tenant_id` text NOT NULL,
52
+ `project` text NOT NULL,
53
+ `id` text NOT NULL,
54
+ `environment` text NOT NULL,
55
+ `rubric_name` text NOT NULL,
56
+ `doc` text NOT NULL,
57
+ `created_at` text NOT NULL,
58
+ PRIMARY KEY(`tenant_id`, `project`, `id`)
59
+ );
60
+ --> statement-breakpoint
61
+ CREATE INDEX `promotions_created` ON `promotions` (`tenant_id`,`project`,`created_at`);--> statement-breakpoint
62
+ CREATE TABLE `run_reports` (
63
+ `tenant_id` text NOT NULL,
64
+ `project` text NOT NULL,
65
+ `run_id` text NOT NULL,
66
+ `rubric_name` text NOT NULL,
67
+ `version_id` text NOT NULL,
68
+ `dataset_name` text,
69
+ `started_at` text NOT NULL,
70
+ `doc` text NOT NULL,
71
+ `reported_at` text NOT NULL,
72
+ PRIMARY KEY(`tenant_id`, `project`, `run_id`)
73
+ );
74
+ --> statement-breakpoint
75
+ CREATE INDEX `run_reports_started` ON `run_reports` (`tenant_id`,`project`,`started_at`);