@pluto-khronos/types 0.1.0 → 0.1.2

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.
@@ -1,3 +1,4 @@
1
+ import type { Team } from 'resolve-team';
1
2
  /**
2
3
  * @group Channels
3
4
  * Schemas for managing Discord channel-related operations
@@ -191,12 +192,12 @@ export declare const channelAggregatedSchema: z.ZodObject<{
191
192
  } | undefined;
192
193
  }>;
193
194
  /**
194
- * Schema for match embed preparation data
195
- * @group Channel Embeds
195
+ * Schema for match embed display data
196
+ * @group Channel Creation
196
197
  */
197
- export declare const prepareMatchEmbedSchema: z.ZodObject<{
198
+ export declare const matchEmbedDisplaySchema: z.ZodObject<{
198
199
  favored: z.ZodString;
199
- favoredTeamClr: z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodEnum<["DEFAULT", "WHITE", "AQUA", "GREEN", "BLUE", "YELLOW", "PURPLE", "LUMINOUS_VIVID_PINK", "FUCHSIA", "GOLD", "ORANGE", "RED", "GREY", "NAVY", "DARK_AQUA", "DARK_GREEN", "DARK_BLUE", "DARK_PURPLE", "DARK_VIVID_PINK", "DARK_GOLD", "DARK_ORANGE", "DARK_RED", "DARK_GREY", "DARKER_GREY", "LIGHT_GREY", "DARK_NAVY", "BLURPLE", "GREYPLE", "DARK_BUT_NOT_BLACK", "NOT_QUITE_BLACK", "RANDOM"]>]>;
200
+ favoredTeamClr: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodEnum<["DEFAULT", "WHITE", "AQUA", "GREEN", "BLUE", "YELLOW", "PURPLE", "LUMINOUS_VIVID_PINK", "FUCHSIA", "GOLD", "ORANGE", "RED", "GREY", "NAVY", "DARK_AQUA", "DARK_GREEN", "DARK_BLUE", "DARK_PURPLE", "DARK_VIVID_PINK", "DARK_GOLD", "DARK_ORANGE", "DARK_RED", "DARK_GREY", "DARKER_GREY", "LIGHT_GREY", "DARK_NAVY", "BLURPLE", "GREYPLE", "DARK_BUT_NOT_BLACK", "NOT_QUITE_BLACK", "RANDOM"]>]>, number | "Default" | "White" | "Aqua" | "Green" | "Blue" | "Yellow" | "Purple" | "LuminousVividPink" | "Fuchsia" | "Gold" | "Orange" | "Red" | "Grey" | "Navy" | "DarkAqua" | "DarkGreen" | "DarkBlue" | "DarkPurple" | "DarkVividPink" | "DarkGold" | "DarkOrange" | "DarkRed" | "DarkGrey" | "DarkerGrey" | "LightGrey" | "DarkNavy" | "Blurple" | "Greyple" | "DarkButNotBlack" | "NotQuiteBlack" | "Random" | readonly [red: number, green: number, blue: number] | `#${string}`, string | number>;
200
201
  home_team: z.ZodString;
201
202
  homeTeamShortName: z.ZodString;
202
203
  away_team: z.ZodString;
