@rosen-bridge/fraud-extractor 2.2.0 → 2.2.1

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 ADDED
@@ -0,0 +1,199 @@
1
+ # @rosen-bridge/fraud-extractor
2
+
3
+ ## 2.2.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Update dependencies
8
+ - @rosen-bridge/abstract-extractor@2.1.1
9
+ - @rosen-bridge/extended-typeorm@1.0.0
10
+ - @rosen-bridge/json-bigint@1.0.0
11
+ - @rosen-bridge/abstract-logger@3.0.0
12
+ - @rosen-clients/ergo-explorer@2.0.0
13
+
14
+ ## 2.2.0
15
+
16
+ ### Minor Changes
17
+
18
+ - Upgrade to Node.js version 22.18.0
19
+
20
+ ### Patch Changes
21
+
22
+ - Update dependencies
23
+ - @rosen-bridge/abstract-extractor@2.1.0
24
+ - @rosen-bridge/scanner-interfaces@0.2.0
25
+
26
+ ## 2.1.3
27
+
28
+ ### Patch Changes
29
+
30
+ - Update package license to MIT
31
+ - Update dependencies
32
+ - @rosen-bridge/abstract-extractor@2.0.3
33
+ - @rosen-bridge/scanner-interfaces@0.1.1
34
+
35
+ ## 2.1.2
36
+
37
+ ### Patch Changes
38
+
39
+ - Update network clients and ethers and rateLimitedAxios packages
40
+ - Update dependencies
41
+ - @rosen-bridge/abstract-extractor@2.0.2
42
+
43
+ ## 2.1.1
44
+
45
+ ### Patch Changes
46
+
47
+ - Use rate limiting methods using @rosen-bridge/rate-limited-axios to prevent overwhelming the endpoints
48
+ - Updated dependencies
49
+ - @rosen-bridge/abstract-extractor@2.0.1
50
+
51
+ ## 2.1.0
52
+
53
+ ### Minor Changes
54
+
55
+ - Unify and move shared interfaces and update all package dependencies
56
+
57
+ ### Patch Changes
58
+
59
+ - Updated dependencies
60
+ - @rosen-bridge/abstract-extractor@2.0.0
61
+
62
+ ## 2.0.13
63
+
64
+ ### Patch Changes
65
+
66
+ - Updated dependencies
67
+ - @rosen-bridge/scanner@5.1.0
68
+ - @rosen-bridge/abstract-extractor@1.0.2
69
+
70
+ ## 2.0.12
71
+
72
+ ### Patch Changes
73
+
74
+ - Update node version to 20
75
+ - Update logger package
76
+ - Updated dependencies
77
+ - @rosen-bridge/abstract-extractor@1.0.1
78
+ - @rosen-bridge/scanner@5.0.2
79
+
80
+ ## 2.0.11
81
+
82
+ ### Patch Changes
83
+
84
+ - Updated dependencies
85
+ - @rosen-bridge/abstract-extractor@1.0.0
86
+ - @rosen-bridge/scanner@5.0.1
87
+
88
+ ## 2.0.10
89
+
90
+ ### Patch Changes
91
+
92
+ - Updated dependencies
93
+ - @rosen-bridge/scanner@5.0.0
94
+ - @rosen-bridge/abstract-extractor@0.3.1
95
+
96
+ ## 2.0.9
97
+
98
+ ### Patch Changes
99
+
100
+ - Updated dependencies
101
+ - @rosen-bridge/scanner@4.1.3
102
+
103
+ ## 2.0.8
104
+
105
+ ### Patch Changes
106
+
107
+ - Updated dependencies
108
+ - @rosen-bridge/abstract-extractor@0.3.0
109
+ - @rosen-bridge/scanner@4.1.2
110
+
111
+ ## 2.0.7
112
+
113
+ ### Patch Changes
114
+
115
+ - Updated dependencies
116
+ - @rosen-bridge/scanner@4.1.1
117
+
118
+ ## 2.0.6
119
+
120
+ ### Patch Changes
121
+
122
+ - Fix explorer response test data
123
+ - Updated dependencies
124
+ - @rosen-bridge/abstract-extractor@0.2.0
125
+ - @rosen-bridge/scanner@4.1.0
126
+
127
+ ## 2.0.5
128
+
129
+ ### Patch Changes
130
+
131
+ - Updated dependencies
132
+ - @rosen-bridge/abstract-extractor@0.1.5
133
+ - @rosen-bridge/scanner@4.0.5
134
+
135
+ ## 2.0.4
136
+
137
+ ### Patch Changes
138
+
139
+ - Updated dependencies
140
+ - @rosen-bridge/abstract-extractor@0.1.4
141
+ - @rosen-bridge/scanner@4.0.4
142
+
143
+ ## 2.0.3
144
+
145
+ ### Patch Changes
146
+
147
+ - Updated dependencies
148
+ - @rosen-bridge/abstract-extractor@0.1.3
149
+ - @rosen-bridge/scanner@4.0.3
150
+
151
+ ## 2.0.2
152
+
153
+ ### Patch Changes
154
+
155
+ - Updated dependencies
156
+ - @rosen-bridge/abstract-extractor@0.1.2
157
+ - @rosen-bridge/scanner@4.0.2
158
+
159
+ ## 2.0.1
160
+
161
+ ### Patch Changes
162
+
163
+ - Updated dependencies
164
+ - @rosen-bridge/abstract-extractor@0.1.1
165
+ - @rosen-bridge/scanner@4.0.1
166
+
167
+ ## 2.0.0
168
+
169
+ ### Major Changes
170
+
171
+ - Updated the InitializeBoxes interface to include the block hash. Previously, only block height was used as initialization point.
172
+
173
+ ### Patch Changes
174
+
175
+ - Update abstract extractor interface
176
+ - Updated dependencies
177
+ - @rosen-bridge/scanner@4.0.0
178
+
179
+ ## 1.2.9
180
+
181
+ ### Patch Changes
182
+
183
+ - Updated dependencies
184
+ - @rosen-bridge/scanner@3.2.9
185
+
186
+ ## 1.2.8
187
+
188
+ ### Patch Changes
189
+
190
+ - Updated dependencies
191
+ - @rosen-bridge/scanner@3.2.8
192
+
193
+ ## 1.2.7
194
+
195
+ ### Patch Changes
196
+
197
+ - Update typeorm version
198
+ - Updated dependencies
199
+ - @rosen-bridge/scanner@3.2.7
@@ -28,35 +28,35 @@ __decorate([
28
28
  __metadata("design:type", Number)
29
29
  ], FraudEntity.prototype, "id", void 0);
