@kk-garden/shared 1.4.7 → 1.4.9

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 (103) hide show
  1. package/dist/constants/index.d.ts +1 -0
  2. package/dist/constants/index.d.ts.map +1 -1
  3. package/dist/constants/index.js +1 -0
  4. package/dist/constants/index.js.map +1 -1
  5. package/dist/constants/profile-palette.d.ts +11 -0
  6. package/dist/constants/profile-palette.d.ts.map +1 -0
  7. package/dist/constants/profile-palette.js +67 -0
  8. package/dist/constants/profile-palette.js.map +1 -0
  9. package/dist/schemas/index.d.ts +29 -9
  10. package/dist/schemas/index.d.ts.map +1 -1
  11. package/dist/schemas/index.js +18 -5
  12. package/dist/schemas/index.js.map +1 -1
  13. package/dist/schemas/models/avatar-cleanup-job.schema.d.ts +121 -0
  14. package/dist/schemas/models/avatar-cleanup-job.schema.d.ts.map +1 -0
  15. package/dist/schemas/models/avatar-cleanup-job.schema.js +94 -0
  16. package/dist/schemas/models/avatar-cleanup-job.schema.js.map +1 -0
  17. package/dist/schemas/models/avatar-work.schema.d.ts +21 -0
  18. package/dist/schemas/models/avatar-work.schema.d.ts.map +1 -0
  19. package/dist/schemas/models/avatar-work.schema.js +34 -0
  20. package/dist/schemas/models/avatar-work.schema.js.map +1 -0
  21. package/dist/schemas/models/id.schemas.d.ts +2 -0
  22. package/dist/schemas/models/id.schemas.d.ts.map +1 -1
  23. package/dist/schemas/models/id.schemas.js +2 -0
  24. package/dist/schemas/models/id.schemas.js.map +1 -1
  25. package/dist/schemas/models/profile-accent-projection.schema.d.ts +6 -0
  26. package/dist/schemas/models/profile-accent-projection.schema.d.ts.map +1 -0
  27. package/dist/schemas/models/profile-accent-projection.schema.js +9 -0
  28. package/dist/schemas/models/profile-accent-projection.schema.js.map +1 -0
  29. package/dist/schemas/models/profile-avatar-delivery.schema.d.ts +6 -0
  30. package/dist/schemas/models/profile-avatar-delivery.schema.d.ts.map +1 -0
  31. package/dist/schemas/models/profile-avatar-delivery.schema.js +8 -0
  32. package/dist/schemas/models/profile-avatar-delivery.schema.js.map +1 -0
  33. package/dist/schemas/models/profile-avatar-upload-session.schema.d.ts +116 -0
  34. package/dist/schemas/models/profile-avatar-upload-session.schema.d.ts.map +1 -0
  35. package/dist/schemas/models/profile-avatar-upload-session.schema.js +116 -0
  36. package/dist/schemas/models/profile-avatar-upload-session.schema.js.map +1 -0
  37. package/dist/schemas/models/profile.schema.d.ts +13 -0
  38. package/dist/schemas/models/profile.schema.d.ts.map +1 -0
  39. package/dist/schemas/models/profile.schema.js +47 -0
  40. package/dist/schemas/models/profile.schema.js.map +1 -0
  41. package/dist/schemas/routes/assign/assign-cancel.schema.d.ts +11 -0
  42. package/dist/schemas/routes/assign/assign-cancel.schema.d.ts.map +1 -0
  43. package/dist/schemas/routes/assign/assign-cancel.schema.js +9 -0
  44. package/dist/schemas/routes/assign/assign-cancel.schema.js.map +1 -0
  45. package/dist/schemas/routes/assign/assign-root.schema.d.ts +13 -0
  46. package/dist/schemas/routes/assign/assign-root.schema.d.ts.map +1 -0
  47. package/dist/schemas/routes/assign/assign-root.schema.js +11 -0
  48. package/dist/schemas/routes/assign/assign-root.schema.js.map +1 -0
  49. package/dist/schemas/routes/generate/generate-root.schema.d.ts +137 -0
  50. package/dist/schemas/routes/generate/generate-root.schema.d.ts.map +1 -0
  51. package/dist/schemas/routes/generate/generate-root.schema.js +16 -0
  52. package/dist/schemas/routes/generate/generate-root.schema.js.map +1 -0
  53. package/dist/schemas/routes/profile/profile-avatar-delete.schema.d.ts +7 -0
  54. package/dist/schemas/routes/profile/profile-avatar-delete.schema.d.ts.map +1 -0
  55. package/dist/schemas/routes/profile/profile-avatar-delete.schema.js +7 -0
  56. package/dist/schemas/routes/profile/profile-avatar-delete.schema.js.map +1 -0
  57. package/dist/schemas/routes/profile/profile-avatar-finalize.schema.d.ts +14 -0
  58. package/dist/schemas/routes/profile/profile-avatar-finalize.schema.d.ts.map +1 -0
  59. package/dist/schemas/routes/profile/profile-avatar-finalize.schema.js +14 -0
  60. package/dist/schemas/routes/profile/profile-avatar-finalize.schema.js.map +1 -0
  61. package/dist/schemas/routes/profile/profile-avatar-upload.schema.d.ts +18 -0
  62. package/dist/schemas/routes/profile/profile-avatar-upload.schema.d.ts.map +1 -0
  63. package/dist/schemas/routes/profile/profile-avatar-upload.schema.js +16 -0
  64. package/dist/schemas/routes/profile/profile-avatar-upload.schema.js.map +1 -0
  65. package/dist/schemas/routes/profile/profile-garden-view.schema.d.ts +16 -0
  66. package/dist/schemas/routes/profile/profile-garden-view.schema.d.ts.map +1 -0
  67. package/dist/schemas/routes/profile/profile-garden-view.schema.js +13 -0
  68. package/dist/schemas/routes/profile/profile-garden-view.schema.js.map +1 -0
  69. package/dist/schemas/routes/profile/profile-get.schema.d.ts +24 -0
  70. package/dist/schemas/routes/profile/profile-get.schema.d.ts.map +1 -0
  71. package/dist/schemas/routes/profile/profile-get.schema.js +23 -0
  72. package/dist/schemas/routes/profile/profile-get.schema.js.map +1 -0
  73. package/dist/schemas/routes/profile/profile-lookup-card.schema.d.ts +11 -0
  74. package/dist/schemas/routes/profile/profile-lookup-card.schema.d.ts.map +1 -0
  75. package/dist/schemas/routes/profile/profile-lookup-card.schema.js +10 -0
  76. package/dist/schemas/routes/profile/profile-lookup-card.schema.js.map +1 -0
  77. package/dist/schemas/routes/profile/profile-update.schema.d.ts +30 -0
  78. package/dist/schemas/routes/profile/profile-update.schema.d.ts.map +1 -0
  79. package/dist/schemas/routes/profile/profile-update.schema.js +15 -0
  80. package/dist/schemas/routes/profile/profile-update.schema.js.map +1 -0
  81. package/dist/schemas/routes/verify/verify-root.schema.d.ts +69 -0
  82. package/dist/schemas/routes/verify/verify-root.schema.d.ts.map +1 -0
  83. package/dist/schemas/routes/verify/verify-root.schema.js +11 -0
  84. package/dist/schemas/routes/verify/verify-root.schema.js.map +1 -0
  85. package/dist/types/avatar-work.types.d.ts +11 -0
  86. package/dist/types/avatar-work.types.d.ts.map +1 -0
  87. package/dist/types/avatar-work.types.js +2 -0
  88. package/dist/types/avatar-work.types.js.map +1 -0
  89. package/dist/types/common.types.d.ts +1 -1
  90. package/dist/types/common.types.d.ts.map +1 -1
  91. package/dist/types/common.types.js.map +1 -1
  92. package/dist/types/id.types.d.ts +10 -8
  93. package/dist/types/id.types.d.ts.map +1 -1
  94. package/dist/types/id.types.js +1 -1
  95. package/dist/types/id.types.js.map +1 -1
  96. package/dist/types/index.d.ts +3 -1
  97. package/dist/types/index.d.ts.map +1 -1
  98. package/dist/types/index.js.map +1 -1
  99. package/dist/types/profile.types.d.ts +4 -0
  100. package/dist/types/profile.types.d.ts.map +1 -0
  101. package/dist/types/profile.types.js +2 -0
  102. package/dist/types/profile.types.js.map +1 -0
  103. package/package.json +1 -1
