vellum-ai 0.0.10 → 0.0.12

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 (121) hide show
  1. package/Client.d.ts +36 -0
  2. package/Client.js +102 -12
  3. package/api/client/requests/GenerateStreamBodyRequest.d.ts +14 -0
  4. package/api/client/requests/GenerateStreamBodyRequest.js +5 -0
  5. package/api/client/requests/index.d.ts +1 -0
  6. package/api/errors/BadRequestError.d.ts +7 -0
  7. package/api/errors/BadRequestError.js +41 -0
  8. package/api/errors/InternalServerError.d.ts +7 -0
  9. package/api/errors/InternalServerError.js +41 -0
  10. package/api/errors/NotFoundError.d.ts +7 -0
  11. package/api/errors/NotFoundError.js +41 -0
  12. package/api/errors/index.d.ts +3 -0
  13. package/api/errors/index.js +19 -0
  14. package/api/index.d.ts +1 -0
  15. package/api/index.js +1 -0
  16. package/api/resources/documents/client/Client.d.ts +17 -0
  17. package/api/resources/documents/client/Client.js +31 -4
  18. package/api/resources/documents/client/requests/DocumentsListRequest.d.ts +12 -0
  19. package/api/resources/modelVersions/client/Client.d.ts +7 -0
  20. package/api/resources/modelVersions/client/Client.js +7 -0
  21. package/api/resources/sandboxes/client/Client.d.ts +11 -0
  22. package/api/resources/sandboxes/client/Client.js +11 -0
  23. package/api/resources/testSuites/client/Client.d.ts +11 -0
  24. package/api/resources/testSuites/client/Client.js +11 -0
  25. package/api/types/GenerateStreamResponse.d.ts +7 -0
  26. package/api/types/GenerateStreamResponse.js +5 -0
  27. package/api/types/GenerateStreamResult.d.ts +9 -0
  28. package/api/types/GenerateStreamResult.js +5 -0
  29. package/api/types/GenerateStreamResultData.d.ts +8 -0
  30. package/api/types/GenerateStreamResultData.js +5 -0
  31. package/api/types/ModelVersionSandboxSnapshot.d.ts +1 -1
  32. package/api/types/PromptTemplateBlockProperties.d.ts +1 -0
  33. package/api/types/index.d.ts +3 -0
  34. package/api/types/index.js +3 -0
  35. package/core/callback-queue/CallbackQueue.d.ts +6 -0
  36. package/core/callback-queue/CallbackQueue.js +20 -0
  37. package/core/callback-queue/index.d.ts +1 -0
  38. package/core/callback-queue/index.js +5 -0
  39. package/core/index.d.ts +2 -0
  40. package/core/index.js +2 -0
  41. package/core/streaming-fetcher/StreamingFetcher.d.ts +22 -0
  42. package/core/streaming-fetcher/StreamingFetcher.js +64 -0
  43. package/core/streaming-fetcher/index.d.ts +1 -0
  44. package/core/streaming-fetcher/index.js +5 -0
  45. package/dist/Client.d.ts +36 -0
  46. package/dist/Client.js +102 -12
  47. package/dist/api/client/requests/GenerateStreamBodyRequest.d.ts +14 -0
  48. package/dist/api/client/requests/GenerateStreamBodyRequest.js +5 -0
  49. package/dist/api/client/requests/index.d.ts +1 -0
  50. package/dist/api/errors/BadRequestError.d.ts +7 -0
  51. package/dist/api/errors/BadRequestError.js +41 -0
  52. package/dist/api/errors/InternalServerError.d.ts +7 -0
  53. package/dist/api/errors/InternalServerError.js +41 -0
  54. package/dist/api/errors/NotFoundError.d.ts +7 -0
  55. package/dist/api/errors/NotFoundError.js +41 -0
  56. package/dist/api/errors/index.d.ts +3 -0
  57. package/dist/api/errors/index.js +19 -0
  58. package/dist/api/index.d.ts +1 -0
  59. package/dist/api/index.js +1 -0
  60. package/dist/api/resources/documents/client/Client.d.ts +17 -0
  61. package/dist/api/resources/documents/client/Client.js +31 -4
  62. package/dist/api/resources/documents/client/requests/DocumentsListRequest.d.ts +12 -0
  63. package/dist/api/resources/modelVersions/client/Client.d.ts +7 -0
  64. package/dist/api/resources/modelVersions/client/Client.js +7 -0
  65. package/dist/api/resources/sandboxes/client/Client.d.ts +11 -0
  66. package/dist/api/resources/sandboxes/client/Client.js +11 -0
  67. package/dist/api/resources/testSuites/client/Client.d.ts +11 -0
  68. package/dist/api/resources/testSuites/client/Client.js +11 -0
  69. package/dist/api/types/GenerateStreamResponse.d.ts +7 -0
  70. package/dist/api/types/GenerateStreamResponse.js +5 -0
  71. package/dist/api/types/GenerateStreamResult.d.ts +9 -0
  72. package/dist/api/types/GenerateStreamResult.js +5 -0
  73. package/dist/api/types/GenerateStreamResultData.d.ts +8 -0
  74. package/dist/api/types/GenerateStreamResultData.js +5 -0
  75. package/dist/api/types/ModelVersionSandboxSnapshot.d.ts +1 -1
  76. package/dist/api/types/PromptTemplateBlockProperties.d.ts +1 -0
  77. package/dist/api/types/index.d.ts +3 -0
  78. package/dist/api/types/index.js +3 -0
  79. package/dist/core/callback-queue/CallbackQueue.d.ts +6 -0
  80. package/dist/core/callback-queue/CallbackQueue.js +20 -0
  81. package/dist/core/callback-queue/index.d.ts +1 -0
  82. package/dist/core/callback-queue/index.js +5 -0
  83. package/dist/core/index.d.ts +2 -0
  84. package/dist/core/index.js +2 -0
  85. package/dist/core/streaming-fetcher/StreamingFetcher.d.ts +22 -0
  86. package/dist/core/streaming-fetcher/StreamingFetcher.js +64 -0
  87. package/dist/core/streaming-fetcher/index.d.ts +1 -0
  88. package/dist/core/streaming-fetcher/index.js +5 -0
  89. package/dist/serialization/client/requests/GenerateStreamBodyRequest.d.ts +15 -0
  90. package/dist/serialization/client/requests/GenerateStreamBodyRequest.js +36 -0
  91. package/dist/serialization/client/requests/index.d.ts +1 -0
  92. package/dist/serialization/client/requests/index.js +3 -1
  93. package/dist/serialization/types/GenerateStreamResponse.d.ts +12 -0
  94. package/dist/serialization/types/GenerateStreamResponse.js +33 -0
  95. package/dist/serialization/types/GenerateStreamResult.d.ts +14 -0
  96. package/dist/serialization/types/GenerateStreamResult.js +35 -0
  97. package/dist/serialization/types/GenerateStreamResultData.d.ts +13 -0
  98. package/dist/serialization/types/GenerateStreamResultData.js +34 -0
  99. package/dist/serialization/types/ModelVersionSandboxSnapshot.d.ts +1 -1
  100. package/dist/serialization/types/ModelVersionSandboxSnapshot.js +1 -1
  101. package/dist/serialization/types/PromptTemplateBlockProperties.d.ts +1 -0
  102. package/dist/serialization/types/PromptTemplateBlockProperties.js +1 -0
  103. package/dist/serialization/types/index.d.ts +3 -0
  104. package/dist/serialization/types/index.js +3 -0
  105. package/package.json +1 -1
  106. package/serialization/client/requests/GenerateStreamBodyRequest.d.ts +15 -0
  107. package/serialization/client/requests/GenerateStreamBodyRequest.js +36 -0
  108. package/serialization/client/requests/index.d.ts +1 -0
  109. package/serialization/client/requests/index.js +3 -1
  110. package/serialization/types/GenerateStreamResponse.d.ts +12 -0
  111. package/serialization/types/GenerateStreamResponse.js +33 -0
  112. package/serialization/types/GenerateStreamResult.d.ts +14 -0
  113. package/serialization/types/GenerateStreamResult.js +35 -0
  114. package/serialization/types/GenerateStreamResultData.d.ts +13 -0
  115. package/serialization/types/GenerateStreamResultData.js +34 -0
  116. package/serialization/types/ModelVersionSandboxSnapshot.d.ts +1 -1
  117. package/serialization/types/ModelVersionSandboxSnapshot.js +1 -1
  118. package/serialization/types/PromptTemplateBlockProperties.d.ts +1 -0
  119. package/serialization/types/PromptTemplateBlockProperties.js +1 -0
  120. package/serialization/types/index.d.ts +3 -0
  121. package/serialization/types/index.js +3 -0
