@knowledge-stack/ksapi 1.82.0 → 1.83.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 (62) hide show
  1. package/.openapi-generator/FILES +8 -0
  2. package/README.md +11 -2
  3. package/dist/apis/WorkflowRunsApi.d.ts +233 -1
  4. package/dist/apis/WorkflowRunsApi.js +236 -0
  5. package/dist/esm/apis/WorkflowRunsApi.d.ts +233 -1
  6. package/dist/esm/apis/WorkflowRunsApi.js +237 -1
  7. package/dist/esm/models/CreateWorkflowDefinitionRequest.d.ts +6 -0
  8. package/dist/esm/models/CreateWorkflowDefinitionRequest.js +2 -0
  9. package/dist/esm/models/PathPartApprovalDecision.d.ts +30 -0
  10. package/dist/esm/models/PathPartApprovalDecision.js +48 -0
  11. package/dist/esm/models/PathPartApprovalResponse.d.ts +111 -0
  12. package/dist/esm/models/PathPartApprovalResponse.js +85 -0
  13. package/dist/esm/models/RejectFileRequest.d.ts +47 -0
  14. package/dist/esm/models/RejectFileRequest.js +49 -0
  15. package/dist/esm/models/RunLockResponse.d.ts +59 -0
  16. package/dist/esm/models/RunLockResponse.js +52 -0
  17. package/dist/esm/models/UpdateWorkflowDefinitionRequest.d.ts +6 -0
  18. package/dist/esm/models/UpdateWorkflowDefinitionRequest.js +2 -0
  19. package/dist/esm/models/WorkflowDefinitionResponse.d.ts +6 -0
  20. package/dist/esm/models/WorkflowDefinitionResponse.js +4 -0
  21. package/dist/esm/models/WorkflowRunStatus.d.ts +20 -2
  22. package/dist/esm/models/WorkflowRunStatus.js +20 -2
  23. package/dist/esm/models/index.d.ts +4 -0
  24. package/dist/esm/models/index.js +4 -0
  25. package/dist/models/CreateWorkflowDefinitionRequest.d.ts +6 -0
  26. package/dist/models/CreateWorkflowDefinitionRequest.js +2 -0
  27. package/dist/models/PathPartApprovalDecision.d.ts +30 -0
  28. package/dist/models/PathPartApprovalDecision.js +56 -0
  29. package/dist/models/PathPartApprovalResponse.d.ts +111 -0
  30. package/dist/models/PathPartApprovalResponse.js +93 -0
  31. package/dist/models/RejectFileRequest.d.ts +47 -0
  32. package/dist/models/RejectFileRequest.js +57 -0
  33. package/dist/models/RunLockResponse.d.ts +59 -0
  34. package/dist/models/RunLockResponse.js +60 -0
  35. package/dist/models/UpdateWorkflowDefinitionRequest.d.ts +6 -0
  36. package/dist/models/UpdateWorkflowDefinitionRequest.js +2 -0
  37. package/dist/models/WorkflowDefinitionResponse.d.ts +6 -0
  38. package/dist/models/WorkflowDefinitionResponse.js +4 -0
  39. package/dist/models/WorkflowRunStatus.d.ts +20 -2
  40. package/dist/models/WorkflowRunStatus.js +20 -2
  41. package/dist/models/index.d.ts +4 -0
  42. package/dist/models/index.js +4 -0
  43. package/docs/CreateWorkflowDefinitionRequest.md +2 -0
  44. package/docs/PathPartApprovalDecision.md +33 -0
  45. package/docs/PathPartApprovalResponse.md +55 -0
  46. package/docs/RejectFileRequest.md +35 -0
  47. package/docs/RunLockResponse.md +39 -0
  48. package/docs/UpdateWorkflowDefinitionRequest.md +2 -0
  49. package/docs/WorkflowDefinitionResponse.md +2 -0
  50. package/docs/WorkflowRunStatus.md +1 -1
  51. package/docs/WorkflowRunsApi.md +387 -0
  52. package/package.json +1 -1
  53. package/src/apis/WorkflowRunsApi.ts +479 -0
  54. package/src/models/CreateWorkflowDefinitionRequest.ts +8 -0
  55. package/src/models/PathPartApprovalDecision.ts +58 -0
  56. package/src/models/PathPartApprovalResponse.ts +186 -0
  57. package/src/models/RejectFileRequest.ts +87 -0
  58. package/src/models/RunLockResponse.ts +101 -0
  59. package/src/models/UpdateWorkflowDefinitionRequest.ts +8 -0
  60. package/src/models/WorkflowDefinitionResponse.ts +9 -0
  61. package/src/models/WorkflowRunStatus.ts +20 -2
  62. package/src/models/index.ts +4 -0