@@ -2,4 +2,5 @@ export { DecorationConstants, type DecorationWeights, type DecorationMetrics, }
2
2
  export { GridConstants } from './grid-constants.js';
3
3
  export { ObjectConstants, type ObjectWeights, type ObjectMetrics, } from './object-constants.js';
4
4
  export { PathConstants, type PathWeights, type PathMetrics, } from './path-constants.js';
5
+ export { createProfilePalette, DEFAULT_PROFILE_ACCENT_HEX, type ProfilePalette, } from './profile-palette.js';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,aAAa,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,WAAW,GACjB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,eAAe,EACf,KAAK,aAAa,EAClB,KAAK,aAAa,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,WAAW,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,KAAK,cAAc,GACpB,MAAM,sBAAsB,CAAC"}
@@ -2,4 +2,5 @@ export { DecorationConstants, } from './decoration-constants.js';
2
2
  export { GridConstants } from './grid-constants.js';
3
3
  export { ObjectConstants, } from './object-constants.js';
4
4
  export { PathConstants, } from './path-constants.js';
5
+ export { createProfilePalette, DEFAULT_PROFILE_ACCENT_HEX, } from './profile-palette.js';
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,GAGpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,eAAe,GAGhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,aAAa,GAGd,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,GAGpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,eAAe,GAGhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,aAAa,GAGd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,0BAA0B,GAE3B,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,11 @@
1
+ export interface ProfilePalette {
2
+ accent: string;
3
+ onAccent: string;
4
+ accentText: string;
5
+ accentBorder: string;
6
+ surface: string;
7
+ onSurface: string;
8
+ }
9
+ export declare const DEFAULT_PROFILE_ACCENT_HEX = "#6b9b75";
10
+ export declare const createProfilePalette: (accentHex?: string) => ProfilePalette;
11
+ //# sourceMappingURL=profile-palette.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-palette.d.ts","sourceRoot":"","sources":["../../src/constants/profile-palette.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,0BAA0B,YAAY,CAAC;AAEpD,eAAO,MAAM,oBAAoB,GAC/B,YAAW,MAAmC,KAC7C,cAeF,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { ProfileAccentHexSchema } from '../schemas/models/profile.schema.js';
2
+ const SURFACE = '#ffffff';
3
+ const ON_SURFACE = '#202020';
4
+ const BLACK = '#000000';
5
+ const WHITE = '#ffffff';
6
+ const NORMAL_TEXT_CONTRAST = 4.5;
7
+ const UI_BOUNDARY_CONTRAST = 3;
8
+ export const DEFAULT_PROFILE_ACCENT_HEX = '#6b9b75';
9
+ export const createProfilePalette = (accentHex = DEFAULT_PROFILE_ACCENT_HEX) => {
10
+ const accent = ProfileAccentHexSchema.parse(accentHex);
11
+ const onAccent = contrastRatio(BLACK, accent) >= contrastRatio(WHITE, accent)
12
+ ? BLACK
13
+ : WHITE;
14
+ return {
15
+ accent,
16
+ onAccent,
17
+ accentText: deriveForeground(accent, NORMAL_TEXT_CONTRAST),
18
+ accentBorder: deriveForeground(accent, UI_BOUNDARY_CONTRAST),
19
+ surface: SURFACE,
20
+ onSurface: ON_SURFACE,
21
+ };
22
+ };
23
+ const deriveForeground = (accent, minimumContrast) => {
24
+ if (contrastRatio(accent, SURFACE) >= minimumContrast) {
25
+ return accent;
26
+ }
27
+ let lightestPassingAmount = 1;
28
+ let darkestFailingAmount = 0;
29
+ for (let iteration = 0; iteration < 24; iteration += 1) {
30
+ const amount = (lightestPassingAmount + darkestFailingAmount) / 2;
31
+ const candidate = blendTowardBlack(accent, amount);
32
+ if (contrastRatio(candidate, SURFACE) >= minimumContrast) {
33
+ lightestPassingAmount = amount;
34
+ }
35
+ else {
36
+ darkestFailingAmount = amount;
37
+ }
38
+ }
39
+ return blendTowardBlack(accent, lightestPassingAmount);
40
+ };
41
+ const blendTowardBlack = (hex, amount) => {
42
+ const rgb = hexToRgb(hex);
43
+ const channels = rgb.map((channel) => Math.round(channel * (1 - amount)));
44
+ return `#${channels.map((channel) => channel.toString(16).padStart(2, '0')).join('')}`;
45
+ };
46
+ const contrastRatio = (first, second) => {
47
+ const firstLuminance = relativeLuminance(hexToRgb(first));
48
+ const secondLuminance = relativeLuminance(hexToRgb(second));
49
+ const lighter = Math.max(firstLuminance, secondLuminance);
50
+ const darker = Math.min(firstLuminance, secondLuminance);
51
+ return (lighter + 0.05) / (darker + 0.05);
52
+ };
53
+ const relativeLuminance = ([red, green, blue]) => {
54
+ const linearize = (channel) => {
55
+ const srgb = channel / 255;
56
+ return srgb <= 0.04045 ? srgb / 12.92 : ((srgb + 0.055) / 1.055) ** 2.4;
57
+ };
58
+ return (0.2126 * linearize(red) +
59
+ 0.7152 * linearize(green) +
60
+ 0.0722 * linearize(blue));
61
+ };
62
+ const hexToRgb = (hex) => [
63
+ Number.parseInt(hex.slice(1, 3), 16),
64
+ Number.parseInt(hex.slice(3, 5), 16),
65
+ Number.parseInt(hex.slice(5, 7), 16),
66
+ ];
67
+ //# sourceMappingURL=profile-palette.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-palette.js","sourceRoot":"","sources":["../../src/constants/profile-palette.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export { GridDrawerElementIdSchema, SignatureIdSchema, VisualisationIdSchema, VisualisationPendingIdSchema, UserIdSchema, OwnershipIdSchema, } from './models/id.schemas.js';
1
+ export { GridDrawerElementIdSchema, SignatureIdSchema, VisualisationIdSchema, VisualisationPendingIdSchema, UserIdSchema, OwnershipIdSchema, ProfileAvatarUploadIdSchema, AvatarCleanupJobIdSchema, } from './models/id.schemas.js';
2
2
  export { ErrorSchema } from './errors/error.schema.js';
