@caoruhua/open-claude-remote 1.0.9 → 1.3.7

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 (99) hide show
  1. package/README.md +48 -27
  2. package/dist/backend/src/api/file-routes.d.ts +0 -24
  3. package/dist/backend/src/api/file-routes.d.ts.map +1 -1
  4. package/dist/backend/src/api/file-routes.js +464 -68
  5. package/dist/backend/src/api/file-routes.js.map +1 -1
  6. package/dist/backend/src/api/instance-routes.d.ts +4 -0
  7. package/dist/backend/src/api/instance-routes.d.ts.map +1 -1
  8. package/dist/backend/src/api/instance-routes.js +27 -2
  9. package/dist/backend/src/api/instance-routes.js.map +1 -1
  10. package/dist/backend/src/cli-utils.d.ts +2 -0
  11. package/dist/backend/src/cli-utils.d.ts.map +1 -1
  12. package/dist/backend/src/cli-utils.js +11 -1
  13. package/dist/backend/src/cli-utils.js.map +1 -1
  14. package/dist/backend/src/cli.d.ts +6 -0
  15. package/dist/backend/src/cli.d.ts.map +1 -1
  16. package/dist/backend/src/cli.js +73 -10
  17. package/dist/backend/src/cli.js.map +1 -1
  18. package/dist/backend/src/config.d.ts +11 -0
  19. package/dist/backend/src/config.d.ts.map +1 -1
  20. package/dist/backend/src/config.js +36 -1
  21. package/dist/backend/src/config.js.map +1 -1
  22. package/dist/backend/src/daemon/daemon-client.d.ts +1 -0
  23. package/dist/backend/src/daemon/daemon-client.d.ts.map +1 -1
  24. package/dist/backend/src/daemon/daemon-client.js +1 -0
  25. package/dist/backend/src/daemon/daemon-client.js.map +1 -1
  26. package/dist/backend/src/daemon/daemon-entry.js +19 -6
  27. package/dist/backend/src/daemon/daemon-entry.js.map +1 -1
  28. package/dist/backend/src/daemon/daemon-launcher.d.ts.map +1 -1
  29. package/dist/backend/src/daemon/daemon-launcher.js +4 -1
  30. package/dist/backend/src/daemon/daemon-launcher.js.map +1 -1
  31. package/dist/backend/src/daemon/restart-state.d.ts +1 -0
  32. package/dist/backend/src/daemon/restart-state.d.ts.map +1 -1
  33. package/dist/backend/src/daemon/restart-state.js.map +1 -1
  34. package/dist/backend/src/deps/detector.js +1 -1
  35. package/dist/backend/src/deps/index.d.ts +1 -1
  36. package/dist/backend/src/deps/index.js +22 -22
  37. package/dist/backend/src/deps/installer.js +6 -6
  38. package/dist/backend/src/deps/installer.js.map +1 -1
  39. package/dist/backend/src/deps/types.d.ts +1 -1
  40. package/dist/backend/src/deps/types.d.ts.map +1 -1
  41. package/dist/backend/src/deps/types.js +9 -11
  42. package/dist/backend/src/deps/types.js.map +1 -1
  43. package/dist/backend/src/index.d.ts.map +1 -1
  44. package/dist/backend/src/index.js +29 -6
  45. package/dist/backend/src/index.js.map +1 -1
  46. package/dist/backend/src/instance/instance-manager.d.ts +4 -0
  47. package/dist/backend/src/instance/instance-manager.d.ts.map +1 -1
  48. package/dist/backend/src/instance/instance-manager.js +30 -7
  49. package/dist/backend/src/instance/instance-manager.js.map +1 -1
  50. package/dist/backend/src/instance/instance-session.d.ts +6 -1
  51. package/dist/backend/src/instance/instance-session.d.ts.map +1 -1
  52. package/dist/backend/src/instance/instance-session.js +9 -3
  53. package/dist/backend/src/instance/instance-session.js.map +1 -1
  54. package/dist/backend/src/instance/types.d.ts +1 -0
  55. package/dist/backend/src/instance/types.d.ts.map +1 -1
  56. package/dist/backend/src/pty/fix-pty-permissions.d.ts +1 -1
  57. package/dist/backend/src/pty/fix-pty-permissions.js +1 -1
  58. package/dist/backend/src/pty/output-buffer.d.ts +6 -0
  59. package/dist/backend/src/pty/output-buffer.d.ts.map +1 -1
  60. package/dist/backend/src/pty/output-buffer.js +10 -0
  61. package/dist/backend/src/pty/output-buffer.js.map +1 -1
  62. package/dist/backend/src/registry/stop-instances.js +1 -1
  63. package/dist/backend/src/services/pptx-converter.d.ts +66 -0
  64. package/dist/backend/src/services/pptx-converter.d.ts.map +1 -0
  65. package/dist/backend/src/services/pptx-converter.js +282 -0
  66. package/dist/backend/src/services/pptx-converter.js.map +1 -0
  67. package/dist/backend/src/update.d.ts +2 -2
  68. package/dist/backend/src/update.d.ts.map +1 -1
  69. package/dist/backend/src/update.js +9 -9
  70. package/dist/backend/src/update.js.map +1 -1
  71. package/dist/backend/src/utils/banner.d.ts +2 -0
  72. package/dist/backend/src/utils/banner.d.ts.map +1 -1
  73. package/dist/backend/src/utils/banner.js +2 -1
  74. package/dist/backend/src/utils/banner.js.map +1 -1
  75. package/dist/backend/src/utils/network.d.ts +22 -0
  76. package/dist/backend/src/utils/network.d.ts.map +1 -1
  77. package/dist/backend/src/utils/network.js +54 -0
  78. package/dist/backend/src/utils/network.js.map +1 -1
  79. package/dist/shared/file-types.d.ts +176 -0
  80. package/dist/shared/file-types.d.ts.map +1 -0
  81. package/dist/shared/file-types.js +108 -0
  82. package/dist/shared/file-types.js.map +1 -0
  83. package/dist/shared/index.d.ts +1 -0
  84. package/dist/shared/index.d.ts.map +1 -1
  85. package/dist/shared/index.js +1 -0
  86. package/dist/shared/index.js.map +1 -1
  87. package/dist/shared/instance.d.ts +2 -0
  88. package/dist/shared/instance.d.ts.map +1 -1
  89. package/dist/shared/instance.js.map +1 -1
  90. package/frontend-dist/assets/{index-UXAwH56Q.css → index-BY0fnkbW.css} +1 -1
  91. package/frontend-dist/assets/index-qwSai8-t.js +211 -0
  92. package/frontend-dist/index.html +2 -2
  93. package/package.json +8 -4
  94. package/scripts/build.sh +3 -9
  95. package/scripts/dev.sh +1 -4
  96. package/scripts/git-hooks/pre-commit +0 -4
  97. package/scripts/publish-npm.sh +61 -0
  98. package/scripts/stop.sh +1 -1
  99. package/frontend-dist/assets/index-CVRtrLyp.js +0 -199
