@knowledge-stack/ksapi 3.11.0 → 3.12.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 (145) hide show
  1. package/.openapi-generator/FILES +26 -4
  2. package/README.md +18 -6
  3. package/dist/apis/AuthApi.d.ts +12 -9
  4. package/dist/apis/AuthApi.js +5 -2
  5. package/dist/apis/FeedbackApi.d.ts +10 -7
  6. package/dist/apis/FeedbackApi.js +5 -2
  7. package/dist/apis/InvitesApi.d.ts +39 -1
  8. package/dist/apis/InvitesApi.js +41 -0
  9. package/dist/apis/UsersApi.d.ts +51 -59
  10. package/dist/apis/UsersApi.js +50 -57
  11. package/dist/esm/apis/AuthApi.d.ts +12 -9
  12. package/dist/esm/apis/AuthApi.js +6 -3
  13. package/dist/esm/apis/FeedbackApi.d.ts +10 -7
  14. package/dist/esm/apis/FeedbackApi.js +5 -2
  15. package/dist/esm/apis/InvitesApi.d.ts +39 -1
  16. package/dist/esm/apis/InvitesApi.js +42 -1
  17. package/dist/esm/apis/UsersApi.d.ts +51 -59
  18. package/dist/esm/apis/UsersApi.js +51 -58
  19. package/dist/esm/models/{OnboardingProfileRequest.d.ts → AccessRequestResponse.d.ts} +14 -26
  20. package/dist/esm/models/{OnboardingCompanyRequest.js → AccessRequestResponse.js} +13 -20
  21. package/dist/esm/models/AddedBy.d.ts +25 -0
  22. package/dist/esm/models/AddedBy.js +43 -0
  23. package/dist/esm/models/CreatePasswordUserRequest.d.ts +6 -0
  24. package/dist/esm/models/CreatePasswordUserRequest.js +2 -0
  25. package/dist/esm/models/ErrorResponse.d.ts +2 -0
  26. package/dist/esm/models/ErrorResponse.js +2 -0
  27. package/dist/esm/models/FeaturesResponse.d.ts +7 -0
  28. package/dist/esm/models/FeaturesResponse.js +5 -0
  29. package/dist/esm/models/GuideModuleProgress.d.ts +66 -0
  30. package/dist/{models/OnboardingProfileRequest.js → esm/models/GuideModuleProgress.js} +31 -25
  31. package/dist/esm/models/GuideModuleStatus.d.ts +26 -0
  32. package/dist/esm/models/GuideModuleStatus.js +44 -0
  33. package/dist/esm/models/GuideModules.d.ts +126 -0
  34. package/dist/esm/models/GuideModules.js +69 -0
  35. package/dist/esm/models/InvitePreviewResponse.d.ts +80 -0
  36. package/dist/esm/models/InvitePreviewResponse.js +57 -0
  37. package/dist/esm/models/InvitePreviewState.d.ts +28 -0
  38. package/dist/esm/models/InvitePreviewState.js +46 -0
  39. package/dist/esm/models/InviteRejection.d.ts +30 -0
  40. package/dist/esm/models/InviteRejection.js +48 -0
  41. package/dist/esm/models/KbSummaryResponse.d.ts +8 -0
  42. package/dist/esm/models/KbSummaryResponse.js +4 -0
  43. package/dist/esm/models/{OnboardingCompanyRequest.d.ts → OnboardingState.d.ts} +26 -18
  44. package/dist/esm/models/{OnboardingProfileRequest.js → OnboardingState.js} +17 -19
  45. package/dist/esm/models/OnboardingStateUpdate.d.ts +61 -0
  46. package/dist/esm/models/OnboardingStateUpdate.js +48 -0
  47. package/dist/esm/models/OnboardingStep.d.ts +27 -0
  48. package/dist/esm/models/OnboardingStep.js +45 -0
  49. package/dist/esm/models/SignUpResponse.d.ts +174 -0
  50. package/dist/esm/models/SignUpResponse.js +107 -0
  51. package/dist/esm/models/TenantResponse.d.ts +7 -0
  52. package/dist/esm/models/TenantResponse.js +5 -0
  53. package/dist/esm/models/TenantUserJoinMethod.d.ts +26 -0
  54. package/dist/esm/models/TenantUserJoinMethod.js +44 -0
  55. package/dist/esm/models/UserResponse.d.ts +40 -0
  56. package/dist/esm/models/UserResponse.js +18 -0
  57. package/dist/esm/models/index.d.ts +13 -2
  58. package/dist/esm/models/index.js +13 -2
  59. package/dist/models/{OnboardingProfileRequest.d.ts → AccessRequestResponse.d.ts} +14 -26
  60. package/dist/models/{OnboardingCompanyRequest.js → AccessRequestResponse.js} +19 -26
  61. package/dist/models/AddedBy.d.ts +25 -0
  62. package/dist/models/AddedBy.js +51 -0
  63. package/dist/models/CreatePasswordUserRequest.d.ts +6 -0
  64. package/dist/models/CreatePasswordUserRequest.js +2 -0
  65. package/dist/models/ErrorResponse.d.ts +2 -0
  66. package/dist/models/ErrorResponse.js +2 -0
  67. package/dist/models/FeaturesResponse.d.ts +7 -0
  68. package/dist/models/FeaturesResponse.js +5 -0
  69. package/dist/models/GuideModuleProgress.d.ts +66 -0
  70. package/dist/models/GuideModuleProgress.js +72 -0
  71. package/dist/models/GuideModuleStatus.d.ts +26 -0
  72. package/dist/models/GuideModuleStatus.js +52 -0
  73. package/dist/models/GuideModules.d.ts +126 -0
  74. package/dist/models/GuideModules.js +77 -0
  75. package/dist/models/InvitePreviewResponse.d.ts +80 -0
  76. package/dist/models/InvitePreviewResponse.js +65 -0
  77. package/dist/models/InvitePreviewState.d.ts +28 -0
  78. package/dist/models/InvitePreviewState.js +54 -0
  79. package/dist/models/InviteRejection.d.ts +30 -0
  80. package/dist/models/InviteRejection.js +56 -0
  81. package/dist/models/KbSummaryResponse.d.ts +8 -0
  82. package/dist/models/KbSummaryResponse.js +4 -0
  83. package/dist/models/{OnboardingCompanyRequest.d.ts → OnboardingState.d.ts} +26 -18
  84. package/dist/models/OnboardingState.js +56 -0
  85. package/dist/models/OnboardingStateUpdate.d.ts +61 -0
  86. package/dist/models/OnboardingStateUpdate.js +56 -0
  87. package/dist/models/OnboardingStep.d.ts +27 -0
  88. package/dist/models/OnboardingStep.js +53 -0
  89. package/dist/models/SignUpResponse.d.ts +174 -0
  90. package/dist/models/SignUpResponse.js +115 -0
  91. package/dist/models/TenantResponse.d.ts +7 -0
  92. package/dist/models/TenantResponse.js +5 -0
  93. package/dist/models/TenantUserJoinMethod.d.ts +26 -0
  94. package/dist/models/TenantUserJoinMethod.js +52 -0
  95. package/dist/models/UserResponse.d.ts +40 -0
  96. package/dist/models/UserResponse.js +18 -0
  97. package/dist/models/index.d.ts +13 -2
  98. package/dist/models/index.js +13 -2
  99. package/docs/{OnboardingCompanyRequest.md → AccessRequestResponse.md} +6 -9
  100. package/docs/{OnboardingProfileRequest.md → AddedBy.md} +4 -11
  101. package/docs/AuthApi.md +8 -5
  102. package/docs/CreatePasswordUserRequest.md +2 -0
  103. package/docs/FeaturesResponse.md +2 -0
  104. package/docs/FeedbackApi.md +8 -5
  105. package/docs/GuideModuleProgress.md +40 -0
  106. package/docs/GuideModuleStatus.md +32 -0
  107. package/docs/GuideModules.md +60 -0
  108. package/docs/InvitePreviewResponse.md +44 -0
  109. package/docs/InvitePreviewState.md +32 -0
  110. package/docs/InviteRejection.md +32 -0
  111. package/docs/InvitesApi.md +70 -0
  112. package/docs/KbSummaryResponse.md +2 -0
  113. package/docs/OnboardingState.md +39 -0
  114. package/docs/OnboardingStateUpdate.md +38 -0
  115. package/docs/OnboardingStep.md +32 -0
  116. package/docs/SignUpResponse.md +74 -0
  117. package/docs/TenantResponse.md +2 -0
  118. package/docs/TenantUserJoinMethod.md +32 -0
  119. package/docs/UserResponse.md +12 -0
  120. package/docs/UsersApi.md +36 -47
  121. package/package.json +1 -1
  122. package/src/apis/AuthApi.ts +20 -10
  123. package/src/apis/FeedbackApi.ts +14 -7
  124. package/src/apis/InvitesApi.ts +78 -0
  125. package/src/apis/UsersApi.ts +91 -110
  126. package/src/models/{OnboardingCompanyRequest.ts → AccessRequestResponse.ts} +19 -32
  127. package/src/models/AddedBy.ts +53 -0
  128. package/src/models/CreatePasswordUserRequest.ts +8 -0
  129. package/src/models/ErrorResponse.ts +2 -0
  130. package/src/models/FeaturesResponse.ts +16 -0
  131. package/src/models/GuideModuleProgress.ts +127 -0
  132. package/src/models/GuideModuleStatus.ts +54 -0
  133. package/src/models/GuideModules.ts +194 -0
  134. package/src/models/InvitePreviewResponse.ts +147 -0
  135. package/src/models/InvitePreviewState.ts +56 -0
  136. package/src/models/InviteRejection.ts +58 -0
  137. package/src/models/KbSummaryResponse.ts +9 -0
  138. package/src/models/{OnboardingProfileRequest.ts → OnboardingState.ts} +47 -33
  139. package/src/models/OnboardingStateUpdate.ts +115 -0
  140. package/src/models/OnboardingStep.ts +55 -0
  141. package/src/models/SignUpResponse.ts +303 -0
  142. package/src/models/TenantResponse.ts +16 -0
  143. package/src/models/TenantUserJoinMethod.ts +54 -0
  144. package/src/models/UserResponse.ts +77 -0
  145. package/src/models/index.ts +13 -2
