@pluto-khronos/types 0.1.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.
@@ -0,0 +1,141 @@
1
+ "use strict";
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;
4
+ /**
5
+ * @group Channels
6
+ * Schemas for managing Discord channel-related operations
7
+ */
8
+ const zod_1 = require("zod");
9
+ const betting_1 = require("./betting");
10
+ const colors_1 = require("./colors");
11
+ const guilds_1 = require("./guilds");
12
+ const match_metadata_1 = require("./match-metadata");
13
+ const shared_1 = require("./shared");
14
+ const sports_1 = require("./sports");
15
+ const teams_1 = require("./teams");
16
+ /**
17
+ * Schema for channel deletion job data
18
+ * @group Channel Deletion
19
+ */
20
+ exports.channelDeletionJobSchema = zod_1.z
21
+ .object({
22
+ channelName: zod_1.z.string().describe('Name of the channel to be deleted'),
23
+ jobId: zod_1.z
24
+ .string()
25
+ .optional()
26
+ .describe('Optional unique identifier for the deletion job'),
27
+ })
28
+ .describe('BullMQ Schema structure for channel deletion jobs');
29
+ /**
30
+ * Schema for channel deletion operation results
31
+ * @group Channel Deletion
32
+ */
33
+ exports.channelDeletionResultSchema = zod_1.z
34
+ .object({
35
+ success: zod_1.z
36
+ .boolean()
37
+ .describe('Whether the deletion operation was successful'),
38
+ channelName: zod_1.z.string().describe('Name of the channel that was processed'),
39
+ error: zod_1.z.string().optional().describe('Error message if deletion failed'),
40
+ })
41
+ .describe('BullMQ Schema structure for channel deletion results');
42
+ /**
43
+ * Schema for channel deletion event data
44
+ * @group Channel Deletion
45
+ */
46
+ exports.channelDeletionEventSchema = zod_1.z
47
+ .object({
48
+ channelIds: zod_1.z
49
+ .array(zod_1.z.string())
50
+ .describe('Array of channel IDs to be deleted from Discord'),
51
+ metadata: zod_1.z
52
+ .object({
53
+ publishedAt: zod_1.z
54
+ .date()
55
+ .describe('Timestamp when the deletion event was published'),
56
+ eventId: zod_1.z
57
+ .string()
58
+ .describe('Unique identifier for tracking the deletion event'),
59
+ })
60
+ .describe('Metadata associated with the channel deletion event'),
61
+ })
62
+ .describe('BullMQ Schema structure for channel deletion events data');
63
+ /**
64
+ * Schema for aggregated channel information
65
+ * @group Channel Data
66
+ */
67
+ exports.channelAggregatedSchema = zod_1.z
68
+ .object({
69
+ id: zod_1.z.string().describe('Unique identifier for the channel'),
70
+ sport: sports_1.sportsServingSchema,
71
+ created: zod_1.z
72
+ .boolean()
73
+ .describe('Whether the channel has been created in Discord'),
74
+ gametime: zod_1.z.date().describe('Scheduled time for the game/match'),
75
+ channelname: zod_1.z.string().describe('Name of the Discord channel'),
76
+ matchOdds: betting_1.matchOddsSchema,
77
+ ...teams_1.matchTeamsSchema.shape,
78
+ metadata: match_metadata_1.matchMetadataSchema.optional(),
79
+ })
80
+ .describe('Aggregated channel information including match and odds details');
81
+ /**
82
+ * Schema for match embed preparation data
83
+ * @group Channel Embeds
84
+ */
85
+ exports.prepareMatchEmbedSchema = zod_1.z
86
+ .object({
87
+ favored: zod_1.z.string().describe('Team favored to win'),
88
+ favoredTeamClr: colors_1.colorResolvableSchema.describe('Color for the favored team'),
89
+ home_team: zod_1.z.string().describe('Full name of home team'),
90
+ homeTeamShortName: zod_1.z
91
+ .string()
92
+ .describe('Short name/abbreviation of home team'),
93
+ away_team: zod_1.z.string().describe('Full name of away team'),
94
+ awayTeamShortName: zod_1.z
95
+ .string()
96
+ .describe('Short name/abbreviation of away team'),
97
+ bettingChanId: zod_1.z.string().describe('ID of the betting channel'),
98
+ header: zod_1.z.string().describe('Header text for the match embed'),
99
+ sport: sports_1.sportsServingSchema.describe('Sport type for the match'),
100
+ records: sports_1.teamRecordsResultSchema
101
+ .nullable()
102
+ .optional()
103
+ .describe('Optional team records'),
104
+ })
105
+ .describe('Data structure for preparing match embed messages');
106
+ /**
107
+ * Schema for guild data with channel creation eligibility
108
+ * @group Guilds
109
+ */
110
+ exports.channelEligibleGuildSchema = guilds_1.guildConfigSchema
111
+ .extend({
112
+ eligibleMatches: zod_1.z
113
+ .array(zod_1.z.string())
114
+ .describe('List of match IDs eligible for channel creation'),
115
+ })
116
+ .describe('Guild data for channel creation eligibility');
117
+ /**
118
+ * Schema for channel creation events
119
+ * @group Channel Creation
120
+ */
121
+ exports.channelCreationEventSchema = zod_1.z
122
+ .object({
123
+ channel: exports.channelAggregatedSchema,
124
+ guild: exports.channelEligibleGuildSchema,
125
+ metadata: shared_1.bullMqMetadataSchema,
126
+ })
127
+ .describe('Event data for channel creation operations');
128
+ /**
129
+ * Schema for incoming channel data from Pluto
130
+ * @group Channel Data
131
+ */
132
+ exports.incomingChannelDataSchema = zod_1.z
133
+ .object({
134
+ channels: zod_1.z
135
+ .array(exports.channelAggregatedSchema)
136
+ .describe('Array of channel data'),
137
+ guilds: zod_1.z
138
+ .array(exports.channelEligibleGuildSchema)
139
+ .describe('Array of eligible guild data'),
140
+ })
141
+ .describe('Schema for Pluto to process channel creation events');
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @group Colors
3
+ * Schemas for Discord color-related types and validations
4
+ */
5
+ import { z } from 'zod';
6
+ /**
7
+ * Schema for Discord.js color values, supporting hex, integer, and named colors
8
+ * @group Colors
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"]>]>;
11
+ /**
12
+ * Type representing a Discord.js color value
13
+ * @group Colors
14
+ */
15
+ export type ColorResolvable = z.infer<typeof colorResolvableSchema>;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.colorResolvableSchema = void 0;
4
+ /**
5
+ * @group Colors
6
+ * Schemas for Discord color-related types and validations
7
+ */
8
+ const zod_1 = require("zod");
9
+ /**
10
+ * Schema for Discord.js color values, supporting hex, integer, and named colors
11
+ * @group Colors
12
+ */
13
+ exports.colorResolvableSchema = zod_1.z
14
+ .union([
15
+ zod_1.z
16
+ .string()
17
+ .regex(/^#[0-9A-Fa-f]{6}$/)
18
+ .describe('Hex color code in #RRGGBB format'),
19
+ zod_1.z
20
+ .number()
21
+ .int()
22
+ .min(0)
23
+ .max(0xffffff)
24
+ .describe('Integer color value between 0 and 16777215'),
25
+ zod_1.z
26
+ .enum([
27
+ 'DEFAULT',
28
+ 'WHITE',
29
+ 'AQUA',
30
+ 'GREEN',
31
+ 'BLUE',
32
+ 'YELLOW',
33
+ 'PURPLE',
34
+ 'LUMINOUS_VIVID_PINK',
35
+ 'FUCHSIA',
36
+ 'GOLD',
37
+ 'ORANGE',
38
+ 'RED',
39
+ 'GREY',
40
+ 'NAVY',
41
+ 'DARK_AQUA',
42
+ 'DARK_GREEN',
43
+ 'DARK_BLUE',
44
+ 'DARK_PURPLE',
45
+ 'DARK_VIVID_PINK',
46
+ 'DARK_GOLD',
47
+ 'DARK_ORANGE',
48
+ 'DARK_RED',
49
+ 'DARK_GREY',
50
+ 'DARKER_GREY',
51
+ 'LIGHT_GREY',
52
+ 'DARK_NAVY',
53
+ 'BLURPLE',
54
+ 'GREYPLE',
55
+ 'DARK_BUT_NOT_BLACK',
56
+ 'NOT_QUITE_BLACK',
57
+ 'RANDOM',
58
+ ])
59
+ .describe('Discord.js predefined color names'),
60
+ ])
61
+ .describe('Discord.js ColorResolvable - supports hex codes, integers, and predefined color names');
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @group Guilds
3
+ * Schemas and types for Discord guild (server) configurations
4
+ */
5
+ import { z } from 'zod';
6
+ /**
7
+ * Base schema for guild configuration
8
+ * @group Guilds
9
+ */
10
+ export declare const guildConfigSchema: z.ZodObject<{
11
+ guildId: z.ZodString;
12
+ bettingChannelId: z.ZodString;
13
+ gameCategoryId: z.ZodString;
14
+ preferredTeams: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
15
+ sport: z.ZodString;
16
+ }, "strip", z.ZodTypeAny, {
17
+ guildId: string;
18
+ bettingChannelId: string;
19
+ gameCategoryId: string;
20
+ sport: string;
21
+ preferredTeams?: string[] | undefined;
22
+ }, {
23
+ guildId: string;
24
+ bettingChannelId: string;
25
+ gameCategoryId: string;
26
+ sport: string;
27
+ preferredTeams?: string[] | undefined;
28
+ }>;
29
+ /**
30
+ * Type representing base guild configuration
31
+ * @group Guilds
32
+ */
33
+ export type GuildConfig = z.infer<typeof guildConfigSchema>;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.guildConfigSchema = void 0;
4
+ /**
5
+ * @group Guilds
6
+ * Schemas and types for Discord guild (server) configurations
7
+ */
8
+ const zod_1 = require("zod");
9
+ /**
10
+ * Base schema for guild configuration
11
+ * @group Guilds
12
+ */
13
+ exports.guildConfigSchema = zod_1.z
14
+ .object({
15
+ guildId: zod_1.z.string().describe('Discord guild (server) ID'),
16
+ bettingChannelId: zod_1.z
17
+ .string()
18
+ .describe('ID of the channel where betting takes place'),
19
+ gameCategoryId: zod_1.z
20
+ .string()
21
+ .describe('ID of the category where game channels are created'),
22
+ preferredTeams: zod_1.z
23
+ .array(zod_1.z.string())
24
+ .optional()
25
+ .describe('List of teams the guild follows. May be an empty array if the guild follows no teams, allowing them to receive data for all events for their defined sport'),
26
+ sport: zod_1.z.string().describe('Sport type for this guild configuration'),
27
+ })
28
+ .describe('Base Discord Guild configuration');
@@ -0,0 +1,63 @@
1
+ /**
2
+ * @group Metadata
3
+ * Common metadata schemas used across features
4
+ */
5
+ import { z } from 'zod';
6
+ /**
7
+ * Schema for match metadata
8
+ * @group Metadata
9
+ */
10
+ export declare const matchMetadataSchema: z.ZodObject<{
11
+ headline: z.ZodNullable<z.ZodOptional<z.ZodString>>;
12
+ records: z.ZodNullable<z.ZodOptional<z.ZodObject<{
13
+ home_team: z.ZodObject<{
14
+ total_record: z.ZodString;
15
+ }, "strip", z.ZodTypeAny, {
16
+ total_record: string;
17
+ }, {
18
+ total_record: string;
19
+ }>;
20
+ away_team: z.ZodObject<{
21
+ total_record: z.ZodString;
22
+ }, "strip", z.ZodTypeAny, {
23
+ total_record: string;
24
+ }, {
25
+ total_record: string;
26
+ }>;
27
+ }, "strip", z.ZodTypeAny, {
28
+ home_team: {
29
+ total_record: string;
30
+ };
31
+ away_team: {
32
+ total_record: string;
33
+ };
34
+ }, {
35
+ home_team: {
36
+ total_record: string;
37
+ };
38
+ away_team: {
39
+ total_record: string;
40
+ };
41
+ }>>>;
42
+ }, "strip", z.ZodTypeAny, {
43
+ headline?: string | null | undefined;
44
+ records?: {
45
+ home_team: {
46
+ total_record: string;
47
+ };
48
+ away_team: {
49
+ total_record: string;
50
+ };
51
+ } | null | undefined;
52
+ }, {
53
+ headline?: string | null | undefined;
54
+ records?: {
55
+ home_team: {
56
+ total_record: string;
57
+ };
58
+ away_team: {
59
+ total_record: string;
60
+ };
61
+ } | null | undefined;
62
+ }>;
63
+ export type MatchMetadata = z.infer<typeof matchMetadataSchema>;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.matchMetadataSchema = void 0;
4
+ /**
5
+ * @group Metadata
6
+ * Common metadata schemas used across features
7
+ */
8
+ const zod_1 = require("zod");
9
+ const sports_1 = require("./sports");
10
+ /**
11
+ * Schema for match metadata
12
+ * @group Metadata
13
+ */
14
+ exports.matchMetadataSchema = zod_1.z
15
+ .object({
16
+ headline: zod_1.z.string().optional().nullable().describe('Match headline'),
17
+ records: sports_1.teamRecordsResultSchema
18
+ .optional()
19
+ .nullable()
20
+ .describe('Team records information'),
21
+ })
22
+ .describe('Match metadata information');
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @group Shared
3
+ * Shared schemas and types used across multiple features
4
+ */
5
+ import { z } from 'zod';
6
+ /**
7
+ * Schema for BullMQ job metadata
8
+ * @group Queue
9
+ */
10
+ export declare const bullMqMetadataSchema: z.ZodObject<{
11
+ publishedAt: z.ZodDate;
12
+ eventId: z.ZodString;
13
+ }, "strip", z.ZodTypeAny, {
14
+ publishedAt: Date;
15
+ eventId: string;
16
+ }, {
17
+ publishedAt: Date;
18
+ eventId: string;
19
+ }>;
20
+ /**
21
+ * Type representing BullMQ job metadata
22
+ * @group Queue
23
+ */
24
+ export type BullMqMetadata = z.infer<typeof bullMqMetadataSchema>;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.bullMqMetadataSchema = void 0;
4
+ /**
5
+ * @group Shared
6
+ * Shared schemas and types used across multiple features
7
+ */
8
+ const zod_1 = require("zod");
9
+ /**
10
+ * Schema for BullMQ job metadata
11
+ * @group Queue
12
+ */
13
+ exports.bullMqMetadataSchema = zod_1.z
14
+ .object({
15
+ publishedAt: zod_1.z.date().describe('Timestamp when the event was published'),
16
+ eventId: zod_1.z.string().describe('Unique identifier for tracking the event'),
17
+ })
18
+ .describe('Common metadata structure for BullMQ jobs');
@@ -0,0 +1,79 @@
1
+ /**
2
+ * @group Sports
3
+ * Schemas and types for sports-related data
4
+ */
5
+ import { z } from 'zod';
6
+ /**
7
+ * Constant object defining supported sports
8
+ * @group Sports
9
+ */
10
+ export declare const SportsServing: {
11
+ readonly nba: "nba";
12
+ readonly nfl: "nfl";
13
+ };
14
+ /**
15
+ * Schema for supported sports in the application
16
+ * @group Sports
17
+ */
18
+ export declare const sportsServingSchema: z.ZodEnum<["nba", "nfl"]>;
19
+ /**
20
+ * Schema for a team's record information
21
+ * @group Sports
22
+ */
23
+ export declare const teamRecordSchema: z.ZodObject<{
24
+ total_record: z.ZodString;
25
+ }, "strip", z.ZodTypeAny, {
26
+ total_record: string;
27
+ }, {
28
+ total_record: string;
29
+ }>;
30
+ /**
31
+ * Schema for both teams' record information in a match
32
+ * @group Sports
33
+ */
34
+ export declare const teamRecordsResultSchema: z.ZodObject<{
35
+ home_team: z.ZodObject<{
36
+ total_record: z.ZodString;
37
+ }, "strip", z.ZodTypeAny, {
38
+ total_record: string;
39
+ }, {
40
+ total_record: string;
41
+ }>;
42
+ away_team: z.ZodObject<{
43
+ total_record: z.ZodString;
44
+ }, "strip", z.ZodTypeAny, {
45
+ total_record: string;
46
+ }, {
47
+ total_record: string;
48
+ }>;
49
+ }, "strip", z.ZodTypeAny, {
50
+ home_team: {
51
+ total_record: string;
52
+ };
53
+ away_team: {
54
+ total_record: string;
55
+ };
56
+ }, {
57
+ home_team: {
58
+ total_record: string;
59
+ };
60
+ away_team: {
61
+ total_record: string;
62
+ };
63
+ }>;
64
+ /**
65
+ * Type representing a team's record
66
+ * @group Sports
67
+ */
68
+ export type TeamRecord = z.infer<typeof teamRecordSchema>;
69
+ /**
70
+ * Type representing both teams' records in a match
71
+
72
+ * @group Sports
73
+ */
74
+ export type TeamRecordsResult = z.infer<typeof teamRecordsResultSchema>;
75
+ /**
76
+ * Type representing the sports we support
77
+ * @group Sports
78
+ */
79
+ export type SportsServing = z.infer<typeof sportsServingSchema>;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.teamRecordsResultSchema = exports.teamRecordSchema = exports.sportsServingSchema = exports.SportsServing = void 0;
4
+ /**
5
+ * @group Sports
6
+ * Schemas and types for sports-related data
7
+ */
8
+ const zod_1 = require("zod");
9
+ /**
10
+ * Constant object defining supported sports
11
+ * @group Sports
12
+ */
13
+ exports.SportsServing = {
14
+ nba: 'nba',
15
+ nfl: 'nfl',
16
+ };
17
+ /**
18
+ * Schema for supported sports in the application
19
+ * @group Sports
20
+ */
21
+ exports.sportsServingSchema = zod_1.z
22
+ .enum(['nba', 'nfl'])
23
+ .describe('Sports we support in the APIs');
24
+ /**
25
+ * Schema for a team's record information
26
+ * @group Sports
27
+ */
28
+ exports.teamRecordSchema = zod_1.z
29
+ .object({
30
+ total_record: zod_1.z.string().describe("Team's total win-loss record"),
31
+ })
32
+ .describe('Team record structure');
33
+ /**
34
+ * Schema for both teams' record information in a match
35
+ * @group Sports
36
+ */
37
+ exports.teamRecordsResultSchema = zod_1.z
38
+ .object({
39
+ home_team: exports.teamRecordSchema.describe("Home team's record"),
40
+ away_team: exports.teamRecordSchema.describe("Away team's record"),
41
+ })
42
+ .describe('Team Record information for both teams in a match');
@@ -0,0 +1,35 @@
1
+ /**
2
+ * @group Teams
3
+ * Schemas for team-related data
4
+ */
5
+ import { z } from 'zod';
6
+ /**
7
+ * Schema for team names in a match
8
+ * @group Teams
9
+ */
10
+ export declare const matchTeamsSchema: z.ZodObject<{
11
+ home_team: z.ZodString;
12
+ away_team: z.ZodString;
13
+ }, "strip", z.ZodTypeAny, {
14
+ home_team: string;
15
+ away_team: string;
16
+ }, {
17
+ home_team: string;
18
+ away_team: string;
19
+ }>;
20
+ /**
21
+ * Schema for team abbreviations
22
+ * @group Teams
23
+ */
24
+ export declare const teamAbbreviationsSchema: z.ZodObject<{
25
+ homeTeamShortName: z.ZodString;
26
+ awayTeamShortName: z.ZodString;
27
+ }, "strip", z.ZodTypeAny, {
28
+ homeTeamShortName: string;
29
+ awayTeamShortName: string;
30
+ }, {
31
+ homeTeamShortName: string;
32
+ awayTeamShortName: string;
33
+ }>;
34
+ export type MatchTeams = z.infer<typeof matchTeamsSchema>;
35
+ export type TeamAbbreviations = z.infer<typeof teamAbbreviationsSchema>;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.teamAbbreviationsSchema = exports.matchTeamsSchema = void 0;
4
+ /**
5
+ * @group Teams
6
+ * Schemas for team-related data
7
+ */
8
+ const zod_1 = require("zod");
9
+ /**
10
+ * Schema for team names in a match
11
+ * @group Teams
12
+ */
13
+ exports.matchTeamsSchema = zod_1.z
14
+ .object({
15
+ home_team: zod_1.z.string().describe('Name of the home team'),
16
+ away_team: zod_1.z.string().describe('Name of the away team'),
17
+ })
18
+ .describe('Team names in a match');
19
+ /**
20
+ * Schema for team abbreviations
21
+ * @group Teams
22
+ */
23
+ exports.teamAbbreviationsSchema = zod_1.z
24
+ .object({
25
+ homeTeamShortName: zod_1.z
26
+ .string()
27
+ .describe('Short name/abbreviation of home team'),
28
+ awayTeamShortName: zod_1.z
29
+ .string()
30
+ .describe('Short name/abbreviation of away team'),
31
+ })
32
+ .describe('Team abbreviations');
@@ -0,0 +1 @@
1
+ export type ColorResolvable = `#${string}` | "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;
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json ADDED
@@ -0,0 +1,41 @@
1
+ {
2
+ "name": "@pluto-khronos/types",
3
+ "version": "0.1.0",
4
+ "description": "Shared TypeScript types for Pluto & Khronos projects",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "dist"
9
+ ],
10
+ "scripts": {
11
+ "build": "tsc",
12
+ "type-check": "tsc --noEmit",
13
+ "clean": "rm -rf dist",
14
+ "format": "biome check --write --unsafe .",
15
+ "docs": "typedoc",
16
+ "docs:watch": "typedoc --watch"
17
+ },
18
+ "publishConfig": {
19
+ "access": "public"
20
+ },
21
+ "keywords": [
22
+ "typescript",
23
+ "types"
24
+ ],
25
+ "license": "MIT",
26
+ "devDependencies": {
27
+ "@biomejs/biome": "1.9.4",
28
+ "@types/bun": "^1.2.3",
29
+ "@types/node": "^22.13.5",
30
+ "lefthook": "^1.11.0",
31
+ "typedoc": "^0.27.8",
32
+ "typedoc-plugin-markdown": "^4.4.2",
33
+ "typedoc-plugin-mdn-links": "^4.0.14",
34
+ "typedoc-plugin-zod": "^1.3.1",
35
+ "typedoc-theme-hierarchy": "^5.0.4",
36
+ "typescript": "^5.0.0"
37
+ },
38
+ "dependencies": {
39
+ "zod": "^3.24.2"
40
+ }
41
+ }