@parentspath/shared-constants 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from './constants';
2
2
  export * from './validators/events';
3
+ export * from './sleep';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./constants"), exports);
18
18
  __exportStar(require("./validators/events"), exports);
19
+ __exportStar(require("./sleep"), exports);
19
20
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,sDAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,sDAAoC;AACpC,0CAAwB"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Sleep disturbance filtering — the logic that turns a flood of raw sensor
3
+ * readings into the handful of human-meaningful stirs a parent (and the LLM)
4
+ * actually cares about.
5
+ *
6
+ * Producer: Sleepy Sounds ingestion calls `filterDisturbances()` on its raw
7
+ * candidates and emits only the survivors as `sleep_disturbance` events.
8
+ * Consumer: any app calls `summarizeSleepNight()` to render a session + its
9
+ * disturbances into one LLM-ready sentence.
10
+ *
11
+ * See parents-apps/docs/data-architecture/04-decisions.md
12
+ * § "sleep_disturbance — significance filtering and per-session cap".
13
+ */
14
+ /** Audio peak this many dB over the night's noise floor → candidate. */
15
+ export declare const DISTURBANCE_AUDIO_OVER_FLOOR_DB = 15;
16
+ /** Normalized motion (0–1) at/above this → candidate. */
17
+ export declare const DISTURBANCE_MOTION_INDEX = 0.3;
18
+ /** A candidate must persist at least this long to count. */
19
+ export declare const DISTURBANCE_MIN_SUSTAIN_SEC = 30;
20
+ /** Candidates within this many minutes merge into one. */
21
+ export declare const DISTURBANCE_MERGE_WINDOW_MIN = 5;
22
+ /** Never emit more than this many disturbances per session. */
23
+ export declare const DISTURBANCE_PER_SESSION_CAP = 8;
24
+ /** Audio peak this many dB over floor → `significant` (vs `minor`). */
25
+ export declare const DISTURBANCE_SIGNIFICANT_OVER_FLOOR_DB = 25;
26
+ /** Duration (min) at/above which a disturbance is `significant`. */
27
+ export declare const DISTURBANCE_SIGNIFICANT_MIN = 2;
28
+ export type DisturbanceType = 'stir' | 'wake' | 'cry' | 'noise';
29
+ export type DisturbanceIntensity = 'minor' | 'significant';
30
+ /** Raw candidate as produced by the sensor ingestion (pre-filter). */
31
+ export interface RawDisturbanceCandidate {
32
+ offset_min: number;
33
+ type: DisturbanceType;
34
+ duration_sec: number;
35
+ audio_peak_db: number;
36
+ motion_index?: number;
37
+ ended_session?: boolean;
38
+ }
39
+ /** A filtered, classified disturbance ready to become a sleep_disturbance event. */
40
+ export interface ClassifiedDisturbance {
41
+ offset_min: number;
42
+ type: DisturbanceType;
43
+ duration_min: number;
44
+ intensity: DisturbanceIntensity;
45
+ audio_peak_db: number;
46
+ motion_index: number;
47
+ }
48
+ /** Does this raw candidate clear the candidate gate (loud OR moving enough, long enough)? */
49
+ export declare function isDisturbanceCandidate(c: RawDisturbanceCandidate, noiseFloorDb: number): boolean;
50
+ /** minor vs significant. */
51
+ export declare function classifyIntensity(c: RawDisturbanceCandidate, noiseFloorDb: number): DisturbanceIntensity;
52
+ /**
53
+ * The full pipeline: gate → merge bursts → cap → classify.
54
+ * Returns the disturbances worth persisting, in chronological order.
55
+ */
56
+ export declare function filterDisturbances(candidates: RawDisturbanceCandidate[], noiseFloorDb: number): ClassifiedDisturbance[];
57
+ /** `sleep_session.wake_count` = emitted disturbances of type wake|cry. */
58
+ export declare function deriveWakeCount(disturbances: Pick<ClassifiedDisturbance, 'type'>[]): number;
59
+ export interface SleepNightSummaryInput {
60
+ started_at: string;
61
+ ended_at: string;
62
+ duration_min: number;
63
+ quality: string;
64
+ period?: string;
65
+ disturbances: Pick<ClassifiedDisturbance, 'offset_min' | 'type' | 'intensity' | 'audio_peak_db' | 'duration_min'>[];
66
+ }
67
+ /**
68
+ * One human sentence describing a sleep and its disturbances — the exact form
69
+ * injected into the LLM consult prompt.
70
+ * "Nap 14:00–15:30 (1h 30m, good) — significant stir at 0:23 (68dB, 2m),
71
+ * woke at 0:57."
72
+ */
73
+ export declare function summarizeSleepNight(s: SleepNightSummaryInput): string;
74
+ //# sourceMappingURL=sleep.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sleep.d.ts","sourceRoot":"","sources":["../src/sleep.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,wEAAwE;AACxE,eAAO,MAAM,+BAA+B,KAAK,CAAC;AAClD,yDAAyD;AACzD,eAAO,MAAM,wBAAwB,MAAO,CAAC;AAC7C,4DAA4D;AAC5D,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAC9C,0DAA0D;AAC1D,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAC9C,+DAA+D;AAC/D,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAC7C,uEAAuE;AACvE,eAAO,MAAM,qCAAqC,KAAK,CAAC;AACxD,oEAAoE;AACpE,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;AAChE,MAAM,MAAM,oBAAoB,GAAG,OAAO,GAAG,aAAa,CAAC;AAE3D,sEAAsE;AACtE,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,eAAe,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,oFAAoF;AACpF,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,eAAe,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,oBAAoB,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,6FAA6F;AAC7F,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAKhG;AAED,4BAA4B;AAC5B,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,GAAG,oBAAoB,CAMxG;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,uBAAuB,EAAE,EACrC,YAAY,EAAE,MAAM,GACnB,qBAAqB,EAAE,CA0CzB;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,EAAE,GAAG,MAAM,CAE3F;AAID,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,IAAI,CAAC,qBAAqB,EAAE,YAAY,GAAG,MAAM,GAAG,WAAW,GAAG,eAAe,GAAG,cAAc,CAAC,EAAE,CAAC;CACrH;AAkBD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,sBAAsB,GAAG,MAAM,CAoBrE"}
package/dist/sleep.js ADDED
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ /**
3
+ * Sleep disturbance filtering — the logic that turns a flood of raw sensor
4
+ * readings into the handful of human-meaningful stirs a parent (and the LLM)
5
+ * actually cares about.
6
+ *
7
+ * Producer: Sleepy Sounds ingestion calls `filterDisturbances()` on its raw
8
+ * candidates and emits only the survivors as `sleep_disturbance` events.
9
+ * Consumer: any app calls `summarizeSleepNight()` to render a session + its
10
+ * disturbances into one LLM-ready sentence.
11
+ *
12
+ * See parents-apps/docs/data-architecture/04-decisions.md
13
+ * § "sleep_disturbance — significance filtering and per-session cap".
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.DISTURBANCE_SIGNIFICANT_MIN = exports.DISTURBANCE_SIGNIFICANT_OVER_FLOOR_DB = exports.DISTURBANCE_PER_SESSION_CAP = exports.DISTURBANCE_MERGE_WINDOW_MIN = exports.DISTURBANCE_MIN_SUSTAIN_SEC = exports.DISTURBANCE_MOTION_INDEX = exports.DISTURBANCE_AUDIO_OVER_FLOOR_DB = void 0;
17
+ exports.isDisturbanceCandidate = isDisturbanceCandidate;
18
+ exports.classifyIntensity = classifyIntensity;
19
+ exports.filterDisturbances = filterDisturbances;
20
+ exports.deriveWakeCount = deriveWakeCount;
21
+ exports.summarizeSleepNight = summarizeSleepNight;
22
+ // ── Thresholds (tune against real sensor data) ──────────────────────────────────
23
+ /** Audio peak this many dB over the night's noise floor → candidate. */
24
+ exports.DISTURBANCE_AUDIO_OVER_FLOOR_DB = 15;
25
+ /** Normalized motion (0–1) at/above this → candidate. */
26
+ exports.DISTURBANCE_MOTION_INDEX = 0.30;
27
+ /** A candidate must persist at least this long to count. */
28
+ exports.DISTURBANCE_MIN_SUSTAIN_SEC = 30;
29
+ /** Candidates within this many minutes merge into one. */
30
+ exports.DISTURBANCE_MERGE_WINDOW_MIN = 5;
31
+ /** Never emit more than this many disturbances per session. */
32
+ exports.DISTURBANCE_PER_SESSION_CAP = 8;
33
+ /** Audio peak this many dB over floor → `significant` (vs `minor`). */
34
+ exports.DISTURBANCE_SIGNIFICANT_OVER_FLOOR_DB = 25;
35
+ /** Duration (min) at/above which a disturbance is `significant`. */
36
+ exports.DISTURBANCE_SIGNIFICANT_MIN = 2;
37
+ /** Does this raw candidate clear the candidate gate (loud OR moving enough, long enough)? */
38
+ function isDisturbanceCandidate(c, noiseFloorDb) {
39
+ if (c.duration_sec < exports.DISTURBANCE_MIN_SUSTAIN_SEC)
40
+ return false;
41
+ const loud = c.audio_peak_db >= noiseFloorDb + exports.DISTURBANCE_AUDIO_OVER_FLOOR_DB;
42
+ const moving = (c.motion_index ?? 0) >= exports.DISTURBANCE_MOTION_INDEX;
43
+ return loud || moving;
44
+ }
45
+ /** minor vs significant. */
46
+ function classifyIntensity(c, noiseFloorDb) {
47
+ const durationMin = c.duration_sec / 60;
48
+ const loudEnough = c.audio_peak_db >= noiseFloorDb + exports.DISTURBANCE_SIGNIFICANT_OVER_FLOOR_DB;
49
+ const longEnough = durationMin >= exports.DISTURBANCE_SIGNIFICANT_MIN;
50
+ if (loudEnough || longEnough || c.ended_session)
51
+ return 'significant';
52
+ return 'minor';
53
+ }
54
+ /**
55
+ * The full pipeline: gate → merge bursts → cap → classify.
56
+ * Returns the disturbances worth persisting, in chronological order.
57
+ */
58
+ function filterDisturbances(candidates, noiseFloorDb) {
59
+ // 1. Gate.
60
+ const gated = candidates
61
+ .filter((c) => isDisturbanceCandidate(c, noiseFloorDb))
62
+ .sort((a, b) => a.offset_min - b.offset_min);
63
+ // 2. Merge bursts within the merge window (keep strongest peak, sum durations,
64
+ // keep the "loudest" type, OR-in ended_session).
65
+ const merged = [];
66
+ for (const c of gated) {
67
+ const prev = merged[merged.length - 1];
68
+ if (prev && c.offset_min - prev.offset_min <= exports.DISTURBANCE_MERGE_WINDOW_MIN) {
69
+ prev.duration_sec += c.duration_sec;
70
+ prev.audio_peak_db = Math.max(prev.audio_peak_db, c.audio_peak_db);
71
+ prev.motion_index = Math.max(prev.motion_index ?? 0, c.motion_index ?? 0);
72
+ prev.ended_session = prev.ended_session || c.ended_session;
73
+ // upgrade type toward the more serious one
74
+ const rank = { noise: 0, stir: 1, cry: 2, wake: 3 };
75
+ if (rank[c.type] > rank[prev.type])
76
+ prev.type = c.type;
77
+ }
78
+ else {
79
+ merged.push({ ...c });
80
+ }
81
+ }
82
+ // 3. Cap: keep the most intense N (by peak), then restore chronological order.
83
+ let capped = merged;
84
+ if (merged.length > exports.DISTURBANCE_PER_SESSION_CAP) {
85
+ capped = [...merged]
86
+ .sort((a, b) => b.audio_peak_db - a.audio_peak_db)
87
+ .slice(0, exports.DISTURBANCE_PER_SESSION_CAP)
88
+ .sort((a, b) => a.offset_min - b.offset_min);
89
+ }
90
+ // 4. Classify + shape.
91
+ return capped.map((c) => ({
92
+ offset_min: Math.round(c.offset_min),
93
+ type: c.type,
94
+ duration_min: Math.max(0, Math.round(c.duration_sec / 60)),
95
+ intensity: classifyIntensity(c, noiseFloorDb),
96
+ audio_peak_db: Math.round(c.audio_peak_db),
97
+ motion_index: Number((c.motion_index ?? 0).toFixed(2)),
98
+ }));
99
+ }
100
+ /** `sleep_session.wake_count` = emitted disturbances of type wake|cry. */
101
+ function deriveWakeCount(disturbances) {
102
+ return disturbances.filter((d) => d.type === 'wake' || d.type === 'cry').length;
103
+ }
104
+ function hm(iso) {
105
+ const d = new Date(iso);
106
+ return `${String(d.getHours()).padStart(2, '0')}:${String(d.getMinutes()).padStart(2, '0')}`;
107
+ }
108
+ function offsetClock(offsetMin) {
109
+ const h = Math.floor(offsetMin / 60);
110
+ const m = offsetMin % 60;
111
+ return `${h}:${String(m).padStart(2, '0')}`;
112
+ }
113
+ function durLabel(min) {
114
+ if (min < 60)
115
+ return `${min}m`;
116
+ const h = Math.floor(min / 60);
117
+ const m = min % 60;
118
+ return m === 0 ? `${h}h` : `${h}h ${m}m`;
119
+ }
120
+ /**
121
+ * One human sentence describing a sleep and its disturbances — the exact form
122
+ * injected into the LLM consult prompt.
123
+ * "Nap 14:00–15:30 (1h 30m, good) — significant stir at 0:23 (68dB, 2m),
124
+ * woke at 0:57."
125
+ */
126
+ function summarizeSleepNight(s) {
127
+ const label = s.period === 'night' ? 'Night sleep' : 'Nap';
128
+ const head = `${label} ${hm(s.started_at)}–${hm(s.ended_at)} (${durLabel(s.duration_min)}, ${s.quality})`;
129
+ if (!s.disturbances || s.disturbances.length === 0) {
130
+ return `${head} — undisturbed.`;
131
+ }
132
+ const parts = s.disturbances
133
+ .slice()
134
+ .sort((a, b) => a.offset_min - b.offset_min)
135
+ .map((d) => {
136
+ const verb = d.type === 'wake' ? 'woke'
137
+ : d.type === 'cry' ? 'cried'
138
+ : d.type === 'noise' ? 'noise'
139
+ : 'stir';
140
+ const sig = d.intensity === 'significant' ? 'significant ' : '';
141
+ const detail = `${d.audio_peak_db}dB${d.duration_min ? `, ${d.duration_min}m` : ''}`;
142
+ return `${sig}${verb} at ${offsetClock(d.offset_min)} (${detail})`;
143
+ });
144
+ return `${head} — ${parts.join(', ')}.`;
145
+ }
146
+ //# sourceMappingURL=sleep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sleep.js","sourceRoot":"","sources":["../src/sleep.ts"],"names":[],"mappings":"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"}
@@ -187,29 +187,45 @@ export declare const SleepDisturbanceSchema: z.ZodObject<{
187
187
  event_type: z.ZodLiteral<"sleep_disturbance">;
188
188
  data: z.ZodObject<{
189
189
  v: z.ZodLiteral<1>;
190
- type: z.ZodEnum<["wake"]>;
190
+ session_id: z.ZodString;
191
+ offset_min: z.ZodNumber;
192
+ type: z.ZodEnum<["stir", "wake", "cry", "noise"]>;
191
193
  duration_min: z.ZodNumber;
194
+ intensity: z.ZodEnum<["minor", "significant"]>;
192
195
  audio_peak_db: z.ZodNumber;
196
+ motion_index: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
193
197
  detected_by: z.ZodEnum<["passive", "manual"]>;
194
198
  }, "strip", z.ZodTypeAny, {
195
199
  v: 1;
196
- type: "wake";
200
+ type: "stir" | "wake" | "cry" | "noise";
197
201
  duration_min: number;
202
+ session_id: string;
203
+ offset_min: number;
204
+ intensity: "minor" | "significant";
198
205
  audio_peak_db: number;
206
+ motion_index: number;
199
207
  detected_by: "passive" | "manual";
200
208
  }, {
201
209
  v: 1;
202
- type: "wake";
210
+ type: "stir" | "wake" | "cry" | "noise";
203
211
  duration_min: number;
212
+ session_id: string;
213
+ offset_min: number;
214
+ intensity: "minor" | "significant";
204
215
  audio_peak_db: number;
205
216
  detected_by: "passive" | "manual";
217
+ motion_index?: number | undefined;
206
218
  }>;
207
219
  }, "strip", z.ZodTypeAny, {
208
220
  data: {
209
221
  v: 1;
210
- type: "wake";
222
+ type: "stir" | "wake" | "cry" | "noise";
211
223
  duration_min: number;
224
+ session_id: string;
225
+ offset_min: number;
226
+ intensity: "minor" | "significant";
212
227
  audio_peak_db: number;
228
+ motion_index: number;
213
229
  detected_by: "passive" | "manual";
214
230
  };
215
231
  v: number;
@@ -219,10 +235,14 @@ export declare const SleepDisturbanceSchema: z.ZodObject<{
219
235
  }, {
220
236
  data: {
221
237
  v: 1;
222
- type: "wake";
238
+ type: "stir" | "wake" | "cry" | "noise";
223
239
  duration_min: number;
240
+ session_id: string;
241
+ offset_min: number;
242
+ intensity: "minor" | "significant";
224
243
  audio_peak_db: number;
225
244
  detected_by: "passive" | "manual";
245
+ motion_index?: number | undefined;
226
246
  };
227
247
  v: number;
228
248
  event_type: "sleep_disturbance";
@@ -237,38 +257,50 @@ export declare const AwakeWindowSchema: z.ZodObject<{
237
257
  event_type: z.ZodLiteral<"awake_window">;
238
258
  data: z.ZodObject<{
239
259
  v: z.ZodLiteral<1>;
260
+ duration_min: z.ZodNumber;
240
261
  started_at: z.ZodString;
241
262
  ended_at: z.ZodString;
242
- duration_min: z.ZodNumber;
243
- cause: z.ZodEnum<["hungry", "discomfort", "overstimulated", "sick", "unknown"]>;
244
- settled_by: z.ZodEnum<["feeding", "comfort", "self_settled", "unknown"]>;
245
- notes: z.ZodDefault<z.ZodOptional<z.ZodString>>;
263
+ significance: z.ZodEnum<["brief", "alertness_window"]>;
264
+ context: z.ZodEnum<["night_to_night", "night_to_nap", "nap_to_nap", "nap_to_night"]>;
265
+ time_of_day: z.ZodEnum<["overnight", "daytime"]>;
266
+ label: z.ZodString;
267
+ prev_event_id: z.ZodString;
268
+ next_event_id: z.ZodString;
246
269
  }, "strip", z.ZodTypeAny, {
247
270
  v: 1;
248
271
  duration_min: number;
249
- notes: string;
250
272
  started_at: string;
251
273
  ended_at: string;
252
- cause: "unknown" | "hungry" | "discomfort" | "overstimulated" | "sick";
253
- settled_by: "feeding" | "unknown" | "comfort" | "self_settled";
274
+ significance: "brief" | "alertness_window";
275
+ context: "night_to_night" | "night_to_nap" | "nap_to_nap" | "nap_to_night";
276
+ time_of_day: "overnight" | "daytime";
277
+ label: string;
278
+ prev_event_id: string;
279
+ next_event_id: string;
254
280
  }, {
255
281
  v: 1;
256
282
  duration_min: number;
257
283
  started_at: string;
258
284
  ended_at: string;
259
- cause: "unknown" | "hungry" | "discomfort" | "overstimulated" | "sick";
260
- settled_by: "feeding" | "unknown" | "comfort" | "self_settled";
261
- notes?: string | undefined;
285
+ significance: "brief" | "alertness_window";
286
+ context: "night_to_night" | "night_to_nap" | "nap_to_nap" | "nap_to_night";
287
+ time_of_day: "overnight" | "daytime";
288
+ label: string;
289
+ prev_event_id: string;
290
+ next_event_id: string;
262
291
  }>;
263
292
  }, "strip", z.ZodTypeAny, {
264
293
  data: {
265
294
  v: 1;
266
295
  duration_min: number;
267
- notes: string;
268
296
  started_at: string;
269
297
  ended_at: string;
270
- cause: "unknown" | "hungry" | "discomfort" | "overstimulated" | "sick";
271
- settled_by: "feeding" | "unknown" | "comfort" | "self_settled";
298
+ significance: "brief" | "alertness_window";
299
+ context: "night_to_night" | "night_to_nap" | "nap_to_nap" | "nap_to_night";
300
+ time_of_day: "overnight" | "daytime";
301
+ label: string;
302
+ prev_event_id: string;
303
+ next_event_id: string;
272
304
  };
273
305
  v: number;
274
306
  event_type: "awake_window";
@@ -280,9 +312,12 @@ export declare const AwakeWindowSchema: z.ZodObject<{
280
312
  duration_min: number;
281
313
  started_at: string;
282
314
  ended_at: string;
283
- cause: "unknown" | "hungry" | "discomfort" | "overstimulated" | "sick";
284
- settled_by: "feeding" | "unknown" | "comfort" | "self_settled";
285
- notes?: string | undefined;
315
+ significance: "brief" | "alertness_window";
316
+ context: "night_to_night" | "night_to_nap" | "nap_to_nap" | "nap_to_night";
317
+ time_of_day: "overnight" | "daytime";
318
+ label: string;
319
+ prev_event_id: string;
320
+ next_event_id: string;
286
321
  };
287
322
  v: number;
288
323
  event_type: "awake_window";
@@ -309,15 +344,15 @@ export declare const PumpingSchema: z.ZodObject<{
309
344
  amount_ml: number;
310
345
  duration_min: number;
311
346
  notes: string;
312
- method: "manual" | "electric";
313
347
  time_of_day: string;
348
+ method: "manual" | "electric";
314
349
  }, {
315
350
  breast: "left" | "right" | "both";
316
351
  v: 1;
317
352
  amount_ml: number;
318
353
  duration_min: number;
319
- method: "manual" | "electric";
320
354
  time_of_day: string;
355
+ method: "manual" | "electric";
321
356
  notes?: string | undefined;
322
357
  }>;
323
358
  }, "strip", z.ZodTypeAny, {
@@ -327,8 +362,8 @@ export declare const PumpingSchema: z.ZodObject<{
327
362
  amount_ml: number;
328
363
  duration_min: number;
329
364
  notes: string;
330
- method: "manual" | "electric";
331
365
  time_of_day: string;
366
+ method: "manual" | "electric";
332
367
  };
333
368
  v: number;
334
369
  event_type: "pumping";
@@ -340,8 +375,8 @@ export declare const PumpingSchema: z.ZodObject<{
340
375
  v: 1;
341
376
  amount_ml: number;
342
377
  duration_min: number;
343
- method: "manual" | "electric";
344
378
  time_of_day: string;
379
+ method: "manual" | "electric";
345
380
  notes?: string | undefined;
346
381
  };
347
382
  v: number;
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/validators/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM1B,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYxB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa7B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASjC,CAAC;AAIH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW5B,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWxB,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa/B,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASvB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASvB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQvB,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQtB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUzB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUvB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW1B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS5B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ7B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS5B,CAAC"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/validators/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM1B,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYxB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa7B,CAAC;AAKH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAajC,CAAC;AAKH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAc5B,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWxB,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa/B,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASvB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASvB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQvB,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQtB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUzB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUvB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW1B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS5B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQ7B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAS5B,CAAC"}
@@ -37,28 +37,39 @@ exports.SleepSessionSchema = exports.BaseEventSchema.extend({
37
37
  is_passive: zod_1.z.boolean(),
38
38
  }),
39
39
  });
