@elizaos/plugin-signal 2.0.0-alpha
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/accounts.d.ts +124 -0
- package/dist/accounts.d.ts.map +1 -0
- package/dist/actions/listContacts.d.ts +4 -0
- package/dist/actions/listContacts.d.ts.map +1 -0
- package/dist/actions/listGroups.d.ts +4 -0
- package/dist/actions/listGroups.d.ts.map +1 -0
- package/dist/actions/sendMessage.d.ts +4 -0
- package/dist/actions/sendMessage.d.ts.map +1 -0
- package/dist/actions/sendReaction.d.ts +4 -0
- package/dist/actions/sendReaction.d.ts.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1488 -0
- package/dist/index.js.map +19 -0
- package/dist/providers/conversationState.d.ts +7 -0
- package/dist/providers/conversationState.d.ts.map +1 -0
- package/dist/rpc.d.ts +163 -0
- package/dist/rpc.d.ts.map +1 -0
- package/dist/service.d.ts +53 -0
- package/dist/service.d.ts.map +1 -0
- package/dist/types.d.ts +172 -0
- package/dist/types.d.ts.map +1 -0
- package/package.json +100 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import type { Character, EventPayload, MessagePayload, WorldPayload } from "@elizaos/core";
|
|
2
|
+
/**
|
|
3
|
+
* Signal-specific event types
|
|
4
|
+
*/
|
|
5
|
+
export declare enum SignalEventTypes {
|
|
6
|
+
MESSAGE_RECEIVED = "SIGNAL_MESSAGE_RECEIVED",
|
|
7
|
+
MESSAGE_SENT = "SIGNAL_MESSAGE_SENT",
|
|
8
|
+
REACTION_RECEIVED = "SIGNAL_REACTION_RECEIVED",
|
|
9
|
+
GROUP_JOINED = "SIGNAL_GROUP_JOINED",
|
|
10
|
+
GROUP_LEFT = "SIGNAL_GROUP_LEFT",
|
|
11
|
+
TYPING_STARTED = "SIGNAL_TYPING_STARTED",
|
|
12
|
+
TYPING_STOPPED = "SIGNAL_TYPING_STOPPED",
|
|
13
|
+
READ_RECEIPT = "SIGNAL_READ_RECEIPT"
|
|
14
|
+
}
|
|
15
|
+
export interface SignalMessageReceivedPayload extends MessagePayload {
|
|
16
|
+
sender: string;
|
|
17
|
+
groupId: string | undefined;
|
|
18
|
+
timestamp: number;
|
|
19
|
+
attachments: SignalAttachment[];
|
|
20
|
+
isGroupMessage: boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface SignalMessageSentPayload extends MessagePayload {
|
|
23
|
+
recipient: string;
|
|
24
|
+
groupId: string | undefined;
|
|
25
|
+
timestamp: number;
|
|
26
|
+
}
|
|
27
|
+
export interface SignalReactionPayload extends EventPayload {
|
|
28
|
+
emoji: string;
|
|
29
|
+
sender: string;
|
|
30
|
+
targetTimestamp: number;
|
|
31
|
+
targetAuthor: string;
|
|
32
|
+
isRemove: boolean;
|
|
33
|
+
}
|
|
34
|
+
export interface SignalGroupPayload extends WorldPayload {
|
|
35
|
+
groupId: string;
|
|
36
|
+
groupName: string;
|
|
37
|
+
members: string[];
|
|
38
|
+
}
|
|
39
|
+
export interface SignalAttachment {
|
|
40
|
+
contentType: string;
|
|
41
|
+
filename: string | undefined;
|
|
42
|
+
id: string;
|
|
43
|
+
size: number;
|
|
44
|
+
width: number | undefined;
|
|
45
|
+
height: number | undefined;
|
|
46
|
+
caption: string | undefined;
|
|
47
|
+
blurhash: string | undefined;
|
|
48
|
+
}
|
|
49
|
+
export interface SignalEventPayloadMap {
|
|
50
|
+
[SignalEventTypes.MESSAGE_RECEIVED]: SignalMessageReceivedPayload;
|
|
51
|
+
[SignalEventTypes.MESSAGE_SENT]: SignalMessageSentPayload;
|
|
52
|
+
[SignalEventTypes.REACTION_RECEIVED]: SignalReactionPayload;
|
|
53
|
+
[SignalEventTypes.GROUP_JOINED]: SignalGroupPayload;
|
|
54
|
+
[SignalEventTypes.GROUP_LEFT]: SignalGroupPayload;
|
|
55
|
+
}
|
|
56
|
+
export interface SignalContact {
|
|
57
|
+
number: string;
|
|
58
|
+
uuid: string | undefined;
|
|
59
|
+
name: string | undefined;
|
|
60
|
+
profileName: string | undefined;
|
|
61
|
+
color: string | undefined;
|
|
62
|
+
blocked: boolean;
|
|
63
|
+
}
|
|
64
|
+
export interface SignalGroup {
|
|
65
|
+
id: string;
|
|
66
|
+
name: string;
|
|
67
|
+
description: string | undefined;
|
|
68
|
+
isMember: boolean;
|
|
69
|
+
isBlocked: boolean;
|
|
70
|
+
members: SignalGroupMember[];
|
|
71
|
+
admins: string[];
|
|
72
|
+
inviteLink: string | undefined;
|
|
73
|
+
}
|
|
74
|
+
export interface SignalGroupMember {
|
|
75
|
+
uuid: string;
|
|
76
|
+
number: string | undefined;
|
|
77
|
+
role: "ADMINISTRATOR" | "DEFAULT";
|
|
78
|
+
}
|
|
79
|
+
export interface SignalMessage {
|
|
80
|
+
timestamp: number;
|
|
81
|
+
sender: string;
|
|
82
|
+
senderUuid: string | undefined;
|
|
83
|
+
groupId: string | undefined;
|
|
84
|
+
message: string | undefined;
|
|
85
|
+
attachments: SignalAttachment[];
|
|
86
|
+
quote: SignalQuote | undefined;
|
|
87
|
+
reaction: SignalReactionInfo | undefined;
|
|
88
|
+
expiresInSeconds: number | undefined;
|
|
89
|
+
viewOnce: boolean;
|
|
90
|
+
}
|
|
91
|
+
export interface SignalQuote {
|
|
92
|
+
id: number;
|
|
93
|
+
author: string;
|
|
94
|
+
authorUuid: string | undefined;
|
|
95
|
+
text: string;
|
|
96
|
+
attachments: SignalAttachment[];
|
|
97
|
+
}
|
|
98
|
+
export interface SignalReactionInfo {
|
|
99
|
+
emoji: string;
|
|
100
|
+
targetAuthor: string;
|
|
101
|
+
targetAuthorUuid: string | undefined;
|
|
102
|
+
targetSentTimestamp: number;
|
|
103
|
+
isRemove: boolean;
|
|
104
|
+
}
|
|
105
|
+
export interface ISignalService {
|
|
106
|
+
accountNumber: string | null;
|
|
107
|
+
character: Character;
|
|
108
|
+
isConnected: boolean;
|
|
109
|
+
}
|
|
110
|
+
export declare const SIGNAL_SERVICE_NAME = "signal";
|
|
111
|
+
export declare const ServiceType: {
|
|
112
|
+
readonly SIGNAL: "signal";
|
|
113
|
+
};
|
|
114
|
+
export interface SignalSettings {
|
|
115
|
+
shouldIgnoreGroupMessages: boolean;
|
|
116
|
+
allowedGroups: string[] | undefined;
|
|
117
|
+
blockedNumbers: string[] | undefined;
|
|
118
|
+
}
|
|
119
|
+
export interface SignalMessageSendOptions {
|
|
120
|
+
attachments: string[] | undefined;
|
|
121
|
+
quote: {
|
|
122
|
+
timestamp: number;
|
|
123
|
+
author: string;
|
|
124
|
+
} | undefined;
|
|
125
|
+
expiresInSeconds: number | undefined;
|
|
126
|
+
}
|
|
127
|
+
export declare class SignalPluginError extends Error {
|
|
128
|
+
readonly code: string;
|
|
129
|
+
constructor(message: string, code: string);
|
|
130
|
+
}
|
|
131
|
+
export declare class SignalServiceNotInitializedError extends SignalPluginError {
|
|
132
|
+
constructor();
|
|
133
|
+
}
|
|
134
|
+
export declare class SignalClientNotAvailableError extends SignalPluginError {
|
|
135
|
+
constructor();
|
|
136
|
+
}
|
|
137
|
+
export declare class SignalConfigurationError extends SignalPluginError {
|
|
138
|
+
constructor(missingConfig: string);
|
|
139
|
+
}
|
|
140
|
+
export declare class SignalApiError extends SignalPluginError {
|
|
141
|
+
readonly apiErrorCode: string | undefined;
|
|
142
|
+
constructor(message: string, apiErrorCode: string | undefined);
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Normalize a phone number to E.164 format
|
|
146
|
+
*/
|
|
147
|
+
export declare function normalizeE164(number: string): string | null;
|
|
148
|
+
/**
|
|
149
|
+
* Validates an E.164 phone number format
|
|
150
|
+
*/
|
|
151
|
+
export declare function isValidE164(number: string): boolean;
|
|
152
|
+
/**
|
|
153
|
+
* Validates a Signal group ID format (base64-encoded)
|
|
154
|
+
*/
|
|
155
|
+
export declare function isValidGroupId(id: string): boolean;
|
|
156
|
+
/**
|
|
157
|
+
* Validates a Signal UUID format
|
|
158
|
+
*/
|
|
159
|
+
export declare function isValidUuid(uuid: string): boolean;
|
|
160
|
+
/**
|
|
161
|
+
* Gets the display name for a Signal contact
|
|
162
|
+
*/
|
|
163
|
+
export declare function getSignalContactDisplayName(contact: SignalContact): string;
|
|
164
|
+
/**
|
|
165
|
+
* Maximum message length for Signal messages
|
|
166
|
+
*/
|
|
167
|
+
export declare const MAX_SIGNAL_MESSAGE_LENGTH = 4000;
|
|
168
|
+
/**
|
|
169
|
+
* Maximum attachment size (100MB)
|
|
170
|
+
*/
|
|
171
|
+
export declare const MAX_SIGNAL_ATTACHMENT_SIZE: number;
|
|
172
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@elizaos/plugin-signal",
|
|
3
|
+
"version": "2.0.0-alpha",
|
|
4
|
+
"description": "Signal messaging integration plugin for ElizaOS agents",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"module": "dist/index.js",
|
|
8
|
+
"types": "dist/index.d.ts",
|
|
9
|
+
"sideEffects": false,
|
|
10
|
+
"repository": {
|
|
11
|
+
"type": "git",
|
|
12
|
+
"url": "git+https://github.com/elizaos-plugins/plugin-signal.git"
|
|
13
|
+
},
|
|
14
|
+
"exports": {
|
|
15
|
+
"./package.json": "./package.json",
|
|
16
|
+
".": {
|
|
17
|
+
"types": "./dist/index.d.ts",
|
|
18
|
+
"import": "./dist/index.js",
|
|
19
|
+
"default": "./dist/index.js"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"files": [
|
|
23
|
+
"dist"
|
|
24
|
+
],
|
|
25
|
+
"keywords": [
|
|
26
|
+
"elizaos",
|
|
27
|
+
"plugin",
|
|
28
|
+
"signal",
|
|
29
|
+
"messaging",
|
|
30
|
+
"secure",
|
|
31
|
+
"encrypted"
|
|
32
|
+
],
|
|
33
|
+
"author": "elizaOS",
|
|
34
|
+
"license": "MIT",
|
|
35
|
+
"scripts": {
|
|
36
|
+
"build": "bun run build.ts",
|
|
37
|
+
"build:ts": "bun run build.ts",
|
|
38
|
+
"dev": "bun --hot build.ts",
|
|
39
|
+
"clean": "rm -rf dist .turbo node_modules",
|
|
40
|
+
"test": "vitest run",
|
|
41
|
+
"typecheck": "tsc --noEmit",
|
|
42
|
+
"lint": "bunx @biomejs/biome check --write --unsafe .",
|
|
43
|
+
"lint:check": "bunx @biomejs/biome check .",
|
|
44
|
+
"format": "bunx @biomejs/biome format --write .",
|
|
45
|
+
"format:check": "bunx @biomejs/biome format ."
|
|
46
|
+
},
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"@elizaos/core": "workspace:*",
|
|
49
|
+
"zod": "^4.3.6"
|
|
50
|
+
},
|
|
51
|
+
"devDependencies": {
|
|
52
|
+
"@types/node": "^25.0.3",
|
|
53
|
+
"typescript": "^5.9.3",
|
|
54
|
+
"@biomejs/biome": "^2.3.11"
|
|
55
|
+
},
|
|
56
|
+
"peerDependencies": {
|
|
57
|
+
"@elizaos/core": "workspace:*"
|
|
58
|
+
},
|
|
59
|
+
"publishConfig": {
|
|
60
|
+
"access": "public"
|
|
61
|
+
},
|
|
62
|
+
"agentConfig": {
|
|
63
|
+
"pluginType": "elizaos:plugin:1.0.0",
|
|
64
|
+
"pluginParameters": {
|
|
65
|
+
"SIGNAL_ACCOUNT_NUMBER": {
|
|
66
|
+
"type": "string",
|
|
67
|
+
"description": "Signal account phone number in E.164 format (e.g., +1234567890)",
|
|
68
|
+
"required": true,
|
|
69
|
+
"sensitive": false
|
|
70
|
+
},
|
|
71
|
+
"SIGNAL_HTTP_URL": {
|
|
72
|
+
"type": "string",
|
|
73
|
+
"description": "Signal CLI REST API URL (e.g., http://localhost:8080)",
|
|
74
|
+
"required": false,
|
|
75
|
+
"sensitive": false
|
|
76
|
+
},
|
|
77
|
+
"SIGNAL_CLI_PATH": {
|
|
78
|
+
"type": "string",
|
|
79
|
+
"description": "Path to signal-cli executable (alternative to HTTP API)",
|
|
80
|
+
"required": false,
|
|
81
|
+
"sensitive": false
|
|
82
|
+
},
|
|
83
|
+
"SIGNAL_SHOULD_IGNORE_GROUP_MESSAGES": {
|
|
84
|
+
"type": "boolean",
|
|
85
|
+
"description": "If true, the bot will only respond to direct messages",
|
|
86
|
+
"required": false,
|
|
87
|
+
"sensitive": false
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
"milaidy": {
|
|
92
|
+
"platforms": [
|
|
93
|
+
"node"
|
|
94
|
+
],
|
|
95
|
+
"runtime": "node",
|
|
96
|
+
"platformDetails": {
|
|
97
|
+
"node": "Default export (Node.js)"
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|