@aigne/afs-messaging 1.11.0-beta.12
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.md +26 -0
- package/dist/_virtual/_@oxc-project_runtime@0.108.0/helpers/decorate.cjs +11 -0
- package/dist/_virtual/_@oxc-project_runtime@0.108.0/helpers/decorate.mjs +10 -0
- package/dist/base.cjs +598 -0
- package/dist/base.d.cts +174 -0
- package/dist/base.d.cts.map +1 -0
- package/dist/base.d.mts +174 -0
- package/dist/base.d.mts.map +1 -0
- package/dist/base.mjs +599 -0
- package/dist/base.mjs.map +1 -0
- package/dist/index.cjs +5 -0
- package/dist/index.d.cts +3 -0
- package/dist/index.d.mts +3 -0
- package/dist/index.mjs +4 -0
- package/dist/types.cjs +12 -0
- package/dist/types.d.cts +89 -0
- package/dist/types.d.cts.map +1 -0
- package/dist/types.d.mts +89 -0
- package/dist/types.d.mts.map +1 -0
- package/dist/types.mjs +12 -0
- package/dist/types.mjs.map +1 -0
- package/package.json +54 -0
package/dist/base.d.cts
ADDED
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { BotConfig, BufferedMessage, MessageCapabilities, MessageSender, SendOptions } from "./types.cjs";
|
|
2
|
+
import { AFSEntry, AFSExecResult, AFSExplainResult, AFSListResult } from "@aigne/afs";
|
|
3
|
+
import { AFSBaseProvider, RouteContext } from "@aigne/afs/provider";
|
|
4
|
+
|
|
5
|
+
//#region src/base.d.ts
|
|
6
|
+
interface BaseMessageProviderOptions {
|
|
7
|
+
bots: BotConfig[];
|
|
8
|
+
bufferSize?: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Abstract base class for messaging platform providers.
|
|
12
|
+
*
|
|
13
|
+
* Subclass must implement:
|
|
14
|
+
* - providerName: string (e.g., "telegram")
|
|
15
|
+
* - eventPrefix: string (e.g., "telegram")
|
|
16
|
+
* - getMessageCapabilities(): MessageCapabilities
|
|
17
|
+
* - createBotClient(config: BotConfig): unknown
|
|
18
|
+
* - sendMessage(client, convId, text, opts?): Promise<{ messageId: string }>
|
|
19
|
+
* - normalizeMessage(raw): BufferedMessage
|
|
20
|
+
* - normalizeSender(raw): MessageSender
|
|
21
|
+
*/
|
|
22
|
+
declare abstract class BaseMessageProvider extends AFSBaseProvider {
|
|
23
|
+
get name(): string;
|
|
24
|
+
readonly accessMode: "readwrite";
|
|
25
|
+
/** Platform name (e.g., "telegram", "slack") */
|
|
26
|
+
abstract readonly providerName: string;
|
|
27
|
+
/** Event prefix for platform-specific (non-standard) events */
|
|
28
|
+
abstract readonly eventPrefix: string;
|
|
29
|
+
/** Return platform capabilities */
|
|
30
|
+
abstract getMessageCapabilities(): MessageCapabilities;
|
|
31
|
+
/** Create a platform API client from bot config */
|
|
32
|
+
abstract createBotClient(config: BotConfig): unknown;
|
|
33
|
+
/** Send a message via platform API. Returns { messageId } on success. */
|
|
34
|
+
abstract sendMessage(client: unknown, convId: string, text: string, opts?: SendOptions): Promise<{
|
|
35
|
+
messageId: string;
|
|
36
|
+
}>;
|
|
37
|
+
/** Normalize a raw platform message to standard BufferedMessage */
|
|
38
|
+
abstract normalizeMessage(raw: Record<string, unknown>): BufferedMessage;
|
|
39
|
+
/** Normalize a raw platform sender to standard MessageSender */
|
|
40
|
+
abstract normalizeSender(raw: Record<string, unknown>): MessageSender;
|
|
41
|
+
/** Send a typing indicator to a conversation. No-op for platforms without typing API. */
|
|
42
|
+
abstract sendTypingIndicator(client: unknown, convId: string): Promise<void>;
|
|
43
|
+
protected readonly _bufferSize: number;
|
|
44
|
+
/** botName → platform client */
|
|
45
|
+
protected readonly _botClients: Map<string, unknown>;
|
|
46
|
+
/** botName → BotConfig */
|
|
47
|
+
protected readonly _botConfigs: Map<string, BotConfig>;
|
|
48
|
+
/** botName → Set<conversationId> */
|
|
49
|
+
protected readonly _botConversations: Map<string, Set<string>>;
|
|
50
|
+
/** botName → (conversationId → BufferedMessage[]) */
|
|
51
|
+
protected readonly _botBuffers: Map<string, Map<string, BufferedMessage[]>>;
|
|
52
|
+
/** Ordered list of bot names (for consistent listing) */
|
|
53
|
+
protected readonly _botOrder: string[];
|
|
54
|
+
/** Pending bot configs — created in constructor, clients instantiated lazily */
|
|
55
|
+
protected _pendingBots: BotConfig[] | null;
|
|
56
|
+
constructor(options: BaseMessageProviderOptions);
|
|
57
|
+
/** Ensure all pending bot clients are created. Called lazily on first access. */
|
|
58
|
+
private _ensureClients;
|
|
59
|
+
/** Get a bot client, creating lazily if needed. */
|
|
60
|
+
protected _getClient(botName: string): unknown | undefined;
|
|
61
|
+
/** Register bot config and conversations without creating the client. */
|
|
62
|
+
private _addBotConfig;
|
|
63
|
+
private _removeBot;
|
|
64
|
+
/** Hook for subclasses to initialize platform-specific state (e.g. polling, gateway) when a bot is added at runtime. */
|
|
65
|
+
protected onBotAdded(_name: string): void;
|
|
66
|
+
/** Hook for subclasses to clean up platform-specific state when a bot is removed. */
|
|
67
|
+
protected onBotRemoved(_name: string): void;
|
|
68
|
+
/**
|
|
69
|
+
* Buffer a received message and emit the appropriate event.
|
|
70
|
+
* Called by subclass when a new message arrives from the platform.
|
|
71
|
+
*
|
|
72
|
+
* - Buffers the message in the ring buffer
|
|
73
|
+
* - Auto-adds conversation if not yet tracked
|
|
74
|
+
* - Detects /commands → emits messaging:command
|
|
75
|
+
* - Otherwise → emits messaging:message
|
|
76
|
+
*/
|
|
77
|
+
emitMessageReceived(botName: string, msg: BufferedMessage): void;
|
|
78
|
+
private _pushToRingBuffer;
|
|
79
|
+
listRoot(_ctx: RouteContext): Promise<AFSListResult>;
|
|
80
|
+
listBot(ctx: RouteContext<{
|
|
81
|
+
botName: string;
|
|
82
|
+
}>): Promise<AFSListResult>;
|
|
83
|
+
listConversations(ctx: RouteContext<{
|
|
84
|
+
botName: string;
|
|
85
|
+
}>): Promise<AFSListResult>;
|
|
86
|
+
listConversationChildren(ctx: RouteContext<{
|
|
87
|
+
botName: string;
|
|
88
|
+
convId: string;
|
|
89
|
+
}>): Promise<AFSListResult>;
|
|
90
|
+
listMessages(ctx: RouteContext<{
|
|
91
|
+
botName: string;
|
|
92
|
+
convId: string;
|
|
93
|
+
}>): Promise<AFSListResult>;
|
|
94
|
+
listMessageChildren(_ctx: RouteContext<{
|
|
95
|
+
botName: string;
|
|
96
|
+
convId: string;
|
|
97
|
+
msgId: string;
|
|
98
|
+
}>): Promise<AFSListResult>;
|
|
99
|
+
readRoot(_ctx: RouteContext): Promise<AFSEntry | undefined>;
|
|
100
|
+
readBot(ctx: RouteContext<{
|
|
101
|
+
botName: string;
|
|
102
|
+
}>): Promise<AFSEntry | undefined>;
|
|
103
|
+
readCtl(ctx: RouteContext<{
|
|
104
|
+
botName: string;
|
|
105
|
+
}>): Promise<AFSEntry | undefined>;
|
|
106
|
+
readConversationsDir(ctx: RouteContext<{
|
|
107
|
+
botName: string;
|
|
108
|
+
}>): Promise<AFSEntry | undefined>;
|
|
109
|
+
readConversation(ctx: RouteContext<{
|
|
110
|
+
botName: string;
|
|
111
|
+
convId: string;
|
|
112
|
+
}>): Promise<AFSEntry | undefined>;
|
|
113
|
+
readMessagesDir(ctx: RouteContext<{
|
|
114
|
+
botName: string;
|
|
115
|
+
convId: string;
|
|
116
|
+
}>): Promise<AFSEntry | undefined>;
|
|
117
|
+
readMessage(ctx: RouteContext<{
|
|
118
|
+
botName: string;
|
|
119
|
+
convId: string;
|
|
120
|
+
msgId: string;
|
|
121
|
+
}>): Promise<AFSEntry | undefined>;
|
|
122
|
+
readRootMeta(_ctx: RouteContext): Promise<AFSEntry | undefined>;
|
|
123
|
+
readCapabilities(_ctx: RouteContext): Promise<AFSEntry | undefined>;
|
|
124
|
+
readBotMeta(ctx: RouteContext<{
|
|
125
|
+
botName: string;
|
|
126
|
+
}>): Promise<AFSEntry | undefined>;
|
|
127
|
+
readConversationsMeta(ctx: RouteContext<{
|
|
128
|
+
botName: string;
|
|
129
|
+
}>): Promise<AFSEntry | undefined>;
|
|
130
|
+
readConversationMeta(ctx: RouteContext<{
|
|
131
|
+
botName: string;
|
|
132
|
+
convId: string;
|
|
133
|
+
}>): Promise<AFSEntry | undefined>;
|
|
134
|
+
readMessagesMeta(ctx: RouteContext<{
|
|
135
|
+
botName: string;
|
|
136
|
+
convId: string;
|
|
137
|
+
}>): Promise<AFSEntry | undefined>;
|
|
138
|
+
readMsgMeta(ctx: RouteContext<{
|
|
139
|
+
botName: string;
|
|
140
|
+
convId: string;
|
|
141
|
+
msgId: string;
|
|
142
|
+
}>): Promise<AFSEntry | undefined>;
|
|
143
|
+
explainRoot(_ctx: RouteContext): Promise<AFSExplainResult>;
|
|
144
|
+
explainBot(_ctx: RouteContext<{
|
|
145
|
+
botName: string;
|
|
146
|
+
}>): Promise<AFSExplainResult>;
|
|
147
|
+
explainConversation(_ctx: RouteContext<{
|
|
148
|
+
botName: string;
|
|
149
|
+
convId: string;
|
|
150
|
+
}>): Promise<AFSExplainResult>;
|
|
151
|
+
explainMessage(_ctx: RouteContext<{
|
|
152
|
+
botName: string;
|
|
153
|
+
convId: string;
|
|
154
|
+
msgId: string;
|
|
155
|
+
}>): Promise<AFSExplainResult>;
|
|
156
|
+
listRootActions(_ctx: RouteContext): Promise<AFSListResult>;
|
|
157
|
+
execAddBot(_ctx: RouteContext, args: Record<string, unknown>): Promise<AFSExecResult>;
|
|
158
|
+
execRemoveBot(_ctx: RouteContext, args: Record<string, unknown>): Promise<AFSExecResult>;
|
|
159
|
+
listConversationActions(ctx: RouteContext<{
|
|
160
|
+
botName: string;
|
|
161
|
+
convId: string;
|
|
162
|
+
}>): Promise<AFSListResult>;
|
|
163
|
+
execSend(ctx: RouteContext<{
|
|
164
|
+
botName: string;
|
|
165
|
+
convId: string;
|
|
166
|
+
}>, args: Record<string, unknown>): Promise<AFSExecResult>;
|
|
167
|
+
execTyping(ctx: RouteContext<{
|
|
168
|
+
botName: string;
|
|
169
|
+
convId: string;
|
|
170
|
+
}>): Promise<AFSExecResult>;
|
|
171
|
+
}
|
|
172
|
+
//#endregion
|
|
173
|
+
export { BaseMessageProvider };
|
|
174
|
+
//# sourceMappingURL=base.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.cts","names":[],"sources":["../src/base.ts"],"mappings":"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"}
|
package/dist/base.d.mts
ADDED
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { BotConfig, BufferedMessage, MessageCapabilities, MessageSender, SendOptions } from "./types.mjs";
|
|
2
|
+
import { AFSEntry, AFSExecResult, AFSExplainResult, AFSListResult } from "@aigne/afs";
|
|
3
|
+
import { AFSBaseProvider, RouteContext } from "@aigne/afs/provider";
|
|
4
|
+
|
|
5
|
+
//#region src/base.d.ts
|
|
6
|
+
interface BaseMessageProviderOptions {
|
|
7
|
+
bots: BotConfig[];
|
|
8
|
+
bufferSize?: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Abstract base class for messaging platform providers.
|
|
12
|
+
*
|
|
13
|
+
* Subclass must implement:
|
|
14
|
+
* - providerName: string (e.g., "telegram")
|
|
15
|
+
* - eventPrefix: string (e.g., "telegram")
|
|
16
|
+
* - getMessageCapabilities(): MessageCapabilities
|
|
17
|
+
* - createBotClient(config: BotConfig): unknown
|
|
18
|
+
* - sendMessage(client, convId, text, opts?): Promise<{ messageId: string }>
|
|
19
|
+
* - normalizeMessage(raw): BufferedMessage
|
|
20
|
+
* - normalizeSender(raw): MessageSender
|
|
21
|
+
*/
|
|
22
|
+
declare abstract class BaseMessageProvider extends AFSBaseProvider {
|
|
23
|
+
get name(): string;
|
|
24
|
+
readonly accessMode: "readwrite";
|
|
25
|
+
/** Platform name (e.g., "telegram", "slack") */
|
|
26
|
+
abstract readonly providerName: string;
|
|
27
|
+
/** Event prefix for platform-specific (non-standard) events */
|
|
28
|
+
abstract readonly eventPrefix: string;
|
|
29
|
+
/** Return platform capabilities */
|
|
30
|
+
abstract getMessageCapabilities(): MessageCapabilities;
|
|
31
|
+
/** Create a platform API client from bot config */
|
|
32
|
+
abstract createBotClient(config: BotConfig): unknown;
|
|
33
|
+
/** Send a message via platform API. Returns { messageId } on success. */
|
|
34
|
+
abstract sendMessage(client: unknown, convId: string, text: string, opts?: SendOptions): Promise<{
|
|
35
|
+
messageId: string;
|
|
36
|
+
}>;
|
|
37
|
+
/** Normalize a raw platform message to standard BufferedMessage */
|
|
38
|
+
abstract normalizeMessage(raw: Record<string, unknown>): BufferedMessage;
|
|
39
|
+
/** Normalize a raw platform sender to standard MessageSender */
|
|
40
|
+
abstract normalizeSender(raw: Record<string, unknown>): MessageSender;
|
|
41
|
+
/** Send a typing indicator to a conversation. No-op for platforms without typing API. */
|
|
42
|
+
abstract sendTypingIndicator(client: unknown, convId: string): Promise<void>;
|
|
43
|
+
protected readonly _bufferSize: number;
|
|
44
|
+
/** botName → platform client */
|
|
45
|
+
protected readonly _botClients: Map<string, unknown>;
|
|
46
|
+
/** botName → BotConfig */
|
|
47
|
+
protected readonly _botConfigs: Map<string, BotConfig>;
|
|
48
|
+
/** botName → Set<conversationId> */
|
|
49
|
+
protected readonly _botConversations: Map<string, Set<string>>;
|
|
50
|
+
/** botName → (conversationId → BufferedMessage[]) */
|
|
51
|
+
protected readonly _botBuffers: Map<string, Map<string, BufferedMessage[]>>;
|
|
52
|
+
/** Ordered list of bot names (for consistent listing) */
|
|
53
|
+
protected readonly _botOrder: string[];
|
|
54
|
+
/** Pending bot configs — created in constructor, clients instantiated lazily */
|
|
55
|
+
protected _pendingBots: BotConfig[] | null;
|
|
56
|
+
constructor(options: BaseMessageProviderOptions);
|
|
57
|
+
/** Ensure all pending bot clients are created. Called lazily on first access. */
|
|
58
|
+
private _ensureClients;
|
|
59
|
+
/** Get a bot client, creating lazily if needed. */
|
|
60
|
+
protected _getClient(botName: string): unknown | undefined;
|
|
61
|
+
/** Register bot config and conversations without creating the client. */
|
|
62
|
+
private _addBotConfig;
|
|
63
|
+
private _removeBot;
|
|
64
|
+
/** Hook for subclasses to initialize platform-specific state (e.g. polling, gateway) when a bot is added at runtime. */
|
|
65
|
+
protected onBotAdded(_name: string): void;
|
|
66
|
+
/** Hook for subclasses to clean up platform-specific state when a bot is removed. */
|
|
67
|
+
protected onBotRemoved(_name: string): void;
|
|
68
|
+
/**
|
|
69
|
+
* Buffer a received message and emit the appropriate event.
|
|
70
|
+
* Called by subclass when a new message arrives from the platform.
|
|
71
|
+
*
|
|
72
|
+
* - Buffers the message in the ring buffer
|
|
73
|
+
* - Auto-adds conversation if not yet tracked
|
|
74
|
+
* - Detects /commands → emits messaging:command
|
|
75
|
+
* - Otherwise → emits messaging:message
|
|
76
|
+
*/
|
|
77
|
+
emitMessageReceived(botName: string, msg: BufferedMessage): void;
|
|
78
|
+
private _pushToRingBuffer;
|
|
79
|
+
listRoot(_ctx: RouteContext): Promise<AFSListResult>;
|
|
80
|
+
listBot(ctx: RouteContext<{
|
|
81
|
+
botName: string;
|
|
82
|
+
}>): Promise<AFSListResult>;
|
|
83
|
+
listConversations(ctx: RouteContext<{
|
|
84
|
+
botName: string;
|
|
85
|
+
}>): Promise<AFSListResult>;
|
|
86
|
+
listConversationChildren(ctx: RouteContext<{
|
|
87
|
+
botName: string;
|
|
88
|
+
convId: string;
|
|
89
|
+
}>): Promise<AFSListResult>;
|
|
90
|
+
listMessages(ctx: RouteContext<{
|
|
91
|
+
botName: string;
|
|
92
|
+
convId: string;
|
|
93
|
+
}>): Promise<AFSListResult>;
|
|
94
|
+
listMessageChildren(_ctx: RouteContext<{
|
|
95
|
+
botName: string;
|
|
96
|
+
convId: string;
|
|
97
|
+
msgId: string;
|
|
98
|
+
}>): Promise<AFSListResult>;
|
|
99
|
+
readRoot(_ctx: RouteContext): Promise<AFSEntry | undefined>;
|
|
100
|
+
readBot(ctx: RouteContext<{
|
|
101
|
+
botName: string;
|
|
102
|
+
}>): Promise<AFSEntry | undefined>;
|
|
103
|
+
readCtl(ctx: RouteContext<{
|
|
104
|
+
botName: string;
|
|
105
|
+
}>): Promise<AFSEntry | undefined>;
|
|
106
|
+
readConversationsDir(ctx: RouteContext<{
|
|
107
|
+
botName: string;
|
|
108
|
+
}>): Promise<AFSEntry | undefined>;
|
|
109
|
+
readConversation(ctx: RouteContext<{
|
|
110
|
+
botName: string;
|
|
111
|
+
convId: string;
|
|
112
|
+
}>): Promise<AFSEntry | undefined>;
|
|
113
|
+
readMessagesDir(ctx: RouteContext<{
|
|
114
|
+
botName: string;
|
|
115
|
+
convId: string;
|
|
116
|
+
}>): Promise<AFSEntry | undefined>;
|
|
117
|
+
readMessage(ctx: RouteContext<{
|
|
118
|
+
botName: string;
|
|
119
|
+
convId: string;
|
|
120
|
+
msgId: string;
|
|
121
|
+
}>): Promise<AFSEntry | undefined>;
|
|
122
|
+
readRootMeta(_ctx: RouteContext): Promise<AFSEntry | undefined>;
|
|
123
|
+
readCapabilities(_ctx: RouteContext): Promise<AFSEntry | undefined>;
|
|
124
|
+
readBotMeta(ctx: RouteContext<{
|
|
125
|
+
botName: string;
|
|
126
|
+
}>): Promise<AFSEntry | undefined>;
|
|
127
|
+
readConversationsMeta(ctx: RouteContext<{
|
|
128
|
+
botName: string;
|
|
129
|
+
}>): Promise<AFSEntry | undefined>;
|
|
130
|
+
readConversationMeta(ctx: RouteContext<{
|
|
131
|
+
botName: string;
|
|
132
|
+
convId: string;
|
|
133
|
+
}>): Promise<AFSEntry | undefined>;
|
|
134
|
+
readMessagesMeta(ctx: RouteContext<{
|
|
135
|
+
botName: string;
|
|
136
|
+
convId: string;
|
|
137
|
+
}>): Promise<AFSEntry | undefined>;
|
|
138
|
+
readMsgMeta(ctx: RouteContext<{
|
|
139
|
+
botName: string;
|
|
140
|
+
convId: string;
|
|
141
|
+
msgId: string;
|
|
142
|
+
}>): Promise<AFSEntry | undefined>;
|
|
143
|
+
explainRoot(_ctx: RouteContext): Promise<AFSExplainResult>;
|
|
144
|
+
explainBot(_ctx: RouteContext<{
|
|
145
|
+
botName: string;
|
|
146
|
+
}>): Promise<AFSExplainResult>;
|
|
147
|
+
explainConversation(_ctx: RouteContext<{
|
|
148
|
+
botName: string;
|
|
149
|
+
convId: string;
|
|
150
|
+
}>): Promise<AFSExplainResult>;
|
|
151
|
+
explainMessage(_ctx: RouteContext<{
|
|
152
|
+
botName: string;
|
|
153
|
+
convId: string;
|
|
154
|
+
msgId: string;
|
|
155
|
+
}>): Promise<AFSExplainResult>;
|
|
156
|
+
listRootActions(_ctx: RouteContext): Promise<AFSListResult>;
|
|
157
|
+
execAddBot(_ctx: RouteContext, args: Record<string, unknown>): Promise<AFSExecResult>;
|
|
158
|
+
execRemoveBot(_ctx: RouteContext, args: Record<string, unknown>): Promise<AFSExecResult>;
|
|
159
|
+
listConversationActions(ctx: RouteContext<{
|
|
160
|
+
botName: string;
|
|
161
|
+
convId: string;
|
|
162
|
+
}>): Promise<AFSListResult>;
|
|
163
|
+
execSend(ctx: RouteContext<{
|
|
164
|
+
botName: string;
|
|
165
|
+
convId: string;
|
|
166
|
+
}>, args: Record<string, unknown>): Promise<AFSExecResult>;
|
|
167
|
+
execTyping(ctx: RouteContext<{
|
|
168
|
+
botName: string;
|
|
169
|
+
convId: string;
|
|
170
|
+
}>): Promise<AFSExecResult>;
|
|
171
|
+
}
|
|
172
|
+
//#endregion
|
|
173
|
+
export { BaseMessageProvider };
|
|
174
|
+
//# sourceMappingURL=base.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.mts","names":[],"sources":["../src/base.ts"],"mappings":"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"}
|