@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
@@ -11,4 +11,11 @@ export interface Dialect<Db = SqliteDb, Tables = typeof schema> {
11
11
  }
12
12
  export declare const sqliteDialect: Dialect;
13
13
  export type PgDb = PgDatabase<PgQueryResultHKT, typeof pgSchema>;
14
+ /**
15
+ * Runs statements as one unit. Writers that pass the same `lockKey` never interleave: SQLite and D1 have one writer
16
+ * anyway, Postgres takes an advisory lock so each statement's guard sees what the previous holder committed.
17
+ */
18
+ export type Atomic = (statements: SQL[], lockKey: string) => Promise<void>;
19
+ export declare function sqliteAtomic(db: SqliteDb, atomicBatch?: (statements: SQL[]) => Promise<void>): Atomic;
20
+ export declare function pgAtomic(db: PgDb): Atomic;
14
21
  export declare const pgDialect: Dialect<PgDb, typeof pgSchema>;
package/dist/dialects.js CHANGED
@@ -22,6 +22,23 @@ export const sqliteDialect = {
22
22
  });
23
23
  },
24
24
  };
25
+ export function sqliteAtomic(db, atomicBatch) {
26
+ return (statements) => storeOperation("atomic.sqlite", async () => {
27
+ // why: D1 batches are atomic; local SQLite needs an immediate transaction to serialize writers.
28
+ if (atomicBatch)
29
+ await atomicBatch(statements);
30
+ else
31
+ db.transaction(tx => { for (const statement of statements)
32
+ tx.run(statement); }, { behavior: "immediate" });
33
+ });
34
+ }
35
+ export function pgAtomic(db) {
36
+ return (statements, lockKey) => storeOperation("atomic.postgres", () => db.transaction(async (tx) => {
37
+ await tx.execute(sql `select pg_advisory_xact_lock(hashtextextended(${lockKey}, 0))`);
38
+ for (const statement of statements)
39
+ await tx.execute(statement);
40
+ }));
41
+ }
25
42
  export const pgDialect = {
26
43
  tables: pgSchema,
27
44
  async reserve(db, r, initial) {
@@ -1 +1 @@
1
- {"version":3,"file":"dialects.js","sourceRoot":"","sources":["../src/dialects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dialects.js","sourceRoot":"","sources":["../src/dialects.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,7 @@ export declare function evaluationRow(e: Evaluation): {
54
54
  error?: string;
55
55
  }>;
56
56
  error?: string;
57
+ inputErrors?: import("@verdict-ai/core").InputError[];
57
58
  usage: {
58
59
  decisionCalls: number;
59
60
  llmCalls: number;
@@ -63,6 +64,7 @@ export declare function evaluationRow(e: Evaluation): {
63
64
  };
64
65
  metadata?: Record<string, unknown>;
65
66
  webhook?: string;
67
+ batchId?: string;
66
68
  createdAt: string;
67
69
  updatedAt: string;
68
70
  };