@orq-ai/node 3.2.6 → 3.3.0-rc.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 (211) hide show
  1. package/bin/mcp-server.js +33 -36
  2. package/bin/mcp-server.js.map +20 -20
  3. package/jsr.json +1 -1
  4. package/lib/config.d.ts +3 -3
  5. package/lib/config.js +3 -3
  6. package/lib/config.js.map +1 -1
  7. package/mcp-server/mcp-server.js +1 -1
  8. package/mcp-server/mcp-server.js.map +1 -1
  9. package/mcp-server/server.js +1 -1
  10. package/mcp-server/server.js.map +1 -1
  11. package/models/operations/bulkcreatedatapoints.js +2 -2
  12. package/models/operations/createcontact.js +2 -2
  13. package/models/operations/createdataset.js +2 -2
  14. package/models/operations/createdatasetitem.js +2 -2
  15. package/models/operations/fileget.js +2 -2
  16. package/models/operations/filelist.js +2 -2
  17. package/models/operations/fileupload.js +2 -2
  18. package/models/operations/listdatasetdatapoints.js +2 -2
  19. package/models/operations/listdatasets.js +2 -2
  20. package/models/operations/retrievedatapoint.js +2 -2
  21. package/models/operations/retrievedataset.js +2 -2
  22. package/models/operations/updatedatapoint.js +2 -2
  23. package/models/operations/updatedataset.js +2 -2
  24. package/package.json +3 -2
  25. package/src/lib/config.ts +3 -3
  26. package/src/mcp-server/mcp-server.ts +1 -1
  27. package/src/mcp-server/server.ts +1 -1
  28. package/src/models/operations/bulkcreatedatapoints.ts +2 -2
  29. package/src/models/operations/createcontact.ts +2 -2
  30. package/src/models/operations/createdataset.ts +2 -2
  31. package/src/models/operations/createdatasetitem.ts +2 -2
  32. package/src/models/operations/fileget.ts +2 -2
  33. package/src/models/operations/filelist.ts +2 -2
  34. package/src/models/operations/fileupload.ts +2 -2
  35. package/src/models/operations/listdatasetdatapoints.ts +2 -2
  36. package/src/models/operations/listdatasets.ts +2 -2
  37. package/src/models/operations/retrievedatapoint.ts +2 -2
  38. package/src/models/operations/retrievedataset.ts +2 -2
  39. package/src/models/operations/updatedatapoint.ts +2 -2
  40. package/src/models/operations/updatedataset.ts +2 -2
  41. package/packages/orq-rc/FUNCTIONS.md +0 -106
  42. package/packages/orq-rc/README.md +0 -622
  43. package/packages/orq-rc/RUNTIMES.md +0 -48
  44. package/packages/orq-rc/docs/sdks/contacts/README.md +0 -84
  45. package/packages/orq-rc/docs/sdks/datasets/README.md +0 -934
  46. package/packages/orq-rc/docs/sdks/deployments/README.md +0 -235
  47. package/packages/orq-rc/docs/sdks/feedback/README.md +0 -92
  48. package/packages/orq-rc/docs/sdks/files/README.md +0 -305
  49. package/packages/orq-rc/docs/sdks/metrics/README.md +0 -86
  50. package/packages/orq-rc/docs/sdks/orq/README.md +0 -10
  51. package/packages/orq-rc/docs/sdks/prompts/README.md +0 -608
  52. package/packages/orq-rc/docs/sdks/remoteconfigs/README.md +0 -80
  53. package/packages/orq-rc/jsr.json +0 -27
  54. package/packages/orq-rc/package-lock.json +0 -3217
  55. package/packages/orq-rc/package.json +0 -45
  56. package/packages/orq-rc/src/core.ts +0 -13
  57. package/packages/orq-rc/src/funcs/contactsCreate.ts +0 -154
  58. package/packages/orq-rc/src/funcs/datasetsClear.ts +0 -161
  59. package/packages/orq-rc/src/funcs/datasetsCreate.ts +0 -159
  60. package/packages/orq-rc/src/funcs/datasetsCreateDatapoint.ts +0 -161
  61. package/packages/orq-rc/src/funcs/datasetsCreateDatapoints.ts +0 -165
  62. package/packages/orq-rc/src/funcs/datasetsDelete.ts +0 -161
  63. package/packages/orq-rc/src/funcs/datasetsDeleteDatapoint.ts +0 -176
  64. package/packages/orq-rc/src/funcs/datasetsList.ts +0 -162
  65. package/packages/orq-rc/src/funcs/datasetsListDatapoints.ts +0 -169
  66. package/packages/orq-rc/src/funcs/datasetsRetrieve.ts +0 -169
  67. package/packages/orq-rc/src/funcs/datasetsRetrieveDatapoint.ts +0 -175
  68. package/packages/orq-rc/src/funcs/datasetsUpdate.ts +0 -170
  69. package/packages/orq-rc/src/funcs/datasetsUpdateDatapoint.ts +0 -173
  70. package/packages/orq-rc/src/funcs/deploymentsGetConfig.ts +0 -162
  71. package/packages/orq-rc/src/funcs/deploymentsInvoke.ts +0 -170
  72. package/packages/orq-rc/src/funcs/deploymentsList.ts +0 -171
  73. package/packages/orq-rc/src/funcs/deploymentsMetricsCreate.ts +0 -162
  74. package/packages/orq-rc/src/funcs/feedbackCreate.ts +0 -154
  75. package/packages/orq-rc/src/funcs/filesCreate.ts +0 -177
  76. package/packages/orq-rc/src/funcs/filesDelete.ts +0 -158
  77. package/packages/orq-rc/src/funcs/filesGet.ts +0 -160
  78. package/packages/orq-rc/src/funcs/filesList.ts +0 -162
  79. package/packages/orq-rc/src/funcs/promptsCreate.ts +0 -154
  80. package/packages/orq-rc/src/funcs/promptsDelete.ts +0 -158
  81. package/packages/orq-rc/src/funcs/promptsGetVersion.ts +0 -175
  82. package/packages/orq-rc/src/funcs/promptsList.ts +0 -162
  83. package/packages/orq-rc/src/funcs/promptsListVersions.ts +0 -168
  84. package/packages/orq-rc/src/funcs/promptsRetrieve.ts +0 -160
  85. package/packages/orq-rc/src/funcs/promptsUpdate.ts +0 -167
  86. package/packages/orq-rc/src/funcs/remoteconfigsRetrieve.ts +0 -155
  87. package/packages/orq-rc/src/hooks/global.ts +0 -44
  88. package/packages/orq-rc/src/hooks/hooks.ts +0 -132
  89. package/packages/orq-rc/src/hooks/index.ts +0 -6
  90. package/packages/orq-rc/src/hooks/registration.ts +0 -15
  91. package/packages/orq-rc/src/hooks/types.ts +0 -110
  92. package/packages/orq-rc/src/index.ts +0 -7
  93. package/packages/orq-rc/src/lib/base64.ts +0 -37
  94. package/packages/orq-rc/src/lib/config.ts +0 -70
  95. package/packages/orq-rc/src/lib/dlv.ts +0 -53
  96. package/packages/orq-rc/src/lib/encodings.ts +0 -483
  97. package/packages/orq-rc/src/lib/env.ts +0 -73
  98. package/packages/orq-rc/src/lib/files.ts +0 -40
  99. package/packages/orq-rc/src/lib/http.ts +0 -323
  100. package/packages/orq-rc/src/lib/is-plain-object.ts +0 -43
  101. package/packages/orq-rc/src/lib/logger.ts +0 -9
  102. package/packages/orq-rc/src/lib/matchers.ts +0 -322
  103. package/packages/orq-rc/src/lib/primitives.ts +0 -150
  104. package/packages/orq-rc/src/lib/retries.ts +0 -218
  105. package/packages/orq-rc/src/lib/schemas.ts +0 -91
  106. package/packages/orq-rc/src/lib/sdks.ts +0 -395
  107. package/packages/orq-rc/src/lib/security.ts +0 -253
  108. package/packages/orq-rc/src/lib/url.ts +0 -33
  109. package/packages/orq-rc/src/mcp-server/cli/start/command.ts +0 -125
  110. package/packages/orq-rc/src/mcp-server/cli/start/impl.ts +0 -140
  111. package/packages/orq-rc/src/mcp-server/cli.ts +0 -13
  112. package/packages/orq-rc/src/mcp-server/console-logger.ts +0 -71
  113. package/packages/orq-rc/src/mcp-server/extensions.ts +0 -17
  114. package/packages/orq-rc/src/mcp-server/mcp-server.ts +0 -26
  115. package/packages/orq-rc/src/mcp-server/prompts.ts +0 -110
  116. package/packages/orq-rc/src/mcp-server/resources.ts +0 -158
  117. package/packages/orq-rc/src/mcp-server/scopes.ts +0 -7
  118. package/packages/orq-rc/src/mcp-server/server.ts +0 -123
  119. package/packages/orq-rc/src/mcp-server/shared.ts +0 -75
  120. package/packages/orq-rc/src/mcp-server/tools/contactsCreate.ts +0 -37
  121. package/packages/orq-rc/src/mcp-server/tools/datasetsClear.ts +0 -35
  122. package/packages/orq-rc/src/mcp-server/tools/datasetsCreate.ts +0 -37
  123. package/packages/orq-rc/src/mcp-server/tools/datasetsCreateDatapoint.ts +0 -37
  124. package/packages/orq-rc/src/mcp-server/tools/datasetsCreateDatapoints.ts +0 -37
  125. package/packages/orq-rc/src/mcp-server/tools/datasetsDelete.ts +0 -35
  126. package/packages/orq-rc/src/mcp-server/tools/datasetsDeleteDatapoint.ts +0 -35
  127. package/packages/orq-rc/src/mcp-server/tools/datasetsList.ts +0 -37
  128. package/packages/orq-rc/src/mcp-server/tools/datasetsListDatapoints.ts +0 -37
  129. package/packages/orq-rc/src/mcp-server/tools/datasetsRetrieve.ts +0 -37
  130. package/packages/orq-rc/src/mcp-server/tools/datasetsRetrieveDatapoint.ts +0 -37
  131. package/packages/orq-rc/src/mcp-server/tools/datasetsUpdate.ts +0 -37
  132. package/packages/orq-rc/src/mcp-server/tools/datasetsUpdateDatapoint.ts +0 -35
  133. package/packages/orq-rc/src/mcp-server/tools/deploymentsGetConfig.ts +0 -37
  134. package/packages/orq-rc/src/mcp-server/tools/deploymentsInvoke.ts +0 -37
  135. package/packages/orq-rc/src/mcp-server/tools/deploymentsList.ts +0 -37
  136. package/packages/orq-rc/src/mcp-server/tools/deploymentsMetricsCreate.ts +0 -37
  137. package/packages/orq-rc/src/mcp-server/tools/feedbackCreate.ts +0 -37
  138. package/packages/orq-rc/src/mcp-server/tools/filesCreate.ts +0 -37
  139. package/packages/orq-rc/src/mcp-server/tools/filesDelete.ts +0 -33
  140. package/packages/orq-rc/src/mcp-server/tools/filesGet.ts +0 -37
  141. package/packages/orq-rc/src/mcp-server/tools/filesList.ts +0 -37
  142. package/packages/orq-rc/src/mcp-server/tools/promptsCreate.ts +0 -35
  143. package/packages/orq-rc/src/mcp-server/tools/promptsDelete.ts +0 -33
  144. package/packages/orq-rc/src/mcp-server/tools/promptsGetVersion.ts +0 -37
  145. package/packages/orq-rc/src/mcp-server/tools/promptsList.ts +0 -37
  146. package/packages/orq-rc/src/mcp-server/tools/promptsListVersions.ts +0 -37
  147. package/packages/orq-rc/src/mcp-server/tools/promptsRetrieve.ts +0 -37
  148. package/packages/orq-rc/src/mcp-server/tools/promptsUpdate.ts +0 -35
  149. package/packages/orq-rc/src/mcp-server/tools/remoteconfigsRetrieve.ts +0 -36
  150. package/packages/orq-rc/src/mcp-server/tools.ts +0 -126
  151. package/packages/orq-rc/src/models/components/deployments.ts +0 -4164
  152. package/packages/orq-rc/src/models/components/index.ts +0 -6
  153. package/packages/orq-rc/src/models/components/security.ts +0 -71
  154. package/packages/orq-rc/src/models/errors/apierror.ts +0 -27
  155. package/packages/orq-rc/src/models/errors/getpromptversion.ts +0 -71
  156. package/packages/orq-rc/src/models/errors/honoapierror.ts +0 -82
  157. package/packages/orq-rc/src/models/errors/httpclienterrors.ts +0 -62
  158. package/packages/orq-rc/src/models/errors/index.ts +0 -10
  159. package/packages/orq-rc/src/models/errors/sdkvalidationerror.ts +0 -97
  160. package/packages/orq-rc/src/models/errors/updateprompt.ts +0 -71
  161. package/packages/orq-rc/src/models/operations/bulkcreatedatapoints.ts +0 -1816
  162. package/packages/orq-rc/src/models/operations/cleardataset.ts +0 -75
  163. package/packages/orq-rc/src/models/operations/createcontact.ts +0 -256
  164. package/packages/orq-rc/src/models/operations/createdataset.ts +0 -296
  165. package/packages/orq-rc/src/models/operations/createdatasetitem.ts +0 -1740
  166. package/packages/orq-rc/src/models/operations/createfeedback.ts +0 -286
  167. package/packages/orq-rc/src/models/operations/createprompt.ts +0 -3816
  168. package/packages/orq-rc/src/models/operations/deletedatapoint.ts +0 -81
  169. package/packages/orq-rc/src/models/operations/deletedataset.ts +0 -75
  170. package/packages/orq-rc/src/models/operations/deleteprompt.ts +0 -69
  171. package/packages/orq-rc/src/models/operations/deploymentcreatemetric.ts +0 -4936
  172. package/packages/orq-rc/src/models/operations/deploymentgetconfig.ts +0 -6090
  173. package/packages/orq-rc/src/models/operations/deploymentinvoke.ts +0 -1199
  174. package/packages/orq-rc/src/models/operations/deployments.ts +0 -2194
  175. package/packages/orq-rc/src/models/operations/filedelete.ts +0 -78
  176. package/packages/orq-rc/src/models/operations/fileget.ts +0 -223
  177. package/packages/orq-rc/src/models/operations/filelist.ts +0 -377
  178. package/packages/orq-rc/src/models/operations/fileupload.ts +0 -324
  179. package/packages/orq-rc/src/models/operations/getallprompts.ts +0 -2165
  180. package/packages/orq-rc/src/models/operations/getoneprompt.ts +0 -1989
  181. package/packages/orq-rc/src/models/operations/getpromptversion.ts +0 -1987
  182. package/packages/orq-rc/src/models/operations/index.ts +0 -34
  183. package/packages/orq-rc/src/models/operations/listdatasetdatapoints.ts +0 -1115
  184. package/packages/orq-rc/src/models/operations/listdatasets.ts +0 -448
  185. package/packages/orq-rc/src/models/operations/listpromptversions.ts +0 -2163
  186. package/packages/orq-rc/src/models/operations/remoteconfigsgetconfig.ts +0 -190
  187. package/packages/orq-rc/src/models/operations/retrievedatapoint.ts +0 -924
  188. package/packages/orq-rc/src/models/operations/retrievedataset.ts +0 -288
  189. package/packages/orq-rc/src/models/operations/updatedatapoint.ts +0 -1729
  190. package/packages/orq-rc/src/models/operations/updatedataset.ts +0 -374
  191. package/packages/orq-rc/src/models/operations/updateprompt.ts +0 -3831
  192. package/packages/orq-rc/src/sdk/contacts.ts +0 -27
  193. package/packages/orq-rc/src/sdk/datasets.ts +0 -222
  194. package/packages/orq-rc/src/sdk/deployments.ts +0 -70
  195. package/packages/orq-rc/src/sdk/feedback.ts +0 -27
  196. package/packages/orq-rc/src/sdk/files.ts +0 -78
  197. package/packages/orq-rc/src/sdk/index.ts +0 -5
  198. package/packages/orq-rc/src/sdk/metrics.ts +0 -27
  199. package/packages/orq-rc/src/sdk/prompts.ts +0 -126
  200. package/packages/orq-rc/src/sdk/remoteconfigs.ts +0 -24
  201. package/packages/orq-rc/src/sdk/sdk.ts +0 -49
  202. package/packages/orq-rc/src/types/async.ts +0 -68
  203. package/packages/orq-rc/src/types/blobs.ts +0 -31
  204. package/packages/orq-rc/src/types/constdatetime.ts +0 -15
  205. package/packages/orq-rc/src/types/enums.ts +0 -16
  206. package/packages/orq-rc/src/types/fp.ts +0 -50
  207. package/packages/orq-rc/src/types/index.ts +0 -11
  208. package/packages/orq-rc/src/types/operations.ts +0 -105
  209. package/packages/orq-rc/src/types/rfcdate.ts +0 -54
  210. package/packages/orq-rc/src/types/streams.ts +0 -21
  211. package/packages/orq-rc/tsconfig.json +0 -41