3
3
  export { AnimatedSpriteDtoSchema } from './models/animated-sprite-dto.schema.js';
4
4
  export { CoordinatesSchema, SizeMeasuresSchema, CellSchema, addId, addMongoId, } from './models/common.schemas.js';
@@ -16,18 +16,38 @@ export { VisualisationPendingDtoSchema } from './models/visualisation-pending-dt
16
16
  export { UserSchema } from './models/user.schema.js';
17
17
  export { UserRoleSchema } from './models/user-role.schema.js';
18
18
  export { UserStatusSchema } from './models/user-status.schema.js';
19
+ export { ProfileSchema, ProfileDisplayNameSchema, ProfileBioSchema, ProfileAccentHexSchema, ProfileAvatarObjectKeySchema, } from './models/profile.schema.js';
20
+ export { ProfileAccentProjectionSchema } from './models/profile-accent-projection.schema.js';
21
+ export { ProfileAvatarDeliverySchema } from './models/profile-avatar-delivery.schema.js';
22
+ export { AvatarWorkTimestampSchema, AvatarStagingObjectKeySchema, AvatarFinalObjectKeySchema, AvatarWorkClaimSchema, AvatarWorkFailureSchema, } from './models/avatar-work.schema.js';
23
+ export { ProfileAvatarUploadResultSchema, ProfileAvatarUploadSessionSchema, } from './models/profile-avatar-upload-session.schema.js';
24
+ export { AvatarCleanupTargetSchema, AvatarCleanupJobSchema, } from './models/avatar-cleanup-job.schema.js';
19
25
  export { SignatureSchema } from './models/signature.schema.js';
20
26
  export { OwnershipSchema } from './models/ownership.schema.js';
27
+ export { ProfileOwnerResponseSchema } from './routes/profile/profile-get.schema.js';
28
+ export type { ProfileOwnerResponse } from './routes/profile/profile-get.schema.js';
29
+ export { ProfileUpdateRequestSchema, ProfileUpdateResponseSchema, } from './routes/profile/profile-update.schema.js';
30
+ export type { ProfileUpdateRequest, ProfileUpdateResponse, } from './routes/profile/profile-update.schema.js';
31
+ export { ProfileLookupCardResponseSchema } from './routes/profile/profile-lookup-card.schema.js';
32
+ export type { ProfileLookupCardResponse } from './routes/profile/profile-lookup-card.schema.js';
33
+ export { GardenProfileResponseSchema } from './routes/profile/profile-garden-view.schema.js';
34
+ export type { GardenProfileResponse } from './routes/profile/profile-garden-view.schema.js';
35
+ export { ProfileAvatarUploadRequestSchema, ProfileAvatarUploadResponseSchema, } from './routes/profile/profile-avatar-upload.schema.js';
36
+ export type { ProfileAvatarUploadRequest, ProfileAvatarUploadResponse, } from './routes/profile/profile-avatar-upload.schema.js';
37
+ export { ProfileAvatarFinalizeRequestSchema, ProfileAvatarFinalizeResponseSchema, } from './routes/profile/profile-avatar-finalize.schema.js';
38
+ export type { ProfileAvatarFinalizeRequest, ProfileAvatarFinalizeResponse, } from './routes/profile/profile-avatar-finalize.schema.js';
39
+ export { ProfileAvatarDeleteResponseSchema } from './routes/profile/profile-avatar-delete.schema.js';
40
+ export type { ProfileAvatarDeleteResponse } from './routes/profile/profile-avatar-delete.schema.js';
21
41
  export { OwnershipVerificationPointSchema } from './models/ownership-verification-point.schema.js';