30
30
  __decorate([
31
- Column(),
31
+ Column({ type: 'varchar' }),
32
32
  __metadata("design:type", String)
33
33
  ], FraudEntity.prototype, "boxId", void 0);
34
34
  __decorate([
35
- Column(),
35
+ Column({ type: 'varchar' }),
36
36
  __metadata("design:type", String)
37
37
  ], FraudEntity.prototype, "creationBlock", void 0);
38
38
  __decorate([
39
- Column(),
39
+ Column({ type: 'int' }),
40
40
  __metadata("design:type", Number)
41
41
  ], FraudEntity.prototype, "creationHeight", void 0);
42
42
  __decorate([
43
- Column(),
43
+ Column({ type: 'varchar' }),
44
44
  __metadata("design:type", String)
45
45
  ], FraudEntity.prototype, "creationTxId", void 0);
46
46
  __decorate([
47
- Column(),
47
+ Column({ type: 'text' }),
48
48
  __metadata("design:type", String)
49
49
  ], FraudEntity.prototype, "serialized", void 0);
50
50
  __decorate([
51
- Column(),
51
+ Column({ type: 'varchar' }),
52
52
  __metadata("design:type", String)
53
53
  ], FraudEntity.prototype, "triggerBoxId", void 0);
54
54
  __decorate([
55
- Column(),
55
+ Column({ type: 'varchar' }),
56
56
  __metadata("design:type", String)
57
57
  ], FraudEntity.prototype, "wid", void 0);
58
58
  __decorate([
59
- Column(),
59
+ Column({ type: 'varchar' }),
60
60
  __metadata("design:type", String)
61
61
  ], FraudEntity.prototype, "rwtCount", void 0);