40
+ // A meaningful stir/wake WITHIN a sleep session. Emitted only when it clears
41
+ // the significance filter (see classifyDisturbance in sleep.ts). offset_min and
42
+ // session_id nest it under its parent sleep_session for the LLM.
40
43
  exports.SleepDisturbanceSchema = exports.BaseEventSchema.extend({
41
44
  event_type: zod_1.z.literal(constants_1.EVENT_TYPE.SLEEP_DISTURBANCE),
42
45
  data: zod_1.z.object({
43
46
  v: zod_1.z.literal(1),
44
- type: zod_1.z.enum(['wake']),
47
+ session_id: zod_1.z.string().uuid(),
48
+ offset_min: zod_1.z.number().int().nonnegative(),
49
+ type: zod_1.z.enum(['stir', 'wake', 'cry', 'noise']),
45
50
  duration_min: zod_1.z.number().int().nonnegative(),
51
+ intensity: zod_1.z.enum(['minor', 'significant']),
46
52
  audio_peak_db: zod_1.z.number(),
53
+ motion_index: zod_1.z.number().min(0).max(1).optional().default(0),
47
54
  detected_by: zod_1.z.enum(['passive', 'manual']),
48
55
  }),
49
56
  });
50
- // AwakeWindow: parent-logged meaningful night wake (≥10 min, required active involvement).
51
- // Distinct from sleep_disturbance (sensor-detected, brief). Explicit LLM signal.
57
+ // AwakeWindow: auto-derived from gaps between adjacent sleep_session events.
58
+ // Never written manually. Provides LLM with overnight alertness signal.
59
+ // AWAKE_MIN_MINUTES=5 (any gap), AWAKE_SIGNIFICANT_MINUTES=15 (alertness_window).
52
60
  exports.AwakeWindowSchema = exports.BaseEventSchema.extend({
53
61
  event_type: zod_1.z.literal(constants_1.EVENT_TYPE.AWAKE_WINDOW),
54
62
  data: zod_1.z.object({
55
63
  v: zod_1.z.literal(1),
64
+ duration_min: zod_1.z.number().int().nonnegative(),
56
65
  started_at: zod_1.z.string().datetime(),
57
66
  ended_at: zod_1.z.string().datetime(),
58
- duration_min: zod_1.z.number().int().nonnegative(),
59
- cause: zod_1.z.enum(['hungry', 'discomfort', 'overstimulated', 'sick', 'unknown']),
60
- settled_by: zod_1.z.enum(['feeding', 'comfort', 'self_settled', 'unknown']),
61
- notes: zod_1.z.string().optional().default(''),
67
+ significance: zod_1.z.enum(['brief', 'alertness_window']),
68
+ context: zod_1.z.enum(['night_to_night', 'night_to_nap', 'nap_to_nap', 'nap_to_night']),
69
+ time_of_day: zod_1.z.enum(['overnight', 'daytime']),
70
+ label: zod_1.z.string(),
71
+ prev_event_id: zod_1.z.string().uuid(),
72
+ next_event_id: zod_1.z.string().uuid(),
62
73
  }),
63
74
  });
64
75
  exports.PumpingSchema = exports.BaseEventSchema.extend({
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/validators/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/validators/events.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@parentspath/shared-constants",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "Shared constants, enums, and Zod validators for the parents-apps ecosystem",
5
5
  "license": "MIT",
6
6
  "main": "./dist/index.js",