@knowledge-stack/ksapi 2.5.0 → 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 (73) hide show
  1. package/.openapi-generator/FILES +4 -0
  2. package/README.md +4 -2
  3. package/dist/apis/DocumentsApi.d.ts +9 -0
  4. package/dist/apis/DocumentsApi.js +9 -0
  5. package/dist/apis/SystemJobsApi.d.ts +4 -4
  6. package/dist/apis/SystemJobsApi.js +2 -2
  7. package/dist/esm/apis/DocumentsApi.d.ts +9 -0
  8. package/dist/esm/apis/DocumentsApi.js +9 -0
  9. package/dist/esm/apis/SystemJobsApi.d.ts +4 -4
  10. package/dist/esm/apis/SystemJobsApi.js +2 -2
  11. package/dist/esm/models/ChunkMetadata.d.ts +12 -0
  12. package/dist/esm/models/ChunkMetadata.js +4 -0
  13. package/dist/esm/models/CreateUploadRequest.d.ts +18 -0
  14. package/dist/esm/models/CreateUploadRequest.js +6 -0
  15. package/dist/esm/models/DocumentVersionMetadata.d.ts +7 -0
  16. package/dist/esm/models/DocumentVersionMetadata.js +3 -0
  17. package/dist/esm/models/DocumentVersionMetadataUpdate.d.ts +7 -0
  18. package/dist/esm/models/DocumentVersionMetadataUpdate.js +3 -0
  19. package/dist/esm/models/EmailMetadata.d.ts +119 -0
  20. package/dist/esm/models/EmailMetadata.js +65 -0
  21. package/dist/esm/models/EmailParty.d.ts +53 -0
  22. package/dist/esm/models/EmailParty.js +46 -0
  23. package/dist/esm/models/ImageTaxonomy.d.ts +1 -0
  24. package/dist/esm/models/ImageTaxonomy.js +1 -0
  25. package/dist/esm/models/IngestDocumentResponse.d.ts +18 -0
  26. package/dist/esm/models/IngestDocumentResponse.js +6 -0
  27. package/dist/esm/models/SegmentSpan.d.ts +9 -2
  28. package/dist/esm/models/SegmentSpan.js +2 -0
  29. package/dist/esm/models/index.d.ts +2 -0
  30. package/dist/esm/models/index.js +2 -0
  31. package/dist/models/ChunkMetadata.d.ts +12 -0
  32. package/dist/models/ChunkMetadata.js +4 -0
  33. package/dist/models/CreateUploadRequest.d.ts +18 -0
  34. package/dist/models/CreateUploadRequest.js +6 -0
  35. package/dist/models/DocumentVersionMetadata.d.ts +7 -0
  36. package/dist/models/DocumentVersionMetadata.js +3 -0
  37. package/dist/models/DocumentVersionMetadataUpdate.d.ts +7 -0
  38. package/dist/models/DocumentVersionMetadataUpdate.js +3 -0
  39. package/dist/models/EmailMetadata.d.ts +119 -0
  40. package/dist/models/EmailMetadata.js +73 -0
  41. package/dist/models/EmailParty.d.ts +53 -0
  42. package/dist/models/EmailParty.js +54 -0
  43. package/dist/models/ImageTaxonomy.d.ts +1 -0
  44. package/dist/models/ImageTaxonomy.js +1 -0
  45. package/dist/models/IngestDocumentResponse.d.ts +18 -0
  46. package/dist/models/IngestDocumentResponse.js +6 -0
  47. package/dist/models/SegmentSpan.d.ts +9 -2
  48. package/dist/models/SegmentSpan.js +2 -0
  49. package/dist/models/index.d.ts +2 -0
  50. package/dist/models/index.js +2 -0
  51. package/docs/ChunkMetadata.md +4 -0
  52. package/docs/CreateUploadRequest.md +6 -0
  53. package/docs/DocumentVersionMetadata.md +2 -0
  54. package/docs/DocumentVersionMetadataUpdate.md +2 -0
  55. package/docs/DocumentsApi.md +13 -4
  56. package/docs/EmailMetadata.md +57 -0
  57. package/docs/EmailParty.md +37 -0
  58. package/docs/IngestDocumentResponse.md +6 -0
  59. package/docs/SegmentSpan.md +3 -1
  60. package/docs/SystemJobsApi.md +1 -1
  61. package/package.json +1 -1
  62. package/src/apis/DocumentsApi.ts +21 -0
  63. package/src/apis/SystemJobsApi.ts +4 -4
  64. package/src/models/ChunkMetadata.ts +16 -0
  65. package/src/models/CreateUploadRequest.ts +24 -0
  66. package/src/models/DocumentVersionMetadata.ts +15 -0
  67. package/src/models/DocumentVersionMetadataUpdate.ts +15 -0
  68. package/src/models/EmailMetadata.ts +183 -0
  69. package/src/models/EmailParty.ts +91 -0
  70. package/src/models/ImageTaxonomy.ts +1 -0
  71. package/src/models/IngestDocumentResponse.ts +24 -0
  72. package/src/models/SegmentSpan.ts +11 -2
  73. package/src/models/index.ts +2 -0
@@ -149,6 +149,8 @@ docs/DocxParagraphAnchorInput.md
149
149
  docs/DocxParagraphAnchorOutput.md
150
150
  docs/DownloadArtifact.md
151
151
  docs/EditMemoryChunkRequest.md
152
+ docs/EmailMetadata.md
153
+ docs/EmailParty.md
152
154
  docs/EmailSentResponse.md
153
155
  docs/EmailVerificationRequest.md
154
156
  docs/EnrichedCitation.md
@@ -607,6 +609,8 @@ src/models/DocxParagraphAnchorInput.ts
607
609
  src/models/DocxParagraphAnchorOutput.ts
608
610
  src/models/DownloadArtifact.ts
609
611
  src/models/EditMemoryChunkRequest.ts
612
+ src/models/EmailMetadata.ts
613
+ src/models/EmailParty.ts
610
614
  src/models/EmailSentResponse.ts
611
615
  src/models/EmailVerificationRequest.ts
612
616
  src/models/EnrichedCitation.ts
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # @knowledge-stack/ksapi@2.5.0
1
+ # @knowledge-stack/ksapi@2.7.0
2
2
 
3
3
  A TypeScript SDK client for the localhost API.
4
4
 
