@framers/agentos-extensions-registry 0.1.0 → 0.1.2

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/README.md CHANGED
@@ -27,6 +27,7 @@ const manifest = await createCuratedManifest({
27
27
  'discord.botToken': process.env.DISCORD_BOT_TOKEN,
28
28
  'slack.botToken': process.env.SLACK_BOT_TOKEN,
29
29
  'slack.signingSecret': process.env.SLACK_SIGNING_SECRET,
30
+ 'slack.appToken': process.env.SLACK_APP_TOKEN,
30
31
  },
31
32
  });
32
33
 
@@ -35,6 +36,12 @@ const agent = new AgentOS();
35
36
  await agent.initialize({ extensionManifest: manifest });
36
37
  ```
37
38
 
39
+ ## Notable curated integrations
40
+
41
+ - `telegram` — Telegram Bot API integration.
42
+ - `wunderbot-feeds` — Wunderbot feed ingestion + social content pipeline pack.
43
+ - `discord` — Discord channel adapter for messaging workflows.
44
+
38
45
  ## API
39
46
 
40
47
  ### `createCuratedManifest(options?)`
@@ -45,12 +52,17 @@ Creates a pre-configured `ExtensionManifest` with all available curated extensio
45
52
 
46
53
  | Parameter | Type | Default | Description |
47
54
  | -------------- | ----------------------------- | -------- | ------------------------------------ |
48
- | `channels` | `string[] \| 'all' \| 'none'` | `'none'` | Which channel platforms to enable |
55
+ | `channels` | `string[] \| 'all' \| 'none'` | `'all'` | Which channel platforms to enable |
49
56
  | `tools` | `string[] \| 'all' \| 'none'` | `'all'` | Which tool extensions to enable |
50
57
  | `secrets` | `Record<string, string>` | `{}` | Secrets map (falls back to env vars) |
51
- | `basePriority` | `number` | `50` | Base priority for all extensions |
58
+ | `basePriority` | `number` | `0` | Base priority for all extensions |
52
59
  | `overrides` | `Record<string, Override>` | `{}` | Per-extension overrides |
53
60
 
61
+ Notes:
62
+
63
+ - Channel packs may have side effects on activation (connect/poll/webhook). Consider using `channels: 'none'` and enabling channels explicitly.
64
+ - Secrets provided here are forwarded to extension-pack factories, but `requiredSecrets` gating in AgentOS also depends on environment variables and/or `extensionSecrets` provided to AgentOS.
65
+
54
66
  **Override shape:**
55
67
 
56
68
  ```typescript
@@ -67,13 +79,40 @@ Returns a list of available channel adapters.
67
79
 
68
80
  ## Available Channel Extensions
69
81
 
