formlab-mcp 0.6.29 → 0.6.30

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "formlab-mcp",
3
- "version": "0.6.29",
3
+ "version": "0.6.30",
4
4
  "mcpName": "io.github.juliu1980/formlab-mcp",
5
5
  "description": "Read-only Model Context Protocol server for FormLab \u2014 lets Claude (and other MCP clients) read and analyze your FormLab data, from a local export file OR your live cloud workspace.",
6
6
  "type": "module",
package/server.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3
3
  "name": "io.github.juliu1980/formlab-mcp",
4
4
  "description": "Read-only MCP for FormLab — let Claude query your formulation lab. Free reads a local export; Pro connects to your live cloud workspace with a dedicated read-only token.",
5
- "version": "0.6.29",
5
+ "version": "0.6.30",
6
6
  "websiteUrl": "https://formvix.com/mcp",
7
7
  "repository": {
8
8
  "url": "https://github.com/juliu1980/FormLab",
@@ -13,7 +13,7 @@
13
13
  {
14
14
  "registryType": "npm",
15
15
  "identifier": "formlab-mcp",
16
- "version": "0.6.29",
16
+ "version": "0.6.30",
17
17
  "runtimeHint": "npx",
18
18
  "transport": {
19
19
  "type": "stdio"
@@ -1002,11 +1002,12 @@ function _shelfLifeAssess(sl, targetMonths, now) {
1002
1002
  if (targetMonths) {
1003
1003
  const verdict = pointTotal < targetMonths ? 'short' : (ciTotal != null && ciTotal < targetMonths) ? 'marginal' : 'meets';
1004
1004
  if (verdict === 'meets' && sl.remainingMonths > 60) return null;
1005
- const level = (overdue && verdict !== 'meets') ? 'high' : verdict === 'short' ? 'high' : verdict === 'marginal' ? 'medium' : 'info';
1005
+ // Mirrors the app: a projection never reaches 'high' (reserved for a measured out-of-spec value).
1006
+ const level = (overdue && verdict !== 'meets') || verdict === 'short' ? 'medium' : 'info';
1006
1007
  return { verdict, level, pointTotal, ciTotal, overdue, crossDate };
1007
1008
  }
1008
1009
  if (sl.remainingMonths > 60) return null;
1009
- return { verdict: null, level: (overdue || sl.remainingMonths < 3) ? 'high' : sl.remainingMonths < 12 ? 'medium' : 'info', pointTotal, ciTotal, overdue, crossDate };
1010
+ return { verdict: null, level: (overdue || sl.remainingMonths < 3) ? 'medium' : 'info', pointTotal, ciTotal, overdue, crossDate };
1010
1011
  }
1011
1012
 
1012
1013
  const get_stability = {