@credal/sdk 0.1.9 → 0.1.10

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 (61) hide show
  1. package/dist/cjs/Client.js +2 -2
  2. package/dist/cjs/api/resources/documentCatalog/client/Client.d.ts +8 -0
  3. package/dist/cjs/api/resources/documentCatalog/client/Client.js +84 -0
  4. package/dist/cjs/api/resources/documentCatalog/client/requests/UploadFileRequest.d.ts +27 -0
  5. package/dist/cjs/api/resources/documentCatalog/client/requests/UploadFileRequest.js +3 -0
  6. package/dist/cjs/api/resources/documentCatalog/client/requests/index.d.ts +1 -0
  7. package/dist/cjs/core/exports.d.ts +1 -0
  8. package/dist/cjs/core/exports.js +17 -0
  9. package/dist/cjs/core/file/exports.d.ts +1 -0
  10. package/dist/cjs/core/file/exports.js +2 -0
  11. package/dist/cjs/core/file/file.d.ts +10 -0
  12. package/dist/cjs/core/file/file.js +221 -0
  13. package/dist/cjs/core/file/index.d.ts +2 -0
  14. package/dist/cjs/core/file/index.js +18 -0
  15. package/dist/cjs/core/file/types.d.ts +66 -0
  16. package/dist/cjs/core/file/types.js +2 -0
  17. package/dist/cjs/core/form-data-utils/FormDataWrapper.d.ts +15 -0
  18. package/dist/cjs/core/form-data-utils/FormDataWrapper.js +185 -0
  19. package/dist/cjs/core/form-data-utils/encodeAsFormParameter.d.ts +1 -0
  20. package/dist/cjs/core/form-data-utils/encodeAsFormParameter.js +12 -0
  21. package/dist/cjs/core/form-data-utils/index.d.ts +2 -0
  22. package/dist/cjs/core/form-data-utils/index.js +20 -0
  23. package/dist/cjs/core/index.d.ts +2 -0
  24. package/dist/cjs/core/index.js +3 -1
  25. package/dist/cjs/exports.d.ts +1 -0
  26. package/dist/cjs/exports.js +17 -0
  27. package/dist/cjs/index.d.ts +1 -0
  28. package/dist/cjs/index.js +4 -0
  29. package/dist/cjs/version.d.ts +1 -1
  30. package/dist/cjs/version.js +1 -1
  31. package/dist/esm/Client.mjs +2 -2
  32. package/dist/esm/api/resources/documentCatalog/client/Client.d.mts +8 -0
  33. package/dist/esm/api/resources/documentCatalog/client/Client.mjs +84 -0
  34. package/dist/esm/api/resources/documentCatalog/client/requests/UploadFileRequest.d.mts +27 -0
  35. package/dist/esm/api/resources/documentCatalog/client/requests/UploadFileRequest.mjs +2 -0
  36. package/dist/esm/api/resources/documentCatalog/client/requests/index.d.mts +1 -0
  37. package/dist/esm/core/exports.d.mts +1 -0
  38. package/dist/esm/core/exports.mjs +1 -0
  39. package/dist/esm/core/file/exports.d.mts +1 -0
  40. package/dist/esm/core/file/exports.mjs +1 -0
  41. package/dist/esm/core/file/file.d.mts +10 -0
  42. package/dist/esm/core/file/file.mjs +184 -0
  43. package/dist/esm/core/file/index.d.mts +2 -0
  44. package/dist/esm/core/file/index.mjs +2 -0
  45. package/dist/esm/core/file/types.d.mts +66 -0
  46. package/dist/esm/core/file/types.mjs +1 -0
  47. package/dist/esm/core/form-data-utils/FormDataWrapper.d.mts +15 -0
  48. package/dist/esm/core/form-data-utils/FormDataWrapper.mjs +147 -0
  49. package/dist/esm/core/form-data-utils/encodeAsFormParameter.d.mts +1 -0
  50. package/dist/esm/core/form-data-utils/encodeAsFormParameter.mjs +9 -0
  51. package/dist/esm/core/form-data-utils/index.d.mts +2 -0
  52. package/dist/esm/core/form-data-utils/index.mjs +2 -0
  53. package/dist/esm/core/index.d.mts +2 -0
  54. package/dist/esm/core/index.mjs +2 -0
  55. package/dist/esm/exports.d.mts +1 -0
  56. package/dist/esm/exports.mjs +1 -0
  57. package/dist/esm/index.d.mts +1 -0
  58. package/dist/esm/index.mjs +1 -0
  59. package/dist/esm/version.d.mts +1 -1
  60. package/dist/esm/version.mjs +1 -1
  61. package/package.json +1 -1