70
- | Channel | Package | SDK | Secret |
71
- | -------- | --------------------------------------- | ----------- | ---------------------------------------- |
72
- | Telegram | `@framers/agentos-ext-channel-telegram` | grammY | `telegram.botToken` |
73
- | WhatsApp | `@framers/agentos-ext-channel-whatsapp` | Baileys | `whatsapp.sessionData` |
74
- | Discord | `@framers/agentos-ext-channel-discord` | discord.js | `discord.botToken` |
75
- | Slack | `@framers/agentos-ext-channel-slack` | @slack/bolt | `slack.botToken` + `slack.signingSecret` |
76
- | WebChat | `@framers/agentos-ext-channel-webchat` | (built-in) | none |
82
+ Curated catalog currently includes **28** channel platforms. `getAvailableChannels()` marks a channel as available when its npm package is resolvable in your environment.
83
+
84
+ Note: some channels require external binaries (for example `signal-cli` and `zca-cli`) and won’t work in locked-down sandboxes unless CLI execution is explicitly allowed by your runtime policy.
85
+
86
+ | Platform | Package | SDK | Required secrets |
87
+ |---|---|---|---|
88
+ | `telegram` | `@framers/agentos-ext-channel-telegram` | `grammy` | `telegram.botToken` |
89
+ | `whatsapp` | `@framers/agentos-ext-channel-whatsapp` | `@whiskeysockets/baileys` | `whatsapp.sessionData` |
90
+ | `discord` | `@framers/agentos-ext-channel-discord` | `discord.js` | `discord.botToken` |
91
+ | `slack` | `@framers/agentos-ext-channel-slack` | `@slack/bolt` | `slack.botToken`, `slack.signingSecret`, `slack.appToken` |
92
+ | `webchat` | `@framers/agentos-ext-channel-webchat` | `socket.io` | none |
93
+ | `signal` | `@framers/agentos-ext-channel-signal` | `signal-cli` | `signal.phoneNumber` |
94
+ | `imessage` | `@framers/agentos-ext-channel-imessage` | `bluebubbles-node` | `imessage.serverUrl`, `imessage.password` |
95
+ | `google-chat` | `@framers/agentos-ext-channel-google-chat` | `google-auth-library` | `googlechat.serviceAccount` |
96
+ | `teams` | `@framers/agentos-ext-channel-teams` | `botbuilder` | `teams.appId`, `teams.appPassword` |
97
+ | `matrix` | `@framers/agentos-ext-channel-matrix` | `@vector-im/matrix-bot-sdk` | `matrix.homeserverUrl`, `matrix.accessToken` |
98
+ | `zalo` | `@framers/agentos-ext-channel-zalo` | `zalo-api` | `zalo.botToken` |
99
+ | `email` | `@framers/agentos-ext-channel-email` | `nodemailer` | `email.smtpHost`, `email.smtpUser`, `email.smtpPassword` |
100
+ | `sms` | `@framers/agentos-ext-channel-sms` | `twilio` | `twilio.accountSid`, `twilio.authToken`, `twilio.phoneNumber` |
101
+ | `twitter` | `@framers/agentos-ext-channel-twitter` | `twitter-api-v2` | `twitter.bearerToken` |
102
+ | `instagram` | `@framers/agentos-ext-channel-instagram` | `axios` | `instagram.accessToken` |
103
+ | `reddit` | `@framers/agentos-ext-channel-reddit` | `snoowrap` | `reddit.clientId`, `reddit.clientSecret`, `reddit.username`, `reddit.password` |
104
+ | `youtube` | `@framers/agentos-ext-channel-youtube` | `googleapis` | `youtube.apiKey` |
105
+ | `pinterest` | `@framers/agentos-ext-channel-pinterest` | `axios` | `pinterest.accessToken` |
106
+ | `tiktok` | `@framers/agentos-ext-channel-tiktok` | `axios` | `tiktok.accessToken` |
107
+ | `nostr` | `@framers/agentos-ext-channel-nostr` | `nostr-tools` | `nostr.privateKey`, `nostr.relayUrls` |
108
+ | `twitch` | `@framers/agentos-ext-channel-twitch` | `tmi.js` | `twitch.oauthToken`, `twitch.username`, `twitch.channel` |
109
+ | `line` | `@framers/agentos-ext-channel-line` | `@line/bot-sdk` | `line.channelAccessToken`, `line.channelSecret` |
110
+ | `feishu` | `@framers/agentos-ext-channel-feishu` | `@larksuiteoapi/node-sdk` | `feishu.appId`, `feishu.appSecret`, `feishu.verificationToken`, `feishu.encryptKey` |
111
+ | `mattermost` | `@framers/agentos-ext-channel-mattermost` | `ws` | `mattermost.url`, `mattermost.token` |
112
+ | `nextcloud-talk` | `@framers/agentos-ext-channel-nextcloud` | `nextcloud-talk-bot` | `nextcloud.url`, `nextcloud.token` |
113
+ | `tlon` | `@framers/agentos-ext-channel-tlon` | `tlon-api` | `tlon.shipUrl`, `tlon.code` |
114
+ | `irc` | `@framers/agentos-ext-channel-irc` | `node:net` | `irc.host`, `irc.port`, `irc.nick`, `irc.channels` |
115
+ | `zalouser` | `@framers/agentos-ext-channel-zalouser` | `zca-cli` | none |
77
116
 
