@ottolab/shared 0.1.0 → 0.1.1

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.
Files changed (58) hide show
  1. package/dist/constants/biomarker-ranges.d.ts +20 -0
  2. package/dist/constants/biomarker-ranges.d.ts.map +1 -0
  3. package/dist/constants/biomarker-ranges.js +311 -0
  4. package/dist/constants/biomarker-ranges.js.map +1 -0
  5. package/dist/constants/drug-data.d.ts +5 -0
  6. package/dist/constants/drug-data.d.ts.map +1 -0
  7. package/dist/constants/drug-data.js +3 -0
  8. package/dist/constants/drug-data.js.map +1 -0
  9. package/dist/constants/unit-conversions.d.ts +6 -0
  10. package/dist/constants/unit-conversions.d.ts.map +1 -0
  11. package/dist/constants/unit-conversions.js +15 -0
  12. package/dist/constants/unit-conversions.js.map +1 -0
  13. package/dist/index.d.ts +12 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +5 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/types/biomarkers.d.ts +54 -0
  18. package/dist/types/biomarkers.d.ts.map +1 -0
  19. package/dist/types/biomarkers.js +2 -0
  20. package/dist/types/biomarkers.js.map +1 -0
  21. package/dist/types/lab-report.d.ts +48 -0
  22. package/dist/types/lab-report.d.ts.map +1 -0
  23. package/dist/types/lab-report.js +2 -0
  24. package/dist/types/lab-report.js.map +1 -0
  25. package/dist/types/llm.d.ts +46 -0
  26. package/dist/types/llm.d.ts.map +1 -0
  27. package/dist/types/llm.js +2 -0
  28. package/dist/types/llm.js.map +1 -0
  29. package/dist/types/messaging.d.ts +45 -0
  30. package/dist/types/messaging.d.ts.map +1 -0
  31. package/dist/types/messaging.js +2 -0
  32. package/dist/types/messaging.js.map +1 -0
  33. package/dist/types/recommendation.d.ts +33 -0
  34. package/dist/types/recommendation.d.ts.map +1 -0
  35. package/dist/types/recommendation.js +2 -0
  36. package/dist/types/recommendation.js.map +1 -0
  37. package/dist/types/simulation.d.ts +49 -0
  38. package/dist/types/simulation.d.ts.map +1 -0
  39. package/dist/types/simulation.js +2 -0
  40. package/dist/types/simulation.js.map +1 -0
  41. package/dist/types/user.d.ts +21 -0
  42. package/dist/types/user.d.ts.map +1 -0
  43. package/dist/types/user.js +2 -0
  44. package/dist/types/user.js.map +1 -0
  45. package/package.json +8 -2
  46. package/src/constants/biomarker-ranges.ts +0 -330
  47. package/src/constants/drug-data.ts +0 -2
  48. package/src/constants/unit-conversions.ts +0 -17
  49. package/src/index.ts +0 -52
  50. package/src/types/biomarkers.ts +0 -68
  51. package/src/types/lab-report.ts +0 -54
  52. package/src/types/llm.ts +0 -50
  53. package/src/types/messaging.ts +0 -40
  54. package/src/types/recommendation.ts +0 -42
  55. package/src/types/simulation.ts +0 -62
  56. package/src/types/user.ts +0 -23
  57. package/tsconfig.json +0 -9
  58. package/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1,20 @@