@@ -0,0 +1,185 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
45
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
46
+ var m = o[Symbol.asyncIterator], i;
47
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
48
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
49
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
50
+ };
51
+ Object.defineProperty(exports, "__esModule", { value: true });
52
+ exports.FormDataWrapper = void 0;
53
+ exports.newFormData = newFormData;
54
+ const index_js_1 = require("../../core/file/index.js");
55
+ const json_js_1 = require("../../core/json.js");
56
+ const index_js_2 = require("../runtime/index.js");
57
+ function newFormData() {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ return new FormDataWrapper();
60
+ });
61
+ }
62
+ class FormDataWrapper {
63
+ constructor() {
64
+ this.fd = new FormData();
65
+ }
66
+ setup() {
67
+ return __awaiter(this, void 0, void 0, function* () {
68
+ // noop
69
+ });
70
+ }
71
+ append(key, value) {
72
+ this.fd.append(key, String(value));
73
+ }
74
+ appendFile(key, value) {
75
+ return __awaiter(this, void 0, void 0, function* () {
76
+ const { data, filename, contentType } = yield (0, index_js_1.toMultipartDataPart)(value);
77
+ const blob = yield convertToBlob(data, contentType);
78
+ if (filename) {
79
+ this.fd.append(key, blob, filename);
80
+ }
81
+ else {
82
+ this.fd.append(key, blob);
83
+ }
84
+ });
85
+ }
86
+ getRequest() {
87
+ return {
88
+ body: this.fd,
89
+ headers: {},
90
+ duplex: "half",
91
+ };
92
+ }
93
+ }
94
+ exports.FormDataWrapper = FormDataWrapper;
95
+ function isStreamLike(value) {
96
+ return typeof value === "object" && value != null && ("read" in value || "pipe" in value);
97
+ }
98
+ function isReadableStream(value) {
99
+ return typeof value === "object" && value != null && "getReader" in value;
100
+ }
101
+ function isBuffer(value) {
102
+ return typeof Buffer !== "undefined" && Buffer.isBuffer && Buffer.isBuffer(value);
103
+ }
104
+ function isArrayBufferView(value) {
105
+ return ArrayBuffer.isView(value);
106
+ }
107
+ function streamToBuffer(stream) {
108
+ return __awaiter(this, void 0, void 0, function* () {
109
+ var _a, stream_1, stream_1_1;
110
+ var _b, e_1, _c, _d;
111
+ if (index_js_2.RUNTIME.type === "node") {
112
+ const { Readable } = yield Promise.resolve().then(() => __importStar(require("stream")));
113
+ if (stream instanceof Readable) {
114
+ const chunks = [];
115
+ try {
116
+ for (_a = true, stream_1 = __asyncValues(stream); stream_1_1 = yield stream_1.next(), _b = stream_1_1.done, !_b; _a = true) {
117
+ _d = stream_1_1.value;
118
+ _a = false;
119
+ const chunk = _d;
120
+ chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
121
+ }
122
+ }
123
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
124
+ finally {
125
+ try {
126
+ if (!_a && !_b && (_c = stream_1.return)) yield _c.call(stream_1);
127
+ }
128
+ finally { if (e_1) throw e_1.error; }
129
+ }
130
+ return Buffer.concat(chunks);
131
+ }
132
+ }
133
+ if (isReadableStream(stream)) {
134
+ const reader = stream.getReader();
135
+ const chunks = [];
136
+ try {
137
+ while (true) {
138
+ const { done, value } = yield reader.read();
139
+ if (done)
140
+ break;
141
+ chunks.push(value);
142
+ }
143
+ }
144
+ finally {
145
+ reader.releaseLock();
146
+ }
147
+ const totalLength = chunks.reduce((sum, chunk) => sum + chunk.length, 0);
148
+ const result = new Uint8Array(totalLength);
149
+ let offset = 0;
150
+ for (const chunk of chunks) {
151
+ result.set(chunk, offset);
152
+ offset += chunk.length;
153
+ }
154
+ return Buffer.from(result);
155
+ }
156
+ throw new Error(`Unsupported stream type: ${typeof stream}. Expected Node.js Readable stream or Web ReadableStream.`);
157
+ });
158
+ }
159
+ function convertToBlob(value, contentType) {
160
+ return __awaiter(this, void 0, void 0, function* () {
161
+ if (isStreamLike(value) || isReadableStream(value)) {
162
+ const buffer = yield streamToBuffer(value);
163
+ return new Blob([buffer], { type: contentType });
164
+ }
165
+ if (value instanceof Blob) {
166
+ return value;
167
+ }
168
+ if (isBuffer(value)) {
169
+ return new Blob([value], { type: contentType });
170
+ }
171
+ if (value instanceof ArrayBuffer) {
172
+ return new Blob([value], { type: contentType });
173
+ }
174
+ if (isArrayBufferView(value)) {
175
+ return new Blob([value], { type: contentType });
176
+ }
177
+ if (typeof value === "string") {
178
+ return new Blob([value], { type: contentType });
179
+ }
180
+ if (typeof value === "object" && value !== null) {
181
+ return new Blob([(0, json_js_1.toJson)(value)], { type: contentType !== null && contentType !== void 0 ? contentType : "application/json" });
182
+ }
183
+ return new Blob([String(value)], { type: contentType });
184
+ });
185
+ }
@@ -0,0 +1 @@
1
+ export declare function encodeAsFormParameter(value: unknown): Record<string, string>;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.encodeAsFormParameter = encodeAsFormParameter;
4
+ const qs_js_1 = require("../url/qs.js");
5
+ function encodeAsFormParameter(value) {
6
+ const stringified = (0, qs_js_1.toQueryString)(value, { encode: false });
7
+ const keyValuePairs = stringified.split("&").map((pair) => {
8
+ const [key, value] = pair.split("=");
9
+ return [key, value];
10
+ });
11
+ return Object.fromEntries(keyValuePairs);
12
+ }
@@ -0,0 +1,2 @@
1
+ export { encodeAsFormParameter } from "./encodeAsFormParameter.js";
2
+ export * from "./FormDataWrapper.js";
@@ -0,0 +1,20 @@
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
+ exports.encodeAsFormParameter = void 0;
18
+ var encodeAsFormParameter_js_1 = require("./encodeAsFormParameter.js");
19
+ Object.defineProperty(exports, "encodeAsFormParameter", { enumerable: true, get: function () { return encodeAsFormParameter_js_1.encodeAsFormParameter; } });
20
+ __exportStar(require("./FormDataWrapper.js"), exports);
@@ -1,6 +1,8 @@
1
1
  export * from "./auth/index.js";