78
117
  ## License
79
118
 
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @fileoverview Channel registry — metadata catalog for all supported
3
+ * messaging channel extensions.
4
+ *
5
+ * Each entry defines the channel's metadata, secret requirements, and
6
+ * default priority. The actual adapter implementations live in
7
+ * `@framers/agentos-extensions/registry/curated/channels/<platform>/`.
8
+ *
9
+ * @module @framers/agentos-extensions-registry/channel-registry
10
+ */
11
+ import type { ChannelRegistryEntry } from './types.js';
12
+ /**
13
+ * Full catalog of messaging channel extensions.
14
+ * Ordered by priority tier (P0 first, then P1, P2).
15
+ */
16
+ export declare const CHANNEL_CATALOG: ChannelRegistryEntry[];
17
+ /**
18
+ * Get channel entries filtered by platform names.
19
+ */
20
+ export declare function getChannelEntries(platforms?: string[] | 'all' | 'none'): ChannelRegistryEntry[];
21
+ /**
22
+ * Get a single channel entry by platform.
23
+ */
24
+ export declare function getChannelEntry(platform: string): ChannelRegistryEntry | undefined;
25
+ //# sourceMappingURL=channel-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel-registry.d.ts","sourceRoot":"","sources":["../src/channel-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,oBAAoB,EAgWjD,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,GAAG,MAAM,GAAG,oBAAoB,EAAE,CAI/F;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAElF"}
@@ -0,0 +1,375 @@
1
+ /**
2
+ * @fileoverview Channel registry — metadata catalog for all supported
3
+ * messaging channel extensions.
4
+ *
5
+ * Each entry defines the channel's metadata, secret requirements, and
6
+ * default priority. The actual adapter implementations live in
7
+ * `@framers/agentos-extensions/registry/curated/channels/<platform>/`.
8
+ *
9
+ * @module @framers/agentos-extensions-registry/channel-registry
10
+ */
11
+ /**
12
+ * Full catalog of messaging channel extensions.
13
+ * Ordered by priority tier (P0 first, then P1, P2).
14
+ */
15
+ export const CHANNEL_CATALOG = [
16
+ // ── P0: Core Channels ──
17
+ {
18
+ packageName: '@framers/agentos-ext-channel-telegram',
19
+ name: 'channel-telegram',
20
+ category: 'channel',
21
+ platform: 'telegram',
22
+ displayName: 'Telegram',
23
+ description: 'Telegram Bot API via grammY — supports text, images, inline keyboards, groups.',
24
+ sdkPackage: 'grammy',
25
+ requiredSecrets: ['telegram.botToken'],
26
+ defaultPriority: 50,
27
+ available: false,
28
+ },
29
+ {
30
+ packageName: '@framers/agentos-ext-channel-whatsapp',
31
+ name: 'channel-whatsapp',
32
+ category: 'channel',
33
+ platform: 'whatsapp',
34
+ displayName: 'WhatsApp',
35
+ description: 'WhatsApp Web bridge via Baileys — supports text, images, documents, voice notes.',
36
+ sdkPackage: '@whiskeysockets/baileys',
37
+ requiredSecrets: ['whatsapp.sessionData'],
38
+ defaultPriority: 50,
39
+ available: false,
40
+ },
41
+ {
42
+ packageName: '@framers/agentos-ext-channel-discord',
43
+ name: 'channel-discord',
44
+ category: 'channel',
45
+ platform: 'discord',
46
+ displayName: 'Discord',
47
+ description: 'Discord bot via discord.js — supports text, embeds, threads, reactions, buttons.',
48
+ sdkPackage: 'discord.js',
49
+ requiredSecrets: ['discord.botToken'],
50
+ defaultPriority: 50,
51
+ available: false,
52
+ },
53
+ {
54
+ packageName: '@framers/agentos-ext-channel-slack',
55
+ name: 'channel-slack',
56
+ category: 'channel',
57
+ platform: 'slack',
58
+ displayName: 'Slack',
59
+ description: 'Slack workspace integration via Bolt — supports text, blocks, threads, reactions.',
60
+ sdkPackage: '@slack/bolt',
61
+ requiredSecrets: ['slack.botToken', 'slack.signingSecret', 'slack.appToken'],
62
+ defaultPriority: 50,
63
+ available: false,
64
+ },
65
+ {
66
+ packageName: '@framers/agentos-ext-channel-webchat',
67
+ name: 'channel-webchat',
68
+ category: 'channel',
69
+ platform: 'webchat',
70
+ displayName: 'WebChat',
71
+ description: 'Browser-based chat widget via Socket.IO — embeds in any website.',
72
+ sdkPackage: 'socket.io',
73
+ requiredSecrets: [],
74
+ defaultPriority: 50,
75
+ available: false,
76
+ },
77
+ // ── P1: Extended Channels ──
78
+ {
79
+ packageName: '@framers/agentos-ext-channel-signal',
80
+ name: 'channel-signal',
81
+ category: 'channel',
82
+ platform: 'signal',
83
+ displayName: 'Signal',
84
+ description: 'Signal messenger via signal-cli — end-to-end encrypted messaging.',
85
+ sdkPackage: 'signal-cli',
86
+ requiredSecrets: ['signal.phoneNumber'],
87
+ defaultPriority: 40,
88
+ available: false,
89
+ },
90
+ {
91
+ packageName: '@framers/agentos-ext-channel-imessage',
92
+ name: 'channel-imessage',
93
+ category: 'channel',
94
+ platform: 'imessage',
95
+ displayName: 'iMessage',
96
+ description: 'iMessage bridge via BlueBubbles — macOS server required.',
97
+ sdkPackage: 'bluebubbles-node',
98
+ requiredSecrets: ['imessage.serverUrl', 'imessage.password'],
99
+ defaultPriority: 40,
100
+ available: false,
101
+ },
102
+ {
103
+ packageName: '@framers/agentos-ext-channel-google-chat',
104
+ name: 'channel-google-chat',
105
+ category: 'channel',
106
+ platform: 'google-chat',
107
+ displayName: 'Google Chat',
108
+ description: 'Google Chat bot via service account auth — supports threads; inbound events via webhook.',
109
+ sdkPackage: 'google-auth-library',
110
+ requiredSecrets: ['googlechat.serviceAccount'],
111
+ defaultPriority: 40,
112
+ available: false,
113
+ },
114
+ {
115
+ packageName: '@framers/agentos-ext-channel-teams',
116
+ name: 'channel-teams',
117
+ category: 'channel',
118
+ platform: 'teams',
119
+ displayName: 'Microsoft Teams',
120
+ description: 'Microsoft Teams bot via Bot Framework — supports adaptive cards.',
121
+ sdkPackage: 'botbuilder',
122
+ requiredSecrets: ['teams.appId', 'teams.appPassword'],
123
+ defaultPriority: 40,
124
+ available: false,
125
+ },
126
+ // ── P2: Community Channels ──
127
+ {
128
+ packageName: '@framers/agentos-ext-channel-matrix',
129
+ name: 'channel-matrix',
130
+ category: 'channel',
131
+ platform: 'matrix',
132
+ displayName: 'Matrix',
133
+ description: 'Matrix/Element via matrix-bot-sdk — decentralized, federated messaging.',
134
+ sdkPackage: '@vector-im/matrix-bot-sdk',
135
+ requiredSecrets: ['matrix.homeserverUrl', 'matrix.accessToken'],
136
+ defaultPriority: 30,
137
+ available: false,
138
+ },
139
+ {
140
+ packageName: '@framers/agentos-ext-channel-zalo',
141
+ name: 'channel-zalo',
142
+ category: 'channel',
143
+ platform: 'zalo',
144
+ displayName: 'Zalo',
145
+ description: 'Zalo Bot API — popular in Vietnam.',
146
+ sdkPackage: 'zalo-api',
147
+ requiredSecrets: ['zalo.botToken'],
148
+ defaultPriority: 30,
149
+ available: false,
150
+ },
151
+ {
152
+ packageName: '@framers/agentos-ext-channel-email',
153
+ name: 'channel-email',
154
+ category: 'channel',
155
+ platform: 'email',
156
+ displayName: 'Email',
157
+ description: 'Email messaging via nodemailer (SMTP) + imapflow (IMAP) — send, read, search, extract codes, reply.',
158
+ sdkPackage: 'nodemailer',
159
+ requiredSecrets: ['email.smtpHost', 'email.smtpUser', 'email.smtpPassword'],
160
+ defaultPriority: 30,
161
+ available: false,
162
+ },
163
+ {
164
+ packageName: '@framers/agentos-ext-channel-sms',
165
+ name: 'channel-sms',
166
+ category: 'channel',
167
+ platform: 'sms',
168
+ displayName: 'SMS',
169
+ description: 'SMS messaging via Twilio — text-only, worldwide reach.',
170
+ sdkPackage: 'twilio',
171
+ requiredSecrets: ['twilio.accountSid', 'twilio.authToken', 'twilio.phoneNumber'],
172
+ defaultPriority: 30,
173
+ available: false,
174
+ },
175
+ // ── P0: Social Media Channels ──
176
+ {
177
+ packageName: '@framers/agentos-ext-channel-twitter',
178
+ name: 'channel-twitter',
179
+ category: 'channel',
180
+ platform: 'twitter',
181
+ displayName: 'Twitter / X',
182
+ description: 'Twitter/X API v2 — posts, threads, DMs, trending, analytics, scheduling.',
183
+ sdkPackage: 'twitter-api-v2',
184
+ requiredSecrets: ['twitter.bearerToken'],
185
+ defaultPriority: 50,
186
+ available: false,
187
+ },
188
+ {
189
+ packageName: '@framers/agentos-ext-channel-instagram',
190
+ name: 'channel-instagram',
191
+ category: 'channel',
192
+ platform: 'instagram',
193
+ displayName: 'Instagram',
194
+ description: 'Instagram Graph API — posts, reels, stories, carousels, hashtags, analytics.',
195
+ sdkPackage: 'axios',
196
+ requiredSecrets: ['instagram.accessToken'],
197
+ defaultPriority: 50,
198
+ available: false,
199
+ },
200
+ {
201
+ packageName: '@framers/agentos-ext-channel-reddit',
202
+ name: 'channel-reddit',
203
+ category: 'channel',
204
+ platform: 'reddit',
205
+ displayName: 'Reddit',
206
+ description: 'Reddit API via snoowrap — posts, comments, voting, search, trending, inbox.',
207
+ sdkPackage: 'snoowrap',
208
+ requiredSecrets: ['reddit.clientId', 'reddit.clientSecret', 'reddit.username', 'reddit.password'],
209
+ defaultPriority: 50,
210
+ available: false,
211
+ },
212
+ {
213
+ packageName: '@framers/agentos-ext-channel-youtube',
214
+ name: 'channel-youtube',
215
+ category: 'channel',
216
+ platform: 'youtube',
217
+ displayName: 'YouTube',
218
+ description: 'YouTube Data API v3 — video upload, Shorts, comments, search, trending, playlists, analytics.',
219
+ sdkPackage: 'googleapis',
220
+ requiredSecrets: ['youtube.apiKey'],
221
+ defaultPriority: 50,
222
+ available: false,
223
+ },
224
+ // ── P1: Extended Social Channels ──
225
+ {
226
+ packageName: '@framers/agentos-ext-channel-pinterest',
227
+ name: 'channel-pinterest',
228
+ category: 'channel',
229
+ platform: 'pinterest',
230
+ displayName: 'Pinterest',
231
+ description: 'Pinterest API v5 — pins, boards, search, trending, analytics, scheduling.',
232
+ sdkPackage: 'axios',
233
+ requiredSecrets: ['pinterest.accessToken'],
234
+ defaultPriority: 40,
235
+ available: false,
236
+ },
237
+ {
238
+ packageName: '@framers/agentos-ext-channel-tiktok',
239
+ name: 'channel-tiktok',
240
+ category: 'channel',
241
+ platform: 'tiktok',
242
+ displayName: 'TikTok',
243
+ description: 'TikTok API for Business — video upload, trending, search, analytics, engagement.',
244
+ sdkPackage: 'axios',
245
+ requiredSecrets: ['tiktok.accessToken'],
246
+ defaultPriority: 40,
247
+ available: false,
248
+ },
249
+ // ── P3: OpenClaw Parity Channels ──
250
+ {
251
+ packageName: '@framers/agentos-ext-channel-nostr',
252
+ name: 'channel-nostr',
253
+ category: 'channel',
254
+ platform: 'nostr',
255
+ displayName: 'Nostr',
256
+ description: 'Nostr relay messaging via nostr-tools — decentralized, censorship-resistant protocol.',
257
+ sdkPackage: 'nostr-tools',
258
+ requiredSecrets: ['nostr.privateKey', 'nostr.relayUrls'],
259
+ defaultPriority: 20,
260
+ available: false,
261
+ },
262
+ {
263
+ packageName: '@framers/agentos-ext-channel-twitch',
264
+ name: 'channel-twitch',
265
+ category: 'channel',
266
+ platform: 'twitch',
267
+ displayName: 'Twitch',
268
+ description: 'Twitch IRC chat via tmi.js — supports chat messages, commands, whispers.',
269
+ sdkPackage: 'tmi.js',
270
+ requiredSecrets: ['twitch.oauthToken', 'twitch.username', 'twitch.channel'],
271
+ defaultPriority: 20,
272
+ available: false,
273
+ },
274
+ {
275
+ packageName: '@framers/agentos-ext-channel-line',
276
+ name: 'channel-line',
277
+ category: 'channel',
278
+ platform: 'line',
279
+ displayName: 'LINE',
280
+ description: 'LINE Messaging API — supports text, images, flex messages, rich menus.',
281
+ sdkPackage: '@line/bot-sdk',
282
+ requiredSecrets: ['line.channelAccessToken', 'line.channelSecret'],
283
+ defaultPriority: 20,
284
+ available: false,
285
+ },
286
+ {
287
+ packageName: '@framers/agentos-ext-channel-feishu',
288
+ name: 'channel-feishu',
289
+ category: 'channel',
290
+ platform: 'feishu',
291
+ displayName: 'Feishu / Lark',
292
+ description: 'Feishu (Lark) bot via official SDK — supports text, cards, interactive messages.',
293
+ sdkPackage: '@larksuiteoapi/node-sdk',
294
+ requiredSecrets: ['feishu.appId', 'feishu.appSecret', 'feishu.verificationToken', 'feishu.encryptKey'],
295
+ defaultPriority: 20,
296
+ available: false,
297
+ },
298
+ {
299
+ packageName: '@framers/agentos-ext-channel-mattermost',
300
+ name: 'channel-mattermost',
301
+ category: 'channel',
302
+ platform: 'mattermost',
303
+ displayName: 'Mattermost',
304
+ description: 'Mattermost self-hosted chat via official client — supports text, threads, reactions.',
305
+ sdkPackage: 'ws',
306
+ requiredSecrets: ['mattermost.url', 'mattermost.token'],
307
+ defaultPriority: 20,
308
+ available: false,
309
+ },
310
+ {
311
+ packageName: '@framers/agentos-ext-channel-nextcloud',
312
+ name: 'channel-nextcloud',
313
+ category: 'channel',
314
+ platform: 'nextcloud-talk',
315
+ displayName: 'NextCloud Talk',
316
+ description: 'NextCloud Talk bot API — self-hosted, privacy-focused team messaging.',
317
+ sdkPackage: 'nextcloud-talk-bot',
318
+ requiredSecrets: ['nextcloud.url', 'nextcloud.token'],
319
+ defaultPriority: 20,
320
+ available: false,
321
+ },
322
+ {
323
+ packageName: '@framers/agentos-ext-channel-tlon',
324
+ name: 'channel-tlon',
325
+ category: 'channel',
326
+ platform: 'tlon',
327
+ displayName: 'Tlon (Urbit)',
328
+ description: 'Tlon / Urbit messaging — peer-to-peer, identity-sovereign communication.',
329
+ sdkPackage: 'tlon-api',
330
+ requiredSecrets: ['tlon.shipUrl', 'tlon.code'],
331
+ defaultPriority: 20,
332
+ available: false,
333
+ },
334
+ {
335
+ packageName: '@framers/agentos-ext-channel-irc',
336
+ name: 'channel-irc',
337
+ category: 'channel',
338
+ platform: 'irc',
339
+ displayName: 'IRC',
340
+ description: 'IRC channel adapter — supports inbound/outbound messages and channel joins.',
341
+ sdkPackage: 'node:net',
342
+ requiredSecrets: ['irc.host', 'irc.port', 'irc.nick', 'irc.channels'],
343
+ defaultPriority: 20,
344
+ available: false,
345
+ },
346
+ {
347
+ packageName: '@framers/agentos-ext-channel-zalouser',
348
+ name: 'channel-zalouser',
349
+ category: 'channel',
350
+ platform: 'zalouser',
351
+ displayName: 'Zalo Personal',
352
+ description: 'Zalo personal account messaging via zca-cli (unofficial) — use at your own risk.',
353
+ sdkPackage: 'zca-cli',
354
+ requiredSecrets: [],
355
+ defaultPriority: 20,
356
+ available: false,
357
+ },
358
+ ];
359
+ /**
360
+ * Get channel entries filtered by platform names.
361
+ */
362
+ export function getChannelEntries(platforms) {
363
+ if (platforms === 'none')
364
+ return [];
365
+ if (!platforms || platforms === 'all')
366
+ return [...CHANNEL_CATALOG];
367
+ return CHANNEL_CATALOG.filter((entry) => platforms.includes(entry.platform));
368
+ }
369
+ /**
370
+ * Get a single channel entry by platform.
371
+ */
372
+ export function getChannelEntry(platform) {
373
+ return CHANNEL_CATALOG.find((entry) => entry.platform === platform);
374
+ }
375
+ //# sourceMappingURL=channel-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel-registry.js","sourceRoot":"","sources":["../src/channel-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @fileoverview AgentOS Extensions Registry Bundle.
3
+ *
4
+ * Single-import package that discovers, configures, and registers all
5
+ * curated AgentOS extensions (channels, tools, integrations).
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { createCuratedManifest } from '@framers/agentos-extensions-registry';
10
+ *
11
+ * const manifest = await createCuratedManifest({
12
+ * channels: ['telegram', 'whatsapp', 'discord'],
13
+ * tools: 'all',
14
+ * secrets: resolvedSecrets,
15
+ * });
16
+ *
17
+ * const agentOS = new AgentOS({ extensionManifest: manifest });
18
+ * ```
19
+ *
20
+ * @module @framers/agentos-extensions-registry
21
+ */
22
+ export { createCuratedManifest, getAvailableExtensions, getAvailableChannels, } from './manifest-builder.js';
23
+ export { CHANNEL_CATALOG, getChannelEntries, getChannelEntry } from './channel-registry.js';
24
+ export { PROVIDER_CATALOG, getProviderEntries, getProviderEntry } from './provider-registry.js';
25
+ export { TOOL_CATALOG, getToolEntries, getToolEntry } from './tool-registry.js';
26
+ export type { RegistryOptions, ExtensionOverrideConfig, ExtensionInfo, ChannelRegistryEntry, } from './types.js';
27
+ export type { ProviderRegistryEntry } from './provider-registry.js';
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE5F,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEhG,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEhF,YAAY,EACV,eAAe,EACf,uBAAuB,EACvB,aAAa,EACb,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -19,18 +19,8 @@
19
19
  *
20
20
  * @module @framers/agentos-extensions-registry
21
21
  */
22
-
23
- export {
24
- createCuratedManifest,
25
- getAvailableExtensions,
26
- getAvailableChannels,
27
- } from './manifest-builder.js';
28
-
22
+ export { createCuratedManifest, getAvailableExtensions, getAvailableChannels, } from './manifest-builder.js';
29
23
  export { CHANNEL_CATALOG, getChannelEntries, getChannelEntry } from './channel-registry.js';
30
-
31
- export type {
32
- RegistryOptions,
33
- ExtensionOverrideConfig,
34
- ExtensionInfo,
35
- ChannelRegistryEntry,
36
- } from './types.js';
24
+ export { PROVIDER_CATALOG, getProviderEntries, getProviderEntry } from './provider-registry.js';
25
+ export { TOOL_CATALOG, getToolEntries, getToolEntry } from './tool-registry.js';
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE5F,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEhG,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @fileoverview Manifest builder — creates pre-configured ExtensionManifest
3
+ * instances from the curated extension catalog.
4
+ *
5
+ * This is the primary API of the registry package. Instead of manually wiring
6
+ * each extension pack in the backend, consumers call `createCuratedManifest()`
7
+ * with their desired configuration.
8
+ *
9
+ * @module @framers/agentos-extensions-registry/manifest-builder
10
+ */
11
+ import type { ExtensionManifest } from '@framers/agentos';
12
+ import type { RegistryOptions, ExtensionInfo } from './types.js';
13
+ /**
14
+ * Check which extensions from the catalog are actually installed
15
+ * and mark them as available.
16
+ */
17
+ export declare function getAvailableExtensions(): Promise<ExtensionInfo[]>;
18
+ /**
19
+ * Get available channel extensions.
20
+ */
21
+ export declare function getAvailableChannels(): Promise<ExtensionInfo[]>;
22
+ /**
23
+ * Creates a pre-configured `ExtensionManifest` with all available curated
24
+ * extensions. Missing optional dependencies are silently skipped.
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * import { createCuratedManifest } from '@framers/agentos-extensions-registry';
29
+ *
30
+ * // Enable all available extensions
31
+ * const manifest = await createCuratedManifest();
32
+ *
33
+ * // Selective: only Telegram + Discord channels, all tools
34
+ * const manifest = await createCuratedManifest({
35
+ * channels: ['telegram', 'discord'],
36
+ * tools: 'all',
37
+ * secrets: {
38
+ * 'telegram.botToken': process.env.TELEGRAM_BOT_TOKEN!,
39
+ * 'discord.botToken': process.env.DISCORD_BOT_TOKEN!,
40
+ * },
41
+ * });
42
+ *
43
+ * // Pass to AgentOS config
44
+ * const agentOS = new AgentOS({ extensionManifest: manifest });
45
+ * ```
46
+ */
47
+ export declare function createCuratedManifest(options?: RegistryOptions): Promise<ExtensionManifest>;
48
+ //# sourceMappingURL=manifest-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest-builder.d.ts","sourceRoot":"","sources":["../src/manifest-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAA8B,MAAM,kBAAkB,CAAC;AACtF,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAkB,MAAM,YAAY,CAAC;AA+BjF;;;GAGG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAKvE;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAErE;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA6GjG"}