@stackfactor/client-api 1.19.0 → 1.20.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/dist/cjs/lib/constants.d.ts +2 -1
- package/dist/cjs/lib/constants.d.ts.map +1 -1
- package/dist/cjs/lib/constants.js +3 -1
- package/dist/cjs/lib/constants.js.map +1 -1
- package/dist/cjs/lib/knowledgeAssessmentAttempts.d.ts +22 -0
- package/dist/cjs/lib/knowledgeAssessmentAttempts.d.ts.map +1 -1
- package/dist/cjs/lib/knowledgeAssessmentAttempts.js +44 -1
- package/dist/cjs/lib/knowledgeAssessmentAttempts.js.map +1 -1
- package/dist/cjs/lib/knowledgeBase/documents.d.ts +127 -0
- package/dist/cjs/lib/knowledgeBase/documents.d.ts.map +1 -0
- package/dist/cjs/lib/knowledgeBase/documents.js +114 -0
- package/dist/cjs/lib/knowledgeBase/documents.js.map +1 -0
- package/dist/cjs/lib/knowledgeBase/knowledgeBases.d.ts +118 -0
- package/dist/cjs/lib/knowledgeBase/knowledgeBases.d.ts.map +1 -0
- package/dist/cjs/lib/knowledgeBase/knowledgeBases.js +256 -0
- package/dist/cjs/lib/knowledgeBase/knowledgeBases.js.map +1 -0
- package/dist/cjs/lib/knowledgeBase/review.d.ts +184 -0
- package/dist/cjs/lib/knowledgeBase/review.d.ts.map +1 -0
- package/dist/cjs/lib/knowledgeBase/review.js +413 -0
- package/dist/cjs/lib/knowledgeBase/review.js.map +1 -0
- package/dist/cjs/lib/knowledgeBase/skills.d.ts +247 -0
- package/dist/cjs/lib/knowledgeBase/skills.d.ts.map +1 -0
- package/dist/cjs/lib/knowledgeBase/skills.js +199 -0
- package/dist/cjs/lib/knowledgeBase/skills.js.map +1 -0
- package/dist/cjs/lib/knowledgeBase/sources.d.ts +136 -0
- package/dist/cjs/lib/knowledgeBase/sources.d.ts.map +1 -0
- package/dist/cjs/lib/knowledgeBase/sources.js +234 -0
- package/dist/cjs/lib/knowledgeBase/sources.js.map +1 -0
- package/dist/cjs/lib/knowledgeBase.d.ts +5 -642
- package/dist/cjs/lib/knowledgeBase.d.ts.map +1 -1
- package/dist/cjs/lib/knowledgeBase.js +32 -1111
- package/dist/cjs/lib/knowledgeBase.js.map +1 -1
- package/dist/cjs/lib/knowledgeBaseAgent.d.ts +33 -1
- package/dist/cjs/lib/knowledgeBaseAgent.d.ts.map +1 -1
- package/dist/cjs/lib/knowledgeBaseAgent.js +18 -3
- package/dist/cjs/lib/knowledgeBaseAgent.js.map +1 -1
- package/dist/cjs/lib/learningContent.d.ts.map +1 -1
- package/dist/cjs/lib/learningContent.js +12 -2
- package/dist/cjs/lib/learningContent.js.map +1 -1
- package/dist/cjs/lib/learningContentCohorts.d.ts +80 -0
- package/dist/cjs/lib/learningContentCohorts.d.ts.map +1 -1
- package/dist/cjs/lib/learningContentCohorts.js +80 -1
- package/dist/cjs/lib/learningContentCohorts.js.map +1 -1
- package/dist/esm/lib/constants.d.ts +2 -1
- package/dist/esm/lib/constants.d.ts.map +1 -1
- package/dist/esm/lib/constants.js +3 -1
- package/dist/esm/lib/constants.js.map +1 -1
- package/dist/esm/lib/knowledgeAssessmentAttempts.d.ts +22 -0
- package/dist/esm/lib/knowledgeAssessmentAttempts.d.ts.map +1 -1
- package/dist/esm/lib/knowledgeAssessmentAttempts.js +40 -0
- package/dist/esm/lib/knowledgeAssessmentAttempts.js.map +1 -1
- package/dist/esm/lib/knowledgeBase/documents.d.ts +127 -0
- package/dist/esm/lib/knowledgeBase/documents.d.ts.map +1 -0
- package/dist/esm/lib/knowledgeBase/documents.js +107 -0
- package/dist/esm/lib/knowledgeBase/documents.js.map +1 -0
- package/dist/esm/lib/knowledgeBase/knowledgeBases.d.ts +118 -0
- package/dist/esm/lib/knowledgeBase/knowledgeBases.d.ts.map +1 -0
- package/dist/esm/lib/knowledgeBase/knowledgeBases.js +242 -0
- package/dist/esm/lib/knowledgeBase/knowledgeBases.js.map +1 -0
- package/dist/esm/lib/knowledgeBase/review.d.ts +184 -0
- package/dist/esm/lib/knowledgeBase/review.d.ts.map +1 -0
- package/dist/esm/lib/knowledgeBase/review.js +392 -0
- package/dist/esm/lib/knowledgeBase/review.js.map +1 -0
- package/dist/esm/lib/knowledgeBase/skills.d.ts +247 -0
- package/dist/esm/lib/knowledgeBase/skills.d.ts.map +1 -0
- package/dist/esm/lib/knowledgeBase/skills.js +189 -0
- package/dist/esm/lib/knowledgeBase/skills.js.map +1 -0
- package/dist/esm/lib/knowledgeBase/sources.d.ts +136 -0
- package/dist/esm/lib/knowledgeBase/sources.d.ts.map +1 -0
- package/dist/esm/lib/knowledgeBase/sources.js +221 -0
- package/dist/esm/lib/knowledgeBase/sources.js.map +1 -0
- package/dist/esm/lib/knowledgeBase.d.ts +5 -642
- package/dist/esm/lib/knowledgeBase.d.ts.map +1 -1
- package/dist/esm/lib/knowledgeBase.js +18 -1062
- package/dist/esm/lib/knowledgeBase.js.map +1 -1
- package/dist/esm/lib/knowledgeBaseAgent.d.ts +33 -1
- package/dist/esm/lib/knowledgeBaseAgent.d.ts.map +1 -1
- package/dist/esm/lib/knowledgeBaseAgent.js +16 -2
- package/dist/esm/lib/knowledgeBaseAgent.js.map +1 -1
- package/dist/esm/lib/learningContent.d.ts.map +1 -1
- package/dist/esm/lib/learningContent.js +12 -2
- package/dist/esm/lib/learningContent.js.map +1 -1
- package/dist/esm/lib/learningContentCohorts.d.ts +80 -0
- package/dist/esm/lib/learningContentCohorts.d.ts.map +1 -1
- package/dist/esm/lib/learningContentCohorts.js +66 -0
- package/dist/esm/lib/learningContentCohorts.js.map +1 -1
- package/package.json +1 -3
|
@@ -0,0 +1,413 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dismissAllArtifacts = exports.dismissArtifact = exports.retireArtifact = exports.regenerateArtifact = exports.decideContradiction = exports.listContradictions = exports.regenerateGenerated = exports.rejectGenerated = exports.editApproveGenerated = exports.approveGenerated = exports.listGeneratedReview = exports.deleteQuarantine = exports.reingestQuarantine = exports.decideQuarantine = exports.releaseQuarantine = exports.listReleased = exports.listQuarantine = exports.getReviewOverview = void 0;
|
|
4
|
+
const axiosClient_js_1 = require("../axiosClient.js");
|
|
5
|
+
//
|
|
6
|
+
// Knowledge Base management operations — Review Center (quarantine, generated content, contradictions) and out-of-sync notification actions.
|
|
7
|
+
// Re-exported by `../knowledgeBase.ts`, which keeps the public entry.
|
|
8
|
+
//
|
|
9
|
+
// ── Review Center — overview ──────────────────────────────────────────────────
|
|
10
|
+
/**
|
|
11
|
+
* Overview of all Review Center streams + counts for a knowledge base.
|
|
12
|
+
* GET /api/v1/knowledge-base/:id/review
|
|
13
|
+
* @param {String} id The knowledge base id
|
|
14
|
+
* @param {String} authToken Authentication token
|
|
15
|
+
* @returns {Promise<object>}
|
|
16
|
+
*/
|
|
17
|
+
const getReviewOverview = (id, authToken) => {
|
|
18
|
+
return new Promise((resolve, reject) => {
|
|
19
|
+
const request = axiosClient_js_1.client.get(`/api/v1/knowledge-base/${id}/review`, {
|
|
20
|
+
headers: { authorization: authToken },
|
|
21
|
+
});
|
|
22
|
+
request
|
|
23
|
+
.then((response) => {
|
|
24
|
+
resolve(response.data);
|
|
25
|
+
})
|
|
26
|
+
.catch((error) => {
|
|
27
|
+
reject(error);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
exports.getReviewOverview = getReviewOverview;
|
|
32
|
+
// ── Review Center — Stream 1: Quarantine release ──────────────────────────────
|
|
33
|
+
/**
|
|
34
|
+
* List QUARANTINED documents (Review Center stream 1).
|
|
35
|
+
* GET /api/v1/knowledge-base/:id/review/quarantine
|
|
36
|
+
* @param {String} id The knowledge base id
|
|
37
|
+
* @param {String} authToken Authentication token
|
|
38
|
+
* @returns {Promise<object>}
|
|
39
|
+
*/
|
|
40
|
+
const listQuarantine = (id, authToken) => {
|
|
41
|
+
return new Promise((resolve, reject) => {
|
|
42
|
+
const request = axiosClient_js_1.client.get(`/api/v1/knowledge-base/${id}/review/quarantine`, { headers: { authorization: authToken } });
|
|
43
|
+
request
|
|
44
|
+
.then((response) => {
|
|
45
|
+
resolve(response.data);
|
|
46
|
+
})
|
|
47
|
+
.catch((error) => {
|
|
48
|
+
reject(error);
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
exports.listQuarantine = listQuarantine;
|
|
53
|
+
/**
|
|
54
|
+
* List the documents released from review (Review Center stream 1): every one
|
|
55
|
+
* released and not held again since, the newest release first, each with
|
|
56
|
+
* `quarantineReleasedAt` and `quarantineReleasedByName` (who released it, or
|
|
57
|
+
* null). Requires RELEASE_QUARANTINE + owner|editor, as the held list does.
|
|
58
|
+
* GET /api/v1/knowledge-base/:id/review/quarantine?state=released
|
|
59
|
+
* @param {String} id The knowledge base id
|
|
60
|
+
* @param {String} authToken Authentication token
|
|
61
|
+
* @returns {Promise<object>}
|
|
62
|
+
*/
|
|
63
|
+
const listReleased = (id, authToken) => {
|
|
64
|
+
return new Promise((resolve, reject) => {
|
|
65
|
+
const request = axiosClient_js_1.client.get(`/api/v1/knowledge-base/${id}/review/quarantine`, { headers: { authorization: authToken }, params: { state: "released" } });
|
|
66
|
+
request
|
|
67
|
+
.then((response) => {
|
|
68
|
+
resolve(response.data);
|
|
69
|
+
})
|
|
70
|
+
.catch((error) => {
|
|
71
|
+
reject(error);
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
exports.listReleased = listReleased;
|
|
76
|
+
/**
|
|
77
|
+
* Release a quarantined document. Requires RELEASE_QUARANTINE + owner|editor.
|
|
78
|
+
* POST /api/v1/knowledge-base/:id/review/quarantine/:docId/release
|
|
79
|
+
* @param {String} id The knowledge base id
|
|
80
|
+
* @param {String} docId The document id
|
|
81
|
+
* @param {String} authToken Authentication token
|
|
82
|
+
* @returns {Promise<object>}
|
|
83
|
+
*/
|
|
84
|
+
const releaseQuarantine = (id, docId, authToken) => {
|
|
85
|
+
return new Promise((resolve, reject) => {
|
|
86
|
+
const request = axiosClient_js_1.client.post(`/api/v1/knowledge-base/${id}/review/quarantine/${docId}/release`, {}, { headers: { authorization: authToken } });
|
|
87
|
+
request
|
|
88
|
+
.then((response) => {
|
|
89
|
+
resolve(response.data);
|
|
90
|
+
})
|
|
91
|
+
.catch((error) => {
|
|
92
|
+
reject(error);
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
};
|
|
96
|
+
exports.releaseQuarantine = releaseQuarantine;
|
|
97
|
+
/**
|
|
98
|
+
* Apply a reviewer's decisions to many held documents at once: release each
|
|
99
|
+
* named document back through ingestion, keep it in quarantine as reviewed, or
|
|
100
|
+
* block it from the knowledge base. One run per source released into is asked
|
|
101
|
+
* for, never one per document. Requires RELEASE_QUARANTINE + owner|editor.
|
|
102
|
+
* POST /api/v1/knowledge-base/:id/review/quarantine/decisions
|
|
103
|
+
* @param {String} id The knowledge base id
|
|
104
|
+
* @param {Array<{documentId: string, decision: "release"|"quarantine"|"block", reason?: string}>} decisions One decision per document, at most 500
|
|
105
|
+
* @param {String} authToken Authentication token
|
|
106
|
+
* @returns {Promise<object>} `{ results: [{ documentId, decision, outcome }], runs: [{ sourceId, correlationId, started }] }`
|
|
107
|
+
*/
|
|
108
|
+
const decideQuarantine = (id, decisions, authToken) => {
|
|
109
|
+
return new Promise((resolve, reject) => {
|
|
110
|
+
const request = axiosClient_js_1.client.post(`/api/v1/knowledge-base/${id}/review/quarantine/decisions`, { decisions }, { headers: { authorization: authToken } });
|
|
111
|
+
request
|
|
112
|
+
.then((response) => {
|
|
113
|
+
resolve(response.data);
|
|
114
|
+
})
|
|
115
|
+
.catch((error) => {
|
|
116
|
+
reject(error);
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
};
|
|
120
|
+
exports.decideQuarantine = decideQuarantine;
|
|
121
|
+
/**
|
|
122
|
+
* Re-ingest a quarantined document (optionally with an updated redaction policy).
|
|
123
|
+
* Publishes a kb-source-event (trigger="quarantine_re_ingest"). Requires
|
|
124
|
+
* RELEASE_QUARANTINE + owner.
|
|
125
|
+
* POST /api/v1/knowledge-base/:id/review/quarantine/:docId/re-ingest
|
|
126
|
+
* @param {String} id The knowledge base id
|
|
127
|
+
* @param {String} docId The document id
|
|
128
|
+
* @param {object} data Optional body, e.g. `{ updatedRedactionPolicy }`
|
|
129
|
+
* @param {String} authToken Authentication token
|
|
130
|
+
* @returns {Promise<object>}
|
|
131
|
+
*/
|
|
132
|
+
const reingestQuarantine = (id, docId, data, authToken) => {
|
|
133
|
+
return new Promise((resolve, reject) => {
|
|
134
|
+
const request = axiosClient_js_1.client.post(`/api/v1/knowledge-base/${id}/review/quarantine/${docId}/re-ingest`, data, { headers: { authorization: authToken } });
|
|
135
|
+
request
|
|
136
|
+
.then((response) => {
|
|
137
|
+
resolve(response.data);
|
|
138
|
+
})
|
|
139
|
+
.catch((error) => {
|
|
140
|
+
reject(error);
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
};
|
|
144
|
+
exports.reingestQuarantine = reingestQuarantine;
|
|
145
|
+
/**
|
|
146
|
+
* Delete a quarantined document. Requires RELEASE_QUARANTINE + owner.
|
|
147
|
+
* POST /api/v1/knowledge-base/:id/review/quarantine/:docId/delete
|
|
148
|
+
* @param {String} id The knowledge base id
|
|
149
|
+
* @param {String} docId The document id
|
|
150
|
+
* @param {String} authToken Authentication token
|
|
151
|
+
* @returns {Promise<object>}
|
|
152
|
+
*/
|
|
153
|
+
const deleteQuarantine = (id, docId, authToken) => {
|
|
154
|
+
return new Promise((resolve, reject) => {
|
|
155
|
+
const request = axiosClient_js_1.client.post(`/api/v1/knowledge-base/${id}/review/quarantine/${docId}/delete`, {}, { headers: { authorization: authToken } });
|
|
156
|
+
request
|
|
157
|
+
.then((response) => {
|
|
158
|
+
resolve(response.data);
|
|
159
|
+
})
|
|
160
|
+
.catch((error) => {
|
|
161
|
+
reject(error);
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
};
|
|
165
|
+
exports.deleteQuarantine = deleteQuarantine;
|
|
166
|
+
// ── Review Center — Stream 2: Generated content review ────────────────────────
|
|
167
|
+
/**
|
|
168
|
+
* List generated artifacts awaiting review (needsReview=true).
|
|
169
|
+
* Requires GENERATE_FROM_KB + owner|editor.
|
|
170
|
+
* GET /api/v1/knowledge-base/:id/review/generated
|
|
171
|
+
* @param {String} id The knowledge base id
|
|
172
|
+
* @param {String} authToken Authentication token
|
|
173
|
+
* @returns {Promise<object>}
|
|
174
|
+
*/
|
|
175
|
+
const listGeneratedReview = (id, authToken) => {
|
|
176
|
+
return new Promise((resolve, reject) => {
|
|
177
|
+
const request = axiosClient_js_1.client.get(`/api/v1/knowledge-base/${id}/review/generated`, { headers: { authorization: authToken } });
|
|
178
|
+
request
|
|
179
|
+
.then((response) => {
|
|
180
|
+
resolve(response.data);
|
|
181
|
+
})
|
|
182
|
+
.catch((error) => {
|
|
183
|
+
reject(error);
|
|
184
|
+
});
|
|
185
|
+
});
|
|
186
|
+
};
|
|
187
|
+
exports.listGeneratedReview = listGeneratedReview;
|
|
188
|
+
/**
|
|
189
|
+
* Approve a generated artifact. Requires GENERATE_FROM_KB + owner|editor.
|
|
190
|
+
* POST /api/v1/knowledge-base/:id/review/generated/:entityId/approve
|
|
191
|
+
* @param {String} id The knowledge base id
|
|
192
|
+
* @param {String} entityId The artifact/entity id
|
|
193
|
+
* @param {object} data Body `{ entityType, notes? }`
|
|
194
|
+
* @param {String} authToken Authentication token
|
|
195
|
+
* @returns {Promise<object>}
|
|
196
|
+
*/
|
|
197
|
+
const approveGenerated = (id, entityId, data, authToken) => {
|
|
198
|
+
return new Promise((resolve, reject) => {
|
|
199
|
+
const request = axiosClient_js_1.client.post(`/api/v1/knowledge-base/${id}/review/generated/${entityId}/approve`, data, { headers: { authorization: authToken } });
|
|
200
|
+
request
|
|
201
|
+
.then((response) => {
|
|
202
|
+
resolve(response.data);
|
|
203
|
+
})
|
|
204
|
+
.catch((error) => {
|
|
205
|
+
reject(error);
|
|
206
|
+
});
|
|
207
|
+
});
|
|
208
|
+
};
|
|
209
|
+
exports.approveGenerated = approveGenerated;
|
|
210
|
+
/**
|
|
211
|
+
* Approve a generated artifact with edits.
|
|
212
|
+
* Requires GENERATE_FROM_KB + owner|editor.
|
|
213
|
+
* POST /api/v1/knowledge-base/:id/review/generated/:entityId/edit-approve
|
|
214
|
+
* @param {String} id The knowledge base id
|
|
215
|
+
* @param {String} entityId The artifact/entity id
|
|
216
|
+
* @param {object} data Body `{ entityType, edits, notes? }`
|
|
217
|
+
* @param {String} authToken Authentication token
|
|
218
|
+
* @returns {Promise<object>}
|
|
219
|
+
*/
|
|
220
|
+
const editApproveGenerated = (id, entityId, data, authToken) => {
|
|
221
|
+
return new Promise((resolve, reject) => {
|
|
222
|
+
const request = axiosClient_js_1.client.post(`/api/v1/knowledge-base/${id}/review/generated/${entityId}/edit-approve`, data, { headers: { authorization: authToken } });
|
|
223
|
+
request
|
|
224
|
+
.then((response) => {
|
|
225
|
+
resolve(response.data);
|
|
226
|
+
})
|
|
227
|
+
.catch((error) => {
|
|
228
|
+
reject(error);
|
|
229
|
+
});
|
|
230
|
+
});
|
|
231
|
+
};
|
|
232
|
+
exports.editApproveGenerated = editApproveGenerated;
|
|
233
|
+
/**
|
|
234
|
+
* Reject a generated artifact. Requires GENERATE_FROM_KB + owner|editor.
|
|
235
|
+
* POST /api/v1/knowledge-base/:id/review/generated/:entityId/reject
|
|
236
|
+
* @param {String} id The knowledge base id
|
|
237
|
+
* @param {String} entityId The artifact/entity id
|
|
238
|
+
* @param {object} data Body `{ entityType, reason }`
|
|
239
|
+
* @param {String} authToken Authentication token
|
|
240
|
+
* @returns {Promise<object>}
|
|
241
|
+
*/
|
|
242
|
+
const rejectGenerated = (id, entityId, data, authToken) => {
|
|
243
|
+
return new Promise((resolve, reject) => {
|
|
244
|
+
const request = axiosClient_js_1.client.post(`/api/v1/knowledge-base/${id}/review/generated/${entityId}/reject`, data, { headers: { authorization: authToken } });
|
|
245
|
+
request
|
|
246
|
+
.then((response) => {
|
|
247
|
+
resolve(response.data);
|
|
248
|
+
})
|
|
249
|
+
.catch((error) => {
|
|
250
|
+
reject(error);
|
|
251
|
+
});
|
|
252
|
+
});
|
|
253
|
+
};
|
|
254
|
+
exports.rejectGenerated = rejectGenerated;
|
|
255
|
+
/**
|
|
256
|
+
* Regenerate a generated artifact using current chunks.
|
|
257
|
+
* Requires GENERATE_FROM_KB + owner|editor.
|
|
258
|
+
* POST /api/v1/knowledge-base/:id/review/generated/:entityId/regenerate
|
|
259
|
+
* @param {String} id The knowledge base id
|
|
260
|
+
* @param {String} entityId The artifact/entity id
|
|
261
|
+
* @param {object} data Body `{ entityType, regenerationHints? }`
|
|
262
|
+
* @param {String} authToken Authentication token
|
|
263
|
+
* @returns {Promise<object>}
|
|
264
|
+
*/
|
|
265
|
+
const regenerateGenerated = (id, entityId, data, authToken) => {
|
|
266
|
+
return new Promise((resolve, reject) => {
|
|
267
|
+
const request = axiosClient_js_1.client.post(`/api/v1/knowledge-base/${id}/review/generated/${entityId}/regenerate`, data, { headers: { authorization: authToken } });
|
|
268
|
+
request
|
|
269
|
+
.then((response) => {
|
|
270
|
+
resolve(response.data);
|
|
271
|
+
})
|
|
272
|
+
.catch((error) => {
|
|
273
|
+
reject(error);
|
|
274
|
+
});
|
|
275
|
+
});
|
|
276
|
+
};
|
|
277
|
+
exports.regenerateGenerated = regenerateGenerated;
|
|
278
|
+
// ── Review Center — Stream 3: Contradiction flags ─────────────────────────────
|
|
279
|
+
/**
|
|
280
|
+
* List chunks with non-empty contradictionFlags[].
|
|
281
|
+
* Requires GENERATE_FROM_KB + owner|editor.
|
|
282
|
+
* GET /api/v1/knowledge-base/:id/review/contradictions
|
|
283
|
+
* @param {String} id The knowledge base id
|
|
284
|
+
* @param {String} authToken Authentication token
|
|
285
|
+
* @returns {Promise<object>}
|
|
286
|
+
*/
|
|
287
|
+
const listContradictions = (id, authToken) => {
|
|
288
|
+
return new Promise((resolve, reject) => {
|
|
289
|
+
const request = axiosClient_js_1.client.get(`/api/v1/knowledge-base/${id}/review/contradictions`, { headers: { authorization: authToken } });
|
|
290
|
+
request
|
|
291
|
+
.then((response) => {
|
|
292
|
+
resolve(response.data);
|
|
293
|
+
})
|
|
294
|
+
.catch((error) => {
|
|
295
|
+
reject(error);
|
|
296
|
+
});
|
|
297
|
+
});
|
|
298
|
+
};
|
|
299
|
+
exports.listContradictions = listContradictions;
|
|
300
|
+
/**
|
|
301
|
+
* Decide a contradiction between two chunks.
|
|
302
|
+
* Requires GENERATE_FROM_KB + owner|editor.
|
|
303
|
+
* POST /api/v1/knowledge-base/:id/review/contradictions/:chunkId/decide
|
|
304
|
+
* @param {String} id The knowledge base id
|
|
305
|
+
* @param {String} chunkId The chunk id carrying the contradiction flag
|
|
306
|
+
* @param {object} data Body `{ decision, otherChunkId, notes }` — `decision` is one
|
|
307
|
+
* of `KNOWLEDGE_BASE.CONTRADICTION_DECISION`
|
|
308
|
+
* @param {String} authToken Authentication token
|
|
309
|
+
* @returns {Promise<object>}
|
|
310
|
+
*/
|
|
311
|
+
const decideContradiction = (id, chunkId, data, authToken) => {
|
|
312
|
+
return new Promise((resolve, reject) => {
|
|
313
|
+
const request = axiosClient_js_1.client.post(`/api/v1/knowledge-base/${id}/review/contradictions/${chunkId}/decide`, data, { headers: { authorization: authToken } });
|
|
314
|
+
request
|
|
315
|
+
.then((response) => {
|
|
316
|
+
resolve(response.data);
|
|
317
|
+
})
|
|
318
|
+
.catch((error) => {
|
|
319
|
+
reject(error);
|
|
320
|
+
});
|
|
321
|
+
});
|
|
322
|
+
};
|
|
323
|
+
exports.decideContradiction = decideContradiction;
|
|
324
|
+
// ── Out-of-Sync Notification Actions ──────────────────────────────────────────
|
|
325
|
+
// (design §14 / §14A — surfaced as notifications, acted on per-artifact.
|
|
326
|
+
// Requires GENERATE_FROM_KB + owner|editor on the KB.)
|
|
327
|
+
/**
|
|
328
|
+
* Regenerate a stale artifact from a notification using current chunks.
|
|
329
|
+
* POST /api/v1/notifications/:notificationId/artifacts/:artifactId/regenerate
|
|
330
|
+
* @param {String} notificationId The notification id
|
|
331
|
+
* @param {String} artifactId The artifact id
|
|
332
|
+
* @param {object} data Body `{ entityType }`
|
|
333
|
+
* @param {String} authToken Authentication token
|
|
334
|
+
* @returns {Promise<object>}
|
|
335
|
+
*/
|
|
336
|
+
const regenerateArtifact = (notificationId, artifactId, data, authToken) => {
|
|
337
|
+
return new Promise((resolve, reject) => {
|
|
338
|
+
const request = axiosClient_js_1.client.post(`/api/v1/notifications/${notificationId}/artifacts/${artifactId}/regenerate`, data, { headers: { authorization: authToken } });
|
|
339
|
+
request
|
|
340
|
+
.then((response) => {
|
|
341
|
+
resolve(response.data);
|
|
342
|
+
})
|
|
343
|
+
.catch((error) => {
|
|
344
|
+
reject(error);
|
|
345
|
+
});
|
|
346
|
+
});
|
|
347
|
+
};
|
|
348
|
+
exports.regenerateArtifact = regenerateArtifact;
|
|
349
|
+
/**
|
|
350
|
+
* Retire (soft-delete) a stale artifact from a notification.
|
|
351
|
+
* POST /api/v1/notifications/:notificationId/artifacts/:artifactId/retire
|
|
352
|
+
* @param {String} notificationId The notification id
|
|
353
|
+
* @param {String} artifactId The artifact id
|
|
354
|
+
* @param {object} data Body `{ entityType }`
|
|
355
|
+
* @param {String} authToken Authentication token
|
|
356
|
+
* @returns {Promise<object>}
|
|
357
|
+
*/
|
|
358
|
+
const retireArtifact = (notificationId, artifactId, data, authToken) => {
|
|
359
|
+
return new Promise((resolve, reject) => {
|
|
360
|
+
const request = axiosClient_js_1.client.post(`/api/v1/notifications/${notificationId}/artifacts/${artifactId}/retire`, data, { headers: { authorization: authToken } });
|
|
361
|
+
request
|
|
362
|
+
.then((response) => {
|
|
363
|
+
resolve(response.data);
|
|
364
|
+
})
|
|
365
|
+
.catch((error) => {
|
|
366
|
+
reject(error);
|
|
367
|
+
});
|
|
368
|
+
});
|
|
369
|
+
};
|
|
370
|
+
exports.retireArtifact = retireArtifact;
|
|
371
|
+
/**
|
|
372
|
+
* Dismiss a stale-artifact flag (mark the staleness acceptable).
|
|
373
|
+
* POST /api/v1/notifications/:notificationId/artifacts/:artifactId/dismiss
|
|
374
|
+
* @param {String} notificationId The notification id
|
|
375
|
+
* @param {String} artifactId The artifact id
|
|
376
|
+
* @param {object} data Body `{ entityType, reason? }`
|
|
377
|
+
* @param {String} authToken Authentication token
|
|
378
|
+
* @returns {Promise<object>}
|
|
379
|
+
*/
|
|
380
|
+
const dismissArtifact = (notificationId, artifactId, data, authToken) => {
|
|
381
|
+
return new Promise((resolve, reject) => {
|
|
382
|
+
const request = axiosClient_js_1.client.post(`/api/v1/notifications/${notificationId}/artifacts/${artifactId}/dismiss`, data, { headers: { authorization: authToken } });
|
|
383
|
+
request
|
|
384
|
+
.then((response) => {
|
|
385
|
+
resolve(response.data);
|
|
386
|
+
})
|
|
387
|
+
.catch((error) => {
|
|
388
|
+
reject(error);
|
|
389
|
+
});
|
|
390
|
+
});
|
|
391
|
+
};
|
|
392
|
+
exports.dismissArtifact = dismissArtifact;
|
|
393
|
+
/**
|
|
394
|
+
* Dismiss an entire out-of-sync notification (all artifacts).
|
|
395
|
+
* POST /api/v1/notifications/:notificationId/dismiss-all
|
|
396
|
+
* @param {String} notificationId The notification id
|
|
397
|
+
* @param {String} authToken Authentication token
|
|
398
|
+
* @returns {Promise<object>}
|
|
399
|
+
*/
|
|
400
|
+
const dismissAllArtifacts = (notificationId, authToken) => {
|
|
401
|
+
return new Promise((resolve, reject) => {
|
|
402
|
+
const request = axiosClient_js_1.client.post(`/api/v1/notifications/${notificationId}/dismiss-all`, {}, { headers: { authorization: authToken } });
|
|
403
|
+
request
|
|
404
|
+
.then((response) => {
|
|
405
|
+
resolve(response.data);
|
|
406
|
+
})
|
|
407
|
+
.catch((error) => {
|
|
408
|
+
reject(error);
|
|
409
|
+
});
|
|
410
|
+
});
|
|
411
|
+
};
|
|
412
|
+
exports.dismissAllArtifacts = dismissAllArtifacts;
|
|
413
|
+
//# sourceMappingURL=review.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../../../src/lib/knowledgeBase/review.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A skill a knowledge base's people listed for labelling to look for. Picked
|
|
3
|
+
* from the catalog, it names the catalog skill: the tenant's skills
|
|
4
|
+
* (`"skill"`) or the platform's skill templates (`"skillTemplate"`). The
|
|
5
|
+
* platform reads that skill's own microskills; any sent are ignored.
|
|
6
|
+
*/
|
|
7
|
+
export interface ListedSkill {
|
|
8
|
+
name: string;
|
|
9
|
+
catalogId?: string | null;
|
|
10
|
+
catalogType?: "skill" | "skillTemplate" | null;
|
|
11
|
+
/** Read-only: the catalog skill's own microskills, as stored. */
|
|
12
|
+
microSkills?: string[];
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* What labelling looks for in content: every skill it teaches (`"discover"`,
|
|
16
|
+
* the default), the listed skills first, under their names, and any others
|
|
17
|
+
* (`"guided"`), or only the listed ones (`"focused"`). Guided and focused need
|
|
18
|
+
* at least one skill, at most 50; discover lists none. Each connection holds
|
|
19
|
+
* its own (`SourceInput.skillSettings`).
|
|
20
|
+
*/
|
|
21
|
+
export interface SkillSettings {
|
|
22
|
+
mode: "discover" | "guided" | "focused";
|
|
23
|
+
skills: ListedSkill[];
|
|
24
|
+
}
|
|
25
|
+
/** Optional options for the list of a knowledge base's skills. */
|
|
26
|
+
export interface SkillListParams {
|
|
27
|
+
/** How many skills, most named first: 1 to 200 (default 50). */
|
|
28
|
+
limit?: number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* One way a knowledge base's people name a skill its content was labelled
|
|
32
|
+
* with: `from`, a skill's name (any spelling of it), becomes `to` — a new name,
|
|
33
|
+
* or the name of a skill it merges into — or null, which removes the skill.
|
|
34
|
+
*/
|
|
35
|
+
export interface SkillMapping {
|
|
36
|
+
from: string;
|
|
37
|
+
to: string | null;
|
|
38
|
+
}
|
|
39
|
+
/** A knowledge base that holds documents about a skill (`getSkillCoverage`). */
|
|
40
|
+
export interface SkillCoverageKnowledgeBase {
|
|
41
|
+
_id: string;
|
|
42
|
+
name: string;
|
|
43
|
+
/** How many of its documents the caller may read name the skill. */
|
|
44
|
+
documentCount: number;
|
|
45
|
+
/** The kinds of resource those documents came from. */
|
|
46
|
+
sourceTypes: string[];
|
|
47
|
+
}
|
|
48
|
+
/** What the knowledge bases the caller can open hold about one skill. */
|
|
49
|
+
export interface SkillCoverage {
|
|
50
|
+
/** The skill's name as it was matched: spaces collapsed, trimmed. */
|
|
51
|
+
skill: string;
|
|
52
|
+
documentCount: number;
|
|
53
|
+
/** Most documents first. */
|
|
54
|
+
knowledgeBases: SkillCoverageKnowledgeBase[];
|
|
55
|
+
/** The microskills their passages cover most, at most 12. */
|
|
56
|
+
microSkills: string[];
|
|
57
|
+
/** Every microskill they cover. */
|
|
58
|
+
microSkillCount: number;
|
|
59
|
+
}
|
|
60
|
+
/** Options for the skill names the caller's knowledge bases suggest (`getSkillSuggestions`). */
|
|
61
|
+
export interface SkillSuggestionParams {
|
|
62
|
+
/** How many suggestions: 1 to 25 (default 10). */
|
|
63
|
+
limit?: number;
|
|
64
|
+
/**
|
|
65
|
+
* Where a name that already exists is looked for: the tenant's skills
|
|
66
|
+
* (`"skill"`, the default) or, for the skill template form, the platform's
|
|
67
|
+
* skill templates (`"skillTemplate"`, a StackFactor admin tenant only).
|
|
68
|
+
*/
|
|
69
|
+
catalog?: "skill" | "skillTemplate";
|
|
70
|
+
/** The skill or skill template being edited: its own name is no clash. */
|
|
71
|
+
excludeId?: string | null;
|
|
72
|
+
}
|
|
73
|
+
/** A skill name the caller's knowledge bases suggest (`getSkillSuggestions`). */
|
|
74
|
+
export interface SkillSuggestion {
|
|
75
|
+
/** The spelling most of its documents use. */
|
|
76
|
+
name: string;
|
|
77
|
+
/** How many documents the caller may read name it. */
|
|
78
|
+
documentCount: number;
|
|
79
|
+
/** How many knowledge bases those documents are in. */
|
|
80
|
+
knowledgeBaseCount: number;
|
|
81
|
+
/**
|
|
82
|
+
* A skill (with `catalog` "skillTemplate", a skill template) already has
|
|
83
|
+
* this name, in some spelling: a new one may not take it.
|
|
84
|
+
*/
|
|
85
|
+
existingSkill: boolean;
|
|
86
|
+
/**
|
|
87
|
+
* How the skill (skill template) that already has the name spells it, which
|
|
88
|
+
* may differ from `name` ("react" for "React"); null when none has it.
|
|
89
|
+
*/
|
|
90
|
+
existingSkillName: string | null;
|
|
91
|
+
}
|
|
92
|
+
/** One of a knowledge base skill's microskills, and how many passages teach it. */
|
|
93
|
+
export interface KnowledgeBaseMicroSkill {
|
|
94
|
+
name: string;
|
|
95
|
+
passages: number;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Where a knowledge base's microskill grouping stands, read from what the
|
|
99
|
+
* platform stores: asked for and not started (`queued`, since `requestedAt`),
|
|
100
|
+
* under way (`running`, since `startedAt`) or neither (`idle`); and when the
|
|
101
|
+
* last grouping ended, null before the first.
|
|
102
|
+
*/
|
|
103
|
+
export interface KnowledgeBaseMicroSkillGrouping {
|
|
104
|
+
state: "idle" | "queued" | "running";
|
|
105
|
+
requestedAt: string | null;
|
|
106
|
+
startedAt: string | null;
|
|
107
|
+
finishedAt: string | null;
|
|
108
|
+
}
|
|
109
|
+
/** A knowledge base skill's microskills (`listMicroSkills`). */
|
|
110
|
+
export interface KnowledgeBaseMicroSkills {
|
|
111
|
+
/** The skill as it was asked for: spaces collapsed, trimmed. */
|
|
112
|
+
skill: string;
|
|
113
|
+
/**
|
|
114
|
+
* True when the passages' tags were grouped into microskills; false before,
|
|
115
|
+
* when `microSkills` are the tags as labelling gave them.
|
|
116
|
+
*/
|
|
117
|
+
consolidated: boolean;
|
|
118
|
+
consolidatedAt: string | null;
|
|
119
|
+
/** Most passages first. Every one, however many. */
|
|
120
|
+
microSkills: KnowledgeBaseMicroSkill[];
|
|
121
|
+
microSkillCount: number;
|
|
122
|
+
/** How many distinct passage tags they were grouped from. */
|
|
123
|
+
passageTags: number;
|
|
124
|
+
/**
|
|
125
|
+
* How many passages carry the skill's tags, each once. Absent, like the two
|
|
126
|
+
* fields below, from a platform older than Group now.
|
|
127
|
+
*/
|
|
128
|
+
passages?: number;
|
|
129
|
+
/**
|
|
130
|
+
* True when those passages are fewer than a microskill needs: grouping never
|
|
131
|
+
* groups the skill, so its tags stay as they are and Group now would change
|
|
132
|
+
* nothing for it.
|
|
133
|
+
*/
|
|
134
|
+
belowGroupingThreshold?: boolean;
|
|
135
|
+
/** Where the knowledge base's grouping stands. */
|
|
136
|
+
grouping?: KnowledgeBaseMicroSkillGrouping;
|
|
137
|
+
/**
|
|
138
|
+
* When the last grouping of a skill not grouped failed; null when it did not,
|
|
139
|
+
* or the skill is grouped.
|
|
140
|
+
*/
|
|
141
|
+
groupingFailedAt?: string | null;
|
|
142
|
+
/**
|
|
143
|
+
* Why, when the platform's RAG processor was refused for good (none enabled
|
|
144
|
+
* or allowed by the compliance profile, or the one named switched off);
|
|
145
|
+
* null otherwise.
|
|
146
|
+
*/
|
|
147
|
+
groupingFailure?: string | null;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* List the skills a knowledge base's content was labelled with, across its
|
|
151
|
+
* processed documents, most named first: `{ items, total, limit }`, each item
|
|
152
|
+
* `{ name, nameNormalized, scope, proficiencyLevels, documentCount }`, where
|
|
153
|
+
* `scope` is "organization", "general" or null (labelled before skills had one).
|
|
154
|
+
* GET /api/v1/knowledge-base/:id/skills
|
|
155
|
+
* @param {String} id The knowledge base id
|
|
156
|
+
* @param {SkillListParams} params Optional limit
|
|
157
|
+
* @param {String} authToken Authentication token
|
|
158
|
+
* @returns {Promise<object>}
|
|
159
|
+
*/
|
|
160
|
+
export declare const listSkills: (id: string, params: SkillListParams, authToken: string) => Promise<object>;
|
|
161
|
+
/**
|
|
162
|
+
* Set how a knowledge base's skills are named, and rename them on every
|
|
163
|
+
* document and chunk already labelled; every document labelled later takes
|
|
164
|
+
* them too. The mappings replace the ones before; an empty list gives back
|
|
165
|
+
* every skill as labelling named it. Owner or editor only; refused while a sync
|
|
166
|
+
* of one of its sources is under way (409) and for mappings that do not hold —
|
|
167
|
+
* a skill mapped twice, or mappings that lead a skill back to itself (400).
|
|
168
|
+
* PUT /api/v1/knowledge-base/:id/skill-mappings
|
|
169
|
+
* @param {String} id The knowledge base id
|
|
170
|
+
* @param {SkillMapping[]} skillMappings The mappings, `[{ from, to }]`
|
|
171
|
+
* @param {String} authToken Authentication token
|
|
172
|
+
* @returns {Promise<object>} { knowledgeBase, documents, chunks }: the knowledge
|
|
173
|
+
* base with the mappings as stored, and how many documents and chunks were
|
|
174
|
+
* rewritten
|
|
175
|
+
*/
|
|
176
|
+
export declare const setSkillMappings: (id: string, skillMappings: SkillMapping[], authToken: string) => Promise<object>;
|
|
177
|
+
/**
|
|
178
|
+
* What the knowledge bases the caller can open hold about one skill: how many
|
|
179
|
+
* of their documents name it (any spelling, under the names set with Edit
|
|
180
|
+
* skill names), in which knowledge bases, and the microskills their passages
|
|
181
|
+
* cover. The skill and skill template Additional Information dialogs ask it
|
|
182
|
+
* before they offer StackFactor as a data source. Only what the caller may
|
|
183
|
+
* open counts: their role on each knowledge base and each document's source
|
|
184
|
+
* permissions decide. Requires VIEW_KNOWLEDGE_BASE; the name must be 1 to 200
|
|
185
|
+
* characters (400 otherwise).
|
|
186
|
+
* GET /api/v1/knowledge-base/skill-coverage
|
|
187
|
+
* @param {String} skill The skill's or skill template's name
|
|
188
|
+
* @param {String} authToken Authentication token
|
|
189
|
+
* @returns {Promise<SkillCoverage>}
|
|
190
|
+
*/
|
|
191
|
+
export declare const getSkillCoverage: (skill: string, authToken: string) => Promise<SkillCoverage>;
|
|
192
|
+
/**
|
|
193
|
+
* The skill names the knowledge bases the caller can open suggest while a
|
|
194
|
+
* skill's or skill template's name is typed: the skills their documents were
|
|
195
|
+
* classified with whose name has a word starting with what was typed, in any
|
|
196
|
+
* spelling ("gov" suggests "AI Governance"), one per skill, most documents
|
|
197
|
+
* first. Only what the caller may open counts, as for `getSkillCoverage`.
|
|
198
|
+
* Fewer than 2 characters to match answer no suggestions. Requires
|
|
199
|
+
* VIEW_KNOWLEDGE_BASE; `q` is at most 200 characters (400 otherwise).
|
|
200
|
+
* GET /api/v1/knowledge-base/skill-suggestions
|
|
201
|
+
* @param {String} q What was typed
|
|
202
|
+
* @param {SkillSuggestionParams} params Optional limit, catalog and the id of
|
|
203
|
+
* the skill or skill template being edited
|
|
204
|
+
* @param {String} authToken Authentication token
|
|
205
|
+
* @returns {Promise<SkillSuggestion[]>}
|
|
206
|
+
*/
|
|
207
|
+
export declare const getSkillSuggestions: (q: string, params: SkillSuggestionParams | undefined, authToken: string) => Promise<SkillSuggestion[]>;
|
|
208
|
+
/**
|
|
209
|
+
* One of a knowledge base's skills, opened on its page: its microskills, as
|
|
210
|
+
* grouped, each with how many passages teach it, most first, and where the
|
|
211
|
+
* knowledge base's grouping stands (`grouping`). Any spelling of the skill
|
|
212
|
+
* matches. Requires VIEW_KNOWLEDGE_BASE and a role on the knowledge base; the
|
|
213
|
+
* name must be 1 to 200 characters (400 otherwise).
|
|
214
|
+
* GET /api/v1/knowledge-base/:id/skills/micro-skills
|
|
215
|
+
* @param {String} id The knowledge base id
|
|
216
|
+
* @param {String} skill The skill's name
|
|
217
|
+
* @param {String} authToken Authentication token
|
|
218
|
+
* @returns {Promise<KnowledgeBaseMicroSkills>}
|
|
219
|
+
*/
|
|
220
|
+
export declare const listMicroSkills: (id: string, skill: string, authToken: string) => Promise<KnowledgeBaseMicroSkills>;
|
|
221
|
+
/**
|
|
222
|
+
* Where a knowledge base's microskill grouping stands: queued, running or
|
|
223
|
+
* idle, and when the last one ended. What a page polls while a grouping is
|
|
224
|
+
* under way, rather than `listMicroSkills`: the platform reads the knowledge
|
|
225
|
+
* base and nothing else. Requires VIEW_KNOWLEDGE_BASE and a role on the
|
|
226
|
+
* knowledge base.
|
|
227
|
+
* GET /api/v1/knowledge-base/:id/skills/micro-skills/grouping
|
|
228
|
+
* @param {String} id The knowledge base id
|
|
229
|
+
* @param {String} authToken Authentication token
|
|
230
|
+
* @returns {Promise<KnowledgeBaseMicroSkillGrouping>}
|
|
231
|
+
*/
|
|
232
|
+
export declare const getMicroSkillGrouping: (id: string, authToken: string) => Promise<KnowledgeBaseMicroSkillGrouping>;
|
|
233
|
+
/**
|
|
234
|
+
* Group now: groups the knowledge base's skills' passage tags into their
|
|
235
|
+
* microskills, in the background. Owner or editor only, as setting how its
|
|
236
|
+
* skills are named (403 otherwise; 404 for no such knowledge base). Asked
|
|
237
|
+
* while a grouping runs, nothing more is asked: the answer is that it is
|
|
238
|
+
* running. `getMicroSkillGrouping` says when it is done (no longer queued or
|
|
239
|
+
* running). The skills whose grouping failed are sent again now.
|
|
240
|
+
* POST /api/v1/knowledge-base/:id/skills/micro-skills/group
|
|
241
|
+
* @param {String} id The knowledge base id
|
|
242
|
+
* @param {String} authToken Authentication token
|
|
243
|
+
* @returns {Promise<KnowledgeBaseMicroSkillGrouping>} Where the grouping
|
|
244
|
+
* stands: queued or running, and when the last one ended
|
|
245
|
+
*/
|
|
246
|
+
export declare const groupMicroSkills: (id: string, authToken: string) => Promise<KnowledgeBaseMicroSkillGrouping>;
|
|
247
|
+
//# sourceMappingURL=skills.d.ts.map
|