babylitics-mcp 0.9.0 → 0.10.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.
- package/README.md +25 -19
- package/dist/graphql/queries.d.ts +9 -0
- package/dist/graphql/queries.d.ts.map +1 -1
- package/dist/graphql/queries.js +160 -1
- package/dist/graphql/queries.js.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/tools/diapers.d.ts +4 -0
- package/dist/tools/diapers.d.ts.map +1 -0
- package/dist/tools/diapers.js +57 -0
- package/dist/tools/diapers.js.map +1 -0
- package/dist/tools/feedings.d.ts.map +1 -1
- package/dist/tools/feedings.js +18 -0
- package/dist/tools/feedings.js.map +1 -1
- package/dist/tools/lengths.d.ts.map +1 -1
- package/dist/tools/lengths.js +36 -0
- package/dist/tools/lengths.js.map +1 -1
- package/dist/tools/sleep.d.ts.map +1 -1
- package/dist/tools/sleep.js +14 -0
- package/dist/tools/sleep.js.map +1 -1
- package/dist/tools/temperatures.d.ts.map +1 -1
- package/dist/tools/temperatures.js +33 -0
- package/dist/tools/temperatures.js.map +1 -1
- package/dist/tools/weights.d.ts.map +1 -1
- package/dist/tools/weights.js +22 -0
- package/dist/tools/weights.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -48,19 +48,16 @@ Add to your Cursor MCP settings:
|
|
|
48
48
|
|
|
49
49
|
## Authorization
|
|
50
50
|
|
|
51
|
-
On first
|
|
51
|
+
On first use, the agent will ask you to authorize via your browser:
|
|
52
52
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
[babylitics-mcp] Waiting for authorization...
|
|
60
|
-
[babylitics-mcp] Authorized successfully!
|
|
61
|
-
```
|
|
53
|
+
> 🔐 Authentication required to access Babylitics.
|
|
54
|
+
>
|
|
55
|
+
> Please visit: https://api.babylitics.io/oauth/device
|
|
56
|
+
> Enter this code: **ABCD-1234**
|
|
57
|
+
>
|
|
58
|
+
> Once you've approved access, try your request again.
|
|
62
59
|
|
|
63
|
-
Tokens are cached locally at `~/.babylitics/tokens.json` and refresh automatically.
|
|
60
|
+
Tokens are cached locally at `~/.babylitics/tokens.json` and refresh automatically. You only need to re-authorize when the refresh token expires (after 30 days).
|
|
64
61
|
|
|
65
62
|
## Available Tools
|
|
66
63
|
|
|
@@ -69,15 +66,23 @@ Tokens are cached locally at `~/.babylitics/tokens.json` and refresh automatical
|
|
|
69
66
|
| Tool | Description |
|
|
70
67
|
|------|-------------|
|
|
71
68
|
| `list_babies` | List all tracked babies |
|
|
72
|
-
| `get_dashboard` |
|
|
73
|
-
| `get_feedings` | Feeding records with optional date filter |
|
|
74
|
-
| `get_feeding_stats` | Feeding statistics and averages |
|
|
75
|
-
| `
|
|
76
|
-
| `
|
|
77
|
-
| `
|
|
69
|
+
| `get_dashboard` | Dashboard summary for a baby (defaults to today, pass `date` for past days) |
|
|
70
|
+
| `get_feedings` | Feeding records with optional `date` or `start_date`/`end_date` filter |
|
|
71
|
+
| `get_feeding_stats` | Feeding statistics and averages with optional date filter |
|
|
72
|
+
| `get_feeding_vs_guideline` | Compare feeding intake against age-appropriate guidelines |
|
|
73
|
+
| `get_sleeps` | Sleep records with optional date range filter |
|
|
74
|
+
| `get_sleep_stats` | Sleep statistics with optional `date` or `start_date`/`end_date` filter |
|
|
75
|
+
| `get_sleep_vs_guideline` | Compare sleep against age-appropriate guidelines |
|
|
76
|
+
| `get_weights` | Weight records with optional date range filter |
|
|
77
|
+
| `get_weight_stats` | Weight statistics (current, birth, gain, growth velocity) |
|
|
78
78
|
| `get_weight_vs_guideline` | Weight compared to WHO growth standards |
|
|
79
|
-
| `get_lengths` | Length/height records with optional date filter |
|
|
80
|
-
| `
|
|
79
|
+
| `get_lengths` | Length/height records with optional date range filter |
|
|
80
|
+
| `get_length_stats` | Length statistics (current, birth, growth, velocity) |
|
|
81
|
+
| `get_length_vs_guideline` | Length compared to WHO growth standards |
|
|
82
|
+
| `get_temperatures` | Temperature records with optional date range filter |
|
|
83
|
+
| `get_temperature_stats` | Temperature statistics (current, average, highest, fever status) |
|
|
84
|
+
| `get_temperature_guidelines` | AAP fever/hypothermia thresholds by age range |
|
|
85
|
+
| `get_diapers` | Diaper change records with optional `date` or `start_date`/`end_date` filter |
|
|
81
86
|
|
|
82
87
|
### Write Tools (requires `read:write` scope)
|
|
83
88
|
|
|
@@ -88,6 +93,7 @@ Tokens are cached locally at `~/.babylitics/tokens.json` and refresh automatical
|
|
|
88
93
|
| `log_weight` | Log a weight measurement |
|
|
89
94
|
| `log_length` | Log a length/height measurement |
|
|
90
95
|
| `log_temperature` | Log a temperature measurement |
|
|
96
|
+
| `log_diaper` | Log a diaper change (wet, dirty, or mixed) |
|
|
91
97
|
|
|
92
98
|
## Configuration
|
|
93
99
|
|
|
@@ -5,13 +5,22 @@ export declare const FEEDING_STATISTICS = "\n query FeedingStatistics($babyId:
|
|
|
5
5
|
export declare const GET_SLEEPS = "\n query GetSleeps($babyId: ID!, $startDate: ISO8601Date, $endDate: ISO8601Date) {\n sleeps(babyId: $babyId, startDate: $startDate, endDate: $endDate) {\n nodes {\n id\n sleepType\n startedAt\n endedAt\n durationMinutes\n notes\n }\n }\n }\n";
|
|
6
6
|
export declare const SLEEP_STATISTICS = "\n query SleepStatistics($babyId: ID!, $date: ISO8601Date, $startDate: ISO8601Date, $endDate: ISO8601Date) {\n sleepStatistics(babyId: $babyId, date: $date, startDate: $startDate, endDate: $endDate) {\n totalSleepMinutesToday\n totalNapMinutesToday\n totalNightMinutesToday\n averageSleepMinutesPerDay\n averageNapDuration\n averageNightDuration\n longestSleepMinutes\n sleepCountToday\n }\n }\n";
|
|
7
7
|
export declare const GET_WEIGHTS = "\n query GetWeights($babyId: ID!, $startDate: ISO8601Date, $endDate: ISO8601Date) {\n weights(babyId: $babyId, startDate: $startDate, endDate: $endDate) {\n nodes {\n id\n weight\n unit\n measuredAt\n notes\n }\n }\n }\n";
|
|
8
|
+
export declare const WEIGHT_STATISTICS = "\n query WeightStatistics($babyId: ID!, $date: ISO8601Date, $startDate: ISO8601Date, $endDate: ISO8601Date) {\n weightStatistics(babyId: $babyId, date: $date, startDate: $startDate, endDate: $endDate) {\n currentWeight\n currentWeightUnit\n currentWeightDate\n birthWeight\n birthWeightUnit\n totalWeightGain\n totalWeightGainUnit\n recentGrowthVelocityGramsPerDay\n measurementCount\n lastMeasuredAt\n }\n }\n";
|
|
8
9
|
export declare const WEIGHT_VS_GUIDELINE = "\n query WeightVsGuideline($babyId: ID!) {\n weightVsGuideline(babyId: $babyId) {\n guidelines {\n ageMonth\n sd3Neg\n sd2Neg\n sd1Neg\n median\n sd1\n sd2\n sd3\n actualWeight\n unit\n source\n genderNote\n }\n measurements {\n ageMonths\n value\n measuredAt\n isBirthValue\n }\n }\n }\n";
|
|
10
|
+
export declare const LENGTH_VS_GUIDELINE = "\n query LengthVsGuideline($babyId: ID!) {\n lengthVsGuideline(babyId: $babyId) {\n guidelines {\n ageMonth\n sd3Neg\n sd2Neg\n sd1Neg\n median\n sd1\n sd2\n sd3\n actualLength\n unit\n source\n genderNote\n }\n measurements {\n ageMonths\n value\n measuredAt\n isBirthValue\n }\n }\n }\n";
|
|
11
|
+
export declare const LENGTH_STATISTICS = "\n query LengthStatistics($babyId: ID!, $date: ISO8601Date, $startDate: ISO8601Date, $endDate: ISO8601Date) {\n lengthStatistics(babyId: $babyId, date: $date, startDate: $startDate, endDate: $endDate) {\n currentLength\n currentLengthUnit\n currentLengthDate\n birthLength\n birthLengthUnit\n totalGrowth\n totalGrowthUnit\n recentGrowthVelocityCmPerMonth\n measurementCount\n lastMeasuredAt\n }\n }\n";
|
|
9
12
|
export declare const GET_LENGTHS = "\n query GetLengths($babyId: ID!, $startDate: ISO8601Date, $endDate: ISO8601Date) {\n lengths(babyId: $babyId, startDate: $startDate, endDate: $endDate) {\n nodes {\n id\n length\n unit\n measuredAt\n notes\n }\n }\n }\n";
|
|
13
|
+
export declare const SLEEP_VS_GUIDELINE = "\n query SleepVsGuideline($babyId: ID!) {\n sleepVsGuideline(babyId: $babyId) {\n guideline {\n ageMonthStart\n ageMonthEnd\n minHours\n maxHours\n source\n }\n actualHoursPerDay\n status\n dataPoints {\n ageMonthStart\n ageMonthEnd\n minHours\n maxHours\n actualHours\n }\n }\n }\n";
|
|
14
|
+
export declare const FEEDING_VS_GUIDELINE = "\n query FeedingVsGuideline($babyId: ID!, $feedingType: FeedingTypeEnum!) {\n feedingVsGuideline(babyId: $babyId, feedingType: $feedingType) {\n ageMonthStart\n ageMonthEnd\n guidelineMin\n guidelineMax\n actualAverage\n metric\n unit\n source\n }\n }\n";
|
|
15
|
+
export declare const TEMPERATURE_GUIDELINES = "\n query TemperatureGuidelines {\n temperatureGuidelines {\n ageMonthStart\n ageMonthEnd\n feverThreshold\n highFeverThreshold\n hypothermiaThreshold\n unit\n source\n }\n }\n";
|
|
16
|
+
export declare const TEMPERATURE_STATISTICS = "\n query TemperatureStatistics($babyId: ID!, $date: ISO8601Date, $startDate: ISO8601Date, $endDate: ISO8601Date) {\n temperatureStatistics(babyId: $babyId, date: $date, startDate: $startDate, endDate: $endDate) {\n currentTemperature\n currentTemperatureUnit\n currentTemperatureDate\n averageTemperature\n averageTemperatureUnit\n highestTemperature\n highestTemperatureUnit\n highestTemperatureDate\n feverStatus\n measurementCount\n lastMeasuredAt\n }\n }\n";
|
|
10
17
|
export declare const GET_TEMPERATURES = "\n query GetTemperatures($babyId: ID!, $startDate: ISO8601Date, $endDate: ISO8601Date) {\n temperatures(babyId: $babyId, startDate: $startDate, endDate: $endDate) {\n nodes {\n id\n temperature\n unit\n feverStatus\n measuredAt\n notes\n }\n }\n }\n";
|
|
11
18
|
export declare const CREATE_FEEDING = "\n mutation CreateFeeding(\n $babyId: ID!,\n $feedingType: FeedingTypeEnum!,\n $amount: Float,\n $unit: UnitEnum,\n $durationMinutes: Int,\n $side: SideEnum,\n $foodName: String,\n $reaction: ReactionEnum,\n $notes: String,\n $fedAt: ISO8601DateTime\n ) {\n createFeeding(\n babyId: $babyId,\n feedingType: $feedingType,\n amount: $amount,\n unit: $unit,\n durationMinutes: $durationMinutes,\n side: $side,\n foodName: $foodName,\n reaction: $reaction,\n notes: $notes,\n fedAt: $fedAt\n ) {\n feeding {\n id\n feedingType\n amount\n fedAt\n }\n errors\n }\n }\n";
|
|
12
19
|
export declare const CREATE_SLEEP = "\n mutation CreateSleep(\n $babyId: ID!,\n $sleepType: SleepTypeEnum!,\n $startedAt: ISO8601DateTime!,\n $endedAt: ISO8601DateTime,\n $notes: String\n ) {\n createSleep(\n babyId: $babyId,\n sleepType: $sleepType,\n startedAt: $startedAt,\n endedAt: $endedAt,\n notes: $notes\n ) {\n sleep {\n id\n sleepType\n startedAt\n endedAt\n }\n errors\n }\n }\n";
|
|
13
20
|
export declare const CREATE_WEIGHT = "\n mutation CreateWeight(\n $babyId: ID!,\n $weight: Float!,\n $unit: WeightUnitEnum!,\n $measuredAt: ISO8601Date!,\n $notes: String\n ) {\n createWeight(\n babyId: $babyId,\n weight: $weight,\n unit: $unit,\n measuredAt: $measuredAt,\n notes: $notes\n ) {\n weight {\n id\n weight\n unit\n measuredAt\n }\n errors\n }\n }\n";
|
|
14
21
|
export declare const CREATE_LENGTH = "\n mutation CreateLength(\n $babyId: ID!,\n $length: Float!,\n $unit: LengthUnitEnum!,\n $measuredAt: ISO8601Date!,\n $notes: String\n ) {\n createLength(\n babyId: $babyId,\n length: $length,\n unit: $unit,\n measuredAt: $measuredAt,\n notes: $notes\n ) {\n length {\n id\n length\n unit\n measuredAt\n }\n errors\n }\n }\n";
|
|
15
22
|
export declare const CREATE_TEMPERATURE = "\n mutation CreateTemperature(\n $babyId: ID!,\n $temperature: Float!,\n $unit: TemperatureUnitEnum!,\n $measuredAt: ISO8601DateTime!,\n $notes: String\n ) {\n createTemperature(\n babyId: $babyId,\n temperature: $temperature,\n unit: $unit,\n measuredAt: $measuredAt,\n notes: $notes\n ) {\n temperature {\n id\n temperature\n unit\n measuredAt\n }\n errors\n }\n }\n";
|
|
23
|
+
export declare const GET_DIAPERS = "\n query GetDiapers($babyId: ID!, $date: ISO8601Date, $startDate: ISO8601Date, $endDate: ISO8601Date) {\n diaperChanges(babyId: $babyId, date: $date, startDate: $startDate, endDate: $endDate) {\n nodes {\n id\n diaperType\n changedAt\n notes\n }\n }\n }\n";
|
|
24
|
+
export declare const CREATE_DIAPER = "\n mutation CreateDiaperChange(\n $babyId: ID!,\n $diaperType: DiaperTypeEnum!,\n $changedAt: ISO8601DateTime!,\n $notes: String\n ) {\n createDiaperChange(\n babyId: $babyId,\n diaperType: $diaperType,\n changedAt: $changedAt,\n notes: $notes\n ) {\n diaperChange {\n id\n diaperType\n changedAt\n }\n errors\n }\n }\n";
|
|
16
25
|
export declare const GET_USER_SETTINGS = "\n query GetUserSettings {\n me {\n userSetting {\n preferredUnit\n preferredWeightUnit\n preferredLengthUnit\n preferredTemperatureUnit\n preferredLanguage\n }\n }\n }\n";
|
|
17
26
|
//# sourceMappingURL=queries.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/graphql/queries.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,WAAW,sVAoBvB,CAAC;AAEF,eAAO,MAAM,eAAe,m3BA0C3B,CAAC;AAGF,eAAO,MAAM,YAAY,sYAgBxB,CAAC;AAEF,eAAO,MAAM,kBAAkB,6fAgB9B,CAAC;AAGF,eAAO,MAAM,UAAU,kTAatB,CAAC;AAEF,eAAO,MAAM,gBAAgB,gcAa5B,CAAC;AAGF,eAAO,MAAM,WAAW,sRAYvB,CAAC;AAEF,eAAO,MAAM,mBAAmB,ibAyB/B,CAAC;AAGF,eAAO,MAAM,WAAW,sRAYvB,CAAC;AAGF,eAAO,MAAM,gBAAgB,0TAa5B,CAAC;AAGF,eAAO,MAAM,cAAc,8rBAkC1B,CAAC;AAEF,eAAO,MAAM,YAAY,qcAwBxB,CAAC;AAEF,eAAO,MAAM,aAAa,waAwBzB,CAAC;AAEF,eAAO,MAAM,aAAa,waAwBzB,CAAC;AAEF,eAAO,MAAM,kBAAkB,odAwB9B,CAAC;AAGF,eAAO,MAAM,iBAAiB,oOAY7B,CAAC"}
|
|
1
|
+
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/graphql/queries.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,WAAW,sVAoBvB,CAAC;AAEF,eAAO,MAAM,eAAe,m3BA0C3B,CAAC;AAGF,eAAO,MAAM,YAAY,sYAgBxB,CAAC;AAEF,eAAO,MAAM,kBAAkB,6fAgB9B,CAAC;AAGF,eAAO,MAAM,UAAU,kTAatB,CAAC;AAEF,eAAO,MAAM,gBAAgB,gcAa5B,CAAC;AAGF,eAAO,MAAM,WAAW,sRAYvB,CAAC;AAEF,eAAO,MAAM,iBAAiB,ydAe7B,CAAC;AAEF,eAAO,MAAM,mBAAmB,ibAyB/B,CAAC;AAEF,eAAO,MAAM,mBAAmB,ibAyB/B,CAAC;AAEF,eAAO,MAAM,iBAAiB,gdAe7B,CAAC;AAGF,eAAO,MAAM,WAAW,sRAYvB,CAAC;AAEF,eAAO,MAAM,kBAAkB,2YAqB9B,CAAC;AAEF,eAAO,MAAM,oBAAoB,kTAahC,CAAC;AAEF,eAAO,MAAM,sBAAsB,+NAYlC,CAAC;AAEF,eAAO,MAAM,sBAAsB,ghBAgBlC,CAAC;AAGF,eAAO,MAAM,gBAAgB,0TAa5B,CAAC;AAGF,eAAO,MAAM,cAAc,8rBAkC1B,CAAC;AAEF,eAAO,MAAM,YAAY,qcAwBxB,CAAC;AAEF,eAAO,MAAM,aAAa,waAwBzB,CAAC;AAEF,eAAO,MAAM,aAAa,waAwBzB,CAAC;AAEF,eAAO,MAAM,kBAAkB,odAwB9B,CAAC;AAGF,eAAO,MAAM,WAAW,kTAWvB,CAAC;AAEF,eAAO,MAAM,aAAa,oZAqBzB,CAAC;AAGF,eAAO,MAAM,iBAAiB,oOAY7B,CAAC"}
|
package/dist/graphql/queries.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GET_USER_SETTINGS = exports.CREATE_TEMPERATURE = exports.CREATE_LENGTH = exports.CREATE_WEIGHT = exports.CREATE_SLEEP = exports.CREATE_FEEDING = exports.GET_TEMPERATURES = exports.GET_LENGTHS = exports.WEIGHT_VS_GUIDELINE = exports.GET_WEIGHTS = exports.SLEEP_STATISTICS = exports.GET_SLEEPS = exports.FEEDING_STATISTICS = exports.GET_FEEDINGS = exports.DASHBOARD_STATS = exports.LIST_BABIES = void 0;
|
|
3
|
+
exports.GET_USER_SETTINGS = exports.CREATE_DIAPER = exports.GET_DIAPERS = exports.CREATE_TEMPERATURE = exports.CREATE_LENGTH = exports.CREATE_WEIGHT = exports.CREATE_SLEEP = exports.CREATE_FEEDING = exports.GET_TEMPERATURES = exports.TEMPERATURE_STATISTICS = exports.TEMPERATURE_GUIDELINES = exports.FEEDING_VS_GUIDELINE = exports.SLEEP_VS_GUIDELINE = exports.GET_LENGTHS = exports.LENGTH_STATISTICS = exports.LENGTH_VS_GUIDELINE = exports.WEIGHT_VS_GUIDELINE = exports.WEIGHT_STATISTICS = exports.GET_WEIGHTS = exports.SLEEP_STATISTICS = exports.GET_SLEEPS = exports.FEEDING_STATISTICS = exports.GET_FEEDINGS = exports.DASHBOARD_STATS = exports.LIST_BABIES = void 0;
|
|
4
4
|
// Baby queries
|
|
5
5
|
exports.LIST_BABIES = `
|
|
6
6
|
query ListBabies {
|
|
@@ -144,6 +144,22 @@ exports.GET_WEIGHTS = `
|
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
146
|
`;
|
|
147
|
+
exports.WEIGHT_STATISTICS = `
|
|
148
|
+
query WeightStatistics($babyId: ID!, $date: ISO8601Date, $startDate: ISO8601Date, $endDate: ISO8601Date) {
|
|
149
|
+
weightStatistics(babyId: $babyId, date: $date, startDate: $startDate, endDate: $endDate) {
|
|
150
|
+
currentWeight
|
|
151
|
+
currentWeightUnit
|
|
152
|
+
currentWeightDate
|
|
153
|
+
birthWeight
|
|
154
|
+
birthWeightUnit
|
|
155
|
+
totalWeightGain
|
|
156
|
+
totalWeightGainUnit
|
|
157
|
+
recentGrowthVelocityGramsPerDay
|
|
158
|
+
measurementCount
|
|
159
|
+
lastMeasuredAt
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
`;
|
|
147
163
|
exports.WEIGHT_VS_GUIDELINE = `
|
|
148
164
|
query WeightVsGuideline($babyId: ID!) {
|
|
149
165
|
weightVsGuideline(babyId: $babyId) {
|
|
@@ -170,6 +186,48 @@ exports.WEIGHT_VS_GUIDELINE = `
|
|
|
170
186
|
}
|
|
171
187
|
}
|
|
172
188
|
`;
|
|
189
|
+
exports.LENGTH_VS_GUIDELINE = `
|
|
190
|
+
query LengthVsGuideline($babyId: ID!) {
|
|
191
|
+
lengthVsGuideline(babyId: $babyId) {
|
|
192
|
+
guidelines {
|
|
193
|
+
ageMonth
|
|
194
|
+
sd3Neg
|
|
195
|
+
sd2Neg
|
|
196
|
+
sd1Neg
|
|
197
|
+
median
|
|
198
|
+
sd1
|
|
199
|
+
sd2
|
|
200
|
+
sd3
|
|
201
|
+
actualLength
|
|
202
|
+
unit
|
|
203
|
+
source
|
|
204
|
+
genderNote
|
|
205
|
+
}
|
|
206
|
+
measurements {
|
|
207
|
+
ageMonths
|
|
208
|
+
value
|
|
209
|
+
measuredAt
|
|
210
|
+
isBirthValue
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
`;
|
|
215
|
+
exports.LENGTH_STATISTICS = `
|
|
216
|
+
query LengthStatistics($babyId: ID!, $date: ISO8601Date, $startDate: ISO8601Date, $endDate: ISO8601Date) {
|
|
217
|
+
lengthStatistics(babyId: $babyId, date: $date, startDate: $startDate, endDate: $endDate) {
|
|
218
|
+
currentLength
|
|
219
|
+
currentLengthUnit
|
|
220
|
+
currentLengthDate
|
|
221
|
+
birthLength
|
|
222
|
+
birthLengthUnit
|
|
223
|
+
totalGrowth
|
|
224
|
+
totalGrowthUnit
|
|
225
|
+
recentGrowthVelocityCmPerMonth
|
|
226
|
+
measurementCount
|
|
227
|
+
lastMeasuredAt
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
`;
|
|
173
231
|
// Length queries
|
|
174
232
|
exports.GET_LENGTHS = `
|
|
175
233
|
query GetLengths($babyId: ID!, $startDate: ISO8601Date, $endDate: ISO8601Date) {
|
|
@@ -184,6 +242,72 @@ exports.GET_LENGTHS = `
|
|
|
184
242
|
}
|
|
185
243
|
}
|
|
186
244
|
`;
|
|
245
|
+
exports.SLEEP_VS_GUIDELINE = `
|
|
246
|
+
query SleepVsGuideline($babyId: ID!) {
|
|
247
|
+
sleepVsGuideline(babyId: $babyId) {
|
|
248
|
+
guideline {
|
|
249
|
+
ageMonthStart
|
|
250
|
+
ageMonthEnd
|
|
251
|
+
minHours
|
|
252
|
+
maxHours
|
|
253
|
+
source
|
|
254
|
+
}
|
|
255
|
+
actualHoursPerDay
|
|
256
|
+
status
|
|
257
|
+
dataPoints {
|
|
258
|
+
ageMonthStart
|
|
259
|
+
ageMonthEnd
|
|
260
|
+
minHours
|
|
261
|
+
maxHours
|
|
262
|
+
actualHours
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
`;
|
|
267
|
+
exports.FEEDING_VS_GUIDELINE = `
|
|
268
|
+
query FeedingVsGuideline($babyId: ID!, $feedingType: FeedingTypeEnum!) {
|
|
269
|
+
feedingVsGuideline(babyId: $babyId, feedingType: $feedingType) {
|
|
270
|
+
ageMonthStart
|
|
271
|
+
ageMonthEnd
|
|
272
|
+
guidelineMin
|
|
273
|
+
guidelineMax
|
|
274
|
+
actualAverage
|
|
275
|
+
metric
|
|
276
|
+
unit
|
|
277
|
+
source
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
`;
|
|
281
|
+
exports.TEMPERATURE_GUIDELINES = `
|
|
282
|
+
query TemperatureGuidelines {
|
|
283
|
+
temperatureGuidelines {
|
|
284
|
+
ageMonthStart
|
|
285
|
+
ageMonthEnd
|
|
286
|
+
feverThreshold
|
|
287
|
+
highFeverThreshold
|
|
288
|
+
hypothermiaThreshold
|
|
289
|
+
unit
|
|
290
|
+
source
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
`;
|
|
294
|
+
exports.TEMPERATURE_STATISTICS = `
|
|
295
|
+
query TemperatureStatistics($babyId: ID!, $date: ISO8601Date, $startDate: ISO8601Date, $endDate: ISO8601Date) {
|
|
296
|
+
temperatureStatistics(babyId: $babyId, date: $date, startDate: $startDate, endDate: $endDate) {
|
|
297
|
+
currentTemperature
|
|
298
|
+
currentTemperatureUnit
|
|
299
|
+
currentTemperatureDate
|
|
300
|
+
averageTemperature
|
|
301
|
+
averageTemperatureUnit
|
|
302
|
+
highestTemperature
|
|
303
|
+
highestTemperatureUnit
|
|
304
|
+
highestTemperatureDate
|
|
305
|
+
feverStatus
|
|
306
|
+
measurementCount
|
|
307
|
+
lastMeasuredAt
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
`;
|
|
187
311
|
// Temperature queries
|
|
188
312
|
exports.GET_TEMPERATURES = `
|
|
189
313
|
query GetTemperatures($babyId: ID!, $startDate: ISO8601Date, $endDate: ISO8601Date) {
|
|
@@ -335,6 +459,41 @@ exports.CREATE_TEMPERATURE = `
|
|
|
335
459
|
}
|
|
336
460
|
}
|
|
337
461
|
`;
|
|
462
|
+
// Diaper queries
|
|
463
|
+
exports.GET_DIAPERS = `
|
|
464
|
+
query GetDiapers($babyId: ID!, $date: ISO8601Date, $startDate: ISO8601Date, $endDate: ISO8601Date) {
|
|
465
|
+
diaperChanges(babyId: $babyId, date: $date, startDate: $startDate, endDate: $endDate) {
|
|
466
|
+
nodes {
|
|
467
|
+
id
|
|
468
|
+
diaperType
|
|
469
|
+
changedAt
|
|
470
|
+
notes
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
`;
|
|
475
|
+
exports.CREATE_DIAPER = `
|
|
476
|
+
mutation CreateDiaperChange(
|
|
477
|
+
$babyId: ID!,
|
|
478
|
+
$diaperType: DiaperTypeEnum!,
|
|
479
|
+
$changedAt: ISO8601DateTime!,
|
|
480
|
+
$notes: String
|
|
481
|
+
) {
|
|
482
|
+
createDiaperChange(
|
|
483
|
+
babyId: $babyId,
|
|
484
|
+
diaperType: $diaperType,
|
|
485
|
+
changedAt: $changedAt,
|
|
486
|
+
notes: $notes
|
|
487
|
+
) {
|
|
488
|
+
diaperChange {
|
|
489
|
+
id
|
|
490
|
+
diaperType
|
|
491
|
+
changedAt
|
|
492
|
+
}
|
|
493
|
+
errors
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
`;
|
|
338
497
|
// User settings
|
|
339
498
|
exports.GET_USER_SETTINGS = `
|
|
340
499
|
query GetUserSettings {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/graphql/queries.ts"],"names":[],"mappings":";;;AAAA,eAAe;AACF,QAAA,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;CAoB1B,CAAC;AAEW,QAAA,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0C9B,CAAC;AAEF,kBAAkB;AACL,QAAA,YAAY,GAAG;;;;;;;;;;;;;;;;CAgB3B,CAAC;AAEW,QAAA,kBAAkB,GAAG;;;;;;;;;;;;;;;;CAgBjC,CAAC;AAEF,gBAAgB;AACH,QAAA,UAAU,GAAG;;;;;;;;;;;;;CAazB,CAAC;AAEW,QAAA,gBAAgB,GAAG;;;;;;;;;;;;;CAa/B,CAAC;AAEF,iBAAiB;AACJ,QAAA,WAAW,GAAG;;;;;;;;;;;;CAY1B,CAAC;AAEW,QAAA,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;CAyBlC,CAAC;AAEF,iBAAiB;AACJ,QAAA,WAAW,GAAG;;;;;;;;;;;;CAY1B,CAAC;AAEF,sBAAsB;AACT,QAAA,gBAAgB,GAAG;;;;;;;;;;;;;CAa/B,CAAC;AAEF,qDAAqD;AACxC,QAAA,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkC7B,CAAC;AAEW,QAAA,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwB3B,CAAC;AAEW,QAAA,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwB5B,CAAC;AAEW,QAAA,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwB5B,CAAC;AAEW,QAAA,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwBjC,CAAC;AAEF,gBAAgB;AACH,QAAA,iBAAiB,GAAG;;;;;;;;;;;;CAYhC,CAAC"}
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/graphql/queries.ts"],"names":[],"mappings":";;;AAAA,eAAe;AACF,QAAA,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;CAoB1B,CAAC;AAEW,QAAA,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0C9B,CAAC;AAEF,kBAAkB;AACL,QAAA,YAAY,GAAG;;;;;;;;;;;;;;;;CAgB3B,CAAC;AAEW,QAAA,kBAAkB,GAAG;;;;;;;;;;;;;;;;CAgBjC,CAAC;AAEF,gBAAgB;AACH,QAAA,UAAU,GAAG;;;;;;;;;;;;;CAazB,CAAC;AAEW,QAAA,gBAAgB,GAAG;;;;;;;;;;;;;CAa/B,CAAC;AAEF,iBAAiB;AACJ,QAAA,WAAW,GAAG;;;;;;;;;;;;CAY1B,CAAC;AAEW,QAAA,iBAAiB,GAAG;;;;;;;;;;;;;;;CAehC,CAAC;AAEW,QAAA,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;CAyBlC,CAAC;AAEW,QAAA,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;CAyBlC,CAAC;AAEW,QAAA,iBAAiB,GAAG;;;;;;;;;;;;;;;CAehC,CAAC;AAEF,iBAAiB;AACJ,QAAA,WAAW,GAAG;;;;;;;;;;;;CAY1B,CAAC;AAEW,QAAA,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;CAqBjC,CAAC;AAEW,QAAA,oBAAoB,GAAG;;;;;;;;;;;;;CAanC,CAAC;AAEW,QAAA,sBAAsB,GAAG;;;;;;;;;;;;CAYrC,CAAC;AAEW,QAAA,sBAAsB,GAAG;;;;;;;;;;;;;;;;CAgBrC,CAAC;AAEF,sBAAsB;AACT,QAAA,gBAAgB,GAAG;;;;;;;;;;;;;CAa/B,CAAC;AAEF,qDAAqD;AACxC,QAAA,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkC7B,CAAC;AAEW,QAAA,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwB3B,CAAC;AAEW,QAAA,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwB5B,CAAC;AAEW,QAAA,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwB5B,CAAC;AAEW,QAAA,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwBjC,CAAC;AAEF,iBAAiB;AACJ,QAAA,WAAW,GAAG;;;;;;;;;;;CAW1B,CAAC;AAEW,QAAA,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;CAqB5B,CAAC;AAEF,gBAAgB;AACH,QAAA,iBAAiB,GAAG;;;;;;;;;;;;CAYhC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -10,10 +10,11 @@ const sleep_js_1 = require("./tools/sleep.js");
|
|
|
10
10
|
const weights_js_1 = require("./tools/weights.js");
|
|
11
11
|
const lengths_js_1 = require("./tools/lengths.js");
|
|
12
12
|
const temperatures_js_1 = require("./tools/temperatures.js");
|
|
13
|
+
const diapers_js_1 = require("./tools/diapers.js");
|
|
13
14
|
async function main() {
|
|
14
15
|
const server = new mcp_js_1.McpServer({
|
|
15
16
|
name: "babylitics",
|
|
16
|
-
version: "0.
|
|
17
|
+
version: "0.10.1",
|
|
17
18
|
});
|
|
18
19
|
// Register all tools — auth happens lazily on first tool call.
|
|
19
20
|
// If auth is needed, the tool returns login instructions for the user.
|
|
@@ -24,12 +25,14 @@ async function main() {
|
|
|
24
25
|
(0, weights_js_1.registerWeightReadTools)(server);
|
|
25
26
|
(0, lengths_js_1.registerLengthReadTools)(server);
|
|
26
27
|
(0, temperatures_js_1.registerTemperatureReadTools)(server);
|
|
28
|
+
(0, diapers_js_1.registerDiaperReadTools)(server);
|
|
27
29
|
// Register write tools unconditionally — scope is checked at auth time
|
|
28
30
|
(0, feedings_js_1.registerFeedingWriteTools)(server);
|
|
29
31
|
(0, sleep_js_1.registerSleepWriteTools)(server);
|
|
30
32
|
(0, weights_js_1.registerWeightWriteTools)(server);
|
|
31
33
|
(0, lengths_js_1.registerLengthWriteTools)(server);
|
|
32
34
|
(0, temperatures_js_1.registerTemperatureWriteTools)(server);
|
|
35
|
+
(0, diapers_js_1.registerDiaperWriteTools)(server);
|
|
33
36
|
// Connect via stdio transport
|
|
34
37
|
const transport = new stdio_js_1.StdioServerTransport();
|
|
35
38
|
await server.connect(transport);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,oEAAoE;AACpE,wEAAiF;AACjF,iDAAsD;AACtD,uDAA8D;AAC9D,qDAG6B;AAC7B,+CAG0B;AAC1B,mDAG4B;AAC5B,mDAG4B;AAC5B,6DAGiC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,oEAAoE;AACpE,wEAAiF;AACjF,iDAAsD;AACtD,uDAA8D;AAC9D,qDAG6B;AAC7B,+CAG0B;AAC1B,mDAG4B;AAC5B,mDAG4B;AAC5B,6DAGiC;AACjC,mDAG4B;AAE5B,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC;QAC3B,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,QAAQ;KAClB,CAAC,CAAC;IAEH,+DAA+D;IAC/D,uEAAuE;IACvE,IAAA,6BAAiB,EAAC,MAAM,CAAC,CAAC;IAC1B,IAAA,qCAAsB,EAAC,MAAM,CAAC,CAAC;IAC/B,IAAA,sCAAwB,EAAC,MAAM,CAAC,CAAC;IACjC,IAAA,iCAAsB,EAAC,MAAM,CAAC,CAAC;IAC/B,IAAA,oCAAuB,EAAC,MAAM,CAAC,CAAC;IAChC,IAAA,oCAAuB,EAAC,MAAM,CAAC,CAAC;IAChC,IAAA,8CAA4B,EAAC,MAAM,CAAC,CAAC;IACrC,IAAA,oCAAuB,EAAC,MAAM,CAAC,CAAC;IAEhC,uEAAuE;IACvE,IAAA,uCAAyB,EAAC,MAAM,CAAC,CAAC;IAClC,IAAA,kCAAuB,EAAC,MAAM,CAAC,CAAC;IAChC,IAAA,qCAAwB,EAAC,MAAM,CAAC,CAAC;IACjC,IAAA,qCAAwB,EAAC,MAAM,CAAC,CAAC;IACjC,IAAA,+CAA6B,EAAC,MAAM,CAAC,CAAC;IACtC,IAAA,qCAAwB,EAAC,MAAM,CAAC,CAAC;IAEjC,8BAA8B;IAC9B,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;AAC7D,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diapers.d.ts","sourceRoot":"","sources":["../../src/tools/diapers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAwB/D;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuBhE"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerDiaperReadTools = registerDiaperReadTools;
|
|
4
|
+
exports.registerDiaperWriteTools = registerDiaperWriteTools;
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
const client_js_1 = require("../graphql/client.js");
|
|
7
|
+
const queries_js_1 = require("../graphql/queries.js");
|
|
8
|
+
const helpers_js_1 = require("./helpers.js");
|
|
9
|
+
function registerDiaperReadTools(server) {
|
|
10
|
+
server.registerTool("get_diapers", {
|
|
11
|
+
title: "Get Diaper Changes",
|
|
12
|
+
description: "Get diaper change records for a baby. Optionally filter by date or date range.",
|
|
13
|
+
inputSchema: {
|
|
14
|
+
baby_name: zod_1.z.string().describe("The baby's name"),
|
|
15
|
+
date: zod_1.z.string().optional().describe("Specific date (ISO 8601)"),
|
|
16
|
+
start_date: zod_1.z.string().optional().describe("Start date (ISO 8601)"),
|
|
17
|
+
end_date: zod_1.z.string().optional().describe("End date (ISO 8601)"),
|
|
18
|
+
},
|
|
19
|
+
annotations: { readOnlyHint: true },
|
|
20
|
+
}, (0, helpers_js_1.withAuth)(async ({ baby_name, date, start_date, end_date }) => {
|
|
21
|
+
const babyId = await (0, helpers_js_1.resolveBabyId)(baby_name);
|
|
22
|
+
const data = await (0, client_js_1.graphqlRequest)(queries_js_1.GET_DIAPERS, {
|
|
23
|
+
babyId,
|
|
24
|
+
date,
|
|
25
|
+
startDate: start_date,
|
|
26
|
+
endDate: end_date,
|
|
27
|
+
});
|
|
28
|
+
return {
|
|
29
|
+
content: [{ type: "text", text: (0, helpers_js_1.formatToolResult)(data) }],
|
|
30
|
+
};
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
function registerDiaperWriteTools(server) {
|
|
34
|
+
server.registerTool("log_diaper", {
|
|
35
|
+
title: "Log Diaper Change",
|
|
36
|
+
description: "Log a diaper change for a baby in Babylitics.",
|
|
37
|
+
inputSchema: {
|
|
38
|
+
baby_name: zod_1.z.string().describe("The baby's name"),
|
|
39
|
+
diaper_type: zod_1.z.enum(["wet", "dirty", "mixed"]).describe("Type of diaper (wet, dirty, or mixed)"),
|
|
40
|
+
changed_at: zod_1.z.string().describe("When the diaper was changed (ISO 8601 datetime)"),
|
|
41
|
+
notes: zod_1.z.string().optional().describe("Optional notes"),
|
|
42
|
+
},
|
|
43
|
+
annotations: { readOnlyHint: false },
|
|
44
|
+
}, (0, helpers_js_1.withAuth)(async ({ baby_name, diaper_type, changed_at, notes }) => {
|
|
45
|
+
const babyId = await (0, helpers_js_1.resolveBabyId)(baby_name);
|
|
46
|
+
const data = await (0, client_js_1.graphqlRequest)(queries_js_1.CREATE_DIAPER, {
|
|
47
|
+
babyId,
|
|
48
|
+
diaperType: diaper_type,
|
|
49
|
+
changedAt: changed_at,
|
|
50
|
+
notes,
|
|
51
|
+
});
|
|
52
|
+
return {
|
|
53
|
+
content: [{ type: "text", text: (0, helpers_js_1.formatToolResult)(data) }],
|
|
54
|
+
};
|
|
55
|
+
}));
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=diapers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diapers.js","sourceRoot":"","sources":["../../src/tools/diapers.ts"],"names":[],"mappings":";;AAMA,0DAwBC;AAED,4DAuBC;AAvDD,6BAAwB;AAExB,oDAAsD;AACtD,sDAAmE;AACnE,6CAAyE;AAEzE,SAAgB,uBAAuB,CAAC,MAAiB;IACvD,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE;QACjC,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EACT,gFAAgF;QAClF,WAAW,EAAE;YACX,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACjD,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAChE,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YACnE,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;SAChE;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;KACpC,EAAE,IAAA,qBAAQ,EAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC9D,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAa,EAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,MAAM,IAAA,0BAAc,EAAC,wBAAW,EAAE;YAC7C,MAAM;YACN,IAAI;YACJ,SAAS,EAAE,UAAU;YACrB,OAAO,EAAE,QAAQ;SAClB,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAA,6BAAgB,EAAC,IAAI,CAAC,EAAE,CAAC;SAC1D,CAAC;IACJ,CAAC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAgB,wBAAwB,CAAC,MAAiB;IACxD,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE;QAChC,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,+CAA+C;QAC5D,WAAW,EAAE;YACX,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACjD,WAAW,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;YAChG,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YAClF,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;SACxD;QACD,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE;KACrC,EAAE,IAAA,qBAAQ,EAAC,KAAK,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;QAClE,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAa,EAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,MAAM,IAAA,0BAAc,EAAC,0BAAa,EAAE;YAC/C,MAAM;YACN,UAAU,EAAE,WAAW;YACvB,SAAS,EAAE,UAAU;YACrB,KAAK;SACN,CAAC,CAAC;QACH,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAA,6BAAgB,EAAC,IAAI,CAAC,EAAE,CAAC;SAC1D,CAAC;IACJ,CAAC,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedings.d.ts","sourceRoot":"","sources":["../../src/tools/feedings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"feedings.d.ts","sourceRoot":"","sources":["../../src/tools/feedings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAUpE,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAoEhE;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA2CjE"}
|
package/dist/tools/feedings.js
CHANGED
|
@@ -51,6 +51,24 @@ function registerFeedingReadTools(server) {
|
|
|
51
51
|
content: [{ type: "text", text: (0, helpers_js_1.formatToolResult)(data) }],
|
|
52
52
|
};
|
|
53
53
|
}));
|
|
54
|
+
server.registerTool("get_feeding_vs_guideline", {
|
|
55
|
+
title: "Get Feeding vs Guideline",
|
|
56
|
+
description: "Compare a baby's actual feeding intake against age-appropriate guidelines for formula or breastfeeding.",
|
|
57
|
+
inputSchema: {
|
|
58
|
+
baby_name: zod_1.z.string().describe("The baby's name"),
|
|
59
|
+
feeding_type: zod_1.z.enum(["formula", "breastfeeding"]).describe("Type of feeding to compare"),
|
|
60
|
+
},
|
|
61
|
+
annotations: { readOnlyHint: true },
|
|
62
|
+
}, (0, helpers_js_1.withAuth)(async ({ baby_name, feeding_type }) => {
|
|
63
|
+
const babyId = await (0, helpers_js_1.resolveBabyId)(baby_name);
|
|
64
|
+
const data = await (0, client_js_1.graphqlRequest)(queries_js_1.FEEDING_VS_GUIDELINE, {
|
|
65
|
+
babyId,
|
|
66
|
+
feedingType: feeding_type,
|
|
67
|
+
});
|
|
68
|
+
return {
|
|
69
|
+
content: [{ type: "text", text: (0, helpers_js_1.formatToolResult)(data) }],
|
|
70
|
+
};
|
|
71
|
+
}));
|
|
54
72
|
}
|
|
55
73
|
function registerFeedingWriteTools(server) {
|
|
56
74
|
server.registerTool("log_feeding", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedings.js","sourceRoot":"","sources":["../../src/tools/feedings.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"feedings.js","sourceRoot":"","sources":["../../src/tools/feedings.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lengths.d.ts","sourceRoot":"","sources":["../../src/tools/lengths.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"lengths.d.ts","sourceRoot":"","sources":["../../src/tools/lengths.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA6D/D;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuBhE"}
|
package/dist/tools/lengths.js
CHANGED
|
@@ -27,6 +27,42 @@ function registerLengthReadTools(server) {
|
|
|
27
27
|
content: [{ type: "text", text: (0, helpers_js_1.formatToolResult)(data) }],
|
|
28
28
|
};
|
|
29
29
|
}));
|
|
30
|
+
server.registerTool("get_length_stats", {
|
|
31
|
+
title: "Get Length Statistics",
|
|
32
|
+
description: "Get length/height statistics for a baby, including current length, birth length, total growth, and growth velocity. Optionally filter by date or date range.",
|
|
33
|
+
inputSchema: {
|
|
34
|
+
baby_name: zod_1.z.string().describe("The baby's name"),
|
|
35
|
+
date: zod_1.z.string().optional().describe("Specific date (ISO 8601). Cannot be combined with start_date/end_date."),
|
|
36
|
+
start_date: zod_1.z.string().optional().describe("Start date (ISO 8601). Cannot be combined with date."),
|
|
37
|
+
end_date: zod_1.z.string().optional().describe("End date (ISO 8601). Cannot be combined with date."),
|
|
38
|
+
},
|
|
39
|
+
annotations: { readOnlyHint: true },
|
|
40
|
+
}, (0, helpers_js_1.withAuth)(async ({ baby_name, date, start_date, end_date }) => {
|
|
41
|
+
const babyId = await (0, helpers_js_1.resolveBabyId)(baby_name);
|
|
42
|
+
const data = await (0, client_js_1.graphqlRequest)(queries_js_1.LENGTH_STATISTICS, {
|
|
43
|
+
babyId,
|
|
44
|
+
date,
|
|
45
|
+
startDate: start_date,
|
|
46
|
+
endDate: end_date,
|
|
47
|
+
});
|
|
48
|
+
return {
|
|
49
|
+
content: [{ type: "text", text: (0, helpers_js_1.formatToolResult)(data) }],
|
|
50
|
+
};
|
|
51
|
+
}));
|
|
52
|
+
server.registerTool("get_length_vs_guideline", {
|
|
53
|
+
title: "Get Length vs WHO Guideline",
|
|
54
|
+
description: "Compare a baby's length/height against WHO growth standards, showing percentile and standard deviation ranges.",
|
|
55
|
+
inputSchema: {
|
|
56
|
+
baby_name: zod_1.z.string().describe("The baby's name"),
|
|
57
|
+
},
|
|
58
|
+
annotations: { readOnlyHint: true },
|
|
59
|
+
}, (0, helpers_js_1.withAuth)(async ({ baby_name }) => {
|
|
60
|
+
const babyId = await (0, helpers_js_1.resolveBabyId)(baby_name);
|
|
61
|
+
const data = await (0, client_js_1.graphqlRequest)(queries_js_1.LENGTH_VS_GUIDELINE, { babyId });
|
|
62
|
+
return {
|
|
63
|
+
content: [{ type: "text", text: (0, helpers_js_1.formatToolResult)(data) }],
|
|
64
|
+
};
|
|
65
|
+
}));
|
|
30
66
|
}
|
|
31
67
|
function registerLengthWriteTools(server) {
|
|
32
68
|
server.registerTool("log_length", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lengths.js","sourceRoot":"","sources":["../../src/tools/lengths.ts"],"names":[],"mappings":";;AAMA,
|
|
1
|
+
{"version":3,"file":"lengths.js","sourceRoot":"","sources":["../../src/tools/lengths.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sleep.d.ts","sourceRoot":"","sources":["../../src/tools/sleep.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"sleep.d.ts","sourceRoot":"","sources":["../../src/tools/sleep.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8D9D;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA6B/D"}
|
package/dist/tools/sleep.js
CHANGED
|
@@ -49,6 +49,20 @@ function registerSleepReadTools(server) {
|
|
|
49
49
|
content: [{ type: "text", text: (0, helpers_js_1.formatToolResult)(data) }],
|
|
50
50
|
};
|
|
51
51
|
}));
|
|
52
|
+
server.registerTool("get_sleep_vs_guideline", {
|
|
53
|
+
title: "Get Sleep vs Guideline",
|
|
54
|
+
description: "Compare a baby's actual sleep against age-appropriate guidelines, showing whether they are below, within, or above recommended hours.",
|
|
55
|
+
inputSchema: {
|
|
56
|
+
baby_name: zod_1.z.string().describe("The baby's name"),
|
|
57
|
+
},
|
|
58
|
+
annotations: { readOnlyHint: true },
|
|
59
|
+
}, (0, helpers_js_1.withAuth)(async ({ baby_name }) => {
|
|
60
|
+
const babyId = await (0, helpers_js_1.resolveBabyId)(baby_name);
|
|
61
|
+
const data = await (0, client_js_1.graphqlRequest)(queries_js_1.SLEEP_VS_GUIDELINE, { babyId });
|
|
62
|
+
return {
|
|
63
|
+
content: [{ type: "text", text: (0, helpers_js_1.formatToolResult)(data) }],
|
|
64
|
+
};
|
|
65
|
+
}));
|
|
52
66
|
}
|
|
53
67
|
function registerSleepWriteTools(server) {
|
|
54
68
|
server.registerTool("log_sleep", {
|
package/dist/tools/sleep.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sleep.js","sourceRoot":"","sources":["../../src/tools/sleep.ts"],"names":[],"mappings":";;AAMA,
|
|
1
|
+
{"version":3,"file":"sleep.js","sourceRoot":"","sources":["../../src/tools/sleep.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"temperatures.d.ts","sourceRoot":"","sources":["../../src/tools/temperatures.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"temperatures.d.ts","sourceRoot":"","sources":["../../src/tools/temperatures.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA0DpE;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuBrE"}
|
|
@@ -27,6 +27,39 @@ function registerTemperatureReadTools(server) {
|
|
|
27
27
|
content: [{ type: "text", text: (0, helpers_js_1.formatToolResult)(data) }],
|
|
28
28
|
};
|
|
29
29
|
}));
|
|
30
|
+
server.registerTool("get_temperature_stats", {
|
|
31
|
+
title: "Get Temperature Statistics",
|
|
32
|
+
description: "Get temperature statistics for a baby, including current, average, highest reading, and fever status. Optionally filter by date or date range.",
|
|
33
|
+
inputSchema: {
|
|
34
|
+
baby_name: zod_1.z.string().describe("The baby's name"),
|
|
35
|
+
date: zod_1.z.string().optional().describe("Specific date (ISO 8601). Cannot be combined with start_date/end_date."),
|
|
36
|
+
start_date: zod_1.z.string().optional().describe("Start date (ISO 8601). Cannot be combined with date."),
|
|
37
|
+
end_date: zod_1.z.string().optional().describe("End date (ISO 8601). Cannot be combined with date."),
|
|
38
|
+
},
|
|
39
|
+
annotations: { readOnlyHint: true },
|
|
40
|
+
}, (0, helpers_js_1.withAuth)(async ({ baby_name, date, start_date, end_date }) => {
|
|
41
|
+
const babyId = await (0, helpers_js_1.resolveBabyId)(baby_name);
|
|
42
|
+
const data = await (0, client_js_1.graphqlRequest)(queries_js_1.TEMPERATURE_STATISTICS, {
|
|
43
|
+
babyId,
|
|
44
|
+
date,
|
|
45
|
+
startDate: start_date,
|
|
46
|
+
endDate: end_date,
|
|
47
|
+
});
|
|
48
|
+
return {
|
|
49
|
+
content: [{ type: "text", text: (0, helpers_js_1.formatToolResult)(data) }],
|
|
50
|
+
};
|
|
51
|
+
}));
|
|
52
|
+
server.registerTool("get_temperature_guidelines", {
|
|
53
|
+
title: "Get Temperature Guidelines",
|
|
54
|
+
description: "Get AAP temperature guidelines showing fever, high fever, and hypothermia thresholds by age range.",
|
|
55
|
+
inputSchema: {},
|
|
56
|
+
annotations: { readOnlyHint: true },
|
|
57
|
+
}, (0, helpers_js_1.withAuth)(async () => {
|
|
58
|
+
const data = await (0, client_js_1.graphqlRequest)(queries_js_1.TEMPERATURE_GUIDELINES);
|
|
59
|
+
return {
|
|
60
|
+
content: [{ type: "text", text: (0, helpers_js_1.formatToolResult)(data) }],
|
|
61
|
+
};
|
|
62
|
+
}));
|
|
30
63
|
}
|
|
31
64
|
function registerTemperatureWriteTools(server) {
|
|
32
65
|
server.registerTool("log_temperature", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"temperatures.js","sourceRoot":"","sources":["../../src/tools/temperatures.ts"],"names":[],"mappings":";;AAMA,
|
|
1
|
+
{"version":3,"file":"temperatures.js","sourceRoot":"","sources":["../../src/tools/temperatures.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"weights.d.ts","sourceRoot":"","sources":["../../src/tools/weights.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"weights.d.ts","sourceRoot":"","sources":["../../src/tools/weights.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA8D/D;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuBhE"}
|
package/dist/tools/weights.js
CHANGED
|
@@ -27,6 +27,28 @@ function registerWeightReadTools(server) {
|
|
|
27
27
|
content: [{ type: "text", text: (0, helpers_js_1.formatToolResult)(data) }],
|
|
28
28
|
};
|
|
29
29
|
}));
|
|
30
|
+
server.registerTool("get_weight_stats", {
|
|
31
|
+
title: "Get Weight Statistics",
|
|
32
|
+
description: "Get weight statistics for a baby, including current weight, birth weight, total gain, and growth velocity. Optionally filter by date or date range.",
|
|
33
|
+
inputSchema: {
|
|
34
|
+
baby_name: zod_1.z.string().describe("The baby's name"),
|
|
35
|
+
date: zod_1.z.string().optional().describe("Specific date (ISO 8601). Cannot be combined with start_date/end_date."),
|
|
36
|
+
start_date: zod_1.z.string().optional().describe("Start date (ISO 8601). Cannot be combined with date."),
|
|
37
|
+
end_date: zod_1.z.string().optional().describe("End date (ISO 8601). Cannot be combined with date."),
|
|
38
|
+
},
|
|
39
|
+
annotations: { readOnlyHint: true },
|
|
40
|
+
}, (0, helpers_js_1.withAuth)(async ({ baby_name, date, start_date, end_date }) => {
|
|
41
|
+
const babyId = await (0, helpers_js_1.resolveBabyId)(baby_name);
|
|
42
|
+
const data = await (0, client_js_1.graphqlRequest)(queries_js_1.WEIGHT_STATISTICS, {
|
|
43
|
+
babyId,
|
|
44
|
+
date,
|
|
45
|
+
startDate: start_date,
|
|
46
|
+
endDate: end_date,
|
|
47
|
+
});
|
|
48
|
+
return {
|
|
49
|
+
content: [{ type: "text", text: (0, helpers_js_1.formatToolResult)(data) }],
|
|
50
|
+
};
|
|
51
|
+
}));
|
|
30
52
|
server.registerTool("get_weight_vs_guideline", {
|
|
31
53
|
title: "Get Weight vs WHO Guideline",
|
|
32
54
|
description: "Compare a baby's latest weight against WHO growth standards, showing percentile and standard deviation ranges.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"weights.js","sourceRoot":"","sources":["../../src/tools/weights.ts"],"names":[],"mappings":";;AAMA,
|
|
1
|
+
{"version":3,"file":"weights.js","sourceRoot":"","sources":["../../src/tools/weights.ts"],"names":[],"mappings":"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"}
|