formlab-mcp 0.6.0 → 0.6.2
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 +3 -3
- package/tools/analytics.js +6 -1
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "formlab-mcp",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.2",
|
|
4
4
|
"mcpName": "io.github.juliu1980/formlab-mcp",
|
|
5
|
-
"description": "Read-only Model Context Protocol server for FormLab
|
|
5
|
+
"description": "Read-only Model Context Protocol server for FormLab — 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",
|
|
7
7
|
"bin": {
|
|
8
8
|
"formlab-mcp": "./index.js"
|
|
@@ -38,4 +38,4 @@
|
|
|
38
38
|
"url": "https://github.com/juliu1980/FormLab",
|
|
39
39
|
"directory": "mcp"
|
|
40
40
|
}
|
|
41
|
-
}
|
|
41
|
+
}
|
package/tools/analytics.js
CHANGED
|
@@ -528,6 +528,9 @@ function _trimDoeDesign(d, db) {
|
|
|
528
528
|
mixtureMode: !!d.mixtureMode,
|
|
529
529
|
// Only D-optimal computes one; null here means "not applicable", not "failed".
|
|
530
530
|
dEfficiency: Number.isFinite(d.dEfficiency) ? +d.dEfficiency.toFixed(2) : null,
|
|
531
|
+
dEfficiencyKind: Number.isFinite(d.dEfficiency)
|
|
532
|
+
? (d.dEfficiencyKind || (/^scheffe-/.test(String((d.settings || {}).doptModel || '')) ? 'relative' : 'absolute'))
|
|
533
|
+
: null,
|
|
531
534
|
droppedRuns: d.droppedRuns || 0,
|
|
532
535
|
response: d.responseText || null,
|
|
533
536
|
createdAt: d.createdAt,
|
|
@@ -623,7 +626,9 @@ const get_doe_design = {
|
|
|
623
626
|
notes: d.notes || null,
|
|
624
627
|
};
|
|
625
628
|
if (Number.isFinite(d.dEfficiency)) {
|
|
626
|
-
out.dEfficiencyNote =
|
|
629
|
+
out.dEfficiencyNote = out.dEfficiencyKind === 'relative'
|
|
630
|
+
? 'RELATIVE D-efficiency: this design against the best achievable for the same model and run budget IN ITS OWN DESIGN REGION, so 100% means "as good as this model and budget allow there". It is NOT the textbook absolute measure. It is used whenever the orthogonal ideal is unreachable by construction — a mixture (components collinear, so even a perfect mixture design scores about 33% on the absolute scale) or a region carved by linear constraints (an orthogonal design generally does not survive the cut). Do not compare this figure with an unconstrained design\'s D-efficiency or with another tool\'s.'
|
|
631
|
+
: 'ABSOLUTE D-efficiency: 100·|XᵀX|^(1/p)/N on coded factors, where 100% is the orthogonal ideal. Compare only against designs fitting the SAME model at the SAME run count; it is not a pass mark and does not transfer across model forms.';
|
|
627
632
|
}
|
|
628
633
|
if (args.include_runs !== false) {
|
|
629
634
|
const facs = d.factors || [];
|