@wrenautomation/vireo 0.12.0 → 0.13.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 +11 -3
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +30 -3
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/schema.d.ts +102 -21
- package/dist/schema.js +24 -6
- package/dist/schema.js.map +1 -1
- package/dist/store.d.ts +314 -21
- package/dist/store.js +274 -27
- package/dist/store.js.map +1 -1
- package/drizzle/0008_calls.sql +24 -0
- package/drizzle/meta/0008_snapshot.json +1256 -0
- package/drizzle/meta/_journal.json +7 -0
- package/package.json +1 -1
package/dist/store.js
CHANGED
|
@@ -7,12 +7,15 @@ import { PgTransaction } from "drizzle-orm/pg-core";
|
|
|
7
7
|
import { collect } from "./collect.js";
|
|
8
8
|
import { atomic, VireoError } from "./db.js";
|
|
9
9
|
import { live } from "./live.js";
|
|
10
|
-
import { batches, guides, lineage, notes, samples, ships, steers, subjects, TAP, VERDICTS, verdictOf, } from "./schema.js";
|
|
10
|
+
import { batches, calls, guides, lineage, notes, samples, ships, steers, subjects, TAP, VERDICTS, verdictOf, } from "./schema.js";
|
|
11
11
|
import { fitPlackettLuce, rateSplit, tiersToChoices } from "./stats.js";
|
|
12
12
|
import { isSource } from "./sync.js";
|
|
13
13
|
/** `s3://` (the bucket signs it) or `https://` (served as is: a live page on its own origin). */
|
|
14
14
|
export const isMediaUri = (uri) => /^(s3|https):\/\/[^\s/]+/i.test(uri);
|
|
15
15
|
const parentOf = (p) => typeof p === "number" ? { id: p, took: null } : { id: p.id, took: p.took?.trim() || null };
|
|
16
|
+
/** `by` of calls made before calls had a judge (migration 0008); a host may name them after. */
|
|
17
|
+
export const EARLIER_JUDGE = "person";
|
|
18
|
+
export const BATCH_SORTS = ["waiting", "newest", "oldest", "subject", "good"];
|
|
16
19
|
/** `roots` and every sample that grew from them, over any parent edge. */
|
|
17
20
|
function grownFrom(roots, edges) {
|
|
18
21
|
const kids = new Map();
|
|
@@ -47,26 +50,72 @@ const shuffled = (xs) => {
|
|
|
47
50
|
return a;
|
|
48
51
|
};
|
|
49
52
|
/**
|
|
50
|
-
*
|
|
51
|
-
*
|
|
53
|
+
* One sheet per (batch, person) who called in it: each sample of the batch with that person's
|
|
54
|
+
* call, or none (unmarked). The unit of every rank and rate (D11).
|
|
52
55
|
*/
|
|
53
|
-
export function
|
|
54
|
-
const
|
|
56
|
+
export function sheets(rows, cs) {
|
|
57
|
+
const inBatch = new Map();
|
|
55
58
|
for (const r of rows)
|
|
56
|
-
|
|
57
|
-
const
|
|
58
|
-
const
|
|
59
|
+
inBatch.set(r.batchId, [...(inBatch.get(r.batchId) ?? []), r.id]);
|
|
60
|
+
const batchOf = new Map(rows.map((r) => [r.id, r.batchId]));
|
|
61
|
+
const out = new Map();
|
|
62
|
+
for (const c of cs) {
|
|
63
|
+
const b = batchOf.get(c.sampleId);
|
|
64
|
+
if (b == null)
|
|
65
|
+
continue;
|
|
66
|
+
const k = `${b}\u0000${c.by}`;
|
|
67
|
+
const sheet = out.get(k) ?? { batchId: b, by: c.by, got: new Map() };
|
|
68
|
+
sheet.got.set(c.sampleId, c);
|
|
69
|
+
out.set(k, sheet);
|
|
70
|
+
}
|
|
71
|
+
return [...out.values()].map((x) => ({
|
|
72
|
+
batchId: x.batchId,
|
|
73
|
+
by: x.by,
|
|
74
|
+
marks: (inBatch.get(x.batchId) ?? []).map((id) => ({ id, call: x.got.get(id) ?? null })),
|
|
75
|
+
}));
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Strength per judged sample: each sheet is a partial ranking by score, 10 down to 1, ties
|
|
79
|
+
* unordered; unmarked reads as 5. Wins from 9 and up count double.
|
|
80
|
+
*/
|
|
81
|
+
export function strengths(rows, cs) {
|
|
82
|
+
const ss = sheets(rows, cs);
|
|
83
|
+
const ids = [...new Set(ss.flatMap((x) => x.marks.map((m) => String(m.id))))];
|
|
59
84
|
const scores = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1];
|
|
60
|
-
const choices =
|
|
85
|
+
const choices = ss.flatMap((x) => tiersToChoices(scores.map((n) => x.marks.filter((m) => (m.call?.score ?? UNMARKED) === n).map((m) => String(m.id))), scores.map((n) => (n >= TAP.amazing ? 2 : 1))));
|
|
61
86
|
return fitPlackettLuce(ids, choices);
|
|
62
87
|
}
|
|
63
|
-
/**
|
|
64
|
-
export function
|
|
88
|
+
/** Good or better over every (sample, person) mark of these sheets; null with none. */
|
|
89
|
+
export function goodRateOf(ss) {
|
|
90
|
+
const marks = ss.flatMap((x) => x.marks);
|
|
91
|
+
return marks.length
|
|
92
|
+
? marks.filter((m) => GOOD.includes(m.call?.verdict ?? null)).length / marks.length
|
|
93
|
+
: null;
|
|
94
|
+
}
|
|
95
|
+
/** With-vs-without good rate per guide, over every mark in judged batches. */
|
|
96
|
+
export function guideStats(guideRows, judged, cs) {
|
|
97
|
+
const guidesOf = new Map(judged.map((r) => [r.id, r.guides]));
|
|
98
|
+
const marks = sheets(judged, cs).flatMap((x) => x.marks);
|
|
65
99
|
return guideRows.map((g) => ({
|
|
66
100
|
...g,
|
|
67
|
-
effect: rateSplit(
|
|
101
|
+
effect: rateSplit(marks.map((m) => ({
|
|
102
|
+
has: (guidesOf.get(m.id) ?? []).includes(g.id),
|
|
103
|
+
good: GOOD.includes(m.call?.verdict ?? null),
|
|
104
|
+
}))),
|
|
68
105
|
}));
|
|
69
106
|
}
|
|
107
|
+
/** Mean of the calls a reader may see, and its zone; null with none. */
|
|
108
|
+
const pooled = (cs) => {
|
|
109
|
+
if (!cs.length)
|
|
110
|
+
return { score: null, verdict: null };
|
|
111
|
+
const mean = cs.reduce((a, c) => a + c.score, 0) / cs.length;
|
|
112
|
+
return { score: Math.round(mean * 10) / 10, verdict: verdictOf(Math.round(mean)) };
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* What a reader may see of an open batch (D11). `viewer` = a person: while open, only their own
|
|
116
|
+
* calls and notes, and none of the agent's words. Null = the agent: everything.
|
|
117
|
+
*/
|
|
118
|
+
const blindFor = (viewer, open) => viewer != null && open;
|
|
70
119
|
/** Waits on the person: open and its subject's newest. A newer batch replaces an unmarked one. */
|
|
71
120
|
const WAITS = and(eq(batches.state, "open"), sql `${batches.n} = (select max(b.n) from vireo.batches b where b.subject_id = ${batches.subjectId})`);
|
|
72
121
|
/** How people and agents name a batch: its number within the subject. The id is secondary. */
|
|
@@ -500,8 +549,11 @@ export class Vireo {
|
|
|
500
549
|
const pruned = await this.prunedIn(this.db, s.id, live);
|
|
501
550
|
return { steers: live, pruned: [...pruned.keys()].sort((a, b) => a - b) };
|
|
502
551
|
}
|
|
503
|
-
/**
|
|
504
|
-
|
|
552
|
+
/**
|
|
553
|
+
* Batches that wait on the person, oldest first, with samples and notes: what they have to pick.
|
|
554
|
+
* `viewer`: a person sees only their own calls and notes (D11).
|
|
555
|
+
*/
|
|
556
|
+
async queue(ref, viewer = null) {
|
|
505
557
|
// a subject, or one batch as `<subject>:<n>`
|
|
506
558
|
const one = typeof ref === "string" && /:\d+$/.test(ref) ? await this.batchOf(ref) : null;
|
|
507
559
|
const subjectId = ref == null || one ? null : (await this.subjectOf(ref)).id;
|
|
@@ -518,15 +570,30 @@ export class Vireo {
|
|
|
518
570
|
.from(samples)
|
|
519
571
|
.where(inArray(samples.batchId, open.map((o) => o.batch.id)))
|
|
520
572
|
.orderBy(asc(samples.position));
|
|
521
|
-
const
|
|
573
|
+
const ids = rows.map((r) => r.id);
|
|
574
|
+
const mine = (x) => viewer == null || x.by === viewer;
|
|
575
|
+
const ns = (await this.notesOf(ids)).filter(mine);
|
|
576
|
+
const cs = (await this.callsOf(ids)).filter(mine);
|
|
522
577
|
return open.map((o) => ({
|
|
523
578
|
batch: { ref: refOf(o.subject.slug, o.batch.n), ...o.batch },
|
|
524
579
|
subject: o.subject,
|
|
525
580
|
samples: rows
|
|
526
581
|
.filter((r) => r.batchId === o.batch.id)
|
|
527
|
-
.map((r) =>
|
|
582
|
+
.map((r) => {
|
|
583
|
+
const own = cs.filter((c) => c.sampleId === r.id);
|
|
584
|
+
return { ...r, ...pooled(own), calls: own, notes: ns.filter((n) => n.sampleId === r.id) };
|
|
585
|
+
}),
|
|
528
586
|
}));
|
|
529
587
|
}
|
|
588
|
+
async callsOf(sampleIds) {
|
|
589
|
+
if (!sampleIds.length)
|
|
590
|
+
return [];
|
|
591
|
+
return this.db
|
|
592
|
+
.select()
|
|
593
|
+
.from(calls)
|
|
594
|
+
.where(inArray(calls.sampleId, sampleIds))
|
|
595
|
+
.orderBy(asc(calls.at));
|
|
596
|
+
}
|
|
530
597
|
async notesOf(sampleIds) {
|
|
531
598
|
if (!sampleIds.length)
|
|
532
599
|
return [];
|
|
@@ -546,20 +613,37 @@ export class Vireo {
|
|
|
546
613
|
.where(inArray(lineage.childId, childIds))
|
|
547
614
|
.orderBy(asc(lineage.childId), asc(lineage.position));
|
|
548
615
|
}
|
|
549
|
-
/**
|
|
616
|
+
/**
|
|
617
|
+
* `by`'s call: a 1-10 score, a verdict (its tap score) or null to clear. The verdict follows.
|
|
618
|
+
* One call per person per sample (D11).
|
|
619
|
+
*/
|
|
550
620
|
async judge(sampleId, call, by) {
|
|
621
|
+
if (!by)
|
|
622
|
+
throw new VireoError("a call needs who made it", 400);
|
|
551
623
|
const score = typeof call === "string" ? TAP[call] : call;
|
|
552
624
|
if (score != null && !(Number.isInteger(score) && score >= 1 && score <= 10))
|
|
553
625
|
throw new VireoError(`score ${score}: 1-10, or ${VERDICTS.join("|")}`, 400);
|
|
554
626
|
return this.write(by, async (tx) => {
|
|
555
627
|
const [row] = await tx
|
|
556
|
-
.
|
|
557
|
-
.
|
|
558
|
-
.where(eq(samples.id, sampleId))
|
|
559
|
-
.returning({ id: samples.id, score: samples.score, verdict: samples.verdict });
|
|
628
|
+
.select({ id: samples.id })
|
|
629
|
+
.from(samples)
|
|
630
|
+
.where(eq(samples.id, sampleId));
|
|
560
631
|
if (!row)
|
|
561
632
|
throw new VireoError(`no sample ${sampleId}`, 404);
|
|
562
|
-
|
|
633
|
+
const mine = and(eq(calls.sampleId, sampleId), eq(calls.by, by));
|
|
634
|
+
if (score == null) {
|
|
635
|
+
await tx.delete(calls).where(mine);
|
|
636
|
+
return { id: sampleId, by, score: null, verdict: null };
|
|
637
|
+
}
|
|
638
|
+
const verdict = verdictOf(score);
|
|
639
|
+
await tx
|
|
640
|
+
.insert(calls)
|
|
641
|
+
.values({ sampleId, by, score, verdict })
|
|
642
|
+
.onConflictDoUpdate({
|
|
643
|
+
target: [calls.sampleId, calls.by],
|
|
644
|
+
set: { score, verdict, at: sql `now()` },
|
|
645
|
+
});
|
|
646
|
+
return { id: sampleId, by, score, verdict };
|
|
563
647
|
});
|
|
564
648
|
}
|
|
565
649
|
async addNote(sampleId, n, by) {
|
|
@@ -716,10 +800,11 @@ export class Vireo {
|
|
|
716
800
|
.orderBy(asc(samples.batchId), asc(samples.position));
|
|
717
801
|
const ns = await this.notesOf(ss.map((r) => r.id));
|
|
718
802
|
const es = await this.lineageOf(ss.map((r) => r.id));
|
|
803
|
+
const cs = await this.callsOf(ss.map((r) => r.id));
|
|
719
804
|
const judgedBatches = new Set(bs.filter((b) => b.state === "closed").map((b) => b.id));
|
|
720
805
|
const judged = ss.filter((r) => judgedBatches.has(r.batchId));
|
|
721
|
-
const strength = new Map(strengths(ss).map((x) => [Number(x.id), x]));
|
|
722
|
-
const gs = guideStats(await this.guidesFor(s), judged);
|
|
806
|
+
const strength = new Map(strengths(ss, cs).map((x) => [Number(x.id), x]));
|
|
807
|
+
const gs = guideStats(await this.guidesFor(s), judged, cs);
|
|
723
808
|
return {
|
|
724
809
|
subject: s,
|
|
725
810
|
guides: gs,
|
|
@@ -728,11 +813,14 @@ export class Vireo {
|
|
|
728
813
|
return {
|
|
729
814
|
ref: refOf(s.slug, b.n),
|
|
730
815
|
...b,
|
|
731
|
-
goodRate: mine
|
|
732
|
-
|
|
733
|
-
|
|
816
|
+
goodRate: goodRateOf(sheets(mine, cs)),
|
|
817
|
+
judges: [
|
|
818
|
+
...new Set(cs.filter((c) => mine.some((r) => r.id === c.sampleId)).map((c) => c.by)),
|
|
819
|
+
],
|
|
734
820
|
samples: mine.map((r) => ({
|
|
735
821
|
...r,
|
|
822
|
+
...pooled(cs.filter((c) => c.sampleId === r.id)),
|
|
823
|
+
calls: cs.filter((c) => c.sampleId === r.id),
|
|
736
824
|
strength: strength.get(r.id) ?? null,
|
|
737
825
|
notes: ns.filter((n) => n.sampleId === r.id),
|
|
738
826
|
parents: es
|
|
@@ -805,6 +893,165 @@ export class Vireo {
|
|
|
805
893
|
return out;
|
|
806
894
|
}
|
|
807
895
|
/** Kept samples, newest first, with their subject. */
|
|
896
|
+
/**
|
|
897
|
+
* Batches as a page: filters, a sort and an offset (D11). `viewer` = the person reading: an open
|
|
898
|
+
* batch shows only their own marks, and none of the agent's words.
|
|
899
|
+
*/
|
|
900
|
+
async batches(q = {}, viewer = null) {
|
|
901
|
+
const limit = Math.min(Math.max(q.limit ?? 30, 1), 100);
|
|
902
|
+
const after = Math.max(q.after ?? 0, 0);
|
|
903
|
+
const subjectId = q.subject == null ? null : (await this.subjectOf(q.subject)).id;
|
|
904
|
+
const good = sql `${calls.verdict} in ('good', 'amazing')`;
|
|
905
|
+
const n = sql `count(distinct ${samples.id})::int`;
|
|
906
|
+
const judges = sql `count(distinct ${calls.by})::int`;
|
|
907
|
+
// an open batch has no rate: partial, and a sort on it would show others' marks
|
|
908
|
+
const rate = sql `case when ${batches.state} = 'closed' then (count(${calls.id}) filter (where ${good}))::float / nullif((${judges}) * (${n}), 0) end`;
|
|
909
|
+
const waits = sql `(${WAITS})`;
|
|
910
|
+
const tally = (v) => sql `(count(${calls.id}) filter (where ${calls.verdict} = ${v}))::int`;
|
|
911
|
+
const where = and(q.subjects
|
|
912
|
+
? inArray(batches.subjectId, q.subjects.length ? [...q.subjects] : [-1])
|
|
913
|
+
: undefined, subjectId ? eq(batches.subjectId, subjectId) : undefined, q.kind ? eq(subjects.kind, q.kind) : undefined, q.state === "waits" ? WAITS : q.state ? eq(batches.state, q.state) : undefined, q.who
|
|
914
|
+
? sql `exists (select 1 from vireo.calls c join vireo.samples x on x.id = c.sample_id where x.batch_id = ${batches.id} and c.by = ${q.who})`
|
|
915
|
+
: undefined);
|
|
916
|
+
const order = {
|
|
917
|
+
newest: [desc(batches.createdAt), desc(batches.id)],
|
|
918
|
+
oldest: [asc(batches.createdAt), asc(batches.id)],
|
|
919
|
+
waiting: [desc(waits), desc(batches.createdAt), desc(batches.id)],
|
|
920
|
+
subject: [asc(subjects.name), desc(batches.n)],
|
|
921
|
+
good: [sql `${rate} desc nulls last`, desc(batches.createdAt), desc(batches.id)],
|
|
922
|
+
}[q.sort ?? "waiting"];
|
|
923
|
+
const got = await this.db
|
|
924
|
+
.select({
|
|
925
|
+
batch: batches,
|
|
926
|
+
subject: subjects,
|
|
927
|
+
samples: n,
|
|
928
|
+
kept: sql `(count(distinct ${samples.id}) filter (where ${samples.keptAt} is not null))::int`,
|
|
929
|
+
judges,
|
|
930
|
+
mine: viewer
|
|
931
|
+
? sql `(count(${calls.id}) filter (where ${calls.by} = ${viewer}))::int`
|
|
932
|
+
: sql `0`,
|
|
933
|
+
rate,
|
|
934
|
+
waits,
|
|
935
|
+
amazing: tally("amazing"),
|
|
936
|
+
good: tally("good"),
|
|
937
|
+
okay: tally("okay"),
|
|
938
|
+
bad: tally("bad"),
|
|
939
|
+
})
|
|
940
|
+
.from(batches)
|
|
941
|
+
.innerJoin(subjects, eq(subjects.id, batches.subjectId))
|
|
942
|
+
.leftJoin(samples, eq(samples.batchId, batches.id))
|
|
943
|
+
.leftJoin(calls, eq(calls.sampleId, samples.id))
|
|
944
|
+
.where(where)
|
|
945
|
+
.groupBy(batches.id, subjects.id)
|
|
946
|
+
.orderBy(...order)
|
|
947
|
+
.limit(limit + 1)
|
|
948
|
+
.offset(after);
|
|
949
|
+
const page = got.slice(0, limit);
|
|
950
|
+
const [count] = await this.db
|
|
951
|
+
.select({ waiting: sql `(count(*) filter (where ${WAITS}))::int` })
|
|
952
|
+
.from(batches)
|
|
953
|
+
.innerJoin(subjects, eq(subjects.id, batches.subjectId))
|
|
954
|
+
.where(where);
|
|
955
|
+
// thumbs: each batch's posters in made order, with the calls a reader may see
|
|
956
|
+
const thumbs = page.length
|
|
957
|
+
? await this.db
|
|
958
|
+
.select({ id: samples.id, batchId: samples.batchId, poster: samples.poster })
|
|
959
|
+
.from(samples)
|
|
960
|
+
.where(and(inArray(samples.batchId, page.map((r) => r.batch.id)), isNotNull(samples.poster)))
|
|
961
|
+
.orderBy(asc(samples.id))
|
|
962
|
+
: [];
|
|
963
|
+
const cs = await this.callsOf(thumbs.map((t) => t.id));
|
|
964
|
+
return {
|
|
965
|
+
rows: page.map((r) => {
|
|
966
|
+
const blind = blindFor(viewer, r.batch.state === "open");
|
|
967
|
+
const tallied = r.judges * r.samples;
|
|
968
|
+
return {
|
|
969
|
+
ref: refOf(r.subject.slug, r.batch.n),
|
|
970
|
+
id: r.batch.id,
|
|
971
|
+
n: r.batch.n,
|
|
972
|
+
title: r.batch.title,
|
|
973
|
+
state: r.batch.state,
|
|
974
|
+
note: r.batch.note,
|
|
975
|
+
why: blind ? null : r.batch.why,
|
|
976
|
+
createdAt: r.batch.createdAt,
|
|
977
|
+
subject: r.subject,
|
|
978
|
+
waits: r.waits,
|
|
979
|
+
samples: r.samples,
|
|
980
|
+
kept: r.kept,
|
|
981
|
+
// while open a person sees only their own count
|
|
982
|
+
marked: blind ? r.mine : r.amazing + r.good + r.okay + r.bad,
|
|
983
|
+
judges: blind ? null : r.judges,
|
|
984
|
+
goodRate: blind ? null : r.rate,
|
|
985
|
+
tally: blind
|
|
986
|
+
? null
|
|
987
|
+
: {
|
|
988
|
+
amazing: r.amazing,
|
|
989
|
+
good: r.good,
|
|
990
|
+
okay: r.okay,
|
|
991
|
+
bad: r.bad,
|
|
992
|
+
unmarked: tallied ? tallied - (r.amazing + r.good + r.okay + r.bad) : r.samples,
|
|
993
|
+
},
|
|
994
|
+
thumbs: thumbs
|
|
995
|
+
.filter((t) => t.batchId === r.batch.id)
|
|
996
|
+
.map((t) => ({
|
|
997
|
+
id: t.id,
|
|
998
|
+
poster: t.poster,
|
|
999
|
+
verdict: blind ? null : pooled(cs.filter((c) => c.sampleId === t.id)).verdict,
|
|
1000
|
+
})),
|
|
1001
|
+
};
|
|
1002
|
+
}),
|
|
1003
|
+
next: got.length > limit ? after + limit : null,
|
|
1004
|
+
waiting: count?.waiting ?? 0,
|
|
1005
|
+
};
|
|
1006
|
+
}
|
|
1007
|
+
/** One batch whole, for `viewer` (see `batches`); `newer` = the subject's newer open batch. */
|
|
1008
|
+
async batch(ref, viewer = null) {
|
|
1009
|
+
const id = await this.batchOf(ref);
|
|
1010
|
+
const [o] = await this.db
|
|
1011
|
+
.select({ batch: batches, subject: subjects })
|
|
1012
|
+
.from(batches)
|
|
1013
|
+
.innerJoin(subjects, eq(subjects.id, batches.subjectId))
|
|
1014
|
+
.where(eq(batches.id, id));
|
|
1015
|
+
if (!o)
|
|
1016
|
+
throw new VireoError(`no batch ${ref}`, 404);
|
|
1017
|
+
const blind = blindFor(viewer, o.batch.state === "open");
|
|
1018
|
+
const rows = await this.db
|
|
1019
|
+
.select()
|
|
1020
|
+
.from(samples)
|
|
1021
|
+
.where(eq(samples.batchId, id))
|
|
1022
|
+
.orderBy(asc(samples.id));
|
|
1023
|
+
const ids = rows.map((r) => r.id);
|
|
1024
|
+
const seen = (x) => !blind || x.by === viewer;
|
|
1025
|
+
const ns = (await this.notesOf(ids)).filter(seen);
|
|
1026
|
+
const cs = (await this.callsOf(ids)).filter(seen);
|
|
1027
|
+
const es = blind ? [] : await this.lineageOf(ids);
|
|
1028
|
+
const [newer] = await this.db
|
|
1029
|
+
.select({ n: batches.n })
|
|
1030
|
+
.from(batches)
|
|
1031
|
+
.where(and(eq(batches.subjectId, o.batch.subjectId), eq(batches.state, "open"), sql `${batches.n} > ${o.batch.n}`))
|
|
1032
|
+
.orderBy(desc(batches.n))
|
|
1033
|
+
.limit(1);
|
|
1034
|
+
return {
|
|
1035
|
+
ref: refOf(o.subject.slug, o.batch.n),
|
|
1036
|
+
...o.batch,
|
|
1037
|
+
why: blind ? null : o.batch.why,
|
|
1038
|
+
subject: o.subject,
|
|
1039
|
+
goodRate: blind ? null : goodRateOf(sheets(rows, cs)),
|
|
1040
|
+
judges: blind ? null : [...new Set(cs.map((c) => c.by))],
|
|
1041
|
+
newer: newer ? { n: newer.n, ref: refOf(o.subject.slug, newer.n) } : null,
|
|
1042
|
+
samples: rows.map((r) => ({
|
|
1043
|
+
...r,
|
|
1044
|
+
name: blind ? null : r.name,
|
|
1045
|
+
change: blind ? null : r.change,
|
|
1046
|
+
...pooled(cs.filter((c) => c.sampleId === r.id)),
|
|
1047
|
+
calls: cs.filter((c) => c.sampleId === r.id),
|
|
1048
|
+
notes: ns.filter((x) => x.sampleId === r.id),
|
|
1049
|
+
parents: es
|
|
1050
|
+
.filter((e) => e.childId === r.id)
|
|
1051
|
+
.map((e) => ({ id: e.parentId, took: e.took })),
|
|
1052
|
+
})),
|
|
1053
|
+
};
|
|
1054
|
+
}
|
|
808
1055
|
async catalog(opts = {}) {
|
|
809
1056
|
const subjectId = opts.subject == null ? null : (await this.subjectOf(opts.subject)).id;
|
|
810
1057
|
return this.db
|
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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"}
|