@greensecurity/javascript-sdk 0.14.0 → 0.15.0

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 (58) hide show
  1. package/bin/mcp-server.js +33 -18
  2. package/bin/mcp-server.js.map +18 -18
  3. package/funcs/organizationsGetFacility.js +1 -1
  4. package/funcs/organizationsGetFacility.js.map +1 -1
  5. package/funcs/organizationsListOrSearchFacilities.js +1 -1
  6. package/funcs/organizationsListOrSearchFacilities.js.map +1 -1
  7. package/funcs/userGetCurrentUser.js +1 -1
  8. package/funcs/userGetCurrentUser.js.map +1 -1
  9. package/funcs/userGetUserById.js +1 -1
  10. package/funcs/userGetUserById.js.map +1 -1
  11. package/funcs/userLogsUserIntoTheSystem.js +1 -1
  12. package/funcs/userLogsUserIntoTheSystem.js.map +1 -1
  13. package/funcs/userMagiclink.js +1 -1
  14. package/funcs/userMagiclink.js.map +1 -1
  15. package/funcs/userPassword.js +1 -1
  16. package/funcs/userPassword.js.map +1 -1
  17. package/funcs/userPasswordResetRequest.js +1 -1
  18. package/funcs/userPasswordResetRequest.js.map +1 -1
  19. package/funcs/vendorsCreateVendorRegistration.js +1 -1
  20. package/funcs/vendorsCreateVendorRegistration.js.map +1 -1
  21. package/funcs/vendorsListVendorJobTitles.js +1 -1
  22. package/funcs/vendorsListVendorJobTitles.js.map +1 -1
  23. package/jsr.json +1 -1
  24. package/lib/config.d.ts +3 -3
  25. package/lib/config.js +3 -3
  26. package/mcp-server/cli/start/command.d.ts.map +1 -1
  27. package/mcp-server/cli/start/command.js +9 -0
  28. package/mcp-server/cli/start/command.js.map +1 -1
  29. package/mcp-server/cli/start/impl.d.ts +1 -0
  30. package/mcp-server/cli/start/impl.d.ts.map +1 -1
  31. package/mcp-server/cli/start/impl.js +2 -0
  32. package/mcp-server/cli/start/impl.js.map +1 -1
  33. package/mcp-server/mcp-server.js +1 -1
  34. package/mcp-server/server.d.ts +1 -0
  35. package/mcp-server/server.d.ts.map +1 -1
  36. package/mcp-server/server.js +3 -2
  37. package/mcp-server/server.js.map +1 -1
  38. package/mcp-server/tools.d.ts +1 -1
  39. package/mcp-server/tools.d.ts.map +1 -1
  40. package/mcp-server/tools.js +4 -1
  41. package/mcp-server/tools.js.map +1 -1
  42. package/package.json +1 -1
  43. package/src/funcs/organizationsGetFacility.ts +1 -1
  44. package/src/funcs/organizationsListOrSearchFacilities.ts +1 -1
  45. package/src/funcs/userGetCurrentUser.ts +1 -1
  46. package/src/funcs/userGetUserById.ts +1 -1
  47. package/src/funcs/userLogsUserIntoTheSystem.ts +1 -1
  48. package/src/funcs/userMagiclink.ts +1 -1
  49. package/src/funcs/userPassword.ts +1 -1
  50. package/src/funcs/userPasswordResetRequest.ts +1 -1
  51. package/src/funcs/vendorsCreateVendorRegistration.ts +1 -1
  52. package/src/funcs/vendorsListVendorJobTitles.ts +1 -1
  53. package/src/lib/config.ts +3 -3
  54. package/src/mcp-server/cli/start/command.ts +9 -0
  55. package/src/mcp-server/cli/start/impl.ts +3 -0
  56. package/src/mcp-server/mcp-server.ts +1 -1
  57. package/src/mcp-server/server.ts +10 -2
  58. package/src/mcp-server/tools.ts +5 -0
@@ -117,7 +117,7 @@ async function $do(
117
117
  path: path,
118
118
  headers: headers,
119
119
  body: body,
120
- timeoutMs: options?.timeoutMs || client._options.timeoutMs || 30000,
120
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
121
121
  }, options);
122
122
  if (!requestRes.ok) {
123
123
  return [requestRes, { status: "invalid" }];
@@ -114,7 +114,7 @@ async function $do(
114
114
  path: path,
115
115
  headers: headers,
116
116
  body: body,
117
- timeoutMs: options?.timeoutMs || client._options.timeoutMs || 30000,
117
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
118
118
  }, options);
119
119
  if (!requestRes.ok) {
120
120
  return [requestRes, { status: "invalid" }];
@@ -122,7 +122,7 @@ async function $do(
122
122
  headers: headers,
123
123
  query: query,
124
124
  body: body,
125
- timeoutMs: options?.timeoutMs || client._options.timeoutMs || 30000,
125
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
126
126
  }, options);
