@chaos-overlords/storage 0.9.6 → 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 (41) 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 +44 -5
  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 +1 -0
  21. package/dist/shared/mappers.d.ts.map +1 -1
  22. package/dist/shared/mappers.js.map +1 -1
  23. package/dist/sqlite/events.d.ts.map +1 -1
  24. package/dist/sqlite/events.js +34 -1
  25. package/dist/sqlite/events.js.map +1 -1
  26. package/dist/sqlite/repositories.js +46 -6
  27. package/dist/sqlite/repositories.js.map +1 -1
  28. package/dist/sqlite/schema.d.ts +53 -0
  29. package/dist/sqlite/schema.d.ts.map +1 -1
  30. package/dist/sqlite/schema.js +24 -2
  31. package/dist/sqlite/schema.js.map +1 -1
  32. package/dist/sqlite/takeovers.d.ts.map +1 -1
  33. package/dist/sqlite/takeovers.js +24 -1
  34. package/dist/sqlite/takeovers.js.map +1 -1
  35. package/migrations/postgres/0006_stiff_newton_destine.sql +22 -0
  36. package/migrations/postgres/meta/0006_snapshot.json +942 -0
  37. package/migrations/postgres/meta/_journal.json +7 -0
  38. package/migrations/sqlite/0006_flawless_bedlam.sql +22 -0
  39. package/migrations/sqlite/meta/0006_snapshot.json +891 -0
  40. package/migrations/sqlite/meta/_journal.json +7 -0
  41. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"takeovers.js","sourceRoot":"","sources":["../../src/sqlite/takeovers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"takeovers.js","sourceRoot":"","sources":["../../src/sqlite/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,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,KAAK,MAAM,MAAM,UAAU,CAAA;AAElC;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAC,EAAkB;IACzD,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,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC;gBACpD,WAAW,EAAE,GAAG,CAAA,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC;aAC1C,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,CACJ;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,SAAS,CAAC,OAAO,EAAE,QAAQ;YAC/B,MAAM,IAAI,GAAG,MAAM,EAAE;iBAClB,MAAM,CAAC;gBACN,IAAI,EAAE,eAAe,CAAC,IAAI;gBAC1B,QAAQ,EAAE,eAAe,CAAC,QAAQ;gBAClC,WAAW,EAAE,eAAe,CAAC,WAAW;aACzC,CAAC;iBACD,IAAI,CAAC,eAAe,CAAC;iBACrB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;iBACxF,KAAK,CAAC,CAAC,CAAC,CAAA;YACX,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;QACxB,CAAC;QACD,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;YACvD,MAAM,IAAI,GAAG,MAAM,EAAE;iBAClB,MAAM,CAAC,eAAe,CAAC;iBACvB,GAAG,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;iBACxB,KAAK,CACJ,GAAG,CACD,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,EACpC,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC;YACtC,sEAAsE;YACtE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACtC,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CACpC,CACF;iBACA,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,OAAO,MAAM,CAAC,OAAO,EAAE,KAAK,eAAe,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC;aACjF,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,CACJ;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"}
@@ -0,0 +1,22 @@
1
+ ALTER TABLE "match_events" ADD COLUMN "dedupe_key" text;--> statement-breakpoint
2
+ ALTER TABLE "takeover_prompts" ADD COLUMN "announced_at" timestamp with time zone;--> statement-breakpoint
3
+ ALTER TABLE "turns" ADD COLUMN "settled_at" timestamp with time zone;--> statement-breakpoint
4
+ CREATE UNIQUE INDEX "match_events_dedupe_idx" ON "match_events" USING btree ("match_id","dedupe_key");--> statement-breakpoint
5
+ CREATE INDEX "match_events_type_idx" ON "match_events" USING btree ("match_id","type","seq");--> statement-breakpoint
6
+ CREATE INDEX "turns_settled_idx" ON "turns" USING btree ("status","settled_at");--> statement-breakpoint
7
+ -- Backfill: an announcement logged before this column existed carries no key, so the first repeat
8
+ -- of it after the upgrade (the sweep finishing a seal whose successor never opened, say) would find
9
+ -- nothing under its key and log it a second time. The earliest event of each fact takes the key its
10
+ -- announcement is now published under; a fact the old code logged twice keeps its later copy unkeyed.
11
+ UPDATE "match_events" SET "dedupe_key" = 'turn.sealed:' || ("payload"->>'turn') WHERE "dedupe_key" IS NULL AND "type" = 'turn.sealed' AND "seq" = (SELECT min(e."seq") FROM "match_events" e WHERE e."match_id" = "match_events"."match_id" AND e."type" = 'turn.sealed' AND (e."payload"->>'turn') = ("match_events"."payload"->>'turn'));--> statement-breakpoint
12
+ UPDATE "match_events" SET "dedupe_key" = 'turn.confirmed:' || ("payload"->>'turn') WHERE "dedupe_key" IS NULL AND "type" = 'turn.confirmed' AND "seq" = (SELECT min(e."seq") FROM "match_events" e WHERE e."match_id" = "match_events"."match_id" AND e."type" = 'turn.confirmed' AND (e."payload"->>'turn') = ("match_events"."payload"->>'turn'));--> statement-breakpoint
13
+ UPDATE "match_events" SET "dedupe_key" = 'turn.desynced:' || ("payload"->>'turn') WHERE "dedupe_key" IS NULL AND "type" = 'turn.desynced' AND "seq" = (SELECT min(e."seq") FROM "match_events" e WHERE e."match_id" = "match_events"."match_id" AND e."type" = 'turn.desynced' AND (e."payload"->>'turn') = ("match_events"."payload"->>'turn'));--> statement-breakpoint
14
+ UPDATE "match_events" SET "dedupe_key" = 'match.statusChanged:finished' WHERE "dedupe_key" IS NULL AND "type" = 'match.statusChanged' AND "payload"->>'status' = 'finished' AND "seq" = (SELECT min(e."seq") FROM "match_events" e WHERE e."match_id" = "match_events"."match_id" AND e."type" = 'match.statusChanged' AND e."payload"->>'status' = 'finished');--> statement-breakpoint
15
+ -- Backfill: a prompt opened before this column existed was announced by the call that opened it.
16
+ -- Without a stamp it would read as still owing its announcement, and the next call to ask about
17
+ -- the seat would publish `match.takeoverVoteRequested` a second time.
18
+ UPDATE "takeover_prompts" SET "announced_at" = "opened_at" WHERE "announced_at" IS NULL;--> statement-breakpoint
19
+ -- Backfill: a turn confirmed before this column existed had its follow-ups run by the verdict that
20
+ -- confirmed it. Without a stamp every one of them would be handed to the sweep as a verdict cut
21
+ -- short, and `turn.confirmed` would be logged again for the whole history of every live match.
22
+ UPDATE "turns" SET "settled_at" = coalesce("sealed_at", now()) WHERE "status" = 'confirmed' AND "settled_at" IS NULL;