@@ -241,7 +242,7 @@ export declare const prepareMatchEmbedSchema: z.ZodObject<{
241
242
  sport: "nba" | "nfl";
242
243
  homeTeamShortName: string;
243
244
  awayTeamShortName: string;
244
- favoredTeamClr: string | number;
245
+ favoredTeamClr: number | "Default" | "White" | "Aqua" | "Green" | "Blue" | "Yellow" | "Purple" | "LuminousVividPink" | "Fuchsia" | "Gold" | "Orange" | "Red" | "Grey" | "Navy" | "DarkAqua" | "DarkGreen" | "DarkBlue" | "DarkPurple" | "DarkVividPink" | "DarkGold" | "DarkOrange" | "DarkRed" | "DarkGrey" | "DarkerGrey" | "LightGrey" | "DarkNavy" | "Blurple" | "Greyple" | "DarkButNotBlack" | "NotQuiteBlack" | "Random" | readonly [red: number, green: number, blue: number] | `#${string}`;
245
246
  bettingChanId: string;
246
247
  header: string;
247
248
  records?: {
@@ -756,15 +757,536 @@ export declare const incomingChannelDataSchema: z.ZodObject<{
756
757
  preferredTeams?: string[] | undefined;
757
758
  }[];
758
759
  }>;
760
+ export declare const ChannelWithGuildAggregatedSchema: z.ZodObject<{
761
+ channel: z.ZodObject<{
762
+ metadata: z.ZodOptional<z.ZodObject<{
763
+ headline: z.ZodNullable<z.ZodOptional<z.ZodString>>;
764
+ records: z.ZodNullable<z.ZodOptional<z.ZodObject<{
765
+ home_team: z.ZodObject<{
766
+ total_record: z.ZodString;
767
+ }, "strip", z.ZodTypeAny, {
768
+ total_record: string;
769
+ }, {
770
+ total_record: string;
771
+ }>;
772
+ away_team: z.ZodObject<{
773
+ total_record: z.ZodString;
774
+ }, "strip", z.ZodTypeAny, {
775
+ total_record: string;
776
+ }, {
777
+ total_record: string;
778
+ }>;
779
+ }, "strip", z.ZodTypeAny, {
780
+ home_team: {
781
+ total_record: string;
782
+ };
783
+ away_team: {
784
+ total_record: string;
785
+ };
786
+ }, {
787
+ home_team: {
788
+ total_record: string;
789
+ };
790
+ away_team: {
791
+ total_record: string;
792
+ };
793
+ }>>>;
794
+ }, "strip", z.ZodTypeAny, {
795
+ headline?: string | null | undefined;
796
+ records?: {
797
+ home_team: {
798
+ total_record: string;
799
+ };
800
+ away_team: {
801
+ total_record: string;
802
+ };
803
+ } | null | undefined;
804
+ }, {
805
+ headline?: string | null | undefined;
806
+ records?: {
807
+ home_team: {
808
+ total_record: string;
809
+ };
810
+ away_team: {
811
+ total_record: string;
812
+ };
813
+ } | null | undefined;
814
+ }>>;
815
+ home_team: z.ZodString;
816
+ away_team: z.ZodString;
817
+ id: z.ZodString;
818
+ sport: z.ZodEnum<["nba", "nfl"]>;
819
+ created: z.ZodBoolean;
820
+ gametime: z.ZodDate;
821
+ channelname: z.ZodString;
822
+ matchOdds: z.ZodObject<{
823
+ favored: z.ZodString;
824
+ home_team_odds: z.ZodNumber;
825
+ away_team_odds: z.ZodNumber;
826
+ }, "strip", z.ZodTypeAny, {
827
+ favored: string;
828
+ home_team_odds: number;
829
+ away_team_odds: number;
830
+ }, {
831
+ favored: string;
832
+ home_team_odds: number;
833
+ away_team_odds: number;
834
+ }>;
835
+ }, "strip", z.ZodTypeAny, {
836
+ home_team: string;
837
+ away_team: string;
838
+ sport: "nba" | "nfl";
839
+ id: string;
840
+ created: boolean;
841
+ gametime: Date;
842
+ channelname: string;
843
+ matchOdds: {
844
+ favored: string;
845
+ home_team_odds: number;
846
+ away_team_odds: number;
847
+ };
848
+ metadata?: {
849
+ headline?: string | null | undefined;
850
+ records?: {
851
+ home_team: {
852
+ total_record: string;
853
+ };
854
+ away_team: {
855
+ total_record: string;
856
+ };
857
+ } | null | undefined;
858
+ } | undefined;
859
+ }, {
860
+ home_team: string;
861
+ away_team: string;
862
+ sport: "nba" | "nfl";
863
+ id: string;
864
+ created: boolean;
865
+ gametime: Date;
866
+ channelname: string;
867
+ matchOdds: {
868
+ favored: string;
869
+ home_team_odds: number;
870
+ away_team_odds: number;
871
+ };
872
+ metadata?: {
873
+ headline?: string | null | undefined;
874
+ records?: {
875
+ home_team: {
876
+ total_record: string;
877
+ };
878
+ away_team: {
879
+ total_record: string;
880
+ };
881
+ } | null | undefined;
882
+ } | undefined;
883
+ }>;
884
+ guild: z.ZodObject<z.objectUtil.extendShape<{
885
+ guildId: z.ZodString;
886
+ bettingChannelId: z.ZodString;
887
+ gameCategoryId: z.ZodString;
888
+ preferredTeams: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
889
+ sport: z.ZodString;
890
+ }, {
891
+ eligibleMatches: z.ZodArray<z.ZodString, "many">;
892
+ }>, "strip", z.ZodTypeAny, {
893
+ guildId: string;
894
+ bettingChannelId: string;
895
+ gameCategoryId: string;
896
+ sport: string;
897
+ eligibleMatches: string[];
898
+ preferredTeams?: string[] | undefined;
899
+ }, {
900
+ guildId: string;
901
+ bettingChannelId: string;
902
+ gameCategoryId: string;
903
+ sport: string;
904
+ eligibleMatches: string[];
905
+ preferredTeams?: string[] | undefined;
906
+ }>;
907
+ }, "strip", z.ZodTypeAny, {
908
+ channel: {
909
+ home_team: string;
910
+ away_team: string;
911
+ sport: "nba" | "nfl";
912
+ id: string;
913
+ created: boolean;
914
+ gametime: Date;
915
+ channelname: string;
916
+ matchOdds: {
917
+ favored: string;
918
+ home_team_odds: number;
919
+ away_team_odds: number;
920
+ };
921
+ metadata?: {
922
+ headline?: string | null | undefined;
923
+ records?: {
924
+ home_team: {
925
+ total_record: string;
926
+ };
927
+ away_team: {
928
+ total_record: string;
929
+ };
930
+ } | null | undefined;
931
+ } | undefined;
932
+ };
933
+ guild: {
934
+ guildId: string;
935
+ bettingChannelId: string;
936
+ gameCategoryId: string;
937
+ sport: string;
938
+ eligibleMatches: string[];
939
+ preferredTeams?: string[] | undefined;
940
+ };
941
+ }, {
942
+ channel: {
943
+ home_team: string;
944
+ away_team: string;
945
+ sport: "nba" | "nfl";
946
+ id: string;
947
+ created: boolean;
948
+ gametime: Date;
949
+ channelname: string;
950
+ matchOdds: {
951
+ favored: string;
952
+ home_team_odds: number;
953
+ away_team_odds: number;
954
+ };
955
+ metadata?: {
956
+ headline?: string | null | undefined;
957
+ records?: {
958
+ home_team: {
959
+ total_record: string;
960
+ };
961
+ away_team: {
962
+ total_record: string;
963
+ };
964
+ } | null | undefined;
965
+ } | undefined;
966
+ };
967
+ guild: {
968
+ guildId: string;
969
+ bettingChannelId: string;
970
+ gameCategoryId: string;
971
+ sport: string;
972
+ eligibleMatches: string[];
973
+ preferredTeams?: string[] | undefined;
974
+ };
975
+ }>;
759
976
  /**
760
- * Type representing guild data with channel eligibility
761
- * @group Guilds
977
+ * Pluto aggregated data structure when creating a channel
978
+ * Pluto adds the favored team and match image
979
+ * @group Channel Creation
762
980
  */
981
+ export declare const channelEmbedPayloadSchema: z.ZodObject<z.objectUtil.extendShape<{
982
+ channel: z.ZodObject<{
983
+ metadata: z.ZodOptional<z.ZodObject<{
984
+ headline: z.ZodNullable<z.ZodOptional<z.ZodString>>;
985
+ records: z.ZodNullable<z.ZodOptional<z.ZodObject<{
986
+ home_team: z.ZodObject<{
987
+ total_record: z.ZodString;
988
+ }, "strip", z.ZodTypeAny, {
989
+ total_record: string;
990
+ }, {
991
+ total_record: string;
992
+ }>;
993
+ away_team: z.ZodObject<{
994
+ total_record: z.ZodString;
995
+ }, "strip", z.ZodTypeAny, {
996
+ total_record: string;
997
+ }, {
998
+ total_record: string;
999
+ }>;
1000
+ }, "strip", z.ZodTypeAny, {
1001
+ home_team: {
1002
+ total_record: string;
1003
+ };
1004
+ away_team: {
1005
+ total_record: string;
1006
+ };
1007
+ }, {
1008
+ home_team: {
1009
+ total_record: string;
1010
+ };
1011
+ away_team: {
1012
+ total_record: string;
1013
+ };
1014
+ }>>>;
1015
+ }, "strip", z.ZodTypeAny, {
1016
+ headline?: string | null | undefined;
1017
+ records?: {
1018
+ home_team: {
1019
+ total_record: string;
1020
+ };
1021
+ away_team: {
1022
+ total_record: string;
1023
+ };
1024
+ } | null | undefined;
1025
+ }, {
1026
+ headline?: string | null | undefined;
1027
+ records?: {
1028
+ home_team: {
1029
+ total_record: string;
1030
+ };
1031
+ away_team: {
1032
+ total_record: string;
1033
+ };
1034
+ } | null | undefined;
1035
+ }>>;
1036
+ home_team: z.ZodString;
1037
+ away_team: z.ZodString;
1038
+ id: z.ZodString;
1039
+ sport: z.ZodEnum<["nba", "nfl"]>;
1040
+ created: z.ZodBoolean;
1041
+ gametime: z.ZodDate;
1042
+ channelname: z.ZodString;
1043
+ matchOdds: z.ZodObject<{
1044
+ favored: z.ZodString;
1045
+ home_team_odds: z.ZodNumber;
1046
+ away_team_odds: z.ZodNumber;
1047
+ }, "strip", z.ZodTypeAny, {
1048
+ favored: string;
1049
+ home_team_odds: number;
1050
+ away_team_odds: number;
1051
+ }, {
1052
+ favored: string;
1053
+ home_team_odds: number;
1054
+ away_team_odds: number;
1055
+ }>;
1056
+ }, "strip", z.ZodTypeAny, {
1057
+ home_team: string;
1058
+ away_team: string;
1059
+ sport: "nba" | "nfl";
1060
+ id: string;
1061
+ created: boolean;
1062
+ gametime: Date;
1063
+ channelname: string;
1064
+ matchOdds: {
1065
+ favored: string;
1066
+ home_team_odds: number;
1067
+ away_team_odds: number;
1068
+ };
1069
+ metadata?: {
1070
+ headline?: string | null | undefined;
1071
+ records?: {
1072
+ home_team: {
1073
+ total_record: string;
1074
+ };
1075
+ away_team: {
1076
+ total_record: string;
1077
+ };
1078
+ } | null | undefined;
1079
+ } | undefined;
1080
+ }, {
1081
+ home_team: string;
1082
+ away_team: string;
1083
+ sport: "nba" | "nfl";
1084
+ id: string;
1085
+ created: boolean;
1086
+ gametime: Date;
1087
+ channelname: string;
1088
+ matchOdds: {
1089
+ favored: string;
1090
+ home_team_odds: number;
1091
+ away_team_odds: number;
1092
+ };
1093
+ metadata?: {
1094
+ headline?: string | null | undefined;
1095
+ records?: {
1096
+ home_team: {
1097
+ total_record: string;
1098
+ };
1099
+ away_team: {
1100
+ total_record: string;
1101
+ };
1102
+ } | null | undefined;
1103
+ } | undefined;
1104
+ }>;
1105
+ guild: z.ZodObject<z.objectUtil.extendShape<{
1106
+ guildId: z.ZodString;
1107
+ bettingChannelId: z.ZodString;
1108
+ gameCategoryId: z.ZodString;
1109
+ preferredTeams: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1110
+ sport: z.ZodString;
1111
+ }, {
1112
+ eligibleMatches: z.ZodArray<z.ZodString, "many">;
1113
+ }>, "strip", z.ZodTypeAny, {
1114
+ guildId: string;
1115
+ bettingChannelId: string;
1116
+ gameCategoryId: string;
1117
+ sport: string;
1118
+ eligibleMatches: string[];
1119
+ preferredTeams?: string[] | undefined;
1120
+ }, {
1121
+ guildId: string;
1122
+ bettingChannelId: string;
1123
+ gameCategoryId: string;
1124
+ sport: string;
1125
+ eligibleMatches: string[];
1126
+ preferredTeams?: string[] | undefined;
1127
+ }>;
1128
+ }, {
1129
+ metadata: z.ZodObject<{
1130
+ headline: z.ZodNullable<z.ZodOptional<z.ZodString>>;
1131
+ records: z.ZodNullable<z.ZodOptional<z.ZodObject<{
1132
+ home_team: z.ZodObject<{
1133
+ total_record: z.ZodString;
1134
+ }, "strip", z.ZodTypeAny, {
1135
+ total_record: string;
1136
+ }, {
1137
+ total_record: string;
1138
+ }>;
1139
+ away_team: z.ZodObject<{
1140
+ total_record: z.ZodString;
1141
+ }, "strip", z.ZodTypeAny, {
1142
+ total_record: string;
1143
+ }, {
1144
+ total_record: string;
1145
+ }>;
1146
+ }, "strip", z.ZodTypeAny, {
1147
+ home_team: {
1148
+ total_record: string;
1149
+ };
1150
+ away_team: {
1151
+ total_record: string;
1152
+ };
1153
+ }, {
1154
+ home_team: {
1155
+ total_record: string;
1156
+ };
1157
+ away_team: {
1158
+ total_record: string;
1159
+ };
1160
+ }>>>;
1161
+ favoredTeamInfo: z.ZodType<Team, z.ZodTypeDef, Team>;
1162
+ matchImg: z.ZodNullable<z.ZodType<Buffer<ArrayBuffer>, z.ZodTypeDef, Buffer<ArrayBuffer>>>;
1163
+ }, "strip", z.ZodTypeAny, {
1164
+ favoredTeamInfo: Team;
1165
+ matchImg: Buffer<ArrayBuffer> | null;
1166
+ headline?: string | null | undefined;
1167
+ records?: {
1168
+ home_team: {
1169
+ total_record: string;
1170
+ };
1171
+ away_team: {
1172
+ total_record: string;
1173
+ };
1174
+ } | null | undefined;
1175
+ }, {
1176
+ favoredTeamInfo: Team;
1177
+ matchImg: Buffer<ArrayBuffer> | null;
1178
+ headline?: string | null | undefined;
1179
+ records?: {
1180
+ home_team: {
1181
+ total_record: string;
1182
+ };
1183
+ away_team: {
1184
+ total_record: string;
1185
+ };
1186
+ } | null | undefined;
1187
+ }>;
1188
+ }>, "strip", z.ZodTypeAny, {
1189
+ metadata: {
1190
+ favoredTeamInfo: Team;
1191
+ matchImg: Buffer<ArrayBuffer> | null;
1192
+ headline?: string | null | undefined;
1193
+ records?: {
1194
+ home_team: {
1195
+ total_record: string;
1196
+ };
1197
+ away_team: {
1198
+ total_record: string;
1199
+ };
1200
+ } | null | undefined;
1201
+ };
1202
+ channel: {
1203
+ home_team: string;
1204
+ away_team: string;
1205
+ sport: "nba" | "nfl";
1206
+ id: string;
1207
+ created: boolean;
1208
+ gametime: Date;
1209
+ channelname: string;
1210
+ matchOdds: {
1211
+ favored: string;
1212
+ home_team_odds: number;
1213
+ away_team_odds: number;
1214
+ };
1215
+ metadata?: {
1216
+ headline?: string | null | undefined;
1217
+ records?: {
1218
+ home_team: {
1219
+ total_record: string;
1220
+ };
1221
+ away_team: {
1222
+ total_record: string;
1223
+ };
1224
+ } | null | undefined;
1225
+ } | undefined;
1226
+ };
1227
+ guild: {
1228
+ guildId: string;
1229
+ bettingChannelId: string;
1230
+ gameCategoryId: string;
1231
+ sport: string;
1232
+ eligibleMatches: string[];
1233
+ preferredTeams?: string[] | undefined;
1234
+ };
1235
+ }, {
1236
+ metadata: {
1237
+ favoredTeamInfo: Team;
1238
+ matchImg: Buffer<ArrayBuffer> | null;
1239
+ headline?: string | null | undefined;
1240
+ records?: {
1241
+ home_team: {
1242
+ total_record: string;
1243
+ };
1244
+ away_team: {
1245
+ total_record: string;
1246
+ };
1247
+ } | null | undefined;
1248
+ };
1249
+ channel: {
1250
+ home_team: string;
1251
+ away_team: string;
1252
+ sport: "nba" | "nfl";
1253
+ id: string;
1254
+ created: boolean;
1255
+ gametime: Date;
1256
+ channelname: string;
1257
+ matchOdds: {
1258
+ favored: string;
1259
+ home_team_odds: number;
1260
+ away_team_odds: number;
1261
+ };
1262
+ metadata?: {
1263
+ headline?: string | null | undefined;
1264
+ records?: {
1265
+ home_team: {
1266
+ total_record: string;
1267
+ };
1268
+ away_team: {
1269
+ total_record: string;
1270
+ };
1271
+ } | null | undefined;
1272
+ } | undefined;
1273
+ };
1274
+ guild: {
1275
+ guildId: string;
1276
+ bettingChannelId: string;
1277
+ gameCategoryId: string;
1278
+ sport: string;
1279
+ eligibleMatches: string[];
1280
+ preferredTeams?: string[] | undefined;
1281
+ };
1282
+ }>;
1283
+ export type ChannelWithGuildAggregated = z.infer<typeof ChannelWithGuildAggregatedSchema>;
1284
+ export type ChannelEmbedPayload = z.infer<typeof channelEmbedPayloadSchema>;
763
1285
  export type ChannelEligibleGuild = z.infer<typeof channelEligibleGuildSchema>;
764
1286
  export type ChannelDeletionJob = z.infer<typeof channelDeletionJobSchema>;
765
1287
  export type ChannelDeletionResult = z.infer<typeof channelDeletionResultSchema>;
766
1288
  export type ChannelDeletionEvent = z.infer<typeof channelDeletionEventSchema>;
767
1289
  export type ChannelAggregated = z.infer<typeof channelAggregatedSchema>;
768
- export type PrepareMatchEmbed = z.infer<typeof prepareMatchEmbedSchema>;
1290
+ export type MatchEmbedDisplay = z.infer<typeof matchEmbedDisplaySchema>;
769
1291
  export type ChannelCreationEvent = z.infer<typeof channelCreationEventSchema>;
770
1292
  export type IncomingChannelData = z.infer<typeof incomingChannelDataSchema>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.incomingChannelDataSchema = exports.channelCreationEventSchema = exports.channelEligibleGuildSchema = exports.prepareMatchEmbedSchema = exports.channelAggregatedSchema = exports.channelDeletionEventSchema = exports.channelDeletionResultSchema = exports.channelDeletionJobSchema = void 0;
3
+ exports.channelEmbedPayloadSchema = exports.ChannelWithGuildAggregatedSchema = exports.incomingChannelDataSchema = exports.channelCreationEventSchema = exports.channelEligibleGuildSchema = exports.matchEmbedDisplaySchema = exports.channelAggregatedSchema = exports.channelDeletionEventSchema = exports.channelDeletionResultSchema = exports.channelDeletionJobSchema = void 0;
4
4
  /**
5
5
  * @group Channels
6
6
  * Schemas for managing Discord channel-related operations
@@ -79,10 +79,10 @@ exports.channelAggregatedSchema = zod_1.z
79
79
  })
80
80
  .describe('Aggregated channel information including match and odds details');
81
81
  /**
82
- * Schema for match embed preparation data
83
- * @group Channel Embeds
82
+ * Schema for match embed display data
83
+ * @group Channel Creation
84
84
  */
85
- exports.prepareMatchEmbedSchema = zod_1.z
85
+ exports.matchEmbedDisplaySchema = zod_1.z
86
86
  .object({
87
87
  favored: zod_1.z.string().describe('Team favored to win'),
88
88
  favoredTeamClr: colors_1.colorResolvableSchema.describe('Color for the favored team'),
@@ -102,7 +102,7 @@ exports.prepareMatchEmbedSchema = zod_1.z
102
102
  .optional()
103
103
  .describe('Optional team records'),
104
104
  })
105
- .describe('Data structure for preparing match embed messages');
105
+ .describe('Data structure for match embed display formatting');
106
106
  /**
107
107
  * Schema for guild data with channel creation eligibility
108
108
  * @group Guilds
@@ -139,3 +139,21 @@ exports.incomingChannelDataSchema = zod_1.z
139
139
  .describe('Array of eligible guild data'),
140
140
  })
141
141
  .describe('Schema for Pluto to process channel creation events');
142
+ exports.ChannelWithGuildAggregatedSchema = zod_1.z
143
+ .object({
144
+ channel: exports.channelAggregatedSchema,
145
+ guild: exports.channelEligibleGuildSchema,
146
+ })
147
+ .describe('Combined data structure of a channel that will be created and the guild information paired with it');
148
+ /**
149
+ * Pluto aggregated data structure when creating a channel
150
+ * Pluto adds the favored team and match image
151
+ * @group Channel Creation
152
+ */
153
+ exports.channelEmbedPayloadSchema = exports.ChannelWithGuildAggregatedSchema.extend({
154
+ metadata: zod_1.z.object({
155
+ favoredTeamInfo: zod_1.z.custom().describe('Resolved team information'),
156
+ matchImg: zod_1.z.instanceof(Buffer).nullable().describe('Match image buffer'),
157
+ ...match_metadata_1.matchMetadataSchema.shape,
158
+ }),
159
+ }).describe('Data required to create a channel and send an embed');
@@ -7,9 +7,10 @@ import { z } from 'zod';
7
7
  * Schema for Discord.js color values, supporting hex, integer, and named colors
8
8
  * @group Colors
9
9
  */
10
- export declare const colorResolvableSchema: z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodEnum<["DEFAULT", "WHITE", "AQUA", "GREEN", "BLUE", "YELLOW", "PURPLE", "LUMINOUS_VIVID_PINK", "FUCHSIA", "GOLD", "ORANGE", "RED", "GREY", "NAVY", "DARK_AQUA", "DARK_GREEN", "DARK_BLUE", "DARK_PURPLE", "DARK_VIVID_PINK", "DARK_GOLD", "DARK_ORANGE", "DARK_RED", "DARK_GREY", "DARKER_GREY", "LIGHT_GREY", "DARK_NAVY", "BLURPLE", "GREYPLE", "DARK_BUT_NOT_BLACK", "NOT_QUITE_BLACK", "RANDOM"]>]>;
10
+ export declare const colorResolvableSchema: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodEnum<["DEFAULT", "WHITE", "AQUA", "GREEN", "BLUE", "YELLOW", "PURPLE", "LUMINOUS_VIVID_PINK", "FUCHSIA", "GOLD", "ORANGE", "RED", "GREY", "NAVY", "DARK_AQUA", "DARK_GREEN", "DARK_BLUE", "DARK_PURPLE", "DARK_VIVID_PINK", "DARK_GOLD", "DARK_ORANGE", "DARK_RED", "DARK_GREY", "DARKER_GREY", "LIGHT_GREY", "DARK_NAVY", "BLURPLE", "GREYPLE", "DARK_BUT_NOT_BLACK", "NOT_QUITE_BLACK", "RANDOM"]>]>, number | "Default" | "White" | "Aqua" | "Green" | "Blue" | "Yellow" | "Purple" | "LuminousVividPink" | "Fuchsia" | "Gold" | "Orange" | "Red" | "Grey" | "Navy" | "DarkAqua" | "DarkGreen" | "DarkBlue" | "DarkPurple" | "DarkVividPink" | "DarkGold" | "DarkOrange" | "DarkRed" | "DarkGrey" | "DarkerGrey" | "LightGrey" | "DarkNavy" | "Blurple" | "Greyple" | "DarkButNotBlack" | "NotQuiteBlack" | "Random" | readonly [red: number, green: number, blue: number] | `#${string}`, string | number>;
11
11
  /**
12
12
  * Type representing a Discord.js color value
13
+ * Directly compatible with Discord.js ColorResolvable type when discord.js is installed
13
14
  * @group Colors
14
15
  */
