@nizam-os/carrier-sdk 2.5.3 → 2.7.0

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 (86) hide show
  1. package/dist/Client.d.ts +6 -0
  2. package/dist/Client.js +16 -8
  3. package/dist/api/errors/BadRequestError.d.ts +6 -0
  4. package/dist/api/errors/BadRequestError.js +54 -0
  5. package/dist/api/errors/ContentTooLargeError.d.ts +6 -0
  6. package/dist/api/errors/ContentTooLargeError.js +54 -0
  7. package/dist/api/errors/index.d.ts +2 -0
  8. package/dist/api/errors/index.js +2 -0
  9. package/dist/api/resources/files/client/Client.d.ts +188 -0
  10. package/dist/api/resources/files/client/Client.js +608 -0
  11. package/dist/api/resources/files/client/index.d.ts +1 -0
  12. package/dist/api/resources/files/client/index.js +17 -0
  13. package/dist/api/resources/files/client/requests/CancelFileUploadRequest.d.ts +9 -0
  14. package/dist/api/resources/files/client/requests/CancelFileUploadRequest.js +3 -0
  15. package/dist/api/resources/files/client/requests/CompleteFileUploadRequest.d.ts +15 -0
  16. package/dist/api/resources/files/client/requests/CompleteFileUploadRequest.js +3 -0
  17. package/dist/api/resources/files/client/requests/CreateFileDownloadUrlRequest.d.ts +9 -0
  18. package/dist/api/resources/files/client/requests/CreateFileDownloadUrlRequest.js +3 -0
  19. package/dist/api/resources/files/client/requests/DeleteFileRequest.d.ts +9 -0
  20. package/dist/api/resources/files/client/requests/DeleteFileRequest.js +3 -0
  21. package/dist/api/resources/files/client/requests/GetFileRequest.d.ts +9 -0
  22. package/dist/api/resources/files/client/requests/GetFileRequest.js +3 -0
  23. package/dist/api/resources/files/client/requests/InitiateFileUploadRequest.d.ts +41 -0
  24. package/dist/api/resources/files/client/requests/InitiateFileUploadRequest.js +17 -0
  25. package/dist/api/resources/files/client/requests/ListFilesRequest.d.ts +27 -0
  26. package/dist/api/resources/files/client/requests/ListFilesRequest.js +3 -0
  27. package/dist/api/resources/files/client/requests/ResumeFileUploadRequest.d.ts +9 -0
  28. package/dist/api/resources/files/client/requests/ResumeFileUploadRequest.js +3 -0
  29. package/dist/api/resources/files/client/requests/index.d.ts +8 -0
  30. package/dist/api/resources/files/client/requests/index.js +5 -0
  31. package/dist/api/resources/files/exports.d.ts +2 -0
  32. package/dist/api/resources/files/exports.js +21 -0
  33. package/dist/api/resources/files/index.d.ts +1 -0
  34. package/dist/api/resources/files/index.js +17 -0
  35. package/dist/api/resources/index.d.ts +5 -0
  36. package/dist/api/resources/index.js +6 -1
  37. package/dist/api/resources/taskAttempts/client/Client.d.ts +65 -0
  38. package/dist/api/resources/taskAttempts/client/Client.js +208 -0
  39. package/dist/api/resources/taskAttempts/client/index.d.ts +1 -0
  40. package/dist/api/resources/taskAttempts/client/index.js +17 -0
  41. package/dist/api/resources/taskAttempts/client/requests/CaptureTaskAttemptPhotoRequest.d.ts +49 -0
  42. package/dist/api/resources/taskAttempts/client/requests/CaptureTaskAttemptPhotoRequest.js +20 -0
  43. package/dist/api/resources/taskAttempts/client/requests/ListTaskAttemptPhotosRequest.d.ts +17 -0
  44. package/dist/api/resources/taskAttempts/client/requests/ListTaskAttemptPhotosRequest.js +3 -0
  45. package/dist/api/resources/taskAttempts/client/requests/index.d.ts +2 -0
  46. package/dist/api/resources/taskAttempts/client/requests/index.js +5 -0
  47. package/dist/api/resources/taskAttempts/exports.d.ts +2 -0
  48. package/dist/api/resources/taskAttempts/exports.js +21 -0
  49. package/dist/api/resources/taskAttempts/index.d.ts +1 -0
  50. package/dist/api/resources/taskAttempts/index.js +17 -0
  51. package/dist/api/resources/users/client/Client.d.ts +43 -0
  52. package/dist/api/resources/users/client/Client.js +142 -0
  53. package/dist/api/resources/users/client/index.d.ts +1 -1
  54. package/dist/api/resources/users/client/index.js +15 -0
  55. package/dist/api/resources/users/client/requests/GetUserProfilePictureRequest.d.ts +11 -0
  56. package/dist/api/resources/users/client/requests/GetUserProfilePictureRequest.js +3 -0
  57. package/dist/api/resources/users/client/requests/InitiateProfilePictureUploadRequest.d.ts +19 -0
  58. package/dist/api/resources/users/client/requests/InitiateProfilePictureUploadRequest.js +3 -0
  59. package/dist/api/resources/users/client/requests/index.d.ts +2 -0
  60. package/dist/api/resources/users/client/requests/index.js +2 -0
  61. package/dist/api/types/FileDownloadUrl.d.ts +16 -0
  62. package/dist/api/types/FileDownloadUrl.js +10 -0
  63. package/dist/api/types/FileUploadPart.d.ts +13 -0
  64. package/dist/api/types/FileUploadPart.js +3 -0
  65. package/dist/api/types/FileUploadPartReport.d.ts +9 -0
  66. package/dist/api/types/FileUploadPartReport.js +3 -0
  67. package/dist/api/types/FileUploadSession.d.ts +51 -0
  68. package/dist/api/types/FileUploadSession.js +28 -0
  69. package/dist/api/types/File_.d.ts +86 -0
  70. package/dist/api/types/File_.js +40 -0
  71. package/dist/api/types/Job.d.ts +2 -0
  72. package/dist/api/types/Job.js +2 -0
  73. package/dist/api/types/ListResponseFile.d.ts +27 -0
  74. package/dist/api/types/ListResponseFile.js +11 -0
  75. package/dist/api/types/TaskAttemptPhoto.d.ts +30 -0
  76. package/dist/api/types/TaskAttemptPhoto.js +10 -0
  77. package/dist/api/types/TaskAttemptPhotoThumbnail.d.ts +9 -0
  78. package/dist/api/types/TaskAttemptPhotoThumbnail.js +3 -0
  79. package/dist/api/types/UploadInitiation.d.ts +22 -0
  80. package/dist/api/types/UploadInitiation.js +10 -0
  81. package/dist/api/types/UploadInitiationPart.d.ts +13 -0
  82. package/dist/api/types/UploadInitiationPart.js +3 -0
  83. package/dist/api/types/User.d.ts +2 -0
  84. package/dist/api/types/index.d.ts +10 -0
  85. package/dist/api/types/index.js +10 -0
  86. package/package.json +1 -1
