@dalmia/calibrate-mcp 0.0.87 → 0.0.89

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/bin/mcp-server.js +408 -88
  2. package/bin/mcp-server.js.map +23 -15
  3. package/esm/funcs/{workspaceCurrent.d.ts → organizationsCurrent.d.ts} +2 -2
  4. package/esm/funcs/organizationsCurrent.d.ts.map +1 -0
  5. package/esm/funcs/{workspaceCurrent.js → organizationsCurrent.js} +2 -2
  6. package/esm/funcs/organizationsCurrent.js.map +1 -0
  7. package/esm/funcs/tracesList.d.ts +16 -0
  8. package/esm/funcs/tracesList.d.ts.map +1 -0
  9. package/esm/funcs/tracesList.js +102 -0
  10. package/esm/funcs/tracesList.js.map +1 -0
  11. package/esm/landing-page.js +1 -1
  12. package/esm/lib/config.d.ts +2 -2
  13. package/esm/lib/config.js +2 -2
  14. package/esm/mcp-server/mcp-server.js +1 -1
  15. package/esm/mcp-server/server.d.ts.map +1 -1
  16. package/esm/mcp-server/server.js +5 -3
  17. package/esm/mcp-server/server.js.map +1 -1
  18. package/esm/mcp-server/tools/{workspaceCurrent.d.ts → organizationsCurrent.d.ts} +2 -2
  19. package/esm/mcp-server/tools/organizationsCurrent.d.ts.map +1 -0
  20. package/esm/mcp-server/tools/{workspaceCurrent.js → organizationsCurrent.js} +4 -4
  21. package/esm/mcp-server/tools/organizationsCurrent.js.map +1 -0
  22. package/esm/mcp-server/tools/tracesList.d.ts +7 -0
  23. package/esm/mcp-server/tools/tracesList.d.ts.map +1 -0
  24. package/esm/mcp-server/tools/tracesList.js +40 -0
  25. package/esm/mcp-server/tools/tracesList.js.map +1 -0
  26. package/esm/models/listtracesendpointtracesgetop.d.ts +55 -0
  27. package/esm/models/listtracesendpointtracesgetop.d.ts.map +1 -0
  28. package/esm/models/listtracesendpointtracesgetop.js +52 -0
  29. package/esm/models/listtracesendpointtracesgetop.js.map +1 -0
  30. package/esm/models/traceevalrunstatus.d.ts +18 -0
  31. package/esm/models/traceevalrunstatus.d.ts.map +1 -0
  32. package/esm/models/traceevalrunstatus.js +19 -0
  33. package/esm/models/traceevalrunstatus.js.map +1 -0
  34. package/esm/models/tracelistresponse.d.ts +15 -0
  35. package/esm/models/tracelistresponse.d.ts.map +1 -0
  36. package/esm/models/tracelistresponse.js +16 -0
  37. package/esm/models/tracelistresponse.js.map +1 -0
  38. package/esm/models/tracescoreaverage.d.ts +38 -0
  39. package/esm/models/tracescoreaverage.d.ts.map +1 -0
  40. package/esm/models/tracescoreaverage.js +31 -0
  41. package/esm/models/tracescoreaverage.js.map +1 -0
  42. package/esm/models/tracescoreresult.d.ts +58 -0
  43. package/esm/models/tracescoreresult.d.ts.map +1 -0
  44. package/esm/models/tracescoreresult.js +50 -0
  45. package/esm/models/tracescoreresult.js.map +1 -0
  46. package/esm/models/tracesummary.d.ts +35 -0
  47. package/esm/models/tracesummary.d.ts.map +1 -0
  48. package/esm/models/tracesummary.js +42 -0
  49. package/esm/models/tracesummary.js.map +1 -0
  50. package/esm/tool-names.d.ts.map +1 -1
  51. package/esm/tool-names.js +4 -0
  52. package/esm/tool-names.js.map +1 -1
  53. package/package.json +1 -1
  54. package/src/funcs/{workspaceCurrent.ts → organizationsCurrent.ts} +1 -1
  55. package/src/funcs/tracesList.ts +165 -0
  56. package/src/landing-page.ts +1 -1
  57. package/src/lib/config.ts +2 -2
  58. package/src/mcp-server/mcp-server.ts +1 -1
  59. package/src/mcp-server/server.ts +5 -3
  60. package/src/mcp-server/tools/{workspaceCurrent.ts → organizationsCurrent.ts} +3 -3
  61. package/src/mcp-server/tools/tracesList.ts +48 -0
  62. package/src/models/listtracesendpointtracesgetop.ts +129 -0
  63. package/src/models/traceevalrunstatus.ts +23 -0
  64. package/src/models/tracelistresponse.ts +39 -0
  65. package/src/models/tracescoreaverage.ts +72 -0
  66. package/src/models/tracescoreresult.ts +107 -0
  67. package/src/models/tracesummary.ts +112 -0
  68. package/src/tool-names.ts +4 -0
  69. package/esm/funcs/workspaceCurrent.d.ts.map +0 -1
  70. package/esm/funcs/workspaceCurrent.js.map +0 -1
  71. package/esm/mcp-server/tools/workspaceCurrent.d.ts.map +0 -1
  72. package/esm/mcp-server/tools/workspaceCurrent.js.map +0 -1
package/bin/mcp-server.js CHANGED
@@ -25997,6 +25997,15 @@ var require_utils2 = __commonJS(function(exports, module) {
25997
25997
  }
25998
25998
  return max;
25999
25999
  };