22
42
  export type { OwnershipVerificationPoint } from './models/ownership-verification-point.schema.js';
23
43
  export { OwnershipVerificationResultSchema } from './models/ownership-verification-result.schema.js';
24
44
  export type { OwnershipVerificationResult } from './models/ownership-verification-result.schema.js';
25
- export { GenerateRootResponseSchema, GenerateRootQueryStringSchema, } from './routes/generate-root.schema.js';
26
- export type { GenerateRootResponse, GenerateRootQueryString, } from './routes/generate-root.schema.js';
27
- export { AssignRootResponseSchema, AssignRootRequestSchema, } from './routes/assign-root.schema.js';
28
- export type { AssignRootResponse, AssignRootRequest, } from './routes/assign-root.schema.js';
29
- export { AssignCancelResponseSchema, AssignCancelRequestSchema, } from './routes/assign-cancel.schema.js';
30
- export type { AssignCancelResponse, AssignCancelRequest, } from './routes/assign-cancel.schema.js';
31
- export { VerifyRootResponseSchema, VerifyRootRequestSchema, } from './routes/verify-root.schema.js';
32
- export type { VerifyRootResponse, VerifyRootRequest, } from './routes/verify-root.schema.js';
45
+ export { GenerateRootResponseSchema, GenerateRootQueryStringSchema, } from './routes/generate/generate-root.schema.js';
46
+ export type { GenerateRootResponse, GenerateRootQueryString, } from './routes/generate/generate-root.schema.js';
47
+ export { AssignRootResponseSchema, AssignRootRequestSchema, } from './routes/assign/assign-root.schema.js';
48
+ export type { AssignRootResponse, AssignRootRequest, } from './routes/assign/assign-root.schema.js';
49
+ export { AssignCancelResponseSchema, AssignCancelRequestSchema, } from './routes/assign/assign-cancel.schema.js';
50
+ export type { AssignCancelResponse, AssignCancelRequest, } from './routes/assign/assign-cancel.schema.js';
51
+ export { VerifyRootResponseSchema, VerifyRootRequestSchema, } from './routes/verify/verify-root.schema.js';
52
+ export type { VerifyRootResponse, VerifyRootRequest, } from './routes/verify/verify-root.schema.js';
33
53
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,qBAAqB,EACrB,4BAA4B,EAC5B,YAAY,EACZ,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,KAAK,EACL,UAAU,GACX,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,GACxB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAG/D,OAAO,EAAE,gCAAgC,EAAE,MAAM,iDAAiD,CAAC;AACnG,YAAY,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAClG,OAAO,EAAE,iCAAiC,EAAE,MAAM,kDAAkD,CAAC;AACrG,YAAY,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAGpG,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  // model exports
2
- export { GridDrawerElementIdSchema, SignatureIdSchema, VisualisationIdSchema, VisualisationPendingIdSchema, UserIdSchema, OwnershipIdSchema, } from './models/id.schemas.js';
2
+ export { GridDrawerElementIdSchema, SignatureIdSchema, VisualisationIdSchema, VisualisationPendingIdSchema, UserIdSchema, OwnershipIdSchema, ProfileAvatarUploadIdSchema, AvatarCleanupJobIdSchema, } from './models/id.schemas.js';
3
3
  export { ErrorSchema } from './errors/error.schema.js';
4
4
  export { AnimatedSpriteDtoSchema } from './models/animated-sprite-dto.schema.js';
5
5
  export { CoordinatesSchema, SizeMeasuresSchema, CellSchema, addId, addMongoId, } from './models/common.schemas.js';
@@ -17,14 +17,27 @@ export { VisualisationPendingDtoSchema } from './models/visualisation-pending-dt
17
17
  export { UserSchema } from './models/user.schema.js';
18
18
  export { UserRoleSchema } from './models/user-role.schema.js';
19
19
  export { UserStatusSchema } from './models/user-status.schema.js';
20
+ export { ProfileSchema, ProfileDisplayNameSchema, ProfileBioSchema, ProfileAccentHexSchema, ProfileAvatarObjectKeySchema, } from './models/profile.schema.js';
21
+ export { ProfileAccentProjectionSchema } from './models/profile-accent-projection.schema.js';
22
+ export { ProfileAvatarDeliverySchema } from './models/profile-avatar-delivery.schema.js';
23
+ export { AvatarWorkTimestampSchema, AvatarStagingObjectKeySchema, AvatarFinalObjectKeySchema, AvatarWorkClaimSchema, AvatarWorkFailureSchema, } from './models/avatar-work.schema.js';
24
+ export { ProfileAvatarUploadResultSchema, ProfileAvatarUploadSessionSchema, } from './models/profile-avatar-upload-session.schema.js';
25
+ export { AvatarCleanupTargetSchema, AvatarCleanupJobSchema, } from './models/avatar-cleanup-job.schema.js';
20
26
  export { SignatureSchema } from './models/signature.schema.js';
21
27
  export { OwnershipSchema } from './models/ownership.schema.js';