@@ -6,8 +6,8 @@
6
6
  <meta name="apple-mobile-web-app-capable" content="yes" />
7
7
  <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
8
8
  <title>Claude Code Remote</title>
9
- <script type="module" crossorigin src="/assets/index-CVRtrLyp.js"></script>
10
- <link rel="stylesheet" crossorigin href="/assets/index-UXAwH56Q.css">
9
+ <script type="module" crossorigin src="/assets/index-qwSai8-t.js"></script>
10
+ <link rel="stylesheet" crossorigin href="/assets/index-BY0fnkbW.css">
11
11
  </head>
12
12
  <body>
13
13
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@caoruhua/open-claude-remote",
3
- "version": "1.0.9",
3
+ "version": "1.3.7",
4
4
  "description": "Remote control proxy for Claude Code CLI - control your PC terminal from mobile browser",
5
5
  "keywords": [
6
6
  "claude",
@@ -14,7 +14,7 @@
14
14
  "license": "MIT",
15
15
  "repository": {
16
16
  "type": "git",
17
- "url": "https://github.com/StephenTowne/open-claude-remote.git"
17
+ "url": "https://code.alipay.com/antlandscape/claude-remote.git"
18
18
  },
19
19
  "type": "module",
20
20
  "main": "./dist/backend/src/index.js",
@@ -45,13 +45,16 @@
45
45
  "test:watch": "vitest",
46
46
  "stop": "tsx backend/src/registry/stop-instances.ts",
47
47
  "clean": "rm -rf dist frontend-dist",
48
- "prepublishOnly": "pnpm build"
48
+ "publish:npm": "bash scripts/publish-npm.sh",
49
+ "publish:npm:dry": "bash scripts/publish-npm.sh --dry-run",
50
+ "prepublishOnly": "npm run build"
49
51
  },
50
52
  "dependencies": {
51
53
  "cookie": "^1.1.1",
52
54
  "cors": "^2.8.6",
53
55
  "express": "^4.22.1",
54
56
  "node-pty": "^1.1.0",
57
+ "pdfjs-dist": "^4.10.38",
55
58
  "pino": "^9.14.0",
56
59
  "qrcode-terminal": "^0.12.0",
57
60
  "web-push": "^3.6.7",
@@ -61,6 +64,7 @@
61
64
  "@dnd-kit/core": "^6.3.1",
62
65
  "@dnd-kit/sortable": "^8.0.0",
63
66
  "@dnd-kit/utilities": "^3.2.2",
67
+ "@testing-library/dom": "^10.0.0",
64
68
  "@testing-library/jest-dom": "^6.9.1",
65
69
  "@testing-library/react": "^16.3.2",
66
70
  "@types/cookie": "^0.6.0",
@@ -104,7 +108,7 @@
104
108
  "darwin",
105
109
  "linux"
106
110
  ],
