cli-wechat-bridge 1.1.5 → 1.1.6
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 +157 -142
- package/bin/_run-entry.mjs +20 -5
- package/dist/bridge/bridge-adapters.claude.js +2 -1
- package/dist/bridge/bridge-adapters.codex.js +214 -23
- package/dist/bridge/bridge-adapters.core.js +2 -1
- package/dist/bridge/bridge-adapters.pi.js +1 -1
- package/dist/bridge/bridge-adapters.shared.js +2 -1
- package/dist/bridge/bridge-final-reply.js +2 -65
- package/dist/bridge/bridge-state.js +1 -1
- package/dist/bridge/bridge-utils.js +4 -96
- package/dist/bridge/wechat-bridge.js +226 -189
- package/dist/bridge/wechat-forwarding.js +2 -58
- package/dist/bridge/wechat-outbound-queue.js +2 -0
- package/dist/channels/wechat/bridge-final-reply.js +65 -0
- package/dist/channels/wechat/channel-message.js +24 -0
- package/dist/channels/wechat/index.js +5 -0
- package/dist/channels/wechat/wechat-channel-port.js +67 -0
- package/dist/channels/wechat/wechat-forwarding.js +79 -0
- package/dist/channels/wechat/wechat-outbound-queue.js +72 -0
- package/dist/core/bridge-control.js +32 -0
- package/dist/core/bridge-event-forwarder.js +50 -0
- package/dist/core/bridge-message-router.js +32 -0
- package/dist/core/channel-types.js +1 -0
- package/dist/core/text-utils.js +63 -0
- package/dist/daemon/wechat-daemon.js +214 -149
- package/dist/i18n/messages-en.js +2 -2
- package/dist/i18n/messages-zh.js +2 -2
- package/package.json +105 -105
package/package.json
CHANGED
|
@@ -1,109 +1,109 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "cli-wechat-bridge",
|
|
3
|
-
"version": "1.1.
|
|
4
|
-
"description": "CLI WeChat Bridge for Codex, Claude Code, OpenCode, and Pi over WeChat",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"files": [
|
|
7
|
-
"bin/",
|
|
8
|
-
"dist/",
|
|
9
|
-
"scripts/ensure-node-pty-permissions.mjs",
|
|
10
|
-
"README.md",
|
|
11
|
-
"LICENSE.txt"
|
|
12
|
-
],
|
|
13
|
-
"keywords": [
|
|
14
|
-
"wechat",
|
|
15
|
-
"cli",
|
|
16
|
-
"bridge",
|
|
17
|
-
"codex",
|
|
18
|
-
"claude",
|
|
19
|
-
"opencode",
|
|
20
|
-
"pi",
|
|
21
|
-
"terminal"
|
|
22
|
-
],
|
|
23
|
-
"author": "UNLINEARITY",
|
|
24
|
-
"license": "AGPL-3.0-or-later",
|
|
25
|
-
"repository": {
|
|
26
|
-
"type": "git",
|
|
27
|
-
"url": "git+https://github.com/UNLINEARITY/CLI-WeChat-Bridge.git"
|
|
28
|
-
},
|
|
29
|
-
"bugs": {
|
|
30
|
-
"url": "https://github.com/UNLINEARITY/CLI-WeChat-Bridge/issues"
|
|
31
|
-
},
|
|
32
|
-
"homepage": "https://github.com/UNLINEARITY/CLI-WeChat-Bridge#readme",
|
|
33
|
-
"publishConfig": {
|
|
34
|
-
"access": "public"
|
|
35
|
-
},
|
|
36
|
-
"bin": {
|
|
37
|
-
"wechat-codex": "bin/wechat-codex.mjs",
|
|
38
|
-
"wechat-claude": "bin/wechat-claude.mjs",
|
|
39
|
-
"wechat-opencode": "bin/wechat-opencode.mjs",
|
|
40
|
-
"wechat-pi": "bin/wechat-pi.mjs",
|
|
41
|
-
"wechat-daemon": "bin/wechat-daemon.mjs",
|
|
42
|
-
"wechat-setup": "bin/wechat-setup.mjs",
|
|
43
|
-
"wechat-check-update": "bin/wechat-check-update.mjs"
|
|
44
|
-
},
|
|
45
|
-
"scripts": {
|
|
46
|
-
"postinstall": "node scripts/ensure-node-pty-permissions.mjs",
|
|
47
|
-
"clean": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"",
|
|
48
|
-
"build": "npm run clean && tsc -p tsconfig.build.json",
|
|
49
|
-
"prepack": "npm run build",
|
|
50
|
-
"lint": "eslint bin src test",
|
|
51
|
-
"lint:fix": "eslint bin src test --fix",
|
|
52
|
-
"typecheck:src": "tsc -p tsconfig.typecheck.src.json --noEmit --pretty false",
|
|
53
|
-
"quality": "npm run lint && npm run typecheck:src && bun test test && npm run build",
|
|
54
|
-
"smoke:global": "node scripts/smoke-global-install.mjs",
|
|
55
|
-
"publish:dual": "node scripts/publish-dual.mjs",
|
|
56
|
-
"setup": "node --no-warnings --experimental-strip-types src/wechat/setup.ts",
|
|
57
|
-
"start": "node --no-warnings --experimental-strip-types src/wechat/wechat-channel.ts",
|
|
58
|
-
"check": "node --no-warnings --experimental-strip-types src/wechat/wechat-channel.ts --check",
|
|
59
|
-
"bridge": "node --no-warnings --experimental-strip-types src/bridge/wechat-bridge.ts",
|
|
60
|
-
"daemon": "node --no-warnings --experimental-strip-types src/daemon/wechat-daemon.ts",
|
|
61
|
-
"bridge:codex": "node --no-warnings --experimental-strip-types src/bridge/wechat-bridge.ts --adapter codex",
|
|
62
|
-
"codex:panel": "node --no-warnings --experimental-strip-types src/companion/codex-remote-client.ts",
|
|
63
|
-
"codex:start": "node --no-warnings --experimental-strip-types src/companion/local-companion-start.ts",
|
|
64
|
-
"claude:start": "node --no-warnings --experimental-strip-types src/companion/local-companion-start.ts --adapter claude",
|
|
65
|
-
"claude:companion": "node --no-warnings --experimental-strip-types src/companion/local-companion.ts --adapter claude",
|
|
66
|
-
"bridge:claude": "node --no-warnings --experimental-strip-types src/bridge/wechat-bridge.ts --adapter claude",
|
|
67
|
-
"bridge:opencode": "node --no-warnings --experimental-strip-types src/bridge/wechat-bridge.ts --adapter opencode",
|
|
68
|
-
"opencode:panel": "node --no-warnings --experimental-strip-types src/companion/local-companion.ts --adapter opencode",
|
|
69
|
-
"opencode:start": "node --no-warnings --experimental-strip-types src/companion/local-companion-start.ts --adapter opencode",
|
|
70
|
-
"bridge:pi": "node --no-warnings --experimental-strip-types src/bridge/wechat-bridge.ts --adapter pi",
|
|
71
|
-
"pi:companion": "node --no-warnings --experimental-strip-types src/companion/local-companion.ts --adapter pi",
|
|
72
|
-
"pi:start": "node --no-warnings --experimental-strip-types src/companion/local-companion-start.ts --adapter pi",
|
|
73
|
-
"bridge:bun": "bun src/bridge/wechat-bridge.ts",
|
|
74
|
-
"test": "bun test test",
|
|
75
|
-
"test:bridge": "bun test test/bridge",
|
|
76
|
-
"test:companion": "bun test test/companion",
|
|
77
|
-
"test:wechat": "bun test test/wechat",
|
|
78
|
-
"test:watch": "bun test --watch test"
|
|
79
|
-
},
|
|
80
|
-
"dependencies": {
|
|
81
|
-
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
82
|
-
"@opencode-ai/sdk": "^1.18.0",
|
|
83
|
-
"node-pty": "^1.1.0",
|
|
84
|
-
"qrcode-terminal": "^0.12.0"
|
|
85
|
-
},
|
|
86
|
-
"overrides": {
|
|
87
|
-
"@hono/node-server": "2.1.1",
|
|
88
|
-
"body-parser": "2.3.0",
|
|
89
|
-
"brace-expansion": "5.0.9",
|
|
90
|
-
"express-rate-limit": "8.6.2",
|
|
91
|
-
"fast-uri": "3.1.5",
|
|
92
|
-
"hono": "4.13.3",
|
|
93
|
-
"ip-address": "10.5.0",
|
|
94
|
-
"path-to-regexp": "8.4.2",
|
|
95
|
-
"qs": "6.15.3"
|
|
96
|
-
},
|
|
97
|
-
"devDependencies": {
|
|
98
|
-
"@eslint/js": "^10.0.1",
|
|
99
|
-
"@types/bun": "latest",
|
|
100
|
-
"@types/node": "^24.12.4",
|
|
101
|
-
"eslint": "^10.3.0",
|
|
102
|
-
"typescript": "^6.0.2",
|
|
103
|
-
"typescript-eslint": "^8.59.3"
|
|
104
|
-
},
|
|
1
|
+
{
|
|
2
|
+
"name": "cli-wechat-bridge",
|
|
3
|
+
"version": "1.1.6",
|
|
4
|
+
"description": "CLI WeChat Bridge for Codex, Claude Code, OpenCode, and Pi over WeChat",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"files": [
|
|
7
|
+
"bin/",
|
|
8
|
+
"dist/",
|
|
9
|
+
"scripts/ensure-node-pty-permissions.mjs",
|
|
10
|
+
"README.md",
|
|
11
|
+
"LICENSE.txt"
|
|
12
|
+
],
|
|
13
|
+
"keywords": [
|
|
14
|
+
"wechat",
|
|
15
|
+
"cli",
|
|
16
|
+
"bridge",
|
|
17
|
+
"codex",
|
|
18
|
+
"claude",
|
|
19
|
+
"opencode",
|
|
20
|
+
"pi",
|
|
21
|
+
"terminal"
|
|
22
|
+
],
|
|
23
|
+
"author": "UNLINEARITY",
|
|
24
|
+
"license": "AGPL-3.0-or-later",
|
|
25
|
+
"repository": {
|
|
26
|
+
"type": "git",
|
|
27
|
+
"url": "git+https://github.com/UNLINEARITY/CLI-WeChat-Bridge.git"
|
|
28
|
+
},
|
|
29
|
+
"bugs": {
|
|
30
|
+
"url": "https://github.com/UNLINEARITY/CLI-WeChat-Bridge/issues"
|
|
31
|
+
},
|
|
32
|
+
"homepage": "https://github.com/UNLINEARITY/CLI-WeChat-Bridge#readme",
|
|
33
|
+
"publishConfig": {
|
|
34
|
+
"access": "public"
|
|
35
|
+
},
|
|
36
|
+
"bin": {
|
|
37
|
+
"wechat-codex": "bin/wechat-codex.mjs",
|
|
38
|
+
"wechat-claude": "bin/wechat-claude.mjs",
|
|
39
|
+
"wechat-opencode": "bin/wechat-opencode.mjs",
|
|
40
|
+
"wechat-pi": "bin/wechat-pi.mjs",
|
|
41
|
+
"wechat-daemon": "bin/wechat-daemon.mjs",
|
|
42
|
+
"wechat-setup": "bin/wechat-setup.mjs",
|
|
43
|
+
"wechat-check-update": "bin/wechat-check-update.mjs"
|
|
44
|
+
},
|
|
45
|
+
"scripts": {
|
|
46
|
+
"postinstall": "node scripts/ensure-node-pty-permissions.mjs",
|
|
47
|
+
"clean": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"",
|
|
48
|
+
"build": "npm run clean && tsc -p tsconfig.build.json",
|
|
49
|
+
"prepack": "npm run build",
|
|
50
|
+
"lint": "eslint bin src test",
|
|
51
|
+
"lint:fix": "eslint bin src test --fix",
|
|
52
|
+
"typecheck:src": "tsc -p tsconfig.typecheck.src.json --noEmit --pretty false",
|
|
53
|
+
"quality": "npm run lint && npm run typecheck:src && bun test test && npm run build",
|
|
54
|
+
"smoke:global": "node scripts/smoke-global-install.mjs",
|
|
55
|
+
"publish:dual": "node scripts/publish-dual.mjs",
|
|
56
|
+
"setup": "node --no-warnings --experimental-strip-types src/wechat/setup.ts",
|
|
57
|
+
"start": "node --no-warnings --experimental-strip-types src/wechat/wechat-channel.ts",
|
|
58
|
+
"check": "node --no-warnings --experimental-strip-types src/wechat/wechat-channel.ts --check",
|
|
59
|
+
"bridge": "node --no-warnings --experimental-strip-types src/bridge/wechat-bridge.ts",
|
|
60
|
+
"daemon": "node --no-warnings --experimental-strip-types src/daemon/wechat-daemon.ts",
|
|
61
|
+
"bridge:codex": "node --no-warnings --experimental-strip-types src/bridge/wechat-bridge.ts --adapter codex",
|
|
62
|
+
"codex:panel": "node --no-warnings --experimental-strip-types src/companion/codex-remote-client.ts",
|
|
63
|
+
"codex:start": "node --no-warnings --experimental-strip-types src/companion/local-companion-start.ts",
|
|
64
|
+
"claude:start": "node --no-warnings --experimental-strip-types src/companion/local-companion-start.ts --adapter claude",
|
|
65
|
+
"claude:companion": "node --no-warnings --experimental-strip-types src/companion/local-companion.ts --adapter claude",
|
|
66
|
+
"bridge:claude": "node --no-warnings --experimental-strip-types src/bridge/wechat-bridge.ts --adapter claude",
|
|
67
|
+
"bridge:opencode": "node --no-warnings --experimental-strip-types src/bridge/wechat-bridge.ts --adapter opencode",
|
|
68
|
+
"opencode:panel": "node --no-warnings --experimental-strip-types src/companion/local-companion.ts --adapter opencode",
|
|
69
|
+
"opencode:start": "node --no-warnings --experimental-strip-types src/companion/local-companion-start.ts --adapter opencode",
|
|
70
|
+
"bridge:pi": "node --no-warnings --experimental-strip-types src/bridge/wechat-bridge.ts --adapter pi",
|
|
71
|
+
"pi:companion": "node --no-warnings --experimental-strip-types src/companion/local-companion.ts --adapter pi",
|
|
72
|
+
"pi:start": "node --no-warnings --experimental-strip-types src/companion/local-companion-start.ts --adapter pi",
|
|
73
|
+
"bridge:bun": "bun src/bridge/wechat-bridge.ts",
|
|
74
|
+
"test": "bun test test",
|
|
75
|
+
"test:bridge": "bun test test/bridge",
|
|
76
|
+
"test:companion": "bun test test/companion",
|
|
77
|
+
"test:wechat": "bun test test/wechat",
|
|
78
|
+
"test:watch": "bun test --watch test"
|
|
79
|
+
},
|
|
80
|
+
"dependencies": {
|
|
81
|
+
"@modelcontextprotocol/sdk": "^1.30.0",
|
|
82
|
+
"@opencode-ai/sdk": "^1.18.0",
|
|
83
|
+
"node-pty": "^1.1.0",
|
|
84
|
+
"qrcode-terminal": "^0.12.0"
|
|
85
|
+
},
|
|
86
|
+
"overrides": {
|
|
87
|
+
"@hono/node-server": "2.1.1",
|
|
88
|
+
"body-parser": "2.3.0",
|
|
89
|
+
"brace-expansion": "5.0.9",
|
|
90
|
+
"express-rate-limit": "8.6.2",
|
|
91
|
+
"fast-uri": "3.1.5",
|
|
92
|
+
"hono": "4.13.3",
|
|
93
|
+
"ip-address": "10.5.0",
|
|
94
|
+
"path-to-regexp": "8.4.2",
|
|
95
|
+
"qs": "6.15.3"
|
|
96
|
+
},
|
|
97
|
+
"devDependencies": {
|
|
98
|
+
"@eslint/js": "^10.0.1",
|
|
99
|
+
"@types/bun": "latest",
|
|
100
|
+
"@types/node": "^24.12.4",
|
|
101
|
+
"eslint": "^10.3.0",
|
|
102
|
+
"typescript": "^6.0.2",
|
|
103
|
+
"typescript-eslint": "^8.59.3"
|
|
104
|
+
},
|
|
105
105
|
"engines": {
|
|
106
106
|
"bun": ">=1.0.0",
|
|
107
|
-
"node": ">=
|
|
107
|
+
"node": ">=22.13.0"
|
|
108
108
|
}
|
|
109
109
|
}
|