wellness-nourish 0.1.2 → 0.1.3

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 CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  Wellness Nourish is a local MCP server for nutrition search, barcode lookup, barcode photo lookup, photo-assisted meal estimation, intake logging, hydration, goals, exports, and daily or weekly summaries. It runs over stdio by default for MCP clients and can also run a Streamable HTTP endpoint at `POST /mcp`.
6
6
 
7
- The connector uses USDA FoodData Central as the primary food search provider. Open Food Facts is used for packaged-food barcode lookup when enabled. Local barcode image decoding is supported with ZXing. Meal photos are estimated only from an agent-provided visual observation and always require confirmation before logging. It does not provide hosted sync, autonomous photo upload, recipe generation, or medical advice.
7
+ The connector uses USDA FoodData Central as the primary food search provider. Open Food Facts is used for packaged-food barcode lookup when enabled. Local barcode image decoding is supported with ZXing. Meal photos are estimated only from an agent-provided visual observation and always require confirmation before logging. The local estimator includes a small pt-BR/Brazilian-food dictionary for common meals such as arroz, feijão, frango, ovos, banana and salada. It does not provide hosted sync, autonomous photo upload, recipe generation, or medical advice.
8
8
 
9
9
  ## Install
10
10
 
@@ -105,6 +105,8 @@ hermes mcp test nourish
105
105
 
106
106
  This adds a `nourish` MCP server block to `~/.hermes/config.yaml`, installs `~/.hermes/skills/nourish-mcp/SKILL.md`, and pins the npm package version. After config changes, use `/reload-mcp` or `hermes mcp test nourish`.
107
107
 
108
+ Hermes setup also writes `~/.hermes/scripts/nourish-mcp-wrapper.sh`. The wrapper sources `~/.hermes/secrets/nourish.env` when present, so `FDC_API_KEY` can be managed as a server-side secret without pasting it into chat or relying on a stale shell session.
109
+
108
110
  Recommended Telegram flow:
109
111
 
110
112
  1. User says what they ate.
