@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.
- package/.openapi-generator/FILES +4 -0
- package/README.md +4 -2
- package/dist/apis/DocumentsApi.d.ts +9 -0
- package/dist/apis/DocumentsApi.js +9 -0
- package/dist/apis/SystemJobsApi.d.ts +4 -4
- package/dist/apis/SystemJobsApi.js +2 -2
- package/dist/esm/apis/DocumentsApi.d.ts +9 -0
- package/dist/esm/apis/DocumentsApi.js +9 -0
- package/dist/esm/apis/SystemJobsApi.d.ts +4 -4
- package/dist/esm/apis/SystemJobsApi.js +2 -2
- package/dist/esm/models/ChunkMetadata.d.ts +12 -0
- package/dist/esm/models/ChunkMetadata.js +4 -0
- package/dist/esm/models/CreateUploadRequest.d.ts +18 -0
- package/dist/esm/models/CreateUploadRequest.js +6 -0
- package/dist/esm/models/DocumentVersionMetadata.d.ts +7 -0
- package/dist/esm/models/DocumentVersionMetadata.js +3 -0
- package/dist/esm/models/DocumentVersionMetadataUpdate.d.ts +7 -0
- package/dist/esm/models/DocumentVersionMetadataUpdate.js +3 -0
- package/dist/esm/models/EmailMetadata.d.ts +119 -0
- package/dist/esm/models/EmailMetadata.js +65 -0
- package/dist/esm/models/EmailParty.d.ts +53 -0
- package/dist/esm/models/EmailParty.js +46 -0
- package/dist/esm/models/ImageTaxonomy.d.ts +1 -0
- package/dist/esm/models/ImageTaxonomy.js +1 -0
- package/dist/esm/models/IngestDocumentResponse.d.ts +18 -0
- package/dist/esm/models/IngestDocumentResponse.js +6 -0
- package/dist/esm/models/SegmentSpan.d.ts +9 -2
- package/dist/esm/models/SegmentSpan.js +2 -0
- package/dist/esm/models/index.d.ts +2 -0
- package/dist/esm/models/index.js +2 -0
- package/dist/models/ChunkMetadata.d.ts +12 -0
- package/dist/models/ChunkMetadata.js +4 -0
- package/dist/models/CreateUploadRequest.d.ts +18 -0
- package/dist/models/CreateUploadRequest.js +6 -0
- package/dist/models/DocumentVersionMetadata.d.ts +7 -0
- package/dist/models/DocumentVersionMetadata.js +3 -0
- package/dist/models/DocumentVersionMetadataUpdate.d.ts +7 -0
- package/dist/models/DocumentVersionMetadataUpdate.js +3 -0
- package/dist/models/EmailMetadata.d.ts +119 -0
- package/dist/models/EmailMetadata.js +73 -0
- package/dist/models/EmailParty.d.ts +53 -0
- package/dist/models/EmailParty.js +54 -0
- package/dist/models/ImageTaxonomy.d.ts +1 -0
- package/dist/models/ImageTaxonomy.js +1 -0
- package/dist/models/IngestDocumentResponse.d.ts +18 -0
- package/dist/models/IngestDocumentResponse.js +6 -0
- package/dist/models/SegmentSpan.d.ts +9 -2
- package/dist/models/SegmentSpan.js +2 -0
- package/dist/models/index.d.ts +2 -0
- package/dist/models/index.js +2 -0
- package/docs/ChunkMetadata.md +4 -0
- package/docs/CreateUploadRequest.md +6 -0
- package/docs/DocumentVersionMetadata.md +2 -0
- package/docs/DocumentVersionMetadataUpdate.md +2 -0
- package/docs/DocumentsApi.md +13 -4
- package/docs/EmailMetadata.md +57 -0
- package/docs/EmailParty.md +37 -0
- package/docs/IngestDocumentResponse.md +6 -0
- package/docs/SegmentSpan.md +3 -1
- package/docs/SystemJobsApi.md +1 -1
- package/package.json +1 -1
- package/src/apis/DocumentsApi.ts +21 -0
- package/src/apis/SystemJobsApi.ts +4 -4
- package/src/models/ChunkMetadata.ts +16 -0
- package/src/models/CreateUploadRequest.ts +24 -0
- package/src/models/DocumentVersionMetadata.ts +15 -0
- package/src/models/DocumentVersionMetadataUpdate.ts +15 -0
- package/src/models/EmailMetadata.ts +183 -0
- package/src/models/EmailParty.ts +91 -0
- package/src/models/ImageTaxonomy.ts +1 -0
- package/src/models/IngestDocumentResponse.ts +24 -0
- package/src/models/SegmentSpan.ts +11 -2
- package/src/models/index.ts +2 -0
package/src/apis/DocumentsApi.ts
CHANGED
|
@@ -122,6 +122,7 @@ export interface IngestDocumentRequest {
|
|
|
122
122
|
name?: string | null;
|
|
123
123
|
tagIds?: Array<string>;
|
|
124
124
|
idempotencyKey?: string | null;
|
|
125
|
+
emailNestingDepth?: number;
|
|
125
126
|
ingestionMode?: IngestionMode;
|
|
126
127
|
chunkType?: ChunkType;
|
|
127
128
|
secondaryTaxonomy?: ImageTaxonomy;
|
|
@@ -154,6 +155,8 @@ export interface ListDocumentsRequest {
|
|
|
154
155
|
sortDir?: SortDirection;
|
|
155
156
|
ownerId?: string | null;
|
|
156
157
|
documentType?: DocumentType;
|
|
158
|
+
durationMinMs?: number | null;
|
|
159
|
+
durationMaxMs?: number | null;
|
|
157
160
|
withTags?: boolean;
|
|
158
161
|
limit?: number;
|
|
159
162
|
offset?: number;
|
|
@@ -383,6 +386,7 @@ export interface DocumentsApiInterface {
|
|
|
383
386
|
* @param {string} [name] Document name (defaults to filename)
|
|
384
387
|
* @param {Array<string>} [tagIds] Tag IDs applied to the created document.
|
|
385
388
|
* @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.
|
|
389
|
+
* @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.
|
|
386
390
|
* @param {IngestionMode} [ingestionMode]
|
|
387
391
|
* @param {ChunkType} [chunkType]
|
|
388
392
|
* @param {ImageTaxonomy} [secondaryTaxonomy]
|
|
@@ -402,6 +406,7 @@ export interface DocumentsApiInterface {
|
|
|
402
406
|
* @param {string} [name] Document name (defaults to filename)
|
|
403
407
|
* @param {Array<string>} [tagIds] Tag IDs applied to the created document.
|
|
404
408
|
* @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.
|
|
409
|
+
* @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.
|
|
405
410
|
* @param {IngestionMode} [ingestionMode]
|
|
406
411
|
* @param {ChunkType} [chunkType]
|
|
407
412
|
* @param {ImageTaxonomy} [secondaryTaxonomy]
|
|
@@ -495,6 +500,8 @@ export interface DocumentsApiInterface {
|
|
|
495
500
|
* @param {SortDirection} [sortDir] Sort direction; overrides the column\'s natural default
|
|
496
501
|
* @param {string} [ownerId] Filter to documents owned by this user
|
|
497
502
|
* @param {DocumentType} [documentType] Filter to documents of this type
|
|
503
|
+
* @param {number} [durationMinMs] Only media whose active version is at least this long (milliseconds). Non-media documents have no duration and are excluded.
|
|
504
|
+
* @param {number} [durationMaxMs] Only media whose active version is at most this long.
|
|
498
505
|
* @param {boolean} [withTags] Include tags in the response (default: false)
|
|
499
506
|
* @param {number} [limit] Number of items per page
|
|
500
507
|
* @param {number} [offset] Number of items to skip
|
|
@@ -515,6 +522,8 @@ export interface DocumentsApiInterface {
|
|
|
515
522
|
* @param {SortDirection} [sortDir] Sort direction; overrides the column\'s natural default
|
|
516
523
|
* @param {string} [ownerId] Filter to documents owned by this user
|
|
517
524
|
* @param {DocumentType} [documentType] Filter to documents of this type
|
|
525
|
+
* @param {number} [durationMinMs] Only media whose active version is at least this long (milliseconds). Non-media documents have no duration and are excluded.
|
|
526
|
+
* @param {number} [durationMaxMs] Only media whose active version is at most this long.
|
|
518
527
|
* @param {boolean} [withTags] Include tags in the response (default: false)
|
|
519
528
|
* @param {number} [limit] Number of items per page
|
|
520
529
|
* @param {number} [offset] Number of items to skip
|
|
@@ -1117,6 +1126,10 @@ export class DocumentsApi extends runtime.BaseAPI implements DocumentsApiInterfa
|
|
|
1117
1126
|
formParams.append('idempotency_key', requestParameters['idempotencyKey'] as any);
|
|
1118
1127
|
}
|
|
1119
1128
|
|
|
1129
|
+
if (requestParameters['emailNestingDepth'] != null) {
|
|
1130
|
+
formParams.append('email_nesting_depth', requestParameters['emailNestingDepth'] as any);
|
|
1131
|
+
}
|
|
1132
|
+
|
|
1120
1133
|
if (requestParameters['ingestionMode'] != null) {
|
|
1121
1134
|
formParams.append('ingestion_mode', requestParameters['ingestionMode'] as any);
|
|
1122
1135
|
}
|
|
@@ -1400,6 +1413,14 @@ export class DocumentsApi extends runtime.BaseAPI implements DocumentsApiInterfa
|
|
|
1400
1413
|
queryParameters['document_type'] = requestParameters['documentType'];
|
|
1401
1414
|
}
|
|
1402
1415
|
|
|
1416
|
+
if (requestParameters['durationMinMs'] != null) {
|
|
1417
|
+
queryParameters['duration_min_ms'] = requestParameters['durationMinMs'];
|
|
1418
|
+
}
|
|
1419
|
+
|
|
1420
|
+
if (requestParameters['durationMaxMs'] != null) {
|
|
1421
|
+
queryParameters['duration_max_ms'] = requestParameters['durationMaxMs'];
|
|
1422
|
+
}
|
|
1423
|
+
|
|
1403
1424
|
if (requestParameters['withTags'] != null) {
|
|
1404
1425
|
queryParameters['with_tags'] = requestParameters['withTags'];
|
|
1405
1426
|
}
|
|
@@ -180,7 +180,7 @@ export interface SystemJobsApiInterface {
|
|
|
180
180
|
getZipIngestionStatusRequestOpts(requestParameters: GetZipIngestionStatusRequest): Promise<runtime.RequestOpts>;
|
|
181
181
|
|
|
182
182
|
/**
|
|
183
|
-
* Get a
|
|
183
|
+
* 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.
|
|
184
184
|
* @summary Get Zip Ingestion Status Handler
|
|
185
185
|
* @param {string} workflowId
|
|
186
186
|
* @param {*} [options] Override http request option.
|
|
@@ -190,7 +190,7 @@ export interface SystemJobsApiInterface {
|
|
|
190
190
|
getZipIngestionStatusRaw(requestParameters: GetZipIngestionStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ZipIngestionStatusResponse>>;
|
|
191
191
|
|
|
192
192
|
/**
|
|
193
|
-
* Get a
|
|
193
|
+
* 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.
|
|
194
194
|
* Get Zip Ingestion Status Handler
|
|
195
195
|
*/
|
|
196
196
|
getZipIngestionStatus(requestParameters: GetZipIngestionStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ZipIngestionStatusResponse>;
|
|
@@ -484,7 +484,7 @@ export class SystemJobsApi extends runtime.BaseAPI implements SystemJobsApiInter
|
|
|
484
484
|
}
|
|
485
485
|
|
|
486
486
|
/**
|
|
487
|
-
* Get a
|
|
487
|
+
* 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.
|
|
488
488
|
* Get Zip Ingestion Status Handler
|
|
489
489
|
*/
|
|
490
490
|
async getZipIngestionStatusRaw(requestParameters: GetZipIngestionStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ZipIngestionStatusResponse>> {
|
|
@@ -495,7 +495,7 @@ export class SystemJobsApi extends runtime.BaseAPI implements SystemJobsApiInter
|
|
|
495
495
|
}
|
|
496
496
|
|
|
497
497
|
/**
|
|
498
|
-
* Get a
|
|
498
|
+
* 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.
|
|
499
499
|
* Get Zip Ingestion Status Handler
|
|
500
500
|
*/
|
|
501
501
|
async getZipIngestionStatus(requestParameters: GetZipIngestionStatusRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ZipIngestionStatusResponse> {
|
|
@@ -89,6 +89,18 @@ export interface ChunkMetadata {
|
|
|
89
89
|
* @memberof ChunkMetadata
|
|
90
90
|
*/
|
|
91
91
|
endMs?: number | null;
|
|
92
|
+
/**
|
|
93
|
+
* 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.
|
|
94
|
+
* @type {Array<number>}
|
|
95
|
+
* @memberof ChunkMetadata
|
|
96
|
+
*/
|
|
97
|
+
speakers?: Array<number> | null;
|
|
98
|
+
/**
|
|
99
|
+
* 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.
|
|
100
|
+
* @type {Array<string>}
|
|
101
|
+
* @memberof ChunkMetadata
|
|
102
|
+
*/
|
|
103
|
+
languages?: Array<string> | null;
|
|
92
104
|
/**
|
|
93
105
|
* 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.
|
|
94
106
|
* @type {Array<SegmentSpan>}
|
|
@@ -195,6 +207,8 @@ export function ChunkMetadataFromJSONTyped(json: any, ignoreDiscriminator: boole
|
|
|
195
207
|
'secondaryTaxonomy': json['secondary_taxonomy'] == null ? undefined : ImageTaxonomyFromJSON(json['secondary_taxonomy']),
|
|
196
208
|
'startMs': json['start_ms'] == null ? undefined : json['start_ms'],
|
|
197
209
|
'endMs': json['end_ms'] == null ? undefined : json['end_ms'],
|
|
210
|
+
'speakers': json['speakers'] == null ? undefined : json['speakers'],
|
|
211
|
+
'languages': json['languages'] == null ? undefined : json['languages'],
|
|
198
212
|
'segments': json['segments'] == null ? undefined : ((json['segments'] as Array<any>).map(SegmentSpanFromJSON)),
|
|
199
213
|
'sheetName': json['sheet_name'] == null ? undefined : json['sheet_name'],
|
|
200
214
|
'blockType': json['block_type'] == null ? undefined : json['block_type'],
|
|
@@ -227,6 +241,8 @@ export function ChunkMetadataToJSONTyped(value?: ChunkMetadata | null, ignoreDis
|
|
|
227
241
|
'secondary_taxonomy': ImageTaxonomyToJSON(value['secondaryTaxonomy']),
|
|
228
242
|
'start_ms': value['startMs'],
|
|
229
243
|
'end_ms': value['endMs'],
|
|
244
|
+
'speakers': value['speakers'],
|
|
245
|
+
'languages': value['languages'],
|
|
230
246
|
'segments': value['segments'] == null ? undefined : ((value['segments'] as Array<any>).map(SegmentSpanToJSON)),
|
|
231
247
|
'sheet_name': value['sheetName'],
|
|
232
248
|
'block_type': value['blockType'],
|
|
@@ -49,6 +49,24 @@ export interface CreateUploadRequest {
|
|
|
49
49
|
* @memberof CreateUploadRequest
|
|
50
50
|
*/
|
|
51
51
|
tagIds?: Array<string>;
|
|
52
|
+
/**
|
|
53
|
+
* 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.
|
|
54
|
+
* @type {string}
|
|
55
|
+
* @memberof CreateUploadRequest
|
|
56
|
+
*/
|
|
57
|
+
workflowRunId?: string | null;
|
|
58
|
+
/**
|
|
59
|
+
* Workflow definition for workflow_run_id.
|
|
60
|
+
* @type {string}
|
|
61
|
+
* @memberof CreateUploadRequest
|
|
62
|
+
*/
|
|
63
|
+
workflowDefinitionId?: string | null;
|
|
64
|
+
/**
|
|
65
|
+
* 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.
|
|
66
|
+
* @type {string}
|
|
67
|
+
* @memberof CreateUploadRequest
|
|
68
|
+
*/
|
|
69
|
+
idempotencyKey?: string | null;
|
|
52
70
|
}
|
|
53
71
|
export const CreateUploadRequestPropertyValidationAttributesMap: {
|
|
54
72
|
[property: string]: {
|
|
@@ -94,6 +112,9 @@ export function CreateUploadRequestFromJSONTyped(json: any, ignoreDiscriminator:
|
|
|
94
112
|
'filename': json['filename'],
|
|
95
113
|
'sizeBytes': json['size_bytes'],
|
|
96
114
|
'tagIds': json['tag_ids'] == null ? undefined : json['tag_ids'],
|
|
115
|
+
'workflowRunId': json['workflow_run_id'] == null ? undefined : json['workflow_run_id'],
|
|
116
|
+
'workflowDefinitionId': json['workflow_definition_id'] == null ? undefined : json['workflow_definition_id'],
|
|
117
|
+
'idempotencyKey': json['idempotency_key'] == null ? undefined : json['idempotency_key'],
|
|
97
118
|
};
|
|
98
119
|
}
|
|
99
120
|
|
|
@@ -113,6 +134,9 @@ export function CreateUploadRequestToJSONTyped(value?: CreateUploadRequest | nul
|
|
|
113
134
|
'filename': value['filename'],
|
|
114
135
|
'size_bytes': value['sizeBytes'],
|
|
115
136
|
'tag_ids': value['tagIds'],
|
|
137
|
+
'workflow_run_id': value['workflowRunId'],
|
|
138
|
+
'workflow_definition_id': value['workflowDefinitionId'],
|
|
139
|
+
'idempotency_key': value['idempotencyKey'],
|
|
116
140
|
};
|
|
117
141
|
}
|
|
118
142
|
|
|
@@ -34,6 +34,13 @@ import {
|
|
|
34
34
|
InformationStatisticsToJSON,
|
|
35
35
|
InformationStatisticsToJSONTyped,
|
|
36
36
|
} from './InformationStatistics';
|
|
37
|
+
import type { EmailMetadata } from './EmailMetadata';
|
|
38
|
+
import {
|
|
39
|
+
EmailMetadataFromJSON,
|
|
40
|
+
EmailMetadataFromJSONTyped,
|
|
41
|
+
EmailMetadataToJSON,
|
|
42
|
+
EmailMetadataToJSONTyped,
|
|
43
|
+
} from './EmailMetadata';
|
|
37
44
|
|
|
38
45
|
/**
|
|
39
46
|
* Schema for document_version.system_metadata JSONB field.
|
|
@@ -134,6 +141,12 @@ export interface DocumentVersionMetadata {
|
|
|
134
141
|
* @memberof DocumentVersionMetadata
|
|
135
142
|
*/
|
|
136
143
|
segmentCount?: number | null;
|
|
144
|
+
/**
|
|
145
|
+
* Structured email headers; null for non-email documents
|
|
146
|
+
* @type {EmailMetadata}
|
|
147
|
+
* @memberof DocumentVersionMetadata
|
|
148
|
+
*/
|
|
149
|
+
email?: EmailMetadata | null;
|
|
137
150
|
/**
|
|
138
151
|
* Total formula cells in the workbook (XLSX only)
|
|
139
152
|
* @type {number}
|
|
@@ -256,6 +269,7 @@ export function DocumentVersionMetadataFromJSONTyped(json: any, ignoreDiscrimina
|
|
|
256
269
|
'durationMs': json['duration_ms'] == null ? undefined : json['duration_ms'],
|
|
257
270
|
'language': json['language'] == null ? undefined : json['language'],
|
|
258
271
|
'segmentCount': json['segment_count'] == null ? undefined : json['segment_count'],
|
|
272
|
+
'email': json['email'] == null ? undefined : EmailMetadataFromJSON(json['email']),
|
|
259
273
|
'totalFormulas': json['total_formulas'] == null ? undefined : json['total_formulas'],
|
|
260
274
|
'xlsxParseResultS3': json['xlsx_parse_result_s3'] == null ? undefined : json['xlsx_parse_result_s3'],
|
|
261
275
|
'xlsxNamedRanges': json['xlsx_named_ranges'] == null ? undefined : json['xlsx_named_ranges'],
|
|
@@ -296,6 +310,7 @@ export function DocumentVersionMetadataToJSONTyped(value?: DocumentVersionMetada
|
|
|
296
310
|
'duration_ms': value['durationMs'],
|
|
297
311
|
'language': value['language'],
|
|
298
312
|
'segment_count': value['segmentCount'],
|
|
313
|
+
'email': EmailMetadataToJSON(value['email']),
|
|
299
314
|
'total_formulas': value['totalFormulas'],
|
|
300
315
|
'xlsx_parse_result_s3': value['xlsxParseResultS3'],
|
|
301
316
|
'xlsx_named_ranges': value['xlsxNamedRanges'],
|
|
@@ -34,6 +34,13 @@ import {
|
|
|
34
34
|
InformationStatisticsToJSON,
|
|
35
35
|
InformationStatisticsToJSONTyped,
|
|
36
36
|
} from './InformationStatistics';
|
|
37
|
+
import type { EmailMetadata } from './EmailMetadata';
|
|
38
|
+
import {
|
|
39
|
+
EmailMetadataFromJSON,
|
|
40
|
+
EmailMetadataFromJSONTyped,
|
|
41
|
+
EmailMetadataToJSON,
|
|
42
|
+
EmailMetadataToJSONTyped,
|
|
43
|
+
} from './EmailMetadata';
|
|
37
44
|
|
|
38
45
|
/**
|
|
39
46
|
* Partial update schema for document version metadata.
|
|
@@ -146,6 +153,12 @@ export interface DocumentVersionMetadataUpdate {
|
|
|
146
153
|
* @memberof DocumentVersionMetadataUpdate
|
|
147
154
|
*/
|
|
148
155
|
segmentCount?: number | null;
|
|
156
|
+
/**
|
|
157
|
+
*
|
|
158
|
+
* @type {EmailMetadata}
|
|
159
|
+
* @memberof DocumentVersionMetadataUpdate
|
|
160
|
+
*/
|
|
161
|
+
email?: EmailMetadata | null;
|
|
149
162
|
/**
|
|
150
163
|
*
|
|
151
164
|
* @type {number}
|
|
@@ -265,6 +278,7 @@ export function DocumentVersionMetadataUpdateFromJSONTyped(json: any, ignoreDisc
|
|
|
265
278
|
'durationMs': json['duration_ms'] == null ? undefined : json['duration_ms'],
|
|
266
279
|
'language': json['language'] == null ? undefined : json['language'],
|
|
267
280
|
'segmentCount': json['segment_count'] == null ? undefined : json['segment_count'],
|
|
281
|
+
'email': json['email'] == null ? undefined : EmailMetadataFromJSON(json['email']),
|
|
268
282
|
'totalFormulas': json['total_formulas'] == null ? undefined : json['total_formulas'],
|
|
269
283
|
'xlsxParseResultS3': json['xlsx_parse_result_s3'] == null ? undefined : json['xlsx_parse_result_s3'],
|
|
270
284
|
'xlsxNamedRanges': json['xlsx_named_ranges'] == null ? undefined : json['xlsx_named_ranges'],
|
|
@@ -307,6 +321,7 @@ export function DocumentVersionMetadataUpdateToJSONTyped(value?: DocumentVersion
|
|
|
307
321
|
'duration_ms': value['durationMs'],
|
|
308
322
|
'language': value['language'],
|
|
309
323
|
'segment_count': value['segmentCount'],
|
|
324
|
+
'email': EmailMetadataToJSON(value['email']),
|
|
310
325
|
'total_formulas': value['totalFormulas'],
|
|
311
326
|
'xlsx_parse_result_s3': value['xlsxParseResultS3'],
|
|
312
327
|
'xlsx_named_ranges': value['xlsxNamedRanges'],
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* Knowledge Stack API
|
|
5
|
+
* 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.
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document: 0.1.0
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { mapValues } from '../runtime';
|
|
16
|
+
import type { EmailParty } from './EmailParty';
|
|
17
|
+
import {
|
|
18
|
+
EmailPartyFromJSON,
|
|
19
|
+
EmailPartyFromJSONTyped,
|
|
20
|
+
EmailPartyToJSON,
|
|
21
|
+
EmailPartyToJSONTyped,
|
|
22
|
+
} from './EmailParty';
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Structured headers of an ingested email (EMAIL document type only).
|
|
26
|
+
*
|
|
27
|
+
* Populated by ``document_preparation_activity`` from the same parse that
|
|
28
|
+
* renders the message body, so the stored metadata and the rendered document
|
|
29
|
+
* cannot disagree. Null on a multi-message archive: its messages are ingested
|
|
30
|
+
* as their own documents, and each carries its own block.
|
|
31
|
+
* @export
|
|
32
|
+
* @interface EmailMetadata
|
|
33
|
+
*/
|
|
34
|
+
export interface EmailMetadata {
|
|
35
|
+
/**
|
|
36
|
+
* Message subject
|
|
37
|
+
* @type {string}
|
|
38
|
+
* @memberof EmailMetadata
|
|
39
|
+
*/
|
|
40
|
+
subject?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Sender; null if unparseable
|
|
43
|
+
* @type {EmailParty}
|
|
44
|
+
* @memberof EmailMetadata
|
|
45
|
+
*/
|
|
46
|
+
sender?: EmailParty | null;
|
|
47
|
+
/**
|
|
48
|
+
* To recipients
|
|
49
|
+
* @type {Array<EmailParty>}
|
|
50
|
+
* @memberof EmailMetadata
|
|
51
|
+
*/
|
|
52
|
+
to?: Array<EmailParty>;
|
|
53
|
+
/**
|
|
54
|
+
* Cc recipients
|
|
55
|
+
* @type {Array<EmailParty>}
|
|
56
|
+
* @memberof EmailMetadata
|
|
57
|
+
*/
|
|
58
|
+
cc?: Array<EmailParty>;
|
|
59
|
+
/**
|
|
60
|
+
* 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.
|
|
61
|
+
* @type {Array<EmailParty>}
|
|
62
|
+
* @memberof EmailMetadata
|
|
63
|
+
*/
|
|
64
|
+
bcc?: Array<EmailParty>;
|
|
65
|
+
/**
|
|
66
|
+
* Date header, as written
|
|
67
|
+
* @type {string}
|
|
68
|
+
* @memberof EmailMetadata
|
|
69
|
+
*/
|
|
70
|
+
sentAt?: string;
|
|
71
|
+
/**
|
|
72
|
+
* RFC 5322 Message-ID
|
|
73
|
+
* @type {string}
|
|
74
|
+
* @memberof EmailMetadata
|
|
75
|
+
*/
|
|
76
|
+
messageId?: string;
|
|
77
|
+
/**
|
|
78
|
+
* Message-ID being replied to
|
|
79
|
+
* @type {string}
|
|
80
|
+
* @memberof EmailMetadata
|
|
81
|
+
*/
|
|
82
|
+
inReplyTo?: string;
|
|
83
|
+
/**
|
|
84
|
+
* Reply chain, oldest first
|
|
85
|
+
* @type {Array<string>}
|
|
86
|
+
* @memberof EmailMetadata
|
|
87
|
+
*/
|
|
88
|
+
references?: Array<string>;
|
|
89
|
+
/**
|
|
90
|
+
* Outlook PidTagConversationTopic (.msg only)
|
|
91
|
+
* @type {string}
|
|
92
|
+
* @memberof EmailMetadata
|
|
93
|
+
*/
|
|
94
|
+
conversationTopic?: string;
|
|
95
|
+
/**
|
|
96
|
+
* Message-ID that started the thread — the first References entry, or this message's own id. Group by this to reconstruct a thread.
|
|
97
|
+
* @type {string}
|
|
98
|
+
* @memberof EmailMetadata
|
|
99
|
+
*/
|
|
100
|
+
threadRootId?: string;
|
|
101
|
+
/**
|
|
102
|
+
* The verbatim header block, so a header this schema does not model stays recoverable without re-reading the source file.
|
|
103
|
+
* @type {string}
|
|
104
|
+
* @memberof EmailMetadata
|
|
105
|
+
*/
|
|
106
|
+
rawHeaders?: string;
|
|
107
|
+
}
|
|
108
|
+
export const EmailMetadataPropertyValidationAttributesMap: {
|
|
109
|
+
[property: string]: {
|
|
110
|
+
maxLength?: number,
|
|
111
|
+
minLength?: number,
|
|
112
|
+
pattern?: string,
|
|
113
|
+
maximum?: number,
|
|
114
|
+
exclusiveMaximum?: boolean,
|
|
115
|
+
minimum?: number,
|
|
116
|
+
exclusiveMinimum?: boolean,
|
|
117
|
+
multipleOf?: number,
|
|
118
|
+
maxItems?: number,
|
|
119
|
+
minItems?: number,
|
|
120
|
+
uniqueItems?: boolean
|
|
121
|
+
}
|
|
122
|
+
} = {
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Check if a given object implements the EmailMetadata interface.
|
|
128
|
+
*/
|
|
129
|
+
export function instanceOfEmailMetadata(value: object): value is EmailMetadata {
|
|
130
|
+
return true;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
export function EmailMetadataFromJSON(json: any): EmailMetadata {
|
|
134
|
+
return EmailMetadataFromJSONTyped(json, false);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
export function EmailMetadataFromJSONTyped(json: any, ignoreDiscriminator: boolean): EmailMetadata {
|
|
138
|
+
if (json == null) {
|
|
139
|
+
return json;
|
|
140
|
+
}
|
|
141
|
+
return {
|
|
142
|
+
|
|
143
|
+
'subject': json['subject'] == null ? undefined : json['subject'],
|
|
144
|
+
'sender': json['sender'] == null ? undefined : EmailPartyFromJSON(json['sender']),
|
|
145
|
+
'to': json['to'] == null ? undefined : ((json['to'] as Array<any>).map(EmailPartyFromJSON)),
|
|
146
|
+
'cc': json['cc'] == null ? undefined : ((json['cc'] as Array<any>).map(EmailPartyFromJSON)),
|
|
147
|
+
'bcc': json['bcc'] == null ? undefined : ((json['bcc'] as Array<any>).map(EmailPartyFromJSON)),
|
|
148
|
+
'sentAt': json['sent_at'] == null ? undefined : json['sent_at'],
|
|
149
|
+
'messageId': json['message_id'] == null ? undefined : json['message_id'],
|
|
150
|
+
'inReplyTo': json['in_reply_to'] == null ? undefined : json['in_reply_to'],
|
|
151
|
+
'references': json['references'] == null ? undefined : json['references'],
|
|
152
|
+
'conversationTopic': json['conversation_topic'] == null ? undefined : json['conversation_topic'],
|
|
153
|
+
'threadRootId': json['thread_root_id'] == null ? undefined : json['thread_root_id'],
|
|
154
|
+
'rawHeaders': json['raw_headers'] == null ? undefined : json['raw_headers'],
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
export function EmailMetadataToJSON(json: any): EmailMetadata {
|
|
159
|
+
return EmailMetadataToJSONTyped(json, false);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
export function EmailMetadataToJSONTyped(value?: EmailMetadata | null, ignoreDiscriminator: boolean = false): any {
|
|
163
|
+
if (value == null) {
|
|
164
|
+
return value;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
return {
|
|
168
|
+
|
|
169
|
+
'subject': value['subject'],
|
|
170
|
+
'sender': EmailPartyToJSON(value['sender']),
|
|
171
|
+
'to': value['to'] == null ? undefined : ((value['to'] as Array<any>).map(EmailPartyToJSON)),
|
|
172
|
+
'cc': value['cc'] == null ? undefined : ((value['cc'] as Array<any>).map(EmailPartyToJSON)),
|
|
173
|
+
'bcc': value['bcc'] == null ? undefined : ((value['bcc'] as Array<any>).map(EmailPartyToJSON)),
|
|
174
|
+
'sent_at': value['sentAt'],
|
|
175
|
+
'message_id': value['messageId'],
|
|
176
|
+
'in_reply_to': value['inReplyTo'],
|
|
177
|
+
'references': value['references'],
|
|
178
|
+
'conversation_topic': value['conversationTopic'],
|
|
179
|
+
'thread_root_id': value['threadRootId'],
|
|
180
|
+
'raw_headers': value['rawHeaders'],
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* Knowledge Stack API
|
|
5
|
+
* 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.
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document: 0.1.0
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { mapValues } from '../runtime';
|
|
16
|
+
/**
|
|
17
|
+
* One email participant.
|
|
18
|
+
* @export
|
|
19
|
+
* @interface EmailParty
|
|
20
|
+
*/
|
|
21
|
+
export interface EmailParty {
|
|
22
|
+
/**
|
|
23
|
+
* Display name; empty if unnamed
|
|
24
|
+
* @type {string}
|
|
25
|
+
* @memberof EmailParty
|
|
26
|
+
*/
|
|
27
|
+
name?: string;
|
|
28
|
+
/**
|
|
29
|
+
* Email address
|
|
30
|
+
* @type {string}
|
|
31
|
+
* @memberof EmailParty
|
|
32
|
+
*/
|
|
33
|
+
address: string;
|
|
34
|
+
}
|
|
35
|
+
export const EmailPartyPropertyValidationAttributesMap: {
|
|
36
|
+
[property: string]: {
|
|
37
|
+
maxLength?: number,
|
|
38
|
+
minLength?: number,
|
|
39
|
+
pattern?: string,
|
|
40
|
+
maximum?: number,
|
|
41
|
+
exclusiveMaximum?: boolean,
|
|
42
|
+
minimum?: number,
|
|
43
|
+
exclusiveMinimum?: boolean,
|
|
44
|
+
multipleOf?: number,
|
|
45
|
+
maxItems?: number,
|
|
46
|
+
minItems?: number,
|
|
47
|
+
uniqueItems?: boolean
|
|
48
|
+
}
|
|
49
|
+
} = {
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Check if a given object implements the EmailParty interface.
|
|
55
|
+
*/
|
|
56
|
+
export function instanceOfEmailParty(value: object): value is EmailParty {
|
|
57
|
+
if (!('address' in value) || value['address'] === undefined) return false;
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export function EmailPartyFromJSON(json: any): EmailParty {
|
|
62
|
+
return EmailPartyFromJSONTyped(json, false);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export function EmailPartyFromJSONTyped(json: any, ignoreDiscriminator: boolean): EmailParty {
|
|
66
|
+
if (json == null) {
|
|
67
|
+
return json;
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
|
|
71
|
+
'name': json['name'] == null ? undefined : json['name'],
|
|
72
|
+
'address': json['address'],
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export function EmailPartyToJSON(json: any): EmailParty {
|
|
77
|
+
return EmailPartyToJSONTyped(json, false);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export function EmailPartyToJSONTyped(value?: EmailParty | null, ignoreDiscriminator: boolean = false): any {
|
|
81
|
+
if (value == null) {
|
|
82
|
+
return value;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
return {
|
|
86
|
+
|
|
87
|
+
'name': value['name'],
|
|
88
|
+
'address': value['address'],
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
|
|
@@ -37,6 +37,24 @@ export interface IngestDocumentResponse {
|
|
|
37
37
|
* @memberof IngestDocumentResponse
|
|
38
38
|
*/
|
|
39
39
|
documentVersionId: string;
|
|
40
|
+
/**
|
|
41
|
+
* Folder created to hold this upload and its members. Set for email uploads, which always nest inside their own folder; null for every other type, which ingest directly into path_part_id.
|
|
42
|
+
* @type {string}
|
|
43
|
+
* @memberof IngestDocumentResponse
|
|
44
|
+
*/
|
|
45
|
+
folderId?: string | null;
|
|
46
|
+
/**
|
|
47
|
+
* Members found on an email upload, each becoming its own document beside the email: the attachments of a single message, or the messages of an .mbox archive (whose own attachments are then expanded one level deeper). Always 0 for non-email uploads. Null for a .pst, whose members are enumerated only by the worker fan-out — poll attachment_workflow_id for per-member outcomes.
|
|
48
|
+
* @type {number}
|
|
49
|
+
* @memberof IngestDocumentResponse
|
|
50
|
+
*/
|
|
51
|
+
attachmentCount?: number | null;
|
|
52
|
+
/**
|
|
53
|
+
* Fan-out workflow ingesting the members. Poll GET /v1/system-jobs/zip-ingestions/{id} for per-member outcomes. Null when the upload had no ingestible members.
|
|
54
|
+
* @type {string}
|
|
55
|
+
* @memberof IngestDocumentResponse
|
|
56
|
+
*/
|
|
57
|
+
attachmentWorkflowId?: string | null;
|
|
40
58
|
}
|
|
41
59
|
export const IngestDocumentResponsePropertyValidationAttributesMap: {
|
|
42
60
|
[property: string]: {
|
|
@@ -79,6 +97,9 @@ export function IngestDocumentResponseFromJSONTyped(json: any, ignoreDiscriminat
|
|
|
79
97
|
'workflowId': json['workflow_id'],
|
|
80
98
|
'documentId': json['document_id'],
|
|
81
99
|
'documentVersionId': json['document_version_id'],
|
|
100
|
+
'folderId': json['folder_id'] == null ? undefined : json['folder_id'],
|
|
101
|
+
'attachmentCount': json['attachment_count'] == null ? undefined : json['attachment_count'],
|
|
102
|
+
'attachmentWorkflowId': json['attachment_workflow_id'] == null ? undefined : json['attachment_workflow_id'],
|
|
82
103
|
};
|
|
83
104
|
}
|
|
84
105
|
|
|
@@ -96,6 +117,9 @@ export function IngestDocumentResponseToJSONTyped(value?: IngestDocumentResponse
|
|
|
96
117
|
'workflow_id': value['workflowId'],
|
|
97
118
|
'document_id': value['documentId'],
|
|
98
119
|
'document_version_id': value['documentVersionId'],
|
|
120
|
+
'folder_id': value['folderId'],
|
|
121
|
+
'attachment_count': value['attachmentCount'],
|
|
122
|
+
'attachment_workflow_id': value['attachmentWorkflowId'],
|
|
99
123
|
};
|
|
100
124
|
}
|
|
101
125
|
|
|
@@ -16,8 +16,9 @@ import { mapValues } from '../runtime';
|
|
|
16
16
|
/**
|
|
17
17
|
* One ASR segment's span inside a media chunk (media chunks only).
|
|
18
18
|
*
|
|
19
|
-
* Field names are deliberately compact — a media document stores hundreds
|
|
20
|
-
*
|
|
19
|
+
* Field names are deliberately compact — a media document stores hundreds of
|
|
20
|
+
* chunks x tens of spans each in ``chunk_metadata`` JSONB. Measured worst
|
|
21
|
+
* case is a 4-hour Mandarin recording: 175 chunks x ~33 spans, ~190 KB total.
|
|
21
22
|
* @export
|
|
22
23
|
* @interface SegmentSpan
|
|
23
24
|
*/
|
|
@@ -40,6 +41,12 @@ export interface SegmentSpan {
|
|
|
40
41
|
* @memberof SegmentSpan
|
|
41
42
|
*/
|
|
42
43
|
c: number;
|
|
44
|
+
/**
|
|
45
|
+
* Speaker label for this segment, 0-indexed within the recording. It identifies turns, not people — there is no voiceprint enrollment, so label 0 in one meeting is unrelated to label 0 in another. None when the ASR provider does not diarize.
|
|
46
|
+
* @type {number}
|
|
47
|
+
* @memberof SegmentSpan
|
|
48
|
+
*/
|
|
49
|
+
k?: number | null;
|
|
43
50
|
}
|
|
44
51
|
export const SegmentSpanPropertyValidationAttributesMap: {
|
|
45
52
|
[property: string]: {
|
|
@@ -82,6 +89,7 @@ export function SegmentSpanFromJSONTyped(json: any, ignoreDiscriminator: boolean
|
|
|
82
89
|
's': json['s'],
|
|
83
90
|
'e': json['e'],
|
|
84
91
|
'c': json['c'],
|
|
92
|
+
'k': json['k'] == null ? undefined : json['k'],
|
|
85
93
|
};
|
|
86
94
|
}
|
|
87
95
|
|
|
@@ -99,6 +107,7 @@ export function SegmentSpanToJSONTyped(value?: SegmentSpan | null, ignoreDiscrim
|
|
|
99
107
|
's': value['s'],
|
|
100
108
|
'e': value['e'],
|
|
101
109
|
'c': value['c'],
|
|
110
|
+
'k': value['k'],
|
|
102
111
|
};
|
|
103
112
|
}
|
|
104
113
|
|