@knowledge-stack/ksapi 1.156.1 → 1.158.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 (57) hide show
  1. package/.openapi-generator/FILES +2 -0
  2. package/README.md +3 -2
  3. package/dist/apis/DocumentVersionsApi.d.ts +2 -2
  4. package/dist/apis/DocumentsApi.d.ts +2 -2
  5. package/dist/esm/apis/DocumentVersionsApi.d.ts +2 -2
  6. package/dist/esm/apis/DocumentsApi.d.ts +2 -2
  7. package/dist/esm/models/ChunkMetadata.d.ts +7 -0
  8. package/dist/esm/models/ChunkMetadata.js +3 -0
  9. package/dist/esm/models/DocumentVersionMetadata.d.ts +6 -0
  10. package/dist/esm/models/DocumentVersionMetadata.js +2 -0
  11. package/dist/esm/models/DocumentVersionMetadataUpdate.d.ts +6 -0
  12. package/dist/esm/models/DocumentVersionMetadataUpdate.js +2 -0
  13. package/dist/esm/models/DownloadArtifact.d.ts +1 -0
  14. package/dist/esm/models/DownloadArtifact.js +2 -1
  15. package/dist/esm/models/SegmentSpan.d.ts +62 -0
  16. package/dist/esm/models/SegmentSpan.js +52 -0
  17. package/dist/esm/models/UploadConstraints.d.ts +12 -0
  18. package/dist/esm/models/UploadConstraints.js +8 -0
  19. package/dist/esm/models/UserMessageRequest.d.ts +6 -0
  20. package/dist/esm/models/UserMessageRequest.js +2 -0
  21. package/dist/esm/models/index.d.ts +1 -0
  22. package/dist/esm/models/index.js +1 -0
  23. package/dist/models/ChunkMetadata.d.ts +7 -0
  24. package/dist/models/ChunkMetadata.js +3 -0
  25. package/dist/models/DocumentVersionMetadata.d.ts +6 -0
  26. package/dist/models/DocumentVersionMetadata.js +2 -0
  27. package/dist/models/DocumentVersionMetadataUpdate.d.ts +6 -0
  28. package/dist/models/DocumentVersionMetadataUpdate.js +2 -0
  29. package/dist/models/DownloadArtifact.d.ts +1 -0
  30. package/dist/models/DownloadArtifact.js +2 -1
  31. package/dist/models/SegmentSpan.d.ts +62 -0
  32. package/dist/models/SegmentSpan.js +60 -0
  33. package/dist/models/UploadConstraints.d.ts +12 -0
  34. package/dist/models/UploadConstraints.js +8 -0
  35. package/dist/models/UserMessageRequest.d.ts +6 -0
  36. package/dist/models/UserMessageRequest.js +2 -0
  37. package/dist/models/index.d.ts +1 -0
  38. package/dist/models/index.js +1 -0
  39. package/docs/ChunkMetadata.md +2 -0
  40. package/docs/DocumentVersionMetadata.md +2 -0
  41. package/docs/DocumentVersionMetadataUpdate.md +2 -0
  42. package/docs/DocumentVersionsApi.md +2 -2
  43. package/docs/DocumentsApi.md +2 -2
  44. package/docs/SegmentSpan.md +39 -0
  45. package/docs/UploadConstraints.md +4 -0
  46. package/docs/UserMessageRequest.md +2 -0
  47. package/package.json +1 -1
  48. package/src/apis/DocumentVersionsApi.ts +2 -2
  49. package/src/apis/DocumentsApi.ts +2 -2
  50. package/src/models/ChunkMetadata.ts +15 -0
  51. package/src/models/DocumentVersionMetadata.ts +8 -0
  52. package/src/models/DocumentVersionMetadataUpdate.ts +8 -0
  53. package/src/models/DownloadArtifact.ts +2 -1
  54. package/src/models/SegmentSpan.ts +104 -0
  55. package/src/models/UploadConstraints.ts +18 -0
  56. package/src/models/UserMessageRequest.ts +8 -0
  57. package/src/models/index.ts +1 -0
@@ -295,6 +295,7 @@ docs/SectionContentItemOrChunkContentItem.md
295
295
  docs/SectionResponse.md
296
296
  docs/SectionSystemMetadata.md
297
297
  docs/SectionsApi.md
298
+ docs/SegmentSpan.md
298
299
  docs/SendPasswordResetRequest.md
299
300
  docs/SetApprovalStateRequest.md
