wellness-nourish 0.1.2 → 0.1.4
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 +3 -1
- package/dist/cli/hermes.d.ts +1 -0
- package/dist/cli/hermes.js +34 -13
- package/dist/cli/hermes.js.map +1 -1
- package/dist/constants.d.ts +3 -3
- package/dist/constants.js +1 -1
- package/dist/providers/open-food-facts.d.ts +4 -2
- package/dist/providers/open-food-facts.js +62 -2
- package/dist/providers/open-food-facts.js.map +1 -1
- package/dist/providers/usda.js +35 -1
- package/dist/providers/usda.js.map +1 -1
- package/dist/schemas/common.js +2 -34
- package/dist/schemas/common.js.map +1 -1
- package/dist/services/agent-manifest.js +3 -0
- package/dist/services/agent-manifest.js.map +1 -1
- package/dist/services/capabilities.d.ts +1 -0
- package/dist/services/capabilities.js +2 -0
- package/dist/services/capabilities.js.map +1 -1
- package/dist/services/format.d.ts +1 -0
- package/dist/services/format.js +12 -0
- package/dist/services/format.js.map +1 -1
- package/dist/services/meal-estimator.js +80 -6
- package/dist/services/meal-estimator.js.map +1 -1
- package/dist/services/portion-engine.js +12 -0
- package/dist/services/portion-engine.js.map +1 -1
- package/dist/services/usage-guide.js +9 -0
- package/dist/services/usage-guide.js.map +1 -1
- package/dist/tools/nourish-tools.js +14 -2
- package/dist/tools/nourish-tools.js.map +1 -1
- package/examples/hermes-skill.md +2 -0
- package/examples/hermes.md +2 -2
- package/fixtures/usda/search-banana.json +11 -0
- package/package.json +3 -2
- package/server.json +15 -11
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.
|
package/dist/cli/hermes.d.ts
CHANGED
package/dist/cli/hermes.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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);
|
package/dist/cli/hermes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hermes.js","sourceRoot":"","sources":["../../src/cli/hermes.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAE9B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACpG,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"hermes.js","sourceRoot":"","sources":["../../src/cli/hermes.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export declare const SERVER_NAME = "nourish-mcp";
|
|
2
|
-
export declare const SERVER_VERSION = "0.1.
|
|
2
|
+
export declare const SERVER_VERSION = "0.1.4";
|
|
3
3
|
export declare const NPM_PACKAGE_NAME = "wellness-nourish";
|
|
4
|
-
export declare const PINNED_NPM_PACKAGE = "wellness-nourish@0.1.
|
|
4
|
+
export declare const PINNED_NPM_PACKAGE = "wellness-nourish@0.1.4";
|
|
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.
|
|
8
|
+
export declare const USER_AGENT = "wellness-nourish/0.1.4 (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
|
+
export const SERVER_VERSION = "0.1.4";
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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":"AAAA,8BAA8B;AAE9B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"open-food-facts.js","sourceRoot":"","sources":["../../src/providers/open-food-facts.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAE9B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAsBjE,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,uFAAuF;IACpG,WAAW,EAAE,IAAI;IACjB,GAAG,EAAE,kCAAkC;CAC/B,CAAC;AAEX,MAAM,aAAa,GAAgD;IACjE,kBAAkB,EAAE,eAAe;IACnC,aAAa,EAAE,WAAW;IAC1B,kBAAkB,EAAE,iBAAiB;IACrC,QAAQ,EAAE,OAAO;IACjB,UAAU,EAAE,SAAS;IACrB,WAAW,EAAE,SAAS;IACtB,oBAAoB,EAAE,iBAAiB;CACxC,CAAC;AACF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAqE,CAAC;AAE/F,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACxC,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACtD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,OAAe;IACxC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CACxB,MAAM,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,iBAAiB,EAAE,4BAA4B,CAAC,EAAE,MAAM,CAAC,CACtE,CAAC;IAE3B,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,iDAAiD,OAAO,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,OAAe;IACzC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,YAAY,mBAAmB,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrF,GAAG,CAAC,YAAY,CAAC,GAAG,CAClB,QAAQ,EACR,gFAAgF,CACjF,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,OAAO,EAAE;YACP,YAAY,EAAE,UAAU;YACxB,MAAM,EAAE,kBAAkB;SAC3B;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,iKAAiK,CAClK,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/F,CAAC;IAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA0B,CAAC;AAC1D,CAAC;AAED,SAAS,YAAY,CAAC,aAAiD,EAAE;IACvE,MAAM,SAAS,GAAgB,EAAE,CAAC;IAElC,KAAK,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QAClE,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,SAAS,CAAC,WAAW,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACzD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,SAAS,CAAC,SAAS,GAAG,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,SAAS,CAAC,OAA6B,EAAE,QAAgB;IAChE,OAAO,OAAO,CAAC,GAAG,IAAI,GAAG,YAAY,YAAY,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;AAClF,CAAC;AAED,SAAS,UAAU,CAAC,QAA+B,EAAE,OAAe;IAClE,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IACjC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,iDAAiD,OAAO,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC;IAC1D,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,iBAAiB,GAAmC;QACxD;YACE,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,GAAG;YACb,IAAI,EAAE,GAAG;YACT,KAAK,EAAE,GAAG;SACX;KACF,CAAC;IAEF,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,iBAAiB,CAAC,IAAI,CAAC;YACrB,KAAK,EAAE,OAAO,CAAC,YAAY,IAAI,SAAS;YACxC,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,aAAa,CAAC,eAAe,CAAC;SACtC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAmC;QAC/C,EAAE,EAAE,UAAU,CAAC,iBAAiB,EAAE,QAAQ,CAAC;QAC3C,MAAM,EAAE,iBAA0B;QAClC,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC;QACxC,IAAI,EAAE,OAAO,CAAC,YAAY,IAAI,iCAAiC;QAC/D,OAAO;QACP,kBAAkB,EAAE,iBAAiB;QACrC,kBAAkB,EAAE,SAAS;QAC7B,OAAO,EAAE,WAAW;KACrB,CAAC;IAEF,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,QAAQ,CAAC,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAClC,CAAC;IAED,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,QAAQ,CAAC,OAAO,GAAG;YACjB,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,aAAa,CAAC,eAAe,CAAC;SACtC,CAAC;QACF,QAAQ,CAAC,qBAAqB,GAAG,iBAAiB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IACjF,CAAC;IAED,OAAO;QACL,GAAG,QAAQ;QACX,YAAY,EAAE;YACZ,YAAY,EAAE,gBAAgB,CAAC,QAAQ,CAAC;YACxC,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,EAAE;SACb;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAAe;IAEf,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,QAA+B,CAAC;IACpC,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;IAC5F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,MAAM,KAAK,SAAS,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;YACpD,OAAO,iBAAiB,CACtB,MAAM,EACN,kGAAkG,CACnG,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,iDAAiD,OAAO,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,MAAM,GAA8B;QACxC,QAAQ,EAAE,iBAAiB;QAC3B,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC;KACpC,CAAC;IACF,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAE3D,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,eAAe,CAAC,OAAe;IACtC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QACpC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC;AAED,SAAS,eAAe,CAAC,OAAe,EAAE,MAAiC,EAAE,UAAkB;IAC7F,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE;QACrB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,IAAI;QACvD,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC;KAClC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CACxB,MAAiC,EACjC,OAAgB;IAEhB,MAAM,IAAI,GAAa;QACrB,GAAG,MAAM,CAAC,IAAI;QACd,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QACrF,kBAAkB,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;QACzD,YAAY,EAAE;YACZ,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY;YAC3B,QAAQ,EAAE,OAAO,KAAK,SAAS;gBAC7B,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;gBACxC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC;SACpD;QACD,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;KACpC,CAAC;IAEF,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IAC5C,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;QACpD,IAAI,CAAC,qBAAqB,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACxE,CAAC;IAED,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,IAAI;KACL,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,KAAK,YAAY,KAAK,IAAI,sCAAsC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC9F,CAAC"}
|
package/dist/providers/usda.js
CHANGED
|
@@ -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":"AAAA,8BAA8B;AAE9B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAwCjE,MAAM,gBAAgB,GAAG,+CAA+C,CAAC;AAEzE,MAAM,aAAa,GAA+C;IAChE,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,WAAW;CAClB,CAAC;AAEF,KAAK,UAAU,WAAW,CAAI,QAAgB;IAC5C,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5E,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAM,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,SAAS,CAAI,IAAY,EAAE,MAA8B;IACtE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,aAAa,GAAG,IAAI,EAAE,CAAC,CAAC;IAC/C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,YAAY,IAAI,UAAU,CAAC,CAAC;IAEnE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,OAAO,EAAE;YACP,YAAY,EAAE,UAAU;YACxB,MAAM,EAAE,kBAAkB;SAC3B;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;AACtC,CAAC;AAED,SAAS,cAAc,CAAC,QAKvB;IACC,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;IAChE,MAAM,GAAG,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAC;IAEjD,IAAI,GAAG,KAAK,SAAS,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAChF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,YAAY,CACnB,gBAKK,EAAE;IAEP,MAAM,SAAS,GAAgB,EAAE,CAAC;IAElC,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;QAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;YAC7B,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,YAAY,CAAC,OAA4D;IAChF,OAAO,CACL,OAAO,CAAC,QAAQ;QAChB,OAAO,CAAC,kBAAkB;QAC1B,OAAO,CAAC,WAAW,EAAE,IAAI;QACzB,OAAO,CAAC,WAAW,EAAE,YAAY;QACjC,SAAS,CACV,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAoB;IAC7C,MAAM,QAAQ,GAAmC;QAC/C;YACE,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,GAAG;YACb,IAAI,EAAE,GAAG;YACT,KAAK,EAAE,GAAG;SACX;KACF,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC;QAC9C,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAClF,QAAQ,CAAC,IAAI,CAAC;gBACZ,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC;gBAC5B,QAAQ,EAAE,CAAC;gBACX,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC;aACzC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,SAAS,CAAC,QAAgB;IACjC,OAAO,uDAAuD,QAAQ,YAAY,CAAC;AACrF,CAAC;AAED,SAAS,OAAO,CAAC,IAAqC;IACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,IAAI,mBAAmB,CAAC;IACrD,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAsB,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI;QAC5C,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,GAAG;QACb,IAAI,EAAE,GAAG;QACT,KAAK,EAAE,GAAG;KACX,CAAC;IACF,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC;IAC1C,MAAM,QAAQ,GAAG;QACf,EAAE,EAAE,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC;QAChC,MAAM,EAAE,MAAe;QACvB,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,SAAS,CAAC,QAAQ,CAAC;QAC/B,IAAI;QACJ,OAAO,EAAE;YACP,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,YAAY;SACpB;QACD,kBAAkB,EAAE,QAAQ;QAC5B,kBAAkB,EAAE,SAAS;QAC7B,qBAAqB,EACnB,cAAc,CAAC,SAAS,EAAE,YAAY,GAAG,GAAG,CAAC;QAC/C,OAAO,EAAE;YACP,IAAI,EAAE,uBAAuB;YAC7B,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,KAAK;YAClB,GAAG,EAAE,2BAA2B;SACjC;KACF,CAAC;IAEF,OAAO;QACL,GAAG,QAAQ;QACX,YAAY,EAAE;YACZ,YAAY,EAAE,gBAAgB,CAAC,QAAQ,CAAC;YACxC,UAAU,EAAE,GAAG;YACf,QAAQ,EAAE,EAAE;SACb;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAa,EACb,KAAK,GAAG,EAAE;IAEV,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,MAAM,GACV,MAAM,CAAC,YAAY;QACjB,CAAC,CAAC,MAAM,WAAW,CAAqB,oBAAoB,CAAC;QAC7D,CAAC,CAAC,MAAM,SAAS,CAAqB,eAAe,EAAE;YACnD,KAAK;YACL,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;SACtD,CAAC,CAAC;IAET,OAAO;QACL,QAAQ,EAAE,MAAM;QAChB,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"usda.js","sourceRoot":"","sources":["../../src/providers/usda.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas/common.js
CHANGED
|
@@ -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"}
|
|
@@ -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":"
|
|
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;
|
package/dist/services/format.js
CHANGED
|
@@ -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: [
|
|
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: [
|
|
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
|
|
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":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AA2B1E,MAAM,YAAY,GAA0B;IAC1C;QACE,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;
|
|
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;
|
|
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;
|
|
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
|
|
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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"}
|
package/examples/hermes-skill.md
CHANGED
|
@@ -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
|
|
package/examples/hermes.md
CHANGED
|
@@ -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": "
|
|
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.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Standalone MCP server for nutrition search, intake, and meal summaries.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -51,5 +51,6 @@
|
|
|
51
51
|
"@types/node": "^25.6.0",
|
|
52
52
|
"tsx": "^4.20.6",
|
|
53
53
|
"typescript": "^6.0.3"
|
|
54
|
-
}
|
|
54
|
+
},
|
|
55
|
+
"mcpName": "io.github.davidmosiah/wellness-nourish"
|
|
55
56
|
}
|
package/server.json
CHANGED
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
{
|
|
2
|
+
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
|
|
2
3
|
"name": "io.github.davidmosiah/wellness-nourish",
|
|
3
|
-
"
|
|
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
|
+
"description": "Local-first MCP for pt-BR nutrition estimates, barcode photo lookup, meal photo estimates, intake logging, hydration, goals and summaries.",
|
|
6
5
|
"repository": {
|
|
7
|
-
"
|
|
8
|
-
"
|
|
6
|
+
"url": "https://github.com/davidmosiah/wellness-nourish",
|
|
7
|
+
"source": "github"
|
|
9
8
|
},
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
"version": "0.1.4",
|
|
10
|
+
"packages": [
|
|
11
|
+
{
|
|
12
|
+
"registryType": "npm",
|
|
13
|
+
"identifier": "wellness-nourish",
|
|
14
|
+
"version": "0.1.4",
|
|
15
|
+
"transport": {
|
|
16
|
+
"type": "stdio"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
]
|
|
16
20
|
}
|