feat(dashboard): refine activity telemetry and maps
CI / validate (push) Successful in 5m24s
Release / release (push) Successful in 11m6s

This commit is contained in:
dmg
2026-08-01 20:28:32 -04:00
parent 9116107917
commit ebc7c7df17
32 changed files with 695 additions and 72 deletions
+10
View File
@@ -33,6 +33,16 @@ export const velocityAccessRequestSchema = z.object({
export type VelocityAccessRequest = z.infer<typeof velocityAccessRequestSchema>;
export const velocityConnectionRequestSchema = z.object({
requestId: z.uuid(),
serverId: z.string().min(1).max(100),
minecraftUuid: minecraftUuidSchema,
username: minecraftUsernameSchema,
occurredAt: isoDateTimeSchema,
});
export type VelocityConnectionRequest = z.infer<typeof velocityConnectionRequestSchema>;
export const velocityAccessResponseSchema = z.discriminatedUnion("allowed", [
z.object({
allowed: z.literal(true),
+14
View File
@@ -3,6 +3,7 @@ import {
cloudEventSchema,
velocityAccessRequestSchema,
velocityAccessResponseSchema,
velocityConnectionRequestSchema,
} from "../src/index";
describe("shared service contracts", () => {
@@ -37,6 +38,19 @@ describe("shared service contracts", () => {
).toThrow();
});
it("validates a confirmed Velocity connection report", () => {
const request = velocityConnectionRequestSchema.parse({
requestId: "8dd9dbdc-020a-4077-983c-77747522de8f",
serverId: "velocity-main",
minecraftUuid: "069a79f444e94726a5befca90e38aaf5",
username: "Notch",
occurredAt: "2026-03-06T12:00:01.000Z",
});
expect(request.username).toBe("Notch");
expect(() => velocityConnectionRequestSchema.parse({ ...request, username: "bad name" })).toThrow();
});
it("only returns explicit allow or deny decisions to Velocity", () => {
expect(
velocityAccessResponseSchema.parse({