@dalmia/calibrate-mcp 0.0.77 → 0.0.80

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 (88) hide show
  1. package/bin/mcp-server.js +760 -65
  2. package/bin/mcp-server.js.map +25 -8
  3. package/esm/funcs/datasetsCreate.d.ts +16 -0
  4. package/esm/funcs/datasetsCreate.d.ts.map +1 -0
  5. package/esm/funcs/datasetsCreate.js +86 -0
  6. package/esm/funcs/datasetsCreate.js.map +1 -0
  7. package/esm/funcs/datasetsGet.d.ts +16 -0
  8. package/esm/funcs/datasetsGet.d.ts.map +1 -0
  9. package/esm/funcs/datasetsGet.js +91 -0
  10. package/esm/funcs/datasetsGet.js.map +1 -0
  11. package/esm/funcs/datasetsUploadItem.d.ts +16 -0
  12. package/esm/funcs/datasetsUploadItem.d.ts.map +1 -0
  13. package/esm/funcs/datasetsUploadItem.js +112 -0
  14. package/esm/funcs/datasetsUploadItem.js.map +1 -0
  15. package/esm/landing-page.js +1 -1
  16. package/esm/lib/config.d.ts +2 -2
  17. package/esm/lib/config.js +2 -2
  18. package/esm/mcp-server/mcp-server.js +1 -1
  19. package/esm/mcp-server/server.d.ts.map +1 -1
  20. package/esm/mcp-server/server.js +7 -1
  21. package/esm/mcp-server/server.js.map +1 -1
  22. package/esm/mcp-server/tools/datasetsCreate.d.ts +7 -0
  23. package/esm/mcp-server/tools/datasetsCreate.d.ts.map +1 -0
  24. package/esm/mcp-server/tools/datasetsCreate.js +35 -0
  25. package/esm/mcp-server/tools/datasetsCreate.js.map +1 -0
  26. package/esm/mcp-server/tools/datasetsGet.d.ts +7 -0
  27. package/esm/mcp-server/tools/datasetsGet.d.ts.map +1 -0
  28. package/esm/mcp-server/tools/datasetsGet.js +35 -0
  29. package/esm/mcp-server/tools/datasetsGet.js.map +1 -0
  30. package/esm/mcp-server/tools/datasetsUploadItem.d.ts +7 -0
  31. package/esm/mcp-server/tools/datasetsUploadItem.d.ts.map +1 -0
  32. package/esm/mcp-server/tools/datasetsUploadItem.js +36 -0
  33. package/esm/mcp-server/tools/datasetsUploadItem.js.map +1 -0
  34. package/esm/models/bodyuploadsttitemdatasetsdatasetiditemsuploadpost.d.ts +12 -0
  35. package/esm/models/bodyuploadsttitemdatasetsdatasetiditemsuploadpost.d.ts.map +1 -0
  36. package/esm/models/bodyuploadsttitemdatasetsdatasetiditemsuploadpost.js +14 -0
  37. package/esm/models/bodyuploadsttitemdatasetsdatasetiditemsuploadpost.js.map +1 -0
  38. package/esm/models/createnewdatasetdatasetspostop.d.ts +12 -0
  39. package/esm/models/createnewdatasetdatasetspostop.d.ts.map +1 -0
  40. package/esm/models/createnewdatasetdatasetspostop.js +16 -0
  41. package/esm/models/createnewdatasetdatasetspostop.js.map +1 -0
  42. package/esm/models/datasetcreaterequest.d.ts +23 -0
  43. package/esm/models/datasetcreaterequest.d.ts.map +1 -0
  44. package/esm/models/datasetcreaterequest.js +21 -0
  45. package/esm/models/datasetcreaterequest.js.map +1 -0
  46. package/esm/models/datasetdetailresponse.d.ts +14 -0
  47. package/esm/models/datasetdetailresponse.d.ts.map +1 -0
  48. package/esm/models/datasetdetailresponse.js +16 -0
  49. package/esm/models/datasetdetailresponse.js.map +1 -0
  50. package/esm/models/datasetitemresponse.d.ts +11 -0
  51. package/esm/models/datasetitemresponse.d.ts.map +1 -0
  52. package/esm/models/datasetitemresponse.js +14 -0
  53. package/esm/models/datasetitemresponse.js.map +1 -0
  54. package/esm/models/datasetresponse.d.ts +12 -0
  55. package/esm/models/datasetresponse.d.ts.map +1 -0
  56. package/esm/models/datasetresponse.js +14 -0
  57. package/esm/models/datasetresponse.js.map +1 -0
  58. package/esm/models/getdatasetdetaildatasetsdatasetidgetop.d.ts +11 -0
  59. package/esm/models/getdatasetdetaildatasetsdatasetidgetop.d.ts.map +1 -0
  60. package/esm/models/getdatasetdetaildatasetsdatasetidgetop.js +15 -0
  61. package/esm/models/getdatasetdetaildatasetsdatasetidgetop.js.map +1 -0
  62. package/esm/models/uploadsttitemdatasetsdatasetiditemsuploadpostop.d.ts +13 -0
  63. package/esm/models/uploadsttitemdatasetsdatasetiditemsuploadpostop.d.ts.map +1 -0
  64. package/esm/models/uploadsttitemdatasetsdatasetiditemsuploadpostop.js +17 -0
  65. package/esm/models/uploadsttitemdatasetsdatasetiditemsuploadpostop.js.map +1 -0
  66. package/esm/tool-names.d.ts.map +1 -1
  67. package/esm/tool-names.js +12 -0
  68. package/esm/tool-names.js.map +1 -1
  69. package/package.json +1 -1
  70. package/src/funcs/datasetsCreate.ts +148 -0
  71. package/src/funcs/datasetsGet.ts +157 -0
  72. package/src/funcs/datasetsUploadItem.ts +194 -0
  73. package/src/landing-page.ts +1 -1
  74. package/src/lib/config.ts +2 -2
  75. package/src/mcp-server/mcp-server.ts +1 -1
  76. package/src/mcp-server/server.ts +7 -1
  77. package/src/mcp-server/tools/datasetsCreate.ts +44 -0
  78. package/src/mcp-server/tools/datasetsGet.ts +44 -0
  79. package/src/mcp-server/tools/datasetsUploadItem.ts +44 -0
  80. package/src/models/bodyuploadsttitemdatasetsdatasetiditemsuploadpost.ts +28 -0
  81. package/src/models/createnewdatasetdatasetspostop.ts +40 -0
  82. package/src/models/datasetcreaterequest.ts +35 -0
  83. package/src/models/datasetdetailresponse.ts +40 -0
  84. package/src/models/datasetitemresponse.ts +34 -0
  85. package/src/models/datasetresponse.ts +31 -0
  86. package/src/models/getdatasetdetaildatasetsdatasetidgetop.ts +36 -0
  87. package/src/models/uploadsttitemdatasetsdatasetiditemsuploadpostop.ts +40 -0
  88. package/src/tool-names.ts +12 -0