2
2
  export * from "./base64.js";
3
3
  export * from "./fetcher/index.js";
4
+ export * as file from "./file/index.js";
5
+ export * from "./form-data-utils/index.js";
4
6
  export * from "./runtime/index.js";
5
7
  export * from "./stream/index.js";
6
8
  export * as url from "./url/index.js";
@@ -36,10 +36,12 @@ var __importStar = (this && this.__importStar) || (function () {
36
36
  };
37
37
  })();
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.url = void 0;
39
+ exports.url = exports.file = void 0;
40
40
  __exportStar(require("./auth/index.js"), exports);
41
41
  __exportStar(require("./base64.js"), exports);
42
42
  __exportStar(require("./fetcher/index.js"), exports);
43
+ exports.file = __importStar(require("./file/index.js"));
44
+ __exportStar(require("./form-data-utils/index.js"), exports);
43
45
  __exportStar(require("./runtime/index.js"), exports);
44
46
  __exportStar(require("./stream/index.js"), exports);
45
47
  exports.url = __importStar(require("./url/index.js"));
@@ -0,0 +1 @@
1
+ export * from "./core/exports.js";
@@ -0,0 +1,17 @@
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("./core/exports.js"), exports);
@@ -3,3 +3,4 @@ export type { BaseClientOptions, BaseRequestOptions } from "./BaseClient.js";
3
3
  export { CredalClient } from "./Client.js";
