@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 +7 -0
- package/dist/cli.js +7 -4
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js.map +1 -1
- package/dist/schema.d.ts +106 -8
- package/dist/schema.js +30 -1
- package/dist/schema.js.map +1 -1
- package/dist/store.d.ts +25 -5
- package/dist/store.js +85 -7
- package/dist/store.js.map +1 -1
- package/drizzle/0001_lineage.sql +18 -0
- package/drizzle/0002_drop_parent_id.sql +1 -0
- package/drizzle/0003_batch_n.sql +8 -0
- package/drizzle/meta/0001_snapshot.json +918 -0
- package/drizzle/meta/0002_snapshot.json +912 -0
- package/drizzle/meta/0003_snapshot.json +927 -0
- package/drizzle/meta/_journal.json +21 -0
- package/package.json +1 -1
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?,
|
|
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
|
-
|
|
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(
|
|
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,
|
|
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
|
-
|
|
502
|
-
name: "
|
|
518
|
+
name: import("drizzle-orm/pg-core").PgColumn<{
|
|
519
|
+
name: "name";
|
|
503
520
|
tableName: "samples";
|
|
504
|
-
dataType: "
|
|
505
|
-
columnType: "
|
|
506
|
-
data:
|
|
507
|
-
driverParam: string
|
|
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:
|
|
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
|
-
|
|
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"),
|
package/dist/schema.js.map
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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 ${
|
|
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
|
}),
|