@@ -0,0 +1,157 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { CalibrateMcpCore } from "../core.js";
6
+ import { encodeSimple } from "../lib/encodings.js";
7
+ import { compactMap } from "../lib/primitives.js";
8
+ import { safeParse } from "../lib/schemas.js";
9
+ import { RequestOptions } from "../lib/sdks.js";
10
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
11
+ import { pathToFunc } from "../lib/url.js";
12
+ import { APIError } from "../models/errors/apierror.js";
13
+ import {
14
+ ConnectionError,
15
+ InvalidRequestError,
16
+ RequestAbortedError,
17
+ RequestTimeoutError,
18
+ UnexpectedClientError,
19
+ } from "../models/errors/httpclienterrors.js";
20
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
21
+ import {
22
+ GetDatasetDetailDatasetsDatasetIdGetRequest,
23
+ GetDatasetDetailDatasetsDatasetIdGetRequest$zodSchema,
24
+ } from "../models/getdatasetdetaildatasetsdatasetidgetop.js";
25
+ import { APICall, APIPromise } from "../types/async.js";
26
+ import { Result } from "../types/fp.js";
27
+
28
+ /**
29
+ * Get dataset
30
+ *
31
+ * @remarks
32
+ * Get a dataset with all of its items
33
+ */
34
+ export function datasetsGet(
35
+ client$: CalibrateMcpCore,
36
+ request: GetDatasetDetailDatasetsDatasetIdGetRequest,
37
+ options?: RequestOptions,
38
+ ): APIPromise<
39
+ Result<
40
+ Response,
41
+ | APIError
42
+ | SDKValidationError
43
+ | UnexpectedClientError
44
+ | InvalidRequestError
45
+ | RequestAbortedError
46
+ | RequestTimeoutError
47
+ | ConnectionError
48
+ >
49
+ > {
50
+ return new APIPromise($do(
51
+ client$,
52
+ request,
53
+ options,
54
+ ));
55
+ }
56
+
57
+ async function $do(
58
+ client$: CalibrateMcpCore,
59
+ request: GetDatasetDetailDatasetsDatasetIdGetRequest,
60
+ options?: RequestOptions,
61
+ ): Promise<
62
+ [
63
+ Result<
64
+ Response,
65
+ | APIError
66
+ | SDKValidationError
67
+ | UnexpectedClientError
68
+ | InvalidRequestError
69
+ | RequestAbortedError
70
+ | RequestTimeoutError
71
+ | ConnectionError
72
+ >,
73
+ APICall,
74
+ ]
75
+ > {
76
+ const parsed$ = safeParse(
77
+ request,
78
+ (value$) =>
79
+ GetDatasetDetailDatasetsDatasetIdGetRequest$zodSchema.parse(value$),
80
+ "Input validation failed",
81
+ );
82
+ if (!parsed$.ok) {
83
+ return [parsed$, { status: "invalid" }];
84
+ }
85
+ const payload$ = parsed$.value;
86
+ const body$ = null;
87
+
88
+ const pathParams$ = {
89
+ dataset_id: encodeSimple("dataset_id", payload$.dataset_id, {
90
+ explode: false,
91
+ charEncoding: "percent",
92
+ }),
93
+ };
94
+ const path$ = pathToFunc("/datasets/{dataset_id}")(
95
+ pathParams$,
96
+ );
97
+
98
+ const headers$ = new Headers(compactMap({
99
+ Accept: "application/json",
100
+ "X-API-Key": encodeSimple("X-API-Key", payload$.xAPIKey, {
101
+ explode: false,
102
+ charEncoding: "none",
103
+ }),
104
+ }));
105
+ const securityInput = await extractSecurity(client$._options.security);
106
+ const requestSecurity = resolveGlobalSecurity(securityInput);
107
+
108
+ const context = {
109
+ options: client$._options,
110
+ baseURL: options?.serverURL ?? client$._baseURL ?? "",
111
+ operationID: "get_dataset_detail_datasets__dataset_id__get",
112
+ oAuth2Scopes: null,
113
+ resolvedSecurity: requestSecurity,
114
+ securitySource: client$._options.security,
115
+ retryConfig: options?.retries
116
+ || client$._options.retryConfig
117
+ || { strategy: "none" },
118
+ retryCodes: options?.retryCodes || [
119
+ "429",
120
+ "500",
121
+ "502",
122
+ "503",
123
+ "504",
124
+ ],
125
+ };
126
+
127
+ const requestRes = client$._createRequest(context, {
128
+ security: requestSecurity,
129
+ method: "GET",
130
+ baseURL: options?.serverURL,
131
+ path: path$,
132
+ headers: headers$,
133
+ body: body$,
134
+ userAgent: client$._options.userAgent,
135
+ timeoutMs: options?.timeoutMs || client$._options.timeoutMs
136
+ || -1,
137
+ }, options);
138
+ if (!requestRes.ok) {
139
+ return [requestRes, { status: "invalid" }];
140
+ }
141
+ const req$ = requestRes.value;
142
+
143
+ const doResult = await client$._do(req$, {
144
+ context,
145
+ errorCodes: [],
146
+ retryConfig: context.retryConfig,
147
+ retryCodes: context.retryCodes,
148
+ });
149
+ if (!doResult.ok) {
150
+ return [doResult, { status: "request-error", request: req$ }];
151
+ }
152
+ return [doResult, {
153
+ status: "complete",
154
+ "request": req$,
155
+ response: doResult.value,
156
+ }];
157
+ }
@@ -0,0 +1,194 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { CalibrateMcpCore } from "../core.js";
6
+ import { appendForm, encodeSimple, normalizeBlob } from "../lib/encodings.js";
7
+ import {
8
+ bytesToBlob,
9
+ getContentTypeFromFileName,
10
+ readableStreamToArrayBuffer,
11
+ } from "../lib/files.js";
12
+ import { compactMap } from "../lib/primitives.js";
13
+ import { safeParse } from "../lib/schemas.js";
14
+ import { RequestOptions } from "../lib/sdks.js";
15
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
16
+ import { pathToFunc } from "../lib/url.js";
17
+ import { APIError } from "../models/errors/apierror.js";
18
+ import {
19
+ ConnectionError,
20
+ InvalidRequestError,
21
+ RequestAbortedError,
22
+ RequestTimeoutError,
23
+ UnexpectedClientError,
24
+ } from "../models/errors/httpclienterrors.js";
25
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
26
+ import {
27
+ UploadSttItemDatasetsDatasetIdItemsUploadPostRequest,
28
+ UploadSttItemDatasetsDatasetIdItemsUploadPostRequest$zodSchema,
29
+ } from "../models/uploadsttitemdatasetsdatasetiditemsuploadpostop.js";
30
+ import { APICall, APIPromise } from "../types/async.js";
31
+ import { isBlobLike } from "../types/blobs.js";
32
+ import { Result } from "../types/fp.js";
33
+ import { isReadableStream } from "../types/streams.js";
34
+
35
+ /**
36
+ * Upload STT dataset item
37
+ *
38
+ * @remarks
39
+ * Upload one audio clip with its transcript and append it to an STT dataset
40
+ */
41
+ export function datasetsUploadItem(
42
+ client$: CalibrateMcpCore,
43
+ request: UploadSttItemDatasetsDatasetIdItemsUploadPostRequest,
44
+ options?: RequestOptions,
45
+ ): APIPromise<
46
+ Result<
47
+ Response,
48
+ | APIError
49
+ | SDKValidationError
50
+ | UnexpectedClientError
51
+ | InvalidRequestError
52
+ | RequestAbortedError
53
+ | RequestTimeoutError
54
+ | ConnectionError
55
+ >
56
+ > {
57
+ return new APIPromise($do(
58
+ client$,
59
+ request,
60
+ options,
61
+ ));
62
+ }
63
+
64
+ async function $do(
65
+ client$: CalibrateMcpCore,
66
+ request: UploadSttItemDatasetsDatasetIdItemsUploadPostRequest,
67
+ options?: RequestOptions,
68
+ ): Promise<
69
+ [
70
+ Result<
71
+ Response,
72
+ | APIError
73
+ | SDKValidationError
74
+ | UnexpectedClientError
75
+ | InvalidRequestError
76
+ | RequestAbortedError
77
+ | RequestTimeoutError
78
+ | ConnectionError
79
+ >,
80
+ APICall,
81
+ ]
82
+ > {
83
+ const parsed$ = safeParse(
84
+ request,
85
+ (value$) =>
86
+ UploadSttItemDatasetsDatasetIdItemsUploadPostRequest$zodSchema.parse(
87
+ value$,
88
+ ),
89
+ "Input validation failed",
90
+ );
91
+ if (!parsed$.ok) {
92
+ return [parsed$, { status: "invalid" }];
93
+ }
94
+ const payload$ = parsed$.value;
95
+ const body$ = new FormData();
96
+ if (isBlobLike(payload$.body.audio)) {
97
+ const file = payload$.body.audio;
98
+ const blob = await normalizeBlob(file);
99
+ const name = "name" in file ? (file.name as string) : undefined;
100
+ appendForm(body$, "audio", blob, name);
101
+ } else if (isReadableStream(payload$.body.audio.content)) {
102
+ const buffer = await readableStreamToArrayBuffer(
103
+ payload$.body.audio.content,
104
+ );
105
+ const contentType = getContentTypeFromFileName(payload$.body.audio.fileName)
106
+ || "application/octet-stream";
107
+ appendForm(
108
+ body$,
109
+ "audio",
110
+ bytesToBlob(buffer, contentType),
111
+ payload$.body.audio.fileName,
112
+ );
113
+ } else {
114
+ const contentType = getContentTypeFromFileName(payload$.body.audio.fileName)
115
+ || "application/octet-stream";
116
+ appendForm(
117
+ body$,
118
+ "audio",
119
+ bytesToBlob(payload$.body.audio.content, contentType),
120
+ payload$.body.audio.fileName,
121
+ );
122
+ }
123
+ appendForm(body$, "text", payload$.body.text);
124
+
125
+ const pathParams$ = {
126
+ dataset_id: encodeSimple("dataset_id", payload$.dataset_id, {
127
+ explode: false,
128
+ charEncoding: "percent",
129
+ }),
130
+ };
131
+ const path$ = pathToFunc("/datasets/{dataset_id}/items/upload")(
132
+ pathParams$,
133
+ );
134
+
135
+ const headers$ = new Headers(compactMap({
136
+ Accept: "application/json",
137
+ "X-API-Key": encodeSimple("X-API-Key", payload$.xAPIKey, {
138
+ explode: false,
139
+ charEncoding: "none",
140
+ }),
141
+ }));
142
+ const securityInput = await extractSecurity(client$._options.security);
143
+ const requestSecurity = resolveGlobalSecurity(securityInput);
144
+
145
+ const context = {
146
+ options: client$._options,
147
+ baseURL: options?.serverURL ?? client$._baseURL ?? "",
148
+ operationID: "upload_stt_item_datasets__dataset_id__items_upload_post",
149
+ oAuth2Scopes: null,
150
+ resolvedSecurity: requestSecurity,
151
+ securitySource: client$._options.security,
152
+ retryConfig: options?.retries
153
+ || client$._options.retryConfig
154
+ || { strategy: "none" },
155
+ retryCodes: options?.retryCodes || [
156
+ "429",
157
+ "500",
158
+ "502",
159
+ "503",
160
+ "504",
161
+ ],
162
+ };
163
+
164
+ const requestRes = client$._createRequest(context, {
165
+ security: requestSecurity,
166
+ method: "POST",
167
+ baseURL: options?.serverURL,
168
+ path: path$,
169
+ headers: headers$,
170
+ body: body$,
171
+ userAgent: client$._options.userAgent,
172
+ timeoutMs: options?.timeoutMs || client$._options.timeoutMs
173
+ || -1,
174
+ }, options);
175
+ if (!requestRes.ok) {
176
+ return [requestRes, { status: "invalid" }];
177
+ }
178
+ const req$ = requestRes.value;
179
+
180
+ const doResult = await client$._do(req$, {
181
+ context,
182
+ errorCodes: [],
183
+ retryConfig: context.retryConfig,
184
+ retryCodes: context.retryCodes,
185
+ });
186
+ if (!doResult.ok) {
187
+ return [doResult, { status: "request-error", request: req$ }];
188
+ }
189
+ return [doResult, {
190
+ status: "complete",
191
+ "request": req$,
192
+ response: doResult.value,
193
+ }];
194
+ }
@@ -930,7 +930,7 @@ http_headers = { "api-key-auth" = "YOUR_API_KEY_AUTH" }`;
930
930
  <h1>Instructions</h1>
931
931
  <p>One-click installation for Claude Desktop users</p>
932
932
  <div class="instruction-item">
933
- <a href="https://github.com/dalmia/calibrate-mcp/releases/download/v0.0.77/mcp-server.mcpb" download="mcp-server.mcpb" class="action-button header-action" style="display: inline-flex; margin-bottom: 16px;">
933
+ <a href="https://github.com/dalmia/calibrate-mcp/releases/download/v0.0.80/mcp-server.mcpb" download="mcp-server.mcpb" class="action-button header-action" style="display: inline-flex; margin-bottom: 16px;">
934
934
  📥 Download MCP Bundle
935
935
  </a>
936
936
  </div>
package/src/lib/config.ts CHANGED
@@ -65,8 +65,8 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
65
65
  export const SDK_METADATA = {
66
66
  language: "typescript",
67
67
  openapiDocVersion: "0.1.0",
68
- sdkVersion: "0.0.77",
68
+ sdkVersion: "0.0.80",
69
69
  genVersion: "2.915.1",
70
70
  userAgent:
71
- "speakeasy-sdk/mcp-typescript 0.0.77 2.915.1 0.1.0 @dalmia/calibrate-mcp",
71
+ "speakeasy-sdk/mcp-typescript 0.0.80 2.915.1 0.1.0 @dalmia/calibrate-mcp",
72
72
  } as const;
@@ -21,7 +21,7 @@ const routes = buildRouteMap({
21
21
  export const app = buildApplication(routes, {
22
22
  name: "mcp",
23
23
  versionInfo: {
24
- currentVersion: "0.0.77",
24
+ currentVersion: "0.0.80",
25
25
  },
26
26
  });
27
27
 
@@ -49,6 +49,9 @@ import { tool$annotationTasksUpdateItems } from "./tools/annotationTasksUpdateIt
49
49
  import { tool$annotatorsCreate } from "./tools/annotatorsCreate.js";
50
50
  import { tool$annotatorsList } from "./tools/annotatorsList.js";
51
51
  import { tool$annotatorsUpdate } from "./tools/annotatorsUpdate.js";
52
+ import { tool$datasetsCreate } from "./tools/datasetsCreate.js";
53
+ import { tool$datasetsGet } from "./tools/datasetsGet.js";
54
+ import { tool$datasetsUploadItem } from "./tools/datasetsUploadItem.js";
52
55
  import { tool$evaluatorsCreate } from "./tools/evaluatorsCreate.js";
53
56
  import { tool$evaluatorsCreateVersion } from "./tools/evaluatorsCreateVersion.js";
54
57
  import { tool$evaluatorsGet } from "./tools/evaluatorsGet.js";
@@ -73,7 +76,7 @@ export function createMCPServer(deps: {
73
76
  }) {
74
77
  const server = new McpServer({
75
78
  name: "CalibrateMcp",
76
- version: "0.0.77",
79
+ version: "0.0.80",
77
80
  });
78
81
 
79
82
  const getClient = deps.getSDK || (() =>
@@ -145,6 +148,9 @@ export function createMCPServer(deps: {
145
148
  tool(tool$evaluatorsList);
146
149
  tool(tool$evaluatorsGet);
147
150
  tool(tool$evaluatorsCreateVersion);
151
+ tool(tool$datasetsCreate);
152
+ tool(tool$datasetsGet);
153
+ tool(tool$datasetsUploadItem);
148
154
  tool(tool$annotationTasksCreate);
149
155
  tool(tool$annotationTasksList);
150
156
  tool(tool$annotationTasksGet);
@@ -0,0 +1,44 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { datasetsCreate } from "../../funcs/datasetsCreate.js";
6
+ import { CreateNewDatasetDatasetsPostRequest$zodSchema } from "../../models/createnewdatasetdatasetspostop.js";
7
+ import { formatResult, ToolDefinition } from "../tools.js";
8
+
9
+ const args = {
10
+ request: CreateNewDatasetDatasetsPostRequest$zodSchema,
11
+ };
12
+
13
+ export const tool$datasetsCreate: ToolDefinition<typeof args> = {
14
+ name: "create-dataset",
15
+ description:
16
+ `Create an empty STT or TTS dataset in the caller's org. The name must
17
+ be unique in the workspace (409 otherwise). Add items separately.
18
+ `,
19
+ scopes: ["write"],
20
+ annotations: {
21
+ "title": "Create dataset",
22
+ "destructiveHint": false,
23
+ "idempotentHint": false,
24
+ "openWorldHint": true,
25
+ "readOnlyHint": false,
26
+ },
27
+ args,
28
+ tool: async (client, args, ctx) => {
29
+ const [result] = await datasetsCreate(
30
+ client,
31
+ args.request,
32
+ { fetchOptions: { signal: ctx.signal } },
33
+ ).$inspect();
34
+
35
+ if (!result.ok) {
36
+ return {
37
+ content: [{ type: "text", text: result.error.message }],
38
+ isError: true,
39
+ };
40
+ }
41
+
42
+ return formatResult(result.value);
43
+ },
44
+ };
@@ -0,0 +1,44 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { datasetsGet } from "../../funcs/datasetsGet.js";
6
+ import { GetDatasetDetailDatasetsDatasetIdGetRequest$zodSchema } from "../../models/getdatasetdetaildatasetsdatasetidgetop.js";
7
+ import { formatResult, ToolDefinition } from "../tools.js";
8
+
9
+ const args = {
10
+ request: GetDatasetDetailDatasetsDatasetIdGetRequest$zodSchema,
11
+ };
12
+
13
+ export const tool$datasetsGet: ToolDefinition<typeof args> = {
14
+ name: "get-dataset",
15
+ description:
16
+ `Get one dataset in the caller's org with all of its items, each with
17
+ a download link for its audio (STT) and its text.
18
+ `,
19
+ scopes: ["read"],
20
+ annotations: {
21
+ "title": "Get dataset",
22
+ "destructiveHint": false,
23
+ "idempotentHint": false,
24
+ "openWorldHint": true,
25
+ "readOnlyHint": true,
26
+ },
27
+ args,
28
+ tool: async (client, args, ctx) => {
29
+ const [result] = await datasetsGet(
30
+ client,
31
+ args.request,
32
+ { fetchOptions: { signal: ctx.signal } },
33
+ ).$inspect();
34
+
35
+ if (!result.ok) {
36
+ return {
37
+ content: [{ type: "text", text: result.error.message }],
38
+ isError: true,
39
+ };
40
+ }
41
+
42
+ return formatResult(result.value);
43
+ },
44
+ };
@@ -0,0 +1,44 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { datasetsUploadItem } from "../../funcs/datasetsUploadItem.js";
6
+ import { UploadSttItemDatasetsDatasetIdItemsUploadPostRequest$zodSchema } from "../../models/uploadsttitemdatasetsdatasetiditemsuploadpostop.js";
7
+ import { formatResult, ToolDefinition } from "../tools.js";
8
+
9
+ const args = {
10
+ request: UploadSttItemDatasetsDatasetIdItemsUploadPostRequest$zodSchema,
11
+ };
12
+
13
+ export const tool$datasetsUploadItem: ToolDefinition<typeof args> = {
14
+ name: "upload-dataset-item",
15
+ description: `Upload one WAV clip (at most 25 MB and 10 minutes) with its
16
+ ground-truth transcript and append it to an STT dataset in the
17
+ caller's org.
18
+ `,
19
+ scopes: ["write"],
20
+ annotations: {
21
+ "title": "Upload STT dataset item",
22
+ "destructiveHint": false,
23
+ "idempotentHint": false,
24
+ "openWorldHint": true,
25
+ "readOnlyHint": false,
26
+ },
27
+ args,
28
+ tool: async (client, args, ctx) => {
29
+ const [result] = await datasetsUploadItem(
30
+ client,
31
+ args.request,
32
+ { fetchOptions: { signal: ctx.signal } },
33
+ ).$inspect();
34
+
35
+ if (!result.ok) {
36
+ return {
37
+ content: [{ type: "text", text: result.error.message }],
38
+ isError: true,
39
+ };
40
+ }
41
+
42
+ return formatResult(result.value);
43
+ },
44
+ };
@@ -0,0 +1,28 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import * as b64$ from "../lib/base64.js";
7
+
8
+ export type Audio = { fileName: string; content: Uint8Array | string };
9
+
10
+ export const Audio$zodSchema: z.ZodType<Audio> = z.object({
11
+ content: z.string().describe("Base64-encoded binary content").transform(
12
+ b64$.bytesFromBase64,
13
+ ),
14
+ fileName: z.string(),
15
+ });
16
+
17
+ export type BodyUploadSttItemDatasetsDatasetIdItemsUploadPost = {
18
+ audio: Audio | Blob;
19
+ text: string;
20
+ };
21
+
22
+ export const BodyUploadSttItemDatasetsDatasetIdItemsUploadPost$zodSchema:
23
+ z.ZodType<BodyUploadSttItemDatasetsDatasetIdItemsUploadPost> = z.object({
24
+ audio: z.lazy(() => Audio$zodSchema).describe(
25
+ "WAV file of the spoken audio, at most 25 MB and 10 minutes long",
26
+ ),
27
+ text: z.string().describe("Ground-truth transcript of the audio"),
28
+ });
@@ -0,0 +1,40 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import {
7
+ DatasetCreateRequest,
8
+ DatasetCreateRequest$zodSchema,
9
+ } from "./datasetcreaterequest.js";
10
+ import {
11
+ DatasetResponse,
12
+ DatasetResponse$zodSchema,
13
+ } from "./datasetresponse.js";
14
+ import {
15
+ HTTPValidationError,
16
+ HTTPValidationError$zodSchema,
17
+ } from "./httpvalidationerror.js";
18
+
19
+ export type CreateNewDatasetDatasetsPostRequest = {
20
+ xAPIKey?: string | null | undefined;
21
+ body: DatasetCreateRequest;
22
+ };
23
+
24
+ export const CreateNewDatasetDatasetsPostRequest$zodSchema: z.ZodType<
25
+ CreateNewDatasetDatasetsPostRequest
26
+ > = z.object({
27
+ body: DatasetCreateRequest$zodSchema,
28
+ xAPIKey: z.string().nullable().optional(),
29
+ });
30
+
31
+ export type CreateNewDatasetDatasetsPostResponse =
32
+ | DatasetResponse
33
+ | HTTPValidationError;
34
+
35
+ export const CreateNewDatasetDatasetsPostResponse$zodSchema: z.ZodType<
36
+ CreateNewDatasetDatasetsPostResponse
37
+ > = z.union([
38
+ DatasetResponse$zodSchema,
39
+ HTTPValidationError$zodSchema,
40
+ ]);
@@ -0,0 +1,35 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import { ClosedEnum } from "../types/enums.js";
7
+
8
+ /**
9
+ * `stt` items carry audio + ground-truth text. `tts` items carry text only
10
+ */
11
+ export const DatasetType = {
12
+ Stt: "stt",
13
+ Tts: "tts",
14
+ } as const;
15
+ /**
16
+ * `stt` items carry audio + ground-truth text. `tts` items carry text only
17
+ */
18
+ export type DatasetType = ClosedEnum<typeof DatasetType>;
19
+
20
+ export const DatasetType$zodSchema = z.enum([
21
+ "stt",
22
+ "tts",
23
+ ]).describe(
24
+ "`stt` items carry audio + ground-truth text. `tts` items carry text only",
25
+ );
26
+
27
+ export type DatasetCreateRequest = { name: string; dataset_type: DatasetType };
28
+
29
+ export const DatasetCreateRequest$zodSchema: z.ZodType<DatasetCreateRequest> = z
30
+ .object({
31
+ dataset_type: DatasetType$zodSchema.describe(
32
+ "`stt` items carry audio + ground-truth text. `tts` items carry text only",
33
+ ),
34
+ name: z.string().describe("Dataset name, unique within the workspace"),
35
+ });
@@ -0,0 +1,40 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod";
6
+ import {
7
+ DatasetItemResponse,
8
+ DatasetItemResponse$zodSchema,
9
+ } from "./datasetitemresponse.js";
10
+
11
+ export type DatasetDetailResponse = {
12
+ uuid: string;
13
+ name: string;
14
+ dataset_type: string;
15
+ item_count: number;
16
+ eval_count: number;
17
+ created_at: string;
18
+ updated_at: string;
19
+ items: Array<DatasetItemResponse>;
20
+ };
21
+
22
+ export const DatasetDetailResponse$zodSchema: z.ZodType<DatasetDetailResponse> =
23
+ z.object({
24
+ created_at: z.string().describe(
25
+ "When the dataset was created (ISO 8601 UTC)",
26
+ ),
27
+ dataset_type: z.string().describe("Dataset type (`stt` or `tts`)"),
28
+ eval_count: z.int().describe(
29
+ "Number of evaluation jobs that used this dataset",
30
+ ),
31
+ item_count: z.int().describe("Number of items in the dataset"),
32
+ items: z.array(DatasetItemResponse$zodSchema).describe(
33
+ "All items in the dataset, ordered by `order_index`",
34
+ ),
35
+ name: z.string().describe("Dataset name"),
36
+ updated_at: z.string().describe(
37
+ "When the dataset was last updated (ISO 8601 UTC)",
38
+ ),
39
+ uuid: z.string().describe("Dataset ID"),
40
+ });