@framers/agentos-extensions 1.0.3 → 1.0.5

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 +49 -42
  2. package/package.json +7 -10
  3. package/registry.json +772 -432
package/README.md CHANGED
@@ -8,11 +8,12 @@
8
8
 
9
9
  Extension source code for AgentOS — tools, channel adapters, integrations, and starter templates.
10
10
 
11
- [![CI Status](https://github.com/framersai/agentos-extensions/workflows/CI/badge.svg)](https://github.com/framersai/agentos-extensions/actions)
11
+ [![CI Status](https://github.com/framerslab/agentos-extensions/workflows/CI/badge.svg)](https://github.com/framerslab/agentos-extensions/actions)
12
12
  [![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
13
- [![API Docs](https://img.shields.io/badge/docs-TypeDoc-blue)](https://framersai.github.io/agentos-extensions/)
13
+ [![API Docs](https://img.shields.io/badge/docs-TypeDoc-blue)](https://framerslab.github.io/agentos-extensions/)
14
14
  [![npm: registry](https://img.shields.io/npm/v/@framers/agentos-extensions-registry?label=registry)](https://www.npmjs.com/package/@framers/agentos-extensions-registry)
15
15
  [![npm: catalog](https://img.shields.io/npm/v/@framers/agentos-extensions?label=catalog)](https://www.npmjs.com/package/@framers/agentos-extensions)
16
+ [![NVIDIA Inception](https://img.shields.io/badge/NVIDIA_Inception-Member-76B900?logo=nvidia&logoColor=white)](https://www.nvidia.com/en-us/startups/)
16
17
 
17
18
  ## What This Package Is
18
19
 
@@ -90,7 +91,7 @@ All extensions are published to npm under the `@framers` scope.
90
91
  | [`@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) |
91
92
  | [`@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) |
92
93
  | [`@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) |
93
- | [`@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) |
94
+ | [`@framers/agentos-ext-channel-email`](./registry/curated/channels/email) | Email messaging channel (SMTP or Resend's HTTPS API, IMAP), with a suppression record and unsubscribe tokens on SQL | [![npm](https://img.shields.io/npm/v/@framers/agentos-ext-channel-email)](https://www.npmjs.com/package/@framers/agentos-ext-channel-email) |
94
95
 
95
96
  ## Two-Tier Extension Pattern
96
97
 
@@ -118,20 +119,19 @@ independently. Version bumps here do **not** affect curated extension versions.
118
119
 
119
120
  ### Curated Extensions (this submodule)
120
121
 
121
- ~107 packages inside `registry/curated/` use coordinated versioning via
122
- [Changesets](https://github.com/changesets/changesets). These are the full
123
- extension catalog: channel adapters, integrations, research tools, media tools,
124
- and more.
125
-
126
- Version bumps here are batched into "Version Packages" PRs and published together.
122
+ The packages inside `registry/curated/` are the full extension catalog: channel
123
+ adapters, integrations, research tools, media tools, and more. Each is versioned
124
+ on its own, and a push to `master` that changes a package's shipped files
125
+ publishes it in the same run ([RELEASING.md](./RELEASING.md)).
127
126
 
128
127
  ### Why two tiers?
129
128
 
130
129
  - **Core extensions** are safety-critical guardrails and foundational infrastructure.
131
130
  They need independent semver to signal breaking changes without forcing a catalog-wide
132
131
  release. Their CI runs on every PR to the monorepo root.
133
- - **Curated extensions** are the broader catalog. Coordinated changesets keep their
134
- interdependencies aligned and simplify bulk releases.
132
+ - **Curated extensions** are the broader catalog. The release keeps their
133
+ interdependencies aligned: when a package's new version leaves a dependent's
134
+ range on it, the same run raises that range and publishes the dependent.
135
135
 
136
136
  ### Where do safety guardrails live?
137
137
 
@@ -146,7 +146,6 @@ have not yet been merged upstream to the root packages.
146
146
 
147
147
  ```
148
148
  agentos-extensions/
149
- ├── .changeset/ # Changesets for versioning & publishing
150
149
  ├── .github/workflows/ # CI, release, TypeDoc pages
151
150
  ├── logos/ # Branding assets
152
151
  ├── templates/ # Starter templates for new extensions
@@ -161,6 +160,7 @@ agentos-extensions/
161
160
  │ │ ├── communications/# Telegram bot, notifications
162
161
  │ │ ├── integrations/ # External services (Telegram API)
163
162
  │ │ ├── media/ # Giphy, image search, voice synthesis
163
+ │ │ ├── meetings/ # Browser-join meeting bot provider (Google Meet, Microsoft Teams)
164
164
  │ │ ├── provenance/ # On-chain anchoring (tip-ingestion package is published separately)
165
165
  │ │ ├── research/ # Web search, deep research, content extraction
166
166
  │ │ ├── safety/ # Stub READMEs -> core packages (see above)
@@ -169,7 +169,7 @@ agentos-extensions/
169
169
  │ │ └── productivity/ # Google Calendar, Gmail
170
170
  │ └── community/ # Community-contributed extensions
171
171
  ├── scripts/ # Registry build & scaffolding tools
172
- ├── registry.json # Auto-generated extension manifest
172
+ ├── registry.json # generated by pnpm run build; the published catalog ships in the npm package
173
173
  ├── pnpm-workspace.yaml # Workspace packages for publishing
174
174
  └── typedoc.json # API docs config
175
175
  ```
@@ -352,6 +352,7 @@ For the dispatcher mechanics (Phase 1 sanitizers, Phase 2 parallel classifiers,
352
352
  | `email.smtpHost` | `SMTP_HOST` | channel-email |
353
353
  | `email.smtpUser` | `SMTP_USER` | channel-email |
354
354
  | `email.smtpPassword` | `SMTP_PASSWORD` | channel-email |
355
+ | `email.resendApiKey` | `RESEND_API_KEY` | channel-email |
355
356
 
356
357
  #### Selective loading examples
357
358
 
@@ -386,10 +387,8 @@ const manifest = await createCuratedManifest({
386
387
  ### Create a new extension
387
388
 
388
389
  ```bash
389
- # Use the scaffolding script
390
- pnpm run create-extension
391
-
392
- # Or copy a template
390
+ # Copy the template, then give the copy its name, its role and its own CHANGELOG.md,
391
+ # as CONTRIBUTING.md's "Adding an extension pack" says
393
392
  cp -r templates/basic-tool registry/curated/category/my-extension
394
393
  cd registry/curated/category/my-extension
395
394
  pnpm install
@@ -398,21 +397,20 @@ pnpm run dev
398
397
 
399
398
  ## Releasing & Publishing
400
399
 
401
- This repo uses [Changesets](https://github.com/changesets/changesets) for multi-package versioning and npm publishing. See [RELEASING.md](./RELEASING.md) for the full workflow.
400
+ A push to `master` publishes every package whose shipped files changed since its newest version on npm, from the tarball CI built and tested, and tags and releases each version on GitHub. Nobody writes a changeset or a release note: the merged pull request's title is the note. See [RELEASING.md](./RELEASING.md) for the full workflow.
402
401
 
403
402
  ### TL;DR
404
403
 
405
404
  ```bash
406
- # 1. Make your changes to one or more extensions
407
-
408
- # 2. Add a changeset describing what changed
409
- pnpm changeset
405
+ # 1. Change one or more extensions on a branch, and open a pull request titled in
406
+ # the Conventional Commits form: fix(web-search): ..., or feat(web-search)!: ...
407
+ # for a change that breaks users (a minor in place of a patch)
410
408
 
411
- # 3. Commit and push to master
412
- git add . && git commit -m "feat: my changes" && git push
409
+ # 2. Read the summary of CI's step "The packages this push would publish":
410
+ # each package the merge publishes, with its version and the reason
413
411
 
414
- # 4. The GitHub Action opens a "Version Packages" PR
415
- # → Merge it to publish updated packages to npm
412
+ # 3. Merge it: the push to master publishes those packages to npm, tags each
413
+ # version <name>@<version> and makes its GitHub release
416
414
  ```
417
415
 
418
416
  Each extension is versioned and published independently. A change to `web-search` does not bump `telegram`.
@@ -428,11 +426,13 @@ Each extension is versioned and published independently. A change to `web-search
428
426
 
429
427
  All extensions get free CI/CD via GitHub Actions:
430
428
 
431
- - **CI** (`ci.yml`): Lint, test, typecheck on every PR
432
- - **Release** (`release.yml`): Changesets auto-version PRs + npm publish on merge
433
- - **TypeDoc** (`pages-typedoc.yml`): API docs deployed to [framersai.github.io/agentos-extensions](https://framersai.github.io/agentos-extensions/)
434
- - **Extension validation** (`extension-validation.yml`): Manifest & structure checks
435
- - **Dependabot**: Automated dependency updates with auto-merge for patches
429
+ - **CI** (`ci.yml`): plans what the push would publish (`scripts/release-plan.mjs`), builds the AgentOS core and every pack, runs the release-script tests and each pack's tests, and runs the pack guard on the planned packages, on every pull request
430
+ - **Release** (`release.yml`): runs CI on a push to `master`, then publishes the tarballs CI tested for the packages the push changed, tags each version, makes its GitHub release, and writes the images' version tags
431
+ - **TypeDoc** (`pages-typedoc.yml`): API docs deployed to [framerslab.github.io/agentos-extensions](https://framerslab.github.io/agentos-extensions/) on a push to `master`, one deploy at a time: a deploy that has started runs to the end, and a push that lands during it waits, the last push to come in replacing any earlier one still waiting
432
+ - **Lockfile** (`lockfile.yml`): resolves the workspace's dependency ranges and offers `pnpm-lock.yaml` as an artifact to commit, run by hand on a branch whose `package.json` files changed
433
+ - **Meeting bot image** (`meeting-bot-image.yml`): builds the browser meeting bot's container image and runs its lifecycle test on every pull request that touches `registry/curated/meetings/browser/`, and pushes the image to GHCR from `master`; the bot's nightly real-join check (`nightly-real-join.yml`) runs daily and by hand, and its capacity measurement on a worker (`measure-meeting-bots.yml`) by hand only, as [the pack's README](./registry/curated/meetings/browser/README.md) describes
434
+ - **Document parser image** (`document-parser-image.yml`): builds the document parser's container image and runs its lifecycle test on a pull request that touches `registry/curated/tools/document-parser/` or `pnpm-lock.yaml`, once it is ready for review, and on a push to `master` that touches the pack, which also pushes the tested image to GHCR as `ghcr.io/framerslab/agentos-document-parser:sha-<commit>`; the release workflow tags a released version's image `:<version>`, as [the release guide](./RELEASING.md) and [the pack's README](./registry/curated/tools/document-parser/README.md) describe. `document-parser.yml` runs the pack's tests on Node 24, beside CI's Node 22, when a pull request or a push to `master` touches the pack, `pnpm-lock.yaml` or `pnpm-workspace.yaml`
435
+ - **Dependabot**: weekly dependency updates. `dependabot-auto-merge.yml` labels an npm minor or patch update `landing`, and posts one comment for its head commit naming the guards that passed, when CI's `build` check and the `links` check have succeeded on that commit, no other workflow check there is pending or failed (skipped and neutral count as passed), every commit is Dependabot's, its review threads are settled and ten minutes have passed since its last push. It never merges: a labelled update lands once its review comments on GitHub are read, those that name a failing input fixed and the rest answered, and its threads resolved. It decides again when a CI or Links run of the update is requested, starts or finishes, when a review is submitted or a comment is made on its diff, and every hour; when a push moves the head or a guard fails, it takes off a label it added, and a label a maintainer added, took off or put back stays. A thread resolved or reopened sends no event a workflow can take, so the next of those runs decides it; a landing waits for every thread to be resolved whatever the label says. Major updates, GitHub Actions updates, and a pull request whose head commit message names a different version than its title (left from an older update after a rebase) wait for a maintainer. The decision is `scripts/dependabot-merge-lib.mjs`. Dependabot updates `pnpm-lock.yaml` with pnpm's `minimumReleaseAge` at three days; `pnpm-workspace.yaml` exempts `@framers/*`, the family whose pins the weekly bump (`bump-framers-deps.yml`) moves to the newest release, and the bump runs Dependabot's update before it opens its pull request
436
436
 
437
437
  ## Quality Standards
438
438
 
@@ -452,7 +452,7 @@ All extensions get free CI/CD via GitHub Actions:
452
452
 
453
453
  ## Documentation
454
454
 
455
- - [API Reference (TypeDoc)](https://framersai.github.io/agentos-extensions/)
455
+ - [API Reference (TypeDoc)](https://framerslab.github.io/agentos-extensions/)
456
456
  - [How Extensions Work](./HOW_EXTENSIONS_WORK.md)
457
457
  - [Extension Architecture](./EXTENSION_ARCHITECTURE.md)
458
458
  - [Auto-Loading Extensions](./AUTO_LOADING_EXTENSIONS.md)
@@ -462,22 +462,29 @@ All extensions get free CI/CD via GitHub Actions:
462
462
  - [Releasing & Publishing](./RELEASING.md)
463
463
  - [Contributing](./CONTRIBUTING.md)
464
464
 
465
- ## Contributing
465
+ ## Contributing and support
466
466
 
467
- See [CONTRIBUTING.md](./CONTRIBUTING.md) for detailed guidelines.
467
+ | Guide | What |
468
+ |---|---|
469
+ | [Contributing](https://github.com/framerslab/agentos-extensions/blob/master/CONTRIBUTING.md) | Development setup, adding a pack, commit messages and releases, pull request rules, review threads, contribution licensing |
470
+ | [Release guide](https://github.com/framerslab/agentos-extensions/blob/master/RELEASING.md) | What a push to `master` publishes, and at which version |
471
+ | [Agent instructions](https://github.com/framerslab/agentos-extensions/blob/master/AGENTS.md) | Commands and conventions for coding agents |
472
+ | [Maintainers](https://github.com/framerslab/agentos-extensions/blob/master/MAINTAINERS.md) | Who reviews and merges changes |
473
+ | [Code of Conduct](https://github.com/framerslab/agentos-extensions/blob/master/.github/CODE_OF_CONDUCT.md) | Community standards |
474
+ | [Security Policy](https://github.com/framerslab/agentos-extensions/blob/master/.github/SECURITY.md) | Reporting vulnerabilities privately |
475
+ | [Support](https://github.com/framerslab/agentos-extensions/blob/master/SUPPORT.md) | Where to get help |
468
476
 
469
- - [Submit New Extension](https://github.com/framersai/agentos-extensions/issues/new?template=new-extension.yml)
470
- - [Report Bug](https://github.com/framersai/agentos-extensions/issues/new?template=bug-report.yml)
471
- - [Request Feature](https://github.com/framersai/agentos-extensions/discussions)
477
+ - [Propose a new extension](https://github.com/framerslab/agentos-extensions/issues/new?template=new-extension.yml)
478
+ - [Report a bug](https://github.com/framerslab/agentos-extensions/issues/new?template=bug_report.yml)
479
+ - [Request a feature](https://github.com/framerslab/agentos-extensions/issues/new?template=feature_request.yml)
472
480
 
473
481
  ## Links
474
482
 
475
483
  - **AgentOS**: [agentos.sh](https://agentos.sh)
476
- - **AgentOS GitHub**: [github.com/framersai/agentos](https://github.com/framersai/agentos)
477
- - **Extensions GitHub**: [github.com/framersai/agentos-extensions](https://github.com/framersai/agentos-extensions)
478
- - **Mars Genesis Demo**: [github.com/framersai/mars-genesis-simulation](https://github.com/framersai/mars-genesis-simulation)
484
+ - **AgentOS GitHub**: [github.com/framerslab/agentos](https://github.com/framerslab/agentos)
485
+ - **Extensions GitHub**: [github.com/framerslab/agentos-extensions](https://github.com/framerslab/agentos-extensions)
479
486
  - **npm**: [@framers](https://www.npmjs.com/org/framers)
480
- - **API Docs**: [framersai.github.io/agentos-extensions](https://framersai.github.io/agentos-extensions/)
487
+ - **API Docs**: [framerslab.github.io/agentos-extensions](https://framerslab.github.io/agentos-extensions/)
481
488
  - **Discord**: [wilds.ai/discord](https://wilds.ai/discord)
482
489
  - **Website**: [frame.dev](https://frame.dev)
483
490
  - **Contact**: [team@frame.dev](mailto:team@frame.dev)
@@ -495,6 +502,6 @@ All extensions in this repository are Apache 2.0 licensed.
495
502
  </p>
496
503
 
497
504
  <p align="center">
498
- Built by <a href="https://manic.agency">Manic Agency LLC</a> / <a href="https://frame.dev">Frame.dev</a><br>
505
+ Built by <a href="https://frame.dev">Frame</a><br>
499
506
  Contact: <a href="mailto:team@frame.dev">team@frame.dev</a>
500
507
  </p>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@framers/agentos-extensions",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "files": [
5
5
  "index.mjs",
6
6
  "registry.json",
@@ -10,7 +10,7 @@
10
10
  "description": "Extension source for AgentOS — implementations, templates, and manifests for tools, channel adapters, and integrations. Companion to the @framers/agentos TypeScript AI agent runtime.",
11
11
  "homepage": "https://agentos.sh",
12
12
  "bugs": {
13
- "url": "https://github.com/framersai/agentos-extensions/issues"
13
+ "url": "https://github.com/framerslab/agentos-extensions/issues"
14
14
  },
15
15
  "type": "module",
16
16
  "sideEffects": false,
@@ -24,7 +24,7 @@
24
24
  },
25
25
  "repository": {
26
26
  "type": "git",
27
- "url": "https://github.com/framersai/agentos-extensions.git"
27
+ "url": "https://github.com/framerslab/agentos-extensions.git"
28
28
  },
29
29
  "keywords": [
30
30
  "agentos",
@@ -71,19 +71,16 @@
71
71
  },
72
72
  "devDependencies": {
73
73
  "@atproto/api": "^0.13.0",
74
- "@changesets/changelog-github": "^0.5.2",
75
- "@changesets/cli": "^2.29.8",
76
- "masto": "^6.8.0",
74
+ "masto": "^8.0.0",
77
75
  "typedoc": "^0.28.19",
78
76
  "typescript": "^5.4.5"
79
77
  },
78
+ "gitHead": "9c7c117648188abf432b48b8d9127664619dc4a5",
80
79
  "scripts": {
81
80
  "build": "node scripts/build-extensions.js && node scripts/update-registry.js",
82
- "create-extension": "node scripts/create-extension.js",
83
81
  "update-registry": "node scripts/update-registry.js",
84
82
  "docs": "npx typedoc",
85
- "changeset": "changeset",
86
- "version-packages": "changeset version",
87
- "release": "changeset publish"
83
+ "test": "node --test scripts/__tests__/*.test.mjs",
84
+ "pack-guard": "node scripts/pack-guard.mjs"
88
85
  }
89
86
  }