@knowledge-stack/ksapi 3.16.2 → 3.17.1
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 +23 -4
- package/dist/apis/MemoryApi.d.ts +5 -5
- package/dist/apis/MemoryApi.js +1 -1
- package/dist/apis/WorkflowMemoryApi.d.ts +17 -17
- package/dist/apis/WorkflowMemoryApi.js +4 -4
- package/dist/apis/WorkflowRepositoryApi.d.ts +419 -0
- package/dist/apis/WorkflowRepositoryApi.js +595 -0
- package/dist/apis/index.d.ts +1 -0
- package/dist/apis/index.js +1 -0
- package/dist/esm/apis/MemoryApi.d.ts +5 -5
- package/dist/esm/apis/MemoryApi.js +2 -2
- package/dist/esm/apis/WorkflowMemoryApi.d.ts +17 -17
- package/dist/esm/apis/WorkflowMemoryApi.js +5 -5
- package/dist/esm/apis/WorkflowRepositoryApi.d.ts +419 -0
- package/dist/esm/apis/WorkflowRepositoryApi.js +558 -0
- package/dist/esm/apis/index.d.ts +1 -0
- package/dist/esm/apis/index.js +1 -0
- package/dist/esm/models/ErrorResponse.d.ts +7 -0
- package/dist/esm/models/ErrorResponse.js +7 -0
- package/dist/esm/models/{MemoryChunkResponse.d.ts → MemoryEntryResponse.d.ts} +12 -12
- package/dist/esm/models/{MemoryChunkResponse.js → MemoryEntryResponse.js} +9 -9
- package/dist/esm/models/{PaginatedResponseMemoryChunkResponse.d.ts → PaginatedResponseMemoryEntryResponse.d.ts} +16 -16
- package/dist/esm/models/{PaginatedResponseMemoryChunkResponse.js → PaginatedResponseMemoryEntryResponse.js} +12 -12
- package/dist/esm/models/PaginatedResponseRepoVersionResponse.d.ts +66 -0
- package/dist/esm/models/PaginatedResponseRepoVersionResponse.js +70 -0
- package/dist/esm/models/RecordRepoSaveSkipRequest.d.ts +60 -0
- package/dist/esm/models/RecordRepoSaveSkipRequest.js +55 -0
- package/dist/esm/models/RepoBranchResponse.d.ts +126 -0
- package/dist/esm/models/RepoBranchResponse.js +95 -0
- package/dist/esm/models/RepoCommitSummary.d.ts +71 -0
- package/dist/esm/models/RepoCommitSummary.js +60 -0
- package/dist/esm/models/RepoSaveSkipReason.d.ts +36 -0
- package/dist/esm/models/RepoSaveSkipReason.js +54 -0
- package/dist/esm/models/RepoSnapshot.d.ts +59 -0
- package/dist/esm/models/RepoSnapshot.js +50 -0
- package/dist/esm/models/RepoTreeEntry.d.ts +59 -0
- package/dist/esm/models/RepoTreeEntry.js +52 -0
- package/dist/esm/models/RepoTreeResponse.d.ts +54 -0
- package/dist/esm/models/RepoTreeResponse.js +49 -0
- package/dist/esm/models/RepoVersionResponse.d.ts +95 -0
- package/dist/esm/models/RepoVersionResponse.js +74 -0
- package/dist/esm/models/WorkflowRepoResponse.d.ts +102 -0
- package/dist/esm/models/WorkflowRepoResponse.js +81 -0
- package/dist/esm/models/WorkflowRunSnapshot.d.ts +7 -0
- package/dist/esm/models/WorkflowRunSnapshot.js +3 -0
- package/dist/esm/models/index.d.ts +12 -2
- package/dist/esm/models/index.js +12 -2
- package/dist/models/ErrorResponse.d.ts +7 -0
- package/dist/models/ErrorResponse.js +7 -0
- package/dist/models/{MemoryChunkResponse.d.ts → MemoryEntryResponse.d.ts} +12 -12
- package/dist/models/{MemoryChunkResponse.js → MemoryEntryResponse.js} +15 -15
- package/dist/models/{PaginatedResponseMemoryChunkResponse.d.ts → PaginatedResponseMemoryEntryResponse.d.ts} +16 -16
- package/dist/models/{PaginatedResponseMemoryChunkResponse.js → PaginatedResponseMemoryEntryResponse.js} +18 -18
- package/dist/models/PaginatedResponseRepoVersionResponse.d.ts +66 -0
- package/dist/models/PaginatedResponseRepoVersionResponse.js +78 -0
- package/dist/models/RecordRepoSaveSkipRequest.d.ts +60 -0
- package/dist/models/RecordRepoSaveSkipRequest.js +63 -0
- package/dist/models/RepoBranchResponse.d.ts +126 -0
- package/dist/models/RepoBranchResponse.js +103 -0
- package/dist/models/RepoCommitSummary.d.ts +71 -0
- package/dist/models/RepoCommitSummary.js +68 -0
- package/dist/models/RepoSaveSkipReason.d.ts +36 -0
- package/dist/models/RepoSaveSkipReason.js +62 -0
- package/dist/models/RepoSnapshot.d.ts +59 -0
- package/dist/models/RepoSnapshot.js +58 -0
- package/dist/models/RepoTreeEntry.d.ts +59 -0
- package/dist/models/RepoTreeEntry.js +60 -0
- package/dist/models/RepoTreeResponse.d.ts +54 -0
- package/dist/models/RepoTreeResponse.js +57 -0
- package/dist/models/RepoVersionResponse.d.ts +95 -0
- package/dist/models/RepoVersionResponse.js +82 -0
- package/dist/models/WorkflowRepoResponse.d.ts +102 -0
- package/dist/models/WorkflowRepoResponse.js +89 -0
- package/dist/models/WorkflowRunSnapshot.d.ts +7 -0
- package/dist/models/WorkflowRunSnapshot.js +3 -0
- package/dist/models/index.d.ts +12 -2
- package/dist/models/index.js +12 -2
- package/docs/MemoryApi.md +2 -2
- package/docs/{MemoryChunkResponse.md → MemoryEntryResponse.md} +4 -4
- package/docs/{PaginatedResponseMemoryChunkResponse.md → PaginatedResponseMemoryEntryResponse.md} +5 -5
- package/docs/PaginatedResponseRepoVersionResponse.md +40 -0
- package/docs/RecordRepoSaveSkipRequest.md +38 -0
- package/docs/RepoBranchResponse.md +61 -0
- package/docs/RepoCommitSummary.md +42 -0
- package/docs/RepoSaveSkipReason.md +33 -0
- package/docs/RepoSnapshot.md +39 -0
- package/docs/RepoTreeEntry.md +38 -0
- package/docs/RepoTreeResponse.md +36 -0
- package/docs/RepoVersionResponse.md +51 -0
- package/docs/WorkflowMemoryApi.md +8 -8
- package/docs/WorkflowRepoResponse.md +53 -0
- package/docs/WorkflowRepositoryApi.md +745 -0
- package/docs/WorkflowRunSnapshot.md +2 -0
- package/package.json +1 -1
- package/src/apis/MemoryApi.ts +8 -8
- package/src/apis/WorkflowMemoryApi.ts +26 -26
- package/src/apis/WorkflowRepositoryApi.ts +1002 -0
- package/src/apis/index.ts +1 -0
- package/src/models/ErrorResponse.ts +7 -0
- package/src/models/{MemoryChunkResponse.ts → MemoryEntryResponse.ts} +14 -14
- package/src/models/{PaginatedResponseMemoryChunkResponse.ts → PaginatedResponseMemoryEntryResponse.ts} +25 -25
- package/src/models/PaginatedResponseRepoVersionResponse.ts +130 -0
- package/src/models/RecordRepoSaveSkipRequest.ts +113 -0
- package/src/models/RepoBranchResponse.ts +207 -0
- package/src/models/RepoCommitSummary.ts +119 -0
- package/src/models/RepoSaveSkipReason.ts +64 -0
- package/src/models/RepoSnapshot.ts +100 -0
- package/src/models/RepoTreeEntry.ts +101 -0
- package/src/models/RepoTreeResponse.ts +100 -0
- package/src/models/RepoVersionResponse.ts +154 -0
- package/src/models/WorkflowRepoResponse.ts +172 -0
- package/src/models/WorkflowRunSnapshot.ts +15 -0
- package/src/models/index.ts +12 -2
package/src/apis/index.ts
CHANGED
|
@@ -57,6 +57,13 @@ export const ErrorResponseCodeEnum = {
|
|
|
57
57
|
PayloadTooLarge: 'payload_too_large',
|
|
58
58
|
UnsupportedMediaType: 'unsupported_media_type',
|
|
59
59
|
UnprocessableEntity: 'unprocessable_entity',
|
|
60
|
+
RepoHeadMoved: 'repo_head_moved',
|
|
61
|
+
RepoNotFastForward: 'repo_not_fast_forward',
|
|
62
|
+
RepoRunMismatch: 'repo_run_mismatch',
|
|
63
|
+
RepoCommitNotFound: 'repo_commit_not_found',
|
|
64
|
+
RepoInvalidBundle: 'repo_invalid_bundle',
|
|
65
|
+
RepoTooLarge: 'repo_too_large',
|
|
66
|
+
RepoUnsafePath: 'repo_unsafe_path',
|
|
60
67
|
TooManyRequests: 'too_many_requests',
|
|
61
68
|
QuotaExceeded: 'quota_exceeded',
|
|
62
69
|
NotImplemented: 'not_implemented',
|
|
@@ -24,31 +24,31 @@ import {
|
|
|
24
24
|
/**
|
|
25
25
|
*
|
|
26
26
|
* @export
|
|
27
|
-
* @interface
|
|
27
|
+
* @interface MemoryEntryResponse
|
|
28
28
|
*/
|
|
29
|
-
export interface
|
|
29
|
+
export interface MemoryEntryResponse {
|
|
30
30
|
/**
|
|
31
31
|
*
|
|
32
32
|
* @type {string}
|
|
33
|
-
* @memberof
|
|
33
|
+
* @memberof MemoryEntryResponse
|
|
34
34
|
*/
|
|
35
35
|
chunkId: string;
|
|
36
36
|
/**
|
|
37
37
|
*
|
|
38
38
|
* @type {MemoryKind}
|
|
39
|
-
* @memberof
|
|
39
|
+
* @memberof MemoryEntryResponse
|
|
40
40
|
*/
|
|
41
41
|
kind: MemoryKind;
|
|
42
42
|
/**
|
|
43
43
|
*
|
|
44
44
|
* @type {string}
|
|
45
|
-
* @memberof
|
|
45
|
+
* @memberof MemoryEntryResponse
|
|
46
46
|
*/
|
|
47
47
|
body: string;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
|
|
51
|
-
export const
|
|
51
|
+
export const MemoryEntryResponsePropertyValidationAttributesMap: {
|
|
52
52
|
[property: string]: {
|
|
53
53
|
maxLength?: number,
|
|
54
54
|
minLength?: number,
|
|
@@ -67,20 +67,20 @@ export const MemoryChunkResponsePropertyValidationAttributesMap: {
|
|
|
67
67
|
|
|
68
68
|
|
|
69
69
|
/**
|
|
70
|
-
* Check if a given object implements the
|
|
70
|
+
* Check if a given object implements the MemoryEntryResponse interface.
|
|
71
71
|
*/
|
|
72
|
-
export function
|
|
72
|
+
export function instanceOfMemoryEntryResponse(value: object): value is MemoryEntryResponse {
|
|
73
73
|
if (!('chunkId' in value) || value['chunkId'] === undefined) return false;
|
|
74
74
|
if (!('kind' in value) || value['kind'] === undefined) return false;
|
|
75
75
|
if (!('body' in value) || value['body'] === undefined) return false;
|
|
76
76
|
return true;
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
export function
|
|
80
|
-
return
|
|
79
|
+
export function MemoryEntryResponseFromJSON(json: any): MemoryEntryResponse {
|
|
80
|
+
return MemoryEntryResponseFromJSONTyped(json, false);
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
export function
|
|
83
|
+
export function MemoryEntryResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): MemoryEntryResponse {
|
|
84
84
|
if (json == null) {
|
|
85
85
|
return json;
|
|
86
86
|
}
|
|
@@ -92,11 +92,11 @@ export function MemoryChunkResponseFromJSONTyped(json: any, ignoreDiscriminator:
|
|
|
92
92
|
};
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
export function
|
|
96
|
-
return
|
|
95
|
+
export function MemoryEntryResponseToJSON(json: any): MemoryEntryResponse {
|
|
96
|
+
return MemoryEntryResponseToJSONTyped(json, false);
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
-
export function
|
|
99
|
+
export function MemoryEntryResponseToJSONTyped(value?: MemoryEntryResponse | null, ignoreDiscriminator: boolean = false): any {
|
|
100
100
|
if (value == null) {
|
|
101
101
|
return value;
|
|
102
102
|
}
|
|
@@ -13,46 +13,46 @@
|
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
15
|
import { mapValues } from '../runtime';
|
|
16
|
-
import type {
|
|
16
|
+
import type { MemoryEntryResponse } from './MemoryEntryResponse';
|
|
17
17
|
import {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
} from './
|
|
18
|
+
MemoryEntryResponseFromJSON,
|
|
19
|
+
MemoryEntryResponseFromJSONTyped,
|
|
20
|
+
MemoryEntryResponseToJSON,
|
|
21
|
+
MemoryEntryResponseToJSONTyped,
|
|
22
|
+
} from './MemoryEntryResponse';
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
25
|
*
|
|
26
26
|
* @export
|
|
27
|
-
* @interface
|
|
27
|
+
* @interface PaginatedResponseMemoryEntryResponse
|
|
28
28
|
*/
|
|
29
|
-
export interface
|
|
29
|
+
export interface PaginatedResponseMemoryEntryResponse {
|
|
30
30
|
/**
|
|
31
31
|
* List of items
|
|
32
|
-
* @type {Array<
|
|
33
|
-
* @memberof
|
|
32
|
+
* @type {Array<MemoryEntryResponse>}
|
|
33
|
+
* @memberof PaginatedResponseMemoryEntryResponse
|
|
34
34
|
*/
|
|
35
|
-
items: Array<
|
|
35
|
+
items: Array<MemoryEntryResponse>;
|
|
36
36
|
/**
|
|
37
37
|
* Total number of items
|
|
38
38
|
* @type {number}
|
|
39
|
-
* @memberof
|
|
39
|
+
* @memberof PaginatedResponseMemoryEntryResponse
|
|
40
40
|
*/
|
|
41
41
|
total: number;
|
|
42
42
|
/**
|
|
43
43
|
* Number of items per page
|
|
44
44
|
* @type {number}
|
|
45
|
-
* @memberof
|
|
45
|
+
* @memberof PaginatedResponseMemoryEntryResponse
|
|
46
46
|
*/
|
|
47
47
|
limit: number;
|
|
48
48
|
/**
|
|
49
49
|
* Number of items to skip
|
|
50
50
|
* @type {number}
|
|
51
|
-
* @memberof
|
|
51
|
+
* @memberof PaginatedResponseMemoryEntryResponse
|
|
52
52
|
*/
|
|
53
53
|
offset: number;
|
|
54
54
|
}
|
|
55
|
-
export const
|
|
55
|
+
export const PaginatedResponseMemoryEntryResponsePropertyValidationAttributesMap: {
|
|
56
56
|
[property: string]: {
|
|
57
57
|
maxLength?: number,
|
|
58
58
|
minLength?: number,
|
|
@@ -83,9 +83,9 @@ export const PaginatedResponseMemoryChunkResponsePropertyValidationAttributesMap
|
|
|
83
83
|
|
|
84
84
|
|
|
85
85
|
/**
|
|
86
|
-
* Check if a given object implements the
|
|
86
|
+
* Check if a given object implements the PaginatedResponseMemoryEntryResponse interface.
|
|
87
87
|
*/
|
|
88
|
-
export function
|
|
88
|
+
export function instanceOfPaginatedResponseMemoryEntryResponse(value: object): value is PaginatedResponseMemoryEntryResponse {
|
|
89
89
|
if (!('items' in value) || value['items'] === undefined) return false;
|
|
90
90
|
if (!('total' in value) || value['total'] === undefined) return false;
|
|
91
91
|
if (!('limit' in value) || value['limit'] === undefined) return false;
|
|
@@ -93,35 +93,35 @@ export function instanceOfPaginatedResponseMemoryChunkResponse(value: object): v
|
|
|
93
93
|
return true;
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
export function
|
|
97
|
-
return
|
|
96
|
+
export function PaginatedResponseMemoryEntryResponseFromJSON(json: any): PaginatedResponseMemoryEntryResponse {
|
|
97
|
+
return PaginatedResponseMemoryEntryResponseFromJSONTyped(json, false);
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
export function
|
|
100
|
+
export function PaginatedResponseMemoryEntryResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedResponseMemoryEntryResponse {
|
|
101
101
|
if (json == null) {
|
|
102
102
|
return json;
|
|
103
103
|
}
|
|
104
104
|
return {
|
|
105
105
|
|
|
106
|
-
'items': ((json['items'] as Array<any>).map(
|
|
106
|
+
'items': ((json['items'] as Array<any>).map(MemoryEntryResponseFromJSON)),
|
|
107
107
|
'total': json['total'],
|
|
108
108
|
'limit': json['limit'],
|
|
109
109
|
'offset': json['offset'],
|
|
110
110
|
};
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
-
export function
|
|
114
|
-
return
|
|
113
|
+
export function PaginatedResponseMemoryEntryResponseToJSON(json: any): PaginatedResponseMemoryEntryResponse {
|
|
114
|
+
return PaginatedResponseMemoryEntryResponseToJSONTyped(json, false);
|
|
115
115
|
}
|
|
116
116
|
|
|
117
|
-
export function
|
|
117
|
+
export function PaginatedResponseMemoryEntryResponseToJSONTyped(value?: PaginatedResponseMemoryEntryResponse | null, ignoreDiscriminator: boolean = false): any {
|
|
118
118
|
if (value == null) {
|
|
119
119
|
return value;
|
|
120
120
|
}
|
|
121
121
|
|
|
122
122
|
return {
|
|
123
123
|
|
|
124
|
-
'items': ((value['items'] as Array<any>).map(
|
|
124
|
+
'items': ((value['items'] as Array<any>).map(MemoryEntryResponseToJSON)),
|
|
125
125
|
'total': value['total'],
|
|
126
126
|
'limit': value['limit'],
|
|
127
127
|
'offset': value['offset'],
|
|
@@ -0,0 +1,130 @@
|
|
|
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 { RepoVersionResponse } from './RepoVersionResponse';
|
|
17
|
+
import {
|
|
18
|
+
RepoVersionResponseFromJSON,
|
|
19
|
+
RepoVersionResponseFromJSONTyped,
|
|
20
|
+
RepoVersionResponseToJSON,
|
|
21
|
+
RepoVersionResponseToJSONTyped,
|
|
22
|
+
} from './RepoVersionResponse';
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @export
|
|
27
|
+
* @interface PaginatedResponseRepoVersionResponse
|
|
28
|
+
*/
|
|
29
|
+
export interface PaginatedResponseRepoVersionResponse {
|
|
30
|
+
/**
|
|
31
|
+
* List of items
|
|
32
|
+
* @type {Array<RepoVersionResponse>}
|
|
33
|
+
* @memberof PaginatedResponseRepoVersionResponse
|
|
34
|
+
*/
|
|
35
|
+
items: Array<RepoVersionResponse>;
|
|
36
|
+
/**
|
|
37
|
+
* Total number of items
|
|
38
|
+
* @type {number}
|
|
39
|
+
* @memberof PaginatedResponseRepoVersionResponse
|
|
40
|
+
*/
|
|
41
|
+
total: number;
|
|
42
|
+
/**
|
|
43
|
+
* Number of items per page
|
|
44
|
+
* @type {number}
|
|
45
|
+
* @memberof PaginatedResponseRepoVersionResponse
|
|
46
|
+
*/
|
|
47
|
+
limit: number;
|
|
48
|
+
/**
|
|
49
|
+
* Number of items to skip
|
|
50
|
+
* @type {number}
|
|
51
|
+
* @memberof PaginatedResponseRepoVersionResponse
|
|
52
|
+
*/
|
|
53
|
+
offset: number;
|
|
54
|
+
}
|
|
55
|
+
export const PaginatedResponseRepoVersionResponsePropertyValidationAttributesMap: {
|
|
56
|
+
[property: string]: {
|
|
57
|
+
maxLength?: number,
|
|
58
|
+
minLength?: number,
|
|
59
|
+
pattern?: string,
|
|
60
|
+
maximum?: number,
|
|
61
|
+
exclusiveMaximum?: boolean,
|
|
62
|
+
minimum?: number,
|
|
63
|
+
exclusiveMinimum?: boolean,
|
|
64
|
+
multipleOf?: number,
|
|
65
|
+
maxItems?: number,
|
|
66
|
+
minItems?: number,
|
|
67
|
+
uniqueItems?: boolean
|
|
68
|
+
}
|
|
69
|
+
} = {
|
|
70
|
+
total: {
|
|
71
|
+
minimum: 0,
|
|
72
|
+
exclusiveMinimum: false,
|
|
73
|
+
},
|
|
74
|
+
limit: {
|
|
75
|
+
minimum: 1,
|
|
76
|
+
exclusiveMinimum: false,
|
|
77
|
+
},
|
|
78
|
+
offset: {
|
|
79
|
+
minimum: 0,
|
|
80
|
+
exclusiveMinimum: false,
|
|
81
|
+
},
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Check if a given object implements the PaginatedResponseRepoVersionResponse interface.
|
|
87
|
+
*/
|
|
88
|
+
export function instanceOfPaginatedResponseRepoVersionResponse(value: object): value is PaginatedResponseRepoVersionResponse {
|
|
89
|
+
if (!('items' in value) || value['items'] === undefined) return false;
|
|
90
|
+
if (!('total' in value) || value['total'] === undefined) return false;
|
|
91
|
+
if (!('limit' in value) || value['limit'] === undefined) return false;
|
|
92
|
+
if (!('offset' in value) || value['offset'] === undefined) return false;
|
|
93
|
+
return true;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export function PaginatedResponseRepoVersionResponseFromJSON(json: any): PaginatedResponseRepoVersionResponse {
|
|
97
|
+
return PaginatedResponseRepoVersionResponseFromJSONTyped(json, false);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
export function PaginatedResponseRepoVersionResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): PaginatedResponseRepoVersionResponse {
|
|
101
|
+
if (json == null) {
|
|
102
|
+
return json;
|
|
103
|
+
}
|
|
104
|
+
return {
|
|
105
|
+
|
|
106
|
+
'items': ((json['items'] as Array<any>).map(RepoVersionResponseFromJSON)),
|
|
107
|
+
'total': json['total'],
|
|
108
|
+
'limit': json['limit'],
|
|
109
|
+
'offset': json['offset'],
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
export function PaginatedResponseRepoVersionResponseToJSON(json: any): PaginatedResponseRepoVersionResponse {
|
|
114
|
+
return PaginatedResponseRepoVersionResponseToJSONTyped(json, false);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
export function PaginatedResponseRepoVersionResponseToJSONTyped(value?: PaginatedResponseRepoVersionResponse | null, ignoreDiscriminator: boolean = false): any {
|
|
118
|
+
if (value == null) {
|
|
119
|
+
return value;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
return {
|
|
123
|
+
|
|
124
|
+
'items': ((value['items'] as Array<any>).map(RepoVersionResponseToJSON)),
|
|
125
|
+
'total': value['total'],
|
|
126
|
+
'limit': value['limit'],
|
|
127
|
+
'offset': value['offset'],
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
|
|
@@ -0,0 +1,113 @@
|
|
|
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 { RepoSaveSkipReason } from './RepoSaveSkipReason';
|
|
17
|
+
import {
|
|
18
|
+
RepoSaveSkipReasonFromJSON,
|
|
19
|
+
RepoSaveSkipReasonFromJSONTyped,
|
|
20
|
+
RepoSaveSkipReasonToJSON,
|
|
21
|
+
RepoSaveSkipReasonToJSONTyped,
|
|
22
|
+
} from './RepoSaveSkipReason';
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @export
|
|
27
|
+
* @interface RecordRepoSaveSkipRequest
|
|
28
|
+
*/
|
|
29
|
+
export interface RecordRepoSaveSkipRequest {
|
|
30
|
+
/**
|
|
31
|
+
* The run whose turn produced the changes.
|
|
32
|
+
* @type {string}
|
|
33
|
+
* @memberof RecordRepoSaveSkipRequest
|
|
34
|
+
*/
|
|
35
|
+
runId: string;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @type {RepoSaveSkipReason}
|
|
39
|
+
* @memberof RecordRepoSaveSkipRequest
|
|
40
|
+
*/
|
|
41
|
+
reason: RepoSaveSkipReason;
|
|
42
|
+
/**
|
|
43
|
+
* A machine-readable code adding context, e.g. the refusal code (`repo_too_large`) or `commits_not_on_main`; never free text.
|
|
44
|
+
* @type {string}
|
|
45
|
+
* @memberof RecordRepoSaveSkipRequest
|
|
46
|
+
*/
|
|
47
|
+
detail?: string | null;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
export const RecordRepoSaveSkipRequestPropertyValidationAttributesMap: {
|
|
52
|
+
[property: string]: {
|
|
53
|
+
maxLength?: number,
|
|
54
|
+
minLength?: number,
|
|
55
|
+
pattern?: string,
|
|
56
|
+
maximum?: number,
|
|
57
|
+
exclusiveMaximum?: boolean,
|
|
58
|
+
minimum?: number,
|
|
59
|
+
exclusiveMinimum?: boolean,
|
|
60
|
+
multipleOf?: number,
|
|
61
|
+
maxItems?: number,
|
|
62
|
+
minItems?: number,
|
|
63
|
+
uniqueItems?: boolean
|
|
64
|
+
}
|
|
65
|
+
} = {
|
|
66
|
+
detail: {
|
|
67
|
+
pattern: '/^[a-z0-9_]{1,64}$/',
|
|
68
|
+
},
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Check if a given object implements the RecordRepoSaveSkipRequest interface.
|
|
74
|
+
*/
|
|
75
|
+
export function instanceOfRecordRepoSaveSkipRequest(value: object): value is RecordRepoSaveSkipRequest {
|
|
76
|
+
if (!('runId' in value) || value['runId'] === undefined) return false;
|
|
77
|
+
if (!('reason' in value) || value['reason'] === undefined) return false;
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export function RecordRepoSaveSkipRequestFromJSON(json: any): RecordRepoSaveSkipRequest {
|
|
82
|
+
return RecordRepoSaveSkipRequestFromJSONTyped(json, false);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export function RecordRepoSaveSkipRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): RecordRepoSaveSkipRequest {
|
|
86
|
+
if (json == null) {
|
|
87
|
+
return json;
|
|
88
|
+
}
|
|
89
|
+
return {
|
|
90
|
+
|
|
91
|
+
'runId': json['run_id'],
|
|
92
|
+
'reason': RepoSaveSkipReasonFromJSON(json['reason']),
|
|
93
|
+
'detail': json['detail'] == null ? undefined : json['detail'],
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export function RecordRepoSaveSkipRequestToJSON(json: any): RecordRepoSaveSkipRequest {
|
|
98
|
+
return RecordRepoSaveSkipRequestToJSONTyped(json, false);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export function RecordRepoSaveSkipRequestToJSONTyped(value?: RecordRepoSaveSkipRequest | null, ignoreDiscriminator: boolean = false): any {
|
|
102
|
+
if (value == null) {
|
|
103
|
+
return value;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
return {
|
|
107
|
+
|
|
108
|
+
'run_id': value['runId'],
|
|
109
|
+
'reason': RepoSaveSkipReasonToJSON(value['reason']),
|
|
110
|
+
'detail': value['detail'],
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
|
|
@@ -0,0 +1,207 @@
|
|
|
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 { RepoTreeEntry } from './RepoTreeEntry';
|
|
17
|
+
import {
|
|
18
|
+
RepoTreeEntryFromJSON,
|
|
19
|
+
RepoTreeEntryFromJSONTyped,
|
|
20
|
+
RepoTreeEntryToJSON,
|
|
21
|
+
RepoTreeEntryToJSONTyped,
|
|
22
|
+
} from './RepoTreeEntry';
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* A retained run branch, independently of whether it reached main.
|
|
26
|
+
* @export
|
|
27
|
+
* @interface RepoBranchResponse
|
|
28
|
+
*/
|
|
29
|
+
export interface RepoBranchResponse {
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @type {string}
|
|
33
|
+
* @memberof RepoBranchResponse
|
|
34
|
+
*/
|
|
35
|
+
versionId: string;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @type {string}
|
|
39
|
+
* @memberof RepoBranchResponse
|
|
40
|
+
*/
|
|
41
|
+
headSha: string;
|
|
42
|
+
/**
|
|
43
|
+
*
|
|
44
|
+
* @type {string}
|
|
45
|
+
* @memberof RepoBranchResponse
|
|
46
|
+
*/
|
|
47
|
+
previousHeadSha: string | null;
|
|
48
|
+
/**
|
|
49
|
+
*
|
|
50
|
+
* @type {number}
|
|
51
|
+
* @memberof RepoBranchResponse
|
|
52
|
+
*/
|
|
53
|
+
commitsAdded: number;
|
|
54
|
+
/**
|
|
55
|
+
*
|
|
56
|
+
* @type {string}
|
|
57
|
+
* @memberof RepoBranchResponse
|
|
58
|
+
*/
|
|
59
|
+
runId: string | null;
|
|
60
|
+
/**
|
|
61
|
+
*
|
|
62
|
+
* @type {string}
|
|
63
|
+
* @memberof RepoBranchResponse
|
|
64
|
+
*/
|
|
65
|
+
savedByUserId: string;
|
|
66
|
+
/**
|
|
67
|
+
*
|
|
68
|
+
* @type {Date}
|
|
69
|
+
* @memberof RepoBranchResponse
|
|
70
|
+
*/
|
|
71
|
+
savedAt: Date;
|
|
72
|
+
/**
|
|
73
|
+
*
|
|
74
|
+
* @type {string}
|
|
75
|
+
* @memberof RepoBranchResponse
|
|
76
|
+
*/
|
|
77
|
+
instructionVersionId: string | null;
|
|
78
|
+
/**
|
|
79
|
+
* Retained run-branch version this publication integrated.
|
|
80
|
+
* @type {string}
|
|
81
|
+
* @memberof RepoBranchResponse
|
|
82
|
+
*/
|
|
83
|
+
candidateVersionId?: string | null;
|
|
84
|
+
/**
|
|
85
|
+
*
|
|
86
|
+
* @type {string}
|
|
87
|
+
* @memberof RepoBranchResponse
|
|
88
|
+
*/
|
|
89
|
+
branch: string;
|
|
90
|
+
/**
|
|
91
|
+
*
|
|
92
|
+
* @type {string}
|
|
93
|
+
* @memberof RepoBranchResponse
|
|
94
|
+
*/
|
|
95
|
+
baseVersionId: string | null;
|
|
96
|
+
/**
|
|
97
|
+
*
|
|
98
|
+
* @type {string}
|
|
99
|
+
* @memberof RepoBranchResponse
|
|
100
|
+
*/
|
|
101
|
+
integratedVersionId: string | null;
|
|
102
|
+
/**
|
|
103
|
+
*
|
|
104
|
+
* @type {string}
|
|
105
|
+
* @memberof RepoBranchResponse
|
|
106
|
+
*/
|
|
107
|
+
integratedHeadSha: string | null;
|
|
108
|
+
/**
|
|
109
|
+
*
|
|
110
|
+
* @type {Array<RepoTreeEntry>}
|
|
111
|
+
* @memberof RepoBranchResponse
|
|
112
|
+
*/
|
|
113
|
+
files: Array<RepoTreeEntry>;
|
|
114
|
+
}
|
|
115
|
+
export const RepoBranchResponsePropertyValidationAttributesMap: {
|
|
116
|
+
[property: string]: {
|
|
117
|
+
maxLength?: number,
|
|
118
|
+
minLength?: number,
|
|
119
|
+
pattern?: string,
|
|
120
|
+
maximum?: number,
|
|
121
|
+
exclusiveMaximum?: boolean,
|
|
122
|
+
minimum?: number,
|
|
123
|
+
exclusiveMinimum?: boolean,
|
|
124
|
+
multipleOf?: number,
|
|
125
|
+
maxItems?: number,
|
|
126
|
+
minItems?: number,
|
|
127
|
+
uniqueItems?: boolean
|
|
128
|
+
}
|
|
129
|
+
} = {
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Check if a given object implements the RepoBranchResponse interface.
|
|
135
|
+
*/
|
|
136
|
+
export function instanceOfRepoBranchResponse(value: object): value is RepoBranchResponse {
|
|
137
|
+
if (!('versionId' in value) || value['versionId'] === undefined) return false;
|
|
138
|
+
if (!('headSha' in value) || value['headSha'] === undefined) return false;
|
|
139
|
+
if (!('previousHeadSha' in value) || value['previousHeadSha'] === undefined) return false;
|
|
140
|
+
if (!('commitsAdded' in value) || value['commitsAdded'] === undefined) return false;
|
|
141
|
+
if (!('runId' in value) || value['runId'] === undefined) return false;
|
|
142
|
+
if (!('savedByUserId' in value) || value['savedByUserId'] === undefined) return false;
|
|
143
|
+
if (!('savedAt' in value) || value['savedAt'] === undefined) return false;
|
|
144
|
+
if (!('instructionVersionId' in value) || value['instructionVersionId'] === undefined) return false;
|
|
145
|
+
if (!('branch' in value) || value['branch'] === undefined) return false;
|
|
146
|
+
if (!('baseVersionId' in value) || value['baseVersionId'] === undefined) return false;
|
|
147
|
+
if (!('integratedVersionId' in value) || value['integratedVersionId'] === undefined) return false;
|
|
148
|
+
if (!('integratedHeadSha' in value) || value['integratedHeadSha'] === undefined) return false;
|
|
149
|
+
if (!('files' in value) || value['files'] === undefined) return false;
|
|
150
|
+
return true;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
export function RepoBranchResponseFromJSON(json: any): RepoBranchResponse {
|
|
154
|
+
return RepoBranchResponseFromJSONTyped(json, false);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
export function RepoBranchResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): RepoBranchResponse {
|
|
158
|
+
if (json == null) {
|
|
159
|
+
return json;
|
|
160
|
+
}
|
|
161
|
+
return {
|
|
162
|
+
|
|
163
|
+
'versionId': json['version_id'],
|
|
164
|
+
'headSha': json['head_sha'],
|
|
165
|
+
'previousHeadSha': json['previous_head_sha'],
|
|
166
|
+
'commitsAdded': json['commits_added'],
|
|
167
|
+
'runId': json['run_id'],
|
|
168
|
+
'savedByUserId': json['saved_by_user_id'],
|
|
169
|
+
'savedAt': (new Date(json['saved_at'])),
|
|
170
|
+
'instructionVersionId': json['instruction_version_id'],
|
|
171
|
+
'candidateVersionId': json['candidate_version_id'] == null ? undefined : json['candidate_version_id'],
|
|
172
|
+
'branch': json['branch'],
|
|
173
|
+
'baseVersionId': json['base_version_id'],
|
|
174
|
+
'integratedVersionId': json['integrated_version_id'],
|
|
175
|
+
'integratedHeadSha': json['integrated_head_sha'],
|
|
176
|
+
'files': ((json['files'] as Array<any>).map(RepoTreeEntryFromJSON)),
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
export function RepoBranchResponseToJSON(json: any): RepoBranchResponse {
|
|
181
|
+
return RepoBranchResponseToJSONTyped(json, false);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
export function RepoBranchResponseToJSONTyped(value?: RepoBranchResponse | null, ignoreDiscriminator: boolean = false): any {
|
|
185
|
+
if (value == null) {
|
|
186
|
+
return value;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
return {
|
|
190
|
+
|
|
191
|
+
'version_id': value['versionId'],
|
|
192
|
+
'head_sha': value['headSha'],
|
|
193
|
+
'previous_head_sha': value['previousHeadSha'],
|
|
194
|
+
'commits_added': value['commitsAdded'],
|
|
195
|
+
'run_id': value['runId'],
|
|
196
|
+
'saved_by_user_id': value['savedByUserId'],
|
|
197
|
+
'saved_at': value['savedAt'].toISOString(),
|
|
198
|
+
'instruction_version_id': value['instructionVersionId'],
|
|
199
|
+
'candidate_version_id': value['candidateVersionId'],
|
|
200
|
+
'branch': value['branch'],
|
|
201
|
+
'base_version_id': value['baseVersionId'],
|
|
202
|
+
'integrated_version_id': value['integratedVersionId'],
|
|
203
|
+
'integrated_head_sha': value['integratedHeadSha'],
|
|
204
|
+
'files': ((value['files'] as Array<any>).map(RepoTreeEntryToJSON)),
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
|