@@ -0,0 +1,9 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ import * as Vellum from "..";
5
+ export interface GenerateStreamResult {
6
+ requestIndex: number;
7
+ data?: Vellum.GenerateStreamResultData;
8
+ error?: Vellum.GenerateResultError;
9
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ /**
3
+ * This file was auto-generated by Fern from our API Definition.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,8 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ import * as Vellum from "..";
5
+ export interface GenerateStreamResultData {
6
+ completionIndex: number;
7
+ completion: Vellum.EnrichedNormalizedCompletion;
8
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ /**
3
+ * This file was auto-generated by Fern from our API Definition.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -5,7 +5,7 @@ export interface ModelVersionSandboxSnapshot {
5
5
  /** The ID of the sandbox snapshot. */
6
6
  id: string;
7
7
  /** The index of the prompt in the sandbox snapshot. */
8
- promptIndex: number;
8
+ promptIndex?: number;
9
9
  /** The id of the prompt in the sandbox snapshot. */
10
10
  promptId?: string;
11
11
  }
@@ -4,6 +4,7 @@
4
4
  import * as Vellum from "..";
5
5
  export interface PromptTemplateBlockProperties {
6
6
  chatRole?: Vellum.ChatMessageRole;
7
+ chatMessageUnterminated?: boolean;
7
8
  template?: string;
8
9
  blocks?: Record<string, unknown>[];
9
10
  }
