@elizaos/plugin-signal 2.0.0-beta.1 → 2.0.11-beta.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.
- package/LICENSE +21 -0
- package/README.md +90 -0
- package/auto-enable.ts +1 -1
- package/package.json +26 -8
- package/dist/accounts.d.ts +0 -127
- package/dist/accounts.d.ts.map +0 -1
- package/dist/actions/action-utils.d.ts +0 -8
- package/dist/actions/action-utils.d.ts.map +0 -1
- package/dist/config.d.ts +0 -90
- package/dist/config.d.ts.map +0 -1
- package/dist/connector-account-provider.d.ts +0 -18
- package/dist/connector-account-provider.d.ts.map +0 -1
- package/dist/index.d.ts +0 -13
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -7139
- package/dist/index.js.map +0 -75
- package/dist/pairing-service.d.ts +0 -73
- package/dist/pairing-service.d.ts.map +0 -1
- package/dist/providers/index.d.ts +0 -1
- package/dist/providers/index.d.ts.map +0 -1
- package/dist/rpc.d.ts +0 -163
- package/dist/rpc.d.ts.map +0 -1
- package/dist/service.d.ts +0 -136
- package/dist/service.d.ts.map +0 -1
- package/dist/setup-routes.d.ts +0 -31
- package/dist/setup-routes.d.ts.map +0 -1
- package/dist/types.d.ts +0 -195
- package/dist/types.d.ts.map +0 -1
- package/dist/workflow-credential-provider.d.ts +0 -21
- package/dist/workflow-credential-provider.d.ts.map +0 -1
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Signal pairing service — manages device linking via QR code.
|
|
3
|
-
*
|
|
4
|
-
* Mirrors whatsapp-pairing.ts but uses @elizaos/signal-native instead of
|
|
5
|
-
* Baileys. Signal linking produces a single provisioning URL (not a refresh
|
|
6
|
-
* loop) — if it times out, restart the session.
|
|
7
|
-
*/
|
|
8
|
-
type ExecFileAsync = (file: string, args?: readonly string[], options?: {
|
|
9
|
-
env?: NodeJS.ProcessEnv;
|
|
10
|
-
}) => Promise<{
|
|
11
|
-
stdout: string;
|
|
12
|
-
stderr: string;
|
|
13
|
-
}>;
|
|
14
|
-
/** Validate accountId to prevent path traversal. */
|
|
15
|
-
export declare function sanitizeAccountId(raw: string): string;
|
|
16
|
-
export type SignalPairingStatus = "idle" | "initializing" | "waiting_for_qr" | "connected" | "disconnected" | "timeout" | "error";
|
|
17
|
-
export interface SignalPairingEvent {
|
|
18
|
-
type: "signal-qr" | "signal-status";
|
|
19
|
-
accountId: string;
|
|
20
|
-
qrDataUrl?: string;
|
|
21
|
-
status?: SignalPairingStatus;
|
|
22
|
-
uuid?: string;
|
|
23
|
-
phoneNumber?: string;
|
|
24
|
-
error?: string;
|
|
25
|
-
}
|
|
26
|
-
export interface SignalPairingSnapshot {
|
|
27
|
-
status: SignalPairingStatus;
|
|
28
|
-
qrDataUrl: string | null;
|
|
29
|
-
phoneNumber: string | null;
|
|
30
|
-
error: string | null;
|
|
31
|
-
}
|
|
32
|
-
export interface SignalPairingOptions {
|
|
33
|
-
authDir: string;
|
|
34
|
-
accountId: string;
|
|
35
|
-
cliPath?: string;
|
|
36
|
-
onEvent: (event: SignalPairingEvent) => void;
|
|
37
|
-
}
|
|
38
|
-
export declare function extractSignalCliProvisioningUrl(text: string): string | null;
|
|
39
|
-
export declare function parseSignalCliAccountsOutput(output: string): string | null;
|
|
40
|
-
export declare function resolveSignalCliExecutable(options?: {
|
|
41
|
-
cliPath?: string;
|
|
42
|
-
env?: NodeJS.ProcessEnv;
|
|
43
|
-
execFile?: ExecFileAsync;
|
|
44
|
-
existsSync?: (path: string) => boolean;
|
|
45
|
-
platform?: NodeJS.Platform;
|
|
46
|
-
}): Promise<string | null>;
|
|
47
|
-
export declare function signalCliInstallInstructions(platform: NodeJS.Platform): string;
|
|
48
|
-
export declare function missingSignalCliMessage(cliPath: string | undefined, env?: NodeJS.ProcessEnv, platform?: NodeJS.Platform): string;
|
|
49
|
-
export declare function classifySignalPairingErrorStatus(errorMessage: string): SignalPairingStatus;
|
|
50
|
-
export declare class SignalPairingSession {
|
|
51
|
-
private status;
|
|
52
|
-
private options;
|
|
53
|
-
private aborted;
|
|
54
|
-
private qrDataUrl;
|
|
55
|
-
private phoneNumber;
|
|
56
|
-
private lastError;
|
|
57
|
-
private activeChild;
|
|
58
|
-
constructor(options: SignalPairingOptions);
|
|
59
|
-
start(): Promise<void>;
|
|
60
|
-
stop(): void;
|
|
61
|
-
getStatus(): SignalPairingStatus;
|
|
62
|
-
getSnapshot(): SignalPairingSnapshot;
|
|
63
|
-
private setStatus;
|
|
64
|
-
private loadSignalNativeModule;
|
|
65
|
-
private startWithSignalNative;
|
|
66
|
-
private startWithSignalCli;
|
|
67
|
-
private finishConnected;
|
|
68
|
-
private readLinkedSignalAccount;
|
|
69
|
-
}
|
|
70
|
-
export declare function signalAuthExists(workspaceDir: string, accountId?: string): boolean;
|
|
71
|
-
export declare function signalLogout(workspaceDir: string, accountId?: string): void;
|
|
72
|
-
export {};
|
|
73
|
-
//# sourceMappingURL=pairing-service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pairing-service.d.ts","sourceRoot":"","sources":["../src/pairing-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":""}
|
package/dist/rpc.d.ts
DELETED
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Options for Signal RPC requests
|
|
3
|
-
*/
|
|
4
|
-
export interface SignalRpcOptions {
|
|
5
|
-
baseUrl: string;
|
|
6
|
-
timeoutMs?: number;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Signal RPC error structure
|
|
10
|
-
*/
|
|
11
|
-
export interface SignalRpcError {
|
|
12
|
-
code?: number;
|
|
13
|
-
message?: string;
|
|
14
|
-
data?: unknown;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Signal RPC response structure
|
|
18
|
-
*/
|
|
19
|
-
export interface SignalRpcResponse<T> {
|
|
20
|
-
jsonrpc?: string;
|
|
21
|
-
result?: T;
|
|
22
|
-
error?: SignalRpcError;
|
|
23
|
-
id?: string | number | null;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Signal SSE event structure
|
|
27
|
-
*/
|
|
28
|
-
export interface SignalSseEvent {
|
|
29
|
-
event?: string;
|
|
30
|
-
data?: string;
|
|
31
|
-
id?: string;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Result of a Signal health check
|
|
35
|
-
*/
|
|
36
|
-
export interface SignalCheckResult {
|
|
37
|
-
ok: boolean;
|
|
38
|
-
status?: number | null;
|
|
39
|
-
error?: string | null;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Normalizes a base URL for Signal CLI HTTP server
|
|
43
|
-
*/
|
|
44
|
-
export declare function normalizeBaseUrl(url: string): string;
|
|
45
|
-
/**
|
|
46
|
-
* Makes a JSON-RPC request to the Signal CLI HTTP server
|
|
47
|
-
*/
|
|
48
|
-
export declare function signalRpcRequest<T = unknown>(method: string, params: Record<string, unknown> | undefined, opts: SignalRpcOptions): Promise<T>;
|
|
49
|
-
/**
|
|
50
|
-
* Checks if the Signal CLI HTTP server is available
|
|
51
|
-
*/
|
|
52
|
-
export declare function signalCheck(baseUrl: string, timeoutMs?: number): Promise<SignalCheckResult>;
|
|
53
|
-
/**
|
|
54
|
-
* Gets the current Signal version from the CLI
|
|
55
|
-
*/
|
|
56
|
-
export declare function signalGetVersion(opts: SignalRpcOptions): Promise<string>;
|
|
57
|
-
/**
|
|
58
|
-
* Lists all registered Signal accounts
|
|
59
|
-
*/
|
|
60
|
-
export declare function signalListAccounts(opts: SignalRpcOptions): Promise<Array<{
|
|
61
|
-
number: string;
|
|
62
|
-
uuid: string;
|
|
63
|
-
}>>;
|
|
64
|
-
/**
|
|
65
|
-
* Gets contacts for a Signal account
|
|
66
|
-
*/
|
|
67
|
-
export declare function signalListContacts(account: string, opts: SignalRpcOptions): Promise<Array<{
|
|
68
|
-
number: string;
|
|
69
|
-
uuid: string;
|
|
70
|
-
name?: string;
|
|
71
|
-
profileName?: string;
|
|
72
|
-
blocked?: boolean;
|
|
73
|
-
}>>;
|
|
74
|
-
/**
|
|
75
|
-
* Gets groups for a Signal account
|
|
76
|
-
*/
|
|
77
|
-
export declare function signalListGroups(account: string, opts: SignalRpcOptions): Promise<Array<{
|
|
78
|
-
id: string;
|
|
79
|
-
name: string;
|
|
80
|
-
description?: string;
|
|
81
|
-
isMember: boolean;
|
|
82
|
-
isBlocked: boolean;
|
|
83
|
-
members: Array<{
|
|
84
|
-
uuid: string;
|
|
85
|
-
number?: string;
|
|
86
|
-
}>;
|
|
87
|
-
}>>;
|
|
88
|
-
/**
|
|
89
|
-
* Sends a message to a recipient or group
|
|
90
|
-
*/
|
|
91
|
-
export declare function signalSend(params: {
|
|
92
|
-
account: string;
|
|
93
|
-
recipients?: string[];
|
|
94
|
-
groupId?: string;
|
|
95
|
-
message?: string;
|
|
96
|
-
attachments?: string[];
|
|
97
|
-
quote?: {
|
|
98
|
-
timestamp: number;
|
|
99
|
-
author: string;
|
|
100
|
-
};
|
|
101
|
-
}, opts: SignalRpcOptions): Promise<{
|
|
102
|
-
timestamp: number;
|
|
103
|
-
}>;
|
|
104
|
-
/**
|
|
105
|
-
* Sends a reaction to a message
|
|
106
|
-
*/
|
|
107
|
-
export declare function signalSendReaction(params: {
|
|
108
|
-
account: string;
|
|
109
|
-
recipient?: string;
|
|
110
|
-
groupId?: string;
|
|
111
|
-
emoji: string;
|
|
112
|
-
targetAuthor: string;
|
|
113
|
-
targetTimestamp: number;
|
|
114
|
-
remove?: boolean;
|
|
115
|
-
}, opts: SignalRpcOptions): Promise<void>;
|
|
116
|
-
/**
|
|
117
|
-
* Sends a typing indicator
|
|
118
|
-
*/
|
|
119
|
-
export declare function signalSendTyping(params: {
|
|
120
|
-
account: string;
|
|
121
|
-
recipient?: string;
|
|
122
|
-
groupId?: string;
|
|
123
|
-
stop?: boolean;
|
|
124
|
-
}, opts: SignalRpcOptions): Promise<void>;
|
|
125
|
-
/**
|
|
126
|
-
* Sends a read receipt
|
|
127
|
-
*/
|
|
128
|
-
export declare function signalSendReadReceipt(params: {
|
|
129
|
-
account: string;
|
|
130
|
-
recipient: string;
|
|
131
|
-
targetTimestamp: number;
|
|
132
|
-
}, opts: SignalRpcOptions): Promise<void>;
|
|
133
|
-
/**
|
|
134
|
-
* Streams SSE events from the Signal CLI HTTP server
|
|
135
|
-
*/
|
|
136
|
-
export declare function streamSignalEvents(params: {
|
|
137
|
-
baseUrl: string;
|
|
138
|
-
account?: string;
|
|
139
|
-
abortSignal?: AbortSignal;
|
|
140
|
-
onEvent: (event: SignalSseEvent) => void;
|
|
141
|
-
}): Promise<void>;
|
|
142
|
-
/**
|
|
143
|
-
* Parses an SSE data field as JSON
|
|
144
|
-
*/
|
|
145
|
-
export declare function parseSignalEventData<T>(data: string | undefined): T | null;
|
|
146
|
-
/**
|
|
147
|
-
* Creates an SSE event handler with reconnection logic
|
|
148
|
-
*/
|
|
149
|
-
export declare function createSignalEventStream(params: {
|
|
150
|
-
baseUrl: string;
|
|
151
|
-
account?: string;
|
|
152
|
-
onEvent: (event: SignalSseEvent) => void;
|
|
153
|
-
onError?: (error: Error) => void;
|
|
154
|
-
onConnect?: () => void;
|
|
155
|
-
onDisconnect?: () => void;
|
|
156
|
-
reconnectDelayMs?: number;
|
|
157
|
-
maxReconnectDelayMs?: number;
|
|
158
|
-
}): {
|
|
159
|
-
start: () => void;
|
|
160
|
-
stop: () => void;
|
|
161
|
-
isRunning: () => boolean;
|
|
162
|
-
};
|
|
163
|
-
//# sourceMappingURL=rpc.d.ts.map
|
package/dist/rpc.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"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"}
|
package/dist/service.d.ts
DELETED
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
import { type Character, type Content, type IAgentRuntime, type Memory, type MessageConnectorQueryContext, Service, type TargetInfo, type UUID } from "@elizaos/core";
|
|
2
|
-
type ConnectorFetchMessagesParams = {
|
|
3
|
-
target?: TargetInfo;
|
|
4
|
-
limit?: number;
|
|
5
|
-
before?: string;
|
|
6
|
-
after?: string;
|
|
7
|
-
channelId?: string;
|
|
8
|
-
roomId?: UUID;
|
|
9
|
-
};
|
|
10
|
-
type ConnectorSearchMessagesParams = ConnectorFetchMessagesParams & {
|
|
11
|
-
query?: string;
|
|
12
|
-
};
|
|
13
|
-
type ConnectorReactionParams = {
|
|
14
|
-
target?: TargetInfo;
|
|
15
|
-
channelId?: string;
|
|
16
|
-
roomId?: UUID;
|
|
17
|
-
messageId?: string;
|
|
18
|
-
targetTimestamp?: number;
|
|
19
|
-
targetAuthor?: string;
|
|
20
|
-
emoji?: string;
|
|
21
|
-
remove?: boolean;
|
|
22
|
-
};
|
|
23
|
-
type ConnectorUserLookupParams = {
|
|
24
|
-
userId?: string;
|
|
25
|
-
username?: string;
|
|
26
|
-
handle?: string;
|
|
27
|
-
query?: string;
|
|
28
|
-
target?: TargetInfo;
|
|
29
|
-
};
|
|
30
|
-
import { type ISignalService, type SignalContact, type SignalGroup, type SignalMessage, type SignalMessageSendOptions, type SignalRecentMessage } from "./types";
|
|
31
|
-
export declare const DEFAULT_SIGNAL_HTTP_HOST = "127.0.0.1";
|
|
32
|
-
export declare const DEFAULT_SIGNAL_HTTP_PORT = 8080;
|
|
33
|
-
export declare const DEFAULT_SIGNAL_CLI_PATH = "signal-cli";
|
|
34
|
-
/**
|
|
35
|
-
* signal-cli uses `$HOME/.local/share/signal-cli` as its default data
|
|
36
|
-
* directory on every platform (the XDG path is hardcoded in signal-cli —
|
|
37
|
-
* it does not honour `Library/Application Support` on macOS). Matching
|
|
38
|
-
* that default here means a locally-installed signal-cli + a user who
|
|
39
|
-
* ran `signal-cli -a +1555… link` once will "just work" — no config
|
|
40
|
-
* needed beyond `SIGNAL_ACCOUNT_NUMBER`.
|
|
41
|
-
*
|
|
42
|
-
* Override with `SIGNAL_AUTH_DIR` to point at a custom install.
|
|
43
|
-
*/
|
|
44
|
-
export declare function defaultSignalAuthDir(): string;
|
|
45
|
-
/**
|
|
46
|
-
* SignalService class for interacting with Signal via HTTP API or CLI
|
|
47
|
-
*/
|
|
48
|
-
export declare class SignalService extends Service implements ISignalService {
|
|
49
|
-
static serviceType: string;
|
|
50
|
-
capabilityDescription: string;
|
|
51
|
-
stop(): Promise<void>;
|
|
52
|
-
character: Character;
|
|
53
|
-
accountNumber: string | null;
|
|
54
|
-
isConnected: boolean;
|
|
55
|
-
private defaultAccountId;
|
|
56
|
-
private accountNumbers;
|
|
57
|
-
private clients;
|
|
58
|
-
private client;
|
|
59
|
-
private settings;
|
|
60
|
-
private contactCache;
|
|
61
|
-
private contactCaches;
|
|
62
|
-
private groupCache;
|
|
63
|
-
private groupCaches;
|
|
64
|
-
private pollInterval;
|
|
65
|
-
private eventStream;
|
|
66
|
-
private eventStreams;
|
|
67
|
-
private isPolling;
|
|
68
|
-
private daemonProcess;
|
|
69
|
-
constructor(runtime?: IAgentRuntime);
|
|
70
|
-
private loadSettings;
|
|
71
|
-
private normalizeAccountId;
|
|
72
|
-
private getConnectorAccountIds;
|
|
73
|
-
private getClientForAccount;
|
|
74
|
-
private getAccountNumberForAccount;
|
|
75
|
-
private cacheContacts;
|
|
76
|
-
private cacheGroups;
|
|
77
|
-
private getCachedContact;
|
|
78
|
-
private getCachedGroupForAccount;
|
|
79
|
-
private accountScopedKey;
|
|
80
|
-
static start(runtime: IAgentRuntime): Promise<SignalService>;
|
|
81
|
-
static registerSendHandlers(runtime: IAgentRuntime, service: SignalService): void;
|
|
82
|
-
private initialize;
|
|
83
|
-
private shutdown;
|
|
84
|
-
private ensureDaemonRunning;
|
|
85
|
-
private startPolling;
|
|
86
|
-
private stopPolling;
|
|
87
|
-
/**
|
|
88
|
-
* Unwraps signal-cli REST API envelope format into a flat SignalMessage.
|
|
89
|
-
*
|
|
90
|
-
* signal-cli returns `{envelope:{source, sourceNumber, sourceName, dataMessage:{message,...}}}`
|
|
91
|
-
* but the plugin expects flat `{sender, message, timestamp, ...}` objects.
|
|
92
|
-
*/
|
|
93
|
-
static unwrapEnvelope(raw: Record<string, unknown>): SignalMessage | null;
|
|
94
|
-
private pollMessages;
|
|
95
|
-
private handleSignalEventPayload;
|
|
96
|
-
private handleIncomingMessage;
|
|
97
|
-
private handleReaction;
|
|
98
|
-
private processMessage;
|
|
99
|
-
private buildMemoryFromMessage;
|
|
100
|
-
private getRoomId;
|
|
101
|
-
private getEntityId;
|
|
102
|
-
private ensureRoomExists;
|
|
103
|
-
sendMessage(recipient: string, text: string, options?: SignalMessageSendOptions): Promise<{
|
|
104
|
-
timestamp: number;
|
|
105
|
-
}>;
|
|
106
|
-
sendGroupMessage(groupId: string, text: string, options?: SignalMessageSendOptions): Promise<{
|
|
107
|
-
timestamp: number;
|
|
108
|
-
}>;
|
|
109
|
-
sendDirectMessage(target: string, content: Content): Promise<void>;
|
|
110
|
-
sendRoomMessage(target: string, content: Content): Promise<void>;
|
|
111
|
-
private recordOutgoingMessage;
|
|
112
|
-
sendReaction(recipient: string, emoji: string, targetTimestamp: number, targetAuthor: string, accountId?: string): Promise<void>;
|
|
113
|
-
removeReaction(recipient: string, emoji: string, targetTimestamp: number, targetAuthor: string, accountId?: string): Promise<void>;
|
|
114
|
-
getContacts(accountId?: string): Promise<SignalContact[]>;
|
|
115
|
-
private listConnectorContacts;
|
|
116
|
-
getGroups(accountId?: string): Promise<SignalGroup[]>;
|
|
117
|
-
private listConnectorGroups;
|
|
118
|
-
private roomMatchesAccount;
|
|
119
|
-
private memoryMatchesAccount;
|
|
120
|
-
getRecentMessages(limit?: number, accountId?: string): Promise<SignalRecentMessage[]>;
|
|
121
|
-
private getSignalRooms;
|
|
122
|
-
fetchConnectorMessages(context: MessageConnectorQueryContext, params: ConnectorFetchMessagesParams): Promise<Memory[]>;
|
|
123
|
-
searchConnectorMessages(context: MessageConnectorQueryContext, params: ConnectorSearchMessagesParams): Promise<Memory[]>;
|
|
124
|
-
reactConnectorMessage(runtime: IAgentRuntime, params: ConnectorReactionParams): Promise<void>;
|
|
125
|
-
getConnectorUser(_runtime: IAgentRuntime, params: ConnectorUserLookupParams): Promise<unknown>;
|
|
126
|
-
getGroup(groupId: string, accountId?: string): Promise<SignalGroup | null>;
|
|
127
|
-
sendTypingIndicator(recipient: string, accountId?: string): Promise<void>;
|
|
128
|
-
stopTypingIndicator(recipient: string, accountId?: string): Promise<void>;
|
|
129
|
-
private splitMessage;
|
|
130
|
-
getContact(number: string): SignalContact | null;
|
|
131
|
-
getCachedGroup(groupId: string): SignalGroup | null;
|
|
132
|
-
getAccountNumber(): string | null;
|
|
133
|
-
isServiceConnected(): boolean;
|
|
134
|
-
}
|
|
135
|
-
export {};
|
|
136
|
-
//# sourceMappingURL=service.d.ts.map
|
package/dist/service.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
package/dist/setup-routes.d.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Signal connector setup HTTP routes.
|
|
3
|
-
*
|
|
4
|
-
* Provides QR-code pairing and disconnect flows for Signal:
|
|
5
|
-
*
|
|
6
|
-
* POST /api/signal/pair start a device-linking session
|
|
7
|
-
* GET /api/signal/status check current connection / pairing state
|
|
8
|
-
* POST /api/signal/pair/stop stop an active pairing session
|
|
9
|
-
* POST /api/signal/disconnect disconnect + wipe auth data
|
|
10
|
-
*
|
|
11
|
-
* These routes are registered with `rawPath: true` so they mount at their
|
|
12
|
-
* legacy paths without the plugin-name prefix.
|
|
13
|
-
*/
|
|
14
|
-
import type { Route } from "@elizaos/core";
|
|
15
|
-
export declare const MAX_PAIRING_SESSIONS = 10;
|
|
16
|
-
/**
|
|
17
|
-
* Plugin routes for Signal device-linking setup.
|
|
18
|
-
* Registered with `rawPath: true` to preserve legacy `/api/signal/*` paths.
|
|
19
|
-
*/
|
|
20
|
-
export declare const signalSetupRoutes: Route[];
|
|
21
|
-
/**
|
|
22
|
-
* Override plugin-discovery status for Signal when QR-paired auth exists.
|
|
23
|
-
* Exported so the agent can still use it during plugin discovery if needed.
|
|
24
|
-
*/
|
|
25
|
-
export declare function applySignalQrOverride(plugins: {
|
|
26
|
-
id: string;
|
|
27
|
-
validationErrors: unknown[];
|
|
28
|
-
configured: boolean;
|
|
29
|
-
qrConnected?: boolean;
|
|
30
|
-
}[], workspaceDir: string): void;
|
|
31
|
-
//# sourceMappingURL=setup-routes.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup-routes.d.ts","sourceRoot":"","sources":["../src/setup-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAiB,KAAK,EAA+B,MAAM,eAAe,CAAC;AAyBvF,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAqXvC;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,EAyBpC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE;IACP,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB,EAAE,OAAO,EAAE,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,EAAE,EACH,YAAY,EAAE,MAAM,GACnB,IAAI,CASN"}
|
package/dist/types.d.ts
DELETED
|
@@ -1,195 +0,0 @@
|
|
|
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 SignalRecentMessage {
|
|
92
|
-
id: string;
|
|
93
|
-
roomId: string;
|
|
94
|
-
channelId: string;
|
|
95
|
-
roomName: string;
|
|
96
|
-
speakerName: string;
|
|
97
|
-
text: string;
|
|
98
|
-
createdAt: number;
|
|
99
|
-
isFromAgent: boolean;
|
|
100
|
-
isGroup: boolean;
|
|
101
|
-
}
|
|
102
|
-
export interface SignalQuote {
|
|
103
|
-
id: number;
|
|
104
|
-
author: string;
|
|
105
|
-
authorUuid: string | undefined;
|
|
106
|
-
text: string;
|
|
107
|
-
attachments: SignalAttachment[];
|
|
108
|
-
}
|
|
109
|
-
export interface SignalReactionInfo {
|
|
110
|
-
emoji: string;
|
|
111
|
-
targetAuthor: string;
|
|
112
|
-
targetAuthorUuid: string | undefined;
|
|
113
|
-
targetSentTimestamp: number;
|
|
114
|
-
isRemove: boolean;
|
|
115
|
-
}
|
|
116
|
-
export interface ISignalService {
|
|
117
|
-
accountNumber: string | null;
|
|
118
|
-
character: Character;
|
|
119
|
-
isConnected: boolean;
|
|
120
|
-
getRecentMessages(limit?: number): Promise<SignalRecentMessage[]>;
|
|
121
|
-
}
|
|
122
|
-
export declare const SIGNAL_SERVICE_NAME = "signal";
|
|
123
|
-
export declare const ServiceType: {
|
|
124
|
-
readonly SIGNAL: "signal";
|
|
125
|
-
};
|
|
126
|
-
export interface SignalSettings {
|
|
127
|
-
shouldIgnoreGroupMessages: boolean;
|
|
128
|
-
allowedGroups: string[] | undefined;
|
|
129
|
-
blockedNumbers: string[] | undefined;
|
|
130
|
-
/**
|
|
131
|
-
* When false (default), inbound messages are persisted as memories and a
|
|
132
|
-
* MESSAGE_RECEIVED event is emitted, but the agent does NOT auto-generate
|
|
133
|
-
* a reply. Sends only happen via explicit caller action (LifeOps send
|
|
134
|
-
* route, user-issued chat command). Set SIGNAL_AUTO_REPLY=true to opt in.
|
|
135
|
-
*/
|
|
136
|
-
autoReply: boolean;
|
|
137
|
-
receiveMode: "on-start" | "manual";
|
|
138
|
-
}
|
|
139
|
-
export interface SignalMessageSendOptions {
|
|
140
|
-
/** Connector account ID to send from. Defaults to the configured default account. */
|
|
141
|
-
accountId?: string;
|
|
142
|
-
attachments?: string[];
|
|
143
|
-
quote?: {
|
|
144
|
-
timestamp: number;
|
|
145
|
-
author: string;
|
|
146
|
-
};
|
|
147
|
-
expiresInSeconds?: number;
|
|
148
|
-
record?: boolean;
|
|
149
|
-
}
|
|
150
|
-
export declare class SignalPluginError extends Error {
|
|
151
|
-
readonly code: string;
|
|
152
|
-
constructor(message: string, code: string);
|
|
153
|
-
}
|
|
154
|
-
export declare class SignalServiceNotInitializedError extends SignalPluginError {
|
|
155
|
-
constructor();
|
|
156
|
-
}
|
|
157
|
-
export declare class SignalClientNotAvailableError extends SignalPluginError {
|
|
158
|
-
constructor();
|
|
159
|
-
}
|
|
160
|
-
export declare class SignalConfigurationError extends SignalPluginError {
|
|
161
|
-
constructor(missingConfig: string);
|
|
162
|
-
}
|
|
163
|
-
export declare class SignalApiError extends SignalPluginError {
|
|
164
|
-
readonly apiErrorCode: string | undefined;
|
|
165
|
-
constructor(message: string, apiErrorCode: string | undefined);
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Normalize a phone number to E.164 format
|
|
169
|
-
*/
|
|
170
|
-
export declare function normalizeE164(number: string): string | null;
|
|
171
|
-
/**
|
|
172
|
-
* Validates an E.164 phone number format
|
|
173
|
-
*/
|
|
174
|
-
export declare function isValidE164(number: string): boolean;
|
|
175
|
-
/**
|
|
176
|
-
* Validates a Signal group ID format (base64-encoded)
|
|
177
|
-
*/
|
|
178
|
-
export declare function isValidGroupId(id: string): boolean;
|
|
179
|
-
/**
|
|
180
|
-
* Validates a Signal UUID format
|
|
181
|
-
*/
|
|
182
|
-
export declare function isValidUuid(uuid: string): boolean;
|
|
183
|
-
/**
|
|
184
|
-
* Gets the display name for a Signal contact
|
|
185
|
-
*/
|
|
186
|
-
export declare function getSignalContactDisplayName(contact: SignalContact): string;
|
|
187
|
-
/**
|
|
188
|
-
* Maximum message length for Signal messages
|
|
189
|
-
*/
|
|
190
|
-
export declare const MAX_SIGNAL_MESSAGE_LENGTH = 4000;
|
|
191
|
-
/**
|
|
192
|
-
* Maximum attachment size (100MB)
|
|
193
|
-
*/
|
|
194
|
-
export declare const MAX_SIGNAL_ATTACHMENT_SIZE: number;
|
|
195
|
-
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { type IAgentRuntime, Service } from "@elizaos/core";
|
|
2
|
-
type CredentialProviderResult = {
|
|
3
|
-
status: "credential_data";
|
|
4
|
-
data: Record<string, unknown>;
|
|
5
|
-
} | {
|
|
6
|
-
status: "needs_auth";
|
|
7
|
-
authUrl: string;
|
|
8
|
-
} | null;
|
|
9
|
-
export declare class SignalWorkflowCredentialProvider extends Service {
|
|
10
|
-
static readonly serviceType = "workflow_credential_provider";
|
|
11
|
-
capabilityDescription: string;
|
|
12
|
-
static start(runtime: IAgentRuntime): Promise<SignalWorkflowCredentialProvider>;
|
|
13
|
-
stop(): Promise<void>;
|
|
14
|
-
resolve(_userId: string, credType: string): Promise<CredentialProviderResult>;
|
|
15
|
-
checkCredentialTypes(credTypes: string[]): {
|
|
16
|
-
supported: string[];
|
|
17
|
-
unsupported: string[];
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
export {};
|
|
21
|
-
//# sourceMappingURL=workflow-credential-provider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-credential-provider.d.ts","sourceRoot":"","sources":["../src/workflow-credential-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAK5D,KAAK,wBAAwB,GACzB;IAAE,MAAM,EAAE,iBAAiB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAC5D;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACzC,IAAI,CAAC;AAMT,qBAAa,gCAAiC,SAAQ,OAAO;IAC3D,gBAAyB,WAAW,kCAAqC;IAChE,qBAAqB,SACsD;WAEvE,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,gCAAgC,CAAC;IAI/E,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAErB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAgBnF,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG;QAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAA;KAAE;CAM1F"}
|