@agimon-ai/doompi-session
Shared session coordination services for DoomPi.
Package details
Install @agimon-ai/doompi-session from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@agimon-ai/doompi-session- Package
@agimon-ai/doompi-session- Version
0.0.1-alpha.4- Published
- Sep 22, 2026
- Downloads
- 272/mo · 272/wk
- Author
- agiflow-ai
- License
- MIT
- Types
- extension
- Size
- 360.9 KB
- Dependencies
- 3 dependencies · 1 peer
Pi manifest JSON
{
"extensions": [
"./dist/extensions/pi.mjs"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
@agimon-ai/doompi-session
Shared session coordination services for DoomPi.
The foundation owns the session-scoped background-work coordinator used by optional execution packages. It also provides SQLite-backed delivery with host-bound sender identities, durable inbox and outbox state, acknowledgements, keyed duplicate suppression, and prompt admission that wakes idle recipients. Interrupted admission is marked for recovery and is never replayed automatically.
Its public services also include:
- An in-memory, permission-filtered presence directory with qualified references, separate reachability, runtime, activity, and Voice facts, incarnation and sequence tracking, expiry, and snapshot recovery after sequence gaps.
- A SQLite communication-group registry with one owner authority, explicit qualified members, enrollment policy, revision conflicts, and current-membership authorization.
- An agent-facing intercom service for
discover, attributed directsend,messages, and correlatedreportoperations. Compositions acquire this service explicitly. Group membership grants only discovery and messaging, never session controls or Voice ownership.
Session delivery rechecks current authority before each initial send and queued retry. Removing a member therefore blocks later publication while preserving already accepted delivery evidence.
Paired hosts
A paired host is configured privately in ~/.pi/.doom/session/peers.json. The file must be owner-only (0600). Each peer needs an HTTPS tunnel URL, a shared secret of at least 32 characters, and explicit operation-specific session allowlists. Pairing alone grants no Session or Voice access.
{
"version": 1,
"hostId": "home-host",
"peers": [
{
"hostId": "work-host",
"url": "https://work.example.net/",
"secret": "replace-with-a-private-32-character-minimum-secret",
"allowedSessionIds": ["approved-message-session-id"],
"allowedVoiceSessionIds": ["approved-voice-session-id"]
}
]
}
Use peer/<host-id>/<session-id> as a qualified target. allowedSessionIds grants durable messages and acknowledgements. allowedVoiceSessionIds separately grants bounded Voice client-media relay operations. Neither grant exposes owner, /host/*, or /hub/* routes.
Development
pnpm build
pnpm typecheck
pnpm test
pnpm lint