scorecard-ai-mcp 2.6.0 → 3.0.0-beta.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/LICENSE +1 -1
- package/README.md +14 -225
- package/code-tool-types.d.mts +6 -9
- package/code-tool-types.d.mts.map +1 -1
- package/code-tool-types.d.ts +6 -9
- package/code-tool-types.d.ts.map +1 -1
- package/code-tool.d.mts +2 -44
- package/code-tool.d.mts.map +1 -1
- package/code-tool.d.ts +2 -44
- package/code-tool.d.ts.map +1 -1
- package/code-tool.js +39 -7
- package/code-tool.js.map +1 -1
- package/code-tool.mjs +40 -8
- package/code-tool.mjs.map +1 -1
- package/docs-search-tool.d.mts +3 -3
- package/docs-search-tool.d.mts.map +1 -1
- package/docs-search-tool.d.ts +3 -3
- package/docs-search-tool.d.ts.map +1 -1
- package/docs-search-tool.js +1 -1
- package/docs-search-tool.js.map +1 -1
- package/docs-search-tool.mjs +1 -1
- package/http.d.mts.map +1 -1
- package/http.d.ts.map +1 -1
- package/http.js +1 -18
- package/http.js.map +1 -1
- package/http.mjs +1 -18
- package/http.mjs.map +1 -1
- package/index.js +4 -40
- package/index.js.map +1 -1
- package/index.mjs +4 -40
- package/index.mjs.map +1 -1
- package/options.d.mts +0 -9
- package/options.d.mts.map +1 -1
- package/options.d.ts +0 -9
- package/options.d.ts.map +1 -1
- package/options.js +6 -361
- package/options.js.map +1 -1
- package/options.mjs +6 -361
- package/options.mjs.map +1 -1
- package/package.json +9 -49
- package/server.d.mts +3 -8
- package/server.d.mts.map +1 -1
- package/server.d.ts +3 -8
- package/server.d.ts.map +1 -1
- package/server.js +12 -65
- package/server.js.map +1 -1
- package/server.mjs +11 -62
- package/server.mjs.map +1 -1
- package/src/code-tool-types.ts +6 -9
- package/src/code-tool.ts +45 -11
- package/src/docs-search-tool.ts +1 -1
- package/src/http.ts +1 -19
- package/src/index.ts +5 -52
- package/src/options.ts +7 -388
- package/src/server.ts +12 -72
- package/src/stdio.ts +2 -3
- package/src/{tools/types.ts → types.ts} +1 -1
- package/stdio.d.mts +1 -2
- package/stdio.d.mts.map +1 -1
- package/stdio.d.ts +1 -2
- package/stdio.d.ts.map +1 -1
- package/stdio.js +2 -2
- package/stdio.js.map +1 -1
- package/stdio.mjs +2 -2
- package/stdio.mjs.map +1 -1
- package/{tools/types.d.mts → types.d.mts} +1 -1
- package/types.d.mts.map +1 -0
- package/{tools/types.d.ts → types.d.ts} +1 -1
- package/types.d.ts.map +1 -0
- package/types.js.map +1 -0
- package/types.mjs.map +1 -0
- package/compat.d.mts +0 -58
- package/compat.d.mts.map +0 -1
- package/compat.d.ts +0 -58
- package/compat.d.ts.map +0 -1
- package/compat.js +0 -387
- package/compat.js.map +0 -1
- package/compat.mjs +0 -378
- package/compat.mjs.map +0 -1
- package/dynamic-tools.d.mts +0 -12
- package/dynamic-tools.d.mts.map +0 -1
- package/dynamic-tools.d.ts +0 -12
- package/dynamic-tools.d.ts.map +0 -1
- package/dynamic-tools.js +0 -135
- package/dynamic-tools.js.map +0 -1
- package/dynamic-tools.mjs +0 -132
- package/dynamic-tools.mjs.map +0 -1
- package/filtering.d.mts +0 -3
- package/filtering.d.mts.map +0 -1
- package/filtering.d.ts +0 -3
- package/filtering.d.ts.map +0 -1
- package/filtering.js +0 -24
- package/filtering.js.map +0 -1
- package/filtering.mjs +0 -16
- package/filtering.mjs.map +0 -1
- package/src/compat.ts +0 -483
- package/src/dynamic-tools.ts +0 -159
- package/src/filtering.ts +0 -18
- package/src/tools/index.ts +0 -131
- package/src/tools/metrics/create-metrics.ts +0 -383
- package/src/tools/metrics/delete-metrics.ts +0 -54
- package/src/tools/metrics/get-metrics.ts +0 -46
- package/src/tools/metrics/list-metrics.ts +0 -58
- package/src/tools/metrics/update-metrics.ts +0 -383
- package/src/tools/projects/create-projects.ts +0 -57
- package/src/tools/projects/list-projects.ts +0 -62
- package/src/tools/records/create-records.ts +0 -71
- package/src/tools/records/delete-records.ts +0 -54
- package/src/tools/records/list-records.ts +0 -65
- package/src/tools/runs/create-runs.ts +0 -67
- package/src/tools/runs/get-runs.ts +0 -54
- package/src/tools/runs/list-runs.ts +0 -65
- package/src/tools/scores/upsert-scores.ts +0 -65
- package/src/tools/systems/delete-systems.ts +0 -54
- package/src/tools/systems/get-systems.ts +0 -54
- package/src/tools/systems/list-systems.ts +0 -65
- package/src/tools/systems/update-systems.ts +0 -64
- package/src/tools/systems/upsert-systems.ts +0 -66
- package/src/tools/systems/versions/get-systems-versions.ts +0 -56
- package/src/tools/systems/versions/upsert-systems-versions.ts +0 -64
- package/src/tools/testcases/create-testcases.ts +0 -67
- package/src/tools/testcases/delete-testcases.ts +0 -56
- package/src/tools/testcases/get-testcases.ts +0 -54
- package/src/tools/testcases/list-testcases.ts +0 -65
- package/src/tools/testcases/update-testcases.ts +0 -59
- package/src/tools/testsets/create-testsets.ts +0 -94
- package/src/tools/testsets/delete-testsets.ts +0 -54
- package/src/tools/testsets/get-testsets.ts +0 -54
- package/src/tools/testsets/list-testsets.ts +0 -65
- package/src/tools/testsets/update-testsets.ts +0 -94
- package/src/tools.ts +0 -1
- package/tools/index.d.mts +0 -10
- package/tools/index.d.mts.map +0 -1
- package/tools/index.d.ts +0 -10
- package/tools/index.d.ts.map +0 -1
- package/tools/index.js +0 -115
- package/tools/index.js.map +0 -1
- package/tools/index.mjs +0 -108
- package/tools/index.mjs.map +0 -1
- package/tools/metrics/create-metrics.d.mts +0 -51
- package/tools/metrics/create-metrics.d.mts.map +0 -1
- package/tools/metrics/create-metrics.d.ts +0 -51
- package/tools/metrics/create-metrics.d.ts.map +0 -1
- package/tools/metrics/create-metrics.js +0 -381
- package/tools/metrics/create-metrics.js.map +0 -1
- package/tools/metrics/create-metrics.mjs +0 -374
- package/tools/metrics/create-metrics.mjs.map +0 -1
- package/tools/metrics/delete-metrics.d.mts +0 -51
- package/tools/metrics/delete-metrics.d.mts.map +0 -1
- package/tools/metrics/delete-metrics.d.ts +0 -51
- package/tools/metrics/delete-metrics.d.ts.map +0 -1
- package/tools/metrics/delete-metrics.js +0 -54
- package/tools/metrics/delete-metrics.js.map +0 -1
- package/tools/metrics/delete-metrics.mjs +0 -47
- package/tools/metrics/delete-metrics.mjs.map +0 -1
- package/tools/metrics/get-metrics.d.mts +0 -51
- package/tools/metrics/get-metrics.d.mts.map +0 -1
- package/tools/metrics/get-metrics.d.ts +0 -51
- package/tools/metrics/get-metrics.d.ts.map +0 -1
- package/tools/metrics/get-metrics.js +0 -48
- package/tools/metrics/get-metrics.js.map +0 -1
- package/tools/metrics/get-metrics.mjs +0 -41
- package/tools/metrics/get-metrics.mjs.map +0 -1
- package/tools/metrics/list-metrics.d.mts +0 -51
- package/tools/metrics/list-metrics.d.mts.map +0 -1
- package/tools/metrics/list-metrics.d.ts +0 -51
- package/tools/metrics/list-metrics.d.ts.map +0 -1
- package/tools/metrics/list-metrics.js +0 -57
- package/tools/metrics/list-metrics.js.map +0 -1
- package/tools/metrics/list-metrics.mjs +0 -50
- package/tools/metrics/list-metrics.mjs.map +0 -1
- package/tools/metrics/update-metrics.d.mts +0 -51
- package/tools/metrics/update-metrics.d.mts.map +0 -1
- package/tools/metrics/update-metrics.d.ts +0 -51
- package/tools/metrics/update-metrics.d.ts.map +0 -1
- package/tools/metrics/update-metrics.js +0 -381
- package/tools/metrics/update-metrics.js.map +0 -1
- package/tools/metrics/update-metrics.mjs +0 -374
- package/tools/metrics/update-metrics.mjs.map +0 -1
- package/tools/projects/create-projects.d.mts +0 -51
- package/tools/projects/create-projects.d.mts.map +0 -1
- package/tools/projects/create-projects.d.ts +0 -51
- package/tools/projects/create-projects.d.ts.map +0 -1
- package/tools/projects/create-projects.js +0 -57
- package/tools/projects/create-projects.js.map +0 -1
- package/tools/projects/create-projects.mjs +0 -50
- package/tools/projects/create-projects.mjs.map +0 -1
- package/tools/projects/list-projects.d.mts +0 -51
- package/tools/projects/list-projects.d.mts.map +0 -1
- package/tools/projects/list-projects.d.ts +0 -51
- package/tools/projects/list-projects.d.ts.map +0 -1
- package/tools/projects/list-projects.js +0 -60
- package/tools/projects/list-projects.js.map +0 -1
- package/tools/projects/list-projects.mjs +0 -53
- package/tools/projects/list-projects.mjs.map +0 -1
- package/tools/records/create-records.d.mts +0 -51
- package/tools/records/create-records.d.mts.map +0 -1
- package/tools/records/create-records.d.ts +0 -51
- package/tools/records/create-records.d.ts.map +0 -1
- package/tools/records/create-records.js +0 -71
- package/tools/records/create-records.js.map +0 -1
- package/tools/records/create-records.mjs +0 -64
- package/tools/records/create-records.mjs.map +0 -1
- package/tools/records/delete-records.d.mts +0 -51
- package/tools/records/delete-records.d.mts.map +0 -1
- package/tools/records/delete-records.d.ts +0 -51
- package/tools/records/delete-records.d.ts.map +0 -1
- package/tools/records/delete-records.js +0 -54
- package/tools/records/delete-records.js.map +0 -1
- package/tools/records/delete-records.mjs +0 -47
- package/tools/records/delete-records.mjs.map +0 -1
- package/tools/records/list-records.d.mts +0 -51
- package/tools/records/list-records.d.mts.map +0 -1
- package/tools/records/list-records.d.ts +0 -51
- package/tools/records/list-records.d.ts.map +0 -1
- package/tools/records/list-records.js +0 -63
- package/tools/records/list-records.js.map +0 -1
- package/tools/records/list-records.mjs +0 -56
- package/tools/records/list-records.mjs.map +0 -1
- package/tools/runs/create-runs.d.mts +0 -51
- package/tools/runs/create-runs.d.mts.map +0 -1
- package/tools/runs/create-runs.d.ts +0 -51
- package/tools/runs/create-runs.d.ts.map +0 -1
- package/tools/runs/create-runs.js +0 -67
- package/tools/runs/create-runs.js.map +0 -1
- package/tools/runs/create-runs.mjs +0 -60
- package/tools/runs/create-runs.mjs.map +0 -1
- package/tools/runs/get-runs.d.mts +0 -51
- package/tools/runs/get-runs.d.mts.map +0 -1
- package/tools/runs/get-runs.d.ts +0 -51
- package/tools/runs/get-runs.d.ts.map +0 -1
- package/tools/runs/get-runs.js +0 -54
- package/tools/runs/get-runs.js.map +0 -1
- package/tools/runs/get-runs.mjs +0 -47
- package/tools/runs/get-runs.mjs.map +0 -1
- package/tools/runs/list-runs.d.mts +0 -51
- package/tools/runs/list-runs.d.mts.map +0 -1
- package/tools/runs/list-runs.d.ts +0 -51
- package/tools/runs/list-runs.d.ts.map +0 -1
- package/tools/runs/list-runs.js +0 -63
- package/tools/runs/list-runs.js.map +0 -1
- package/tools/runs/list-runs.mjs +0 -56
- package/tools/runs/list-runs.mjs.map +0 -1
- package/tools/scores/upsert-scores.d.mts +0 -51
- package/tools/scores/upsert-scores.d.mts.map +0 -1
- package/tools/scores/upsert-scores.d.ts +0 -51
- package/tools/scores/upsert-scores.d.ts.map +0 -1
- package/tools/scores/upsert-scores.js +0 -62
- package/tools/scores/upsert-scores.js.map +0 -1
- package/tools/scores/upsert-scores.mjs +0 -55
- package/tools/scores/upsert-scores.mjs.map +0 -1
- package/tools/systems/delete-systems.d.mts +0 -51
- package/tools/systems/delete-systems.d.mts.map +0 -1
- package/tools/systems/delete-systems.d.ts +0 -51
- package/tools/systems/delete-systems.d.ts.map +0 -1
- package/tools/systems/delete-systems.js +0 -54
- package/tools/systems/delete-systems.js.map +0 -1
- package/tools/systems/delete-systems.mjs +0 -47
- package/tools/systems/delete-systems.mjs.map +0 -1
- package/tools/systems/get-systems.d.mts +0 -51
- package/tools/systems/get-systems.d.mts.map +0 -1
- package/tools/systems/get-systems.d.ts +0 -51
- package/tools/systems/get-systems.d.ts.map +0 -1
- package/tools/systems/get-systems.js +0 -54
- package/tools/systems/get-systems.js.map +0 -1
- package/tools/systems/get-systems.mjs +0 -47
- package/tools/systems/get-systems.mjs.map +0 -1
- package/tools/systems/list-systems.d.mts +0 -51
- package/tools/systems/list-systems.d.mts.map +0 -1
- package/tools/systems/list-systems.d.ts +0 -51
- package/tools/systems/list-systems.d.ts.map +0 -1
- package/tools/systems/list-systems.js +0 -63
- package/tools/systems/list-systems.js.map +0 -1
- package/tools/systems/list-systems.mjs +0 -56
- package/tools/systems/list-systems.mjs.map +0 -1
- package/tools/systems/update-systems.d.mts +0 -51
- package/tools/systems/update-systems.d.mts.map +0 -1
- package/tools/systems/update-systems.d.ts +0 -51
- package/tools/systems/update-systems.d.ts.map +0 -1
- package/tools/systems/update-systems.js +0 -64
- package/tools/systems/update-systems.js.map +0 -1
- package/tools/systems/update-systems.mjs +0 -57
- package/tools/systems/update-systems.mjs.map +0 -1
- package/tools/systems/upsert-systems.d.mts +0 -51
- package/tools/systems/upsert-systems.d.mts.map +0 -1
- package/tools/systems/upsert-systems.d.ts +0 -51
- package/tools/systems/upsert-systems.d.ts.map +0 -1
- package/tools/systems/upsert-systems.js +0 -65
- package/tools/systems/upsert-systems.js.map +0 -1
- package/tools/systems/upsert-systems.mjs +0 -58
- package/tools/systems/upsert-systems.mjs.map +0 -1
- package/tools/systems/versions/get-systems-versions.d.mts +0 -51
- package/tools/systems/versions/get-systems-versions.d.mts.map +0 -1
- package/tools/systems/versions/get-systems-versions.d.ts +0 -51
- package/tools/systems/versions/get-systems-versions.d.ts.map +0 -1
- package/tools/systems/versions/get-systems-versions.js +0 -54
- package/tools/systems/versions/get-systems-versions.js.map +0 -1
- package/tools/systems/versions/get-systems-versions.mjs +0 -47
- package/tools/systems/versions/get-systems-versions.mjs.map +0 -1
- package/tools/systems/versions/upsert-systems-versions.d.mts +0 -51
- package/tools/systems/versions/upsert-systems-versions.d.mts.map +0 -1
- package/tools/systems/versions/upsert-systems-versions.d.ts +0 -51
- package/tools/systems/versions/upsert-systems-versions.d.ts.map +0 -1
- package/tools/systems/versions/upsert-systems-versions.js +0 -61
- package/tools/systems/versions/upsert-systems-versions.js.map +0 -1
- package/tools/systems/versions/upsert-systems-versions.mjs +0 -54
- package/tools/systems/versions/upsert-systems-versions.mjs.map +0 -1
- package/tools/testcases/create-testcases.d.mts +0 -51
- package/tools/testcases/create-testcases.d.mts.map +0 -1
- package/tools/testcases/create-testcases.d.ts +0 -51
- package/tools/testcases/create-testcases.d.ts.map +0 -1
- package/tools/testcases/create-testcases.js +0 -67
- package/tools/testcases/create-testcases.js.map +0 -1
- package/tools/testcases/create-testcases.mjs +0 -60
- package/tools/testcases/create-testcases.mjs.map +0 -1
- package/tools/testcases/delete-testcases.d.mts +0 -51
- package/tools/testcases/delete-testcases.d.mts.map +0 -1
- package/tools/testcases/delete-testcases.d.ts +0 -51
- package/tools/testcases/delete-testcases.d.ts.map +0 -1
- package/tools/testcases/delete-testcases.js +0 -56
- package/tools/testcases/delete-testcases.js.map +0 -1
- package/tools/testcases/delete-testcases.mjs +0 -49
- package/tools/testcases/delete-testcases.mjs.map +0 -1
- package/tools/testcases/get-testcases.d.mts +0 -51
- package/tools/testcases/get-testcases.d.mts.map +0 -1
- package/tools/testcases/get-testcases.d.ts +0 -51
- package/tools/testcases/get-testcases.d.ts.map +0 -1
- package/tools/testcases/get-testcases.js +0 -54
- package/tools/testcases/get-testcases.js.map +0 -1
- package/tools/testcases/get-testcases.mjs +0 -47
- package/tools/testcases/get-testcases.mjs.map +0 -1
- package/tools/testcases/list-testcases.d.mts +0 -51
- package/tools/testcases/list-testcases.d.mts.map +0 -1
- package/tools/testcases/list-testcases.d.ts +0 -51
- package/tools/testcases/list-testcases.d.ts.map +0 -1
- package/tools/testcases/list-testcases.js +0 -63
- package/tools/testcases/list-testcases.js.map +0 -1
- package/tools/testcases/list-testcases.mjs +0 -56
- package/tools/testcases/list-testcases.mjs.map +0 -1
- package/tools/testcases/update-testcases.d.mts +0 -51
- package/tools/testcases/update-testcases.d.mts.map +0 -1
- package/tools/testcases/update-testcases.d.ts +0 -51
- package/tools/testcases/update-testcases.d.ts.map +0 -1
- package/tools/testcases/update-testcases.js +0 -59
- package/tools/testcases/update-testcases.js.map +0 -1
- package/tools/testcases/update-testcases.mjs +0 -52
- package/tools/testcases/update-testcases.mjs.map +0 -1
- package/tools/testsets/create-testsets.d.mts +0 -51
- package/tools/testsets/create-testsets.d.mts.map +0 -1
- package/tools/testsets/create-testsets.d.ts +0 -51
- package/tools/testsets/create-testsets.d.ts.map +0 -1
- package/tools/testsets/create-testsets.js +0 -93
- package/tools/testsets/create-testsets.js.map +0 -1
- package/tools/testsets/create-testsets.mjs +0 -86
- package/tools/testsets/create-testsets.mjs.map +0 -1
- package/tools/testsets/delete-testsets.d.mts +0 -51
- package/tools/testsets/delete-testsets.d.mts.map +0 -1
- package/tools/testsets/delete-testsets.d.ts +0 -51
- package/tools/testsets/delete-testsets.d.ts.map +0 -1
- package/tools/testsets/delete-testsets.js +0 -54
- package/tools/testsets/delete-testsets.js.map +0 -1
- package/tools/testsets/delete-testsets.mjs +0 -47
- package/tools/testsets/delete-testsets.mjs.map +0 -1
- package/tools/testsets/get-testsets.d.mts +0 -51
- package/tools/testsets/get-testsets.d.mts.map +0 -1
- package/tools/testsets/get-testsets.d.ts +0 -51
- package/tools/testsets/get-testsets.d.ts.map +0 -1
- package/tools/testsets/get-testsets.js +0 -54
- package/tools/testsets/get-testsets.js.map +0 -1
- package/tools/testsets/get-testsets.mjs +0 -47
- package/tools/testsets/get-testsets.mjs.map +0 -1
- package/tools/testsets/list-testsets.d.mts +0 -51
- package/tools/testsets/list-testsets.d.mts.map +0 -1
- package/tools/testsets/list-testsets.d.ts +0 -51
- package/tools/testsets/list-testsets.d.ts.map +0 -1
- package/tools/testsets/list-testsets.js +0 -63
- package/tools/testsets/list-testsets.js.map +0 -1
- package/tools/testsets/list-testsets.mjs +0 -56
- package/tools/testsets/list-testsets.mjs.map +0 -1
- package/tools/testsets/update-testsets.d.mts +0 -51
- package/tools/testsets/update-testsets.d.mts.map +0 -1
- package/tools/testsets/update-testsets.d.ts +0 -51
- package/tools/testsets/update-testsets.d.ts.map +0 -1
- package/tools/testsets/update-testsets.js +0 -93
- package/tools/testsets/update-testsets.js.map +0 -1
- package/tools/testsets/update-testsets.mjs +0 -86
- package/tools/testsets/update-testsets.mjs.map +0 -1
- package/tools/types.d.mts.map +0 -1
- package/tools/types.d.ts.map +0 -1
- package/tools/types.js.map +0 -1
- package/tools/types.mjs.map +0 -1
- package/tools.d.mts +0 -2
- package/tools.d.mts.map +0 -1
- package/tools.d.ts +0 -2
- package/tools.d.ts.map +0 -1
- package/tools.js +0 -18
- package/tools.js.map +0 -1
- package/tools.mjs +0 -2
- package/tools.mjs.map +0 -1
- /package/{tools/types.js → types.js} +0 -0
- /package/{tools/types.mjs → types.mjs} +0 -0
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
3
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
-
};
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.handler = exports.tool = exports.metadata = void 0;
|
|
8
|
-
const filtering_1 = require("scorecard-ai-mcp/filtering");
|
|
9
|
-
const types_1 = require("scorecard-ai-mcp/tools/types");
|
|
10
|
-
const scorecard_ai_1 = __importDefault(require("scorecard-ai"));
|
|
11
|
-
exports.metadata = {
|
|
12
|
-
resource: 'testcases',
|
|
13
|
-
operation: 'read',
|
|
14
|
-
tags: [],
|
|
15
|
-
httpMethod: 'get',
|
|
16
|
-
httpPath: '/testcases/{testcaseId}',
|
|
17
|
-
operationId: 'getTestcase',
|
|
18
|
-
};
|
|
19
|
-
exports.tool = {
|
|
20
|
-
name: 'get_testcases',
|
|
21
|
-
description: "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nRetrieve a specific Testcase by ID.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/testcase',\n $defs: {\n testcase: {\n type: 'object',\n description: 'A test case in the Scorecard system. Contains JSON data that is validated against the schema defined by its Testset.\\nThe `inputs` and `expected` fields are derived from the `data` field based on the Testset\\'s `fieldMapping`, and include all mapped fields, including those with validation errors.\\nTestcases are stored regardless of validation results, with any validation errors included in the `validationErrors` field.',\n properties: {\n id: {\n type: 'string',\n description: 'The ID of the Testcase.'\n },\n expected: {\n type: 'object',\n description: 'Derived from data based on the Testset\\'s fieldMapping. Contains all fields marked as expected outputs, including those with validation errors.',\n additionalProperties: true\n },\n inputs: {\n type: 'object',\n description: 'Derived from data based on the Testset\\'s fieldMapping. Contains all fields marked as inputs, including those with validation errors.',\n additionalProperties: true\n },\n jsonData: {\n type: 'object',\n description: 'The JSON data of the Testcase, which is validated against the Testset\\'s schema.',\n additionalProperties: true\n },\n testsetId: {\n type: 'string',\n description: 'The ID of the Testset this Testcase belongs to.'\n },\n validationErrors: {\n type: 'array',\n description: 'Validation errors found in the Testcase data. If present, the Testcase doesn\\'t fully conform to its Testset\\'s schema.',\n items: {\n type: 'object',\n properties: {\n message: {\n type: 'string',\n description: 'Human-readable error description.'\n },\n path: {\n type: 'string',\n description: 'JSON Pointer to the field with the validation error.'\n }\n },\n required: [ 'message',\n 'path'\n ]\n }\n }\n },\n required: [ 'id',\n 'expected',\n 'inputs',\n 'jsonData',\n 'testsetId'\n ]\n }\n }\n}\n```",
|
|
22
|
-
inputSchema: {
|
|
23
|
-
type: 'object',
|
|
24
|
-
properties: {
|
|
25
|
-
testcaseId: {
|
|
26
|
-
type: 'string',
|
|
27
|
-
},
|
|
28
|
-
jq_filter: {
|
|
29
|
-
type: 'string',
|
|
30
|
-
title: 'jq Filter',
|
|
31
|
-
description: 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
|
|
32
|
-
},
|
|
33
|
-
},
|
|
34
|
-
required: ['testcaseId'],
|
|
35
|
-
},
|
|
36
|
-
annotations: {
|
|
37
|
-
readOnlyHint: true,
|
|
38
|
-
},
|
|
39
|
-
};
|
|
40
|
-
const handler = async (client, args) => {
|
|
41
|
-
const { testcaseId, jq_filter, ...body } = args;
|
|
42
|
-
try {
|
|
43
|
-
return (0, types_1.asTextContentResult)(await (0, filtering_1.maybeFilter)(jq_filter, await client.testcases.get(testcaseId)));
|
|
44
|
-
}
|
|
45
|
-
catch (error) {
|
|
46
|
-
if (error instanceof scorecard_ai_1.default.APIError || (0, filtering_1.isJqError)(error)) {
|
|
47
|
-
return (0, types_1.asErrorResult)(error.message);
|
|
48
|
-
}
|
|
49
|
-
throw error;
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
exports.handler = handler;
|
|
53
|
-
exports.default = { metadata: exports.metadata, tool: exports.tool, handler: exports.handler };
|
|
54
|
-
//# sourceMappingURL=get-testcases.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-testcases.js","sourceRoot":"","sources":["../../src/tools/testcases/get-testcases.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;;;;AAEtF,0DAAoE;AACpE,wDAA4F;AAG5F,gEAAqC;AAExB,QAAA,QAAQ,GAAa;IAChC,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,MAAM;IACjB,IAAI,EAAE,EAAE;IACR,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,yBAAyB;IACnC,WAAW,EAAE,aAAa;CAC3B,CAAC;AAEW,QAAA,IAAI,GAAS;IACxB,IAAI,EAAE,eAAe;IACrB,WAAW,EACT,+jFAA+jF;IACjkF,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;aACf;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,WAAW;gBAClB,WAAW,EACT,kWAAkW;aACrW;SACF;QACD,QAAQ,EAAE,CAAC,YAAY,CAAC;KACzB;IACD,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;KACnB;CACF,CAAC;AAEK,MAAM,OAAO,GAAG,KAAK,EAAE,MAAiB,EAAE,IAAyC,EAAE,EAAE;IAC5F,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAW,CAAC;IACvD,IAAI,CAAC;QACH,OAAO,IAAA,2BAAmB,EAAC,MAAM,IAAA,uBAAW,EAAC,SAAS,EAAE,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACnG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,sBAAS,CAAC,QAAQ,IAAI,IAAA,qBAAS,EAAC,KAAK,CAAC,EAAE,CAAC;YAC5D,OAAO,IAAA,qBAAa,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAVW,QAAA,OAAO,WAUlB;AAEF,kBAAe,EAAE,QAAQ,EAAR,gBAAQ,EAAE,IAAI,EAAJ,YAAI,EAAE,OAAO,EAAP,eAAO,EAAE,CAAC"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
-
import { isJqError, maybeFilter } from 'scorecard-ai-mcp/filtering';
|
|
3
|
-
import { asErrorResult, asTextContentResult } from 'scorecard-ai-mcp/tools/types';
|
|
4
|
-
import Scorecard from 'scorecard-ai';
|
|
5
|
-
export const metadata = {
|
|
6
|
-
resource: 'testcases',
|
|
7
|
-
operation: 'read',
|
|
8
|
-
tags: [],
|
|
9
|
-
httpMethod: 'get',
|
|
10
|
-
httpPath: '/testcases/{testcaseId}',
|
|
11
|
-
operationId: 'getTestcase',
|
|
12
|
-
};
|
|
13
|
-
export const tool = {
|
|
14
|
-
name: 'get_testcases',
|
|
15
|
-
description: "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nRetrieve a specific Testcase by ID.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/testcase',\n $defs: {\n testcase: {\n type: 'object',\n description: 'A test case in the Scorecard system. Contains JSON data that is validated against the schema defined by its Testset.\\nThe `inputs` and `expected` fields are derived from the `data` field based on the Testset\\'s `fieldMapping`, and include all mapped fields, including those with validation errors.\\nTestcases are stored regardless of validation results, with any validation errors included in the `validationErrors` field.',\n properties: {\n id: {\n type: 'string',\n description: 'The ID of the Testcase.'\n },\n expected: {\n type: 'object',\n description: 'Derived from data based on the Testset\\'s fieldMapping. Contains all fields marked as expected outputs, including those with validation errors.',\n additionalProperties: true\n },\n inputs: {\n type: 'object',\n description: 'Derived from data based on the Testset\\'s fieldMapping. Contains all fields marked as inputs, including those with validation errors.',\n additionalProperties: true\n },\n jsonData: {\n type: 'object',\n description: 'The JSON data of the Testcase, which is validated against the Testset\\'s schema.',\n additionalProperties: true\n },\n testsetId: {\n type: 'string',\n description: 'The ID of the Testset this Testcase belongs to.'\n },\n validationErrors: {\n type: 'array',\n description: 'Validation errors found in the Testcase data. If present, the Testcase doesn\\'t fully conform to its Testset\\'s schema.',\n items: {\n type: 'object',\n properties: {\n message: {\n type: 'string',\n description: 'Human-readable error description.'\n },\n path: {\n type: 'string',\n description: 'JSON Pointer to the field with the validation error.'\n }\n },\n required: [ 'message',\n 'path'\n ]\n }\n }\n },\n required: [ 'id',\n 'expected',\n 'inputs',\n 'jsonData',\n 'testsetId'\n ]\n }\n }\n}\n```",
|
|
16
|
-
inputSchema: {
|
|
17
|
-
type: 'object',
|
|
18
|
-
properties: {
|
|
19
|
-
testcaseId: {
|
|
20
|
-
type: 'string',
|
|
21
|
-
},
|
|
22
|
-
jq_filter: {
|
|
23
|
-
type: 'string',
|
|
24
|
-
title: 'jq Filter',
|
|
25
|
-
description: 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
|
|
26
|
-
},
|
|
27
|
-
},
|
|
28
|
-
required: ['testcaseId'],
|
|
29
|
-
},
|
|
30
|
-
annotations: {
|
|
31
|
-
readOnlyHint: true,
|
|
32
|
-
},
|
|
33
|
-
};
|
|
34
|
-
export const handler = async (client, args) => {
|
|
35
|
-
const { testcaseId, jq_filter, ...body } = args;
|
|
36
|
-
try {
|
|
37
|
-
return asTextContentResult(await maybeFilter(jq_filter, await client.testcases.get(testcaseId)));
|
|
38
|
-
}
|
|
39
|
-
catch (error) {
|
|
40
|
-
if (error instanceof Scorecard.APIError || isJqError(error)) {
|
|
41
|
-
return asErrorResult(error.message);
|
|
42
|
-
}
|
|
43
|
-
throw error;
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
export default { metadata, tool, handler };
|
|
47
|
-
//# sourceMappingURL=get-testcases.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-testcases.mjs","sourceRoot":"","sources":["../../src/tools/testcases/get-testcases.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,4BAA4B;OAC5D,EAAY,aAAa,EAAE,mBAAmB,EAAE,MAAM,8BAA8B;OAGpF,SAAS,MAAM,cAAc;AAEpC,MAAM,CAAC,MAAM,QAAQ,GAAa;IAChC,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,MAAM;IACjB,IAAI,EAAE,EAAE;IACR,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,yBAAyB;IACnC,WAAW,EAAE,aAAa;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAS;IACxB,IAAI,EAAE,eAAe;IACrB,WAAW,EACT,+jFAA+jF;IACjkF,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;aACf;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,WAAW;gBAClB,WAAW,EACT,kWAAkW;aACrW;SACF;QACD,QAAQ,EAAE,CAAC,YAAY,CAAC;KACzB;IACD,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;KACnB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,MAAiB,EAAE,IAAyC,EAAE,EAAE;IAC5F,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAW,CAAC;IACvD,IAAI,CAAC;QACH,OAAO,mBAAmB,CAAC,MAAM,WAAW,CAAC,SAAS,EAAE,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACnG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5D,OAAO,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { Metadata } from 'scorecard-ai-mcp/tools/types';
|
|
2
|
-
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
-
import Scorecard from 'scorecard-ai';
|
|
4
|
-
export declare const metadata: Metadata;
|
|
5
|
-
export declare const tool: Tool;
|
|
6
|
-
export declare const handler: (client: Scorecard, args: Record<string, unknown> | undefined) => Promise<import("scorecard-ai-mcp/tools/types").ToolCallResult>;
|
|
7
|
-
declare const _default: {
|
|
8
|
-
metadata: Metadata;
|
|
9
|
-
tool: {
|
|
10
|
-
inputSchema: {
|
|
11
|
-
[x: string]: unknown;
|
|
12
|
-
type: "object";
|
|
13
|
-
properties?: {
|
|
14
|
-
[x: string]: object;
|
|
15
|
-
} | undefined;
|
|
16
|
-
required?: string[] | undefined;
|
|
17
|
-
};
|
|
18
|
-
name: string;
|
|
19
|
-
description?: string | undefined;
|
|
20
|
-
outputSchema?: {
|
|
21
|
-
[x: string]: unknown;
|
|
22
|
-
type: "object";
|
|
23
|
-
properties?: {
|
|
24
|
-
[x: string]: object;
|
|
25
|
-
} | undefined;
|
|
26
|
-
required?: string[] | undefined;
|
|
27
|
-
} | undefined;
|
|
28
|
-
annotations?: {
|
|
29
|
-
title?: string | undefined;
|
|
30
|
-
readOnlyHint?: boolean | undefined;
|
|
31
|
-
destructiveHint?: boolean | undefined;
|
|
32
|
-
idempotentHint?: boolean | undefined;
|
|
33
|
-
openWorldHint?: boolean | undefined;
|
|
34
|
-
} | undefined;
|
|
35
|
-
execution?: {
|
|
36
|
-
taskSupport?: "optional" | "required" | "forbidden" | undefined;
|
|
37
|
-
} | undefined;
|
|
38
|
-
_meta?: {
|
|
39
|
-
[x: string]: unknown;
|
|
40
|
-
} | undefined;
|
|
41
|
-
icons?: {
|
|
42
|
-
src: string;
|
|
43
|
-
mimeType?: string | undefined;
|
|
44
|
-
sizes?: string[] | undefined;
|
|
45
|
-
}[] | undefined;
|
|
46
|
-
title?: string | undefined;
|
|
47
|
-
};
|
|
48
|
-
handler: (client: Scorecard, args: Record<string, unknown> | undefined) => Promise<import("scorecard-ai-mcp/tools/types").ToolCallResult>;
|
|
49
|
-
};
|
|
50
|
-
export default _default;
|
|
51
|
-
//# sourceMappingURL=list-testcases.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list-testcases.d.mts","sourceRoot":"","sources":["../../src/tools/testcases/list-testcases.ts"],"names":[],"mappings":"OAGO,EAAE,QAAQ,EAAsC,MAAM,8BAA8B;OAEpF,EAAE,IAAI,EAAE,MAAM,oCAAoC;OAClD,SAAS,MAAM,cAAc;AAEpC,eAAO,MAAM,QAAQ,EAAE,QAOtB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,IAgClB,CAAC;AAEF,eAAO,MAAM,OAAO,GAAU,QAAQ,SAAS,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,mEAWzF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAXoC,SAAS,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;;AAa1F,wBAA2C"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { Metadata } from 'scorecard-ai-mcp/tools/types';
|
|
2
|
-
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
-
import Scorecard from 'scorecard-ai';
|
|
4
|
-
export declare const metadata: Metadata;
|
|
5
|
-
export declare const tool: Tool;
|
|
6
|
-
export declare const handler: (client: Scorecard, args: Record<string, unknown> | undefined) => Promise<import("scorecard-ai-mcp/tools/types").ToolCallResult>;
|
|
7
|
-
declare const _default: {
|
|
8
|
-
metadata: Metadata;
|
|
9
|
-
tool: {
|
|
10
|
-
inputSchema: {
|
|
11
|
-
[x: string]: unknown;
|
|
12
|
-
type: "object";
|
|
13
|
-
properties?: {
|
|
14
|
-
[x: string]: object;
|
|
15
|
-
} | undefined;
|
|
16
|
-
required?: string[] | undefined;
|
|
17
|
-
};
|
|
18
|
-
name: string;
|
|
19
|
-
description?: string | undefined;
|
|
20
|
-
outputSchema?: {
|
|
21
|
-
[x: string]: unknown;
|
|
22
|
-
type: "object";
|
|
23
|
-
properties?: {
|
|
24
|
-
[x: string]: object;
|
|
25
|
-
} | undefined;
|
|
26
|
-
required?: string[] | undefined;
|
|
27
|
-
} | undefined;
|
|
28
|
-
annotations?: {
|
|
29
|
-
title?: string | undefined;
|
|
30
|
-
readOnlyHint?: boolean | undefined;
|
|
31
|
-
destructiveHint?: boolean | undefined;
|
|
32
|
-
idempotentHint?: boolean | undefined;
|
|
33
|
-
openWorldHint?: boolean | undefined;
|
|
34
|
-
} | undefined;
|
|
35
|
-
execution?: {
|
|
36
|
-
taskSupport?: "optional" | "required" | "forbidden" | undefined;
|
|
37
|
-
} | undefined;
|
|
38
|
-
_meta?: {
|
|
39
|
-
[x: string]: unknown;
|
|
40
|
-
} | undefined;
|
|
41
|
-
icons?: {
|
|
42
|
-
src: string;
|
|
43
|
-
mimeType?: string | undefined;
|
|
44
|
-
sizes?: string[] | undefined;
|
|
45
|
-
}[] | undefined;
|
|
46
|
-
title?: string | undefined;
|
|
47
|
-
};
|
|
48
|
-
handler: (client: Scorecard, args: Record<string, unknown> | undefined) => Promise<import("scorecard-ai-mcp/tools/types").ToolCallResult>;
|
|
49
|
-
};
|
|
50
|
-
export default _default;
|
|
51
|
-
//# sourceMappingURL=list-testcases.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list-testcases.d.ts","sourceRoot":"","sources":["../../src/tools/testcases/list-testcases.ts"],"names":[],"mappings":"OAGO,EAAE,QAAQ,EAAsC,MAAM,8BAA8B;OAEpF,EAAE,IAAI,EAAE,MAAM,oCAAoC;OAClD,SAAS,MAAM,cAAc;AAEpC,eAAO,MAAM,QAAQ,EAAE,QAOtB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,IAgClB,CAAC;AAEF,eAAO,MAAM,OAAO,GAAU,QAAQ,SAAS,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,mEAWzF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAXoC,SAAS,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;;AAa1F,wBAA2C"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
3
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
-
};
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.handler = exports.tool = exports.metadata = void 0;
|
|
8
|
-
const filtering_1 = require("scorecard-ai-mcp/filtering");
|
|
9
|
-
const types_1 = require("scorecard-ai-mcp/tools/types");
|
|
10
|
-
const scorecard_ai_1 = __importDefault(require("scorecard-ai"));
|
|
11
|
-
exports.metadata = {
|
|
12
|
-
resource: 'testcases',
|
|
13
|
-
operation: 'read',
|
|
14
|
-
tags: [],
|
|
15
|
-
httpMethod: 'get',
|
|
16
|
-
httpPath: '/testsets/{testsetId}/testcases',
|
|
17
|
-
operationId: 'listTestcases',
|
|
18
|
-
};
|
|
19
|
-
exports.tool = {
|
|
20
|
-
name: 'list_testcases',
|
|
21
|
-
description: "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nRetrieve a paginated list of Testcases belonging to a Testset.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n $ref: '#/$defs/testcase'\n }\n },\n hasMore: {\n type: 'boolean'\n },\n nextCursor: {\n type: 'string'\n },\n total: {\n type: 'integer'\n }\n },\n required: [ 'data',\n 'hasMore',\n 'nextCursor'\n ],\n $defs: {\n testcase: {\n type: 'object',\n description: 'A test case in the Scorecard system. Contains JSON data that is validated against the schema defined by its Testset.\\nThe `inputs` and `expected` fields are derived from the `data` field based on the Testset\\'s `fieldMapping`, and include all mapped fields, including those with validation errors.\\nTestcases are stored regardless of validation results, with any validation errors included in the `validationErrors` field.',\n properties: {\n id: {\n type: 'string',\n description: 'The ID of the Testcase.'\n },\n expected: {\n type: 'object',\n description: 'Derived from data based on the Testset\\'s fieldMapping. Contains all fields marked as expected outputs, including those with validation errors.',\n additionalProperties: true\n },\n inputs: {\n type: 'object',\n description: 'Derived from data based on the Testset\\'s fieldMapping. Contains all fields marked as inputs, including those with validation errors.',\n additionalProperties: true\n },\n jsonData: {\n type: 'object',\n description: 'The JSON data of the Testcase, which is validated against the Testset\\'s schema.',\n additionalProperties: true\n },\n testsetId: {\n type: 'string',\n description: 'The ID of the Testset this Testcase belongs to.'\n },\n validationErrors: {\n type: 'array',\n description: 'Validation errors found in the Testcase data. If present, the Testcase doesn\\'t fully conform to its Testset\\'s schema.',\n items: {\n type: 'object',\n properties: {\n message: {\n type: 'string',\n description: 'Human-readable error description.'\n },\n path: {\n type: 'string',\n description: 'JSON Pointer to the field with the validation error.'\n }\n },\n required: [ 'message',\n 'path'\n ]\n }\n }\n },\n required: [ 'id',\n 'expected',\n 'inputs',\n 'jsonData',\n 'testsetId'\n ]\n }\n }\n}\n```",
|
|
22
|
-
inputSchema: {
|
|
23
|
-
type: 'object',
|
|
24
|
-
properties: {
|
|
25
|
-
testsetId: {
|
|
26
|
-
type: 'string',
|
|
27
|
-
},
|
|
28
|
-
cursor: {
|
|
29
|
-
type: 'string',
|
|
30
|
-
description: 'Cursor for pagination. Pass the `nextCursor` from the previous response to get the next page of results.',
|
|
31
|
-
},
|
|
32
|
-
limit: {
|
|
33
|
-
type: 'integer',
|
|
34
|
-
description: 'Maximum number of items to return (1-100). Use with `cursor` for pagination through large sets.',
|
|
35
|
-
},
|
|
36
|
-
jq_filter: {
|
|
37
|
-
type: 'string',
|
|
38
|
-
title: 'jq Filter',
|
|
39
|
-
description: 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
|
-
required: ['testsetId'],
|
|
43
|
-
},
|
|
44
|
-
annotations: {
|
|
45
|
-
readOnlyHint: true,
|
|
46
|
-
},
|
|
47
|
-
};
|
|
48
|
-
const handler = async (client, args) => {
|
|
49
|
-
const { testsetId, jq_filter, ...body } = args;
|
|
50
|
-
const response = await client.testcases.list(testsetId, body).asResponse();
|
|
51
|
-
try {
|
|
52
|
-
return (0, types_1.asTextContentResult)(await (0, filtering_1.maybeFilter)(jq_filter, await response.json()));
|
|
53
|
-
}
|
|
54
|
-
catch (error) {
|
|
55
|
-
if (error instanceof scorecard_ai_1.default.APIError || (0, filtering_1.isJqError)(error)) {
|
|
56
|
-
return (0, types_1.asErrorResult)(error.message);
|
|
57
|
-
}
|
|
58
|
-
throw error;
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
exports.handler = handler;
|
|
62
|
-
exports.default = { metadata: exports.metadata, tool: exports.tool, handler: exports.handler };
|
|
63
|
-
//# sourceMappingURL=list-testcases.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list-testcases.js","sourceRoot":"","sources":["../../src/tools/testcases/list-testcases.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;;;;AAEtF,0DAAoE;AACpE,wDAA4F;AAG5F,gEAAqC;AAExB,QAAA,QAAQ,GAAa;IAChC,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,MAAM;IACjB,IAAI,EAAE,EAAE;IACR,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,iCAAiC;IAC3C,WAAW,EAAE,eAAe;CAC7B,CAAC;AAEW,QAAA,IAAI,GAAS;IACxB,IAAI,EAAE,gBAAgB;IACtB,WAAW,EACT,25FAA25F;IAC75F,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;aACf;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,0GAA0G;aAC7G;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EACT,iGAAiG;aACpG;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,WAAW;gBAClB,WAAW,EACT,kWAAkW;aACrW;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB;IACD,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;KACnB;CACF,CAAC;AAEK,MAAM,OAAO,GAAG,KAAK,EAAE,MAAiB,EAAE,IAAyC,EAAE,EAAE;IAC5F,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAW,CAAC;IACtD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;IAC3E,IAAI,CAAC;QACH,OAAO,IAAA,2BAAmB,EAAC,MAAM,IAAA,uBAAW,EAAC,SAAS,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAClF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,sBAAS,CAAC,QAAQ,IAAI,IAAA,qBAAS,EAAC,KAAK,CAAC,EAAE,CAAC;YAC5D,OAAO,IAAA,qBAAa,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAXW,QAAA,OAAO,WAWlB;AAEF,kBAAe,EAAE,QAAQ,EAAR,gBAAQ,EAAE,IAAI,EAAJ,YAAI,EAAE,OAAO,EAAP,eAAO,EAAE,CAAC"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
-
import { isJqError, maybeFilter } from 'scorecard-ai-mcp/filtering';
|
|
3
|
-
import { asErrorResult, asTextContentResult } from 'scorecard-ai-mcp/tools/types';
|
|
4
|
-
import Scorecard from 'scorecard-ai';
|
|
5
|
-
export const metadata = {
|
|
6
|
-
resource: 'testcases',
|
|
7
|
-
operation: 'read',
|
|
8
|
-
tags: [],
|
|
9
|
-
httpMethod: 'get',
|
|
10
|
-
httpPath: '/testsets/{testsetId}/testcases',
|
|
11
|
-
operationId: 'listTestcases',
|
|
12
|
-
};
|
|
13
|
-
export const tool = {
|
|
14
|
-
name: 'list_testcases',
|
|
15
|
-
description: "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nRetrieve a paginated list of Testcases belonging to a Testset.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n $ref: '#/$defs/testcase'\n }\n },\n hasMore: {\n type: 'boolean'\n },\n nextCursor: {\n type: 'string'\n },\n total: {\n type: 'integer'\n }\n },\n required: [ 'data',\n 'hasMore',\n 'nextCursor'\n ],\n $defs: {\n testcase: {\n type: 'object',\n description: 'A test case in the Scorecard system. Contains JSON data that is validated against the schema defined by its Testset.\\nThe `inputs` and `expected` fields are derived from the `data` field based on the Testset\\'s `fieldMapping`, and include all mapped fields, including those with validation errors.\\nTestcases are stored regardless of validation results, with any validation errors included in the `validationErrors` field.',\n properties: {\n id: {\n type: 'string',\n description: 'The ID of the Testcase.'\n },\n expected: {\n type: 'object',\n description: 'Derived from data based on the Testset\\'s fieldMapping. Contains all fields marked as expected outputs, including those with validation errors.',\n additionalProperties: true\n },\n inputs: {\n type: 'object',\n description: 'Derived from data based on the Testset\\'s fieldMapping. Contains all fields marked as inputs, including those with validation errors.',\n additionalProperties: true\n },\n jsonData: {\n type: 'object',\n description: 'The JSON data of the Testcase, which is validated against the Testset\\'s schema.',\n additionalProperties: true\n },\n testsetId: {\n type: 'string',\n description: 'The ID of the Testset this Testcase belongs to.'\n },\n validationErrors: {\n type: 'array',\n description: 'Validation errors found in the Testcase data. If present, the Testcase doesn\\'t fully conform to its Testset\\'s schema.',\n items: {\n type: 'object',\n properties: {\n message: {\n type: 'string',\n description: 'Human-readable error description.'\n },\n path: {\n type: 'string',\n description: 'JSON Pointer to the field with the validation error.'\n }\n },\n required: [ 'message',\n 'path'\n ]\n }\n }\n },\n required: [ 'id',\n 'expected',\n 'inputs',\n 'jsonData',\n 'testsetId'\n ]\n }\n }\n}\n```",
|
|
16
|
-
inputSchema: {
|
|
17
|
-
type: 'object',
|
|
18
|
-
properties: {
|
|
19
|
-
testsetId: {
|
|
20
|
-
type: 'string',
|
|
21
|
-
},
|
|
22
|
-
cursor: {
|
|
23
|
-
type: 'string',
|
|
24
|
-
description: 'Cursor for pagination. Pass the `nextCursor` from the previous response to get the next page of results.',
|
|
25
|
-
},
|
|
26
|
-
limit: {
|
|
27
|
-
type: 'integer',
|
|
28
|
-
description: 'Maximum number of items to return (1-100). Use with `cursor` for pagination through large sets.',
|
|
29
|
-
},
|
|
30
|
-
jq_filter: {
|
|
31
|
-
type: 'string',
|
|
32
|
-
title: 'jq Filter',
|
|
33
|
-
description: 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
|
|
34
|
-
},
|
|
35
|
-
},
|
|
36
|
-
required: ['testsetId'],
|
|
37
|
-
},
|
|
38
|
-
annotations: {
|
|
39
|
-
readOnlyHint: true,
|
|
40
|
-
},
|
|
41
|
-
};
|
|
42
|
-
export const handler = async (client, args) => {
|
|
43
|
-
const { testsetId, jq_filter, ...body } = args;
|
|
44
|
-
const response = await client.testcases.list(testsetId, body).asResponse();
|
|
45
|
-
try {
|
|
46
|
-
return asTextContentResult(await maybeFilter(jq_filter, await response.json()));
|
|
47
|
-
}
|
|
48
|
-
catch (error) {
|
|
49
|
-
if (error instanceof Scorecard.APIError || isJqError(error)) {
|
|
50
|
-
return asErrorResult(error.message);
|
|
51
|
-
}
|
|
52
|
-
throw error;
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
export default { metadata, tool, handler };
|
|
56
|
-
//# sourceMappingURL=list-testcases.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list-testcases.mjs","sourceRoot":"","sources":["../../src/tools/testcases/list-testcases.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,4BAA4B;OAC5D,EAAY,aAAa,EAAE,mBAAmB,EAAE,MAAM,8BAA8B;OAGpF,SAAS,MAAM,cAAc;AAEpC,MAAM,CAAC,MAAM,QAAQ,GAAa;IAChC,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,MAAM;IACjB,IAAI,EAAE,EAAE;IACR,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,iCAAiC;IAC3C,WAAW,EAAE,eAAe;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAS;IACxB,IAAI,EAAE,gBAAgB;IACtB,WAAW,EACT,25FAA25F;IAC75F,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;aACf;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,0GAA0G;aAC7G;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EACT,iGAAiG;aACpG;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,WAAW;gBAClB,WAAW,EACT,kWAAkW;aACrW;SACF;QACD,QAAQ,EAAE,CAAC,WAAW,CAAC;KACxB;IACD,WAAW,EAAE;QACX,YAAY,EAAE,IAAI;KACnB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,MAAiB,EAAE,IAAyC,EAAE,EAAE;IAC5F,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAW,CAAC;IACtD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;IAC3E,IAAI,CAAC;QACH,OAAO,mBAAmB,CAAC,MAAM,WAAW,CAAC,SAAS,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAClF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5D,OAAO,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { Metadata } from 'scorecard-ai-mcp/tools/types';
|
|
2
|
-
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
-
import Scorecard from 'scorecard-ai';
|
|
4
|
-
export declare const metadata: Metadata;
|
|
5
|
-
export declare const tool: Tool;
|
|
6
|
-
export declare const handler: (client: Scorecard, args: Record<string, unknown> | undefined) => Promise<import("scorecard-ai-mcp/tools/types").ToolCallResult>;
|
|
7
|
-
declare const _default: {
|
|
8
|
-
metadata: Metadata;
|
|
9
|
-
tool: {
|
|
10
|
-
inputSchema: {
|
|
11
|
-
[x: string]: unknown;
|
|
12
|
-
type: "object";
|
|
13
|
-
properties?: {
|
|
14
|
-
[x: string]: object;
|
|
15
|
-
} | undefined;
|
|
16
|
-
required?: string[] | undefined;
|
|
17
|
-
};
|
|
18
|
-
name: string;
|
|
19
|
-
description?: string | undefined;
|
|
20
|
-
outputSchema?: {
|
|
21
|
-
[x: string]: unknown;
|
|
22
|
-
type: "object";
|
|
23
|
-
properties?: {
|
|
24
|
-
[x: string]: object;
|
|
25
|
-
} | undefined;
|
|
26
|
-
required?: string[] | undefined;
|
|
27
|
-
} | undefined;
|
|
28
|
-
annotations?: {
|
|
29
|
-
title?: string | undefined;
|
|
30
|
-
readOnlyHint?: boolean | undefined;
|
|
31
|
-
destructiveHint?: boolean | undefined;
|
|
32
|
-
idempotentHint?: boolean | undefined;
|
|
33
|
-
openWorldHint?: boolean | undefined;
|
|
34
|
-
} | undefined;
|
|
35
|
-
execution?: {
|
|
36
|
-
taskSupport?: "optional" | "required" | "forbidden" | undefined;
|
|
37
|
-
} | undefined;
|
|
38
|
-
_meta?: {
|
|
39
|
-
[x: string]: unknown;
|
|
40
|
-
} | undefined;
|
|
41
|
-
icons?: {
|
|
42
|
-
src: string;
|
|
43
|
-
mimeType?: string | undefined;
|
|
44
|
-
sizes?: string[] | undefined;
|
|
45
|
-
}[] | undefined;
|
|
46
|
-
title?: string | undefined;
|
|
47
|
-
};
|
|
48
|
-
handler: (client: Scorecard, args: Record<string, unknown> | undefined) => Promise<import("scorecard-ai-mcp/tools/types").ToolCallResult>;
|
|
49
|
-
};
|
|
50
|
-
export default _default;
|
|
51
|
-
//# sourceMappingURL=update-testcases.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"update-testcases.d.mts","sourceRoot":"","sources":["../../src/tools/testcases/update-testcases.ts"],"names":[],"mappings":"OAGO,EAAE,QAAQ,EAAsC,MAAM,8BAA8B;OAEpF,EAAE,IAAI,EAAE,MAAM,oCAAoC;OAClD,SAAS,MAAM,cAAc;AAEpC,eAAO,MAAM,QAAQ,EAAE,QAOtB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,IA2BlB,CAAC;AAEF,eAAO,MAAM,OAAO,GAAU,QAAQ,SAAS,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,mEAUzF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAVoC,SAAS,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;;AAY1F,wBAA2C"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { Metadata } from 'scorecard-ai-mcp/tools/types';
|
|
2
|
-
import { Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
3
|
-
import Scorecard from 'scorecard-ai';
|
|
4
|
-
export declare const metadata: Metadata;
|
|
5
|
-
export declare const tool: Tool;
|
|
6
|
-
export declare const handler: (client: Scorecard, args: Record<string, unknown> | undefined) => Promise<import("scorecard-ai-mcp/tools/types").ToolCallResult>;
|
|
7
|
-
declare const _default: {
|
|
8
|
-
metadata: Metadata;
|
|
9
|
-
tool: {
|
|
10
|
-
inputSchema: {
|
|
11
|
-
[x: string]: unknown;
|
|
12
|
-
type: "object";
|
|
13
|
-
properties?: {
|
|
14
|
-
[x: string]: object;
|
|
15
|
-
} | undefined;
|
|
16
|
-
required?: string[] | undefined;
|
|
17
|
-
};
|
|
18
|
-
name: string;
|
|
19
|
-
description?: string | undefined;
|
|
20
|
-
outputSchema?: {
|
|
21
|
-
[x: string]: unknown;
|
|
22
|
-
type: "object";
|
|
23
|
-
properties?: {
|
|
24
|
-
[x: string]: object;
|
|
25
|
-
} | undefined;
|
|
26
|
-
required?: string[] | undefined;
|
|
27
|
-
} | undefined;
|
|
28
|
-
annotations?: {
|
|
29
|
-
title?: string | undefined;
|
|
30
|
-
readOnlyHint?: boolean | undefined;
|
|
31
|
-
destructiveHint?: boolean | undefined;
|
|
32
|
-
idempotentHint?: boolean | undefined;
|
|
33
|
-
openWorldHint?: boolean | undefined;
|
|
34
|
-
} | undefined;
|
|
35
|
-
execution?: {
|
|
36
|
-
taskSupport?: "optional" | "required" | "forbidden" | undefined;
|
|
37
|
-
} | undefined;
|
|
38
|
-
_meta?: {
|
|
39
|
-
[x: string]: unknown;
|
|
40
|
-
} | undefined;
|
|
41
|
-
icons?: {
|
|
42
|
-
src: string;
|
|
43
|
-
mimeType?: string | undefined;
|
|
44
|
-
sizes?: string[] | undefined;
|
|
45
|
-
}[] | undefined;
|
|
46
|
-
title?: string | undefined;
|
|
47
|
-
};
|
|
48
|
-
handler: (client: Scorecard, args: Record<string, unknown> | undefined) => Promise<import("scorecard-ai-mcp/tools/types").ToolCallResult>;
|
|
49
|
-
};
|
|
50
|
-
export default _default;
|
|
51
|
-
//# sourceMappingURL=update-testcases.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"update-testcases.d.ts","sourceRoot":"","sources":["../../src/tools/testcases/update-testcases.ts"],"names":[],"mappings":"OAGO,EAAE,QAAQ,EAAsC,MAAM,8BAA8B;OAEpF,EAAE,IAAI,EAAE,MAAM,oCAAoC;OAClD,SAAS,MAAM,cAAc;AAEpC,eAAO,MAAM,QAAQ,EAAE,QAOtB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,IA2BlB,CAAC;AAEF,eAAO,MAAM,OAAO,GAAU,QAAQ,SAAS,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,mEAUzF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAVoC,SAAS,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;;AAY1F,wBAA2C"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
3
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
-
};
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.handler = exports.tool = exports.metadata = void 0;
|
|
8
|
-
const filtering_1 = require("scorecard-ai-mcp/filtering");
|
|
9
|
-
const types_1 = require("scorecard-ai-mcp/tools/types");
|
|
10
|
-
const scorecard_ai_1 = __importDefault(require("scorecard-ai"));
|
|
11
|
-
exports.metadata = {
|
|
12
|
-
resource: 'testcases',
|
|
13
|
-
operation: 'write',
|
|
14
|
-
tags: [],
|
|
15
|
-
httpMethod: 'put',
|
|
16
|
-
httpPath: '/testcases/{testcaseId}',
|
|
17
|
-
operationId: 'updateTestcase',
|
|
18
|
-
};
|
|
19
|
-
exports.tool = {
|
|
20
|
-
name: 'update_testcases',
|
|
21
|
-
description: "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nReplace the data of an existing Testcase while keeping its ID.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/testcase',\n $defs: {\n testcase: {\n type: 'object',\n description: 'A test case in the Scorecard system. Contains JSON data that is validated against the schema defined by its Testset.\\nThe `inputs` and `expected` fields are derived from the `data` field based on the Testset\\'s `fieldMapping`, and include all mapped fields, including those with validation errors.\\nTestcases are stored regardless of validation results, with any validation errors included in the `validationErrors` field.',\n properties: {\n id: {\n type: 'string',\n description: 'The ID of the Testcase.'\n },\n expected: {\n type: 'object',\n description: 'Derived from data based on the Testset\\'s fieldMapping. Contains all fields marked as expected outputs, including those with validation errors.',\n additionalProperties: true\n },\n inputs: {\n type: 'object',\n description: 'Derived from data based on the Testset\\'s fieldMapping. Contains all fields marked as inputs, including those with validation errors.',\n additionalProperties: true\n },\n jsonData: {\n type: 'object',\n description: 'The JSON data of the Testcase, which is validated against the Testset\\'s schema.',\n additionalProperties: true\n },\n testsetId: {\n type: 'string',\n description: 'The ID of the Testset this Testcase belongs to.'\n },\n validationErrors: {\n type: 'array',\n description: 'Validation errors found in the Testcase data. If present, the Testcase doesn\\'t fully conform to its Testset\\'s schema.',\n items: {\n type: 'object',\n properties: {\n message: {\n type: 'string',\n description: 'Human-readable error description.'\n },\n path: {\n type: 'string',\n description: 'JSON Pointer to the field with the validation error.'\n }\n },\n required: [ 'message',\n 'path'\n ]\n }\n }\n },\n required: [ 'id',\n 'expected',\n 'inputs',\n 'jsonData',\n 'testsetId'\n ]\n }\n }\n}\n```",
|
|
22
|
-
inputSchema: {
|
|
23
|
-
type: 'object',
|
|
24
|
-
properties: {
|
|
25
|
-
testcaseId: {
|
|
26
|
-
type: 'string',
|
|
27
|
-
},
|
|
28
|
-
jsonData: {
|
|
29
|
-
type: 'object',
|
|
30
|
-
description: "The JSON data of the Testcase, which is validated against the Testset's schema.",
|
|
31
|
-
additionalProperties: true,
|
|
32
|
-
},
|
|
33
|
-
jq_filter: {
|
|
34
|
-
type: 'string',
|
|
35
|
-
title: 'jq Filter',
|
|
36
|
-
description: 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
|
|
37
|
-
},
|
|
38
|
-
},
|
|
39
|
-
required: ['testcaseId', 'jsonData'],
|
|
40
|
-
},
|
|
41
|
-
annotations: {
|
|
42
|
-
idempotentHint: true,
|
|
43
|
-
},
|
|
44
|
-
};
|
|
45
|
-
const handler = async (client, args) => {
|
|
46
|
-
const { testcaseId, jq_filter, ...body } = args;
|
|
47
|
-
try {
|
|
48
|
-
return (0, types_1.asTextContentResult)(await (0, filtering_1.maybeFilter)(jq_filter, await client.testcases.update(testcaseId, body)));
|
|
49
|
-
}
|
|
50
|
-
catch (error) {
|
|
51
|
-
if (error instanceof scorecard_ai_1.default.APIError || (0, filtering_1.isJqError)(error)) {
|
|
52
|
-
return (0, types_1.asErrorResult)(error.message);
|
|
53
|
-
}
|
|
54
|
-
throw error;
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
exports.handler = handler;
|
|
58
|
-
exports.default = { metadata: exports.metadata, tool: exports.tool, handler: exports.handler };
|
|
59
|
-
//# sourceMappingURL=update-testcases.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"update-testcases.js","sourceRoot":"","sources":["../../src/tools/testcases/update-testcases.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;;;;AAEtF,0DAAoE;AACpE,wDAA4F;AAG5F,gEAAqC;AAExB,QAAA,QAAQ,GAAa;IAChC,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,OAAO;IAClB,IAAI,EAAE,EAAE;IACR,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,yBAAyB;IACnC,WAAW,EAAE,gBAAgB;CAC9B,CAAC;AAEW,QAAA,IAAI,GAAS;IACxB,IAAI,EAAE,kBAAkB;IACxB,WAAW,EACT,0lFAA0lF;IAC5lF,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;aACf;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iFAAiF;gBAC9F,oBAAoB,EAAE,IAAI;aAC3B;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,WAAW;gBAClB,WAAW,EACT,kWAAkW;aACrW;SACF;QACD,QAAQ,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;KACrC;IACD,WAAW,EAAE;QACX,cAAc,EAAE,IAAI;KACrB;CACF,CAAC;AAEK,MAAM,OAAO,GAAG,KAAK,EAAE,MAAiB,EAAE,IAAyC,EAAE,EAAE;IAC5F,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAW,CAAC;IACvD,IAAI,CAAC;QACH,OAAO,IAAA,2BAAmB,EAAC,MAAM,IAAA,uBAAW,EAAC,SAAS,EAAE,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5G,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,sBAAS,CAAC,QAAQ,IAAI,IAAA,qBAAS,EAAC,KAAK,CAAC,EAAE,CAAC;YAC5D,OAAO,IAAA,qBAAa,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAVW,QAAA,OAAO,WAUlB;AAEF,kBAAe,EAAE,QAAQ,EAAR,gBAAQ,EAAE,IAAI,EAAJ,YAAI,EAAE,OAAO,EAAP,eAAO,EAAE,CAAC"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
-
import { isJqError, maybeFilter } from 'scorecard-ai-mcp/filtering';
|
|
3
|
-
import { asErrorResult, asTextContentResult } from 'scorecard-ai-mcp/tools/types';
|
|
4
|
-
import Scorecard from 'scorecard-ai';
|
|
5
|
-
export const metadata = {
|
|
6
|
-
resource: 'testcases',
|
|
7
|
-
operation: 'write',
|
|
8
|
-
tags: [],
|
|
9
|
-
httpMethod: 'put',
|
|
10
|
-
httpPath: '/testcases/{testcaseId}',
|
|
11
|
-
operationId: 'updateTestcase',
|
|
12
|
-
};
|
|
13
|
-
export const tool = {
|
|
14
|
-
name: 'update_testcases',
|
|
15
|
-
description: "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nReplace the data of an existing Testcase while keeping its ID.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/testcase',\n $defs: {\n testcase: {\n type: 'object',\n description: 'A test case in the Scorecard system. Contains JSON data that is validated against the schema defined by its Testset.\\nThe `inputs` and `expected` fields are derived from the `data` field based on the Testset\\'s `fieldMapping`, and include all mapped fields, including those with validation errors.\\nTestcases are stored regardless of validation results, with any validation errors included in the `validationErrors` field.',\n properties: {\n id: {\n type: 'string',\n description: 'The ID of the Testcase.'\n },\n expected: {\n type: 'object',\n description: 'Derived from data based on the Testset\\'s fieldMapping. Contains all fields marked as expected outputs, including those with validation errors.',\n additionalProperties: true\n },\n inputs: {\n type: 'object',\n description: 'Derived from data based on the Testset\\'s fieldMapping. Contains all fields marked as inputs, including those with validation errors.',\n additionalProperties: true\n },\n jsonData: {\n type: 'object',\n description: 'The JSON data of the Testcase, which is validated against the Testset\\'s schema.',\n additionalProperties: true\n },\n testsetId: {\n type: 'string',\n description: 'The ID of the Testset this Testcase belongs to.'\n },\n validationErrors: {\n type: 'array',\n description: 'Validation errors found in the Testcase data. If present, the Testcase doesn\\'t fully conform to its Testset\\'s schema.',\n items: {\n type: 'object',\n properties: {\n message: {\n type: 'string',\n description: 'Human-readable error description.'\n },\n path: {\n type: 'string',\n description: 'JSON Pointer to the field with the validation error.'\n }\n },\n required: [ 'message',\n 'path'\n ]\n }\n }\n },\n required: [ 'id',\n 'expected',\n 'inputs',\n 'jsonData',\n 'testsetId'\n ]\n }\n }\n}\n```",
|
|
16
|
-
inputSchema: {
|
|
17
|
-
type: 'object',
|
|
18
|
-
properties: {
|
|
19
|
-
testcaseId: {
|
|
20
|
-
type: 'string',
|
|
21
|
-
},
|
|
22
|
-
jsonData: {
|
|
23
|
-
type: 'object',
|
|
24
|
-
description: "The JSON data of the Testcase, which is validated against the Testset's schema.",
|
|
25
|
-
additionalProperties: true,
|
|
26
|
-
},
|
|
27
|
-
jq_filter: {
|
|
28
|
-
type: 'string',
|
|
29
|
-
title: 'jq Filter',
|
|
30
|
-
description: 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
|
|
31
|
-
},
|
|
32
|
-
},
|
|
33
|
-
required: ['testcaseId', 'jsonData'],
|
|
34
|
-
},
|
|
35
|
-
annotations: {
|
|
36
|
-
idempotentHint: true,
|
|
37
|
-
},
|
|
38
|
-
};
|
|
39
|
-
export const handler = async (client, args) => {
|
|
40
|
-
const { testcaseId, jq_filter, ...body } = args;
|
|
41
|
-
try {
|
|
42
|
-
return asTextContentResult(await maybeFilter(jq_filter, await client.testcases.update(testcaseId, body)));
|
|
43
|
-
}
|
|
44
|
-
catch (error) {
|
|
45
|
-
if (error instanceof Scorecard.APIError || isJqError(error)) {
|
|
46
|
-
return asErrorResult(error.message);
|
|
47
|
-
}
|
|
48
|
-
throw error;
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
export default { metadata, tool, handler };
|
|
52
|
-
//# sourceMappingURL=update-testcases.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"update-testcases.mjs","sourceRoot":"","sources":["../../src/tools/testcases/update-testcases.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,4BAA4B;OAC5D,EAAY,aAAa,EAAE,mBAAmB,EAAE,MAAM,8BAA8B;OAGpF,SAAS,MAAM,cAAc;AAEpC,MAAM,CAAC,MAAM,QAAQ,GAAa;IAChC,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,OAAO;IAClB,IAAI,EAAE,EAAE;IACR,UAAU,EAAE,KAAK;IACjB,QAAQ,EAAE,yBAAyB;IACnC,WAAW,EAAE,gBAAgB;CAC9B,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAS;IACxB,IAAI,EAAE,kBAAkB;IACxB,WAAW,EACT,0lFAA0lF;IAC5lF,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;aACf;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iFAAiF;gBAC9F,oBAAoB,EAAE,IAAI;aAC3B;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,WAAW;gBAClB,WAAW,EACT,kWAAkW;aACrW;SACF;QACD,QAAQ,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;KACrC;IACD,WAAW,EAAE;QACX,cAAc,EAAE,IAAI;KACrB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,MAAiB,EAAE,IAAyC,EAAE,EAAE;IAC5F,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAW,CAAC;IACvD,IAAI,CAAC;QACH,OAAO,mBAAmB,CAAC,MAAM,WAAW,CAAC,SAAS,EAAE,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5G,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5D,OAAO,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC"}
|