@ywfe/openclaw-plugin-caryscloud-im 0.0.1
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/INTEGRATION.md +544 -0
- package/README.md +249 -0
- package/dist/channel.d.ts +15 -0
- package/dist/channel.d.ts.map +1 -0
- package/dist/channel.js +363 -0
- package/dist/channel.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/plugin-sdk.d.ts +133 -0
- package/dist/plugin-sdk.d.ts.map +1 -0
- package/dist/plugin-sdk.js +10 -0
- package/dist/plugin-sdk.js.map +1 -0
- package/dist/shared/constants.d.ts +9 -0
- package/dist/shared/constants.d.ts.map +1 -0
- package/dist/shared/constants.js +9 -0
- package/dist/shared/constants.js.map +1 -0
- package/dist/shared/errors.d.ts +18 -0
- package/dist/shared/errors.d.ts.map +1 -0
- package/dist/shared/errors.js +38 -0
- package/dist/shared/errors.js.map +1 -0
- package/dist/shared/logger.d.ts +15 -0
- package/dist/shared/logger.d.ts.map +1 -0
- package/dist/shared/logger.js +19 -0
- package/dist/shared/logger.js.map +1 -0
- package/dist/shared/utils.d.ts +3 -0
- package/dist/shared/utils.d.ts.map +1 -0
- package/dist/shared/utils.js +28 -0
- package/dist/shared/utils.js.map +1 -0
- package/dist/types.d.ts +41 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/dist/ws-client.d.ts +70 -0
- package/dist/ws-client.d.ts.map +1 -0
- package/dist/ws-client.js +454 -0
- package/dist/ws-client.js.map +1 -0
- package/openclaw.plugin.json +79 -0
- package/package.json +47 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { emptyPluginConfigSchema } from './plugin-sdk.js';
|
|
2
|
+
import { caryscloudImChannel } from './channel.js';
|
|
3
|
+
const plugin = {
|
|
4
|
+
id: 'openclaw-plugin-caryscloud-im',
|
|
5
|
+
name: 'CarysCloud IM',
|
|
6
|
+
description: 'CarysCloud IM channel integration for OpenClaw',
|
|
7
|
+
configSchema: emptyPluginConfigSchema(),
|
|
8
|
+
async register(api) {
|
|
9
|
+
const logger = api.runtime.logger;
|
|
10
|
+
logger?.info('[CarysCloud IM] Plugin register() called');
|
|
11
|
+
api.registerChannel({ plugin: caryscloudImChannel });
|
|
12
|
+
logger?.info('[CarysCloud IM] ✅ Channel registered with OpenClaw');
|
|
13
|
+
logger?.info('[CarysCloud IM] Plugin registration complete. Accounts will be initialized by OpenClaw lifecycle.');
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
export default plugin;
|
|
17
|
+
export { WebSocketClient } from './ws-client.js';
|
|
18
|
+
export { caryscloudImChannel } from './channel.js';
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,MAAM,GAAG;IACb,EAAE,EAAE,+BAA+B;IACnC,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,gDAAgD;IAC7D,YAAY,EAAE,uBAAuB,EAAE;IAEvC,KAAK,CAAC,QAAQ,CAAC,GAAsB;QACnC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;QAElC,MAAM,EAAE,IAAI,CAAC,0CAA0C,CAAC,CAAC;QAEzD,GAAG,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAErD,MAAM,EAAE,IAAI,CAAC,oDAAoD,CAAC,CAAC;QACnE,MAAM,EAAE,IAAI,CAAC,mGAAmG,CAAC,CAAC;IACpH,CAAC;CACF,CAAC;AAEF,eAAe,MAAM,CAAC;AAEtB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenClaw Plugin SDK Type Definitions
|
|
3
|
+
*
|
|
4
|
+
* Local type definitions for OpenClaw channel plugin development.
|
|
5
|
+
* This replaces the external 'openclaw/plugin-sdk' dependency.
|
|
6
|
+
*/
|
|
7
|
+
export interface ChannelMeta {
|
|
8
|
+
id: string;
|
|
9
|
+
label: string;
|
|
10
|
+
selectionLabel: string;
|
|
11
|
+
docsPath: string;
|
|
12
|
+
blurb: string;
|
|
13
|
+
aliases?: string[];
|
|
14
|
+
}
|
|
15
|
+
export interface ChannelCapabilities {
|
|
16
|
+
chatTypes: ('direct' | 'group')[];
|
|
17
|
+
media: boolean;
|
|
18
|
+
threads: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface SendResult {
|
|
21
|
+
ok: boolean;
|
|
22
|
+
messageId?: string;
|
|
23
|
+
timestamp?: number;
|
|
24
|
+
error?: Error;
|
|
25
|
+
type?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface ProbeResult {
|
|
28
|
+
ok: boolean;
|
|
29
|
+
latencyMs: number;
|
|
30
|
+
timestamp: number;
|
|
31
|
+
error?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface StatusIssue {
|
|
34
|
+
level: 'error' | 'warning' | 'info';
|
|
35
|
+
message: string;
|
|
36
|
+
accountId?: string;
|
|
37
|
+
}
|
|
38
|
+
export interface AccountDescription {
|
|
39
|
+
accountId: string;
|
|
40
|
+
name: string;
|
|
41
|
+
enabled: boolean;
|
|
42
|
+
configured: boolean;
|
|
43
|
+
}
|
|
44
|
+
export interface SendTextContext<TConfig, TAccount> {
|
|
45
|
+
cfg: TConfig;
|
|
46
|
+
to: string;
|
|
47
|
+
text: string;
|
|
48
|
+
accountId?: string;
|
|
49
|
+
account?: TAccount;
|
|
50
|
+
}
|
|
51
|
+
export interface SendMediaContext<TConfig, TAccount> {
|
|
52
|
+
cfg: TConfig;
|
|
53
|
+
to: string;
|
|
54
|
+
mediaUrl: string;
|
|
55
|
+
accountId?: string;
|
|
56
|
+
account?: TAccount;
|
|
57
|
+
}
|
|
58
|
+
export interface ChannelRuntime {
|
|
59
|
+
dispatchInboundMessage: (message: InboundMessage) => Promise<void>;
|
|
60
|
+
}
|
|
61
|
+
export interface InboundMessage {
|
|
62
|
+
channel: string;
|
|
63
|
+
accountId: string;
|
|
64
|
+
from: string;
|
|
65
|
+
to: string;
|
|
66
|
+
text: string;
|
|
67
|
+
mediaUrl?: string;
|
|
68
|
+
messageId: string;
|
|
69
|
+
timestamp: number;
|
|
70
|
+
conversationType: string;
|
|
71
|
+
}
|
|
72
|
+
export interface Logger {
|
|
73
|
+
info: (message: string) => void;
|
|
74
|
+
warn: (message: string) => void;
|
|
75
|
+
error: (message: string) => void;
|
|
76
|
+
debug: (message: string) => void;
|
|
77
|
+
}
|
|
78
|
+
export interface GatewayContext<TAccount> {
|
|
79
|
+
account: TAccount;
|
|
80
|
+
runtime: ChannelRuntime;
|
|
81
|
+
logger: Logger;
|
|
82
|
+
}
|
|
83
|
+
export interface LifecycleContext<TAccount> {
|
|
84
|
+
account: TAccount;
|
|
85
|
+
logger: Logger;
|
|
86
|
+
}
|
|
87
|
+
export interface ProbeContext<TAccount> {
|
|
88
|
+
account: TAccount;
|
|
89
|
+
timeoutMs?: number;
|
|
90
|
+
}
|
|
91
|
+
export interface ConfigAdapter<TConfig, TAccount> {
|
|
92
|
+
listAccountIds: (cfg: TConfig) => string[];
|
|
93
|
+
resolveAccount: (cfg: TConfig, accountId?: string) => TAccount;
|
|
94
|
+
isConfigured: (account: TAccount) => boolean;
|
|
95
|
+
describeAccount: (account: TAccount) => AccountDescription;
|
|
96
|
+
}
|
|
97
|
+
export interface OutboundAdapter<TConfig, TAccount> {
|
|
98
|
+
deliveryMode: 'direct' | 'queued';
|
|
99
|
+
textChunkLimit: number;
|
|
100
|
+
sendText: (ctx: SendTextContext<TConfig, TAccount>) => Promise<SendResult>;
|
|
101
|
+
sendMedia?: (ctx: SendMediaContext<TConfig, TAccount>) => Promise<SendResult>;
|
|
102
|
+
}
|
|
103
|
+
export interface GatewayAdapter<TAccount> {
|
|
104
|
+
registerHandlers: (ctx: GatewayContext<TAccount>) => void;
|
|
105
|
+
}
|
|
106
|
+
export interface StatusAdapter<TAccount> {
|
|
107
|
+
probeAccount: (ctx: ProbeContext<TAccount>) => Promise<ProbeResult>;
|
|
108
|
+
collectStatusIssues: (accounts: AccountDescription[]) => StatusIssue[];
|
|
109
|
+
}
|
|
110
|
+
export interface LifecycleAdapter<TAccount> {
|
|
111
|
+
onAccountStart: (ctx: LifecycleContext<TAccount>) => Promise<void>;
|
|
112
|
+
onAccountStop: (ctx: LifecycleContext<TAccount>) => Promise<void>;
|
|
113
|
+
}
|
|
114
|
+
export interface ChannelPlugin<TAccount = any, TConfig = any> {
|
|
115
|
+
id: string;
|
|
116
|
+
meta: ChannelMeta;
|
|
117
|
+
capabilities: ChannelCapabilities;
|
|
118
|
+
config: ConfigAdapter<TConfig, TAccount>;
|
|
119
|
+
outbound: OutboundAdapter<TConfig, TAccount>;
|
|
120
|
+
gateway?: GatewayAdapter<TAccount>;
|
|
121
|
+
status?: StatusAdapter<TAccount>;
|
|
122
|
+
lifecycle?: LifecycleAdapter<TAccount>;
|
|
123
|
+
}
|
|
124
|
+
export interface OpenClawPluginApi {
|
|
125
|
+
registerChannel: (options: {
|
|
126
|
+
plugin: ChannelPlugin<any, any>;
|
|
127
|
+
}) => void;
|
|
128
|
+
runtime: {
|
|
129
|
+
logger?: Logger;
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
export declare function emptyPluginConfigSchema(): any;
|
|
133
|
+
//# sourceMappingURL=plugin-sdk.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-sdk.d.ts","sourceRoot":"","sources":["../src/plugin-sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenClaw Plugin SDK Type Definitions
|
|
3
|
+
*
|
|
4
|
+
* Local type definitions for OpenClaw channel plugin development.
|
|
5
|
+
* This replaces the external 'openclaw/plugin-sdk' dependency.
|
|
6
|
+
*/
|
|
7
|
+
export function emptyPluginConfigSchema() {
|
|
8
|
+
return {};
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=plugin-sdk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-sdk.js","sourceRoot":"","sources":["../src/plugin-sdk.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqLH,MAAM,UAAU,uBAAuB;IACrC,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const DEFAULT_HEARTBEAT_INTERVAL = 30000;
|
|
2
|
+
export declare const DEFAULT_CONNECTION_TIMEOUT = 10000;
|
|
3
|
+
export declare const DEFAULT_RECONNECT_MAX_ATTEMPTS = 5;
|
|
4
|
+
export declare const DEFAULT_RECONNECT_BASE_DELAY = 1000;
|
|
5
|
+
export declare const DEFAULT_RECONNECT_MAX_DELAY = 30000;
|
|
6
|
+
export declare const DEFAULT_MESSAGE_QUEUE_MAX_SIZE = 100;
|
|
7
|
+
export declare const DEFAULT_PONG_TIMEOUT = 15000;
|
|
8
|
+
export declare const DEFAULT_AVATAR_URL = "https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png";
|
|
9
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,QAAQ,CAAC;AAChD,eAAO,MAAM,0BAA0B,QAAQ,CAAC;AAChD,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAChD,eAAO,MAAM,4BAA4B,OAAO,CAAC;AACjD,eAAO,MAAM,2BAA2B,QAAQ,CAAC;AACjD,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAClD,eAAO,MAAM,oBAAoB,QAAQ,CAAC;AAC1C,eAAO,MAAM,kBAAkB,qEAAqE,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export const DEFAULT_HEARTBEAT_INTERVAL = 30000;
|
|
2
|
+
export const DEFAULT_CONNECTION_TIMEOUT = 10000;
|
|
3
|
+
export const DEFAULT_RECONNECT_MAX_ATTEMPTS = 5;
|
|
4
|
+
export const DEFAULT_RECONNECT_BASE_DELAY = 1000;
|
|
5
|
+
export const DEFAULT_RECONNECT_MAX_DELAY = 30000;
|
|
6
|
+
export const DEFAULT_MESSAGE_QUEUE_MAX_SIZE = 100;
|
|
7
|
+
export const DEFAULT_PONG_TIMEOUT = 15000;
|
|
8
|
+
export const DEFAULT_AVATAR_URL = 'https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png';
|
|
9
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAChD,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAChD,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AACjD,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,CAAC;AACjD,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAClD,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAC1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,kEAAkE,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare class WebSocketError extends Error {
|
|
2
|
+
code?: string | undefined;
|
|
3
|
+
originalError?: unknown | undefined;
|
|
4
|
+
constructor(message: string, code?: string | undefined, originalError?: unknown | undefined);
|
|
5
|
+
}
|
|
6
|
+
export declare class ConnectionError extends WebSocketError {
|
|
7
|
+
constructor(message: string, originalError?: unknown);
|
|
8
|
+
}
|
|
9
|
+
export declare class AuthenticationError extends WebSocketError {
|
|
10
|
+
constructor(message: string, originalError?: unknown);
|
|
11
|
+
}
|
|
12
|
+
export declare class MessageError extends WebSocketError {
|
|
13
|
+
constructor(message: string, originalError?: unknown);
|
|
14
|
+
}
|
|
15
|
+
export declare class ConfigurationError extends WebSocketError {
|
|
16
|
+
constructor(message: string, originalError?: unknown);
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/shared/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAe,SAAQ,KAAK;IAG9B,IAAI,CAAC,EAAE,MAAM;IACb,aAAa,CAAC,EAAE,OAAO;gBAF9B,OAAO,EAAE,MAAM,EACR,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,aAAa,CAAC,EAAE,OAAO,YAAA;CASjC;AAED,qBAAa,eAAgB,SAAQ,cAAc;gBACrC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO;CAIrD;AAED,qBAAa,mBAAoB,SAAQ,cAAc;gBACzC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO;CAIrD;AAED,qBAAa,YAAa,SAAQ,cAAc;gBAClC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO;CAIrD;AAED,qBAAa,kBAAmB,SAAQ,cAAc;gBACxC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO;CAIrD"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export class WebSocketError extends Error {
|
|
2
|
+
code;
|
|
3
|
+
originalError;
|
|
4
|
+
constructor(message, code, originalError) {
|
|
5
|
+
super(message);
|
|
6
|
+
this.code = code;
|
|
7
|
+
this.originalError = originalError;
|
|
8
|
+
this.name = 'WebSocketError';
|
|
9
|
+
if (Error.captureStackTrace) {
|
|
10
|
+
Error.captureStackTrace(this, this.constructor);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export class ConnectionError extends WebSocketError {
|
|
15
|
+
constructor(message, originalError) {
|
|
16
|
+
super(message, 'CONNECTION_ERROR', originalError);
|
|
17
|
+
this.name = 'ConnectionError';
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export class AuthenticationError extends WebSocketError {
|
|
21
|
+
constructor(message, originalError) {
|
|
22
|
+
super(message, 'AUTHENTICATION_ERROR', originalError);
|
|
23
|
+
this.name = 'AuthenticationError';
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export class MessageError extends WebSocketError {
|
|
27
|
+
constructor(message, originalError) {
|
|
28
|
+
super(message, 'MESSAGE_ERROR', originalError);
|
|
29
|
+
this.name = 'MessageError';
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export class ConfigurationError extends WebSocketError {
|
|
33
|
+
constructor(message, originalError) {
|
|
34
|
+
super(message, 'CONFIGURATION_ERROR', originalError);
|
|
35
|
+
this.name = 'ConfigurationError';
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/shared/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,cAAe,SAAQ,KAAK;IAG9B;IACA;IAHT,YACE,OAAe,EACR,IAAa,EACb,aAAuB;QAE9B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAJ,IAAI,CAAS;QACb,kBAAa,GAAb,aAAa,CAAU;QAG9B,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAE7B,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,cAAc;IACjD,YAAY,OAAe,EAAE,aAAuB;QAClD,KAAK,CAAC,OAAO,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,cAAc;IACrD,YAAY,OAAe,EAAE,aAAuB;QAClD,KAAK,CAAC,OAAO,EAAE,sBAAsB,EAAE,aAAa,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,YAAa,SAAQ,cAAc;IAC9C,YAAY,OAAe,EAAE,aAAuB;QAClD,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,cAAc;IACpD,YAAY,OAAe,EAAE,aAAuB;QAClD,KAAK,CAAC,OAAO,EAAE,qBAAqB,EAAE,aAAa,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface Logger {
|
|
2
|
+
info: (message: string) => void;
|
|
3
|
+
warn: (message: string) => void;
|
|
4
|
+
error: (message: string) => void;
|
|
5
|
+
debug: (message: string) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare class PluginLogger implements Logger {
|
|
8
|
+
private prefix;
|
|
9
|
+
constructor(prefix?: string);
|
|
10
|
+
info(message: string): void;
|
|
11
|
+
warn(message: string): void;
|
|
12
|
+
error(message: string): void;
|
|
13
|
+
debug(message: string): void;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/shared/logger.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAED,qBAAa,YAAa,YAAW,MAAM;IAC7B,OAAO,CAAC,MAAM;gBAAN,MAAM,GAAE,MAA0B;IAEtD,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAG7B"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export class PluginLogger {
|
|
2
|
+
prefix;
|
|
3
|
+
constructor(prefix = '[CarysCloud IM]') {
|
|
4
|
+
this.prefix = prefix;
|
|
5
|
+
}
|
|
6
|
+
info(message) {
|
|
7
|
+
console.log(`${this.prefix} ${message}`);
|
|
8
|
+
}
|
|
9
|
+
warn(message) {
|
|
10
|
+
console.warn(`${this.prefix} ${message}`);
|
|
11
|
+
}
|
|
12
|
+
error(message) {
|
|
13
|
+
console.error(`${this.prefix} ${message}`);
|
|
14
|
+
}
|
|
15
|
+
debug(message) {
|
|
16
|
+
console.debug(`${this.prefix} ${message}`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/shared/logger.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,YAAY;IACH;IAApB,YAAoB,SAAiB,iBAAiB;QAAlC,WAAM,GAAN,MAAM,CAA4B;IAAG,CAAC;IAE1D,IAAI,CAAC,OAAe;QAClB,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/shared/utils.ts"],"names":[],"mappings":"AAAA,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAoBlE;AAED,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,MAAM,CAAC,CAUhE"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export async function getOpenClawDeviceId() {
|
|
2
|
+
try {
|
|
3
|
+
const fs = await import('fs');
|
|
4
|
+
const path = await import('path');
|
|
5
|
+
const os = await import('os');
|
|
6
|
+
const identityPath = path.join(os.homedir(), '.openclaw', 'identity', 'device.json');
|
|
7
|
+
if (!fs.existsSync(identityPath)) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
const content = fs.readFileSync(identityPath, 'utf-8');
|
|
11
|
+
const identity = JSON.parse(content);
|
|
12
|
+
return identity.deviceId || null;
|
|
13
|
+
}
|
|
14
|
+
catch (error) {
|
|
15
|
+
console.error('[CarysCloud IM] Failed to read OpenClaw device ID:', error);
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export async function generateUuidFromDeviceId() {
|
|
20
|
+
const deviceId = await getOpenClawDeviceId();
|
|
21
|
+
if (!deviceId) {
|
|
22
|
+
const randomId = Math.random().toString(36).substring(2, 14);
|
|
23
|
+
return `openclaw-${randomId}`;
|
|
24
|
+
}
|
|
25
|
+
const shortId = deviceId.substring(0, 12);
|
|
26
|
+
return `openclaw-${shortId}`;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/shared/utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QAE9B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QAErF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAErC,OAAO,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC;IACnC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,oDAAoD,EAAE,KAAK,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB;IAC5C,MAAM,QAAQ,GAAG,MAAM,mBAAmB,EAAE,CAAC;IAE7C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7D,OAAO,YAAY,QAAQ,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1C,OAAO,YAAY,OAAO,EAAE,CAAC;AAC/B,CAAC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WebSocket Channel Plugin Types
|
|
3
|
+
*/
|
|
4
|
+
export interface CarysCloudIMAccount {
|
|
5
|
+
accountId: string;
|
|
6
|
+
uuid?: string;
|
|
7
|
+
targetUserId: string;
|
|
8
|
+
wsUrl: string;
|
|
9
|
+
name?: string;
|
|
10
|
+
avatarUrl?: string;
|
|
11
|
+
authToken?: string;
|
|
12
|
+
enabled: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface CarysCloudIMConfig {
|
|
15
|
+
channels?: {
|
|
16
|
+
'caryscloud-im'?: {
|
|
17
|
+
accounts?: {
|
|
18
|
+
[accountId: string]: {
|
|
19
|
+
uuid?: string;
|
|
20
|
+
targetUserId: string;
|
|
21
|
+
wsUrl: string;
|
|
22
|
+
name?: string;
|
|
23
|
+
avatarUrl?: string;
|
|
24
|
+
authToken?: string;
|
|
25
|
+
enabled?: boolean;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export interface CarysCloudIMMessage {
|
|
32
|
+
type: string;
|
|
33
|
+
from?: string;
|
|
34
|
+
to?: string;
|
|
35
|
+
text?: string;
|
|
36
|
+
mediaUrl?: string;
|
|
37
|
+
timestamp?: number;
|
|
38
|
+
messageId?: string;
|
|
39
|
+
payload?: any;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE;QACT,eAAe,CAAC,EAAE;YAChB,QAAQ,CAAC,EAAE;gBACT,CAAC,SAAS,EAAE,MAAM,GAAG;oBACnB,IAAI,CAAC,EAAE,MAAM,CAAC;oBACd,YAAY,EAAE,MAAM,CAAC;oBACrB,KAAK,EAAE,MAAM,CAAC;oBACd,IAAI,CAAC,EAAE,MAAM,CAAC;oBACd,SAAS,CAAC,EAAE,MAAM,CAAC;oBACnB,SAAS,CAAC,EAAE,MAAM,CAAC;oBACnB,OAAO,CAAC,EAAE,OAAO,CAAC;iBACnB,CAAC;aACH,CAAC;SACH,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { Logger } from './shared/logger.js';
|
|
2
|
+
type ClientState = 'idle' | 'connecting' | 'connected' | 'disconnected' | 'error' | 'conflict';
|
|
3
|
+
interface WebSocketClientOptions {
|
|
4
|
+
wsUrl: string;
|
|
5
|
+
uuid: string;
|
|
6
|
+
authToken?: string;
|
|
7
|
+
heartbeatInterval?: number;
|
|
8
|
+
connectionTimeout?: number;
|
|
9
|
+
reconnectMaxAttempts?: number;
|
|
10
|
+
reconnectBaseDelay?: number;
|
|
11
|
+
reconnectMaxDelay?: number;
|
|
12
|
+
messageQueueMaxSize?: number;
|
|
13
|
+
pongTimeout?: number;
|
|
14
|
+
}
|
|
15
|
+
export declare class WebSocketClient {
|
|
16
|
+
private ws;
|
|
17
|
+
private _state;
|
|
18
|
+
private messageHandlers;
|
|
19
|
+
private logger;
|
|
20
|
+
private uuid;
|
|
21
|
+
private wsUrl;
|
|
22
|
+
private authToken?;
|
|
23
|
+
private isDestroyed;
|
|
24
|
+
private heartbeatInterval;
|
|
25
|
+
private connectionTimeout;
|
|
26
|
+
private reconnectMaxAttempts;
|
|
27
|
+
private reconnectBaseDelay;
|
|
28
|
+
private reconnectMaxDelay;
|
|
29
|
+
private messageQueueMaxSize;
|
|
30
|
+
private pongTimeout;
|
|
31
|
+
private reconnectAttempts;
|
|
32
|
+
private reconnectTimer;
|
|
33
|
+
private connectionTimer;
|
|
34
|
+
private heartbeatTimer;
|
|
35
|
+
private pongTimer;
|
|
36
|
+
private messageQueue;
|
|
37
|
+
private lastPongTime;
|
|
38
|
+
constructor(options: WebSocketClientOptions, logger: Logger);
|
|
39
|
+
get state(): ClientState;
|
|
40
|
+
getIsReady(): boolean;
|
|
41
|
+
isInConflict(): boolean;
|
|
42
|
+
getUuid(): string;
|
|
43
|
+
initialize(): Promise<void>;
|
|
44
|
+
private connect;
|
|
45
|
+
private handleOpen;
|
|
46
|
+
private sendAuthMessage;
|
|
47
|
+
private handleMessage;
|
|
48
|
+
private handleAuthResponse;
|
|
49
|
+
private handleConflict;
|
|
50
|
+
private handleClose;
|
|
51
|
+
private handleError;
|
|
52
|
+
private handleConnectionTimeout;
|
|
53
|
+
private scheduleReconnect;
|
|
54
|
+
private calculateReconnectDelay;
|
|
55
|
+
private startHeartbeat;
|
|
56
|
+
private stopHeartbeat;
|
|
57
|
+
private handlePong;
|
|
58
|
+
private flushMessageQueue;
|
|
59
|
+
sendTextMessage(toUserId: string, text: string): Promise<string>;
|
|
60
|
+
sendImageMessage(toUserId: string, imageFile: File): Promise<string>;
|
|
61
|
+
sendFileMessage(toUserId: string, file: File): Promise<string>;
|
|
62
|
+
private sendMessage;
|
|
63
|
+
onMessage(handler: (message: any) => void): void;
|
|
64
|
+
offMessage(handler: (message: any) => void): void;
|
|
65
|
+
destroy(): Promise<void>;
|
|
66
|
+
isUserSignExpired(): boolean;
|
|
67
|
+
refreshUserSign(): Promise<void>;
|
|
68
|
+
}
|
|
69
|
+
export {};
|
|
70
|
+
//# sourceMappingURL=ws-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ws-client.d.ts","sourceRoot":"","sources":["../src/ws-client.ts"],"names":[],"mappings":"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"}
|