mcp-server-return-to-dark-tower 1.0.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.
- package/CHANGELOG.md +39 -0
- package/LICENSE +21 -0
- package/README.md +729 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +133 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts/index.d.ts +3 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +250 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/resources/index.d.ts +4 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +228 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/tools/audio.d.ts +4 -0
- package/dist/tools/audio.d.ts.map +1 -0
- package/dist/tools/audio.js +59 -0
- package/dist/tools/audio.js.map +1 -0
- package/dist/tools/connection.d.ts +4 -0
- package/dist/tools/connection.d.ts.map +1 -0
- package/dist/tools/connection.js +111 -0
- package/dist/tools/connection.js.map +1 -0
- package/dist/tools/drums.d.ts +4 -0
- package/dist/tools/drums.d.ts.map +1 -0
- package/dist/tools/drums.js +70 -0
- package/dist/tools/drums.js.map +1 -0
- package/dist/tools/lights.d.ts +4 -0
- package/dist/tools/lights.d.ts.map +1 -0
- package/dist/tools/lights.js +86 -0
- package/dist/tools/lights.js.map +1 -0
- package/dist/tools/seals.d.ts +4 -0
- package/dist/tools/seals.d.ts.map +1 -0
- package/dist/tools/seals.js +60 -0
- package/dist/tools/seals.js.map +1 -0
- package/dist/tools/state.d.ts +4 -0
- package/dist/tools/state.d.ts.map +1 -0
- package/dist/tools/state.js +64 -0
- package/dist/tools/state.js.map +1 -0
- package/dist/tower-controller.d.ts +87 -0
- package/dist/tower-controller.d.ts.map +1 -0
- package/dist/tower-controller.js +355 -0
- package/dist/tower-controller.js.map +1 -0
- package/dist/utils/logger.d.ts +11 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +29 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/lookups.d.ts +14 -0
- package/dist/utils/lookups.d.ts.map +1 -0
- package/dist/utils/lookups.js +33 -0
- package/dist/utils/lookups.js.map +1 -0
- package/dist/utils/schemas.d.ts +165 -0
- package/dist/utils/schemas.d.ts.map +1 -0
- package/dist/utils/schemas.js +70 -0
- package/dist/utils/schemas.js.map +1 -0
- package/package.json +69 -0
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const TowerSideSchema: z.ZodEnum<["north", "south", "east", "west"]>;
|
|
3
|
+
export declare const TowerLevelsSchema: z.ZodEnum<["top", "middle", "bottom"]>;
|
|
4
|
+
export declare const TowerCornerSchema: z.ZodEnum<["northeast", "southeast", "southwest", "northwest"]>;
|
|
5
|
+
export declare const LightEffectNameSchema: z.ZodEnum<["off", "on", "breathe", "breatheFast", "breathe50percent", "flicker"]>;
|
|
6
|
+
export declare const BaseLightLevelSchema: z.ZodEnum<["top", "bottom", "a", "b"]>;
|
|
7
|
+
export declare const DoorwayLightSchema: z.ZodObject<{
|
|
8
|
+
position: z.ZodEnum<["north", "south", "east", "west"]>;
|
|
9
|
+
level: z.ZodEnum<["top", "middle", "bottom"]>;
|
|
10
|
+
style: z.ZodEnum<["off", "on", "breathe", "breatheFast", "breathe50percent", "flicker"]>;
|
|
11
|
+
}, "strip", z.ZodTypeAny, {
|
|
12
|
+
level: "top" | "middle" | "bottom";
|
|
13
|
+
position: "north" | "south" | "east" | "west";
|
|
14
|
+
style: "off" | "on" | "breathe" | "breatheFast" | "breathe50percent" | "flicker";
|
|
15
|
+
}, {
|
|
16
|
+
level: "top" | "middle" | "bottom";
|
|
17
|
+
position: "north" | "south" | "east" | "west";
|
|
18
|
+
style: "off" | "on" | "breathe" | "breatheFast" | "breathe50percent" | "flicker";
|
|
19
|
+
}>;
|
|
20
|
+
export declare const LedgeLightSchema: z.ZodObject<{
|
|
21
|
+
position: z.ZodEnum<["northeast", "southeast", "southwest", "northwest"]>;
|
|
22
|
+
style: z.ZodEnum<["off", "on", "breathe", "breatheFast", "breathe50percent", "flicker"]>;
|
|
23
|
+
}, "strip", z.ZodTypeAny, {
|
|
24
|
+
position: "northeast" | "southeast" | "southwest" | "northwest";
|
|
25
|
+
style: "off" | "on" | "breathe" | "breatheFast" | "breathe50percent" | "flicker";
|
|
26
|
+
}, {
|
|
27
|
+
position: "northeast" | "southeast" | "southwest" | "northwest";
|
|
28
|
+
style: "off" | "on" | "breathe" | "breatheFast" | "breathe50percent" | "flicker";
|
|
29
|
+
}>;
|
|
30
|
+
export declare const BaseLightPositionSchema: z.ZodObject<{
|
|
31
|
+
side: z.ZodEnum<["north", "south", "east", "west"]>;
|
|
32
|
+
level: z.ZodEnum<["top", "bottom", "a", "b"]>;
|
|
33
|
+
}, "strip", z.ZodTypeAny, {
|
|
34
|
+
level: "top" | "bottom" | "a" | "b";
|
|
35
|
+
side: "north" | "south" | "east" | "west";
|
|
36
|
+
}, {
|
|
37
|
+
level: "top" | "bottom" | "a" | "b";
|
|
38
|
+
side: "north" | "south" | "east" | "west";
|
|
39
|
+
}>;
|
|
40
|
+
export declare const BaseLightSchema: z.ZodObject<{
|
|
41
|
+
position: z.ZodObject<{
|
|
42
|
+
side: z.ZodEnum<["north", "south", "east", "west"]>;
|
|
43
|
+
level: z.ZodEnum<["top", "bottom", "a", "b"]>;
|
|
44
|
+
}, "strip", z.ZodTypeAny, {
|
|
45
|
+
level: "top" | "bottom" | "a" | "b";
|
|
46
|
+
side: "north" | "south" | "east" | "west";
|
|
47
|
+
}, {
|
|
48
|
+
level: "top" | "bottom" | "a" | "b";
|
|
49
|
+
side: "north" | "south" | "east" | "west";
|
|
50
|
+
}>;
|
|
51
|
+
style: z.ZodEnum<["off", "on", "breathe", "breatheFast", "breathe50percent", "flicker"]>;
|
|
52
|
+
}, "strip", z.ZodTypeAny, {
|
|
53
|
+
position: {
|
|
54
|
+
level: "top" | "bottom" | "a" | "b";
|
|
55
|
+
side: "north" | "south" | "east" | "west";
|
|
56
|
+
};
|
|
57
|
+
style: "off" | "on" | "breathe" | "breatheFast" | "breathe50percent" | "flicker";
|
|
58
|
+
}, {
|
|
59
|
+
position: {
|
|
60
|
+
level: "top" | "bottom" | "a" | "b";
|
|
61
|
+
side: "north" | "south" | "east" | "west";
|
|
62
|
+
};
|
|
63
|
+
style: "off" | "on" | "breathe" | "breatheFast" | "breathe50percent" | "flicker";
|
|
64
|
+
}>;
|
|
65
|
+
export declare const LightsSchema: z.ZodObject<{
|
|
66
|
+
doorway: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
67
|
+
position: z.ZodEnum<["north", "south", "east", "west"]>;
|
|
68
|
+
level: z.ZodEnum<["top", "middle", "bottom"]>;
|
|
69
|
+
style: z.ZodEnum<["off", "on", "breathe", "breatheFast", "breathe50percent", "flicker"]>;
|
|
70
|
+
}, "strip", z.ZodTypeAny, {
|
|
71
|
+
level: "top" | "middle" | "bottom";
|
|
72
|
+
position: "north" | "south" | "east" | "west";
|
|
73
|
+
style: "off" | "on" | "breathe" | "breatheFast" | "breathe50percent" | "flicker";
|
|
74
|
+
}, {
|
|
75
|
+
level: "top" | "middle" | "bottom";
|
|
76
|
+
position: "north" | "south" | "east" | "west";
|
|
77
|
+
style: "off" | "on" | "breathe" | "breatheFast" | "breathe50percent" | "flicker";
|
|
78
|
+
}>, "many">>;
|
|
79
|
+
ledge: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
80
|
+
position: z.ZodEnum<["northeast", "southeast", "southwest", "northwest"]>;
|
|
81
|
+
style: z.ZodEnum<["off", "on", "breathe", "breatheFast", "breathe50percent", "flicker"]>;
|
|
82
|
+
}, "strip", z.ZodTypeAny, {
|
|
83
|
+
position: "northeast" | "southeast" | "southwest" | "northwest";
|
|
84
|
+
style: "off" | "on" | "breathe" | "breatheFast" | "breathe50percent" | "flicker";
|
|
85
|
+
}, {
|
|
86
|
+
position: "northeast" | "southeast" | "southwest" | "northwest";
|
|
87
|
+
style: "off" | "on" | "breathe" | "breatheFast" | "breathe50percent" | "flicker";
|
|
88
|
+
}>, "many">>;
|
|
89
|
+
base: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
90
|
+
position: z.ZodObject<{
|
|
91
|
+
side: z.ZodEnum<["north", "south", "east", "west"]>;
|
|
92
|
+
level: z.ZodEnum<["top", "bottom", "a", "b"]>;
|
|
93
|
+
}, "strip", z.ZodTypeAny, {
|
|
94
|
+
level: "top" | "bottom" | "a" | "b";
|
|
95
|
+
side: "north" | "south" | "east" | "west";
|
|
96
|
+
}, {
|
|
97
|
+
level: "top" | "bottom" | "a" | "b";
|
|
98
|
+
side: "north" | "south" | "east" | "west";
|
|
99
|
+
}>;
|
|
100
|
+
style: z.ZodEnum<["off", "on", "breathe", "breatheFast", "breathe50percent", "flicker"]>;
|
|
101
|
+
}, "strip", z.ZodTypeAny, {
|
|
102
|
+
position: {
|
|
103
|
+
level: "top" | "bottom" | "a" | "b";
|
|
104
|
+
side: "north" | "south" | "east" | "west";
|
|
105
|
+
};
|
|
106
|
+
style: "off" | "on" | "breathe" | "breatheFast" | "breathe50percent" | "flicker";
|
|
107
|
+
}, {
|
|
108
|
+
position: {
|
|
109
|
+
level: "top" | "bottom" | "a" | "b";
|
|
110
|
+
side: "north" | "south" | "east" | "west";
|
|
111
|
+
};
|
|
112
|
+
style: "off" | "on" | "breathe" | "breatheFast" | "breathe50percent" | "flicker";
|
|
113
|
+
}>, "many">>;
|
|
114
|
+
}, "strip", z.ZodTypeAny, {
|
|
115
|
+
doorway?: {
|
|
116
|
+
level: "top" | "middle" | "bottom";
|
|
117
|
+
position: "north" | "south" | "east" | "west";
|
|
118
|
+
style: "off" | "on" | "breathe" | "breatheFast" | "breathe50percent" | "flicker";
|
|
119
|
+
}[] | undefined;
|
|
120
|
+
ledge?: {
|
|
121
|
+
position: "northeast" | "southeast" | "southwest" | "northwest";
|
|
122
|
+
style: "off" | "on" | "breathe" | "breatheFast" | "breathe50percent" | "flicker";
|
|
123
|
+
}[] | undefined;
|
|
124
|
+
base?: {
|
|
125
|
+
position: {
|
|
126
|
+
level: "top" | "bottom" | "a" | "b";
|
|
127
|
+
side: "north" | "south" | "east" | "west";
|
|
128
|
+
};
|
|
129
|
+
style: "off" | "on" | "breathe" | "breatheFast" | "breathe50percent" | "flicker";
|
|
130
|
+
}[] | undefined;
|
|
131
|
+
}, {
|
|
132
|
+
doorway?: {
|
|
133
|
+
level: "top" | "middle" | "bottom";
|
|
134
|
+
position: "north" | "south" | "east" | "west";
|
|
135
|
+
style: "off" | "on" | "breathe" | "breatheFast" | "breathe50percent" | "flicker";
|
|
136
|
+
}[] | undefined;
|
|
137
|
+
ledge?: {
|
|
138
|
+
position: "northeast" | "southeast" | "southwest" | "northwest";
|
|
139
|
+
style: "off" | "on" | "breathe" | "breatheFast" | "breathe50percent" | "flicker";
|
|
140
|
+
}[] | undefined;
|
|
141
|
+
base?: {
|
|
142
|
+
position: {
|
|
143
|
+
level: "top" | "bottom" | "a" | "b";
|
|
144
|
+
side: "north" | "south" | "east" | "west";
|
|
145
|
+
};
|
|
146
|
+
style: "off" | "on" | "breathe" | "breatheFast" | "breathe50percent" | "flicker";
|
|
147
|
+
}[] | undefined;
|
|
148
|
+
}>;
|
|
149
|
+
export declare const SealIdentifierSchema: z.ZodObject<{
|
|
150
|
+
side: z.ZodEnum<["north", "south", "east", "west"]>;
|
|
151
|
+
level: z.ZodEnum<["top", "middle", "bottom"]>;
|
|
152
|
+
}, "strip", z.ZodTypeAny, {
|
|
153
|
+
level: "top" | "middle" | "bottom";
|
|
154
|
+
side: "north" | "south" | "east" | "west";
|
|
155
|
+
}, {
|
|
156
|
+
level: "top" | "middle" | "bottom";
|
|
157
|
+
side: "north" | "south" | "east" | "west";
|
|
158
|
+
}>;
|
|
159
|
+
export declare const GlyphSchema: z.ZodEnum<["cleanse", "quest", "battle", "banner", "reinforce"]>;
|
|
160
|
+
export declare const SoundIndexSchema: z.ZodNumber;
|
|
161
|
+
export declare const VolumeSchema: z.ZodNumber;
|
|
162
|
+
export declare const StatefulVolumeSchema: z.ZodNumber;
|
|
163
|
+
export declare const DrumLevelSchema: z.ZodEnum<["top", "middle", "bottom"]>;
|
|
164
|
+
export declare const LightSequenceSchema: z.ZodNumber;
|
|
165
|
+
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/utils/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,eAAe,+CAA6C,CAAC;AAC1E,eAAO,MAAM,iBAAiB,wCAAsC,CAAC;AACrE,eAAO,MAAM,iBAAiB,iEAA+D,CAAC;AAG9F,eAAO,MAAM,qBAAqB,mFAEF,CAAC;AAGjC,eAAO,MAAM,oBAAoB,wCAAsC,CAAC;AAGxE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAI7B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;EAG3B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;EAGlC,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;EAG1B,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIvB,CAAC;AAGH,eAAO,MAAM,oBAAoB;;;;;;;;;EAG/B,CAAC;AAGH,eAAO,MAAM,WAAW,kEAAgE,CAAC;AAGzF,eAAO,MAAM,gBAAgB,aAK8B,CAAC;AAE5D,eAAO,MAAM,YAAY,aAKuB,CAAC;AAEjD,eAAO,MAAM,oBAAoB,aAKe,CAAC;AAGjD,eAAO,MAAM,eAAe,wCAAsC,CAAC;AAGnE,eAAO,MAAM,mBAAmB,aAK2B,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
// Tower navigation
|
|
3
|
+
export const TowerSideSchema = z.enum(["north", "south", "east", "west"]);
|
|
4
|
+
export const TowerLevelsSchema = z.enum(["top", "middle", "bottom"]);
|
|
5
|
+
export const TowerCornerSchema = z.enum(["northeast", "southeast", "southwest", "northwest"]);
|
|
6
|
+
// Light effects — style is a string key into LIGHT_EFFECTS
|
|
7
|
+
export const LightEffectNameSchema = z
|
|
8
|
+
.enum(["off", "on", "breathe", "breatheFast", "breathe50percent", "flicker"])
|
|
9
|
+
.describe("Light effect name");
|
|
10
|
+
// Base light levels
|
|
11
|
+
export const BaseLightLevelSchema = z.enum(["top", "bottom", "a", "b"]);
|
|
12
|
+
// Light configuration schemas
|
|
13
|
+
export const DoorwayLightSchema = z.object({
|
|
14
|
+
position: TowerSideSchema,
|
|
15
|
+
level: TowerLevelsSchema,
|
|
16
|
+
style: LightEffectNameSchema,
|
|
17
|
+
});
|
|
18
|
+
export const LedgeLightSchema = z.object({
|
|
19
|
+
position: TowerCornerSchema,
|
|
20
|
+
style: LightEffectNameSchema,
|
|
21
|
+
});
|
|
22
|
+
export const BaseLightPositionSchema = z.object({
|
|
23
|
+
side: TowerSideSchema,
|
|
24
|
+
level: BaseLightLevelSchema,
|
|
25
|
+
});
|
|
26
|
+
export const BaseLightSchema = z.object({
|
|
27
|
+
position: BaseLightPositionSchema,
|
|
28
|
+
style: LightEffectNameSchema,
|
|
29
|
+
});
|
|
30
|
+
export const LightsSchema = z.object({
|
|
31
|
+
doorway: z.array(DoorwayLightSchema).optional(),
|
|
32
|
+
ledge: z.array(LedgeLightSchema).optional(),
|
|
33
|
+
base: z.array(BaseLightSchema).optional(),
|
|
34
|
+
});
|
|
35
|
+
// Seals
|
|
36
|
+
export const SealIdentifierSchema = z.object({
|
|
37
|
+
side: TowerSideSchema,
|
|
38
|
+
level: TowerLevelsSchema,
|
|
39
|
+
});
|
|
40
|
+
// Glyphs
|
|
41
|
+
export const GlyphSchema = z.enum(["cleanse", "quest", "battle", "banner", "reinforce"]);
|
|
42
|
+
// Audio
|
|
43
|
+
export const SoundIndexSchema = z
|
|
44
|
+
.number()
|
|
45
|
+
.int()
|
|
46
|
+
.min(1)
|
|
47
|
+
.max(113)
|
|
48
|
+
.describe("Sound index (1-113) from tower audio library");
|
|
49
|
+
export const VolumeSchema = z
|
|
50
|
+
.number()
|
|
51
|
+
.int()
|
|
52
|
+
.min(0)
|
|
53
|
+
.max(3)
|
|
54
|
+
.describe("0=Loud, 1=Medium, 2=Quiet, 3=Mute");
|
|
55
|
+
export const StatefulVolumeSchema = z
|
|
56
|
+
.number()
|
|
57
|
+
.int()
|
|
58
|
+
.min(0)
|
|
59
|
+
.max(3)
|
|
60
|
+
.describe("0=Loud, 1=Medium, 2=Quiet, 3=Soft");
|
|
61
|
+
// Drums
|
|
62
|
+
export const DrumLevelSchema = z.enum(["top", "middle", "bottom"]);
|
|
63
|
+
// Light sequences
|
|
64
|
+
export const LightSequenceSchema = z
|
|
65
|
+
.number()
|
|
66
|
+
.int()
|
|
67
|
+
.min(0x01)
|
|
68
|
+
.max(0x13)
|
|
69
|
+
.describe("Light sequence ID from TOWER_LIGHT_SEQUENCES");
|
|
70
|
+
//# sourceMappingURL=schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/utils/schemas.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "mcp-server-return-to-dark-tower",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "MCP server for controlling the Return to Dark Tower board game tower via Bluetooth",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"bin": {
|
|
8
|
+
"mcp-server-dark-tower": "dist/index.js"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist/",
|
|
12
|
+
"README.md",
|
|
13
|
+
"LICENSE",
|
|
14
|
+
"CHANGELOG.md"
|
|
15
|
+
],
|
|
16
|
+
"publishConfig": {
|
|
17
|
+
"access": "public"
|
|
18
|
+
},
|
|
19
|
+
"scripts": {
|
|
20
|
+
"build": "tsc",
|
|
21
|
+
"dev": "tsx watch src/index.ts",
|
|
22
|
+
"start": "node dist/index.js",
|
|
23
|
+
"inspect": "npm run build && npx @modelcontextprotocol/inspector node dist/index.js",
|
|
24
|
+
"inspect:dev": "npx @modelcontextprotocol/inspector tsx src/index.ts",
|
|
25
|
+
"lint": "eslint src/ && prettier --check src/",
|
|
26
|
+
"lint:fix": "eslint src/ --fix && prettier --write src/",
|
|
27
|
+
"test": "echo \"No tests yet\" && exit 0",
|
|
28
|
+
"type-check": "tsc --noEmit",
|
|
29
|
+
"format": "prettier --write src/",
|
|
30
|
+
"format:check": "prettier --check src/",
|
|
31
|
+
"ci": "npm run lint && npm run type-check && npm run test && npm run build",
|
|
32
|
+
"prepack": "npm run ci",
|
|
33
|
+
"prepublishOnly": "npm run prepack",
|
|
34
|
+
"publish:check": "npm pack --dry-run"
|
|
35
|
+
},
|
|
36
|
+
"keywords": [
|
|
37
|
+
"mcp",
|
|
38
|
+
"model-context-protocol",
|
|
39
|
+
"return-to-dark-tower",
|
|
40
|
+
"bluetooth",
|
|
41
|
+
"ble",
|
|
42
|
+
"board-game",
|
|
43
|
+
"claude",
|
|
44
|
+
"ai"
|
|
45
|
+
],
|
|
46
|
+
"license": "MIT",
|
|
47
|
+
"engines": {
|
|
48
|
+
"node": ">=18"
|
|
49
|
+
},
|
|
50
|
+
"dependencies": {
|
|
51
|
+
"@modelcontextprotocol/sdk": "^1.27.0",
|
|
52
|
+
"express": "^4.21.0",
|
|
53
|
+
"ultimatedarktower": "^2.3.0",
|
|
54
|
+
"zod": "^3.25.0"
|
|
55
|
+
},
|
|
56
|
+
"peerDependencies": {
|
|
57
|
+
"@stoprocent/noble": "^2.0.0"
|
|
58
|
+
},
|
|
59
|
+
"devDependencies": {
|
|
60
|
+
"@eslint/js": "^9.0.0",
|
|
61
|
+
"@types/express": "^5.0.0",
|
|
62
|
+
"@types/node": "^22.0.0",
|
|
63
|
+
"eslint": "^9.0.0",
|
|
64
|
+
"prettier": "^3.4.0",
|
|
65
|
+
"tsx": "^4.19.0",
|
|
66
|
+
"typescript": "^5.7.0",
|
|
67
|
+
"typescript-eslint": "^8.0.0"
|
|
68
|
+
}
|
|
69
|
+
}
|