@@ -8,6 +8,7 @@ export interface HermesSetupResult {
8
8
  client: "hermes";
9
9
  client_config_path: string;
10
10
  hermes_skill_path: string;
11
+ nourish_wrapper_path: string;
11
12
  hermes_config_backup_path?: string;
12
13
  nourish_local_dir: string;
13
14
  personal_telegram_ready: true;
@@ -9,16 +9,21 @@ export function setupHermes(options = {}) {
9
9
  const localDir = expandHome(options.localDir ?? join(homeDir, ".hermes", "nourish", profile));
10
10
  const configPath = join(homeDir, ".hermes", "config.yaml");
11
11
  const skillPath = join(homeDir, ".hermes", "skills", "nourish-mcp", "SKILL.md");
12
+ const wrapperPath = join(homeDir, ".hermes", "scripts", "nourish-mcp-wrapper.sh");
12
13
  mkdirSync(localDir, { recursive: true, mode: 0o700 });
13
14
  chmodSync(localDir, 0o700);
14
15
  mkdirSync(dirname(configPath), { recursive: true, mode: 0o700 });
15
16
  mkdirSync(dirname(skillPath), { recursive: true, mode: 0o700 });
16
- const backupPath = mergeHermesConfig(configPath, localDir);
17
+ mkdirSync(dirname(wrapperPath), { recursive: true, mode: 0o700 });
18
+ writeFileSync(wrapperPath, `${nourishWrapperScript()}\n`, { mode: 0o700 });
19
+ chmodSync(wrapperPath, 0o700);
20
+ const backupPath = mergeHermesConfig(configPath, localDir, wrapperPath);
17
21
  writeFileSync(skillPath, `${hermesSkillMarkdown(localDir)}\n`, { mode: 0o600 });
18
22
  chmodSync(skillPath, 0o600);
19
23
  const warnings = [
20
24
  "After editing Hermes MCP config, use `/reload-mcp` or `hermes mcp test nourish`; do not restart the Hermes gateway for normal Nourish data access.",
21
25
  `Hermes config pins ${PINNED_NPM_PACKAGE} to avoid stale npx cache behavior.`,
26
+ "Hermes runs Nourish through a wrapper that sources ~/.hermes/secrets/nourish.env when present, without printing secrets.",
22
27
  "Food logs are personal data; keep NOURISH_LOCAL_DIR scoped to the intended Telegram user/profile.",
23
28
  ];
24
29
  return {
@@ -26,6 +31,7 @@ export function setupHermes(options = {}) {
26
31
  client: "hermes",
27
32
  client_config_path: configPath,
28
33
  hermes_skill_path: skillPath,
34
+ nourish_wrapper_path: wrapperPath,
29
35
  ...(backupPath === undefined ? {} : { hermes_config_backup_path: backupPath }),
30
36
  nourish_local_dir: localDir,
31
37
  personal_telegram_ready: true,
@@ -43,12 +49,14 @@ export function inspectHermes(options = {}) {
43
49
  const skillPath = join(homeDir, ".hermes", "skills", "nourish-mcp", "SKILL.md");
44
50
  const configExists = existsSync(configPath);
45
51
  const config = configExists ? readFileSync(configPath, "utf8") : "";
52
+ const wrapperPath = join(homeDir, ".hermes", "scripts", "nourish-mcp-wrapper.sh");
53
+ const wrapper = existsSync(wrapperPath) ? readFileSync(wrapperPath, "utf8") : "";
46
54
  const localDir = parseNourishLocalDir(config);
47
55
  const skillInstalled = existsSync(skillPath);
48
56
  const check = {
49
57
  config_exists: configExists,
50
- nourish_server_configured: /^\s*nourish\s*:/m.test(config) && /wellness-nourish/.test(config),
51
- package_pinned: config.includes(PINNED_NPM_PACKAGE),
58
+ nourish_server_configured: /^\s*nourish\s*:/m.test(config) && (/wellness-nourish/.test(config) || /nourish-mcp-wrapper\.sh/.test(config)),
59
+ package_pinned: config.includes(PINNED_NPM_PACKAGE) || wrapper.includes(PINNED_NPM_PACKAGE),
52
60
  skill_installed: skillInstalled,
53
61
  ...(localDir === undefined ? {} : { nourish_local_dir: localDir }),
54
62
  nourish_local_dir_exists: localDir === undefined ? false : existsSync(expandHome(localDir)),
@@ -82,6 +90,8 @@ export function hermesSkillMarkdown(localDir = "~/.wellness-nourish") {
82
90
  "- If the user only says what they ate, first call `mcp_nourish_nourish_estimate_meal`, return a compact preview with calories, protein, confidence and warnings, then ask whether to save it.",
83
91
  "- If the user sends a barcode photo and Hermes has an image path, base64 image, or data URI, call `mcp_nourish_nourish_lookup_barcode_image`; if only visible digits are available, call `mcp_nourish_nourish_lookup_barcode`.",
84
92
  "- If the user sends a meal photo, describe the visible food and portions as `detected_items`, call `mcp_nourish_nourish_estimate_meal_photo`, then ask the user to confirm portions before logging.",
93
+ "- For Portuguese/Brazilian meals, preserve explicit quantities such as `200g arroz`, `120g feijão`, `150g frango`, call estimate with `locale: pt-BR`, and ask one concise clarification only for unresolved foods.",
94
+ "- If a tool returns `USER_ACTION_REQUIRED`, treat it as a normal confirmation guard, not as a server outage.",
85
95
  "- Preserve uncertainty. Include confidence and unresolved items instead of pretending estimates are exact.",
86
96
  "- Use `response_format: markdown` for Telegram-facing summaries when available.",
87
97
  "",
@@ -100,8 +110,8 @@ export function hermesSkillMarkdown(localDir = "~/.wellness-nourish") {
100
110
  `Configured local store: \`${localDir}\`.`,
101
111
  ].join("\n");
102
112
  }
103
- function mergeHermesConfig(configPath, localDir) {
104
- const snippet = `mcp_servers:\n${nourishServerBlock(localDir)}\n`;
113
+ function mergeHermesConfig(configPath, localDir, wrapperPath) {
114
+ const snippet = `mcp_servers:\n${nourishServerBlock(localDir, wrapperPath)}\n`;
105
115
  if (!existsSync(configPath)) {
106
116
  writeFileSync(configPath, ensureReloadHint(snippet), { mode: 0o600 });
107
117
  chmodSync(configPath, 0o600);
@@ -109,14 +119,14 @@ function mergeHermesConfig(configPath, localDir) {
109
119
  }
110
120
  const backupPath = backupConfig(configPath);
111
121
  const existing = readFileSync(configPath, "utf8");
112
- const next = existing.trimEnd().length ? upsertNourishBlock(existing, localDir) : snippet;
122
+ const next = existing.trimEnd().length ? upsertNourishBlock(existing, localDir, wrapperPath) : snippet;
113
123
  writeFileSync(configPath, ensureReloadHint(next), { mode: 0o600 });
114
124
  chmodSync(configPath, 0o600);
115
125
  return backupPath;
116
126
  }
117
- function upsertNourishBlock(existing, localDir) {
127
+ function upsertNourishBlock(existing, localDir, wrapperPath) {
118
128
  const lines = existing.trimEnd().split("\n");
119
- const block = nourishServerBlock(localDir).split("\n");
129
+ const block = nourishServerBlock(localDir, wrapperPath).split("\n");
120
130
  const mcpIndex = lines.findIndex((line) => /^mcp_servers:\s*$/.test(line));
121
131
  if (mcpIndex === -1) {
122
132
  return `${lines.join("\n")}\n\n# Added by ${NPM_PACKAGE_NAME} setup.\nmcp_servers:\n${block.join("\n")}\n`;
@@ -137,18 +147,29 @@ function upsertNourishBlock(existing, localDir) {
137
147
  lines.splice(start, end - start, ...block);
138
148
  return `${lines.join("\n")}\n`;
139
149
  }
140
- function nourishServerBlock(localDir) {
150
+ function nourishServerBlock(localDir, wrapperPath) {
141
151
  return [
142
152
  " nourish:",
143
- " command: npx",
144
- " args:",
145
- " - -y",
146
- ` - ${PINNED_NPM_PACKAGE}`,
153
+ ` command: ${wrapperPath}`,
147
154
  " env:",
148
155
  ` NOURISH_LOCAL_DIR: ${localDir}`,
149
156
  ' NOURISH_OFF_ENABLED: "1"',
150
157
  ].join("\n");
151
158
  }
159
+ function nourishWrapperScript() {
160
+ return [
161
+ "#!/usr/bin/env bash",
162
+ "set -euo pipefail",
163
+ 'SECRET_FILE="${NOURISH_ENV_FILE:-${HERMES_HOME:-$HOME/.hermes}/secrets/nourish.env}"',
164
+ 'if [ -f "$SECRET_FILE" ]; then',
165
+ " set -a",
166
+ ' . "$SECRET_FILE"',
167
+ " set +a",
168
+ "fi",
169
+ 'export NOURISH_OFF_ENABLED="${NOURISH_OFF_ENABLED:-1}"',
170
+ `exec npx -y ${PINNED_NPM_PACKAGE} "$@"`,
171
+ ].join("\n");
172
+ }
152
173
  function backupConfig(path) {
153
174
  const backupPath = `${path}.bak-nourish-mcp-${new Date().toISOString().replace(/[-:]/g, "").replace(/\..+/, "Z")}`;
154
175
  renameSync(path, backupPath);
@@ -1 +1 @@
1
- {"version":3,"file":"hermes.js","sourceRoot":"","sources":["../../src/cli/hermes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hermes.js","sourceRoot":"","sources":["../../src/cli/hermes.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  export declare const SERVER_NAME = "nourish-mcp";
2
- export declare const SERVER_VERSION = "0.1.2";
2
+ export declare const SERVER_VERSION = "0.1.3";
3
3
  export declare const NPM_PACKAGE_NAME = "wellness-nourish";
4
- export declare const PINNED_NPM_PACKAGE = "wellness-nourish@0.1.2";
4
+ export declare const PINNED_NPM_PACKAGE = "wellness-nourish@0.1.3";
5
5
  export declare const DEFAULT_HOST = "127.0.0.1";
6
6
  export declare const DEFAULT_PORT = 3000;
7
7
  export declare const LOCAL_DIR_NAME = ".wellness-nourish";
8
- export declare const USER_AGENT = "wellness-nourish/0.1.2 (https://wellness.delx.ai; contact: david@delx.ai)";
8
+ export declare const USER_AGENT = "wellness-nourish/0.1.3 (https://wellness.delx.ai; contact: david@delx.ai)";
9
9
  export declare const USDA_BASE_URL = "https://api.nal.usda.gov/fdc/v1";
10
10
  export declare const OFF_BASE_URL = "https://world.openfoodfacts.org";
package/dist/constants.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export const SERVER_NAME = "nourish-mcp";
2
- export const SERVER_VERSION = "0.1.2";
2
+ export const SERVER_VERSION = "0.1.3";
3
3
  export const NPM_PACKAGE_NAME = "wellness-nourish";
4
4
  export const PINNED_NPM_PACKAGE = `${NPM_PACKAGE_NAME}@${SERVER_VERSION}`;
5
5
  export const DEFAULT_HOST = "127.0.0.1";
@@ -1,5 +1,7 @@
1
1
  import type { FoodItem } from "../types.js";
2
- export declare function lookupOpenFoodFactsBarcode(barcode: string): Promise<{
2
+ type OpenFoodFactsLookupResult = {
3
3
  food: FoodItem;
4
4
  provider: "open_food_facts";
5
- }>;
5
+ };
6
+ export declare function lookupOpenFoodFactsBarcode(barcode: string): Promise<OpenFoodFactsLookupResult>;
7
+ export {};
@@ -21,6 +21,7 @@ const NUTRIENT_KEYS = {
21
21
  sugars_100g: "sugar_g",
22
22
  "saturated-fat_100g": "saturated_fat_g",
23
23
  };
24
+ const OFF_CACHE = new Map();
24
25
  function finiteNumber(value) {
25
26
  if (typeof value === "number" && Number.isFinite(value)) {
26
27
  return value;
@@ -48,6 +49,9 @@ async function fetchBarcode(barcode) {
48
49
  },
49
50
  });
50
51
  if (!response.ok) {
52
+ if (response.status === 429) {
53
+ throw new Error("Open Food Facts is rate limiting requests right now. Try again in a few minutes, or provide the product name, label photo, or visible nutrition facts manually.");
54
+ }
51
55
  throw new Error(`Open Food Facts request failed: ${response.status} ${response.statusText}`);
52
56
  }
53
57
  return (await response.json());
@@ -129,13 +133,69 @@ export async function lookupOpenFoodFactsBarcode(barcode) {
129
133
  if (!config.off_enabled) {
130
134
  throw new Error("Open Food Facts provider is disabled");
131
135
  }
132
- const response = config.fixture_mode ? await readFixture(barcode) : await fetchBarcode(barcode);
136
+ const cached = getCachedLookup(barcode);
137
+ let response;
138
+ try {
139
+ response = config.fixture_mode ? await readFixture(barcode) : await fetchBarcode(barcode);
140
+ }
141
+ catch (error) {
142
+ if (cached !== undefined && isRateLimitError(error)) {
143
+ return cloneLookupResult(cached, "Returned cached Open Food Facts result because the provider is rate limiting requests right now.");
144
+ }
145
+ throw error;
146
+ }
133
147
  if (response.product === undefined || response.status === 0) {
134
148
  throw new Error(`Open Food Facts product not found for barcode ${barcode}`);
135
149
  }
136
- return {
150
+ const result = {
137
151
  provider: "open_food_facts",
138
152
  food: mapProduct(response, barcode),
139
153
  };
154
+ setCachedLookup(barcode, result, config.cache_ttl_seconds);
155
+ return cloneLookupResult(result);
156
+ }
157
+ function getCachedLookup(barcode) {
158
+ const cached = OFF_CACHE.get(barcode);
159
+ if (cached === undefined) {
160
+ return undefined;
161
+ }
162
+ if (cached.expires_at <= Date.now()) {
163
+ OFF_CACHE.delete(barcode);
164
+ return undefined;
165
+ }
166
+ return cached.result;
167
+ }
168
+ function setCachedLookup(barcode, result, ttlSeconds) {
169
+ OFF_CACHE.set(barcode, {
170
+ expires_at: Date.now() + Math.max(ttlSeconds, 1) * 1000,
171
+ result: cloneLookupResult(result),
172
+ });
173
+ }
174
+ function cloneLookupResult(result, warning) {
175
+ const food = {
176
+ ...result.food,
177
+ available_portions: result.food.available_portions.map((portion) => ({ ...portion })),
178
+ nutrients_per_100g: { ...result.food.nutrients_per_100g },
179
+ data_quality: {
180
+ ...result.food.data_quality,
181
+ warnings: warning === undefined
182
+ ? [...result.food.data_quality.warnings]
183
+ : [...result.food.data_quality.warnings, warning],
184
+ },
185
+ license: { ...result.food.license },
186
+ };
187
+ if (result.food.serving !== undefined) {
188
+ food.serving = { ...result.food.serving };
189
+ }
190
+ if (result.food.nutrients_per_serving !== undefined) {
191
+ food.nutrients_per_serving = { ...result.food.nutrients_per_serving };
192
+ }
193
+ return {
194
+ provider: result.provider,
195
+ food,
196
+ };
197
+ }
198
+ function isRateLimitError(error) {
199
+ return error instanceof Error && /rate limiting|429|Too Many Requests/i.test(error.message);
140
200
  }
141
201
  //# sourceMappingURL=open-food-facts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"open-food-facts.js","sourceRoot":"","sources":["../../src/providers/open-food-facts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"open-food-facts.js","sourceRoot":"","sources":["../../src/providers/open-food-facts.ts"],"names":[],"mappings":"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"}
@@ -141,7 +141,7 @@ export async function searchUsdaFoods(query, limit = 10) {
141
141
  });
142
142
  return {
143
143
  provider: "usda",
144
- foods: (search.foods ?? []).slice(0, limit).map(mapFood),
144
+ foods: rankSearchFoods(query, search.foods ?? []).slice(0, limit).map(mapFood),
145
145
  };
146
146
  }
147
147
  export async function getUsdaFood(sourceId) {
@@ -154,4 +154,38 @@ export async function getUsdaFood(sourceId) {
154
154
  }
155
155
  return mapFood(food);
156
156
  }
157
+ function rankSearchFoods(query, foods) {
158
+ return [...foods].sort((left, right) => foodSearchScore(query, left) - foodSearchScore(query, right));
159
+ }
160
+ function foodSearchScore(query, food) {
161
+ const description = (food.description ?? "").toLowerCase();
162
+ const dataType = (food.dataType ?? "").toLowerCase();
163
+ const normalizedQuery = query.toLowerCase().trim();
164
+ let score = 0;
165
+ if (dataType.includes("branded")) {
166
+ score += 60;
167
+ }
168
+ if (dataType.includes("foundation")) {
169
+ score -= 12;
170
+ }
171
+ if (dataType.includes("sr legacy")) {
172
+ score -= 10;
173
+ }
174
+ if (dataType.includes("survey")) {
175
+ score -= 6;
176
+ }
177
+ if (description === normalizedQuery || description === `${normalizedQuery}s`) {
178
+ score -= 4;
179
+ }
180
+ if (description.includes(", raw") && !normalizedQuery.includes("cooked") && !normalizedQuery.includes("cozido")) {
181
+ score -= 8;
182
+ }
183
+ if ((normalizedQuery.includes("cooked") || normalizedQuery.includes("cozido")) && description.includes("cooked")) {
184
+ score -= 8;
185
+ }
186
+ if (/^[A-Z0-9\s,.-]+$/.test(food.description ?? "") && dataType.includes("branded")) {
187
+ score += 8;
188
+ }
189
+ return score;
190
+ }
157
191
  //# sourceMappingURL=usda.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"usda.js","sourceRoot":"","sources":["../../src/providers/usda.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usda.js","sourceRoot":"","sources":["../../src/providers/usda.ts"],"names":[],"mappings":"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"}
@@ -49,16 +49,7 @@ export const ClearDayInputSchema = z
49
49
  explicit_user_intent: z.boolean().default(false),
50
50
  response_format: ResponseFormatSchema.default("json"),
51
51
  })
52
- .strict()
53
- .superRefine((input, ctx) => {
54
- if (input.explicit_user_intent !== true) {
55
- ctx.addIssue({
56
- code: "custom",
57
- message: "explicit_user_intent must be true to clear a day.",
58
- path: ["explicit_user_intent"],
59
- });
60
- }
61
- });
52
+ .strict();
62
53
  export const HydrationLogInputSchema = z
63
54
  .object({
64
55
  amount_ml: z.number().positive(),
@@ -68,16 +59,7 @@ export const HydrationLogInputSchema = z
68
59
  explicit_user_intent: z.boolean().default(false),
69
60
  response_format: ResponseFormatSchema.default("json"),
70
61
  })
71
- .strict()
72
- .superRefine((input, ctx) => {
73
- if (input.explicit_user_intent !== true) {
74
- ctx.addIssue({
75
- code: "custom",
76
- message: "explicit_user_intent must be true to log hydration.",
77
- path: ["explicit_user_intent"],
78
- });
79
- }
80
- });
62
+ .strict();
81
63
  export const GoalsSetInputSchema = z
82
64
  .object({
83
65
  daily: NutrientMapSchema.optional(),
@@ -87,13 +69,6 @@ export const GoalsSetInputSchema = z
87
69
  })
88
70
  .strict()
89
71
  .superRefine((input, ctx) => {
90
- if (input.explicit_user_intent !== true) {
91
- ctx.addIssue({
92
- code: "custom",
93
- message: "explicit_user_intent must be true to update goals.",
94
- path: ["explicit_user_intent"],
95
- });
96
- }
97
72
  if (input.daily === undefined && input.hydration_ml === undefined) {
98
73
  ctx.addIssue({
99
74
  code: "custom",
@@ -217,13 +192,6 @@ export const IntakeLogInputSchema = z
217
192
  path: ["text"],
218
193
  });
219
194
  }
220
- if (input.explicit_user_intent !== true) {
221
- ctx.addIssue({
222
- code: "custom",
223
- message: "explicit_user_intent must be true to log intake.",
224
- path: ["explicit_user_intent"],
225
- });
226
- }
227
195
  });
228
196
  function hasNonEmptyStringProperty(value, key) {
229
197
  const property = value[key];
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/schemas/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/schemas/common.ts"],"names":[],"mappings":"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"}
@@ -89,6 +89,7 @@ export function buildAgentManifest(client) {
89
89
  "Preview natural-language meals before writing unless the user explicitly says to save/register/log.",
90
90
  "For barcode photos, decode and lookup with nourish_lookup_barcode_image when Hermes can pass an image path, base64 image, or data URI.",
91
91
  "For meal photos, convert the visual observation into detected_items, call nourish_estimate_meal_photo, then ask for portion confirmation before logging.",
92
+ "For Portuguese/Brazilian meal text, keep gram quantities and call nourish_estimate_meal with locale pt-BR before asking follow-up questions.",
92
93
  "Use direct MCP tools from Telegram; avoid shell workarounds for normal nutrition access.",
93
94
  "Return compact Markdown with calories, protein, confidence, warnings, and a confirmation question.",
94
95
  ],
@@ -98,6 +99,8 @@ export function buildAgentManifest(client) {
98
99
  "Use exact search or barcode lookup before estimating nutrition.",
99
100
  "Use barcode image decoding for packaged-food photos when image bytes are available.",
100
101
  "Use meal photo estimation only from an agent-provided visual observation and never log it without confirmation.",
102
+ "Treat missing explicit_user_intent as a normal USER_ACTION_REQUIRED guard, not as server failure.",
103
+ "For Open Food Facts 429 responses, surface the rate-limit message and use cached results when the tool returns them.",
101
104
  "Preserve confidence values and source quality warnings in user-facing summaries.",
102
105
  "Ask confirmation before logging intake unless the user explicitly requested logging.",
103
106
  "For Hermes Telegram usage, use preview -> confirm -> log as the default meal flow.",
@@ -1 +1 @@
1
- {"version":3,"file":"agent-manifest.js","sourceRoot":"","sources":["../../src/services/agent-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAA4B,MAAM,oBAAoB,CAAC;AAkDjF,MAAM,iBAAiB,GAAyB;IAC9C,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,UAAU;IACV,SAAS;CACV,CAAC;AAEF,MAAM,uBAAuB,GAAG;IAC9B,2BAA2B;IAC3B,sBAAsB;IACtB,qBAAqB;CACtB,CAAC;AAEF,MAAM,KAAK,GAAG;IACZ,wBAAwB;IACxB,sBAAsB;IACtB,uBAAuB;IACvB,2BAA2B;IAC3B,qBAAqB;IACrB,wBAAwB;IACxB,8BAA8B;IAC9B,8BAA8B;IAC9B,kBAAkB;IAClB,uBAAuB;IACvB,6BAA6B;IAC7B,oBAAoB;IACpB,qBAAqB;IACrB,uBAAuB;IACvB,uBAAuB;IACvB,mBAAmB;IACnB,mBAAmB;IACnB,2BAA2B;IAC3B,mBAAmB;IACnB,mBAAmB;IACnB,uBAAuB;IACvB,wBAAwB;IACxB,qBAAqB;CACtB,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,cAAc;QACvB,MAAM;QACN,iBAAiB,EAAE,iBAAiB;QACpC,OAAO,EAAE;YACP,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,gBAAgB,CAAC;YAC9B,YAAY,EAAE,CAAC,aAAa,EAAE,qBAAqB,EAAE,mBAAmB,CAAC;SAC1E;QACD,uBAAuB,EAAE,uBAAuB;QAChD,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE;YACT,0BAA0B;YAC1B,wBAAwB;YACxB,yBAAyB;YACzB,uBAAuB;SACxB;QACD,MAAM,EAAE;YACN,gBAAgB,EAAE,cAAc;YAChC,0BAA0B,EAAE,wCAAwC;YACpE,gBAAgB,EAAE,IAAI;YACtB,0BAA0B,EAAE,IAAI;YAChC,kCAAkC,EAAE,IAAI;YACxC,iBAAiB,EAAE;gBACjB,uCAAuC;gBACvC,mCAAmC;gBACnC,yCAAyC;gBACzC,0CAA0C;gBAC1C,gCAAgC;gBAChC,mCAAmC;aACpC;YACD,kBAAkB,EAAE;gBAClB,WAAW,EAAE;oBACX,OAAO,EAAE;wBACP,OAAO,EAAE,KAAK;wBACd,IAAI,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC;wBAChC,GAAG,EAAE;4BACH,iBAAiB,EAAE,gCAAgC;4BACnD,mBAAmB,EAAE,GAAG;yBACzB;qBACF;iBACF;aACF;YACD,0BAA0B,EAAE;gBAC1B,qGAAqG;gBACrG,wIAAwI;gBACxI,0JAA0J;gBAC1J,0FAA0F;gBAC1F,oGAAoG;aACrG;SACF;QACD,WAAW,EAAE;YACX,8DAA8D;YAC9D,iEAAiE;YACjE,qFAAqF;YACrF,iHAAiH;YACjH,kFAAkF;YAClF,sFAAsF;YACtF,oFAAoF;YACpF,mFAAmF;YACnF,2FAA2F;YAC3F,8FAA8F;YAC9F,0FAA0F;YAC1F,qEAAqE;SACtE;QACD,YAAY,EAAE,iBAAiB,EAAE;QACjC,OAAO,EAAE,iBAAiB,EAAE;KAC7B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"agent-manifest.js","sourceRoot":"","sources":["../../src/services/agent-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAA4B,MAAM,oBAAoB,CAAC;AAkDjF,MAAM,iBAAiB,GAAyB;IAC9C,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,UAAU;IACV,SAAS;CACV,CAAC;AAEF,MAAM,uBAAuB,GAAG;IAC9B,2BAA2B;IAC3B,sBAAsB;IACtB,qBAAqB;CACtB,CAAC;AAEF,MAAM,KAAK,GAAG;IACZ,wBAAwB;IACxB,sBAAsB;IACtB,uBAAuB;IACvB,2BAA2B;IAC3B,qBAAqB;IACrB,wBAAwB;IACxB,8BAA8B;IAC9B,8BAA8B;IAC9B,kBAAkB;IAClB,uBAAuB;IACvB,6BAA6B;IAC7B,oBAAoB;IACpB,qBAAqB;IACrB,uBAAuB;IACvB,uBAAuB;IACvB,mBAAmB;IACnB,mBAAmB;IACnB,2BAA2B;IAC3B,mBAAmB;IACnB,mBAAmB;IACnB,uBAAuB;IACvB,wBAAwB;IACxB,qBAAqB;CACtB,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,cAAc;QACvB,MAAM;QACN,iBAAiB,EAAE,iBAAiB;QACpC,OAAO,EAAE;YACP,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,gBAAgB,CAAC;YAC9B,YAAY,EAAE,CAAC,aAAa,EAAE,qBAAqB,EAAE,mBAAmB,CAAC;SAC1E;QACD,uBAAuB,EAAE,uBAAuB;QAChD,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE;YACT,0BAA0B;YAC1B,wBAAwB;YACxB,yBAAyB;YACzB,uBAAuB;SACxB;QACD,MAAM,EAAE;YACN,gBAAgB,EAAE,cAAc;YAChC,0BAA0B,EAAE,wCAAwC;YACpE,gBAAgB,EAAE,IAAI;YACtB,0BAA0B,EAAE,IAAI;YAChC,kCAAkC,EAAE,IAAI;YACxC,iBAAiB,EAAE;gBACjB,uCAAuC;gBACvC,mCAAmC;gBACnC,yCAAyC;gBACzC,0CAA0C;gBAC1C,gCAAgC;gBAChC,mCAAmC;aACpC;YACD,kBAAkB,EAAE;gBAClB,WAAW,EAAE;oBACX,OAAO,EAAE;wBACP,OAAO,EAAE,KAAK;wBACd,IAAI,EAAE,CAAC,IAAI,EAAE,kBAAkB,CAAC;wBAChC,GAAG,EAAE;4BACH,iBAAiB,EAAE,gCAAgC;4BACnD,mBAAmB,EAAE,GAAG;yBACzB;qBACF;iBACF;aACF;YACD,0BAA0B,EAAE;gBAC1B,qGAAqG;gBACrG,wIAAwI;gBACxI,0JAA0J;gBAC1J,8IAA8I;gBAC9I,0FAA0F;gBAC1F,oGAAoG;aACrG;SACF;QACD,WAAW,EAAE;YACX,8DAA8D;YAC9D,iEAAiE;YACjE,qFAAqF;YACrF,iHAAiH;YACjH,mGAAmG;YACnG,sHAAsH;YACtH,kFAAkF;YAClF,sFAAsF;YACtF,oFAAoF;YACpF,mFAAmF;YACnF,2FAA2F;YAC3F,8FAA8F;YAC9F,0FAA0F;YAC1F,qEAAqE;SACtE;QACD,YAAY,EAAE,iBAAiB,EAAE;QACjC,OAAO,EAAE,iBAAiB,EAAE;KAC7B,CAAC;AACJ,CAAC"}
@@ -6,6 +6,7 @@ export interface NourishCapabilities {
6
6
  optional_barcode: string;
7
7
  local_image_decode: string;
8
8
  vision_bridge: string;
9
+ local_estimator: string;
9
10
  bulk_imports: string;
10
11
  };
11
12
  workflows: string[];
@@ -7,6 +7,7 @@ export function buildCapabilities() {
7
7
  optional_barcode: "Open Food Facts",
8
8
  local_image_decode: "ZXing barcode decoding from local image paths, base64 images, or data URIs",
9
9
  vision_bridge: "Agent-provided photo observations for approximate meal estimates; no automatic image upload or autonomous logging",
10
+ local_estimator: "Deterministic simple-food estimator with common English and Brazilian Portuguese aliases and explicit gram parsing",
10
11
  bulk_imports: "OpenNutrition/Open Food Facts imports are separate opt-in flows",
11
12
  },
12
13
  workflows: [
@@ -15,6 +16,7 @@ export function buildCapabilities() {
15
16
  "barcode image decode and Open Food Facts lookup",
16
17
  "meal estimation",
17
18
  "photo-assisted meal estimation with confirmation-before-log",
19
+ "Brazilian Portuguese meal phrases for common foods and gram quantities",
18
20
  "local intake logging",
19
21
  "intake list, edit, delete, and clear-day workflows",
20
22
  "hydration and local nutrition goals",
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/services/capabilities.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,kEAAkE;QACxE,SAAS,EAAE;YACT,OAAO,EAAE,uBAAuB;YAChC,gBAAgB,EAAE,iBAAiB;YACnC,kBAAkB,EAAE,4EAA4E;YAChG,aAAa,EAAE,mHAAmH;YAClI,YAAY,EAAE,iEAAiE;SAChF;QACD,SAAS,EAAE;YACT,aAAa;YACb,gBAAgB;YAChB,iDAAiD;YACjD,iBAAiB;YACjB,6DAA6D;YAC7D,sBAAsB;YACtB,oDAAoD;YACpD,qCAAqC;YACrC,4BAA4B;YAC5B,iCAAiC;SAClC;QACD,uBAAuB,EAAE;YACvB,2BAA2B;YAC3B,sBAAsB;YACtB,qBAAqB;SACtB;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/services/capabilities.ts"],"names":[],"mappings":"AAeA,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,kEAAkE;QACxE,SAAS,EAAE;YACT,OAAO,EAAE,uBAAuB;YAChC,gBAAgB,EAAE,iBAAiB;YACnC,kBAAkB,EAAE,4EAA4E;YAChG,aAAa,EAAE,mHAAmH;YAClI,eAAe,EAAE,oHAAoH;YACrI,YAAY,EAAE,iEAAiE;SAChF;QACD,SAAS,EAAE;YACT,aAAa;YACb,gBAAgB;YAChB,iDAAiD;YACjD,iBAAiB;YACjB,6DAA6D;YAC7D,wEAAwE;YACxE,sBAAsB;YACtB,oDAAoD;YACpD,qCAAqC;YACrC,4BAA4B;YAC5B,iCAAiC;SAClC;QACD,uBAAuB,EAAE;YACvB,2BAA2B;YAC3B,sBAAsB;YACtB,qBAAqB;SACtB;KACF,CAAC;AACJ,CAAC"}
@@ -9,5 +9,6 @@ export interface McpTextResponse {
9
9
  export declare function makeResponse(payload: unknown, responseFormat?: ResponseFormat, markdown?: string): McpTextResponse;
10
10
  export declare function makeError(message: string): McpTextResponse;
11
11
  export declare function makeError(code: string, message: string, responseFormat?: ResponseFormat): McpTextResponse;
12
+ export declare function makeActionRequired(message: string, responseFormat?: ResponseFormat): McpTextResponse;
12
13
  export declare function bulletList(title: string, values: Record<string, unknown> | unknown): string;
13
14
  export declare function compactTable(rows: Array<Record<string, unknown>>, columns?: string[]): string;
@@ -23,6 +23,18 @@ export function makeError(first, second, responseFormat = "json") {
23
23
  isError: true,
24
24
  };
25
25
  }
26
+ export function makeActionRequired(message, responseFormat = "json") {
27
+ const payload = {
28
+ ok: false,
29
+ error: {
30
+ code: "USER_ACTION_REQUIRED",
31
+ message,
32
+ },
33
+ action_required: true,
34
+ };
35
+ const markdown = `# Action Required\n\n- **code**: USER_ACTION_REQUIRED\n- **message**: ${message}`;
36
+ return makeResponse(payload, responseFormat, markdown);
37
+ }
26
38
  export function bulletList(title, values) {
27
39
  const lines = [`# ${title}`];
28
40
  const entries = values !== null && typeof values === "object" && !Array.isArray(values)
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/services/format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/services/format.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { gramsForQuantity, nutrientsForGrams } from "./portion-engine.js";
3
3
  const SIMPLE_FOODS = [
4
4
  {
5
5
  canonical: "egg",
6
- aliases: ["eggs", "egg"],
6
+ aliases: ["boiled eggs", "boiled egg", "ovos cozidos", "ovo cozido", "eggs", "egg", "ovos", "ovo"],
7
7
  servingGrams: 50,
8
8
  nutrientsPer100g: {
9
9
  calories_kcal: 143,
@@ -14,7 +14,7 @@ const SIMPLE_FOODS = [
14
14
  },
15
15
  {
16
16
  canonical: "banana",
17
- aliases: ["banana"],
17
+ aliases: ["banana prata", "banana-prata", "banana"],
18
18
  servingGrams: 118,
19
19
  nutrientsPer100g: {
20
20
  calories_kcal: 89,
@@ -27,7 +27,7 @@ const SIMPLE_FOODS = [
27
27
  },
28
28
  {
29
29
  canonical: "toast",
30
- aliases: ["toast", "bread"],
30
+ aliases: ["pão francês", "pao frances", "french bread", "toast", "bread", "pão", "pao"],
31
31
  servingGrams: 30,
32
32
  nutrientsPer100g: {
33
33
  calories_kcal: 313,
@@ -38,7 +38,15 @@ const SIMPLE_FOODS = [
38
38
  },
39
39
  {
40
40
  canonical: "rice",
41
- aliases: ["rice", "white rice", "brown rice"],
41
+ aliases: [
42
+ "arroz branco cozido",
43
+ "arroz cozido",
44
+ "cooked white rice",
45
+ "white rice",
46
+ "brown rice",
47
+ "arroz",
48
+ "rice",
49
+ ],
42
50
  servingGrams: 158,
43
51
  nutrientsPer100g: {
44
52
  calories_kcal: 130,
@@ -49,7 +57,15 @@ const SIMPLE_FOODS = [
49
57
  },
50
58
  {
51
59
  canonical: "chicken",
52
- aliases: ["chicken", "chicken breast"],
60
+ aliases: [
61
+ "peito de frango grelhado",
62
+ "frango grelhado",
63
+ "grilled chicken breast",
64
+ "chicken breast",
65
+ "peito de frango",
66
+ "frango",
67
+ "chicken",
68
+ ],
53
69
  servingGrams: 100,
54
70
  nutrientsPer100g: {
55
71
  calories_kcal: 165,
@@ -58,6 +74,52 @@ const SIMPLE_FOODS = [
58
74
  fat_g: 3.6,
59
75
  },
60
76
  },
77
+ {
78
+ canonical: "pinto beans",
79
+ aliases: [
80
+ "feijão carioca cozido",
81
+ "feijao carioca cozido",
82
+ "feijão carioca",
83
+ "feijao carioca",
84
+ "cooked pinto beans",
85
+ "pinto beans",
86
+ "feijão",
87
+ "feijao",
88
+ "beans",
89
+ ],
90
+ servingGrams: 120,
91
+ nutrientsPer100g: {
92
+ calories_kcal: 76,
93
+ protein_g: 4.8,
94
+ carbohydrates_g: 13.6,
95
+ fat_g: 0.5,
96
+ fiber_g: 8.5,
97
+ },
98
+ },
99
+ {
100
+ canonical: "black beans",
101
+ aliases: ["feijão preto cozido", "feijao preto cozido", "feijão preto", "feijao preto", "black beans"],
102
+ servingGrams: 120,
103
+ nutrientsPer100g: {
104
+ calories_kcal: 77,
105
+ protein_g: 4.5,
106
+ carbohydrates_g: 14,
107
+ fat_g: 0.5,
108
+ fiber_g: 8.4,
109
+ },
110
+ },
111
+ {
112
+ canonical: "salad",
113
+ aliases: ["salada simples", "simple salad", "salada", "salad"],
114
+ servingGrams: 80,
115
+ nutrientsPer100g: {
116
+ calories_kcal: 20,
117
+ protein_g: 1.2,
118
+ carbohydrates_g: 3.5,
119
+ fat_g: 0.2,
120
+ fiber_g: 1.6,
121
+ },
122
+ },
61
123
  {
62
124
  canonical: "oatmeal",
63
125
  aliases: ["oatmeal", "oats"],
@@ -110,8 +172,20 @@ const UNIT_PATTERN = [
110
172
  "piece",
111
173
  "cups",
112
174
  "cup",
175
+ "xícaras",
176
+ "xícara",
177
+ "xicaras",
178
+ "xicara",
113
179
  "tbsp",
114
180
  "tsp",
181
+ "colheres",
182
+ "colher",
183
+ "conchas",
184
+ "concha",
185
+ "pratos",
186
+ "prato",
187
+ "unidades",
188
+ "unidade",
115
189
  "ounces",
116
190
  "ounce",
117
191
  "oz",
@@ -123,7 +197,7 @@ const UNIT_PATTERN = [
123
197
  "ml",
124
198
  "l",
125
199
  ].join("|");
126
- const FOOD_PATTERN = new RegExp(String.raw `(?:^|(?<=[^\p{L}\p{N}_\/-]))(?:(${QUANTITY_PATTERN})\s+)?(?:(${UNIT_PATTERN})\s+)?(${[...FOOD_BY_ALIAS.keys()]
200
+ const FOOD_PATTERN = new RegExp(String.raw `(?:^|(?<=[^\p{L}\p{N}_\/-]))(?:(${QUANTITY_PATTERN})\s*)?(?:(${UNIT_PATTERN})\s+)?(${[...FOOD_BY_ALIAS.keys()]
127
201
  .sort((a, b) => b.length - a.length)
128
202
  .join("|")})(?=$|[^\p{L}\p{N}_-])`, "giu");
129
203
  export async function estimateMeal(input) {
@@ -1 +1 @@
1
- {"version":3,"file":"meal-estimator.js","sourceRoot":"","sources":["../../src/services/meal-estimator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"meal-estimator.js","sourceRoot":"","sources":["../../src/services/meal-estimator.ts"],"names":[],"mappings":"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"}
@@ -12,9 +12,15 @@ export const UNIT_TO_GRAMS = {
12
12
  l: 1000,
13
13
  cup: 240,
14
14
  cups: 240,
15
+ "xícara": 240,
16
+ "xícaras": 240,
17
+ xicara: 240,
18
+ xicaras: 240,
15
19
  tbsp: 15,
16
20
  tablespoon: 15,
17
21
  tablespoons: 15,
22
+ colher: 15,
23
+ colheres: 15,
18
24
  tsp: 5,
19
25
  teaspoon: 5,
20
26
  teaspoons: 5,
@@ -22,6 +28,12 @@ export const UNIT_TO_GRAMS = {
22
28
  slices: 30,
23
29
  piece: 1,
24
30
  pieces: 1,
31
+ unidade: 1,
32
+ unidades: 1,
33
+ concha: 100,
34
+ conchas: 100,
35
+ prato: 350,
36
+ pratos: 350,
25
37
  };
26
38
  export function gramsForQuantity(quantity, unit, servingGrams) {
27
39
  if (!Number.isFinite(quantity)) {
@@ -1 +1 @@
1
- {"version":3,"file":"portion-engine.js","sourceRoot":"","sources":["../../src/services/portion-engine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,CAAC,MAAM,aAAa,GAAqC;IAC7D,CAAC,EAAE,CAAC;IACJ,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,KAAK;IACT,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,KAAK;IACb,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,CAAC;IACL,CAAC,EAAE,IAAI;IACP,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,EAAE;IACR,UAAU,EAAE,EAAE;IACd,WAAW,EAAE,EAAE;IACf,GAAG,EAAE,CAAC;IACN,QAAQ,EAAE,CAAC;IACX,SAAS,EAAE,CAAC;IACZ,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;CACV,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAC9B,QAAgB,EAChB,IAAY,EACZ,YAAqB;IAErB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACjD,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;QAClE,OAAO,OAAO,YAAY,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;YACtE,CAAC,CAAC,UAAU,CAAC,QAAQ,GAAG,YAAY,CAAC;YACrC,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,IAAI,cAAc,KAAK,OAAO,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;QAC9D,OAAO,OAAO,YAAY,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;YACtE,CAAC,CAAC,UAAU,CAAC,QAAQ,GAAG,YAAY,CAAC;YACrC,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,MAAM,YAAY,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;IACnD,OAAO,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAoB,EAAE,KAAa;IACnE,OAAO,cAAc,CAAC,OAAO,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"portion-engine.js","sourceRoot":"","sources":["../../src/services/portion-engine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,CAAC,MAAM,aAAa,GAAqC;IAC7D,CAAC,EAAE,CAAC;IACJ,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,KAAK;IACT,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,KAAK;IACb,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,CAAC;IACL,CAAC,EAAE,IAAI;IACP,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,GAAG;IACT,QAAQ,EAAE,GAAG;IACb,SAAS,EAAE,GAAG;IACd,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,GAAG;IACZ,IAAI,EAAE,EAAE;IACR,UAAU,EAAE,EAAE;IACd,WAAW,EAAE,EAAE;IACf,MAAM,EAAE,EAAE;IACV,QAAQ,EAAE,EAAE;IACZ,GAAG,EAAE,CAAC;IACN,QAAQ,EAAE,CAAC;IACX,SAAS,EAAE,CAAC;IACZ,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,GAAG;IACZ,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,GAAG;CACZ,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAC9B,QAAgB,EAChB,IAAY,EACZ,YAAqB;IAErB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACjD,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;QAClE,OAAO,OAAO,YAAY,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;YACtE,CAAC,CAAC,UAAU,CAAC,QAAQ,GAAG,YAAY,CAAC;YACrC,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,IAAI,cAAc,KAAK,OAAO,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;QAC9D,OAAO,OAAO,YAAY,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;YACtE,CAAC,CAAC,UAAU,CAAC,QAAQ,GAAG,YAAY,CAAC;YACrC,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,MAAM,YAAY,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;IACnD,OAAO,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAoB,EAAE,KAAa;IACnE,OAAO,cAAc,CAAC,OAAO,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AAC1D,CAAC"}
@@ -9,6 +9,7 @@ export function buildUsageGuide() {
9
9
  "Read nourish://usage-guide.",
10
10
  "Use nourish_search_food or nourish_lookup_barcode before estimating whenever possible.",
11
11
  "Use nourish_lookup_barcode_image for barcode photos and nourish_estimate_meal_photo for meal photos when the agent has image context.",
12
+ "For Brazilian Portuguese meals, preserve explicit grams and common aliases such as arroz branco cozido, feijão carioca, peito de frango grelhado, salada simples and ovos.",
12
13
  ],
13
14
  agent_workflows: [
14
15
  {
@@ -35,6 +36,14 @@ export function buildUsageGuide() {
35
36
  "Show the approximate estimate and ask the user to confirm portions before calling nourish_log_intake.",
36
37
  ],
37
38
  },
39
+ {
40
+ name: "Brazilian Portuguese meal text",
41
+ steps: [
42
+ "Pass the original pt-BR meal text to nourish_estimate_meal with locale pt-BR.",
43
+ "Keep explicit gram quantities such as 200g arroz or 150g frango when present.",
44
+ "If a common Brazilian food is still unresolved, ask one compact clarification instead of logging.",
45
+ ],
46
+ },
38
47
  {
39
48
  name: "review day",
40
49
  steps: [
@@ -1 +1 @@
1
- {"version":3,"file":"usage-guide.js","sourceRoot":"","sources":["../../src/services/usage-guide.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAc9D,MAAM,UAAU,eAAe;IAC7B,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,cAAc;QACvB,YAAY,EAAE;YACZ,iCAAiC;YACjC,4BAA4B;YAC5B,6BAA6B;YAC7B,wFAAwF;YACxF,uIAAuI;SACxI;QACD,eAAe,EAAE;YACf;gBACE,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE;oBACL,sCAAsC;oBACtC,oEAAoE;oBACpE,0DAA0D;iBAC3D;aACF;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE;oBACL,qFAAqF;oBACrF,mGAAmG;oBACnG,yFAAyF;iBAC1F;aACF;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE;oBACL,8EAA8E;oBAC9E,6EAA6E;oBAC7E,uGAAuG;iBACxG;aACF;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE;oBACL,4EAA4E;oBAC5E,sEAAsE;oBACtE,8EAA8E;iBAC/E;aACF;YACD;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,KAAK,EAAE;oBACL,2DAA2D;oBAC3D,yDAAyD;oBACzD,kEAAkE;iBACnE;aACF;YACD;gBACE,IAAI,EAAE,kCAAkC;gBACxC,KAAK,EAAE;oBACL,yEAAyE;oBACzE,6EAA6E;oBAC7E,wEAAwE;oBACxE,sIAAsI;oBACtI,oHAAoH;oBACpH,kGAAkG;iBACnG;aACF;SACF;QACD,SAAS,EAAE;YACT,KAAK,EAAE,wCAAwC;YAC/C,YAAY,EAAE,2DAA2D;YACzE,MAAM,EAAE,yBAAyB;YACjC,OAAO,EAAE,uEAAuE;YAChF,IAAI,EAAE,kCAAkC;YACxC,IAAI,EAAE,4EAA4E;YAClF,SAAS,EAAE,6CAA6C;YACxD,SAAS,EAAE,8CAA8C;YACzD,KAAK,EAAE,+EAA+E;YACtF,UAAU,EAAE,sCAAsC;SACnD;QACD,YAAY,EAAE;YACZ,oFAAoF;YACpF,wFAAwF;YACxF,kFAAkF;YAClF,oDAAoD;YACpD,uDAAuD;SACxD;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"usage-guide.js","sourceRoot":"","sources":["../../src/services/usage-guide.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAc9D,MAAM,UAAU,eAAe;IAC7B,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,cAAc;QACvB,YAAY,EAAE;YACZ,iCAAiC;YACjC,4BAA4B;YAC5B,6BAA6B;YAC7B,wFAAwF;YACxF,uIAAuI;YACvI,4KAA4K;SAC7K;QACD,eAAe,EAAE;YACf;gBACE,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE;oBACL,sCAAsC;oBACtC,oEAAoE;oBACpE,0DAA0D;iBAC3D;aACF;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE;oBACL,qFAAqF;oBACrF,mGAAmG;oBACnG,yFAAyF;iBAC1F;aACF;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE;oBACL,8EAA8E;oBAC9E,6EAA6E;oBAC7E,uGAAuG;iBACxG;aACF;YACD;gBACE,IAAI,EAAE,gCAAgC;gBACtC,KAAK,EAAE;oBACL,+EAA+E;oBAC/E,+EAA+E;oBAC/E,mGAAmG;iBACpG;aACF;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE;oBACL,4EAA4E;oBAC5E,sEAAsE;oBACtE,8EAA8E;iBAC/E;aACF;YACD;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,KAAK,EAAE;oBACL,2DAA2D;oBAC3D,yDAAyD;oBACzD,kEAAkE;iBACnE;aACF;YACD;gBACE,IAAI,EAAE,kCAAkC;gBACxC,KAAK,EAAE;oBACL,yEAAyE;oBACzE,6EAA6E;oBAC7E,wEAAwE;oBACxE,sIAAsI;oBACtI,oHAAoH;oBACpH,kGAAkG;iBACnG;aACF;SACF;QACD,SAAS,EAAE;YACT,KAAK,EAAE,wCAAwC;YAC/C,YAAY,EAAE,2DAA2D;YACzE,MAAM,EAAE,yBAAyB;YACjC,OAAO,EAAE,uEAAuE;YAChF,IAAI,EAAE,kCAAkC;YACxC,IAAI,EAAE,4EAA4E;YAClF,SAAS,EAAE,6CAA6C;YACxD,SAAS,EAAE,8CAA8C;YACzD,KAAK,EAAE,+EAA+E;YACtF,UAAU,EAAE,sCAAsC;SACnD;QACD,YAAY,EAAE;YACZ,oFAAoF;YACpF,wFAAwF;YACxF,kFAAkF;YAClF,oDAAoD;YACpD,uDAAuD;SACxD;KACF,CAAC;AACJ,CAAC"}
@@ -4,7 +4,7 @@ import { lookupOpenFoodFactsBarcode } from "../providers/open-food-facts.js";
4
4
  import { buildAgentManifest } from "../services/agent-manifest.js";
5
5
  import { buildCapabilities } from "../services/capabilities.js";
6
6
  import { buildConnectionStatus } from "../services/connection-status.js";
7
- import { makeError, makeResponse, bulletList, compactTable } from "../services/format.js";
7
+ import { makeActionRequired, makeError, makeResponse, bulletList, compactTable, } from "../services/format.js";
8
8
  import { addIntakeEntry, clearIntakeDay, deleteIntakeEntry, exportIntakeCsvData, exportIntakeData, listIntakeEntries, updateIntakeEntry, } from "../services/intake-store.js";
9
9
  import { buildHydrationSummary, logWater } from "../services/hydration-store.js";
10
10
  import { getGoals, updateGoals } from "../services/goals-store.js";
@@ -219,7 +219,7 @@ export function registerNourishTools(server) {
219
219
  try {
220
220
  const params = IntakeLogInputSchema.parse(input);
221
221
  if (params.explicit_user_intent !== true) {
222
- return toolResponse(makeError("explicit_user_intent must be true to log intake."));
222
+ return explicitIntentRequired("explicit_user_intent must be true to log intake.", params.response_format);
223
223
  }
224
224
  const entry = await addIntakeEntry(await buildIntakeEntryInput(params));
225
225
  return toolResponse(makeResponse(entry, params.response_format));
@@ -316,6 +316,9 @@ export function registerNourishTools(server) {
316
316
  }, async (input) => {
317
317
  try {
318
318
  const params = ClearDayInputSchema.parse(input);
319
+ if (params.explicit_user_intent !== true) {
320
+ return explicitIntentRequired("explicit_user_intent must be true to clear a day.", params.response_format);
321
+ }
319
322
  const result = await clearIntakeDay(params.date);
320
323
  return toolResponse(makeResponse(result, params.response_format));
321
324
  }
@@ -336,6 +339,9 @@ export function registerNourishTools(server) {
336
339
  }, async (input) => {
337
340
  try {
338
341
  const params = HydrationLogInputSchema.parse(input);
342
+ if (params.explicit_user_intent !== true) {
343
+ return explicitIntentRequired("explicit_user_intent must be true to log hydration.", params.response_format);
344
+ }
339
345
  const waterInput = {
340
346
  amount_ml: params.amount_ml,
341
347
  source: "agent",
@@ -396,6 +402,9 @@ export function registerNourishTools(server) {
396
402
  }, async (input) => {
397
403
  try {
398
404
  const params = GoalsSetInputSchema.parse(input);
405
+ if (params.explicit_user_intent !== true) {
406
+ return explicitIntentRequired("explicit_user_intent must be true to update goals.", params.response_format);
407
+ }
399
408
  const result = await updateGoals({
400
409
  ...(params.daily === undefined ? {} : { daily: cleanNutrients(params.daily) }),
401
410
  ...(params.hydration_ml === undefined ? {} : { hydration_ml: params.hydration_ml }),
@@ -531,6 +540,9 @@ function compactIntakeTable(entries) {
531
540
  function toolResponse(response) {
532
541
  return response;
533
542
  }
543
+ function explicitIntentRequired(message, responseFormat) {
544
+ return toolResponse(makeActionRequired(message, responseFormat));
545
+ }
534
546
  async function buildIntakeEntryInput(params) {
535
547
  if (params.text !== undefined) {
536
548
  const estimate = await estimateMeal({
@@ -1 +1 @@
1
- {"version":3,"file":"nourish-tools.js","sourceRoot":"","sources":["../../src/tools/nourish-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nourish-tools.js","sourceRoot":"","sources":["../../src/tools/nourish-tools.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,8 @@ Use this skill whenever a user asks Hermes, including through Telegram, to searc
20
20
  - If the user only says what they ate, first call `mcp_nourish_nourish_estimate_meal`, return a compact preview with calories, protein, confidence and warnings, then ask whether to save it.
21
21
  - If the user sends a barcode photo and Hermes has an image path, base64 image, or data URI, call `mcp_nourish_nourish_lookup_barcode_image`; if only visible digits are available, call `mcp_nourish_nourish_lookup_barcode`.
22
22
  - If the user sends a meal photo, describe the visible food and portions as `detected_items`, call `mcp_nourish_nourish_estimate_meal_photo`, then ask the user to confirm portions before logging.
23
+ - For Portuguese/Brazilian meals, preserve explicit quantities such as `200g arroz`, `120g feijão`, `150g frango`, call estimate with `locale: pt-BR`, and ask one concise clarification only for unresolved foods.
24
+ - If a tool returns `USER_ACTION_REQUIRED`, treat it as a normal confirmation guard, not as a server outage.
23
25
  - Preserve uncertainty. Include confidence and unresolved items instead of pretending estimates are exact.
24
26
  - Use `response_format: markdown` for Telegram-facing summaries when available.
25
27
 
@@ -9,14 +9,14 @@ hermes mcp test nourish
9
9
  ```
10
10
 
11
11
  This writes `~/.hermes/config.yaml` and `~/.hermes/skills/nourish-mcp/SKILL.md`.
12
+ It also writes `~/.hermes/scripts/nourish-mcp-wrapper.sh`, which sources `~/.hermes/secrets/nourish.env` when present before executing the pinned package.
12
13
 
13
14
  The resulting MCP server block uses this shape:
14
15
 
15
16
  ```json
16
17
  {
17
18
  "name": "nourish",
18
- "command": "npx",
19
- "args": ["-y", "wellness-nourish@0.1.2"],
19
+ "command": "/root/.hermes/scripts/nourish-mcp-wrapper.sh",
20
20
  "env": {
21
21
  "NOURISH_OFF_ENABLED": "1",
22
22
  "NOURISH_LOCAL_DIR": "/root/.hermes/nourish/david"
@@ -1,5 +1,16 @@
1
1
  {
2
2
  "foods": [
3
+ {
4
+ "fdcId": 999001,
5
+ "description": "BANANA",
6
+ "dataType": "Branded",
7
+ "foodNutrients": [
8
+ { "nutrientId": 1008, "value": 312 },
9
+ { "nutrientId": 1003, "value": 2 },
10
+ { "nutrientId": 1005, "value": 71 },
11
+ { "nutrientId": 1004, "value": 1 }
12
+ ]
13
+ },
3
14
  {
4
15
  "fdcId": 173944,
5
16
  "description": "Bananas, raw",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wellness-nourish",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Standalone MCP server for nutrition search, intake, and meal summaries.",
5
5
  "license": "MIT",
6
6
  "type": "module",
package/server.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "io.github.davidmosiah/wellness-nourish",
3
3
  "package": "wellness-nourish",
4
- "version": "0.1.2",
5
- "description": "Local MCP server for nutrition search, barcode photo lookup, meal photo estimates, intake logging, hydration, goals, exports, and meal summaries.",
4
+ "version": "0.1.3",
5
+ "description": "Local MCP server for pt-BR nutrition estimates, barcode photo lookup, meal photo estimates, intake logging, hydration, goals, exports, and meal summaries.",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "https://github.com/davidmosiah/wellness-nourish"