@framers/agentos-extensions 1.0.0 → 1.0.1
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 +180 -21
- package/package.json +11 -4
- package/registry.json +2136 -57
package/README.md
CHANGED
|
@@ -10,29 +10,71 @@
|
|
|
10
10
|
|
|
11
11
|
Official extension registry for the AgentOS ecosystem.
|
|
12
12
|
|
|
13
|
-
[](https://github.com/framersai/agentos-extensions/actions)
|
|
14
14
|
[](https://opensource.org/licenses/MIT)
|
|
15
15
|
[](https://framersai.github.io/agentos-extensions/)
|
|
16
|
+
[](https://www.npmjs.com/package/@framers/agentos-extensions-registry)
|
|
17
|
+
[](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()` | [](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 | [](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 | [](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 | [](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 | [](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 | [](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) | [](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 | [](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 | [](https://www.npmjs.com/package/@framers/agentos-ext-cli-executor) |
|
|
41
|
+
| [`@framers/agentos-ext-auth`](./registry/curated/auth) | JWT authentication & subscription management | [](https://www.npmjs.com/package/@framers/agentos-ext-auth) |
|
|
42
|
+
| [`@framers/agentos-ext-telegram`](./registry/curated/integrations/telegram) | Telegram Bot API integration | [](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 | [](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 | [](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 | [](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 | [](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 | [](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 | [](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 | [](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 | [](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 | [](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-
|
|
24
|
-
| [`@framers/agentos-ext-
|
|
25
|
-
| [`@framers/agentos-ext-
|
|
26
|
-
| [`@framers/agentos-ext-
|
|
27
|
-
| [`@framers/agentos-ext-
|
|
28
|
-
| [`@framers/agentos-ext-
|
|
29
|
-
| [`@framers/agentos-ext-
|
|
30
|
-
| [`@framers/agentos-ext-
|
|
31
|
-
| [`@framers/agentos-ext-channel-
|
|
32
|
-
| [`@framers/agentos-ext-channel-
|
|
33
|
-
| [`@framers/agentos-ext-channel-
|
|
34
|
-
| [`@framers/agentos-ext-channel-
|
|
35
|
-
| [`@framers/agentos-ext-channel-
|
|
57
|
+
| [`@framers/agentos-ext-channel-telegram`](./registry/curated/channels/telegram) | Telegram messaging channel (grammY) | [](https://www.npmjs.com/package/@framers/agentos-ext-channel-telegram) |
|
|
58
|
+
| [`@framers/agentos-ext-channel-whatsapp`](./registry/curated/channels/whatsapp) | WhatsApp messaging channel (Baileys) | [](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) | [](https://www.npmjs.com/package/@framers/agentos-ext-channel-discord) |
|
|
60
|
+
| [`@framers/agentos-ext-channel-slack`](./registry/curated/channels/slack) | Slack messaging channel (Bolt) | [](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) | [](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) | [](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) | [](https://www.npmjs.com/package/@framers/agentos-ext-channel-instagram) |
|
|
64
|
+
| [`@framers/agentos-ext-channel-reddit`](./registry/curated/channels/reddit) | Reddit social channel (snoowrap) | [](https://www.npmjs.com/package/@framers/agentos-ext-channel-reddit) |
|
|
65
|
+
| [`@framers/agentos-ext-channel-youtube`](./registry/curated/channels/youtube) | YouTube social channel (googleapis) | [](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) | [](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) | [](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) | [](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) | [](https://www.npmjs.com/package/@framers/agentos-ext-channel-bluesky) |
|
|
70
|
+
| [`@framers/agentos-ext-channel-mastodon`](./registry/curated/channels/mastodon) | Mastodon social channel (federated) | [](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) | [](https://www.npmjs.com/package/@framers/agentos-ext-channel-farcaster) |
|
|
72
|
+
| [`@framers/agentos-ext-channel-lemmy`](./registry/curated/channels/lemmy) | Lemmy federated social channel | [](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 | [](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) | [](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) | [](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) | [](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) | [](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
|
-
│ │ ├──
|
|
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
|
|
56
|
-
│ │ ├──
|
|
57
|
-
│ │
|
|
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
|
|
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-
|
|
117
|
+
npm install @framers/agentos-extensions-registry
|
|
71
118
|
```
|
|
72
119
|
|
|
73
|
-
|
|
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.
|
|
3
|
+
"version": "1.0.1",
|
|
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": [
|
|
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",
|
|
@@ -58,10 +63,12 @@
|
|
|
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
|
+
}
|