@xivdyetools/types 1.7.0 → 1.10.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.
Files changed (45) hide show
  1. package/LICENSE +37 -37
  2. package/README.md +290 -291
  3. package/dist/api/index.d.ts +1 -1
  4. package/dist/api/index.d.ts.map +1 -1
  5. package/dist/api/response.d.ts +1 -39
  6. package/dist/api/response.d.ts.map +1 -1
  7. package/dist/api/response.js +1 -1
  8. package/dist/auth/discord-snowflake.d.ts +71 -0
  9. package/dist/auth/discord-snowflake.d.ts.map +1 -0
  10. package/dist/auth/discord-snowflake.js +70 -0
  11. package/dist/auth/discord-snowflake.js.map +1 -0
  12. package/dist/auth/index.d.ts +2 -0
  13. package/dist/auth/index.d.ts.map +1 -1
  14. package/dist/auth/index.js +1 -1
  15. package/dist/auth/index.js.map +1 -1
  16. package/dist/auth/response.d.ts +7 -0
  17. package/dist/auth/response.d.ts.map +1 -1
  18. package/dist/character/index.d.ts +4 -0
  19. package/dist/character/index.d.ts.map +1 -1
  20. package/dist/character/index.js.map +1 -1
  21. package/dist/color/colorblind.d.ts +1 -0
  22. package/dist/color/colorblind.d.ts.map +1 -1
  23. package/dist/dye/database.d.ts +1 -0
  24. package/dist/dye/database.d.ts.map +1 -1
  25. package/dist/dye/dye.d.ts +14 -0
  26. package/dist/dye/dye.d.ts.map +1 -1
  27. package/dist/error/app-error.js +2 -0
  28. package/dist/error/app-error.js.map +1 -1
  29. package/dist/index.d.ts +7 -8
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +1 -1
  32. package/dist/index.js.map +1 -1
  33. package/dist/preset/community.d.ts +0 -9
  34. package/dist/preset/community.d.ts.map +1 -1
  35. package/dist/preset/core.d.ts +0 -10
  36. package/dist/preset/core.d.ts.map +1 -1
  37. package/dist/preset/index.d.ts +2 -2
  38. package/dist/preset/index.d.ts.map +1 -1
  39. package/dist/preset/response.d.ts +11 -0
  40. package/dist/preset/response.d.ts.map +1 -1
  41. package/package.json +80 -81
  42. package/dist/utility/index.d.ts +0 -71
  43. package/dist/utility/index.d.ts.map +0 -1
  44. package/dist/utility/index.js +0 -20
  45. package/dist/utility/index.js.map +0 -1
@@ -1,48 +1,10 @@
1
1
  /**
2
2
  * @xivdyetools/types - API Response Types
3
3
  *
4
- * Generic API response wrappers and caching types.
4
+ * Caching types for API data.
5
5
  *
6
6
  * @module api/response
7
7
  */
8
- /**
9
- * Successful API response
10
- */
11
- export interface APISuccessResponse<T> {
12
- /** Operation succeeded */
13
- success: true;
14
- /** Response data */
15
- data: T;
16
- /** Response timestamp (ms since epoch) */
17
- timestamp: number;
18
- }
19
- /**
20
- * Failed API response
21
- */
22
- export interface APIErrorResponse {
23
- /** Operation failed */
24
- success: false;
25
- /** Error message describing the failure */
26
- error: string;
27
- /** Response timestamp (ms since epoch) */
28
- timestamp: number;
29
- }
30
- /**
31
- * Generic API response wrapper
32
- *
33
- * Provides a consistent structure for all API responses.
34
- * Uses discriminated union for type-safe handling:
35
- * ```typescript
36
- * if (response.success) {
37
- * // TypeScript knows: data exists and is of type T
38
- * console.log(response.data);
39
- * } else {
40
- * // TypeScript knows: error exists
41
- * console.error(response.error);
42
- * }
43
- * ```
44
- */
45
- export type APIResponse<T> = APISuccessResponse<T> | APIErrorResponse;
46
8
  /**
47
9
  * Cached data wrapper with TTL and integrity checking
48
10
  *
@@ -1 +1 @@
1
- {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/api/response.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,0BAA0B;IAC1B,OAAO,EAAE,IAAI,CAAC;IAEd,oBAAoB;IACpB,IAAI,EAAE,CAAC,CAAC;IAER,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uBAAuB;IACvB,OAAO,EAAE,KAAK,CAAC;IAEf,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IAEd,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,sBAAsB;IACtB,IAAI,EAAE,CAAC,CAAC;IAER,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;IAElB,mCAAmC;IACnC,GAAG,EAAE,MAAM,CAAC;IAEZ,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/api/response.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,sBAAsB;IACtB,IAAI,EAAE,CAAC,CAAC;IAER,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;IAElB,mCAAmC;IACnC,GAAG,EAAE,MAAM,CAAC;IAEZ,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @xivdyetools/types - API Response Types
3
3
  *
4
- * Generic API response wrappers and caching types.
4
+ * Caching types for API data.
5
5
  *
6
6
  * @module api/response
7
7
  */