28
+ export { ProfileOwnerResponseSchema } from './routes/profile/profile-get.schema.js';
29
+ export { ProfileUpdateRequestSchema, ProfileUpdateResponseSchema, } from './routes/profile/profile-update.schema.js';
30
+ export { ProfileLookupCardResponseSchema } from './routes/profile/profile-lookup-card.schema.js';
31
+ export { GardenProfileResponseSchema } from './routes/profile/profile-garden-view.schema.js';
32
+ export { ProfileAvatarUploadRequestSchema, ProfileAvatarUploadResponseSchema, } from './routes/profile/profile-avatar-upload.schema.js';
33
+ export { ProfileAvatarFinalizeRequestSchema, ProfileAvatarFinalizeResponseSchema, } from './routes/profile/profile-avatar-finalize.schema.js';
34
+ export { ProfileAvatarDeleteResponseSchema } from './routes/profile/profile-avatar-delete.schema.js';
22
35
  // verification schemas
23
36
  export { OwnershipVerificationPointSchema } from './models/ownership-verification-point.schema.js';
24
37
  export { OwnershipVerificationResultSchema } from './models/ownership-verification-result.schema.js';
25
38
  // route exports
26
- export { GenerateRootResponseSchema, GenerateRootQueryStringSchema, } from './routes/generate-root.schema.js';
27
- export { AssignRootResponseSchema, AssignRootRequestSchema, } from './routes/assign-root.schema.js';
28
- export { AssignCancelResponseSchema, AssignCancelRequestSchema, } from './routes/assign-cancel.schema.js';
29
- export { VerifyRootResponseSchema, VerifyRootRequestSchema, } from './routes/verify-root.schema.js';
39
+ export { GenerateRootResponseSchema, GenerateRootQueryStringSchema, } from './routes/generate/generate-root.schema.js';
40
+ export { AssignRootResponseSchema, AssignRootRequestSchema, } from './routes/assign/assign-root.schema.js';
41
+ export { AssignCancelResponseSchema, AssignCancelRequestSchema, } from './routes/assign/assign-cancel.schema.js';
42
+ export { VerifyRootResponseSchema, VerifyRootRequestSchema, } from './routes/verify/verify-root.schema.js';
30
43
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,qBAAqB,EACrB,4BAA4B,EAC5B,YAAY,EACZ,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,KAAK,EACL,UAAU,GACX,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,GACxB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,uBAAuB;AACvB,OAAO,EAAE,gCAAgC,EAAE,MAAM,iDAAiD,CAAC;AAEnG,OAAO,EAAE,iCAAiC,EAAE,MAAM,kDAAkD,CAAC;AAGrG,gBAAgB;AAChB,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,kCAAkC,CAAC;AAM1C,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AAMxC,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,kCAAkC,CAAC;AAM1C,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ import { z } from 'zod';
2
+ export declare const AvatarCleanupTargetSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
3
+ kind: z.ZodLiteral<"staging">;
4
+ objectKey: z.ZodString;
5
+ uploadId: z.ZodString;
6
+ }, z.core.$strict>, z.ZodObject<{
7
+ kind: z.ZodLiteral<"candidate">;
8
+ objectKey: z.ZodString;
9
+ uploadId: z.ZodString;
10
+ }, z.core.$strict>, z.ZodObject<{
11
+ kind: z.ZodLiteral<"displaced-avatar">;
12
+ objectKey: z.ZodString;
13
+ }, z.core.$strict>], "kind">;
14
+ export declare const AvatarCleanupJobSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
15
+ state: z.ZodLiteral<"pending">;
16
+ attempts: z.ZodNumber;
17
+ nextAttemptAt: z.ZodUnion<[z.ZodISODateTime, z.ZodDate]>;
18
+ lastFailure: z.ZodOptional<z.ZodObject<{
19
+ code: z.ZodEnum<{
20
+ "storage-unavailable": "storage-unavailable";
21
+ "processing-unavailable": "processing-unavailable";
22
+ "source-changed": "source-changed";
23
+ "lease-expired": "lease-expired";
24
+ "database-unavailable": "database-unavailable";
25
+ "object-still-referenced": "object-still-referenced";
26
+ }>;
27
+ occurredAt: z.ZodUnion<[z.ZodISODateTime, z.ZodDate]>;
28
+ }, z.core.$strict>>;
29
+ _id: z.ZodString;
30
+ ownerId: z.ZodString;
31
+ target: z.ZodDiscriminatedUnion<[z.ZodObject<{
32
+ kind: z.ZodLiteral<"staging">;
33
+ objectKey: z.ZodString;
34
+ uploadId: z.ZodString;
35
+ }, z.core.$strict>, z.ZodObject<{
36
+ kind: z.ZodLiteral<"candidate">;
37
+ objectKey: z.ZodString;
38
+ uploadId: z.ZodString;
39
+ }, z.core.$strict>, z.ZodObject<{
40
+ kind: z.ZodLiteral<"displaced-avatar">;
41
+ objectKey: z.ZodString;
42
+ }, z.core.$strict>], "kind">;
43
+ createdAt: z.ZodUnion<[z.ZodISODateTime, z.ZodDate]>;
44
+ updatedAt: z.ZodUnion<[z.ZodISODateTime, z.ZodDate]>;
45
+ }, z.core.$strict>, z.ZodObject<{
46
+ state: z.ZodLiteral<"processing">;
47
+ attempts: z.ZodNumber;
48
+ claim: z.ZodObject<{
49
+ token: z.ZodString;
50
+ claimedAt: z.ZodUnion<[z.ZodISODateTime, z.ZodDate]>;
51
+ leaseExpiresAt: z.ZodUnion<[z.ZodISODateTime, z.ZodDate]>;
52
+ }, z.core.$strict>;
53
+ _id: z.ZodString;
54
+ ownerId: z.ZodString;
55
+ target: z.ZodDiscriminatedUnion<[z.ZodObject<{
56
+ kind: z.ZodLiteral<"staging">;
57
+ objectKey: z.ZodString;
58
+ uploadId: z.ZodString;
59
+ }, z.core.$strict>, z.ZodObject<{
60
+ kind: z.ZodLiteral<"candidate">;
61
+ objectKey: z.ZodString;
62
+ uploadId: z.ZodString;
63
+ }, z.core.$strict>, z.ZodObject<{
64
+ kind: z.ZodLiteral<"displaced-avatar">;
65
+ objectKey: z.ZodString;
66
+ }, z.core.$strict>], "kind">;
67
+ createdAt: z.ZodUnion<[z.ZodISODateTime, z.ZodDate]>;
68
+ updatedAt: z.ZodUnion<[z.ZodISODateTime, z.ZodDate]>;
69
+ }, z.core.$strict>, z.ZodObject<{
70
+ state: z.ZodLiteral<"completed">;
71
+ attempts: z.ZodNumber;
72
+ completedAt: z.ZodUnion<[z.ZodISODateTime, z.ZodDate]>;
73
+ _id: z.ZodString;
74
+ ownerId: z.ZodString;
75
+ target: z.ZodDiscriminatedUnion<[z.ZodObject<{
76
+ kind: z.ZodLiteral<"staging">;
77
+ objectKey: z.ZodString;
78
+ uploadId: z.ZodString;
79
+ }, z.core.$strict>, z.ZodObject<{
80
+ kind: z.ZodLiteral<"candidate">;
81
+ objectKey: z.ZodString;
82
+ uploadId: z.ZodString;
83
+ }, z.core.$strict>, z.ZodObject<{
84
+ kind: z.ZodLiteral<"displaced-avatar">;
85
+ objectKey: z.ZodString;
86
+ }, z.core.$strict>], "kind">;
87
+ createdAt: z.ZodUnion<[z.ZodISODateTime, z.ZodDate]>;
88
+ updatedAt: z.ZodUnion<[z.ZodISODateTime, z.ZodDate]>;
89
+ }, z.core.$strict>, z.ZodObject<{
90
+ state: z.ZodLiteral<"failed">;
91
+ attempts: z.ZodNumber;
92
+ failedAt: z.ZodUnion<[z.ZodISODateTime, z.ZodDate]>;
93
+ lastFailure: z.ZodObject<{
94
+ code: z.ZodEnum<{
95
+ "storage-unavailable": "storage-unavailable";
96
+ "processing-unavailable": "processing-unavailable";
97
+ "source-changed": "source-changed";
98
+ "lease-expired": "lease-expired";
99
+ "database-unavailable": "database-unavailable";
100
+ "object-still-referenced": "object-still-referenced";
101
+ }>;
102
+ occurredAt: z.ZodUnion<[z.ZodISODateTime, z.ZodDate]>;
103
+ }, z.core.$strict>;
104
+ _id: z.ZodString;
105
+ ownerId: z.ZodString;
106
+ target: z.ZodDiscriminatedUnion<[z.ZodObject<{
107
+ kind: z.ZodLiteral<"staging">;
108
+ objectKey: z.ZodString;
109
+ uploadId: z.ZodString;
110
+ }, z.core.$strict>, z.ZodObject<{
111
+ kind: z.ZodLiteral<"candidate">;
112
+ objectKey: z.ZodString;
113
+ uploadId: z.ZodString;
114
+ }, z.core.$strict>, z.ZodObject<{
115
+ kind: z.ZodLiteral<"displaced-avatar">;
116
+ objectKey: z.ZodString;
117
+ }, z.core.$strict>], "kind">;
118
+ createdAt: z.ZodUnion<[z.ZodISODateTime, z.ZodDate]>;
119
+ updatedAt: z.ZodUnion<[z.ZodISODateTime, z.ZodDate]>;
120
+ }, z.core.$strict>], "state">;
121
+ //# sourceMappingURL=avatar-cleanup-job.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar-cleanup-job.schema.d.ts","sourceRoot":"","sources":["../../../src/schemas/models/avatar-cleanup-job.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAcxB,eAAO,MAAM,yBAAyB;;;;;;;;;;;4BAqBpC,CAAC;AAUH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BA6D/B,CAAC"}
@@ -0,0 +1,94 @@
1
+ import { z } from 'zod';
2
+ import { AvatarCleanupJobIdSchema, ProfileAvatarUploadIdSchema, UserIdSchema, } from './id.schemas.js';
3
+ import { AvatarFinalObjectKeySchema, AvatarStagingObjectKeySchema, AvatarWorkClaimSchema, AvatarWorkFailureSchema, AvatarWorkTimestampSchema, } from './avatar-work.schema.js';
4
+ export const AvatarCleanupTargetSchema = z.discriminatedUnion('kind', [
5
+ z
6
+ .object({
7
+ kind: z.literal('staging'),
8
+ objectKey: AvatarStagingObjectKeySchema,
9
+ uploadId: ProfileAvatarUploadIdSchema.min(1),
10
+ })
11
+ .strict(),
12
+ z
13
+ .object({
14
+ kind: z.literal('candidate'),
15
+ objectKey: AvatarFinalObjectKeySchema,
16
+ uploadId: ProfileAvatarUploadIdSchema.min(1),
17
+ })
18
+ .strict(),
19
+ z
20
+ .object({
21
+ kind: z.literal('displaced-avatar'),
22
+ objectKey: AvatarFinalObjectKeySchema,
23
+ })
24
+ .strict(),
25
+ ]);
26
+ const cleanupJobShape = {
27
+ _id: AvatarCleanupJobIdSchema,
28
+ ownerId: UserIdSchema.min(1),
29
+ target: AvatarCleanupTargetSchema,
30
+ createdAt: AvatarWorkTimestampSchema,
31
+ updatedAt: AvatarWorkTimestampSchema,
32
+ };
33
+ export const AvatarCleanupJobSchema = z
34
+ .discriminatedUnion('state', [
35
+ z
36
+ .object({
37
+ ...cleanupJobShape,
38
+ state: z.literal('pending'),
39
+ attempts: z.number().int().nonnegative(),
40
+ nextAttemptAt: AvatarWorkTimestampSchema,
41
+ lastFailure: AvatarWorkFailureSchema.optional(),
42
+ })
43
+ .strict(),
44
+ z
45
+ .object({
46
+ ...cleanupJobShape,
47
+ state: z.literal('processing'),
48
+ attempts: z.number().int().positive(),
49
+ claim: AvatarWorkClaimSchema,
50
+ })
51
+ .strict(),
52
+ z
53
+ .object({
54
+ ...cleanupJobShape,
55
+ state: z.literal('completed'),
56
+ attempts: z.number().int().positive(),
57
+ completedAt: AvatarWorkTimestampSchema,
58
+ })
59
+ .strict(),
60
+ z
61
+ .object({
62
+ ...cleanupJobShape,
63
+ state: z.literal('failed'),
64
+ attempts: z.number().int().positive(),
65
+ failedAt: AvatarWorkTimestampSchema,
66
+ lastFailure: AvatarWorkFailureSchema,
67
+ })
68
+ .strict(),
69
+ ])
70
+ .superRefine((job, context) => {
71
+ const createdAt = new Date(job.createdAt).getTime();
72
+ const updatedAt = new Date(job.updatedAt).getTime();
73
+ if (updatedAt < createdAt) {
74
+ context.addIssue({
75
+ code: 'custom',
76
+ path: ['updatedAt'],
77
+ message: 'Cleanup cannot be updated before creation',
78
+ });
79
+ }
80
+ const eventAt = job.state === 'processing'
81
+ ? new Date(job.claim.claimedAt).getTime()
82
+ : job.state === 'completed'
83
+ ? new Date(job.completedAt).getTime()
84
+ : job.state === 'failed'
85
+ ? new Date(job.failedAt).getTime()
86
+ : undefined;
87
+ if (eventAt !== undefined && (eventAt < createdAt || eventAt > updatedAt)) {
88
+ context.addIssue({
89
+ code: 'custom',
90
+ message: 'Cleanup state timestamps must be within the record lifetime',
91
+ });
92
+ }
93
+ });
94
+ //# sourceMappingURL=avatar-cleanup-job.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar-cleanup-job.schema.js","sourceRoot":"","sources":["../../../src/schemas/models/avatar-cleanup-job.schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { z } from 'zod';
2
+ export declare const AvatarWorkTimestampSchema: z.ZodUnion<[z.ZodISODateTime, z.ZodDate]>;
3
+ export declare const AvatarStagingObjectKeySchema: z.ZodString;
4
+ export declare const AvatarFinalObjectKeySchema: z.ZodString;
5
+ export declare const AvatarWorkClaimSchema: z.ZodObject<{
6
+ token: z.ZodString;
7
+ claimedAt: z.ZodUnion<[z.ZodISODateTime, z.ZodDate]>;
8
+ leaseExpiresAt: z.ZodUnion<[z.ZodISODateTime, z.ZodDate]>;
9
+ }, z.core.$strict>;
10
+ export declare const AvatarWorkFailureSchema: z.ZodObject<{
11
+ code: z.ZodEnum<{
12
+ "storage-unavailable": "storage-unavailable";
13
+ "processing-unavailable": "processing-unavailable";
14
+ "source-changed": "source-changed";
15
+ "lease-expired": "lease-expired";
16
+ "database-unavailable": "database-unavailable";
17
+ "object-still-referenced": "object-still-referenced";
18
+ }>;
19
+ occurredAt: z.ZodUnion<[z.ZodISODateTime, z.ZodDate]>;
20
+ }, z.core.$strict>;
21
+ //# sourceMappingURL=avatar-work.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar-work.schema.d.ts","sourceRoot":"","sources":["../../../src/schemas/models/avatar-work.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,yBAAyB,2CAAgC,CAAC;AAEvE,eAAO,MAAM,4BAA4B,aAItC,CAAC;AAEJ,eAAO,MAAM,0BAA0B,aAIpC,CAAC;AAEJ,eAAO,MAAM,qBAAqB;;;;kBAe/B,CAAC;AAEJ,eAAO,MAAM,uBAAuB;;;;;;;;;;kBAYzB,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { z } from 'zod';
2
+ export const AvatarWorkTimestampSchema = z.iso.datetime().or(z.date());
3
+ export const AvatarStagingObjectKeySchema = z
4
+ .string()
5
+ .regex(/^avatars\/staging\/[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/);
6
+ export const AvatarFinalObjectKeySchema = z
7
+ .string()
8
+ .regex(/^avatars\/final\/[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}\.webp$/);
9
+ export const AvatarWorkClaimSchema = z
10
+ .object({
11
+ token: z.string().min(1),
12
+ claimedAt: AvatarWorkTimestampSchema,
13
+ leaseExpiresAt: AvatarWorkTimestampSchema,
14
+ })
15
+ .strict()
16
+ .refine((claim) => new Date(claim.leaseExpiresAt).getTime() >
17
+ new Date(claim.claimedAt).getTime(), {
18
+ path: ['leaseExpiresAt'],
19
+ message: 'A work lease must expire after it was claimed',
20
+ });
21
+ export const AvatarWorkFailureSchema = z
22
+ .object({
23
+ code: z.enum([
24
+ 'storage-unavailable',
25
+ 'processing-unavailable',
26
+ 'source-changed',
27
+ 'lease-expired',
28
+ 'database-unavailable',
29
+ 'object-still-referenced',
30
+ ]),
31
+ occurredAt: AvatarWorkTimestampSchema,
32
+ })
33
+ .strict();
34
+ //# sourceMappingURL=avatar-work.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar-work.schema.js","sourceRoot":"","sources":["../../../src/schemas/models/avatar-work.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAEvE,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC;KAC1C,MAAM,EAAE;KACR,KAAK,CACJ,yFAAyF,CAC1F,CAAC;AAEJ,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,MAAM,EAAE;KACR,KAAK,CACJ,6FAA6F,CAC9F,CAAC;AAEJ,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,CAAC;IACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,SAAS,EAAE,yBAAyB;IACpC,cAAc,EAAE,yBAAyB;CAC1C,CAAC;KACD,MAAM,EAAE;KACR,MAAM,CACL,CAAC,KAAK,EAAW,EAAE,CACjB,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE;IACxC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EACrC;IACE,IAAI,EAAE,CAAC,gBAAgB,CAAC;IACxB,OAAO,EAAE,+CAA+C;CACzD,CACF,CAAC;AAEJ,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC;KACrC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;QACX,qBAAqB;QACrB,wBAAwB;QACxB,gBAAgB;QAChB,eAAe;QACf,sBAAsB;QACtB,yBAAyB;KAC1B,CAAC;IACF,UAAU,EAAE,yBAAyB;CACtC,CAAC;KACD,MAAM,EAAE,CAAC"}
@@ -3,6 +3,8 @@ export declare const GridDrawerElementIdSchema: z.ZodString;
3
3
  export declare const SignatureIdSchema: z.ZodString;
4
4
  export declare const VisualisationIdSchema: z.ZodString;
5
5
  export declare const VisualisationPendingIdSchema: z.ZodString;
6
+ export declare const ProfileAvatarUploadIdSchema: z.ZodString;
7
+ export declare const AvatarCleanupJobIdSchema: z.ZodString;
6
8
  export declare const UserIdSchema: z.ZodString;
7
9
  export declare const OwnershipIdSchema: z.ZodString;
8
10
  //# sourceMappingURL=id.schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"id.schemas.d.ts","sourceRoot":"","sources":["../../../src/schemas/models/id.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,yBAAyB,aAAa,CAAC;AAEpD,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAE5C,eAAO,MAAM,qBAAqB,aAAa,CAAC;AAEhD,eAAO,MAAM,4BAA4B,aAAa,CAAC;AAEvD,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,eAAO,MAAM,iBAAiB,aAAa,CAAC"}
1
+ {"version":3,"file":"id.schemas.d.ts","sourceRoot":"","sources":["../../../src/schemas/models/id.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,yBAAyB,aAAa,CAAC;AAEpD,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAE5C,eAAO,MAAM,qBAAqB,aAAa,CAAC;AAEhD,eAAO,MAAM,4BAA4B,aAAa,CAAC;AAEvD,eAAO,MAAM,2BAA2B,aAAa,CAAC;AAEtD,eAAO,MAAM,wBAAwB,aAAoB,CAAC;AAE1D,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,eAAO,MAAM,iBAAiB,aAAa,CAAC"}
@@ -3,6 +3,8 @@ export const GridDrawerElementIdSchema = z.string();
3
3
  export const SignatureIdSchema = z.string();
4
4
  export const VisualisationIdSchema = z.string();
5
5
  export const VisualisationPendingIdSchema = z.string();
6
+ export const ProfileAvatarUploadIdSchema = z.string();
7
+ export const AvatarCleanupJobIdSchema = z.string().min(1);
6
8
  export const UserIdSchema = z.string();
7
9
  export const OwnershipIdSchema = z.string();
8
10
  //# sourceMappingURL=id.schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"id.schemas.js","sourceRoot":"","sources":["../../../src/schemas/models/id.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AAEpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AAE5C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AAEhD,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AAEvD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AAEvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"id.schemas.js","sourceRoot":"","sources":["../../../src/schemas/models/id.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AAEpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AAE5C,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AAEhD,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AAEvD,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AAEtD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;AAEvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { z } from 'zod';
2
+ export declare const ProfileAccentProjectionSchema: z.ZodObject<{
3
+ customHex: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>>;
4
+ effectiveHex: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
5
+ }, z.core.$strict>;
6
+ //# sourceMappingURL=profile-accent-projection.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-accent-projection.schema.d.ts","sourceRoot":"","sources":["../../../src/schemas/models/profile-accent-projection.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,6BAA6B;;;kBAK/B,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { z } from 'zod';
2
+ import { ProfileAccentHexSchema } from './profile.schema.js';
3
+ export const ProfileAccentProjectionSchema = z
4
+ .object({
5
+ customHex: ProfileAccentHexSchema.optional(),
6
+ effectiveHex: ProfileAccentHexSchema,
7
+ })
8
+ .strict();
9
+ //# sourceMappingURL=profile-accent-projection.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-accent-projection.schema.js","sourceRoot":"","sources":["../../../src/schemas/models/profile-accent-projection.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC;KAC3C,MAAM,CAAC;IACN,SAAS,EAAE,sBAAsB,CAAC,QAAQ,EAAE;IAC5C,YAAY,EAAE,sBAAsB;CACrC,CAAC;KACD,MAAM,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { z } from 'zod';
2
+ export declare const ProfileAvatarDeliverySchema: z.ZodObject<{
3
+ url: z.ZodURL;
4
+ expiresAt: z.ZodISODateTime;
5
+ }, z.core.$strict>;
6
+ //# sourceMappingURL=profile-avatar-delivery.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-avatar-delivery.schema.d.ts","sourceRoot":"","sources":["../../../src/schemas/models/profile-avatar-delivery.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,2BAA2B;;;kBAK7B,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { z } from 'zod';
2
+ export const ProfileAvatarDeliverySchema = z
3
+ .object({
4
+ url: z.url(),
5
+ expiresAt: z.iso.datetime(),
6
+ })
7
+ .strict();
8
+ //# sourceMappingURL=profile-avatar-delivery.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-avatar-delivery.schema.js","sourceRoot":"","sources":["../../../src/schemas/models/profile-avatar-delivery.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC;KACzC,MAAM,CAAC;IACN,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE;IACZ,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE;CAC5B,CAAC;KACD,MAAM,EAAE,CAAC"}