@roarkanalytics/sdk-mcp 4.42.1 → 4.44.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.
- package/CHANGELOG.md +14 -0
- package/README.md +44 -20
- package/client-headers.d.mts +2 -2
- package/client-headers.d.ts +2 -2
- package/client-headers.js +1 -1
- package/client-headers.mjs +1 -1
- package/code-tool-types.d.mts +0 -1
- package/code-tool-types.d.mts.map +1 -1
- package/code-tool-types.d.ts +0 -1
- package/code-tool-types.d.ts.map +1 -1
- package/code-tool.d.mts.map +1 -1
- package/code-tool.d.ts.map +1 -1
- package/code-tool.js +12 -34
- package/code-tool.js.map +1 -1
- package/code-tool.mjs +12 -34
- package/code-tool.mjs.map +1 -1
- package/directory-tools.d.mts +16 -0
- package/directory-tools.d.mts.map +1 -0
- package/directory-tools.d.ts +16 -0
- package/directory-tools.d.ts.map +1 -0
- package/directory-tools.js +830 -0
- package/directory-tools.js.map +1 -0
- package/directory-tools.mjs +826 -0
- package/directory-tools.mjs.map +1 -0
- package/docs-search-tool.d.mts.map +1 -1
- package/docs-search-tool.d.ts.map +1 -1
- package/docs-search-tool.js +4 -1
- package/docs-search-tool.js.map +1 -1
- package/docs-search-tool.mjs +4 -1
- package/docs-search-tool.mjs.map +1 -1
- package/http.d.mts.map +1 -1
- package/http.d.ts.map +1 -1
- package/http.js +9 -4
- package/http.js.map +1 -1
- package/http.mjs +9 -4
- package/http.mjs.map +1 -1
- package/options.d.mts +17 -0
- package/options.d.mts.map +1 -1
- package/options.d.ts +17 -0
- package/options.d.ts.map +1 -1
- package/options.js +22 -0
- package/options.js.map +1 -1
- package/options.mjs +21 -0
- package/options.mjs.map +1 -1
- package/package.json +11 -1
- package/server.d.mts +2 -1
- package/server.d.mts.map +1 -1
- package/server.d.ts +2 -1
- package/server.d.ts.map +1 -1
- package/server.js +18 -4
- package/server.js.map +1 -1
- package/server.mjs +18 -4
- package/server.mjs.map +1 -1
- package/src/client-headers.ts +1 -1
- package/src/code-tool-types.ts +0 -1
- package/src/code-tool.ts +14 -34
- package/src/directory-tools.ts +1118 -0
- package/src/docs-search-tool.ts +4 -1
- package/src/http.ts +9 -5
- package/src/options.ts +33 -0
- package/src/server.ts +19 -4
- package/src/stdio.ts +2 -1
- package/stdio.d.mts.map +1 -1
- package/stdio.d.ts.map +1 -1
- package/stdio.js +2 -0
- package/stdio.js.map +1 -1
- package/stdio.mjs +2 -0
- package/stdio.mjs.map +1 -1
package/server.d.mts
CHANGED
|
@@ -4,9 +4,10 @@ import { ClientOptions } from '@roarkanalytics/sdk';
|
|
|
4
4
|
import { LocalDocsSearch } from "./local-docs-search.mjs";
|
|
5
5
|
import { McpOptions } from "./options.mjs";
|
|
6
6
|
import { HandlerFunction, McpRequestContext, ToolCallResult, McpTool } from "./types.mjs";
|
|
7
|
-
export declare const newMcpServer: ({ stainlessApiKey, customInstructionsPath, }: {
|
|
7
|
+
export declare const newMcpServer: ({ stainlessApiKey, customInstructionsPath, toolSurface, }: {
|
|
8
8
|
stainlessApiKey?: string | undefined;
|
|
9
9
|
customInstructionsPath?: string | undefined;
|
|
10
|
+
toolSurface?: McpOptions["toolSurface"] | undefined;
|
|
10
11
|
}) => Promise<McpServer>;
|
|
11
12
|
export declare const localDocsSearchFor: (docsDir?: string | undefined) => Promise<LocalDocsSearch>;
|
|
12
13
|
/**
|
package/server.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.mts","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.mts","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAMpD,OAAO,EAAE,eAAe,EAAE,gCAA4B;AAEtD,OAAO,EAAE,UAAU,EAAkB,sBAAkB;AAEvD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,oBAAgB;AAGtF,eAAO,MAAM,YAAY,GAAU,2DAIhC;IACD,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,sBAAsB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,WAAW,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;CACrD,uBAiBE,CAAC;AAwBJ,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,GAAG,SAAS,KAAG,OAAO,CAAC,eAAe,CAWxF,CAAC;AAEF;;;GAGG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE;IAC1C,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACxD,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CAC/D,iBAyHA;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,EAAE,CAqB3D;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,EACnC,OAAO,EACP,UAAU,EACV,IAAI,GACL,EAAE;IACD,OAAO,EAAE,eAAe,CAAC;IACzB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CAC3C,GAAG,OAAO,CAAC,cAAc,CAAC,CAE1B"}
|
package/server.d.ts
CHANGED
|
@@ -4,9 +4,10 @@ import { ClientOptions } from '@roarkanalytics/sdk';
|
|
|
4
4
|
import { LocalDocsSearch } from "./local-docs-search.js";
|
|
5
5
|
import { McpOptions } from "./options.js";
|
|
6
6
|
import { HandlerFunction, McpRequestContext, ToolCallResult, McpTool } from "./types.js";
|
|
7
|
-
export declare const newMcpServer: ({ stainlessApiKey, customInstructionsPath, }: {
|
|
7
|
+
export declare const newMcpServer: ({ stainlessApiKey, customInstructionsPath, toolSurface, }: {
|
|
8
8
|
stainlessApiKey?: string | undefined;
|
|
9
9
|
customInstructionsPath?: string | undefined;
|
|
10
|
+
toolSurface?: McpOptions["toolSurface"] | undefined;
|
|
10
11
|
}) => Promise<McpServer>;
|
|
11
12
|
export declare const localDocsSearchFor: (docsDir?: string | undefined) => Promise<LocalDocsSearch>;
|
|
12
13
|
/**
|
package/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAMpD,OAAO,EAAE,eAAe,EAAE,+BAA4B;AAEtD,OAAO,EAAE,UAAU,EAAkB,qBAAkB;AAEvD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,OAAO,EAAE,mBAAgB;AAGtF,eAAO,MAAM,YAAY,GAAU,2DAIhC;IACD,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,sBAAsB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,WAAW,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;CACrD,uBAiBE,CAAC;AAwBJ,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,GAAG,SAAS,KAAG,OAAO,CAAC,eAAe,CAWxF,CAAC;AAEF;;;GAGG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE;IAC1C,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACxD,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;CAC/D,iBAyHA;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,EAAE,CAqB3D;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,EACnC,OAAO,EACP,UAAU,EACV,IAAI,GACL,EAAE;IACD,OAAO,EAAE,eAAe,CAAC;IACzB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CAC3C,GAAG,OAAO,CAAC,cAAc,CAAC,CAE1B"}
|
package/server.js
CHANGED
|
@@ -12,18 +12,25 @@ const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
|
12
12
|
const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
|
|
13
13
|
const sdk_1 = __importDefault(require("@roarkanalytics/sdk"));
|
|
14
14
|
const code_tool_1 = require("./code-tool.js");
|
|
15
|
+
const directory_tools_1 = require("./directory-tools.js");
|
|
15
16
|
const docs_search_tool_1 = __importDefault(require("./docs-search-tool.js"));
|
|
16
17
|
const docs_search_tool_2 = require("./docs-search-tool.js");
|
|
17
18
|
const local_docs_search_1 = require("./local-docs-search.js");
|
|
18
19
|
const instructions_1 = require("./instructions.js");
|
|
20
|
+
const options_1 = require("./options.js");
|
|
19
21
|
const methods_1 = require("./methods.js");
|
|
20
22
|
const client_headers_1 = require("./client-headers.js");
|
|
21
|
-
const newMcpServer = async ({ stainlessApiKey, customInstructionsPath, }) => new mcp_js_1.McpServer({
|
|
23
|
+
const newMcpServer = async ({ stainlessApiKey, customInstructionsPath, toolSurface, }) => new mcp_js_1.McpServer({
|
|
22
24
|
name: 'roarkanalytics_sdk_api',
|
|
23
25
|
// A literal, not MCP_SERVER_VERSION: publish.yml checks dist/server.js for it.
|
|
24
|
-
version: '4.
|
|
26
|
+
version: '4.44.0', // x-release-please-version
|
|
25
27
|
}, {
|
|
26
|
-
|
|
28
|
+
// Directory mode does not fetch instructions. The hosted document tells a
|
|
29
|
+
// model how to write SDK snippets for `execute`, which this surface does
|
|
30
|
+
// not expose, and the directory reviews that kind of instruction.
|
|
31
|
+
instructions: toolSurface === 'directory' ?
|
|
32
|
+
directory_tools_1.DIRECTORY_SERVER_INSTRUCTIONS
|
|
33
|
+
: await (0, instructions_1.getInstructions)({ stainlessApiKey, customInstructionsPath }),
|
|
27
34
|
capabilities: { tools: {}, logging: {} },
|
|
28
35
|
});
|
|
29
36
|
exports.newMcpServer = newMcpServer;
|
|
@@ -183,7 +190,14 @@ async function initMcpServer(params) {
|
|
|
183
190
|
*/
|
|
184
191
|
function selectTools(options) {
|
|
185
192
|
const includedTools = [];
|
|
186
|
-
|
|
193
|
+
const surface = (0, options_1.toolSurfaceFor)(options);
|
|
194
|
+
if (surface === 'directory') {
|
|
195
|
+
// `includeCodeTool` cannot put `execute` back on this surface. The directory
|
|
196
|
+
// endpoint is the one Claude reviews, and a query or header that re-enabled
|
|
197
|
+
// arbitrary SDK code would put a mixed read/write tool back in front of it.
|
|
198
|
+
includedTools.push(...(0, directory_tools_1.directoryTools)());
|
|
199
|
+
}
|
|
200
|
+
else if (options?.includeCodeTool ?? true) {
|
|
187
201
|
includedTools.push((0, code_tool_1.codeTool)({
|
|
188
202
|
blockedMethods: (0, methods_1.blockedMethodsForCodeTool)(options),
|
|
189
203
|
codeExecutionMode: options?.codeExecutionMode ?? 'stainless-sandbox',
|
package/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;;;;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"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"}
|
package/server.mjs
CHANGED
|
@@ -3,18 +3,25 @@ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
|
3
3
|
import { CallToolRequestSchema, ListToolsRequestSchema, SetLevelRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
4
4
|
import Roark from '@roarkanalytics/sdk';
|
|
5
5
|
import { codeTool } from "./code-tool.mjs";
|
|
6
|
+
import { DIRECTORY_SERVER_INSTRUCTIONS, directoryTools } from "./directory-tools.mjs";
|
|
6
7
|
import docsSearchTool from "./docs-search-tool.mjs";
|
|
7
8
|
import { setLocalSearch } from "./docs-search-tool.mjs";
|
|
8
9
|
import { LocalDocsSearch } from "./local-docs-search.mjs";
|
|
9
10
|
import { getInstructions } from "./instructions.mjs";
|
|
11
|
+
import { toolSurfaceFor } from "./options.mjs";
|
|
10
12
|
import { blockedMethodsForCodeTool } from "./methods.mjs";
|
|
11
13
|
import { MCP_CLIENT_HEADERS } from "./client-headers.mjs";
|
|
12
|
-
export const newMcpServer = async ({ stainlessApiKey, customInstructionsPath, }) => new McpServer({
|
|
14
|
+
export const newMcpServer = async ({ stainlessApiKey, customInstructionsPath, toolSurface, }) => new McpServer({
|
|
13
15
|
name: 'roarkanalytics_sdk_api',
|
|
14
16
|
// A literal, not MCP_SERVER_VERSION: publish.yml checks dist/server.js for it.
|
|
15
|
-
version: '4.
|
|
17
|
+
version: '4.44.0', // x-release-please-version
|
|
16
18
|
}, {
|
|
17
|
-
instructions
|
|
19
|
+
// Directory mode does not fetch instructions. The hosted document tells a
|
|
20
|
+
// model how to write SDK snippets for `execute`, which this surface does
|
|
21
|
+
// not expose, and the directory reviews that kind of instruction.
|
|
22
|
+
instructions: toolSurface === 'directory' ?
|
|
23
|
+
DIRECTORY_SERVER_INSTRUCTIONS
|
|
24
|
+
: await getInstructions({ stainlessApiKey, customInstructionsPath }),
|
|
18
25
|
capabilities: { tools: {}, logging: {} },
|
|
19
26
|
});
|
|
20
27
|
/**
|
|
@@ -172,7 +179,14 @@ export async function initMcpServer(params) {
|
|
|
172
179
|
*/
|
|
173
180
|
export function selectTools(options) {
|
|
174
181
|
const includedTools = [];
|
|
175
|
-
|
|
182
|
+
const surface = toolSurfaceFor(options);
|
|
183
|
+
if (surface === 'directory') {
|
|
184
|
+
// `includeCodeTool` cannot put `execute` back on this surface. The directory
|
|
185
|
+
// endpoint is the one Claude reviews, and a query or header that re-enabled
|
|
186
|
+
// arbitrary SDK code would put a mixed read/write tool back in front of it.
|
|
187
|
+
includedTools.push(...directoryTools());
|
|
188
|
+
}
|
|
189
|
+
else if (options?.includeCodeTool ?? true) {
|
|
176
190
|
includedTools.push(codeTool({
|
|
177
191
|
blockedMethods: blockedMethodsForCodeTool(options),
|
|
178
192
|
codeExecutionMode: options?.codeExecutionMode ?? 'stainless-sandbox',
|
package/server.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.mjs","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAGtF,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,KAAK,MAAM,qBAAqB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,wBAAoB;AACvC,OAAO,cAAc,+BAA2B;AAChD,OAAO,EAAE,cAAc,EAAE,+BAA2B;AACpD,OAAO,EAAE,eAAe,EAAE,gCAA4B;AACtD,OAAO,EAAE,eAAe,EAAE,2BAAuB;
|
|
1
|
+
{"version":3,"file":"server.mjs","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"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"}
|
package/src/client-headers.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Kept in step with package.json by scripts/sync-version.cjs, which `pnpm build` runs,
|
|
2
2
|
// alongside the literal src/server.ts reports in the MCP handshake.
|
|
3
|
-
export const MCP_SERVER_VERSION = '4.
|
|
3
|
+
export const MCP_SERVER_VERSION = '4.44.0'; // x-release-please-version
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Sent on every request the server's SDK clients make, including the sandbox that
|
package/src/code-tool-types.ts
CHANGED
package/src/code-tool.ts
CHANGED
|
@@ -18,32 +18,11 @@ import { McpCodeExecutionMode } from './options';
|
|
|
18
18
|
import { ClientOptions } from '@roarkanalytics/sdk';
|
|
19
19
|
import { MCP_CLIENT_HEADERS } from './client-headers';
|
|
20
20
|
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
\`\`\`
|
|
28
|
-
async function run(client) {
|
|
29
|
-
const call = await client.call.create({
|
|
30
|
-
callDirection: 'INBOUND',
|
|
31
|
-
interfaceType: 'PHONE',
|
|
32
|
-
recordingUrl: 'https://example.com',
|
|
33
|
-
startedAt: 'startedAt',
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
console.log(call.data);
|
|
37
|
-
}
|
|
38
|
-
\`\`\`
|
|
39
|
-
|
|
40
|
-
You will be returned anything that your function returns, plus the results of any console.log statements.
|
|
41
|
-
Do not add try-catch blocks for single API calls. The tool will handle errors for you.
|
|
42
|
-
Do not add comments unless necessary for generating better code.
|
|
43
|
-
Code will run in a container, and cannot interact with the network outside of the given SDK client.
|
|
44
|
-
Variables will not persist between calls, so make sure to return or log any data you might need later.
|
|
45
|
-
Remember that you are writing TypeScript code, so you need to be careful with your types.
|
|
46
|
-
Always type dynamic key-value stores explicitly as Record<string, YourValueType> instead of {}.`;
|
|
21
|
+
const description =
|
|
22
|
+
'Runs a JavaScript function against the authenticated Roark SDK on this machine. ' +
|
|
23
|
+
'The code must define an async function named run that receives the SDK client. ' +
|
|
24
|
+
'Returns the function result and any console output. ' +
|
|
25
|
+
'The function can read or change data in the Roark account, including placing simulated calls.';
|
|
47
26
|
|
|
48
27
|
/**
|
|
49
28
|
* A tool that runs code against a copy of the SDK.
|
|
@@ -68,21 +47,24 @@ export function codeTool({
|
|
|
68
47
|
const metadata: Metadata = { resource: 'all', operation: 'write', tags: [] };
|
|
69
48
|
const tool: Tool = {
|
|
70
49
|
name: 'execute',
|
|
71
|
-
|
|
50
|
+
title: 'Run Roark SDK code',
|
|
51
|
+
description,
|
|
72
52
|
inputSchema: {
|
|
73
53
|
type: 'object',
|
|
74
54
|
properties: {
|
|
75
55
|
code: {
|
|
76
56
|
type: 'string',
|
|
77
|
-
description:
|
|
78
|
-
|
|
79
|
-
intent: {
|
|
80
|
-
type: 'string',
|
|
81
|
-
description: 'Task you are trying to perform. Used for improving the service.',
|
|
57
|
+
description:
|
|
58
|
+
'JavaScript source that defines an async function named run. The function receives the authenticated Roark SDK client.',
|
|
82
59
|
},
|
|
83
60
|
},
|
|
84
61
|
required: ['code'],
|
|
85
62
|
},
|
|
63
|
+
annotations: {
|
|
64
|
+
title: 'Run Roark SDK code',
|
|
65
|
+
readOnlyHint: false,
|
|
66
|
+
destructiveHint: true,
|
|
67
|
+
},
|
|
86
68
|
};
|
|
87
69
|
|
|
88
70
|
const logger = getLogger();
|
|
@@ -145,7 +127,6 @@ const remoteStainlessHandler = async ({
|
|
|
145
127
|
args: any;
|
|
146
128
|
}): Promise<ToolCallResult> => {
|
|
147
129
|
const code = args.code as string;
|
|
148
|
-
const intent = args.intent as string | undefined;
|
|
149
130
|
const client = reqContext.client;
|
|
150
131
|
|
|
151
132
|
const codeModeEndpoint = readEnv('CODE_MODE_ENDPOINT_URL') ?? 'https://api.stainless.com/api/ai/code-tool';
|
|
@@ -171,7 +152,6 @@ const remoteStainlessHandler = async ({
|
|
|
171
152
|
body: JSON.stringify({
|
|
172
153
|
project_name: 'roark-analytics',
|
|
173
154
|
code,
|
|
174
|
-
intent,
|
|
175
155
|
client_opts: {},
|
|
176
156
|
} satisfies WorkerInput),
|
|
177
157
|
});
|