62
62
  __decorate([
@@ -64,7 +64,7 @@ __decorate([
64
64
  __metadata("design:type", Object)
65
65
  ], FraudEntity.prototype, "spendBlock", void 0);
66
66
  __decorate([
67
- Column({ nullable: true }),
67
+ Column({ nullable: true, type: 'int' }),
68
68
  __metadata("design:type", Number)
69
69
  ], FraudEntity.prototype, "spendHeight", void 0);
70
70
  __decorate([
@@ -72,11 +72,11 @@ __decorate([
72
72
  __metadata("design:type", Object)
73
73
  ], FraudEntity.prototype, "spendTxId", void 0);
74
74
  __decorate([
75
- Column(),
75
+ Column({ type: 'varchar' }),
76
76
  __metadata("design:type", String)
77
77
  ], FraudEntity.prototype, "extractor", void 0);
78
78
  FraudEntity = __decorate([
79
79
  Entity('fraud_entity')
80
80
  ], FraudEntity);
81
81
  export { FraudEntity };
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhdWRFbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZW50aXRpZXMvZnJhdWRFbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sc0JBQXNCLEdBQ3ZCLE1BQU0sZ0NBQWdDLENBQUM7QUFHakMsSUFBTSxXQUFXLEdBQWpCLE1BQU0sV0FBVztJQUV0QixFQUFFLENBQVM7SUFHWCxLQUFLLENBQVM7SUFHZCxhQUFhLENBQVM7SUFHdEIsY0FBYyxDQUFTO0lBR3ZCLFlBQVksQ0FBUztJQUdyQixVQUFVLENBQVM7SUFHbkIsWUFBWSxDQUFTO0lBR3JCLEdBQUcsQ0FBUztJQUdaLFFBQVEsQ0FBUztJQUdqQixVQUFVLENBQWlCO0lBRzNCLFdBQVcsQ0FBVTtJQUdyQixTQUFTLENBQWlCO0lBRzFCLFNBQVMsQ0FBUztDQUNuQixDQUFBO0FBckNDO0lBREMsc0JBQXNCLEVBQUU7O3VDQUNkO0FBR1g7SUFEQyxNQUFNLEVBQUU7OzBDQUNLO0FBR2Q7SUFEQyxNQUFNLEVBQUU7O2tEQUNhO0FBR3RCO0lBREMsTUFBTSxFQUFFOzttREFDYztBQUd2QjtJQURDLE1BQU0sRUFBRTs7aURBQ1k7QUFHckI7SUFEQyxNQUFNLEVBQUU7OytDQUNVO0FBR25CO0lBREMsTUFBTSxFQUFFOztpREFDWTtBQUdyQjtJQURDLE1BQU0sRUFBRTs7d0NBQ0c7QUFHWjtJQURDLE1BQU0sRUFBRTs7NkNBQ1E7QUFHakI7SUFEQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQzs7K0NBQ2Q7QUFHM0I7SUFEQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7O2dEQUNOO0FBR3JCO0lBREMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7OzhDQUNmO0FBRzFCO0lBREMsTUFBTSxFQUFFOzs4Q0FDUztBQXRDUCxXQUFXO0lBRHZCLE1BQU0sQ0FBQyxjQUFjLENBQUM7R0FDVixXQUFXLENBdUN2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbHVtbixcbiAgRW50aXR5LFxuICBQcmltYXJ5R2VuZXJhdGVkQ29sdW1uLFxufSBmcm9tICdAcm9zZW4tYnJpZGdlL2V4dGVuZGVkLXR5cGVvcm0nO1xuXG5ARW50aXR5KCdmcmF1ZF9lbnRpdHknKVxuZXhwb3J0IGNsYXNzIEZyYXVkRW50aXR5IHtcbiAgQFByaW1hcnlHZW5lcmF0ZWRDb2x1bW4oKVxuICBpZDogbnVtYmVyO1xuXG4gIEBDb2x1bW4oKVxuICBib3hJZDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBjcmVhdGlvbkJsb2NrOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIGNyZWF0aW9uSGVpZ2h0OiBudW1iZXI7XG5cbiAgQENvbHVtbigpXG4gIGNyZWF0aW9uVHhJZDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICBzZXJpYWxpemVkOiBzdHJpbmc7XG5cbiAgQENvbHVtbigpXG4gIHRyaWdnZXJCb3hJZDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oKVxuICB3aWQ6IHN0cmluZztcblxuICBAQ29sdW1uKClcbiAgcnd0Q291bnQ6IHN0cmluZztcblxuICBAQ29sdW1uKHsgbnVsbGFibGU6IHRydWUsIHR5cGU6ICd0ZXh0JyB9KVxuICBzcGVuZEJsb2NrPzogc3RyaW5nIHwgbnVsbDtcblxuICBAQ29sdW1uKHsgbnVsbGFibGU6IHRydWUgfSlcbiAgc3BlbmRIZWlnaHQ/OiBudW1iZXI7XG5cbiAgQENvbHVtbih7IG51bGxhYmxlOiB0cnVlLCB0eXBlOiAndGV4dCcgfSlcbiAgc3BlbmRUeElkPzogc3RyaW5nIHwgbnVsbDtcblxuICBAQ29sdW1uKClcbiAgZXh0cmFjdG9yOiBzdHJpbmc7XG59XG4iXX0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhdWRFbnRpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZW50aXRpZXMvZnJhdWRFbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sc0JBQXNCLEdBQ3ZCLE1BQU0sZ0NBQWdDLENBQUM7QUFHakMsSUFBTSxXQUFXLEdBQWpCLE1BQU0sV0FBVztJQUV0QixFQUFFLENBQVM7SUFHWCxLQUFLLENBQVM7SUFHZCxhQUFhLENBQVM7SUFHdEIsY0FBYyxDQUFTO0lBR3ZCLFlBQVksQ0FBUztJQUdyQixVQUFVLENBQVM7SUFHbkIsWUFBWSxDQUFTO0lBR3JCLEdBQUcsQ0FBUztJQUdaLFFBQVEsQ0FBUztJQUdqQixVQUFVLENBQWlCO0lBRzNCLFdBQVcsQ0FBVTtJQUdyQixTQUFTLENBQWlCO0lBRzFCLFNBQVMsQ0FBUztDQUNuQixDQUFBO0FBckNDO0lBREMsc0JBQXNCLEVBQUU7O3VDQUNkO0FBR1g7SUFEQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7OzBDQUNkO0FBR2Q7SUFEQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7O2tEQUNOO0FBR3RCO0lBREMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDOzttREFDRDtBQUd2QjtJQURDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQzs7aURBQ1A7QUFHckI7SUFEQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7OytDQUNOO0FBR25CO0lBREMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDOztpREFDUDtBQUdyQjtJQURDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQzs7d0NBQ2hCO0FBR1o7SUFEQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7OzZDQUNYO0FBR2pCO0lBREMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7OytDQUNkO0FBRzNCO0lBREMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7O2dEQUNuQjtBQUdyQjtJQURDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDOzs4Q0FDZjtBQUcxQjtJQURDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQzs7OENBQ1Y7QUF0Q1AsV0FBVztJQUR2QixNQUFNLENBQUMsY0FBYyxDQUFDO0dBQ1YsV0FBVyxDQXVDdkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb2x1bW4sXG4gIEVudGl0eSxcbiAgUHJpbWFyeUdlbmVyYXRlZENvbHVtbixcbn0gZnJvbSAnQHJvc2VuLWJyaWRnZS9leHRlbmRlZC10eXBlb3JtJztcblxuQEVudGl0eSgnZnJhdWRfZW50aXR5JylcbmV4cG9ydCBjbGFzcyBGcmF1ZEVudGl0eSB7XG4gIEBQcmltYXJ5R2VuZXJhdGVkQ29sdW1uKClcbiAgaWQ6IG51bWJlcjtcblxuICBAQ29sdW1uKHsgdHlwZTogJ3ZhcmNoYXInIH0pXG4gIGJveElkOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6ICd2YXJjaGFyJyB9KVxuICBjcmVhdGlvbkJsb2NrOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6ICdpbnQnIH0pXG4gIGNyZWF0aW9uSGVpZ2h0OiBudW1iZXI7XG5cbiAgQENvbHVtbih7IHR5cGU6ICd2YXJjaGFyJyB9KVxuICBjcmVhdGlvblR4SWQ6IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogJ3RleHQnIH0pXG4gIHNlcmlhbGl6ZWQ6IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogJ3ZhcmNoYXInIH0pXG4gIHRyaWdnZXJCb3hJZDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiAndmFyY2hhcicgfSlcbiAgd2lkOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6ICd2YXJjaGFyJyB9KVxuICByd3RDb3VudDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBudWxsYWJsZTogdHJ1ZSwgdHlwZTogJ3RleHQnIH0pXG4gIHNwZW5kQmxvY2s/OiBzdHJpbmcgfCBudWxsO1xuXG4gIEBDb2x1bW4oeyBudWxsYWJsZTogdHJ1ZSwgdHlwZTogJ2ludCcgfSlcbiAgc3BlbmRIZWlnaHQ/OiBudW1iZXI7XG5cbiAgQENvbHVtbih7IG51bGxhYmxlOiB0cnVlLCB0eXBlOiAndGV4dCcgfSlcbiAgc3BlbmRUeElkPzogc3RyaW5nIHwgbnVsbDtcblxuICBAQ29sdW1uKHsgdHlwZTogJ3ZhcmNoYXInIH0pXG4gIGV4dHJhY3Rvcjogc3RyaW5nO1xufVxuIl19
package/package.json CHANGED
@@ -1,43 +1,46 @@
1
1
  {
2
2
  "name": "@rosen-bridge/fraud-extractor",
3
- "version": "2.2.0",
3
+ "version": "2.2.1",
4
4
  "description": "fraud information extractor for watcher faulty reports",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/rosen-bridge/scanner.git"
8
+ },
5
9
  "author": "Rosen Team",
6
10
  "license": "MIT",
7
11
  "main": "dist/index.js",
8
12
  "types": "dist/index.d.ts",
9
13
  "files": [
10
- "dist"
14
+ "dist",
15
+ "CHANGELOG.md"
11
16
  ],
12
17
  "scripts": {
13
- "build": "tsc --build",
14
- "coverage": "jest --detectOpenHandles --coverage",
18
+ "build": "tsc --build tsconfig.build.json",
19
+ "coverage": "npm run test -- --coverage",
15
20
  "lint": "eslint --fix . && npm run prettify",
16
21
  "prettify": "prettier --write . --ignore-path ../../.gitignore",
17
- "release": "npm run test && npm run build && npm publish --access public",
18
- "test": "jest --detectOpenHandles",
22
+ "release": "npm run test -- --run && npm run build && npm publish --access public",
23
+ "test": "NODE_OPTIONS='--import tsx' vitest",
19
24
  "type-check": "tsc --noEmit"
20
25
  },
21
26
  "dependencies": {
22
- "@rosen-bridge/abstract-extractor": "^2.1.0",
23
- "@rosen-bridge/abstract-logger": "^2.0.1",
24
- "@rosen-bridge/extended-typeorm": "^0.2.1",
25
- "@rosen-bridge/json-bigint": "^0.1.0",
27
+ "@rosen-bridge/abstract-extractor": "^2.1.1",
28
+ "@rosen-bridge/abstract-logger": "^3.0.0",
29
+ "@rosen-bridge/extended-typeorm": "^1.0.0",
30
+ "@rosen-bridge/json-bigint": "^1.0.0",
26
31
  "@rosen-bridge/scanner-interfaces": "^0.2.0",
27
- "@rosen-clients/ergo-explorer": "^1.1.5",
32
+ "@rosen-clients/ergo-explorer": "^2.0.0",
28
33
  "ergo-lib-wasm-nodejs": "^0.24.1",
29
- "lodash-es": "^4.17.21",
30
- "sqlite3": "^5.1.7"
34
+ "lodash-es": "^4.17.21"
31
35
  },
32
36
  "type": "module",
33
37
  "devDependencies": {
34
- "@babel/preset-env": "^7.19.0",
35
- "@rosen-bridge/abstract-scanner": "^0.1.0",
36
- "@types/jest": "^28.1.6",
38
+ "@rosen-bridge/abstract-scanner": "^0.2.0",
37
39
  "@types/node": "^22.18.0",
38
- "jest": "^28.1.3",
39
- "ts-jest": "^28.0.7",
40
- "typescript": "^5.3.3"
40
+ "@vitest/coverage-istanbul": "^3.1.4",
41
+ "tsx": "^4.19.4",
42
+ "typescript": "^5.3.3",
43
+ "vitest": "^3.1.4"
41
44
  },
42
45
  "engines": {
43
46
  "node": ">=22.18.0"