@roarkanalytics/sdk-mcp 4.20.0 → 4.22.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/code-tool-worker.d.mts.map +1 -1
- package/code-tool-worker.d.ts.map +1 -1
- package/code-tool-worker.js +7 -0
- package/code-tool-worker.js.map +1 -1
- package/code-tool-worker.mjs +7 -0
- package/code-tool-worker.mjs.map +1 -1
- package/local-docs-search.d.mts.map +1 -1
- package/local-docs-search.d.ts.map +1 -1
- package/local-docs-search.js +175 -0
- package/local-docs-search.js.map +1 -1
- package/local-docs-search.mjs +175 -0
- package/local-docs-search.mjs.map +1 -1
- package/methods.d.mts.map +1 -1
- package/methods.d.ts.map +1 -1
- package/methods.js +42 -0
- package/methods.js.map +1 -1
- package/methods.mjs +42 -0
- package/methods.mjs.map +1 -1
- package/package.json +2 -2
- package/server.js +1 -1
- package/server.mjs +1 -1
- package/src/code-tool-worker.ts +7 -0
- package/src/local-docs-search.ts +215 -0
- package/src/methods.ts +42 -0
- package/src/server.ts +1 -1
package/server.mjs
CHANGED
|
@@ -10,7 +10,7 @@ import { getInstructions } from "./instructions.mjs";
|
|
|
10
10
|
import { blockedMethodsForCodeTool } from "./methods.mjs";
|
|
11
11
|
export const newMcpServer = async ({ stainlessApiKey, customInstructionsPath, }) => new McpServer({
|
|
12
12
|
name: 'roarkanalytics_sdk_api',
|
|
13
|
-
version: '4.
|
|
13
|
+
version: '4.22.1', // x-release-please-version
|
|
14
14
|
}, {
|
|
15
15
|
instructions: await getInstructions({ stainlessApiKey, customInstructionsPath }),
|
|
16
16
|
capabilities: { tools: {}, logging: {} },
|
package/src/code-tool-worker.ts
CHANGED
|
@@ -146,13 +146,20 @@ const fuse = new Fuse(
|
|
|
146
146
|
'client.simulationToolFixture.delete',
|
|
147
147
|
'client.simulationToolFixture.list',
|
|
148
148
|
'client.simulationToolFixture.update',
|
|
149
|
+
'client.simulationRunGroup.create',
|
|
150
|
+
'client.simulationRunGroup.delete',
|
|
151
|
+
'client.simulationRunGroup.getByID',
|
|
152
|
+
'client.simulationRunGroup.list',
|
|
153
|
+
'client.simulationRunGroup.regenerateReport',
|
|
149
154
|
'client.simulationRunPlan.create',
|
|
150
155
|
'client.simulationRunPlan.delete',
|
|
151
156
|
'client.simulationRunPlan.getByID',
|
|
152
157
|
'client.simulationRunPlan.list',
|
|
153
158
|
'client.simulationRunPlan.update',
|
|
154
159
|
'client.simulationRunPlanJob.cancel',
|
|
160
|
+
'client.simulationRunPlanJob.createDebrief',
|
|
155
161
|
'client.simulationRunPlanJob.getByID',
|
|
162
|
+
'client.simulationRunPlanJob.getResults',
|
|
156
163
|
'client.simulationRunPlanJob.list',
|
|
157
164
|
'client.simulationRunPlanJob.start',
|
|
158
165
|
'client.simulationPersona.create',
|
package/src/local-docs-search.ts
CHANGED
|
@@ -1311,6 +1311,159 @@ const EMBEDDED_METHODS: MethodEntry[] = [
|
|
|
1311
1311
|
},
|
|
1312
1312
|
},
|
|
1313
1313
|
},
|
|
1314
|
+
{
|
|
1315
|
+
name: 'list',
|
|
1316
|
+
endpoint: '/v1/simulation/run-group',
|
|
1317
|
+
httpMethod: 'get',
|
|
1318
|
+
summary: 'List run groups',
|
|
1319
|
+
description:
|
|
1320
|
+
'Returns the run groups in the project, newest first, with their runs and where each group report stands. Read a report document from GET /v1/simulation/run-group/{groupId}.',
|
|
1321
|
+
stainlessPath: '(resource) simulationRunGroup > (method) list',
|
|
1322
|
+
qualified: 'client.simulationRunGroup.list',
|
|
1323
|
+
params: ['limit?: number;', 'offset?: number;'],
|
|
1324
|
+
response:
|
|
1325
|
+
"{ data: { id: string; createdAt: string; latestReport: { id: string; completedAt: string; createdAt: string; errorMessage: string; status: 'PENDING' | 'GENERATING' | 'READY' | 'FAILED'; }; name: string; runCount: number; runs: { createdAt: string; endedAt: string; planName: string; runNumber: number; simulationRunPlanId: string; simulationRunPlanJobId: string; startedAt: string; status: string; }[]; }[]; pagination: { hasMore: boolean; limit: number; offset: number; total: number; }; }",
|
|
1326
|
+
markdown:
|
|
1327
|
+
"## list\n\n`client.simulationRunGroup.list(limit?: number, offset?: number): { data: object[]; pagination: object; }`\n\n**get** `/v1/simulation/run-group`\n\nReturns the run groups in the project, newest first, with their runs and where each group report stands. Read a report document from GET /v1/simulation/run-group/{groupId}.\n\n### Parameters\n\n- `limit?: number`\n Maximum number of run groups to return (default: 20, max: 100)\n\n- `offset?: number`\n Pagination offset\n\n### Returns\n\n- `{ data: { id: string; createdAt: string; latestReport: { id: string; completedAt: string; createdAt: string; errorMessage: string; status: 'PENDING' | 'GENERATING' | 'READY' | 'FAILED'; }; name: string; runCount: number; runs: { createdAt: string; endedAt: string; planName: string; runNumber: number; simulationRunPlanId: string; simulationRunPlanJobId: string; startedAt: string; status: string; }[]; }[]; pagination: { hasMore: boolean; limit: number; offset: number; total: number; }; }`\n\n - `data: { id: string; createdAt: string; latestReport: { id: string; completedAt: string; createdAt: string; errorMessage: string; status: 'PENDING' | 'GENERATING' | 'READY' | 'FAILED'; }; name: string; runCount: number; runs: { createdAt: string; endedAt: string; planName: string; runNumber: number; simulationRunPlanId: string; simulationRunPlanJobId: string; startedAt: string; status: string; }[]; }[]`\n - `pagination: { hasMore: boolean; limit: number; offset: number; total: number; }`\n\n### Example\n\n```typescript\nimport Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark();\n\nconst simulationRunGroups = await client.simulationRunGroup.list();\n\nconsole.log(simulationRunGroups);\n```",
|
|
1328
|
+
perLanguage: {
|
|
1329
|
+
typescript: {
|
|
1330
|
+
method: 'client.simulationRunGroup.list',
|
|
1331
|
+
example:
|
|
1332
|
+
"import Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark({\n bearerToken: process.env['ROARK_API_BEARER_TOKEN'], // This is the default and can be omitted\n});\n\nconst simulationRunGroups = await client.simulationRunGroup.list();\n\nconsole.log(simulationRunGroups.data);",
|
|
1333
|
+
},
|
|
1334
|
+
python: {
|
|
1335
|
+
method: 'simulation_run_group.list',
|
|
1336
|
+
example:
|
|
1337
|
+
'import os\nfrom roark_analytics import Roark\n\nclient = Roark(\n bearer_token=os.environ.get("ROARK_API_BEARER_TOKEN"), # This is the default and can be omitted\n)\nsimulation_run_groups = client.simulation_run_group.list()\nprint(simulation_run_groups.data)',
|
|
1338
|
+
},
|
|
1339
|
+
http: {
|
|
1340
|
+
example:
|
|
1341
|
+
'curl https://api.roark.ai/v1/simulation/run-group \\\n -H "Authorization: Bearer $ROARK_API_BEARER_TOKEN"',
|
|
1342
|
+
},
|
|
1343
|
+
},
|
|
1344
|
+
},
|
|
1345
|
+
{
|
|
1346
|
+
name: 'getById',
|
|
1347
|
+
endpoint: '/v1/simulation/run-group/{groupId}',
|
|
1348
|
+
httpMethod: 'get',
|
|
1349
|
+
summary: 'Get a run group',
|
|
1350
|
+
description:
|
|
1351
|
+
'Returns a run group with its runs in group order and its latest group report, including the report document once READY.',
|
|
1352
|
+
stainlessPath: '(resource) simulationRunGroup > (method) getById',
|
|
1353
|
+
qualified: 'client.simulationRunGroup.getByID',
|
|
1354
|
+
params: ['groupId: string;'],
|
|
1355
|
+
response:
|
|
1356
|
+
"{ data: { id: string; createdAt: string; latestReport: { id: string; completedAt: string; createdAt: string; document: object; errorMessage: string; status: 'PENDING' | 'GENERATING' | 'READY' | 'FAILED'; }; name: string; runCount: number; runs: { createdAt: string; endedAt: string; planName: string; runNumber: number; simulationRunPlanId: string; simulationRunPlanJobId: string; startedAt: string; status: string; }[]; }; }",
|
|
1357
|
+
markdown:
|
|
1358
|
+
"## getById\n\n`client.simulationRunGroup.getByID(groupId: string): { data: object; }`\n\n**get** `/v1/simulation/run-group/{groupId}`\n\nReturns a run group with its runs in group order and its latest group report, including the report document once READY.\n\n### Parameters\n\n- `groupId: string`\n\n### Returns\n\n- `{ data: { id: string; createdAt: string; latestReport: { id: string; completedAt: string; createdAt: string; document: object; errorMessage: string; status: 'PENDING' | 'GENERATING' | 'READY' | 'FAILED'; }; name: string; runCount: number; runs: { createdAt: string; endedAt: string; planName: string; runNumber: number; simulationRunPlanId: string; simulationRunPlanJobId: string; startedAt: string; status: string; }[]; }; }`\n\n - `data: { id: string; createdAt: string; latestReport: { id: string; completedAt: string; createdAt: string; document: { aggregates: object[]; executiveSummary: object[]; generatedAtIso: string; headline: object; issues: object[]; methodology: string; model: string; recommendations: object[]; runs: object[]; scorecard: object[]; simulationRunGroupId: string; smallerItems: object[]; version: 1; wentWell: object[]; }; errorMessage: string; status: 'PENDING' | 'GENERATING' | 'READY' | 'FAILED'; }; name: string; runCount: number; runs: { createdAt: string; endedAt: string; planName: string; runNumber: number; simulationRunPlanId: string; simulationRunPlanJobId: string; startedAt: string; status: string; }[]; }`\n\n### Example\n\n```typescript\nimport Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark();\n\nconst response = await client.simulationRunGroup.getByID('5b6c7d8e-9f0a-4b1c-8d2e-3f4a5b6c7d8e');\n\nconsole.log(response);\n```",
|
|
1359
|
+
perLanguage: {
|
|
1360
|
+
typescript: {
|
|
1361
|
+
method: 'client.simulationRunGroup.getByID',
|
|
1362
|
+
example:
|
|
1363
|
+
"import Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark({\n bearerToken: process.env['ROARK_API_BEARER_TOKEN'], // This is the default and can be omitted\n});\n\nconst response = await client.simulationRunGroup.getByID('5b6c7d8e-9f0a-4b1c-8d2e-3f4a5b6c7d8e');\n\nconsole.log(response.data);",
|
|
1364
|
+
},
|
|
1365
|
+
python: {
|
|
1366
|
+
method: 'simulation_run_group.get_by_id',
|
|
1367
|
+
example:
|
|
1368
|
+
'import os\nfrom roark_analytics import Roark\n\nclient = Roark(\n bearer_token=os.environ.get("ROARK_API_BEARER_TOKEN"), # This is the default and can be omitted\n)\nresponse = client.simulation_run_group.get_by_id(\n "5b6c7d8e-9f0a-4b1c-8d2e-3f4a5b6c7d8e",\n)\nprint(response.data)',
|
|
1369
|
+
},
|
|
1370
|
+
http: {
|
|
1371
|
+
example:
|
|
1372
|
+
'curl https://api.roark.ai/v1/simulation/run-group/$GROUP_ID \\\n -H "Authorization: Bearer $ROARK_API_BEARER_TOKEN"',
|
|
1373
|
+
},
|
|
1374
|
+
},
|
|
1375
|
+
},
|
|
1376
|
+
{
|
|
1377
|
+
name: 'create',
|
|
1378
|
+
endpoint: '/v1/simulation/run-group',
|
|
1379
|
+
httpMethod: 'post',
|
|
1380
|
+
summary: 'Create a run group',
|
|
1381
|
+
description:
|
|
1382
|
+
'Groups several simulation runs so they read as one, and starts generating the group report:\none document across every run, with a scorecard summed across them and the issues found,\neach merged from the per-run debriefs.\n\nSend `simulationRunPlanJobIds` to group runs that already exist (runs still in progress are\nfine: the report waits for them). Send `simulationRunPlanIds` to start one run of each plan\nand group those; this places real calls, exactly as starting each plan would.\n\nPoll GET /v1/simulation/run-group/{groupId} until `latestReport.status` is READY.',
|
|
1383
|
+
stainlessPath: '(resource) simulationRunGroup > (method) create',
|
|
1384
|
+
qualified: 'client.simulationRunGroup.create',
|
|
1385
|
+
params: ['name?: string;', 'simulationRunPlanIds?: string[];', 'simulationRunPlanJobIds?: string[];'],
|
|
1386
|
+
response:
|
|
1387
|
+
"{ data: { id: string; createdAt: string; latestReport: { id: string; completedAt: string; createdAt: string; document: object; errorMessage: string; status: 'PENDING' | 'GENERATING' | 'READY' | 'FAILED'; }; name: string; runCount: number; runs: { createdAt: string; endedAt: string; planName: string; runNumber: number; simulationRunPlanId: string; simulationRunPlanJobId: string; startedAt: string; status: string; }[]; }; }",
|
|
1388
|
+
markdown:
|
|
1389
|
+
"## create\n\n`client.simulationRunGroup.create(name?: string, simulationRunPlanIds?: string[], simulationRunPlanJobIds?: string[]): { data: object; }`\n\n**post** `/v1/simulation/run-group`\n\nGroups several simulation runs so they read as one, and starts generating the group report:\none document across every run, with a scorecard summed across them and the issues found,\neach merged from the per-run debriefs.\n\nSend `simulationRunPlanJobIds` to group runs that already exist (runs still in progress are\nfine: the report waits for them). Send `simulationRunPlanIds` to start one run of each plan\nand group those; this places real calls, exactly as starting each plan would.\n\nPoll GET /v1/simulation/run-group/{groupId} until `latestReport.status` is READY.\n\n### Parameters\n\n- `name?: string`\n What to call the group. Defaults to the plans' names when starting plans, and to the runs' plan names when grouping existing runs.\n\n- `simulationRunPlanIds?: string[]`\n Plans to run once each, in display order (2 to 20). Each plan starts a run, exactly as POST /v1/simulation/plan/{planId}/job would. Send this or `simulationRunPlanJobIds`, not both.\n\n- `simulationRunPlanJobIds?: string[]`\n Runs that already exist, in display order (2 to 20). Runs still in progress are fine: the group report waits for them. Send this or `simulationRunPlanIds`, not both.\n\n### Returns\n\n- `{ data: { id: string; createdAt: string; latestReport: { id: string; completedAt: string; createdAt: string; document: object; errorMessage: string; status: 'PENDING' | 'GENERATING' | 'READY' | 'FAILED'; }; name: string; runCount: number; runs: { createdAt: string; endedAt: string; planName: string; runNumber: number; simulationRunPlanId: string; simulationRunPlanJobId: string; startedAt: string; status: string; }[]; }; }`\n\n - `data: { id: string; createdAt: string; latestReport: { id: string; completedAt: string; createdAt: string; document: { aggregates: object[]; executiveSummary: object[]; generatedAtIso: string; headline: object; issues: object[]; methodology: string; model: string; recommendations: object[]; runs: object[]; scorecard: object[]; simulationRunGroupId: string; smallerItems: object[]; version: 1; wentWell: object[]; }; errorMessage: string; status: 'PENDING' | 'GENERATING' | 'READY' | 'FAILED'; }; name: string; runCount: number; runs: { createdAt: string; endedAt: string; planName: string; runNumber: number; simulationRunPlanId: string; simulationRunPlanJobId: string; startedAt: string; status: string; }[]; }`\n\n### Example\n\n```typescript\nimport Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark();\n\nconst simulationRunGroup = await client.simulationRunGroup.create();\n\nconsole.log(simulationRunGroup);\n```",
|
|
1390
|
+
perLanguage: {
|
|
1391
|
+
typescript: {
|
|
1392
|
+
method: 'client.simulationRunGroup.create',
|
|
1393
|
+
example:
|
|
1394
|
+
"import Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark({\n bearerToken: process.env['ROARK_API_BEARER_TOKEN'], // This is the default and can be omitted\n});\n\nconst simulationRunGroup = await client.simulationRunGroup.create();\n\nconsole.log(simulationRunGroup.data);",
|
|
1395
|
+
},
|
|
1396
|
+
python: {
|
|
1397
|
+
method: 'simulation_run_group.create',
|
|
1398
|
+
example:
|
|
1399
|
+
'import os\nfrom roark_analytics import Roark\n\nclient = Roark(\n bearer_token=os.environ.get("ROARK_API_BEARER_TOKEN"), # This is the default and can be omitted\n)\nsimulation_run_group = client.simulation_run_group.create()\nprint(simulation_run_group.data)',
|
|
1400
|
+
},
|
|
1401
|
+
http: {
|
|
1402
|
+
example:
|
|
1403
|
+
'curl https://api.roark.ai/v1/simulation/run-group \\\n -H "Authorization: Bearer $ROARK_API_BEARER_TOKEN"',
|
|
1404
|
+
},
|
|
1405
|
+
},
|
|
1406
|
+
},
|
|
1407
|
+
{
|
|
1408
|
+
name: 'delete',
|
|
1409
|
+
endpoint: '/v1/simulation/run-group/{groupId}',
|
|
1410
|
+
httpMethod: 'delete',
|
|
1411
|
+
summary: 'Delete a run group',
|
|
1412
|
+
description: 'Deletes a run group. Its runs, and their results, are untouched.',
|
|
1413
|
+
stainlessPath: '(resource) simulationRunGroup > (method) delete',
|
|
1414
|
+
qualified: 'client.simulationRunGroup.delete',
|
|
1415
|
+
params: ['groupId: string;'],
|
|
1416
|
+
response: '{ data: { deleted: boolean; }; }',
|
|
1417
|
+
markdown:
|
|
1418
|
+
"## delete\n\n`client.simulationRunGroup.delete(groupId: string): { data: object; }`\n\n**delete** `/v1/simulation/run-group/{groupId}`\n\nDeletes a run group. Its runs, and their results, are untouched.\n\n### Parameters\n\n- `groupId: string`\n\n### Returns\n\n- `{ data: { deleted: boolean; }; }`\n\n - `data: { deleted: boolean; }`\n\n### Example\n\n```typescript\nimport Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark();\n\nconst simulationRunGroup = await client.simulationRunGroup.delete(\n '5b6c7d8e-9f0a-4b1c-8d2e-3f4a5b6c7d8e',\n);\n\nconsole.log(simulationRunGroup);\n```",
|
|
1419
|
+
perLanguage: {
|
|
1420
|
+
typescript: {
|
|
1421
|
+
method: 'client.simulationRunGroup.delete',
|
|
1422
|
+
example:
|
|
1423
|
+
"import Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark({\n bearerToken: process.env['ROARK_API_BEARER_TOKEN'], // This is the default and can be omitted\n});\n\nconst simulationRunGroup = await client.simulationRunGroup.delete(\n '5b6c7d8e-9f0a-4b1c-8d2e-3f4a5b6c7d8e',\n);\n\nconsole.log(simulationRunGroup.data);",
|
|
1424
|
+
},
|
|
1425
|
+
python: {
|
|
1426
|
+
method: 'simulation_run_group.delete',
|
|
1427
|
+
example:
|
|
1428
|
+
'import os\nfrom roark_analytics import Roark\n\nclient = Roark(\n bearer_token=os.environ.get("ROARK_API_BEARER_TOKEN"), # This is the default and can be omitted\n)\nsimulation_run_group = client.simulation_run_group.delete(\n "5b6c7d8e-9f0a-4b1c-8d2e-3f4a5b6c7d8e",\n)\nprint(simulation_run_group.data)',
|
|
1429
|
+
},
|
|
1430
|
+
http: {
|
|
1431
|
+
example:
|
|
1432
|
+
'curl https://api.roark.ai/v1/simulation/run-group/$GROUP_ID \\\n -X DELETE \\\n -H "Authorization: Bearer $ROARK_API_BEARER_TOKEN"',
|
|
1433
|
+
},
|
|
1434
|
+
},
|
|
1435
|
+
},
|
|
1436
|
+
{
|
|
1437
|
+
name: 'regenerateReport',
|
|
1438
|
+
endpoint: '/v1/simulation/run-group/{groupId}/report',
|
|
1439
|
+
httpMethod: 'post',
|
|
1440
|
+
summary: 'Regenerate a run group report',
|
|
1441
|
+
description:
|
|
1442
|
+
'Generates the group report again over the latest state of its runs. Returns the report generation; if one is already in flight it is returned instead of starting another. Poll GET /v1/simulation/run-group/{groupId} until `latestReport.status` is READY.',
|
|
1443
|
+
stainlessPath: '(resource) simulationRunGroup > (method) regenerateReport',
|
|
1444
|
+
qualified: 'client.simulationRunGroup.regenerateReport',
|
|
1445
|
+
params: ['groupId: string;'],
|
|
1446
|
+
response:
|
|
1447
|
+
"{ data: { id: string; completedAt: string; createdAt: string; document: { aggregates: object[]; executiveSummary: object[]; generatedAtIso: string; headline: object; issues: object[]; methodology: string; model: string; recommendations: object[]; runs: object[]; scorecard: object[]; simulationRunGroupId: string; smallerItems: object[]; version: 1; wentWell: object[]; }; errorMessage: string; status: 'PENDING' | 'GENERATING' | 'READY' | 'FAILED'; }; }",
|
|
1448
|
+
markdown:
|
|
1449
|
+
"## regenerateReport\n\n`client.simulationRunGroup.regenerateReport(groupId: string): { data: object; }`\n\n**post** `/v1/simulation/run-group/{groupId}/report`\n\nGenerates the group report again over the latest state of its runs. Returns the report generation; if one is already in flight it is returned instead of starting another. Poll GET /v1/simulation/run-group/{groupId} until `latestReport.status` is READY.\n\n### Parameters\n\n- `groupId: string`\n\n### Returns\n\n- `{ data: { id: string; completedAt: string; createdAt: string; document: { aggregates: object[]; executiveSummary: object[]; generatedAtIso: string; headline: object; issues: object[]; methodology: string; model: string; recommendations: object[]; runs: object[]; scorecard: object[]; simulationRunGroupId: string; smallerItems: object[]; version: 1; wentWell: object[]; }; errorMessage: string; status: 'PENDING' | 'GENERATING' | 'READY' | 'FAILED'; }; }`\n\n - `data: { id: string; completedAt: string; createdAt: string; document: { aggregates: { averageLabel: string; evaluatedCount: number; medianLabel: string; metricName: string; p95Label: string; }[]; executiveSummary: { body: string; heading: string; }[]; generatedAtIso: string; headline: { callCount: number; completedAtIso: string; groupName: string; passedRunCount: number; reportedRunCount: number; runCount: number; statTiles: object[]; verdict: 'PASSED' | 'THRESHOLD_FAILED'; verdictProse: string; }; issues: { affectedCallCount: number; body: string; calls: object[]; checkNames: string[]; evidence: object[]; order: number; rootCauseChannel: 'PROMPT' | 'VOICE_CONFIG' | 'STT' | 'SPEECH_MODEL' | 'LLM_MODEL' | 'INFRA' | 'EXTERNAL'; runLabels: string[]; severity: 'HIGH' | 'MEDIUM' | 'LOW'; sourceThemes: object[]; title: string; }[]; methodology: string; model: string; recommendations: { body: string; channel: 'PROMPT' | 'VOICE_CONFIG' | 'STT' | 'SPEECH_MODEL' | 'LLM_MODEL' | 'INFRA' | 'EXTERNAL'; issueOrders: number[]; order: number; title: string; }[]; runs: { callCount: number; checksPassed: number; checksTotal: number; completedAtIso: string; runLabel: string; runNumber: number; simulationRunPlanJobId: string; status: string; summary: string; themeCount: number; verdict: 'PASSED' | 'THRESHOLD_FAILED'; }[]; scorecard: { checkName: string; evaluatedCount: number; failedCount: number; failedRunCount: number; passRatePct: number; runCount: number; }[]; simulationRunGroupId: string; smallerItems: { affectedCallCount: number; body: string; calls: object[]; checkNames: string[]; evidence: object[]; order: number; rootCauseChannel: 'PROMPT' | 'VOICE_CONFIG' | 'STT' | 'SPEECH_MODEL' | 'LLM_MODEL' | 'INFRA' | 'EXTERNAL'; runLabels: string[]; severity: 'HIGH' | 'MEDIUM' | 'LOW'; sourceThemes: object[]; title: string; }[]; version: 1; wentWell: { body: string; evidence: object[]; title: string; }[]; }; errorMessage: string; status: 'PENDING' | 'GENERATING' | 'READY' | 'FAILED'; }`\n\n### Example\n\n```typescript\nimport Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark();\n\nconst response = await client.simulationRunGroup.regenerateReport(\n '5b6c7d8e-9f0a-4b1c-8d2e-3f4a5b6c7d8e',\n);\n\nconsole.log(response);\n```",
|
|
1450
|
+
perLanguage: {
|
|
1451
|
+
typescript: {
|
|
1452
|
+
method: 'client.simulationRunGroup.regenerateReport',
|
|
1453
|
+
example:
|
|
1454
|
+
"import Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark({\n bearerToken: process.env['ROARK_API_BEARER_TOKEN'], // This is the default and can be omitted\n});\n\nconst response = await client.simulationRunGroup.regenerateReport(\n '5b6c7d8e-9f0a-4b1c-8d2e-3f4a5b6c7d8e',\n);\n\nconsole.log(response.data);",
|
|
1455
|
+
},
|
|
1456
|
+
python: {
|
|
1457
|
+
method: 'simulation_run_group.regenerate_report',
|
|
1458
|
+
example:
|
|
1459
|
+
'import os\nfrom roark_analytics import Roark\n\nclient = Roark(\n bearer_token=os.environ.get("ROARK_API_BEARER_TOKEN"), # This is the default and can be omitted\n)\nresponse = client.simulation_run_group.regenerate_report(\n "5b6c7d8e-9f0a-4b1c-8d2e-3f4a5b6c7d8e",\n)\nprint(response.data)',
|
|
1460
|
+
},
|
|
1461
|
+
http: {
|
|
1462
|
+
example:
|
|
1463
|
+
'curl https://api.roark.ai/v1/simulation/run-group/$GROUP_ID/report \\\n -H "Authorization: Bearer $ROARK_API_BEARER_TOKEN"',
|
|
1464
|
+
},
|
|
1465
|
+
},
|
|
1466
|
+
},
|
|
1314
1467
|
{
|
|
1315
1468
|
name: 'list',
|
|
1316
1469
|
endpoint: '/v1/simulation/plan',
|
|
@@ -1619,6 +1772,68 @@ const EMBEDDED_METHODS: MethodEntry[] = [
|
|
|
1619
1772
|
},
|
|
1620
1773
|
},
|
|
1621
1774
|
},
|
|
1775
|
+
{
|
|
1776
|
+
name: 'getResults',
|
|
1777
|
+
endpoint: '/v1/simulation/plan/job/{jobId}/results',
|
|
1778
|
+
httpMethod: 'get',
|
|
1779
|
+
summary: 'Get simulation run results',
|
|
1780
|
+
description:
|
|
1781
|
+
'Everything the run report shows, in one request: the summary and score, the pass/fail verdict,\nper-metric aggregates, every simulation with its check results, breakdowns by agent and persona,\nthe comparison against the previous run (or `compareToJobId`), the sweep attribution, and the\nwritten debrief with its executive summary, failure themes and recommendations.\n\nSafe to call while the run is in progress: counts reflect what has landed so far. `verdict` and\n`sweepAttribution` stay null until the run ends. The debrief is generated automatically a few\nminutes after a run with graded calls settles; poll until `debrief.status` is READY, or request\none with POST /v1/simulation/plan/job/{jobId}/debrief.',
|
|
1782
|
+
stainlessPath: '(resource) simulationRunPlanJob > (method) getResults',
|
|
1783
|
+
qualified: 'client.simulationRunPlanJob.getResults',
|
|
1784
|
+
params: ['jobId: string;', 'compareToJobId?: string;'],
|
|
1785
|
+
response:
|
|
1786
|
+
"{ data: { attemptSummary: { attemptCount: number; retryCount: number; silentAttemptCount: number; stillSilentTestCaseCount: number; testCaseCount: number; }; breakdowns: { byAgent: object[]; byPersona: object[]; }; calls: { agentName: string; attemptNumber: number; callId: string; checks: object[]; counted: boolean; durationMs: number; passed: boolean; personaName: string; retryOfSimulationJobId: string; simulationJobId: string; status: string; values: object[]; }[]; comparison: { baselineCallPassRate: number; baselineRun: object; baselineScore: number; baselineSource: 'PREVIOUS_RUN' | 'REQUESTED'; callPassRateDelta: number; checks: object[]; currentCallPassRate: number; currentScore: number; scoreDelta: number; }; debrief: { completedAt: string; createdAt: string; debriefId: string; errorMessage: string; report: object; status: 'PENDING' | 'GENERATING' | 'READY' | 'FAILED'; }; metrics: { check: object; distribution: object[]; evaluatedCalls: number; isCheck: boolean; metricDefinitionId: string; metricId: string; name: string; numeric: object; outputType: 'COUNT' | 'NUMERIC' | 'BOOLEAN' | 'SCALE' | 'TEXT' | 'CLASSIFICATION' | 'OFFSET'; sampleSize: number; unitSymbol: string; }[]; run: { createdAt: string; durationMs: number; endedAt: string; runNumber: number; simulationRunPlanId: string; simulationRunPlanJobId: string; simulationRunPlanName: string; startedAt: string; status: string; triggeredBy: 'SCHEDULED' | 'USER_TRIGGERED_FROM_UI' | 'RE_RUN' | 'TRIGGERED_FROM_API' | 'SYSTEM'; }; summary: { callPassRate: number; checkPassRate: number; completedCalls: number; countedCalls: number; evaluatedCalls: number; failedCalls: number; passedCalls: number; score: number; totalCalls: number; }; sweepAttribution: { caveats: string[]; checks: object[]; falseDiscoveryRate: number; foundUnattributedFailureRate: number; minArmCalls: number; minimumDetectableGap: number; neverSpokeValues: object[]; testableValueCount: number; testedComparisonCount: number; values: object[]; }; verdict: { checks: object[]; failures: object[]; passed: boolean; score: number; }; }; }",
|
|
1787
|
+
markdown:
|
|
1788
|
+
"## getResults\n\n`client.simulationRunPlanJob.getResults(jobId: string, compareToJobId?: string): { data: object; }`\n\n**get** `/v1/simulation/plan/job/{jobId}/results`\n\nEverything the run report shows, in one request: the summary and score, the pass/fail verdict,\nper-metric aggregates, every simulation with its check results, breakdowns by agent and persona,\nthe comparison against the previous run (or `compareToJobId`), the sweep attribution, and the\nwritten debrief with its executive summary, failure themes and recommendations.\n\nSafe to call while the run is in progress: counts reflect what has landed so far. `verdict` and\n`sweepAttribution` stay null until the run ends. The debrief is generated automatically a few\nminutes after a run with graded calls settles; poll until `debrief.status` is READY, or request\none with POST /v1/simulation/plan/job/{jobId}/debrief.\n\n### Parameters\n\n- `jobId: string`\n\n- `compareToJobId?: string`\n Simulation run plan job to compare this run against, e.g. the last run on your main branch. Defaults to the plan's previous settled run. Any run in the project works, including another plan's: checks are matched by metric, and a check only one run graded reads null on the other side.\n\n### Returns\n\n- `{ data: { attemptSummary: { attemptCount: number; retryCount: number; silentAttemptCount: number; stillSilentTestCaseCount: number; testCaseCount: number; }; breakdowns: { byAgent: object[]; byPersona: object[]; }; calls: { agentName: string; attemptNumber: number; callId: string; checks: object[]; counted: boolean; durationMs: number; passed: boolean; personaName: string; retryOfSimulationJobId: string; simulationJobId: string; status: string; values: object[]; }[]; comparison: { baselineCallPassRate: number; baselineRun: object; baselineScore: number; baselineSource: 'PREVIOUS_RUN' | 'REQUESTED'; callPassRateDelta: number; checks: object[]; currentCallPassRate: number; currentScore: number; scoreDelta: number; }; debrief: { completedAt: string; createdAt: string; debriefId: string; errorMessage: string; report: object; status: 'PENDING' | 'GENERATING' | 'READY' | 'FAILED'; }; metrics: { check: object; distribution: object[]; evaluatedCalls: number; isCheck: boolean; metricDefinitionId: string; metricId: string; name: string; numeric: object; outputType: 'COUNT' | 'NUMERIC' | 'BOOLEAN' | 'SCALE' | 'TEXT' | 'CLASSIFICATION' | 'OFFSET'; sampleSize: number; unitSymbol: string; }[]; run: { createdAt: string; durationMs: number; endedAt: string; runNumber: number; simulationRunPlanId: string; simulationRunPlanJobId: string; simulationRunPlanName: string; startedAt: string; status: string; triggeredBy: 'SCHEDULED' | 'USER_TRIGGERED_FROM_UI' | 'RE_RUN' | 'TRIGGERED_FROM_API' | 'SYSTEM'; }; summary: { callPassRate: number; checkPassRate: number; completedCalls: number; countedCalls: number; evaluatedCalls: number; failedCalls: number; passedCalls: number; score: number; totalCalls: number; }; sweepAttribution: { caveats: string[]; checks: object[]; falseDiscoveryRate: number; foundUnattributedFailureRate: number; minArmCalls: number; minimumDetectableGap: number; neverSpokeValues: object[]; testableValueCount: number; testedComparisonCount: number; values: object[]; }; verdict: { checks: object[]; failures: object[]; passed: boolean; score: number; }; }; }`\n\n - `data: { attemptSummary: { attemptCount: number; retryCount: number; silentAttemptCount: number; stillSilentTestCaseCount: number; testCaseCount: number; }; breakdowns: { byAgent: { callPassRate: number; calls: number; evaluatedCalls: number; key: string; label: string; passedCalls: number; score: number; }[]; byPersona: { callPassRate: number; calls: number; evaluatedCalls: number; key: string; label: string; passedCalls: number; score: number; }[]; }; calls: { agentName: string; attemptNumber: number; callId: string; checks: { metricDefinitionId: string; metricName: string; passed: boolean; }[]; counted: boolean; durationMs: number; passed: boolean; personaName: string; retryOfSimulationJobId: string; simulationJobId: string; status: string; values: { metricDefinitionId: string; metricName: string; outputType: 'COUNT' | 'NUMERIC' | 'BOOLEAN' | 'SCALE' | 'TEXT' | 'CLASSIFICATION' | 'OFFSET'; participantRole: 'AGENT' | 'CUSTOMER' | 'SIMULATED_CUSTOMER' | 'BACKGROUND_SPEAKER'; reasoning: string; value: number | boolean | string; }[]; }[]; comparison: { baselineCallPassRate: number; baselineRun: { endedAt: string; runNumber: number; simulationRunPlanJobId: string; status: string; }; baselineScore: number; baselineSource: 'PREVIOUS_RUN' | 'REQUESTED'; callPassRateDelta: number; checks: { baselinePassRate: number; currentPassRate: number; delta: number; metricDefinitionId: string; metricName: string; }[]; currentCallPassRate: number; currentScore: number; scoreDelta: number; }; debrief: { completedAt: string; createdAt: string; debriefId: string; errorMessage: string; report: { executiveSummary: object; generatedAt: string; keyFindings: object[]; recommendations: object[]; themes: object[]; trend: object; verdict: 'PASSED' | 'THRESHOLD_FAILED'; verdictSummary: string; wentWell: object[]; }; status: 'PENDING' | 'GENERATING' | 'READY' | 'FAILED'; }; metrics: { check: { evaluatedCalls: number; failedCalls: number; passRate: number; passedCalls: number; }; distribution: { count: number; value: string; }[]; evaluatedCalls: number; isCheck: boolean; metricDefinitionId: string; metricId: string; name: string; numeric: { average: number; max: number; median: number; min: number; p95: number; }; outputType: 'COUNT' | 'NUMERIC' | 'BOOLEAN' | 'SCALE' | 'TEXT' | 'CLASSIFICATION' | 'OFFSET'; sampleSize: number; unitSymbol: string; }[]; run: { createdAt: string; durationMs: number; endedAt: string; runNumber: number; simulationRunPlanId: string; simulationRunPlanJobId: string; simulationRunPlanName: string; startedAt: string; status: string; triggeredBy: 'SCHEDULED' | 'USER_TRIGGERED_FROM_UI' | 'RE_RUN' | 'TRIGGERED_FROM_API' | 'SYSTEM'; }; summary: { callPassRate: number; checkPassRate: number; completedCalls: number; countedCalls: number; evaluatedCalls: number; failedCalls: number; passedCalls: number; score: number; totalCalls: number; }; sweepAttribution: { caveats: string[]; checks: { attribution: 'PROPERTY_ATTRIBUTABLE' | 'FOUND_UNATTRIBUTED' | 'WITHIN_NOISE'; evaluated: number; failed: number; failureRate: number; metricDefinitionId: string; metricName: string; worseValues: object[]; }[]; falseDiscoveryRate: number; foundUnattributedFailureRate: number; minArmCalls: number; minimumDetectableGap: number; neverSpokeValues: { adjustedPValue: number; attempted: number; key: string; label: string; restAttempted: number; restSilentAttempts: number; retries: number; silentAttempts: number; value: string; }[]; testableValueCount: number; testedComparisonCount: number; values: { attempted: number; counted: number; isBaseline: boolean; key: string; label: string; retries: number; score: number; silentAttempts: number; testable: boolean; value: string; }[]; }; verdict: { checks: { evaluatedSims: number; inherited: boolean; metricDefinitionId: string; minPassRate: number; passRate: number; passed: boolean; passedSims: number; metricName?: string; }[]; failures: { status: string; type: 'RUN_NOT_COMPLETED'; } | { evaluatedCalls: number; expectedCalls: number; type: 'INCOMPLETE_COVERAGE'; } | { maxShare: number; neverSpokeCalls: number; totalCalls: number; type: 'AGENT_NEVER_SPOKE'; agentName?: string; silentAttempts?: number; } | { metricDefinitionId: string; type: 'METRIC_NOT_EVALUATED'; metricName?: string; } | { inherited: boolean; metricDefinitionId: string; minPassRate: number; passRate: number; type: 'METRIC_BELOW_MIN_PASS_RATE'; metricName?: string; }[]; passed: boolean; score: number; }; }`\n\n### Example\n\n```typescript\nimport Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark();\n\nconst response = await client.simulationRunPlanJob.getResults('jobId');\n\nconsole.log(response);\n```",
|
|
1789
|
+
perLanguage: {
|
|
1790
|
+
typescript: {
|
|
1791
|
+
method: 'client.simulationRunPlanJob.getResults',
|
|
1792
|
+
example:
|
|
1793
|
+
"import Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark({\n bearerToken: process.env['ROARK_API_BEARER_TOKEN'], // This is the default and can be omitted\n});\n\nconst response = await client.simulationRunPlanJob.getResults('jobId');\n\nconsole.log(response.data);",
|
|
1794
|
+
},
|
|
1795
|
+
python: {
|
|
1796
|
+
method: 'simulation_run_plan_job.get_results',
|
|
1797
|
+
example:
|
|
1798
|
+
'import os\nfrom roark_analytics import Roark\n\nclient = Roark(\n bearer_token=os.environ.get("ROARK_API_BEARER_TOKEN"), # This is the default and can be omitted\n)\nresponse = client.simulation_run_plan_job.get_results(\n job_id="jobId",\n)\nprint(response.data)',
|
|
1799
|
+
},
|
|
1800
|
+
http: {
|
|
1801
|
+
example:
|
|
1802
|
+
'curl https://api.roark.ai/v1/simulation/plan/job/$JOB_ID/results \\\n -H "Authorization: Bearer $ROARK_API_BEARER_TOKEN"',
|
|
1803
|
+
},
|
|
1804
|
+
},
|
|
1805
|
+
},
|
|
1806
|
+
{
|
|
1807
|
+
name: 'createDebrief',
|
|
1808
|
+
endpoint: '/v1/simulation/plan/job/{jobId}/debrief',
|
|
1809
|
+
httpMethod: 'post',
|
|
1810
|
+
summary: 'Generate simulation run debrief',
|
|
1811
|
+
description:
|
|
1812
|
+
'Request the written debrief for a settled run: executive summary, failure themes and recommendations.\nRuns with graded calls get one automatically, so this is for regenerating one (`regenerate: true`)\nor retrying one that failed.\n\nReturns immediately. Generation takes a few minutes: poll GET\n/v1/simulation/plan/job/{jobId}/results until `debrief.status` is READY or FAILED.\nWithout `regenerate`, a debrief that is ready or already being written is returned as-is.',
|
|
1813
|
+
stainlessPath: '(resource) simulationRunPlanJob > (method) createDebrief',
|
|
1814
|
+
qualified: 'client.simulationRunPlanJob.createDebrief',
|
|
1815
|
+
params: ['jobId: string;', 'regenerate?: boolean;'],
|
|
1816
|
+
response:
|
|
1817
|
+
"{ data: { completedAt: string; createdAt: string; debriefId: string; errorMessage: string; report: { executiveSummary: object; generatedAt: string; keyFindings: object[]; recommendations: object[]; themes: object[]; trend: object; verdict: 'PASSED' | 'THRESHOLD_FAILED'; verdictSummary: string; wentWell: object[]; }; status: 'PENDING' | 'GENERATING' | 'READY' | 'FAILED'; }; }",
|
|
1818
|
+
markdown:
|
|
1819
|
+
"## createDebrief\n\n`client.simulationRunPlanJob.createDebrief(jobId: string, regenerate?: boolean): { data: object; }`\n\n**post** `/v1/simulation/plan/job/{jobId}/debrief`\n\nRequest the written debrief for a settled run: executive summary, failure themes and recommendations.\nRuns with graded calls get one automatically, so this is for regenerating one (`regenerate: true`)\nor retrying one that failed.\n\nReturns immediately. Generation takes a few minutes: poll GET\n/v1/simulation/plan/job/{jobId}/results until `debrief.status` is READY or FAILED.\nWithout `regenerate`, a debrief that is ready or already being written is returned as-is.\n\n### Parameters\n\n- `jobId: string`\n\n- `regenerate?: boolean`\n Generate a new debrief even when a ready one exists. Without it, an existing ready or in-progress debrief is returned as-is.\n\n### Returns\n\n- `{ data: { completedAt: string; createdAt: string; debriefId: string; errorMessage: string; report: { executiveSummary: object; generatedAt: string; keyFindings: object[]; recommendations: object[]; themes: object[]; trend: object; verdict: 'PASSED' | 'THRESHOLD_FAILED'; verdictSummary: string; wentWell: object[]; }; status: 'PENDING' | 'GENERATING' | 'READY' | 'FAILED'; }; }`\n\n - `data: { completedAt: string; createdAt: string; debriefId: string; errorMessage: string; report: { executiveSummary: { paragraphs: string[]; sections: object[]; }; generatedAt: string; keyFindings: { body: string; callIds: string[]; title: string; }[]; recommendations: { body: string; channel: 'PROMPT' | 'VOICE_CONFIG' | 'STT' | 'SPEECH_MODEL' | 'LLM_MODEL' | 'INFRA' | 'EXTERNAL'; currentText: string; order: number; severity: 'HIGH' | 'MEDIUM' | 'LOW'; suggestedText: string; themeSlugs: string[]; title: string; }[]; themes: { affectedCallCount: number; analysis: string; callIds: string[]; checkNames: string[]; impact: 'CRITICAL' | 'HIGH' | 'MEDIUM' | 'LOW'; lifecycle: 'NEW' | 'PERSISTENT' | 'IMPROVING' | 'FIXED'; prevalence: 'WIDESPREAD' | 'RECURRING' | 'ISOLATED'; rootCauseChannel: 'PROMPT' | 'VOICE_CONFIG' | 'STT' | 'SPEECH_MODEL' | 'LLM_MODEL' | 'INFRA' | 'EXTERNAL'; severity: 'HIGH' | 'MEDIUM' | 'LOW'; slug: string; title: string; totalCallCount: number; }[]; trend: { baselineRunNumber: number; baselineRunPlanJobId: string; rows: object[]; }; verdict: 'PASSED' | 'THRESHOLD_FAILED'; verdictSummary: string; wentWell: { body: string; callIds: string[]; title: string; }[]; }; status: 'PENDING' | 'GENERATING' | 'READY' | 'FAILED'; }`\n\n### Example\n\n```typescript\nimport Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark();\n\nconst response = await client.simulationRunPlanJob.createDebrief(\n '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n);\n\nconsole.log(response);\n```",
|
|
1820
|
+
perLanguage: {
|
|
1821
|
+
typescript: {
|
|
1822
|
+
method: 'client.simulationRunPlanJob.createDebrief',
|
|
1823
|
+
example:
|
|
1824
|
+
"import Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark({\n bearerToken: process.env['ROARK_API_BEARER_TOKEN'], // This is the default and can be omitted\n});\n\nconst response = await client.simulationRunPlanJob.createDebrief(\n '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',\n);\n\nconsole.log(response.data);",
|
|
1825
|
+
},
|
|
1826
|
+
python: {
|
|
1827
|
+
method: 'simulation_run_plan_job.create_debrief',
|
|
1828
|
+
example:
|
|
1829
|
+
'import os\nfrom roark_analytics import Roark\n\nclient = Roark(\n bearer_token=os.environ.get("ROARK_API_BEARER_TOKEN"), # This is the default and can be omitted\n)\nresponse = client.simulation_run_plan_job.create_debrief(\n job_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",\n)\nprint(response.data)',
|
|
1830
|
+
},
|
|
1831
|
+
http: {
|
|
1832
|
+
example:
|
|
1833
|
+
'curl https://api.roark.ai/v1/simulation/plan/job/$JOB_ID/debrief \\\n -H "Authorization: Bearer $ROARK_API_BEARER_TOKEN"',
|
|
1834
|
+
},
|
|
1835
|
+
},
|
|
1836
|
+
},
|
|
1622
1837
|
{
|
|
1623
1838
|
name: 'list',
|
|
1624
1839
|
endpoint: '/v1/persona',
|
package/src/methods.ts
CHANGED
|
@@ -238,6 +238,36 @@ export const sdkMethods: SdkMethod[] = [
|
|
|
238
238
|
httpMethod: 'delete',
|
|
239
239
|
httpPath: '/v1/simulation/tool-fixture/{fixtureId}',
|
|
240
240
|
},
|
|
241
|
+
{
|
|
242
|
+
clientCallName: 'client.simulationRunGroup.create',
|
|
243
|
+
fullyQualifiedName: 'simulationRunGroup.create',
|
|
244
|
+
httpMethod: 'post',
|
|
245
|
+
httpPath: '/v1/simulation/run-group',
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
clientCallName: 'client.simulationRunGroup.list',
|
|
249
|
+
fullyQualifiedName: 'simulationRunGroup.list',
|
|
250
|
+
httpMethod: 'get',
|
|
251
|
+
httpPath: '/v1/simulation/run-group',
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
clientCallName: 'client.simulationRunGroup.delete',
|
|
255
|
+
fullyQualifiedName: 'simulationRunGroup.delete',
|
|
256
|
+
httpMethod: 'delete',
|
|
257
|
+
httpPath: '/v1/simulation/run-group/{groupId}',
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
clientCallName: 'client.simulationRunGroup.getByID',
|
|
261
|
+
fullyQualifiedName: 'simulationRunGroup.getByID',
|
|
262
|
+
httpMethod: 'get',
|
|
263
|
+
httpPath: '/v1/simulation/run-group/{groupId}',
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
clientCallName: 'client.simulationRunGroup.regenerateReport',
|
|
267
|
+
fullyQualifiedName: 'simulationRunGroup.regenerateReport',
|
|
268
|
+
httpMethod: 'post',
|
|
269
|
+
httpPath: '/v1/simulation/run-group/{groupId}/report',
|
|
270
|
+
},
|
|
241
271
|
{
|
|
242
272
|
clientCallName: 'client.simulationRunPlan.create',
|
|
243
273
|
fullyQualifiedName: 'simulationRunPlan.create',
|
|
@@ -280,12 +310,24 @@ export const sdkMethods: SdkMethod[] = [
|
|
|
280
310
|
httpMethod: 'post',
|
|
281
311
|
httpPath: '/v1/simulation/plan/job/{jobId}/cancel',
|
|
282
312
|
},
|
|
313
|
+
{
|
|
314
|
+
clientCallName: 'client.simulationRunPlanJob.createDebrief',
|
|
315
|
+
fullyQualifiedName: 'simulationRunPlanJob.createDebrief',
|
|
316
|
+
httpMethod: 'post',
|
|
317
|
+
httpPath: '/v1/simulation/plan/job/{jobId}/debrief',
|
|
318
|
+
},
|
|
283
319
|
{
|
|
284
320
|
clientCallName: 'client.simulationRunPlanJob.getByID',
|
|
285
321
|
fullyQualifiedName: 'simulationRunPlanJob.getByID',
|
|
286
322
|
httpMethod: 'get',
|
|
287
323
|
httpPath: '/v1/simulation/plan/job/{jobId}',
|
|
288
324
|
},
|
|
325
|
+
{
|
|
326
|
+
clientCallName: 'client.simulationRunPlanJob.getResults',
|
|
327
|
+
fullyQualifiedName: 'simulationRunPlanJob.getResults',
|
|
328
|
+
httpMethod: 'get',
|
|
329
|
+
httpPath: '/v1/simulation/plan/job/{jobId}/results',
|
|
330
|
+
},
|
|
289
331
|
{
|
|
290
332
|
clientCallName: 'client.simulationRunPlanJob.start',
|
|
291
333
|
fullyQualifiedName: 'simulationRunPlanJob.start',
|
package/src/server.ts
CHANGED
|
@@ -28,7 +28,7 @@ export const newMcpServer = async ({
|
|
|
28
28
|
new McpServer(
|
|
29
29
|
{
|
|
30
30
|
name: 'roarkanalytics_sdk_api',
|
|
31
|
-
version: '4.
|
|
31
|
+
version: '4.22.1', // x-release-please-version
|
|
32
32
|
},
|
|
33
33
|
{
|
|
34
34
|
instructions: await getInstructions({ stainlessApiKey, customInstructionsPath }),
|