127
127
  if (!requestRes.ok) {
128
128
  return [requestRes, { status: "invalid" }];
package/src/lib/config.ts CHANGED
@@ -72,8 +72,8 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
72
72
  export const SDK_METADATA = {
73
73
  language: "typescript",
74
74
  openapiDocVersion: "0.0.3",
75
- sdkVersion: "0.14.0",
76
- genVersion: "2.536.0",
75
+ sdkVersion: "0.15.0",
76
+ genVersion: "2.539.0",
77
77
  userAgent:
78
- "speakeasy-sdk/typescript 0.14.0 2.536.0 0.0.3 @greensecurity/javascript-sdk",
78
+ "speakeasy-sdk/typescript 0.15.0 2.539.0 0.0.3 @greensecurity/javascript-sdk",
79
79
  } as const;
@@ -28,6 +28,15 @@ export const startCommand = buildCommand({
28
28
  parse: (val: string) =>
29
29
  z.coerce.number().int().gte(0).lt(65536).parse(val),
30
30
  },
31
+ tool: {
32
+ kind: "parsed",
33
+ brief: "Specify tools to mount on the server",
34
+ optional: true,
35
+ variadic: true,
36
+ parse: (value) => {
37
+ return z.string().parse(value);
38
+ },
39
+ },
31
40
  ...(mcpScopes.length
32
41
  ? {
33
42
  scope: {
@@ -17,6 +17,7 @@ import { createMCPServer } from "../../server.js";
17
17
  interface StartCommandFlags {
18
18
  readonly transport: "stdio" | "sse";
19
19
  readonly port: number;
20
+ readonly tool?: string[];
20
21
  readonly scope?: MCPScope[];
21
22
  readonly "api-token"?: string | undefined;
22
23
  readonly "bearer-jwt"?: string | undefined;
@@ -48,6 +49,7 @@ async function startStdio(flags: StartCommandFlags) {
48
49
  const transport = new StdioServerTransport();
49
50
  const server = createMCPServer({
50
51
  logger,
52
+ allowedTools: flags.tool,
51
53
  scopes: flags.scope,
52
54
  security: { token: flags["api-token"], bearerJwt: flags["bearer-jwt"] },
53
55
  serverURL: flags["server-url"],
@@ -68,6 +70,7 @@ async function startSSE(flags: StartCommandFlags) {
68
70
  const app = express();
69
71
  const mcpServer = createMCPServer({
70
72
  logger,
73
+ allowedTools: flags.tool,
71
74
  scopes: flags.scope,
72
75
  security: { token: flags["api-token"], bearerJwt: flags["bearer-jwt"] },
73
76
  serverURL: flags["server-url"],
@@ -19,7 +19,7 @@ const routes = buildRouteMap({
19
19
  export const app = buildApplication(routes, {
20
20
  name: "mcp",
21
21
  versionInfo: {
22
- currentVersion: "0.14.0",
22
+ currentVersion: "0.15.0",
23
23
  },
24
24
  });
25
25
 
@@ -21,6 +21,7 @@ import { tool$vendorsListVendorJobTitles } from "./tools/vendorsListVendorJobTit
21
21
 
22
22
  export function createMCPServer(deps: {
23
23
  logger: ConsoleLogger;
24
+ allowedTools?: string[] | undefined;
24
25
  scopes?: MCPScope[] | undefined;
25
26
  serverURL?: string | undefined;
26
27
  security?: SDKOptions["security"] | undefined;
@@ -28,7 +29,7 @@ export function createMCPServer(deps: {
28
29
  }) {
29
30
  const server = new McpServer({
30
31
  name: "GreenSecurity",
31
- version: "0.14.0",
32
+ version: "0.15.0",
32
33
  });
33
34
 
34
35
  const client = new GreenSecurityCore({
@@ -37,7 +38,14 @@ export function createMCPServer(deps: {
37
38
  serverIdx: deps.serverIdx,
38
39
  });
39
40
  const scopes = new Set(deps.scopes ?? mcpScopes);
40
- const tool = createRegisterTool(deps.logger, server, client, scopes);
41
+ const allowedTools = deps.allowedTools && new Set(deps.allowedTools);
42
+ const tool = createRegisterTool(
43
+ deps.logger,
44
+ server,
45
+ client,
46
+ scopes,
47
+ allowedTools,
48
+ );
41
49
 
42
50
  tool(tool$vendorsCreateVendorRegistration);
43
51
  tool(tool$vendorsListVendorJobTitles);
@@ -94,8 +94,13 @@ export function createRegisterTool(
94
94
  server: McpServer,
95
95
  sdk: GreenSecurityCore,
96
96
  allowedScopes: Set<MCPScope>,
97
+ allowedTools?: Set<string>,
97
98
  ): <A extends ZodRawShape | undefined>(tool: ToolDefinition<A>) => void {
98
99
  return <A extends ZodRawShape | undefined>(tool: ToolDefinition<A>): void => {
100
+ if (allowedTools && !allowedTools.has(tool.name)) {
101
+ return;
102
+ }
103
+
99
104
  const toolScopes = tool.scopes ?? [];
100
105
  if (!toolScopes.every((s) => allowedScopes.has(s))) {
101
106
  return;