@knowledge-stack/ksapi 2.4.3 → 2.6.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 (108) hide show
  1. package/.openapi-generator/FILES +10 -0
  2. package/README.md +7 -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/apis/TenantInvitationsApi.d.ts +67 -0
  8. package/dist/apis/TenantInvitationsApi.js +112 -0
  9. package/dist/apis/TenantsApi.d.ts +4 -4
  10. package/dist/apis/TenantsApi.js +2 -2
  11. package/dist/apis/index.d.ts +1 -0
  12. package/dist/apis/index.js +1 -0
  13. package/dist/esm/apis/DocumentsApi.d.ts +9 -0
  14. package/dist/esm/apis/DocumentsApi.js +9 -0
  15. package/dist/esm/apis/SystemJobsApi.d.ts +4 -4
  16. package/dist/esm/apis/SystemJobsApi.js +2 -2
  17. package/dist/esm/apis/TenantInvitationsApi.d.ts +67 -0
  18. package/dist/esm/apis/TenantInvitationsApi.js +75 -0
  19. package/dist/esm/apis/TenantsApi.d.ts +4 -4
  20. package/dist/esm/apis/TenantsApi.js +2 -2
  21. package/dist/esm/apis/index.d.ts +1 -0
  22. package/dist/esm/apis/index.js +1 -0
  23. package/dist/esm/models/AcceptTenantInvitationRequest.d.ts +53 -0
  24. package/dist/esm/models/AcceptTenantInvitationRequest.js +48 -0
  25. package/dist/esm/models/AcceptTenantInvitationResponse.d.ts +59 -0
  26. package/dist/esm/models/AcceptTenantInvitationResponse.js +52 -0
  27. package/dist/esm/models/ChunkMetadata.d.ts +12 -0
  28. package/dist/esm/models/ChunkMetadata.js +4 -0
  29. package/dist/esm/models/CreateUploadRequest.d.ts +18 -0
  30. package/dist/esm/models/CreateUploadRequest.js +6 -0
  31. package/dist/esm/models/DocumentVersionMetadata.d.ts +7 -0
  32. package/dist/esm/models/DocumentVersionMetadata.js +3 -0
  33. package/dist/esm/models/DocumentVersionMetadataUpdate.d.ts +7 -0
  34. package/dist/esm/models/DocumentVersionMetadataUpdate.js +3 -0
  35. package/dist/esm/models/EmailMetadata.d.ts +119 -0
  36. package/dist/esm/models/EmailMetadata.js +65 -0
  37. package/dist/esm/models/EmailParty.d.ts +53 -0
  38. package/dist/esm/models/EmailParty.js +46 -0
  39. package/dist/esm/models/EventResponse.d.ts +6 -0
  40. package/dist/esm/models/EventResponse.js +2 -0
  41. package/dist/esm/models/ImageTaxonomy.d.ts +1 -0
  42. package/dist/esm/models/ImageTaxonomy.js +1 -0
  43. package/dist/esm/models/IngestDocumentResponse.d.ts +18 -0
  44. package/dist/esm/models/IngestDocumentResponse.js +6 -0
  45. package/dist/esm/models/SegmentSpan.d.ts +9 -2
  46. package/dist/esm/models/SegmentSpan.js +2 -0
  47. package/dist/esm/models/index.d.ts +4 -0
  48. package/dist/esm/models/index.js +4 -0
  49. package/dist/models/AcceptTenantInvitationRequest.d.ts +53 -0
  50. package/dist/models/AcceptTenantInvitationRequest.js +56 -0
  51. package/dist/models/AcceptTenantInvitationResponse.d.ts +59 -0
  52. package/dist/models/AcceptTenantInvitationResponse.js +60 -0
  53. package/dist/models/ChunkMetadata.d.ts +12 -0
  54. package/dist/models/ChunkMetadata.js +4 -0
  55. package/dist/models/CreateUploadRequest.d.ts +18 -0
  56. package/dist/models/CreateUploadRequest.js +6 -0
  57. package/dist/models/DocumentVersionMetadata.d.ts +7 -0
  58. package/dist/models/DocumentVersionMetadata.js +3 -0
  59. package/dist/models/DocumentVersionMetadataUpdate.d.ts +7 -0
  60. package/dist/models/DocumentVersionMetadataUpdate.js +3 -0
  61. package/dist/models/EmailMetadata.d.ts +119 -0
  62. package/dist/models/EmailMetadata.js +73 -0
  63. package/dist/models/EmailParty.d.ts +53 -0
  64. package/dist/models/EmailParty.js +54 -0
  65. package/dist/models/EventResponse.d.ts +6 -0
  66. package/dist/models/EventResponse.js +2 -0
  67. package/dist/models/ImageTaxonomy.d.ts +1 -0
  68. package/dist/models/ImageTaxonomy.js +1 -0
  69. package/dist/models/IngestDocumentResponse.d.ts +18 -0
  70. package/dist/models/IngestDocumentResponse.js +6 -0
  71. package/dist/models/SegmentSpan.d.ts +9 -2
  72. package/dist/models/SegmentSpan.js +2 -0
  73. package/dist/models/index.d.ts +4 -0
  74. package/dist/models/index.js +4 -0
  75. package/docs/AcceptTenantInvitationRequest.md +36 -0
  76. package/docs/AcceptTenantInvitationResponse.md +38 -0
  77. package/docs/ChunkMetadata.md +4 -0
  78. package/docs/CreateUploadRequest.md +6 -0
  79. package/docs/DocumentVersionMetadata.md +2 -0
  80. package/docs/DocumentVersionMetadataUpdate.md +2 -0
  81. package/docs/DocumentsApi.md +13 -4
  82. package/docs/EmailMetadata.md +57 -0
  83. package/docs/EmailParty.md +37 -0
  84. package/docs/EventResponse.md +2 -0
  85. package/docs/IngestDocumentResponse.md +6 -0
  86. package/docs/SegmentSpan.md +3 -1
  87. package/docs/SystemJobsApi.md +1 -1
  88. package/docs/TenantInvitationsApi.md +85 -0
  89. package/docs/TenantsApi.md +1 -1
  90. package/package.json +1 -1
  91. package/src/apis/DocumentsApi.ts +21 -0
  92. package/src/apis/SystemJobsApi.ts +4 -4
  93. package/src/apis/TenantInvitationsApi.ts +136 -0
  94. package/src/apis/TenantsApi.ts +4 -4
  95. package/src/apis/index.ts +1 -0
  96. package/src/models/AcceptTenantInvitationRequest.ts +93 -0
  97. package/src/models/AcceptTenantInvitationResponse.ts +101 -0
  98. package/src/models/ChunkMetadata.ts +16 -0
  99. package/src/models/CreateUploadRequest.ts +24 -0
  100. package/src/models/DocumentVersionMetadata.ts +15 -0
  101. package/src/models/DocumentVersionMetadataUpdate.ts +15 -0
  102. package/src/models/EmailMetadata.ts +183 -0
  103. package/src/models/EmailParty.ts +91 -0
  104. package/src/models/EventResponse.ts +8 -0
  105. package/src/models/ImageTaxonomy.ts +1 -0
  106. package/src/models/IngestDocumentResponse.ts +24 -0
  107. package/src/models/SegmentSpan.ts +11 -2
  108. package/src/models/index.ts +4 -0