@@ -1,125 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- import { buildCommand } from "@stricli/core";
6
- import { numberParser } from "@stricli/core";
7
- import * as z from "zod";
8
- import { consoleLoggerLevels } from "../../console-logger.js";
9
- import { mcpScopes } from "../../scopes.js";
10
-
11
- export const startCommand = buildCommand({
12
- loader: async () => {
13
- const { main } = await import("./impl.js");
14
- return main;
15
- },
16
- parameters: {
17
- flags: {
18
- transport: {
19
- kind: "enum",
20
- brief: "The transport to use for communicating with the server",
21
- default: "stdio",
22
- values: ["stdio", "sse"],
23
- },
24
- port: {
25
- kind: "parsed",
26
- brief: "The port to use when the SSE transport is enabled",
27
- default: "2718",
28
- parse: (val: string) =>
29
- z.coerce.number().int().gte(0).lt(65536).parse(val),
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
- },
40
- ...(mcpScopes.length
41
- ? {
42
- scope: {
43
- kind: "enum",
44
- brief:
45
- "Mount tools/resources that match given scope (repeatable flag)",
46
- values: mcpScopes,
47
- variadic: true,
48
- optional: true,
49
- },
50
- }
51
- : {}),
52
- "api-key": {
53
- kind: "parsed",
54
- brief: "Sets the apiKey auth field for the API",
55
- optional: true,
56
- parse: (value) => {
57
- return z.string().parse(value);
58
- },
59
- },
60
- "contact-id": {
61
- kind: "parsed",
62
- brief:
63
- "Allows setting the contactId parameter for all supported operations",
64
- optional: true,
65
- parse: (value) => {
66
- return z.string().parse(value);
67
- },
68
- },
69
- environment: {
70
- kind: "parsed",
71
- brief:
72
- "Allows setting the environment parameter for all supported operations",
73
- optional: true,
74
- parse: (value) => {
75
- return z.string().parse(value);
76
- },
77
- },
78
- "server-url": {
79
- kind: "parsed",
80
- brief: "Overrides the default server URL used by the SDK",
81
- optional: true,
82
- parse: (value) => new URL(value).toString(),
83
- },
84
- "server-index": {
85
- kind: "parsed",
86
- brief: "Selects a predefined server used by the SDK",
87
- optional: true,
88
- parse: numberParser,
89
- },
90
- "log-level": {
91
- kind: "enum",
92
- brief: "The log level to use for the server",
93
- default: "info",
94
- values: consoleLoggerLevels,
95
- },
96
- env: {
97
- kind: "parsed",
98
- brief: "Environment variables made available to the server",
99
- optional: true,
100
- variadic: true,
101
- parse: (val: string) => {
102
- const sepIdx = val.indexOf("=");
103
- if (sepIdx === -1) {
104
- throw new Error("Invalid environment variable format");
105
- }
106
-
107
- const key = val.slice(0, sepIdx);
108
- const value = val.slice(sepIdx + 1);
109
-
110
- return [
111
- z.string().nonempty({
112
- message: "Environment variable key must be a non-empty string",
113
- }).parse(key),
114
- z.string().nonempty({
115
- message: "Environment variable value must be a non-empty string",
116
- }).parse(value),
117
- ] satisfies [string, string];
118
- },
119
- },
120
- },
121
- },
122
- docs: {
123
- brief: "Run the Model Context Protocol server",
124
- },
125
- });
@@ -1,140 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- import { SSEServerTransport } from "@modelcontextprotocol/sdk/server/sse.js";
6
- import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
7
- import express from "express";
8
- import { SDKOptions } from "../../../lib/config.js";
9
- import { LocalContext } from "../../cli.js";
10
- import {
11
- ConsoleLoggerLevel,
12
- createConsoleLogger,
13
- } from "../../console-logger.js";
14
- import { MCPScope } from "../../scopes.js";
15
- import { createMCPServer } from "../../server.js";
16
-
17
- interface StartCommandFlags {
18
- readonly transport: "stdio" | "sse";
19
- readonly port: number;
20
- readonly tool?: string[];
21
- readonly scope?: MCPScope[];
22
- readonly "api-key"?: string | undefined;
23
- readonly "contact-id"?: SDKOptions["contactId"] | undefined;
24
- readonly environment?: SDKOptions["environment"] | undefined;
25
- readonly "server-url"?: string;
26
- readonly "server-index"?: SDKOptions["serverIdx"];
27
- readonly "log-level": ConsoleLoggerLevel;
28
- readonly env?: [string, string][];
29
- }
30
-
31
- export async function main(this: LocalContext, flags: StartCommandFlags) {
32
- flags.env?.forEach(([key, value]) => {
33
- process.env[key] = value;
34
- });
35
-
36
- switch (flags.transport) {
37
- case "stdio":
38
- await startStdio(flags);
39
- break;
40
- case "sse":
41
- await startSSE(flags);
42
- break;
43
- default:
44
- throw new Error(`Invalid transport: ${flags.transport}`);
45
- }
46
- }
47
-
48
- async function startStdio(flags: StartCommandFlags) {
49
- const logger = createConsoleLogger(flags["log-level"]);
50
- const transport = new StdioServerTransport();
51
- const server = createMCPServer({
52
- logger,
53
- allowedTools: flags.tool,
54
- scopes: flags.scope,
55
- ...{ apiKey: flags["api-key"] },
56
- contactId: flags["contact-id"],
57
- environment: flags.environment,
58
- serverURL: flags["server-url"],
59
- serverIdx: flags["server-index"],
60
- });
61
- await server.connect(transport);
62
-
63
- const abort = async () => {
64
- await server.close();
65
- process.exit(0);
66
- };
67
- process.on("SIGTERM", abort);
68
- process.on("SIGINT", abort);
69
- }
70
-
71
- async function startSSE(flags: StartCommandFlags) {
72
- const logger = createConsoleLogger(flags["log-level"]);
73
- const app = express();
74
- const mcpServer = createMCPServer({
75
- logger,
76
- allowedTools: flags.tool,
77
- scopes: flags.scope,
78
- ...{ apiKey: flags["api-key"] },
79
- contactId: flags["contact-id"],
80
- environment: flags.environment,
81
- serverURL: flags["server-url"],
82
- serverIdx: flags["server-index"],
83
- });
84
- let transport: SSEServerTransport | undefined;
85
- const controller = new AbortController();
86
-
87
- app.get("/sse", async (_req, res) => {
88
- transport = new SSEServerTransport("/message", res);
89
-
90
- await mcpServer.connect(transport);
91
-
92
- mcpServer.server.onclose = async () => {
93
- res.end();
94
- };
95
- });
96
-
97
- app.post("/message", async (req, res) => {
98
- if (!transport) {
99
- throw new Error("Server transport not initialized");
100
- }
101
-
102
- await transport.handlePostMessage(req, res);
103
- });
104
-
105
- const httpServer = app.listen(flags.port, "0.0.0.0", () => {
106
- const ha = httpServer.address();
107
- const host = typeof ha === "string" ? ha : `${ha?.address}:${ha?.port}`;
108
- logger.info("MCP HTTP server started", { host });
109
- });
110
-
111
- let closing = false;
112
- controller.signal.addEventListener("abort", async () => {
113
- if (closing) {
114
- logger.info("Received second signal. Forcing shutdown.");
115
- process.exit(1);
116
- }
117
- closing = true;
118
-
119
- logger.info("Shutting down MCP server");
120
-
121
- await mcpServer.close();
122
-
123
- logger.info("Shutting down HTTP server");
124
-
125
- const timer = setTimeout(() => {
126
- logger.info("Forcing shutdown");
127
- process.exit(1);
128
- }, 5000);
129
-
130
- httpServer.close(() => {
131
- clearTimeout(timer);
132
- logger.info("Graceful shutdown complete");
133
- process.exit(0);
134
- });
135
- });
136
-
137
- const abort = () => controller.abort();
138
- process.on("SIGTERM", abort);
139
- process.on("SIGINT", abort);
140
- }
@@ -1,13 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- import { CommandContext, StricliProcess } from "@stricli/core";
6
-
7
- export interface LocalContext extends CommandContext {
8
- readonly process: StricliProcess;
9
- }
10
-
11
- export function buildContext(process: NodeJS.Process): LocalContext {
12
- return { process: process as StricliProcess };
13
- }
@@ -1,71 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- export const consoleLoggerLevels = [
6
- "debug",
7
- "warning",
8
- "info",
9
- "error",
10
- ] as const;
11
-
12
- export type ConsoleLoggerLevel = (typeof consoleLoggerLevels)[number];
13
-
14
- export type ConsoleLogger = {
15
- [key in ConsoleLoggerLevel]: (
16
- message: string,
17
- data?: Record<string, unknown>,
18
- ) => void;
19
- };
20
-
21
- export function createConsoleLogger(level: ConsoleLoggerLevel): ConsoleLogger {
22
- const min = consoleLoggerLevels.indexOf(level);
23
- const noop = () => {};
24
-
25
- const logger: ConsoleLogger = {
26
- debug: noop,
27
- warning: noop,
28
- info: noop,
29
- error: noop,
30
- };
31
-
32
- return consoleLoggerLevels.reduce((logger, level, i) => {
33
- if (i < min) {
34
- return logger;
35
- }
36
-
37
- logger[level] = log.bind(null, level);
38
-
39
- return logger;
40
- }, logger);
41
- }
42
-
43
- function log(
44
- level: ConsoleLoggerLevel,
45
- message: string,
46
- data?: Record<string, unknown>,
47
- ) {
48
- let line = "";
49
- const allData = [{ msg: message, l: level }, data];
50
-
51
- for (const ctx of allData) {
52
- for (const [key, value] of Object.entries(ctx || {})) {
53
- if (value == null) {
54
- line += ` ${key}=<${value}>`;
55
- } else if (typeof value === "function") {
56
- line += ` ${key}=<function>`;
57
- } else if (typeof value === "symbol") {
58
- line += ` ${key}=${value.toString()}`;
59
- } else if (typeof value === "string") {
60
- const v = value.search(/\s/g) >= 0 ? JSON.stringify(value) : value;
61
- line += ` ${key}=${v}`;
62
- } else if (typeof value !== "object") {
63
- line += ` ${key}=${value}`;
64
- } else {
65
- line += ` ${key}="${JSON.stringify(value)}"`;
66
- }
67
- }
68
- }
69
-
70
- console.error(line);
71
- }
@@ -1,17 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- import { ZodRawShape } from "zod";
6
- import { PromptArgsRawShape, PromptDefinition } from "./prompts.js";
7
- import { ResourceDefinition, ResourceTemplateDefinition } from "./resources.js";
8
- import { ToolDefinition } from "./tools.js";
9
-
10
- export type Register = {
11
- tool: <A extends ZodRawShape | undefined>(def: ToolDefinition<A>) => void;
12
- resource: (def: ResourceDefinition) => void;
13
- resourceTemplate: (def: ResourceTemplateDefinition) => void;
14
- prompt: <A extends PromptArgsRawShape | undefined>(
15
- prompt: PromptDefinition<A>,
16
- ) => void;
17
- };
@@ -1,26 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- import { buildApplication, buildRouteMap, run } from "@stricli/core";
6
- import process from "node:process";
7
- import { buildContext } from "./cli.js";
8
- import { startCommand } from "./cli/start/command.js";
9
-
10
- const routes = buildRouteMap({
11
- routes: {
12
- start: startCommand,
13
- },
14
- docs: {
15
- brief: "MCP server CLI",
16
- },
17
- });
18
-
19
- export const app = buildApplication(routes, {
20
- name: "mcp",
21
- versionInfo: {
22
- currentVersion: "3.2.0-rc.62",
23
- },
24
- });
25
-
26
- run(app, process.argv.slice(2), buildContext(process));
@@ -1,110 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
6
- import { RequestHandlerExtra } from "@modelcontextprotocol/sdk/shared/protocol.js";
7
- import { GetPromptResult } from "@modelcontextprotocol/sdk/types.js";
8
- import {
9
- objectOutputType,
10
- ZodOptional,
11
- ZodType,
12
- ZodTypeAny,
13
- ZodTypeDef,
14
- } from "zod";
15
- import { OrqCore } from "../core.js";
16
- import { ConsoleLogger } from "./console-logger.js";
17
- import { MCPScope } from "./scopes.js";
18
-
19
- // '@modelcontextprotocol/sdk' currently does not export this type
20
- export type PromptArgsRawShape = {
21
- [k: string]:
22
- | ZodType<string, ZodTypeDef, string>
23
- | ZodOptional<ZodType<string, ZodTypeDef, string>>;
24
- };
25
-
26
- export type PromptDefinition<
27
- Args extends undefined | PromptArgsRawShape = undefined,
28
- > = Args extends PromptArgsRawShape ? {
29
- name: string;
30
- description?: string;
31
- scopes?: MCPScope[];
32
- args: Args;
33
- prompt: (
34
- client: OrqCore,
35
- args: objectOutputType<Args, ZodTypeAny>,
36
- extra: RequestHandlerExtra,
37
- ) => GetPromptResult | Promise<GetPromptResult>;
38
- }
39
- : {
40
- name: string;
41
- description?: string;
42
- scopes?: MCPScope[];
43
- args?: undefined;
44
- prompt: (
45
- client: OrqCore,
46
- extra: RequestHandlerExtra,
47
- ) => GetPromptResult | Promise<GetPromptResult>;
48
- };
49
-
50
- // Optional function to assist with formatting prompt results
51
- export async function formatResult(value: string): Promise<GetPromptResult> {
52
- return {
53
- messages: [
54
- {
55
- role: "user",
56
- content: {
57
- type: "text",
58
- text: value,
59
- },
60
- },
61
- ],
62
- };
63
- }
64
-
65
- export function createRegisterPrompt(
66
- logger: ConsoleLogger,
67
- server: McpServer,
68
- sdk: OrqCore,
69
- allowedScopes: Set<MCPScope>,
70
- ): <A extends PromptArgsRawShape | undefined>(
71
- prompt: PromptDefinition<A>,
72
- ) => void {
73
- return <A extends PromptArgsRawShape | undefined>(
74
- prompt: PromptDefinition<A>,
75
- ): void => {
76
- const scopes = prompt.scopes ?? [];
77
- if (!scopes.every((s: MCPScope) => allowedScopes.has(s))) {
78
- return;
79
- }
80
-
81
- if (prompt.args) {
82
- if (prompt.description) {
83
- server.prompt(
84
- prompt.name,
85
- prompt.description,
86
- prompt.args,
87
- async (args, ctx) => prompt.prompt(sdk, args, ctx),
88
- );
89
- } else {
90
- server.prompt(
91
- prompt.name,
92
- prompt.args,
93
- async (args, ctx) => prompt.prompt(sdk, args, ctx),
94
- );
95
- }
96
- } else {
97
- if (prompt.description) {
98
- server.prompt(
99
- prompt.name,
100
- prompt.description,
101
- async (ctx) => prompt.prompt(sdk, ctx),
102
- );
103
- } else {
104
- server.prompt(prompt.name, async (ctx) => prompt.prompt(sdk, ctx));
105
- }
106
- }
107
-
108
- logger.debug("Registered prompt", { name: prompt.name });
109
- };
110
- }
@@ -1,158 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- import {
6
- McpServer,
7
- ResourceMetadata,
8
- ResourceTemplate,
9
- } from "@modelcontextprotocol/sdk/server/mcp.js";
10
- import { RequestHandlerExtra } from "@modelcontextprotocol/sdk/shared/protocol.js";
11
- import { Variables } from "@modelcontextprotocol/sdk/shared/uriTemplate.js";
12
- import { ReadResourceResult } from "@modelcontextprotocol/sdk/types.js";
13
- import { OrqCore } from "../core.js";
14
- import { ConsoleLogger } from "./console-logger.js";
15
- import { MCPScope } from "./scopes.js";
16
- import { isAsyncIterable, isBinaryData, valueToBase64 } from "./shared.js";
17
-
18
- export type ReadResourceCallback = (
19
- client: OrqCore,
20
- uri: URL,
21
- extra: RequestHandlerExtra,
22
- ) => ReadResourceResult | Promise<ReadResourceResult>;
23
-
24
- export type ResourceDefinition = {
25
- name: string;
26
- description?: string;
27
- metadata?: ResourceMetadata;
28
- scopes?: MCPScope[];
29
- resource: string;
30
- read: ReadResourceCallback;
31
- };
32
-
33
- export type ReadResourceTemplateCallback = (
34
- client: OrqCore,
35
- uri: URL,
36
- vars: Variables,
37
- extra: RequestHandlerExtra,
38
- ) => ReadResourceResult | Promise<ReadResourceResult>;
39
-
40
- export type ResourceTemplateDefinition = {
41
- name: string;
42
- description: string;
43
- metadata?: ResourceMetadata;
44
- scopes?: MCPScope[];
45
- resource: ResourceTemplate;
46
- read: ReadResourceTemplateCallback;
47
- };
48
-
49
- // Optional function to assist with formatting resource results
50
- export async function formatResult(
51
- value: unknown,
52
- uri: URL,
53
- init: { mimeType?: string | undefined; response?: Response | undefined },
54
- ): Promise<ReadResourceResult> {
55
- if (typeof value === "undefined") {
56
- return { contents: [] };
57
- }
58
-
59
- let contents: ReadResourceResult["contents"] = [];
60
-
61
- const mimeType = init.mimeType ?? init.response?.headers.get("content-type")
62
- ?? "";
63
-
64
- if (mimeType.search(/\bjson\b/g) !== -1) {
65
- contents = [{ uri: uri.toString(), mimeType, text: JSON.stringify(value) }];
66
- } else if (
67
- mimeType.startsWith("text/event-stream")
68
- && isAsyncIterable(value)
69
- ) {
70
- contents = [
71
- {
72
- uri: uri.toString(),
73
- mimeType: "application/json",
74
- text: await stringifySSEToJSON(value),
75
- },
76
- ];
77
- } else if (
78
- (mimeType.startsWith("text/") || mimeType.startsWith("application/"))
79
- && typeof value === "string"
80
- ) {
81
- contents = [{ uri: uri.toString(), mimeType, text: value }];
82
- } else if (isBinaryData(value)) {
83
- const blob = await valueToBase64(value);
84
- contents = blob == null ? [] : [{ uri: uri.toString(), blob, mimeType }];
85
- } else {
86
- throw new Error(`Unsupported content type: "${mimeType}"`);
87
- }
88
-
89
- return { contents };
90
- }
91
-
92
- async function stringifySSEToJSON(
93
- value: AsyncIterable<unknown>,
94
- ): Promise<string> {
95
- const payloads = [];
96
-
97
- for await (const chunk of value) {
98
- payloads.push(chunk);
99
- }
100
-
101
- return JSON.stringify(payloads);
102
- }
103
-
104
- export function createRegisterResource(
105
- logger: ConsoleLogger,
106
- server: McpServer,
107
- sdk: OrqCore,
108
- allowedScopes: Set<MCPScope>,
109
- ): (resource: ResourceDefinition) => void {
110
- return (resource: ResourceDefinition): void => {
111
- const scopes = resource.scopes ?? [];
112
- if (!scopes.every((s: MCPScope) => allowedScopes.has(s))) {
113
- return;
114
- }
115
-
116
- const metadata: ResourceMetadata = {
117
- ...resource.metadata,
118
- description: resource.description,
119
- };
120
-
121
- server.resource(
122
- resource.name,
123
- resource.resource,
124
- metadata,
125
- async (uri, ctx) => resource.read(sdk, uri, ctx),
126
- );
127
-
128
- logger.debug("Registered resource", { name: resource.name });
129
- };
130
- }
131
-
132
- export function createRegisterResourceTemplate(
133
- logger: ConsoleLogger,
134
- server: McpServer,
135
- sdk: OrqCore,
136
- allowedScopes: Set<MCPScope>,
137
- ): (resource: ResourceTemplateDefinition) => void {
138
- return (resource: ResourceTemplateDefinition): void => {
139
- const scopes = resource.scopes ?? [];
140
- if (!scopes.every((s: MCPScope) => allowedScopes.has(s))) {
141
- return;
142
- }
143
-
144
- const metadata: ResourceMetadata = {
145
- ...resource.metadata,
146
- description: resource.description,
147
- };
148
-
149
- server.resource(
150
- resource.name,
151
- resource.resource,
152
- metadata,
153
- async (uri, vars, ctx) => resource.read(sdk, uri, vars, ctx),
154
- );
155
-
156
- logger.debug("Registered resource template", { name: resource.name });
157
- };
158
- }
@@ -1,7 +0,0 @@
1
- /*
2
- * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
- */
4
-
5
- export const mcpScopes = [] as const;
6
-
7
- export type MCPScope = (typeof mcpScopes)[number];