/** * Shared wearable-context reader (delx-wellness-context/v1). * * The Nourish coach tools accept a `wearable_context` INPUT so an orchestrating * agent can hand recovery/sleep/strain signals to meal coaching. This module * lets Nourish *read* that context from the shared Delx Wellness directory * instead of requiring the agent to pass it inline every call. * * STATUS / PREREQUISITE (2026-06): * The wearable connectors (whoop-mcp, garmin-mcp, oura-mcp, strava-mcp, * eight-sleep-mcp, google-health-mcp) all BUILD a `delx-wellness-context/v1` * payload on demand inside their `*_wellness_context` tool, but none of them * currently PERSISTS that payload to disk — the only file they write to * ~/.delx-wellness/ is profile.json. So until a producer starts writing the * context here, this reader returns `available: false`. * * This module defines the read side of the contract so the producers have a * concrete target to write to: * * ~/.delx-wellness/wearable-context.json (single latest snapshot) * ~/.delx-wellness/wearable-context/.json (per-source snapshots) * * A producer should write the same envelope shape it returns from its * *_wellness_context tool, optionally adding `generated_at` (ISO 8601). When * multiple per-source files exist, the most recent `generated_at` wins. * * This never fabricates data: if no file exists it reports unavailability and * names the expected path so the agent can explain the gap to the user. */ export interface WearableContextResult { available: boolean; /** The most-recent wellness_context envelope, when one was found on disk. */ context?: Record; /** Where the context was read from (absolute path), when available. */ source_path?: string; /** All paths that were checked, for transparency in agent responses. */ checked_paths: string[]; /** Human-readable note explaining availability / the pending prerequisite. */ note: string; } /** The path producers should write a single latest snapshot to. */ export declare function getWearableContextPath(): string; /** * Read the most-recent wearable context from the shared Delx Wellness dir. * Prefers the most recent per-source snapshot under wearable-context/, then * falls back to the single wearable-context.json snapshot. Returns * `available: false` (never throws) when nothing is present. */ export declare function readLatestWearableContext(): Promise;