26000
+ var countElements = function countElements(arr) {
26001
+ var count = 0;
26002
+ for (var i = 0;i < arr.length; ++i) {
26003
+ if (has.call(arr, i)) {
26004
+ count += 1;
26005
+ }
26006
+ }
26007
+ return count;
26008
+ };
26000
26009
  var limitedPair = function limitedPair(first, second, options) {
26001
26010
  var pair = [first, second];
26002
26011
  if (options && typeof options.arrayLimit === "number" && pair.length > options.arrayLimit) {
@@ -26014,7 +26023,7 @@ var require_utils2 = __commonJS(function(exports, module) {
26014
26023
  if (typeof source !== "object" && typeof source !== "function") {
26015
26024
  if (isArray(target)) {
26016
26025
  var nextIndex = target.length;
26017
- if (options && typeof options.arrayLimit === "number" && nextIndex >= options.arrayLimit) {
26026
+ if (options && typeof options.arrayLimit === "number" && countElements(target) >= options.arrayLimit) {
26018
26027
  if (options.throwOnLimitExceeded) {
26019
26028
  throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array.");
26020
26029
  }
@@ -26083,7 +26092,7 @@ var require_utils2 = __commonJS(function(exports, module) {
26083
26092
  target[i] = item;
26084
26093
  }
26085
26094
  });
26086
- if (options && typeof options.arrayLimit === "number" && target.length > options.arrayLimit) {
26095
+ if (options && typeof options.arrayLimit === "number" && countElements(target) > options.arrayLimit) {
26087
26096
  if (options.throwOnLimitExceeded) {
26088
26097
  throw new RangeError("Array limit exceeded. Only " + options.arrayLimit + " element" + (options.arrayLimit === 1 ? "" : "s") + " allowed in an array.");
26089
26098
  }
@@ -26577,6 +26586,7 @@ var require_parse = __commonJS(function(exports, module) {
26577
26586
  var has = Object.prototype.hasOwnProperty;
26578
26587
  var isArray = Array.isArray;
26579
26588
  var getPrototypeOf = Object.getPrototypeOf;
26589
+ var fromCharCode = String.fromCharCode;
26580
26590
  var isPlainContainer = function isPlainContainer(value) {
26581
26591
  if (!value || typeof value !== "object") {
26582
26592
  return false;
@@ -26645,7 +26655,12 @@ var require_parse = __commonJS(function(exports, module) {
26645
26655
  };
26646
26656
  var interpretNumericEntities = function(str) {
26647
26657
  return str.replace(/&#(\d+);/g, function($0, numberStr) {
26648
- return String.fromCharCode(parseInt(numberStr, 10));
26658
+ var c = parseInt(numberStr, 10);
26659
+ if (c > 65535 && c <= 1114111) {
26660
+ c -= 65536;
26661
+ return fromCharCode(55296 | c >> 10, 56320 | c & 1023);
26662
+ }
26663
+ return fromCharCode(c);
26649
26664
  });
26650
26665
  };
26651
26666
  var parseArrayValue = function(val, options, currentArrayLength) {
@@ -26738,6 +26753,9 @@ var require_parse = __commonJS(function(exports, module) {
26738
26753
  }
26739
26754
  return obj;
26740
26755
  };
26756
+ var stripWrappingBrackets = function stripWrappingBrackets(key) {
26757
+ return key.charAt(0) === "[" && key.charAt(key.length - 1) === "]" ? key.slice(1, -1) : key;
26758
+ };
26741
26759
  var parseObject = function(chain, val, options, valuesParsed) {
26742
26760
  var currentArrayLength = 0;
26743
26761
  if (chain.length > 0 && chain[chain.length - 1] === "[]") {
@@ -26756,12 +26774,12 @@ var require_parse = __commonJS(function(exports, module) {
26756
26774
  }
26757
26775
  } else {
26758
26776
  obj = options.plainObjects ? { __proto__: null } : {};
26759
- var cleanRoot = root.charAt(0) === "[" && root.charAt(root.length - 1) === "]" ? root.slice(1, -1) : root;
26777
+ var cleanRoot = stripWrappingBrackets(root);
26760
26778
  var decodedRoot = options.decodeDotInKeys ? cleanRoot.replace(/%2E/gi, ".") : cleanRoot;
26761
26779
  var index = parseInt(decodedRoot, 10);
26762
26780
  var isValidArrayIndex = !isNaN(index) && root !== decodedRoot && String(index) === decodedRoot && index >= 0 && options.parseArrays;
26763
26781
  if (!options.parseArrays && decodedRoot === "") {
26764
- obj = { 0: leaf };
26782
+ obj[0] = leaf;
26765
26783
  } else if (isValidArrayIndex && index < options.arrayLimit) {
26766
26784
  obj = [];
26767
26785
  obj[index] = leaf;
@@ -26808,7 +26826,7 @@ var require_parse = __commonJS(function(exports, module) {
26808
26826
  var splitKeyIntoSegments = function splitKeyIntoSegments(originalKey, options) {
26809
26827
  var key = options.allowDots ? topLevelDotsToBrackets(originalKey) : originalKey;
26810
26828
  if (options.depth <= 0) {
26811
- if (!options.plainObjects && has.call(Object.prototype, key)) {
26829
+ if (!options.plainObjects && has.call(Object.prototype, stripWrappingBrackets(key))) {
26812
26830
  if (!options.allowPrototypes) {
26813
26831
  return;
26814
26832
  }
@@ -27095,10 +27113,11 @@ var require_encodeurl = __commonJS(function(exports, module) {
27095
27113
  */
27096
27114
  module.exports = encodeUrl;
27097
27115
  var ENCODE_CHARS_REGEXP = /(?:[^\x21\x23-\x3B\x3D\x3F-\x5F\x61-\x7A\x7C\x7E]|%(?:[^0-9A-Fa-f]|[0-9A-Fa-f][^0-9A-Fa-f]|$))+/g;
27098
- var UNMATCHED_SURROGATE_PAIR_REGEXP = /(^|[^\uD800-\uDBFF])[\uDC00-\uDFFF]|[\uD800-\uDBFF]([^\uDC00-\uDFFF]|$)/g;
27099
- var UNMATCHED_SURROGATE_PAIR_REPLACE = "$1�$2";
27116
+ var SURROGATE_REGEXP = /([\uD800-\uDBFF][\uDC00-\uDFFF])|[\uD800-\uDFFF]/g;
27100
27117
  function encodeUrl(url) {
27101
- return String(url).replace(UNMATCHED_SURROGATE_PAIR_REGEXP, UNMATCHED_SURROGATE_PAIR_REPLACE).replace(ENCODE_CHARS_REGEXP, encodeURI);
27118
+ return String(url).replace(SURROGATE_REGEXP, function(_, pair) {
27119
+ return pair || "�";
27120
+ }).replace(ENCODE_CHARS_REGEXP, encodeURI);
27102
27121
  }
27103
27122
  });
27104
27123
 
@@ -53279,9 +53298,9 @@ var init_config = __esm(() => {
53279
53298
  SDK_METADATA = {
53280
53299
  language: "typescript",
53281
53300
  openapiDocVersion: "0.1.0",
53282
- sdkVersion: "0.0.87",
53301
+ sdkVersion: "0.0.89",
53283
53302
  genVersion: "2.915.1",
53284
- userAgent: "speakeasy-sdk/mcp-typescript 0.0.87 2.915.1 0.1.0 @dalmia/calibrate-mcp"
53303
+ userAgent: "speakeasy-sdk/mcp-typescript 0.0.89 2.915.1 0.1.0 @dalmia/calibrate-mcp"
53285
53304
  };
53286
53305
  });
53287
53306
 
@@ -61851,6 +61870,146 @@ var init_evaluatorsList2 = __esm(() => {
61851
61870
  };
61852
61871
  });
61853
61872
 
61873
+ // src/models/currentworkspaceresponse.ts
61874
+ var CurrentWorkspaceResponse$zodSchema;
61875
+ var init_currentworkspaceresponse = __esm(() => {
61876
+ init_zod();
61877
+ CurrentWorkspaceResponse$zodSchema = object({
61878
+ name: string2().describe("Workspace display name"),
61879
+ uuid: string2().describe("Workspace ID. Put this at the front of a Calibrate web address to link straight to something in this workspace, as in `/<uuid>/tests`")
61880
+ });
61881
+ });
61882
+
61883
+ // src/models/getcurrentworkspaceorganizationscurrentgetop.ts
61884
+ var GetCurrentWorkspaceOrganizationsCurrentGetRequest$zodSchema, GetCurrentWorkspaceOrganizationsCurrentGetResponse$zodSchema;
61885
+ var init_getcurrentworkspaceorganizationscurrentgetop = __esm(() => {
61886
+ init_zod();
61887
+ init_currentworkspaceresponse();
61888
+ init_httpvalidationerror();
61889
+ GetCurrentWorkspaceOrganizationsCurrentGetRequest$zodSchema = object({
61890
+ xAPIKey: string2().nullable().optional()
61891
+ });
61892
+ GetCurrentWorkspaceOrganizationsCurrentGetResponse$zodSchema = union([
61893
+ CurrentWorkspaceResponse$zodSchema,
61894
+ HTTPValidationError$zodSchema
61895
+ ]);
61896
+ });
61897
+
61898
+ // src/funcs/organizationsCurrent.ts
61899
+ function organizationsCurrent(client$, request, options) {
61900
+ return new APIPromise($do40(client$, request, options));
61901
+ }
61902
+ async function $do40(client$, request, options) {
61903
+ const parsed$ = safeParse4(request, (value$) => GetCurrentWorkspaceOrganizationsCurrentGetRequest$zodSchema.optional().parse(value$), "Input validation failed");
61904
+ if (!parsed$.ok) {
61905
+ return [parsed$, { status: "invalid" }];
61906
+ }
61907
+ const payload$ = parsed$.value;
61908
+ const body$ = null;
61909
+ const path$ = pathToFunc("/organizations/current")();
61910
+ const headers$ = new Headers(compactMap({
61911
+ Accept: "application/json",
61912
+ "X-API-Key": encodeSimple("X-API-Key", payload$?.xAPIKey, {
61913
+ explode: false,
61914
+ charEncoding: "none"
61915
+ })
61916
+ }));
61917
+ const securityInput = await extractSecurity(client$._options.security);
61918
+ const requestSecurity = resolveGlobalSecurity(securityInput);
61919
+ const context = {
61920
+ options: client$._options,
61921
+ baseURL: options?.serverURL ?? client$._baseURL ?? "",
61922
+ operationID: "get_current_workspace_organizations_current_get",
61923
+ oAuth2Scopes: null,
61924
+ resolvedSecurity: requestSecurity,
61925
+ securitySource: client$._options.security,
61926
+ retryConfig: options?.retries || client$._options.retryConfig || { strategy: "none" },
61927
+ retryCodes: options?.retryCodes || [
61928
+ "429",
61929
+ "500",
61930
+ "502",
61931
+ "503",
61932
+ "504"
61933
+ ]
61934
+ };
61935
+ const requestRes = client$._createRequest(context, {
61936
+ security: requestSecurity,
61937
+ method: "GET",
61938
+ baseURL: options?.serverURL,
61939
+ path: path$,
61940
+ headers: headers$,
61941
+ body: body$,
61942
+ userAgent: client$._options.userAgent,
61943
+ timeoutMs: options?.timeoutMs || client$._options.timeoutMs || -1
61944
+ }, options);
61945
+ if (!requestRes.ok) {
61946
+ return [requestRes, { status: "invalid" }];
61947
+ }
61948
+ const req$ = requestRes.value;
61949
+ const doResult = await client$._do(req$, {
61950
+ context,
61951
+ errorCodes: [],
61952
+ retryConfig: context.retryConfig,
61953
+ retryCodes: context.retryCodes
61954
+ });
61955
+ if (!doResult.ok) {
61956
+ return [doResult, { status: "request-error", request: req$ }];
61957
+ }
61958
+ return [doResult, {
61959
+ status: "complete",
61960
+ request: req$,
61961
+ response: doResult.value
61962
+ }];
61963
+ }
61964
+ var init_organizationsCurrent = __esm(() => {
61965
+ init_encodings();
61966
+ init_primitives();
61967
+ init_schemas4();
61968
+ init_security();
61969
+ init_url();
61970
+ init_getcurrentworkspaceorganizationscurrentgetop();
61971
+ init_async();
61972
+ });
61973
+
61974
+ // src/mcp-server/tools/organizationsCurrent.ts
61975
+ var args40, tool$organizationsCurrent;
61976
+ var init_organizationsCurrent2 = __esm(() => {
61977
+ init_organizationsCurrent();
61978
+ init_getcurrentworkspaceorganizationscurrentgetop();
61979
+ init_tools();
61980
+ args40 = {
61981
+ request: GetCurrentWorkspaceOrganizationsCurrentGetRequest$zodSchema.optional()
61982
+ };
61983
+ tool$organizationsCurrent = {
61984
+ name: "get-current-workspace",
61985
+ description: `Get the workspace the caller's API key belongs to, as its ID and
61986
+ name. Put the ID at the front of a Calibrate web address to link
61987
+ straight to something in that workspace, as in \`/<uuid>/tests\`.
61988
+ Without it, a link opens whichever workspace the reader looked at
61989
+ last. Requires a Calibrate API key (CALIBRATE_API_KEY).
61990
+ `,
61991
+ scopes: ["read"],
61992
+ annotations: {
61993
+ title: "Get the current workspace",
61994
+ destructiveHint: false,
61995
+ idempotentHint: true,
61996
+ openWorldHint: true,
61997
+ readOnlyHint: true
61998
+ },
61999
+ args: args40,
62000
+ tool: async (client, args, ctx) => {
62001
+ const [result] = await organizationsCurrent(client, args.request, { fetchOptions: { signal: ctx.signal } }).$inspect();
62002
+ if (!result.ok) {
62003
+ return {
62004
+ content: [{ type: "text", text: result.error.message }],
62005
+ isError: true
62006
+ };
62007
+ }
62008
+ return formatResult(result.value);
62009
+ }
62010
+ };
62011
+ });
62012
+
61854
62013
  // src/models/chatmessage.ts
61855
62014
  var Role$zodSchema, ChatMessage$zodSchema;
61856
62015
  var init_chatmessage = __esm(() => {
@@ -61957,9 +62116,9 @@ var init_bulkuploadteststestsbulkpostop = __esm(() => {
61957
62116
 
61958
62117
  // src/funcs/testsBulkCreate.ts
61959
62118
  function testsBulkCreate(client$, request, options) {
61960
- return new APIPromise($do40(client$, request, options));
62119
+ return new APIPromise($do41(client$, request, options));
61961
62120
  }
61962
- async function $do40(client$, request, options) {
62121
+ async function $do41(client$, request, options) {
61963
62122
  const parsed$ = safeParse4(request, (value$) => BulkUploadTestsTestsBulkPostRequest$zodSchema.parse(value$), "Input validation failed");
61964
62123
  if (!parsed$.ok) {
61965
62124
  return [parsed$, { status: "invalid" }];
@@ -62033,12 +62192,12 @@ var init_testsBulkCreate = __esm(() => {
62033
62192
  });
62034
62193
 
62035
62194
  // src/mcp-server/tools/testsBulkCreate.ts
62036
- var args40, tool$testsBulkCreate;
62195
+ var args41, tool$testsBulkCreate;
62037
62196
  var init_testsBulkCreate2 = __esm(() => {
62038
62197
  init_testsBulkCreate();
62039
62198
  init_bulkuploadteststestsbulkpostop();
62040
62199
  init_tools();
62041
- args40 = {
62200
+ args41 = {
62042
62201
  request: BulkUploadTestsTestsBulkPostRequest$zodSchema
62043
62202
  };
62044
62203
  tool$testsBulkCreate = {
@@ -62055,7 +62214,7 @@ tests including their UUIDs.
62055
62214
  openWorldHint: true,
62056
62215
  readOnlyHint: false
62057
62216
  },
62058
- args: args40,
62217
+ args: args41,
62059
62218
  tool: async (client, args, ctx) => {
62060
62219
  const [result] = await testsBulkCreate(client, args.request, { fetchOptions: { signal: ctx.signal } }).$inspect();
62061
62220
  if (!result.ok) {
@@ -62117,9 +62276,9 @@ var init_createtestendpointtestspostop = __esm(() => {
62117
62276
 
62118
62277
  // src/funcs/testsCreate.ts
62119
62278
  function testsCreate(client$, request, options) {
62120
- return new APIPromise($do41(client$, request, options));
62279
+ return new APIPromise($do42(client$, request, options));
62121
62280
  }
62122
- async function $do41(client$, request, options) {
62281
+ async function $do42(client$, request, options) {
62123
62282
  const parsed$ = safeParse4(request, (value$) => CreateTestEndpointTestsPostRequest$zodSchema.parse(value$), "Input validation failed");
62124
62283
  if (!parsed$.ok) {
62125
62284
  return [parsed$, { status: "invalid" }];
@@ -62193,12 +62352,12 @@ var init_testsCreate = __esm(() => {
62193
62352
  });
62194
62353
 
62195
62354
  // src/mcp-server/tools/testsCreate.ts
62196
- var args41, tool$testsCreate;
62355
+ var args42, tool$testsCreate;
62197
62356
  var init_testsCreate2 = __esm(() => {
62198
62357
  init_testsCreate();
62199
62358
  init_createtestendpointtestspostop();
62200
62359
  init_tools();
62201
- args41 = {
62360
+ args42 = {
62202
62361
  request: CreateTestEndpointTestsPostRequest$zodSchema
62203
62362
  };
62204
62363
  tool$testsCreate = {
@@ -62215,7 +62374,7 @@ Requires a Calibrate API key (CALIBRATE_API_KEY).
62215
62374
  openWorldHint: true,
62216
62375
  readOnlyHint: false
62217
62376
  },
62218
- args: args41,
62377
+ args: args42,
62219
62378
  tool: async (client, args, ctx) => {
62220
62379
  const [result] = await testsCreate(client, args.request, { fetchOptions: { signal: ctx.signal } }).$inspect();
62221
62380
  if (!result.ok) {
@@ -62268,9 +62427,9 @@ var init_gettestendpointteststestuuidgetop = __esm(() => {
62268
62427
 
62269
62428
  // src/funcs/testsGet.ts
62270
62429
  function testsGet(client$, request, options) {
62271
- return new APIPromise($do42(client$, request, options));
62430
+ return new APIPromise($do43(client$, request, options));
62272
62431
  }
62273
- async function $do42(client$, request, options) {
62432
+ async function $do43(client$, request, options) {
62274
62433
  const parsed$ = safeParse4(request, (value$) => GetTestEndpointTestsTestUuidGetRequest$zodSchema.parse(value$), "Input validation failed");
62275
62434
  if (!parsed$.ok) {
62276
62435
  return [parsed$, { status: "invalid" }];
@@ -62349,12 +62508,12 @@ var init_testsGet = __esm(() => {
62349
62508
  });
62350
62509
 
62351
62510
  // src/mcp-server/tools/testsGet.ts
62352
- var args42, tool$testsGet;
62511
+ var args43, tool$testsGet;
62353
62512
  var init_testsGet2 = __esm(() => {
62354
62513
  init_testsGet();
62355
62514
  init_gettestendpointteststestuuidgetop();
62356
62515
  init_tools();
62357
- args42 = {
62516
+ args43 = {
62358
62517
  request: GetTestEndpointTestsTestUuidGetRequest$zodSchema
62359
62518
  };
62360
62519
  tool$testsGet = {
@@ -62371,7 +62530,7 @@ exist or belongs to another org.
62371
62530
  openWorldHint: true,
62372
62531
  readOnlyHint: true
62373
62532
  },
62374
- args: args42,
62533
+ args: args43,
62375
62534
  tool: async (client, args, ctx) => {
62376
62535
  const [result] = await testsGet(client, args.request, { fetchOptions: { signal: ctx.signal } }).$inspect();
62377
62536
  if (!result.ok) {
@@ -62405,9 +62564,9 @@ var init_listteststestsgetop = __esm(() => {
62405
62564
 
62406
62565
  // src/funcs/testsList.ts
62407
62566
  function testsList(client$, request, options) {
62408
- return new APIPromise($do43(client$, request, options));
62567
+ return new APIPromise($do44(client$, request, options));
62409
62568
  }
62410
- async function $do43(client$, request, options) {
62569
+ async function $do44(client$, request, options) {
62411
62570
  const parsed$ = safeParse4(request, (value$) => ListTestsTestsGetRequest$zodSchema.optional().parse(value$), "Input validation failed");
62412
62571
  if (!parsed$.ok) {
62413
62572
  return [parsed$, { status: "invalid" }];
@@ -62486,12 +62645,12 @@ var init_testsList = __esm(() => {
62486
62645
  });
62487
62646
 
62488
62647
  // src/mcp-server/tools/testsList.ts
62489
- var args43, tool$testsList;
62648
+ var args44, tool$testsList;
62490
62649
  var init_testsList2 = __esm(() => {
62491
62650
  init_testsList();
62492
62651
  init_listteststestsgetop();
62493
62652
  init_tools();
62494
- args43 = {
62653
+ args44 = {
62495
62654
  request: ListTestsTestsGetRequest$zodSchema.optional()
62496
62655
  };
62497
62656
  tool$testsList = {
@@ -62508,7 +62667,7 @@ before creating runs.
62508
62667
  openWorldHint: true,
62509
62668
  readOnlyHint: true
62510
62669
  },
62511
- args: args43,
62670
+ args: args44,
62512
62671
  tool: async (client, args, ctx) => {
62513
62672
  const [result] = await testsList(client, args.request, { fetchOptions: { signal: ctx.signal } }).$inspect();
62514
62673
  if (!result.ok) {
@@ -62561,9 +62720,9 @@ var init_updatetestendpointteststestuuidputop = __esm(() => {
62561
62720
 
62562
62721
  // src/funcs/testsUpdate.ts
62563
62722
  function testsUpdate(client$, request, options) {
62564
- return new APIPromise($do44(client$, request, options));
62723
+ return new APIPromise($do45(client$, request, options));
62565
62724
  }
62566
- async function $do44(client$, request, options) {
62725
+ async function $do45(client$, request, options) {
62567
62726
  const parsed$ = safeParse4(request, (value$) => UpdateTestEndpointTestsTestUuidPutRequest$zodSchema.parse(value$), "Input validation failed");
62568
62727
  if (!parsed$.ok) {
62569
62728
  return [parsed$, { status: "invalid" }];
@@ -62643,12 +62802,12 @@ var init_testsUpdate = __esm(() => {
62643
62802
  });
62644
62803
 
62645
62804
  // src/mcp-server/tools/testsUpdate.ts
62646
- var args44, tool$testsUpdate;
62805
+ var args45, tool$testsUpdate;
62647
62806
  var init_testsUpdate2 = __esm(() => {
62648
62807
  init_testsUpdate();
62649
62808
  init_updatetestendpointteststestuuidputop();
62650
62809
  init_tools();
62651
- args44 = {
62810
+ args45 = {
62652
62811
  request: UpdateTestEndpointTestsTestUuidPutRequest$zodSchema
62653
62812
  };
62654
62813
  tool$testsUpdate = {
@@ -62665,7 +62824,7 @@ fields to change (name, config). Returns the updated test. Fails with
62665
62824
  openWorldHint: true,
62666
62825
  readOnlyHint: false
62667
62826
  },
62668
- args: args44,
62827
+ args: args45,
62669
62828
  tool: async (client, args, ctx) => {
62670
62829
  const [result] = await testsUpdate(client, args.request, { fetchOptions: { signal: ctx.signal } }).$inspect();
62671
62830
  if (!result.ok) {
@@ -62789,9 +62948,9 @@ var init_ingesttracetracespostop = __esm(() => {
62789
62948
 
62790
62949
  // src/funcs/tracesCreate.ts
62791
62950
  function tracesCreate(client$, request, options) {
62792
- return new APIPromise($do45(client$, request, options));
62951
+ return new APIPromise($do46(client$, request, options));
62793
62952
  }
62794
- async function $do45(client$, request, options) {
62953
+ async function $do46(client$, request, options) {
62795
62954
  const parsed$ = safeParse4(request, (value$) => IngestTraceTracesPostRequest$zodSchema.parse(value$), "Input validation failed");
62796
62955
  if (!parsed$.ok) {
62797
62956
  return [parsed$, { status: "invalid" }];
@@ -62865,12 +63024,12 @@ var init_tracesCreate = __esm(() => {
62865
63024
  });
62866
63025
 
62867
63026
  // src/mcp-server/tools/tracesCreate.ts
62868
- var args45, tool$tracesCreate;
63027
+ var args46, tool$tracesCreate;
62869
63028
  var init_tracesCreate2 = __esm(() => {
62870
63029
  init_tracesCreate();
62871
63030
  init_ingesttracetracespostop();
62872
63031
  init_tools();
62873
- args45 = {
63032
+ args46 = {
62874
63033
  request: IngestTraceTracesPostRequest$zodSchema
62875
63034
  };
62876
63035
  tool$tracesCreate = {
@@ -62889,7 +63048,7 @@ hits its trace limit.
62889
63048
  openWorldHint: true,
62890
63049
  readOnlyHint: false
62891
63050
  },
62892
- args: args45,
63051
+ args: args46,
62893
63052
  tool: async (client, args, ctx) => {
62894
63053
  const [result] = await tracesCreate(client, args.request, { fetchOptions: { signal: ctx.signal } }).$inspect();
62895
63054
  if (!result.ok) {
@@ -62903,43 +63062,188 @@ hits its trace limit.
62903
63062
  };
62904
63063
  });
62905
63064
 
62906
- // src/models/currentworkspaceresponse.ts
62907
- var CurrentWorkspaceResponse$zodSchema;
62908
- var init_currentworkspaceresponse = __esm(() => {
63065
+ // src/models/tracescoreaverage.ts
63066
+ var TraceScoreAverageOutputType$zodSchema, TraceScoreAverage$zodSchema;
63067
+ var init_tracescoreaverage = __esm(() => {
62909
63068
  init_zod();
62910
- CurrentWorkspaceResponse$zodSchema = object({
62911
- name: string2().describe("Workspace display name"),
62912
- uuid: string2().describe("Workspace ID. Put this at the front of a Calibrate web address to link straight to something in this workspace, as in `/<uuid>/tests`")
63069
+ TraceScoreAverageOutputType$zodSchema = _enum([
63070
+ "binary",
63071
+ "rating"
63072
+ ]).describe("How the evaluator scores:\n\n- `binary`: pass or fail\n- `rating`: a numeric score, using the scale in `output_config`\n");
63073
+ TraceScoreAverage$zodSchema = object({
63074
+ average: number2().describe("Mean of those scores. A binary evaluator averages 0 and 1, so its mean is the share that passed"),
63075
+ evaluator_uuid: string2().describe("ID of the evaluator these numbers are for"),
63076
+ name: string2().describe("Name of the evaluator. Uses the last stored name if it has been deleted"),
63077
+ output_type: TraceScoreAverageOutputType$zodSchema.describe("How the evaluator scores:\n\n- `binary`: pass or fail\n- `rating`: a numeric score, using the scale in `output_config`\n"),
63078
+ scale_max: number2().nullable().optional().describe("Highest value on a rating scale"),
63079
+ scale_min: number2().nullable().optional().describe("Lowest value on a rating scale"),
63080
+ traces_scored: int().describe("How many of the matching traces this evaluator scored")
62913
63081
  });
62914
63082
  });
62915
63083
 
62916
- // src/models/getcurrentworkspaceorganizationscurrentgetop.ts
62917
- var GetCurrentWorkspaceOrganizationsCurrentGetRequest$zodSchema, GetCurrentWorkspaceOrganizationsCurrentGetResponse$zodSchema;
62918
- var init_getcurrentworkspaceorganizationscurrentgetop = __esm(() => {
63084
+ // src/models/traceevalrunstatus.ts
63085
+ var TraceEvalRunStatus$zodSchema;
63086
+ var init_traceevalrunstatus = __esm(() => {
63087
+ init_zod();
63088
+ TraceEvalRunStatus$zodSchema = _enum([
63089
+ "pending",
63090
+ "processing",
63091
+ "completed",
63092
+ "failed",
63093
+ "skipped"
63094
+ ]);
63095
+ });
63096
+
63097
+ // src/models/tracescoreresult.ts
63098
+ var TraceScoreResultEvaluatorType$zodSchema, TraceScoreResultOutputType$zodSchema, TraceScoreResult$zodSchema;
63099
+ var init_tracescoreresult = __esm(() => {
63100
+ init_zod();
63101
+ TraceScoreResultEvaluatorType$zodSchema = _enum([
63102
+ "tts",
63103
+ "stt",
63104
+ "llm",
63105
+ "llm-general",
63106
+ "conversation",
63107
+ "tool-call"
63108
+ ]);
63109
+ TraceScoreResultOutputType$zodSchema = _enum([
63110
+ "binary",
63111
+ "rating"
63112
+ ]).describe("How the evaluator scores:\n\n- `binary`: pass or fail\n- `rating`: a numeric score, using the scale in `output_config`\n");
63113
+ TraceScoreResult$zodSchema = object({
63114
+ evaluator_type: TraceScoreResultEvaluatorType$zodSchema.nullable().optional().describe("What the evaluator judges:\n\n- `tts`: TTS audio\n- `stt`: one transcript\n- `llm`: a reply with its conversation history\n- `llm-general`: a standalone input and output pair\n- `conversation`: a full conversation\n- `tool-call`: whether the agent called the right tool, labelled by a person\n"),
63115
+ evaluator_uuid: string2().describe("ID of the evaluator that produced this result"),
63116
+ evaluator_version_id: string2().describe("ID of the evaluator version that produced this result"),
63117
+ name: string2().describe("Name of the evaluator. Uses the last stored name if it has been deleted"),
63118
+ output_type: TraceScoreResultOutputType$zodSchema.describe("How the evaluator scores:\n\n- `binary`: pass or fail\n- `rating`: a numeric score, using the scale in `output_config`\n"),
63119
+ passed: boolean2().describe("Whether this evaluator passed. A binary result passes on 1. A rating passes at the top of its scale"),
63120
+ reasoning: string2().nullable().optional().describe("The judge's rationale for this result"),
63121
+ scale_max: number2().nullable().optional().describe("Highest value on a rating scale"),
63122
+ scale_min: number2().nullable().optional().describe("Lowest value on a rating scale"),
63123
+ value: number2().describe("The judged result. Binary stores 0 or 1. Rating stores the numeric score")
63124
+ });
63125
+ });
63126
+
63127
+ // src/models/tracesummary.ts
63128
+ var TraceSummaryInput$zodSchema, TraceSummary$zodSchema;
63129
+ var init_tracesummary = __esm(() => {
63130
+ init_zod();
63131
+ init_traceevalrunstatus();
63132
+ init_tracemetadataentry();
63133
+ init_traceoutput();
63134
+ init_tracescoreresult();
63135
+ init_tracetoolcall();
63136
+ init_traceturn();
63137
+ TraceSummaryInput$zodSchema = union([
63138
+ string2(),
63139
+ array(TraceTurn$zodSchema)
63140
+ ]).describe("What the agent was given for this turn. For a `general` agent, the standalone prompt as a string. For a `conversation` agent, the history up to the reported output, oldest turn first, in OpenAI chat format. Sent only with `include_content`");
63141
+ TraceSummary$zodSchema = object({
63142
+ agent_id: string2().describe("ID of the agent that produced the turn"),
63143
+ conversation_id: string2().nullable().optional().describe("The conversation ID you sent, if any"),
63144
+ created_at: string2().describe("When the trace was created (ISO 8601 UTC)"),
63145
+ input: union([
63146
+ string2(),
63147
+ array(TraceTurn$zodSchema)
63148
+ ]).nullable().optional().describe("What the agent was given for this turn. For a `general` agent, the standalone prompt as a string. For a `conversation` agent, the history up to the reported output, oldest turn first, in OpenAI chat format. Sent only with `include_content`"),
63149
+ input_preview: string2().nullable().optional().describe("The standalone prompt or the last user message, truncated for display"),
63150
+ labels: array(string2()).describe("Your own tags for this turn, such as an environment or a release. Matched exactly when filtering, so keep the spelling stable"),
63151
+ latest_run_error: string2().nullable().optional().describe("Why the latest scoring run was skipped or failed"),
63152
+ latest_run_status: TraceEvalRunStatus$zodSchema.nullable().optional().describe("Status of the latest scoring run for this trace"),
63153
+ message_id: string2().nullable().optional().describe("The message ID you sent, if any"),
63154
+ metadata: array(TraceMetadataEntry$zodSchema).nullable().optional().describe("Key-value pairs stored with the trace. Sent only with `include_content`"),
63155
+ metadata_count: int().describe("Number of metadata entries stored with the trace"),
63156
+ output: TraceOutput$zodSchema.nullable().optional().describe("What the agent produced for this turn. Sent only with `include_content`"),
63157
+ response_preview: string2().nullable().optional().describe("The agent reply, truncated for display"),
63158
+ results: array(TraceScoreResult$zodSchema).optional().describe("Results for each evaluator on the latest scoring run"),
63159
+ tool_call_count: int().describe("Number of tool calls the agent issued for this turn"),
63160
+ tool_calls: array(TraceToolCall$zodSchema).describe("Tools the agent issued on this turn, with the arguments it passed"),
63161
+ tool_names: array(string2()).describe("Names of the tools the agent issued on this turn, in order"),
63162
+ turn_count: int().describe("Number of turns in the stored input. A standalone prompt counts as 1"),
63163
+ uuid: string2().describe("Unique ID for the trace")
63164
+ });
63165
+ });
63166
+
63167
+ // src/models/tracelistresponse.ts
63168
+ var TraceListResponse$zodSchema;
63169
+ var init_tracelistresponse = __esm(() => {
63170
+ init_zod();
63171
+ init_tracescoreaverage();
63172
+ init_tracesummary();
63173
+ TraceListResponse$zodSchema = object({
63174
+ items: array(TraceSummary$zodSchema).describe("The page of results"),
63175
+ limit: int().nullable().optional().describe("The applied `limit` (null when unbounded)"),
63176
+ offset: int().default(0).describe("The applied `offset`"),
63177
+ score_averages: array(TraceScoreAverage$zodSchema).nullable().optional().describe("One entry per evaluator that scored at least one matching trace, averaged over every matching trace rather than this page. Ask for it with `include_score_averages`"),
63178
+ total: int().describe("Total number of items matching the query, before pagination")
63179
+ }).describe("The page, plus the averages when `include_score_averages` asked for them.");
63180
+ });
63181
+
63182
+ // src/models/listtracesendpointtracesgetop.ts
63183
+ var ListTracesEndpointTracesGetOutputType$zodSchema, SortOrder$zodSchema, ListTracesEndpointTracesGetRequest$zodSchema, ListTracesEndpointTracesGetResponse$zodSchema;
63184
+ var init_listtracesendpointtracesgetop = __esm(() => {
62919
63185
  init_zod();
62920
- init_currentworkspaceresponse();
62921
63186
  init_httpvalidationerror();
62922
- GetCurrentWorkspaceOrganizationsCurrentGetRequest$zodSchema = object({
63187
+ init_tracelistresponse();
63188
+ ListTracesEndpointTracesGetOutputType$zodSchema = _enum([
63189
+ "response",
63190
+ "tool_call"
63191
+ ]).describe("Return only traces whose output is of this kind. `response` covers every trace carrying a reply, including one that also issued tool calls. `tool_call` covers traces that only issued tool calls");
63192
+ SortOrder$zodSchema = _enum([
63193
+ "asc",
63194
+ "desc"
63195
+ ]).describe("Whether `sort_by_evaluator` puts the highest scores first or the lowest. Ignored without it");
63196
+ ListTracesEndpointTracesGetRequest$zodSchema = object({
63197
+ agent_id: string2().describe("Return only traces from this agent").nullable().optional(),
63198
+ conversation_id: string2().describe("Return only the turns of this conversation. Requires `agent_id`").nullable().optional(),
63199
+ created_after: datetime2({ offset: true }).describe("Return only traces created at or after this time (ISO 8601). A time with no timezone is read as UTC").nullable().optional(),
63200
+ created_before: datetime2({ offset: true }).describe("Return only traces created before this time (ISO 8601). A time with no timezone is read as UTC").nullable().optional(),
63201
+ include_content: boolean2().default(false).describe("Also return each trace's full input, output and metadata. Use `limit` and `offset` to page through them"),
63202
+ include_score_averages: boolean2().default(false).describe("Also return each evaluator's mean score over every matching trace, not just this page. Costs a pass over those traces, so ask for it when the filters change rather than on every page"),
63203
+ labels: array(string2()).describe("Return only traces carrying at least one of these labels. Repeat the parameter for each label").nullable().optional(),
63204
+ limit: int().default(50).describe("Maximum number of items to return"),
63205
+ offset: int().default(0).describe("Number of items to skip before returning results"),
63206
+ output_type: ListTracesEndpointTracesGetOutputType$zodSchema.nullable().optional().describe("Return only traces whose output is of this kind. `response` covers every trace carrying a reply, including one that also issued tool calls. `tool_call` covers traces that only issued tool calls"),
63207
+ q: string2().describe("Return only traces containing this text in their message ID, conversation ID, conversation history, output, or metadata").nullable().optional(),
63208
+ score: array(string2()).describe("Return only traces whose latest scoring run matches this condition. Each is written as `<evaluator ID>:<condition>`, where the condition is `passed`, `failed`, or one of `=`, `!=`, `<`, `<=`, `>`, `>=` followed by a number, such as `>=4`. Repeat the parameter to require every condition at once").nullable().optional(),
63209
+ sort_by_evaluator: string2().describe("Order traces by this evaluator's score on each trace's latest scoring run. Traces it has not scored come last whichever direction you pick").nullable().optional(),
63210
+ sort_order: SortOrder$zodSchema.default("desc").describe("Whether `sort_by_evaluator` puts the highest scores first or the lowest. Ignored without it"),
62923
63211
  xAPIKey: string2().nullable().optional()
62924
63212
  });
62925
- GetCurrentWorkspaceOrganizationsCurrentGetResponse$zodSchema = union([
62926
- CurrentWorkspaceResponse$zodSchema,
63213
+ ListTracesEndpointTracesGetResponse$zodSchema = union([
63214
+ TraceListResponse$zodSchema,
62927
63215
  HTTPValidationError$zodSchema
62928
63216
  ]);
62929
63217
  });
62930
63218
 
62931
- // src/funcs/workspaceCurrent.ts
62932
- function workspaceCurrent(client$, request, options) {
62933
- return new APIPromise($do46(client$, request, options));
63219
+ // src/funcs/tracesList.ts
63220
+ function tracesList(client$, request, options) {
63221
+ return new APIPromise($do47(client$, request, options));
62934
63222
  }
62935
- async function $do46(client$, request, options) {
62936
- const parsed$ = safeParse4(request, (value$) => GetCurrentWorkspaceOrganizationsCurrentGetRequest$zodSchema.optional().parse(value$), "Input validation failed");
63223
+ async function $do47(client$, request, options) {
63224
+ const parsed$ = safeParse4(request, (value$) => ListTracesEndpointTracesGetRequest$zodSchema.optional().parse(value$), "Input validation failed");
62937
63225
  if (!parsed$.ok) {
62938
63226
  return [parsed$, { status: "invalid" }];
62939
63227
  }
62940
63228
  const payload$ = parsed$.value;
62941
63229
  const body$ = null;
62942
- const path$ = pathToFunc("/organizations/current")();
63230
+ const path$ = pathToFunc("/traces")();
63231
+ const query$ = encodeFormQuery({
63232
+ agent_id: payload$?.agent_id,
63233
+ conversation_id: payload$?.conversation_id,
63234
+ created_after: payload$?.created_after,
63235
+ created_before: payload$?.created_before,
63236
+ include_content: payload$?.include_content,
63237
+ include_score_averages: payload$?.include_score_averages,
63238
+ labels: payload$?.labels,
63239
+ limit: payload$?.limit,
63240
+ offset: payload$?.offset,
63241
+ output_type: payload$?.output_type,
63242
+ q: payload$?.q,
63243
+ score: payload$?.score,
63244
+ sort_by_evaluator: payload$?.sort_by_evaluator,
63245
+ sort_order: payload$?.sort_order
63246
+ });
62943
63247
  const headers$ = new Headers(compactMap({
62944
63248
  Accept: "application/json",
62945
63249
  "X-API-Key": encodeSimple("X-API-Key", payload$?.xAPIKey, {
@@ -62952,7 +63256,7 @@ async function $do46(client$, request, options) {
62952
63256
  const context = {
62953
63257
  options: client$._options,
62954
63258
  baseURL: options?.serverURL ?? client$._baseURL ?? "",
62955
- operationID: "get_current_workspace_organizations_current_get",
63259
+ operationID: "list_traces_endpoint_traces_get",
62956
63260
  oAuth2Scopes: null,
62957
63261
  resolvedSecurity: requestSecurity,
62958
63262
  securitySource: client$._options.security,
@@ -62971,6 +63275,7 @@ async function $do46(client$, request, options) {
62971
63275
  baseURL: options?.serverURL,
62972
63276
  path: path$,
62973
63277
  headers: headers$,
63278
+ query: query$,
62974
63279
  body: body$,
62975
63280
  userAgent: client$._options.userAgent,
62976
63281
  timeoutMs: options?.timeoutMs || client$._options.timeoutMs || -1
@@ -62994,44 +63299,46 @@ async function $do46(client$, request, options) {
62994
63299
  response: doResult.value
62995
63300
  }];
62996
63301
  }
62997
- var init_workspaceCurrent = __esm(() => {
63302
+ var init_tracesList = __esm(() => {
62998
63303
  init_encodings();
62999
63304
  init_primitives();
63000
63305
  init_schemas4();
63001
63306
  init_security();
63002
63307
  init_url();
63003
- init_getcurrentworkspaceorganizationscurrentgetop();
63308
+ init_listtracesendpointtracesgetop();
63004
63309
  init_async();
63005
63310
  });
63006
63311
 
63007
- // src/mcp-server/tools/workspaceCurrent.ts
63008
- var args46, tool$workspaceCurrent;
63009
- var init_workspaceCurrent2 = __esm(() => {
63010
- init_workspaceCurrent();
63011
- init_getcurrentworkspaceorganizationscurrentgetop();
63312
+ // src/mcp-server/tools/tracesList.ts
63313
+ var args47, tool$tracesList;
63314
+ var init_tracesList2 = __esm(() => {
63315
+ init_tracesList();
63316
+ init_listtracesendpointtracesgetop();
63012
63317
  init_tools();
63013
- args46 = {
63014
- request: GetCurrentWorkspaceOrganizationsCurrentGetRequest$zodSchema.optional()
63015
- };
63016
- tool$workspaceCurrent = {
63017
- name: "get-current-workspace",
63018
- description: `Get the workspace the caller's API key belongs to, as its ID and
63019
- name. Put the ID at the front of a Calibrate web address to link
63020
- straight to something in that workspace, as in \`/<uuid>/tests\`.
63021
- Without it, a link opens whichever workspace the reader looked at
63022
- last. Requires a Calibrate API key (CALIBRATE_API_KEY).
63318
+ args47 = {
63319
+ request: ListTracesEndpointTracesGetRequest$zodSchema.optional()
63320
+ };
63321
+ tool$tracesList = {
63322
+ name: "list-traces",
63323
+ description: `List the traces in the caller's org, newest first, one page at a
63324
+ time. Each trace carries a short preview of its last user message
63325
+ and reply, its tool calls and labels, and the scores from its
63326
+ latest scoring run with each evaluator's reasoning and evaluator
63327
+ version. Filter by agent, label, creation time, text, or score.
63328
+ Set include_content to also get each trace's full input, output
63329
+ and metadata.
63023
63330
  `,
63024
63331
  scopes: ["read"],
63025
63332
  annotations: {
63026
- title: "Get the current workspace",
63333
+ title: "List traces",
63027
63334
  destructiveHint: false,
63028
- idempotentHint: true,
63335
+ idempotentHint: false,
63029
63336
  openWorldHint: true,
63030
63337
  readOnlyHint: true
63031
63338
  },
63032
- args: args46,
63339
+ args: args47,
63033
63340
  tool: async (client, args, ctx) => {
63034
- const [result] = await workspaceCurrent(client, args.request, { fetchOptions: { signal: ctx.signal } }).$inspect();
63341
+ const [result] = await tracesList(client, args.request, { fetchOptions: { signal: ctx.signal } }).$inspect();
63035
63342
  if (!result.ok) {
63036
63343
  return {
63037
63344
  content: [{ type: "text", text: result.error.message }],
@@ -63047,7 +63354,7 @@ last. Requires a Calibrate API key (CALIBRATE_API_KEY).
63047
63354
  function createMCPServer(deps) {
63048
63355
  const server = new McpServer({
63049
63356
  name: "CalibrateMcp",
63050
- version: "0.0.87"
63357
+ version: "0.0.89"
63051
63358
  });
63052
63359
  const getClient = deps.getSDK || (() => new CalibrateMcpCore({
63053
63360
  security: deps.security,
@@ -63110,8 +63417,9 @@ function createMCPServer(deps) {
63110
63417
  tool(tool$annotatorsCreate);
63111
63418
  tool(tool$annotatorsList);
63112
63419
  tool(tool$annotatorsUpdate);
63113
- tool(tool$workspaceCurrent);
63420
+ tool(tool$organizationsCurrent);
63114
63421
  tool(tool$tracesCreate);
63422
+ tool(tool$tracesList);
63115
63423
  if (deps.dynamic) {
63116
63424
  registerDynamicTools(deps.logger, server, getClient, toolMap, scopes);
63117
63425
  }
@@ -63161,13 +63469,14 @@ var init_server2 = __esm(() => {
63161
63469
  init_evaluatorsCreateVersion2();
63162
63470
  init_evaluatorsGet2();
63163
63471
  init_evaluatorsList2();
63472
+ init_organizationsCurrent2();
63164
63473
  init_testsBulkCreate2();
63165
63474
  init_testsCreate2();
63166
63475
  init_testsGet2();
63167
63476
  init_testsList2();
63168
63477
  init_testsUpdate2();
63169
63478
  init_tracesCreate2();
63170
- init_workspaceCurrent2();
63479
+ init_tracesList2();
63171
63480
  });
63172
63481
 
63173
63482
  // src/tool-names.ts
@@ -63464,6 +63773,17 @@ the conversation history as input, what the agent produced as output,
63464
63773
  and optional metadata. Use this to capture live traffic for later
63465
63774
  review and conversion into tests. Fails with 429 once the workspace
63466
63775
  hits its trace limit.
63776
+ `
63777
+ },
63778
+ {
63779
+ name: "list-traces",
63780
+ description: `List the traces in the caller's org, newest first, one page at a
63781
+ time. Each trace carries a short preview of its last user message
63782
+ and reply, its tool calls and labels, and the scores from its
63783
+ latest scoring run with each evaluator's reasoning and evaluator
63784
+ version. Filter by agent, label, creation time, text, or score.
63785
+ Set include_content to also get each trace's full input, output
63786
+ and metadata.
63467
63787
  `
63468
63788
  }
63469
63789
  ];
@@ -64372,7 +64692,7 @@ http_headers = { "api-key-auth" = "YOUR_API_KEY_AUTH" }`;
64372
64692
  <h1>Instructions</h1>
64373
64693
  <p>One-click installation for Claude Desktop users</p>
64374
64694
  <div class="instruction-item">
64375
- <a href="https://github.com/dalmia/calibrate-mcp/releases/download/v0.0.87/mcp-server.mcpb" download="mcp-server.mcpb" class="action-button header-action" style="display: inline-flex; margin-bottom: 16px;">
64695
+ <a href="https://github.com/dalmia/calibrate-mcp/releases/download/v0.0.89/mcp-server.mcpb" download="mcp-server.mcpb" class="action-button header-action" style="display: inline-flex; margin-bottom: 16px;">
64376
64696
  \uD83D\uDCE5 Download MCP Bundle
64377
64697
  </a>
64378
64698
  </div>
@@ -67326,7 +67646,7 @@ var routes = buildRouteMap({
67326
67646
  var app = buildApplication(routes, {
67327
67647
  name: "mcp",
67328
67648
  versionInfo: {
67329
- currentVersion: "0.0.87"
67649
+ currentVersion: "0.0.89"
67330
67650
  }
67331
67651
  });
67332
67652
  run(app, process3.argv.slice(2), buildContext(process3));
@@ -67334,5 +67654,5 @@ export {
67334
67654
  app
67335
67655
  };
67336
67656
 
67337
- //# debugId=0E09DA234440D3F664756E2164756E21
67657
+ //# debugId=5A80FFDF0EAFC95564756E2164756E21
67338
67658
  //# sourceMappingURL=mcp-server.js.map