@chaos-overlords/storage 0.9.5 → 0.9.7

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/LICENSE +21 -674
  2. package/NOTICE +9 -12
  3. package/README.md +1 -1
  4. package/dist/postgres/events.d.ts.map +1 -1
  5. package/dist/postgres/events.js +34 -1
  6. package/dist/postgres/events.js.map +1 -1
  7. package/dist/postgres/repositories.js +47 -7
  8. package/dist/postgres/repositories.js.map +1 -1
  9. package/dist/postgres/schema.d.ts +51 -0
  10. package/dist/postgres/schema.d.ts.map +1 -1
  11. package/dist/postgres/schema.js +24 -2
  12. package/dist/postgres/schema.js.map +1 -1
  13. package/dist/postgres/takeovers.d.ts.map +1 -1
  14. package/dist/postgres/takeovers.js +24 -1
  15. package/dist/postgres/takeovers.js.map +1 -1
  16. package/dist/shared/constraints.d.ts +9 -3
  17. package/dist/shared/constraints.d.ts.map +1 -1
  18. package/dist/shared/constraints.js +9 -3
  19. package/dist/shared/constraints.js.map +1 -1
  20. package/dist/shared/mappers.d.ts +2 -0
  21. package/dist/shared/mappers.d.ts.map +1 -1
  22. package/dist/shared/mappers.js +1 -0
  23. package/dist/shared/mappers.js.map +1 -1
  24. package/dist/sqlite/events.d.ts.map +1 -1
  25. package/dist/sqlite/events.js +34 -1
  26. package/dist/sqlite/events.js.map +1 -1
  27. package/dist/sqlite/repositories.js +49 -8
  28. package/dist/sqlite/repositories.js.map +1 -1
  29. package/dist/sqlite/schema.d.ts +53 -0
  30. package/dist/sqlite/schema.d.ts.map +1 -1
  31. package/dist/sqlite/schema.js +24 -2
  32. package/dist/sqlite/schema.js.map +1 -1
  33. package/dist/sqlite/takeovers.d.ts.map +1 -1
  34. package/dist/sqlite/takeovers.js +24 -1
  35. package/dist/sqlite/takeovers.js.map +1 -1
  36. package/migrations/postgres/0006_stiff_newton_destine.sql +22 -0
  37. package/migrations/postgres/meta/0006_snapshot.json +942 -0
  38. package/migrations/postgres/meta/_journal.json +7 -0
  39. package/migrations/sqlite/0006_flawless_bedlam.sql +22 -0
  40. package/migrations/sqlite/meta/0006_snapshot.json +891 -0
  41. package/migrations/sqlite/meta/_journal.json +7 -0
  42. package/package.json +5 -5
package/NOTICE CHANGED
@@ -3,19 +3,16 @@ A clean-room MonoGame reimplementation of the 1996 turn-based strategy game.
3
3
 
4
4
  Copyright (C) 2026 kibertoad
5
5
 
6
- This program is free software: you can redistribute it and/or modify it under
7
- the terms of the GNU General Public License as published by the Free Software
8
- Foundation, version 3 of the License.
6
+ The original code in this repository is licensed under the MIT License. See the
7
+ LICENSE file for the full license text.
9
8
 
10
- This program is distributed in the hope that it will be useful, but WITHOUT
11
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12
- FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
9
+ The documentation of the original game in spec/ is licensed separately: its
10
+ Markdown text under Creative Commons Attribution 4.0 International, and its
11
+ machine-readable files under the MIT License. spec/LICENSE holds both texts and
12
+ says which files each covers.
13
13
 
14
- You should have received a copy of the GNU General Public License along with
15
- this program in the LICENSE file. If not, see <https://www.gnu.org/licenses/>.
16
-
17
- The GPL covers the original code in this repository. It does not cover or grant
18
- rights to the original Chaos Overlords assets. Those assets are not distributed
19
- by this project and must be imported locally from a legally owned copy.
14
+ Neither license covers or grants rights to the original Chaos Overlords assets.
15
+ Those assets are not distributed by this project and must be imported locally
16
+ from a legally owned copy.
20
17
 
21
18
  Project contact: https://github.com/kibertoad/chaos-overlords-new-chrome/issues
package/README.md CHANGED
@@ -32,4 +32,4 @@ The operator and contributor manual for the whole multiplayer workspace is in
32
32
 
