cas-parser-node-mcp 1.4.1 → 1.7.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.
Files changed (215) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +29 -147
  3. package/auth.d.mts +4 -0
  4. package/auth.d.mts.map +1 -0
  5. package/auth.d.ts +4 -0
  6. package/auth.d.ts.map +1 -0
  7. package/{headers.js → auth.js} +2 -2
  8. package/auth.js.map +1 -0
  9. package/{headers.mjs → auth.mjs} +2 -2
  10. package/auth.mjs.map +1 -0
  11. package/code-tool-types.d.mts +7 -7
  12. package/code-tool-types.d.mts.map +1 -1
  13. package/code-tool-types.d.ts +7 -7
  14. package/code-tool-types.d.ts.map +1 -1
  15. package/code-tool.d.mts +6 -3
  16. package/code-tool.d.mts.map +1 -1
  17. package/code-tool.d.ts +6 -3
  18. package/code-tool.d.ts.map +1 -1
  19. package/code-tool.js +86 -132
  20. package/code-tool.js.map +1 -1
  21. package/code-tool.mjs +86 -99
  22. package/code-tool.mjs.map +1 -1
  23. package/{tools/cas-generator/generate-cas-cas-generator.d.ts → docs-search-tool.d.mts} +17 -11
  24. package/docs-search-tool.d.mts.map +1 -0
  25. package/{tools/cas-generator/generate-cas-cas-generator.d.mts → docs-search-tool.d.ts} +17 -11
  26. package/docs-search-tool.d.ts.map +1 -0
  27. package/docs-search-tool.js +57 -0
  28. package/docs-search-tool.js.map +1 -0
  29. package/docs-search-tool.mjs +53 -0
  30. package/docs-search-tool.mjs.map +1 -0
  31. package/http.d.mts +9 -4
  32. package/http.d.mts.map +1 -1
  33. package/http.d.ts +9 -4
  34. package/http.d.ts.map +1 -1
  35. package/http.js +31 -34
  36. package/http.js.map +1 -1
  37. package/http.mjs +31 -34
  38. package/http.mjs.map +1 -1
  39. package/index.js +8 -40
  40. package/index.js.map +1 -1
  41. package/index.mjs +8 -40
  42. package/index.mjs.map +1 -1
  43. package/methods.d.mts +10 -0
  44. package/methods.d.mts.map +1 -0
  45. package/methods.d.ts +10 -0
  46. package/methods.d.ts.map +1 -0
  47. package/methods.js +167 -0
  48. package/methods.js.map +1 -0
  49. package/methods.mjs +163 -0
  50. package/methods.mjs.map +1 -0
  51. package/options.d.mts +5 -9
  52. package/options.d.mts.map +1 -1
  53. package/options.d.ts +5 -9
  54. package/options.d.ts.map +1 -1
  55. package/options.js +37 -362
  56. package/options.js.map +1 -1
  57. package/options.mjs +37 -362
  58. package/options.mjs.map +1 -1
  59. package/package.json +57 -79
  60. package/server.d.mts +5 -15
  61. package/server.d.mts.map +1 -1
  62. package/server.d.ts +5 -15
  63. package/server.d.ts.map +1 -1
  64. package/server.js +54 -87
  65. package/server.js.map +1 -1
  66. package/server.mjs +53 -82
  67. package/server.mjs.map +1 -1
  68. package/src/{headers.ts → auth.ts} +1 -1
  69. package/src/code-tool-types.ts +7 -5
  70. package/src/code-tool.ts +104 -117
  71. package/src/docs-search-tool.ts +65 -0
  72. package/src/http.ts +44 -40
  73. package/src/index.ts +9 -52
  74. package/src/methods.ts +188 -0
  75. package/src/options.ts +48 -384
  76. package/src/server.ts +63 -97
  77. package/src/stdio.ts +4 -4
  78. package/src/{tools/types.ts → types.ts} +13 -1
  79. package/src/util.ts +25 -0
  80. package/stdio.d.mts +1 -1
  81. package/stdio.d.mts.map +1 -1
  82. package/stdio.d.ts +1 -1
  83. package/stdio.d.ts.map +1 -1
  84. package/stdio.js +3 -3
  85. package/stdio.js.map +1 -1
  86. package/stdio.mjs +3 -3
  87. package/stdio.mjs.map +1 -1
  88. package/{tools/types.d.mts → types.d.mts} +2 -1
  89. package/types.d.mts.map +1 -0
  90. package/{tools/types.d.ts → types.d.ts} +2 -1
  91. package/types.d.ts.map +1 -0
  92. package/{tools/types.js → types.js} +12 -0
  93. package/types.js.map +1 -0
  94. package/{tools/types.mjs → types.mjs} +11 -0
  95. package/types.mjs.map +1 -0
  96. package/util.d.mts +4 -0
  97. package/util.d.mts.map +1 -0
  98. package/util.d.ts +4 -0
  99. package/util.d.ts.map +1 -0
  100. package/util.js +30 -0
  101. package/util.js.map +1 -0
  102. package/util.mjs +24 -0
  103. package/util.mjs.map +1 -0
  104. package/code-tool-paths.cjs +0 -6
  105. package/code-tool-paths.cjs.map +0 -1
  106. package/code-tool-paths.d.cts +0 -2
  107. package/code-tool-paths.d.cts.map +0 -1
  108. package/code-tool-worker.d.mts +0 -5
  109. package/code-tool-worker.d.mts.map +0 -1
  110. package/code-tool-worker.d.ts +0 -5
  111. package/code-tool-worker.d.ts.map +0 -1
  112. package/code-tool-worker.js +0 -45
  113. package/code-tool-worker.js.map +0 -1
  114. package/code-tool-worker.mjs +0 -40
  115. package/code-tool-worker.mjs.map +0 -1
  116. package/compat.d.mts +0 -58
  117. package/compat.d.mts.map +0 -1
  118. package/compat.d.ts +0 -58
  119. package/compat.d.ts.map +0 -1
  120. package/compat.js +0 -387
  121. package/compat.js.map +0 -1
  122. package/compat.mjs +0 -378
  123. package/compat.mjs.map +0 -1
  124. package/dynamic-tools.d.mts +0 -12
  125. package/dynamic-tools.d.mts.map +0 -1
  126. package/dynamic-tools.d.ts +0 -12
  127. package/dynamic-tools.d.ts.map +0 -1
  128. package/dynamic-tools.js +0 -135
  129. package/dynamic-tools.js.map +0 -1
  130. package/dynamic-tools.mjs +0 -132
  131. package/dynamic-tools.mjs.map +0 -1
  132. package/filtering.d.mts +0 -2
  133. package/filtering.d.mts.map +0 -1
  134. package/filtering.d.ts +0 -2
  135. package/filtering.d.ts.map +0 -1
  136. package/filtering.js +0 -20
  137. package/filtering.js.map +0 -1
  138. package/filtering.mjs +0 -13
  139. package/filtering.mjs.map +0 -1
  140. package/headers.d.mts +0 -4
  141. package/headers.d.mts.map +0 -1
  142. package/headers.d.ts +0 -4
  143. package/headers.d.ts.map +0 -1
  144. package/headers.js.map +0 -1
  145. package/headers.mjs.map +0 -1
  146. package/src/code-tool-paths.cts +0 -3
  147. package/src/code-tool-worker.ts +0 -46
  148. package/src/compat.ts +0 -483
  149. package/src/dynamic-tools.ts +0 -159
  150. package/src/filtering.ts +0 -14
  151. package/src/tools/cas-generator/generate-cas-cas-generator.ts +0 -67
  152. package/src/tools/cas-parser/cams-kfintech-cas-parser.ts +0 -47
  153. package/src/tools/cas-parser/cdsl-cas-parser.ts +0 -47
  154. package/src/tools/cas-parser/nsdl-cas-parser.ts +0 -47
  155. package/src/tools/cas-parser/smart-parse-cas-parser.ts +0 -47
  156. package/src/tools/index.ts +0 -79
  157. package/src/tools.ts +0 -1
  158. package/tools/cas-generator/generate-cas-cas-generator.d.mts.map +0 -1
  159. package/tools/cas-generator/generate-cas-cas-generator.d.ts.map +0 -1
  160. package/tools/cas-generator/generate-cas-cas-generator.js +0 -62
  161. package/tools/cas-generator/generate-cas-cas-generator.js.map +0 -1
  162. package/tools/cas-generator/generate-cas-cas-generator.mjs +0 -58
  163. package/tools/cas-generator/generate-cas-cas-generator.mjs.map +0 -1
  164. package/tools/cas-parser/cams-kfintech-cas-parser.d.mts +0 -45
  165. package/tools/cas-parser/cams-kfintech-cas-parser.d.mts.map +0 -1
  166. package/tools/cas-parser/cams-kfintech-cas-parser.d.ts +0 -45
  167. package/tools/cas-parser/cams-kfintech-cas-parser.d.ts.map +0 -1
  168. package/tools/cas-parser/cams-kfintech-cas-parser.js +0 -43
  169. package/tools/cas-parser/cams-kfintech-cas-parser.js.map +0 -1
  170. package/tools/cas-parser/cams-kfintech-cas-parser.mjs +0 -39
  171. package/tools/cas-parser/cams-kfintech-cas-parser.mjs.map +0 -1
  172. package/tools/cas-parser/cdsl-cas-parser.d.mts +0 -45
  173. package/tools/cas-parser/cdsl-cas-parser.d.mts.map +0 -1
  174. package/tools/cas-parser/cdsl-cas-parser.d.ts +0 -45
  175. package/tools/cas-parser/cdsl-cas-parser.d.ts.map +0 -1
  176. package/tools/cas-parser/cdsl-cas-parser.js +0 -43
  177. package/tools/cas-parser/cdsl-cas-parser.js.map +0 -1
  178. package/tools/cas-parser/cdsl-cas-parser.mjs +0 -39
  179. package/tools/cas-parser/cdsl-cas-parser.mjs.map +0 -1
  180. package/tools/cas-parser/nsdl-cas-parser.d.mts +0 -45
  181. package/tools/cas-parser/nsdl-cas-parser.d.mts.map +0 -1
  182. package/tools/cas-parser/nsdl-cas-parser.d.ts +0 -45
  183. package/tools/cas-parser/nsdl-cas-parser.d.ts.map +0 -1
  184. package/tools/cas-parser/nsdl-cas-parser.js +0 -43
  185. package/tools/cas-parser/nsdl-cas-parser.js.map +0 -1
  186. package/tools/cas-parser/nsdl-cas-parser.mjs +0 -39
  187. package/tools/cas-parser/nsdl-cas-parser.mjs.map +0 -1
  188. package/tools/cas-parser/smart-parse-cas-parser.d.mts +0 -45
  189. package/tools/cas-parser/smart-parse-cas-parser.d.mts.map +0 -1
  190. package/tools/cas-parser/smart-parse-cas-parser.d.ts +0 -45
  191. package/tools/cas-parser/smart-parse-cas-parser.d.ts.map +0 -1
  192. package/tools/cas-parser/smart-parse-cas-parser.js +0 -43
  193. package/tools/cas-parser/smart-parse-cas-parser.js.map +0 -1
  194. package/tools/cas-parser/smart-parse-cas-parser.mjs +0 -39
  195. package/tools/cas-parser/smart-parse-cas-parser.mjs.map +0 -1
  196. package/tools/index.d.mts +0 -10
  197. package/tools/index.d.mts.map +0 -1
  198. package/tools/index.d.ts +0 -10
  199. package/tools/index.d.ts.map +0 -1
  200. package/tools/index.js +0 -63
  201. package/tools/index.js.map +0 -1
  202. package/tools/index.mjs +0 -56
  203. package/tools/index.mjs.map +0 -1
  204. package/tools/types.d.mts.map +0 -1
  205. package/tools/types.d.ts.map +0 -1
  206. package/tools/types.js.map +0 -1
  207. package/tools/types.mjs.map +0 -1
  208. package/tools.d.mts +0 -2
  209. package/tools.d.mts.map +0 -1
  210. package/tools.d.ts +0 -2
  211. package/tools.d.ts.map +0 -1
  212. package/tools.js +0 -18
  213. package/tools.js.map +0 -1
  214. package/tools.mjs +0 -2
  215. package/tools.mjs.map +0 -1