@@ -0,0 +1,186 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Knowledge Stack API
5
+ * Knowledge Stack backend API for authentication and knowledge management
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 { PathPartApprovalDecision } from './PathPartApprovalDecision';
17
+ import {
18
+ PathPartApprovalDecisionFromJSON,
19
+ PathPartApprovalDecisionFromJSONTyped,
20
+ PathPartApprovalDecisionToJSON,
21
+ PathPartApprovalDecisionToJSONTyped,
22
+ } from './PathPartApprovalDecision';
23
+
24
+ /**
25
+ * Approval audit-history row over any path_part (file or folder).
26
+ *
27
+ * ``run_id`` is optional — None when the path_part was approved directly
28
+ * without a workflow-run context.
29
+ * @export
30
+ * @interface PathPartApprovalResponse
31
+ */
32
+ export interface PathPartApprovalResponse {
33
+ /**
34
+ *
35
+ * @type {string}
36
+ * @memberof PathPartApprovalResponse
37
+ */
38
+ id: string;
39
+ /**
40
+ *
41
+ * @type {string}
42
+ * @memberof PathPartApprovalResponse
43
+ */
44
+ runId: string | null;
45
+ /**
46
+ *
47
+ * @type {string}
48
+ * @memberof PathPartApprovalResponse
49
+ */
50
+ pathPartId: string;
51
+ /**
52
+ *
53
+ * @type {PathPartApprovalDecision}
54
+ * @memberof PathPartApprovalResponse
55
+ */
56
+ status: PathPartApprovalDecision;
57
+ /**
58
+ *
59
+ * @type {string}
60
+ * @memberof PathPartApprovalResponse
61
+ */
62
+ reviewerId: string | null;
63
+ /**
64
+ *
65
+ * @type {Date}
66
+ * @memberof PathPartApprovalResponse
67
+ */
68
+ reviewedAt: Date | null;
69
+ /**
70
+ *
71
+ * @type {string}
72
+ * @memberof PathPartApprovalResponse
73
+ */
74
+ rejectionReason: string | null;
75
+ /**
76
+ *
77
+ * @type {string}
78
+ * @memberof PathPartApprovalResponse
79
+ */
80
+ unapprovedBy: string | null;
81
+ /**
82
+ *
83
+ * @type {Date}
84
+ * @memberof PathPartApprovalResponse
85
+ */
86
+ unapprovedAt: Date | null;
87
+ /**
88
+ *
89
+ * @type {Date}
90
+ * @memberof PathPartApprovalResponse
91
+ */
92
+ createdAt: Date;
93
+ /**
94
+ *
95
+ * @type {Date}
96
+ * @memberof PathPartApprovalResponse
97
+ */
98
+ updatedAt: Date;
99
+ }
100
+
101
+
102
+ export const PathPartApprovalResponsePropertyValidationAttributesMap: {
103
+ [property: string]: {
104
+ maxLength?: number,
105
+ minLength?: number,
106
+ pattern?: string,
107
+ maximum?: number,
108
+ exclusiveMaximum?: boolean,
109
+ minimum?: number,
110
+ exclusiveMinimum?: boolean,
111
+ multipleOf?: number,
112
+ maxItems?: number,
113
+ minItems?: number,
114
+ uniqueItems?: boolean
115
+ }
116
+ } = {
117
+ }
118
+
119
+
120
+ /**
121
+ * Check if a given object implements the PathPartApprovalResponse interface.
122
+ */
123
+ export function instanceOfPathPartApprovalResponse(value: object): value is PathPartApprovalResponse {
124
+ if (!('id' in value) || value['id'] === undefined) return false;
125
+ if (!('runId' in value) || value['runId'] === undefined) return false;
126
+ if (!('pathPartId' in value) || value['pathPartId'] === undefined) return false;
127
+ if (!('status' in value) || value['status'] === undefined) return false;
128
+ if (!('reviewerId' in value) || value['reviewerId'] === undefined) return false;
129
+ if (!('reviewedAt' in value) || value['reviewedAt'] === undefined) return false;
130
+ if (!('rejectionReason' in value) || value['rejectionReason'] === undefined) return false;
131
+ if (!('unapprovedBy' in value) || value['unapprovedBy'] === undefined) return false;
132
+ if (!('unapprovedAt' in value) || value['unapprovedAt'] === undefined) return false;
133
+ if (!('createdAt' in value) || value['createdAt'] === undefined) return false;
134
+ if (!('updatedAt' in value) || value['updatedAt'] === undefined) return false;
135
+ return true;
136
+ }
137
+
138
+ export function PathPartApprovalResponseFromJSON(json: any): PathPartApprovalResponse {
139
+ return PathPartApprovalResponseFromJSONTyped(json, false);
140
+ }
141
+
142
+ export function PathPartApprovalResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PathPartApprovalResponse {
143
+ if (json == null) {
144
+ return json;
145
+ }
146
+ return {
147
+
148
+ 'id': json['id'],
149
+ 'runId': json['run_id'],
150
+ 'pathPartId': json['path_part_id'],
151
+ 'status': PathPartApprovalDecisionFromJSON(json['status']),
152
+ 'reviewerId': json['reviewer_id'],
153
+ 'reviewedAt': (json['reviewed_at'] == null ? null : new Date(json['reviewed_at'])),
154
+ 'rejectionReason': json['rejection_reason'],
155
+ 'unapprovedBy': json['unapproved_by'],
156
+ 'unapprovedAt': (json['unapproved_at'] == null ? null : new Date(json['unapproved_at'])),
157
+ 'createdAt': (new Date(json['created_at'])),
158
+ 'updatedAt': (new Date(json['updated_at'])),
159
+ };
160
+ }
161
+
162
+ export function PathPartApprovalResponseToJSON(json: any): PathPartApprovalResponse {
163
+ return PathPartApprovalResponseToJSONTyped(json, false);
164
+ }
165
+
166
+ export function PathPartApprovalResponseToJSONTyped(value?: PathPartApprovalResponse | null, ignoreDiscriminator: boolean = false): any {
167
+ if (value == null) {
168
+ return value;
169
+ }
170
+
171
+ return {
172
+
173
+ 'id': value['id'],
174
+ 'run_id': value['runId'],
175
+ 'path_part_id': value['pathPartId'],
176
+ 'status': PathPartApprovalDecisionToJSON(value['status']),
177
+ 'reviewer_id': value['reviewerId'],
178
+ 'reviewed_at': value['reviewedAt'] == null ? value['reviewedAt'] : value['reviewedAt'].toISOString(),
179
+ 'rejection_reason': value['rejectionReason'],
180
+ 'unapproved_by': value['unapprovedBy'],
181
+ 'unapproved_at': value['unapprovedAt'] == null ? value['unapprovedAt'] : value['unapprovedAt'].toISOString(),
182
+ 'created_at': value['createdAt'].toISOString(),
183
+ 'updated_at': value['updatedAt'].toISOString(),
184
+ };
185
+ }
186
+
@@ -0,0 +1,87 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Knowledge Stack API
5
+ * Knowledge Stack backend API for authentication and knowledge management
6
+ *
7
+ * The version of the OpenAPI document: 0.1.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ * Body for ``POST /workflow-runs/{run}/files/{file}/reject``.
18
+ * @export
19
+ * @interface RejectFileRequest
20
+ */
21
+ export interface RejectFileRequest {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof RejectFileRequest
26
+ */
27
+ reason: string;
28
+ }
29
+ export const RejectFileRequestPropertyValidationAttributesMap: {
30
+ [property: string]: {
31
+ maxLength?: number,
32
+ minLength?: number,
33
+ pattern?: string,
34
+ maximum?: number,
35
+ exclusiveMaximum?: boolean,
36
+ minimum?: number,
37
+ exclusiveMinimum?: boolean,
38
+ multipleOf?: number,
39
+ maxItems?: number,
40
+ minItems?: number,
41
+ uniqueItems?: boolean
42
+ }
43
+ } = {
44
+ reason: {
45
+ maxLength: 2048,
46
+ minLength: 1,
47
+ },
48
+ }
49
+
50
+
51
+ /**
52
+ * Check if a given object implements the RejectFileRequest interface.
53
+ */
54
+ export function instanceOfRejectFileRequest(value: object): value is RejectFileRequest {
55
+ if (!('reason' in value) || value['reason'] === undefined) return false;
56
+ return true;
57
+ }
58
+
59
+ export function RejectFileRequestFromJSON(json: any): RejectFileRequest {
60
+ return RejectFileRequestFromJSONTyped(json, false);
61
+ }
62
+
63
+ export function RejectFileRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): RejectFileRequest {
64
+ if (json == null) {
65
+ return json;
66
+ }
67
+ return {
68
+
69
+ 'reason': json['reason'],
70
+ };
71
+ }
72
+
73
+ export function RejectFileRequestToJSON(json: any): RejectFileRequest {
74
+ return RejectFileRequestToJSONTyped(json, false);
75
+ }
76
+
77
+ export function RejectFileRequestToJSONTyped(value?: RejectFileRequest | null, ignoreDiscriminator: boolean = false): any {
78
+ if (value == null) {
79
+ return value;
80
+ }
81
+
82
+ return {
83
+
84
+ 'reason': value['reason'],
85
+ };
86
+ }
87
+
@@ -0,0 +1,101 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Knowledge Stack API
5
+ * Knowledge Stack backend API for authentication and knowledge management
6
+ *
7
+ * The version of the OpenAPI document: 0.1.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ * Reviewer-lock state on a workflow run.
18
+ * @export
19
+ * @interface RunLockResponse
20
+ */
21
+ export interface RunLockResponse {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof RunLockResponse
26
+ */
27
+ runId: string;
28
+ /**
29
+ *
30
+ * @type {string}
31
+ * @memberof RunLockResponse
32
+ */
33
+ lockUserId: string | null;
34
+ /**
35
+ *
36
+ * @type {Date}
37
+ * @memberof RunLockResponse
38
+ */
39
+ lockAcquiredAt: Date | null;
40
+ }
41
+ export const RunLockResponsePropertyValidationAttributesMap: {
42
+ [property: string]: {
43
+ maxLength?: number,
44
+ minLength?: number,
45
+ pattern?: string,
46
+ maximum?: number,
47
+ exclusiveMaximum?: boolean,
48
+ minimum?: number,
49
+ exclusiveMinimum?: boolean,
50
+ multipleOf?: number,
51
+ maxItems?: number,
52
+ minItems?: number,
53
+ uniqueItems?: boolean
54
+ }
55
+ } = {
56
+ }
57
+
58
+
59
+ /**
60
+ * Check if a given object implements the RunLockResponse interface.
61
+ */
62
+ export function instanceOfRunLockResponse(value: object): value is RunLockResponse {
63
+ if (!('runId' in value) || value['runId'] === undefined) return false;
64
+ if (!('lockUserId' in value) || value['lockUserId'] === undefined) return false;
65
+ if (!('lockAcquiredAt' in value) || value['lockAcquiredAt'] === undefined) return false;
66
+ return true;
67
+ }
68
+
69
+ export function RunLockResponseFromJSON(json: any): RunLockResponse {
70
+ return RunLockResponseFromJSONTyped(json, false);
71
+ }
72
+
73
+ export function RunLockResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): RunLockResponse {
74
+ if (json == null) {
75
+ return json;
76
+ }
77
+ return {
78
+
79
+ 'runId': json['run_id'],
80
+ 'lockUserId': json['lock_user_id'],
81
+ 'lockAcquiredAt': (json['lock_acquired_at'] == null ? null : new Date(json['lock_acquired_at'])),
82
+ };
83
+ }
84
+
85
+ export function RunLockResponseToJSON(json: any): RunLockResponse {
86
+ return RunLockResponseToJSONTyped(json, false);
87
+ }
88
+
89
+ export function RunLockResponseToJSONTyped(value?: RunLockResponse | null, ignoreDiscriminator: boolean = false): any {
90
+ if (value == null) {
91
+ return value;
92
+ }
93
+
94
+ return {
95
+
96
+ 'run_id': value['runId'],
97
+ 'lock_user_id': value['lockUserId'],
98
+ 'lock_acquired_at': value['lockAcquiredAt'] == null ? value['lockAcquiredAt'] : value['lockAcquiredAt'].toISOString(),
99
+ };
100
+ }
101
+
@@ -99,6 +99,12 @@ export interface UpdateWorkflowDefinitionRequest {
99
99
  * @memberof UpdateWorkflowDefinitionRequest
100
100
  */
101
101
  isActive?: boolean;
102
+ /**
103
+ *
104
+ * @type {boolean}
105
+ * @memberof UpdateWorkflowDefinitionRequest
106
+ */
107
+ approvalRequired?: boolean;
102
108
  }
