@bowong/clawshow-gateway 2026.3.13-alpha.7 → 2026.3.13-alpha.8
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/dist/src/protocol.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/protocol.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,CAAA;AAIlD,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,aAAa,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,aAAa,CAAA;IACnB,EAAE,EAAE,OAAO,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/protocol.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,CAAA;AAIlD,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,aAAa,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,aAAa,CAAA;IACnB,EAAE,EAAE,OAAO,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,SAAS,CAAA;IACf,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,KAAK,CAAA;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,QAAQ,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,iBAAiB,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,kBAAkB,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAID,MAAM,MAAM,YAAY,GACpB,WAAW,GACX,iBAAiB,GACjB,WAAW,GACX,UAAU,GACV,aAAa,GACb,qBAAqB,GACrB,sBAAsB,GACtB,WAAW,GACX,WAAW,GACX,YAAY,CAAA;AAIhB,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAoClE;AAwGD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAE/D;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAID,eAAO,MAAM,qBAAqB,QAAS,CAAA;AAC3C,eAAO,MAAM,uBAAuB,MAAM,CAAA;AAC1C,eAAO,MAAM,qBAAqB,KAAK,CAAA"}
|
package/dist/src/protocol.js
CHANGED
|
@@ -6,15 +6,111 @@
|
|
|
6
6
|
export function parseRelayMessage(raw) {
|
|
7
7
|
try {
|
|
8
8
|
const parsed = JSON.parse(raw);
|
|
9
|
-
if (typeof parsed
|
|
10
|
-
return
|
|
9
|
+
if (typeof parsed !== 'object' || parsed === null || !('type' in parsed)) {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
const msg = parsed;
|
|
13
|
+
switch (msg.type) {
|
|
14
|
+
case 'auth':
|
|
15
|
+
return isValidAuthMessage(parsed) ? parsed : null;
|
|
16
|
+
case 'auth_result':
|
|
17
|
+
return isValidAuthResultMessage(parsed) ? parsed : null;
|
|
18
|
+
case 'message':
|
|
19
|
+
return isValidChatMessage(parsed) ? parsed : null;
|
|
20
|
+
case 'ack':
|
|
21
|
+
return isValidAckMessage(parsed) ? parsed : null;
|
|
22
|
+
case 'typing':
|
|
23
|
+
return isValidTypingMessage(parsed) ? parsed : null;
|
|
24
|
+
case 'history_request':
|
|
25
|
+
return isValidHistoryRequestMessage(parsed) ? parsed : null;
|
|
26
|
+
case 'history_response':
|
|
27
|
+
return isValidHistoryResponseMessage(parsed) ? parsed : null;
|
|
28
|
+
case 'ping':
|
|
29
|
+
return isValidPingMessage(parsed) ? parsed : null;
|
|
30
|
+
case 'pong':
|
|
31
|
+
return isValidPongMessage(parsed) ? parsed : null;
|
|
32
|
+
case 'error':
|
|
33
|
+
return isValidErrorMessage(parsed) ? parsed : null;
|
|
34
|
+
default:
|
|
35
|
+
return null;
|
|
11
36
|
}
|
|
12
|
-
return null;
|
|
13
37
|
}
|
|
14
38
|
catch {
|
|
15
39
|
return null;
|
|
16
40
|
}
|
|
17
41
|
}
|
|
42
|
+
// Type guards for each message type
|
|
43
|
+
function isValidAuthMessage(msg) {
|
|
44
|
+
return (typeof msg === 'object' && msg !== null &&
|
|
45
|
+
msg.type === 'auth' &&
|
|
46
|
+
typeof msg.role === 'string' &&
|
|
47
|
+
['browser', 'openclaw'].includes(msg.role) &&
|
|
48
|
+
typeof msg.token === 'string' &&
|
|
49
|
+
(msg.sessionId === undefined || typeof msg.sessionId === 'string'));
|
|
50
|
+
}
|
|
51
|
+
function isValidAuthResultMessage(msg) {
|
|
52
|
+
return (typeof msg === 'object' && msg !== null &&
|
|
53
|
+
msg.type === 'auth_result' &&
|
|
54
|
+
typeof msg.ok === 'boolean' &&
|
|
55
|
+
(msg.error === undefined || typeof msg.error === 'string') &&
|
|
56
|
+
(msg.sessionId === undefined || typeof msg.sessionId === 'string'));
|
|
57
|
+
}
|
|
58
|
+
function isValidChatMessage(msg) {
|
|
59
|
+
return (typeof msg === 'object' && msg !== null &&
|
|
60
|
+
msg.type === 'message' &&
|
|
61
|
+
typeof msg.id === 'string' &&
|
|
62
|
+
typeof msg.sessionId === 'string' &&
|
|
63
|
+
['user', 'ai'].includes(msg.from) &&
|
|
64
|
+
typeof msg.text === 'string' &&
|
|
65
|
+
typeof msg.timestamp === 'number');
|
|
66
|
+
}
|
|
67
|
+
function isValidAckMessage(msg) {
|
|
68
|
+
return (typeof msg === 'object' && msg !== null &&
|
|
69
|
+
msg.type === 'ack' &&
|
|
70
|
+
typeof msg.messageId === 'string' &&
|
|
71
|
+
typeof msg.sessionId === 'string');
|
|
72
|
+
}
|
|
73
|
+
function isValidTypingMessage(msg) {
|
|
74
|
+
return (typeof msg === 'object' && msg !== null &&
|
|
75
|
+
msg.type === 'typing' &&
|
|
76
|
+
typeof msg.sessionId === 'string' &&
|
|
77
|
+
['user', 'ai'].includes(msg.from) &&
|
|
78
|
+
typeof msg.isTyping === 'boolean');
|
|
79
|
+
}
|
|
80
|
+
function isValidHistoryRequestMessage(msg) {
|
|
81
|
+
const m = msg;
|
|
82
|
+
return (typeof msg === 'object' && msg !== null &&
|
|
83
|
+
m.type === 'history_request' &&
|
|
84
|
+
typeof m.sessionId === 'string' &&
|
|
85
|
+
(m.before === undefined || typeof m.before === 'number') &&
|
|
86
|
+
(m.limit === undefined || typeof m.limit === 'number'));
|
|
87
|
+
}
|
|
88
|
+
function isValidHistoryResponseMessage(msg) {
|
|
89
|
+
const m = msg;
|
|
90
|
+
return (typeof msg === 'object' && msg !== null &&
|
|
91
|
+
m.type === 'history_response' &&
|
|
92
|
+
typeof m.sessionId === 'string' &&
|
|
93
|
+
Array.isArray(m.messages) &&
|
|
94
|
+
typeof m.hasMore === 'boolean');
|
|
95
|
+
}
|
|
96
|
+
function isValidPingMessage(msg) {
|
|
97
|
+
return (typeof msg === 'object' && msg !== null &&
|
|
98
|
+
msg.type === 'ping' &&
|
|
99
|
+
typeof msg.timestamp === 'number');
|
|
100
|
+
}
|
|
101
|
+
function isValidPongMessage(msg) {
|
|
102
|
+
return (typeof msg === 'object' && msg !== null &&
|
|
103
|
+
msg.type === 'pong' &&
|
|
104
|
+
typeof msg.timestamp === 'number');
|
|
105
|
+
}
|
|
106
|
+
function isValidErrorMessage(msg) {
|
|
107
|
+
const m = msg;
|
|
108
|
+
return (typeof msg === 'object' && msg !== null &&
|
|
109
|
+
m.type === 'error' &&
|
|
110
|
+
typeof m.code === 'string' &&
|
|
111
|
+
typeof m.message === 'string' &&
|
|
112
|
+
(m.sessionId === undefined || typeof m.sessionId === 'string'));
|
|
113
|
+
}
|
|
18
114
|
export function serializeRelayMessage(msg) {
|
|
19
115
|
return JSON.stringify(msg);
|
|
20
116
|
}
|
package/dist/src/protocol.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/protocol.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/protocol.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bowong/clawshow-gateway",
|
|
3
|
-
"version": "2026.3.13-alpha.
|
|
3
|
+
"version": "2026.3.13-alpha.8",
|
|
4
4
|
"description": "OpenClaw Web channel plugin — browser-based chat via WebSocket relay",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/src/index.js",
|
|
@@ -26,13 +26,13 @@
|
|
|
26
26
|
"./dist/index.js"
|
|
27
27
|
]
|
|
28
28
|
},
|
|
29
|
-
"
|
|
30
|
-
"ws": "^8.
|
|
31
|
-
},
|
|
32
|
-
"devDependencies": {
|
|
29
|
+
"peerDependencies": {
|
|
30
|
+
"ws": "^8.19.0",
|
|
33
31
|
"@types/ws": "^8.5.13",
|
|
34
32
|
"openclaw": "^2026.3.12"
|
|
35
33
|
},
|
|
34
|
+
"dependencies": {},
|
|
35
|
+
"devDependencies": {},
|
|
36
36
|
"scripts": {
|
|
37
37
|
"build": "node -e \"require('fs').rmSync('dist',{ recursive: true, force: true })\" && bun x tsc -p tsconfig.build.json",
|
|
38
38
|
"typecheck": "bun x tsc --noEmit",
|