@ccpocket-base-auth/bridge 1.26.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/README.md +67 -0
- package/dist/archive-store.d.ts +28 -0
- package/dist/archive-store.js +68 -0
- package/dist/archive-store.js.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +82 -0
- package/dist/cli.js.map +1 -0
- package/dist/codex-process.d.ts +171 -0
- package/dist/codex-process.js +1928 -0
- package/dist/codex-process.js.map +1 -0
- package/dist/debug-trace-store.d.ts +15 -0
- package/dist/debug-trace-store.js +78 -0
- package/dist/debug-trace-store.js.map +1 -0
- package/dist/doctor.d.ts +58 -0
- package/dist/doctor.js +663 -0
- package/dist/doctor.js.map +1 -0
- package/dist/firebase-auth.d.ts +35 -0
- package/dist/firebase-auth.js +132 -0
- package/dist/firebase-auth.js.map +1 -0
- package/dist/gallery-store.d.ts +67 -0
- package/dist/gallery-store.js +333 -0
- package/dist/gallery-store.js.map +1 -0
- package/dist/image-store.d.ts +23 -0
- package/dist/image-store.js +142 -0
- package/dist/image-store.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +191 -0
- package/dist/index.js.map +1 -0
- package/dist/mdns.d.ts +7 -0
- package/dist/mdns.js +49 -0
- package/dist/mdns.js.map +1 -0
- package/dist/parser.d.ts +465 -0
- package/dist/parser.js +251 -0
- package/dist/parser.js.map +1 -0
- package/dist/project-history.d.ts +10 -0
- package/dist/project-history.js +73 -0
- package/dist/project-history.js.map +1 -0
- package/dist/prompt-history-backup.d.ts +15 -0
- package/dist/prompt-history-backup.js +46 -0
- package/dist/prompt-history-backup.js.map +1 -0
- package/dist/proxy.d.ts +15 -0
- package/dist/proxy.js +95 -0
- package/dist/proxy.js.map +1 -0
- package/dist/push-i18n.d.ts +7 -0
- package/dist/push-i18n.js +75 -0
- package/dist/push-i18n.js.map +1 -0
- package/dist/push-relay.d.ts +29 -0
- package/dist/push-relay.js +70 -0
- package/dist/push-relay.js.map +1 -0
- package/dist/recording-store.d.ts +51 -0
- package/dist/recording-store.js +158 -0
- package/dist/recording-store.js.map +1 -0
- package/dist/screenshot.d.ts +28 -0
- package/dist/screenshot.js +98 -0
- package/dist/screenshot.js.map +1 -0
- package/dist/sdk-process.d.ts +180 -0
- package/dist/sdk-process.js +937 -0
- package/dist/sdk-process.js.map +1 -0
- package/dist/session.d.ts +142 -0
- package/dist/session.js +615 -0
- package/dist/session.js.map +1 -0
- package/dist/sessions-index.d.ts +128 -0
- package/dist/sessions-index.js +1767 -0
- package/dist/sessions-index.js.map +1 -0
- package/dist/setup-launchd.d.ts +8 -0
- package/dist/setup-launchd.js +109 -0
- package/dist/setup-launchd.js.map +1 -0
- package/dist/setup-systemd.d.ts +8 -0
- package/dist/setup-systemd.js +118 -0
- package/dist/setup-systemd.js.map +1 -0
- package/dist/startup-info.d.ts +8 -0
- package/dist/startup-info.js +92 -0
- package/dist/startup-info.js.map +1 -0
- package/dist/usage.d.ts +69 -0
- package/dist/usage.js +545 -0
- package/dist/usage.js.map +1 -0
- package/dist/version.d.ts +13 -0
- package/dist/version.js +43 -0
- package/dist/version.js.map +1 -0
- package/dist/websocket.d.ts +127 -0
- package/dist/websocket.js +2482 -0
- package/dist/websocket.js.map +1 -0
- package/dist/worktree-store.d.ts +25 -0
- package/dist/worktree-store.js +59 -0
- package/dist/worktree-store.js.map +1 -0
- package/dist/worktree.d.ts +47 -0
- package/dist/worktree.js +313 -0
- package/dist/worktree.js.map +1 -0
- package/package.json +68 -0
package/dist/worktree.js
ADDED
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
import { execFileSync, execSync } from "node:child_process";
|
|
2
|
+
import { existsSync, readFileSync, mkdirSync, cpSync, readdirSync, realpathSync } from "node:fs";
|
|
3
|
+
import { join, dirname, basename, relative, resolve } from "node:path";
|
|
4
|
+
// ---- .gtrconfig Parser ----
|
|
5
|
+
/** Parse a .gtrconfig file (gitconfig format) from the given directory. */
|
|
6
|
+
export function parseGtrConfig(projectPath) {
|
|
7
|
+
const config = {
|
|
8
|
+
copy: { include: [], exclude: [], includeDirs: [], excludeDirs: [] },
|
|
9
|
+
hook: { postCreate: [], preRemove: [] },
|
|
10
|
+
};
|
|
11
|
+
const configPath = join(projectPath, ".gtrconfig");
|
|
12
|
+
if (!existsSync(configPath))
|
|
13
|
+
return config;
|
|
14
|
+
const content = readFileSync(configPath, "utf-8");
|
|
15
|
+
let currentSection = "";
|
|
16
|
+
for (const rawLine of content.split("\n")) {
|
|
17
|
+
const line = rawLine.trim();
|
|
18
|
+
if (line === "" || line.startsWith("#") || line.startsWith(";"))
|
|
19
|
+
continue;
|
|
20
|
+
// Section header: [copy], [hook], etc.
|
|
21
|
+
const sectionMatch = line.match(/^\[(\w+)\]$/);
|
|
22
|
+
if (sectionMatch) {
|
|
23
|
+
currentSection = sectionMatch[1].toLowerCase();
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
// Key = value
|
|
27
|
+
const kvMatch = line.match(/^(\w+)\s*=\s*(.+)$/);
|
|
28
|
+
if (!kvMatch)
|
|
29
|
+
continue;
|
|
30
|
+
const key = kvMatch[1].toLowerCase();
|
|
31
|
+
const value = kvMatch[2].trim();
|
|
32
|
+
if (currentSection === "copy") {
|
|
33
|
+
switch (key) {
|
|
34
|
+
case "include":
|
|
35
|
+
config.copy.include.push(value);
|
|
36
|
+
break;
|
|
37
|
+
case "exclude":
|
|
38
|
+
config.copy.exclude.push(value);
|
|
39
|
+
break;
|
|
40
|
+
case "includedirs":
|
|
41
|
+
config.copy.includeDirs.push(value);
|
|
42
|
+
break;
|
|
43
|
+
case "excludedirs":
|
|
44
|
+
config.copy.excludeDirs.push(value);
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
else if (currentSection === "hook" || currentSection === "hooks") {
|
|
49
|
+
switch (key) {
|
|
50
|
+
case "postcreate":
|
|
51
|
+
config.hook.postCreate.push(value);
|
|
52
|
+
break;
|
|
53
|
+
case "preremove":
|
|
54
|
+
config.hook.preRemove.push(value);
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return config;
|
|
60
|
+
}
|
|
61
|
+
// ---- Glob Matching ----
|
|
62
|
+
const REGEX_SPECIAL = /[\\.+^$()|[\]]/g;
|
|
63
|
+
/**
|
|
64
|
+
* Simple glob pattern matcher supporting:
|
|
65
|
+
* - `*` matches any characters except `/`
|
|
66
|
+
* - `**` or `*` followed by `*` matches any path segments (including none)
|
|
67
|
+
* - `?` matches a single character except `/`
|
|
68
|
+
*/
|
|
69
|
+
export function matchGlob(pattern, filePath) {
|
|
70
|
+
let regex = "";
|
|
71
|
+
let i = 0;
|
|
72
|
+
while (i < pattern.length) {
|
|
73
|
+
if (pattern[i] === "*" && pattern[i + 1] === "*") {
|
|
74
|
+
if (pattern[i + 2] === "/") {
|
|
75
|
+
// zero or more directory segments
|
|
76
|
+
regex += "(.*/)?";
|
|
77
|
+
i += 3;
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
// match everything
|
|
81
|
+
regex += ".*";
|
|
82
|
+
i += 2;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
else if (pattern[i] === "*") {
|
|
86
|
+
regex += "[^/]*";
|
|
87
|
+
i++;
|
|
88
|
+
}
|
|
89
|
+
else if (pattern[i] === "?") {
|
|
90
|
+
regex += "[^/]";
|
|
91
|
+
i++;
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
regex += pattern[i].replace(REGEX_SPECIAL, "\\$&");
|
|
95
|
+
i++;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return new RegExp("^" + regex + "$").test(filePath);
|
|
99
|
+
}
|
|
100
|
+
// ---- Worktree Path Computation ----
|
|
101
|
+
/** Compute the worktrees root directory for a project. */
|
|
102
|
+
export function worktreesRoot(projectPath) {
|
|
103
|
+
return join(dirname(projectPath), basename(projectPath) + "-worktrees");
|
|
104
|
+
}
|
|
105
|
+
/** Compute the full worktree path for a branch. Slashes in branch names are converted to dashes for the directory name. */
|
|
106
|
+
export function worktreePath(projectPath, branch) {
|
|
107
|
+
const dirName = branch.replace(/\//g, "-");
|
|
108
|
+
return join(worktreesRoot(projectPath), dirName);
|
|
109
|
+
}
|
|
110
|
+
/** Generate a default branch name for a session. */
|
|
111
|
+
export function defaultBranch(sessionId) {
|
|
112
|
+
return "ccpocket/" + sessionId;
|
|
113
|
+
}
|
|
114
|
+
// ---- File Copy ----
|
|
115
|
+
/** Walk a directory recursively and return relative file paths. */
|
|
116
|
+
function walkFiles(dir, baseDir) {
|
|
117
|
+
const base = baseDir ?? dir;
|
|
118
|
+
const results = [];
|
|
119
|
+
try {
|
|
120
|
+
for (const entry of readdirSync(dir, { withFileTypes: true })) {
|
|
121
|
+
const fullPath = join(dir, entry.name);
|
|
122
|
+
if (entry.isDirectory()) {
|
|
123
|
+
results.push(...walkFiles(fullPath, base));
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
results.push(relative(base, fullPath));
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
catch { /* skip unreadable directories */ }
|
|
131
|
+
return results;
|
|
132
|
+
}
|
|
133
|
+
/** Copy files from source to destination based on .gtrconfig patterns. */
|
|
134
|
+
export function copyConfiguredFiles(projectPath, destPath, config) {
|
|
135
|
+
const { include, exclude, includeDirs, excludeDirs } = config.copy;
|
|
136
|
+
// Copy individual files matching include/exclude patterns
|
|
137
|
+
if (include.length > 0) {
|
|
138
|
+
const allFiles = walkFiles(projectPath);
|
|
139
|
+
for (const file of allFiles) {
|
|
140
|
+
const included = include.some((pat) => matchGlob(pat, file));
|
|
141
|
+
const excluded = exclude.some((pat) => matchGlob(pat, file));
|
|
142
|
+
if (included && !excluded) {
|
|
143
|
+
const srcFile = join(projectPath, file);
|
|
144
|
+
const destFile = join(destPath, file);
|
|
145
|
+
mkdirSync(dirname(destFile), { recursive: true });
|
|
146
|
+
cpSync(srcFile, destFile, { force: true });
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
// Copy entire directories matching includeDirs/excludeDirs
|
|
151
|
+
if (includeDirs.length > 0) {
|
|
152
|
+
try {
|
|
153
|
+
const entries = readdirSync(projectPath, { withFileTypes: true });
|
|
154
|
+
for (const entry of entries) {
|
|
155
|
+
if (!entry.isDirectory())
|
|
156
|
+
continue;
|
|
157
|
+
const included = includeDirs.some((pat) => matchGlob(pat, entry.name));
|
|
158
|
+
const excluded = excludeDirs.some((pat) => matchGlob(pat, entry.name));
|
|
159
|
+
if (included && !excluded) {
|
|
160
|
+
const srcDir = join(projectPath, entry.name);
|
|
161
|
+
const destDir = join(destPath, entry.name);
|
|
162
|
+
cpSync(srcDir, destDir, { recursive: true, force: true });
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
catch { /* skip if project directory can't be listed */ }
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
// ---- Config Resolution ----
|
|
170
|
+
/** Resolve worktree configuration from .gtrconfig. */
|
|
171
|
+
export function getWorktreeConfig(projectPath) {
|
|
172
|
+
return parseGtrConfig(projectPath);
|
|
173
|
+
}
|
|
174
|
+
// ---- Core Worktree Operations ----
|
|
175
|
+
/** Resolve a project path, following symlinks to get the real path. */
|
|
176
|
+
function resolveProject(projectPath) {
|
|
177
|
+
return realpathSync(resolve(projectPath));
|
|
178
|
+
}
|
|
179
|
+
/** Create a git worktree for a session. */
|
|
180
|
+
export function createWorktree(projectPath, sessionId, branch) {
|
|
181
|
+
const resolvedProject = resolveProject(projectPath);
|
|
182
|
+
const branchName = branch || defaultBranch(sessionId);
|
|
183
|
+
const wtPath = worktreePath(resolvedProject, branchName);
|
|
184
|
+
// Ensure the worktrees root directory exists
|
|
185
|
+
mkdirSync(worktreesRoot(resolvedProject), { recursive: true });
|
|
186
|
+
// Check if the branch already exists
|
|
187
|
+
let branchExists = false;
|
|
188
|
+
try {
|
|
189
|
+
execFileSync("git", ["rev-parse", "--verify", branchName], {
|
|
190
|
+
cwd: resolvedProject,
|
|
191
|
+
stdio: "ignore",
|
|
192
|
+
});
|
|
193
|
+
branchExists = true;
|
|
194
|
+
}
|
|
195
|
+
catch { /* branch does not exist */ }
|
|
196
|
+
// Create worktree
|
|
197
|
+
if (branchExists) {
|
|
198
|
+
execFileSync("git", ["worktree", "add", wtPath, branchName], {
|
|
199
|
+
cwd: resolvedProject,
|
|
200
|
+
encoding: "utf-8",
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
execFileSync("git", ["worktree", "add", "-b", branchName, wtPath], {
|
|
205
|
+
cwd: resolvedProject,
|
|
206
|
+
encoding: "utf-8",
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
// Parse .gtrconfig and apply copy/hooks
|
|
210
|
+
const config = getWorktreeConfig(resolvedProject);
|
|
211
|
+
copyConfiguredFiles(resolvedProject, wtPath, config);
|
|
212
|
+
// Run postCreate hooks
|
|
213
|
+
for (const cmd of config.hook.postCreate) {
|
|
214
|
+
try {
|
|
215
|
+
execSync(cmd, { cwd: wtPath, encoding: "utf-8", stdio: "pipe" });
|
|
216
|
+
}
|
|
217
|
+
catch (err) {
|
|
218
|
+
console.error("[worktree] postCreate hook failed: " + cmd, err);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
// Get HEAD commit
|
|
222
|
+
let head;
|
|
223
|
+
try {
|
|
224
|
+
head = execFileSync("git", ["rev-parse", "HEAD"], {
|
|
225
|
+
cwd: wtPath,
|
|
226
|
+
encoding: "utf-8",
|
|
227
|
+
}).trim();
|
|
228
|
+
}
|
|
229
|
+
catch { /* ignore */ }
|
|
230
|
+
return { worktreePath: wtPath, branch: branchName, projectPath: resolvedProject, head };
|
|
231
|
+
}
|
|
232
|
+
/** Remove a git worktree. */
|
|
233
|
+
export function removeWorktree(projectPath, wtPath) {
|
|
234
|
+
const resolvedProject = resolveProject(projectPath);
|
|
235
|
+
// Run preRemove hooks
|
|
236
|
+
const config = getWorktreeConfig(resolvedProject);
|
|
237
|
+
for (const cmd of config.hook.preRemove) {
|
|
238
|
+
try {
|
|
239
|
+
execSync(cmd, { cwd: wtPath, encoding: "utf-8", stdio: "pipe" });
|
|
240
|
+
}
|
|
241
|
+
catch (err) {
|
|
242
|
+
console.error("[worktree] preRemove hook failed: " + cmd, err);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
execFileSync("git", ["worktree", "remove", wtPath, "--force"], {
|
|
246
|
+
cwd: resolvedProject,
|
|
247
|
+
encoding: "utf-8",
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
/** List worktrees for a project (only those under <project>-worktrees/). */
|
|
251
|
+
export function listWorktrees(projectPath) {
|
|
252
|
+
const resolvedProject = resolveProject(projectPath);
|
|
253
|
+
const wtRoot = worktreesRoot(resolvedProject);
|
|
254
|
+
let output;
|
|
255
|
+
try {
|
|
256
|
+
output = execFileSync("git", ["worktree", "list", "--porcelain"], {
|
|
257
|
+
cwd: resolvedProject,
|
|
258
|
+
encoding: "utf-8",
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
catch {
|
|
262
|
+
return [];
|
|
263
|
+
}
|
|
264
|
+
const worktrees = [];
|
|
265
|
+
let currentPath = "";
|
|
266
|
+
let currentHead = "";
|
|
267
|
+
let currentBranch = "";
|
|
268
|
+
for (const line of output.split("\n")) {
|
|
269
|
+
if (line.startsWith("worktree ")) {
|
|
270
|
+
currentPath = line.slice("worktree ".length);
|
|
271
|
+
}
|
|
272
|
+
else if (line.startsWith("HEAD ")) {
|
|
273
|
+
currentHead = line.slice("HEAD ".length);
|
|
274
|
+
}
|
|
275
|
+
else if (line.startsWith("branch ")) {
|
|
276
|
+
// branch refs/heads/feature/x -> feature/x
|
|
277
|
+
currentBranch = line.slice("branch ".length).replace(/^refs\/heads\//, "");
|
|
278
|
+
}
|
|
279
|
+
else if (line === "") {
|
|
280
|
+
// End of entry
|
|
281
|
+
if (currentPath && currentPath.startsWith(wtRoot)) {
|
|
282
|
+
worktrees.push({
|
|
283
|
+
worktreePath: currentPath,
|
|
284
|
+
branch: currentBranch,
|
|
285
|
+
projectPath: resolvedProject,
|
|
286
|
+
head: currentHead || undefined,
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
currentPath = "";
|
|
290
|
+
currentHead = "";
|
|
291
|
+
currentBranch = "";
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
return worktrees;
|
|
295
|
+
}
|
|
296
|
+
/** Get the current branch of the main repo. */
|
|
297
|
+
export function getMainBranch(projectPath) {
|
|
298
|
+
const resolvedProject = resolveProject(projectPath);
|
|
299
|
+
try {
|
|
300
|
+
return execFileSync("git", ["branch", "--show-current"], {
|
|
301
|
+
cwd: resolvedProject,
|
|
302
|
+
encoding: "utf-8",
|
|
303
|
+
}).trim();
|
|
304
|
+
}
|
|
305
|
+
catch {
|
|
306
|
+
return "";
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
/** Check if a worktree path exists on disk. */
|
|
310
|
+
export function worktreeExists(wtPath) {
|
|
311
|
+
return existsSync(wtPath);
|
|
312
|
+
}
|
|
313
|
+
//# sourceMappingURL=worktree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worktree.js","sourceRoot":"","sources":["../src/worktree.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ccpocket-base-auth/bridge",
|
|
3
|
+
"version": "1.26.0",
|
|
4
|
+
"description": "Bridge server that connects Claude Code and Codex CLI to mobile devices via WebSocket",
|
|
5
|
+
"private": false,
|
|
6
|
+
"type": "module",
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"author": "K9i",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/K9i-0/ccpocket.git",
|
|
12
|
+
"directory": "packages/bridge"
|
|
13
|
+
},
|
|
14
|
+
"homepage": "https://github.com/K9i-0/ccpocket/tree/main/packages/bridge#readme",
|
|
15
|
+
"bugs": {
|
|
16
|
+
"url": "https://github.com/K9i-0/ccpocket/issues"
|
|
17
|
+
},
|
|
18
|
+
"keywords": [
|
|
19
|
+
"claude-code",
|
|
20
|
+
"codex",
|
|
21
|
+
"bridge",
|
|
22
|
+
"websocket",
|
|
23
|
+
"mobile",
|
|
24
|
+
"cli",
|
|
25
|
+
"remote",
|
|
26
|
+
"coding-agent"
|
|
27
|
+
],
|
|
28
|
+
"bin": {
|
|
29
|
+
"ccpocket-bridge": "./dist/cli.js"
|
|
30
|
+
},
|
|
31
|
+
"main": "dist/index.js",
|
|
32
|
+
"files": [
|
|
33
|
+
"dist"
|
|
34
|
+
],
|
|
35
|
+
"engines": {
|
|
36
|
+
"node": ">=18.0.0"
|
|
37
|
+
},
|
|
38
|
+
"publishConfig": {
|
|
39
|
+
"access": "public"
|
|
40
|
+
},
|
|
41
|
+
"scripts": {
|
|
42
|
+
"dev": "env -u CLAUDECODE tsx src/index.ts",
|
|
43
|
+
"build": "tsc",
|
|
44
|
+
"start": "node dist/index.js",
|
|
45
|
+
"prepublishOnly": "tsc",
|
|
46
|
+
"test": "vitest run",
|
|
47
|
+
"test:watch": "vitest",
|
|
48
|
+
"test:coverage": "vitest run --coverage",
|
|
49
|
+
"doctor": "tsx src/cli.ts doctor"
|
|
50
|
+
},
|
|
51
|
+
"dependencies": {
|
|
52
|
+
"@anthropic-ai/claude-agent-sdk": "^0.2.74",
|
|
53
|
+
"bonjour-service": "^1.3.0",
|
|
54
|
+
"qrcode": "^1.5.4",
|
|
55
|
+
"socks": "^2.8.7",
|
|
56
|
+
"undici": "^7.24.4",
|
|
57
|
+
"ws": "^8.18.0"
|
|
58
|
+
},
|
|
59
|
+
"devDependencies": {
|
|
60
|
+
"@types/node": "^22.0.0",
|
|
61
|
+
"@types/qrcode": "^1.5.6",
|
|
62
|
+
"@types/ws": "^8.5.0",
|
|
63
|
+
"@vitest/coverage-v8": "^4.0.18",
|
|
64
|
+
"tsx": "^4.19.0",
|
|
65
|
+
"typescript": "^5.7.0",
|
|
66
|
+
"vitest": "^4.0.18"
|
|
67
|
+
}
|
|
68
|
+
}
|