@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.
Files changed (89) hide show
  1. package/README.md +67 -0
  2. package/dist/archive-store.d.ts +28 -0
  3. package/dist/archive-store.js +68 -0
  4. package/dist/archive-store.js.map +1 -0
  5. package/dist/cli.d.ts +2 -0
  6. package/dist/cli.js +82 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/codex-process.d.ts +171 -0
  9. package/dist/codex-process.js +1928 -0
  10. package/dist/codex-process.js.map +1 -0
  11. package/dist/debug-trace-store.d.ts +15 -0
  12. package/dist/debug-trace-store.js +78 -0
  13. package/dist/debug-trace-store.js.map +1 -0
  14. package/dist/doctor.d.ts +58 -0
  15. package/dist/doctor.js +663 -0
  16. package/dist/doctor.js.map +1 -0
  17. package/dist/firebase-auth.d.ts +35 -0
  18. package/dist/firebase-auth.js +132 -0
  19. package/dist/firebase-auth.js.map +1 -0
  20. package/dist/gallery-store.d.ts +67 -0
  21. package/dist/gallery-store.js +333 -0
  22. package/dist/gallery-store.js.map +1 -0
  23. package/dist/image-store.d.ts +23 -0
  24. package/dist/image-store.js +142 -0
  25. package/dist/image-store.js.map +1 -0
  26. package/dist/index.d.ts +1 -0
  27. package/dist/index.js +191 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/mdns.d.ts +7 -0
  30. package/dist/mdns.js +49 -0
  31. package/dist/mdns.js.map +1 -0
  32. package/dist/parser.d.ts +465 -0
  33. package/dist/parser.js +251 -0
  34. package/dist/parser.js.map +1 -0
  35. package/dist/project-history.d.ts +10 -0
  36. package/dist/project-history.js +73 -0
  37. package/dist/project-history.js.map +1 -0
  38. package/dist/prompt-history-backup.d.ts +15 -0
  39. package/dist/prompt-history-backup.js +46 -0
  40. package/dist/prompt-history-backup.js.map +1 -0
  41. package/dist/proxy.d.ts +15 -0
  42. package/dist/proxy.js +95 -0
  43. package/dist/proxy.js.map +1 -0
  44. package/dist/push-i18n.d.ts +7 -0
  45. package/dist/push-i18n.js +75 -0
  46. package/dist/push-i18n.js.map +1 -0
  47. package/dist/push-relay.d.ts +29 -0
  48. package/dist/push-relay.js +70 -0
  49. package/dist/push-relay.js.map +1 -0
  50. package/dist/recording-store.d.ts +51 -0
  51. package/dist/recording-store.js +158 -0
  52. package/dist/recording-store.js.map +1 -0
  53. package/dist/screenshot.d.ts +28 -0
  54. package/dist/screenshot.js +98 -0
  55. package/dist/screenshot.js.map +1 -0
  56. package/dist/sdk-process.d.ts +180 -0
  57. package/dist/sdk-process.js +937 -0
  58. package/dist/sdk-process.js.map +1 -0
  59. package/dist/session.d.ts +142 -0
  60. package/dist/session.js +615 -0
  61. package/dist/session.js.map +1 -0
  62. package/dist/sessions-index.d.ts +128 -0
  63. package/dist/sessions-index.js +1767 -0
  64. package/dist/sessions-index.js.map +1 -0
  65. package/dist/setup-launchd.d.ts +8 -0
  66. package/dist/setup-launchd.js +109 -0
  67. package/dist/setup-launchd.js.map +1 -0
  68. package/dist/setup-systemd.d.ts +8 -0
  69. package/dist/setup-systemd.js +118 -0
  70. package/dist/setup-systemd.js.map +1 -0
  71. package/dist/startup-info.d.ts +8 -0
  72. package/dist/startup-info.js +92 -0
  73. package/dist/startup-info.js.map +1 -0
  74. package/dist/usage.d.ts +69 -0
  75. package/dist/usage.js +545 -0
  76. package/dist/usage.js.map +1 -0
  77. package/dist/version.d.ts +13 -0
  78. package/dist/version.js +43 -0
  79. package/dist/version.js.map +1 -0
  80. package/dist/websocket.d.ts +127 -0
  81. package/dist/websocket.js +2482 -0
  82. package/dist/websocket.js.map +1 -0
  83. package/dist/worktree-store.d.ts +25 -0
  84. package/dist/worktree-store.js +59 -0
  85. package/dist/worktree-store.js.map +1 -0
  86. package/dist/worktree.d.ts +47 -0
  87. package/dist/worktree.js +313 -0
  88. package/dist/worktree.js.map +1 -0
  89. package/package.json +68 -0
@@ -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
+ }