@knowledge-stack/ksapi 3.11.0 → 3.13.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 +26 -4
- package/README.md +18 -6
- package/dist/apis/AuthApi.d.ts +12 -9
- package/dist/apis/AuthApi.js +5 -2
- package/dist/apis/FeedbackApi.d.ts +10 -7
- package/dist/apis/FeedbackApi.js +5 -2
- package/dist/apis/InvitesApi.d.ts +39 -1
- package/dist/apis/InvitesApi.js +41 -0
- package/dist/apis/UsersApi.d.ts +51 -59
- package/dist/apis/UsersApi.js +50 -57
- package/dist/esm/apis/AuthApi.d.ts +12 -9
- package/dist/esm/apis/AuthApi.js +6 -3
- package/dist/esm/apis/FeedbackApi.d.ts +10 -7
- package/dist/esm/apis/FeedbackApi.js +5 -2
- package/dist/esm/apis/InvitesApi.d.ts +39 -1
- package/dist/esm/apis/InvitesApi.js +42 -1
- package/dist/esm/apis/UsersApi.d.ts +51 -59
- package/dist/esm/apis/UsersApi.js +51 -58
- package/dist/esm/models/{OnboardingProfileRequest.d.ts → AccessRequestResponse.d.ts} +14 -26
- package/dist/esm/models/{OnboardingCompanyRequest.js → AccessRequestResponse.js} +13 -20
- package/dist/esm/models/AddedBy.d.ts +25 -0
- package/dist/esm/models/AddedBy.js +43 -0
- package/dist/esm/models/CreatePasswordUserRequest.d.ts +6 -0
- package/dist/esm/models/CreatePasswordUserRequest.js +2 -0
- package/dist/esm/models/ErrorResponse.d.ts +2 -0
- package/dist/esm/models/ErrorResponse.js +2 -0
- package/dist/esm/models/FeaturesResponse.d.ts +7 -0
- package/dist/esm/models/FeaturesResponse.js +5 -0
- package/dist/esm/models/GuideModuleProgress.d.ts +66 -0
- package/dist/{models/OnboardingProfileRequest.js → esm/models/GuideModuleProgress.js} +31 -25
- package/dist/esm/models/GuideModuleStatus.d.ts +26 -0
- package/dist/esm/models/GuideModuleStatus.js +44 -0
- package/dist/esm/models/GuideModules.d.ts +126 -0
- package/dist/esm/models/GuideModules.js +69 -0
- package/dist/esm/models/InvitePreviewResponse.d.ts +80 -0
- package/dist/esm/models/InvitePreviewResponse.js +57 -0
- package/dist/esm/models/InvitePreviewState.d.ts +28 -0
- package/dist/esm/models/InvitePreviewState.js +46 -0
- package/dist/esm/models/InviteRejection.d.ts +30 -0
- package/dist/esm/models/InviteRejection.js +48 -0
- package/dist/esm/models/KbSummaryResponse.d.ts +8 -0
- package/dist/esm/models/KbSummaryResponse.js +4 -0
- package/dist/esm/models/{OnboardingCompanyRequest.d.ts → OnboardingState.d.ts} +26 -18
- package/dist/esm/models/{OnboardingProfileRequest.js → OnboardingState.js} +17 -19
- package/dist/esm/models/OnboardingStateUpdate.d.ts +61 -0
- package/dist/esm/models/OnboardingStateUpdate.js +48 -0
- package/dist/esm/models/OnboardingStep.d.ts +27 -0
- package/dist/esm/models/OnboardingStep.js +45 -0
- package/dist/esm/models/SignUpResponse.d.ts +174 -0
- package/dist/esm/models/SignUpResponse.js +107 -0
- package/dist/esm/models/TenantResponse.d.ts +7 -0
- package/dist/esm/models/TenantResponse.js +5 -0
- package/dist/esm/models/TenantUserJoinMethod.d.ts +26 -0
- package/dist/esm/models/TenantUserJoinMethod.js +44 -0
- package/dist/esm/models/UserResponse.d.ts +40 -0
- package/dist/esm/models/UserResponse.js +18 -0
- package/dist/esm/models/index.d.ts +13 -2
- package/dist/esm/models/index.js +13 -2
- package/dist/models/{OnboardingProfileRequest.d.ts → AccessRequestResponse.d.ts} +14 -26
- package/dist/models/{OnboardingCompanyRequest.js → AccessRequestResponse.js} +19 -26
- package/dist/models/AddedBy.d.ts +25 -0
- package/dist/models/AddedBy.js +51 -0
- package/dist/models/CreatePasswordUserRequest.d.ts +6 -0
- package/dist/models/CreatePasswordUserRequest.js +2 -0
- package/dist/models/ErrorResponse.d.ts +2 -0
- package/dist/models/ErrorResponse.js +2 -0
- package/dist/models/FeaturesResponse.d.ts +7 -0
- package/dist/models/FeaturesResponse.js +5 -0
- package/dist/models/GuideModuleProgress.d.ts +66 -0
- package/dist/models/GuideModuleProgress.js +72 -0
- package/dist/models/GuideModuleStatus.d.ts +26 -0
- package/dist/models/GuideModuleStatus.js +52 -0
- package/dist/models/GuideModules.d.ts +126 -0
- package/dist/models/GuideModules.js +77 -0
- package/dist/models/InvitePreviewResponse.d.ts +80 -0
- package/dist/models/InvitePreviewResponse.js +65 -0
- package/dist/models/InvitePreviewState.d.ts +28 -0
- package/dist/models/InvitePreviewState.js +54 -0
- package/dist/models/InviteRejection.d.ts +30 -0
- package/dist/models/InviteRejection.js +56 -0
- package/dist/models/KbSummaryResponse.d.ts +8 -0
- package/dist/models/KbSummaryResponse.js +4 -0
- package/dist/models/{OnboardingCompanyRequest.d.ts → OnboardingState.d.ts} +26 -18
- package/dist/models/OnboardingState.js +56 -0
- package/dist/models/OnboardingStateUpdate.d.ts +61 -0
- package/dist/models/OnboardingStateUpdate.js +56 -0
- package/dist/models/OnboardingStep.d.ts +27 -0
- package/dist/models/OnboardingStep.js +53 -0
- package/dist/models/SignUpResponse.d.ts +174 -0
- package/dist/models/SignUpResponse.js +115 -0
- package/dist/models/TenantResponse.d.ts +7 -0
- package/dist/models/TenantResponse.js +5 -0
- package/dist/models/TenantUserJoinMethod.d.ts +26 -0
- package/dist/models/TenantUserJoinMethod.js +52 -0
- package/dist/models/UserResponse.d.ts +40 -0
- package/dist/models/UserResponse.js +18 -0
- package/dist/models/index.d.ts +13 -2
- package/dist/models/index.js +13 -2
- package/docs/{OnboardingCompanyRequest.md → AccessRequestResponse.md} +6 -9
- package/docs/{OnboardingProfileRequest.md → AddedBy.md} +4 -11
- package/docs/AuthApi.md +8 -5
- package/docs/CreatePasswordUserRequest.md +2 -0
- package/docs/FeaturesResponse.md +2 -0
- package/docs/FeedbackApi.md +8 -5
- package/docs/GuideModuleProgress.md +40 -0
- package/docs/GuideModuleStatus.md +32 -0
- package/docs/GuideModules.md +60 -0
- package/docs/InvitePreviewResponse.md +44 -0
- package/docs/InvitePreviewState.md +32 -0
- package/docs/InviteRejection.md +32 -0
- package/docs/InvitesApi.md +70 -0
- package/docs/KbSummaryResponse.md +2 -0
- package/docs/OnboardingState.md +39 -0
- package/docs/OnboardingStateUpdate.md +38 -0
- package/docs/OnboardingStep.md +32 -0
- package/docs/SignUpResponse.md +74 -0
- package/docs/TenantResponse.md +2 -0
- package/docs/TenantUserJoinMethod.md +32 -0
- package/docs/UserResponse.md +12 -0
- package/docs/UsersApi.md +36 -47
- package/package.json +1 -1
- package/src/apis/AuthApi.ts +20 -10
- package/src/apis/FeedbackApi.ts +14 -7
- package/src/apis/InvitesApi.ts +78 -0
- package/src/apis/UsersApi.ts +91 -110
- package/src/models/{OnboardingCompanyRequest.ts → AccessRequestResponse.ts} +19 -32
- package/src/models/AddedBy.ts +53 -0
- package/src/models/CreatePasswordUserRequest.ts +8 -0
- package/src/models/ErrorResponse.ts +2 -0
- package/src/models/FeaturesResponse.ts +16 -0
- package/src/models/GuideModuleProgress.ts +127 -0
- package/src/models/GuideModuleStatus.ts +54 -0
- package/src/models/GuideModules.ts +194 -0
- package/src/models/InvitePreviewResponse.ts +147 -0
- package/src/models/InvitePreviewState.ts +56 -0
- package/src/models/InviteRejection.ts +58 -0
- package/src/models/KbSummaryResponse.ts +9 -0
- package/src/models/{OnboardingProfileRequest.ts → OnboardingState.ts} +47 -33
- package/src/models/OnboardingStateUpdate.ts +115 -0
- package/src/models/OnboardingStep.ts +55 -0
- package/src/models/SignUpResponse.ts +303 -0
- package/src/models/TenantResponse.ts +16 -0
- package/src/models/TenantUserJoinMethod.ts +54 -0
- package/src/models/UserResponse.ts +77 -0
- package/src/models/index.ts +13 -2
|
@@ -45,6 +45,12 @@ export interface KbSummaryResponse {
|
|
|
45
45
|
* @memberof KbSummaryResponse
|
|
46
46
|
*/
|
|
47
47
|
documentsByType: { [key: string]: number; };
|
|
48
|
+
/**
|
|
49
|
+
* Live document count keyed by the active version's pipeline status (pending, processing, completed, failed, cancelled, quota_limit). Documents whose active version was never ingested are absent.
|
|
50
|
+
* @type {{ [key: string]: number; }}
|
|
51
|
+
* @memberof KbSummaryResponse
|
|
52
|
+
*/
|
|
53
|
+
documentsByIngestionStatus: { [key: string]: number; };
|
|
48
54
|
/**
|
|
49
55
|
*
|
|
50
56
|
* @type {number}
|
|
@@ -155,6 +161,7 @@ export function instanceOfKbSummaryResponse(value: object): value is KbSummaryRe
|
|
|
155
161
|
if (!('documentsTotal' in value) || value['documentsTotal'] === undefined) return false;
|
|
156
162
|
if (!('documentsByOrigin' in value) || value['documentsByOrigin'] === undefined) return false;
|
|
157
163
|
if (!('documentsByType' in value) || value['documentsByType'] === undefined) return false;
|
|
164
|
+
if (!('documentsByIngestionStatus' in value) || value['documentsByIngestionStatus'] === undefined) return false;
|
|
158
165
|
if (!('documentVersionsTotal' in value) || value['documentVersionsTotal'] === undefined) return false;
|
|
159
166
|
if (!('chunksTotal' in value) || value['chunksTotal'] === undefined) return false;
|
|
160
167
|
if (!('chunksByType' in value) || value['chunksByType'] === undefined) return false;
|
|
@@ -185,6 +192,7 @@ export function KbSummaryResponseFromJSONTyped(json: any, ignoreDiscriminator: b
|
|
|
185
192
|
'documentsTotal': json['documents_total'],
|
|
186
193
|
'documentsByOrigin': json['documents_by_origin'],
|
|
187
194
|
'documentsByType': json['documents_by_type'],
|
|
195
|
+
'documentsByIngestionStatus': json['documents_by_ingestion_status'],
|
|
188
196
|
'documentVersionsTotal': json['document_versions_total'],
|
|
189
197
|
'chunksTotal': json['chunks_total'],
|
|
190
198
|
'chunksByType': json['chunks_by_type'],
|
|
@@ -216,6 +224,7 @@ export function KbSummaryResponseToJSONTyped(value?: KbSummaryResponse | null, i
|
|
|
216
224
|
'documents_total': value['documentsTotal'],
|
|
217
225
|
'documents_by_origin': value['documentsByOrigin'],
|
|
218
226
|
'documents_by_type': value['documentsByType'],
|
|
227
|
+
'documents_by_ingestion_status': value['documentsByIngestionStatus'],
|
|
219
228
|
'document_versions_total': value['documentVersionsTotal'],
|
|
220
229
|
'chunks_total': value['chunksTotal'],
|
|
221
230
|
'chunks_by_type': value['chunksByType'],
|
|
@@ -13,32 +13,49 @@
|
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
15
|
import { mapValues } from '../runtime';
|
|
16
|
+
import type { GuideModules } from './GuideModules';
|
|
17
|
+
import {
|
|
18
|
+
GuideModulesFromJSON,
|
|
19
|
+
GuideModulesFromJSONTyped,
|
|
20
|
+
GuideModulesToJSON,
|
|
21
|
+
GuideModulesToJSONTyped,
|
|
22
|
+
} from './GuideModules';
|
|
23
|
+
import type { OnboardingStep } from './OnboardingStep';
|
|
24
|
+
import {
|
|
25
|
+
OnboardingStepFromJSON,
|
|
26
|
+
OnboardingStepFromJSONTyped,
|
|
27
|
+
OnboardingStepToJSON,
|
|
28
|
+
OnboardingStepToJSONTyped,
|
|
29
|
+
} from './OnboardingStep';
|
|
30
|
+
|
|
16
31
|
/**
|
|
17
|
-
*
|
|
32
|
+
* Stored state: keys and steps this release does not know are dropped.
|
|
18
33
|
* @export
|
|
19
|
-
* @interface
|
|
34
|
+
* @interface OnboardingState
|
|
20
35
|
*/
|
|
21
|
-
export interface
|
|
36
|
+
export interface OnboardingState {
|
|
22
37
|
/**
|
|
23
|
-
*
|
|
24
|
-
* @type {
|
|
25
|
-
* @memberof
|
|
38
|
+
*
|
|
39
|
+
* @type {OnboardingStep}
|
|
40
|
+
* @memberof OnboardingState
|
|
26
41
|
*/
|
|
27
|
-
|
|
42
|
+
currentStep?: OnboardingStep;
|
|
28
43
|
/**
|
|
29
|
-
*
|
|
30
|
-
* @type {
|
|
31
|
-
* @memberof
|
|
44
|
+
*
|
|
45
|
+
* @type {GuideModules}
|
|
46
|
+
* @memberof OnboardingState
|
|
32
47
|
*/
|
|
33
|
-
|
|
48
|
+
guideModules?: GuideModules;
|
|
34
49
|
/**
|
|
35
|
-
*
|
|
36
|
-
* @type {
|
|
37
|
-
* @memberof
|
|
50
|
+
*
|
|
51
|
+
* @type {boolean}
|
|
52
|
+
* @memberof OnboardingState
|
|
38
53
|
*/
|
|
39
|
-
|
|
54
|
+
setupChecklistDismissed?: boolean;
|
|
40
55
|
}
|
|
41
|
-
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
export const OnboardingStatePropertyValidationAttributesMap: {
|
|
42
59
|
[property: string]: {
|
|
43
60
|
maxLength?: number,
|
|
44
61
|
minLength?: number,
|
|
@@ -53,49 +70,46 @@ export const OnboardingProfileRequestPropertyValidationAttributesMap: {
|
|
|
53
70
|
uniqueItems?: boolean
|
|
54
71
|
}
|
|
55
72
|
} = {
|
|
56
|
-
jobTitle: {
|
|
57
|
-
maxLength: 120,
|
|
58
|
-
},
|
|
59
73
|
}
|
|
60
74
|
|
|
61
75
|
|
|
62
76
|
/**
|
|
63
|
-
* Check if a given object implements the
|
|
77
|
+
* Check if a given object implements the OnboardingState interface.
|
|
64
78
|
*/
|
|
65
|
-
export function
|
|
79
|
+
export function instanceOfOnboardingState(value: object): value is OnboardingState {
|
|
66
80
|
return true;
|
|
67
81
|
}
|
|
68
82
|
|
|
69
|
-
export function
|
|
70
|
-
return
|
|
83
|
+
export function OnboardingStateFromJSON(json: any): OnboardingState {
|
|
84
|
+
return OnboardingStateFromJSONTyped(json, false);
|
|
71
85
|
}
|
|
72
86
|
|
|
73
|
-
export function
|
|
87
|
+
export function OnboardingStateFromJSONTyped(json: any, ignoreDiscriminator: boolean): OnboardingState {
|
|
74
88
|
if (json == null) {
|
|
75
89
|
return json;
|
|
76
90
|
}
|
|
77
91
|
return {
|
|
78
92
|
|
|
79
|
-
'
|
|
80
|
-
'
|
|
81
|
-
'
|
|
93
|
+
'currentStep': json['current_step'] == null ? undefined : OnboardingStepFromJSON(json['current_step']),
|
|
94
|
+
'guideModules': json['guide_modules'] == null ? undefined : GuideModulesFromJSON(json['guide_modules']),
|
|
95
|
+
'setupChecklistDismissed': json['setup_checklist_dismissed'] == null ? undefined : json['setup_checklist_dismissed'],
|
|
82
96
|
};
|
|
83
97
|
}
|
|
84
98
|
|
|
85
|
-
export function
|
|
86
|
-
return
|
|
99
|
+
export function OnboardingStateToJSON(json: any): OnboardingState {
|
|
100
|
+
return OnboardingStateToJSONTyped(json, false);
|
|
87
101
|
}
|
|
88
102
|
|
|
89
|
-
export function
|
|
103
|
+
export function OnboardingStateToJSONTyped(value?: OnboardingState | null, ignoreDiscriminator: boolean = false): any {
|
|
90
104
|
if (value == null) {
|
|
91
105
|
return value;
|
|
92
106
|
}
|
|
93
107
|
|
|
94
108
|
return {
|
|
95
109
|
|
|
96
|
-
'
|
|
97
|
-
'
|
|
98
|
-
'
|
|
110
|
+
'current_step': OnboardingStepToJSON(value['currentStep']),
|
|
111
|
+
'guide_modules': GuideModulesToJSON(value['guideModules']),
|
|
112
|
+
'setup_checklist_dismissed': value['setupChecklistDismissed'],
|
|
99
113
|
};
|
|
100
114
|
}
|
|
101
115
|
|
|
@@ -0,0 +1,115 @@
|
|
|
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 { GuideModules } from './GuideModules';
|
|
17
|
+
import {
|
|
18
|
+
GuideModulesFromJSON,
|
|
19
|
+
GuideModulesFromJSONTyped,
|
|
20
|
+
GuideModulesToJSON,
|
|
21
|
+
GuideModulesToJSONTyped,
|
|
22
|
+
} from './GuideModules';
|
|
23
|
+
import type { OnboardingStep } from './OnboardingStep';
|
|
24
|
+
import {
|
|
25
|
+
OnboardingStepFromJSON,
|
|
26
|
+
OnboardingStepFromJSONTyped,
|
|
27
|
+
OnboardingStepToJSON,
|
|
28
|
+
OnboardingStepToJSONTyped,
|
|
29
|
+
} from './OnboardingStep';
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
*
|
|
33
|
+
* @export
|
|
34
|
+
* @interface OnboardingStateUpdate
|
|
35
|
+
*/
|
|
36
|
+
export interface OnboardingStateUpdate {
|
|
37
|
+
/**
|
|
38
|
+
*
|
|
39
|
+
* @type {OnboardingStep}
|
|
40
|
+
* @memberof OnboardingStateUpdate
|
|
41
|
+
*/
|
|
42
|
+
currentStep?: OnboardingStep;
|
|
43
|
+
/**
|
|
44
|
+
* Guide module progress to merge in. A completed or dismissed module only moves back to in progress under a newer module version.
|
|
45
|
+
* @type {GuideModules}
|
|
46
|
+
* @memberof OnboardingStateUpdate
|
|
47
|
+
*/
|
|
48
|
+
guideModules?: GuideModules | null;
|
|
49
|
+
/**
|
|
50
|
+
* Whether the setup checklist is dismissed
|
|
51
|
+
* @type {boolean}
|
|
52
|
+
* @memberof OnboardingStateUpdate
|
|
53
|
+
*/
|
|
54
|
+
setupChecklistDismissed?: boolean | null;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
export const OnboardingStateUpdatePropertyValidationAttributesMap: {
|
|
59
|
+
[property: string]: {
|
|
60
|
+
maxLength?: number,
|
|
61
|
+
minLength?: number,
|
|
62
|
+
pattern?: string,
|
|
63
|
+
maximum?: number,
|
|
64
|
+
exclusiveMaximum?: boolean,
|
|
65
|
+
minimum?: number,
|
|
66
|
+
exclusiveMinimum?: boolean,
|
|
67
|
+
multipleOf?: number,
|
|
68
|
+
maxItems?: number,
|
|
69
|
+
minItems?: number,
|
|
70
|
+
uniqueItems?: boolean
|
|
71
|
+
}
|
|
72
|
+
} = {
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Check if a given object implements the OnboardingStateUpdate interface.
|
|
78
|
+
*/
|
|
79
|
+
export function instanceOfOnboardingStateUpdate(value: object): value is OnboardingStateUpdate {
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export function OnboardingStateUpdateFromJSON(json: any): OnboardingStateUpdate {
|
|
84
|
+
return OnboardingStateUpdateFromJSONTyped(json, false);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export function OnboardingStateUpdateFromJSONTyped(json: any, ignoreDiscriminator: boolean): OnboardingStateUpdate {
|
|
88
|
+
if (json == null) {
|
|
89
|
+
return json;
|
|
90
|
+
}
|
|
91
|
+
return {
|
|
92
|
+
|
|
93
|
+
'currentStep': json['current_step'] == null ? undefined : OnboardingStepFromJSON(json['current_step']),
|
|
94
|
+
'guideModules': json['guide_modules'] == null ? undefined : GuideModulesFromJSON(json['guide_modules']),
|
|
95
|
+
'setupChecklistDismissed': json['setup_checklist_dismissed'] == null ? undefined : json['setup_checklist_dismissed'],
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export function OnboardingStateUpdateToJSON(json: any): OnboardingStateUpdate {
|
|
100
|
+
return OnboardingStateUpdateToJSONTyped(json, false);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export function OnboardingStateUpdateToJSONTyped(value?: OnboardingStateUpdate | null, ignoreDiscriminator: boolean = false): any {
|
|
104
|
+
if (value == null) {
|
|
105
|
+
return value;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
return {
|
|
109
|
+
|
|
110
|
+
'current_step': OnboardingStepToJSON(value['currentStep']),
|
|
111
|
+
'guide_modules': GuideModulesToJSON(value['guideModules']),
|
|
112
|
+
'setup_checklist_dismissed': value['setupChecklistDismissed'],
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
|
|
@@ -0,0 +1,55 @@
|
|
|
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
|
+
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
* @export
|
|
19
|
+
*/
|
|
20
|
+
export const OnboardingStep = {
|
|
21
|
+
Workspace: 'WORKSPACE',
|
|
22
|
+
Knowledge: 'KNOWLEDGE',
|
|
23
|
+
Team: 'TEAM',
|
|
24
|
+
Destination: 'DESTINATION'
|
|
25
|
+
} as const;
|
|
26
|
+
export type OnboardingStep = typeof OnboardingStep[keyof typeof OnboardingStep];
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
export function instanceOfOnboardingStep(value: any): boolean {
|
|
30
|
+
for (const key in OnboardingStep) {
|
|
31
|
+
if (Object.prototype.hasOwnProperty.call(OnboardingStep, key)) {
|
|
32
|
+
if (OnboardingStep[key as keyof typeof OnboardingStep] === value) {
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export function OnboardingStepFromJSON(json: any): OnboardingStep {
|
|
41
|
+
return OnboardingStepFromJSONTyped(json, false);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export function OnboardingStepFromJSONTyped(json: any, ignoreDiscriminator: boolean): OnboardingStep {
|
|
45
|
+
return json as OnboardingStep;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export function OnboardingStepToJSON(value?: OnboardingStep | null): any {
|
|
49
|
+
return value as any;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export function OnboardingStepToJSONTyped(value: any, ignoreDiscriminator: boolean): OnboardingStep {
|
|
53
|
+
return value as OnboardingStep;
|
|
54
|
+
}
|
|
55
|
+
|
|
@@ -0,0 +1,303 @@
|
|
|
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 { TenantUserJoinMethod } from './TenantUserJoinMethod';
|
|
17
|
+
import {
|
|
18
|
+
TenantUserJoinMethodFromJSON,
|
|
19
|
+
TenantUserJoinMethodFromJSONTyped,
|
|
20
|
+
TenantUserJoinMethodToJSON,
|
|
21
|
+
TenantUserJoinMethodToJSONTyped,
|
|
22
|
+
} from './TenantUserJoinMethod';
|
|
23
|
+
import type { IdpType } from './IdpType';
|
|
24
|
+
import {
|
|
25
|
+
IdpTypeFromJSON,
|
|
26
|
+
IdpTypeFromJSONTyped,
|
|
27
|
+
IdpTypeToJSON,
|
|
28
|
+
IdpTypeToJSONTyped,
|
|
29
|
+
} from './IdpType';
|
|
30
|
+
import type { InviteRejection } from './InviteRejection';
|
|
31
|
+
import {
|
|
32
|
+
InviteRejectionFromJSON,
|
|
33
|
+
InviteRejectionFromJSONTyped,
|
|
34
|
+
InviteRejectionToJSON,
|
|
35
|
+
InviteRejectionToJSONTyped,
|
|
36
|
+
} from './InviteRejection';
|
|
37
|
+
import type { TenantUserRole } from './TenantUserRole';
|
|
38
|
+
import {
|
|
39
|
+
TenantUserRoleFromJSON,
|
|
40
|
+
TenantUserRoleFromJSONTyped,
|
|
41
|
+
TenantUserRoleToJSON,
|
|
42
|
+
TenantUserRoleToJSONTyped,
|
|
43
|
+
} from './TenantUserRole';
|
|
44
|
+
import type { OnboardingState } from './OnboardingState';
|
|
45
|
+
import {
|
|
46
|
+
OnboardingStateFromJSON,
|
|
47
|
+
OnboardingStateFromJSONTyped,
|
|
48
|
+
OnboardingStateToJSON,
|
|
49
|
+
OnboardingStateToJSONTyped,
|
|
50
|
+
} from './OnboardingState';
|
|
51
|
+
import type { UserInfo } from './UserInfo';
|
|
52
|
+
import {
|
|
53
|
+
UserInfoFromJSON,
|
|
54
|
+
UserInfoFromJSONTyped,
|
|
55
|
+
UserInfoToJSON,
|
|
56
|
+
UserInfoToJSONTyped,
|
|
57
|
+
} from './UserInfo';
|
|
58
|
+
import type { AddedBy } from './AddedBy';
|
|
59
|
+
import {
|
|
60
|
+
AddedByFromJSON,
|
|
61
|
+
AddedByFromJSONTyped,
|
|
62
|
+
AddedByToJSON,
|
|
63
|
+
AddedByToJSONTyped,
|
|
64
|
+
} from './AddedBy';
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
*
|
|
68
|
+
* @export
|
|
69
|
+
* @interface SignUpResponse
|
|
70
|
+
*/
|
|
71
|
+
export interface SignUpResponse {
|
|
72
|
+
/**
|
|
73
|
+
* User ID
|
|
74
|
+
* @type {string}
|
|
75
|
+
* @memberof SignUpResponse
|
|
76
|
+
*/
|
|
77
|
+
id: string;
|
|
78
|
+
/**
|
|
79
|
+
* Email address of the user
|
|
80
|
+
* @type {string}
|
|
81
|
+
* @memberof SignUpResponse
|
|
82
|
+
*/
|
|
83
|
+
email: string | null;
|
|
84
|
+
/**
|
|
85
|
+
* Subscriber number as a string of digits (no country code). Returned as a string to avoid JS Number precision issues.
|
|
86
|
+
* @type {string}
|
|
87
|
+
* @memberof SignUpResponse
|
|
88
|
+
*/
|
|
89
|
+
phoneNumber?: string | null;
|
|
90
|
+
/**
|
|
91
|
+
* First name of the user
|
|
92
|
+
* @type {string}
|
|
93
|
+
* @memberof SignUpResponse
|
|
94
|
+
*/
|
|
95
|
+
firstName: string | null;
|
|
96
|
+
/**
|
|
97
|
+
* Last name of the user
|
|
98
|
+
* @type {string}
|
|
99
|
+
* @memberof SignUpResponse
|
|
100
|
+
*/
|
|
101
|
+
lastName: string | null;
|
|
102
|
+
/**
|
|
103
|
+
*
|
|
104
|
+
* @type {IdpType}
|
|
105
|
+
* @memberof SignUpResponse
|
|
106
|
+
*/
|
|
107
|
+
idpType: IdpType;
|
|
108
|
+
/**
|
|
109
|
+
* Current tenant ID the user is logged into
|
|
110
|
+
* @type {string}
|
|
111
|
+
* @memberof SignUpResponse
|
|
112
|
+
*/
|
|
113
|
+
currentTenantId: string;
|
|
114
|
+
/**
|
|
115
|
+
*
|
|
116
|
+
* @type {TenantUserRole}
|
|
117
|
+
* @memberof SignUpResponse
|
|
118
|
+
*/
|
|
119
|
+
currentTenantRole: TenantUserRole;
|
|
120
|
+
/**
|
|
121
|
+
* Default tenant ID the user shall be logged into
|
|
122
|
+
* @type {string}
|
|
123
|
+
* @memberof SignUpResponse
|
|
124
|
+
*/
|
|
125
|
+
defaultTenantId: string;
|
|
126
|
+
/**
|
|
127
|
+
* User's job title at the current tenant (per-membership)
|
|
128
|
+
* @type {string}
|
|
129
|
+
* @memberof SignUpResponse
|
|
130
|
+
*/
|
|
131
|
+
jobTitle?: string | null;
|
|
132
|
+
/**
|
|
133
|
+
* User's department at the current tenant (per-membership)
|
|
134
|
+
* @type {string}
|
|
135
|
+
* @memberof SignUpResponse
|
|
136
|
+
*/
|
|
137
|
+
department?: string | null;
|
|
138
|
+
/**
|
|
139
|
+
* What the user wrote about themselves at the current tenant. The chat agent reads it on every turn.
|
|
140
|
+
* @type {string}
|
|
141
|
+
* @memberof SignUpResponse
|
|
142
|
+
*/
|
|
143
|
+
bio?: string | null;
|
|
144
|
+
/**
|
|
145
|
+
* Presigned URL of the user's profile photo at the current tenant. Expires after six hours; read GET /v1/users/me again for a fresh one.
|
|
146
|
+
* @type {string}
|
|
147
|
+
* @memberof SignUpResponse
|
|
148
|
+
*/
|
|
149
|
+
avatarUrl?: string | null;
|
|
150
|
+
/**
|
|
151
|
+
* When the user finished onboarding for the current tenant. NULL = wizard should be shown.
|
|
152
|
+
* @type {Date}
|
|
153
|
+
* @memberof SignUpResponse
|
|
154
|
+
*/
|
|
155
|
+
onboardingCompletedAt?: Date | null;
|
|
156
|
+
/**
|
|
157
|
+
*
|
|
158
|
+
* @type {TenantUserJoinMethod}
|
|
159
|
+
* @memberof SignUpResponse
|
|
160
|
+
*/
|
|
161
|
+
joinMethod: TenantUserJoinMethod;
|
|
162
|
+
/**
|
|
163
|
+
* Resume step and guide progress for the current membership.
|
|
164
|
+
* @type {OnboardingState}
|
|
165
|
+
* @memberof SignUpResponse
|
|
166
|
+
*/
|
|
167
|
+
onboardingState?: OnboardingState | null;
|
|
168
|
+
/**
|
|
169
|
+
* Who sent the accepted invite that created the current membership. NULL when the membership did not come from an email invite, and on the sign-in and sign-up responses; read it from GET /v1/users/me.
|
|
170
|
+
* @type {UserInfo}
|
|
171
|
+
* @memberof SignUpResponse
|
|
172
|
+
*/
|
|
173
|
+
invitedBy?: UserInfo | null;
|
|
174
|
+
/**
|
|
175
|
+
*
|
|
176
|
+
* @type {AddedBy}
|
|
177
|
+
* @memberof SignUpResponse
|
|
178
|
+
*/
|
|
179
|
+
addedBy?: AddedBy;
|
|
180
|
+
/**
|
|
181
|
+
* Profile fields the identity provider overwrites on every sync, so clients render them read-only. Empty unless directory-managed.
|
|
182
|
+
* @type {Array<string>}
|
|
183
|
+
* @memberof SignUpResponse
|
|
184
|
+
*/
|
|
185
|
+
idpManagedFields?: Array<string>;
|
|
186
|
+
/**
|
|
187
|
+
* The current tenant's onboarding switch: true forces the flow on, false hides it, NULL follows the deployment default.
|
|
188
|
+
* @type {boolean}
|
|
189
|
+
* @memberof SignUpResponse
|
|
190
|
+
*/
|
|
191
|
+
onboardingEnabled?: boolean | null;
|
|
192
|
+
/**
|
|
193
|
+
*
|
|
194
|
+
* @type {InviteRejection}
|
|
195
|
+
* @memberof SignUpResponse
|
|
196
|
+
*/
|
|
197
|
+
inviteRejection?: InviteRejection;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
export const SignUpResponsePropertyValidationAttributesMap: {
|
|
202
|
+
[property: string]: {
|
|
203
|
+
maxLength?: number,
|
|
204
|
+
minLength?: number,
|
|
205
|
+
pattern?: string,
|
|
206
|
+
maximum?: number,
|
|
207
|
+
exclusiveMaximum?: boolean,
|
|
208
|
+
minimum?: number,
|
|
209
|
+
exclusiveMinimum?: boolean,
|
|
210
|
+
multipleOf?: number,
|
|
211
|
+
maxItems?: number,
|
|
212
|
+
minItems?: number,
|
|
213
|
+
uniqueItems?: boolean
|
|
214
|
+
}
|
|
215
|
+
} = {
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* Check if a given object implements the SignUpResponse interface.
|
|
221
|
+
*/
|
|
222
|
+
export function instanceOfSignUpResponse(value: object): value is SignUpResponse {
|
|
223
|
+
if (!('id' in value) || value['id'] === undefined) return false;
|
|
224
|
+
if (!('email' in value) || value['email'] === undefined) return false;
|
|
225
|
+
if (!('firstName' in value) || value['firstName'] === undefined) return false;
|
|
226
|
+
if (!('lastName' in value) || value['lastName'] === undefined) return false;
|
|
227
|
+
if (!('idpType' in value) || value['idpType'] === undefined) return false;
|
|
228
|
+
if (!('currentTenantId' in value) || value['currentTenantId'] === undefined) return false;
|
|
229
|
+
if (!('currentTenantRole' in value) || value['currentTenantRole'] === undefined) return false;
|
|
230
|
+
if (!('defaultTenantId' in value) || value['defaultTenantId'] === undefined) return false;
|
|
231
|
+
if (!('joinMethod' in value) || value['joinMethod'] === undefined) return false;
|
|
232
|
+
return true;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
export function SignUpResponseFromJSON(json: any): SignUpResponse {
|
|
236
|
+
return SignUpResponseFromJSONTyped(json, false);
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
export function SignUpResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): SignUpResponse {
|
|
240
|
+
if (json == null) {
|
|
241
|
+
return json;
|
|
242
|
+
}
|
|
243
|
+
return {
|
|
244
|
+
|
|
245
|
+
'id': json['id'],
|
|
246
|
+
'email': json['email'],
|
|
247
|
+
'phoneNumber': json['phone_number'] == null ? undefined : json['phone_number'],
|
|
248
|
+
'firstName': json['first_name'],
|
|
249
|
+
'lastName': json['last_name'],
|
|
250
|
+
'idpType': IdpTypeFromJSON(json['idp_type']),
|
|
251
|
+
'currentTenantId': json['current_tenant_id'],
|
|
252
|
+
'currentTenantRole': TenantUserRoleFromJSON(json['current_tenant_role']),
|
|
253
|
+
'defaultTenantId': json['default_tenant_id'],
|
|
254
|
+
'jobTitle': json['job_title'] == null ? undefined : json['job_title'],
|
|
255
|
+
'department': json['department'] == null ? undefined : json['department'],
|
|
256
|
+
'bio': json['bio'] == null ? undefined : json['bio'],
|
|
257
|
+
'avatarUrl': json['avatar_url'] == null ? undefined : json['avatar_url'],
|
|
258
|
+
'onboardingCompletedAt': json['onboarding_completed_at'] == null ? undefined : (new Date(json['onboarding_completed_at'])),
|
|
259
|
+
'joinMethod': TenantUserJoinMethodFromJSON(json['join_method']),
|
|
260
|
+
'onboardingState': json['onboarding_state'] == null ? undefined : OnboardingStateFromJSON(json['onboarding_state']),
|
|
261
|
+
'invitedBy': json['invited_by'] == null ? undefined : UserInfoFromJSON(json['invited_by']),
|
|
262
|
+
'addedBy': json['added_by'] == null ? undefined : AddedByFromJSON(json['added_by']),
|
|
263
|
+
'idpManagedFields': json['idp_managed_fields'] == null ? undefined : json['idp_managed_fields'],
|
|
264
|
+
'onboardingEnabled': json['onboarding_enabled'] == null ? undefined : json['onboarding_enabled'],
|
|
265
|
+
'inviteRejection': json['invite_rejection'] == null ? undefined : InviteRejectionFromJSON(json['invite_rejection']),
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
export function SignUpResponseToJSON(json: any): SignUpResponse {
|
|
270
|
+
return SignUpResponseToJSONTyped(json, false);
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
export function SignUpResponseToJSONTyped(value?: SignUpResponse | null, ignoreDiscriminator: boolean = false): any {
|
|
274
|
+
if (value == null) {
|
|
275
|
+
return value;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
return {
|
|
279
|
+
|
|
280
|
+
'id': value['id'],
|
|
281
|
+
'email': value['email'],
|
|
282
|
+
'phone_number': value['phoneNumber'],
|
|
283
|
+
'first_name': value['firstName'],
|
|
284
|
+
'last_name': value['lastName'],
|
|
285
|
+
'idp_type': IdpTypeToJSON(value['idpType']),
|
|
286
|
+
'current_tenant_id': value['currentTenantId'],
|
|
287
|
+
'current_tenant_role': TenantUserRoleToJSON(value['currentTenantRole']),
|
|
288
|
+
'default_tenant_id': value['defaultTenantId'],
|
|
289
|
+
'job_title': value['jobTitle'],
|
|
290
|
+
'department': value['department'],
|
|
291
|
+
'bio': value['bio'],
|
|
292
|
+
'avatar_url': value['avatarUrl'],
|
|
293
|
+
'onboarding_completed_at': value['onboardingCompletedAt'] == null ? value['onboardingCompletedAt'] : value['onboardingCompletedAt'].toISOString(),
|
|
294
|
+
'join_method': TenantUserJoinMethodToJSON(value['joinMethod']),
|
|
295
|
+
'onboarding_state': OnboardingStateToJSON(value['onboardingState']),
|
|
296
|
+
'invited_by': UserInfoToJSON(value['invitedBy']),
|
|
297
|
+
'added_by': AddedByToJSON(value['addedBy']),
|
|
298
|
+
'idp_managed_fields': value['idpManagedFields'],
|
|
299
|
+
'onboarding_enabled': value['onboardingEnabled'],
|
|
300
|
+
'invite_rejection': InviteRejectionToJSON(value['inviteRejection']),
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
|