@@ -0,0 +1,25 @@
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
+ */
16
+ export declare const AddedBy: {
17
+ readonly DirectorySync: 'directory_sync';
18
+ readonly Operator: 'operator';
19
+ };
20
+ export type AddedBy = typeof AddedBy[keyof typeof AddedBy];
21
+ export declare function instanceOfAddedBy(value: any): boolean;
22
+ export declare function AddedByFromJSON(json: any): AddedBy;
23
+ export declare function AddedByFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddedBy;
24
+ export declare function AddedByToJSON(value?: AddedBy | null): any;
25
+ export declare function AddedByToJSONTyped(value: any, ignoreDiscriminator: boolean): AddedBy;
@@ -0,0 +1,43 @@
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
+ * @export
17
+ */
18
+ export const AddedBy = {
19
+ DirectorySync: 'directory_sync',
20
+ Operator: 'operator'
21
+ };
22
+ export function instanceOfAddedBy(value) {
23
+ for (const key in AddedBy) {
24
+ if (Object.prototype.hasOwnProperty.call(AddedBy, key)) {
25
+ if (AddedBy[key] === value) {
26
+ return true;
27
+ }
28
+ }
29
+ }
30
+ return false;
31
+ }
32
+ export function AddedByFromJSON(json) {
33
+ return AddedByFromJSONTyped(json, false);
34
+ }
35
+ export function AddedByFromJSONTyped(json, ignoreDiscriminator) {
36
+ return json;
37
+ }
38
+ export function AddedByToJSON(value) {
39
+ return value;
40
+ }
41
+ export function AddedByToJSONTyped(value, ignoreDiscriminator) {
42
+ return value;
43
+ }
@@ -39,6 +39,12 @@ export interface CreatePasswordUserRequest {
39
39
  * @memberof CreatePasswordUserRequest
40
40
  */
41
41
  lastName?: string | null;
42
+ /**
43
+ * Invite to resolve before any workspace is provisioned. When it is valid for the verified email the account joins that tenant only; otherwise sign-up proceeds as usual and invite_rejection says why.
44
+ * @type {string}
45
+ * @memberof CreatePasswordUserRequest
46
+ */
47
+ inviteId?: string | null;
42
48
  }