@@ -0,0 +1,2 @@
1
+ export { CaptureTaskAttemptPhotoRequest } from "./CaptureTaskAttemptPhotoRequest.js";
2
+ export type { ListTaskAttemptPhotosRequest } from "./ListTaskAttemptPhotosRequest.js";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CaptureTaskAttemptPhotoRequest = void 0;
4
+ var CaptureTaskAttemptPhotoRequest_js_1 = require("./CaptureTaskAttemptPhotoRequest.js");
5
+ Object.defineProperty(exports, "CaptureTaskAttemptPhotoRequest", { enumerable: true, get: function () { return CaptureTaskAttemptPhotoRequest_js_1.CaptureTaskAttemptPhotoRequest; } });
@@ -0,0 +1,2 @@
1
+ export { TaskAttemptsClient } from "./client/Client.js";
2
+ export * from "./client/index.js";
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16
+ };
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.TaskAttemptsClient = void 0;
19
+ var Client_js_1 = require("./client/Client.js");
20
+ Object.defineProperty(exports, "TaskAttemptsClient", { enumerable: true, get: function () { return Client_js_1.TaskAttemptsClient; } });
21
+ __exportStar(require("./client/index.js"), exports);
@@ -0,0 +1 @@
1
+ export * from "./client/index.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("./client/index.js"), exports);
@@ -38,4 +38,47 @@ export declare class UsersClient {
38
38
  */
39
39
  me(requestOptions?: UsersClient.RequestOptions): core.HttpResponsePromise<NizamCarrier.User>;
40
40
  private __me;
41
+ /**
42
+ * Declares a profile-picture upload for the AUTHENTICATED user (the subject is pinned server-side) and returns presigned part URLs. PUT the bytes to the URLs, then complete via the generic file-uploads endpoint — completion re-points the profile and soft-deletes the replaced picture; thumbnails (256/128/64 px) render asynchronously. The reference upload flow of epic #151 (#166).
43
+ *
44
+ * @param {NizamCarrier.InitiateProfilePictureUploadRequest} request
45
+ * @param {UsersClient.RequestOptions} requestOptions - Request-specific configuration.
46
+ *
47
+ * @throws {@link NizamCarrier.BadRequestError}
48
+ * @throws {@link NizamCarrier.UnauthorizedError}
49
+ * @throws {@link NizamCarrier.ForbiddenError}
50
+ * @throws {@link NizamCarrier.ContentTooLargeError}
51
+ * @throws {@link NizamCarrier.UnprocessableEntityError}
52
+ * @throws {@link NizamCarrier.TooManyRequestsError}
53
+ * @throws {@link NizamCarrier.InternalServerError}
54
+ *
55
+ * @example
56
+ * await client.users.initiateProfilePictureUpload({
57
+ * filename: "avatar.png",
58
+ * content_type: "image/png",
59
+ * size_bytes: 204857,
60
+ * checksum_sha256: "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
61
+ * })
62
+ */
63
+ initiateProfilePictureUpload(request: NizamCarrier.InitiateProfilePictureUploadRequest, requestOptions?: UsersClient.RequestOptions): core.HttpResponsePromise<NizamCarrier.UploadInitiation>;
64
+ private __initiateProfilePictureUpload;
65
+ /**
66
+ * 302-redirects to a short-lived URL for the thumbnail variant nearest the requested `size` (smallest rendered variant that still covers it; the original while thumbnails are still rendering). Cross-tenant callers get 404: the picture's file row is only visible inside the organization it was uploaded in (RLS).
67
+ *
68
+ * @param {NizamCarrier.GetUserProfilePictureRequest} request
69
+ * @param {UsersClient.RequestOptions} requestOptions - Request-specific configuration.
70
+ *
71
+ * @throws {@link NizamCarrier.UnauthorizedError}
72
+ * @throws {@link NizamCarrier.ForbiddenError}
73
+ * @throws {@link NizamCarrier.NotFoundError}
74
+ * @throws {@link NizamCarrier.TooManyRequestsError}
75
+ * @throws {@link NizamCarrier.InternalServerError}
76
+ *
77
+ * @example
78
+ * await client.users.getUserProfilePicture({
79
+ * id: "00000000-0000-0000-0000-000000000000"
80
+ * })
81
+ */
82
+ getUserProfilePicture(request: NizamCarrier.GetUserProfilePictureRequest, requestOptions?: UsersClient.RequestOptions): core.HttpResponsePromise<void>;
83
+ private __getUserProfilePicture;
41
84
  }