107
- "pnpm": {
111
+ "npm": {
108
112
  "onlyBuiltDependencies": [
109
113
  "esbuild",
110
114
  "node-pty"
package/scripts/build.sh CHANGED
@@ -5,16 +5,10 @@ set -e
5
5
  cd "$(dirname "$0")/.."
6
6
 
7
7
  echo "Installing dependencies..."
8
- pnpm install
8
+ tnpm install
9
9
 
10
- echo "Building shared package..."
11
- pnpm --filter @claude-remote/shared build
12
-
13
- echo "Building frontend..."
14
- pnpm --filter @claude-remote/frontend build
15
-
16
- echo "Building backend..."
17
- pnpm --filter @claude-remote/backend build
10
+ echo "Building project..."
11
+ tnpm run build
18
12
 
19
13
  echo ""
20
14
  echo "Build complete! Run with:"
package/scripts/dev.sh CHANGED
@@ -4,8 +4,5 @@ set -e
4
4
 
5
5
  cd "$(dirname "$0")/.."
6
6
 
7
- echo "Building shared package..."
8
- pnpm --filter @claude-remote/shared build
9
-
10
7
  echo "Starting dev servers..."
11
- pnpm dev
8
+ tnpm run dev
@@ -129,10 +129,6 @@ if [ "${SKIP_LINT:-0}" != "1" ]; then
129
129
  # 2c: 检查 shared TS 文件(若变更则同时检查 backend 和 frontend)
130
130
  SHARED_TS=$(echo "$TS_FILES" | grep '^shared/' || true)
131
131
  if [ -n "$SHARED_TS" ]; then
132
- echo "typecheck: shared/ 有变更,检查 shared build..."
133
- if ! (cd "$PROJECT_ROOT" && pnpm --filter @claude-remote/shared build 2>&1); then
134
- TSC_FAILED=1
135
- fi
136
132
  # shared 变更可能影响 backend/frontend,补充检查
137
133
  if [ -z "$BACKEND_TS" ]; then
138
134
  echo "typecheck: shared 变更,补充检查 backend..."
@@ -0,0 +1,61 @@
1
+ #!/bin/bash
2
+ # Publish to npm public registry as @caoruhua/open-claude-remote
3
+ # Usage: bash scripts/publish-npm.sh [--dry-run]
4
+ set -e
5
+
6
+ cd "$(dirname "$0")/.."
7
+
8
+ NPM_NAME="@caoruhua/open-claude-remote"
9
+ TNPM_NAME="@alipay/open-claude-remote"
10
+ DRY_RUN=""
11
+
12
+ if [ "$1" = "--dry-run" ]; then
13
+ DRY_RUN="--dry-run"
14
+ echo "[dry-run] Simulating npm publish..."
15
+ fi
16
+
17
+ # Verify we're on a clean git state to avoid accidental commits of modified package.json
18
+ if [ -n "$(git status --porcelain package.json)" ]; then
19
+ echo "Error: package.json has uncommitted changes. Commit or stash first."
20
+ exit 1
21
+ fi
22
+
23
+ echo "Publishing to npm as ${NPM_NAME}..."
24
+
25
+ # Temporarily patch package.json for npm publishing
26
+ # 1. Change package name
27
+ # 2. Remove publishConfig (points to internal registry)
28
+ # 3. Replace tnpm-specific config key with npm equivalent
29
+ node -e "
30
+ const fs = require('fs');
31
+ const pkg = JSON.parse(fs.readFileSync('package.json', 'utf8'));
32
+ pkg.name = '${NPM_NAME}';
33
+ delete pkg.publishConfig;
34
+ if (pkg.tnpm) {
35
+ pkg.npm = pkg.tnpm;
36
+ delete pkg.tnpm;
37
+ }
38
+ // Fix prepublishOnly to use npm instead of tnpm
39
+ if (pkg.scripts?.prepublishOnly) {
40
+ pkg.scripts.prepublishOnly = pkg.scripts.prepublishOnly.replace(/tnpm/g, 'npm');
41
+ }
42
+ fs.writeFileSync('package.json', JSON.stringify(pkg, null, 2) + '\n');
43
+ "
44
+
45
+ # Restore package.json on exit (success or failure)
46
+ restore() {
47
+ echo "Restoring package.json..."
48
+ git checkout package.json
49
+ }
50
+ trap restore EXIT
51
+
52
+ # Publish to npm public registry (explicit registry to bypass tnpm global config)
53
+ npm publish --access public --registry https://registry.npmjs.org/ ${DRY_RUN}
54
+
55
+ echo ""
56
+ if [ -n "$DRY_RUN" ]; then
57
+ echo "[dry-run] Would have published ${NPM_NAME} to npm"
58
+ else
59
+ echo "Successfully published ${NPM_NAME} to npm!"
60
+ echo "Install with: npm install -g ${NPM_NAME}"
61
+ fi
package/scripts/stop.sh CHANGED
@@ -2,4 +2,4 @@
2
2
  set -euo pipefail
3
3
 
4
4
  # Legacy shim: keep script entry for compatibility, delegate to multi-instance stop.
5
- pnpm --filter backend exec tsx src/registry/stop-instances.ts
5
+ tnpm run stop