43
49
  export declare const CreatePasswordUserRequestPropertyValidationAttributesMap: {
44
50
  [property: string]: {
@@ -38,6 +38,7 @@ export function CreatePasswordUserRequestFromJSONTyped(json, ignoreDiscriminator
38
38
  'emailToken': json['email_token'],
39
39
  'firstName': json['first_name'] == null ? undefined : json['first_name'],
40
40
  'lastName': json['last_name'] == null ? undefined : json['last_name'],
41
+ 'inviteId': json['invite_id'] == null ? undefined : json['invite_id'],
41
42
  };
42
43
  }
43
44
  export function CreatePasswordUserRequestToJSON(json) {
@@ -52,5 +53,6 @@ export function CreatePasswordUserRequestToJSONTyped(value, ignoreDiscriminator
52
53
  'email_token': value['emailToken'],
53
54
  'first_name': value['firstName'],
54
55
  'last_name': value['lastName'],
56
+ 'invite_id': value['inviteId'],
55
57
  };
56
58
  }
@@ -43,8 +43,10 @@ export declare const ErrorResponseCodeEnum: {
43
43
  readonly PermissionLimit: 'permission_limit';
44
44
  readonly Unauthorized: 'unauthorized';
45
45
  readonly Forbidden: 'forbidden';
46
+ readonly NoWorkspace: 'no_workspace';
46
47
  readonly NotFound: 'not_found';
47
48
  readonly Conflict: 'conflict';
49
+ readonly TenantDeactivated: 'tenant_deactivated';
48
50
  readonly RunBusy: 'run_busy';
49
51
  readonly PayloadTooLarge: 'payload_too_large';
50
52
  readonly UnsupportedMediaType: 'unsupported_media_type';
@@ -20,8 +20,10 @@ export const ErrorResponseCodeEnum = {
20
20
  PermissionLimit: 'permission_limit',
21
21
  Unauthorized: 'unauthorized',
22
22
  Forbidden: 'forbidden',
23
+ NoWorkspace: 'no_workspace',
23
24
  NotFound: 'not_found',
24
25
  Conflict: 'conflict',
26
+ TenantDeactivated: 'tenant_deactivated',
25
27
  RunBusy: 'run_busy',
26
28
  PayloadTooLarge: 'payload_too_large',
27
29
  UnsupportedMediaType: 'unsupported_media_type',
@@ -11,6 +11,7 @@
11
11
  */
12
12
  import type { SupportedLanguage } from './SupportedLanguage';
13
13
  import type { UploadConstraints } from './UploadConstraints';
14
+ import type { DataSourceEngine } from './DataSourceEngine';
14
15
  /**
15
16
  *
16
17
  * @export
@@ -53,6 +54,12 @@ export interface FeaturesResponse {
53
54
  * @memberof FeaturesResponse
54
55
  */
55
56
  upload: UploadConstraints;
57
+ /**
58
+ *
59
+ * @type {Array<DataSourceEngine>}
60
+ * @memberof FeaturesResponse
61
+ */
62
+ dataSourceEngines: Array<DataSourceEngine>;
56
63
  }
57
64
  export declare const FeaturesResponsePropertyValidationAttributesMap: {
58
65
  [property: string]: {
@@ -13,6 +13,7 @@
13
13
  */
14
14
  import { SupportedLanguageFromJSON, SupportedLanguageToJSON, } from './SupportedLanguage';
15
15
  import { UploadConstraintsFromJSON, UploadConstraintsToJSON, } from './UploadConstraints';
16
+ import { DataSourceEngineFromJSON, DataSourceEngineToJSON, } from './DataSourceEngine';
16
17
  export const FeaturesResponsePropertyValidationAttributesMap = {};
17
18
  /**
18
19
  * Check if a given object implements the FeaturesResponse interface.
@@ -30,6 +31,8 @@ export function instanceOfFeaturesResponse(value) {
30
31
  return false;
31
32
  if (!('upload' in value) || value['upload'] === undefined)
32
33
  return false;
34
+ if (!('dataSourceEngines' in value) || value['dataSourceEngines'] === undefined)
35
+ return false;
33
36
  return true;
34
37
  }
35
38
  export function FeaturesResponseFromJSON(json) {
@@ -46,6 +49,7 @@ export function FeaturesResponseFromJSONTyped(json, ignoreDiscriminator) {
46
49
  'smsLoginEnabled': json['sms_login_enabled'],
47
50
  'defaultFrontendLanguage': SupportedLanguageFromJSON(json['default_frontend_language']),
48
51
  'upload': UploadConstraintsFromJSON(json['upload']),
52
+ 'dataSourceEngines': (json['data_source_engines'].map(DataSourceEngineFromJSON)),
49
53
  };
50
54
  }
51
55
  export function FeaturesResponseToJSON(json) {
@@ -62,5 +66,6 @@ export function FeaturesResponseToJSONTyped(value, ignoreDiscriminator = false)
62
66
  'sms_login_enabled': value['smsLoginEnabled'],
63
67
  'default_frontend_language': SupportedLanguageToJSON(value['defaultFrontendLanguage']),
64
68
  'upload': UploadConstraintsToJSON(value['upload']),
69
+ 'data_source_engines': (value['dataSourceEngines'].map(DataSourceEngineToJSON)),
65
70
  };
66
71
  }
@@ -0,0 +1,66 @@
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 { GuideModuleStatus } from './GuideModuleStatus';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface GuideModuleProgress
17
+ */
18
+ export interface GuideModuleProgress {
19
+ /**
20
+ *
21
+ * @type {GuideModuleStatus}
22
+ * @memberof GuideModuleProgress
23
+ */
24
+ status: GuideModuleStatus;
25
+ /**
26
+ * Index of the last step the person reached
27
+ * @type {number}
28
+ * @memberof GuideModuleProgress
29
+ */
30
+ step: number;
31
+ /**
32
+ * Version of the module definition
33
+ * @type {number}
34
+ * @memberof GuideModuleProgress
35
+ */
36
+ version: number;
37
+ /**
38
+ * Server-stamped when the module first became COMPLETED; a client value is ignored. Null while not completed.
39
+ * @type {Date}
40
+ * @memberof GuideModuleProgress
41
+ */
42
+ completedAt?: Date | null;
43
+ }
44
+ export declare const GuideModuleProgressPropertyValidationAttributesMap: {
45
+ [property: string]: {
46
+ maxLength?: number;
47
+ minLength?: number;
48
+ pattern?: string;
49
+ maximum?: number;
50
+ exclusiveMaximum?: boolean;
51
+ minimum?: number;
52
+ exclusiveMinimum?: boolean;
53
+ multipleOf?: number;
54
+ maxItems?: number;
55
+ minItems?: number;
56
+ uniqueItems?: boolean;
57
+ };
58
+ };
59
+ /**
60
+ * Check if a given object implements the GuideModuleProgress interface.
61
+ */
62
+ export declare function instanceOfGuideModuleProgress(value: object): value is GuideModuleProgress;
63
+ export declare function GuideModuleProgressFromJSON(json: any): GuideModuleProgress;
64
+ export declare function GuideModuleProgressFromJSONTyped(json: any, ignoreDiscriminator: boolean): GuideModuleProgress;
65
+ export declare function GuideModuleProgressToJSON(json: any): GuideModuleProgress;
66
+ export declare function GuideModuleProgressToJSONTyped(value?: GuideModuleProgress | null, ignoreDiscriminator?: boolean): any;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /* tslint:disable */
3
2
  /* eslint-disable */
4
3
  /**
@@ -12,47 +11,54 @@
12
11
  * https://openapi-generator.tech
13
12
  * Do not edit the class manually.
14
13
  */
15
- Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.OnboardingProfileRequestPropertyValidationAttributesMap = void 0;
17
- exports.instanceOfOnboardingProfileRequest = instanceOfOnboardingProfileRequest;
18
- exports.OnboardingProfileRequestFromJSON = OnboardingProfileRequestFromJSON;
19
- exports.OnboardingProfileRequestFromJSONTyped = OnboardingProfileRequestFromJSONTyped;
20
- exports.OnboardingProfileRequestToJSON = OnboardingProfileRequestToJSON;
21
- exports.OnboardingProfileRequestToJSONTyped = OnboardingProfileRequestToJSONTyped;
22
- exports.OnboardingProfileRequestPropertyValidationAttributesMap = {
23
- jobTitle: {
24
- maxLength: 120,
14
+ import { GuideModuleStatusFromJSON, GuideModuleStatusToJSON, } from './GuideModuleStatus';
15
+ export const GuideModuleProgressPropertyValidationAttributesMap = {
16
+ step: {
17
+ minimum: 0,
18
+ exclusiveMinimum: false,
19
+ },
20
+ version: {
21
+ minimum: 1,
22
+ exclusiveMinimum: false,
25
23
  },
26
24
  };
27
25
  /**
28
- * Check if a given object implements the OnboardingProfileRequest interface.
26
+ * Check if a given object implements the GuideModuleProgress interface.
29
27
  */
30
- function instanceOfOnboardingProfileRequest(value) {
28
+ export function instanceOfGuideModuleProgress(value) {
29
+ if (!('status' in value) || value['status'] === undefined)
30
+ return false;
31
+ if (!('step' in value) || value['step'] === undefined)
32
+ return false;
33
+ if (!('version' in value) || value['version'] === undefined)
34
+ return false;
31
35
  return true;
32
36
  }
33
- function OnboardingProfileRequestFromJSON(json) {
34
- return OnboardingProfileRequestFromJSONTyped(json, false);
37
+ export function GuideModuleProgressFromJSON(json) {
38
+ return GuideModuleProgressFromJSONTyped(json, false);
35
39
  }
36
- function OnboardingProfileRequestFromJSONTyped(json, ignoreDiscriminator) {
40
+ export function GuideModuleProgressFromJSONTyped(json, ignoreDiscriminator) {
37
41
  if (json == null) {
38
42
  return json;
39
43
  }
40
44
  return {
41
- 'firstName': json['first_name'] == null ? undefined : json['first_name'],
42
- 'lastName': json['last_name'] == null ? undefined : json['last_name'],
43
- 'jobTitle': json['job_title'] == null ? undefined : json['job_title'],
45
+ 'status': GuideModuleStatusFromJSON(json['status']),
46
+ 'step': json['step'],
47
+ 'version': json['version'],
48
+ 'completedAt': json['completed_at'] == null ? undefined : (new Date(json['completed_at'])),
44
49
  };
45
50
  }
46
- function OnboardingProfileRequestToJSON(json) {
47
- return OnboardingProfileRequestToJSONTyped(json, false);
51
+ export function GuideModuleProgressToJSON(json) {
52
+ return GuideModuleProgressToJSONTyped(json, false);
48
53
  }
49
- function OnboardingProfileRequestToJSONTyped(value, ignoreDiscriminator = false) {
54
+ export function GuideModuleProgressToJSONTyped(value, ignoreDiscriminator = false) {
50
55
  if (value == null) {
51
56
  return value;
52
57
  }
53
58
  return {
54
- 'first_name': value['firstName'],
55
- 'last_name': value['lastName'],
56
- 'job_title': value['jobTitle'],
59
+ 'status': GuideModuleStatusToJSON(value['status']),
60
+ 'step': value['step'],
61
+ 'version': value['version'],
62
+ 'completed_at': value['completedAt'] == null ? value['completedAt'] : value['completedAt'].toISOString(),
57
63
  };
58
64
  }
@@ -0,0 +1,26 @@
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
+ */
16
+ export declare const GuideModuleStatus: {
17
+ readonly InProgress: 'IN_PROGRESS';
18
+ readonly Completed: 'COMPLETED';
19
+ readonly Dismissed: 'DISMISSED';
20
+ };
21
+ export type GuideModuleStatus = typeof GuideModuleStatus[keyof typeof GuideModuleStatus];
22
+ export declare function instanceOfGuideModuleStatus(value: any): boolean;
23
+ export declare function GuideModuleStatusFromJSON(json: any): GuideModuleStatus;
24
+ export declare function GuideModuleStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): GuideModuleStatus;
25
+ export declare function GuideModuleStatusToJSON(value?: GuideModuleStatus | null): any;
26
+ export declare function GuideModuleStatusToJSONTyped(value: any, ignoreDiscriminator: boolean): GuideModuleStatus;
@@ -0,0 +1,44 @@
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
+ * @export
17
+ */
18
+ export const GuideModuleStatus = {
19
+ InProgress: 'IN_PROGRESS',
20
+ Completed: 'COMPLETED',
21
+ Dismissed: 'DISMISSED'
22
+ };
23
+ export function instanceOfGuideModuleStatus(value) {
24
+ for (const key in GuideModuleStatus) {
25
+ if (Object.prototype.hasOwnProperty.call(GuideModuleStatus, key)) {
26
+ if (GuideModuleStatus[key] === value) {
27
+ return true;
28
+ }
29
+ }
30
+ }
31
+ return false;
32
+ }
33
+ export function GuideModuleStatusFromJSON(json) {
34
+ return GuideModuleStatusFromJSONTyped(json, false);
35
+ }
36
+ export function GuideModuleStatusFromJSONTyped(json, ignoreDiscriminator) {
37
+ return json;
38
+ }
39
+ export function GuideModuleStatusToJSON(value) {
40
+ return value;
41
+ }
42
+ export function GuideModuleStatusToJSONTyped(value, ignoreDiscriminator) {
43
+ return value;
44
+ }
@@ -0,0 +1,126 @@
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 { GuideModuleProgress } from './GuideModuleProgress';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface GuideModules
17
+ */
18
+ export interface GuideModules {
19
+ /**
20
+ *
21
+ * @type {GuideModuleProgress}
22
+ * @memberof GuideModules
23
+ */
24
+ core?: GuideModuleProgress | null;
25
+ /**
26
+ *
27
+ * @type {GuideModuleProgress}
28
+ * @memberof GuideModules
29
+ */
30
+ groundedAnswers?: GuideModuleProgress | null;
31
+ /**
32
+ *
33
+ * @type {GuideModuleProgress}
34
+ * @memberof GuideModules
35
+ */
36
+ knowledge?: GuideModuleProgress | null;
37
+ /**
38
+ *
39
+ * @type {GuideModuleProgress}
40
+ * @memberof GuideModules
41
+ */
42
+ repeatableWork?: GuideModuleProgress | null;
43
+ /**
44
+ *
45
+ * @type {GuideModuleProgress}
46
+ * @memberof GuideModules
47
+ */
48
+ access?: GuideModuleProgress | null;
49
+ /**
50
+ *
51
+ * @type {GuideModuleProgress}
52
+ * @memberof GuideModules
53
+ */
54
+ administration?: GuideModuleProgress | null;
55
+ /**
56
+ *
57
+ * @type {GuideModuleProgress}
58
+ * @memberof GuideModules
59
+ */
60
+ documents?: GuideModuleProgress | null;
61
+ /**
62
+ *
63
+ * @type {GuideModuleProgress}
64
+ * @memberof GuideModules
65
+ */
66
+ workflowRuns?: GuideModuleProgress | null;
67
+ /**
68
+ *
69
+ * @type {GuideModuleProgress}
70
+ * @memberof GuideModules
71
+ */
72
+ search?: GuideModuleProgress | null;
73
+ /**
74
+ *
75
+ * @type {GuideModuleProgress}
76
+ * @memberof GuideModules
77
+ */
78
+ workflowSetup?: GuideModuleProgress | null;
79
+ /**
80
+ *
81
+ * @type {GuideModuleProgress}
82
+ * @memberof GuideModules
83
+ */
84
+ skills?: GuideModuleProgress | null;
85
+ /**
86
+ *
87
+ * @type {GuideModuleProgress}
88
+ * @memberof GuideModules
89
+ */
90
+ dashboard?: GuideModuleProgress | null;
91
+ /**
92
+ *
93
+ * @type {GuideModuleProgress}
94
+ * @memberof GuideModules
95
+ */
96
+ groups?: GuideModuleProgress | null;
97
+ /**
98
+ *
99
+ * @type {GuideModuleProgress}
100
+ * @memberof GuideModules
101
+ */
102
+ auditLog?: GuideModuleProgress | null;
103
+ }
104
+ export declare const GuideModulesPropertyValidationAttributesMap: {
105
+ [property: string]: {
106
+ maxLength?: number;
107
+ minLength?: number;
108
+ pattern?: string;
109
+ maximum?: number;
110
+ exclusiveMaximum?: boolean;
111
+ minimum?: number;
112
+ exclusiveMinimum?: boolean;
113
+ multipleOf?: number;
114
+ maxItems?: number;
115
+ minItems?: number;
116
+ uniqueItems?: boolean;
117
+ };
118
+ };
119
+ /**
120
+ * Check if a given object implements the GuideModules interface.
121
+ */
122
+ export declare function instanceOfGuideModules(value: object): value is GuideModules;
123
+ export declare function GuideModulesFromJSON(json: any): GuideModules;
124
+ export declare function GuideModulesFromJSONTyped(json: any, ignoreDiscriminator: boolean): GuideModules;
125
+ export declare function GuideModulesToJSON(json: any): GuideModules;
126
+ export declare function GuideModulesToJSONTyped(value?: GuideModules | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,69 @@
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 { GuideModuleProgressFromJSON, GuideModuleProgressToJSON, } from './GuideModuleProgress';
15
+ export const GuideModulesPropertyValidationAttributesMap = {};
16
+ /**
17
+ * Check if a given object implements the GuideModules interface.
18
+ */
19
+ export function instanceOfGuideModules(value) {
20
+ return true;
21
+ }
22
+ export function GuideModulesFromJSON(json) {
23
+ return GuideModulesFromJSONTyped(json, false);
24
+ }
25
+ export function GuideModulesFromJSONTyped(json, ignoreDiscriminator) {
26
+ if (json == null) {
27
+ return json;
28
+ }
29
+ return {
30
+ 'core': json['core'] == null ? undefined : GuideModuleProgressFromJSON(json['core']),
31
+ 'groundedAnswers': json['grounded_answers'] == null ? undefined : GuideModuleProgressFromJSON(json['grounded_answers']),
32
+ 'knowledge': json['knowledge'] == null ? undefined : GuideModuleProgressFromJSON(json['knowledge']),
33
+ 'repeatableWork': json['repeatable_work'] == null ? undefined : GuideModuleProgressFromJSON(json['repeatable_work']),
34
+ 'access': json['access'] == null ? undefined : GuideModuleProgressFromJSON(json['access']),
35
+ 'administration': json['administration'] == null ? undefined : GuideModuleProgressFromJSON(json['administration']),
36
+ 'documents': json['documents'] == null ? undefined : GuideModuleProgressFromJSON(json['documents']),
37
+ 'workflowRuns': json['workflow_runs'] == null ? undefined : GuideModuleProgressFromJSON(json['workflow_runs']),
38
+ 'search': json['search'] == null ? undefined : GuideModuleProgressFromJSON(json['search']),
39
+ 'workflowSetup': json['workflow_setup'] == null ? undefined : GuideModuleProgressFromJSON(json['workflow_setup']),
40
+ 'skills': json['skills'] == null ? undefined : GuideModuleProgressFromJSON(json['skills']),
41
+ 'dashboard': json['dashboard'] == null ? undefined : GuideModuleProgressFromJSON(json['dashboard']),
42
+ 'groups': json['groups'] == null ? undefined : GuideModuleProgressFromJSON(json['groups']),
43
+ 'auditLog': json['audit_log'] == null ? undefined : GuideModuleProgressFromJSON(json['audit_log']),
44
+ };
45
+ }
46
+ export function GuideModulesToJSON(json) {
47
+ return GuideModulesToJSONTyped(json, false);
48
+ }
49
+ export function GuideModulesToJSONTyped(value, ignoreDiscriminator = false) {
50
+ if (value == null) {
51
+ return value;
52
+ }
53
+ return {
54
+ 'core': GuideModuleProgressToJSON(value['core']),
55
+ 'grounded_answers': GuideModuleProgressToJSON(value['groundedAnswers']),
56
+ 'knowledge': GuideModuleProgressToJSON(value['knowledge']),
57
+ 'repeatable_work': GuideModuleProgressToJSON(value['repeatableWork']),
58
+ 'access': GuideModuleProgressToJSON(value['access']),
59
+ 'administration': GuideModuleProgressToJSON(value['administration']),
60
+ 'documents': GuideModuleProgressToJSON(value['documents']),
61
+ 'workflow_runs': GuideModuleProgressToJSON(value['workflowRuns']),
62
+ 'search': GuideModuleProgressToJSON(value['search']),
63
+ 'workflow_setup': GuideModuleProgressToJSON(value['workflowSetup']),
64
+ 'skills': GuideModuleProgressToJSON(value['skills']),
65
+ 'dashboard': GuideModuleProgressToJSON(value['dashboard']),
66
+ 'groups': GuideModuleProgressToJSON(value['groups']),
67
+ 'audit_log': GuideModuleProgressToJSON(value['auditLog']),
68
+ };
69
+ }