@prompteryx/mcp-server 1.0.1
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 +271 -0
- package/dist/auth/api-key-auth.d.ts +51 -0
- package/dist/auth/api-key-auth.d.ts.map +1 -0
- package/dist/auth/api-key-auth.js +50 -0
- package/dist/auth/api-key-auth.js.map +1 -0
- package/dist/auth/usage-enforcer.d.ts +40 -0
- package/dist/auth/usage-enforcer.d.ts.map +1 -0
- package/dist/auth/usage-enforcer.js +134 -0
- package/dist/auth/usage-enforcer.js.map +1 -0
- package/dist/execution/cloud-executor.d.ts +16 -0
- package/dist/execution/cloud-executor.d.ts.map +1 -0
- package/dist/execution/cloud-executor.js +225 -0
- package/dist/execution/cloud-executor.js.map +1 -0
- package/dist/execution/integration-executor.d.ts +18 -0
- package/dist/execution/integration-executor.d.ts.map +1 -0
- package/dist/execution/integration-executor.js +101 -0
- package/dist/execution/integration-executor.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +54 -0
- package/dist/index.js.map +1 -0
- package/dist/resources/workflow-resources.d.ts +16 -0
- package/dist/resources/workflow-resources.d.ts.map +1 -0
- package/dist/resources/workflow-resources.js +79 -0
- package/dist/resources/workflow-resources.js.map +1 -0
- package/dist/server.d.ts +28 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +104 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/ai-browser-tools.d.ts +21 -0
- package/dist/tools/ai-browser-tools.d.ts.map +1 -0
- package/dist/tools/ai-browser-tools.js +88 -0
- package/dist/tools/ai-browser-tools.js.map +1 -0
- package/dist/tools/browser-session-manager.d.ts +75 -0
- package/dist/tools/browser-session-manager.d.ts.map +1 -0
- package/dist/tools/browser-session-manager.js +206 -0
- package/dist/tools/browser-session-manager.js.map +1 -0
- package/dist/tools/browser-tools.d.ts +20 -0
- package/dist/tools/browser-tools.d.ts.map +1 -0
- package/dist/tools/browser-tools.js +270 -0
- package/dist/tools/browser-tools.js.map +1 -0
- package/dist/tools/data-tools.d.ts +9 -0
- package/dist/tools/data-tools.d.ts.map +1 -0
- package/dist/tools/data-tools.js +110 -0
- package/dist/tools/data-tools.js.map +1 -0
- package/dist/tools/integration-tools.d.ts +29 -0
- package/dist/tools/integration-tools.d.ts.map +1 -0
- package/dist/tools/integration-tools.js +214 -0
- package/dist/tools/integration-tools.js.map +1 -0
- package/dist/tools/workflow-builder-tools.d.ts +20 -0
- package/dist/tools/workflow-builder-tools.d.ts.map +1 -0
- package/dist/tools/workflow-builder-tools.js +95 -0
- package/dist/tools/workflow-builder-tools.js.map +1 -0
- package/dist/tools/workflow-tools.d.ts +16 -0
- package/dist/tools/workflow-tools.d.ts.map +1 -0
- package/dist/tools/workflow-tools.js +128 -0
- package/dist/tools/workflow-tools.js.map +1 -0
- package/dist/utils/node-config-loader.d.ts +54 -0
- package/dist/utils/node-config-loader.d.ts.map +1 -0
- package/dist/utils/node-config-loader.js +105 -0
- package/dist/utils/node-config-loader.js.map +1 -0
- package/dist/utils/output-formatter.d.ts +37 -0
- package/dist/utils/output-formatter.d.ts.map +1 -0
- package/dist/utils/output-formatter.js +62 -0
- package/dist/utils/output-formatter.js.map +1 -0
- package/package.json +51 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node Config → Zod Schema Converter
|
|
3
|
+
*
|
|
4
|
+
* Converts Prompteryx ParamDefinition objects from NODE_CONFIGS into
|
|
5
|
+
* Zod schemas suitable for MCP tool registration.
|
|
6
|
+
* Fetches configs from the platform API so the MCP server
|
|
7
|
+
* stays in sync without bundling the full config.
|
|
8
|
+
*/
|
|
9
|
+
import { z } from 'zod';
|
|
10
|
+
/**
|
|
11
|
+
* Fetches integration node configs from the platform API.
|
|
12
|
+
* Falls back to empty array if unavailable.
|
|
13
|
+
*/
|
|
14
|
+
export async function fetchIntegrationConfigs(apiKey, apiUrl) {
|
|
15
|
+
try {
|
|
16
|
+
const res = await fetch(`${apiUrl}/api/v1/node-configs?category=integration`, {
|
|
17
|
+
headers: { 'X-API-Key': apiKey },
|
|
18
|
+
});
|
|
19
|
+
if (!res.ok)
|
|
20
|
+
return [];
|
|
21
|
+
const data = await res.json();
|
|
22
|
+
// The platform wraps responses as { success, data: { configs: [...] } };
|
|
23
|
+
// older builds returned { data: [...] } or { configs: [...] }. Accept all
|
|
24
|
+
// three and never hand a non-array to the caller (it .filter()s the result).
|
|
25
|
+
const body = data?.data ?? data;
|
|
26
|
+
const list = Array.isArray(body) ? body : (body?.configs ?? data?.configs ?? []);
|
|
27
|
+
return (Array.isArray(list) ? list : []);
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return [];
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Converts a ParamDefinition from NODE_CONFIGS into a Zod schema.
|
|
35
|
+
* Handles string, number, boolean, select, textarea, json, etc.
|
|
36
|
+
*/
|
|
37
|
+
export function paramDefToZod(name, def) {
|
|
38
|
+
const desc = def.description ?? def.label ?? def.displayName ?? name;
|
|
39
|
+
let schema;
|
|
40
|
+
switch (def.type) {
|
|
41
|
+
case 'select': {
|
|
42
|
+
const values = (def.options ?? []).map((o) => String(o.value));
|
|
43
|
+
if (values.length >= 2) {
|
|
44
|
+
schema = z.enum(values).describe(desc);
|
|
45
|
+
}
|
|
46
|
+
else if (values.length === 1) {
|
|
47
|
+
schema = z.literal(values[0]).describe(desc);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
schema = z.string().describe(desc);
|
|
51
|
+
}
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
case 'number':
|
|
55
|
+
schema = z.number().describe(desc);
|
|
56
|
+
if (def.min !== undefined)
|
|
57
|
+
schema = schema.min(def.min);
|
|
58
|
+
if (def.max !== undefined)
|
|
59
|
+
schema = schema.max(def.max);
|
|
60
|
+
break;
|
|
61
|
+
case 'boolean':
|
|
62
|
+
schema = z.boolean().describe(desc);
|
|
63
|
+
break;
|
|
64
|
+
case 'json':
|
|
65
|
+
schema = z.any().describe(desc);
|
|
66
|
+
break;
|
|
67
|
+
case 'textarea':
|
|
68
|
+
case 'string':
|
|
69
|
+
default:
|
|
70
|
+
schema = z.string().describe(desc);
|
|
71
|
+
break;
|
|
72
|
+
}
|
|
73
|
+
if (!def.required) {
|
|
74
|
+
schema = schema.optional();
|
|
75
|
+
}
|
|
76
|
+
return schema;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Builds a Zod object schema from an integration node's paramSchema.
|
|
80
|
+
* Filters out display-only params (notice, heading) and internal params.
|
|
81
|
+
*/
|
|
82
|
+
export function buildToolSchema(config) {
|
|
83
|
+
const shape = {};
|
|
84
|
+
const skipTypes = new Set(['notice', 'heading', 'divider', 'info']);
|
|
85
|
+
for (const [key, def] of Object.entries(config.paramSchema)) {
|
|
86
|
+
if (key.startsWith('_'))
|
|
87
|
+
continue;
|
|
88
|
+
if (skipTypes.has(def.type))
|
|
89
|
+
continue;
|
|
90
|
+
shape[key] = paramDefToZod(key, def);
|
|
91
|
+
}
|
|
92
|
+
// Always include credentialId so the user can pick which OAuth connection to use
|
|
93
|
+
if (config.credentials && config.credentials.length > 0) {
|
|
94
|
+
shape.credentialId = z.string().describe('ID of the OAuth credential to use (from your Prompteryx Connections)').optional();
|
|
95
|
+
}
|
|
96
|
+
return z.object(shape);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Generates a clean MCP tool name from a node type.
|
|
100
|
+
* e.g. "gmail-message-send" → "gmail_message_send"
|
|
101
|
+
*/
|
|
102
|
+
export function nodeTypeToToolName(type) {
|
|
103
|
+
return type.replace(/-/g, '_');
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=node-config-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-config-loader.js","sourceRoot":"","sources":["../../src/utils/node-config-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Output Formatter
|
|
3
|
+
*
|
|
4
|
+
* Converts NodeOutput and other execution results into MCP-compatible
|
|
5
|
+
* content blocks using the exact types the MCP SDK expects.
|
|
6
|
+
*/
|
|
7
|
+
type TextContent = {
|
|
8
|
+
type: 'text';
|
|
9
|
+
text: string;
|
|
10
|
+
};
|
|
11
|
+
type ImageContent = {
|
|
12
|
+
type: 'image';
|
|
13
|
+
data: string;
|
|
14
|
+
mimeType: string;
|
|
15
|
+
};
|
|
16
|
+
type McpContent = TextContent | ImageContent;
|
|
17
|
+
export interface McpToolResult {
|
|
18
|
+
content: McpContent[];
|
|
19
|
+
isError?: boolean;
|
|
20
|
+
[key: string]: unknown;
|
|
21
|
+
}
|
|
22
|
+
interface NodeOutput {
|
|
23
|
+
json: Record<string, any>;
|
|
24
|
+
inputData?: {
|
|
25
|
+
json: Record<string, any>;
|
|
26
|
+
};
|
|
27
|
+
error?: {
|
|
28
|
+
message: string;
|
|
29
|
+
description?: string;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export declare function formatSuccess(data: Record<string, any>, extras?: Record<string, any>): McpToolResult;
|
|
33
|
+
export declare function formatError(message: string, suggestion?: string, extras?: Record<string, any>): McpToolResult;
|
|
34
|
+
export declare function formatNodeOutput(nodeOutput: NodeOutput | null, screenshotBase64?: string): McpToolResult;
|
|
35
|
+
export declare function formatScreenshot(base64: string, url?: string, title?: string): McpToolResult;
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=output-formatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-formatter.d.ts","sourceRoot":"","sources":["../../src/utils/output-formatter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,KAAK,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAClD,KAAK,YAAY,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AACtE,KAAK,UAAU,GAAG,WAAW,GAAG,YAAY,CAAC;AAE7C,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,CAAC;IAC1C,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACnD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,aAAa,CAMpG;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,aAAa,CAQ7G;AAED,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,UAAU,GAAG,IAAI,EAC7B,gBAAgB,CAAC,EAAE,MAAM,GACxB,aAAa,CA4Bf;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa,CAiB5F"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Output Formatter
|
|
3
|
+
*
|
|
4
|
+
* Converts NodeOutput and other execution results into MCP-compatible
|
|
5
|
+
* content blocks using the exact types the MCP SDK expects.
|
|
6
|
+
*/
|
|
7
|
+
export function formatSuccess(data, extras) {
|
|
8
|
+
const output = { success: true, ...data };
|
|
9
|
+
if (extras)
|
|
10
|
+
Object.assign(output, extras);
|
|
11
|
+
return {
|
|
12
|
+
content: [{ type: 'text', text: JSON.stringify(output, null, 2) }],
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export function formatError(message, suggestion, extras) {
|
|
16
|
+
const output = { success: false, error: message };
|
|
17
|
+
if (suggestion)
|
|
18
|
+
output.suggestion = suggestion;
|
|
19
|
+
if (extras)
|
|
20
|
+
Object.assign(output, extras);
|
|
21
|
+
return {
|
|
22
|
+
content: [{ type: 'text', text: JSON.stringify(output, null, 2) }],
|
|
23
|
+
isError: true,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export function formatNodeOutput(nodeOutput, screenshotBase64) {
|
|
27
|
+
if (!nodeOutput) {
|
|
28
|
+
return formatError('Node produced no output');
|
|
29
|
+
}
|
|
30
|
+
if (nodeOutput.error) {
|
|
31
|
+
return formatError(nodeOutput.error.message, nodeOutput.error.description || 'Try using browser_screenshot to see the current page state.');
|
|
32
|
+
}
|
|
33
|
+
const content = [];
|
|
34
|
+
content.push({
|
|
35
|
+
type: 'text',
|
|
36
|
+
text: JSON.stringify({ success: true, data: nodeOutput.json }, null, 2),
|
|
37
|
+
});
|
|
38
|
+
if (screenshotBase64) {
|
|
39
|
+
content.push({
|
|
40
|
+
type: 'image',
|
|
41
|
+
data: screenshotBase64,
|
|
42
|
+
mimeType: 'image/png',
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
return { content };
|
|
46
|
+
}
|
|
47
|
+
export function formatScreenshot(base64, url, title) {
|
|
48
|
+
const content = [];
|
|
49
|
+
if (url || title) {
|
|
50
|
+
content.push({
|
|
51
|
+
type: 'text',
|
|
52
|
+
text: JSON.stringify({ success: true, url: url ?? '', title: title ?? '' }),
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
content.push({
|
|
56
|
+
type: 'image',
|
|
57
|
+
data: base64,
|
|
58
|
+
mimeType: 'image/png',
|
|
59
|
+
});
|
|
60
|
+
return { content };
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=output-formatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-formatter.js","sourceRoot":"","sources":["../../src/utils/output-formatter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH,MAAM,UAAU,aAAa,CAAC,IAAyB,EAAE,MAA4B;IACnF,MAAM,MAAM,GAAwB,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;IAC/D,IAAI,MAAM;QAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;KACnE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,UAAmB,EAAE,MAA4B;IAC5F,MAAM,MAAM,GAAwB,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IACvE,IAAI,UAAU;QAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/C,IAAI,MAAM;QAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAClE,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,UAA6B,EAC7B,gBAAyB;IAEzB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC,yBAAyB,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,WAAW,CAChB,UAAU,CAAC,KAAK,CAAC,OAAO,EACxB,UAAU,CAAC,KAAK,CAAC,WAAW,IAAI,6DAA6D,CAC9F,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAiB,EAAE,CAAC;IAEjC,OAAO,CAAC,IAAI,CAAC;QACX,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;KACxE,CAAC,CAAC;IAEH,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,gBAAgB;YACtB,QAAQ,EAAE,WAAW;SACtB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,GAAY,EAAE,KAAc;IAC3E,MAAM,OAAO,GAAiB,EAAE,CAAC;IAEjC,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;SAC5E,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,IAAI,CAAC;QACX,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,WAAW;KACtB,CAAC,CAAC;IAEH,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@prompteryx/mcp-server",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"mcpName": "ai.prompteryx/mcp-server",
|
|
5
|
+
"description": "Prompteryx MCP Server -- Browser automation, AI agents, workflow execution, and 20+ integrations for any MCP client",
|
|
6
|
+
"author": "Prompteryx <support@prompteryx.ai>",
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"type": "module",
|
|
9
|
+
"bin": {
|
|
10
|
+
"prompteryx-mcp": "dist/index.js"
|
|
11
|
+
},
|
|
12
|
+
"main": "./dist/index.js",
|
|
13
|
+
"files": [
|
|
14
|
+
"dist"
|
|
15
|
+
],
|
|
16
|
+
"scripts": {
|
|
17
|
+
"build": "tsc",
|
|
18
|
+
"dev": "tsc --watch",
|
|
19
|
+
"start": "node dist/index.js",
|
|
20
|
+
"test": "vitest run",
|
|
21
|
+
"test:watch": "vitest",
|
|
22
|
+
"test:coverage": "vitest run --coverage",
|
|
23
|
+
"prepublishOnly": "npm run build"
|
|
24
|
+
},
|
|
25
|
+
"keywords": [
|
|
26
|
+
"mcp",
|
|
27
|
+
"model-context-protocol",
|
|
28
|
+
"browser-automation",
|
|
29
|
+
"playwright",
|
|
30
|
+
"prompteryx",
|
|
31
|
+
"ai-agent",
|
|
32
|
+
"workflow",
|
|
33
|
+
"gmail",
|
|
34
|
+
"slack",
|
|
35
|
+
"google-sheets"
|
|
36
|
+
],
|
|
37
|
+
"dependencies": {
|
|
38
|
+
"@modelcontextprotocol/sdk": "^1.12.1",
|
|
39
|
+
"playwright-core": "^1.52.0",
|
|
40
|
+
"zod": "^3.24.1"
|
|
41
|
+
},
|
|
42
|
+
"devDependencies": {
|
|
43
|
+
"@types/node": "^22.0.0",
|
|
44
|
+
"@vitest/coverage-v8": "^4.0.18",
|
|
45
|
+
"typescript": "^5.7.0",
|
|
46
|
+
"vitest": "^4.0.18"
|
|
47
|
+
},
|
|
48
|
+
"engines": {
|
|
49
|
+
"node": ">=18.0.0"
|
|
50
|
+
}
|
|
51
|
+
}
|