package/src/server.ts CHANGED
@@ -2,74 +2,78 @@
2
2
 
3
3
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
4
4
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
- import { Endpoint, endpoints, HandlerFunction, query } from './tools';
6
5
  import {
7
6
  CallToolRequestSchema,
8
7
  ListToolsRequestSchema,
9
8
  SetLevelRequestSchema,
10
- Implementation,
11
- Tool,
12
9
  } from '@modelcontextprotocol/sdk/types.js';
13
10
  import { ClientOptions } from 'cas-parser-node';
14
11
  import CasParser from 'cas-parser-node';
15
- import {
16
- applyCompatibilityTransformations,
17
- ClientCapabilities,
18
- defaultClientCapabilities,
19
- knownClients,
20
- parseEmbeddedJSON,
21
- } from './compat';
22
- import { dynamicTools } from './dynamic-tools';
23
12
  import { codeTool } from './code-tool';
13
+ import docsSearchTool from './docs-search-tool';
24
14
  import { McpOptions } from './options';
15
+ import { blockedMethodsForCodeTool } from './methods';
16
+ import { HandlerFunction, McpTool } from './types';
17
+ import { readEnv } from './util';
18
+
19
+ async function getInstructions() {
20
+ // This API key is optional; providing it allows the server to fetch instructions for unreleased versions.
21
+ const stainlessAPIKey = readEnv('STAINLESS_API_KEY');
22
+ const response = await fetch(
23
+ readEnv('CODE_MODE_INSTRUCTIONS_URL') ?? 'https://api.stainless.com/api/ai/instructions/cas-parser',
24
+ {
25
+ method: 'GET',
26
+ headers: { ...(stainlessAPIKey && { Authorization: stainlessAPIKey }) },
27
+ },
28
+ );
29
+
30
+ let instructions: string | undefined;
31
+ if (!response.ok) {
32
+ console.warn(
33
+ 'Warning: failed to retrieve MCP server instructions. Proceeding with default instructions...',
34
+ );
35
+
36
+ instructions = `
37
+ This is the cas-parser MCP server. You will use Code Mode to help the user perform
38
+ actions. You can use search_docs tool to learn about how to take action with this server. Then,
39
+ you will write TypeScript code using the execute tool take action. It is CRITICAL that you be
40
+ thoughtful and deliberate when executing code. Always try to entirely solve the problem in code
41
+ block: it can be as long as you need to get the job done!
42
+ `;
43
+ }
44
+
45
+ instructions ??= ((await response.json()) as { instructions: string }).instructions;
46
+ instructions = `
47
+ The current time in Unix timestamps is ${Date.now()}.
25
48
 
26
- export { McpOptions } from './options';
27
- export { ClientType } from './compat';
28
- export { Filter } from './tools';
29
- export { ClientOptions } from 'cas-parser-node';
30
- export { endpoints } from './tools';
49
+ ${instructions}
50
+ `;
31
51
 
32
- export const newMcpServer = () =>
52
+ return instructions;
53
+ }
54
+
55
+ export const newMcpServer = async () =>
33
56
  new McpServer(
34
57
  {
35
58
  name: 'cas_parser_node_api',
36
- version: '1.4.1',
59
+ version: '1.7.1',
60
+ },
61
+ {
62
+ instructions: await getInstructions(),
63
+ capabilities: { tools: {}, logging: {} },
37
64
  },
38
- { capabilities: { tools: {}, logging: {} } },
39
65
  );
