mcp-ts-template 2.3.1 → 2.3.3
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/README.md +19 -1
- package/dist/index.js +70 -73
- package/package.json +22 -25
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
<div align="center">
|
|
7
7
|
|
|
8
|
-
[](./CHANGELOG.md) [](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/docs/specification/2025-06-18/changelog.mdx) [](https://modelcontextprotocol.io/) [](./LICENSE) [](https://github.com/cyanheads/mcp-ts-template/issues) [](https://www.typescriptlang.org/) [](https://bun.sh/) [](./coverage/lcov-report/)
|
|
9
9
|
|
|
10
10
|
</div>
|
|
11
11
|
|
|
@@ -26,6 +26,24 @@
|
|
|
26
26
|
|
|
27
27
|
## 🚀 Getting Started
|
|
28
28
|
|
|
29
|
+
### MCP Client Settings/Configuration
|
|
30
|
+
|
|
31
|
+
Add the following to your MCP Client configuration file (e.g., `cline_mcp_settings.json`).
|
|
32
|
+
|
|
33
|
+
```json
|
|
34
|
+
{
|
|
35
|
+
"mcpServers": {
|
|
36
|
+
"mcp-ts-template": {
|
|
37
|
+
"command": "bunx",
|
|
38
|
+
"args": ["mcp-ts-template@latest"],
|
|
39
|
+
"env": {
|
|
40
|
+
"MCP_LOG_LEVEL": "info"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
29
47
|
### Prerequisites
|
|
30
48
|
|
|
31
49
|
- [Bun v1.2.0](https://bun.sh/) or higher.
|
package/dist/index.js
CHANGED
|
@@ -117488,55 +117488,10 @@ var z = /* @__PURE__ */ Object.freeze({
|
|
|
117488
117488
|
quotelessJson,
|
|
117489
117489
|
ZodError
|
|
117490
117490
|
});
|
|
117491
|
-
|
|
117492
|
-
// src/types-global/errors.ts
|
|
117493
|
-
var JsonRpcErrorCode;
|
|
117494
|
-
((JsonRpcErrorCode2) => {
|
|
117495
|
-
JsonRpcErrorCode2[JsonRpcErrorCode2["ParseError"] = -32700] = "ParseError";
|
|
117496
|
-
JsonRpcErrorCode2[JsonRpcErrorCode2["InvalidRequest"] = -32600] = "InvalidRequest";
|
|
117497
|
-
JsonRpcErrorCode2[JsonRpcErrorCode2["MethodNotFound"] = -32601] = "MethodNotFound";
|
|
117498
|
-
JsonRpcErrorCode2[JsonRpcErrorCode2["InvalidParams"] = -32602] = "InvalidParams";
|
|
117499
|
-
JsonRpcErrorCode2[JsonRpcErrorCode2["InternalError"] = -32603] = "InternalError";
|
|
117500
|
-
JsonRpcErrorCode2[JsonRpcErrorCode2["ServiceUnavailable"] = -32000] = "ServiceUnavailable";
|
|
117501
|
-
JsonRpcErrorCode2[JsonRpcErrorCode2["NotFound"] = -32001] = "NotFound";
|
|
117502
|
-
JsonRpcErrorCode2[JsonRpcErrorCode2["Conflict"] = -32002] = "Conflict";
|
|
117503
|
-
JsonRpcErrorCode2[JsonRpcErrorCode2["RateLimited"] = -32003] = "RateLimited";
|
|
117504
|
-
JsonRpcErrorCode2[JsonRpcErrorCode2["Timeout"] = -32004] = "Timeout";
|
|
117505
|
-
JsonRpcErrorCode2[JsonRpcErrorCode2["Forbidden"] = -32005] = "Forbidden";
|
|
117506
|
-
JsonRpcErrorCode2[JsonRpcErrorCode2["Unauthorized"] = -32006] = "Unauthorized";
|
|
117507
|
-
JsonRpcErrorCode2[JsonRpcErrorCode2["ValidationError"] = -32007] = "ValidationError";
|
|
117508
|
-
JsonRpcErrorCode2[JsonRpcErrorCode2["ConfigurationError"] = -32008] = "ConfigurationError";
|
|
117509
|
-
JsonRpcErrorCode2[JsonRpcErrorCode2["InitializationFailed"] = -32009] = "InitializationFailed";
|
|
117510
|
-
JsonRpcErrorCode2[JsonRpcErrorCode2["DatabaseError"] = -32010] = "DatabaseError";
|
|
117511
|
-
JsonRpcErrorCode2[JsonRpcErrorCode2["SerializationError"] = -32070] = "SerializationError";
|
|
117512
|
-
JsonRpcErrorCode2[JsonRpcErrorCode2["UnknownError"] = -32099] = "UnknownError";
|
|
117513
|
-
})(JsonRpcErrorCode ||= {});
|
|
117514
|
-
|
|
117515
|
-
class McpError extends Error {
|
|
117516
|
-
code;
|
|
117517
|
-
data;
|
|
117518
|
-
constructor(code, message, data, options) {
|
|
117519
|
-
super(message, options);
|
|
117520
|
-
this.code = code;
|
|
117521
|
-
if (data) {
|
|
117522
|
-
this.data = data;
|
|
117523
|
-
}
|
|
117524
|
-
this.name = "McpError";
|
|
117525
|
-
Object.setPrototypeOf(this, McpError.prototype);
|
|
117526
|
-
if (Error.captureStackTrace) {
|
|
117527
|
-
Error.captureStackTrace(this, McpError);
|
|
117528
|
-
}
|
|
117529
|
-
}
|
|
117530
|
-
}
|
|
117531
|
-
var ErrorSchema = z.object({
|
|
117532
|
-
code: z.nativeEnum(JsonRpcErrorCode).describe("Standardized error code from JsonRpcErrorCode enum"),
|
|
117533
|
-
message: z.string().min(1, "Error message cannot be empty.").describe("Detailed human-readable error message"),
|
|
117534
|
-
data: z.record(z.string(), z.unknown()).optional().describe("Optional structured data providing more context about the error")
|
|
117535
|
-
}).describe("Schema for validating structured error objects, ensuring consistency in error reporting.");
|
|
117536
117491
|
// package.json
|
|
117537
117492
|
var package_default = {
|
|
117538
117493
|
name: "mcp-ts-template",
|
|
117539
|
-
version: "2.3.
|
|
117494
|
+
version: "2.3.3",
|
|
117540
117495
|
mcpName: "io.github.cyanheads/mcp-ts-template",
|
|
117541
117496
|
description: "The definitive, production-grade template for building powerful and scalable Model Context Protocol (MCP) servers with TypeScript, featuring built-in observability (OpenTelemetry), declarative tooling, robust error handling, and a modular, DI-driven architecture.",
|
|
117542
117497
|
main: "dist/index.js",
|
|
@@ -117567,30 +117522,27 @@ var package_default = {
|
|
|
117567
117522
|
scripts: {
|
|
117568
117523
|
build: "bun build ./src/index.ts --outdir ./dist --target node",
|
|
117569
117524
|
"build:worker": "bun build ./src/worker.ts --outdir ./dist --target bun --no-external",
|
|
117570
|
-
"deploy:dev": "bunx wrangler dev",
|
|
117571
|
-
"deploy:prod": "bunx wrangler deploy",
|
|
117525
|
+
"deploy:dev": "MCP_TRANSPORT_TYPE=http bunx wrangler dev",
|
|
117526
|
+
"deploy:prod": "MCP_TRANSPORT_TYPE=http bunx wrangler deploy",
|
|
117572
117527
|
start: "bun ./dist/index.js",
|
|
117573
|
-
"start:stdio": "
|
|
117574
|
-
"start:http": "
|
|
117575
|
-
"start:agent": "MCP_LOG_LEVEL=debug bun ./dist/agent/cli/boot.js",
|
|
117528
|
+
"start:stdio": "MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js",
|
|
117529
|
+
"start:http": "MCP_TRANSPORT_TYPE=http bun ./dist/index.js",
|
|
117576
117530
|
dev: "bun --watch src/index.ts",
|
|
117577
117531
|
"dev:stdio": "MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts",
|
|
117578
117532
|
"dev:http": "MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts",
|
|
117579
|
-
"dev:agent": "MCP_LOG_LEVEL=debug bun --watch src/agent/cli/boot.ts",
|
|
117580
117533
|
devdocs: "bun run scripts/devdocs.ts",
|
|
117581
117534
|
devcheck: "bun run scripts/devcheck.ts",
|
|
117582
117535
|
rebuild: "bun run scripts/clean.ts && bun run build",
|
|
117583
|
-
"docs:generate": "typedoc",
|
|
117536
|
+
"docs:generate": "bunx typedoc",
|
|
117584
117537
|
depcheck: "bunx depcheck",
|
|
117585
|
-
lint: "eslint .",
|
|
117586
|
-
"lint:fix": "eslint . --fix",
|
|
117587
|
-
typecheck: "tsc --noEmit",
|
|
117538
|
+
lint: "bunx eslint .",
|
|
117539
|
+
"lint:fix": "bunx eslint . --fix",
|
|
117540
|
+
typecheck: "bunx tsc --noEmit",
|
|
117588
117541
|
tree: "bun run scripts/tree.ts",
|
|
117589
117542
|
"fetch-spec": "bun run scripts/fetch-openapi-spec.ts",
|
|
117590
|
-
format: '
|
|
117591
|
-
prepare: "
|
|
117543
|
+
format: 'bunx prettier --write "**/*.{ts,js,json,md,html,css}"',
|
|
117544
|
+
prepare: "bunx husky",
|
|
117592
117545
|
inspector: "bunx mcp-inspector --config mcp.json --server mcp-ts-template",
|
|
117593
|
-
"db:duckdb-example": "MCP_LOG_LEVEL=debug tsc && node dist/storage/duckdbExample.js",
|
|
117594
117546
|
test: "bun test --config vitest.config.ts",
|
|
117595
117547
|
"test:coverage": "bun test --coverage",
|
|
117596
117548
|
audit: "bun audit",
|
|
@@ -117619,22 +117571,19 @@ var package_default = {
|
|
|
117619
117571
|
jose: "^6.1.0",
|
|
117620
117572
|
"js-yaml": "^4.1.0",
|
|
117621
117573
|
"node-cron": "^4.2.1",
|
|
117622
|
-
openai: "^6.0.
|
|
117574
|
+
openai: "^6.0.1",
|
|
117623
117575
|
papaparse: "^5.5.3",
|
|
117624
117576
|
"partial-json": "^0.1.7",
|
|
117625
117577
|
"pdf-lib": "^1.17.1",
|
|
117626
117578
|
pino: "^9.12.0",
|
|
117579
|
+
"pino-pretty": "^13.1.1",
|
|
117627
117580
|
"reflect-metadata": "^0.2.2",
|
|
117628
117581
|
repomix: "^1.6.0",
|
|
117629
117582
|
"sanitize-html": "^2.17.0",
|
|
117630
117583
|
tslib: "^2.8.1",
|
|
117631
117584
|
tsyringe: "^4.10.0",
|
|
117632
117585
|
validator: "13.15.15",
|
|
117633
|
-
zod: "^3.23.8"
|
|
117634
|
-
},
|
|
117635
|
-
devDependencies: {
|
|
117636
|
-
"@cloudflare/workers-types": "^4.20250927.0",
|
|
117637
|
-
"@eslint/js": "^9.36.0",
|
|
117586
|
+
zod: "^3.23.8",
|
|
117638
117587
|
"@opentelemetry/api": "^1.9.0",
|
|
117639
117588
|
"@opentelemetry/auto-instrumentations-node": "^0.64.6",
|
|
117640
117589
|
"@opentelemetry/exporter-metrics-otlp-http": "^0.205.0",
|
|
@@ -117644,10 +117593,14 @@ var package_default = {
|
|
|
117644
117593
|
"@opentelemetry/sdk-metrics": "^2.1.0",
|
|
117645
117594
|
"@opentelemetry/sdk-node": "^0.205.0",
|
|
117646
117595
|
"@opentelemetry/sdk-trace-node": "^2.1.0",
|
|
117647
|
-
"@opentelemetry/semantic-conventions": "^1.37.0"
|
|
117596
|
+
"@opentelemetry/semantic-conventions": "^1.37.0"
|
|
117597
|
+
},
|
|
117598
|
+
devDependencies: {
|
|
117599
|
+
"@cloudflare/workers-types": "^4.20251001.0",
|
|
117600
|
+
"@eslint/js": "^9.36.0",
|
|
117648
117601
|
"@types/bun": "^1.2.23",
|
|
117649
117602
|
"@types/js-yaml": "^4.0.9",
|
|
117650
|
-
"@types/node": "^24.6.
|
|
117603
|
+
"@types/node": "^24.6.2",
|
|
117651
117604
|
"@types/node-cron": "^3.0.11",
|
|
117652
117605
|
"@types/papaparse": "^5.3.16",
|
|
117653
117606
|
"@types/sanitize-html": "^2.16.0",
|
|
@@ -117663,12 +117616,11 @@ var package_default = {
|
|
|
117663
117616
|
globals: "^16.4.0",
|
|
117664
117617
|
husky: "^9.1.7",
|
|
117665
117618
|
msw: "^2.11.3",
|
|
117666
|
-
"pino-pretty": "^13.1.1",
|
|
117667
117619
|
prettier: "^3.6.2",
|
|
117668
117620
|
typedoc: "^0.28.13",
|
|
117669
|
-
typescript: "^5.9.
|
|
117621
|
+
typescript: "^5.9.2",
|
|
117670
117622
|
"typescript-eslint": "8.45.0",
|
|
117671
|
-
vite: "^7.1.
|
|
117623
|
+
vite: "^7.1.8",
|
|
117672
117624
|
"vite-tsconfig-paths": "^5.1.4",
|
|
117673
117625
|
vitest: "^3.2.4"
|
|
117674
117626
|
},
|
|
@@ -117721,6 +117673,51 @@ var package_default = {
|
|
|
117721
117673
|
}
|
|
117722
117674
|
};
|
|
117723
117675
|
|
|
117676
|
+
// src/types-global/errors.ts
|
|
117677
|
+
var JsonRpcErrorCode;
|
|
117678
|
+
((JsonRpcErrorCode2) => {
|
|
117679
|
+
JsonRpcErrorCode2[JsonRpcErrorCode2["ParseError"] = -32700] = "ParseError";
|
|
117680
|
+
JsonRpcErrorCode2[JsonRpcErrorCode2["InvalidRequest"] = -32600] = "InvalidRequest";
|
|
117681
|
+
JsonRpcErrorCode2[JsonRpcErrorCode2["MethodNotFound"] = -32601] = "MethodNotFound";
|
|
117682
|
+
JsonRpcErrorCode2[JsonRpcErrorCode2["InvalidParams"] = -32602] = "InvalidParams";
|
|
117683
|
+
JsonRpcErrorCode2[JsonRpcErrorCode2["InternalError"] = -32603] = "InternalError";
|
|
117684
|
+
JsonRpcErrorCode2[JsonRpcErrorCode2["ServiceUnavailable"] = -32000] = "ServiceUnavailable";
|
|
117685
|
+
JsonRpcErrorCode2[JsonRpcErrorCode2["NotFound"] = -32001] = "NotFound";
|
|
117686
|
+
JsonRpcErrorCode2[JsonRpcErrorCode2["Conflict"] = -32002] = "Conflict";
|
|
117687
|
+
JsonRpcErrorCode2[JsonRpcErrorCode2["RateLimited"] = -32003] = "RateLimited";
|
|
117688
|
+
JsonRpcErrorCode2[JsonRpcErrorCode2["Timeout"] = -32004] = "Timeout";
|
|
117689
|
+
JsonRpcErrorCode2[JsonRpcErrorCode2["Forbidden"] = -32005] = "Forbidden";
|
|
117690
|
+
JsonRpcErrorCode2[JsonRpcErrorCode2["Unauthorized"] = -32006] = "Unauthorized";
|
|
117691
|
+
JsonRpcErrorCode2[JsonRpcErrorCode2["ValidationError"] = -32007] = "ValidationError";
|
|
117692
|
+
JsonRpcErrorCode2[JsonRpcErrorCode2["ConfigurationError"] = -32008] = "ConfigurationError";
|
|
117693
|
+
JsonRpcErrorCode2[JsonRpcErrorCode2["InitializationFailed"] = -32009] = "InitializationFailed";
|
|
117694
|
+
JsonRpcErrorCode2[JsonRpcErrorCode2["DatabaseError"] = -32010] = "DatabaseError";
|
|
117695
|
+
JsonRpcErrorCode2[JsonRpcErrorCode2["SerializationError"] = -32070] = "SerializationError";
|
|
117696
|
+
JsonRpcErrorCode2[JsonRpcErrorCode2["UnknownError"] = -32099] = "UnknownError";
|
|
117697
|
+
})(JsonRpcErrorCode ||= {});
|
|
117698
|
+
|
|
117699
|
+
class McpError extends Error {
|
|
117700
|
+
code;
|
|
117701
|
+
data;
|
|
117702
|
+
constructor(code, message, data, options) {
|
|
117703
|
+
super(message, options);
|
|
117704
|
+
this.code = code;
|
|
117705
|
+
if (data) {
|
|
117706
|
+
this.data = data;
|
|
117707
|
+
}
|
|
117708
|
+
this.name = "McpError";
|
|
117709
|
+
Object.setPrototypeOf(this, McpError.prototype);
|
|
117710
|
+
if (Error.captureStackTrace) {
|
|
117711
|
+
Error.captureStackTrace(this, McpError);
|
|
117712
|
+
}
|
|
117713
|
+
}
|
|
117714
|
+
}
|
|
117715
|
+
var ErrorSchema = z.object({
|
|
117716
|
+
code: z.nativeEnum(JsonRpcErrorCode).describe("Standardized error code from JsonRpcErrorCode enum"),
|
|
117717
|
+
message: z.string().min(1, "Error message cannot be empty.").describe("Detailed human-readable error message"),
|
|
117718
|
+
data: z.record(z.string(), z.unknown()).optional().describe("Optional structured data providing more context about the error")
|
|
117719
|
+
}).describe("Schema for validating structured error objects, ensuring consistency in error reporting.");
|
|
117720
|
+
|
|
117724
117721
|
// src/config/index.ts
|
|
117725
117722
|
var packageManifest = package_default;
|
|
117726
117723
|
var hasFileSystemAccess = typeof process !== "undefined" && typeof process.versions === "object" && process.versions !== null && typeof process.versions.node === "string";
|
|
@@ -119784,7 +119781,7 @@ var safeJSON = (text) => {
|
|
|
119784
119781
|
var sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
119785
119782
|
|
|
119786
119783
|
// node_modules/openai/version.mjs
|
|
119787
|
-
var VERSION = "6.0.
|
|
119784
|
+
var VERSION = "6.0.1";
|
|
119788
119785
|
|
|
119789
119786
|
// node_modules/openai/internal/detect-platform.mjs
|
|
119790
119787
|
var isRunningInBrowser = () => {
|
|
@@ -129998,7 +129995,7 @@ class ResourceRegistry {
|
|
|
129998
129995
|
}
|
|
129999
129996
|
ResourceRegistry = __legacyDecorateClassTS([
|
|
130000
129997
|
import_tsyringe9.injectable(),
|
|
130001
|
-
__legacyDecorateParamTS(0, import_tsyringe9.injectAll(ResourceDefinitions)),
|
|
129998
|
+
__legacyDecorateParamTS(0, import_tsyringe9.injectAll(ResourceDefinitions, { isOptional: true })),
|
|
130002
129999
|
__legacyMetadataTS("design:paramtypes", [
|
|
130003
130000
|
Array
|
|
130004
130001
|
])
|
|
@@ -130700,7 +130697,7 @@ class ToolRegistry {
|
|
|
130700
130697
|
}
|
|
130701
130698
|
ToolRegistry = __legacyDecorateClassTS([
|
|
130702
130699
|
import_tsyringe12.injectable(),
|
|
130703
|
-
__legacyDecorateParamTS(0, import_tsyringe12.injectAll(ToolDefinitions)),
|
|
130700
|
+
__legacyDecorateParamTS(0, import_tsyringe12.injectAll(ToolDefinitions, { isOptional: true })),
|
|
130704
130701
|
__legacyMetadataTS("design:paramtypes", [
|
|
130705
130702
|
Array
|
|
130706
130703
|
])
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcp-ts-template",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.3",
|
|
4
4
|
"mcpName": "io.github.cyanheads/mcp-ts-template",
|
|
5
5
|
"description": "The definitive, production-grade template for building powerful and scalable Model Context Protocol (MCP) servers with TypeScript, featuring built-in observability (OpenTelemetry), declarative tooling, robust error handling, and a modular, DI-driven architecture.",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -31,30 +31,27 @@
|
|
|
31
31
|
"scripts": {
|
|
32
32
|
"build": "bun build ./src/index.ts --outdir ./dist --target node",
|
|
33
33
|
"build:worker": "bun build ./src/worker.ts --outdir ./dist --target bun --no-external",
|
|
34
|
-
"deploy:dev": "bunx wrangler dev",
|
|
35
|
-
"deploy:prod": "bunx wrangler deploy",
|
|
34
|
+
"deploy:dev": "MCP_TRANSPORT_TYPE=http bunx wrangler dev",
|
|
35
|
+
"deploy:prod": "MCP_TRANSPORT_TYPE=http bunx wrangler deploy",
|
|
36
36
|
"start": "bun ./dist/index.js",
|
|
37
|
-
"start:stdio": "
|
|
38
|
-
"start:http": "
|
|
39
|
-
"start:agent": "MCP_LOG_LEVEL=debug bun ./dist/agent/cli/boot.js",
|
|
37
|
+
"start:stdio": "MCP_TRANSPORT_TYPE=stdio bun ./dist/index.js",
|
|
38
|
+
"start:http": "MCP_TRANSPORT_TYPE=http bun ./dist/index.js",
|
|
40
39
|
"dev": "bun --watch src/index.ts",
|
|
41
40
|
"dev:stdio": "MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=stdio bun --watch src/index.ts",
|
|
42
41
|
"dev:http": "MCP_LOG_LEVEL=debug MCP_TRANSPORT_TYPE=http bun --watch src/index.ts",
|
|
43
|
-
"dev:agent": "MCP_LOG_LEVEL=debug bun --watch src/agent/cli/boot.ts",
|
|
44
42
|
"devdocs": "bun run scripts/devdocs.ts",
|
|
45
43
|
"devcheck": "bun run scripts/devcheck.ts",
|
|
46
44
|
"rebuild": "bun run scripts/clean.ts && bun run build",
|
|
47
|
-
"docs:generate": "typedoc",
|
|
45
|
+
"docs:generate": "bunx typedoc",
|
|
48
46
|
"depcheck": "bunx depcheck",
|
|
49
|
-
"lint": "eslint .",
|
|
50
|
-
"lint:fix": "eslint . --fix",
|
|
51
|
-
"typecheck": "tsc --noEmit",
|
|
47
|
+
"lint": "bunx eslint .",
|
|
48
|
+
"lint:fix": "bunx eslint . --fix",
|
|
49
|
+
"typecheck": "bunx tsc --noEmit",
|
|
52
50
|
"tree": "bun run scripts/tree.ts",
|
|
53
51
|
"fetch-spec": "bun run scripts/fetch-openapi-spec.ts",
|
|
54
|
-
"format": "
|
|
55
|
-
"prepare": "
|
|
52
|
+
"format": "bunx prettier --write \"**/*.{ts,js,json,md,html,css}\"",
|
|
53
|
+
"prepare": "bunx husky",
|
|
56
54
|
"inspector": "bunx mcp-inspector --config mcp.json --server mcp-ts-template",
|
|
57
|
-
"db:duckdb-example": "MCP_LOG_LEVEL=debug tsc && node dist/storage/duckdbExample.js",
|
|
58
55
|
"test": "bun test --config vitest.config.ts",
|
|
59
56
|
"test:coverage": "bun test --coverage",
|
|
60
57
|
"audit": "bun audit",
|
|
@@ -83,22 +80,19 @@
|
|
|
83
80
|
"jose": "^6.1.0",
|
|
84
81
|
"js-yaml": "^4.1.0",
|
|
85
82
|
"node-cron": "^4.2.1",
|
|
86
|
-
"openai": "^6.0.
|
|
83
|
+
"openai": "^6.0.1",
|
|
87
84
|
"papaparse": "^5.5.3",
|
|
88
85
|
"partial-json": "^0.1.7",
|
|
89
86
|
"pdf-lib": "^1.17.1",
|
|
90
87
|
"pino": "^9.12.0",
|
|
88
|
+
"pino-pretty": "^13.1.1",
|
|
91
89
|
"reflect-metadata": "^0.2.2",
|
|
92
90
|
"repomix": "^1.6.0",
|
|
93
91
|
"sanitize-html": "^2.17.0",
|
|
94
92
|
"tslib": "^2.8.1",
|
|
95
93
|
"tsyringe": "^4.10.0",
|
|
96
94
|
"validator": "13.15.15",
|
|
97
|
-
"zod": "^3.23.8"
|
|
98
|
-
},
|
|
99
|
-
"devDependencies": {
|
|
100
|
-
"@cloudflare/workers-types": "^4.20250927.0",
|
|
101
|
-
"@eslint/js": "^9.36.0",
|
|
95
|
+
"zod": "^3.23.8",
|
|
102
96
|
"@opentelemetry/api": "^1.9.0",
|
|
103
97
|
"@opentelemetry/auto-instrumentations-node": "^0.64.6",
|
|
104
98
|
"@opentelemetry/exporter-metrics-otlp-http": "^0.205.0",
|
|
@@ -108,10 +102,14 @@
|
|
|
108
102
|
"@opentelemetry/sdk-metrics": "^2.1.0",
|
|
109
103
|
"@opentelemetry/sdk-node": "^0.205.0",
|
|
110
104
|
"@opentelemetry/sdk-trace-node": "^2.1.0",
|
|
111
|
-
"@opentelemetry/semantic-conventions": "^1.37.0"
|
|
105
|
+
"@opentelemetry/semantic-conventions": "^1.37.0"
|
|
106
|
+
},
|
|
107
|
+
"devDependencies": {
|
|
108
|
+
"@cloudflare/workers-types": "^4.20251001.0",
|
|
109
|
+
"@eslint/js": "^9.36.0",
|
|
112
110
|
"@types/bun": "^1.2.23",
|
|
113
111
|
"@types/js-yaml": "^4.0.9",
|
|
114
|
-
"@types/node": "^24.6.
|
|
112
|
+
"@types/node": "^24.6.2",
|
|
115
113
|
"@types/node-cron": "^3.0.11",
|
|
116
114
|
"@types/papaparse": "^5.3.16",
|
|
117
115
|
"@types/sanitize-html": "^2.16.0",
|
|
@@ -127,12 +125,11 @@
|
|
|
127
125
|
"globals": "^16.4.0",
|
|
128
126
|
"husky": "^9.1.7",
|
|
129
127
|
"msw": "^2.11.3",
|
|
130
|
-
"pino-pretty": "^13.1.1",
|
|
131
128
|
"prettier": "^3.6.2",
|
|
132
129
|
"typedoc": "^0.28.13",
|
|
133
|
-
"typescript": "^5.9.
|
|
130
|
+
"typescript": "^5.9.2",
|
|
134
131
|
"typescript-eslint": "8.45.0",
|
|
135
|
-
"vite": "^7.1.
|
|
132
|
+
"vite": "^7.1.8",
|
|
136
133
|
"vite-tsconfig-paths": "^5.1.4",
|
|
137
134
|
"vitest": "^3.2.4"
|
|
138
135
|
},
|