vellum-ai 0.6.7 → 0.6.11

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 (166) hide show
  1. package/Client.d.ts +9 -6
  2. package/Client.js +40 -37
  3. package/api/client/requests/ExecutePromptRequest.d.ts +7 -5
  4. package/api/client/requests/ExecutePromptStreamRequest.d.ts +7 -5
  5. package/api/resources/deployments/client/Client.d.ts +8 -5
  6. package/api/resources/deployments/client/Client.js +22 -17
  7. package/api/resources/documentIndexes/client/Client.d.ts +37 -12
  8. package/api/resources/documentIndexes/client/Client.js +128 -30
  9. package/api/resources/documents/client/Client.d.ts +11 -7
  10. package/api/resources/documents/client/Client.js +25 -22
  11. package/api/resources/folderEntities/client/Client.d.ts +4 -1
  12. package/api/resources/folderEntities/client/Client.js +4 -3
  13. package/api/resources/sandboxes/client/Client.d.ts +7 -4
  14. package/api/resources/sandboxes/client/Client.js +14 -13
  15. package/api/resources/testSuiteRuns/client/Client.d.ts +6 -3
  16. package/api/resources/testSuiteRuns/client/Client.js +13 -10
  17. package/api/resources/testSuites/client/Client.d.ts +6 -3
  18. package/api/resources/testSuites/client/Client.js +16 -14
  19. package/api/resources/workflowDeployments/client/Client.d.ts +7 -4
  20. package/api/resources/workflowDeployments/client/Client.js +17 -13
  21. package/api/resources/workflowSandboxes/client/Client.d.ts +4 -1
  22. package/api/resources/workflowSandboxes/client/Client.js +5 -6
  23. package/api/types/IterationStateEnum.d.ts +12 -0
  24. package/api/types/IterationStateEnum.js +10 -0
  25. package/api/types/MapNodeResultData.d.ts +2 -0
  26. package/api/types/PromptNodeResultData.d.ts +1 -0
  27. package/api/types/TestSuiteRunMetricNumberOutput.d.ts +1 -1
  28. package/api/types/TestSuiteRunMetricStringOutput.d.ts +1 -1
  29. package/api/types/TestSuiteTestCaseRejectedBulkResult.d.ts +1 -1
  30. package/api/types/index.d.ts +1 -0
  31. package/api/types/index.js +1 -0
  32. package/core/fetcher/Fetcher.d.ts +2 -0
  33. package/core/fetcher/Fetcher.js +19 -185
  34. package/core/fetcher/createRequestUrl.d.ts +1 -0
  35. package/core/fetcher/createRequestUrl.js +13 -0
  36. package/core/fetcher/getFetchFn.d.ts +4 -0
  37. package/core/fetcher/getFetchFn.js +55 -0
  38. package/core/fetcher/getRequestBody.d.ts +7 -0
  39. package/core/fetcher/getRequestBody.js +23 -0
  40. package/core/fetcher/getResponseBody.d.ts +1 -0
  41. package/core/fetcher/getResponseBody.js +48 -0
  42. package/core/fetcher/makeRequest.d.ts +1 -0
  43. package/core/fetcher/makeRequest.js +40 -0
  44. package/core/fetcher/requestWithRetries.d.ts +1 -0
  45. package/core/fetcher/requestWithRetries.js +32 -0
  46. package/core/fetcher/signals.d.ts +12 -0
  47. package/core/fetcher/signals.js +37 -0
  48. package/core/form-data-utils/FormDataWrapper.d.ts +10 -21
  49. package/core/form-data-utils/FormDataWrapper.js +82 -49
  50. package/core/runtime/runtime.d.ts +1 -0
  51. package/core/runtime/runtime.js +1 -0
  52. package/core/schemas/Schema.d.ts +7 -4
  53. package/core/schemas/builders/lazy/lazy.d.ts +2 -2
  54. package/core/schemas/builders/lazy/lazy.js +8 -19
  55. package/core/schemas/builders/lazy/lazyObject.js +1 -10
  56. package/core/schemas/builders/list/list.js +31 -44
  57. package/core/schemas/builders/object/object.js +90 -111
  58. package/core/schemas/builders/object/types.d.ts +2 -2
  59. package/core/schemas/builders/object-like/getObjectLikeUtils.js +3 -12
  60. package/core/schemas/builders/record/record.js +49 -60
  61. package/core/schemas/builders/schema-utils/getSchemaUtils.d.ts +2 -2
  62. package/core/schemas/builders/schema-utils/getSchemaUtils.js +18 -21
  63. package/core/schemas/builders/set/set.js +6 -15
  64. package/core/schemas/builders/undiscriminated-union/undiscriminatedUnion.js +21 -32
  65. package/core/schemas/builders/union/union.js +51 -62
  66. package/core/schemas/utils/maybeSkipValidation.js +3 -12
  67. package/dist/Client.d.ts +9 -6
  68. package/dist/Client.js +40 -37
  69. package/dist/api/client/requests/ExecutePromptRequest.d.ts +7 -5
  70. package/dist/api/client/requests/ExecutePromptStreamRequest.d.ts +7 -5
  71. package/dist/api/resources/deployments/client/Client.d.ts +8 -5
  72. package/dist/api/resources/deployments/client/Client.js +22 -17
  73. package/dist/api/resources/documentIndexes/client/Client.d.ts +37 -12
  74. package/dist/api/resources/documentIndexes/client/Client.js +128 -30
  75. package/dist/api/resources/documents/client/Client.d.ts +11 -7
  76. package/dist/api/resources/documents/client/Client.js +25 -22
  77. package/dist/api/resources/folderEntities/client/Client.d.ts +4 -1
  78. package/dist/api/resources/folderEntities/client/Client.js +4 -3
  79. package/dist/api/resources/sandboxes/client/Client.d.ts +7 -4
  80. package/dist/api/resources/sandboxes/client/Client.js +14 -13
  81. package/dist/api/resources/testSuiteRuns/client/Client.d.ts +6 -3
  82. package/dist/api/resources/testSuiteRuns/client/Client.js +13 -10
  83. package/dist/api/resources/testSuites/client/Client.d.ts +6 -3
  84. package/dist/api/resources/testSuites/client/Client.js +16 -14
  85. package/dist/api/resources/workflowDeployments/client/Client.d.ts +7 -4
  86. package/dist/api/resources/workflowDeployments/client/Client.js +17 -13
  87. package/dist/api/resources/workflowSandboxes/client/Client.d.ts +4 -1
  88. package/dist/api/resources/workflowSandboxes/client/Client.js +5 -6
  89. package/dist/api/types/IterationStateEnum.d.ts +12 -0
  90. package/dist/api/types/IterationStateEnum.js +10 -0
  91. package/dist/api/types/MapNodeResultData.d.ts +2 -0
  92. package/dist/api/types/PromptNodeResultData.d.ts +1 -0
  93. package/dist/api/types/TestSuiteRunMetricNumberOutput.d.ts +1 -1
  94. package/dist/api/types/TestSuiteRunMetricStringOutput.d.ts +1 -1
  95. package/dist/api/types/TestSuiteTestCaseRejectedBulkResult.d.ts +1 -1
  96. package/dist/api/types/index.d.ts +1 -0
  97. package/dist/api/types/index.js +1 -0
  98. package/dist/core/fetcher/Fetcher.d.ts +2 -0
  99. package/dist/core/fetcher/Fetcher.js +19 -185
  100. package/dist/core/fetcher/createRequestUrl.d.ts +1 -0
  101. package/dist/core/fetcher/createRequestUrl.js +13 -0
  102. package/dist/core/fetcher/getFetchFn.d.ts +4 -0
  103. package/dist/core/fetcher/getFetchFn.js +55 -0
  104. package/dist/core/fetcher/getRequestBody.d.ts +7 -0
  105. package/dist/core/fetcher/getRequestBody.js +23 -0
  106. package/dist/core/fetcher/getResponseBody.d.ts +1 -0
  107. package/dist/core/fetcher/getResponseBody.js +48 -0
  108. package/dist/core/fetcher/makeRequest.d.ts +1 -0
  109. package/dist/core/fetcher/makeRequest.js +40 -0
  110. package/dist/core/fetcher/requestWithRetries.d.ts +1 -0
  111. package/dist/core/fetcher/requestWithRetries.js +32 -0
  112. package/dist/core/fetcher/signals.d.ts +12 -0
  113. package/dist/core/fetcher/signals.js +37 -0
  114. package/dist/core/form-data-utils/FormDataWrapper.d.ts +10 -21
  115. package/dist/core/form-data-utils/FormDataWrapper.js +82 -49
  116. package/dist/core/runtime/runtime.d.ts +1 -0
  117. package/dist/core/runtime/runtime.js +1 -0
  118. package/dist/core/schemas/Schema.d.ts +7 -4
  119. package/dist/core/schemas/builders/lazy/lazy.d.ts +2 -2
  120. package/dist/core/schemas/builders/lazy/lazy.js +8 -19
  121. package/dist/core/schemas/builders/lazy/lazyObject.js +1 -10
  122. package/dist/core/schemas/builders/list/list.js +31 -44
  123. package/dist/core/schemas/builders/object/object.js +90 -111
  124. package/dist/core/schemas/builders/object/types.d.ts +2 -2
  125. package/dist/core/schemas/builders/object-like/getObjectLikeUtils.js +3 -12
  126. package/dist/core/schemas/builders/record/record.js +49 -60
  127. package/dist/core/schemas/builders/schema-utils/getSchemaUtils.d.ts +2 -2
  128. package/dist/core/schemas/builders/schema-utils/getSchemaUtils.js +18 -21
  129. package/dist/core/schemas/builders/set/set.js +6 -15
  130. package/dist/core/schemas/builders/undiscriminated-union/undiscriminatedUnion.js +21 -32
  131. package/dist/core/schemas/builders/union/union.js +51 -62
  132. package/dist/core/schemas/utils/maybeSkipValidation.js +3 -12
  133. package/dist/serialization/types/IterationStateEnum.d.ts +10 -0
  134. package/dist/serialization/types/IterationStateEnum.js +31 -0
  135. package/dist/serialization/types/MapNodeResultData.d.ts +2 -0
  136. package/dist/serialization/types/MapNodeResultData.js +2 -0
  137. package/dist/serialization/types/MetadataFilterConfigRequest.js +2 -10
  138. package/dist/serialization/types/MetadataFilterRuleRequest.js +2 -10
  139. package/dist/serialization/types/PromptNodeResultData.d.ts +1 -0
  140. package/dist/serialization/types/PromptNodeResultData.js +1 -0
  141. package/dist/serialization/types/TestSuiteRunMetricNumberOutput.d.ts +1 -1
  142. package/dist/serialization/types/TestSuiteRunMetricNumberOutput.js +1 -1
  143. package/dist/serialization/types/TestSuiteRunMetricStringOutput.d.ts +1 -1
  144. package/dist/serialization/types/TestSuiteRunMetricStringOutput.js +1 -1
  145. package/dist/serialization/types/TestSuiteTestCaseRejectedBulkResult.d.ts +1 -1
  146. package/dist/serialization/types/TestSuiteTestCaseRejectedBulkResult.js +1 -1
  147. package/dist/serialization/types/index.d.ts +1 -0
  148. package/dist/serialization/types/index.js +1 -0
  149. package/package.json +6 -1
  150. package/reference.md +2418 -0
  151. package/serialization/types/IterationStateEnum.d.ts +10 -0
  152. package/serialization/types/IterationStateEnum.js +31 -0
  153. package/serialization/types/MapNodeResultData.d.ts +2 -0
  154. package/serialization/types/MapNodeResultData.js +2 -0
  155. package/serialization/types/MetadataFilterConfigRequest.js +2 -10
  156. package/serialization/types/MetadataFilterRuleRequest.js +2 -10
  157. package/serialization/types/PromptNodeResultData.d.ts +1 -0
  158. package/serialization/types/PromptNodeResultData.js +1 -0
  159. package/serialization/types/TestSuiteRunMetricNumberOutput.d.ts +1 -1
  160. package/serialization/types/TestSuiteRunMetricNumberOutput.js +1 -1
  161. package/serialization/types/TestSuiteRunMetricStringOutput.d.ts +1 -1
  162. package/serialization/types/TestSuiteRunMetricStringOutput.js +1 -1
  163. package/serialization/types/TestSuiteTestCaseRejectedBulkResult.d.ts +1 -1
  164. package/serialization/types/TestSuiteTestCaseRejectedBulkResult.js +1 -1
  165. package/serialization/types/index.d.ts +1 -0
  166. package/serialization/types/index.js +1 -0