@@ -15,6 +15,9 @@ export * from "./GenerateResponse";
15
15
  export * from "./GenerateResult";
16
16
  export * from "./GenerateResultData";
17
17
  export * from "./GenerateResultError";
18
+ export * from "./GenerateStreamResponse";
19
+ export * from "./GenerateStreamResult";
20
+ export * from "./GenerateStreamResultData";
18
21
  export * from "./IndexingStateEnum";
19
22
  export * from "./LogprobsEnum";
20
23
  export * from "./ModelTypeEnum";
@@ -31,6 +31,9 @@ __exportStar(require("./GenerateResponse"), exports);
31
31
  __exportStar(require("./GenerateResult"), exports);
32
32
  __exportStar(require("./GenerateResultData"), exports);
33
33
  __exportStar(require("./GenerateResultError"), exports);
34
+ __exportStar(require("./GenerateStreamResponse"), exports);
35
+ __exportStar(require("./GenerateStreamResult"), exports);
36
+ __exportStar(require("./GenerateStreamResultData"), exports);
34
37
  __exportStar(require("./IndexingStateEnum"), exports);
35
38
  __exportStar(require("./LogprobsEnum"), exports);
36
39
  __exportStar(require("./ModelTypeEnum"), exports);
@@ -0,0 +1,6 @@
1
+ export declare class CallbackQueue {
2
+ private queue;
3
+ wrap<Args extends any[]>(callback: (...args: Args) => void | Promise<void>): (...args: Args) => void;
4
+ wrap(callback: undefined): undefined;
5
+ toPromise(): Promise<void>;
6
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CallbackQueue = void 0;
4
+ class CallbackQueue {
5
+ queue = Promise.resolve();
6
+ wrap(callback) {
7
+ if (callback == null) {
8
+ return undefined;
9
+ }
10
+ return (...args) => {
11
+ this.queue = this.queue.then(() => {
12
+ return callback(...args);
13
+ });
14
+ };
15
+ }
16
+ toPromise() {
17
+ return this.queue;
18
+ }
19
+ }
20
+ exports.CallbackQueue = CallbackQueue;
@@ -0,0 +1 @@
1
+ export { CallbackQueue } from "./CallbackQueue";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CallbackQueue = void 0;
4
+ var CallbackQueue_1 = require("./CallbackQueue");
5
+ Object.defineProperty(exports, "CallbackQueue", { enumerable: true, get: function () { return CallbackQueue_1.CallbackQueue; } });
package/core/index.d.ts CHANGED
@@ -1,3 +1,5 @@
1
1
  export * as serialization from "./schemas";
2
2
  export * from "./fetcher";
3
+ export * from "./streaming-fetcher";
4
+ export * from "./callback-queue";
3
5
  export * from "./form-data-utils";
package/core/index.js CHANGED
@@ -29,4 +29,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.serialization = void 0;
30
30
  exports.serialization = __importStar(require("./schemas"));
31
31
  __exportStar(require("./fetcher"), exports);
32
+ __exportStar(require("./streaming-fetcher"), exports);
33
+ __exportStar(require("./callback-queue"), exports);
32
34
  __exportStar(require("./form-data-utils"), exports);
@@ -0,0 +1,22 @@
1
+ import URLSearchParams from "@ungap/url-search-params";
2
+ import { AxiosAdapter } from "axios";
3
+ export declare type StreamingFetchFunction = (args: StreamingFetcher.Args) => Promise<void>;
4
+ export declare namespace StreamingFetcher {
5
+ interface Args {
6
+ url: string;
7
+ method: string;
8
+ headers?: Record<string, string | undefined>;
9
+ queryParameters?: URLSearchParams;
10
+ body?: unknown;
11
+ timeoutMs?: number;
12
+ withCredentials?: boolean;
13
+ adapter?: AxiosAdapter;
14
+ onData: (data: unknown) => void;
15
+ onError?: (err: unknown) => void;
16
+ onFinish?: () => void;
17
+ abortController?: AbortController;
18
+ responseChunkPrefix?: string;
19
+ terminator?: string;
20
+ }
21
+ }
22
+ export declare const streamingFetcher: StreamingFetchFunction;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.streamingFetcher = void 0;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ const streamingFetcher = async (args) => {
9
+ const headers = {};
10
+ if (args.body !== undefined) {
11
+ headers["Content-Type"] = "application/json";
12
+ }
13
+ if (args.headers != null) {
14
+ for (const [key, value] of Object.entries(args.headers)) {
15
+ if (value != null) {
16
+ headers[key] = value;
17
+ }
18
+ }
19
+ }
20
+ let response;
21
+ try {
22
+ response = await (0, axios_1.default)({
23
+ url: args.url,
24
+ params: args.queryParameters,
25
+ method: args.method,
26
+ headers,
27
+ data: args.body,
28
+ timeout: args.timeoutMs,
29
+ transitional: {
30
+ clarifyTimeoutError: true,
31
+ },
32
+ withCredentials: args.withCredentials,
33
+ signal: args.abortController?.signal,
34
+ responseType: "stream",
35
+ adapter: args.adapter,
36
+ });
37
+ }
38
+ catch (error) {
39
+ args.onError?.(error);
40
+ return;
41
+ }
42
+ response.data.on("data", (data) => {
43
+ for (const line of data.toString().split("\n")) {
44
+ let data = line;
45
+ if (args.responseChunkPrefix != null) {
46
+ if (!data.startsWith(args.responseChunkPrefix)) {
47
+ continue;
48
+ }
49
+ data = data.substring(args.responseChunkPrefix.length);
50
+ }
51
+ try {
52
+ const parsed = JSON.parse(data);
53
+ args.onData(parsed);
54
+ }
55
+ catch (error) {
56
+ args.onError?.(error);
57
+ }
58
+ }
59
+ });
60
+ if (args.onFinish != null) {
61
+ response.data.on("end", args.onFinish);
62
+ }
63
+ };
64
+ exports.streamingFetcher = streamingFetcher;
@@ -0,0 +1 @@
1
+ export { streamingFetcher, type StreamingFetcher, type StreamingFetchFunction } from "./StreamingFetcher";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.streamingFetcher = void 0;
4
+ var StreamingFetcher_1 = require("./StreamingFetcher");
5
+ Object.defineProperty(exports, "streamingFetcher", { enumerable: true, get: function () { return StreamingFetcher_1.streamingFetcher; } });
package/dist/Client.d.ts CHANGED
@@ -17,8 +17,44 @@ export declare namespace VellumClient {
17
17
  export declare class VellumClient {
18
18
  protected readonly options: VellumClient.Options;
19
19
  constructor(options: VellumClient.Options);
20
+ /**
21
+ * <strong style="background-color:#4caf50; color:white; padding:4px; border-radius:4px">Stable</strong>
22
+ *
23
+ * Generate a completion using a previously defined deployment.
24
+ *
25
+ * **Note:** Uses a base url of `https://predict.vellum.ai`.
26
+ * @throws {Vellum.BadRequestError}
27
+ * @throws {Vellum.NotFoundError}
28
+ * @throws {Vellum.InternalServerError}
29
+ */
20
30
  generate(request: Vellum.GenerateBodyRequest): Promise<Vellum.GenerateResponse>;
31
+ /**
32
+ * @throws {Vellum.BadRequestError}
33
+ * @throws {Vellum.NotFoundError}
34
+ * @throws {Vellum.InternalServerError}
35
+ */
36
+ generateStream(request: Vellum.GenerateStreamBodyRequest, cb: (data: Vellum.GenerateStreamResponse) => void, opts?: Pick<core.StreamingFetcher.Args, "onError" | "onFinish" | "abortController" | "timeoutMs">): Promise<void>;
37
+ /**
38
+ * <strong style="background-color:#4caf50; color:white; padding:4px; border-radius:4px">Stable</strong>
39
+ *
40
+ * Perform a search against a document index.
41
+ *
42
+ * **Note:** Uses a base url of `https://predict.vellum.ai`.
43
+ * @throws {Vellum.BadRequestError}
44
+ * @throws {Vellum.NotFoundError}
45
+ * @throws {Vellum.InternalServerError}
46
+ */
21
47
  search(request: Vellum.SearchRequestBodyRequest): Promise<Vellum.SearchResponse>;
48
+ /**
49
+ * <strong style="background-color:#4caf50; color:white; padding:4px; border-radius:4px">Stable</strong>
50
+ *
51
+ * Used to submit feedback regarding the quality of previously generated completions.
52
+ *
53
+ * **Note:** Uses a base url of `https://predict.vellum.ai`.
54
+ * @throws {Vellum.BadRequestError}
55
+ * @throws {Vellum.NotFoundError}
56
+ * @throws {Vellum.InternalServerError}
57
+ */
22
58
  submitCompletionActuals(request: Vellum.SubmitCompletionActualsRequest): Promise<void>;
23
59
  protected _documents: Documents | undefined;
24
60
  get documents(): Documents;
package/dist/Client.js CHANGED
@@ -32,6 +32,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
32
32
  exports.VellumClient = void 0;
33
33
  const environments = __importStar(require("./environments"));
34
34
  const core = __importStar(require("./core"));
35
+ const Vellum = __importStar(require("./api"));
35
36
  const url_join_1 = __importDefault(require("url-join"));
36
37
  const serializers = __importStar(require("./serialization"));
37
38
  const errors = __importStar(require("./errors"));
@@ -44,6 +45,16 @@ class VellumClient {
44
45
  constructor(options) {
45
46
  this.options = options;
46
47
  }
48
+ /**
49
+ * <strong style="background-color:#4caf50; color:white; padding:4px; border-radius:4px">Stable</strong>
50
+ *
51
+ * Generate a completion using a previously defined deployment.
52
+ *
53
+ * **Note:** Uses a base url of `https://predict.vellum.ai`.
54
+ * @throws {Vellum.BadRequestError}
55
+ * @throws {Vellum.NotFoundError}
56
+ * @throws {Vellum.InternalServerError}
57
+ */
47
58
  async generate(request) {
48
59
  const _response = await core.fetcher({
49
60
  url: (0, url_join_1.default)((this.options.environment ?? environments.VellumEnvironment.Production).predict, "v1/generate"),
@@ -62,10 +73,19 @@ class VellumClient {
62
73
  });
63
74
  }
64
75
  if (_response.error.reason === "status-code") {
65
- throw new errors.VellumError({
66
- statusCode: _response.error.statusCode,
67
- body: _response.error.body,
68
- });
76
+ switch (_response.error.statusCode) {
77
+ case 400:
78
+ throw new Vellum.BadRequestError(_response.error.body);
79
+ case 404:
80
+ throw new Vellum.NotFoundError(_response.error.body);
81
+ case 500:
82
+ throw new Vellum.InternalServerError(_response.error.body);
83
+ default:
84
+ throw new errors.VellumError({
85
+ statusCode: _response.error.statusCode,
86
+ body: _response.error.body,
87
+ });
88
+ }
69
89
  }
70
90
  switch (_response.error.reason) {
71
91
  case "non-json":
@@ -81,6 +101,48 @@ class VellumClient {
81
101
  });
82
102
  }
83
103
  }
104
+ /**
105
+ * @throws {Vellum.BadRequestError}
106
+ * @throws {Vellum.NotFoundError}
107
+ * @throws {Vellum.InternalServerError}
108
+ */
109
+ async generateStream(request, cb, opts) {
110
+ const _queue = new core.CallbackQueue();
111
+ await core.streamingFetcher({
112
+ url: (0, url_join_1.default)((this.options.environment ?? environments.VellumEnvironment.Production).default, "v1/generate-stream"),
113
+ method: "POST",
114
+ headers: {
115
+ X_API_KEY: await core.Supplier.get(this.options.apiKey),
116
+ },
117
+ body: await serializers.GenerateStreamBodyRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }),
118
+ onData: _queue.wrap(async (data) => {
119
+ const parsed = await serializers.GenerateStreamResponse.parse(data, {
120
+ unrecognizedObjectKeys: "passthrough",
121
+ allowUnrecognizedUnionMembers: true,
122
+ allowUnrecognizedEnumValues: true,
123
+ });
124
+ if (parsed.ok) {
125
+ cb(parsed.value);
126
+ }
127
+ else {
128
+ opts?.onError?.(parsed.errors);
129
+ }
130
+ }),
131
+ onError: opts?.onError != null ? _queue.wrap(opts.onError) : undefined,
132
+ onFinish: opts?.onFinish != null ? _queue.wrap(opts.onFinish) : undefined,
133
+ abortController: opts?.abortController,
134
+ });
135
+ }
136
+ /**
137
+ * <strong style="background-color:#4caf50; color:white; padding:4px; border-radius:4px">Stable</strong>
138
+ *
139
+ * Perform a search against a document index.
140
+ *
141
+ * **Note:** Uses a base url of `https://predict.vellum.ai`.
142
+ * @throws {Vellum.BadRequestError}
143
+ * @throws {Vellum.NotFoundError}
144
+ * @throws {Vellum.InternalServerError}
145
+ */
84
146
  async search(request) {
85
147
  const _response = await core.fetcher({
86
148
  url: (0, url_join_1.default)((this.options.environment ?? environments.VellumEnvironment.Production).predict, "v1/search"),
@@ -99,10 +161,19 @@ class VellumClient {
99
161
  });
100
162
  }
101
163
  if (_response.error.reason === "status-code") {
102
- throw new errors.VellumError({
103
- statusCode: _response.error.statusCode,
104
- body: _response.error.body,
105
- });
164
+ switch (_response.error.statusCode) {
165
+ case 400:
166
+ throw new Vellum.BadRequestError(_response.error.body);
167
+ case 404:
168
+ throw new Vellum.NotFoundError(_response.error.body);
169
+ case 500:
170
+ throw new Vellum.InternalServerError(_response.error.body);
171
+ default:
172
+ throw new errors.VellumError({
173
+ statusCode: _response.error.statusCode,
174
+ body: _response.error.body,
175
+ });
176
+ }
106
177
  }
107
178
  switch (_response.error.reason) {
108
179
  case "non-json":
@@ -118,6 +189,16 @@ class VellumClient {
118
189
  });
119
190
  }
120
191
  }
