UNPKG

mcp-decisive

Version:

MCP server for WRAP decision-making framework with structured output

34 lines 1.17 kB
import { ok, err } from 'neverthrow'; import { randomUUID } from 'crypto'; export const NonEmptyString = { from: (s) => { const trimmed = s.trim(); if (trimmed !== '') { return ok({ _tag: 'NonEmptyString', value: trimmed }); } return err('String cannot be empty or blank'); }, value: (s) => s.value }; export const PositiveNumber = { from: (n) => n > 0 ? ok(n) : err('Value must be a positive number'), plus: (a, b) => (a + b), plusRaw: (base, delta) => base + delta > 0 ? ok((base + delta)) : err('Resulting value must be a positive number'), minus: (a, b) => a - b > 0 ? ok((a - b)) : err('Resulting value must be a positive number'), minusRaw: (base, delta) => base - delta > 0 ? ok((base - delta)) : err('Resulting value must be a positive number'), compareTo: (a, b) => a === b ? 0 : a > b ? 1 : -1, value: (n) => n }; export const ID = { generate: () => randomUUID(), value: (id) => id }; export const NonEmptyArray = { from: (xs) => xs.length > 0 ? ok(xs) : err('Array cannot be empty') }; //# sourceMappingURL=primitive.js.map