40
66
 
41
- // Create server instance
42
- export const server = newMcpServer();
43
-
44
67
  /**
45
68
  * Initializes the provided MCP Server with the given tools and handlers.
46
69
  * If not provided, the default client, tools and handlers will be used.
47
70
  */
48
- export function initMcpServer(params: {
71
+ export async function initMcpServer(params: {
49
72
  server: Server | McpServer;
50
73
  clientOptions?: ClientOptions;
51
74
  mcpOptions?: McpOptions;
52
75
  }) {
53
76
  const server = params.server instanceof McpServer ? params.server.server : params.server;
54
- const mcpOptions = params.mcpOptions ?? {};
55
-
56
- let providedEndpoints: Endpoint[] | null = null;
57
- let endpointMap: Record<string, Endpoint> | null = null;
58
-
59
- const initTools = async (implementation?: Implementation) => {
60
- if (implementation && (!mcpOptions.client || mcpOptions.client === 'infer')) {
61
- mcpOptions.client =
62
- implementation.name.toLowerCase().includes('claude') ? 'claude'
63
- : implementation.name.toLowerCase().includes('cursor') ? 'cursor'
64
- : undefined;
65
- mcpOptions.capabilities = {
66
- ...(mcpOptions.client && knownClients[mcpOptions.client]),
67
- ...mcpOptions.capabilities,
68
- };
69
- }
70
- providedEndpoints ??= await selectTools(endpoints, mcpOptions);
71
- endpointMap ??= Object.fromEntries(providedEndpoints.map((endpoint) => [endpoint.tool.name, endpoint]));
72
- };
73
77
 
74
78
  const logAtLevel =
75
79
  (level: 'debug' | 'info' | 'warning' | 'error') =>
@@ -87,6 +91,7 @@ export function initMcpServer(params: {
87
91
  };
88
92
 
89
93
  let client = new CasParser({
94
+ ...{ environment: (readEnv('CAS_PARSER_ENVIRONMENT') || undefined) as any },
90
95
  logger,
91
96
  ...params.clientOptions,
92
97
  defaultHeaders: {
@@ -95,26 +100,23 @@ export function initMcpServer(params: {
95
100
  },
96
101
  });
97
102
 
103
+ const providedTools = selectTools(params.mcpOptions);
104
+ const toolMap = Object.fromEntries(providedTools.map((mcpTool) => [mcpTool.tool.name, mcpTool]));
105
+
98
106
  server.setRequestHandler(ListToolsRequestSchema, async () => {
99
- if (providedEndpoints === null) {
100
- await initTools(server.getClientVersion());
101
- }
102
107
  return {
103
- tools: providedEndpoints!.map((endpoint) => endpoint.tool),
108
+ tools: providedTools.map((mcpTool) => mcpTool.tool),
104
109
  };
105
110
  });
106
111
 
107
112
  server.setRequestHandler(CallToolRequestSchema, async (request) => {
108
- if (endpointMap === null) {
109
- await initTools(server.getClientVersion());
110
- }
111
113
  const { name, arguments: args } = request.params;
112
- const endpoint = endpointMap![name];
113
- if (!endpoint) {
114
+ const mcpTool = toolMap[name];
115
+ if (!mcpTool) {
114
116
  throw new Error(`Unknown tool: ${name}`);
115
117
  }
116
118
 
117
- return executeHandler(endpoint.tool, endpoint.handler, client, args, mcpOptions.capabilities);
119
+ return executeHandler(mcpTool.handler, client, args);
118
120
  });
119
121
 
120
122
  server.setRequestHandler(SetLevelRequestSchema, async (request) => {
@@ -144,61 +146,25 @@ export function initMcpServer(params: {
144
146
  /**
145
147
  * Selects the tools to include in the MCP Server based on the provided options.
146
148
  */
147
- export async function selectTools(endpoints: Endpoint[], options?: McpOptions): Promise<Endpoint[]> {
148
- const filteredEndpoints = query(options?.filters ?? [], endpoints);
149
-
150
- let includedTools = filteredEndpoints;
151
-
152
- if (includedTools.length > 0) {
153
- if (options?.includeDynamicTools) {
154
- includedTools = dynamicTools(includedTools);
155
- }
156
- } else {
157
- if (options?.includeAllTools) {
158
- includedTools = endpoints;
159
- } else if (options?.includeDynamicTools) {
160
- includedTools = dynamicTools(endpoints);
161
- } else if (options?.includeCodeTools) {
162
- includedTools = [await codeTool()];
163
- } else {
164
- includedTools = endpoints;
165
- }
149
+ export function selectTools(options?: McpOptions): McpTool[] {
150
+ const includedTools = [
151
+ codeTool({
152
+ blockedMethods: blockedMethodsForCodeTool(options),
153
+ }),
154
+ ];
155
+ if (options?.includeDocsTools ?? true) {
156
+ includedTools.push(docsSearchTool);
166
157
  }
167
-
168
- const capabilities = { ...defaultClientCapabilities, ...options?.capabilities };
169
- return applyCompatibilityTransformations(includedTools, capabilities);
158
+ return includedTools;
170
159
  }
171
160
 
172
161
  /**
173
162
  * Runs the provided handler with the given client and arguments.
174
163
  */
175
164
  export async function executeHandler(
176
- tool: Tool,
177
165
  handler: HandlerFunction,
178
166
  client: CasParser,
179
167
  args: Record<string, unknown> | undefined,
180
- compatibilityOptions?: Partial<ClientCapabilities>,
181
168
  ) {
182
- const options = { ...defaultClientCapabilities, ...compatibilityOptions };
183
- if (!options.validJson && args) {
184
- args = parseEmbeddedJSON(args, tool.inputSchema);
185
- }
186
169
  return await handler(client, args || {});
187
170
  }
188
-
189
- export const readEnv = (env: string): string | undefined => {
190
- if (typeof (globalThis as any).process !== 'undefined') {
191
- return (globalThis as any).process.env?.[env]?.trim();
192
- } else if (typeof (globalThis as any).Deno !== 'undefined') {
193
- return (globalThis as any).Deno.env?.get?.(env)?.trim();
194
- }
195
- return;
196
- };
197
-
198
- export const readEnvOrError = (env: string): string => {
199
- let envValue = readEnv(env);
200
- if (envValue === undefined) {
201
- throw new Error(`Environment variable ${env} is not set`);
202
- }
203
- return envValue;
204
- };
package/src/stdio.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
2
- import { initMcpServer, newMcpServer } from './server';
3
2
  import { McpOptions } from './options';
3
+ import { initMcpServer, newMcpServer } from './server';
4
4
 
5
- export const launchStdioServer = async (options: McpOptions) => {
6
- const server = newMcpServer();
5
+ export const launchStdioServer = async (mcpOptions: McpOptions) => {
6
+ const server = await newMcpServer();
7
7
 
8
- initMcpServer({ server, mcpOptions: options });
8
+ await initMcpServer({ server, mcpOptions });
9
9
 
10
10
  const transport = new StdioServerTransport();
11
11
  await server.connect(transport);
@@ -87,6 +87,18 @@ export async function asBinaryContentResult(response: Response): Promise<ToolCal
87
87
  }
88
88
  }
89
89
 
90
+ export function asErrorResult(message: string): ToolCallResult {
91
+ return {
92
+ content: [
93
+ {
94
+ type: 'text',
95
+ text: message,
96
+ },
97
+ ],
98
+ isError: true,
99
+ };
100
+ }
101
+
90
102
  export type Metadata = {
91
103
  resource: string;
92
104
  operation: 'read' | 'write';
@@ -96,7 +108,7 @@ export type Metadata = {
96
108
  operationId?: string;
97
109
  };
98
110
 
99
- export type Endpoint = {
111
+ export type McpTool = {
100
112
  metadata: Metadata;
101
113
  tool: Tool;
102
114
  handler: HandlerFunction;
package/src/util.ts ADDED
@@ -0,0 +1,25 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export const readEnv = (env: string): string | undefined => {
4
+ if (typeof (globalThis as any).process !== 'undefined') {
5
+ return (globalThis as any).process.env?.[env]?.trim();
6
+ } else if (typeof (globalThis as any).Deno !== 'undefined') {
7
+ return (globalThis as any).Deno.env?.get?.(env)?.trim();
8
+ }
9
+ return;
10
+ };
11
+
12
+ export const readEnvOrError = (env: string): string => {
13
+ let envValue = readEnv(env);
14
+ if (envValue === undefined) {
15
+ throw new Error(`Environment variable ${env} is not set`);
16
+ }
17
+ return envValue;
18
+ };
19
+
20
+ export const requireValue = <T>(value: T | undefined, description: string): T => {
21
+ if (value === undefined) {
22
+ throw new Error(`Missing required value: ${description}`);
23
+ }
24
+ return value;
25
+ };
package/stdio.d.mts CHANGED
@@ -1,3 +1,3 @@
1
1
  import { McpOptions } from "./options.mjs";
2
- export declare const launchStdioServer: (options: McpOptions) => Promise<void>;
2
+ export declare const launchStdioServer: (mcpOptions: McpOptions) => Promise<void>;
3
3
  //# sourceMappingURL=stdio.d.mts.map
package/stdio.d.mts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"stdio.d.mts","sourceRoot":"","sources":["src/stdio.ts"],"names":[],"mappings":"OAEO,EAAE,UAAU,EAAE;AAErB,eAAO,MAAM,iBAAiB,GAAU,SAAS,UAAU,kBAQ1D,CAAC"}
1
+ {"version":3,"file":"stdio.d.mts","sourceRoot":"","sources":["src/stdio.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE;AAGrB,eAAO,MAAM,iBAAiB,GAAU,YAAY,UAAU,kBAQ7D,CAAC"}
package/stdio.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import { McpOptions } from "./options.js";
2
- export declare const launchStdioServer: (options: McpOptions) => Promise<void>;
2
+ export declare const launchStdioServer: (mcpOptions: McpOptions) => Promise<void>;
3
3
  //# sourceMappingURL=stdio.d.ts.map
package/stdio.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["src/stdio.ts"],"names":[],"mappings":"OAEO,EAAE,UAAU,EAAE;AAErB,eAAO,MAAM,iBAAiB,GAAU,SAAS,UAAU,kBAQ1D,CAAC"}
1
+ {"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["src/stdio.ts"],"names":[],"mappings":"OACO,EAAE,UAAU,EAAE;AAGrB,eAAO,MAAM,iBAAiB,GAAU,YAAY,UAAU,kBAQ7D,CAAC"}
package/stdio.js CHANGED
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.launchStdioServer = void 0;
4
4
  const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
5
5
  const server_1 = require("./server.js");
6
- const launchStdioServer = async (options) => {
7
- const server = (0, server_1.newMcpServer)();
8
- (0, server_1.initMcpServer)({ server, mcpOptions: options });
6
+ const launchStdioServer = async (mcpOptions) => {
7
+ const server = await (0, server_1.newMcpServer)();
8
+ await (0, server_1.initMcpServer)({ server, mcpOptions });
9
9
  const transport = new stdio_js_1.StdioServerTransport();
10
10
  await server.connect(transport);
11
11
  console.error('MCP Server running on stdio');
package/stdio.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"stdio.js","sourceRoot":"","sources":["src/stdio.ts"],"names":[],"mappings":";;;AAAA,wEAAiF;AACjF,wCAAuD;AAGhD,MAAM,iBAAiB,GAAG,KAAK,EAAE,OAAmB,EAAE,EAAE;IAC7D,MAAM,MAAM,GAAG,IAAA,qBAAY,GAAE,CAAC;IAE9B,IAAA,sBAAa,EAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;IAE/C,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;AAC/C,CAAC,CAAC;AARW,QAAA,iBAAiB,qBAQ5B"}
1
+ {"version":3,"file":"stdio.js","sourceRoot":"","sources":["src/stdio.ts"],"names":[],"mappings":";;;AAAA,wEAAiF;AAEjF,wCAAuD;AAEhD,MAAM,iBAAiB,GAAG,KAAK,EAAE,UAAsB,EAAE,EAAE;IAChE,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAY,GAAE,CAAC;IAEpC,MAAM,IAAA,sBAAa,EAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAE5C,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;AAC/C,CAAC,CAAC;AARW,QAAA,iBAAiB,qBAQ5B"}
package/stdio.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
2
2
  import { initMcpServer, newMcpServer } from "./server.mjs";
3
- export const launchStdioServer = async (options) => {
4
- const server = newMcpServer();
5
- initMcpServer({ server, mcpOptions: options });
3
+ export const launchStdioServer = async (mcpOptions) => {
4
+ const server = await newMcpServer();
5
+ await initMcpServer({ server, mcpOptions });
6
6
  const transport = new StdioServerTransport();
7
7
  await server.connect(transport);
8
8
  console.error('MCP Server running on stdio');
package/stdio.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"stdio.mjs","sourceRoot":"","sources":["src/stdio.ts"],"names":[],"mappings":"OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C;OACzE,EAAE,aAAa,EAAE,YAAY,EAAE;AAGtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,OAAmB,EAAE,EAAE;IAC7D,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAE9B,aAAa,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;IAE/C,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;AAC/C,CAAC,CAAC"}
1
+ {"version":3,"file":"stdio.mjs","sourceRoot":"","sources":["src/stdio.ts"],"names":[],"mappings":"OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C;OAEzE,EAAE,aAAa,EAAE,YAAY,EAAE;AAEtC,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,UAAsB,EAAE,EAAE;IAChE,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;IAEpC,MAAM,aAAa,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAE5C,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChC,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;AAC/C,CAAC,CAAC"}
@@ -34,6 +34,7 @@ export type ToolCallResult = {
34
34
  export type HandlerFunction = (client: CasParser, args: Record<string, unknown> | undefined) => Promise<ToolCallResult>;
35
35
  export declare function asTextContentResult(result: unknown): ToolCallResult;
36
36
  export declare function asBinaryContentResult(response: Response): Promise<ToolCallResult>;
37
+ export declare function asErrorResult(message: string): ToolCallResult;
37
38
  export type Metadata = {
38
39
  resource: string;
39
40
  operation: 'read' | 'write';
@@ -42,7 +43,7 @@ export type Metadata = {
42
43
  httpPath?: string;
43
44
  operationId?: string;
44
45
  };
45
- export type Endpoint = {
46
+ export type McpTool = {
46
47
  metadata: Metadata;
47
48
  tool: Tool;
48
49
  handler: HandlerFunction;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.mts","sourceRoot":"","sources":["src/types.ts"],"names":[],"mappings":"OAEO,SAAS,MAAM,iBAAiB;OAChC,EAAE,IAAI,EAAE,MAAM,oCAAoC;AAEzD,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EACJ;QACE,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,GACD;QACE,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;AAE3G,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAC5B,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,KACtC,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7B,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,cAAc,CASnE;AAED,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,CA2BvF;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAU7D;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,eAAe,CAAC;CAC1B,CAAC"}
@@ -34,6 +34,7 @@ export type ToolCallResult = {
34
34
  export type HandlerFunction = (client: CasParser, args: Record<string, unknown> | undefined) => Promise<ToolCallResult>;
35
35
  export declare function asTextContentResult(result: unknown): ToolCallResult;
36
36
  export declare function asBinaryContentResult(response: Response): Promise<ToolCallResult>;
37
+ export declare function asErrorResult(message: string): ToolCallResult;
37
38
  export type Metadata = {
38
39
  resource: string;
39
40
  operation: 'read' | 'write';
@@ -42,7 +43,7 @@ export type Metadata = {
42
43
  httpPath?: string;
43
44
  operationId?: string;
44
45
  };
45
- export type Endpoint = {
46
+ export type McpTool = {
46
47
  metadata: Metadata;
47
48
  tool: Tool;
48
49
  handler: HandlerFunction;
package/types.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["src/types.ts"],"names":[],"mappings":"OAEO,SAAS,MAAM,iBAAiB;OAChC,EAAE,IAAI,EAAE,MAAM,oCAAoC;AAEzD,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EACJ;QACE,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,GACD;QACE,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;AAE3G,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAC5B,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,KACtC,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7B,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,cAAc,CASnE;AAED,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,CA2BvF;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAU7D;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,eAAe,CAAC;CAC1B,CAAC"}
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.asTextContentResult = asTextContentResult;
5
5
  exports.asBinaryContentResult = asBinaryContentResult;
6
+ exports.asErrorResult = asErrorResult;
6
7
  function asTextContentResult(result) {
7
8
  return {
8
9
  content: [
@@ -43,4 +44,15 @@ async function asBinaryContentResult(response) {
43
44
  };
44
45
  }
45
46
  }
47
+ function asErrorResult(message) {
48
+ return {
49
+ content: [
50
+ {
51
+ type: 'text',
52
+ text: message,
53
+ },
54
+ ],
55
+ isError: true,
56
+ };
57
+ }
46
58
  //# sourceMappingURL=types.js.map
package/types.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["src/types.ts"],"names":[],"mappings":";AAAA,sFAAsF;;AAiDtF,kDASC;AAED,sDA2BC;AAED,sCAUC;AAlDD,SAAgB,mBAAmB,CAAC,MAAe;IACjD,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;aACtC;SACF;KACF,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,qBAAqB,CAAC,QAAkB;IAC5D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;IAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtE,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;SAC7C,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;SAC7C,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE;wBACR,uEAAuE;wBACvE,GAAG,EAAE,0BAA0B;wBAC/B,QAAQ;wBACR,IAAI,EAAE,IAAI;qBACX;iBACF;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAgB,aAAa,CAAC,OAAe;IAC3C,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;aACd;SACF;QACD,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
@@ -39,4 +39,15 @@ export async function asBinaryContentResult(response) {
39
39
  };
40
40
  }
41
41
  }
42
+ export function asErrorResult(message) {
43
+ return {
44
+ content: [
45
+ {
46
+ type: 'text',
47
+ text: message,
48
+ },
49
+ ],
50
+ isError: true,
51
+ };
52
+ }
42
53
  //# sourceMappingURL=types.mjs.map
package/types.mjs.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.mjs","sourceRoot":"","sources":["src/types.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAiDtF,MAAM,UAAU,mBAAmB,CAAC,MAAe;IACjD,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;aACtC;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,QAAkB;IAC5D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;IAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtE,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;SAC7C,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;SAC7C,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE;wBACR,uEAAuE;wBACvE,GAAG,EAAE,0BAA0B;wBAC/B,QAAQ;wBACR,IAAI,EAAE,IAAI;qBACX;iBACF;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;aACd;SACF;QACD,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
package/util.d.mts ADDED
@@ -0,0 +1,4 @@
1
+ export declare const readEnv: (env: string) => string | undefined;
2
+ export declare const readEnvOrError: (env: string) => string;
3
+ export declare const requireValue: <T>(value: T | undefined, description: string) => T;
4
+ //# sourceMappingURL=util.d.mts.map
package/util.d.mts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.mts","sourceRoot":"","sources":["src/util.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,SAO9C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,MAM5C,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,aAAa,MAAM,KAAG,CAK3E,CAAC"}
package/util.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export declare const readEnv: (env: string) => string | undefined;
2
+ export declare const readEnvOrError: (env: string) => string;
3
+ export declare const requireValue: <T>(value: T | undefined, description: string) => T;
4
+ //# sourceMappingURL=util.d.ts.map
package/util.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["src/util.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,SAO9C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,MAM5C,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,aAAa,MAAM,KAAG,CAK3E,CAAC"}
package/util.js ADDED
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.requireValue = exports.readEnvOrError = exports.readEnv = void 0;
5
+ const readEnv = (env) => {
6
+ if (typeof globalThis.process !== 'undefined') {
7
+ return globalThis.process.env?.[env]?.trim();
8
+ }
9
+ else if (typeof globalThis.Deno !== 'undefined') {
10
+ return globalThis.Deno.env?.get?.(env)?.trim();
11
+ }
12
+ return;
13
+ };
14
+ exports.readEnv = readEnv;
15
+ const readEnvOrError = (env) => {
16
+ let envValue = (0, exports.readEnv)(env);
17
+ if (envValue === undefined) {
18
+ throw new Error(`Environment variable ${env} is not set`);
19
+ }
20
+ return envValue;
21
+ };
22
+ exports.readEnvOrError = readEnvOrError;
23
+ const requireValue = (value, description) => {
24
+ if (value === undefined) {
25
+ throw new Error(`Missing required value: ${description}`);
26
+ }
27
+ return value;
28
+ };
29
+ exports.requireValue = requireValue;
30
+ //# sourceMappingURL=util.js.map
package/util.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["src/util.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAE/E,MAAM,OAAO,GAAG,CAAC,GAAW,EAAsB,EAAE;IACzD,IAAI,OAAQ,UAAkB,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACvD,OAAQ,UAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;IACxD,CAAC;SAAM,IAAI,OAAQ,UAAkB,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC3D,OAAQ,UAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;IAC1D,CAAC;IACD,OAAO;AACT,CAAC,CAAC;AAPW,QAAA,OAAO,WAOlB;AAEK,MAAM,cAAc,GAAG,CAAC,GAAW,EAAU,EAAE;IACpD,IAAI,QAAQ,GAAG,IAAA,eAAO,EAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,aAAa,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AANW,QAAA,cAAc,kBAMzB;AAEK,MAAM,YAAY,GAAG,CAAI,KAAoB,EAAE,WAAmB,EAAK,EAAE;IAC9E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,2BAA2B,WAAW,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AALW,QAAA,YAAY,gBAKvB"}
package/util.mjs ADDED
@@ -0,0 +1,24 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+ export const readEnv = (env) => {
3
+ if (typeof globalThis.process !== 'undefined') {
4
+ return globalThis.process.env?.[env]?.trim();
5
+ }
6
+ else if (typeof globalThis.Deno !== 'undefined') {
7
+ return globalThis.Deno.env?.get?.(env)?.trim();
8
+ }
9
+ return;
10
+ };
11
+ export const readEnvOrError = (env) => {
12
+ let envValue = readEnv(env);
13
+ if (envValue === undefined) {
14
+ throw new Error(`Environment variable ${env} is not set`);
15
+ }
16
+ return envValue;
17
+ };
18
+ export const requireValue = (value, description) => {
19
+ if (value === undefined) {
20
+ throw new Error(`Missing required value: ${description}`);
21
+ }
22
+ return value;
23
+ };
24
+ //# sourceMappingURL=util.mjs.map
package/util.mjs.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.mjs","sourceRoot":"","sources":["src/util.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAEtF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAW,EAAsB,EAAE;IACzD,IAAI,OAAQ,UAAkB,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACvD,OAAQ,UAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;IACxD,CAAC;SAAM,IAAI,OAAQ,UAAkB,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC3D,OAAQ,UAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;IAC1D,CAAC;IACD,OAAO;AACT,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAW,EAAU,EAAE;IACpD,IAAI,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,aAAa,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAI,KAAoB,EAAE,WAAmB,EAAK,EAAE;IAC9E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,2BAA2B,WAAW,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.workerPath = void 0;
5
- exports.workerPath = require.resolve('./code-tool-worker.mjs');
6
- //# sourceMappingURL=code-tool-paths.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"code-tool-paths.cjs","sourceRoot":"","sources":["src/code-tool-paths.cts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEzE,QAAA,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const workerPath: string;
2
- //# sourceMappingURL=code-tool-paths.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"code-tool-paths.d.cts","sourceRoot":"","sources":["src/code-tool-paths.cts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,QAA4C,CAAC"}
@@ -1,5 +0,0 @@
1
- declare const _default: {
2
- fetch: (req: Request) => Promise<Response>;
3
- };
4
- export default _default;
5
- //# sourceMappingURL=code-tool-worker.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"code-tool-worker.d.mts","sourceRoot":"","sources":["src/code-tool-worker.ts"],"names":[],"mappings":";iBAM0B,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC;;AAuCrD,wBAAyB"}
@@ -1,5 +0,0 @@
1
- declare const _default: {
2
- fetch: (req: Request) => Promise<Response>;
3
- };
4
- export default _default;
5
- //# sourceMappingURL=code-tool-worker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"code-tool-worker.d.ts","sourceRoot":"","sources":["src/code-tool-worker.ts"],"names":[],"mappings":";iBAM0B,OAAO,KAAG,OAAO,CAAC,QAAQ,CAAC;;AAuCrD,wBAAyB"}
@@ -1,45 +0,0 @@
1
- "use strict";
2
- // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- const node_util_1 = __importDefault(require("node:util"));
8
- const cas_parser_node_1 = require("cas-parser-node");
9
- const fetch = async (req) => {
10
- const { opts, code } = (await req.json());
11
- const client = new cas_parser_node_1.CasParser({
12
- ...opts,
13
- });
14
- const logLines = [];
15
- const errLines = [];
16
- const console = {
17
- log: (...args) => {
18
- logLines.push(node_util_1.default.format(...args));
19
- },
20
- error: (...args) => {
21
- errLines.push(node_util_1.default.format(...args));
22
- },
23
- };
24
- try {
25
- let run_ = async (client) => { };
26
- eval(`
27
- ${code}
28
- run_ = run;
29
- `);
30
- const result = await run_(client);
31
- return Response.json({
32
- result,
33
- logLines,
34
- errLines,
35
- });
36
- }
37
- catch (e) {
38
- const message = e instanceof Error ? e.message : undefined;
39
- return Response.json({
40
- message,
41
- }, { status: 400, statusText: 'Code execution error' });
42
- }
43
- };
44
- exports.default = { fetch };
45
- //# sourceMappingURL=code-tool-worker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"code-tool-worker.js","sourceRoot":"","sources":["src/code-tool-worker.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;;;AAEtF,0DAA6B;AAE7B,qDAA4C;AAE5C,MAAM,KAAK,GAAG,KAAK,EAAE,GAAY,EAAqB,EAAE;IACtD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAgB,CAAC;IACzD,MAAM,MAAM,GAAG,IAAI,2BAAS,CAAC;QAC3B,GAAG,IAAI;KACR,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG;QACd,GAAG,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;YAC1B,QAAQ,CAAC,IAAI,CAAC,mBAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;YAC5B,QAAQ,CAAC,IAAI,CAAC,mBAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QACtC,CAAC;KACF,CAAC;IACF,IAAI,CAAC;QACH,IAAI,IAAI,GAAG,KAAK,EAAE,MAAW,EAAE,EAAE,GAAE,CAAC,CAAC;QACrC,IAAI,CAAC;QACD,IAAI;;KAEP,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,OAAO,QAAQ,CAAC,IAAI,CAAC;YACnB,MAAM;YACN,QAAQ;YACR,QAAQ;SACe,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3D,OAAO,QAAQ,CAAC,IAAI,CAClB;YACE,OAAO;SACc,EACvB,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,sBAAsB,EAAE,CACpD,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,kBAAe,EAAE,KAAK,EAAE,CAAC"}