33
33
  ## Licence
34
34
 
35
- GPL-3.0-only. See [`LICENSE`](https://github.com/kibertoad/chaos-overlords-new-chrome/blob/main/LICENSE) and [`NOTICE`](https://github.com/kibertoad/chaos-overlords-new-chrome/blob/main/NOTICE).
35
+ MIT. See [`LICENSE`](https://github.com/kibertoad/chaos-overlords-new-chrome/blob/main/LICENSE) and [`NOTICE`](https://github.com/kibertoad/chaos-overlords-new-chrome/blob/main/NOTICE).
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/postgres/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAkB,MAAM,yBAAyB,CAAA;AAI9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAGlD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,gBAAgB,GAAG,eAAe,CA6C7E"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/postgres/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAkB,MAAM,yBAAyB,CAAA;AAI9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAGlD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,gBAAgB,GAAG,eAAe,CA8E7E"}
@@ -1,5 +1,5 @@
1
1
  import { and, asc, desc, eq, sql } from 'drizzle-orm';
2
- import { appendWithRetry } from '../shared/constraints';
2
+ import { appendWithRetry, DUPLICATE } from '../shared/constraints';
3
3
  import { toEvent } from '../shared/mappers';
4
4
  import * as schema from './schema';
5
5
  /**
@@ -33,6 +33,30 @@ export function postgresEventRepository(db) {
33
33
  });
34
34
  return { ...event, seq };
35
35
  },
36
+ /**
37
+ * The same insert with a key, and a conflict clause aimed at `match_events_dedupe_idx` alone:
38
+ * a key already logged writes nothing and returns no row, while a collision on the sequence
39
+ * number still raises and is retried like any append's.
40
+ */
41
+ async appendOnce(event, dedupeKey) {
42
+ const nextSeq = sql `(select coalesce(max(${matchEvents.seq}), 0) + 1 from ${matchEvents} where ${eq(matchEvents.matchId, event.matchId)})`;
43
+ const seq = await appendWithRetry(event.matchId, async () => {
44
+ const rows = await db
45
+ .insert(matchEvents)
46
+ .values({
47
+ matchId: event.matchId,
48
+ seq: nextSeq,
49
+ type: event.type,
50
+ payload: event.payload,
51
+ createdAt: new Date(event.createdAt),
52
+ dedupeKey,
53
+ })
54
+ .onConflictDoNothing({ target: [matchEvents.matchId, matchEvents.dedupeKey] })
55
+ .returning({ seq: matchEvents.seq });
56
+ return rows[0]?.seq ?? DUPLICATE;
57
+ });
58
+ return seq === DUPLICATE ? null : { ...event, seq };
59
+ },
36
60
  async listAfter(matchId, afterSeq, limit) {
37
61
  const rows = await db
38
62
  .select()
@@ -42,6 +66,15 @@ export function postgresEventRepository(db) {
42
66
  .limit(limit);
43
67
  return rows.map(toEvent);
44
68
  },
69
+ async latestOfType(matchId, type) {
70
+ const rows = await db
71
+ .select()
72
+ .from(matchEvents)
73
+ .where(and(eq(matchEvents.matchId, matchId), eq(matchEvents.type, type)))
74
+ .orderBy(desc(matchEvents.seq))
75
+ .limit(1);
76
+ return rows[0] ? toEvent(rows[0]) : null;
77
+ },
45
78
  async lastSeq(matchId) {
46
79
  const rows = await db
47
80
  .select({ seq: matchEvents.seq })
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/postgres/events.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAE3C,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAElC;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,EAAoB;IAC1D,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAA;IAC9B,OAAO;QACL;;;;;WAKG;QACH,KAAK,CAAC,MAAM,CAAC,KAAK;YAChB,MAAM,OAAO,GAAG,GAAG,CAAQ,wBAAwB,WAAW,CAAC,GAAG,kBAAkB,WAAW,UAAU,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAA;YAClJ,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;gBAC1D,MAAM,IAAI,GAAG,MAAM,EAAE;qBAClB,MAAM,CAAC,WAAW,CAAC;qBACnB,MAAM,CAAC;oBACN,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,GAAG,EAAE,OAAO;oBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;iBACrC,CAAC;qBACD,SAAS,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAA;gBACtC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAA;YACrB,CAAC,CAAC,CAAA;YACF,OAAO,EAAE,GAAG,KAAK,EAAE,GAAG,EAAoB,CAAA;QAC5C,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK;YACtC,MAAM,IAAI,GAAG,MAAM,EAAE;iBAClB,MAAM,EAAE;iBACR,IAAI,CAAC,WAAW,CAAC;iBACjB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,GAAG,CAAA,GAAG,WAAW,CAAC,GAAG,MAAM,QAAQ,EAAE,CAAC,CAAC;iBACnF,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;iBAC7B,KAAK,CAAC,KAAK,CAAC,CAAA;YACf,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC1B,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,OAAO;YACnB,MAAM,IAAI,GAAG,MAAM,EAAE;iBAClB,MAAM,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC;iBAChC,IAAI,CAAC,WAAW,CAAC;iBACjB,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;iBACvC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;iBAC9B,KAAK,CAAC,CAAC,CAAC,CAAA;YACX,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;QAC1B,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/postgres/events.ts"],"names":[],"mappings":"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"}
@@ -49,7 +49,7 @@ function postgresMatchRepository(db) {
49
49
  return firstOrNull((await db.select().from(matches).where(eq(matches.joinCode, joinCode))).map(toMatch));
50
50
  },
51
51
  /** See the SQLite twin: the counts and the snapshot test ride in the listing statement. */
52
- async listPublicLobbies(limit) {
52
+ async listPublicLobbies(limit, sessionVersion) {
53
53
  const humanSeats = sql `(select count(*) from ${players} where ${players.matchId} = ${matches.id} and ${players.status} in ('active', 'takeoverPending'))`;
54
54
  const rows = await db
55
55
  .select({
@@ -62,6 +62,7 @@ function postgresMatchRepository(db) {
62
62
  maxPlayers: matches.maxPlayers,
63
63
  passwordHash: matches.passwordHash,
64
64
  status: matches.status,
65
+ sessionVersion: matches.sessionVersion,
65
66
  settings: matches.settings,
66
67
  createdAt: matches.createdAt,
67
68
  hasSnapshot: exists(db
@@ -71,7 +72,7 @@ function postgresMatchRepository(db) {
71
72
  })
72
73
  .from(matches)
73
74
  .innerJoin(players, eq(players.id, matches.hostPlayerId))
74
- .where(and(inArray(matches.status, ['lobby', 'running']), eq(matches.visibility, 'public'), or(ne(matches.status, 'running'), sql `${humanSeats} > 0`)))
75
+ .where(and(inArray(matches.status, ['lobby', 'running']), eq(matches.visibility, 'public'), sessionVersion === undefined ? undefined : eq(matches.sessionVersion, sessionVersion), or(ne(matches.status, 'running'), sql `${humanSeats} > 0`)))
75
76
  .orderBy(desc(matches.createdAt), asc(matches.id))
76
77
  .limit(limit);
77
78
  return rows.map(toPublicLobbyRow);
@@ -106,11 +107,15 @@ function postgresMatchRepository(db) {
106
107
  .returning({ id: matches.id });
107
108
  return rows.length === 1;
108
109
  },
109
- async updateRuntimeGameSettings(matchId, gameSettings, updatedAt) {
110
+ /**
111
+ * Writes the summaries' path inside the stored blob, in the statement, so whatever else the
112
+ * blob holds is the value it has when the statement runs rather than a caller's older copy.
113
+ */
114
+ async updateSeatSummaries(matchId, seatSummaries, updatedAt) {
110
115
  const rows = await db
111
116
  .update(matches)
112
117
  .set({
113
- settings: sql `jsonb_set(${matches.settings}, '{gameSettings}', ${JSON.stringify(gameSettings)}::jsonb)`,
118
+ settings: sql `jsonb_set(${matches.settings}, '{gameSettings,seatSummaries}', ${JSON.stringify(seatSummaries)}::jsonb)`,
114
119
  updatedAt,
115
120
  })
116
121
  .where(and(eq(matches.id, matchId), inArray(matches.status, ['running', 'desynced'])))
@@ -424,6 +429,7 @@ function postgresTurnRepository(db) {
424
429
  .returning({ number: turns.number });
425
430
  return rows.length === 1;
426
431
  },
432
+ ...postgresVerdictReceipts(db),
427
433
  async claimDesyncAnnouncement(matchId, number, at) {
428
434
  const rows = await db
429
435
  .update(turns)
@@ -504,13 +510,47 @@ function postgresTurnRepository(db) {
504
510
  .select({ matchId: matches.id, number: matches.currentTurn })
505
511
  .from(matches)
506
512
  .leftJoin(turns, and(eq(turns.matchId, matches.id), eq(turns.number, matches.currentTurn)))
507
- .where(and(inArray(matches.status, ['running', 'desynced']), or(isNull(turns.status), ne(turns.status, 'open')), ...(touchedSince ? [gte(matches.updatedAt, touchedSince)] : [])))
508
- // Ordered by the recency the window is taken on; see the SQLite twin.
509
- .orderBy(desc(matches.updatedAt), asc(matches.id))
513
+ .where(and(inArray(matches.status, ['running', 'desynced']), or(isNull(turns.status), ne(turns.status, 'open')),
514
+ // Touched means the match row OR the seal: sealing writes only the turn row, so a
515
+ // window on `updatedAt` alone missed a seal interrupted in any match whose last
516
+ // status change or turn open was longer ago than the window.
517
+ ...(touchedSince
518
+ ? [or(gte(matches.updatedAt, touchedSince), gte(turns.sealedAt, touchedSince))]
519
+ : [])))
520
+ // Ordered by the recency the window is taken on, the later of the two stamps; see the
521
+ // SQLite twin. `greatest` skips a null argument.
522
+ .orderBy(desc(sql `greatest(${matches.updatedAt}, ${turns.sealedAt})`), asc(matches.id))
510
523
  .limit(limit));
511
524
  },
512
525
  };
513
526
  }
527
+ /**
528
+ * The receipt a confirmation stamps once its follow-ups are done, and the list of confirmed turns
529
+ * still without one. Apart from the turn repository only to keep that function a readable length.
530
+ */
531
+ function postgresVerdictReceipts(db) {
532
+ const { matches, turns } = schema;
533
+ return {
534
+ async markSettled(matchId, number, at) {
535
+ const rows = await db
536
+ .update(turns)
537
+ .set({ settledAt: at })
538
+ .where(and(eq(turns.matchId, matchId), eq(turns.number, number), eq(turns.status, 'confirmed'), isNull(turns.settledAt)))
539
+ .returning({ number: turns.number });
540
+ return rows.length === 1;
541
+ },
542
+ /** `turns_settled_idx` answers the filter on the turn; the join keeps a dead match's rows out. */
543
+ async listUnannouncedVerdicts(limit) {
544
+ return db
545
+ .select({ matchId: turns.matchId, number: turns.number })
546
+ .from(turns)
547
+ .innerJoin(matches, eq(matches.id, turns.matchId))
548
+ .where(and(eq(turns.status, 'confirmed'), isNull(turns.settledAt), inArray(matches.status, ['running', 'desynced', 'finished'])))
549
+ .orderBy(asc(turns.matchId), asc(turns.number))
550
+ .limit(limit);
551
+ },
552
+ };
553
+ }
514
554
  function postgresSnapshotRepository(db) {
515
555
  const { snapshots } = schema;
516
556
  const snapshotSummaryColumns = {
@@ -1 +1 @@
1
- {"version":3,"file":"repositories.js","sourceRoot":"","sources":["../../src/postgres/repositories.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repositories.js","sourceRoot":"","sources":["../../src/postgres/repositories.ts"],"names":[],"mappings":"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"}
@@ -628,6 +628,23 @@ export declare const turns: import("drizzle-orm/pg-core").PgTableWithColumns<{
628
628
  identity: undefined;
629
629
  generated: undefined;
630
630
  }, {}, {}>;
631
+ settledAt: import("drizzle-orm/pg-core").PgColumn<{
632
+ name: string;
633
+ tableName: "turns";
634
+ dataType: "date";
635
+ columnType: "PgTimestamp";
636
+ data: Date;
637
+ driverParam: string;
638
+ notNull: false;
639
+ hasDefault: false;
640
+ isPrimaryKey: false;
641
+ isAutoincrement: false;
642
+ hasRuntimeDefault: false;
643
+ enumValues: undefined;
644
+ baseColumn: never;
645
+ identity: undefined;
646
+ generated: undefined;
647
+ }, {}, {}>;
631
648
  };
632
649
  dialect: 'pg';
633
650
  }>;
@@ -1115,6 +1132,23 @@ export declare const matchEvents: import("drizzle-orm/pg-core").PgTableWithColum
1115
1132
  identity: undefined;
1116
1133
  generated: undefined;
1117
1134
  }, {}, {}>;
1135
+ dedupeKey: import("drizzle-orm/pg-core").PgColumn<{
1136
+ name: "dedupe_key";
1137
+ tableName: "match_events";
1138
+ dataType: "string";
1139
+ columnType: "PgText";
1140
+ data: string;
1141
+ driverParam: string;
1142
+ notNull: false;
1143
+ hasDefault: false;
1144
+ isPrimaryKey: false;
1145
+ isAutoincrement: false;
1146
+ hasRuntimeDefault: false;
1147
+ enumValues: [string, ...string[]];
1148
+ baseColumn: never;
1149
+ identity: undefined;
1150
+ generated: undefined;
1151
+ }, {}, {}>;
1118
1152
  };
1119
1153
  dialect: 'pg';
1120
1154
  }>;
@@ -1191,6 +1225,23 @@ export declare const takeoverPrompts: import("drizzle-orm/pg-core").PgTableWithC
1191
1225
  identity: undefined;
1192
1226
  generated: undefined;
1193
1227
  }, {}, {}>;
1228
+ announcedAt: import("drizzle-orm/pg-core").PgColumn<{
1229
+ name: string;
1230
+ tableName: "takeover_prompts";
1231
+ dataType: "date";
1232
+ columnType: "PgTimestamp";
1233
+ data: Date;
1234
+ driverParam: string;
1235
+ notNull: false;
1236
+ hasDefault: false;
1237
+ isPrimaryKey: false;
1238
+ isAutoincrement: false;
1239
+ hasRuntimeDefault: false;
1240
+ enumValues: undefined;
1241
+ baseColumn: never;
1242
+ identity: undefined;
1243
+ generated: undefined;
1244
+ }, {}, {}>;
1194
1245
  };
1195
1246
  dialect: 'pg';
1196
1247
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/postgres/schema.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCnB,CAAA;AAED,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBnB,CAAA;AAED,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BjB,CAAA;AAED,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EActB,CAAA;AAED,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAavB,CAAA;AAED,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBrB,CAAA;AAED,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYvB,CAAA;AAED,yEAAyE;AACzE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW3B,CAAA;AAED,oFAAoF;AACpF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYzB,CAAA"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/postgres/schema.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCnB,CAAA;AAED,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBnB,CAAA;AAED,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmCjB,CAAA;AAED,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EActB,CAAA;AAED,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAavB,CAAA;AAED,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBrB,CAAA;AAED,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBvB,CAAA;AAED,yEAAyE;AACzE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa3B,CAAA;AAED,oFAAoF;AACpF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYzB,CAAA"}
@@ -1,4 +1,4 @@
1
- import { boolean, index, integer, jsonb, pgTable, primaryKey, text, timestamp, } from 'drizzle-orm/pg-core';
1
+ import { boolean, index, integer, jsonb, pgTable, primaryKey, text, timestamp, uniqueIndex, } from 'drizzle-orm/pg-core';
2
2
  /** The Postgres dialect. Column-for-column the SQLite schema; see that file for the layout notes. */
3
3
  const stamp = (name) => timestamp(name, { withTimezone: true, mode: 'date' });
4
4
  export const matches = pgTable('matches', {
@@ -67,9 +67,17 @@ export const turns = pgTable('turns', {
67
67
  * scanning the log for one, the same way `order_set_hash` does for `turn.sealed`.
68
68
  */
69
69
  desyncedAt: stamp('desynced_at'),
70
+ /**
71
+ * When every consequence of the confirmation was carried out (announced, pause lifted, a
72
+ * finished match marked finished), stamped after the last of them. A confirmed turn with this
73
+ * still null is a verdict cut short, which the sweep finishes; `turns_settled_idx` answers that
74
+ * question without visiting the settled history.
75
+ */
76
+ settledAt: stamp('settled_at'),
70
77
  }, (table) => [
71
78
  primaryKey({ columns: [table.matchId, table.number] }),
72
79
  index('turns_deadline_idx').on(table.status, table.deadlineAt),
80
+ index('turns_settled_idx').on(table.status, table.settledAt),
73
81
  ]);
74
82
  export const turnOrders = pgTable('turn_orders', {
75
83
  matchId: text('match_id')
@@ -113,7 +121,19 @@ export const matchEvents = pgTable('match_events', {
113
121
  type: text('type').notNull(),
114
122
  payload: jsonb('payload').notNull(),
115
123
  createdAt: stamp('created_at').notNull(),
116
- }, (table) => [primaryKey({ columns: [table.matchId, table.seq] })]);
124
+ /**
125
+ * Set only by `appendOnce`: the fact an announcement stands for (`turn.sealed:12`), unique per
126
+ * match, so an announcement that follows a compare-and-swap can be repeated by whoever finds it
127
+ * missing and still be logged once. Null for every other event, and never served to a client.
128
+ */
129
+ dedupeKey: text('dedupe_key'),
130
+ }, (table) => [
131
+ primaryKey({ columns: [table.matchId, table.seq] }),
132
+ // Nulls are distinct in a unique index on both dialects, so only keyed events are constrained.
133
+ uniqueIndex('match_events_dedupe_idx').on(table.matchId, table.dedupeKey),
134
+ // `latestOfType`: the last status announcement of a match, found without walking its log.
135
+ index('match_events_type_idx').on(table.matchId, table.type, table.seq),
136
+ ]);
117
137
  /** See the SQLite schema: one row per open absence prompt of a match. */
118
138
  export const takeoverPrompts = pgTable('takeover_prompts', {
119
139
  matchId: text('match_id')
@@ -122,6 +142,8 @@ export const takeoverPrompts = pgTable('takeover_prompts', {
122
142
  playerId: text('player_id').notNull(),
123
143
  turn: integer('turn').notNull(),
124
144
  openedAt: stamp('opened_at').notNull(),
145
+ /** When its `match.takeoverVoteRequested` was durable; null while the prompt still owes one. */
146
+ announcedAt: stamp('announced_at'),
125
147
  }, (table) => [primaryKey({ columns: [table.matchId, table.playerId] })]);
126
148
  /** The latest choice of each voter on an open prompt; discarded with the prompt. */
127
149
  export const takeoverVotes = pgTable('takeover_votes', {
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/postgres/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/postgres/schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"takeovers.d.ts","sourceRoot":"","sources":["../../src/postgres/takeovers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAGxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAGlD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,gBAAgB,GAAG,kBAAkB,CA8InF"}
1
+ {"version":3,"file":"takeovers.d.ts","sourceRoot":"","sources":["../../src/postgres/takeovers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAGxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAGlD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,gBAAgB,GAAG,kBAAkB,CA2KnF"}
@@ -1,5 +1,5 @@
1
1
  import { ABSENT_HUMAN_STATUSES } from '@chaos-overlords/kernel';
2
- import { and, asc, eq, gte, inArray, notExists, sql } from 'drizzle-orm';
2
+ import { and, asc, eq, gte, inArray, isNull, notExists, sql } from 'drizzle-orm';
3
3
  import { toTakeoverVote } from '../shared/mappers';
4
4
  import * as schema from './schema';
5
5
  /**
@@ -30,6 +30,7 @@ export function postgresTakeoverRepository(db) {
30
30
  playerId: sql `${playerId}`.as('player_id'),
31
31
  turn: sql `${turn}`.as('turn'),
32
32
  openedAt: sql `${openedAt}`.as('opened_at'),
33
+ announcedAt: sql `null::timestamptz`.as('announced_at'),
33
34
  })
34
35
  .from(players)
35
36
  .where(and(eq(players.id, playerId), eq(players.matchId, matchId), inArray(players.status, [...ABSENT_HUMAN_STATUSES])))
@@ -38,6 +39,28 @@ export function postgresTakeoverRepository(db) {
38
39
  .returning({ playerId: takeoverPrompts.playerId });
39
40
  return rows.length === 1;
40
41
  },
42
+ async getPrompt(matchId, playerId) {
43
+ const rows = await db
44
+ .select({
45
+ turn: takeoverPrompts.turn,
46
+ openedAt: takeoverPrompts.openedAt,
47
+ announcedAt: takeoverPrompts.announcedAt,
48
+ })
49
+ .from(takeoverPrompts)
50
+ .where(and(eq(takeoverPrompts.matchId, matchId), eq(takeoverPrompts.playerId, playerId)))
51
+ .limit(1);
52
+ return rows[0] ?? null;
53
+ },
54
+ async markPromptAnnounced(matchId, playerId, openedAt, at) {
55
+ const rows = await db
56
+ .update(takeoverPrompts)
57
+ .set({ announcedAt: at })
58
+ .where(and(eq(takeoverPrompts.matchId, matchId), eq(takeoverPrompts.playerId, playerId),
59
+ // The prompt that was announced, not one reopened for the seat since.
60
+ eq(takeoverPrompts.openedAt, openedAt), isNull(takeoverPrompts.announcedAt)))
61
+ .returning({ playerId: takeoverPrompts.playerId });
62
+ return rows.length === 1;
63
+ },
41
64
  async closePrompt(matchId, playerId) {
42
65
  // Close first so no concurrent vote can be admitted between vote cleanup and prompt removal,
43
66
  // and leave alone the votes of a prompt reopened for the seat between the two statements.
@@ -1 +1 @@
1
- {"version":3,"file":"takeovers.js","sourceRoot":"","sources":["../../src/postgres/takeovers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAA2B,MAAM,yBAAyB,CAAA;AACxF,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAElC;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CAAC,EAAoB;IAC7D,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,MAAM,CAAA;IAC1D,4FAA4F;IAC5F,MAAM,wBAAwB,GAAG,CAAC,OAAe,EAAE,QAAgB,EAAE,EAAE,CACrE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,CAC5B,GAAG,CACD,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,EAClC,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,QAAQ,CAAC,EAC1C,SAAS,CACP,EAAE;SACC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAA,GAAG,EAAE,CAAC;SACvB,IAAI,CAAC,eAAe,CAAC;SACrB,KAAK,CACJ,GAAG,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAClF,CACJ,CACF,CACF,CAAA;IACH,OAAO;QACL,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ;YAChD,yFAAyF;YACzF,gDAAgD;YAChD,MAAM,wBAAwB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YACjD,MAAM,IAAI,GAAG,MAAM,EAAE;iBAClB,MAAM,CAAC,eAAe,CAAC;iBACvB,MAAM,CACL,EAAE;iBACC,MAAM,CAAC;gBACN,OAAO,EAAE,GAAG,CAAA,GAAG,OAAO,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC;gBACvC,QAAQ,EAAE,GAAG,CAAA,GAAG,QAAQ,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC;gBAC1C,IAAI,EAAE,GAAG,CAAA,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC;gBAC7B,QAAQ,EAAE,GAAG,CAAA,GAAG,QAAQ,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC;aAC3C,CAAC;iBACD,IAAI,CAAC,OAAO,CAAC;iBACb,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,EACxB,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,EAC5B,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,qBAAqB,CAAC,CAAC,CACpD,CACF;iBACA,GAAG,CAAC,QAAQ,CAAC,CACjB;iBACA,mBAAmB,EAAE;iBACrB,SAAS,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAA;YACpD,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAA;QAC1B,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,QAAQ;YACjC,6FAA6F;YAC7F,0FAA0F;YAC1F,MAAM,EAAE;iBACL,MAAM,CAAC,eAAe,CAAC;iBACvB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAA;YAC3F,MAAM,wBAAwB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QACnD,CAAC;QACD,KAAK,CAAC,cAAc,CAAC,OAAO;YAC1B,MAAM,IAAI,GAAG,MAAM,EAAE;iBAClB,MAAM,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC;iBAC9C,IAAI,CAAC,eAAe,CAAC;iBACrB,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;iBAC3C,KAAK,CAAC,CAAC,CAAC,CAAA;YACX,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;QACxB,CAAC;QACD,KAAK,CAAC,eAAe,CAAC,OAAO;YAC3B,MAAM,IAAI,GAAG,MAAM,EAAE;iBAClB,MAAM,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC;iBAC9C,IAAI,CAAC,eAAe,CAAC;iBACrB,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;iBAC3C,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAA;YACzC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACxC,CAAC;QACD;;;;;;WAMG;QACH,KAAK,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE;YACzE,MAAM,IAAI,GAAG,MAAM,EAAE;iBAClB,MAAM,CAAC,aAAa,CAAC;iBACrB,MAAM,CACL,EAAE;iBACC,MAAM,CAAC;gBACN,OAAO,EAAE,GAAG,CAAA,GAAG,OAAO,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC;gBACvC,cAAc,EAAE,GAAG,CAAA,GAAG,cAAc,EAAE,CAAC,EAAE,CAAC,kBAAkB,CAAC;gBAC7D,aAAa,EAAE,GAAG,CAAA,GAAG,aAAa,EAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC;gBAC1D,QAAQ,EAAE,GAAG,CAAA,GAAG,QAAQ,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC;gBACzC,MAAM,EAAE,GAAG,CAAA,YAAY,MAAM,kBAAkB,eAAe,CAAC,QAAQ,GAAG,CAAC,EAAE,CAC3E,SAAS,CACV;aACF,CAAC;iBACD,IAAI,CAAC,eAAe,CAAC;iBACrB,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,EACpC,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,cAAc,CAAC,CAC7C,CACF;gBACD,sFAAsF;gBACtF,qFAAqF;iBACpF,GAAG,CAAC,OAAO,CAAC,CAChB;iBACA,kBAAkB,CAAC;gBAClB,MAAM,EAAE;oBACN,aAAa,CAAC,OAAO;oBACrB,aAAa,CAAC,cAAc;oBAC5B,aAAa,CAAC,aAAa;iBAC5B;gBACD,GAAG,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAA,kBAAkB,EAAE;aACjD,CAAC;iBACD,SAAS,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,aAAa,EAAE,CAAC,CAAA;YAC5D,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAA;QAC1B,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,cAAc;YACrC,MAAM,IAAI,GAAG,MAAM,EAAE;iBAClB,MAAM,CAAC;gBACN,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,cAAc,EAAE,aAAa,CAAC,cAAc;gBAC5C,aAAa,EAAE,aAAa,CAAC,aAAa;gBAC1C,QAAQ,EAAE,aAAa,CAAC,QAAQ;gBAChC,MAAM,EAAE,aAAa,CAAC,MAAM;aAC7B,CAAC;iBACD,IAAI,CAAC,aAAa,CAAC;iBACnB,SAAS,CACR,eAAe,EACf,GAAG,CACD,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,EAClD,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,aAAa,CAAC,cAAc,CAAC,CAC3D,CACF;iBACA,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,EAClC,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,cAAc,CAAC,EAChD,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,CACpD,CACF;iBACA,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAA;YAC5C,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QACjC,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"takeovers.js","sourceRoot":"","sources":["../../src/postgres/takeovers.ts"],"names":[],"mappings":"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"}
@@ -13,12 +13,18 @@ export declare function insertUnlessTaken(write: () => Promise<unknown>): Promis
13
13
  * of full jitter, growing with the attempt, breaks the convoy for the cost of a timer.
14
14
  */
15
15
  export declare function appendBackoff(attempt: number): Promise<void>;
16
+ /**
17
+ * What a keyed insert resolves to when its key was already logged and it wrote nothing: a value no
18
+ * sequence number can take, handed straight back by `appendWithRetry`.
19
+ */
20
+ export declare const DUPLICATE = -1;
16
21
  /**
17
22
  * Runs an event insert until it claims a sequence number, and returns the number it claimed.
18
23
  *
19
- * `insert` is the dialect's own statement and resolves to the `seq` of the row it wrote. A
20
- * unique-constraint refusal means another appender took the number first, so the insert is run
21
- * again after `appendBackoff`, up to `APPEND_ATTEMPTS` times. Any other error is rethrown as it is.
24
+ * `insert` is the dialect's own statement and resolves to the `seq` of the row it wrote, or to
25
+ * `DUPLICATE` when a keyed insert found its key taken. A unique-constraint refusal means another
26
+ * appender took the number first, so the insert is run again after `appendBackoff`, up to
27
+ * `APPEND_ATTEMPTS` times. Any other error is rethrown as it is.
22
28
  */
23
29
  export declare function appendWithRetry(matchId: string, insert: () => Promise<number | undefined>): Promise<number>;
24
30
  //# sourceMappingURL=constraints.d.ts.map