1
+ export interface BiomarkerRange {
2
+ low: number;
3
+ high: number;
4
+ unit: string;
5
+ criticalLow?: number;
6
+ criticalHigh?: number;
7
+ optimalLow?: number;
8
+ optimalHigh?: number;
9
+ lowerIsBetter?: boolean;
10
+ bidirectional?: boolean;
11
+ }
12
+ /**
13
+ * Clinical reference ranges for all target biomarkers.
14
+ * Sources: AHA/ACC, ADA, AACE, KDIGO guidelines + prototype report thresholds.
15
+ *
16
+ * Convention: "low"/"high" = normal range. "optimalLow"/"optimalHigh" = tighter optimal range.
17
+ * "criticalLow"/"criticalHigh" = red-flag values requiring immediate attention.
18
+ */
19
+ export declare const BIOMARKER_RANGES: Record<string, BiomarkerRange>;
20
+ //# sourceMappingURL=biomarker-ranges.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"biomarker-ranges.d.ts","sourceRoot":"","sources":["../../src/constants/biomarker-ranges.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAsT3D,CAAC"}
@@ -0,0 +1,311 @@
1
+ /**
2
+ * Clinical reference ranges for all target biomarkers.
3
+ * Sources: AHA/ACC, ADA, AACE, KDIGO guidelines + prototype report thresholds.
4
+ *
5
+ * Convention: "low"/"high" = normal range. "optimalLow"/"optimalHigh" = tighter optimal range.
6
+ * "criticalLow"/"criticalHigh" = red-flag values requiring immediate attention.
7
+ */
8
+ export const BIOMARKER_RANGES = {
9
+ // ── Lipids (mg/dL) ───────────────────────────────────────
10
+ total_cholesterol: {
11
+ low: 125,
12
+ high: 200,
13
+ unit: 'mg/dL',
14
+ optimalHigh: 200,
15
+ criticalHigh: 240,
16
+ lowerIsBetter: true,
17
+ },
18
+ ldl_c: {
19
+ low: 0,
20
+ high: 100,
21
+ unit: 'mg/dL',
22
+ optimalHigh: 100,
23
+ criticalHigh: 160,
24
+ lowerIsBetter: true,
25
+ },
26
+ hdl: {
27
+ low: 40,
28
+ high: 100,
29
+ unit: 'mg/dL',
30
+ optimalLow: 60,
31
+ criticalLow: 40,
32
+ },
33
+ triglycerides: {
34
+ low: 0,
35
+ high: 150,
36
+ unit: 'mg/dL',
37
+ optimalHigh: 100,
38
+ criticalHigh: 500,
39
+ lowerIsBetter: true,
40
+ },
41
+ apoB: {
42
+ low: 0,
43
+ high: 90,
44
+ unit: 'mg/dL',
45
+ optimalHigh: 80,
46
+ criticalHigh: 120,
47
+ lowerIsBetter: true,
48
+ },
49
+ // ── Metabolic ─────────────────────────────────────────────
50
+ hba1c: {
51
+ low: 4.0,
52
+ high: 5.7,
53
+ unit: '%',
54
+ optimalHigh: 5.4,
55
+ criticalHigh: 6.5,
56
+ lowerIsBetter: true,
57
+ },
58
+ fasting_glucose: {
59
+ low: 65,
60
+ high: 100,
61
+ unit: 'mg/dL',
62
+ optimalLow: 65,
63
+ optimalHigh: 90,
64
+ criticalHigh: 126,
65
+ lowerIsBetter: true,
66
+ },
67
+ fasting_insulin: {
68
+ low: 2,
69
+ high: 25,
70
+ unit: 'uIU/mL',
71
+ optimalHigh: 6,
72
+ criticalHigh: 25,
73
+ lowerIsBetter: true,
74
+ },
75
+ homa_ir: {
76
+ low: 0,
77
+ high: 1.0,
78
+ unit: '',
79
+ criticalHigh: 2.5,
80
+ lowerIsBetter: true,
81
+ },
82
+ uric_acid: {
83
+ low: 2.5,
84
+ high: 7.0,
85
+ unit: 'mg/dL',
86
+ optimalHigh: 5.0,
87
+ criticalHigh: 9.0,
88
+ lowerIsBetter: true,
89
+ },
90
+ // ── Kidney ────────────────────────────────────────────────
91
+ creatinine: {
92
+ low: 0.5,
93
+ high: 1.1,
94
+ unit: 'mg/dL',
95
+ criticalHigh: 1.3,
96
+ lowerIsBetter: true,
97
+ },
98
+ bun: {
99
+ low: 7,
100
+ high: 20,
101
+ unit: 'mg/dL',
102
+ criticalHigh: 30,
103
+ lowerIsBetter: true,
104
+ },
105
+ egfr: {
106
+ low: 90,
107
+ high: 120,
108
+ unit: 'mL/min/1.73m2',
109
+ criticalLow: 60,
110
+ },
111
+ // ── Liver ─────────────────────────────────────────────────
112
+ alt: {
113
+ low: 7,
114
+ high: 35,
115
+ unit: 'U/L',
116
+ optimalHigh: 30,
117
+ criticalHigh: 50,
118
+ lowerIsBetter: true,
119
+ },
120
+ ast: {
121
+ low: 10,
122
+ high: 35,
123
+ unit: 'U/L',
124
+ optimalHigh: 30,
125
+ criticalHigh: 50,
126
+ lowerIsBetter: true,
127
+ },
128
+ alp: {
129
+ low: 44,
130
+ high: 147,
131
+ unit: 'U/L',
132
+ criticalHigh: 200,
133
+ },
134
+ ggt: {
135
+ low: 9,
136
+ high: 48,
137
+ unit: 'U/L',
138
+ criticalHigh: 80,
139
+ lowerIsBetter: true,
140
+ },
141
+ bilirubin_total: {
142
+ low: 0.1,
143
+ high: 1.2,
144
+ unit: 'mg/dL',
145
+ criticalHigh: 2.0,
146
+ },
147
+ albumin: {
148
+ low: 3.5,
149
+ high: 5.5,
150
+ unit: 'g/dL',
151
+ criticalLow: 3.0,
152
+ },
153
+ // ── Inflammatory ──────────────────────────────────────────
154
+ hs_crp: {
155
+ low: 0,
156
+ high: 1.0,
157
+ unit: 'mg/L',
158
+ optimalHigh: 1.0,
159
+ criticalHigh: 3.0,
160
+ lowerIsBetter: true,
161
+ },
162
+ esr: {
163
+ low: 0,
164
+ high: 20,
165
+ unit: 'mm/hr',
166
+ criticalHigh: 40,
167
+ lowerIsBetter: true,
168
+ },
169
+ // ── Hormones ──────────────────────────────────────────────
170
+ cortisol: {
171
+ low: 6,
172
+ high: 18,
173
+ unit: 'ug/dL',
174
+ criticalHigh: 23,
175
+ lowerIsBetter: true,
176
+ },
177
+ testosterone: {
178
+ low: 300,
179
+ high: 1000,
180
+ unit: 'ng/dL',
181
+ optimalLow: 500,
182
+ criticalLow: 300,
183
+ },
184
+ estradiol: {
185
+ low: 15,
186
+ high: 350,
187
+ unit: 'pg/mL',
188
+ bidirectional: true,
189
+ },
190
+ tsh: {
191
+ low: 0.5,
192
+ high: 4.5,
193
+ unit: 'mIU/L',
194
+ optimalLow: 0.5,
195
+ optimalHigh: 2.5,
196
+ criticalLow: 0.3,
197
+ criticalHigh: 10,
198
+ bidirectional: true,
199
+ },
200
+ // ── Hematology ────────────────────────────────────────────
201
+ wbc: {
202
+ low: 4.5,
203
+ high: 11.0,
204
+ unit: '10^3/uL',
205
+ criticalLow: 3.0,
206
+ criticalHigh: 15.0,
207
+ bidirectional: true,
208
+ },
209
+ rbc: {
210
+ low: 4.0,
211
+ high: 5.5,
212
+ unit: '10^6/uL',
213
+ criticalLow: 3.5,
214
+ criticalHigh: 6.0,
215
+ bidirectional: true,
216
+ },
217
+ hemoglobin: {
218
+ low: 12.0,
219
+ high: 17.5,
220
+ unit: 'g/dL',
221
+ criticalLow: 10.0,
222
+ bidirectional: true,
223
+ },
224
+ hematocrit: {
225
+ low: 36,
226
+ high: 52,
227
+ unit: '%',
228
+ criticalLow: 30,
229
+ bidirectional: true,
230
+ },
231
+ platelets: {
232
+ low: 150,
233
+ high: 400,
234
+ unit: '10^3/uL',
235
+ criticalLow: 100,
236
+ criticalHigh: 500,
237
+ bidirectional: true,
238
+ },
239
+ mcv: {
240
+ low: 80,
241
+ high: 100,
242
+ unit: 'fL',
243
+ criticalLow: 70,
244
+ criticalHigh: 110,
245
+ bidirectional: true,
246
+ },
247
+ rdw: {
248
+ low: 11.5,
249
+ high: 14.5,
250
+ unit: '%',
251
+ criticalHigh: 17.0,
252
+ lowerIsBetter: true,
253
+ },
254
+ lymphocyte_percent: {
255
+ low: 20,
256
+ high: 40,
257
+ unit: '%',
258
+ criticalLow: 15,
259
+ criticalHigh: 50,
260
+ bidirectional: true,
261
+ },
262
+ // ── Vitamins ──────────────────────────────────────────────
263
+ vitamin_d: {
264
+ low: 30,
265
+ high: 100,
266
+ unit: 'ng/mL',
267
+ optimalLow: 40,
268
+ optimalHigh: 80,
269
+ criticalLow: 20,
270
+ },
271
+ // ── Vitals ────────────────────────────────────────────────
272
+ weight: { low: 40, high: 150, unit: 'kg' },
273
+ height: { low: 140, high: 210, unit: 'cm' },
274
+ bmi: {
275
+ low: 18.5,
276
+ high: 24.9,
277
+ unit: 'kg/m2',
278
+ criticalHigh: 30,
279
+ lowerIsBetter: true,
280
+ },
281
+ body_fat_percent: {
282
+ low: 8,
283
+ high: 25,
284
+ unit: '%',
285
+ criticalHigh: 35,
286
+ lowerIsBetter: true,
287
+ },
288
+ systolic_bp: {
289
+ low: 90,
290
+ high: 120,
291
+ unit: 'mmHg',
292
+ criticalHigh: 140,
293
+ lowerIsBetter: true,
294
+ },
295
+ diastolic_bp: {
296
+ low: 60,
297
+ high: 80,
298
+ unit: 'mmHg',
299
+ criticalHigh: 90,
300
+ lowerIsBetter: true,
301
+ },
302
+ heart_rate: {
303
+ low: 50,
304
+ high: 100,
305
+ unit: 'bpm',
306
+ optimalLow: 50,
307
+ optimalHigh: 70,
308
+ bidirectional: true,
309
+ },
310
+ };
311
+ //# sourceMappingURL=biomarker-ranges.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"biomarker-ranges.js","sourceRoot":"","sources":["../../src/constants/biomarker-ranges.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare const DRUG_DATA: Record<string, {
2
+ name: string;
3
+ category: string;
4
+ }>;
5
+ //# sourceMappingURL=drug-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drug-data.d.ts","sourceRoot":"","sources":["../../src/constants/drug-data.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAM,CAAC"}
@@ -0,0 +1,3 @@
1
+ // Drug interaction and protocol data — populated in Phase 5
2
+ export const DRUG_DATA = {};
3
+ //# sourceMappingURL=drug-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drug-data.js","sourceRoot":"","sources":["../../src/constants/drug-data.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,MAAM,CAAC,MAAM,SAAS,GAAuD,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare const UNIT_CONVERSIONS: Record<string, {
2
+ fromUnit: string;
3
+ toUnit: string;
4
+ factor: number;
5
+ }>;
6
+ //# sourceMappingURL=unit-conversions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unit-conversions.d.ts","sourceRoot":"","sources":["../../src/constants/unit-conversions.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,EAAE,MAAM,CACnC,MAAM,EACN;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAcrD,CAAC"}
@@ -0,0 +1,15 @@
1
+ export const UNIT_CONVERSIONS = {
2
+ total_cholesterol: { fromUnit: 'mmol/L', toUnit: 'mg/dL', factor: 38.67 },
3
+ ldl_c: { fromUnit: 'mmol/L', toUnit: 'mg/dL', factor: 38.67 },
4
+ hdl: { fromUnit: 'mmol/L', toUnit: 'mg/dL', factor: 38.67 },
5
+ triglycerides: { fromUnit: 'mmol/L', toUnit: 'mg/dL', factor: 88.57 },
6
+ fasting_glucose: { fromUnit: 'mmol/L', toUnit: 'mg/dL', factor: 18.016 },
7
+ creatinine: { fromUnit: 'umol/L', toUnit: 'mg/dL', factor: 1 / 88.401 },
8
+ uric_acid: { fromUnit: 'umol/L', toUnit: 'mg/dL', factor: 1 / 59.48 },
9
+ albumin: { fromUnit: 'g/L', toUnit: 'g/dL', factor: 0.1 },
10
+ hs_crp: { fromUnit: 'mg/dL', toUnit: 'mg/L', factor: 10 },
11
+ bilirubin_total: { fromUnit: 'umol/L', toUnit: 'mg/dL', factor: 1 / 17.1 },
12
+ bun: { fromUnit: 'mmol/L', toUnit: 'mg/dL', factor: 2.801 },
13
+ vitamin_d: { fromUnit: 'nmol/L', toUnit: 'ng/mL', factor: 1 / 2.496 },
14
+ };
15
+ //# sourceMappingURL=unit-conversions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unit-conversions.js","sourceRoot":"","sources":["../../src/constants/unit-conversions.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAGzB;IACF,iBAAiB,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;IACzE,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;IAC7D,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;IAC3D,aAAa,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;IACrE,eAAe,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE;IACxE,UAAU,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,EAAE;IACvE,SAAS,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,KAAK,EAAE;IACrE,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE;IACzD,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;IACzD,eAAe,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE;IAC1E,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE;IAC3D,SAAS,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,KAAK,EAAE;CACtE,CAAC"}
@@ -0,0 +1,12 @@
1
+ export type { User, UserStatus, Channel, ChannelIdentity } from './types/user.js';
2
+ export type { BiomarkerValue, BiomarkerSet } from './types/biomarkers.js';
3
+ export type { SourceLab, ExtractionResult, BioAgeResult, ReportCard, ReportHighlight, FlaggedBiomarker, LabReport, } from './types/lab-report.js';
4
+ export type { ProtocolCategory, EvidenceLevel, Protocol, EvidenceReference, Recommendation, } from './types/recommendation.js';
5
+ export type { SimulationInput, DailySnapshot, ModuleSummary, ModuleResult, BiomarkerDelta, SimulationResult, } from './types/simulation.js';
6
+ export type { MessageRole, ConversationStatus, InboundMessage, OutboundMessage, Conversation, Message, } from './types/messaging.js';
7
+ export type { ChatMessage, ContentPart, LLMOptions, LLMProvider, DocumentPart, ImagePart, TextPart, MultimodalPart, ExtendedLLMProvider, } from './types/llm.js';
8
+ export { UNIT_CONVERSIONS } from './constants/unit-conversions.js';
9
+ export { BIOMARKER_RANGES } from './constants/biomarker-ranges.js';
10
+ export type { BiomarkerRange } from './constants/biomarker-ranges.js';
11
+ export { DRUG_DATA } from './constants/drug-data.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClF,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1E,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,SAAS,GACV,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACR,iBAAiB,EACjB,cAAc,GACf,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,eAAe,EACf,aAAa,EACb,aAAa,EACb,YAAY,EACZ,cAAc,EACd,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,OAAO,GACR,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,WAAW,EACX,WAAW,EACX,UAAU,EACV,WAAW,EACX,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,cAAc,EACd,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,YAAY,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,5 @@
1
+ // Constants
2
+ export { UNIT_CONVERSIONS } from './constants/unit-conversions.js';
3
+ export { BIOMARKER_RANGES } from './constants/biomarker-ranges.js';
4
+ export { DRUG_DATA } from './constants/drug-data.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA+CA,YAAY;AACZ,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,54 @@
1
+ export interface BiomarkerValue {
2
+ name: string;
3
+ value: number;
4
+ unit: string;
5
+ referenceRange?: {
6
+ low: number;
7
+ high: number;
8
+ };
9
+ flag?: 'low' | 'normal' | 'high' | 'critical';
10
+ }
11
+ export interface BiomarkerSet {
12
+ weight?: BiomarkerValue;
13
+ height?: BiomarkerValue;
14
+ bmi?: BiomarkerValue;
15
+ bodyFatPercent?: BiomarkerValue;
16
+ bloodPressureSystolic?: BiomarkerValue;
17
+ bloodPressureDiastolic?: BiomarkerValue;
18
+ heartRate?: BiomarkerValue;
19
+ totalCholesterol?: BiomarkerValue;
20
+ ldlC?: BiomarkerValue;
21
+ hdl?: BiomarkerValue;
22
+ triglycerides?: BiomarkerValue;
23
+ apoB?: BiomarkerValue;
24
+ hba1c?: BiomarkerValue;
25
+ fastingGlucose?: BiomarkerValue;
26
+ fastingInsulin?: BiomarkerValue;
27
+ homaIr?: BiomarkerValue;
28
+ uricAcid?: BiomarkerValue;
29
+ creatinine?: BiomarkerValue;
30
+ bun?: BiomarkerValue;
31
+ egfr?: BiomarkerValue;
32
+ alt?: BiomarkerValue;
33
+ ast?: BiomarkerValue;
34
+ alp?: BiomarkerValue;
35
+ ggt?: BiomarkerValue;
36
+ bilirubinTotal?: BiomarkerValue;
37
+ albumin?: BiomarkerValue;
38
+ hsCrp?: BiomarkerValue;
39
+ esr?: BiomarkerValue;
40
+ cortisol?: BiomarkerValue;
41
+ testosterone?: BiomarkerValue;
42
+ estradiol?: BiomarkerValue;
43
+ tsh?: BiomarkerValue;
44
+ wbc?: BiomarkerValue;
45
+ rbc?: BiomarkerValue;
46
+ hemoglobin?: BiomarkerValue;
47
+ hematocrit?: BiomarkerValue;
48
+ platelets?: BiomarkerValue;
49
+ mcv?: BiomarkerValue;
50
+ rdw?: BiomarkerValue;
51
+ lymphocytePercent?: BiomarkerValue;
52
+ vitaminD?: BiomarkerValue;
53
+ }
54
+ //# sourceMappingURL=biomarkers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"biomarkers.d.ts","sourceRoot":"","sources":["../../src/types/biomarkers.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,IAAI,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;CAC/C;AAED,MAAM,WAAW,YAAY;IAE3B,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,qBAAqB,CAAC,EAAE,cAAc,CAAC;IACvC,sBAAsB,CAAC,EAAE,cAAc,CAAC;IACxC,SAAS,CAAC,EAAE,cAAc,CAAC;IAG3B,gBAAgB,CAAC,EAAE,cAAc,CAAC;IAClC,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,IAAI,CAAC,EAAE,cAAc,CAAC;IAGtB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAG1B,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,IAAI,CAAC,EAAE,cAAc,CAAC;IAGtB,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,EAAE,cAAc,CAAC;IAGzB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,GAAG,CAAC,EAAE,cAAc,CAAC;IAGrB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,GAAG,CAAC,EAAE,cAAc,CAAC;IAGrB,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,iBAAiB,CAAC,EAAE,cAAc,CAAC;IAGnC,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=biomarkers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"biomarkers.js","sourceRoot":"","sources":["../../src/types/biomarkers.ts"],"names":[],"mappings":""}
@@ -0,0 +1,48 @@
1
+ import type { BiomarkerSet } from './biomarkers.js';
2
+ export type SourceLab = 'quest' | 'labcorp' | 'international' | 'unknown';
3
+ export interface ExtractionResult {
4
+ biomarkers: BiomarkerSet;
5
+ sourceLab: SourceLab;
6
+ sourceLanguage: string;
7
+ confidence: number;
8
+ }
9
+ export interface BioAgeResult {
10
+ phenoAge: number;
11
+ delta: number;
12
+ mortalityScore: number;
13
+ isProxy: boolean;
14
+ kdmAge?: number;
15
+ kdmDelta?: number;
16
+ }
17
+ export interface ReportCard {
18
+ bioAge: BioAgeResult;
19
+ summary: string;
20
+ highlights: ReportHighlight[];
21
+ flaggedBiomarkers: FlaggedBiomarker[];
22
+ }
23
+ export interface ReportHighlight {
24
+ category: string;
25
+ status: 'good' | 'warning' | 'critical';
26
+ message: string;
27
+ }
28
+ export interface FlaggedBiomarker {
29
+ name: string;
30
+ value: number;
31
+ unit: string;
32
+ flag: 'low' | 'high' | 'critical';
33
+ message: string;
34
+ }
35
+ export interface LabReport {
36
+ id: string;
37
+ userId: string;
38
+ uploadedAt: Date;
39
+ sourceLab: SourceLab | null;
40
+ sourceLanguage: string;
41
+ rawFileUrl: string | null;
42
+ biomarkers: BiomarkerSet;
43
+ extractionConfidence: number | null;
44
+ bioAgeResult: BioAgeResult | null;
45
+ reportCard: ReportCard | null;
46
+ createdAt: Date;
47
+ }
48
+ //# sourceMappingURL=lab-report.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lab-report.d.ts","sourceRoot":"","sources":["../../src/types/lab-report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,eAAe,GAAG,SAAS,CAAC;AAE1E,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,YAAY,CAAC;IACzB,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,UAAU,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,IAAI,CAAC;IACjB,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,YAAY,CAAC;IACzB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,IAAI,CAAC;CACjB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=lab-report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lab-report.js","sourceRoot":"","sources":["../../src/types/lab-report.ts"],"names":[],"mappings":""}
@@ -0,0 +1,46 @@
1
+ export interface ChatMessage {
2
+ role: 'system' | 'user' | 'assistant';
3
+ content: string | ContentPart[];
4
+ }
5
+ export interface ContentPart {
6
+ type: 'text' | 'image';
7
+ text?: string;
8
+ image?: {
9
+ data: string;
10
+ mediaType: string;
11
+ };
12
+ }
13
+ export interface LLMOptions {
14
+ temperature?: number;
15
+ maxTokens?: number;
16
+ responseFormat?: 'text' | 'json';
17
+ }
18
+ export interface LLMProvider {
19
+ chat(messages: ChatMessage[], options?: LLMOptions): Promise<string>;
20
+ chatStream(messages: ChatMessage[], options?: LLMOptions): AsyncIterable<string>;
21
+ }
22
+ /**
23
+ * Content part types for multimodal messages (PDF, images).
24
+ */
25
+ export interface DocumentPart {
26
+ type: 'document';
27
+ data: string;
28
+ mimeType: string;
29
+ }
30
+ export interface ImagePart {
31
+ type: 'image';
32
+ data: string;
33
+ mediaType: string;
34
+ }
35
+ export interface TextPart {
36
+ type: 'text';
37
+ text: string;
38
+ }
39
+ export type MultimodalPart = TextPart | ImagePart | DocumentPart;
40
+ /**
41
+ * Extended provider interface with multimodal support.
42
+ */
43
+ export interface ExtendedLLMProvider extends LLMProvider {
44
+ chatMultimodal(parts: MultimodalPart[], options?: LLMOptions): Promise<string>;
45
+ }
46
+ //# sourceMappingURL=llm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm.d.ts","sourceRoot":"","sources":["../../src/types/llm.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACrE,UAAU,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;CAClF;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,GAAG,YAAY,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,cAAc,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAChF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=llm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm.js","sourceRoot":"","sources":["../../src/types/llm.ts"],"names":[],"mappings":""}
@@ -0,0 +1,45 @@
1
+ import type { Channel } from './user.js';
2
+ export type MessageRole = 'user' | 'assistant' | 'system';
3
+ export type ConversationStatus = 'active' | 'paused' | 'closed';
4
+ export interface InboundMessage {
5
+ channel: Channel;
6
+ channelUserId: string;
7
+ text?: string;
8
+ media?: {
9
+ type: string;
10
+ url: string;
11
+ mimeType?: string;
12
+ };
13
+ referral?: string;
14
+ messageId?: string;
15
+ }
16
+ export interface OutboundMessage {
17
+ text: string;
18
+ buttons?: {
19
+ id: string;
20
+ label: string;
21
+ }[];
22
+ media?: {
23
+ type: string;
24
+ url: string;
25
+ };
26
+ }
27
+ export interface Conversation {
28
+ id: string;
29
+ userId: string;
30
+ channel: string;
31
+ channelUserId: string;
32
+ startedAt: Date;
33
+ lastMessageAt: Date;
34
+ status: ConversationStatus;
35
+ planDelivered: boolean;
36
+ }
37
+ export interface Message {
38
+ id: string;
39
+ conversationId: string;
40
+ role: MessageRole;
41
+ content: string;
42
+ skillUsed: string | null;
43
+ createdAt: Date;
44
+ }
45
+ //# sourceMappingURL=messaging.d.ts.map