300
301
  docs/SetWorkflowRunApprovalRequest.md
@@ -733,6 +734,7 @@ src/models/SectionContentItem.ts
733
734
  src/models/SectionContentItemOrChunkContentItem.ts
734
735
  src/models/SectionResponse.ts
735
736
  src/models/SectionSystemMetadata.ts
737
+ src/models/SegmentSpan.ts
736
738
  src/models/SendPasswordResetRequest.ts
737
739
  src/models/SetApprovalStateRequest.ts
738
740
  src/models/SetWorkflowRunApprovalRequest.ts
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # @knowledge-stack/ksapi@1.156.1
1
+ # @knowledge-stack/ksapi@1.158.0
2
2
 
3
3
  A TypeScript SDK client for the localhost API.
4
4
 
@@ -569,6 +569,7 @@ All URIs are relative to *http://localhost:8000*
569
569
  - [SectionContentItemOrChunkContentItem](docs/SectionContentItemOrChunkContentItem.md)
570
570
  - [SectionResponse](docs/SectionResponse.md)
571
571
  - [SectionSystemMetadata](docs/SectionSystemMetadata.md)
572
+ - [SegmentSpan](docs/SegmentSpan.md)
572
573
  - [SendPasswordResetRequest](docs/SendPasswordResetRequest.md)
573
574
  - [SetApprovalStateRequest](docs/SetApprovalStateRequest.md)
574
575
  - [SetWorkflowRunApprovalRequest](docs/SetWorkflowRunApprovalRequest.md)
