@terreno/announcements
v57.6.1
Published
In-app product update announcements plugin for @terreno/api — part of Terreno, the batteries-included TypeScript framework for universal apps.
Readme
@terreno/announcements
In-app product update announcements for Terreno backends.
Install
bun add @terreno/announcementsPeer dependency: mongoose ^8.0.0 || ^9.0.0. @terreno/api is required at runtime.
Quick start
import {AnnouncementsApp} from "@terreno/announcements";
import {TerrenoApp} from "@terreno/api";
new TerrenoApp({userModel: User})
.register(
new AnnouncementsApp({
defaultAcknowledgementPolicy: "dismiss-only",
help: {enabled: true},
isStaff: (user) => user.admin === true,
matchAudience: (user, announcement) => true,
})
)
.start();Wrap authenticated app content with AnnouncementNavigator from @terreno/ui on the frontend.
What's included
AnnouncementsApp— user routes (/pending,/feed, acknowledge, impression, click) plus admin CRUD- Optional help API for MCP and agent search (
/announcements/help/*) - First-class
audienceType(staff|patient|all) composed via exportedmatchAudienceByTypeand optionalisStaff - Custom segments via
matchAudienceand opaqueaudienceJSON on each announcement - Per-announcement
acknowledgementPolicywith consumerdefaultAcknowledgementPolicy - Platform targeting (
ios,android,web) with user-agent fallback whenplatformis omitted
Documentation
- Reference: docs/reference/announcements.md
- How-to: docs/how-to/product-announcements.md
- Implementation plan: docs/implementationPlans/announcements.md
License and Contributing
Licensed under the MIT License. See CONTRIBUTING.md for contribution guidelines.