@@ -116,5 +116,147 @@ class UsersClient {
116
116
  }
117
117
  return (0, handleNonStatusCodeError_js_1.handleNonStatusCodeError)(_response.error, _response.rawResponse, "GET", "/v1/me");
118
118
  }
119
+ /**
120
+ * Declares a profile-picture upload for the AUTHENTICATED user (the subject is pinned server-side) and returns presigned part URLs. PUT the bytes to the URLs, then complete via the generic file-uploads endpoint — completion re-points the profile and soft-deletes the replaced picture; thumbnails (256/128/64 px) render asynchronously. The reference upload flow of epic #151 (#166).
121
+ *
122
+ * @param {NizamCarrier.InitiateProfilePictureUploadRequest} request
123
+ * @param {UsersClient.RequestOptions} requestOptions - Request-specific configuration.
124
+ *
125
+ * @throws {@link NizamCarrier.BadRequestError}
126
+ * @throws {@link NizamCarrier.UnauthorizedError}
127
+ * @throws {@link NizamCarrier.ForbiddenError}
128
+ * @throws {@link NizamCarrier.ContentTooLargeError}
129
+ * @throws {@link NizamCarrier.UnprocessableEntityError}
130
+ * @throws {@link NizamCarrier.TooManyRequestsError}
131
+ * @throws {@link NizamCarrier.InternalServerError}
132
+ *
133
+ * @example
134
+ * await client.users.initiateProfilePictureUpload({
135
+ * filename: "avatar.png",
136
+ * content_type: "image/png",
137
+ * size_bytes: 204857,
138
+ * checksum_sha256: "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
139
+ * })
140
+ */
141
+ initiateProfilePictureUpload(request, requestOptions) {
142
+ return core.HttpResponsePromise.fromPromise(this.__initiateProfilePictureUpload(request, requestOptions));
143
+ }
144
+ async __initiateProfilePictureUpload(request, requestOptions) {
145
+ const _authRequest = await this._options.authProvider.getAuthRequest();
146
+ const _headers = (0, headers_js_1.mergeHeaders)(_authRequest.headers, this._options?.headers, requestOptions?.headers);
147
+ const _response = await core.fetcher({
148
+ url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
149
+ (await core.Supplier.get(this._options.environment)) ??
150
+ environments.NizamCarrierEnvironment.Production, "v1/me/profile-picture"),
151
+ method: "POST",
152
+ headers: _headers,
153
+ contentType: "application/json",
154
+ queryString: core.url.queryBuilder().mergeAdditional(requestOptions?.queryParams).build(),
155
+ requestType: "json",
156
+ body: request,
157
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
158
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
159
+ abortSignal: requestOptions?.abortSignal,
160
+ fetchFn: this._options?.fetch,
161
+ logging: this._options.logging,
162
+ });
163
+ if (_response.ok) {
164
+ return { data: _response.body, rawResponse: _response.rawResponse };
165
+ }
166
+ if (_response.error.reason === "status-code") {
167
+ switch (_response.error.statusCode) {
168
+ case 400:
169
+ throw new NizamCarrier.BadRequestError(_response.error.body, _response.rawResponse);
170
+ case 401:
171
+ throw new NizamCarrier.UnauthorizedError(_response.error.body, _response.rawResponse);
172
+ case 403:
173
+ throw new NizamCarrier.ForbiddenError(_response.error.body, _response.rawResponse);
174
+ case 413:
175
+ throw new NizamCarrier.ContentTooLargeError(_response.error.body, _response.rawResponse);
176
+ case 422:
177
+ throw new NizamCarrier.UnprocessableEntityError(_response.error.body, _response.rawResponse);
178
+ case 429:
179
+ throw new NizamCarrier.TooManyRequestsError(_response.error.body, _response.rawResponse);
180
+ case 500:
181
+ throw new NizamCarrier.InternalServerError(_response.error.body, _response.rawResponse);
182
+ default:
183
+ throw new errors.NizamCarrierError({
184
+ statusCode: _response.error.statusCode,
185
+ body: _response.error.body,
186
+ rawResponse: _response.rawResponse,
187
+ });
188
+ }
189
+ }
190
+ return (0, handleNonStatusCodeError_js_1.handleNonStatusCodeError)(_response.error, _response.rawResponse, "POST", "/v1/me/profile-picture");
191
+ }
192
+ /**
193
+ * 302-redirects to a short-lived URL for the thumbnail variant nearest the requested `size` (smallest rendered variant that still covers it; the original while thumbnails are still rendering). Cross-tenant callers get 404: the picture's file row is only visible inside the organization it was uploaded in (RLS).
194
+ *
195
+ * @param {NizamCarrier.GetUserProfilePictureRequest} request
196
+ * @param {UsersClient.RequestOptions} requestOptions - Request-specific configuration.
197
+ *
198
+ * @throws {@link NizamCarrier.UnauthorizedError}
199
+ * @throws {@link NizamCarrier.ForbiddenError}
200
+ * @throws {@link NizamCarrier.NotFoundError}
201
+ * @throws {@link NizamCarrier.TooManyRequestsError}
202
+ * @throws {@link NizamCarrier.InternalServerError}
203
+ *
204
+ * @example
205
+ * await client.users.getUserProfilePicture({
206
+ * id: "00000000-0000-0000-0000-000000000000"
207
+ * })
208
+ */
209
+ getUserProfilePicture(request, requestOptions) {
210
+ return core.HttpResponsePromise.fromPromise(this.__getUserProfilePicture(request, requestOptions));
211
+ }
212
+ async __getUserProfilePicture(request, requestOptions) {
213
+ const { id, size } = request;
214
+ const _queryParams = {
215
+ size,
216
+ };
217
+ const _authRequest = await this._options.authProvider.getAuthRequest();
218
+ const _headers = (0, headers_js_1.mergeHeaders)(_authRequest.headers, this._options?.headers, requestOptions?.headers);
219
+ const _response = await core.fetcher({
220
+ url: core.url.join((await core.Supplier.get(this._options.baseUrl)) ??
221
+ (await core.Supplier.get(this._options.environment)) ??
222
+ environments.NizamCarrierEnvironment.Production, `v1/users/${core.url.encodePathParam(id)}/profile-picture`),
223
+ method: "GET",
224
+ headers: _headers,
225
+ queryString: core.url
226
+ .queryBuilder()
227
+ .addMany(_queryParams)
228
+ .mergeAdditional(requestOptions?.queryParams)
229
+ .build(),
230
+ timeoutMs: (requestOptions?.timeoutInSeconds ?? this._options?.timeoutInSeconds ?? 60) * 1000,
231
+ maxRetries: requestOptions?.maxRetries ?? this._options?.maxRetries,
232
+ abortSignal: requestOptions?.abortSignal,
233
+ fetchFn: this._options?.fetch,
234
+ logging: this._options.logging,
235
+ });
236
+ if (_response.ok) {
237
+ return { data: undefined, rawResponse: _response.rawResponse };
238
+ }
239
+ if (_response.error.reason === "status-code") {
240
+ switch (_response.error.statusCode) {
241
+ case 401:
242
+ throw new NizamCarrier.UnauthorizedError(_response.error.body, _response.rawResponse);
243
+ case 403:
244
+ throw new NizamCarrier.ForbiddenError(_response.error.body, _response.rawResponse);
245
+ case 404:
246
+ throw new NizamCarrier.NotFoundError(_response.error.body, _response.rawResponse);
247
+ case 429:
248
+ throw new NizamCarrier.TooManyRequestsError(_response.error.body, _response.rawResponse);
249
+ case 500:
250
+ throw new NizamCarrier.InternalServerError(_response.error.body, _response.rawResponse);
251
+ default:
252
+ throw new errors.NizamCarrierError({
253
+ statusCode: _response.error.statusCode,
254
+ body: _response.error.body,
255
+ rawResponse: _response.rawResponse,
256
+ });
257
+ }
258
+ }
259
+ return (0, handleNonStatusCodeError_js_1.handleNonStatusCodeError)(_response.error, _response.rawResponse, "GET", "/v1/users/{id}/profile-picture");
260
+ }
119
261
  }