@@ -708,7 +709,7 @@ and is automatically generated by the
708
709
  [OpenAPI Generator](https://openapi-generator.tech) project:
709
710
 
710
711
  - API version: `0.1.0`
711
- - Package version: `1.156.1`
712
+ - Package version: `1.158.0`
712
713
  - Generator version: `7.21.0`
713
714
  - Build package: `org.openapitools.codegen.languages.TypeScriptFetchClientCodegen`
714
715
 
@@ -182,7 +182,7 @@ export interface DocumentVersionsApiInterface {
182
182
  /**
183
183
  * Creates request options for downloadDocumentVersion without sending the request
184
184
  * @param {string} versionId DocumentVersion ID
185
- * @param {DownloadArtifact} [artifact] Artifact to download: source or fast_plaintext
185
+ * @param {DownloadArtifact} [artifact] Artifact to download: source, fast_plaintext, or transcript (media only)
186
186
  * @throws {RequiredError}
187
187
  * @memberof DocumentVersionsApiInterface
188
188
  */
@@ -191,7 +191,7 @@ export interface DocumentVersionsApiInterface {
191
191
  * Issue a short-lived, audited download link for a specific version. Records a ``document.downloaded`` audit event anchored to the document so the customer audit log captures who downloaded which version and when.
192
192
  * @summary Download Document Version Handler
193
193
  * @param {string} versionId DocumentVersion ID
194
- * @param {DownloadArtifact} [artifact] Artifact to download: source or fast_plaintext
194
+ * @param {DownloadArtifact} [artifact] Artifact to download: source, fast_plaintext, or transcript (media only)
195
195
  * @param {*} [options] Override http request option.
196
196
  * @throws {RequiredError}
197
197
  * @memberof DocumentVersionsApiInterface
@@ -204,7 +204,7 @@ export interface DocumentsApiInterface {
204
204
  /**
205
205
  * Creates request options for downloadDocument without sending the request
206
206
  * @param {string} documentId
207
- * @param {DownloadArtifact} [artifact] Artifact to download: source or fast_plaintext
207
+ * @param {DownloadArtifact} [artifact] Artifact to download: source, fast_plaintext, or transcript (media only)
208
208
  * @throws {RequiredError}
209
209
  * @memberof DocumentsApiInterface
210
210
  */
@@ -213,7 +213,7 @@ export interface DocumentsApiInterface {
213
213
  * Issue a short-lived, audited download link for a document\'s active version. Records a ``document.downloaded`` audit event so the customer audit log captures who downloaded which document/version and when.
214
214
  * @summary Download Document Handler
215
215
  * @param {string} documentId
216
- * @param {DownloadArtifact} [artifact] Artifact to download: source or fast_plaintext
216
+ * @param {DownloadArtifact} [artifact] Artifact to download: source, fast_plaintext, or transcript (media only)
217
217
  * @param {*} [options] Override http request option.
218
218
  * @throws {RequiredError}
219
219
  * @memberof DocumentsApiInterface
@@ -182,7 +182,7 @@ export interface DocumentVersionsApiInterface {
182
182
  /**
183
183
  * Creates request options for downloadDocumentVersion without sending the request
184
184
  * @param {string} versionId DocumentVersion ID
185
- * @param {DownloadArtifact} [artifact] Artifact to download: source or fast_plaintext
185
+ * @param {DownloadArtifact} [artifact] Artifact to download: source, fast_plaintext, or transcript (media only)
186
186
  * @throws {RequiredError}
187
187
  * @memberof DocumentVersionsApiInterface
188
188
  */
@@ -191,7 +191,7 @@ export interface DocumentVersionsApiInterface {
191
191
  * Issue a short-lived, audited download link for a specific version. Records a ``document.downloaded`` audit event anchored to the document so the customer audit log captures who downloaded which version and when.
192
192
  * @summary Download Document Version Handler
193
193
  * @param {string} versionId DocumentVersion ID
194
- * @param {DownloadArtifact} [artifact] Artifact to download: source or fast_plaintext
194
+ * @param {DownloadArtifact} [artifact] Artifact to download: source, fast_plaintext, or transcript (media only)
195
195
  * @param {*} [options] Override http request option.
196
196
  * @throws {RequiredError}
197
197
  * @memberof DocumentVersionsApiInterface
@@ -204,7 +204,7 @@ export interface DocumentsApiInterface {
204
204
  /**
205
205
  * Creates request options for downloadDocument without sending the request
206
206
  * @param {string} documentId
207
- * @param {DownloadArtifact} [artifact] Artifact to download: source or fast_plaintext
207
+ * @param {DownloadArtifact} [artifact] Artifact to download: source, fast_plaintext, or transcript (media only)
208
208
  * @throws {RequiredError}
209
209
  * @memberof DocumentsApiInterface
210
210
  */
@@ -213,7 +213,7 @@ export interface DocumentsApiInterface {
213
213
  * Issue a short-lived, audited download link for a document\'s active version. Records a ``document.downloaded`` audit event so the customer audit log captures who downloaded which document/version and when.
214
214
  * @summary Download Document Handler
215
215
  * @param {string} documentId
216
- * @param {DownloadArtifact} [artifact] Artifact to download: source or fast_plaintext
216
+ * @param {DownloadArtifact} [artifact] Artifact to download: source, fast_plaintext, or transcript (media only)
217
217
  * @param {*} [options] Override http request option.
218
218
  * @throws {RequiredError}
219
219
  * @memberof DocumentsApiInterface
@@ -9,6 +9,7 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import type { SegmentSpan } from './SegmentSpan';
12
13
  import type { ImageTaxonomy } from './ImageTaxonomy';
13
14
  import type { PolygonReference } from './PolygonReference';
14
15
  /**
@@ -65,6 +66,12 @@ export interface ChunkMetadata {
65
66
  * @memberof ChunkMetadata
66
67
  */
67
68
  endMs?: number | null;
69
+ /**
70
+ * 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
+ * @type {Array<SegmentSpan>}
72
+ * @memberof ChunkMetadata
73
+ */
74
+ segments?: Array<SegmentSpan> | null;
68
75
  /**
69
76
  * Worksheet name this chunk was extracted from (XLSX only)
70
77
  * @type {string}
@@ -11,6 +11,7 @@
11
11
  * https://openapi-generator.tech
12
12
  * Do not edit the class manually.
13
13
  */
14
+ import { SegmentSpanFromJSON, SegmentSpanToJSON, } from './SegmentSpan';
14
15
  import { ImageTaxonomyFromJSON, ImageTaxonomyToJSON, } from './ImageTaxonomy';
15
16
  import { PolygonReferenceFromJSON, PolygonReferenceToJSON, } from './PolygonReference';
16
17
  export const ChunkMetadataPropertyValidationAttributesMap = {};
@@ -36,6 +37,7 @@ export function ChunkMetadataFromJSONTyped(json, ignoreDiscriminator) {
36
37
  'secondaryTaxonomy': json['secondary_taxonomy'] == null ? undefined : ImageTaxonomyFromJSON(json['secondary_taxonomy']),
37
38
  'startMs': json['start_ms'] == null ? undefined : json['start_ms'],
38
39
  'endMs': json['end_ms'] == null ? undefined : json['end_ms'],
40
+ 'segments': json['segments'] == null ? undefined : (json['segments'].map(SegmentSpanFromJSON)),
39
41
  'sheetName': json['sheet_name'] == null ? undefined : json['sheet_name'],
40
42
  'blockType': json['block_type'] == null ? undefined : json['block_type'],
41
43
  'sourceUri': json['source_uri'] == null ? undefined : json['source_uri'],
@@ -63,6 +65,7 @@ export function ChunkMetadataToJSONTyped(value, ignoreDiscriminator = false) {
63
65
  'secondary_taxonomy': ImageTaxonomyToJSON(value['secondaryTaxonomy']),
64
66
  'start_ms': value['startMs'],
65
67
  'end_ms': value['endMs'],
68
+ 'segments': value['segments'] == null ? undefined : (value['segments'].map(SegmentSpanToJSON)),
66
69
  'sheet_name': value['sheetName'],
67
70
  'block_type': value['blockType'],
68
71
  'source_uri': value['sourceUri'],
@@ -163,6 +163,12 @@ export interface DocumentVersionMetadata {
163
163
  * @memberof DocumentVersionMetadata
164
164
  */
165
165
  quotaPageCount?: number;
166
+ /**
167
+ * MEDIA_MINUTE quantity charged at media preparation; 0 if not yet charged
168
+ * @type {number}
169
+ * @memberof DocumentVersionMetadata
170
+ */
171
+ quotaMediaMinutes?: number;
166
172
  /**
167
173
  * Stable consume key (matches workflow_id); 'UNSET' for pre-Phase-2 docs so refund logic short-circuits
168
174
  * @type {string}
@@ -51,6 +51,7 @@ export function DocumentVersionMetadataFromJSONTyped(json, ignoreDiscriminator)
51
51
  'informationStatistics': json['information_statistics'] == null ? undefined : InformationStatisticsFromJSON(json['information_statistics']),
52
52
  'quotaCharged': json['quota_charged'] == null ? undefined : json['quota_charged'],
53
53
  'quotaPageCount': json['quota_page_count'] == null ? undefined : json['quota_page_count'],
54
+ 'quotaMediaMinutes': json['quota_media_minutes'] == null ? undefined : json['quota_media_minutes'],
54
55
  'quotaIdempotencyKey': json['quota_idempotency_key'] == null ? undefined : json['quota_idempotency_key'],
55
56
  'fileMd5': json['file_md5'] == null ? undefined : json['file_md5'],
56
57
  'idempotencyKey': json['idempotency_key'] == null ? undefined : json['idempotency_key'],
@@ -86,6 +87,7 @@ export function DocumentVersionMetadataToJSONTyped(value, ignoreDiscriminator =
86
87
  'information_statistics': InformationStatisticsToJSON(value['informationStatistics']),
87
88
  'quota_charged': value['quotaCharged'],
88
89
  'quota_page_count': value['quotaPageCount'],
90
+ 'quota_media_minutes': value['quotaMediaMinutes'],
89
91
  'quota_idempotency_key': value['quotaIdempotencyKey'],
90
92
  'file_md5': value['fileMd5'],
91
93
  'idempotency_key': value['idempotencyKey'],
@@ -175,6 +175,12 @@ export interface DocumentVersionMetadataUpdate {
175
175
  * @memberof DocumentVersionMetadataUpdate
176
176
  */
177
177
  quotaPageCount?: number | null;
178
+ /**
179
+ *
180
+ * @type {number}
181
+ * @memberof DocumentVersionMetadataUpdate
182
+ */
183
+ quotaMediaMinutes?: number | null;
178
184
  /**
179
185
  *
180
186
  * @type {string}
@@ -54,6 +54,7 @@ export function DocumentVersionMetadataUpdateFromJSONTyped(json, ignoreDiscrimin
54
54
  'informationStatistics': json['information_statistics'] == null ? undefined : InformationStatisticsFromJSON(json['information_statistics']),
55
55
  'quotaCharged': json['quota_charged'] == null ? undefined : json['quota_charged'],
56
56
  'quotaPageCount': json['quota_page_count'] == null ? undefined : json['quota_page_count'],
57
+ 'quotaMediaMinutes': json['quota_media_minutes'] == null ? undefined : json['quota_media_minutes'],
57
58
  'quotaIdempotencyKey': json['quota_idempotency_key'] == null ? undefined : json['quota_idempotency_key'],
58
59
  'fileMd5': json['file_md5'] == null ? undefined : json['file_md5'],
59
60
  };
@@ -91,6 +92,7 @@ export function DocumentVersionMetadataUpdateToJSONTyped(value, ignoreDiscrimina
91
92
  'information_statistics': InformationStatisticsToJSON(value['informationStatistics']),
92
93
  'quota_charged': value['quotaCharged'],
93
94
  'quota_page_count': value['quotaPageCount'],
95
+ 'quota_media_minutes': value['quotaMediaMinutes'],
94
96
  'quota_idempotency_key': value['quotaIdempotencyKey'],
95
97
  'file_md5': value['fileMd5'],
96
98
  };
@@ -16,6 +16,7 @@
16
16
  export declare const DownloadArtifact: {
17
17
  readonly Source: 'source';
18
18
  readonly FastPlaintext: 'fast_plaintext';
19
+ readonly Transcript: 'transcript';
19
20
  };
20
21
  export type DownloadArtifact = typeof DownloadArtifact[keyof typeof DownloadArtifact];
21
22
  export declare function instanceOfDownloadArtifact(value: any): boolean;
@@ -17,7 +17,8 @@
17
17
  */
18
18
  export const DownloadArtifact = {
19
19
  Source: 'source',
20
- FastPlaintext: 'fast_plaintext'
20
+ FastPlaintext: 'fast_plaintext',
21
+ Transcript: 'transcript'
21
22
  };
22
23
  export function instanceOfDownloadArtifact(value) {
23
24
  for (const key in DownloadArtifact) {
@@ -0,0 +1,62 @@
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
+ /**
13
+ * One ASR segment's span inside a media chunk (media chunks only).
14
+ *
15
+ * Field names are deliberately compact — a media document stores hundreds
16
+ * of chunks x up to ~15 spans each in ``chunk_metadata`` JSONB.
17
+ * @export
18
+ * @interface SegmentSpan
19
+ */
20
+ export interface SegmentSpan {
21
+ /**
22
+ * Segment start in the media, ms from start.
23
+ * @type {number}
24
+ * @memberof SegmentSpan
25
+ */
26
+ s: number;
27
+ /**
28
+ * Segment end in the media, ms from start.
29
+ * @type {number}
30
+ * @memberof SegmentSpan
31
+ */
32
+ e: number;
33
+ /**
34
+ * Character offset of this segment's text within the chunk's joined content — maps a position in the chunk text back to a moment in the recording.
35
+ * @type {number}
36
+ * @memberof SegmentSpan
37
+ */
38
+ c: number;
39
+ }
40
+ export declare const SegmentSpanPropertyValidationAttributesMap: {
41
+ [property: string]: {
42
+ maxLength?: number;
43
+ minLength?: number;
44
+ pattern?: string;
45
+ maximum?: number;
46
+ exclusiveMaximum?: boolean;
47
+ minimum?: number;
48
+ exclusiveMinimum?: boolean;
49
+ multipleOf?: number;
50
+ maxItems?: number;
51
+ minItems?: number;
52
+ uniqueItems?: boolean;
53
+ };
54
+ };
55
+ /**
56
+ * Check if a given object implements the SegmentSpan interface.
57
+ */
58
+ export declare function instanceOfSegmentSpan(value: object): value is SegmentSpan;
59
+ export declare function SegmentSpanFromJSON(json: any): SegmentSpan;
60
+ export declare function SegmentSpanFromJSONTyped(json: any, ignoreDiscriminator: boolean): SegmentSpan;
61
+ export declare function SegmentSpanToJSON(json: any): SegmentSpan;
62
+ export declare function SegmentSpanToJSONTyped(value?: SegmentSpan | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,52 @@
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
+ export const SegmentSpanPropertyValidationAttributesMap = {};
15
+ /**
16
+ * Check if a given object implements the SegmentSpan interface.
17
+ */
18
+ export function instanceOfSegmentSpan(value) {
19
+ if (!('s' in value) || value['s'] === undefined)
20
+ return false;
21
+ if (!('e' in value) || value['e'] === undefined)
22
+ return false;
23
+ if (!('c' in value) || value['c'] === undefined)
24
+ return false;
25
+ return true;
26
+ }
27
+ export function SegmentSpanFromJSON(json) {
28
+ return SegmentSpanFromJSONTyped(json, false);
29
+ }
30
+ export function SegmentSpanFromJSONTyped(json, ignoreDiscriminator) {
31
+ if (json == null) {
32
+ return json;
33
+ }
34
+ return {
35
+ 's': json['s'],
36
+ 'e': json['e'],
37
+ 'c': json['c'],
38
+ };
39
+ }
40
+ export function SegmentSpanToJSON(json) {
41
+ return SegmentSpanToJSONTyped(json, false);
42
+ }
43
+ export function SegmentSpanToJSONTyped(value, ignoreDiscriminator = false) {
44
+ if (value == null) {
45
+ return value;
46
+ }
47
+ return {
48
+ 's': value['s'],
49
+ 'e': value['e'],
50
+ 'c': value['c'],
51
+ };
52
+ }
@@ -34,6 +34,18 @@ export interface UploadConstraints {
34
34
  * @memberof UploadConstraints
35
35
  */
36
36
  maxImageBytes: number;
37
+ /**
38
+ *
39
+ * @type {number}
40
+ * @memberof UploadConstraints
41
+ */
42
+ maxMediaBytes: number;
43
+ /**
44
+ *
45
+ * @type {number}
46
+ * @memberof UploadConstraints
47
+ */
48
+ maxVideoBytes: number;
37
49
  }
38
50
  export declare const UploadConstraintsPropertyValidationAttributesMap: {
39
51
  [property: string]: {
@@ -23,6 +23,10 @@ export function instanceOfUploadConstraints(value) {
23
23
  return false;
24
24
  if (!('maxImageBytes' in value) || value['maxImageBytes'] === undefined)
25
25
  return false;
26
+ if (!('maxMediaBytes' in value) || value['maxMediaBytes'] === undefined)
27
+ return false;
28
+ if (!('maxVideoBytes' in value) || value['maxVideoBytes'] === undefined)
29
+ return false;
26
30
  return true;
27
31
  }
28
32
  export function UploadConstraintsFromJSON(json) {
@@ -36,6 +40,8 @@ export function UploadConstraintsFromJSONTyped(json, ignoreDiscriminator) {
36
40
  'formats': (json['formats'].map(UploadFormatFromJSON)),
37
41
  'maxBytes': json['max_bytes'],
38
42
  'maxImageBytes': json['max_image_bytes'],
43
+ 'maxMediaBytes': json['max_media_bytes'],
44
+ 'maxVideoBytes': json['max_video_bytes'],
39
45
  };
40
46
  }
41
47
  export function UploadConstraintsToJSON(json) {
@@ -49,5 +55,7 @@ export function UploadConstraintsToJSONTyped(value, ignoreDiscriminator = false)
49
55
  'formats': (value['formats'].map(UploadFormatToJSON)),
50
56
  'max_bytes': value['maxBytes'],
51
57
  'max_image_bytes': value['maxImageBytes'],
58
+ 'max_media_bytes': value['maxMediaBytes'],
59
+ 'max_video_bytes': value['maxVideoBytes'],
52
60
  };
53
61
  }
@@ -21,6 +21,12 @@ export interface UserMessageRequest {
21
21
  * @memberof UserMessageRequest
22
22
  */
23
23
  inputText?: string;
24
+ /**
25
+ * Answer with the faster, lower-cost chat profile. Ignored when the tenant pins a chat profile and on workflow-run threads.
26
+ * @type {boolean}
27
+ * @memberof UserMessageRequest
28
+ */
29
+ fastMode?: boolean;
24
30
  }
25
31
  export declare const UserMessageRequestPropertyValidationAttributesMap: {
26
32
  [property: string]: {
@@ -27,6 +27,7 @@ export function UserMessageRequestFromJSONTyped(json, ignoreDiscriminator) {
27
27
  }
28
28
  return {
29
29
  'inputText': json['input_text'] == null ? undefined : json['input_text'],
30
+ 'fastMode': json['fast_mode'] == null ? undefined : json['fast_mode'],
30
31
  };
31
32
  }
32
33
  export function UserMessageRequestToJSON(json) {
@@ -38,5 +39,6 @@ export function UserMessageRequestToJSONTyped(value, ignoreDiscriminator = false
38
39
  }
39
40
  return {
40
41
  'input_text': value['inputText'],
42
+ 'fast_mode': value['fastMode'],
41
43
  };
42
44
  }
@@ -265,6 +265,7 @@ export * from './SectionContentItem';
265
265
  export * from './SectionContentItemOrChunkContentItem';
266
266
  export * from './SectionResponse';
267
267
  export * from './SectionSystemMetadata';
268
+ export * from './SegmentSpan';
268
269
  export * from './SendPasswordResetRequest';
269
270
  export * from './SetApprovalStateRequest';
270
271
  export * from './SetWorkflowRunApprovalRequest';
@@ -267,6 +267,7 @@ export * from './SectionContentItem';
267
267
  export * from './SectionContentItemOrChunkContentItem';
268
268
  export * from './SectionResponse';
269
269
  export * from './SectionSystemMetadata';
270
+ export * from './SegmentSpan';
270
271
  export * from './SendPasswordResetRequest';
271
272
  export * from './SetApprovalStateRequest';
272
273
  export * from './SetWorkflowRunApprovalRequest';
@@ -9,6 +9,7 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import type { SegmentSpan } from './SegmentSpan';
12
13
  import type { ImageTaxonomy } from './ImageTaxonomy';
13
14
  import type { PolygonReference } from './PolygonReference';
14
15
  /**
@@ -65,6 +66,12 @@ export interface ChunkMetadata {
65
66
  * @memberof ChunkMetadata
66
67
  */
67
68
  endMs?: number | null;
69
+ /**
70
+ * 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
+ * @type {Array<SegmentSpan>}
72
+ * @memberof ChunkMetadata
73
+ */
74
+ segments?: Array<SegmentSpan> | null;
68
75
  /**
69
76
  * Worksheet name this chunk was extracted from (XLSX only)
70
77
  * @type {string}
@@ -19,6 +19,7 @@ exports.ChunkMetadataFromJSON = ChunkMetadataFromJSON;
19
19
  exports.ChunkMetadataFromJSONTyped = ChunkMetadataFromJSONTyped;
20
20
  exports.ChunkMetadataToJSON = ChunkMetadataToJSON;
21
21
  exports.ChunkMetadataToJSONTyped = ChunkMetadataToJSONTyped;
22
+ const SegmentSpan_1 = require("./SegmentSpan");
22
23
  const ImageTaxonomy_1 = require("./ImageTaxonomy");
23
24
  const PolygonReference_1 = require("./PolygonReference");
24
25
  exports.ChunkMetadataPropertyValidationAttributesMap = {};
@@ -44,6 +45,7 @@ function ChunkMetadataFromJSONTyped(json, ignoreDiscriminator) {
44
45
  'secondaryTaxonomy': json['secondary_taxonomy'] == null ? undefined : (0, ImageTaxonomy_1.ImageTaxonomyFromJSON)(json['secondary_taxonomy']),
45
46
  'startMs': json['start_ms'] == null ? undefined : json['start_ms'],
46
47
  'endMs': json['end_ms'] == null ? undefined : json['end_ms'],
48
+ 'segments': json['segments'] == null ? undefined : (json['segments'].map(SegmentSpan_1.SegmentSpanFromJSON)),
47
49
  'sheetName': json['sheet_name'] == null ? undefined : json['sheet_name'],
48
50
  'blockType': json['block_type'] == null ? undefined : json['block_type'],
49
51
  'sourceUri': json['source_uri'] == null ? undefined : json['source_uri'],
@@ -71,6 +73,7 @@ function ChunkMetadataToJSONTyped(value, ignoreDiscriminator = false) {
71
73
  'secondary_taxonomy': (0, ImageTaxonomy_1.ImageTaxonomyToJSON)(value['secondaryTaxonomy']),
72
74
  'start_ms': value['startMs'],
73
75
  'end_ms': value['endMs'],
76
+ 'segments': value['segments'] == null ? undefined : (value['segments'].map(SegmentSpan_1.SegmentSpanToJSON)),
74
77
  'sheet_name': value['sheetName'],
75
78
  'block_type': value['blockType'],
76
79
  'source_uri': value['sourceUri'],
@@ -163,6 +163,12 @@ export interface DocumentVersionMetadata {
163
163
  * @memberof DocumentVersionMetadata
164
164
  */
165
165
  quotaPageCount?: number;
166
+ /**
167
+ * MEDIA_MINUTE quantity charged at media preparation; 0 if not yet charged
168
+ * @type {number}
169
+ * @memberof DocumentVersionMetadata
170
+ */
171
+ quotaMediaMinutes?: number;
166
172
  /**
167
173
  * Stable consume key (matches workflow_id); 'UNSET' for pre-Phase-2 docs so refund logic short-circuits
168
174
  * @type {string}
@@ -59,6 +59,7 @@ function DocumentVersionMetadataFromJSONTyped(json, ignoreDiscriminator) {
59
59
  'informationStatistics': json['information_statistics'] == null ? undefined : (0, InformationStatistics_1.InformationStatisticsFromJSON)(json['information_statistics']),
60
60
  'quotaCharged': json['quota_charged'] == null ? undefined : json['quota_charged'],
61
61
  'quotaPageCount': json['quota_page_count'] == null ? undefined : json['quota_page_count'],
62
+ 'quotaMediaMinutes': json['quota_media_minutes'] == null ? undefined : json['quota_media_minutes'],
62
63
  'quotaIdempotencyKey': json['quota_idempotency_key'] == null ? undefined : json['quota_idempotency_key'],
63
64
  'fileMd5': json['file_md5'] == null ? undefined : json['file_md5'],
64
65
  'idempotencyKey': json['idempotency_key'] == null ? undefined : json['idempotency_key'],
@@ -94,6 +95,7 @@ function DocumentVersionMetadataToJSONTyped(value, ignoreDiscriminator = false)
94
95
  'information_statistics': (0, InformationStatistics_1.InformationStatisticsToJSON)(value['informationStatistics']),
95
96
  'quota_charged': value['quotaCharged'],
96
97
  'quota_page_count': value['quotaPageCount'],
98
+ 'quota_media_minutes': value['quotaMediaMinutes'],
97
99
  'quota_idempotency_key': value['quotaIdempotencyKey'],
98
100
  'file_md5': value['fileMd5'],
99
101
  'idempotency_key': value['idempotencyKey'],
@@ -175,6 +175,12 @@ export interface DocumentVersionMetadataUpdate {
175
175
  * @memberof DocumentVersionMetadataUpdate
176
176
  */
177
177
  quotaPageCount?: number | null;
178
+ /**
179
+ *
180
+ * @type {number}
181
+ * @memberof DocumentVersionMetadataUpdate
182
+ */
183
+ quotaMediaMinutes?: number | null;
178
184
  /**
179
185
  *
180
186
  * @type {string}
@@ -62,6 +62,7 @@ function DocumentVersionMetadataUpdateFromJSONTyped(json, ignoreDiscriminator) {
62
62
  'informationStatistics': json['information_statistics'] == null ? undefined : (0, InformationStatistics_1.InformationStatisticsFromJSON)(json['information_statistics']),
63
63
  'quotaCharged': json['quota_charged'] == null ? undefined : json['quota_charged'],
64
64
  'quotaPageCount': json['quota_page_count'] == null ? undefined : json['quota_page_count'],
65
+ 'quotaMediaMinutes': json['quota_media_minutes'] == null ? undefined : json['quota_media_minutes'],
65
66
  'quotaIdempotencyKey': json['quota_idempotency_key'] == null ? undefined : json['quota_idempotency_key'],
66
67
  'fileMd5': json['file_md5'] == null ? undefined : json['file_md5'],
67
68
  };
@@ -99,6 +100,7 @@ function DocumentVersionMetadataUpdateToJSONTyped(value, ignoreDiscriminator = f
99
100
  'information_statistics': (0, InformationStatistics_1.InformationStatisticsToJSON)(value['informationStatistics']),
100
101
  'quota_charged': value['quotaCharged'],
101
102
  'quota_page_count': value['quotaPageCount'],
103
+ 'quota_media_minutes': value['quotaMediaMinutes'],
102
104
  'quota_idempotency_key': value['quotaIdempotencyKey'],
103
105
  'file_md5': value['fileMd5'],
104
106
  };
@@ -16,6 +16,7 @@
16
16
  export declare const DownloadArtifact: {
17
17
  readonly Source: 'source';
18
18
  readonly FastPlaintext: 'fast_plaintext';
19
+ readonly Transcript: 'transcript';
19
20
  };
20
21
  export type DownloadArtifact = typeof DownloadArtifact[keyof typeof DownloadArtifact];
21
22
  export declare function instanceOfDownloadArtifact(value: any): boolean;
@@ -25,7 +25,8 @@ exports.DownloadArtifactToJSONTyped = DownloadArtifactToJSONTyped;
25
25
  */
26
26
  exports.DownloadArtifact = {
27
27
  Source: 'source',
28
- FastPlaintext: 'fast_plaintext'
28
+ FastPlaintext: 'fast_plaintext',
29
+ Transcript: 'transcript'
29
30
  };
30
31
  function instanceOfDownloadArtifact(value) {
31
32
  for (const key in exports.DownloadArtifact) {