@@ -10,8 +10,11 @@ export declare namespace DocumentIndexes {
10
10
  apiKey: core.Supplier<string>;
11
11
  }
12
12
  interface RequestOptions {
13
+ /** The maximum time to wait for a response in seconds. */
13
14
  timeoutInSeconds?: number;
15
+ /** The number of times to retry the request. Defaults to 2. */
14
16
  maxRetries?: number;
17
+ /** A hook to abort the request. */
15
18
  abortSignal?: AbortSignal;
16
19
  }
17
20
  }
@@ -25,7 +28,7 @@ export declare class DocumentIndexes {
25
28
  * @param {DocumentIndexes.RequestOptions} requestOptions - Request-specific configuration.
26
29
  *
27
30
  * @example
28
- * await vellum.documentIndexes.list()
31
+ * await client.documentIndexes.list()
29
32
  */
30
33
  list(request?: Vellum.DocumentIndexesListRequest, requestOptions?: DocumentIndexes.RequestOptions): Promise<Vellum.PaginatedDocumentIndexReadList>;
31
34
  /**
@@ -35,7 +38,7 @@ export declare class DocumentIndexes {
35
38
  * @param {DocumentIndexes.RequestOptions} requestOptions - Request-specific configuration.
36
39
  *
37
40
  * @example
38
- * await vellum.documentIndexes.create({
41
+ * await client.documentIndexes.create({
39
42
  * label: "string",
40
43
  * name: "string",
41
44
  * status: Vellum.EntityStatus.Active,
@@ -59,18 +62,18 @@ export declare class DocumentIndexes {
59
62
  * @param {DocumentIndexes.RequestOptions} requestOptions - Request-specific configuration.
60
63
  *
61
64
  * @example
62
- * await vellum.documentIndexes.retrieve("string")
65
+ * await client.documentIndexes.retrieve("string")
63
66
  */
64
67
  retrieve(id: string, requestOptions?: DocumentIndexes.RequestOptions): Promise<Vellum.DocumentIndexRead>;
65
68
  /**
66
- * Used to fully update a Document Index given its ID.
69
+ * Used to fully update a Document Index given its ID or name.
67
70
  *
68
- * @param {string} id - A UUID string identifying this document index.
71
+ * @param {string} id - Either the Document Index's ID or its unique name
69
72
  * @param {Vellum.DocumentIndexUpdateRequest} request
70
73
  * @param {DocumentIndexes.RequestOptions} requestOptions - Request-specific configuration.
71
74
  *
72
75
  * @example
73
- * await vellum.documentIndexes.update("string", {
76
+ * await client.documentIndexes.update("string", {
74
77
  * label: "string",
75
78
  * status: Vellum.EntityStatus.Active,
76
79
  * environment: Vellum.EnvironmentEnum.Development
@@ -78,30 +81,52 @@ export declare class DocumentIndexes {
78
81
  */
79
82
  update(id: string, request: Vellum.DocumentIndexUpdateRequest, requestOptions?: DocumentIndexes.RequestOptions): Promise<Vellum.DocumentIndexRead>;
80
83
  /**
81
- * Used to delete a Document Index given its ID.
84
+ * Used to delete a Document Index given its ID or name.
82
85
  *
83
- * @param {string} id - A UUID string identifying this document index.
86
+ * @param {string} id - Either the Document Index's ID or its unique name
84
87
  * @param {DocumentIndexes.RequestOptions} requestOptions - Request-specific configuration.
85
88
  *
86
89
  * @example
87
- * await vellum.documentIndexes.destroy("id")
90
+ * await client.documentIndexes.destroy("id")
88
91
  */
89
92
  destroy(id: string, requestOptions?: DocumentIndexes.RequestOptions): Promise<void>;
90
93
  /**
91
- * Used to partial update a Document Index given its ID.
94
+ * Used to partial update a Document Index given its ID or name.
92
95
  *
93
- * @param {string} id - A UUID string identifying this document index.
96
+ * @param {string} id - Either the Document Index's ID or its unique name
94
97
  * @param {Vellum.PatchedDocumentIndexUpdateRequest} request
95
98
  * @param {DocumentIndexes.RequestOptions} requestOptions - Request-specific configuration.
96
99
  *
97
100
  * @example
98
- * await vellum.documentIndexes.partialUpdate("string", {
101
+ * await client.documentIndexes.partialUpdate("string", {
99
102
  * label: "string",
100
103
  * status: Vellum.EntityStatus.Active,
101
104
  * environment: Vellum.EnvironmentEnum.Development
102
105
  * })
103
106
  */
104
107
  partialUpdate(id: string, request?: Vellum.PatchedDocumentIndexUpdateRequest, requestOptions?: DocumentIndexes.RequestOptions): Promise<Vellum.DocumentIndexRead>;
108
+ /**
109
+ * Adds a previously uploaded Document to the specified Document Index.
110
+ *
111
+ * @param {string} documentId - Either the Vellum-generated ID or the originally supplied external_id that uniquely identifies the Document you'd like to add.
112
+ * @param {string} id - Either the Vellum-generated ID or the originally specified name that uniquely identifies the Document Index to which you'd like to add the Document.
113
+ * @param {DocumentIndexes.RequestOptions} requestOptions - Request-specific configuration.
114
+ *
115
+ * @example
116
+ * await client.documentIndexes.addDocument("document_id", "id")
117
+ */
118
+ addDocument(documentId: string, id: string, requestOptions?: DocumentIndexes.RequestOptions): Promise<void>;
119
+ /**
120
+ * Removes a Document from a Document Index without deleting the Document itself.
121
+ *
122
+ * @param {string} documentId - Either the Vellum-generated ID or the originally supplied external_id that uniquely identifies the Document you'd like to remove.
123
+ * @param {string} id - Either the Vellum-generated ID or the originally specified name that uniquely identifies the Document Index from which you'd like to remove a Document.
124
+ * @param {DocumentIndexes.RequestOptions} requestOptions - Request-specific configuration.
125
+ *
126
+ * @example
127
+ * await client.documentIndexes.removeDocument("document_id", "id")
128
+ */
129
+ removeDocument(documentId: string, id: string, requestOptions?: DocumentIndexes.RequestOptions): Promise<void>;
105
130
  protected _getCustomAuthorizationHeaders(): Promise<{
106
131
  X_API_KEY: string;
107
132
  }>;
@@ -55,7 +55,7 @@ class DocumentIndexes {
55
55
  * @param {DocumentIndexes.RequestOptions} requestOptions - Request-specific configuration.
56
56
  *
57
57
  * @example
58
- * await vellum.documentIndexes.list()
58
+ * await client.documentIndexes.list()
59
59
  */
60
60
  list(request = {}, requestOptions) {
61
61
  var _a;
@@ -81,15 +81,16 @@ class DocumentIndexes {
81
81
  url: (0, url_join_1.default)(((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.VellumEnvironment.Production)
82
82
  .default, "v1/document-indexes"),
83
83
  method: "GET",
84
- headers: Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "vellum-ai", "X-Fern-SDK-Version": "0.6.7", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())),
84
+ headers: Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "vellum-ai", "X-Fern-SDK-Version": "0.6.11", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())),
85
85
  contentType: "application/json",
86
86
  queryParameters: _queryParams,
87
+ requestType: "json",
87
88
  timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : undefined,
88
89
  maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
89
90
  abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
90
91
  });
