thryve-mcp-server 0.0.6 → 0.0.9
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 +11 -11
- package/dist/index.js +53 -60
- package/dist/index.js.map +1 -1
- package/package.json +11 -8
- package/dist/data-types.d.ts +0 -53
- package/dist/data-types.d.ts.map +0 -1
- package/dist/data-types.js +0 -138
- package/dist/data-types.js.map +0 -1
- package/dist/debug-logger.d.ts +0 -17
- package/dist/debug-logger.d.ts.map +0 -1
- package/dist/debug-logger.js +0 -35
- package/dist/debug-logger.js.map +0 -1
- package/dist/tools/categories/getActivity.d.ts +0 -10
- package/dist/tools/categories/getActivity.d.ts.map +0 -1
- package/dist/tools/categories/getActivity.js +0 -5
- package/dist/tools/categories/getActivity.js.map +0 -1
- package/dist/tools/categories/getAudioAndHearing.d.ts +0 -10
- package/dist/tools/categories/getAudioAndHearing.d.ts.map +0 -1
- package/dist/tools/categories/getAudioAndHearing.js +0 -5
- package/dist/tools/categories/getAudioAndHearing.js.map +0 -1
- package/dist/tools/categories/getBloodGlucose.d.ts +0 -10
- package/dist/tools/categories/getBloodGlucose.d.ts.map +0 -1
- package/dist/tools/categories/getBloodGlucose.js +0 -5
- package/dist/tools/categories/getBloodGlucose.js.map +0 -1
- package/dist/tools/categories/getBodyComposition.d.ts +0 -10
- package/dist/tools/categories/getBodyComposition.d.ts.map +0 -1
- package/dist/tools/categories/getBodyComposition.js +0 -5
- package/dist/tools/categories/getBodyComposition.js.map +0 -1
- package/dist/tools/categories/getCardiovascular.d.ts +0 -10
- package/dist/tools/categories/getCardiovascular.d.ts.map +0 -1
- package/dist/tools/categories/getCardiovascular.js +0 -5
- package/dist/tools/categories/getCardiovascular.js.map +0 -1
- package/dist/tools/categories/getHeartRate.d.ts +0 -10
- package/dist/tools/categories/getHeartRate.d.ts.map +0 -1
- package/dist/tools/categories/getHeartRate.js +0 -5
- package/dist/tools/categories/getHeartRate.js.map +0 -1
- package/dist/tools/categories/getLocation.d.ts +0 -10
- package/dist/tools/categories/getLocation.d.ts.map +0 -1
- package/dist/tools/categories/getLocation.js +0 -5
- package/dist/tools/categories/getLocation.js.map +0 -1
- package/dist/tools/categories/getMicrobiome.d.ts +0 -10
- package/dist/tools/categories/getMicrobiome.d.ts.map +0 -1
- package/dist/tools/categories/getMicrobiome.js +0 -5
- package/dist/tools/categories/getMicrobiome.js.map +0 -1
- package/dist/tools/categories/getMovementAnalysis.d.ts +0 -10
- package/dist/tools/categories/getMovementAnalysis.d.ts.map +0 -1
- package/dist/tools/categories/getMovementAnalysis.js +0 -5
- package/dist/tools/categories/getMovementAnalysis.js.map +0 -1
- package/dist/tools/categories/getNutrition.d.ts +0 -10
- package/dist/tools/categories/getNutrition.d.ts.map +0 -1
- package/dist/tools/categories/getNutrition.js +0 -5
- package/dist/tools/categories/getNutrition.js.map +0 -1
- package/dist/tools/categories/getRespiratory.d.ts +0 -10
- package/dist/tools/categories/getRespiratory.d.ts.map +0 -1
- package/dist/tools/categories/getRespiratory.js +0 -5
- package/dist/tools/categories/getRespiratory.js.map +0 -1
- package/dist/tools/categories/getSleep.d.ts +0 -10
- package/dist/tools/categories/getSleep.d.ts.map +0 -1
- package/dist/tools/categories/getSleep.js +0 -5
- package/dist/tools/categories/getSleep.js.map +0 -1
- package/dist/tools/categories/getStressAndHRV.d.ts +0 -10
- package/dist/tools/categories/getStressAndHRV.d.ts.map +0 -1
- package/dist/tools/categories/getStressAndHRV.js +0 -5
- package/dist/tools/categories/getStressAndHRV.js.map +0 -1
- package/dist/tools/categories/getWellness.d.ts +0 -10
- package/dist/tools/categories/getWellness.d.ts.map +0 -1
- package/dist/tools/categories/getWellness.js +0 -5
- package/dist/tools/categories/getWellness.js.map +0 -1
- package/dist/tools/categories/getWomensHealth.d.ts +0 -10
- package/dist/tools/categories/getWomensHealth.d.ts.map +0 -1
- package/dist/tools/categories/getWomensHealth.js +0 -5
- package/dist/tools/categories/getWomensHealth.js.map +0 -1
- package/dist/tools/categories/getWorkouts.d.ts +0 -10
- package/dist/tools/categories/getWorkouts.d.ts.map +0 -1
- package/dist/tools/categories/getWorkouts.js +0 -5
- package/dist/tools/categories/getWorkouts.js.map +0 -1
- package/dist/tools/get.d.ts +0 -39
- package/dist/tools/get.d.ts.map +0 -1
- package/dist/tools/get.js +0 -118
- package/dist/tools/get.js.map +0 -1
- package/dist/tools/getConnectionWidgetUrl.d.ts +0 -12
- package/dist/tools/getConnectionWidgetUrl.d.ts.map +0 -1
- package/dist/tools/getConnectionWidgetUrl.js +0 -26
- package/dist/tools/getConnectionWidgetUrl.js.map +0 -1
- package/dist/tools/getDailyData.d.ts +0 -30
- package/dist/tools/getDailyData.d.ts.map +0 -1
- package/dist/tools/getDailyData.js +0 -114
- package/dist/tools/getDailyData.js.map +0 -1
- package/dist/tools/getEpochData.d.ts +0 -30
- package/dist/tools/getEpochData.d.ts.map +0 -1
- package/dist/tools/getEpochData.js +0 -111
- package/dist/tools/getEpochData.js.map +0 -1
- package/dist/tools/getHealthDataByCategory.d.ts +0 -38
- package/dist/tools/getHealthDataByCategory.d.ts.map +0 -1
- package/dist/tools/getHealthDataByCategory.js +0 -231
- package/dist/tools/getHealthDataByCategory.js.map +0 -1
- package/dist/tools/getUserInformation.d.ts +0 -8
- package/dist/tools/getUserInformation.d.ts.map +0 -1
- package/dist/tools/getUserInformation.js +0 -24
- package/dist/tools/getUserInformation.js.map +0 -1
- package/dist/tools/legacy.d.ts +0 -37
- package/dist/tools/legacy.d.ts.map +0 -1
- package/dist/tools/legacy.js +0 -105
- package/dist/tools/legacy.js.map +0 -1
- package/dist/tools/search-tools.d.ts +0 -8
- package/dist/tools/search-tools.d.ts.map +0 -1
- package/dist/tools/search-tools.js +0 -273
- package/dist/tools/search-tools.js.map +0 -1
package/README.md
CHANGED
|
@@ -5,16 +5,16 @@ Stateless MCP server that exposes Thryve's health data API via HTTP. Designed fo
|
|
|
5
5
|
## Quick Start
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
pnpm install
|
|
9
|
+
pnpm run build
|
|
10
|
+
pnpm start # Listens on http://localhost:30000
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
**Scripts:**
|
|
14
|
-
- `
|
|
15
|
-
- `
|
|
16
|
-
- `
|
|
17
|
-
- `
|
|
14
|
+
- `pnpm run build` – Compile TypeScript
|
|
15
|
+
- `pnpm run dev` – Development mode with auto-reload (uses nodemon)
|
|
16
|
+
- `pnpm run dev:debug` – Development mode with DEBUG logging enabled
|
|
17
|
+
- `pnpm start` – Launch server
|
|
18
18
|
|
|
19
19
|
## Configuration
|
|
20
20
|
|
|
@@ -33,9 +33,9 @@ Stateless design: all credentials arrive as HTTP headers from the BlueNexus MCP
|
|
|
33
33
|
Enable detailed execution logging by setting the `DEBUG` environment variable:
|
|
34
34
|
|
|
35
35
|
```bash
|
|
36
|
-
DEBUG=true
|
|
36
|
+
DEBUG=true pnpm start
|
|
37
37
|
# or
|
|
38
|
-
|
|
38
|
+
pnpm run dev:debug
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
When debug mode is enabled, all tool responses include additional metadata:
|
|
@@ -69,8 +69,8 @@ This is useful for:
|
|
|
69
69
|
The server uses `nodemon` to automatically reload when source files change:
|
|
70
70
|
|
|
71
71
|
```bash
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
pnpm run dev # Watch and reload on changes
|
|
73
|
+
pnpm run dev:debug # Watch with DEBUG mode enabled
|
|
74
74
|
```
|
|
75
75
|
|
|
76
76
|
**Watched files:**
|
package/dist/index.js
CHANGED
|
@@ -40,75 +40,68 @@ toolRegistry.register("searchFilters", SearchFiltersSchema, searchFilters);
|
|
|
40
40
|
toolRegistry.register("getAvailableDataTypes", GetAvailableDataTypesSchema, getAvailableDataTypes);
|
|
41
41
|
toolRegistry.register("listConnectedSources", ListConnectedSourcesSchema, listConnectedSources);
|
|
42
42
|
toolRegistry.register("listDevices", ListDevicesSchema, listDevices);
|
|
43
|
-
//
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
const result = await toolRegistry.execute(request.params.name, request.params.arguments, currentRequest);
|
|
69
|
-
// Return formatted response with data and optional debug info
|
|
70
|
-
// Debug info is included in the response when DEBUG mode is enabled
|
|
71
|
-
return {
|
|
72
|
-
content: [
|
|
73
|
-
{
|
|
74
|
-
type: "text",
|
|
75
|
-
text: JSON.stringify(result, null, 2),
|
|
76
|
-
},
|
|
77
|
-
],
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
catch (error) {
|
|
81
|
-
if (error instanceof z.ZodError) {
|
|
82
|
-
throw new Error(`Invalid arguments: ${error.message}`);
|
|
43
|
+
// Factory function to create fresh server instances per request
|
|
44
|
+
function createStatelessServer(httpReq) {
|
|
45
|
+
const server = new Server({
|
|
46
|
+
name: "bluenexus-wearables-mcp-server",
|
|
47
|
+
version: "1.0.0",
|
|
48
|
+
}, {
|
|
49
|
+
capabilities: {
|
|
50
|
+
tools: {},
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
54
|
+
const toolDefinitions = loadToolDefinitions();
|
|
55
|
+
return { tools: toolDefinitions };
|
|
56
|
+
});
|
|
57
|
+
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
58
|
+
try {
|
|
59
|
+
const result = await toolRegistry.execute(request.params.name, request.params.arguments, httpReq);
|
|
60
|
+
return {
|
|
61
|
+
content: [
|
|
62
|
+
{
|
|
63
|
+
type: "text",
|
|
64
|
+
text: JSON.stringify(result, null, 2),
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
};
|
|
83
68
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
});
|
|
69
|
+
catch (error) {
|
|
70
|
+
if (error instanceof z.ZodError) {
|
|
71
|
+
throw new Error(`Invalid arguments: ${error.message}`);
|
|
72
|
+
}
|
|
73
|
+
throw error;
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
return server;
|
|
77
|
+
}
|
|
87
78
|
// Create Express app with stateless HTTP transport
|
|
88
79
|
const app = express();
|
|
89
80
|
app.use(express.json());
|
|
90
|
-
//
|
|
91
|
-
const transport = new StreamableHTTPServerTransport({
|
|
92
|
-
sessionIdGenerator: undefined, // Stateless mode
|
|
93
|
-
enableJsonResponse: true,
|
|
94
|
-
});
|
|
95
|
-
// Connect server to transport
|
|
96
|
-
await server.connect(transport);
|
|
97
|
-
// Handle MCP requests
|
|
81
|
+
// Handle MCP requests - create fresh server + transport per request
|
|
98
82
|
app.post("/mcp", async (req, res) => {
|
|
99
83
|
try {
|
|
100
|
-
|
|
101
|
-
|
|
84
|
+
const server = createStatelessServer(req);
|
|
85
|
+
const transport = new StreamableHTTPServerTransport({
|
|
86
|
+
sessionIdGenerator: undefined,
|
|
87
|
+
enableJsonResponse: true,
|
|
88
|
+
});
|
|
89
|
+
res.on("close", () => {
|
|
90
|
+
transport.close();
|
|
91
|
+
server.close();
|
|
92
|
+
});
|
|
93
|
+
await server.connect(transport);
|
|
102
94
|
await transport.handleRequest(req, res, req.body);
|
|
103
|
-
currentRequest = null; // Clear context after request
|
|
104
95
|
}
|
|
105
96
|
catch (error) {
|
|
106
|
-
currentRequest = null; // Clear context on error
|
|
107
97
|
console.error("Error handling MCP request:", error);
|
|
108
|
-
res.
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
98
|
+
if (!res.headersSent) {
|
|
99
|
+
res.status(500).json({
|
|
100
|
+
jsonrpc: "2.0",
|
|
101
|
+
error: { code: -32603, message: "Internal server error" },
|
|
102
|
+
id: null,
|
|
103
|
+
});
|
|
104
|
+
}
|
|
112
105
|
}
|
|
113
106
|
});
|
|
114
107
|
// Health check endpoint
|
|
@@ -123,7 +116,7 @@ app.get("/health", (_req, res) => {
|
|
|
123
116
|
});
|
|
124
117
|
});
|
|
125
118
|
// Start server
|
|
126
|
-
const PORT = process.env.PORT ||
|
|
119
|
+
const PORT = process.env.PORT || 30002;
|
|
127
120
|
app.listen(PORT, () => {
|
|
128
121
|
console.log(`Bluenexus Wearables MCP Server running on http://localhost:${PORT}`);
|
|
129
122
|
console.log(`MCP endpoint: http://localhost:${PORT}/mcp`);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "thryve-mcp-server",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.9",
|
|
4
4
|
"description": "Stateless MCP Server for Thryve Health Data API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -9,10 +9,12 @@
|
|
|
9
9
|
},
|
|
10
10
|
"scripts": {
|
|
11
11
|
"build": "tsc",
|
|
12
|
+
"dev": "node --watch dist/index.js",
|
|
12
13
|
"start": "node dist/index.js",
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
14
|
+
"test": "vitest run",
|
|
15
|
+
"test:watch": "vitest",
|
|
16
|
+
"package": "docker build -t thryve-mcp-server .",
|
|
17
|
+
"clean": "rm -rf dist"
|
|
16
18
|
},
|
|
17
19
|
"keywords": [
|
|
18
20
|
"mcp",
|
|
@@ -23,20 +25,21 @@
|
|
|
23
25
|
"author": "BlueNexus AI",
|
|
24
26
|
"license": "PROPRIETARY",
|
|
25
27
|
"dependencies": {
|
|
26
|
-
"@modelcontextprotocol/sdk": "^1.0
|
|
28
|
+
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
27
29
|
"express": "^4.21.2",
|
|
28
30
|
"zod": "^3.24.1"
|
|
29
31
|
},
|
|
30
32
|
"devDependencies": {
|
|
31
33
|
"@types/express": "^5.0.0",
|
|
32
34
|
"@types/node": "^22.10.2",
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
+
"typescript": "^5.8.3",
|
|
36
|
+
"vitest": "^3.0.0"
|
|
35
37
|
},
|
|
36
38
|
"files": [
|
|
37
39
|
"dist/**/*",
|
|
38
40
|
"README.md",
|
|
39
41
|
"LICENSE",
|
|
40
42
|
"tools.json"
|
|
41
|
-
]
|
|
43
|
+
],
|
|
44
|
+
"packageManager": "pnpm@10.22.0"
|
|
42
45
|
}
|
package/dist/data-types.d.ts
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Thryve Data Types Catalog
|
|
3
|
-
*
|
|
4
|
-
* This file contains the comprehensive list of 250+ data types available through Thryve API.
|
|
5
|
-
* Organized by category for easy LLM understanding and filtering.
|
|
6
|
-
*/
|
|
7
|
-
export interface DataType {
|
|
8
|
-
id: number;
|
|
9
|
-
name: string;
|
|
10
|
-
displayName: string;
|
|
11
|
-
category: string;
|
|
12
|
-
description: string;
|
|
13
|
-
unit?: string;
|
|
14
|
-
commonSources?: string[];
|
|
15
|
-
}
|
|
16
|
-
export interface DataTypeCategory {
|
|
17
|
-
name: string;
|
|
18
|
-
description: string;
|
|
19
|
-
dataTypes: DataType[];
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Complete catalog of Thryve data types organized by category
|
|
23
|
-
*/
|
|
24
|
-
export declare const DATA_TYPE_CATEGORIES: DataTypeCategory[];
|
|
25
|
-
/**
|
|
26
|
-
* Flatten all data types into a single array for easy searching
|
|
27
|
-
*/
|
|
28
|
-
export declare const ALL_DATA_TYPES: DataType[];
|
|
29
|
-
/**
|
|
30
|
-
* Get data types by category name
|
|
31
|
-
*/
|
|
32
|
-
export declare function getDataTypesByCategory(categoryName: string): DataType[];
|
|
33
|
-
/**
|
|
34
|
-
* Search data types by keyword
|
|
35
|
-
*/
|
|
36
|
-
export declare function searchDataTypes(keyword: string): DataType[];
|
|
37
|
-
/**
|
|
38
|
-
* Get data types available for a specific data source
|
|
39
|
-
*/
|
|
40
|
-
export declare function getDataTypesForSource(sourceName: string): DataType[];
|
|
41
|
-
/**
|
|
42
|
-
* Get summary of all categories for LLM context
|
|
43
|
-
*/
|
|
44
|
-
export declare function getCategorySummary(): {
|
|
45
|
-
totalCategories: number;
|
|
46
|
-
totalDataTypes: number;
|
|
47
|
-
categories: Array<{
|
|
48
|
-
name: string;
|
|
49
|
-
count: number;
|
|
50
|
-
description: string;
|
|
51
|
-
}>;
|
|
52
|
-
};
|
|
53
|
-
//# sourceMappingURL=data-types.d.ts.map
|
package/dist/data-types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data-types.d.ts","sourceRoot":"","sources":["../src/data-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,gBAAgB,EAsFlD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,QAAQ,EAEpC,CAAC;AAEF;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,EAAE,CAKvE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,EAAE,CAS3D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,EAAE,CAOpE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzE,CAUA"}
|
package/dist/data-types.js
DELETED
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Thryve Data Types Catalog
|
|
3
|
-
*
|
|
4
|
-
* This file contains the comprehensive list of 250+ data types available through Thryve API.
|
|
5
|
-
* Organized by category for easy LLM understanding and filtering.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Complete catalog of Thryve data types organized by category
|
|
9
|
-
*/
|
|
10
|
-
export const DATA_TYPE_CATEGORIES = [
|
|
11
|
-
{
|
|
12
|
-
name: "Activity",
|
|
13
|
-
description: "Daily activity metrics including steps, calories, and movement",
|
|
14
|
-
dataTypes: [
|
|
15
|
-
{ id: 1, name: "Steps", displayName: "Steps", category: "Activity", description: "Total steps taken", unit: "steps", commonSources: ["Fitbit", "Garmin", "Apple Health"] },
|
|
16
|
-
{ id: 2, name: "BurnedCalories", displayName: "Burned Calories", category: "Activity", description: "Total calories burned", unit: "kcal", commonSources: ["Fitbit", "Garmin", "Whoop"] },
|
|
17
|
-
{ id: 3, name: "ActiveDuration", displayName: "Active Duration", category: "Activity", description: "Time spent in active movement", unit: "minutes", commonSources: ["Fitbit", "Garmin"] },
|
|
18
|
-
{ id: 4, name: "Distance", displayName: "Distance", category: "Activity", description: "Total distance traveled", unit: "meters", commonSources: ["Fitbit", "Garmin", "Strava"] },
|
|
19
|
-
{ id: 5, name: "FloorsClimbed", displayName: "Floors Climbed", category: "Activity", description: "Number of floors climbed", unit: "floors", commonSources: ["Fitbit", "Garmin"] },
|
|
20
|
-
{ id: 6, name: "LightlyActiveDuration", displayName: "Lightly Active Duration", category: "Activity", description: "Time spent in light activity", unit: "minutes", commonSources: ["Fitbit"] },
|
|
21
|
-
{ id: 7, name: "ModeratelyActiveDuration", displayName: "Moderately Active Duration", category: "Activity", description: "Time spent in moderate activity", unit: "minutes", commonSources: ["Fitbit", "Garmin"] },
|
|
22
|
-
{ id: 8, name: "VeryActiveDuration", displayName: "Very Active Duration", category: "Activity", description: "Time spent in vigorous activity", unit: "minutes", commonSources: ["Fitbit"] },
|
|
23
|
-
],
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
name: "Heart Rate",
|
|
27
|
-
description: "Heart rate measurements including resting, average, and zone-specific data",
|
|
28
|
-
dataTypes: [
|
|
29
|
-
{ id: 20, name: "RestingHeartRate", displayName: "Resting Heart Rate", category: "Heart Rate", description: "Heart rate at rest", unit: "bpm", commonSources: ["Fitbit", "Garmin", "Whoop", "Apple Health"] },
|
|
30
|
-
{ id: 21, name: "AverageHeartRate", displayName: "Average Heart Rate", category: "Heart Rate", description: "Average heart rate over the day", unit: "bpm", commonSources: ["Fitbit", "Garmin", "Whoop"] },
|
|
31
|
-
{ id: 22, name: "MaxHeartRate", displayName: "Max Heart Rate", category: "Heart Rate", description: "Maximum heart rate reached", unit: "bpm", commonSources: ["Fitbit", "Garmin"] },
|
|
32
|
-
{ id: 23, name: "SleepHeartRate", displayName: "Sleep Heart Rate", category: "Heart Rate", description: "Average heart rate during sleep", unit: "bpm", commonSources: ["Fitbit", "Whoop"] },
|
|
33
|
-
],
|
|
34
|
-
},
|
|
35
|
-
{
|
|
36
|
-
name: "Sleep",
|
|
37
|
-
description: "Sleep duration, quality, and stage-specific measurements",
|
|
38
|
-
dataTypes: [
|
|
39
|
-
{ id: 40, name: "SleepDuration", displayName: "Sleep Duration", category: "Sleep", description: "Total time spent sleeping", unit: "minutes", commonSources: ["Fitbit", "Garmin", "Whoop", "Oura"] },
|
|
40
|
-
{ id: 41, name: "LightSleepDuration", displayName: "Light Sleep Duration", category: "Sleep", description: "Time in light sleep stage", unit: "minutes", commonSources: ["Fitbit", "Whoop", "Oura"] },
|
|
41
|
-
{ id: 42, name: "DeepSleepDuration", displayName: "Deep Sleep Duration", category: "Sleep", description: "Time in deep sleep stage", unit: "minutes", commonSources: ["Fitbit", "Whoop", "Oura"] },
|
|
42
|
-
{ id: 43, name: "REMSleepDuration", displayName: "REM Sleep Duration", category: "Sleep", description: "Time in REM sleep stage", unit: "minutes", commonSources: ["Fitbit", "Whoop", "Oura"] },
|
|
43
|
-
{ id: 44, name: "AwakeDuration", displayName: "Awake Duration", category: "Sleep", description: "Time spent awake during sleep period", unit: "minutes", commonSources: ["Fitbit", "Whoop"] },
|
|
44
|
-
{ id: 45, name: "SleepEfficiency", displayName: "Sleep Efficiency", category: "Sleep", description: "Percentage of time asleep vs in bed", unit: "percent", commonSources: ["Fitbit", "Oura"] },
|
|
45
|
-
],
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
name: "Body Composition",
|
|
49
|
-
description: "Body measurements including weight, BMI, and body composition metrics",
|
|
50
|
-
dataTypes: [
|
|
51
|
-
{ id: 60, name: "Weight", displayName: "Weight", category: "Body Composition", description: "Body weight", unit: "kg", commonSources: ["Fitbit", "Garmin", "Withings"] },
|
|
52
|
-
{ id: 61, name: "BMI", displayName: "BMI", category: "Body Composition", description: "Body Mass Index", unit: "kg/m²", commonSources: ["Fitbit", "Withings"] },
|
|
53
|
-
{ id: 62, name: "BodyFatPercentage", displayName: "Body Fat Percentage", category: "Body Composition", description: "Percentage of body fat", unit: "percent", commonSources: ["Withings", "Fitbit Aria"] },
|
|
54
|
-
{ id: 63, name: "MuscleMass", displayName: "Muscle Mass", category: "Body Composition", description: "Total muscle mass", unit: "kg", commonSources: ["Withings"] },
|
|
55
|
-
{ id: 64, name: "BoneMass", displayName: "Bone Mass", category: "Body Composition", description: "Total bone mass", unit: "kg", commonSources: ["Withings"] },
|
|
56
|
-
{ id: 65, name: "WaterPercentage", displayName: "Water Percentage", category: "Body Composition", description: "Body water percentage", unit: "percent", commonSources: ["Withings"] },
|
|
57
|
-
],
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
name: "Stress & HRV",
|
|
61
|
-
description: "Stress levels and heart rate variability measurements",
|
|
62
|
-
dataTypes: [
|
|
63
|
-
{ id: 80, name: "StressLevel", displayName: "Stress Level", category: "Stress & HRV", description: "Overall stress measurement", unit: "score", commonSources: ["Garmin", "Fitbit"] },
|
|
64
|
-
{ id: 81, name: "HRV", displayName: "Heart Rate Variability", category: "Stress & HRV", description: "Heart rate variability measurement", unit: "ms", commonSources: ["Whoop", "Oura", "Garmin"] },
|
|
65
|
-
{ id: 82, name: "RMSSD", displayName: "RMSSD", category: "Stress & HRV", description: "Root mean square of successive differences", unit: "ms", commonSources: ["Whoop", "Oura"] },
|
|
66
|
-
],
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
name: "Blood Oxygen",
|
|
70
|
-
description: "Blood oxygen saturation and respiratory measurements",
|
|
71
|
-
dataTypes: [
|
|
72
|
-
{ id: 100, name: "SpO2", displayName: "Blood Oxygen Saturation", category: "Blood Oxygen", description: "Oxygen saturation percentage", unit: "percent", commonSources: ["Fitbit", "Garmin", "Whoop"] },
|
|
73
|
-
{ id: 101, name: "RespiratoryRate", displayName: "Respiratory Rate", category: "Blood Oxygen", description: "Breaths per minute", unit: "bpm", commonSources: ["Fitbit", "Whoop", "Oura"] },
|
|
74
|
-
],
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
name: "Workouts",
|
|
78
|
-
description: "Exercise and workout-specific metrics",
|
|
79
|
-
dataTypes: [
|
|
80
|
-
{ id: 120, name: "WorkoutDuration", displayName: "Workout Duration", category: "Workouts", description: "Total workout time", unit: "minutes", commonSources: ["Fitbit", "Garmin", "Strava"] },
|
|
81
|
-
{ id: 121, name: "WorkoutCalories", displayName: "Workout Calories", category: "Workouts", description: "Calories burned during workout", unit: "kcal", commonSources: ["Fitbit", "Garmin", "Strava"] },
|
|
82
|
-
{ id: 122, name: "AveragePace", displayName: "Average Pace", category: "Workouts", description: "Average pace during activity", unit: "min/km", commonSources: ["Garmin", "Strava"] },
|
|
83
|
-
{ id: 123, name: "MaxSpeed", displayName: "Max Speed", category: "Workouts", description: "Maximum speed reached", unit: "km/h", commonSources: ["Garmin", "Strava"] },
|
|
84
|
-
{ id: 124, name: "ElevationGain", displayName: "Elevation Gain", category: "Workouts", description: "Total elevation climbed", unit: "meters", commonSources: ["Garmin", "Strava"] },
|
|
85
|
-
],
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
name: "Recovery",
|
|
89
|
-
description: "Recovery and readiness metrics",
|
|
90
|
-
dataTypes: [
|
|
91
|
-
{ id: 140, name: "RecoveryScore", displayName: "Recovery Score", category: "Recovery", description: "Overall recovery measurement", unit: "score", commonSources: ["Whoop", "Oura"] },
|
|
92
|
-
{ id: 141, name: "ReadinessScore", displayName: "Readiness Score", category: "Recovery", description: "Physical readiness for activity", unit: "score", commonSources: ["Oura"] },
|
|
93
|
-
{ id: 142, name: "Strain", displayName: "Strain", category: "Recovery", description: "Cardiovascular strain measurement", unit: "score", commonSources: ["Whoop"] },
|
|
94
|
-
],
|
|
95
|
-
},
|
|
96
|
-
];
|
|
97
|
-
/**
|
|
98
|
-
* Flatten all data types into a single array for easy searching
|
|
99
|
-
*/
|
|
100
|
-
export const ALL_DATA_TYPES = DATA_TYPE_CATEGORIES.flatMap((category) => category.dataTypes);
|
|
101
|
-
/**
|
|
102
|
-
* Get data types by category name
|
|
103
|
-
*/
|
|
104
|
-
export function getDataTypesByCategory(categoryName) {
|
|
105
|
-
const category = DATA_TYPE_CATEGORIES.find((cat) => cat.name.toLowerCase() === categoryName.toLowerCase());
|
|
106
|
-
return category?.dataTypes || [];
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Search data types by keyword
|
|
110
|
-
*/
|
|
111
|
-
export function searchDataTypes(keyword) {
|
|
112
|
-
const lowerKeyword = keyword.toLowerCase();
|
|
113
|
-
return ALL_DATA_TYPES.filter((dt) => dt.name.toLowerCase().includes(lowerKeyword) ||
|
|
114
|
-
dt.displayName.toLowerCase().includes(lowerKeyword) ||
|
|
115
|
-
dt.description.toLowerCase().includes(lowerKeyword) ||
|
|
116
|
-
dt.category.toLowerCase().includes(lowerKeyword));
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Get data types available for a specific data source
|
|
120
|
-
*/
|
|
121
|
-
export function getDataTypesForSource(sourceName) {
|
|
122
|
-
return ALL_DATA_TYPES.filter((dt) => dt.commonSources?.some((source) => source.toLowerCase().includes(sourceName.toLowerCase())));
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Get summary of all categories for LLM context
|
|
126
|
-
*/
|
|
127
|
-
export function getCategorySummary() {
|
|
128
|
-
return {
|
|
129
|
-
totalCategories: DATA_TYPE_CATEGORIES.length,
|
|
130
|
-
totalDataTypes: ALL_DATA_TYPES.length,
|
|
131
|
-
categories: DATA_TYPE_CATEGORIES.map((cat) => ({
|
|
132
|
-
name: cat.name,
|
|
133
|
-
count: cat.dataTypes.length,
|
|
134
|
-
description: cat.description,
|
|
135
|
-
})),
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
//# sourceMappingURL=data-types.js.map
|
package/dist/data-types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data-types.js","sourceRoot":"","sources":["../src/data-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAuB;IACtD;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,gEAAgE;QAC7E,SAAS,EAAE;YACT,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE;YAC1K,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE;YACzL,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,+BAA+B,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;YAC3L,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,yBAAyB,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE;YACjL,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,0BAA0B,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;YACnL,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,WAAW,EAAE,yBAAyB,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,8BAA8B,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,QAAQ,CAAC,EAAE;YAC/L,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,WAAW,EAAE,4BAA4B,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,iCAAiC,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;YAClN,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,sBAAsB,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,iCAAiC,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,QAAQ,CAAC,EAAE;SAC7L;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,4EAA4E;QACzF,SAAS,EAAE;YACT,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE;YAC7M,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,iCAAiC,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE;YAC1M,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,4BAA4B,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;YACpL,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,iCAAiC,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE;SAC7L;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,0DAA0D;QACvE,SAAS,EAAE;YACT,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE;YACpM,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,sBAAsB,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,2BAA2B,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE;YACrM,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,qBAAqB,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE;YAClM,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE;YAC/L,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,sCAAsC,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE;YAC7L,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,qCAAqC,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;SAChM;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,uEAAuE;QACpF,SAAS,EAAE;YACT,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE;YACxK,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE;YAC/J,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,WAAW,EAAE,qBAAqB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE,wBAAwB,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE;YAC3M,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,UAAU,CAAC,EAAE;YACnK,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,UAAU,CAAC,EAAE;YAC7J,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,WAAW,EAAE,uBAAuB,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,UAAU,CAAC,EAAE;SACvL;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,uDAAuD;QACpE,SAAS,EAAE;YACT,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,4BAA4B,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;YACrL,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,wBAAwB,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,oCAAoC,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE;YACnM,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,4CAA4C,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;SACnL;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,sDAAsD;QACnE,SAAS,EAAE;YACT,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,yBAAyB,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,8BAA8B,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE;YACvM,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,oBAAoB,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE;SAC5L;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,uCAAuC;QACpD,SAAS,EAAE;YACT,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE;YAC9L,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,gCAAgC,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE;YACvM,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,8BAA8B,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;YACrL,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;YACtK,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,yBAAyB,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE;SACrL;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,gCAAgC;QAC7C,SAAS,EAAE;YACT,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,8BAA8B,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;YACrL,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,iCAAiC,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,MAAM,CAAC,EAAE;YACjL,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,mCAAmC,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,OAAO,CAAC,EAAE;SACpK;KACF;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAe,oBAAoB,CAAC,OAAO,CACpE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CACjC,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,YAAoB;IACzD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CACxC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,WAAW,EAAE,CAC/D,CAAC;IACF,OAAO,QAAQ,EAAE,SAAS,IAAI,EAAE,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAC3C,OAAO,cAAc,CAAC,MAAM,CAC1B,CAAC,EAAE,EAAE,EAAE,CACL,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC5C,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACnD,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACnD,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CACnD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAkB;IACtD,OAAO,cAAc,CAAC,MAAM,CAC1B,CAAC,EAAE,EAAE,EAAE,CACL,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAChC,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CACxD,CACJ,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAKhC,OAAO;QACL,eAAe,EAAE,oBAAoB,CAAC,MAAM;QAC5C,cAAc,EAAE,cAAc,CAAC,MAAM;QACrC,UAAU,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC7C,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,MAAM;YAC3B,WAAW,EAAE,GAAG,CAAC,WAAW;SAC7B,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC"}
|
package/dist/debug-logger.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { DebugMetadata } from "./types.js";
|
|
2
|
-
/**
|
|
3
|
-
* Log debug information to console in a formatted way
|
|
4
|
-
* Only outputs when DEBUG_MODE is enabled
|
|
5
|
-
*
|
|
6
|
-
* @param debug - Debug metadata to log
|
|
7
|
-
*/
|
|
8
|
-
export declare function logDebugInfo(debug: DebugMetadata): void;
|
|
9
|
-
/**
|
|
10
|
-
* Log a simple debug message
|
|
11
|
-
* Only outputs when DEBUG_MODE is enabled
|
|
12
|
-
*
|
|
13
|
-
* @param message - Message to log
|
|
14
|
-
* @param data - Optional data to log
|
|
15
|
-
*/
|
|
16
|
-
export declare function debugLog(message: string, data?: any): void;
|
|
17
|
-
//# sourceMappingURL=debug-logger.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debug-logger.d.ts","sourceRoot":"","sources":["../src/debug-logger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CASvD;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI,CAQ1D"}
|
package/dist/debug-logger.js
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { DEBUG_MODE } from "./debug-middleware.js";
|
|
2
|
-
/**
|
|
3
|
-
* Log debug information to console in a formatted way
|
|
4
|
-
* Only outputs when DEBUG_MODE is enabled
|
|
5
|
-
*
|
|
6
|
-
* @param debug - Debug metadata to log
|
|
7
|
-
*/
|
|
8
|
-
export function logDebugInfo(debug) {
|
|
9
|
-
if (!DEBUG_MODE)
|
|
10
|
-
return;
|
|
11
|
-
console.log("\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
|
|
12
|
-
console.log(`🔧 DEBUG: ${debug.toolName}`);
|
|
13
|
-
console.log(`⏰ Timestamp: ${debug.timestamp}`);
|
|
14
|
-
console.log(`⚡ Duration: ${debug.toolCallTime.toFixed(2)}ms`);
|
|
15
|
-
console.log(`📥 Input:`, JSON.stringify(debug.toolInput, null, 2));
|
|
16
|
-
console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n");
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Log a simple debug message
|
|
20
|
-
* Only outputs when DEBUG_MODE is enabled
|
|
21
|
-
*
|
|
22
|
-
* @param message - Message to log
|
|
23
|
-
* @param data - Optional data to log
|
|
24
|
-
*/
|
|
25
|
-
export function debugLog(message, data) {
|
|
26
|
-
if (!DEBUG_MODE)
|
|
27
|
-
return;
|
|
28
|
-
if (data !== undefined) {
|
|
29
|
-
console.log(`[DEBUG] ${message}`, data);
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
console.log(`[DEBUG] ${message}`);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=debug-logger.js.map
|
package/dist/debug-logger.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debug-logger.js","sourceRoot":"","sources":["../src/debug-logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGnD;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAoB;IAC/C,IAAI,CAAC,UAAU;QAAE,OAAO;IAExB,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,IAAU;IAClD,IAAI,CAAC,UAAU;QAAE,OAAO;IAExB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC;IACpC,CAAC;AACH,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { Request } from "express";
|
|
2
|
-
import type { z } from "zod";
|
|
3
|
-
import type { GetActivitySchema } from "../../schemas.js";
|
|
4
|
-
export declare function getActivity(req: Request, args: z.infer<typeof GetActivitySchema>): Promise<{
|
|
5
|
-
category: import("../../category-mappings.js").HealthCategory;
|
|
6
|
-
resolution: "daily" | "epoch";
|
|
7
|
-
data: import("../../types.js").HealthDataRecord[];
|
|
8
|
-
metadata: any;
|
|
9
|
-
}>;
|
|
10
|
-
//# sourceMappingURL=getActivity.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getActivity.d.ts","sourceRoot":"","sources":["../../../src/tools/categories/getActivity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,wBAAsB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC;;;;;GAEtF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getActivity.js","sourceRoot":"","sources":["../../../src/tools/categories/getActivity.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,GAAY,EAAE,IAAuC;IACrF,OAAO,mBAAmB,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { Request } from "express";
|
|
2
|
-
import type { z } from "zod";
|
|
3
|
-
import type { GetAudioAndHearingSchema } from "../../schemas.js";
|
|
4
|
-
export declare function getAudioAndHearing(req: Request, args: z.infer<typeof GetAudioAndHearingSchema>): Promise<{
|
|
5
|
-
category: import("../../category-mappings.js").HealthCategory;
|
|
6
|
-
resolution: "daily" | "epoch";
|
|
7
|
-
data: import("../../types.js").HealthDataRecord[];
|
|
8
|
-
metadata: any;
|
|
9
|
-
}>;
|
|
10
|
-
//# sourceMappingURL=getAudioAndHearing.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getAudioAndHearing.d.ts","sourceRoot":"","sources":["../../../src/tools/categories/getAudioAndHearing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAGjE,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC;;;;;GAEpG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getAudioAndHearing.js","sourceRoot":"","sources":["../../../src/tools/categories/getAudioAndHearing.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,GAAY,EAAE,IAA8C;IACnG,OAAO,mBAAmB,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { Request } from "express";
|
|
2
|
-
import type { z } from "zod";
|
|
3
|
-
import type { GetBloodGlucoseSchema } from "../../schemas.js";
|
|
4
|
-
export declare function getBloodGlucose(req: Request, args: z.infer<typeof GetBloodGlucoseSchema>): Promise<{
|
|
5
|
-
category: import("../../category-mappings.js").HealthCategory;
|
|
6
|
-
resolution: "daily" | "epoch";
|
|
7
|
-
data: import("../../types.js").HealthDataRecord[];
|
|
8
|
-
metadata: any;
|
|
9
|
-
}>;
|
|
10
|
-
//# sourceMappingURL=getBloodGlucose.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getBloodGlucose.d.ts","sourceRoot":"","sources":["../../../src/tools/categories/getBloodGlucose.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAG9D,wBAAsB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC;;;;;GAE9F"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getBloodGlucose.js","sourceRoot":"","sources":["../../../src/tools/categories/getBloodGlucose.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhE,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAY,EAAE,IAA2C;IAC7F,OAAO,mBAAmB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;AACzD,CAAC"}
|