120
262
  exports.UsersClient = UsersClient;
@@ -1 +1 @@
1
- export {};
1
+ export * from "./requests/index.js";
@@ -1,2 +1,17 @@
1
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
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./requests/index.js"), exports);
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @example
3
+ * {
4
+ * id: "00000000-0000-0000-0000-000000000000"
5
+ * }
6
+ */
7
+ export interface GetUserProfilePictureRequest {
8
+ id: string;
9
+ /** Desired bounding-box size in px (rendered variants: 256/128/64). */
10
+ size?: number;
11
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @example
3
+ * {
4
+ * filename: "avatar.png",
5
+ * content_type: "image/png",
6
+ * size_bytes: 204857,
7
+ * checksum_sha256: "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
8
+ * }
9
+ */
10
+ export interface InitiateProfilePictureUploadRequest {
11
+ /** Original filename. */
12
+ filename: string;
13
+ /** Declared MIME type — profile pictures accept image/jpeg, image/png, image/webp; re-verified server-side at completion. */
14
+ content_type: string;
15
+ /** Exact byte size; verified against storage at completion. */
16
+ size_bytes?: number;
17
+ /** Client-computed SHA-256 of the content, lowercase hex; re-verified server-side by the pipeline. */
18
+ checksum_sha256: string;
19
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ export type { GetUserProfilePictureRequest } from "./GetUserProfilePictureRequest.js";
2
+ export type { InitiateProfilePictureUploadRequest } from "./InitiateProfilePictureUploadRequest.js";
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,16 @@
1
+ /**
2
+ * A short-lived URL granting read access to the file's bytes. Fetch it promptly — request a fresh grant after expiry.
3
+ */
4
+ export interface FileDownloadUrl {
5
+ /** The URL to GET the bytes from. */
6
+ url?: string | undefined;
7
+ /** When the URL stops working. */
8
+ expires_at?: string | undefined;
9
+ object?: FileDownloadUrl.Object_ | undefined;
10
+ }
11
+ export declare namespace FileDownloadUrl {
12
+ const Object_: {
13
+ readonly FileDownloadUrl: "file_download_url";
14
+ };
15
+ type Object_ = (typeof Object_)[keyof typeof Object_];
16
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.FileDownloadUrl = void 0;
5
+ var FileDownloadUrl;
6
+ (function (FileDownloadUrl) {
7
+ FileDownloadUrl.Object_ = {
8
+ FileDownloadUrl: "file_download_url",
9
+ };
10
+ })(FileDownloadUrl || (exports.FileDownloadUrl = FileDownloadUrl = {}));
@@ -0,0 +1,13 @@
1
+ /**
2
+ * A presigned PUT for one part. Send the raw part bytes; repeat `headers` verbatim; keep the response's `ETag` header for completion.
3
+ */
4
+ export interface FileUploadPart {
5
+ /** 1-based part number. */
6
+ part_number?: number | undefined;
7
+ /** Presigned URL to PUT the part's bytes to. */
8
+ url?: string | undefined;
9
+ /** Headers that were signed into the URL — the PUT must repeat them verbatim. */
10
+ headers?: Record<string, string> | undefined;
11
+ /** When this URL stops working (re-issue via resume). */
12
+ url_expires_at?: string | undefined;
13
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,9 @@
1
+ /**
2
+ * The storage ETag received for one uploaded part.
3
+ */
4
+ export interface FileUploadPartReport {
5
+ /** 1-based part number from the initiation layout. */
6
+ part_number?: number | undefined;
7
+ /** The ETag header value returned by the part's PUT (quotes optional). */
8
+ etag: string;
9
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,51 @@
1
+ import type * as NizamCarrier from "../index.js";
2
+ /**
3
+ * A resumable multipart upload in flight. The browser PUTs each part directly to the presigned URL (echoing the part's `headers` verbatim), persists the returned ETags, and completes the session with the full part list. `file_id` is the id the finished file WILL carry — safe to build optimistic UI against.
4
+ */
5
+ export interface FileUploadSession {
6
+ /** Session id — the handle for resume / complete / cancel. */
7
+ id?: string | undefined;
8
+ /** Pre-reserved id of the file this upload will become. */
9
+ file_id?: string | undefined;
10
+ /** The kind declared at initiation. */
11
+ kind?: FileUploadSession.Kind | undefined;
12
+ /** Session lifecycle. */
13
+ status?: FileUploadSession.Status | undefined;
14
+ /** Nominal part size; every part except the last must be exactly this size. */
15
+ part_size_bytes?: number | undefined;
16
+ /** Total parts in the layout. */
17
+ part_count?: number | undefined;
18
+ /** Bytes confirmed so far (client-reported, re-verified at completion). */
19
+ bytes_uploaded?: number | undefined;
20
+ completed_part_numbers?: number[] | undefined;
21
+ parts?: NizamCarrier.FileUploadPart[] | undefined;
22
+ /** Deadline: the session expires and is swept if not completed by then. */
23
+ expires_at?: string | undefined;
24
+ object?: FileUploadSession.Object_ | undefined;
25
+ }
26
+ export declare namespace FileUploadSession {
27
+ /** The kind declared at initiation. */
28
+ const Kind: {
29
+ readonly ProfilePicture: "profile_picture";
30
+ readonly ChatAttachment: "chat_attachment";
31
+ readonly TaskPodPhoto: "task_pod_photo";
32
+ readonly ImportSource: "import_source";
33
+ readonly ImportReport: "import_report";
34
+ readonly SignedDocument: "signed_document";
35
+ readonly ProductImage: "product_image";
36
+ };
37
+ type Kind = (typeof Kind)[keyof typeof Kind];
38
+ /** Session lifecycle. */
39
+ const Status: {
40
+ readonly Initiated: "initiated";
41
+ readonly InProgress: "in_progress";
42
+ readonly Completed: "completed";
43
+ readonly Aborted: "aborted";
44
+ readonly Expired: "expired";
45
+ };
46
+ type Status = (typeof Status)[keyof typeof Status];
47
+ const Object_: {
48
+ readonly FileUploadSession: "file_upload_session";
49
+ };
50
+ type Object_ = (typeof Object_)[keyof typeof Object_];
51
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.FileUploadSession = void 0;
5
+ var FileUploadSession;
6
+ (function (FileUploadSession) {
7
+ /** The kind declared at initiation. */
8
+ FileUploadSession.Kind = {
9
+ ProfilePicture: "profile_picture",
10
+ ChatAttachment: "chat_attachment",
11
+ TaskPodPhoto: "task_pod_photo",
12
+ ImportSource: "import_source",
13
+ ImportReport: "import_report",
14
+ SignedDocument: "signed_document",
15
+ ProductImage: "product_image",
16
+ };
17
+ /** Session lifecycle. */
18
+ FileUploadSession.Status = {
19
+ Initiated: "initiated",
20
+ InProgress: "in_progress",
21
+ Completed: "completed",
22
+ Aborted: "aborted",
23
+ Expired: "expired",
24
+ };
25
+ FileUploadSession.Object_ = {
26
+ FileUploadSession: "file_upload_session",
27
+ };
28
+ })(FileUploadSession || (exports.FileUploadSession = FileUploadSession = {}));
@@ -0,0 +1,86 @@
1
+ /**
2
+ * A stored file's metadata: what it is (kind), who uploaded it, integrity (checksum), lifecycle (status + scan verdict + retention), and what business entity it documents (subject). The bytes themselves are served only through short-lived download URLs.
3
+ */
4
+ export interface File_ {
5
+ /** Stable file id (pre-reserved at upload initiation). */
6
+ id?: string | undefined;
7
+ /** Owning organization. */
8
+ organization_id?: string | undefined;
9
+ /** Uploading user. Null for system-generated artifacts. */
10
+ uploader_id?: string | undefined;
11
+ /** What the bytes are for the platform — fixes the size/type/visibility/scan/retention policy applied to this file. */
12
+ kind?: File_.Kind | undefined;
13
+ /** Type of the business entity this file documents. */
14
+ subject_type?: string | undefined;
15
+ /** Id of the business entity this file documents. */
16
+ subject_id?: string | undefined;
17
+ /** For derived files (thumbnails): the original this one was rendered from. */
18
+ parent_file_id?: string | undefined;
19
+ /** Client-supplied filename, served back via Content-Disposition on download. */
20
+ original_filename?: string | undefined;
21
+ /** MIME type declared by the uploader at initiation. */
22
+ declared_content_type?: string | undefined;
23
+ /** MIME type detected server-side from the bytes (Tika). Null when detection was inconclusive. */
24
+ sniffed_content_type?: string | undefined;
25
+ /** Object size in bytes, storage-confirmed at completion. */
26
+ size_bytes?: number | undefined;
27
+ /** SHA-256 of the content, 64 lowercase hex characters. */
28
+ checksum_sha256?: string | undefined;
29
+ /** Lifecycle: `active` (serving), `quarantined` (malware-positive), `deleted` (bytes purged, row retained under regulatory hold). */
30
+ status?: File_.Status | undefined;
31
+ /** Access posture of the bytes, fixed by the kind's policy. */
32
+ visibility?: File_.Visibility | undefined;
33
+ /** Malware-scan verdict. Bytes are downloadable only on `clean` or `skipped`. */
34
+ virus_scan_status?: File_.VirusScanStatus | undefined;
35
+ /** When the scan verdict was produced. */
36
+ virus_scanned_at?: string | undefined;
37
+ /** When this file becomes eligible for the lifecycle sweep (TTL kinds). */
38
+ expires_at?: string | undefined;
39
+ /** Regulatory hold: the file cannot be deleted before this instant. */
40
+ retention_until?: string | undefined;
41
+ /** Upload completion time. */
42
+ created_at?: string | undefined;
43
+ /** Last lifecycle/scan change. */
44
+ updated_at?: string | undefined;
45
+ object?: File_.Object_ | undefined;
46
+ }
47
+ export declare namespace File_ {
48
+ /** What the bytes are for the platform — fixes the size/type/visibility/scan/retention policy applied to this file. */
49
+ const Kind: {
50
+ readonly ProfilePicture: "profile_picture";
51
+ readonly ChatAttachment: "chat_attachment";
52
+ readonly TaskPodPhoto: "task_pod_photo";
53
+ readonly ImportSource: "import_source";
54
+ readonly ImportReport: "import_report";
55
+ readonly SignedDocument: "signed_document";
56
+ readonly ProductImage: "product_image";
57
+ };
58
+ type Kind = (typeof Kind)[keyof typeof Kind];
59
+ /** Lifecycle: `active` (serving), `quarantined` (malware-positive), `deleted` (bytes purged, row retained under regulatory hold). */
60
+ const Status: {
61
+ readonly Active: "active";
62
+ readonly Quarantined: "quarantined";
63
+ readonly Deleted: "deleted";
64
+ };
65
+ type Status = (typeof Status)[keyof typeof Status];
66
+ /** Access posture of the bytes, fixed by the kind's policy. */
67
+ const Visibility: {
68
+ readonly Private: "private";
69
+ readonly Public: "public";
70
+ readonly PublicCdn: "public_cdn";
71
+ };
72
+ type Visibility = (typeof Visibility)[keyof typeof Visibility];
73
+ /** Malware-scan verdict. Bytes are downloadable only on `clean` or `skipped`. */
74
+ const VirusScanStatus: {
75
+ readonly Pending: "pending";
76
+ readonly Clean: "clean";
77
+ readonly Infected: "infected";
78
+ readonly Error: "error";
79
+ readonly Skipped: "skipped";
80
+ };
81
+ type VirusScanStatus = (typeof VirusScanStatus)[keyof typeof VirusScanStatus];
82
+ const Object_: {
83
+ readonly File: "file";
84
+ };
85
+ type Object_ = (typeof Object_)[keyof typeof Object_];
86
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ // This file was auto-generated by Fern from our API Definition.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.File_ = void 0;
5
+ var File_;
6
+ (function (File_) {
7
+ /** What the bytes are for the platform — fixes the size/type/visibility/scan/retention policy applied to this file. */
8
+ File_.Kind = {
9
+ ProfilePicture: "profile_picture",
10
+ ChatAttachment: "chat_attachment",
11
+ TaskPodPhoto: "task_pod_photo",
12
+ ImportSource: "import_source",
13
+ ImportReport: "import_report",
14
+ SignedDocument: "signed_document",
15
+ ProductImage: "product_image",
16
+ };
17
+ /** Lifecycle: `active` (serving), `quarantined` (malware-positive), `deleted` (bytes purged, row retained under regulatory hold). */
18
+ File_.Status = {
19
+ Active: "active",
20
+ Quarantined: "quarantined",
21
+ Deleted: "deleted",
22
+ };
23
+ /** Access posture of the bytes, fixed by the kind's policy. */
24
+ File_.Visibility = {
25
+ Private: "private",
26
+ Public: "public",
27
+ PublicCdn: "public_cdn",
28
+ };
29
+ /** Malware-scan verdict. Bytes are downloadable only on `clean` or `skipped`. */
30
+ File_.VirusScanStatus = {
31
+ Pending: "pending",
32
+ Clean: "clean",
33
+ Infected: "infected",
34
+ Error: "error",
35
+ Skipped: "skipped",
36
+ };
37
+ File_.Object_ = {
38
+ File: "file",
39
+ };
40
+ })(File_ || (exports.File_ = File_ = {}));
@@ -47,6 +47,8 @@ export declare namespace Job {
47
47
  const Kind: {
48
48
  readonly MembershipCacheRebuild: "membership_cache_rebuild";
49
49
  readonly ServiceAccountApiKeyRegeneration: "service_account_api_key_regeneration";
50
+ readonly FileVirusScan: "file_virus_scan";
51
+ readonly FileThumbnailGeneration: "file_thumbnail_generation";
50
52
  };
51
53
  type Kind = (typeof Kind)[keyof typeof Kind];
52
54
  /** Lifecycle status. Terminal states are `completed`, `failed`, `cancelled`. */
@@ -8,6 +8,8 @@ var Job;
8
8
  Job.Kind = {
9
9
  MembershipCacheRebuild: "membership_cache_rebuild",
10
10
  ServiceAccountApiKeyRegeneration: "service_account_api_key_regeneration",
11
+ FileVirusScan: "file_virus_scan",
12
+ FileThumbnailGeneration: "file_thumbnail_generation",
11
13
  };
12
14
  /** Lifecycle status. Terminal states are `completed`, `failed`, `cancelled`. */
13
15
  Job.Status = {