@cyanheads/calculator-mcp-server 0.3.4 → 0.4.0
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/AGENTS.md +2 -2
- package/CLAUDE.md +2 -2
- package/README.md +1 -1
- package/dist/mcp-server/tools/definitions/calculate.tool.d.ts +5 -0
- package/dist/mcp-server/tools/definitions/calculate.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/calculate.tool.js +8 -2
- package/dist/mcp-server/tools/definitions/calculate.tool.js.map +1 -1
- package/dist/services/math/math-service.d.ts +6 -1
- package/dist/services/math/math-service.d.ts.map +1 -1
- package/dist/services/math/math-service.js +48 -15
- package/dist/services/math/math-service.js.map +1 -1
- package/package.json +4 -4
- package/server.json +3 -3
package/AGENTS.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Agent Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** calculator-mcp-server
|
|
4
|
-
**Version:** 0.
|
|
5
|
-
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.10.
|
|
4
|
+
**Version:** 0.4.0
|
|
5
|
+
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.10.10`
|
|
6
6
|
**Engines:** Bun ≥1.3.0, Node ≥24.0.0
|
|
7
7
|
**MCP SDK:** `@modelcontextprotocol/sdk` 1.29.0
|
|
8
8
|
**Zod:** 4.4.3
|
package/CLAUDE.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Agent Protocol
|
|
2
2
|
|
|
3
3
|
**Server:** calculator-mcp-server
|
|
4
|
-
**Version:** 0.
|
|
5
|
-
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.10.
|
|
4
|
+
**Version:** 0.4.0
|
|
5
|
+
**Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) `^0.10.10`
|
|
6
6
|
**Engines:** Bun ≥1.3.0, Node ≥24.0.0
|
|
7
7
|
**MCP SDK:** `@modelcontextprotocol/sdk` 1.29.0
|
|
8
8
|
**Zod:** 4.4.3
|
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
<div align="center">
|
|
9
9
|
|
|
10
|
-
[](./CHANGELOG.md) [](./LICENSE) [](https://github.com/users/cyanheads/packages/container/package/calculator-mcp-server) [](https://modelcontextprotocol.io/) [](https://www.npmjs.com/package/@cyanheads/calculator-mcp-server) [](https://www.typescriptlang.org/) [](https://bun.sh/)
|
|
11
11
|
|
|
12
12
|
</div>
|
|
13
13
|
|
|
@@ -67,6 +67,11 @@ export declare const calculateTool: import("@cyanheads/mcp-ts-core").ToolDefinit
|
|
|
67
67
|
readonly code: JsonRpcErrorCode.ValidationError;
|
|
68
68
|
readonly when: "Expression evaluated to Infinity, -Infinity, or NaN (e.g., division by zero).";
|
|
69
69
|
readonly recovery: "Check for division by zero, log of non-positive numbers, or other undefined operations.";
|
|
70
|
+
}, {
|
|
71
|
+
readonly reason: "fraction_unsupported";
|
|
72
|
+
readonly code: JsonRpcErrorCode.ValidationError;
|
|
73
|
+
readonly when: "numericType is \"Fraction\" but the expression has no exact rational value (irrational or transcendental result, e.g. sqrt, sin, log).";
|
|
74
|
+
readonly recovery: "Retry with numericType \"number\" or \"BigNumber\" — those represent irrational and transcendental results.";
|
|
70
75
|
}, {
|
|
71
76
|
readonly reason: "parse_failed";
|
|
72
77
|
readonly code: JsonRpcErrorCode.ValidationError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculate.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/calculate.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"calculate.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/calculate.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiPxB,CAAC"}
|
|
@@ -17,7 +17,7 @@ export const calculateTool = tool('calculate', {
|
|
|
17
17
|
expression: z
|
|
18
18
|
.string()
|
|
19
19
|
.min(1)
|
|
20
|
-
.describe(`One mathematical expression per call — neither \`;\` nor newlines separate statements. Inside matrices, \`;\` separates rows (e.g. \`[1, 2; 3, 4]\`). Supports arithmetic (+, -, *, /, ^, %), functions across arithmetic/trig (sin, cos, sqrt, log, abs, round), statistics (mean, median, std, variance), combinatorics (factorial, permutations, combinations), and matrix (det, inv, transpose), plus constants (pi, e, phi, i), units (5 kg to lbs), and variables (when scope is provided). Standard notation \`ln\` and \`arc*\` (e.g. \`arcsin\`, \`arctan\`) is accepted alongside the math.js names \`log\` and \`asin\`/\`atan\`; common synonyms such as \`stdev\`, \`permute\`, and \`
|
|
20
|
+
.describe(`One mathematical expression per call — neither \`;\` nor newlines separate statements. Inside matrices, \`;\` separates rows (e.g. \`[1, 2; 3, 4]\`). Supports arithmetic (+, -, *, /, ^, %), functions across arithmetic/trig (sin, cos, sqrt, log, abs, round), statistics (mean, median, std, variance), combinatorics (factorial, permutations, combinations), and matrix (det, inv, transpose), plus constants (pi, e, phi, i), units (5 kg to lbs), and variables (when scope is provided). Standard notation \`ln\` and \`arc*\` (e.g. \`arcsin\`, \`arctan\`) is accepted alongside the math.js names \`log\` and \`asin\`/\`atan\`; common synonyms such as \`stdev\`, \`permute\`, \`nCr\`, and \`length\`/\`len\` resolve to their math.js names (\`std\`, \`permutations\`, \`combinations\`, \`count\`).`),
|
|
21
21
|
operation: z
|
|
22
22
|
.enum(['evaluate', 'simplify', 'derivative'])
|
|
23
23
|
.default('evaluate')
|
|
@@ -47,7 +47,7 @@ export const calculateTool = tool('calculate', {
|
|
|
47
47
|
numericType: z
|
|
48
48
|
.enum(['number', 'BigNumber', 'Fraction'])
|
|
49
49
|
.default('number')
|
|
50
|
-
.describe('Numeric type for evaluate. "number" (default): 64-bit IEEE 754 float — fastest, standard precision. "BigNumber": arbitrary-precision decimal — use when intermediate values overflow 64-bit float (e.g. large factorial ratios like 10000!/9999!); slower than "number". "Fraction": exact rational arithmetic — eliminates floating-point rounding (e.g. 0.1 + 0.2 = 0.3 exactly); limited to expressions
|
|
50
|
+
.describe('Numeric type for evaluate. "number" (default): 64-bit IEEE 754 float — fastest, standard precision. "BigNumber": arbitrary-precision decimal — use when intermediate values overflow 64-bit float (e.g. large factorial ratios like 10000!/9999!); slower than "number". "Fraction": exact rational arithmetic — eliminates floating-point rounding (e.g. 0.1 + 0.2 = 0.3 exactly); limited to expressions with exactly-rational results — an irrational or transcendental result (sqrt, sin, log, …) fails with fraction_unsupported, so use "number" or "BigNumber" for those. Ignored for symbolic operations (simplify, derivative). When "number" evaluation produces a non-finite result (undefined_result error), retry with "BigNumber".'),
|
|
51
51
|
}),
|
|
52
52
|
output: z.object({
|
|
53
53
|
result: z.string().describe('The computed result as a string.'),
|
|
@@ -114,6 +114,12 @@ export const calculateTool = tool('calculate', {
|
|
|
114
114
|
when: 'Expression evaluated to Infinity, -Infinity, or NaN (e.g., division by zero).',
|
|
115
115
|
recovery: 'Check for division by zero, log of non-positive numbers, or other undefined operations.',
|
|
116
116
|
},
|
|
117
|
+
{
|
|
118
|
+
reason: 'fraction_unsupported',
|
|
119
|
+
code: JsonRpcErrorCode.ValidationError,
|
|
120
|
+
when: 'numericType is "Fraction" but the expression has no exact rational value (irrational or transcendental result, e.g. sqrt, sin, log).',
|
|
121
|
+
recovery: 'Retry with numericType "number" or "BigNumber" — those represent irrational and transcendental results.',
|
|
122
|
+
},
|
|
117
123
|
{
|
|
118
124
|
reason: 'parse_failed',
|
|
119
125
|
code: JsonRpcErrorCode.ValidationError,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculate.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/calculate.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE;IAC7C,WAAW,EACT,0NAA0N;IAC5N,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,KAAK;KACrB;IACD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CACP,
|
|
1
|
+
{"version":3,"file":"calculate.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/calculate.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,7 +54,12 @@ export declare class MathService {
|
|
|
54
54
|
* accessors, so they are unaffected.
|
|
55
55
|
*/
|
|
56
56
|
private validateNoFunctionStringification;
|
|
57
|
-
/**
|
|
57
|
+
/**
|
|
58
|
+
* Runs a synchronous function inside a vm sandbox with timeout protection.
|
|
59
|
+
* `numericType` is supplied only by the evaluate path so a Fraction-mode
|
|
60
|
+
* conversion failure can be remapped to the actionable `fraction_unsupported`
|
|
61
|
+
* error instead of the misleading `parse_failed` (#19).
|
|
62
|
+
*/
|
|
58
63
|
private runWithTimeout;
|
|
59
64
|
}
|
|
60
65
|
/** Initialize the math service. Call once from createApp setup(). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"math-service.d.ts","sourceRoot":"","sources":["../../../src/services/math/math-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"math-service.d.ts","sourceRoot":"","sources":["../../../src/services/math/math-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAgT1D,qBAAa,WAAW;IACtB,6EAA6E;IAC7E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAe;IAC/C,uFAAuF;IACvF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAe;IACjD,2FAA2F;IAC3F,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAe;IAEhD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmE;IAC5F,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6D;IACxF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;gBAE1B,MAAM,EAAE,YAAY;IAqBhC,yFAAyF;IACzF,OAAO,CAAC,WAAW;IAWnB,4FAA4F;IAC5F,kBAAkB,CAChB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,OAAO,EACZ,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,SAAS,CAAC,EAAE,MAAM,EAClB,WAAW,GAAE,WAAsB,GAClC,UAAU;IAyBb,qDAAqD;IACrD,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,UAAU;IA4BhE,mFAAmF;IACnF,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,UAAU;IAUvF,qFAAqF;IACrF,cAAc,IAAI,MAAM;IAIxB,OAAO,CAAC,aAAa;IAqBrB,uEAAuE;IACvE,OAAO,CAAC,aAAa;IAWrB,iGAAiG;IACjG,OAAO,CAAC,kBAAkB;IAS1B,2HAA2H;IAC3H,OAAO,CAAC,cAAc;IAStB,8DAA8D;IAC9D,OAAO,CAAC,kBAAkB;IAS1B;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,iCAAiC;IAyBzC;;;;;OAKG;IACH,OAAO,CAAC,cAAc;CA6BvB;AAMD,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAE1D;AAED,iDAAiD;AACjD,wBAAgB,cAAc,IAAI,WAAW,CAG5C"}
|
|
@@ -84,6 +84,14 @@ const BLOCKED_RESULT_TYPES = new Set(['function', 'Function', 'ResultSet', 'Pars
|
|
|
84
84
|
* stringification). See {@link MathService.validateNoFunctionStringification}.
|
|
85
85
|
*/
|
|
86
86
|
const STRINGIFYING_METHODS = new Set(['toString', 'toLocaleString']);
|
|
87
|
+
/**
|
|
88
|
+
* math.js error thrown when a Fraction-mode expression yields a value that has
|
|
89
|
+
* no exact rational representation (`sqrt`, `sin`, `log`, …). math.js reports it
|
|
90
|
+
* as an implicit type-conversion failure; paired with a `numericType === 'Fraction'`
|
|
91
|
+
* guard it maps to the actionable `fraction_unsupported` error instead of the
|
|
92
|
+
* misleading, syntax-oriented `parse_failed`. See {@link MathService.runWithTimeout}.
|
|
93
|
+
*/
|
|
94
|
+
const FRACTION_CONVERSION_ERROR = /Cannot implicitly convert a Fraction/;
|
|
87
95
|
/**
|
|
88
96
|
* Scope key names that could pollute the object prototype chain or shadow
|
|
89
97
|
* critical Object.prototype methods. Validated before passing to math.js.
|
|
@@ -196,6 +204,14 @@ function createMathInstance(number) {
|
|
|
196
204
|
const evaluate = math.evaluate.bind(math);
|
|
197
205
|
const format = math.format.bind(math);
|
|
198
206
|
const typeOf = math.typeOf.bind(math);
|
|
207
|
+
// Symbolic operations are captured here too so a hardened instance can back
|
|
208
|
+
// simplify/derivative — constant-folding inside them then hits the same
|
|
209
|
+
// disabled-function / redacted-constant overrides applied below (#18). `.rules`
|
|
210
|
+
// must be read before binding, since bind() drops the function's own properties.
|
|
211
|
+
const parse = math.parse.bind(math);
|
|
212
|
+
const simplify = math.simplify.bind(math);
|
|
213
|
+
const derivative = math.derivative.bind(math);
|
|
214
|
+
const simplifyRules = [...math.simplify.rules];
|
|
199
215
|
// Capture math.import before it's disabled — needed to install the config guard below.
|
|
200
216
|
const mathImport = math.import.bind(math);
|
|
201
217
|
// For BigNumber/Fraction instances, also capture config before the override.
|
|
@@ -222,6 +238,8 @@ function createMathInstance(number) {
|
|
|
222
238
|
nPr: math.permutations,
|
|
223
239
|
choose: math.combinations,
|
|
224
240
|
nCr: math.combinations,
|
|
241
|
+
length: math.count,
|
|
242
|
+
len: math.count,
|
|
225
243
|
});
|
|
226
244
|
// Disable dangerous functions in expression scope.
|
|
227
245
|
// `config` is excluded here for BigNumber/Fraction instances — installed as a
|
|
@@ -258,7 +276,7 @@ function createMathInstance(number) {
|
|
|
258
276
|
}, currentConfig);
|
|
259
277
|
mathImport({ config: configGuard }, { override: true });
|
|
260
278
|
}
|
|
261
|
-
return { evaluate, format, typeOf };
|
|
279
|
+
return { evaluate, format, typeOf, parse, simplify, derivative, simplifyRules };
|
|
262
280
|
}
|
|
263
281
|
export class MathService {
|
|
264
282
|
/** Default IEEE 754 instance — used for the vast majority of evaluations. */
|
|
@@ -274,19 +292,21 @@ export class MathService {
|
|
|
274
292
|
config;
|
|
275
293
|
constructor(config) {
|
|
276
294
|
this.config = config;
|
|
277
|
-
// biome-ignore lint/style/noNonNullAssertion: math.js types declare `all` as potentially undefined, but it's always defined at runtime
|
|
278
|
-
const baseMath = create(all);
|
|
279
|
-
// Save references for symbolic operations — these don't need numeric-type variants.
|
|
280
|
-
// parse / simplify / derivative operate on the AST, not numeric values.
|
|
281
|
-
this.parse = baseMath.parse.bind(baseMath);
|
|
282
|
-
this.simplify = baseMath.simplify.bind(baseMath);
|
|
283
|
-
this.derivative = baseMath.derivative.bind(baseMath);
|
|
284
|
-
this.simplifyRules = [...baseMath.simplify.rules, ...TRIG_SIMPLIFY_RULES];
|
|
285
295
|
// Pre-initialize one hardened instance per numeric type so numeric-type selection
|
|
286
296
|
// at evaluation time is a simple Map lookup, not a per-request reconfiguration.
|
|
287
297
|
this.defaultInstance = createMathInstance('number');
|
|
288
298
|
this.bigNumberInstance = createMathInstance('BigNumber');
|
|
289
299
|
this.fractionInstance = createMathInstance('Fraction');
|
|
300
|
+
// Symbolic operations (parse / simplify / derivative) operate on the AST and are
|
|
301
|
+
// numeric-type-agnostic, so they reuse the hardened default instance rather than a
|
|
302
|
+
// separate unhardened one. This ensures the constant-folding math.js performs inside
|
|
303
|
+
// simplify/derivative resolves disabled functions to their throwing stubs and reads
|
|
304
|
+
// the redacted `version` — closing the bypass where folded `evaluate("…")` ran on an
|
|
305
|
+
// unhardened instance (#18).
|
|
306
|
+
this.parse = this.defaultInstance.parse;
|
|
307
|
+
this.simplify = this.defaultInstance.simplify;
|
|
308
|
+
this.derivative = this.defaultInstance.derivative;
|
|
309
|
+
this.simplifyRules = [...this.defaultInstance.simplifyRules, ...TRIG_SIMPLIFY_RULES];
|
|
290
310
|
}
|
|
291
311
|
/** Select the pre-initialized evaluate/format/typeOf bundle for a given numeric type. */
|
|
292
312
|
instanceFor(numericType) {
|
|
@@ -307,7 +327,7 @@ export class MathService {
|
|
|
307
327
|
const normalized = normalizeNotation(expression);
|
|
308
328
|
this.validateNoFunctionStringification(normalized, ctx);
|
|
309
329
|
const inst = this.instanceFor(numericType);
|
|
310
|
-
const raw = this.runWithTimeout(() => (scope ? inst.evaluate(normalized, scope) : inst.evaluate(normalized)), ctx);
|
|
330
|
+
const raw = this.runWithTimeout(() => (scope ? inst.evaluate(normalized, scope) : inst.evaluate(normalized)), ctx, numericType);
|
|
311
331
|
const resultType = inst.typeOf(raw);
|
|
312
332
|
this.validateResultType(resultType, ctx);
|
|
313
333
|
this.validateFinite(raw, ctx);
|
|
@@ -325,6 +345,7 @@ export class MathService {
|
|
|
325
345
|
simplifyExpression(expression, ctx) {
|
|
326
346
|
this.validateInput(expression, ctx);
|
|
327
347
|
const normalized = normalizeNotation(expression);
|
|
348
|
+
this.validateNoFunctionStringification(normalized, ctx);
|
|
328
349
|
// Capture the AST-normalized form of the input before simplification so we
|
|
329
350
|
// can detect whether the simplifier made any progress. String comparison is
|
|
330
351
|
// not sufficient — formatting-only changes like `x+1` vs `x + 1` should not
|
|
@@ -350,6 +371,7 @@ export class MathService {
|
|
|
350
371
|
differentiateExpression(expression, variable, ctx) {
|
|
351
372
|
this.validateInput(expression, ctx);
|
|
352
373
|
const normalized = normalizeNotation(expression);
|
|
374
|
+
this.validateNoFunctionStringification(normalized, ctx);
|
|
353
375
|
const derived = this.runWithTimeout(() => this.derivative(normalized, variable), ctx);
|
|
354
376
|
const result = derived.toString();
|
|
355
377
|
this.validateResultSize(result, ctx);
|
|
@@ -432,8 +454,13 @@ export class MathService {
|
|
|
432
454
|
throw validationError('Converting a function to a string is not allowed — it would expose internal source. Only numeric, string, matrix, complex, unit, and boolean results are allowed.', { reason: 'disallowed_result_type', ...ctx.recoveryFor('disallowed_result_type') });
|
|
433
455
|
}
|
|
434
456
|
}
|
|
435
|
-
/**
|
|
436
|
-
|
|
457
|
+
/**
|
|
458
|
+
* Runs a synchronous function inside a vm sandbox with timeout protection.
|
|
459
|
+
* `numericType` is supplied only by the evaluate path so a Fraction-mode
|
|
460
|
+
* conversion failure can be remapped to the actionable `fraction_unsupported`
|
|
461
|
+
* error instead of the misleading `parse_failed` (#19).
|
|
462
|
+
*/
|
|
463
|
+
runWithTimeout(fn, ctx, numericType) {
|
|
437
464
|
const sandbox = { fn, result: undefined };
|
|
438
465
|
try {
|
|
439
466
|
vm.runInNewContext('result = fn()', sandbox, { timeout: this.config.evaluationTimeoutMs });
|
|
@@ -443,8 +470,14 @@ export class MathService {
|
|
|
443
470
|
if (err instanceof Error && 'code' in err && err.code === 'ERR_SCRIPT_EXECUTION_TIMEOUT') {
|
|
444
471
|
throw timeout(`Expression evaluation timed out after ${this.config.evaluationTimeoutMs / 1000} seconds. Simplify the expression or reduce matrix dimensions.`, { reason: 'evaluation_timeout', ...ctx.recoveryFor('evaluation_timeout') });
|
|
445
472
|
}
|
|
446
|
-
// All non-timeout errors from the VM are expression-related
|
|
447
473
|
const message = err instanceof Error ? err.message : String(err);
|
|
474
|
+
// Fraction mode cannot represent an irrational/transcendental result (sqrt, sin,
|
|
475
|
+
// log, …); math.js surfaces this as an implicit-conversion error. Remap to a
|
|
476
|
+
// dedicated, actionable error rather than the syntax-oriented parse_failed.
|
|
477
|
+
if (numericType === 'Fraction' && FRACTION_CONVERSION_ERROR.test(message)) {
|
|
478
|
+
throw validationError('This expression has no exact fractional value (irrational or transcendental result, e.g. sqrt, sin, log). Retry with numericType "number" or "BigNumber".', { reason: 'fraction_unsupported', ...ctx.recoveryFor('fraction_unsupported') });
|
|
479
|
+
}
|
|
480
|
+
// All other non-timeout errors from the VM are expression-related.
|
|
448
481
|
throw validationError(`Invalid expression: ${message}`, {
|
|
449
482
|
reason: 'parse_failed',
|
|
450
483
|
...ctx.recoveryFor('parse_failed'),
|
|
@@ -503,7 +536,7 @@ abs, ceil, floor, round, sign, sqrt, cbrt, exp, expm1, log (also: ln), log2, log
|
|
|
503
536
|
sin, cos, tan, asin (arcsin), acos (arccos), atan (arctan), atan2, sinh, cosh, tanh, asinh (arcsinh), acosh (arccosh), atanh (arctanh), sec, csc, cot, asec (arcsec), acsc (arccsc), acot (arccot), sech (arcsech), csch (arccsch), coth (arccoth)
|
|
504
537
|
|
|
505
538
|
### Statistics
|
|
506
|
-
mean (aliases: average, avg), median, mode, std (aliases: stdev, stddev), variance, min, max, sum, prod, quantileSeq, mad, count
|
|
539
|
+
mean (aliases: average, avg), median, mode, std (aliases: stdev, stddev), variance, min, max, sum, prod, quantileSeq, mad, count (aliases: length, len)
|
|
507
540
|
|
|
508
541
|
### Matrix
|
|
509
542
|
det, inv, transpose, trace, zeros, ones, identity, diag, size, reshape, flatten, concat, sort, cross, dot, eigs, expm, sqrtm, kron, pinv, range
|
|
@@ -564,7 +597,7 @@ Use the precision parameter (1\u201316 significant digits) for numeric results.
|
|
|
564
597
|
- **evaluate** (default): Compute a numeric result. Use the \`numericType\` parameter to control precision:
|
|
565
598
|
- \`"number"\` (default): 64-bit IEEE 754 float — fastest. Standard for most calculations.
|
|
566
599
|
- \`"BigNumber"\`: Arbitrary-precision decimal — use when intermediate values overflow (e.g. \`10000! / 9999!\` overflows as a 64-bit float but evaluates correctly as a BigNumber). Slower than \`"number"\`.
|
|
567
|
-
- \`"Fraction"\`: Exact rational arithmetic — eliminates floating-point rounding (e.g. \`0.1 + 0.2 = 0.3\` exactly). Limited to expressions
|
|
600
|
+
- \`"Fraction"\`: Exact rational arithmetic — eliminates floating-point rounding (e.g. \`0.1 + 0.2 = 0.3\` exactly). Limited to expressions with exactly-rational results; an irrational or transcendental result (\`sqrt(2)\`, \`sin(1)\`, \`log(3)\`, …) fails with a \`fraction_unsupported\` error — use \`"number"\` or \`"BigNumber"\` for those.
|
|
568
601
|
|
|
569
602
|
When \`"number"\` evaluation returns an \`undefined_result\` error (division by zero, overflow), retry with \`numericType: "BigNumber"\`.
|
|
570
603
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"math-service.js","sourceRoot":"","sources":["../../../src/services/math/math-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"math-service.js","sourceRoot":"","sources":["../../../src/services/math/math-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAyD,MAAM,QAAQ,CAAC;AAI5F;;;;GAIG;AACH,MAAM,mBAAmB,GAAmB;IAC1C,yBAAyB;IACzB,0BAA0B;IAC1B,0BAA0B;IAC1B,0BAA0B;IAC1B,0BAA0B;IAC1B,sCAAsC;IACtC,0BAA0B;IAC1B,0BAA0B;IAC1B,0BAA0B;IAC1B,0BAA0B;IAC1B,0BAA0B;IAC1B,0BAA0B;IAC1B,0BAA0B;IAC1B,mCAAmC;IACnC,mCAAmC;CACpC,CAAC;AAEF;;;;GAIG;AACH,MAAM,YAAY,GAA4C;IAC5D,GAAG,EAAE,aAAa;IAClB,IAAI,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;IACpE,SAAS,EAAE,EAAE,UAAU,EAAE,oBAAoB,EAAE,OAAO,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE;CAC/E,CAAC;AAEF;;;;GAIG;AACH,MAAM,kBAAkB,GAAG;IACzB,QAAQ;IACR,YAAY;IACZ,UAAU;IACV,OAAO;IACP,UAAU;IACV,YAAY;IACZ,SAAS;IACT,SAAS;IACT,SAAS;IACT,OAAO;IACP,QAAQ;IACR,QAAQ;CACA,CAAC;AAEX;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,kBAAkB,GAA2B;IACjD,OAAO,EAAE,UAAU;CACpB,CAAC;AAEF;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEtF;;;;;;GAMG;AACH,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAErE;;;;;;GAMG;AACH,MAAM,yBAAyB,GAAG,sCAAsC,CAAC;AAEzE;;;GAGG;AACH,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IACjC,WAAW;IACX,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,aAAa;IACb,WAAW;IACX,UAAU;IACV,SAAS;IACT,gBAAgB;IAChB,eAAe;IACf,sBAAsB;IACtB,gBAAgB;CACjB,CAAC,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,SAAS,sBAAsB,CAAC,IAAY;IAC1C,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,EAAE,KAAK,IAAI;gBAAE,CAAC,EAAE,CAAC;iBAChB,IAAI,EAAE,KAAK,GAAG;gBAAE,QAAQ,GAAG,KAAK,CAAC;YACtC,SAAS;QACX,CAAC;QACD,IAAI,EAAE,KAAK,GAAG;YAAE,QAAQ,GAAG,IAAI,CAAC;aAC3B,IAAI,EAAE,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;aACxB,IAAI,EAAE,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;aACxB,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;aAC5C,IAAI,EAAE,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;IAClD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC/D,oCAAoC;IACpC,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;QACnC,OAAO,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,kEAAkE;IAClE,IAAI,OAAQ,KAA+B,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QACnE,OAAO,iBAAiB,CAAE,KAAoC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,sBAAsB,GAAG,mDAAmD,CAAC;AAEnF;;;;;;;;;;GAUG;AACH,SAAS,iBAAiB,CAAC,UAAkB;IAC3C,OAAO,UAAU,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC,IAAI,EAAE,EAAE,CACzD,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAC5C,CAAC;AACJ,CAAC;AAiBD,wEAAwE;AACxE,SAAS,kBAAkB,CAAC,MAA2C;IACrE,uIAAuI;IACvI,MAAM,IAAI,GAAG,MAAM,CAAC,GAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAEtC,+EAA+E;IAC/E,sEAAsE;IACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,4EAA4E;IAC5E,wEAAwE;IACxE,gFAAgF;IAChF,iFAAiF;IACjF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAmB,CAAC;IACjE,uFAAuF;IACvF,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE1C,6EAA6E;IAC7E,0FAA0F;IAC1F,gEAAgE;IAChE,oDAAoD;IACpD,oFAAoF;IACpF,8FAA8F;IAC9F,MAAM,UAAU,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEvE,gFAAgF;IAChF,mFAAmF;IACnF,oFAAoF;IACpF,mFAAmF;IACnF,oFAAoF;IACpF,+DAA+D;IAC/D,wDAAwD;IACxD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAC9B,UAAU,CAAC;QACT,OAAO,EAAE,IAAI,CAAC,IAAI;QAClB,GAAG,EAAE,IAAI,CAAC,IAAI;QACd,KAAK,EAAE,IAAI,CAAC,GAAG;QACf,MAAM,EAAE,IAAI,CAAC,GAAG;QAChB,OAAO,EAAE,IAAI,CAAC,YAAY;QAC1B,GAAG,EAAE,IAAI,CAAC,YAAY;QACtB,MAAM,EAAE,IAAI,CAAC,YAAY;QACzB,GAAG,EAAE,IAAI,CAAC,YAAY;QACtB,MAAM,EAAE,IAAI,CAAC,KAAK;QAClB,GAAG,EAAE,IAAI,CAAC,KAAK;KAChB,CAAC,CAAC;IAEH,mDAAmD;IACnD,8EAA8E;IAC9E,kFAAkF;IAClF,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,KAAK,MAAM,EAAE,IAAI,kBAAkB,EAAE,CAAC;QACpC,IAAI,EAAE,KAAK,QAAQ,IAAI,MAAM,KAAK,QAAQ;YAAE,SAAS,CAAC,kCAAkC;QACxF,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,aAAa,EAAE,6BAA6B,CAAC,CAAC;QAChE,CAAC,CAAC;IACJ,CAAC;IACD,oDAAoD;IACpD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC9D,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,UAAU,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzC,kFAAkF;IAClF,8EAA8E;IAC9E,EAAE;IACF,+DAA+D;IAC/D,oFAAoF;IACpF,2FAA2F;IAC3F,EAAE;IACF,qFAAqF;IACrF,qFAAqF;IACrF,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,aAAa,GACjB,UACD,CAAC,EAAE,CAAC,CAAC;QACN,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAC/B,CAAC,OAAiC,EAAE,EAAE;YACpC,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7D,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACxD,CAAC;YACD,OAAO,aAAa,CAAC;QACvB,CAAC,EACD,aAAa,CACd,CAAC;QACF,UAAU,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC;AAClF,CAAC;AAED,MAAM,OAAO,WAAW;IACtB,6EAA6E;IAC5D,eAAe,CAAe;IAC/C,uFAAuF;IACtE,iBAAiB,CAAe;IACjD,2FAA2F;IAC1E,gBAAgB,CAAe;IAE/B,KAAK,CAA6B;IAClC,QAAQ,CAAmE;IAC3E,UAAU,CAA6D;IACvE,aAAa,CAAiB;IAC9B,MAAM,CAAe;IAEtC,YAAY,MAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,kFAAkF;QAClF,gFAAgF;QAChF,IAAI,CAAC,eAAe,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACzD,IAAI,CAAC,gBAAgB,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAEvD,iFAAiF;QACjF,mFAAmF;QACnF,qFAAqF;QACrF,oFAAoF;QACpF,qFAAqF;QACrF,6BAA6B;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,GAAG,mBAAmB,CAAC,CAAC;IACvF,CAAC;IAED,yFAAyF;IACjF,WAAW,CAAC,WAAwB;QAC1C,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,WAAW;gBACd,OAAO,IAAI,CAAC,iBAAiB,CAAC;YAChC,KAAK,UAAU;gBACb,OAAO,IAAI,CAAC,gBAAgB,CAAC;YAC/B;gBACE,OAAO,IAAI,CAAC,eAAe,CAAC;QAChC,CAAC;IACH,CAAC;IAED,4FAA4F;IAC5F,kBAAkB,CAChB,UAAkB,EAClB,GAAY,EACZ,KAA8B,EAC9B,SAAkB,EAClB,cAA2B,QAAQ;QAEnC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACpC,IAAI,KAAK;YAAE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,CAAC,iCAAiC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAC7B,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAC5E,GAAG,EACH,WAAW,CACZ,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC9B,qEAAqE;QACrE,iDAAiD;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YAC9B,QAAQ,EAAE,CAAC,CAAC;YACZ,QAAQ,EAAE,EAAE;YACZ,GAAG,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC;SACxC,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACrC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAChC,CAAC;IAED,qDAAqD;IACrD,kBAAkB,CAAC,UAAkB,EAAE,GAAY;QACjD,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,CAAC,iCAAiC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACxD,2EAA2E;QAC3E,4EAA4E;QAC5E,4EAA4E;QAC5E,iFAAiF;QACjF,wEAAwE;QACxE,IAAI,eAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,8EAA8E;YAC9E,2EAA2E;YAC3E,0EAA0E;YAC1E,eAAe,GAAG,EAAE,CAAC;QACvB,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CACpC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,EACnD,GAAG,CACJ,CAAC;QACF,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,eAAe,KAAK,EAAE,IAAI,eAAe,KAAK,MAAM,CAAC;QACvE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACrD,CAAC;IAED,mFAAmF;IACnF,uBAAuB,CAAC,UAAkB,EAAE,QAAgB,EAAE,GAAY;QACxE,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,CAAC,iCAAiC,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;QACtF,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACrC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;IAC1C,CAAC;IAED,qFAAqF;IACrF,cAAc;QACZ,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,aAAa,CAAC,UAAkB,EAAE,GAAY;QACpD,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;YACvB,MAAM,eAAe,CAAC,6BAA6B,EAAE;gBACnD,MAAM,EAAE,kBAAkB;gBAC1B,GAAG,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC;aACvC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;YACxD,MAAM,eAAe,CACnB,wCAAwC,IAAI,CAAC,MAAM,CAAC,mBAAmB,cAAc,EACrF,EAAE,MAAM,EAAE,qBAAqB,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE,CAC7E,CAAC;QACJ,CAAC;QACD,IAAI,sBAAsB,CAAC,UAAU,CAAC,EAAE,CAAC;YACvC,MAAM,eAAe,CACnB,uEAAuE,EACvE,EAAE,MAAM,EAAE,sBAAsB,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,sBAAsB,CAAC,EAAE,CAC/E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,uEAAuE;IAC/D,aAAa,CAAC,KAA6B,EAAE,GAAY;QAC/D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,IAAI,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,eAAe,CACnB,cAAc,GAAG,gEAAgE,EACjF,EAAE,MAAM,EAAE,oBAAoB,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,oBAAoB,CAAC,EAAE,CAC3E,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,iGAAiG;IACzF,kBAAkB,CAAC,UAAkB,EAAE,GAAY;QACzD,IAAI,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACzC,MAAM,eAAe,CACnB,yBAAyB,UAAU,kFAAkF,EACrH,EAAE,MAAM,EAAE,wBAAwB,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,wBAAwB,CAAC,EAAE,CACnF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,2HAA2H;IACnH,cAAc,CAAC,GAAY,EAAE,GAAY;QAC/C,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,eAAe,CACnB,yMAAyM,EACzM,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,CACvE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,8DAA8D;IACtD,kBAAkB,CAAC,MAAc,EAAE,GAAY;QACrD,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAChD,MAAM,eAAe,CACnB,gCAAgC,IAAI,CAAC,MAAM,CAAC,eAAe,oEAAoE,EAC/H,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,kBAAkB,CAAC,EAAE,CACvE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,iCAAiC,CAAC,IAAY,EAAE,GAAY;QAClE,IAAI,GAAa,CAAC;QAClB,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,uEAAuE;YACvE,OAAO;QACT,CAAC;QACD,MAAM,mBAAmB,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9C,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;gBAAE,OAAO,KAAK,CAAC;YAC5C,MAAM,EAAE,UAAU,EAAE,GAAG,IAEtB,CAAC;YACF,OAAO,UAAU,CAAC,IAAI,CACpB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,cAAc,IAAI,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CACpF,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,eAAe,CACnB,mKAAmK,EACnK,EAAE,MAAM,EAAE,wBAAwB,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,wBAAwB,CAAC,EAAE,CACnF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,cAAc,CAAI,EAAW,EAAE,GAAY,EAAE,WAAyB;QAC5E,MAAM,OAAO,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,SAAc,EAAE,CAAC;QAC/C,IAAI,CAAC;YACH,EAAE,CAAC,eAAe,CAAC,eAAe,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC;YAC3F,OAAO,OAAO,CAAC,MAAM,CAAC;QACxB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,KAAK,IAAI,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,8BAA8B,EAAE,CAAC;gBACzF,MAAM,OAAO,CACX,yCAAyC,IAAI,CAAC,MAAM,CAAC,mBAAmB,GAAG,IAAI,gEAAgE,EAC/I,EAAE,MAAM,EAAE,oBAAoB,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,oBAAoB,CAAC,EAAE,CAC3E,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,iFAAiF;YACjF,6EAA6E;YAC7E,4EAA4E;YAC5E,IAAI,WAAW,KAAK,UAAU,IAAI,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1E,MAAM,eAAe,CACnB,2JAA2J,EAC3J,EAAE,MAAM,EAAE,sBAAsB,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,sBAAsB,CAAC,EAAE,CAC/E,CAAC;YACJ,CAAC;YACD,mEAAmE;YACnE,MAAM,eAAe,CAAC,uBAAuB,OAAO,EAAE,EAAE;gBACtD,MAAM,EAAE,cAAc;gBACtB,GAAG,GAAG,CAAC,WAAW,CAAC,cAAc,CAAC;aACnC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF;AAED,gCAAgC;AAEhC,IAAI,QAAiC,CAAC;AAEtC,qEAAqE;AACrE,MAAM,UAAU,eAAe,CAAC,MAAoB;IAClD,QAAQ,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,cAAc;IAC5B,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IAClG,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,uBAAuB;AAEvB,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4GpB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyanheads/calculator-mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Evaluate, simplify, and differentiate mathematical expressions via MCP. STDIO or Streamable HTTP.",
|
|
5
5
|
"mcpName": "io.github.cyanheads/calculator-mcp-server",
|
|
6
6
|
"type": "module",
|
|
@@ -77,14 +77,14 @@
|
|
|
77
77
|
"zod": "^4.4.3"
|
|
78
78
|
},
|
|
79
79
|
"dependencies": {
|
|
80
|
-
"@cyanheads/mcp-ts-core": "^0.10.
|
|
80
|
+
"@cyanheads/mcp-ts-core": "^0.10.10",
|
|
81
81
|
"mathjs": "^15.2.0",
|
|
82
82
|
"pino-pretty": "^13.1.3",
|
|
83
83
|
"zod": "^4.4.3"
|
|
84
84
|
},
|
|
85
85
|
"devDependencies": {
|
|
86
|
-
"@biomejs/biome": "^2.5.
|
|
87
|
-
"@types/node": "^
|
|
86
|
+
"@biomejs/biome": "^2.5.2",
|
|
87
|
+
"@types/node": "^26.1.0",
|
|
88
88
|
"depcheck": "^1.4.7",
|
|
89
89
|
"ignore": "^7.0.5",
|
|
90
90
|
"tsc-alias": "^1.8.17",
|
package/server.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
"url": "https://github.com/cyanheads/calculator-mcp-server",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "0.
|
|
9
|
+
"version": "0.4.0",
|
|
10
10
|
"remotes": [
|
|
11
11
|
{
|
|
12
12
|
"type": "streamable-http",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
20
20
|
"identifier": "@cyanheads/calculator-mcp-server",
|
|
21
21
|
"runtimeHint": "bun",
|
|
22
|
-
"version": "0.
|
|
22
|
+
"version": "0.4.0",
|
|
23
23
|
"packageArguments": [
|
|
24
24
|
{
|
|
25
25
|
"type": "positional",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"registryBaseUrl": "https://registry.npmjs.org",
|
|
70
70
|
"identifier": "@cyanheads/calculator-mcp-server",
|
|
71
71
|
"runtimeHint": "bun",
|
|
72
|
-
"version": "0.
|
|
72
|
+
"version": "0.4.0",
|
|
73
73
|
"packageArguments": [
|
|
74
74
|
{
|
|
75
75
|
"type": "positional",
|