@@ -433,6 +433,8 @@ All URIs are relative to *http://localhost:8000*
433
433
  - [DocxParagraphAnchorOutput](docs/DocxParagraphAnchorOutput.md)
434
434
  - [DownloadArtifact](docs/DownloadArtifact.md)
435
435
  - [EditMemoryChunkRequest](docs/EditMemoryChunkRequest.md)
436
+ - [EmailMetadata](docs/EmailMetadata.md)
437
+ - [EmailParty](docs/EmailParty.md)
436
438
  - [EmailSentResponse](docs/EmailSentResponse.md)
437
439
  - [EmailVerificationRequest](docs/EmailVerificationRequest.md)
438
440
  - [EnrichedCitation](docs/EnrichedCitation.md)
@@ -720,7 +722,7 @@ and is automatically generated by the
720
722
  [OpenAPI Generator](https://openapi-generator.tech) project:
721
723
 
722
724
  - API version: `0.1.0`
723
- - Package version: `2.5.0`
725
+ - Package version: `2.7.0`
724
726
  - Generator version: `7.21.0`
725
727
  - Build package: `org.openapitools.codegen.languages.TypeScriptFetchClientCodegen`
726
728
 
@@ -43,6 +43,7 @@ export interface IngestDocumentRequest {
43
43
  name?: string | null;
44
44
  tagIds?: Array<string>;
45
45
  idempotencyKey?: string | null;
46
+ emailNestingDepth?: number;
46
47
  ingestionMode?: IngestionMode;
47
48
  chunkType?: ChunkType;
48
49
  secondaryTaxonomy?: ImageTaxonomy;
@@ -72,6 +73,8 @@ export interface ListDocumentsRequest {
72
73
  sortDir?: SortDirection;
73
74
  ownerId?: string | null;
74
75
  documentType?: DocumentType;
76
+ durationMinMs?: number | null;
77
+ durationMaxMs?: number | null;
75
78
  withTags?: boolean;
76
79
  limit?: number;
77
80
  offset?: number;
@@ -274,6 +277,7 @@ export interface DocumentsApiInterface {
274
277
  * @param {string} [name] Document name (defaults to filename)
275
278
  * @param {Array<string>} [tagIds] Tag IDs applied to the created document.
276
279
  * @param {string} [idempotencyKey] Opt-in key: a repeat with the same key at the same (parent, name) replays the existing document instead of a 409.
280
+ * @param {number} [emailNestingDepth] Internal: set by the email member fan-out when a nested email re-enters this endpoint. Leave at 0 for direct uploads.
277
281
  * @param {IngestionMode} [ingestionMode]
278
282
  * @param {ChunkType} [chunkType]
279
283
  * @param {ImageTaxonomy} [secondaryTaxonomy]
@@ -292,6 +296,7 @@ export interface DocumentsApiInterface {
292
296
  * @param {string} [name] Document name (defaults to filename)
293
297
  * @param {Array<string>} [tagIds] Tag IDs applied to the created document.
294
298
  * @param {string} [idempotencyKey] Opt-in key: a repeat with the same key at the same (parent, name) replays the existing document instead of a 409.
299
+ * @param {number} [emailNestingDepth] Internal: set by the email member fan-out when a nested email re-enters this endpoint. Leave at 0 for direct uploads.
295
300
  * @param {IngestionMode} [ingestionMode]
296
301
  * @param {ChunkType} [chunkType]
297
302
  * @param {ImageTaxonomy} [secondaryTaxonomy]
@@ -377,6 +382,8 @@ export interface DocumentsApiInterface {
377
382
  * @param {SortDirection} [sortDir] Sort direction; overrides the column\&#39;s natural default
378
383
  * @param {string} [ownerId] Filter to documents owned by this user
379
384
  * @param {DocumentType} [documentType] Filter to documents of this type
385
+ * @param {number} [durationMinMs] Only media whose active version is at least this long (milliseconds). Non-media documents have no duration and are excluded.
386
+ * @param {number} [durationMaxMs] Only media whose active version is at most this long.
380
387
  * @param {boolean} [withTags] Include tags in the response (default: false)
381
388
  * @param {number} [limit] Number of items per page
382
389
  * @param {number} [offset] Number of items to skip
@@ -396,6 +403,8 @@ export interface DocumentsApiInterface {
396
403
  * @param {SortDirection} [sortDir] Sort direction; overrides the column\&#39;s natural default
397
404
  * @param {string} [ownerId] Filter to documents owned by this user
398
405
  * @param {DocumentType} [documentType] Filter to documents of this type
406
+ * @param {number} [durationMinMs] Only media whose active version is at least this long (milliseconds). Non-media documents have no duration and are excluded.
407
+ * @param {number} [durationMaxMs] Only media whose active version is at most this long.
399
408
  * @param {boolean} [withTags] Include tags in the response (default: false)
400
409
  * @param {number} [limit] Number of items per page
401
410
  * @param {number} [offset] Number of items to skip
@@ -505,6 +505,9 @@ class DocumentsApi extends runtime.BaseAPI {
505
505
  if (requestParameters['idempotencyKey'] != null) {
506
506
  formParams.append('idempotency_key', requestParameters['idempotencyKey']);
507
507
  }
508
+ if (requestParameters['emailNestingDepth'] != null) {
509
+ formParams.append('email_nesting_depth', requestParameters['emailNestingDepth']);
510
+ }
508
511
  if (requestParameters['ingestionMode'] != null) {
509
512
  formParams.append('ingestion_mode', requestParameters['ingestionMode']);
510
513
  }
@@ -741,6 +744,12 @@ class DocumentsApi extends runtime.BaseAPI {
741
744
  if (requestParameters['documentType'] != null) {
742
745
  queryParameters['document_type'] = requestParameters['documentType'];
743
746
  }
747
+ if (requestParameters['durationMinMs'] != null) {
748
+ queryParameters['duration_min_ms'] = requestParameters['durationMinMs'];
749
+ }
750
+ if (requestParameters['durationMaxMs'] != null) {
751
+ queryParameters['duration_max_ms'] = requestParameters['durationMaxMs'];
752
+ }
744
753
  if (requestParameters['withTags'] != null) {
745
754
  queryParameters['with_tags'] = requestParameters['withTags'];
746
755
  }
@@ -129,7 +129,7 @@ export interface SystemJobsApiInterface {
129
129
  */
130
130
  getZipIngestionStatusRequestOpts(requestParameters: GetZipIngestionStatusRequest): Promise<runtime.RequestOpts>;
131
131
  /**
132
- * Get a ZIP fan-out\'s live status + per-member outcomes. Tenant-scoped via the TenantId search attribute (no per-path can_read check — intentionally consistent with the sibling generic Temporal endpoints below; the opaque workflow_id is only handed to the uploader, who had can_write on the target). The per-member results come from the workflow\'s ``results`` query (served from retained history), so once Temporal retention expires this 404s.
132
+ * Get a fan-out\'s live status + per-member outcomes. Serves both container fan-outs: a ZIP archive\'s members and an email\'s attachments. Both expose the same ``results`` query, so one endpoint covers them rather than duplicating the tenant check and hydration. Tenant-scoped via the TenantId search attribute (no per-path can_read check — intentionally consistent with the sibling generic Temporal endpoints below; the opaque workflow_id is only handed to the uploader, who had can_write on the target). The per-member results come from the workflow\'s ``results`` query (served from retained history), so once Temporal retention expires this 404s.
133
133
  * @summary Get Zip Ingestion Status Handler
134
134
  * @param {string} workflowId
135
135
  * @param {*} [options] Override http request option.
@@ -138,7 +138,7 @@ export interface SystemJobsApiInterface {
138
138
  */
139
139
  getZipIngestionStatusRaw(requestParameters: GetZipIngestionStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ZipIngestionStatusResponse>>;
140
140
  /**
141
- * Get a ZIP fan-out\'s live status + per-member outcomes. Tenant-scoped via the TenantId search attribute (no per-path can_read check — intentionally consistent with the sibling generic Temporal endpoints below; the opaque workflow_id is only handed to the uploader, who had can_write on the target). The per-member results come from the workflow\'s ``results`` query (served from retained history), so once Temporal retention expires this 404s.
141
+ * Get a fan-out\'s live status + per-member outcomes. Serves both container fan-outs: a ZIP archive\'s members and an email\'s attachments. Both expose the same ``results`` query, so one endpoint covers them rather than duplicating the tenant check and hydration. Tenant-scoped via the TenantId search attribute (no per-path can_read check — intentionally consistent with the sibling generic Temporal endpoints below; the opaque workflow_id is only handed to the uploader, who had can_write on the target). The per-member results come from the workflow\'s ``results`` query (served from retained history), so once Temporal retention expires this 404s.
142
142
  * Get Zip Ingestion Status Handler
143
143
  */
144
144
  getZipIngestionStatus(requestParameters: GetZipIngestionStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ZipIngestionStatusResponse>;
@@ -231,12 +231,12 @@ export declare class SystemJobsApi extends runtime.BaseAPI implements SystemJobs
231
231
  */
232
232
  getZipIngestionStatusRequestOpts(requestParameters: GetZipIngestionStatusRequest): Promise<runtime.RequestOpts>;
233
233
  /**
234
- * Get a ZIP fan-out\'s live status + per-member outcomes. Tenant-scoped via the TenantId search attribute (no per-path can_read check — intentionally consistent with the sibling generic Temporal endpoints below; the opaque workflow_id is only handed to the uploader, who had can_write on the target). The per-member results come from the workflow\'s ``results`` query (served from retained history), so once Temporal retention expires this 404s.
234
+ * Get a fan-out\'s live status + per-member outcomes. Serves both container fan-outs: a ZIP archive\'s members and an email\'s attachments. Both expose the same ``results`` query, so one endpoint covers them rather than duplicating the tenant check and hydration. Tenant-scoped via the TenantId search attribute (no per-path can_read check — intentionally consistent with the sibling generic Temporal endpoints below; the opaque workflow_id is only handed to the uploader, who had can_write on the target). The per-member results come from the workflow\'s ``results`` query (served from retained history), so once Temporal retention expires this 404s.
235
235
  * Get Zip Ingestion Status Handler
236
236
  */
237
237
  getZipIngestionStatusRaw(requestParameters: GetZipIngestionStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ZipIngestionStatusResponse>>;
238
238
  /**
239
- * Get a ZIP fan-out\'s live status + per-member outcomes. Tenant-scoped via the TenantId search attribute (no per-path can_read check — intentionally consistent with the sibling generic Temporal endpoints below; the opaque workflow_id is only handed to the uploader, who had can_write on the target). The per-member results come from the workflow\'s ``results`` query (served from retained history), so once Temporal retention expires this 404s.
239
+ * Get a fan-out\'s live status + per-member outcomes. Serves both container fan-outs: a ZIP archive\'s members and an email\'s attachments. Both expose the same ``results`` query, so one endpoint covers them rather than duplicating the tenant check and hydration. Tenant-scoped via the TenantId search attribute (no per-path can_read check — intentionally consistent with the sibling generic Temporal endpoints below; the opaque workflow_id is only handed to the uploader, who had can_write on the target). The per-member results come from the workflow\'s ``results`` query (served from retained history), so once Temporal retention expires this 404s.
240
240
  * Get Zip Ingestion Status Handler
241
241
  */
242
242
  getZipIngestionStatus(requestParameters: GetZipIngestionStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ZipIngestionStatusResponse>;
@@ -282,7 +282,7 @@ class SystemJobsApi extends runtime.BaseAPI {
282
282
  });
283
283
  }
284
284
  /**
285
- * Get a ZIP fan-out\'s live status + per-member outcomes. Tenant-scoped via the TenantId search attribute (no per-path can_read check — intentionally consistent with the sibling generic Temporal endpoints below; the opaque workflow_id is only handed to the uploader, who had can_write on the target). The per-member results come from the workflow\'s ``results`` query (served from retained history), so once Temporal retention expires this 404s.
285
+ * Get a fan-out\'s live status + per-member outcomes. Serves both container fan-outs: a ZIP archive\'s members and an email\'s attachments. Both expose the same ``results`` query, so one endpoint covers them rather than duplicating the tenant check and hydration. Tenant-scoped via the TenantId search attribute (no per-path can_read check — intentionally consistent with the sibling generic Temporal endpoints below; the opaque workflow_id is only handed to the uploader, who had can_write on the target). The per-member results come from the workflow\'s ``results`` query (served from retained history), so once Temporal retention expires this 404s.
286
286
  * Get Zip Ingestion Status Handler
287
287
  */
288
288
  getZipIngestionStatusRaw(requestParameters, initOverrides) {
@@ -293,7 +293,7 @@ class SystemJobsApi extends runtime.BaseAPI {
293
293
  });
294
294
  }
295
295
  /**
296
- * Get a ZIP fan-out\'s live status + per-member outcomes. Tenant-scoped via the TenantId search attribute (no per-path can_read check — intentionally consistent with the sibling generic Temporal endpoints below; the opaque workflow_id is only handed to the uploader, who had can_write on the target). The per-member results come from the workflow\'s ``results`` query (served from retained history), so once Temporal retention expires this 404s.
296
+ * Get a fan-out\'s live status + per-member outcomes. Serves both container fan-outs: a ZIP archive\'s members and an email\'s attachments. Both expose the same ``results`` query, so one endpoint covers them rather than duplicating the tenant check and hydration. Tenant-scoped via the TenantId search attribute (no per-path can_read check — intentionally consistent with the sibling generic Temporal endpoints below; the opaque workflow_id is only handed to the uploader, who had can_write on the target). The per-member results come from the workflow\'s ``results`` query (served from retained history), so once Temporal retention expires this 404s.
297
297
  * Get Zip Ingestion Status Handler
298
298
  */
299
299
  getZipIngestionStatus(requestParameters, initOverrides) {
@@ -43,6 +43,7 @@ export interface IngestDocumentRequest {
43
43
  name?: string | null;
44
44
  tagIds?: Array<string>;
45
45
  idempotencyKey?: string | null;
46
+ emailNestingDepth?: number;
46
47
  ingestionMode?: IngestionMode;
47
48
  chunkType?: ChunkType;
48
49
  secondaryTaxonomy?: ImageTaxonomy;
@@ -72,6 +73,8 @@ export interface ListDocumentsRequest {
72
73
  sortDir?: SortDirection;
73
74
  ownerId?: string | null;
74
75
  documentType?: DocumentType;
76
+ durationMinMs?: number | null;
77
+ durationMaxMs?: number | null;
75
78
  withTags?: boolean;
76
79
  limit?: number;
77
80
  offset?: number;
@@ -274,6 +277,7 @@ export interface DocumentsApiInterface {
274
277
  * @param {string} [name] Document name (defaults to filename)
275
278
  * @param {Array<string>} [tagIds] Tag IDs applied to the created document.
276
279
  * @param {string} [idempotencyKey] Opt-in key: a repeat with the same key at the same (parent, name) replays the existing document instead of a 409.
280
+ * @param {number} [emailNestingDepth] Internal: set by the email member fan-out when a nested email re-enters this endpoint. Leave at 0 for direct uploads.
277
281
  * @param {IngestionMode} [ingestionMode]
278
282
  * @param {ChunkType} [chunkType]
279
283
  * @param {ImageTaxonomy} [secondaryTaxonomy]
@@ -292,6 +296,7 @@ export interface DocumentsApiInterface {
292
296
  * @param {string} [name] Document name (defaults to filename)
293
297
  * @param {Array<string>} [tagIds] Tag IDs applied to the created document.
294
298
  * @param {string} [idempotencyKey] Opt-in key: a repeat with the same key at the same (parent, name) replays the existing document instead of a 409.
299
+ * @param {number} [emailNestingDepth] Internal: set by the email member fan-out when a nested email re-enters this endpoint. Leave at 0 for direct uploads.
295
300
  * @param {IngestionMode} [ingestionMode]
296
301
  * @param {ChunkType} [chunkType]
297
302
  * @param {ImageTaxonomy} [secondaryTaxonomy]
@@ -377,6 +382,8 @@ export interface DocumentsApiInterface {
377
382
  * @param {SortDirection} [sortDir] Sort direction; overrides the column\&#39;s natural default
378
383
  * @param {string} [ownerId] Filter to documents owned by this user
379
384
  * @param {DocumentType} [documentType] Filter to documents of this type
385
+ * @param {number} [durationMinMs] Only media whose active version is at least this long (milliseconds). Non-media documents have no duration and are excluded.
386
+ * @param {number} [durationMaxMs] Only media whose active version is at most this long.
380
387
  * @param {boolean} [withTags] Include tags in the response (default: false)
381
388
  * @param {number} [limit] Number of items per page
382
389
  * @param {number} [offset] Number of items to skip
@@ -396,6 +403,8 @@ export interface DocumentsApiInterface {
396
403
  * @param {SortDirection} [sortDir] Sort direction; overrides the column\&#39;s natural default
397
404
  * @param {string} [ownerId] Filter to documents owned by this user
398
405
  * @param {DocumentType} [documentType] Filter to documents of this type
406
+ * @param {number} [durationMinMs] Only media whose active version is at least this long (milliseconds). Non-media documents have no duration and are excluded.
407
+ * @param {number} [durationMaxMs] Only media whose active version is at most this long.
399
408
  * @param {boolean} [withTags] Include tags in the response (default: false)
400
409
  * @param {number} [limit] Number of items per page
401
410
  * @param {number} [offset] Number of items to skip
@@ -469,6 +469,9 @@ export class DocumentsApi extends runtime.BaseAPI {
469
469
  if (requestParameters['idempotencyKey'] != null) {
470
470
  formParams.append('idempotency_key', requestParameters['idempotencyKey']);
471
471
  }
472
+ if (requestParameters['emailNestingDepth'] != null) {
473
+ formParams.append('email_nesting_depth', requestParameters['emailNestingDepth']);
474
+ }
472
475
  if (requestParameters['ingestionMode'] != null) {
473
476
  formParams.append('ingestion_mode', requestParameters['ingestionMode']);
474
477
  }
@@ -705,6 +708,12 @@ export class DocumentsApi extends runtime.BaseAPI {
705
708
  if (requestParameters['documentType'] != null) {
706
709
  queryParameters['document_type'] = requestParameters['documentType'];
707
710
  }
711
+ if (requestParameters['durationMinMs'] != null) {
712
+ queryParameters['duration_min_ms'] = requestParameters['durationMinMs'];
713
+ }
714
+ if (requestParameters['durationMaxMs'] != null) {
715
+ queryParameters['duration_max_ms'] = requestParameters['durationMaxMs'];
716
+ }
708
717
  if (requestParameters['withTags'] != null) {
709
718
  queryParameters['with_tags'] = requestParameters['withTags'];
710
719
  }
@@ -129,7 +129,7 @@ export interface SystemJobsApiInterface {
129
129
  */
130
130
  getZipIngestionStatusRequestOpts(requestParameters: GetZipIngestionStatusRequest): Promise<runtime.RequestOpts>;
131
131
  /**
132
- * Get a ZIP fan-out\'s live status + per-member outcomes. Tenant-scoped via the TenantId search attribute (no per-path can_read check — intentionally consistent with the sibling generic Temporal endpoints below; the opaque workflow_id is only handed to the uploader, who had can_write on the target). The per-member results come from the workflow\'s ``results`` query (served from retained history), so once Temporal retention expires this 404s.
132
+ * Get a fan-out\'s live status + per-member outcomes. Serves both container fan-outs: a ZIP archive\'s members and an email\'s attachments. Both expose the same ``results`` query, so one endpoint covers them rather than duplicating the tenant check and hydration. Tenant-scoped via the TenantId search attribute (no per-path can_read check — intentionally consistent with the sibling generic Temporal endpoints below; the opaque workflow_id is only handed to the uploader, who had can_write on the target). The per-member results come from the workflow\'s ``results`` query (served from retained history), so once Temporal retention expires this 404s.
133
133
  * @summary Get Zip Ingestion Status Handler
134
134
  * @param {string} workflowId
135
135
  * @param {*} [options] Override http request option.
@@ -138,7 +138,7 @@ export interface SystemJobsApiInterface {
138
138
  */
139
139
  getZipIngestionStatusRaw(requestParameters: GetZipIngestionStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ZipIngestionStatusResponse>>;
140
140
  /**
141
- * Get a ZIP fan-out\'s live status + per-member outcomes. Tenant-scoped via the TenantId search attribute (no per-path can_read check — intentionally consistent with the sibling generic Temporal endpoints below; the opaque workflow_id is only handed to the uploader, who had can_write on the target). The per-member results come from the workflow\'s ``results`` query (served from retained history), so once Temporal retention expires this 404s.
141
+ * Get a fan-out\'s live status + per-member outcomes. Serves both container fan-outs: a ZIP archive\'s members and an email\'s attachments. Both expose the same ``results`` query, so one endpoint covers them rather than duplicating the tenant check and hydration. Tenant-scoped via the TenantId search attribute (no per-path can_read check — intentionally consistent with the sibling generic Temporal endpoints below; the opaque workflow_id is only handed to the uploader, who had can_write on the target). The per-member results come from the workflow\'s ``results`` query (served from retained history), so once Temporal retention expires this 404s.
142
142
  * Get Zip Ingestion Status Handler
143
143
  */
144
144
  getZipIngestionStatus(requestParameters: GetZipIngestionStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ZipIngestionStatusResponse>;
@@ -231,12 +231,12 @@ export declare class SystemJobsApi extends runtime.BaseAPI implements SystemJobs
231
231
  */
232
232
  getZipIngestionStatusRequestOpts(requestParameters: GetZipIngestionStatusRequest): Promise<runtime.RequestOpts>;
233
233
  /**
234
- * Get a ZIP fan-out\'s live status + per-member outcomes. Tenant-scoped via the TenantId search attribute (no per-path can_read check — intentionally consistent with the sibling generic Temporal endpoints below; the opaque workflow_id is only handed to the uploader, who had can_write on the target). The per-member results come from the workflow\'s ``results`` query (served from retained history), so once Temporal retention expires this 404s.
234
+ * Get a fan-out\'s live status + per-member outcomes. Serves both container fan-outs: a ZIP archive\'s members and an email\'s attachments. Both expose the same ``results`` query, so one endpoint covers them rather than duplicating the tenant check and hydration. Tenant-scoped via the TenantId search attribute (no per-path can_read check — intentionally consistent with the sibling generic Temporal endpoints below; the opaque workflow_id is only handed to the uploader, who had can_write on the target). The per-member results come from the workflow\'s ``results`` query (served from retained history), so once Temporal retention expires this 404s.
235
235
  * Get Zip Ingestion Status Handler
236
236
  */
237
237
  getZipIngestionStatusRaw(requestParameters: GetZipIngestionStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ZipIngestionStatusResponse>>;
238
238
  /**
239
- * Get a ZIP fan-out\'s live status + per-member outcomes. Tenant-scoped via the TenantId search attribute (no per-path can_read check — intentionally consistent with the sibling generic Temporal endpoints below; the opaque workflow_id is only handed to the uploader, who had can_write on the target). The per-member results come from the workflow\'s ``results`` query (served from retained history), so once Temporal retention expires this 404s.
239
+ * Get a fan-out\'s live status + per-member outcomes. Serves both container fan-outs: a ZIP archive\'s members and an email\'s attachments. Both expose the same ``results`` query, so one endpoint covers them rather than duplicating the tenant check and hydration. Tenant-scoped via the TenantId search attribute (no per-path can_read check — intentionally consistent with the sibling generic Temporal endpoints below; the opaque workflow_id is only handed to the uploader, who had can_write on the target). The per-member results come from the workflow\'s ``results`` query (served from retained history), so once Temporal retention expires this 404s.
240
240
  * Get Zip Ingestion Status Handler
241
241
  */
242
242
  getZipIngestionStatus(requestParameters: GetZipIngestionStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ZipIngestionStatusResponse>;
@@ -246,7 +246,7 @@ export class SystemJobsApi extends runtime.BaseAPI {
246
246
  });
247
247
  }
248
248
  /**
249
- * Get a ZIP fan-out\'s live status + per-member outcomes. Tenant-scoped via the TenantId search attribute (no per-path can_read check — intentionally consistent with the sibling generic Temporal endpoints below; the opaque workflow_id is only handed to the uploader, who had can_write on the target). The per-member results come from the workflow\'s ``results`` query (served from retained history), so once Temporal retention expires this 404s.
249
+ * Get a fan-out\'s live status + per-member outcomes. Serves both container fan-outs: a ZIP archive\'s members and an email\'s attachments. Both expose the same ``results`` query, so one endpoint covers them rather than duplicating the tenant check and hydration. Tenant-scoped via the TenantId search attribute (no per-path can_read check — intentionally consistent with the sibling generic Temporal endpoints below; the opaque workflow_id is only handed to the uploader, who had can_write on the target). The per-member results come from the workflow\'s ``results`` query (served from retained history), so once Temporal retention expires this 404s.
250
250
  * Get Zip Ingestion Status Handler
251
251
  */
252
252
  getZipIngestionStatusRaw(requestParameters, initOverrides) {
@@ -257,7 +257,7 @@ export class SystemJobsApi extends runtime.BaseAPI {
257
257
  });
258
258
  }
259
259
  /**
260
- * Get a ZIP fan-out\'s live status + per-member outcomes. Tenant-scoped via the TenantId search attribute (no per-path can_read check — intentionally consistent with the sibling generic Temporal endpoints below; the opaque workflow_id is only handed to the uploader, who had can_write on the target). The per-member results come from the workflow\'s ``results`` query (served from retained history), so once Temporal retention expires this 404s.
260
+ * Get a fan-out\'s live status + per-member outcomes. Serves both container fan-outs: a ZIP archive\'s members and an email\'s attachments. Both expose the same ``results`` query, so one endpoint covers them rather than duplicating the tenant check and hydration. Tenant-scoped via the TenantId search attribute (no per-path can_read check — intentionally consistent with the sibling generic Temporal endpoints below; the opaque workflow_id is only handed to the uploader, who had can_write on the target). The per-member results come from the workflow\'s ``results`` query (served from retained history), so once Temporal retention expires this 404s.
261
261
  * Get Zip Ingestion Status Handler
262
262
  */
263
263
  getZipIngestionStatus(requestParameters, initOverrides) {
@@ -66,6 +66,18 @@ export interface ChunkMetadata {
66
66
  * @memberof ChunkMetadata
67
67
  */
68
68
  endMs?: number | null;
69
+ /**
70
+ * Every speaker label appearing in this chunk's segments, sorted. Lets a citation say which turn it came from. None when the provider does not diarize.
71
+ * @type {Array<number>}
72
+ * @memberof ChunkMetadata
73
+ */
74
+ speakers?: Array<number> | null;
75
+ /**
76
+ * Every language the ASR recognised across this chunk's segments, sorted. A meeting routinely code-switches, so a chunk can hold more than one; the document-level language is only the majority label and misreports a bilingual recording. None for non-media chunks and for media ingested before this field existed.
77
+ * @type {Array<string>}
78
+ * @memberof ChunkMetadata
79
+ */
80
+ languages?: Array<string> | null;
69
81
  /**
70
82
  * Per-ASR-segment spans inside this media chunk, in order, each carrying its char offset in the chunk content. Lets citation resolution narrow a chunk-level timeframe to the enclosing segment. None for non-media chunks and media ingested before this field existed.
71
83
  * @type {Array<SegmentSpan>}
@@ -37,6 +37,8 @@ export function ChunkMetadataFromJSONTyped(json, ignoreDiscriminator) {
37
37
  'secondaryTaxonomy': json['secondary_taxonomy'] == null ? undefined : ImageTaxonomyFromJSON(json['secondary_taxonomy']),
38
38
  'startMs': json['start_ms'] == null ? undefined : json['start_ms'],
39
39
  'endMs': json['end_ms'] == null ? undefined : json['end_ms'],
40
+ 'speakers': json['speakers'] == null ? undefined : json['speakers'],
41
+ 'languages': json['languages'] == null ? undefined : json['languages'],
40
42
  'segments': json['segments'] == null ? undefined : (json['segments'].map(SegmentSpanFromJSON)),
41
43
  'sheetName': json['sheet_name'] == null ? undefined : json['sheet_name'],
42
44
  'blockType': json['block_type'] == null ? undefined : json['block_type'],
@@ -65,6 +67,8 @@ export function ChunkMetadataToJSONTyped(value, ignoreDiscriminator = false) {
65
67
  'secondary_taxonomy': ImageTaxonomyToJSON(value['secondaryTaxonomy']),
66
68
  'start_ms': value['startMs'],
67
69
  'end_ms': value['endMs'],
70
+ 'speakers': value['speakers'],
71
+ 'languages': value['languages'],
68
72
  'segments': value['segments'] == null ? undefined : (value['segments'].map(SegmentSpanToJSON)),
69
73
  'sheet_name': value['sheetName'],
70
74
  'block_type': value['blockType'],
@@ -45,6 +45,24 @@ export interface CreateUploadRequest {
45
45
  * @memberof CreateUploadRequest
46
46
  */
47
47
  tagIds?: Array<string>;
48
+ /**
49
+ * Workflow run this upload belongs to; attributes the resulting document to the run in the audit log. Must be sent together with workflow_definition_id, and only by an assumed identity.
50
+ * @type {string}
51
+ * @memberof CreateUploadRequest
52
+ */
53
+ workflowRunId?: string | null;
54
+ /**
55
+ * Workflow definition for workflow_run_id.
56
+ * @type {string}
57
+ * @memberof CreateUploadRequest
58
+ */
59
+ workflowDefinitionId?: string | null;
60
+ /**
61
+ * Replay key for callers that retry (e.g. the ZIP fan-out); completing twice with the same key replays the existing document instead of creating a duplicate.
62
+ * @type {string}
63
+ * @memberof CreateUploadRequest
64
+ */
65
+ idempotencyKey?: string | null;
48
66
  }
49
67
  export declare const CreateUploadRequestPropertyValidationAttributesMap: {
50
68
  [property: string]: {
@@ -39,6 +39,9 @@ export function CreateUploadRequestFromJSONTyped(json, ignoreDiscriminator) {
39
39
  'filename': json['filename'],
40
40
  'sizeBytes': json['size_bytes'],
41
41
  'tagIds': json['tag_ids'] == null ? undefined : json['tag_ids'],
42
+ 'workflowRunId': json['workflow_run_id'] == null ? undefined : json['workflow_run_id'],
43
+ 'workflowDefinitionId': json['workflow_definition_id'] == null ? undefined : json['workflow_definition_id'],
44
+ 'idempotencyKey': json['idempotency_key'] == null ? undefined : json['idempotency_key'],
42
45
  };
43
46
  }
44
47
  export function CreateUploadRequestToJSON(json) {
@@ -54,5 +57,8 @@ export function CreateUploadRequestToJSONTyped(value, ignoreDiscriminator = fals
54
57
  'filename': value['filename'],
55
58
  'size_bytes': value['sizeBytes'],
56
59
  'tag_ids': value['tagIds'],
60
+ 'workflow_run_id': value['workflowRunId'],
61
+ 'workflow_definition_id': value['workflowDefinitionId'],
62
+ 'idempotency_key': value['idempotencyKey'],
57
63
  };
58
64
  }
@@ -12,6 +12,7 @@
12
12
  import type { PipelineState } from './PipelineState';
13
13
  import type { XlsxCellAnchorOutputOrDocxParagraphAnchorOutput } from './XlsxCellAnchorOutputOrDocxParagraphAnchorOutput';
14
14
  import type { InformationStatistics } from './InformationStatistics';
15
+ import type { EmailMetadata } from './EmailMetadata';
15
16
  /**
16
17
  * Schema for document_version.system_metadata JSONB field.
17
18
  *
@@ -111,6 +112,12 @@ export interface DocumentVersionMetadata {
111
112
  * @memberof DocumentVersionMetadata
112
113
  */
113
114
  segmentCount?: number | null;
115
+ /**
116
+ * Structured email headers; null for non-email documents
117
+ * @type {EmailMetadata}
118
+ * @memberof DocumentVersionMetadata
119
+ */
120
+ email?: EmailMetadata | null;
114
121
  /**
115
122
  * Total formula cells in the workbook (XLSX only)
116
123
  * @type {number}
@@ -14,6 +14,7 @@
14
14
  import { PipelineStateFromJSON, PipelineStateToJSON, } from './PipelineState';
15
15
  import { XlsxCellAnchorOutputOrDocxParagraphAnchorOutputFromJSON, XlsxCellAnchorOutputOrDocxParagraphAnchorOutputToJSON, } from './XlsxCellAnchorOutputOrDocxParagraphAnchorOutput';
16
16
  import { InformationStatisticsFromJSON, InformationStatisticsToJSON, } from './InformationStatistics';
17
+ import { EmailMetadataFromJSON, EmailMetadataToJSON, } from './EmailMetadata';
17
18
  export const DocumentVersionMetadataPropertyValidationAttributesMap = {};
18
19
  /**
19
20
  * Check if a given object implements the DocumentVersionMetadata interface.
@@ -43,6 +44,7 @@ export function DocumentVersionMetadataFromJSONTyped(json, ignoreDiscriminator)
43
44
  'durationMs': json['duration_ms'] == null ? undefined : json['duration_ms'],
44
45
  'language': json['language'] == null ? undefined : json['language'],
45
46
  'segmentCount': json['segment_count'] == null ? undefined : json['segment_count'],
47
+ 'email': json['email'] == null ? undefined : EmailMetadataFromJSON(json['email']),
46
48
  'totalFormulas': json['total_formulas'] == null ? undefined : json['total_formulas'],
47
49
  'xlsxParseResultS3': json['xlsx_parse_result_s3'] == null ? undefined : json['xlsx_parse_result_s3'],
48
50
  'xlsxNamedRanges': json['xlsx_named_ranges'] == null ? undefined : json['xlsx_named_ranges'],
@@ -79,6 +81,7 @@ export function DocumentVersionMetadataToJSONTyped(value, ignoreDiscriminator =
79
81
  'duration_ms': value['durationMs'],
80
82
  'language': value['language'],
81
83
  'segment_count': value['segmentCount'],
84
+ 'email': EmailMetadataToJSON(value['email']),
82
85
  'total_formulas': value['totalFormulas'],
83
86
  'xlsx_parse_result_s3': value['xlsxParseResultS3'],
84
87
  'xlsx_named_ranges': value['xlsxNamedRanges'],
@@ -12,6 +12,7 @@
12
12
  import type { PipelineState } from './PipelineState';
13
13
  import type { XlsxCellAnchorInputOrDocxParagraphAnchorInput } from './XlsxCellAnchorInputOrDocxParagraphAnchorInput';
14
14
  import type { InformationStatistics } from './InformationStatistics';
15
+ import type { EmailMetadata } from './EmailMetadata';
15
16
  /**
16
17
  * Partial update schema for document version metadata.
17
18
  *
@@ -123,6 +124,12 @@ export interface DocumentVersionMetadataUpdate {
123
124
  * @memberof DocumentVersionMetadataUpdate
124
125
  */
125
126
  segmentCount?: number | null;
127
+ /**
128
+ *
129
+ * @type {EmailMetadata}
130
+ * @memberof DocumentVersionMetadataUpdate
131
+ */
132
+ email?: EmailMetadata | null;
126
133
  /**
127
134
  *
128
135
  * @type {number}
@@ -14,6 +14,7 @@
14
14
  import { PipelineStateFromJSON, PipelineStateToJSON, } from './PipelineState';
15
15
  import { XlsxCellAnchorInputOrDocxParagraphAnchorInputFromJSON, XlsxCellAnchorInputOrDocxParagraphAnchorInputToJSON, } from './XlsxCellAnchorInputOrDocxParagraphAnchorInput';
16
16
  import { InformationStatisticsFromJSON, InformationStatisticsToJSON, } from './InformationStatistics';
17
+ import { EmailMetadataFromJSON, EmailMetadataToJSON, } from './EmailMetadata';
17
18
  export const DocumentVersionMetadataUpdatePropertyValidationAttributesMap = {};
18
19
  /**
19
20
  * Check if a given object implements the DocumentVersionMetadataUpdate interface.
@@ -46,6 +47,7 @@ export function DocumentVersionMetadataUpdateFromJSONTyped(json, ignoreDiscrimin
46
47
  'durationMs': json['duration_ms'] == null ? undefined : json['duration_ms'],
47
48
  'language': json['language'] == null ? undefined : json['language'],
48
49
  'segmentCount': json['segment_count'] == null ? undefined : json['segment_count'],
50
+ 'email': json['email'] == null ? undefined : EmailMetadataFromJSON(json['email']),
49
51
  'totalFormulas': json['total_formulas'] == null ? undefined : json['total_formulas'],
50
52
  'xlsxParseResultS3': json['xlsx_parse_result_s3'] == null ? undefined : json['xlsx_parse_result_s3'],
51
53
  'xlsxNamedRanges': json['xlsx_named_ranges'] == null ? undefined : json['xlsx_named_ranges'],
@@ -84,6 +86,7 @@ export function DocumentVersionMetadataUpdateToJSONTyped(value, ignoreDiscrimina
84
86
  'duration_ms': value['durationMs'],
85
87
  'language': value['language'],
86
88
  'segment_count': value['segmentCount'],
89
+ 'email': EmailMetadataToJSON(value['email']),
87
90
  'total_formulas': value['totalFormulas'],
88
91
  'xlsx_parse_result_s3': value['xlsxParseResultS3'],
89
92
  'xlsx_named_ranges': value['xlsxNamedRanges'],
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Knowledge Stack API
3
+ * Knowledge Stack backend API for authentication and knowledge management. ## Integrating (RPA / machine clients) **Base URL.** Knowledge Stack is self-hosted — point at your own deployment host (see `servers`). The `localhost` entry is for local development only. **Authentication.** Send `Authorization: Bearer <api-key>` on every request. Mint an API key once via `POST /v1/api-keys` from a signed-in browser session; the raw `sk-user-...` secret is returned **only** at creation, so store it then. A key inherits its owning user\'s live tenant role and path permissions — create RPA keys from a least-privilege user, and set `expires_at` for rotation. The `ks_uat` cookie scheme is browser-only and cannot be used by headless clients. **Async work is polled, not pushed.** There are no outbound webhooks. - `POST /v1/documents/ingest` returns `201` immediately with a `workflow_id`; poll `GET /v1/system-jobs/document_versions/{workflow_id}` until `status` is terminal (anything other than `pending`/`processing`). The `Location` response header points at this poll resource. - `POST /v1/workflow-runs/{run_id}/start` returns `202`; poll `GET /v1/workflow-runs/{run_id}` until `execution_state` is `COMPLETED` or `FAILED`. The `Location` header points at the run resource. - `POST /v1/agent/ask` is **synchronous** — it blocks until the agent finishes and returns the answer inline. Use a generous HTTP timeout. **Pagination.** List endpoints accept `limit`/`offset` and return `{items, total, limit, offset}`. **Errors.** Every non-2xx body is `{detail, code, request_id}`. `code` is a stable value from a closed set (see the `ErrorResponse` schema\'s `code` enum) — branch on it rather than parsing `detail`. Quota rejections return `429` with a `Retry-After` header; transient lock contention returns a retryable `503`. Quote `request_id` (also the `x-request-id` response header) to support. **Idempotency.** `POST /v1/workflow-runs` accepts an `idempotency_key` to dedupe retried run creation. `agent/ask` charges one message *before* running and does not refund a client-cancelled call.
4
+ *
5
+ * The version of the OpenAPI document: 0.1.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { EmailParty } from './EmailParty';
13
+ /**
14
+ * Structured headers of an ingested email (EMAIL document type only).
15
+ *
16
+ * Populated by ``document_preparation_activity`` from the same parse that
17
+ * renders the message body, so the stored metadata and the rendered document
18
+ * cannot disagree. Null on a multi-message archive: its messages are ingested
19
+ * as their own documents, and each carries its own block.
20
+ * @export
21
+ * @interface EmailMetadata
22
+ */
23
+ export interface EmailMetadata {
24
+ /**
25
+ * Message subject
26
+ * @type {string}
27
+ * @memberof EmailMetadata
28
+ */
29
+ subject?: string;
30
+ /**
31
+ * Sender; null if unparseable
32
+ * @type {EmailParty}
33
+ * @memberof EmailMetadata
34
+ */
35
+ sender?: EmailParty | null;
36
+ /**
37
+ * To recipients
38
+ * @type {Array<EmailParty>}
39
+ * @memberof EmailMetadata
40
+ */
41
+ to?: Array<EmailParty>;
42
+ /**
43
+ * Cc recipients
44
+ * @type {Array<EmailParty>}
45
+ * @memberof EmailMetadata
46
+ */
47
+ cc?: Array<EmailParty>;
48
+ /**
49
+ * Bcc recipients. Present only when the source file carries them — a sending MTA strips Bcc, so it survives in the sender's own copy (a .msg exported from Sent Items) but never in a received .eml.
50
+ * @type {Array<EmailParty>}
51
+ * @memberof EmailMetadata
52
+ */
53
+ bcc?: Array<EmailParty>;
54
+ /**
55
+ * Date header, as written
56
+ * @type {string}
57
+ * @memberof EmailMetadata
58
+ */
59
+ sentAt?: string;
60
+ /**
61
+ * RFC 5322 Message-ID
62
+ * @type {string}
63
+ * @memberof EmailMetadata
64
+ */
65
+ messageId?: string;
66
+ /**
67
+ * Message-ID being replied to
68
+ * @type {string}
69
+ * @memberof EmailMetadata
70
+ */
71
+ inReplyTo?: string;
72
+ /**
73
+ * Reply chain, oldest first
74
+ * @type {Array<string>}
75
+ * @memberof EmailMetadata
76
+ */
77
+ references?: Array<string>;
78
+ /**
79
+ * Outlook PidTagConversationTopic (.msg only)
80
+ * @type {string}
81
+ * @memberof EmailMetadata
82
+ */
83
+ conversationTopic?: string;
84
+ /**
85
+ * Message-ID that started the thread — the first References entry, or this message's own id. Group by this to reconstruct a thread.
86
+ * @type {string}
87
+ * @memberof EmailMetadata
88
+ */
89
+ threadRootId?: string;
90
+ /**
91
+ * The verbatim header block, so a header this schema does not model stays recoverable without re-reading the source file.
92
+ * @type {string}
93
+ * @memberof EmailMetadata
94
+ */
95
+ rawHeaders?: string;
96
+ }
97
+ export declare const EmailMetadataPropertyValidationAttributesMap: {
98
+ [property: string]: {
99
+ maxLength?: number;
100
+ minLength?: number;
101
+ pattern?: string;
102
+ maximum?: number;
103
+ exclusiveMaximum?: boolean;
104
+ minimum?: number;
105
+ exclusiveMinimum?: boolean;
106
+ multipleOf?: number;
107
+ maxItems?: number;
108
+ minItems?: number;
109
+ uniqueItems?: boolean;
110
+ };
111
+ };
112
+ /**
113
+ * Check if a given object implements the EmailMetadata interface.
114
+ */
115
+ export declare function instanceOfEmailMetadata(value: object): value is EmailMetadata;
116
+ export declare function EmailMetadataFromJSON(json: any): EmailMetadata;
117
+ export declare function EmailMetadataFromJSONTyped(json: any, ignoreDiscriminator: boolean): EmailMetadata;
118
+ export declare function EmailMetadataToJSON(json: any): EmailMetadata;
119
+ export declare function EmailMetadataToJSONTyped(value?: EmailMetadata | null, ignoreDiscriminator?: boolean): any;