15
- export type ColorResolvable = z.infer<typeof colorResolvableSchema>;
16
+ export type ColorResolvable = z.output<typeof colorResolvableSchema>;
@@ -58,4 +58,5 @@ exports.colorResolvableSchema = zod_1.z
58
58
  ])
59
59
  .describe('Discord.js predefined color names'),
60
60
  ])
61
+ .transform((val) => val)
61
62
  .describe('Discord.js ColorResolvable - supports hex codes, integers, and predefined color names');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pluto-khronos/types",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Shared TypeScript types for Pluto & Khronos projects",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -13,7 +13,8 @@
13
13
  "clean": "rm -rf dist",
14
14
  "format": "biome check --write --unsafe .",
15
15
  "docs": "typedoc",
16
- "docs:watch": "typedoc --watch"
16
+ "docs:watch": "typedoc --watch",
17
+ "prepublish": "bun run build && bun run type-check && bun run format && bun run docs"
17
18
  },
18
19
  "publishConfig": {
19
20
  "access": "public"
@@ -27,6 +28,7 @@
27
28
  "@biomejs/biome": "1.9.4",
28
29
  "@types/bun": "^1.2.3",
29
30
  "@types/node": "^22.13.5",
31
+ "discord.js": "^14.18.0",
30
32
  "lefthook": "^1.11.0",
31
33
  "typedoc": "^0.27.8",
32
34
  "typedoc-plugin-markdown": "^4.4.2",
@@ -36,6 +38,10 @@
36
38
  "typescript": "^5.0.0"
37
39
  },
38
40
  "dependencies": {
41
+ "resolve-team": "^2.0.4",
39
42
  "zod": "^3.24.2"
43
+ },
44
+ "peerDependencies": {
45
+ "discord.js": "^14.0.0"
40
46
  }
41
47
  }