All checks were successful
ci/woodpecker/pr/ci Pipeline was successful
Implements RFC-001 P1 (the first shippable slice): deterministic Matrix presence/liveness on a single-instance dev Synapse. - infra/matrix/: DEV Synapse (RFC-002 Mode B, federation OFF, self-signed TLS, enable_registration:false, appservice registration wired). Rendered from parameterized templates — zero hardcoded topology. .data is gitignored. - packages/comms/: minimal MACP presence SDK — set presence, run the mosaic.presence heartbeat (seq + interval per RFC-001 §4.5), and a deterministic liveness reader (online/away/offline from heartbeat age, NOT native-presence-timeout). Liveness core written RED-FIRST. 19 vitest tests. - tools/matrix-presence-harness/: minimal provisioner (registers >=3 agent MXIDs, creates the fleet presence room, joins them — reuses the existing @mosaicstack/appservice intent lib) + an E2E validation harness proving A2/A3/A4 against a real Synapse. - eslint.config.mjs: register packages/comms/vitest.config.ts with the type-aware project service (same as other packages' vitest configs). DEV-compose validated only; production deploy is a separate coordinated step (deploy-holds respected). Part of the comms-evolution program (RFC-001 P1) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0158NZqN2n2ymKFeJAZ4GUCb
43 lines
1.1 KiB
TypeScript
43 lines
1.1 KiB
TypeScript
/**
|
|
* @mosaicstack/comms — MACP presence SDK (RFC-001 P1).
|
|
*
|
|
* Minimal, dev-validated slice: set Matrix presence, run the `mosaic.presence`
|
|
* heartbeat, and compute deterministic fleet liveness. Enrollment, room
|
|
* taxonomy, token minting and signed-authorship are explicitly out of P1.
|
|
*/
|
|
|
|
export { classifyLiveness, computeFleetLiveness } from './liveness.js';
|
|
|
|
export {
|
|
HeartbeatEmitter,
|
|
startHeartbeatLoop,
|
|
type HeartbeatAgentIdentity,
|
|
type HeartbeatEmitterOptions,
|
|
type HeartbeatSender,
|
|
type HeartbeatLoopOptions,
|
|
type HeartbeatLoopHandle,
|
|
} from './heartbeat.js';
|
|
|
|
export {
|
|
MinimalMatrixClient,
|
|
MatrixError,
|
|
toMatrixPresence,
|
|
type MatrixClientConfig,
|
|
} from './matrix-client.js';
|
|
|
|
export { FleetLivenessReader, type FleetLivenessReaderOptions } from './liveness-reader.js';
|
|
|
|
export { PresenceAgent, type PresenceAgentOptions } from './presence-agent.js';
|
|
|
|
export {
|
|
DEFAULT_LIVENESS_POLICY,
|
|
MACP_VERSION,
|
|
type AgentLiveness,
|
|
type HeartbeatObservation,
|
|
type LivenessPolicy,
|
|
type MacpEnvelope,
|
|
type MatrixPresence,
|
|
type PresenceHeartbeatContent,
|
|
type PresenceStatus,
|
|
} from './types.js';
|