@@ -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;
@@ -0,0 +1,65 @@
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
+ import { EmailPartyFromJSON, EmailPartyToJSON, } from './EmailParty';
15
+ export const EmailMetadataPropertyValidationAttributesMap = {};
16
+ /**
17
+ * Check if a given object implements the EmailMetadata interface.
18
+ */
19
+ export function instanceOfEmailMetadata(value) {
20
+ return true;
21
+ }
22
+ export function EmailMetadataFromJSON(json) {
23
+ return EmailMetadataFromJSONTyped(json, false);
24
+ }
25
+ export function EmailMetadataFromJSONTyped(json, ignoreDiscriminator) {
26
+ if (json == null) {
27
+ return json;
28
+ }
29
+ return {
30
+ 'subject': json['subject'] == null ? undefined : json['subject'],
31
+ 'sender': json['sender'] == null ? undefined : EmailPartyFromJSON(json['sender']),
32
+ 'to': json['to'] == null ? undefined : (json['to'].map(EmailPartyFromJSON)),
33
+ 'cc': json['cc'] == null ? undefined : (json['cc'].map(EmailPartyFromJSON)),
34
+ 'bcc': json['bcc'] == null ? undefined : (json['bcc'].map(EmailPartyFromJSON)),
35
+ 'sentAt': json['sent_at'] == null ? undefined : json['sent_at'],
36
+ 'messageId': json['message_id'] == null ? undefined : json['message_id'],
37
+ 'inReplyTo': json['in_reply_to'] == null ? undefined : json['in_reply_to'],
38
+ 'references': json['references'] == null ? undefined : json['references'],
39
+ 'conversationTopic': json['conversation_topic'] == null ? undefined : json['conversation_topic'],
40
+ 'threadRootId': json['thread_root_id'] == null ? undefined : json['thread_root_id'],
41
+ 'rawHeaders': json['raw_headers'] == null ? undefined : json['raw_headers'],
42
+ };
43
+ }
44
+ export function EmailMetadataToJSON(json) {
45
+ return EmailMetadataToJSONTyped(json, false);
46
+ }
47
+ export function EmailMetadataToJSONTyped(value, ignoreDiscriminator = false) {
48
+ if (value == null) {
49
+ return value;
50
+ }
51
+ return {
52
+ 'subject': value['subject'],
53
+ 'sender': EmailPartyToJSON(value['sender']),
54
+ 'to': value['to'] == null ? undefined : (value['to'].map(EmailPartyToJSON)),
55
+ 'cc': value['cc'] == null ? undefined : (value['cc'].map(EmailPartyToJSON)),
56
+ 'bcc': value['bcc'] == null ? undefined : (value['bcc'].map(EmailPartyToJSON)),
57
+ 'sent_at': value['sentAt'],
58
+ 'message_id': value['messageId'],
59
+ 'in_reply_to': value['inReplyTo'],
60
+ 'references': value['references'],
61
+ 'conversation_topic': value['conversationTopic'],
62
+ 'thread_root_id': value['threadRootId'],
63
+ 'raw_headers': value['rawHeaders'],
64
+ };
65
+ }
@@ -0,0 +1,53 @@
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 email participant.
14
+ * @export
15
+ * @interface EmailParty
16
+ */
17
+ export interface EmailParty {
18
+ /**
19
+ * Display name; empty if unnamed
20
+ * @type {string}
21
+ * @memberof EmailParty
22
+ */
23
+ name?: string;
24
+ /**
25
+ * Email address
26
+ * @type {string}
27
+ * @memberof EmailParty
28
+ */
29
+ address: string;
30
+ }
31
+ export declare const EmailPartyPropertyValidationAttributesMap: {
32
+ [property: string]: {
33
+ maxLength?: number;
34
+ minLength?: number;
35
+ pattern?: string;
36
+ maximum?: number;
37
+ exclusiveMaximum?: boolean;
38
+ minimum?: number;
39
+ exclusiveMinimum?: boolean;
40
+ multipleOf?: number;
41
+ maxItems?: number;
42
+ minItems?: number;
43
+ uniqueItems?: boolean;
44
+ };
45
+ };
46
+ /**
47
+ * Check if a given object implements the EmailParty interface.
48
+ */
49
+ export declare function instanceOfEmailParty(value: object): value is EmailParty;
50
+ export declare function EmailPartyFromJSON(json: any): EmailParty;
51
+ export declare function EmailPartyFromJSONTyped(json: any, ignoreDiscriminator: boolean): EmailParty;
52
+ export declare function EmailPartyToJSON(json: any): EmailParty;
53
+ export declare function EmailPartyToJSONTyped(value?: EmailParty | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,46 @@
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 EmailPartyPropertyValidationAttributesMap = {};
15
+ /**
16
+ * Check if a given object implements the EmailParty interface.
17
+ */
18
+ export function instanceOfEmailParty(value) {
19
+ if (!('address' in value) || value['address'] === undefined)
20
+ return false;
21
+ return true;
22
+ }
23
+ export function EmailPartyFromJSON(json) {
24
+ return EmailPartyFromJSONTyped(json, false);
25
+ }
26
+ export function EmailPartyFromJSONTyped(json, ignoreDiscriminator) {
27
+ if (json == null) {
28
+ return json;
29
+ }
30
+ return {
31
+ 'name': json['name'] == null ? undefined : json['name'],
32
+ 'address': json['address'],
33
+ };
34
+ }
35
+ export function EmailPartyToJSON(json) {
36
+ return EmailPartyToJSONTyped(json, false);
37
+ }
38
+ export function EmailPartyToJSONTyped(value, ignoreDiscriminator = false) {
39
+ if (value == null) {
40
+ return value;
41
+ }
42
+ return {
43
+ 'name': value['name'],
44
+ 'address': value['address'],
45
+ };
46
+ }
@@ -52,6 +52,12 @@ export interface EventResponse {
52
52
  * @memberof EventResponse
53
53
  */
54
54
  actorUserId: string | null;
55
+ /**
56
+ *
57
+ * @type {string}
58
+ * @memberof EventResponse
59
+ */
60
+ actorOnBehalfOf?: string | null;
55
61
  /**
56
62
  *
57
63
  * @type {{ [key: string]: any; }}
@@ -46,6 +46,7 @@ export function EventResponseFromJSONTyped(json, ignoreDiscriminator) {
46
46
  'kind': json['kind'],
47
47
  'ts': (new Date(json['ts'])),
48
48
  'actorUserId': json['actor_user_id'],
49
+ 'actorOnBehalfOf': json['actor_on_behalf_of'] == null ? undefined : json['actor_on_behalf_of'],
49
50
  'payload': json['payload'],
50
51
  'actor': json['actor'] == null ? undefined : UserInfoFromJSON(json['actor']),
51
52
  'subjectName': json['subject_name'] == null ? undefined : json['subject_name'],
@@ -68,6 +69,7 @@ export function EventResponseToJSONTyped(value, ignoreDiscriminator = false) {
68
69
  'kind': value['kind'],
69
70
  'ts': value['ts'].toISOString(),
70
71
  'actor_user_id': value['actorUserId'],
72
+ 'actor_on_behalf_of': value['actorOnBehalfOf'],
71
73
  'payload': value['payload'],
72
74
  'actor': UserInfoToJSON(value['actor']),
73
75
  'subject_name': value['subjectName'],
@@ -15,6 +15,7 @@
15
15
  */
16
16
  export declare const ImageTaxonomy: {
17
17
  readonly Picture: 'picture';
18
+ readonly Slide: 'slide';
18
19
  readonly Flowchart: 'flowchart';
19
20
  };
20
21
  export type ImageTaxonomy = typeof ImageTaxonomy[keyof typeof ImageTaxonomy];
@@ -17,6 +17,7 @@
17
17
  */
18
18
  export const ImageTaxonomy = {
19
19
  Picture: 'picture',
20
+ Slide: 'slide',
20
21
  Flowchart: 'flowchart'
21
22
  };
22
23
  export function instanceOfImageTaxonomy(value) {
@@ -33,6 +33,24 @@ export interface IngestDocumentResponse {
33
33
  * @memberof IngestDocumentResponse
34
34
  */
35
35
  documentVersionId: string;
36
+ /**
37
+ * 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.
38
+ * @type {string}
39
+ * @memberof IngestDocumentResponse
40
+ */
41
+ folderId?: string | null;
42
+ /**
43
+ * 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.
44
+ * @type {number}
45
+ * @memberof IngestDocumentResponse
46
+ */
47
+ attachmentCount?: number | null;
48
+ /**
49
+ * 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.
50
+ * @type {string}
51
+ * @memberof IngestDocumentResponse
52
+ */
53
+ attachmentWorkflowId?: string | null;
36
54
  }
37
55
  export declare const IngestDocumentResponsePropertyValidationAttributesMap: {
38
56
  [property: string]: {
@@ -35,6 +35,9 @@ export function IngestDocumentResponseFromJSONTyped(json, ignoreDiscriminator) {
35
35
  'workflowId': json['workflow_id'],
36
36
  'documentId': json['document_id'],
37
37
  'documentVersionId': json['document_version_id'],
38
+ 'folderId': json['folder_id'] == null ? undefined : json['folder_id'],
39
+ 'attachmentCount': json['attachment_count'] == null ? undefined : json['attachment_count'],
40
+ 'attachmentWorkflowId': json['attachment_workflow_id'] == null ? undefined : json['attachment_workflow_id'],
38
41
  };
39
42
  }
40
43
  export function IngestDocumentResponseToJSON(json) {
@@ -48,5 +51,8 @@ export function IngestDocumentResponseToJSONTyped(value, ignoreDiscriminator = f
48
51
  'workflow_id': value['workflowId'],
49
52
  'document_id': value['documentId'],
50
53
  'document_version_id': value['documentVersionId'],
54
+ 'folder_id': value['folderId'],
55
+ 'attachment_count': value['attachmentCount'],
56
+ 'attachment_workflow_id': value['attachmentWorkflowId'],
51
57
  };
52
58
  }
@@ -12,8 +12,9 @@
12
12
  /**
13
13
  * One ASR segment's span inside a media chunk (media chunks only).
14
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.
15
+ * Field names are deliberately compact — a media document stores hundreds of
16
+ * chunks x tens of spans each in ``chunk_metadata`` JSONB. Measured worst
17
+ * case is a 4-hour Mandarin recording: 175 chunks x ~33 spans, ~190 KB total.
17
18
  * @export
18
19
  * @interface SegmentSpan
19
20
  */
@@ -36,6 +37,12 @@ export interface SegmentSpan {
36
37
  * @memberof SegmentSpan
37
38
  */
38
39
  c: number;
40
+ /**
41
+ * 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.
42
+ * @type {number}
43
+ * @memberof SegmentSpan
44
+ */
45
+ k?: number | null;
39
46
  }
40
47
  export declare const SegmentSpanPropertyValidationAttributesMap: {
41
48
  [property: string]: {
@@ -35,6 +35,7 @@ export function SegmentSpanFromJSONTyped(json, ignoreDiscriminator) {
35
35
  's': json['s'],
36
36
  'e': json['e'],
37
37
  'c': json['c'],
38
+ 'k': json['k'] == null ? undefined : json['k'],
38
39
  };
39
40
  }
40
41
  export function SegmentSpanToJSON(json) {
@@ -48,5 +49,6 @@ export function SegmentSpanToJSONTyped(value, ignoreDiscriminator = false) {
48
49
  's': value['s'],
49
50
  'e': value['e'],
50
51
  'c': value['c'],
52
+ 'k': value['k'],
51
53
  };
52
54
  }
@@ -1,5 +1,7 @@
1
1
  export * from './AcceptDisclaimerRequest';
2
2
  export * from './AcceptInviteResponse';
3
+ export * from './AcceptTenantInvitationRequest';
4
+ export * from './AcceptTenantInvitationResponse';
3
5
  export * from './AccessCheckResponse';
4
6
  export * from './ActivateSkillVersionRequest';
5
7
  export * from './AddMemberRequest';
@@ -127,6 +129,8 @@ export * from './DocxParagraphAnchorInput';
127
129
  export * from './DocxParagraphAnchorOutput';
128
130
  export * from './DownloadArtifact';
129
131
  export * from './EditMemoryChunkRequest';
132
+ export * from './EmailMetadata';
133
+ export * from './EmailParty';
130
134
  export * from './EmailSentResponse';
131
135
  export * from './EmailVerificationRequest';
132
136
  export * from './EnrichedCitation';
@@ -2,6 +2,8 @@
2
2
  /* eslint-disable */
3
3
  export * from './AcceptDisclaimerRequest';
4
4
  export * from './AcceptInviteResponse';
5
+ export * from './AcceptTenantInvitationRequest';
6
+ export * from './AcceptTenantInvitationResponse';
5
7
  export * from './AccessCheckResponse';
6
8
  export * from './ActivateSkillVersionRequest';
7
9
  export * from './AddMemberRequest';
@@ -129,6 +131,8 @@ export * from './DocxParagraphAnchorInput';
129
131
  export * from './DocxParagraphAnchorOutput';
130
132
  export * from './DownloadArtifact';
131
133
  export * from './EditMemoryChunkRequest';
134
+ export * from './EmailMetadata';
135
+ export * from './EmailParty';
132
136
  export * from './EmailSentResponse';
133
137
  export * from './EmailVerificationRequest';
134
138
  export * from './EnrichedCitation';
@@ -0,0 +1,53 @@
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
+ *
14
+ * @export
15
+ * @interface AcceptTenantInvitationRequest
16
+ */
17
+ export interface AcceptTenantInvitationRequest {
18
+ /**
19
+ * Required only when the owner has no existing KS account.
20
+ * @type {string}
21
+ * @memberof AcceptTenantInvitationRequest
22
+ */
23
+ password?: string | null;
24
+ /**
25
+ *
26
+ * @type {string}
27
+ * @memberof AcceptTenantInvitationRequest
28
+ */
29
+ firstName?: string | null;
30
+ }
31
+ export declare const AcceptTenantInvitationRequestPropertyValidationAttributesMap: {
32
+ [property: string]: {
33
+ maxLength?: number;
34
+ minLength?: number;
35
+ pattern?: string;
36
+ maximum?: number;
37
+ exclusiveMaximum?: boolean;
38
+ minimum?: number;
39
+ exclusiveMinimum?: boolean;
40
+ multipleOf?: number;
41
+ maxItems?: number;
42
+ minItems?: number;
43
+ uniqueItems?: boolean;
44
+ };
45
+ };
46
+ /**
47
+ * Check if a given object implements the AcceptTenantInvitationRequest interface.
48
+ */
49
+ export declare function instanceOfAcceptTenantInvitationRequest(value: object): value is AcceptTenantInvitationRequest;
50
+ export declare function AcceptTenantInvitationRequestFromJSON(json: any): AcceptTenantInvitationRequest;
51
+ export declare function AcceptTenantInvitationRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): AcceptTenantInvitationRequest;
52
+ export declare function AcceptTenantInvitationRequestToJSON(json: any): AcceptTenantInvitationRequest;
53
+ export declare function AcceptTenantInvitationRequestToJSONTyped(value?: AcceptTenantInvitationRequest | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * Knowledge Stack API
6
+ * 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.
7
+ *
8
+ * The version of the OpenAPI document: 0.1.0
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.AcceptTenantInvitationRequestPropertyValidationAttributesMap = void 0;
17
+ exports.instanceOfAcceptTenantInvitationRequest = instanceOfAcceptTenantInvitationRequest;
18
+ exports.AcceptTenantInvitationRequestFromJSON = AcceptTenantInvitationRequestFromJSON;
19
+ exports.AcceptTenantInvitationRequestFromJSONTyped = AcceptTenantInvitationRequestFromJSONTyped;
20
+ exports.AcceptTenantInvitationRequestToJSON = AcceptTenantInvitationRequestToJSON;
21
+ exports.AcceptTenantInvitationRequestToJSONTyped = AcceptTenantInvitationRequestToJSONTyped;
22
+ exports.AcceptTenantInvitationRequestPropertyValidationAttributesMap = {
23
+ password: {
24
+ minLength: 8,
25
+ },
26
+ };
27
+ /**
28
+ * Check if a given object implements the AcceptTenantInvitationRequest interface.
29
+ */
30
+ function instanceOfAcceptTenantInvitationRequest(value) {
31
+ return true;
32
+ }
33
+ function AcceptTenantInvitationRequestFromJSON(json) {
34
+ return AcceptTenantInvitationRequestFromJSONTyped(json, false);
35
+ }
36
+ function AcceptTenantInvitationRequestFromJSONTyped(json, ignoreDiscriminator) {
37
+ if (json == null) {
38
+ return json;
39
+ }
40
+ return {
41
+ 'password': json['password'] == null ? undefined : json['password'],
42
+ 'firstName': json['first_name'] == null ? undefined : json['first_name'],
43
+ };
44
+ }
45
+ function AcceptTenantInvitationRequestToJSON(json) {
46
+ return AcceptTenantInvitationRequestToJSONTyped(json, false);
47
+ }
48
+ function AcceptTenantInvitationRequestToJSONTyped(value, ignoreDiscriminator = false) {
49
+ if (value == null) {
50
+ return value;
51
+ }
52
+ return {
53
+ 'password': value['password'],
54
+ 'first_name': value['firstName'],
55
+ };
56
+ }
@@ -0,0 +1,59 @@
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
+ *
14
+ * @export
15
+ * @interface AcceptTenantInvitationResponse
16
+ */
17
+ export interface AcceptTenantInvitationResponse {
18
+ /**
19
+ *
20
+ * @type {string}
21
+ * @memberof AcceptTenantInvitationResponse
22
+ */
23
+ tenantId: string;
24
+ /**
25
+ *
26
+ * @type {string}
27
+ * @memberof AcceptTenantInvitationResponse
28
+ */
29
+ tenantName: string;
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof AcceptTenantInvitationResponse
34
+ */
35
+ userId: string;
36
+ }
37
+ export declare const AcceptTenantInvitationResponsePropertyValidationAttributesMap: {
38
+ [property: string]: {
39
+ maxLength?: number;
40
+ minLength?: number;
41
+ pattern?: string;
42
+ maximum?: number;
43
+ exclusiveMaximum?: boolean;
44
+ minimum?: number;
45
+ exclusiveMinimum?: boolean;
46
+ multipleOf?: number;
47
+ maxItems?: number;
48
+ minItems?: number;
49
+ uniqueItems?: boolean;
50
+ };
51
+ };
52
+ /**
53
+ * Check if a given object implements the AcceptTenantInvitationResponse interface.
54
+ */
55
+ export declare function instanceOfAcceptTenantInvitationResponse(value: object): value is AcceptTenantInvitationResponse;
56
+ export declare function AcceptTenantInvitationResponseFromJSON(json: any): AcceptTenantInvitationResponse;
57
+ export declare function AcceptTenantInvitationResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): AcceptTenantInvitationResponse;
58
+ export declare function AcceptTenantInvitationResponseToJSON(json: any): AcceptTenantInvitationResponse;
59
+ export declare function AcceptTenantInvitationResponseToJSONTyped(value?: AcceptTenantInvitationResponse | null, ignoreDiscriminator?: boolean): any;