4
4
  export { CredalEnvironment } from "./environments.js";
5
5
  export { CredalError, CredalTimeoutError } from "./errors/index.js";
6
+ export * from "./exports.js";
package/dist/cjs/index.js CHANGED
@@ -32,6 +32,9 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
+ };
35
38
  Object.defineProperty(exports, "__esModule", { value: true });
36
39
  exports.CredalTimeoutError = exports.CredalError = exports.CredalEnvironment = exports.CredalClient = exports.Credal = void 0;
37
40
  exports.Credal = __importStar(require("./api/index.js"));
@@ -42,3 +45,4 @@ Object.defineProperty(exports, "CredalEnvironment", { enumerable: true, get: fun
42
45
  var index_js_1 = require("./errors/index.js");
43
46
  Object.defineProperty(exports, "CredalError", { enumerable: true, get: function () { return index_js_1.CredalError; } });
44
47
  Object.defineProperty(exports, "CredalTimeoutError", { enumerable: true, get: function () { return index_js_1.CredalTimeoutError; } });
48
+ __exportStar(require("./exports.js"), exports);
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "0.1.9";
1
+ export declare const SDK_VERSION = "0.1.10";
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SDK_VERSION = void 0;
4
- exports.SDK_VERSION = "0.1.9";
4
+ exports.SDK_VERSION = "0.1.10";
@@ -11,8 +11,8 @@ export class CredalClient {
11
11
  this._options = Object.assign(Object.assign({}, _options), { headers: mergeHeaders({
12
12
  "X-Fern-Language": "JavaScript",
13
13
  "X-Fern-SDK-Name": "@credal/sdk",
14
- "X-Fern-SDK-Version": "0.1.9",
15
- "User-Agent": "@credal/sdk/0.1.9",
14
+ "X-Fern-SDK-Version": "0.1.10",
15
+ "User-Agent": "@credal/sdk/0.1.10",
16
16
  "X-Fern-Runtime": core.RUNTIME.type,
17
17
  "X-Fern-Runtime-Version": core.RUNTIME.version,
18
18
  }, _options === null || _options === void 0 ? void 0 : _options.headers) });
@@ -25,6 +25,14 @@ export declare class DocumentCatalog {
25
25
  */
26
26
  uploadDocumentContents(request: Credal.UploadDocumentContentsRequest, requestOptions?: DocumentCatalog.RequestOptions): core.HttpResponsePromise<Credal.UploadDocumentResponse>;
27
27
  private __uploadDocumentContents;
28
+ /**
29
+ * Upload a file (PDF, Word, Excel, CSV, PowerPoint) to Credal. Unlike uploadDocumentContents which requires pre-parsed text, this endpoint accepts actual file uploads and automatically parses them using Credal's parsing service.
30
+ *
31
+ * @param {Credal.UploadFileRequest} request
32
+ * @param {DocumentCatalog.RequestOptions} requestOptions - Request-specific configuration.
33
+ */
34
+ uploadFile(request: Credal.UploadFileRequest, requestOptions?: DocumentCatalog.RequestOptions): core.HttpResponsePromise<Credal.UploadDocumentResponse>;
35
+ private __uploadFile;
28
36
  /**
29
37
  * Sync a document from a source URL. Does not support recursive web search. Reach out to a Credal representative for access.
30
38
  *
@@ -75,6 +75,90 @@ export class DocumentCatalog {
75
75
  }
76
76
  });
77
77
  }
78
+ /**
79
+ * Upload a file (PDF, Word, Excel, CSV, PowerPoint) to Credal. Unlike uploadDocumentContents which requires pre-parsed text, this endpoint accepts actual file uploads and automatically parses them using Credal's parsing service.
80
+ *
81
+ * @param {Credal.UploadFileRequest} request
82
+ * @param {DocumentCatalog.RequestOptions} requestOptions - Request-specific configuration.
83
+ */
84
+ uploadFile(request, requestOptions) {
85
+ return core.HttpResponsePromise.fromPromise(this.__uploadFile(request, requestOptions));
86
+ }
87
+ __uploadFile(request, requestOptions) {
88
+ return __awaiter(this, void 0, void 0, function* () {
89
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
90
+ const _request = yield core.newFormData();
91
+ yield _request.appendFile("file", request.file);
92
+ if (request.documentName != null) {
93
+ _request.append("documentName", request.documentName);
94
+ }
95
+ _request.append("uploadAsUserEmail", request.uploadAsUserEmail);
96
+ _request.append("documentExternalId", request.documentExternalId);
97
+ if (request.allowedUsersEmailAddresses != null) {
98
+ _request.append("allowedUsersEmailAddresses", request.allowedUsersEmailAddresses);
99
+ }
100
+ if (request.documentExternalUrl != null) {
101
+ _request.append("documentExternalUrl", request.documentExternalUrl);
102
+ }
103
+ if (request.customMetadata != null) {
104
+ _request.append("customMetadata", request.customMetadata);
105
+ }
106
+ if (request.collectionId != null) {
107
+ _request.append("collectionId", request.collectionId);
108
+ }
109
+ if (request.forceUpdate != null) {
110
+ _request.append("forceUpdate", request.forceUpdate);
111
+ }
112
+ if (request.internalPublic != null) {
113
+ _request.append("internalPublic", request.internalPublic);
114
+ }
115
+ if (request.sourceSystemUpdated != null) {
116
+ _request.append("sourceSystemUpdated", request.sourceSystemUpdated);
117
+ }
118
+ if (request.awaitVectorStoreSync != null) {
119
+ _request.append("awaitVectorStoreSync", request.awaitVectorStoreSync);
120
+ }
121
+ const _maybeEncodedRequest = yield _request.getRequest();
122
+ const _headers = mergeHeaders((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, mergeOnlyDefinedHeaders(Object.assign({ Authorization: yield this._getAuthorizationHeader() }, _maybeEncodedRequest.headers)), requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);
123
+ const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({
124
+ url: core.url.join((_d = (_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.CredalEnvironment.Production, "/v0/catalog/uploadFile"),
125
+ method: "POST",
126
+ headers: _headers,
127
+ queryParameters: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams,
128
+ requestType: "file",
129
+ duplex: _maybeEncodedRequest.duplex,
130
+ body: _maybeEncodedRequest.body,
131
+ timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,
132
+ maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,
133
+ abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,
134
+ });
135
+ if (_response.ok) {
136
+ return { data: _response.body, rawResponse: _response.rawResponse };
137
+ }
138
+ if (_response.error.reason === "status-code") {
139
+ throw new errors.CredalError({
140
+ statusCode: _response.error.statusCode,
141
+ body: _response.error.body,
142
+ rawResponse: _response.rawResponse,
143
+ });
144
+ }
145
+ switch (_response.error.reason) {
146
+ case "non-json":
147
+ throw new errors.CredalError({
148
+ statusCode: _response.error.statusCode,
149
+ body: _response.error.rawBody,
150
+ rawResponse: _response.rawResponse,
151
+ });
152
+ case "timeout":
153
+ throw new errors.CredalTimeoutError("Timeout exceeded when calling POST /v0/catalog/uploadFile.");
154
+ case "unknown":
155
+ throw new errors.CredalError({
156
+ message: _response.error.errorMessage,
157
+ rawResponse: _response.rawResponse,
158
+ });
159
+ }
160
+ });
161
+ }
78
162
  /**
79
163
  * Sync a document from a source URL. Does not support recursive web search. Reach out to a Credal representative for access.
80
164
  *
@@ -0,0 +1,27 @@
1
+ import type * as core from "../../../../../core/index.mjs";
2
+ export interface UploadFileRequest {
3
+ /** The file to upload. Supported formats: PDF (.pdf), Word (.docx), Excel (.xlsx, .xls), PowerPoint (.pptx, .ppt), CSV (.csv), and text files. */
4
+ file: core.file.Uploadable;
5
+ /** The name of the document you want to upload. If not provided, the original filename will be used. */
6
+ documentName?: string;
7
+ /** [Legacy] The user on behalf of whom the document should be uploaded. In most cases, this can simply be the email of the developer making the API call. This field will be removed in the future in favor of purely specifying permissions via allowedUsersEmailAddresses. */
8
+ uploadAsUserEmail: string;
9
+ /** The external ID of the document. This is typically the ID as it exists in its original external system. Uploads to the same external ID will update the document in Credal. */
10
+ documentExternalId: string;
11
+ /** Users allowed to access the document. Can be provided as a JSON array string (e.g., ["user1@example.com","user2@example.com"]) or comma-separated list (e.g., "user1@example.com,user2@example.com"). Unlike Credal's out of the box connectors which reconcile various permissions models from 3rd party software, for custom uploads the caller is responsible for specifying who can access the document and currently flattening groups if applicable. Documents can also be marked as internal public. */
12
+ allowedUsersEmailAddresses?: string;
13
+ /** The external URL of the document you want to upload. If provided Credal will link to this URL. */
14
+ documentExternalUrl?: string;
15
+ /** Optional JSON string representing any custom metadata for this document (e.g., '{"key1":"value1","key2":"value2"}'). */
16
+ customMetadata?: string;
17
+ /** If specified, the document will also be added to the provided document collection. This operation is eventually consistent, meaning the document does not immediately start appearing in searches of that collection due to an asynchronous embedding process. To achieve strong consistency use the `awaitVectorStoreSync` parameter. */
18
+ collectionId?: string;
19
+ /** If set to "true", document contents will be re-uploaded and re-embedded even if the document already exists in Credal. */
20
+ forceUpdate?: string;
21
+ /** If set to "true", document will be accessible to everyone within the organization of the uploader. */
22
+ internalPublic?: string;
23
+ /** ISO 8601 date string indicating when the document was last updated in the source system (e.g., "2025-11-03T21:15:00Z"). */
24
+ sourceSystemUpdated?: string;
25
+ /** Document uploads are eventually consistent by default. If set to "true" the API will wait for the vector store to be updated before returning. This is useful if you want to ensure that the document is immediately searchable after this call returns. */
26
+ awaitVectorStoreSync?: string;
27
+ }
@@ -0,0 +1,2 @@
1
+ // This file was auto-generated by Fern from our API Definition.
2
+ export {};
@@ -1 +1,2 @@
1
1
  export type { UploadDocumentContentsRequest } from "./UploadDocumentContentsRequest.mjs";
2
+ export type { UploadFileRequest } from "./UploadFileRequest.mjs";
@@ -0,0 +1 @@
1
+ export * from "./file/exports.mjs";
@@ -0,0 +1 @@
1
+ export * from "./file/exports.mjs";
@@ -0,0 +1 @@
1
+ export type { Uploadable } from "./types.mjs";
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { Uploadable } from "./types.mjs";
2
+ export declare function toBinaryUploadRequest(file: Uploadable): Promise<{
3
+ body: Uploadable.FileLike;
4
+ headers?: Record<string, string>;
5
+ }>;
6
+ export declare function toMultipartDataPart(file: Uploadable): Promise<{
7
+ data: Uploadable.FileLike;
8
+ filename?: string;
9
+ contentType?: string;
10
+ }>;