103
109
 
104
110
 
@@ -176,6 +182,7 @@ export function UpdateWorkflowDefinitionRequestFromJSONTyped(json: any, ignoreDi
176
182
  'outputPathPartIds': json['output_path_part_ids'],
177
183
  'templatePathPartId': json['template_path_part_id'] == null ? undefined : json['template_path_part_id'],
178
184
  'isActive': json['is_active'] == null ? undefined : json['is_active'],
185
+ 'approvalRequired': json['approval_required'] == null ? undefined : json['approval_required'],
179
186
  };
180
187
  }
181
188
 
@@ -200,6 +207,7 @@ export function UpdateWorkflowDefinitionRequestToJSONTyped(value?: UpdateWorkflo
200
207
  'output_path_part_ids': value['outputPathPartIds'],
201
208
  'template_path_part_id': value['templatePathPartId'],
202
209
  'is_active': value['isActive'],
210
+ 'approval_required': value['approvalRequired'],
203
211
  };
204
212
  }
205
213
 
@@ -100,6 +100,12 @@ export interface WorkflowDefinitionResponse {
100
100
  * @memberof WorkflowDefinitionResponse
101
101
  */
102
102
  isActive: boolean;
103
+ /**
104
+ *
105
+ * @type {boolean}
106
+ * @memberof WorkflowDefinitionResponse
107
+ */
108
+ approvalRequired: boolean;
103
109
  /**
104
110
  *
105
111
  * @type {Date}
@@ -148,6 +154,7 @@ export function instanceOfWorkflowDefinitionResponse(value: object): value is Wo
148
154
  if (!('outputPathPartIds' in value) || value['outputPathPartIds'] === undefined) return false;
149
155
  if (!('templatePathPartId' in value) || value['templatePathPartId'] === undefined) return false;
150
156
  if (!('isActive' in value) || value['isActive'] === undefined) return false;
157
+ if (!('approvalRequired' in value) || value['approvalRequired'] === undefined) return false;
151
158
  if (!('createdAt' in value) || value['createdAt'] === undefined) return false;
152
159
  if (!('updatedAt' in value) || value['updatedAt'] === undefined) return false;
153
160
  return true;
@@ -174,6 +181,7 @@ export function WorkflowDefinitionResponseFromJSONTyped(json: any, ignoreDiscrim
174
181
  'outputPathPartIds': json['output_path_part_ids'],
175
182
  'templatePathPartId': json['template_path_part_id'],
176
183
  'isActive': json['is_active'],
184
+ 'approvalRequired': json['approval_required'],
177
185
  'createdAt': (new Date(json['created_at'])),
178
186
  'updatedAt': (new Date(json['updated_at'])),
179
187
  };
@@ -201,6 +209,7 @@ export function WorkflowDefinitionResponseToJSONTyped(value?: WorkflowDefinition
201
209
  'output_path_part_ids': value['outputPathPartIds'],
202
210
  'template_path_part_id': value['templatePathPartId'],
203
211
  'is_active': value['isActive'],
212
+ 'approval_required': value['approvalRequired'],
204
213
  'created_at': value['createdAt'].toISOString(),
205
214
  'updated_at': value['updatedAt'].toISOString(),
206
215
  };
@@ -14,13 +14,31 @@
14
14
 
15
15
 
16
16
  /**
17
- * Lifecycle status of a workflow run.
17
+ * Combined lifecycle + approval-rollup status of a workflow run.
18
+ *
19
+ * Absorbs the prior split between ``status`` (PENDING/RUNNING/COMPLETED/
20
+ * FAILED) and ``approval_state`` (in_progress/awaiting_review/approved/
21
+ * rejected/failed). One state field per run.
22
+ *
23
+ * Allowed transitions::
24
+ *
25
+ * PENDING -> IN_PROGRESS (agent dispatched)
26
+ * IN_PROGRESS -> COMPLETED (workflow.approval_required=FALSE)
27
+ * IN_PROGRESS -> NEEDS_APPROVAL (workflow.approval_required=TRUE, agent done)
28
+ * NEEDS_APPROVAL -> APPROVED (run folder approved by reviewer)
29
+ * NEEDS_APPROVAL -> REJECTED (run folder or any child rejected)
30
+ * APPROVED -> NEEDS_APPROVAL (run folder unapproved)
31
+ * REJECTED -> NEEDS_APPROVAL (rejection reversed; mutable)
32
+ * any non-terminal -> FAILED (agent error)
18
33
  * @export
19
34
  */
20
35
  export const WorkflowRunStatus = {
21
36
  Pending: 'PENDING',
22
- Running: 'RUNNING',
37
+ InProgress: 'IN_PROGRESS',
23
38
  Completed: 'COMPLETED',
39
+ NeedsApproval: 'NEEDS_APPROVAL',
40
+ Approved: 'APPROVED',
41
+ Rejected: 'REJECTED',
24
42
  Failed: 'FAILED'
25
43
  } as const;
26
44
  export type WorkflowRunStatus = typeof WorkflowRunStatus[keyof typeof WorkflowRunStatus];
@@ -118,6 +118,8 @@ export * from './PasswordResetRequest';
118
118
  export * from './PasswordResetWithTokenRequest';
119
119
  export * from './PathOrder';
120
120
  export * from './PathPartAncestorItem';
121
+ export * from './PathPartApprovalDecision';
122
+ export * from './PathPartApprovalResponse';
121
123
  export * from './PathPartResponse';
122
124
  export * from './PathPartTagsResponse';
123
125
  export * from './PermissionCapability';
@@ -127,9 +129,11 @@ export * from './PipelineStatus';
127
129
  export * from './Polygon';
128
130
  export * from './PolygonReference';
129
131
  export * from './ReferenceType';
132
+ export * from './RejectFileRequest';
130
133
  export * from './ResolvedReferenceInput';
131
134
  export * from './ResolvedReferenceOutput';
132
135
  export * from './RootResponse';
136
+ export * from './RunLockResponse';
133
137
  export * from './SSOInitiateResponse';
134
138
  export * from './ScoredChunkResponse';
135
139
  export * from './SearchSortOrder';