@framers/agentos-extensions 1.0.0 → 1.0.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.
Files changed (3) hide show
  1. package/README.md +180 -21
  2. package/package.json +12 -5
  3. package/registry.json +2816 -40
package/README.md CHANGED
@@ -10,29 +10,71 @@
10
10
 
11
11
  Official extension registry for the AgentOS ecosystem.
12
12
 
13
- [![CI Status](https://github.com/framersai/agentos-extensions/workflows/CI%20-%20All%20Extensions/badge.svg)](https://github.com/framersai/agentos-extensions/actions)
13
+ [![CI Status](https://github.com/framersai/agentos-extensions/workflows/CI/badge.svg)](https://github.com/framersai/agentos-extensions/actions)
14
14
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
15
15
  [![API Docs](https://img.shields.io/badge/docs-TypeDoc-blue)](https://framersai.github.io/agentos-extensions/)
16
+ [![npm: registry](https://img.shields.io/npm/v/@framers/agentos-extensions-registry?label=registry)](https://www.npmjs.com/package/@framers/agentos-extensions-registry)
17
+ [![npm: catalog](https://img.shields.io/npm/v/@framers/agentos-extensions?label=catalog)](https://www.npmjs.com/package/@framers/agentos-extensions)
16
18
 
17
19
  ## Published Extensions
18
20
 
19
21
  All extensions are published to npm under the `@framers` scope.
20
22
 
23
+ ### Registry Packages
24
+
25
+ | Package | Description | npm |
26
+ |---------|-------------|-----|
27
+ | [`@framers/agentos-extensions-registry`](https://www.npmjs.com/package/@framers/agentos-extensions-registry) | Curated registry bundle — single import with `createCuratedManifest()` | [![npm](https://img.shields.io/npm/v/@framers/agentos-extensions-registry)](https://www.npmjs.com/package/@framers/agentos-extensions-registry) |
28
+ | [`@framers/agentos-extensions`](https://www.npmjs.com/package/@framers/agentos-extensions) | Static catalog (`registry.json`) of all extensions | [![npm](https://img.shields.io/npm/v/@framers/agentos-extensions)](https://www.npmjs.com/package/@framers/agentos-extensions) |
29
+
30
+ ### Extensions
31
+
32
+ | Package | Description | npm |
33
+ |---------|-------------|-----|
34
+ | [`@framers/agentos-ext-web-search`](./registry/curated/research/web-search) | Multi-provider web search & fact-checking | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-web-search)](https://www.npmjs.com/package/@framers/agentos-ext-web-search) |
35
+ | [`@framers/agentos-ext-web-browser`](./registry/curated/research/web-browser) | Browser automation & content extraction | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-web-browser)](https://www.npmjs.com/package/@framers/agentos-ext-web-browser) |
36
+ | [`@framers/agentos-ext-news-search`](./registry/curated/research/news-search) | News article search via NewsAPI | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-news-search)](https://www.npmjs.com/package/@framers/agentos-ext-news-search) |
37
+ | [`@framers/agentos-ext-giphy`](./registry/curated/media/giphy) | GIF & sticker search via Giphy API | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-giphy)](https://www.npmjs.com/package/@framers/agentos-ext-giphy) |
38
+ | [`@framers/agentos-ext-image-search`](./registry/curated/media/image-search) | Stock photo search (Pexels, Unsplash, Pixabay) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-image-search)](https://www.npmjs.com/package/@framers/agentos-ext-image-search) |
39
+ | [`@framers/agentos-ext-voice-synthesis`](./registry/curated/media/voice-synthesis) | Text-to-speech via ElevenLabs | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-voice-synthesis)](https://www.npmjs.com/package/@framers/agentos-ext-voice-synthesis) |
40
+ | [`@framers/agentos-ext-cli-executor`](./registry/curated/system/cli-executor) | Shell command execution & file management | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-cli-executor)](https://www.npmjs.com/package/@framers/agentos-ext-cli-executor) |
41
+ | [`@framers/agentos-ext-auth`](./registry/curated/auth) | JWT authentication & subscription management | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-auth)](https://www.npmjs.com/package/@framers/agentos-ext-auth) |
42
+ | [`@framers/agentos-ext-telegram`](./registry/curated/integrations/telegram) | Telegram Bot API integration | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-telegram)](https://www.npmjs.com/package/@framers/agentos-ext-telegram) |
43
+ | [`@framers/agentos-ext-wunderbot-feeds`](./registry/curated/integrations/wunderbot-feeds) | Wunderbot feed ingestion + social content pipeline integration | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-wunderbot-feeds)](https://www.npmjs.com/package/@framers/agentos-ext-wunderbot-feeds) |
44
+ | [`@framers/agentos-ext-telegram-bot`](./registry/curated/communications/telegram-bot) | Telegram bot communications handler | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-telegram-bot)](https://www.npmjs.com/package/@framers/agentos-ext-telegram-bot) |
45
+ | [`@framers/agentos-ext-anchor-providers`](./registry/curated/provenance/anchor-providers) | Solana on-chain provenance anchoring | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-anchor-providers)](https://www.npmjs.com/package/@framers/agentos-ext-anchor-providers) |
46
+ | [`@framers/agentos-ext-tip-ingestion`](./registry/curated/provenance/wunderland-tip-ingestion) | Tip content processing pipeline | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-tip-ingestion)](https://www.npmjs.com/package/@framers/agentos-ext-tip-ingestion) |
47
+ | [`@framers/agentos-ext-browser-automation`](./registry/curated/system/browser-automation) | Full browser automation (Playwright) — 10 tools | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-browser-automation)](https://www.npmjs.com/package/@framers/agentos-ext-browser-automation) |
48
+ | [`@framers/agentos-ext-deep-research`](./registry/curated/research/deep-research) | Multi-source research & investigation — 5 tools | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-deep-research)](https://www.npmjs.com/package/@framers/agentos-ext-deep-research) |
49
+ | [`@framers/agentos-ext-content-extraction`](./registry/curated/research/content-extraction) | Content extraction (URLs, YouTube, PDF) — 5 tools | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-content-extraction)](https://www.npmjs.com/package/@framers/agentos-ext-content-extraction) |
50
+ | [`@framers/agentos-ext-credential-vault`](./registry/curated/system/credential-vault) | Encrypted credential management — 5 tools | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-credential-vault)](https://www.npmjs.com/package/@framers/agentos-ext-credential-vault) |
51
+ | [`@framers/agentos-ext-notifications`](./registry/curated/communications/notifications) | Multi-channel notification router — 3 tools | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-notifications)](https://www.npmjs.com/package/@framers/agentos-ext-notifications) |
52
+
53
+ ### Channel Adapters
54
+
21
55
  | Package | Description | npm |
22
56
  |---------|-------------|-----|
23
- | [`@framers/agentos-ext-auth`](./registry/curated/auth) | JWT authentication & subscription management | ![npm](https://img.shields.io/npm/v/@framers/agentos-ext-auth) |
24
- | [`@framers/agentos-ext-anchor-providers`](./registry/curated/provenance/anchor-providers) | Solana on-chain provenance anchoring | ![npm](https://img.shields.io/npm/v/@framers/agentos-ext-anchor-providers) |
25
- | [`@framers/agentos-ext-tip-ingestion`](./registry/curated/provenance/wunderland-tip-ingestion) | Tip content processing pipeline | ![npm](https://img.shields.io/npm/v/@framers/agentos-ext-tip-ingestion) |
26
- | [`@framers/agentos-ext-web-search`](./registry/curated/research/web-search) | Multi-provider web search & fact-checking | ![npm](https://img.shields.io/npm/v/@framers/agentos-ext-web-search) |
27
- | [`@framers/agentos-ext-web-browser`](./registry/curated/research/web-browser) | Browser automation & content extraction | ![npm](https://img.shields.io/npm/v/@framers/agentos-ext-web-browser) |
28
- | [`@framers/agentos-ext-telegram`](./registry/curated/integrations/telegram) | Telegram Bot API integration | ![npm](https://img.shields.io/npm/v/@framers/agentos-ext-telegram) |
29
- | [`@framers/agentos-ext-telegram-bot`](./registry/curated/communications/telegram-bot) | Telegram bot communications handler | ![npm](https://img.shields.io/npm/v/@framers/agentos-ext-telegram-bot) |
30
- | [`@framers/agentos-ext-cli-executor`](./registry/curated/system/cli-executor) | Shell command execution & file management | ![npm](https://img.shields.io/npm/v/@framers/agentos-ext-cli-executor) |
31
- | [`@framers/agentos-ext-channel-telegram`](./registry/curated/channels/telegram) | Telegram messaging channel (grammY) | ![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-telegram) |
32
- | [`@framers/agentos-ext-channel-whatsapp`](./registry/curated/channels/whatsapp) | WhatsApp messaging channel (Baileys) | ![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-whatsapp) |
33
- | [`@framers/agentos-ext-channel-discord`](./registry/curated/channels/discord) | Discord messaging channel (discord.js) | ![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-discord) |
34
- | [`@framers/agentos-ext-channel-slack`](./registry/curated/channels/slack) | Slack messaging channel (Bolt) | ![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-slack) |
35
- | [`@framers/agentos-ext-channel-webchat`](./registry/curated/channels/webchat) | Built-in WebChat channel (Socket.IO) | ![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-webchat) |
57
+ | [`@framers/agentos-ext-channel-telegram`](./registry/curated/channels/telegram) | Telegram messaging channel (grammY) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-telegram)](https://www.npmjs.com/package/@framers/agentos-ext-channel-telegram) |
58
+ | [`@framers/agentos-ext-channel-whatsapp`](./registry/curated/channels/whatsapp) | WhatsApp messaging channel (Baileys) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-whatsapp)](https://www.npmjs.com/package/@framers/agentos-ext-channel-whatsapp) |
59
+ | [`@framers/agentos-ext-channel-discord`](./registry/curated/channels/discord) | Discord messaging channel (discord.js) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-discord)](https://www.npmjs.com/package/@framers/agentos-ext-channel-discord) |
60
+ | [`@framers/agentos-ext-channel-slack`](./registry/curated/channels/slack) | Slack messaging channel (Bolt) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-slack)](https://www.npmjs.com/package/@framers/agentos-ext-channel-slack) |
61
+ | [`@framers/agentos-ext-channel-webchat`](./registry/curated/channels/webchat) | Built-in WebChat channel (Socket.IO) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-webchat)](https://www.npmjs.com/package/@framers/agentos-ext-channel-webchat) |
62
+ | [`@framers/agentos-ext-channel-twitter`](./registry/curated/channels/twitter) | Twitter/X social channel (twitter-api-v2) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-twitter)](https://www.npmjs.com/package/@framers/agentos-ext-channel-twitter) |
63
+ | [`@framers/agentos-ext-channel-instagram`](./registry/curated/channels/instagram) | Instagram social channel (Graph API) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-instagram)](https://www.npmjs.com/package/@framers/agentos-ext-channel-instagram) |
64
+ | [`@framers/agentos-ext-channel-reddit`](./registry/curated/channels/reddit) | Reddit social channel (snoowrap) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-reddit)](https://www.npmjs.com/package/@framers/agentos-ext-channel-reddit) |
65
+ | [`@framers/agentos-ext-channel-youtube`](./registry/curated/channels/youtube) | YouTube social channel (googleapis) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-youtube)](https://www.npmjs.com/package/@framers/agentos-ext-channel-youtube) |
66
+ | [`@framers/agentos-ext-channel-linkedin`](./registry/curated/channels/linkedin) | LinkedIn social channel (Marketing API) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-linkedin)](https://www.npmjs.com/package/@framers/agentos-ext-channel-linkedin) |
67
+ | [`@framers/agentos-ext-channel-facebook`](./registry/curated/channels/facebook) | Facebook social channel (Meta Graph API) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-facebook)](https://www.npmjs.com/package/@framers/agentos-ext-channel-facebook) |
68
+ | [`@framers/agentos-ext-channel-threads`](./registry/curated/channels/threads) | Threads social channel (Meta Graph API) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-threads)](https://www.npmjs.com/package/@framers/agentos-ext-channel-threads) |
69
+ | [`@framers/agentos-ext-channel-bluesky`](./registry/curated/channels/bluesky) | Bluesky social channel (AT Protocol) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-bluesky)](https://www.npmjs.com/package/@framers/agentos-ext-channel-bluesky) |
70
+ | [`@framers/agentos-ext-channel-mastodon`](./registry/curated/channels/mastodon) | Mastodon social channel (federated) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-mastodon)](https://www.npmjs.com/package/@framers/agentos-ext-channel-mastodon) |
71
+ | [`@framers/agentos-ext-channel-farcaster`](./registry/curated/channels/farcaster) | Farcaster social channel (Neynar API) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-farcaster)](https://www.npmjs.com/package/@framers/agentos-ext-channel-farcaster) |
72
+ | [`@framers/agentos-ext-channel-lemmy`](./registry/curated/channels/lemmy) | Lemmy federated social channel | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-lemmy)](https://www.npmjs.com/package/@framers/agentos-ext-channel-lemmy) |
73
+ | [`@framers/agentos-ext-channel-google-business`](./registry/curated/channels/google-business) | Google Business Profile channel | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-google-business)](https://www.npmjs.com/package/@framers/agentos-ext-channel-google-business) |
74
+ | [`@framers/agentos-ext-channel-blog-publisher`](./registry/curated/channels/blog-publisher) | Blog publisher (Dev.to, Hashnode, Medium, WordPress) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-blog-publisher)](https://www.npmjs.com/package/@framers/agentos-ext-channel-blog-publisher) |
75
+ | [`@framers/agentos-ext-channel-pinterest`](./registry/curated/channels/pinterest) | Pinterest social channel (API v5) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-pinterest)](https://www.npmjs.com/package/@framers/agentos-ext-channel-pinterest) |
76
+ | [`@framers/agentos-ext-channel-tiktok`](./registry/curated/channels/tiktok) | TikTok social channel (API for Business) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-tiktok)](https://www.npmjs.com/package/@framers/agentos-ext-channel-tiktok) |
77
+ | [`@framers/agentos-ext-channel-email`](./registry/curated/channels/email) | Email messaging channel (nodemailer/imapflow) | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-email)](https://www.npmjs.com/package/@framers/agentos-ext-channel-email) |
36
78
 
37
79
  ## Repository Structure
38
80
 
@@ -49,12 +91,15 @@ agentos-extensions/
49
91
  ├── registry/
50
92
  │ ├── curated/ # Official & verified extensions
51
93
  │ │ ├── auth/ # Authentication & subscriptions
52
- │ │ ├── communications/# Messaging (Telegram bot)
94
+ │ │ ├── channels/ # Messaging & social channels (37 platform packs)
95
+ │ │ ├── communications/# Telegram bot, notifications
53
96
  │ │ ├── integrations/ # External services (Telegram API)
97
+ │ │ ├── media/ # Giphy, image search, voice synthesis
54
98
  │ │ ├── provenance/ # On-chain anchoring & tip ingestion
55
- │ │ ├── research/ # Web search & browser automation
56
- │ │ ├── channels/ # Messaging channels (Telegram, WhatsApp, Discord, Slack, WebChat)
57
- │ │ └── system/ # CLI executor
99
+ │ │ ├── research/ # Web search, deep research, content extraction
100
+ │ │ ├── system/ # CLI executor, browser automation, credential vault
101
+ │ │ ├── voice/ # Twilio, Telnyx, Plivo voice providers
102
+ │ │ └── productivity/ # Google Calendar, Gmail
58
103
  │ └── community/ # Community-contributed extensions
59
104
  ├── scripts/ # Registry build & scaffolding tools
60
105
  ├── registry.json # Auto-generated extension manifest
@@ -64,13 +109,38 @@ agentos-extensions/
64
109
 
65
110
  ## Quick Start
66
111
 
67
- ### Install an extension
112
+ ### Install the registry (recommended)
113
+
114
+ Load all extensions at once via the curated registry:
68
115
 
69
116
  ```bash
70
- npm install @framers/agentos-ext-web-search
117
+ npm install @framers/agentos-extensions-registry
71
118
  ```
72
119
 
73
- ### Use in your agent
120
+ ```typescript
121
+ import { AgentOS } from '@framers/agentos';
122
+ import { createCuratedManifest } from '@framers/agentos-extensions-registry';
123
+
124
+ const manifest = await createCuratedManifest({
125
+ tools: 'all',
126
+ channels: 'none',
127
+ secrets: {
128
+ 'serper.apiKey': process.env.SERPER_API_KEY!,
129
+ 'giphy.apiKey': process.env.GIPHY_API_KEY!,
130
+ },
131
+ });
132
+
133
+ const agentos = new AgentOS();
134
+ await agentos.initialize({ extensionManifest: manifest });
135
+ ```
136
+
137
+ Only extensions whose npm packages are installed will load — missing packages are skipped silently.
138
+
139
+ ### Install individual extensions
140
+
141
+ ```bash
142
+ npm install @framers/agentos-ext-web-search
143
+ ```
74
144
 
75
145
  ```typescript
76
146
  import { AgentOS } from '@framers/agentos';
@@ -86,6 +156,95 @@ await agentos.initialize({
86
156
  });
87
157
  ```
88
158
 
159
+ ### Registry options
160
+
161
+ `createCuratedManifest()` accepts:
162
+
163
+ | Option | Type | Default | Description |
164
+ |--------|------|---------|-------------|
165
+ | `tools` | `string[] \| 'all' \| 'none'` | `'all'` | Which tool extensions to enable. Pass an array of names (e.g. `['web-search', 'giphy']`) to selectively load. |
166
+ | `channels` | `ChannelPlatform[] \| 'all' \| 'none'` | `'all'` | Which messaging channels to enable. |
167
+ | `secrets` | `Record<string, string>` | `{}` | API keys and tokens. Falls back to environment variables. |
168
+ | `logger` | `RegistryLogger` | `console` | Custom logger (`info`, `warn`, `error`, `debug` methods). |
169
+ | `basePriority` | `number` | `0` | Base priority for all extensions. |
170
+ | `overrides` | `Record<string, ExtensionOverrideConfig>` | — | Per-extension overrides for `enabled`, `priority`, and `options`. |
171
+
172
+ #### Secret keys
173
+
174
+ | Secret ID | Environment Variable | Extension |
175
+ |-----------|---------------------|-----------|
176
+ | `serper.apiKey` | `SERPER_API_KEY` | web-search |
177
+ | `serpapi.apiKey` | `SERPAPI_API_KEY` | web-search |
178
+ | `brave.apiKey` | `BRAVE_API_KEY` | web-search |
179
+ | `giphy.apiKey` | `GIPHY_API_KEY` | giphy |
180
+ | `elevenlabs.apiKey` | `ELEVENLABS_API_KEY` | voice-synthesis |
181
+ | `pexels.apiKey` | `PEXELS_API_KEY` | image-search |
182
+ | `unsplash.apiKey` | `UNSPLASH_ACCESS_KEY` | image-search |
183
+ | `pixabay.apiKey` | `PIXABAY_API_KEY` | image-search |
184
+ | `newsapi.apiKey` | `NEWSAPI_API_KEY` | news-search |
185
+ | `telegram.botToken` | `TELEGRAM_BOT_TOKEN` | channel-telegram |
186
+ | `discord.botToken` | `DISCORD_BOT_TOKEN` | channel-discord |
187
+ | `slack.botToken` | `SLACK_BOT_TOKEN` | channel-slack |
188
+ | `slack.appToken` | `SLACK_APP_TOKEN` | channel-slack |
189
+ | `twitter.bearerToken` | `TWITTER_BEARER_TOKEN` | channel-twitter |
190
+ | `twitter.apiKey` | `TWITTER_API_KEY` | channel-twitter |
191
+ | `twitter.apiSecret` | `TWITTER_API_SECRET` | channel-twitter |
192
+ | `twitter.accessToken` | `TWITTER_ACCESS_TOKEN` | channel-twitter |
193
+ | `twitter.accessSecret` | `TWITTER_ACCESS_SECRET` | channel-twitter |
194
+ | `instagram.accessToken` | `INSTAGRAM_ACCESS_TOKEN` | channel-instagram |
195
+ | `linkedin.accessToken` | `LINKEDIN_ACCESS_TOKEN` | channel-linkedin |
196
+ | `facebook.accessToken` | `FACEBOOK_ACCESS_TOKEN` | channel-facebook |
197
+ | `threads.accessToken` | `THREADS_ACCESS_TOKEN` | channel-threads |
198
+ | `bluesky.handle` | `BLUESKY_HANDLE` | channel-bluesky |
199
+ | `bluesky.appPassword` | `BLUESKY_APP_PASSWORD` | channel-bluesky |
200
+ | `mastodon.accessToken` | `MASTODON_ACCESS_TOKEN` | channel-mastodon |
201
+ | `farcaster.neynarApiKey` | `FARCASTER_NEYNAR_API_KEY` | channel-farcaster |
202
+ | `farcaster.signerUuid` | `FARCASTER_SIGNER_UUID` | channel-farcaster |
203
+ | `lemmy.instanceUrl` | `LEMMY_INSTANCE_URL` | channel-lemmy |
204
+ | `lemmy.username` | `LEMMY_USERNAME` | channel-lemmy |
205
+ | `lemmy.password` | `LEMMY_PASSWORD` | channel-lemmy |
206
+ | `google.accessToken` | `GOOGLE_ACCESS_TOKEN` | channel-google-business |
207
+ | `reddit.clientId` | `REDDIT_CLIENT_ID` | channel-reddit |
208
+ | `reddit.clientSecret` | `REDDIT_CLIENT_SECRET` | channel-reddit |
209
+ | `reddit.username` | `REDDIT_USERNAME` | channel-reddit |
210
+ | `reddit.password` | `REDDIT_PASSWORD` | channel-reddit |
211
+ | `youtube.apiKey` | `YOUTUBE_API_KEY` | channel-youtube |
212
+ | `pinterest.accessToken` | `PINTEREST_ACCESS_TOKEN` | channel-pinterest |
213
+ | `tiktok.accessToken` | `TIKTOK_ACCESS_TOKEN` | channel-tiktok |
214
+ | `email.smtpHost` | `SMTP_HOST` | channel-email |
215
+ | `email.smtpUser` | `SMTP_USER` | channel-email |
216
+ | `email.smtpPassword` | `SMTP_PASSWORD` | channel-email |
217
+
218
+ #### Selective loading examples
219
+
220
+ ```typescript
221
+ // Only web search and giphy, no channels
222
+ const manifest = await createCuratedManifest({
223
+ tools: ['web-search', 'giphy'],
224
+ channels: 'none',
225
+ });
226
+
227
+ // Only Telegram and Discord channels, all tools
228
+ const manifest = await createCuratedManifest({
229
+ channels: ['telegram', 'discord'],
230
+ tools: 'all',
231
+ secrets: {
232
+ 'telegram.botToken': process.env.TELEGRAM_BOT_TOKEN!,
233
+ 'discord.botToken': process.env.DISCORD_BOT_TOKEN!,
234
+ },
235
+ });
236
+
237
+ // Override specific extension options
238
+ const manifest = await createCuratedManifest({
239
+ tools: 'all',
240
+ channels: 'none',
241
+ overrides: {
242
+ 'web-search': { priority: 10 },
243
+ 'cli-executor': { enabled: false },
244
+ },
245
+ });
246
+ ```
247
+
89
248
  ### Create a new extension
90
249
 
91
250
  ```bash
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@framers/agentos-extensions",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "files": [
5
5
  "registry.json",
6
6
  "types.d.ts",
@@ -20,7 +20,7 @@
20
20
  "scripts": {
21
21
  "test": "node -e \"console.log('agentos-extensions: test skipped in this monorepo build')\"",
22
22
  "test:coverage": "npm run test",
23
- "build": "node scripts/update-registry.js",
23
+ "build": "node scripts/build-extensions.js && node scripts/update-registry.js",
24
24
  "lint": "node -e \"console.log('agentos-extensions: lint skipped in this monorepo build')\"",
25
25
  "clean": "node -e \"console.log('agentos-extensions: clean noop in this monorepo build')\"",
26
26
  "create-extension": "node scripts/create-extension.js",
@@ -34,7 +34,12 @@
34
34
  "type": "git",
35
35
  "url": "https://github.com/framersai/agentos-extensions.git"
36
36
  },
37
- "keywords": ["agentos", "extensions", "tools", "plugins"],
37
+ "keywords": [
38
+ "agentos",
39
+ "extensions",
40
+ "tools",
41
+ "plugins"
42
+ ],
38
43
  "author": {
39
44
  "name": "Framers AI",
40
45
  "email": "team@frame.dev",
@@ -54,14 +59,16 @@
54
59
  "packageManager": "pnpm@10.15.1",
55
60
  "pnpm": {
56
61
  "overrides": {
57
- "@framers/agentos": "^0.1.0"
62
+ "@framers/agentos": "^0.1.47"
58
63
  }
59
64
  },
60
65
  "devDependencies": {
66
+ "@atproto/api": "^0.13.0",
61
67
  "@changesets/changelog-github": "^0.5.2",
62
68
  "@changesets/cli": "^2.29.8",
69
+ "masto": "^6.8.0",
63
70
  "typedoc": "^0.25.13",
64
71
  "typescript": "^5.4.5",
65
72
  "vitest": "^1.6.0"
66
73
  }
67
- }
74
+ }