@wrenautomation/vireo 0.2.0 → 0.4.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.
package/README.md CHANGED
@@ -23,6 +23,13 @@ Data goes to a PGlite folder `.vireo/`, or to Postgres when `DATABASE_URL` is se
23
23
  on open. Files (`{"file": "cut.mp4"}`) go to `VIREO_BUCKET` (any S3: set `VIREO_S3_ENDPOINT` for
24
24
  R2 or MinIO). `VIREO_BY` names who acts.
25
25
 
26
+ Lineage: `{"name": "Warm grid", "parents": [{"id": 4, "took": "the palette"}, 7], "change": "…"}`.
27
+ The first parent is the main one; two or more make a cross. `name`, `took` and `change` are for
28
+ the agent and the tree: a host hides them while the person judges.
29
+
30
+ Batches count per subject (`n`, from 1; a deleted batch leaves a gap). `close hero:3` closes
31
+ batch 3 of `hero`; a plain id still works.
32
+
26
33
  A page that runs code (WebGL, scroll scenes) is a link: deploy it, then add
27
34
  `{"media": "https://…", "posterFile": "still.jpg"}`. The host frames the link; vireo never serves
28
35
  it. Use a URL that does not change (a preview deploy), so a call stays tied to what was seen.
package/dist/cli.js CHANGED
@@ -44,7 +44,7 @@ export function registerCommands(c, host) {
44
44
  .description("Everything for the next batch: brief, guides with with-vs-without rates, each batch's why, note, calls, anchored notes, strengths, live numbers")
45
45
  .action((s) => run((v) => v.feedback(s)));
46
46
  c.command("add <subject> [file]")
47
- .description("One batch from JSON (file or stdin): {why, agent, samples:[{body | file | media, posterFile?, parent?, guides?, change?, source?}]}. Files go to the bucket; media may be an https:// url (a live page)")
47
+ .description("One batch from JSON (file or stdin): {why, agent, samples:[{body | file | media, posterFile?, name?, parents?: [id | {id, took}], guides?, change?, source?}]}. Files go to the bucket; media may be an https:// url (a live page)")
48
48
  .action((s, file) => run(async (v, db) => {
49
49
  const b = JSON.parse(file ? await readFile(file, "utf8") : await stdin());
50
50
  const base = file ? resolve(file, "..") : process.cwd();
@@ -56,11 +56,14 @@ export function registerCommands(c, host) {
56
56
  for (const x of b.samples ?? []) {
57
57
  const own = host.resolve ? await host.resolve(x, db) : {};
58
58
  const y = { ...x, ...own };
59
+ if ("parent" in y)
60
+ throw new Error("parent is now parents: [id] or [{id, took}]");
59
61
  samples.push({
60
62
  body: y.body ?? null,
61
63
  media: y.media ?? (await up(y.file)),
62
64
  poster: y.poster ?? (await up(y.posterFile)),
63
- parent: y.parent ?? null,
65
+ name: y.name ?? null,
66
+ parents: y.parents ?? [],
64
67
  guides: y.guides ?? [],
65
68
  change: y.change ?? null,
66
69
  source: y.source ?? null,
@@ -99,9 +102,9 @@ export function registerCommands(c, host) {
99
102
  return v.addNote(id(s), { anchor, tone, text: text ?? null }, by);
100
103
  }));
101
104
  c.command("close <batch>")
102
- .description("Close a batch; --note is the guide for the next one")
105
+ .description("Close a batch (id or <subject>:<n>); --note is the guide for the next one")
103
106
  .option("--note <text>")
104
- .action((b, o) => run((v) => v.closeBatch(id(b), o.note ?? null, by)));
107
+ .action((b, o) => run((v) => v.closeBatch(b, o.note ?? null, by)));
105
108
  c.command("keep <sample>")
106
109
  .description("Put a sample in the catalog (--off takes it out)")
107
110
  .option("--off")
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -5,5 +5,5 @@ export type { Collector, OutcomeRow, Rate, Ship } from "./collect.js";
5
5
  export { atomic, type Db, type Hooks, type Queryable, type Tx, VireoError } from "./db.js";
6
6
  export type { Live, LiveRate, LiveRow } from "./live.js";
7
7
  export * from "./schema.js";
8
- export { type BatchRow, type Catalog, type Feedback, type GuideRow, guideStats, type NewSample, type NoteRow, type Ports, type Queue, type SampleRow, type ShipRow, type SubjectList, type SubjectRow, strengths, Vireo, } from "./store.js";
8
+ export { type BatchRow, type Catalog, type Feedback, type GuideRow, guideStats, type NewSample, type NoteRow, type Parent, type Ports, type Queue, type SampleRow, type ShipRow, type SubjectList, type SubjectRow, strengths, Vireo, } from "./store.js";
9
9
  export type { Source, Span } from "./sync.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,OAAO,EAAc,KAAK,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAQ,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;AAGhD,OAAO,EAAE,MAAM,EAAgD,UAAU,EAAE,MAAM,SAAS,CAAC;AAE3F,cAAc,aAAa,CAAC;AAC5B,OAAO,EAKL,UAAU,EASV,SAAS,EACT,KAAK,GACN,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,OAAO,EAAc,KAAK,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAQ,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;AAGhD,OAAO,EAAE,MAAM,EAAgD,UAAU,EAAE,MAAM,SAAS,CAAC;AAE3F,cAAc,aAAa,CAAC;AAC5B,OAAO,EAKL,UAAU,EAUV,SAAS,EACT,KAAK,GACN,MAAM,YAAY,CAAC"}
package/dist/schema.d.ts CHANGED
@@ -247,6 +247,23 @@ export declare const batches: import("drizzle-orm/pg-core").PgTableWithColumns<{
247
247
  identity: undefined;
248
248
  generated: undefined;
249
249
  }, {}, {}>;
250
+ n: import("drizzle-orm/pg-core").PgColumn<{
251
+ name: "n";
252
+ tableName: "batches";
253
+ dataType: "number";
254
+ columnType: "PgInteger";
255
+ data: number;
256
+ driverParam: string | number;
257
+ notNull: true;
258
+ hasDefault: false;
259
+ isPrimaryKey: false;
260
+ isAutoincrement: false;
261
+ hasRuntimeDefault: false;
262
+ enumValues: undefined;
263
+ baseColumn: never;
264
+ identity: undefined;
265
+ generated: undefined;
266
+ }, {}, {}>;
250
267
  why: import("drizzle-orm/pg-core").PgColumn<{
251
268
  name: "why";
252
269
  tableName: "batches";
@@ -498,23 +515,25 @@ export declare const samples: import("drizzle-orm/pg-core").PgTableWithColumns<{
498
515
  }, {}, {
499
516
  $type: Source;
500
517
  }>;
501
- parentId: import("drizzle-orm/pg-core").PgColumn<{
502
- name: "parent_id";
518
+ name: import("drizzle-orm/pg-core").PgColumn<{
519
+ name: "name";
503
520
  tableName: "samples";
504
- dataType: "number";
505
- columnType: "PgInteger";
506
- data: number;
507
- driverParam: string | number;
521
+ dataType: "string";
522
+ columnType: "PgVarchar";
523
+ data: string;
524
+ driverParam: string;
508
525
  notNull: false;
509
526
  hasDefault: false;
510
527
  isPrimaryKey: false;
511
528
  isAutoincrement: false;
512
529
  hasRuntimeDefault: false;
513
- enumValues: undefined;
530
+ enumValues: [string, ...string[]];
514
531
  baseColumn: never;
515
532
  identity: undefined;
516
533
  generated: undefined;
517
- }, {}, {}>;
534
+ }, {}, {
535
+ length: 60;
536
+ }>;
518
537
  guides: import("drizzle-orm/pg-core").PgColumn<{
519
538
  name: "guides";
520
539
  tableName: "samples";
@@ -650,6 +669,85 @@ export declare const samples: import("drizzle-orm/pg-core").PgTableWithColumns<{
650
669
  };
651
670
  dialect: "pg";
652
671
  }>;
672
+ /**
673
+ * Where a sample came from: one row per parent, so a cross is two rows. `took` = what the child
674
+ * kept from that parent, in the agent's words; hidden while the person judges, like `change`.
675
+ */
676
+ export declare const lineage: import("drizzle-orm/pg-core").PgTableWithColumns<{
677
+ name: "lineage";
678
+ schema: "vireo";
679
+ columns: {
680
+ childId: import("drizzle-orm/pg-core").PgColumn<{
681
+ name: "child_id";
682
+ tableName: "lineage";
683
+ dataType: "number";
684
+ columnType: "PgInteger";
685
+ data: number;
686
+ driverParam: string | number;
687
+ notNull: true;
688
+ hasDefault: false;
689
+ isPrimaryKey: false;
690
+ isAutoincrement: false;
691
+ hasRuntimeDefault: false;
692
+ enumValues: undefined;
693
+ baseColumn: never;
694
+ identity: undefined;
695
+ generated: undefined;
696
+ }, {}, {}>;
697
+ parentId: import("drizzle-orm/pg-core").PgColumn<{
698
+ name: "parent_id";
699
+ tableName: "lineage";
700
+ dataType: "number";
701
+ columnType: "PgInteger";
702
+ data: number;
703
+ driverParam: string | number;
704
+ notNull: true;
705
+ hasDefault: false;
706
+ isPrimaryKey: false;
707
+ isAutoincrement: false;
708
+ hasRuntimeDefault: false;
709
+ enumValues: undefined;
710
+ baseColumn: never;
711
+ identity: undefined;
712
+ generated: undefined;
713
+ }, {}, {}>;
714
+ position: import("drizzle-orm/pg-core").PgColumn<{
715
+ name: "position";
716
+ tableName: "lineage";
717
+ dataType: "number";
718
+ columnType: "PgSmallInt";
719
+ data: number;
720
+ driverParam: string | number;
721
+ notNull: true;
722
+ hasDefault: true;
723
+ isPrimaryKey: false;
724
+ isAutoincrement: false;
725
+ hasRuntimeDefault: false;
726
+ enumValues: undefined;
727
+ baseColumn: never;
728
+ identity: undefined;
729
+ generated: undefined;
730
+ }, {}, {}>;
731
+ took: import("drizzle-orm/pg-core").PgColumn<{
732
+ name: "took";
733
+ tableName: "lineage";
734
+ dataType: "string";
735
+ columnType: "PgText";
736
+ data: string;
737
+ driverParam: string;
738
+ notNull: false;
739
+ hasDefault: false;
740
+ isPrimaryKey: false;
741
+ isAutoincrement: false;
742
+ hasRuntimeDefault: false;
743
+ enumValues: [string, ...string[]];
744
+ baseColumn: never;
745
+ identity: undefined;
746
+ generated: undefined;
747
+ }, {}, {}>;
748
+ };
749
+ dialect: "pg";
750
+ }>;
653
751
  /** A note on a sample: anchored (a line, a region, a moment) or on the whole. */
654
752
  export declare const notes: import("drizzle-orm/pg-core").PgTableWithColumns<{
655
753
  name: "notes";
package/dist/schema.js CHANGED
@@ -43,6 +43,8 @@ export const subjects = vireo.table("subjects", {
43
43
  export const batches = vireo.table("batches", {
44
44
  id: serial("id"),
45
45
  subjectId: integer("subject_id").notNull(),
46
+ /** Batch number within its subject, from 1; kept when another batch is deleted */
47
+ n: integer("n").notNull(),
46
48
  /** The agent's why: what it changed from the last batch and what it tests. */
47
49
  why: text("why").notNull(),
48
50
  /** Agent id (session or run) that made it. */
@@ -60,6 +62,7 @@ export const batches = vireo.table("batches", {
60
62
  name: "fk_batches_subject_id_subjects",
61
63
  }).onDelete("cascade"),
62
64
  index("ix_vireo_batches_subject").on(t.subjectId, t.state),
65
+ unique("uq_vireo_batches_subject_n").on(t.subjectId, t.n),
63
66
  oneOf("ck_vireo_batches_state", t.state, BATCH_STATES),
64
67
  ]);
65
68
  export const samples = vireo.table("samples", {
@@ -76,7 +79,8 @@ export const samples = vireo.table("samples", {
76
79
  poster: text("poster"),
77
80
  /** A video's footage and kept spans: cuts of the same footage play in step (`sync.ts`). */
78
81
  source: jsonb("source").$type(),
79
- parentId: integer("parent_id"),
82
+ /** Short name the agent gives it ("Star system"); hidden while the person judges. */
83
+ name: varchar("name", { length: 60 }),
80
84
  /** Guide ids this sample applied: a guide's with-vs-without rate reads these. */
81
85
  guides: integer("guides").array().notNull().default(sql `'{}'::integer[]`),
82
86
  /** What changed from the parent, in the agent's words; hidden while the person judges. */
@@ -102,6 +106,31 @@ export const samples = vireo.table("samples", {
102
106
  index("ix_vireo_samples_subject").on(t.subjectId),
103
107
  oneOf("ck_vireo_samples_verdict", t.verdict, VERDICTS),
104
108
  ]);
109
+ /**
110
+ * Where a sample came from: one row per parent, so a cross is two rows. `took` = what the child
111
+ * kept from that parent, in the agent's words; hidden while the person judges, like `change`.
112
+ */
113
+ export const lineage = vireo.table("lineage", {
114
+ childId: integer("child_id").notNull(),
115
+ parentId: integer("parent_id").notNull(),
116
+ /** 0 = main parent: the tree places the child under it. */
117
+ position: smallint("position").notNull().default(0),
118
+ took: text("took"),
119
+ }, (t) => [
120
+ primaryKey({ columns: [t.childId, t.parentId], name: "pk_lineage" }),
121
+ foreignKey({
122
+ columns: [t.childId],
123
+ foreignColumns: [samples.id],
124
+ name: "fk_lineage_child_id_samples",
125
+ }).onDelete("cascade"),
126
+ foreignKey({
127
+ columns: [t.parentId],
128
+ foreignColumns: [samples.id],
129
+ name: "fk_lineage_parent_id_samples",
130
+ }).onDelete("cascade"),
131
+ index("ix_vireo_lineage_parent").on(t.parentId),
132
+ check("ck_vireo_lineage_not_self", sql.raw(`"child_id" <> "parent_id"`)),
133
+ ]);
105
134
  /** A note on a sample: anchored (a line, a region, a moment) or on the whole. */
106
135
  export const notes = vireo.table("notes", {
107
136
  id: serial("id"),
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
package/dist/store.d.ts CHANGED
@@ -16,12 +16,20 @@ export interface NewSample {
16
16
  /** `s3://` uri (the CLI uploads a local file first), or `https://` for a live page. */
17
17
  media?: string | null;
18
18
  poster?: string | null;
19
- parent?: number | null;
19
+ /** Short name (60 chars at most), hidden while the person judges. */
20
+ name?: string | null;
21
+ /** Earlier samples of the same subject; the first is the main parent. Two or more = a cross. */
22
+ parents?: readonly Parent[];
20
23
  guides?: number[];
21
24
  change?: string | null;
22
25
  /** A video's footage and kept spans, for synced play. */
23
26
  source?: Source | null;
24
27
  }
28
+ /** A parent's id, or the id with what the child took from it. */
29
+ export type Parent = number | {
30
+ id: number;
31
+ took?: string | null;
32
+ };
25
33
  export type SubjectRow = typeof subjects.$inferSelect;
26
34
  export type BatchRow = typeof batches.$inferSelect;
27
35
  export type SampleRow = typeof samples.$inferSelect;
@@ -62,6 +70,8 @@ export declare class Vireo {
62
70
  constructor(p: Ports);
63
71
  private write;
64
72
  subjectOf(ref: string | number, db?: Db | Tx): Promise<SubjectRow>;
73
+ /** A batch by id, or `<subject>:<n>` (its number within the subject). */
74
+ batchOf(ref: string | number, db?: Db | Tx): Promise<number>;
65
75
  newSubject(s: {
66
76
  slug: string;
67
77
  name: string;
@@ -101,6 +111,7 @@ export declare class Vireo {
101
111
  samples: NewSample[];
102
112
  }): Promise<{
103
113
  batch: number;
114
+ n: number;
104
115
  subject: string;
105
116
  samples: number[];
106
117
  }>;
@@ -109,6 +120,7 @@ export declare class Vireo {
109
120
  batch: {
110
121
  id: number;
111
122
  subjectId: number;
123
+ n: number;
112
124
  why: string;
113
125
  agent: string | null;
114
126
  state: "open" | "closed";
@@ -145,7 +157,7 @@ export declare class Vireo {
145
157
  media: string | null;
146
158
  poster: string | null;
147
159
  source: Source | null;
148
- parentId: number | null;
160
+ name: string | null;
149
161
  guides: number[];
150
162
  change: string | null;
151
163
  agent: string | null;
@@ -155,6 +167,8 @@ export declare class Vireo {
155
167
  }[];
156
168
  }[]>;
157
169
  private notesOf;
170
+ /** Parent edges of these children, main parent first. */
171
+ private lineageOf;
158
172
  judge(sampleId: number, verdict: Verdict | null, by: string | null): Promise<{
159
173
  id: number;
160
174
  verdict: "amazing" | "good" | "bad" | null;
@@ -176,8 +190,9 @@ export declare class Vireo {
176
190
  done: number[];
177
191
  }>;
178
192
  /** Close a batch: the person's note goes to the agent with the marks. */
179
- closeBatch(batchId: number, note: string | null, by: string | null): Promise<{
193
+ closeBatch(ref: number | string, note: string | null, by: string | null): Promise<{
180
194
  id: number;
195
+ n: number;
181
196
  subjectId: number;
182
197
  }>;
183
198
  keep(sampleId: number, on: boolean, by: string | null): Promise<{
@@ -267,6 +282,10 @@ export declare class Vireo {
267
282
  by: string | null;
268
283
  createdAt: Date;
269
284
  }[];
285
+ parents: {
286
+ id: number;
287
+ took: string | null;
288
+ }[];
270
289
  id: number;
271
290
  batchId: number;
272
291
  subjectId: number;
@@ -275,7 +294,7 @@ export declare class Vireo {
275
294
  media: string | null;
276
295
  poster: string | null;
277
296
  source: Source | null;
278
- parentId: number | null;
297
+ name: string | null;
279
298
  guides: number[];
280
299
  change: string | null;
281
300
  agent: string | null;
@@ -285,6 +304,7 @@ export declare class Vireo {
285
304
  }[];
286
305
  id: number;
287
306
  subjectId: number;
307
+ n: number;
288
308
  why: string;
289
309
  agent: string | null;
290
310
  state: "open" | "closed";
@@ -361,7 +381,7 @@ export declare class Vireo {
361
381
  media: string | null;
362
382
  poster: string | null;
363
383
  source: Source | null;
364
- parentId: number | null;
384
+ name: string | null;
365
385
  guides: number[];
366
386
  change: string | null;
367
387
  agent: string | null;
package/dist/store.js CHANGED
@@ -6,11 +6,12 @@ import { and, asc, desc, eq, inArray, isNotNull, isNull, or, sql } from "drizzle
6
6
  import { collect } from "./collect.js";
7
7
  import { atomic, VireoError } from "./db.js";
8
8
  import { live } from "./live.js";
9
- import { batches, guides, notes, samples, ships, subjects, } from "./schema.js";
9
+ import { batches, guides, lineage, notes, samples, ships, subjects, } from "./schema.js";
10
10
  import { fitPlackettLuce, rateSplit, tiersToChoices } from "./stats.js";
11
11
  import { isSource } from "./sync.js";
12
12
  /** `s3://` (the bucket signs it) or `https://` (served as is: a live page on its own origin). */
13
13
  export const isMediaUri = (uri) => /^(s3|https):\/\/[^\s/]+/i.test(uri);
14
+ const parentOf = (p) => typeof p === "number" ? { id: p, took: null } : { id: p.id, took: p.took?.trim() || null };
14
15
  const GOOD = ["amazing", "good"];
15
16
  /** amazing > good > unmarked > bad; amazing's wins count double. */
16
17
  const TIER_WEIGHTS = [2, 1, 1];
@@ -69,6 +70,22 @@ export class Vireo {
69
70
  throw new VireoError(`no subject ${ref}`, 404);
70
71
  return row;
71
72
  }
73
+ /** A batch by id, or `<subject>:<n>` (its number within the subject). */
74
+ async batchOf(ref, db = this.db) {
75
+ if (typeof ref === "number" || /^\d+$/.test(ref))
76
+ return Number(ref);
77
+ const m = /^(.+):(\d+)$/.exec(ref);
78
+ if (!m)
79
+ throw new VireoError(`a batch is an id or <subject>:<n>, not ${ref}`);
80
+ const subject = await this.subjectOf(m[1], db);
81
+ const [row] = await db
82
+ .select({ id: batches.id })
83
+ .from(batches)
84
+ .where(and(eq(batches.subjectId, subject.id), eq(batches.n, Number(m[2]))));
85
+ if (!row)
86
+ throw new VireoError(`no batch ${ref}`, 404);
87
+ return row.id;
88
+ }
72
89
  newSubject(s) {
73
90
  return this.write(s.by ?? null, async (tx) => {
74
91
  const [row] = await tx
@@ -121,11 +138,43 @@ export class Vireo {
121
138
  for (const s of b.samples)
122
139
  if (s.source != null && !isSource(s.source))
123
140
  throw new VireoError("source needs a ref and spans of {s, e} seconds, e > s");
141
+ for (const s of b.samples) {
142
+ if (s.name != null && s.name.trim().length > 60)
143
+ throw new VireoError("a name is 60 characters at most");
144
+ const ids = (s.parents ?? []).map((p) => parentOf(p).id);
145
+ if (ids.some((i) => !Number.isSafeInteger(i) || i <= 0))
146
+ throw new VireoError("parents are sample ids");
147
+ if (new Set(ids).size < ids.length)
148
+ throw new VireoError("a parent is named twice");
149
+ }
124
150
  return this.write(b.agent ?? null, async (tx) => {
125
151
  const subject = await this.subjectOf(ref, tx);
152
+ // lock the subject: two adds at once must not take the same number
153
+ await tx
154
+ .select({ id: subjects.id })
155
+ .from(subjects)
156
+ .where(eq(subjects.id, subject.id))
157
+ .for("update");
158
+ const [top] = await tx
159
+ .select({ n: sql `coalesce(max(${batches.n}), 0)::int` })
160
+ .from(batches)
161
+ .where(eq(batches.subjectId, subject.id));
162
+ const wanted = [
163
+ ...new Set(b.samples.flatMap((s) => (s.parents ?? []).map((p) => parentOf(p).id))),
164
+ ];
165
+ if (wanted.length) {
166
+ const found = await tx
167
+ .select({ id: samples.id })
168
+ .from(samples)
169
+ .where(and(inArray(samples.id, wanted), eq(samples.subjectId, subject.id)));
170
+ const have = new Set(found.map((r) => r.id));
171
+ const gone = wanted.filter((i) => !have.has(i));
172
+ if (gone.length)
173
+ throw new VireoError(`not a sample of ${subject.slug}: ${gone.join(", ")}`);
174
+ }
126
175
  const [batch] = await tx
127
176
  .insert(batches)
128
- .values({ subjectId: subject.id, why: b.why, agent: b.agent ?? null })
177
+ .values({ subjectId: subject.id, n: (top?.n ?? 0) + 1, why: b.why, agent: b.agent ?? null })
129
178
  .returning();
130
179
  const order = shuffled(b.samples.map((_, i) => i));
131
180
  const rows = await tx
@@ -138,13 +187,27 @@ export class Vireo {
138
187
  media: s.media ?? null,
139
188
  poster: s.poster ?? null,
140
189
  source: s.source ?? null,
141
- parentId: s.parent ?? null,
190
+ name: s.name?.trim() || null,
142
191
  guides: s.guides ?? [],
143
192
  change: s.change ?? null,
144
193
  agent: b.agent ?? null,
145
194
  })))
146
195
  .returning({ id: samples.id });
147
- return { batch: batch?.id, subject: subject.slug, samples: rows.map((r) => r.id) };
196
+ // returning keeps insert order: rows[i] is b.samples[i]
197
+ const edges = b.samples.flatMap((s, i) => (s.parents ?? []).map((p, position) => ({
198
+ childId: rows[i]?.id,
199
+ parentId: parentOf(p).id,
200
+ position,
201
+ took: parentOf(p).took,
202
+ })));
203
+ if (edges.length)
204
+ await tx.insert(lineage).values(edges);
205
+ return {
206
+ batch: batch?.id,
207
+ n: batch?.n,
208
+ subject: subject.slug,
209
+ samples: rows.map((r) => r.id),
210
+ };
148
211
  });
149
212
  }
150
213
  /** Open batches, oldest first, with their samples and notes: what the person has to pick. */
@@ -181,6 +244,16 @@ export class Vireo {
181
244
  .where(inArray(notes.sampleId, sampleIds))
182
245
  .orderBy(asc(notes.createdAt));
183
246
  }
247
+ /** Parent edges of these children, main parent first. */
248
+ async lineageOf(childIds) {
249
+ if (!childIds.length)
250
+ return [];
251
+ return this.db
252
+ .select()
253
+ .from(lineage)
254
+ .where(inArray(lineage.childId, childIds))
255
+ .orderBy(asc(lineage.childId), asc(lineage.position));
256
+ }
184
257
  judge(sampleId, verdict, by) {
185
258
  return this.write(by, async (tx) => {
186
259
  const [row] = await tx
@@ -217,15 +290,16 @@ export class Vireo {
217
290
  });
218
291
  }
219
292
  /** Close a batch: the person's note goes to the agent with the marks. */
220
- closeBatch(batchId, note, by) {
293
+ closeBatch(ref, note, by) {
221
294
  return this.write(by, async (tx) => {
295
+ const batchId = await this.batchOf(ref, tx);
222
296
  const [row] = await tx
223
297
  .update(batches)
224
298
  .set({ state: "closed", note: note?.trim() || null, closedAt: new Date() })
225
299
  .where(eq(batches.id, batchId))
226
- .returning({ id: batches.id, subjectId: batches.subjectId });
300
+ .returning({ id: batches.id, n: batches.n, subjectId: batches.subjectId });
227
301
  if (!row)
228
- throw new VireoError(`no batch ${batchId}`, 404);
302
+ throw new VireoError(`no batch ${ref}`, 404);
229
303
  return row;
230
304
  });
231
305
  }
@@ -294,6 +368,7 @@ export class Vireo {
294
368
  .where(eq(samples.subjectId, s.id))
295
369
  .orderBy(asc(samples.batchId), asc(samples.position));
296
370
  const ns = await this.notesOf(ss.map((r) => r.id));
371
+ const es = await this.lineageOf(ss.map((r) => r.id));
297
372
  const judgedBatches = new Set(bs.filter((b) => b.state === "closed").map((b) => b.id));
298
373
  const judged = ss.filter((r) => judgedBatches.has(r.batchId));
299
374
  const strength = new Map(strengths(ss).map((x) => [Number(x.id), x]));
@@ -312,6 +387,9 @@ export class Vireo {
312
387
  ...r,
313
388
  strength: strength.get(r.id) ?? null,
314
389
  notes: ns.filter((n) => n.sampleId === r.id),
390
+ parents: es
391
+ .filter((e) => e.childId === r.id)
392
+ .map((e) => ({ id: e.parentId, took: e.took })),
315
393
  })),
316
394
  };
317
395
  }),