@lssm-tech/app.communicationos-discord-workerapp.communicationos-discord-worker
Inspect the package guide, declared imports and source relationships.
@lssm-tech/app.communicationos-discord-workerSource, release and verification context
Source snapshot bcc79fcc · Declared package version 0.1.3. This page combines the checked-in package guide and manifest; commands and runtime behavior were not executed in this review.
See where this package fits.
Follow a declared connection, inspect an import, then open the source guide when you need the detail.
Arrows point from a package to its direct dependency. Each count is derived from the captured manifests.
CommunicationOS Discord worker
Thin Node.js 24 composition for the observe-only Discord integration. Deploy the same binary once with DISCORD_TRUST_ZONE=staff and a staff bot token, and once with DISCORD_TRUST_ZONE=managed-community and a separate bot token.
Required environment variables:
DISCORD_BOT_TOKENDISCORD_TENANT_ID,DISCORD_WORKSPACE_IDDISCORD_TRUST_ZONE(stafformanaged-community)DISCORD_GUILD_PROFILES_JSON, a non-empty array of objects containingguildId,sourceId,spaceId,connectionId,specialtyKeys,allowedChannelIds, andexcludedChannelIdsDISCORD_DATABASE_URLDISCORD_ENCRYPTION_KEY_BASE64(32-byte AES key encoded as base64)DISCORD_PSEUDONYM_KEY(separate keyed-HMAC secret for analysis identities)
Optional policy variables are DISCORD_ALLOWED_CHANNEL_IDS,
DISCORD_EXCLUDED_CHANNEL_IDS, DISCORD_BACKFILL_DAYS, and
DISCORD_AUDIT_RECONCILIATION_DAYS. DISCORD_OBSERVATION_SINK_MODULE can override the built-in encrypted PostgreSQL sink with a module exporting
createDiscordObservationSink; there is no lossy fallback. Each trust-zone deployment must use a distinct encryption key and key reference. The database remains mandatory with an external sink because the active
community_source and discord_guild_installation rows are refreshed before every live or backfilled raw write. Revoked, unhealthy, mismatched, or newly excluded guild/channel observations fail closed before payload encryption.
The legacy DISCORD_ALLOWED_GUILD_IDS, DISCORD_SOURCE_ID,
DISCORD_SPACE_ID, DISCORD_CONNECTION_ID, DISCORD_SPECIALTY_KEYS, and channel policy variables remain supported only when exactly one guild ID is configured. Multi-guild deployments fail closed without complete JSON profiles.
DISCORD_STAFF_ROLE_IDS, DISCORD_MODERATOR_ROLE_IDS, and
DISCORD_SPECIALTY_KEYS configure governed analysis. The worker exposes
GET /health on DISCORD_HEALTH_PORT (default 8083); degraded and offline coverage, including startup, returns HTTP 503. GET /live reports process liveness without claiming Gateway readiness. Railway's PORT is used when DISCORD_HEALTH_PORT is not set.
Declared capabilities.
This manifest does not declare a capability catalogue. Use the guide, import map and source to assess the package.
Imports and export paths.
2 entriesThese are package-manifest entry points. Named symbols listed above come from the capability catalogue; this is not an exhaustive TypeScript symbol reference.
2 imports
@lssm-tech/app.communicationos-discord-worker/configNo export paths match this search.
Dependencies and related packages.
Runtime dependencies 4
- @lssm-tech/lib.communication-runtime
- workspace:^
- @lssm-tech/module.community-intelligence
- workspace:^
Development dependencies 3
- @lssm-tech/tool.typescript
- workspace:*
- @types/bun
- catalog:types
- typescript
- catalog:
Package scripts.
Commands declared by this package. Review its setup requirements before running them; no command here was executed by this review.
bun build --target node --packages bundle --outfile dist/server.js src/server.tsnode ../../../scripts/biome.cjs check .node ../../../scripts/biome.cjs check --write .node dist/server.jsbun run src/server.tsbun testtsgo --noEmit