91
92
  if (_response.ok) {
92
- return yield serializers.PaginatedDocumentIndexReadList.parseOrThrow(_response.body, {
93
+ return serializers.PaginatedDocumentIndexReadList.parseOrThrow(_response.body, {
93
94
  unrecognizedObjectKeys: "passthrough",
94
95
  allowUnrecognizedUnionMembers: true,
95
96
  allowUnrecognizedEnumValues: true,
@@ -124,7 +125,7 @@ class DocumentIndexes {
124
125
  * @param {DocumentIndexes.RequestOptions} requestOptions - Request-specific configuration.
125
126
  *
126
127
  * @example
127
- * await vellum.documentIndexes.create({
128
+ * await client.documentIndexes.create({
128
129
  * label: "string",
129
130
  * name: "string",
130
131
  * status: Vellum.EntityStatus.Active,
@@ -147,17 +148,16 @@ class DocumentIndexes {
147
148
  url: (0, url_join_1.default)(((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.VellumEnvironment.Production)
148
149
  .default, "v1/document-indexes"),
149
150
  method: "POST",
150
- headers: Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "vellum-ai", "X-Fern-SDK-Version": "0.6.7", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())),
151
+ headers: Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "vellum-ai", "X-Fern-SDK-Version": "0.6.11", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())),
151
152
  contentType: "application/json",
152
- body: yield serializers.DocumentIndexCreateRequest.jsonOrThrow(request, {
153
- unrecognizedObjectKeys: "strip",
154
- }),
153
+ requestType: "json",
154
+ body: serializers.DocumentIndexCreateRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }),
155
155
  timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : undefined,
156
156
  maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
157
157
  abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
158
158
  });
159
159
  if (_response.ok) {
160
- return yield serializers.DocumentIndexRead.parseOrThrow(_response.body, {
160
+ return serializers.DocumentIndexRead.parseOrThrow(_response.body, {
161
161
  unrecognizedObjectKeys: "passthrough",
162
162
  allowUnrecognizedUnionMembers: true,
163
163
  allowUnrecognizedEnumValues: true,
@@ -192,7 +192,7 @@ class DocumentIndexes {
192
192
  * @param {DocumentIndexes.RequestOptions} requestOptions - Request-specific configuration.
193
193
  *
194
194
  * @example
195
- * await vellum.documentIndexes.retrieve("string")
195
+ * await client.documentIndexes.retrieve("string")
196
196
  */
197
197
  retrieve(id, requestOptions) {
198
198
  var _a;
@@ -201,14 +201,15 @@ class DocumentIndexes {
201
201
  url: (0, url_join_1.default)(((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.VellumEnvironment.Production)
202
202
  .default, `v1/document-indexes/${encodeURIComponent(id)}`),
203
203
  method: "GET",
204
- headers: Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "vellum-ai", "X-Fern-SDK-Version": "0.6.7", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())),
204
+ headers: Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "vellum-ai", "X-Fern-SDK-Version": "0.6.11", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())),
205
205
  contentType: "application/json",
206
+ requestType: "json",
206
207
  timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : undefined,
207
208
  maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
208
209
  abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
209
210
  });
210
211
  if (_response.ok) {
211
- return yield serializers.DocumentIndexRead.parseOrThrow(_response.body, {
212
+ return serializers.DocumentIndexRead.parseOrThrow(_response.body, {
212
213
  unrecognizedObjectKeys: "passthrough",
213
214
  allowUnrecognizedUnionMembers: true,
214
215
  allowUnrecognizedEnumValues: true,
@@ -237,14 +238,14 @@ class DocumentIndexes {
237
238
  });
238
239
  }
239
240
  /**
240
- * Used to fully update a Document Index given its ID.
241
+ * Used to fully update a Document Index given its ID or name.
241
242
  *
242
- * @param {string} id - A UUID string identifying this document index.
243
+ * @param {string} id - Either the Document Index's ID or its unique name
243
244
  * @param {Vellum.DocumentIndexUpdateRequest} request
244
245
  * @param {DocumentIndexes.RequestOptions} requestOptions - Request-specific configuration.
245
246
  *
246
247
  * @example
247
- * await vellum.documentIndexes.update("string", {
248
+ * await client.documentIndexes.update("string", {
248
249
  * label: "string",
249
250
  * status: Vellum.EntityStatus.Active,
250
251
  * environment: Vellum.EnvironmentEnum.Development
@@ -257,17 +258,16 @@ class DocumentIndexes {
257
258
  url: (0, url_join_1.default)(((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.VellumEnvironment.Production)
258
259
  .default, `v1/document-indexes/${encodeURIComponent(id)}`),
259
260
  method: "PUT",
260
- headers: Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "vellum-ai", "X-Fern-SDK-Version": "0.6.7", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())),
261
+ headers: Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "vellum-ai", "X-Fern-SDK-Version": "0.6.11", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())),
261
262
  contentType: "application/json",
262
- body: yield serializers.DocumentIndexUpdateRequest.jsonOrThrow(request, {
263
- unrecognizedObjectKeys: "strip",
264
- }),
263
+ requestType: "json",
264
+ body: serializers.DocumentIndexUpdateRequest.jsonOrThrow(request, { unrecognizedObjectKeys: "strip" }),
265
265
  timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : undefined,
266
266
  maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
267
267
  abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
268
268
  });
269
269
  if (_response.ok) {
270
- return yield serializers.DocumentIndexRead.parseOrThrow(_response.body, {
270
+ return serializers.DocumentIndexRead.parseOrThrow(_response.body, {
271
271
  unrecognizedObjectKeys: "passthrough",
272
272
  allowUnrecognizedUnionMembers: true,
273
273
  allowUnrecognizedEnumValues: true,
@@ -296,13 +296,13 @@ class DocumentIndexes {
296
296
  });
297
297
  }
298
298
  /**
299
- * Used to delete a Document Index given its ID.
299
+ * Used to delete a Document Index given its ID or name.
300
300
  *
301
- * @param {string} id - A UUID string identifying this document index.
301
+ * @param {string} id - Either the Document Index's ID or its unique name
302
302
  * @param {DocumentIndexes.RequestOptions} requestOptions - Request-specific configuration.
303
303
  *
304
304
  * @example
305
- * await vellum.documentIndexes.destroy("id")
305
+ * await client.documentIndexes.destroy("id")
306
306
  */
307
307
  destroy(id, requestOptions) {
308
308
  var _a;
@@ -311,8 +311,9 @@ class DocumentIndexes {
311
311
  url: (0, url_join_1.default)(((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.VellumEnvironment.Production)
312
312
  .default, `v1/document-indexes/${encodeURIComponent(id)}`),
313
313
  method: "DELETE",
314
- headers: Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "vellum-ai", "X-Fern-SDK-Version": "0.6.7", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())),
314
+ headers: Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "vellum-ai", "X-Fern-SDK-Version": "0.6.11", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())),
315
315
  contentType: "application/json",
316
+ requestType: "json",
316
317
  timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : undefined,
317
318
  maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
318
319
  abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
@@ -342,14 +343,14 @@ class DocumentIndexes {
342
343
  });
343
344
  }
344
345
  /**
345
- * Used to partial update a Document Index given its ID.
346
+ * Used to partial update a Document Index given its ID or name.
346
347
  *
347
- * @param {string} id - A UUID string identifying this document index.
348
+ * @param {string} id - Either the Document Index's ID or its unique name
348
349
  * @param {Vellum.PatchedDocumentIndexUpdateRequest} request
349
350
  * @param {DocumentIndexes.RequestOptions} requestOptions - Request-specific configuration.
350
351
  *
351
352
  * @example
352
- * await vellum.documentIndexes.partialUpdate("string", {
353
+ * await client.documentIndexes.partialUpdate("string", {
353
354
  * label: "string",
354
355
  * status: Vellum.EntityStatus.Active,
355
356
  * environment: Vellum.EnvironmentEnum.Development
@@ -362,9 +363,10 @@ class DocumentIndexes {
362
363
  url: (0, url_join_1.default)(((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.VellumEnvironment.Production)
363
364
  .default, `v1/document-indexes/${encodeURIComponent(id)}`),
364
365
  method: "PATCH",
365
- headers: Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "vellum-ai", "X-Fern-SDK-Version": "0.6.7", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())),
366
+ headers: Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "vellum-ai", "X-Fern-SDK-Version": "0.6.11", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())),
366
367
  contentType: "application/json",
367
- body: yield serializers.PatchedDocumentIndexUpdateRequest.jsonOrThrow(request, {
368
+ requestType: "json",
369
+ body: serializers.PatchedDocumentIndexUpdateRequest.jsonOrThrow(request, {
368
370
  unrecognizedObjectKeys: "strip",
369
371
  }),
370
372
  timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : undefined,
@@ -372,7 +374,7 @@ class DocumentIndexes {
372
374
  abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
373
375
  });
374
376
  if (_response.ok) {
375
- return yield serializers.DocumentIndexRead.parseOrThrow(_response.body, {
377
+ return serializers.DocumentIndexRead.parseOrThrow(_response.body, {
376
378
  unrecognizedObjectKeys: "passthrough",
377
379
  allowUnrecognizedUnionMembers: true,
378
380
  allowUnrecognizedEnumValues: true,
@@ -400,6 +402,102 @@ class DocumentIndexes {
400
402
  }
401
403
  });
402
404
  }
405
+ /**
406
+ * Adds a previously uploaded Document to the specified Document Index.
407
+ *
408
+ * @param {string} documentId - Either the Vellum-generated ID or the originally supplied external_id that uniquely identifies the Document you'd like to add.
409
+ * @param {string} id - Either the Vellum-generated ID or the originally specified name that uniquely identifies the Document Index to which you'd like to add the Document.
410
+ * @param {DocumentIndexes.RequestOptions} requestOptions - Request-specific configuration.
411
+ *
412
+ * @example
413
+ * await client.documentIndexes.addDocument("document_id", "id")
414
+ */
415
+ addDocument(documentId, id, requestOptions) {
416
+ var _a;
417
+ return __awaiter(this, void 0, void 0, function* () {
418
+ const _response = yield core.fetcher({
419
+ url: (0, url_join_1.default)(((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.VellumEnvironment.Production)
420
+ .default, `v1/document-indexes/${encodeURIComponent(id)}/documents/${encodeURIComponent(documentId)}`),
421
+ method: "POST",
422
+ headers: Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "vellum-ai", "X-Fern-SDK-Version": "0.6.11", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())),
423
+ contentType: "application/json",
424
+ requestType: "json",
425
+ timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : undefined,
426
+ maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
427
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
428
+ });
429
+ if (_response.ok) {
430
+ return;
431
+ }
432
+ if (_response.error.reason === "status-code") {
433
+ throw new errors.VellumError({
434
+ statusCode: _response.error.statusCode,
435
+ body: _response.error.body,
436
+ });
437
+ }
438
+ switch (_response.error.reason) {
439
+ case "non-json":
440
+ throw new errors.VellumError({
441
+ statusCode: _response.error.statusCode,
442
+ body: _response.error.rawBody,
443
+ });
444
+ case "timeout":
445
+ throw new errors.VellumTimeoutError();
446
+ case "unknown":
447
+ throw new errors.VellumError({
448
+ message: _response.error.errorMessage,
449
+ });
450
+ }
451
+ });
452
+ }
453
+ /**
454
+ * Removes a Document from a Document Index without deleting the Document itself.
455
+ *
456
+ * @param {string} documentId - Either the Vellum-generated ID or the originally supplied external_id that uniquely identifies the Document you'd like to remove.
457
+ * @param {string} id - Either the Vellum-generated ID or the originally specified name that uniquely identifies the Document Index from which you'd like to remove a Document.
458
+ * @param {DocumentIndexes.RequestOptions} requestOptions - Request-specific configuration.
459
+ *
460
+ * @example
461
+ * await client.documentIndexes.removeDocument("document_id", "id")
462
+ */
463
+ removeDocument(documentId, id, requestOptions) {
464
+ var _a;
465
+ return __awaiter(this, void 0, void 0, function* () {
466
+ const _response = yield core.fetcher({
467
+ url: (0, url_join_1.default)(((_a = (yield core.Supplier.get(this._options.environment))) !== null && _a !== void 0 ? _a : environments.VellumEnvironment.Production)
468
+ .default, `v1/document-indexes/${encodeURIComponent(id)}/documents/${encodeURIComponent(documentId)}`),
469
+ method: "DELETE",
470
+ headers: Object.assign({ "X-Fern-Language": "JavaScript", "X-Fern-SDK-Name": "vellum-ai", "X-Fern-SDK-Version": "0.6.11", "X-Fern-Runtime": core.RUNTIME.type, "X-Fern-Runtime-Version": core.RUNTIME.version }, (yield this._getCustomAuthorizationHeaders())),
471
+ contentType: "application/json",
472
+ requestType: "json",
473
+ timeoutMs: (requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) != null ? requestOptions.timeoutInSeconds * 1000 : undefined,
474
+ maxRetries: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries,
475
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
476
+ });
477
+ if (_response.ok) {
478
+ return;
479
+ }
480
+ if (_response.error.reason === "status-code") {
481
+ throw new errors.VellumError({
482
+ statusCode: _response.error.statusCode,
483
+ body: _response.error.body,
484
+ });
485
+ }
486
+ switch (_response.error.reason) {
487
+ case "non-json":
488
+ throw new errors.VellumError({
489
+ statusCode: _response.error.statusCode,
490
+ body: _response.error.rawBody,
491
+ });
492
+ case "timeout":
493
+ throw new errors.VellumTimeoutError();
494
+ case "unknown":
495
+ throw new errors.VellumError({
496
+ message: _response.error.errorMessage,
497
+ });
498
+ }
499
+ });
500
+ }
403
501
  _getCustomAuthorizationHeaders() {
404
502
  return __awaiter(this, void 0, void 0, function* () {
405
503
  const apiKeyValue = yield core.Supplier.get(this._options.apiKey);
@@ -6,14 +6,18 @@ import * as environments from "../../../../environments";
6
6
  import * as core from "../../../../core";
7
7
  import * as Vellum from "../../../index";
8
8
  import * as fs from "fs";
9
+ import { Blob } from "buffer";
9
10
  export declare namespace Documents {
10
11
  interface Options {
11
12
  environment?: core.Supplier<environments.VellumEnvironment | environments.VellumEnvironmentUrls>;
12
13
  apiKey: core.Supplier<string>;
13
14
  }
14
15
  interface RequestOptions {
16
+ /** The maximum time to wait for a response in seconds. */
15
17
  timeoutInSeconds?: number;
18
+ /** The number of times to retry the request. Defaults to 2. */
16
19
  maxRetries?: number;
20
+ /** A hook to abort the request. */
17
21
  abortSignal?: AbortSignal;
18
22
  }
19
23
  }
@@ -27,7 +31,7 @@ export declare class Documents {
27
31
  * @param {Documents.RequestOptions} requestOptions - Request-specific configuration.
28
32
  *
29
33
  * @example
30
- * await vellum.documents.list()
34
+ * await client.documents.list()
31
35
  */
32
36
  list(request?: Vellum.DocumentsListRequest, requestOptions?: Documents.RequestOptions): Promise<Vellum.PaginatedSlimDocumentList>;
33
37
  /**
@@ -37,7 +41,7 @@ export declare class Documents {
37
41
  * @param {Documents.RequestOptions} requestOptions - Request-specific configuration.
38
42
  *
39
43
  * @example
40
- * await vellum.documents.retrieve("id")
44
+ * await client.documents.retrieve("id")
41
45
  */
42
46
  retrieve(id: string, requestOptions?: Documents.RequestOptions): Promise<Vellum.DocumentRead>;
43
47
  /**
@@ -47,7 +51,7 @@ export declare class Documents {
47
51
  * @param {Documents.RequestOptions} requestOptions - Request-specific configuration.
48
52
  *
49
53
  * @example
50
- * await vellum.documents.destroy("id")
54
+ * await client.documents.destroy("id")
51
55
  */
52
56
  destroy(id: string, requestOptions?: Documents.RequestOptions): Promise<void>;
53
57
  /**
@@ -58,7 +62,7 @@ export declare class Documents {
58
62
  * @param {Documents.RequestOptions} requestOptions - Request-specific configuration.
59
63
  *
60
64
  * @example
61
- * await vellum.documents.partialUpdate("id")
65
+ * await client.documents.partialUpdate("id")
62
66
  */
63
67
  partialUpdate(id: string, request?: Vellum.PatchedDocumentUpdateRequest, requestOptions?: Documents.RequestOptions): Promise<Vellum.DocumentRead>;
64
68
  /**
@@ -74,7 +78,7 @@ export declare class Documents {
74
78
  * - `keywords: list[str] | None` - Optionally include a list of keywords that'll be associated with this document. Used when performing keyword searches.
75
79
  * - `metadata: dict[str, Any]` - A stringified JSON object containing any metadata associated with the document that you'd like to filter upon later.
76
80
  *
77
- * @param {File | fs.ReadStream} contents
81
+ * @param {File | fs.ReadStream | Blob} contents
78
82
  * @param {Vellum.UploadDocumentBodyRequest} request
79
83
  * @param {Documents.RequestOptions} requestOptions - Request-specific configuration.
80
84
  *
@@ -83,11 +87,11 @@ export declare class Documents {
83
87
  * @throws {@link Vellum.InternalServerError}
84
88
  *
85
89
  * @example
86
- * await vellum.documents.upload(fs.createReadStream("/path/to/your/file"), {
90
+ * await client.documents.upload(fs.createReadStream("/path/to/your/file"), {
87
91
  * label: "label"
88
92
  * })
89
93
  */
90
- upload(contents: File | fs.ReadStream, request: Vellum.UploadDocumentBodyRequest, requestOptions?: Documents.RequestOptions): Promise<Vellum.UploadDocumentResponse>;
94
+ upload(contents: File | fs.ReadStream | Blob, request: Vellum.UploadDocumentBodyRequest, requestOptions?: Documents.RequestOptions): Promise<Vellum.UploadDocumentResponse>;
91
95
  protected _getCustomAuthorizationHeaders(): Promise<{
92
96
  X_API_KEY: string;
93
97
  }>;