@indaco/garmin-personal-mcp 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.
- package/README.md +55 -30
- package/dist/dashboard.html +1 -1
- package/dist/index.js +11 -11
- package/package.json +1 -1
- package/prompts/dashboard-setup.md +3 -3
package/dist/index.js
CHANGED
|
@@ -24103,7 +24103,7 @@ function loadConfig(env = process.env) {
|
|
|
24103
24103
|
};
|
|
24104
24104
|
}
|
|
24105
24105
|
// package.json
|
|
24106
|
-
var version = "0.1.
|
|
24106
|
+
var version = "0.1.1";
|
|
24107
24107
|
// src/log.ts
|
|
24108
24108
|
/** Past this size the log moves to `<file>.1`, replacing the one before, and a new log starts. */
|
|
24109
24109
|
const MAX_BYTES = 1e6;
|
|
@@ -60237,7 +60237,7 @@ const ABOUT = {
|
|
|
60237
60237
|
bedtime: "Bedtimes of the last 14 nights and their spread.",
|
|
60238
60238
|
bodyBattery: "Body battery high and low of the last 14 days.",
|
|
60239
60239
|
activities: "The activities of the window, 15 rows first; activities with laps open to show them.",
|
|
60240
|
-
coachNotes: "The coach notes that
|
|
60240
|
+
coachNotes: "The coach notes that the assistant writes for the data.",
|
|
60241
60241
|
typeKpis: "Sessions, time, distance with pace or speed, HR, Garmin load and its share, and the last 7 days against the 4-week average.",
|
|
60242
60242
|
typeWeekly: "Time, distance or sessions of each week.",
|
|
60243
60243
|
hrZones: "Minutes in HR zones 1-5 each week.",
|
|
@@ -60270,7 +60270,7 @@ const BUILT_IN = { it: {
|
|
|
60270
60270
|
title: "Allenamento + Recupero",
|
|
60271
60271
|
headline: "Carico di allenamento, recupero e progressi da Garmin Connect",
|
|
60272
60272
|
na: "n/d",
|
|
60273
|
-
noData: "Questa pagina non ha ancora dati. Chiedi
|
|
60273
|
+
noData: "Questa pagina non ha ancora dati. Chiedi al tuo assistente di scrivere la dashboard.",
|
|
60274
60274
|
period: "dal {from} al {to}",
|
|
60275
60275
|
inProgress: "* settimana in corso",
|
|
60276
60276
|
"menu.settings": "Impostazioni",
|
|
@@ -60420,7 +60420,7 @@ const BUILT_IN = { it: {
|
|
|
60420
60420
|
"said.unchanged": "Nessuna modifica da salvare",
|
|
60421
60421
|
"said.discarded": "Modifiche annullate",
|
|
60422
60422
|
"stale.label": "Nuovo layout",
|
|
60423
|
-
"stale.text": "
|
|
60423
|
+
"stale.text": "Il tuo assistente ha scritto un nuovo layout per questa dashboard. Il layout che hai fatto in questo browser resta finché non scegli.",
|
|
60424
60424
|
"stale.keep": "Tieni il mio",
|
|
60425
60425
|
"stale.new": "Usa il nuovo",
|
|
60426
60426
|
"stale.used": "Ora usi il nuovo layout",
|
|
@@ -60432,7 +60432,7 @@ const BUILT_IN = { it: {
|
|
|
60432
60432
|
"add.hiddenGroup": "Nascosti in questa scheda",
|
|
60433
60433
|
"add.none": "Tutti i widget sono già in questa scheda.",
|
|
60434
60434
|
"copy.title": "Copia layout",
|
|
60435
|
-
"copy.hint": "Questo layout è salvato solo in questo browser. Per tenerlo nella pagina, incolla questo testo
|
|
60435
|
+
"copy.hint": "Questo layout è salvato solo in questo browser. Per tenerlo nella pagina, incolla questo testo al tuo assistente e chiedigli di salvare il layout della dashboard.",
|
|
60436
60436
|
"copy.copy": "Copia",
|
|
60437
60437
|
"copy.copied": "Copiato",
|
|
60438
60438
|
"board.empty": "Questa scheda non ha widget.",
|
|
@@ -60715,7 +60715,7 @@ const en = {
|
|
|
60715
60715
|
title: "Training + Recovery",
|
|
60716
60716
|
headline: "Training load, recovery and progress from Garmin Connect",
|
|
60717
60717
|
na: "n/a",
|
|
60718
|
-
noData: "This page has no data yet. Ask
|
|
60718
|
+
noData: "This page has no data yet. Ask your assistant to write the dashboard.",
|
|
60719
60719
|
period: "{from} to {to}",
|
|
60720
60720
|
inProgress: "* week in progress",
|
|
60721
60721
|
"menu.settings": "Settings",
|
|
@@ -60865,7 +60865,7 @@ const en = {
|
|
|
60865
60865
|
"said.unchanged": "No changes to save",
|
|
60866
60866
|
"said.discarded": "Changes discarded",
|
|
60867
60867
|
"stale.label": "New layout",
|
|
60868
|
-
"stale.text": "
|
|
60868
|
+
"stale.text": "Your assistant wrote a new layout for this dashboard. The layout you made in this browser stays until you choose.",
|
|
60869
60869
|
"stale.keep": "Keep mine",
|
|
60870
60870
|
"stale.new": "Use the new one",
|
|
60871
60871
|
"stale.used": "The new layout is in use",
|
|
@@ -60877,7 +60877,7 @@ const en = {
|
|
|
60877
60877
|
"add.hiddenGroup": "Hidden on this board",
|
|
60878
60878
|
"add.none": "Every widget is on this board.",
|
|
60879
60879
|
"copy.title": "Copy layout",
|
|
60880
|
-
"copy.hint": "This layout is saved in this browser only. To keep it in the page, paste this text to
|
|
60880
|
+
"copy.hint": "This layout is saved in this browser only. To keep it in the page, paste this text to your assistant and ask it to save the dashboard layout.",
|
|
60881
60881
|
"copy.copy": "Copy",
|
|
60882
60882
|
"copy.copied": "Copied",
|
|
60883
60883
|
"board.empty": "This board has no widgets.",
|
|
@@ -61417,7 +61417,7 @@ function registerPrompts(server) {
|
|
|
61417
61417
|
description: dashboardDescription,
|
|
61418
61418
|
argsSchema: object({
|
|
61419
61419
|
weeks: string().describe(`Number of weeks to cover, default ${DEFAULT_WEEKS}`).optional(),
|
|
61420
|
-
layout: string().describe("preset (default): the built-in widgets; blank: an empty grid; freeform:
|
|
61420
|
+
layout: string().describe("preset (default): the built-in widgets; blank: an empty grid; freeform: the assistant designs the whole page").optional()
|
|
61421
61421
|
})
|
|
61422
61422
|
}, (args) => {
|
|
61423
61423
|
const w = weeks(args.weeks);
|
|
@@ -61478,7 +61478,7 @@ function registerPrompts(server) {
|
|
|
61478
61478
|
languageNames: ["English", ...Object.keys(BUILT_IN).map(languageName)].join(" and "),
|
|
61479
61479
|
themes: THEMES.map((t) => t.id).join(", ")
|
|
61480
61480
|
})));
|
|
61481
|
-
const languageDescription = "Add a language to the training dashboard (
|
|
61481
|
+
const languageDescription = "Add a language to the training dashboard (the assistant translates its texts)";
|
|
61482
61482
|
server.registerPrompt("dashboard-language", {
|
|
61483
61483
|
description: languageDescription,
|
|
61484
61484
|
argsSchema: object({
|
|
@@ -61807,7 +61807,7 @@ var DashboardWriter = class {
|
|
|
61807
61807
|
let settings;
|
|
61808
61808
|
try {
|
|
61809
61809
|
const saved = readBlock(old, "layout");
|
|
61810
|
-
if (saved === void 0) throw new Error("This page has no widget layout: it is a page that
|
|
61810
|
+
if (saved === void 0) throw new Error("This page has no widget layout: it is a page that the assistant wrote, not the template");
|
|
61811
61811
|
layout = parseLayout(saved);
|
|
61812
61812
|
widgets = readBlock(old, "widgets") ?? [];
|
|
61813
61813
|
texts = readBlock(old, "i18n") ?? {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@indaco/garmin-personal-mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "MCP server for the official Garmin Connect Personal API",
|
|
5
5
|
"homepage": "https://github.com/indaco/garmin-personal-mcp#readme",
|
|
6
6
|
"bugs": "https://github.com/indaco/garmin-personal-mcp/issues",
|
|
@@ -43,9 +43,9 @@ such a tool, ask the questions in chat as numbered lists, with the default first
|
|
|
43
43
|
Use only numbers of the digest. **Never invent, interpolate or estimate missing values.** If a value
|
|
44
44
|
is missing, write "n/a". If a call fails, say which one and why in one line.
|
|
45
45
|
|
|
46
|
-
Do not write or change the page yourself. Settings need a page from the template: a page
|
|
47
|
-
|
|
46
|
+
Do not write or change the page yourself. Settings need a page from the template: a page designed with
|
|
47
|
+
layout freeform cannot keep them.
|
|
48
48
|
|
|
49
49
|
Finish with two lines in chat: the path of the page with the command to open it (`open` on macOS,
|
|
50
50
|
`xdg-open` on Linux, `start` on Windows), and the settings that the page keeps. Later updates keep
|
|
51
|
-
the settings: for a page with another file name, ask
|
|
51
|
+
the settings: for a page with another file name, ask your assistant to update that file.
|