Sign In

@parseable/parseable-mcp-server

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@parseable/parseable-mcp-server - npm Package Compare versions

Comparing version
0.2.0
to
0.2.1
+2
-1
dist/init.d.ts

@@ -5,2 +5,3 @@ export interface ClientTarget {

configPath: string;
configKey: "mcpServers" | "servers";
}

@@ -15,3 +16,3 @@ export interface InitArgs {

export declare function parseInitArgs(argv: string[]): InitArgs;
export declare function mergeConfig(existing: Record<string, unknown>, creds: {
export declare function mergeConfig(existing: Record<string, unknown>, configKey: "mcpServers" | "servers", creds: {
url: string;

@@ -18,0 +19,0 @@ username: string;

@@ -1,21 +0,48 @@

import { existsSync } from "node:fs";
import { mkdir, readFile, writeFile } from "node:fs/promises";
import { copyFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
import { homedir, platform } from "node:os";
import { dirname, join } from "node:path";
import { createInterface } from "node:readline/promises";
import inquirer from "inquirer";
export function getClientTargets(home = homedir(), plat = platform()) {
const targets = [];
let claudePath;
if (plat === "darwin") {
claudePath = join(home, "Library", "Application Support", "Claude", "claude_desktop_config.json");
}
else if (plat === "win32") {
claudePath = join(process.env.APPDATA ?? home, "Claude", "claude_desktop_config.json");
}
else {
claudePath = join(home, ".config", "Claude", "claude_desktop_config.json");
}
targets.push({ id: "claude-desktop", name: "Claude Desktop", configPath: claudePath });
targets.push({ id: "cursor", name: "Cursor", configPath: join(home, ".cursor", "mcp.json") });
return targets;
const claudeDesktopPath = plat === "darwin"
? join(home, "Library", "Application Support", "Claude", "claude_desktop_config.json")
: plat === "win32"
? join(process.env.APPDATA ?? home, "Claude", "claude_desktop_config.json")
: join(home, ".config", "Claude", "claude_desktop_config.json");
const vscodeBaseDir = (variant) => plat === "darwin"
? join(home, "Library", "Application Support", variant, "User", "mcp.json")
: plat === "win32"
? join(process.env.APPDATA ?? home, variant, "User", "mcp.json")
: join(home, ".config", variant, "User", "mcp.json");
return [
{
id: "claude-code",
name: "Claude Code",
configPath: join(home, ".claude.json"),
configKey: "mcpServers",
},
{
id: "claude-desktop",
name: "Claude for Desktop",
configPath: claudeDesktopPath,
configKey: "mcpServers",
},
{
id: "cursor",
name: "Cursor",
configPath: join(home, ".cursor", "mcp.json"),
configKey: "mcpServers",
},
{
id: "vscode",
name: "VS Code",
configPath: vscodeBaseDir("Code"),
configKey: "servers",
},
{
id: "vscode-insiders",
name: "VS Code Insiders",
configPath: vscodeBaseDir("Code - Insiders"),
configKey: "servers",
},
];
}

@@ -37,3 +64,3 @@ export function parseInitArgs(argv) {

}
export function mergeConfig(existing, creds) {
export function mergeConfig(existing, configKey, creds) {
const entry = {

@@ -48,95 +75,94 @@ command: "npx",

};
const servers = existing.mcpServers ?? {};
const servers = existing[configKey] ?? {};
servers.parseable = entry;
return { ...existing, mcpServers: servers };
return { ...existing, [configKey]: servers };
}
async function writeClientConfig(target, creds) {
function writeClientConfig(target, creds) {
let existing = {};
if (existsSync(target.configPath)) {
const raw = await readFile(target.configPath, "utf8");
if (raw.trim()) {
try {
try {
copyFileSync(target.configPath, `${target.configPath}.bak`);
const raw = readFileSync(target.configPath, "utf8");
if (raw.trim()) {
existing = JSON.parse(raw);
}
catch {
throw new Error(`Existing config at ${target.configPath} is not valid JSON. Refusing to overwrite.`);
}
}
await writeFile(`${target.configPath}.bak`, raw, "utf8");
catch {
console.warn(`Warning: existing config at ${target.configPath} is not valid JSON. Backed up and replacing.`);
}
}
else {
await mkdir(dirname(target.configPath), { recursive: true });
mkdirSync(dirname(target.configPath), { recursive: true });
}
const merged = mergeConfig(existing, creds);
await writeFile(target.configPath, `${JSON.stringify(merged, null, 2)}\n`, "utf8");
const merged = mergeConfig(existing, target.configKey, creds);
writeFileSync(target.configPath, `${JSON.stringify(merged, null, 2)}\n`, "utf8");
}
async function ask(rl, question, fallback) {
const q = fallback ? `${question} [${fallback}]: ` : `${question}: `;
const answer = (await rl.question(q)).trim();
return answer || fallback || "";
}
export async function runInit(argv = process.argv.slice(3)) {
const args = parseInitArgs(argv);
const all = getClientTargets();
console.log("Parseable MCP server — interactive setup\n");
const all = getClientTargets();
const detected = all.filter((t) => existsSync(t.configPath));
if (detected.length === 0) {
console.log("No MCP clients detected yet. Creating config files for both Claude Desktop and Cursor.");
console.log("If you only use one, you can delete the other later.\n");
}
else {
console.log("Detected MCP clients:");
for (const [i, t] of detected.entries()) {
console.log(` ${i + 1}. ${t.name} (${t.configPath})`);
}
console.log();
}
const rl = createInterface({ input: process.stdin, output: process.stdout });
let chosen;
// 1. Application
let selectedTarget;
if (args.client) {
const match = all.find((t) => t.id === args.client);
if (!match) {
rl.close();
console.error(`Unknown client "${args.client}". Use one of: ${all.map((t) => t.id).join(", ")}`);
process.exit(1);
}
chosen = [match];
selectedTarget = match;
}
else if (detected.length === 0) {
chosen = all;
}
else {
const pick = await ask(rl, "Configure which? (comma-separated numbers, or 'all')", "all");
if (pick === "all") {
chosen = detected;
const { application } = await inquirer.prompt([
{
type: "list",
name: "application",
message: "Select Application:",
choices: all.map((t) => ({ name: t.name, value: t.id })),
},
]);
const match = all.find((t) => t.id === application);
if (!match) {
console.error("No application selected. Aborting.");
process.exit(1);
}
else {
const indices = pick.split(",").map((s) => Number.parseInt(s.trim(), 10) - 1);
chosen = indices.map((i) => detected[i]).filter(Boolean);
}
selectedTarget = match;
}
if (chosen.length === 0) {
rl.close();
console.error("No clients selected. Aborting.");
process.exit(1);
// 2. Credentials
const answers = await inquirer.prompt([
!args.url && {
type: "input",
name: "url",
message: "Parseable URL:",
validate: (v) => v.trim().length > 0 || "URL is required",
},
!args.username && {
type: "input",
name: "username",
message: "Username:",
default: "admin",
},
!args.password && {
type: "password",
name: "password",
message: "Password:",
mask: "*",
validate: (v) => v.length > 0 || "Password is required",
},
].filter(Boolean));
const creds = {
url: args.url ?? answers.url,
username: args.username ?? answers.username,
password: args.password ?? answers.password,
};
// 3. Write
try {
writeClientConfig(selectedTarget, creds);
console.log(`\n✓ Configuration saved to ${selectedTarget.configPath} for ${selectedTarget.name}`);
console.log(`Restart ${selectedTarget.name} to load 27 Parseable tools.`);
}
const url = args.url || (await ask(rl, "Parseable URL"));
const username = args.username || (await ask(rl, "Username", "admin"));
const password = args.password || (await ask(rl, "Password"));
rl.close();
if (!url || !username || !password) {
console.error("URL, username, and password are all required.");
catch (err) {
console.error(`✗ Failed to write config: ${err.message}`);
process.exit(1);
}
for (const target of chosen) {
try {
await writeClientConfig(target, { url, username, password });
console.log(`✓ Configured ${target.name}: ${target.configPath}`);
}
catch (err) {
console.error(`✗ Failed to configure ${target.name}: ${err.message}`);
}
}
console.log(`\nRestart ${chosen.map((t) => t.name).join(" / ")} to load 27 Parseable tools.`);
}
//# sourceMappingURL=init.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAkB,MAAM,wBAAwB,CAAC;AAezE,MAAM,UAAU,gBAAgB,CAC9B,OAAe,OAAO,EAAE,EACxB,OAAe,QAAQ,EAAE;IAEzB,MAAM,OAAO,GAAmB,EAAE,CAAC;IAEnC,IAAI,UAAkB,CAAC;IACvB,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,UAAU,GAAG,IAAI,CACf,IAAI,EACJ,SAAS,EACT,qBAAqB,EACrB,QAAQ,EACR,4BAA4B,CAC7B,CAAC;IACJ,CAAC;SAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,EAAE,QAAQ,EAAE,4BAA4B,CAAC,CAAC;IACzF,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,4BAA4B,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;IAEvF,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;IAE9F,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAc;IAC1C,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAAE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;aAClD,IAAI,CAAC,KAAK,YAAY,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;aACjE,IAAI,CAAC,KAAK,YAAY,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;aACjE,IAAI,CAAC,KAAK,UAAU,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,QAAiC,EACjC,KAA0D;IAE1D,MAAM,KAAK,GAAG;QACZ,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,iCAAiC,CAAC;QAC/C,GAAG,EAAE;YACH,aAAa,EAAE,KAAK,CAAC,GAAG;YACxB,kBAAkB,EAAE,KAAK,CAAC,QAAQ;YAClC,kBAAkB,EAAE,KAAK,CAAC,QAAQ;SACnC;KACF,CAAC;IAEF,MAAM,OAAO,GAAI,QAAQ,CAAC,UAAsC,IAAI,EAAE,CAAC;IACvE,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;IAC1B,OAAO,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AAC9C,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,MAAoB,EACpB,KAA0D;IAE1D,IAAI,QAAQ,GAA4B,EAAE,CAAC;IAC3C,IAAI,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACtD,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CACb,sBAAsB,MAAM,CAAC,UAAU,4CAA4C,CACpF,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,SAAS,CAAC,GAAG,MAAM,CAAC,UAAU,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5C,MAAM,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACrF,CAAC;AAED,KAAK,UAAU,GAAG,CAAC,EAAa,EAAE,QAAgB,EAAE,QAAiB;IACnE,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,KAAK,QAAQ,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,CAAC;IACrE,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,OAAO,MAAM,IAAI,QAAQ,IAAI,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAiB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAEjC,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAE1D,MAAM,GAAG,GAAG,gBAAgB,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IAE7D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CACT,wFAAwF,CACzF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;IACxE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE7E,IAAI,MAAsB,CAAC;IAC3B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CACX,mBAAmB,IAAI,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;SAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,CAAC;IACf,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,sDAAsD,EAAE,KAAK,CAAC,CAAC;QAC1F,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,MAAM,GAAG,QAAQ,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9E,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;IAE9D,EAAE,CAAC,KAAK,EAAE,CAAC;IAEX,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnC,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,iBAAiB,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,MAAM,CAAC,IAAI,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;AAChG,CAAC"}
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
{
"name": "@parseable/parseable-mcp-server",
"version": "0.2.0",
"version": "0.2.1",
"description": "Model Context Protocol server for Parseable. Lets LLMs discover and query Parseable datasets.",

@@ -15,17 +15,6 @@ "license": "Apache-2.0",

],
"scripts": {
"build": "tsc",
"dev": "tsc --watch",
"start": "node dist/server.js",
"test": "vitest run",
"test:watch": "vitest",
"test:coverage": "vitest run --coverage",
"lint": "biome check src test",
"format": "biome format --write src test",
"fix": "biome check --write src test",
"prepublishOnly": "npm run build && npm run lint && npm test"
},
"dependencies": {
"@modelcontextprotocol/sdk": "^1.0.4",
"dotenv": "^16.4.5",
"inquirer": "^13.4.3",
"zod": "^3.23.8"

@@ -35,2 +24,3 @@ },

"@biomejs/biome": "2.4.15",
"@types/inquirer": "^9.0.9",
"@types/node": "^22.10.0",

@@ -46,3 +36,14 @@ "@vitest/coverage-v8": "^4.1.6",

"access": "public"
},
"scripts": {
"build": "tsc",
"dev": "tsc --watch",
"start": "node dist/server.js",
"test": "vitest run",
"test:watch": "vitest",
"test:coverage": "vitest run --coverage",
"lint": "biome check src test",
"format": "biome format --write src test",
"fix": "biome check --write src test"
}
}
}