@@ -0,0 +1,71 @@
1
+ /**
2
+ * @xivdyetools/types - Discord Snowflake Validation
3
+ *
4
+ * Discord Snowflake branded type and validation utility.
5
+ * Consolidates the inline `/^\d{17,19}$/` regex previously duplicated
6
+ * across env-validation files in presets-api, discord-worker, and moderation-worker.
7
+ *
8
+ * Discord Snowflakes are Twitter-style 64-bit IDs composed of:
9
+ * - 42 bits: milliseconds since Discord epoch (2015-01-01)
10
+ * - 5 bits: internal worker ID
11
+ * - 5 bits: internal process ID
12
+ * - 12 bits: per-process increment
13
+ *
14
+ * In practice, current snowflakes are 17-19 digits. The range 17-20 is used
15
+ * to allow for future growth (20-digit snowflakes won't appear until ~2090).
16
+ *
17
+ * @see https://discord.com/developers/docs/reference#snowflakes
18
+ * @see FINDING-002 in docs/audits/2026-02-18/findings/FINDING-002.md
19
+ *
20
+ * @module auth/discord-snowflake
21
+ */
22
+ /**
23
+ * Discord Snowflake ID (branded type for type safety)
24
+ *
25
+ * Prevents accidental use of arbitrary strings as Discord IDs.
26
+ * Use `isValidSnowflake()` to validate and `createSnowflake()` to create validated instances.
27
+ *
28
+ * @internal Not yet adopted by consumers — use `isValidSnowflake()` for validation instead
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * const userId: DiscordSnowflake = createSnowflake('123456789012345678');
33
+ * ```
34
+ */
35
+ export type DiscordSnowflake = string & {
36
+ readonly __brand: 'DiscordSnowflake';
37
+ };
38
+ /**
39
+ * Validate whether a string is a valid Discord snowflake format.
40
+ *
41
+ * This is a pure format check — it does not verify that the ID
42
+ * corresponds to an actual Discord entity.
43
+ *
44
+ * @param id - The string to validate
45
+ * @returns true if the string matches Discord snowflake format
46
+ *
47
+ * @example
48
+ * ```typescript
49
+ * isValidSnowflake('123456789012345678'); // true
50
+ * isValidSnowflake('abc'); // false
51
+ * isValidSnowflake(''); // false
52
+ * isValidSnowflake('12345'); // false (too short)
53
+ * ```
54
+ */
55
+ export declare function isValidSnowflake(id: string): boolean;
56
+ /**
57
+ * Create a validated Discord Snowflake branded type.
58
+ *
59
+ * @internal Not yet adopted by consumers
60
+ *
61
+ * @param id - The snowflake string to validate
62
+ * @returns The validated DiscordSnowflake
63
+ * @throws {Error} If the string is not a valid snowflake format
64
+ *
65
+ * @example
66
+ * ```typescript
67
+ * const userId = createSnowflake('123456789012345678');
68
+ * ```
69
+ */
70
+ export declare function createSnowflake(id: string): DiscordSnowflake;
71
+ //# sourceMappingURL=discord-snowflake.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discord-snowflake.d.ts","sourceRoot":"","sources":["../../src/auth/discord-snowflake.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAA;CAAE,CAAC;AAWjF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,CAO5D"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * @xivdyetools/types - Discord Snowflake Validation
3
+ *
4
+ * Discord Snowflake branded type and validation utility.
5
+ * Consolidates the inline `/^\d{17,19}$/` regex previously duplicated
6
+ * across env-validation files in presets-api, discord-worker, and moderation-worker.
7
+ *
8
+ * Discord Snowflakes are Twitter-style 64-bit IDs composed of:
9
+ * - 42 bits: milliseconds since Discord epoch (2015-01-01)
10
+ * - 5 bits: internal worker ID
11
+ * - 5 bits: internal process ID
12
+ * - 12 bits: per-process increment
13
+ *
14
+ * In practice, current snowflakes are 17-19 digits. The range 17-20 is used
15
+ * to allow for future growth (20-digit snowflakes won't appear until ~2090).
16
+ *
17
+ * @see https://discord.com/developers/docs/reference#snowflakes
18
+ * @see FINDING-002 in docs/audits/2026-02-18/findings/FINDING-002.md
19
+ *
20
+ * @module auth/discord-snowflake
21
+ */
22
+ /**
23
+ * Regex pattern for Discord snowflake validation.
24
+ * Matches 17-20 digit numeric strings.
25
+ *
26
+ * Current Discord snowflakes are 17-19 digits (as of 2026).
27
+ * The upper bound of 20 allows for future growth through ~2090.
28
+ */
29
+ const SNOWFLAKE_PATTERN = /^\d{17,20}$/;
30
+ /**
31
+ * Validate whether a string is a valid Discord snowflake format.
32
+ *
33
+ * This is a pure format check — it does not verify that the ID
34
+ * corresponds to an actual Discord entity.
35
+ *
36
+ * @param id - The string to validate
37
+ * @returns true if the string matches Discord snowflake format
38
+ *
39
+ * @example
40
+ * ```typescript
41
+ * isValidSnowflake('123456789012345678'); // true
42
+ * isValidSnowflake('abc'); // false
43
+ * isValidSnowflake(''); // false
44
+ * isValidSnowflake('12345'); // false (too short)
45
+ * ```
46
+ */
47
+ export function isValidSnowflake(id) {
48
+ return SNOWFLAKE_PATTERN.test(id);
49
+ }
50
+ /**
51
+ * Create a validated Discord Snowflake branded type.
52
+ *
53
+ * @internal Not yet adopted by consumers
54
+ *
55
+ * @param id - The snowflake string to validate
56
+ * @returns The validated DiscordSnowflake
57
+ * @throws {Error} If the string is not a valid snowflake format
58
+ *
59
+ * @example
60
+ * ```typescript
61
+ * const userId = createSnowflake('123456789012345678');
62
+ * ```
63
+ */
64
+ export function createSnowflake(id) {
65
+ if (!isValidSnowflake(id)) {
66
+ throw new Error(`Invalid Discord snowflake format: "${id}". Expected a 17-20 digit numeric string.`);
67
+ }
68
+ return id;
69
+ }
70
+ //# sourceMappingURL=discord-snowflake.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discord-snowflake.js","sourceRoot":"","sources":["../../src/auth/discord-snowflake.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAiBH;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAG,aAAa,CAAC;AAExC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAU;IACzC,OAAO,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACpC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe,CAAC,EAAU;IACxC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,sCAAsC,EAAE,2CAA2C,CACpF,CAAC;IACJ,CAAC;IACD,OAAO,EAAsB,CAAC;AAChC,CAAC"}
@@ -8,6 +8,8 @@
8
8
  export type { AuthProvider, AuthSource, AuthContext } from './provider.js';
9
9
  export type { PrimaryCharacter, JWTPayload, OAuthState } from './jwt.js';
10
10
  export type { DiscordTokenResponse, DiscordUser } from './discord.js';
11
+ export type { DiscordSnowflake } from './discord-snowflake.js';
12
+ export { isValidSnowflake, createSnowflake } from './discord-snowflake.js';
11
13
  export type { XIVAuthTokenResponse, XIVAuthCharacter, XIVAuthCharacterRegistration, XIVAuthSocialIdentity, XIVAuthUser, } from './xivauth.js';
12
14
  export type { AuthUser, AuthSuccessResponse, AuthErrorResponse, AuthResponse, RefreshSuccessResponse, RefreshErrorResponse, RefreshResponse, UserInfoData, UserInfoSuccessResponse, UserInfoErrorResponse, UserInfoResponse, } from './response.js';
13
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG3E,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGzE,YAAY,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGtE,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,4BAA4B,EAC5B,qBAAqB,EACrB,WAAW,GACZ,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,QAAQ,EACR,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG3E,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGzE,YAAY,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGtE,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG3E,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,4BAA4B,EAC5B,qBAAqB,EACrB,WAAW,GACZ,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,QAAQ,EACR,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,eAAe,CAAC"}
@@ -5,5 +5,5 @@
5
5
  *
6
6
  * @module auth
7
7
  */
8
- export {};
8
+ export { isValidSnowflake, createSnowflake } from './discord-snowflake.js';
9
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAaH,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC"}
@@ -28,6 +28,7 @@ export interface AuthUser {
28
28
  }
29
29
  /**
30
30
  * Successful authentication response
31
+ * @internal Not for direct consumer import — use `AuthResponse` union instead
31
32
  */
32
33
  export interface AuthSuccessResponse {
33
34
  /** Authentication succeeded */
@@ -41,6 +42,7 @@ export interface AuthSuccessResponse {
41
42
  }
42
43
  /**
43
44
  * Failed authentication response
45
+ * @internal Not for direct consumer import — use `AuthResponse` union instead
44
46
  */
45
47
  export interface AuthErrorResponse {
46
48
  /** Authentication failed */
@@ -65,6 +67,7 @@ export interface AuthErrorResponse {
65
67
  export type AuthResponse = AuthSuccessResponse | AuthErrorResponse;
66
68
  /**
67
69
  * Successful token refresh response
70
+ * @internal Not for direct consumer import — use `RefreshResponse` union instead
68
71
  */
69
72
  export interface RefreshSuccessResponse {
70
73
  /** Refresh succeeded */
@@ -76,6 +79,7 @@ export interface RefreshSuccessResponse {
76
79
  }
77
80
  /**
78
81
  * Failed token refresh response
82
+ * @internal Not for direct consumer import — use `RefreshResponse` union instead
79
83
  */
80
84
  export interface RefreshErrorResponse {
81
85
  /** Refresh failed */
@@ -91,6 +95,7 @@ export interface RefreshErrorResponse {
91
95
  export type RefreshResponse = RefreshSuccessResponse | RefreshErrorResponse;
92
96
  /**
93
97
  * User info data returned in UserInfoResponse
98
+ * @internal Not for direct consumer import — use `UserInfoResponse` union instead
94
99
  */
95
100
  export interface UserInfoData {
96
101
  id: string;
@@ -101,6 +106,7 @@ export interface UserInfoData {
101
106
  }
102
107
  /**
103
108
  * Successful user info response
109
+ * @internal Not for direct consumer import — use `UserInfoResponse` union instead
104
110
  */
105
111
  export interface UserInfoSuccessResponse {
106
112
  /** Request succeeded */
@@ -110,6 +116,7 @@ export interface UserInfoSuccessResponse {
110
116
  }
111
117
  /**
112
118
  * Failed user info response
119
+ * @internal Not for direct consumer import — use `UserInfoResponse` union instead
113
120
  */
114
121
  export interface UserInfoErrorResponse {
115
122
  /** Request failed */
@@ -1 +1 @@
1
- {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/auth/response.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,uBAAuB;IACvB,EAAE,EAAE,MAAM,CAAC;IAEX,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IAEjB,kCAAkC;IAClC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B,kBAAkB;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB,sBAAsB;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B,8CAA8C;IAC9C,aAAa,CAAC,EAAE,YAAY,CAAC;IAE7B,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,gBAAgB,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,+BAA+B;IAC/B,OAAO,EAAE,IAAI,CAAC;IAEd,gBAAgB;IAChB,KAAK,EAAE,MAAM,CAAC;IAEd,uBAAuB;IACvB,IAAI,EAAE,QAAQ,CAAC;IAEf,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,4BAA4B;IAC5B,OAAO,EAAE,KAAK,CAAC;IAEf,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,wBAAwB;IACxB,OAAO,EAAE,IAAI,CAAC;IAEd,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IAEd,sDAAsD;IACtD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,qBAAqB;IACrB,OAAO,EAAE,KAAK,CAAC;IAEf,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,sBAAsB,GAAG,oBAAoB,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,wBAAwB;IACxB,OAAO,EAAE,IAAI,CAAC;IAEd,uBAAuB;IACvB,IAAI,EAAE,YAAY,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,qBAAqB;IACrB,OAAO,EAAE,KAAK,CAAC;IAEf,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,uBAAuB,GAAG,qBAAqB,CAAC"}
1
+ {"version":3,"file":"response.d.ts","sourceRoot":"","sources":["../../src/auth/response.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,uBAAuB;IACvB,EAAE,EAAE,MAAM,CAAC;IAEX,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IAEjB,kCAAkC;IAClC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B,kBAAkB;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB,sBAAsB;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B,8CAA8C;IAC9C,aAAa,CAAC,EAAE,YAAY,CAAC;IAE7B,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,gBAAgB,CAAC;CACtC;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,+BAA+B;IAC/B,OAAO,EAAE,IAAI,CAAC;IAEd,gBAAgB;IAChB,KAAK,EAAE,MAAM,CAAC;IAEd,uBAAuB;IACvB,IAAI,EAAE,QAAQ,CAAC;IAEf,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,4BAA4B;IAC5B,OAAO,EAAE,KAAK,CAAC;IAEf,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;AAEnE;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,wBAAwB;IACxB,OAAO,EAAE,IAAI,CAAC;IAEd,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IAEd,sDAAsD;IACtD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,qBAAqB;IACrB,OAAO,EAAE,KAAK,CAAC;IAEf,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,sBAAsB,GAAG,oBAAoB,CAAC;AAE5E;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,wBAAwB;IACxB,OAAO,EAAE,IAAI,CAAC;IAEd,uBAAuB;IACvB,IAAI,EAAE,YAAY,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,qBAAqB;IACrB,OAAO,EAAE,KAAK,CAAC;IAEf,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,uBAAuB,GAAG,qBAAqB,CAAC"}
@@ -37,14 +37,17 @@ export interface CharacterColorMatch {
37
37
  }
38
38
  /**
39
39
  * Category of shared (race-agnostic) character colors
40
+ * @internal Used by core's CharacterColorService — not needed by app consumers
40
41
  */
41
42
  export type SharedColorCategory = 'eyeColors' | 'highlightColors' | 'lipColorsDark' | 'lipColorsLight' | 'tattooColors' | 'facePaintColorsDark' | 'facePaintColorsLight';
42
43
  /**
43
44
  * Category of race-specific character colors
45
+ * @internal Used by core's CharacterColorService — not needed by app consumers
44
46
  */
45
47
  export type RaceSpecificColorCategory = 'hairColors' | 'skinColors';
46
48
  /**
47
49
  * All character color categories
50
+ * @internal Convenience union — consumers use SharedColorCategory or RaceSpecificColorCategory directly
48
51
  */
49
52
  export type CharacterColorCategory = SharedColorCategory | RaceSpecificColorCategory;
50
53
  /**
@@ -60,6 +63,7 @@ export type SubRace = 'Midlander' | 'Highlander' | 'Wildwood' | 'Duskwight' | 'P
60
63
  export type Gender = 'Male' | 'Female';
61
64
  /**
62
65
  * FFXIV playable races (parent of subraces)
66
+ * @internal Used by core's CharacterColorService — apps use SubRace directly
63
67
  */
64
68
  export type Race = 'Hyur' | 'Elezen' | 'Lalafell' | "Miqo'te" | 'Roegadyn' | 'AuRa' | 'Hrothgar' | 'Viera';
65
69
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/character/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;IAEd,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IAEZ,+BAA+B;IAC/B,GAAG,EAAE,GAAG,CAAC;IAET,4DAA4D;IAC5D,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,2CAA2C;IAC3C,cAAc,EAAE,cAAc,CAAC;IAE/B,uBAAuB;IACvB,GAAG,EAAE,GAAG,CAAC;IAET,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAC3B,WAAW,GACX,iBAAiB,GACjB,eAAe,GACf,gBAAgB,GAChB,cAAc,GACd,qBAAqB,GACrB,sBAAsB,CAAC;AAE3B;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,YAAY,GAAG,YAAY,CAAC;AAEpE;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAC9B,mBAAmB,GACnB,yBAAyB,CAAC;AAE9B;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAEf,WAAW,GACX,YAAY,GAEZ,UAAU,GACV,WAAW,GAEX,YAAY,GACZ,WAAW,GAEX,gBAAgB,GAChB,iBAAiB,GAEjB,SAAS,GACT,YAAY,GAEZ,MAAM,GACN,OAAO,GAEP,QAAQ,GACR,SAAS,GAET,MAAM,GACN,OAAO,CAAC;AAEZ;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEvC;;GAEG;AACH,MAAM,MAAM,IAAI,GACZ,MAAM,GACN,QAAQ,GACR,UAAU,GACV,SAAS,GACT,UAAU,GACV,MAAM,GACN,UAAU,GACV,OAAO,CAAC;AAEZ;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAS1D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAiBjD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CACxC,sBAAsB,EACtB;IAAE,OAAO,EAAE,CAAC,CAAC;IAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAA;CAAE,CAW9B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/character/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;IAEd,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IAEZ,+BAA+B;IAC/B,GAAG,EAAE,GAAG,CAAC;IAET,4DAA4D;IAC5D,GAAG,CAAC,EAAE,GAAG,CAAC;CACX;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,2CAA2C;IAC3C,cAAc,EAAE,cAAc,CAAC;IAE/B,uBAAuB;IACvB,GAAG,EAAE,GAAG,CAAC;IAET,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAC3B,WAAW,GACX,iBAAiB,GACjB,eAAe,GACf,gBAAgB,GAChB,cAAc,GACd,qBAAqB,GACrB,sBAAsB,CAAC;AAE3B;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG,YAAY,GAAG,YAAY,CAAC;AAEpE;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAC9B,mBAAmB,GACnB,yBAAyB,CAAC;AAE9B;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAEf,WAAW,GACX,YAAY,GAEZ,UAAU,GACV,WAAW,GAEX,YAAY,GACZ,WAAW,GAEX,gBAAgB,GAChB,iBAAiB,GAEjB,SAAS,GACT,YAAY,GAEZ,MAAM,GACN,OAAO,GAEP,QAAQ,GACR,SAAS,GAET,MAAM,GACN,OAAO,CAAC;AAEZ;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEvC;;;GAGG;AACH,MAAM,MAAM,IAAI,GACZ,MAAM,GACN,QAAQ,GACR,UAAU,GACV,SAAS,GACT,UAAU,GACV,MAAM,GACN,UAAU,GACV,OAAO,CAAC;AAEZ;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAS1D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAiBjD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,MAAM,CACxC,sBAAsB,EACtB;IAAE,OAAO,EAAE,CAAC,CAAC;IAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAA;CAAE,CAW9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/character/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAiHH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAqC;IAC7D,IAAI,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;IACjC,MAAM,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;IACjC,QAAQ,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;IACrC,SAAS,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;IAChD,QAAQ,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;IACnC,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC/B,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAA0B;IACpD,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,QAAQ;IACnB,UAAU,EAAE,UAAU;IACtB,SAAS,EAAE,UAAU;IACrB,cAAc,EAAE,SAAS;IACzB,eAAe,EAAE,SAAS;IAC1B,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,UAAU;IACtB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,OAAO;CACf,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAG9B;IACF,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACnC,eAAe,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACzC,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACvC,cAAc,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACxC,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACtC,mBAAmB,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAC7C,oBAAoB,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAC9C,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACpC,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;CACrC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/character/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAqHH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAqC;IAC7D,IAAI,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;IACjC,MAAM,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;IACjC,QAAQ,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;IACrC,SAAS,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;IAChD,QAAQ,EAAE,CAAC,SAAS,EAAE,YAAY,CAAC;IACnC,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC/B,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAA0B;IACpD,SAAS,EAAE,MAAM;IACjB,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,QAAQ;IACnB,UAAU,EAAE,UAAU;IACtB,SAAS,EAAE,UAAU;IACrB,cAAc,EAAE,SAAS;IACzB,eAAe,EAAE,SAAS;IAC1B,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,UAAU;IACtB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,OAAO;CACf,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAG9B;IACF,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACnC,eAAe,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACzC,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACvC,cAAc,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACxC,YAAY,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACtC,mBAAmB,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAC7C,oBAAoB,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAC9C,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACpC,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;CACrC,CAAC"}
@@ -20,6 +20,7 @@ export type VisionType = 'normal' | 'deuteranopia' | 'protanopia' | 'tritanopia'
20
20
  *
21
21
  * Used for RGB to RGB transformation using matrix multiplication.
22
22
  * [row][column] indexing: result[r] = matrix[0] * input, etc.
23
+ * @internal Used by core's colorblind simulation — not needed by app consumers
23
24
  */
24
25
  export type Matrix3x3 = [
25
26
  [
@@ -1 +1 @@
1
- {"version":3,"file":"colorblind.d.ts","sourceRoot":"","sources":["../../src/color/colorblind.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAClB,QAAQ,GACR,cAAc,GACd,YAAY,GACZ,YAAY,GACZ,eAAe,CAAC;AAEpB;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB;QAAC,MAAM;QAAE,MAAM;QAAE,MAAM;KAAC;IACxB;QAAC,MAAM;QAAE,MAAM;QAAE,MAAM;KAAC;IACxB;QAAC,MAAM;QAAE,MAAM;QAAE,MAAM;KAAC;CACzB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,YAAY,EAAE,SAAS,CAAC;IACxB,uCAAuC;IACvC,UAAU,EAAE,SAAS,CAAC;IACtB,uCAAuC;IACvC,UAAU,EAAE,SAAS,CAAC;IACtB,0CAA0C;IAC1C,aAAa,EAAE,SAAS,CAAC;CAC1B"}
1
+ {"version":3,"file":"colorblind.d.ts","sourceRoot":"","sources":["../../src/color/colorblind.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAClB,QAAQ,GACR,cAAc,GACd,YAAY,GACZ,YAAY,GACZ,eAAe,CAAC;AAEpB;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB;QAAC,MAAM;QAAE,MAAM;QAAE,MAAM;KAAC;IACxB;QAAC,MAAM;QAAE,MAAM;QAAE,MAAM;KAAC;IACxB;QAAC,MAAM;QAAE,MAAM;QAAE,MAAM;KAAC;CACzB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,YAAY,EAAE,SAAS,CAAC;IACxB,uCAAuC;IACvC,UAAU,EAAE,SAAS,CAAC;IACtB,uCAAuC;IACvC,UAAU,EAAE,SAAS,CAAC;IACtB,0CAA0C;IAC1C,aAAa,EAAE,SAAS,CAAC;CAC1B"}
@@ -11,6 +11,7 @@ import type { Dye } from './dye.js';
11
11
  *
12
12
  * Represents the current state of the loaded dye database,
13
13
  * including all dyes and metadata about the load state.
14
+ * @internal Apps use core's `DyeDatabase` class, not this interface directly
14
15
  */
15
16
  export interface DyeDatabase {
16
17
  /** Array of all loaded dyes */
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/dye/database.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAEpC;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,+BAA+B;IAC/B,IAAI,EAAE,GAAG,EAAE,CAAC;IAEZ,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;IAEnB,wDAAwD;IACxD,QAAQ,EAAE,OAAO,CAAC;CACnB"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/dye/database.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAEpC;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,+BAA+B;IAC/B,IAAI,EAAE,GAAG,EAAE,CAAC;IAEZ,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;IAEnB,wDAAwD;IACxD,QAAQ,EAAE,OAAO,CAAC;CACnB"}
package/dist/dye/dye.d.ts CHANGED
@@ -67,11 +67,25 @@ export interface Dye {
67
67
  isDark: boolean;
68
68
  /** True if this is a cosmic (starlight/glittery) dye */
69
69
  isCosmic: boolean;
70
+ /** True if this dye originates from Ishgardian Restoration content */
71
+ isIshgardian: boolean;
72
+ /**
73
+ * Dye consolidation group for Patch 7.5 market board lookups.
74
+ *
75
+ * - `'A'`: ARR dyes (itemIDs 5729-5813) — 85 dyes consolidated into one item
76
+ * - `'B'`: Ishgardian Restoration dyes (itemIDs 30116-30124) — 9 dyes consolidated
77
+ * - `'C'`: Cosmic Exploration dyes (itemIDs 48163-48172, 48227) — 11 dyes consolidated
78
+ * - `null`: Special dyes and Facewear — remain individual items
79
+ *
80
+ * @since TBD (Patch 7.5)
81
+ */
82
+ consolidationType: 'A' | 'B' | 'C' | null;
70
83
  }
71
84
  /**
72
85
  * Localized dye with optional translated name
73
86
  *
74
87
  * Extends Dye with a localized name for display in non-English locales.
88
+ * @internal Used by core's DyeService — apps use `getLocalizedDyeName()` instead
75
89
  */
76
90
  export interface LocalizedDye extends Dye {
77
91
  /** Translated dye name (if available) */
@@ -1 +1 @@
1
- {"version":3,"file":"dye.d.ts","sourceRoot":"","sources":["../../src/dye/dye.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,WAAW,GAAG;IAClB,oBAAoB;IACpB,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;;;;OAaG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvB,4BAA4B;IAC5B,EAAE,EAAE,MAAM,CAAC;IAEX,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IAEb,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IAEZ,+BAA+B;IAC/B,GAAG,EAAE,GAAG,CAAC;IAET,+BAA+B;IAC/B,GAAG,EAAE,GAAG,CAAC;IAET,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC;IAEjB,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAC;IAEpB,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IAEH,qCAAqC;IACrC,UAAU,EAAE,OAAO,CAAC;IAEpB,mCAAmC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAElB,uCAAuC;IACvC,MAAM,EAAE,OAAO,CAAC;IAEhB,wDAAwD;IACxD,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAa,SAAQ,GAAG;IACvC,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAgB,SAAQ,GAAG;IAC1C,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"dye.d.ts","sourceRoot":"","sources":["../../src/dye/dye.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,WAAW,GAAG;IAClB,oBAAoB;IACpB,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;;;;;;;;;OAaG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvB,4BAA4B;IAC5B,EAAE,EAAE,MAAM,CAAC;IAEX,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IAEb,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IAEZ,+BAA+B;IAC/B,GAAG,EAAE,GAAG,CAAC;IAET,+BAA+B;IAC/B,GAAG,EAAE,GAAG,CAAC;IAET,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC;IAEjB,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAC;IAEpB,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IAEH,qCAAqC;IACrC,UAAU,EAAE,OAAO,CAAC;IAEpB,mCAAmC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAElB,uCAAuC;IACvC,MAAM,EAAE,OAAO,CAAC;IAEhB,wDAAwD;IACxD,QAAQ,EAAE,OAAO,CAAC;IAElB,sEAAsE;IACtE,YAAY,EAAE,OAAO,CAAC;IAEtB;;;;;;;;;OASG;IACH,iBAAiB,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;CAC3C;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAa,SAAQ,GAAG;IACvC,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAgB,SAAQ,GAAG;IAC1C,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;CAClB"}
@@ -23,6 +23,8 @@
23
23
  * ```
24
24
  */
25
25
  export class AppError extends Error {
26
+ code;
27
+ severity;
26
28
  /**
27
29
  * Create a new AppError
28
30
  *
@@ -1 +1 @@
1
- {"version":3,"file":"app-error.js","sourceRoot":"","sources":["../../src/error/app-error.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAYH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC;;;;;;OAMG;IACH,YACS,IAAY,EACnB,OAAe,EACR,WAA0B,OAAO;QAExC,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,SAAI,GAAJ,IAAI,CAAQ;QAEZ,aAAQ,GAAR,QAAQ,CAAyB;QAGxC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,kCAAkC;QAClC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"app-error.js","sourceRoot":"","sources":["../../src/error/app-error.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAYH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,QAAS,SAAQ,KAAK;IASxB;IAEA;IAVT;;;;;;OAMG;IACH,YACS,IAAY,EACnB,OAAe,EACR,WAA0B,OAAO;QAExC,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,SAAI,GAAJ,IAAI,CAAQ;QAEZ,aAAQ,GAAR,QAAQ,CAAyB;QAGxC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,kCAAkC;QAClC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -15,17 +15,16 @@
15
15
  export type { RGB, HSV, LAB, OKLAB, OKLCH, LCH, HSL } from './color/index.js';
16
16
  export type { HexColor, DyeId, Hue, Saturation } from './color/index.js';
17
17
  export { createHexColor, createDyeId, createHue, createSaturation } from './color/index.js';
18
- export type { VisionType, Matrix3x3, ColorblindMatrices } from './color/index.js';
19
- export type { Dye, LocalizedDye, DyeWithDistance, DyeDatabase } from './dye/index.js';
20
- export type { CharacterColor, CharacterColorMatch, SharedColorCategory, RaceSpecificColorCategory, CharacterColorCategory, SubRace, Gender, Race, } from './character/index.js';
18
+ export type { VisionType, ColorblindMatrices } from './color/index.js';
19
+ export type { Dye, LocalizedDye, DyeWithDistance } from './dye/index.js';
20
+ export type { CharacterColor, CharacterColorMatch, SharedColorCategory, RaceSpecificColorCategory, SubRace, Gender, } from './character/index.js';
21
21
  export { RACE_SUBRACES, SUBRACE_TO_RACE, COLOR_GRID_DIMENSIONS, } from './character/index.js';
22
- export type { PresetCategory, PresetStatus, PresetSortOption, CategoryMeta, PresetPalette, ResolvedPreset, PresetData, PresetPreviousValues, CommunityPreset, PresetSubmission, AuthenticatedPresetSubmission, PresetFilters, PresetEditRequest, PresetListResponse, PresetSubmitCreatedResponse, PresetSubmitDuplicateResponse, PresetSubmitErrorResponse, PresetSubmitResponse, PresetEditDuplicateInfo, PresetEditSuccessResponse, PresetEditDuplicateResponse, PresetEditErrorResponse, PresetEditResponse, VoteSuccessResponse, VoteErrorResponse, VoteResponse, ModerationSuccessResponse, ModerationErrorResponse, ModerationResponse, CategoryListResponse, } from './preset/index.js';
23
- export type { AuthProvider, AuthSource, AuthContext, PrimaryCharacter, JWTPayload, OAuthState, DiscordTokenResponse, DiscordUser, XIVAuthTokenResponse, XIVAuthCharacter, XIVAuthCharacterRegistration, XIVAuthSocialIdentity, XIVAuthUser, AuthUser, AuthSuccessResponse, AuthErrorResponse, AuthResponse, RefreshSuccessResponse, RefreshErrorResponse, RefreshResponse, UserInfoData, UserInfoSuccessResponse, UserInfoErrorResponse, UserInfoResponse, } from './auth/index.js';
24
- export type { APISuccessResponse, APIErrorResponse, APIResponse, CachedData, ModerationResult, ModerationLogEntry, ModerationStats, PriceData, RateLimitResult, } from './api/index.js';
22
+ export type { PresetCategory, PresetStatus, PresetSortOption, CategoryMeta, PresetPalette, PresetData, PresetPreviousValues, CommunityPreset, PresetSubmission, PresetFilters, PresetEditRequest, PresetListResponse, PresetSubmitResponse, PresetEditResponse, VoteResponse, ModerationResponse, CategoryListResponse, } from './preset/index.js';
23
+ export type { AuthProvider, AuthSource, AuthContext, PrimaryCharacter, JWTPayload, OAuthState, DiscordTokenResponse, DiscordUser, XIVAuthTokenResponse, XIVAuthCharacter, XIVAuthCharacterRegistration, XIVAuthSocialIdentity, XIVAuthUser, AuthUser, AuthResponse, RefreshResponse, UserInfoResponse, } from './auth/index.js';
24
+ export { isValidSnowflake } from './auth/index.js';
25
+ export type { CachedData, ModerationResult, ModerationLogEntry, ModerationStats, PriceData, RateLimitResult, } from './api/index.js';
25
26
  export type { LocaleCode, TranslationKey, HarmonyTypeKey, JobKey, GrandCompanyKey, RaceKey, ClanKey, LocaleData, LocalePreference, } from './localization/index.js';
26
27
  export { ErrorCode } from './error/index.js';
27
28
  export { AppError } from './error/index.js';
28
29
  export type { ErrorSeverity } from './error/index.js';
29
- export type { Result, AsyncResult, Nullable, Optional } from './utility/index.js';
30
- export { isOk, isErr } from './utility/index.js';
31
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC9E,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC5F,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAKlF,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAKtF,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,OAAO,EACP,MAAM,EACN,IAAI,GACL,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,aAAa,EACb,eAAe,EACf,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAK9B,YAAY,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,cAAc,EACd,UAAU,EACV,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,6BAA6B,EAC7B,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,2BAA2B,EAC3B,6BAA6B,EAC7B,yBAAyB,EACzB,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,yBAAyB,EACzB,uBAAuB,EACvB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAK3B,YAAY,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,4BAA4B,EAC5B,qBAAqB,EACrB,WAAW,EACX,QAAQ,EACR,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AAKzB,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,SAAS,EACT,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAKxB,YAAY,EACV,UAAU,EACV,cAAc,EACd,cAAc,EACd,MAAM,EACN,eAAe,EACf,OAAO,EACP,OAAO,EACP,UAAU,EACV,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAKtD,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC9E,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC5F,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAKvE,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAKzE,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,OAAO,EACP,MAAM,GACP,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,aAAa,EACb,eAAe,EACf,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAK9B,YAAY,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,UAAU,EACV,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAK3B,YAAY,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,4BAA4B,EAC5B,qBAAqB,EACrB,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,gBAAgB,GACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAKnD,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,SAAS,EACT,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAKxB,YAAY,EACV,UAAU,EACV,cAAc,EACd,cAAc,EACd,MAAM,EACN,eAAe,EACf,OAAO,EACP,OAAO,EACP,UAAU,EACV,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -14,10 +14,10 @@
14
14
  */
15
15
  export { createHexColor, createDyeId, createHue, createSaturation } from './color/index.js';
16
16
  export { RACE_SUBRACES, SUBRACE_TO_RACE, COLOR_GRID_DIMENSIONS, } from './character/index.js';
17
+ export { isValidSnowflake } from './auth/index.js';
17
18
  // ============================================================================
18
19
  // Error Types
19
20
  // ============================================================================
20
21
  export { ErrorCode } from './error/index.js';
21
22
  export { AppError } from './error/index.js';
22
- export { isOk, isErr } from './utility/index.js';
23
23
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAqB5F,OAAO,EACL,aAAa,EACb,eAAe,EACf,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAkG9B,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAO5C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAmB5F,OAAO,EACL,aAAa,EACb,eAAe,EACf,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AA+C9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AA6BnD,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC"}
@@ -78,13 +78,4 @@ export interface PresetSubmission {
78
78
  /** Tags (0-10 tags, max 30 chars each) */
79
79
  tags: string[];
80
80
  }
81
- /**
82
- * Extended submission with author info (for authenticated submissions)
83
- */
84
- export interface AuthenticatedPresetSubmission extends PresetSubmission {
85
- /** Submitter's Discord user ID */
86
- author_discord_id: string;
87
- /** Submitter's display name */
88
- author_name: string;
89
- }
90
81
  //# sourceMappingURL=community.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"community.d.ts","sourceRoot":"","sources":["../../src/preset/community.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IAEb,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IAEpB,0BAA0B;IAC1B,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,6BAA6B;IAC7B,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAC;IAEX,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IAEb,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IAEpB,sCAAsC;IACtC,WAAW,EAAE,cAAc,CAAC;IAE5B,uCAAuC;IACvC,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,sBAAsB;IACtB,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,2DAA2D;IAC3D,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC,gDAAgD;IAChD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B,sBAAsB;IACtB,UAAU,EAAE,MAAM,CAAC;IAEnB,wBAAwB;IACxB,MAAM,EAAE,YAAY,CAAC;IAErB,wCAAwC;IACxC,UAAU,EAAE,OAAO,CAAC;IAEpB,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;IAEnB,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,wDAAwD;IACxD,eAAe,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IAEb,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IAEpB,eAAe;IACf,WAAW,EAAE,cAAc,CAAC;IAE5B,uCAAuC;IACvC,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,0CAA0C;IAC1C,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,6BAA8B,SAAQ,gBAAgB;IACrE,kCAAkC;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAE1B,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"community.d.ts","sourceRoot":"","sources":["../../src/preset/community.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IAEb,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IAEpB,0BAA0B;IAC1B,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,6BAA6B;IAC7B,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAC;IAEX,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IAEb,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IAEpB,sCAAsC;IACtC,WAAW,EAAE,cAAc,CAAC;IAE5B,uCAAuC;IACvC,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,sBAAsB;IACtB,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,2DAA2D;IAC3D,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC,gDAAgD;IAChD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B,sBAAsB;IACtB,UAAU,EAAE,MAAM,CAAC;IAEnB,wBAAwB;IACxB,MAAM,EAAE,YAAY,CAAC;IAErB,wCAAwC;IACxC,UAAU,EAAE,OAAO,CAAC;IAEpB,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;IAEnB,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,wDAAwD;IACxD,eAAe,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IAEb,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IAEpB,eAAe;IACf,WAAW,EAAE,cAAc,CAAC;IAE5B,uCAAuC;IACvC,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,0CAA0C;IAC1C,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB"}
@@ -5,7 +5,6 @@
5
5
  *
6
6
  * @module preset/core
7
7
  */
8
- import type { Dye } from '../dye/dye.js';
9
8
  /**
10
9
  * Preset palette category identifiers
11
10
  */
@@ -66,15 +65,6 @@ export interface PresetPalette {
66
65
  /** Version for future updates */
67
66
  version?: string;
68
67
  }
69
- /**
70
- * Preset with resolved Dye objects
71
- *
72
- * Used when displaying a preset with full dye information.
73
- */
74
- export interface ResolvedPreset extends PresetPalette {
75
- /** Full Dye objects for each dye ID (null if dye not found) */
76
- resolvedDyes: (Dye | null)[];
77
- }
78
68
  /**
79
69
  * Full preset data structure
80
70
  *
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/preset/core.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEzC;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,iBAAiB,GACjB,SAAS,GACT,QAAQ,GACR,YAAY,GACZ,WAAW,CAAC;AAEhB;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEtF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,0BAA0B;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IAEb,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IAEpB,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB,oDAAoD;IACpD,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,kFAAkF;IAClF,EAAE,EAAE,MAAM,CAAC;IAEX,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IAEb,sCAAsC;IACtC,QAAQ,EAAE,cAAc,CAAC;IAEzB,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IAEpB,sCAAsC;IACtC,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,sBAAsB;IACtB,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAe,SAAQ,aAAa;IACnD,+DAA+D;IAC/D,YAAY,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAEhB,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IAEpB,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAEjD,0BAA0B;IAC1B,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/preset/core.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,iBAAiB,GACjB,SAAS,GACT,QAAQ,GACR,YAAY,GACZ,WAAW,CAAC;AAEhB;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEtF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,0BAA0B;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IAEb,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IAEpB,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB,oDAAoD;IACpD,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,kFAAkF;IAClF,EAAE,EAAE,MAAM,CAAC;IAEX,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IAEb,sCAAsC;IACtC,QAAQ,EAAE,cAAc,CAAC;IAEzB,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IAEpB,sCAAsC;IACtC,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,sBAAsB;IACtB,IAAI,EAAE,MAAM,EAAE,CAAC;IAEf,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAEhB,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IAEpB,wBAAwB;IACxB,UAAU,EAAE,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAEjD,0BAA0B;IAC1B,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B"}
@@ -5,8 +5,8 @@
5
5
  *
6
6
  * @module preset
7
7
  */
8
- export type { PresetCategory, PresetStatus, PresetSortOption, CategoryMeta, PresetPalette, ResolvedPreset, PresetData, } from './core.js';
9
- export type { PresetPreviousValues, CommunityPreset, PresetSubmission, AuthenticatedPresetSubmission, } from './community.js';
8
+ export type { PresetCategory, PresetStatus, PresetSortOption, CategoryMeta, PresetPalette, PresetData, } from './core.js';
9
+ export type { PresetPreviousValues, CommunityPreset, PresetSubmission, } from './community.js';
10
10
  export type { PresetFilters, PresetEditRequest } from './request.js';
11
11
  export type { PresetListResponse, PresetSubmitCreatedResponse, PresetSubmitDuplicateResponse, PresetSubmitErrorResponse, PresetSubmitResponse, PresetEditDuplicateInfo, PresetEditSuccessResponse, PresetEditDuplicateResponse, PresetEditErrorResponse, PresetEditResponse, VoteSuccessResponse, VoteErrorResponse, VoteResponse, ModerationSuccessResponse, ModerationErrorResponse, ModerationResponse, CategoryListResponse, } from './response.js';
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/preset/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,YAAY,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,cAAc,EACd,UAAU,GACX,MAAM,WAAW,CAAC;AAGnB,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,6BAA6B,GAC9B,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGrE,YAAY,EACV,kBAAkB,EAClB,2BAA2B,EAC3B,6BAA6B,EAC7B,yBAAyB,EACzB,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,yBAAyB,EACzB,uBAAuB,EACvB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/preset/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,YAAY,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,UAAU,GACX,MAAM,WAAW,CAAC;AAGnB,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGrE,YAAY,EACV,kBAAkB,EAClB,2BAA2B,EAC3B,6BAA6B,EAC7B,yBAAyB,EACzB,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EACZ,yBAAyB,EACzB,uBAAuB,EACvB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,eAAe,CAAC"}