192
+ /**
193
+ * <strong style="background-color:#4caf50; color:white; padding:4px; border-radius:4px">Stable</strong>
194
+ *
195
+ * Used to submit feedback regarding the quality of previously generated completions.
196
+ *
197
+ * **Note:** Uses a base url of `https://predict.vellum.ai`.
198
+ * @throws {Vellum.BadRequestError}
199
+ * @throws {Vellum.NotFoundError}
200
+ * @throws {Vellum.InternalServerError}
201
+ */
121
202
  async submitCompletionActuals(request) {
122
203
  const _response = await core.fetcher({
123
204
  url: (0, url_join_1.default)((this.options.environment ?? environments.VellumEnvironment.Production).predict, "v1/submit-completion-actuals"),
@@ -134,10 +215,19 @@ class VellumClient {
134
215
  return;
135
216
  }
136
217
  if (_response.error.reason === "status-code") {
137
- throw new errors.VellumError({
138
- statusCode: _response.error.statusCode,
139
- body: _response.error.body,
140
- });
218
+ switch (_response.error.statusCode) {
219
+ case 400:
220
+ throw new Vellum.BadRequestError(_response.error.body);
221
+ case 404:
222
+ throw new Vellum.NotFoundError(_response.error.body);
223
+ case 500:
224
+ throw new Vellum.InternalServerError(_response.error.body);
225
+ default:
226
+ throw new errors.VellumError({
227
+ statusCode: _response.error.statusCode,
228
+ body: _response.error.body,
229
+ });
230
+ }
141
231
  }
142
232
  switch (_response.error.reason) {
143
233
  case "non-json":
@@ -0,0 +1,14 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ import * as Vellum from "../..";
5
+ export interface GenerateStreamBodyRequest {
6
+ /** The ID of the deployment. Must provide either this or deployment_name. */
7
+ deploymentId?: string;
8
+ /** The name of the deployment. Must provide either this or deployment_id. */
9
+ deploymentName?: string;
10
+ /** The generation requests to make. Supplying multiple will perform a bulk request to the LLM provided when possible. */
11
+ requests: Vellum.GenerateRequest[];
12
+ /** Additional configuration that can be used to control what's included in the response. */
13
+ options?: Vellum.GenerateOptionsRequest;
14
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ /**
3
+ * This file was auto-generated by Fern from our API Definition.
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,3 +1,4 @@
1
1
  export { GenerateBodyRequest } from "./GenerateBodyRequest";
2
+ export { GenerateStreamBodyRequest } from "./GenerateStreamBodyRequest";
2
3
  export { SearchRequestBodyRequest } from "./SearchRequestBodyRequest";
3
4
  export { SubmitCompletionActualsRequest } from "./SubmitCompletionActualsRequest";
@@ -0,0 +1,7 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ import * as errors from "../../errors";
5
+ export declare class BadRequestError extends errors.VellumError {
6
+ constructor(body?: unknown);
7
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ /**
3
+ * This file was auto-generated by Fern from our API Definition.
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || function (mod) {
22
+ if (mod && mod.__esModule) return mod;
23
+ var result = {};
24
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
+ __setModuleDefault(result, mod);
26
+ return result;
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.BadRequestError = void 0;
30
+ const errors = __importStar(require("../../errors"));
31
+ class BadRequestError extends errors.VellumError {
32
+ constructor(body) {
33
+ super({
34
+ message: "BadRequestError",
35
+ statusCode: 400,
36
+ body: body,
37
+ });
38
+ Object.setPrototypeOf(this, BadRequestError.prototype);
39
+ }
40
+ }
41
+ exports.BadRequestError = BadRequestError;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ import * as errors from "../../errors";
5
+ export declare class InternalServerError extends errors.VellumError {
6
+ constructor(body?: unknown);
7
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ /**
3
+ * This file was auto-generated by Fern from our API Definition.
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || function (mod) {
22
+ if (mod && mod.__esModule) return mod;
23
+ var result = {};
24
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
+ __setModuleDefault(result, mod);
26
+ return result;
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.InternalServerError = void 0;
30
+ const errors = __importStar(require("../../errors"));
31
+ class InternalServerError extends errors.VellumError {
32
+ constructor(body) {
33
+ super({
34
+ message: "InternalServerError",
35
+ statusCode: 500,
36
+ body: body,
37
+ });
38
+ Object.setPrototypeOf(this, InternalServerError.prototype);
39
+ }
40
+ }
41
+ exports.InternalServerError = InternalServerError;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * This file was auto-generated by Fern from our API Definition.
3
+ */
4
+ import * as errors from "../../errors";
5
+ export declare class NotFoundError extends errors.VellumError {
6
+ constructor(body?: unknown);
7
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ /**
3
+ * This file was auto-generated by Fern from our API Definition.
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || function (mod) {
22
+ if (mod && mod.__esModule) return mod;
23
+ var result = {};
24
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
+ __setModuleDefault(result, mod);
26
+ return result;
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.NotFoundError = void 0;
30
+ const errors = __importStar(require("../../errors"));
31
+ class NotFoundError extends errors.VellumError {
32
+ constructor(body) {
33
+ super({
34
+ message: "NotFoundError",
35
+ statusCode: 404,
36
+ body: body,
37
+ });
38
+ Object.setPrototypeOf(this, NotFoundError.prototype);
39
+ }
40
+ }
41
+ exports.NotFoundError = NotFoundError;
@@ -0,0 +1,3 @@
1
+ export * from "./BadRequestError";
2
+ export * from "./NotFoundError";
3
+ export * from "./InternalServerError";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./BadRequestError"), exports);
18
+ __exportStar(require("./NotFoundError"), exports);
19
+ __exportStar(require("./InternalServerError"), exports);
@@ -1,3 +1,4 @@
1
1
  export * from "./types";
2
+ export * from "./errors";
2
3
  export * from "./resources";
3
4
  export * from "./client";
package/dist/api/index.js CHANGED
@@ -15,5 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./types"), exports);
18
+ __exportStar(require("./errors"), exports);
18
19
  __exportStar(require("./resources"), exports);
19
20
  __exportStar(require("./client"), exports);