@djangocfg/ext-knowbase 1.0.25 → 1.0.27
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/config.cjs +1 -1
- package/dist/config.js +1 -1
- package/dist/hooks.cjs +592 -210
- package/dist/hooks.d.cts +21 -0
- package/dist/hooks.d.ts +21 -0
- package/dist/hooks.js +592 -210
- package/dist/i18n.cjs +507 -3
- package/dist/i18n.d.cts +29 -1
- package/dist/i18n.d.ts +29 -1
- package/dist/i18n.js +492 -2
- package/dist/index.cjs +115 -209
- package/dist/index.d.cts +72 -205
- package/dist/index.d.ts +72 -205
- package/dist/index.js +115 -209
- package/package.json +9 -9
- package/src/api/generated/ext_knowbase/_utils/fetchers/ext_knowbase__knowbase.ts +69 -136
- package/src/api/generated/ext_knowbase/_utils/hooks/ext_knowbase__knowbase.ts +14 -15
- package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveItem.schema.ts +2 -3
- package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveItemChunk.schema.ts +2 -3
- package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveItemChunkDetail.schema.ts +3 -4
- package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveItemChunkRequest.schema.ts +3 -4
- package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveItemDetail.schema.ts +3 -4
- package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveItemRequest.schema.ts +1 -1
- package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveProcessingResult.schema.ts +1 -1
- package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveSearchRequestRequest.schema.ts +1 -1
- package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveSearchResult.schema.ts +2 -3
- package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveStatistics.schema.ts +1 -1
- package/src/api/generated/ext_knowbase/_utils/schemas/CfgKnowbaseSystemArchivesCreateRequest.schema.ts +1 -1
- package/src/api/generated/ext_knowbase/_utils/schemas/ChatHistory.schema.ts +2 -3
- package/src/api/generated/ext_knowbase/_utils/schemas/ChatMessage.schema.ts +2 -3
- package/src/api/generated/ext_knowbase/_utils/schemas/ChatQueryRequest.schema.ts +1 -1
- package/src/api/generated/ext_knowbase/_utils/schemas/ChatResponse.schema.ts +2 -3
- package/src/api/generated/ext_knowbase/_utils/schemas/ChatResponseRequest.schema.ts +2 -3
- package/src/api/generated/ext_knowbase/_utils/schemas/ChatSession.schema.ts +1 -1
- package/src/api/generated/ext_knowbase/_utils/schemas/ChatSessionCreateRequest.schema.ts +1 -1
- package/src/api/generated/ext_knowbase/_utils/schemas/ChatSessionRequest.schema.ts +1 -1
- package/src/api/generated/ext_knowbase/_utils/schemas/ChatSource.schema.ts +1 -1
- package/src/api/generated/ext_knowbase/_utils/schemas/ChatSourceRequest.schema.ts +1 -1
- package/src/api/generated/ext_knowbase/_utils/schemas/ChunkRevectorizationRequestRequest.schema.ts +1 -1
- package/src/api/generated/ext_knowbase/_utils/schemas/Document.schema.ts +1 -1
- package/src/api/generated/ext_knowbase/_utils/schemas/DocumentArchive.schema.ts +3 -4
- package/src/api/generated/ext_knowbase/_utils/schemas/DocumentArchiveDetail.schema.ts +6 -7
- package/src/api/generated/ext_knowbase/_utils/schemas/DocumentArchiveList.schema.ts +5 -6
- package/src/api/generated/ext_knowbase/_utils/schemas/DocumentArchiveRequest.schema.ts +1 -1
- package/src/api/generated/ext_knowbase/_utils/schemas/DocumentCategory.schema.ts +1 -1
- package/src/api/generated/ext_knowbase/_utils/schemas/DocumentCategoryRequest.schema.ts +1 -1
- package/src/api/generated/ext_knowbase/_utils/schemas/DocumentCreateRequest.schema.ts +1 -1
- package/src/api/generated/ext_knowbase/_utils/schemas/DocumentProcessingStatus.schema.ts +1 -1
- package/src/api/generated/ext_knowbase/_utils/schemas/DocumentRequest.schema.ts +1 -1
- package/src/api/generated/ext_knowbase/_utils/schemas/DocumentStats.schema.ts +1 -1
- package/src/api/generated/ext_knowbase/_utils/schemas/PaginatedArchiveItemChunkList.schema.ts +2 -3
- package/src/api/generated/ext_knowbase/_utils/schemas/PaginatedArchiveItemList.schema.ts +2 -3
- package/src/api/generated/ext_knowbase/_utils/schemas/PaginatedArchiveSearchResultList.schema.ts +2 -3
- package/src/api/generated/ext_knowbase/_utils/schemas/PaginatedChatResponseList.schema.ts +2 -3
- package/src/api/generated/ext_knowbase/_utils/schemas/PaginatedChatSessionList.schema.ts +2 -3
- package/src/api/generated/ext_knowbase/_utils/schemas/PaginatedDocumentArchiveListList.schema.ts +2 -3
- package/src/api/generated/ext_knowbase/_utils/schemas/PaginatedDocumentList.schema.ts +2 -3
- package/src/api/generated/ext_knowbase/_utils/schemas/PaginatedPublicCategoryList.schema.ts +2 -3
- package/src/api/generated/ext_knowbase/_utils/schemas/PaginatedPublicDocumentListList.schema.ts +2 -3
- package/src/api/generated/ext_knowbase/_utils/schemas/PatchedArchiveItemChunkRequest.schema.ts +3 -4
- package/src/api/generated/ext_knowbase/_utils/schemas/PatchedArchiveItemRequest.schema.ts +1 -1
- package/src/api/generated/ext_knowbase/_utils/schemas/PatchedChatResponseRequest.schema.ts +2 -3
- package/src/api/generated/ext_knowbase/_utils/schemas/PatchedChatSessionRequest.schema.ts +1 -1
- package/src/api/generated/ext_knowbase/_utils/schemas/PatchedDocumentArchiveRequest.schema.ts +1 -1
- package/src/api/generated/ext_knowbase/_utils/schemas/PatchedDocumentRequest.schema.ts +1 -1
- package/src/api/generated/ext_knowbase/_utils/schemas/PublicCategory.schema.ts +1 -1
- package/src/api/generated/ext_knowbase/_utils/schemas/PublicDocument.schema.ts +2 -3
- package/src/api/generated/ext_knowbase/_utils/schemas/PublicDocumentList.schema.ts +2 -3
- package/src/api/generated/ext_knowbase/_utils/schemas/VectorizationResult.schema.ts +1 -1
- package/src/api/generated/ext_knowbase/_utils/schemas/VectorizationStatistics.schema.ts +1 -1
- package/src/api/generated/ext_knowbase/api-instance.ts +1 -1
- package/src/api/generated/ext_knowbase/client.ts +6 -5
- package/src/api/generated/ext_knowbase/enums.ts +0 -165
- package/src/api/generated/ext_knowbase/ext_knowbase__knowbase/client.ts +35 -34
- package/src/api/generated/ext_knowbase/ext_knowbase__knowbase/models.ts +9 -9
- package/src/api/generated/ext_knowbase/index.ts +8 -6
- package/src/api/generated/ext_knowbase/retry.ts +0 -1
- package/src/api/generated/ext_knowbase/schema.json +189 -0
- package/src/i18n/index.ts +14 -0
- package/src/i18n/locales/ar.ts +36 -0
- package/src/i18n/locales/da.ts +36 -0
- package/src/i18n/locales/de.ts +36 -0
- package/src/i18n/locales/es.ts +36 -0
- package/src/i18n/locales/fr.ts +36 -0
- package/src/i18n/locales/it.ts +36 -0
- package/src/i18n/locales/ja.ts +36 -0
- package/src/i18n/locales/nl.ts +36 -0
- package/src/i18n/locales/no.ts +36 -0
- package/src/i18n/locales/pl.ts +36 -0
- package/src/i18n/locales/pt-BR.ts +36 -0
- package/src/i18n/locales/sv.ts +36 -0
- package/src/i18n/locales/tr.ts +36 -0
- package/src/i18n/locales/zh.ts +36 -0
- package/src/i18n/useKnowbaseT.ts +15 -1
package/dist/index.cjs
CHANGED
|
@@ -17,89 +17,6 @@ var __export = (target, all) => {
|
|
|
17
17
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
18
18
|
};
|
|
19
19
|
|
|
20
|
-
// src/api/generated/ext_knowbase/errors.ts
|
|
21
|
-
var APIError = class extends Error {
|
|
22
|
-
constructor(statusCode, statusText, response, url, message) {
|
|
23
|
-
super(message || `HTTP ${statusCode}: ${statusText}`);
|
|
24
|
-
this.statusCode = statusCode;
|
|
25
|
-
this.statusText = statusText;
|
|
26
|
-
this.response = response;
|
|
27
|
-
this.url = url;
|
|
28
|
-
this.name = "APIError";
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Get error details from response.
|
|
32
|
-
* DRF typically returns: { "detail": "Error message" } or { "field": ["error1", "error2"] }
|
|
33
|
-
*/
|
|
34
|
-
get details() {
|
|
35
|
-
if (typeof this.response === "object" && this.response !== null) {
|
|
36
|
-
return this.response;
|
|
37
|
-
}
|
|
38
|
-
return null;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Get field-specific validation errors from DRF.
|
|
42
|
-
* Returns: { "field_name": ["error1", "error2"], ... }
|
|
43
|
-
*/
|
|
44
|
-
get fieldErrors() {
|
|
45
|
-
const details = this.details;
|
|
46
|
-
if (!details) return null;
|
|
47
|
-
const fieldErrors = {};
|
|
48
|
-
for (const [key, value] of Object.entries(details)) {
|
|
49
|
-
if (Array.isArray(value)) {
|
|
50
|
-
fieldErrors[key] = value;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
return Object.keys(fieldErrors).length > 0 ? fieldErrors : null;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Get single error message from DRF.
|
|
57
|
-
* Checks for "detail", "message", or first field error.
|
|
58
|
-
*/
|
|
59
|
-
get errorMessage() {
|
|
60
|
-
const details = this.details;
|
|
61
|
-
if (!details) return this.message;
|
|
62
|
-
if (details.detail) {
|
|
63
|
-
return Array.isArray(details.detail) ? details.detail.join(", ") : String(details.detail);
|
|
64
|
-
}
|
|
65
|
-
if (details.message) {
|
|
66
|
-
return String(details.message);
|
|
67
|
-
}
|
|
68
|
-
const fieldErrors = this.fieldErrors;
|
|
69
|
-
if (fieldErrors) {
|
|
70
|
-
const firstField = Object.keys(fieldErrors)[0];
|
|
71
|
-
if (firstField) {
|
|
72
|
-
return `${firstField}: ${fieldErrors[firstField]?.join(", ")}`;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
return this.message;
|
|
76
|
-
}
|
|
77
|
-
// Helper methods for common HTTP status codes
|
|
78
|
-
get isValidationError() {
|
|
79
|
-
return this.statusCode === 400;
|
|
80
|
-
}
|
|
81
|
-
get isAuthError() {
|
|
82
|
-
return this.statusCode === 401;
|
|
83
|
-
}
|
|
84
|
-
get isPermissionError() {
|
|
85
|
-
return this.statusCode === 403;
|
|
86
|
-
}
|
|
87
|
-
get isNotFoundError() {
|
|
88
|
-
return this.statusCode === 404;
|
|
89
|
-
}
|
|
90
|
-
get isServerError() {
|
|
91
|
-
return this.statusCode >= 500 && this.statusCode < 600;
|
|
92
|
-
}
|
|
93
|
-
};
|
|
94
|
-
var NetworkError = class extends Error {
|
|
95
|
-
constructor(message, url, originalError) {
|
|
96
|
-
super(message);
|
|
97
|
-
this.url = url;
|
|
98
|
-
this.originalError = originalError;
|
|
99
|
-
this.name = "NetworkError";
|
|
100
|
-
}
|
|
101
|
-
};
|
|
102
|
-
|
|
103
20
|
// src/api/generated/ext_knowbase/ext_knowbase__knowbase/client.ts
|
|
104
21
|
var ExtKnowbaseKnowbase = class {
|
|
105
22
|
client;
|
|
@@ -115,7 +32,7 @@ var ExtKnowbaseKnowbase = class {
|
|
|
115
32
|
if (isParamsObject) {
|
|
116
33
|
params = args[0];
|
|
117
34
|
} else {
|
|
118
|
-
params = {
|
|
35
|
+
params = { ordering: args[0], page: args[1], page_size: args[2], search: args[3] };
|
|
119
36
|
}
|
|
120
37
|
const response = await this.client.request("GET", "/cfg/knowbase/admin/chat/", { params });
|
|
121
38
|
return response;
|
|
@@ -184,7 +101,7 @@ var ExtKnowbaseKnowbase = class {
|
|
|
184
101
|
if (isParamsObject) {
|
|
185
102
|
params = args[0];
|
|
186
103
|
} else {
|
|
187
|
-
params = {
|
|
104
|
+
params = { ordering: args[0], page: args[1], page_size: args[2], search: args[3], status: args[4] };
|
|
188
105
|
}
|
|
189
106
|
const response = await this.client.request("GET", "/cfg/knowbase/admin/documents/", { params });
|
|
190
107
|
return response;
|
|
@@ -268,7 +185,7 @@ var ExtKnowbaseKnowbase = class {
|
|
|
268
185
|
if (isParamsObject) {
|
|
269
186
|
params = args[0];
|
|
270
187
|
} else {
|
|
271
|
-
params = {
|
|
188
|
+
params = { ordering: args[0], page: args[1], page_size: args[2], search: args[3] };
|
|
272
189
|
}
|
|
273
190
|
const response = await this.client.request("GET", "/cfg/knowbase/admin/sessions/", { params });
|
|
274
191
|
return response;
|
|
@@ -339,7 +256,7 @@ var ExtKnowbaseKnowbase = class {
|
|
|
339
256
|
if (isParamsObject) {
|
|
340
257
|
params = args[0];
|
|
341
258
|
} else {
|
|
342
|
-
params = {
|
|
259
|
+
params = { ordering: args[0], page: args[1], page_size: args[2], search: args[3] };
|
|
343
260
|
}
|
|
344
261
|
const response = await this.client.request("GET", "/cfg/knowbase/categories/", { params });
|
|
345
262
|
return response;
|
|
@@ -364,7 +281,7 @@ var ExtKnowbaseKnowbase = class {
|
|
|
364
281
|
if (isParamsObject) {
|
|
365
282
|
params = args[0];
|
|
366
283
|
} else {
|
|
367
|
-
params = { category: args[0],
|
|
284
|
+
params = { category: args[0], ordering: args[1], page: args[2], page_size: args[3], search: args[4] };
|
|
368
285
|
}
|
|
369
286
|
const response = await this.client.request("GET", "/cfg/knowbase/documents/", { params });
|
|
370
287
|
return response;
|
|
@@ -387,7 +304,7 @@ var ExtKnowbaseKnowbase = class {
|
|
|
387
304
|
if (isParamsObject) {
|
|
388
305
|
params = args[0];
|
|
389
306
|
} else {
|
|
390
|
-
params = {
|
|
307
|
+
params = { ordering: args[0], page: args[1], page_size: args[2], search: args[3] };
|
|
391
308
|
}
|
|
392
309
|
const response = await this.client.request("GET", "/cfg/knowbase/system/archives/", { params });
|
|
393
310
|
return response;
|
|
@@ -461,7 +378,7 @@ var ExtKnowbaseKnowbase = class {
|
|
|
461
378
|
if (isParamsObject) {
|
|
462
379
|
params = args[1];
|
|
463
380
|
} else {
|
|
464
|
-
params = {
|
|
381
|
+
params = { ordering: args[1], page: args[2], page_size: args[3], search: args[4] };
|
|
465
382
|
}
|
|
466
383
|
const response = await this.client.request("GET", `/cfg/knowbase/system/archives/${id}/items/`, { params });
|
|
467
384
|
return response;
|
|
@@ -479,7 +396,7 @@ var ExtKnowbaseKnowbase = class {
|
|
|
479
396
|
if (isParamsObject) {
|
|
480
397
|
params = args[2];
|
|
481
398
|
} else {
|
|
482
|
-
params = {
|
|
399
|
+
params = { ordering: args[2], page: args[3], page_size: args[4], search: args[5] };
|
|
483
400
|
}
|
|
484
401
|
const formData = new FormData();
|
|
485
402
|
formData.append("query", String(data.query));
|
|
@@ -531,7 +448,7 @@ var ExtKnowbaseKnowbase = class {
|
|
|
531
448
|
if (isParamsObject) {
|
|
532
449
|
params = args[0];
|
|
533
450
|
} else {
|
|
534
|
-
params = {
|
|
451
|
+
params = { ordering: args[0], page: args[1], page_size: args[2], search: args[3] };
|
|
535
452
|
}
|
|
536
453
|
const response = await this.client.request("GET", "/cfg/knowbase/system/chunks/", { params });
|
|
537
454
|
return response;
|
|
@@ -598,7 +515,7 @@ var ExtKnowbaseKnowbase = class {
|
|
|
598
515
|
if (isParamsObject) {
|
|
599
516
|
params = args[0];
|
|
600
517
|
} else {
|
|
601
|
-
params = {
|
|
518
|
+
params = { ordering: args[0], page: args[1], page_size: args[2], search: args[3] };
|
|
602
519
|
}
|
|
603
520
|
const response = await this.client.request("GET", "/cfg/knowbase/system/items/", { params });
|
|
604
521
|
return response;
|
|
@@ -650,7 +567,7 @@ var ExtKnowbaseKnowbase = class {
|
|
|
650
567
|
if (isParamsObject) {
|
|
651
568
|
params = args[1];
|
|
652
569
|
} else {
|
|
653
|
-
params = {
|
|
570
|
+
params = { ordering: args[1], page: args[2], page_size: args[3], search: args[4] };
|
|
654
571
|
}
|
|
655
572
|
const response = await this.client.request("GET", `/cfg/knowbase/system/items/${id}/chunks/`, { params });
|
|
656
573
|
return response;
|
|
@@ -723,6 +640,89 @@ var FetchAdapter = class {
|
|
|
723
640
|
};
|
|
724
641
|
}
|
|
725
642
|
};
|
|
643
|
+
|
|
644
|
+
// src/api/generated/ext_knowbase/errors.ts
|
|
645
|
+
var APIError = class extends Error {
|
|
646
|
+
constructor(statusCode, statusText, response, url, message) {
|
|
647
|
+
super(message || `HTTP ${statusCode}: ${statusText}`);
|
|
648
|
+
this.statusCode = statusCode;
|
|
649
|
+
this.statusText = statusText;
|
|
650
|
+
this.response = response;
|
|
651
|
+
this.url = url;
|
|
652
|
+
this.name = "APIError";
|
|
653
|
+
}
|
|
654
|
+
/**
|
|
655
|
+
* Get error details from response.
|
|
656
|
+
* DRF typically returns: { "detail": "Error message" } or { "field": ["error1", "error2"] }
|
|
657
|
+
*/
|
|
658
|
+
get details() {
|
|
659
|
+
if (typeof this.response === "object" && this.response !== null) {
|
|
660
|
+
return this.response;
|
|
661
|
+
}
|
|
662
|
+
return null;
|
|
663
|
+
}
|
|
664
|
+
/**
|
|
665
|
+
* Get field-specific validation errors from DRF.
|
|
666
|
+
* Returns: { "field_name": ["error1", "error2"], ... }
|
|
667
|
+
*/
|
|
668
|
+
get fieldErrors() {
|
|
669
|
+
const details = this.details;
|
|
670
|
+
if (!details) return null;
|
|
671
|
+
const fieldErrors = {};
|
|
672
|
+
for (const [key, value] of Object.entries(details)) {
|
|
673
|
+
if (Array.isArray(value)) {
|
|
674
|
+
fieldErrors[key] = value;
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
return Object.keys(fieldErrors).length > 0 ? fieldErrors : null;
|
|
678
|
+
}
|
|
679
|
+
/**
|
|
680
|
+
* Get single error message from DRF.
|
|
681
|
+
* Checks for "detail", "message", or first field error.
|
|
682
|
+
*/
|
|
683
|
+
get errorMessage() {
|
|
684
|
+
const details = this.details;
|
|
685
|
+
if (!details) return this.message;
|
|
686
|
+
if (details.detail) {
|
|
687
|
+
return Array.isArray(details.detail) ? details.detail.join(", ") : String(details.detail);
|
|
688
|
+
}
|
|
689
|
+
if (details.message) {
|
|
690
|
+
return String(details.message);
|
|
691
|
+
}
|
|
692
|
+
const fieldErrors = this.fieldErrors;
|
|
693
|
+
if (fieldErrors) {
|
|
694
|
+
const firstField = Object.keys(fieldErrors)[0];
|
|
695
|
+
if (firstField) {
|
|
696
|
+
return `${firstField}: ${fieldErrors[firstField]?.join(", ")}`;
|
|
697
|
+
}
|
|
698
|
+
}
|
|
699
|
+
return this.message;
|
|
700
|
+
}
|
|
701
|
+
// Helper methods for common HTTP status codes
|
|
702
|
+
get isValidationError() {
|
|
703
|
+
return this.statusCode === 400;
|
|
704
|
+
}
|
|
705
|
+
get isAuthError() {
|
|
706
|
+
return this.statusCode === 401;
|
|
707
|
+
}
|
|
708
|
+
get isPermissionError() {
|
|
709
|
+
return this.statusCode === 403;
|
|
710
|
+
}
|
|
711
|
+
get isNotFoundError() {
|
|
712
|
+
return this.statusCode === 404;
|
|
713
|
+
}
|
|
714
|
+
get isServerError() {
|
|
715
|
+
return this.statusCode >= 500 && this.statusCode < 600;
|
|
716
|
+
}
|
|
717
|
+
};
|
|
718
|
+
var NetworkError = class extends Error {
|
|
719
|
+
constructor(message, url, originalError) {
|
|
720
|
+
super(message);
|
|
721
|
+
this.url = url;
|
|
722
|
+
this.originalError = originalError;
|
|
723
|
+
this.name = "NetworkError";
|
|
724
|
+
}
|
|
725
|
+
};
|
|
726
726
|
var DEFAULT_CONFIG = {
|
|
727
727
|
enabled: process.env.NODE_ENV !== "production",
|
|
728
728
|
logRequests: true,
|
|
@@ -1258,20 +1258,10 @@ var MemoryStorageAdapter = class {
|
|
|
1258
1258
|
var enums_exports = {};
|
|
1259
1259
|
__export(enums_exports, {
|
|
1260
1260
|
ArchiveItemChunkChunkType: () => ArchiveItemChunkChunkType,
|
|
1261
|
-
ArchiveItemChunkDetailChunkType: () => ArchiveItemChunkDetailChunkType,
|
|
1262
|
-
ArchiveItemChunkRequestChunkType: () => ArchiveItemChunkRequestChunkType,
|
|
1263
1261
|
ArchiveItemContentType: () => ArchiveItemContentType,
|
|
1264
|
-
ArchiveItemDetailContentType: () => ArchiveItemDetailContentType,
|
|
1265
|
-
ArchiveSearchRequestRequestChunkTypesItems: () => ArchiveSearchRequestRequestChunkTypesItems,
|
|
1266
|
-
ArchiveSearchRequestRequestContentTypesItems: () => ArchiveSearchRequestRequestContentTypesItems,
|
|
1267
1262
|
ChatMessageRole: () => ChatMessageRole,
|
|
1268
1263
|
DocumentArchiveArchiveType: () => DocumentArchiveArchiveType,
|
|
1269
|
-
|
|
1270
|
-
DocumentArchiveDetailProcessingStatus: () => DocumentArchiveDetailProcessingStatus,
|
|
1271
|
-
DocumentArchiveListArchiveType: () => DocumentArchiveListArchiveType,
|
|
1272
|
-
DocumentArchiveListProcessingStatus: () => DocumentArchiveListProcessingStatus,
|
|
1273
|
-
DocumentArchiveProcessingStatus: () => DocumentArchiveProcessingStatus,
|
|
1274
|
-
PatchedArchiveItemChunkRequestChunkType: () => PatchedArchiveItemChunkRequestChunkType
|
|
1264
|
+
DocumentArchiveProcessingStatus: () => DocumentArchiveProcessingStatus
|
|
1275
1265
|
});
|
|
1276
1266
|
var ArchiveItemContentType = /* @__PURE__ */ ((ArchiveItemContentType2) => {
|
|
1277
1267
|
ArchiveItemContentType2["DOCUMENT"] = "document";
|
|
@@ -1291,51 +1281,6 @@ var ArchiveItemChunkChunkType = /* @__PURE__ */ ((ArchiveItemChunkChunkType2) =>
|
|
|
1291
1281
|
ArchiveItemChunkChunkType2["LIST"] = "list";
|
|
1292
1282
|
return ArchiveItemChunkChunkType2;
|
|
1293
1283
|
})(ArchiveItemChunkChunkType || {});
|
|
1294
|
-
var ArchiveItemChunkDetailChunkType = /* @__PURE__ */ ((ArchiveItemChunkDetailChunkType2) => {
|
|
1295
|
-
ArchiveItemChunkDetailChunkType2["TEXT"] = "text";
|
|
1296
|
-
ArchiveItemChunkDetailChunkType2["CODE"] = "code";
|
|
1297
|
-
ArchiveItemChunkDetailChunkType2["HEADING"] = "heading";
|
|
1298
|
-
ArchiveItemChunkDetailChunkType2["METADATA"] = "metadata";
|
|
1299
|
-
ArchiveItemChunkDetailChunkType2["TABLE"] = "table";
|
|
1300
|
-
ArchiveItemChunkDetailChunkType2["LIST"] = "list";
|
|
1301
|
-
return ArchiveItemChunkDetailChunkType2;
|
|
1302
|
-
})(ArchiveItemChunkDetailChunkType || {});
|
|
1303
|
-
var ArchiveItemChunkRequestChunkType = /* @__PURE__ */ ((ArchiveItemChunkRequestChunkType2) => {
|
|
1304
|
-
ArchiveItemChunkRequestChunkType2["TEXT"] = "text";
|
|
1305
|
-
ArchiveItemChunkRequestChunkType2["CODE"] = "code";
|
|
1306
|
-
ArchiveItemChunkRequestChunkType2["HEADING"] = "heading";
|
|
1307
|
-
ArchiveItemChunkRequestChunkType2["METADATA"] = "metadata";
|
|
1308
|
-
ArchiveItemChunkRequestChunkType2["TABLE"] = "table";
|
|
1309
|
-
ArchiveItemChunkRequestChunkType2["LIST"] = "list";
|
|
1310
|
-
return ArchiveItemChunkRequestChunkType2;
|
|
1311
|
-
})(ArchiveItemChunkRequestChunkType || {});
|
|
1312
|
-
var ArchiveItemDetailContentType = /* @__PURE__ */ ((ArchiveItemDetailContentType2) => {
|
|
1313
|
-
ArchiveItemDetailContentType2["DOCUMENT"] = "document";
|
|
1314
|
-
ArchiveItemDetailContentType2["CODE"] = "code";
|
|
1315
|
-
ArchiveItemDetailContentType2["IMAGE"] = "image";
|
|
1316
|
-
ArchiveItemDetailContentType2["DATA"] = "data";
|
|
1317
|
-
ArchiveItemDetailContentType2["ARCHIVE"] = "archive";
|
|
1318
|
-
ArchiveItemDetailContentType2["UNKNOWN"] = "unknown";
|
|
1319
|
-
return ArchiveItemDetailContentType2;
|
|
1320
|
-
})(ArchiveItemDetailContentType || {});
|
|
1321
|
-
var ArchiveSearchRequestRequestContentTypesItems = /* @__PURE__ */ ((ArchiveSearchRequestRequestContentTypesItems2) => {
|
|
1322
|
-
ArchiveSearchRequestRequestContentTypesItems2["DOCUMENT"] = "document";
|
|
1323
|
-
ArchiveSearchRequestRequestContentTypesItems2["CODE"] = "code";
|
|
1324
|
-
ArchiveSearchRequestRequestContentTypesItems2["IMAGE"] = "image";
|
|
1325
|
-
ArchiveSearchRequestRequestContentTypesItems2["DATA"] = "data";
|
|
1326
|
-
ArchiveSearchRequestRequestContentTypesItems2["ARCHIVE"] = "archive";
|
|
1327
|
-
ArchiveSearchRequestRequestContentTypesItems2["UNKNOWN"] = "unknown";
|
|
1328
|
-
return ArchiveSearchRequestRequestContentTypesItems2;
|
|
1329
|
-
})(ArchiveSearchRequestRequestContentTypesItems || {});
|
|
1330
|
-
var ArchiveSearchRequestRequestChunkTypesItems = /* @__PURE__ */ ((ArchiveSearchRequestRequestChunkTypesItems2) => {
|
|
1331
|
-
ArchiveSearchRequestRequestChunkTypesItems2["TEXT"] = "text";
|
|
1332
|
-
ArchiveSearchRequestRequestChunkTypesItems2["CODE"] = "code";
|
|
1333
|
-
ArchiveSearchRequestRequestChunkTypesItems2["HEADING"] = "heading";
|
|
1334
|
-
ArchiveSearchRequestRequestChunkTypesItems2["METADATA"] = "metadata";
|
|
1335
|
-
ArchiveSearchRequestRequestChunkTypesItems2["TABLE"] = "table";
|
|
1336
|
-
ArchiveSearchRequestRequestChunkTypesItems2["LIST"] = "list";
|
|
1337
|
-
return ArchiveSearchRequestRequestChunkTypesItems2;
|
|
1338
|
-
})(ArchiveSearchRequestRequestChunkTypesItems || {});
|
|
1339
1284
|
var ChatMessageRole = /* @__PURE__ */ ((ChatMessageRole2) => {
|
|
1340
1285
|
ChatMessageRole2["USER"] = "user";
|
|
1341
1286
|
ChatMessageRole2["ASSISTANT"] = "assistant";
|
|
@@ -1357,45 +1302,6 @@ var DocumentArchiveProcessingStatus = /* @__PURE__ */ ((DocumentArchiveProcessin
|
|
|
1357
1302
|
DocumentArchiveProcessingStatus2["CANCELLED"] = "cancelled";
|
|
1358
1303
|
return DocumentArchiveProcessingStatus2;
|
|
1359
1304
|
})(DocumentArchiveProcessingStatus || {});
|
|
1360
|
-
var DocumentArchiveDetailArchiveType = /* @__PURE__ */ ((DocumentArchiveDetailArchiveType2) => {
|
|
1361
|
-
DocumentArchiveDetailArchiveType2["ZIP"] = "zip";
|
|
1362
|
-
DocumentArchiveDetailArchiveType2["TAR"] = "tar";
|
|
1363
|
-
DocumentArchiveDetailArchiveType2["TAR_DOT_GZ"] = "tar.gz";
|
|
1364
|
-
DocumentArchiveDetailArchiveType2["TAR_DOT_BZ2"] = "tar.bz2";
|
|
1365
|
-
return DocumentArchiveDetailArchiveType2;
|
|
1366
|
-
})(DocumentArchiveDetailArchiveType || {});
|
|
1367
|
-
var DocumentArchiveDetailProcessingStatus = /* @__PURE__ */ ((DocumentArchiveDetailProcessingStatus2) => {
|
|
1368
|
-
DocumentArchiveDetailProcessingStatus2["PENDING"] = "pending";
|
|
1369
|
-
DocumentArchiveDetailProcessingStatus2["PROCESSING"] = "processing";
|
|
1370
|
-
DocumentArchiveDetailProcessingStatus2["COMPLETED"] = "completed";
|
|
1371
|
-
DocumentArchiveDetailProcessingStatus2["FAILED"] = "failed";
|
|
1372
|
-
DocumentArchiveDetailProcessingStatus2["CANCELLED"] = "cancelled";
|
|
1373
|
-
return DocumentArchiveDetailProcessingStatus2;
|
|
1374
|
-
})(DocumentArchiveDetailProcessingStatus || {});
|
|
1375
|
-
var DocumentArchiveListArchiveType = /* @__PURE__ */ ((DocumentArchiveListArchiveType2) => {
|
|
1376
|
-
DocumentArchiveListArchiveType2["ZIP"] = "zip";
|
|
1377
|
-
DocumentArchiveListArchiveType2["TAR"] = "tar";
|
|
1378
|
-
DocumentArchiveListArchiveType2["TAR_DOT_GZ"] = "tar.gz";
|
|
1379
|
-
DocumentArchiveListArchiveType2["TAR_DOT_BZ2"] = "tar.bz2";
|
|
1380
|
-
return DocumentArchiveListArchiveType2;
|
|
1381
|
-
})(DocumentArchiveListArchiveType || {});
|
|
1382
|
-
var DocumentArchiveListProcessingStatus = /* @__PURE__ */ ((DocumentArchiveListProcessingStatus2) => {
|
|
1383
|
-
DocumentArchiveListProcessingStatus2["PENDING"] = "pending";
|
|
1384
|
-
DocumentArchiveListProcessingStatus2["PROCESSING"] = "processing";
|
|
1385
|
-
DocumentArchiveListProcessingStatus2["COMPLETED"] = "completed";
|
|
1386
|
-
DocumentArchiveListProcessingStatus2["FAILED"] = "failed";
|
|
1387
|
-
DocumentArchiveListProcessingStatus2["CANCELLED"] = "cancelled";
|
|
1388
|
-
return DocumentArchiveListProcessingStatus2;
|
|
1389
|
-
})(DocumentArchiveListProcessingStatus || {});
|
|
1390
|
-
var PatchedArchiveItemChunkRequestChunkType = /* @__PURE__ */ ((PatchedArchiveItemChunkRequestChunkType2) => {
|
|
1391
|
-
PatchedArchiveItemChunkRequestChunkType2["TEXT"] = "text";
|
|
1392
|
-
PatchedArchiveItemChunkRequestChunkType2["CODE"] = "code";
|
|
1393
|
-
PatchedArchiveItemChunkRequestChunkType2["HEADING"] = "heading";
|
|
1394
|
-
PatchedArchiveItemChunkRequestChunkType2["METADATA"] = "metadata";
|
|
1395
|
-
PatchedArchiveItemChunkRequestChunkType2["TABLE"] = "table";
|
|
1396
|
-
PatchedArchiveItemChunkRequestChunkType2["LIST"] = "list";
|
|
1397
|
-
return PatchedArchiveItemChunkRequestChunkType2;
|
|
1398
|
-
})(PatchedArchiveItemChunkRequestChunkType || {});
|
|
1399
1305
|
|
|
1400
1306
|
// src/api/generated/ext_knowbase/_utils/schemas/index.ts
|
|
1401
1307
|
var schemas_exports = {};
|
|
@@ -1486,7 +1392,7 @@ var ArchiveItemChunkDetailSchema = zod.z.object({
|
|
|
1486
1392
|
id: zod.z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i),
|
|
1487
1393
|
content: zod.z.string(),
|
|
1488
1394
|
chunk_index: zod.z.int().min(0).max(2147483647),
|
|
1489
|
-
chunk_type: zod.z.nativeEnum(
|
|
1395
|
+
chunk_type: zod.z.nativeEnum(ArchiveItemChunkChunkType).optional(),
|
|
1490
1396
|
token_count: zod.z.int(),
|
|
1491
1397
|
character_count: zod.z.int(),
|
|
1492
1398
|
embedding_model: zod.z.string(),
|
|
@@ -1498,14 +1404,14 @@ var ArchiveItemChunkDetailSchema = zod.z.object({
|
|
|
1498
1404
|
var ArchiveItemChunkRequestSchema = zod.z.object({
|
|
1499
1405
|
content: zod.z.string().min(1),
|
|
1500
1406
|
chunk_index: zod.z.int().min(0).max(2147483647),
|
|
1501
|
-
chunk_type: zod.z.nativeEnum(
|
|
1407
|
+
chunk_type: zod.z.nativeEnum(ArchiveItemChunkChunkType).optional()
|
|
1502
1408
|
});
|
|
1503
1409
|
var ArchiveItemDetailSchema = zod.z.object({
|
|
1504
1410
|
id: zod.z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i),
|
|
1505
1411
|
relative_path: zod.z.string().max(1024),
|
|
1506
1412
|
item_name: zod.z.string().max(255),
|
|
1507
1413
|
item_type: zod.z.string().max(100),
|
|
1508
|
-
content_type: zod.z.nativeEnum(
|
|
1414
|
+
content_type: zod.z.nativeEnum(ArchiveItemContentType),
|
|
1509
1415
|
file_size: zod.z.int().min(0).max(2147483647).optional(),
|
|
1510
1416
|
is_processable: zod.z.boolean(),
|
|
1511
1417
|
language: zod.z.string(),
|
|
@@ -1717,8 +1623,8 @@ var DocumentArchiveDetailSchema = zod.z.object({
|
|
|
1717
1623
|
archive_file: zod.z.union([zod.z.url(), zod.z.literal("")]),
|
|
1718
1624
|
original_filename: zod.z.string(),
|
|
1719
1625
|
file_size: zod.z.int(),
|
|
1720
|
-
archive_type: zod.z.nativeEnum(
|
|
1721
|
-
processing_status: zod.z.nativeEnum(
|
|
1626
|
+
archive_type: zod.z.nativeEnum(DocumentArchiveArchiveType),
|
|
1627
|
+
processing_status: zod.z.nativeEnum(DocumentArchiveProcessingStatus),
|
|
1722
1628
|
processed_at: zod.z.string().datetime({ offset: true }).nullable(),
|
|
1723
1629
|
processing_duration_ms: zod.z.int(),
|
|
1724
1630
|
processing_error: zod.z.string(),
|
|
@@ -1745,8 +1651,8 @@ var DocumentArchiveListSchema = zod.z.object({
|
|
|
1745
1651
|
is_public: zod.z.boolean(),
|
|
1746
1652
|
original_filename: zod.z.string(),
|
|
1747
1653
|
file_size: zod.z.int(),
|
|
1748
|
-
archive_type: zod.z.nativeEnum(
|
|
1749
|
-
processing_status: zod.z.nativeEnum(
|
|
1654
|
+
archive_type: zod.z.nativeEnum(DocumentArchiveArchiveType),
|
|
1655
|
+
processing_status: zod.z.nativeEnum(DocumentArchiveProcessingStatus),
|
|
1750
1656
|
processed_at: zod.z.string().datetime({ offset: true }).nullable(),
|
|
1751
1657
|
total_items: zod.z.int(),
|
|
1752
1658
|
total_chunks: zod.z.int(),
|
|
@@ -1910,7 +1816,7 @@ var PaginatedPublicDocumentListListSchema = zod.z.object({
|
|
|
1910
1816
|
var PatchedArchiveItemChunkRequestSchema = zod.z.object({
|
|
1911
1817
|
content: zod.z.string().min(1).optional(),
|
|
1912
1818
|
chunk_index: zod.z.int().min(0).max(2147483647).optional(),
|
|
1913
|
-
chunk_type: zod.z.nativeEnum(
|
|
1819
|
+
chunk_type: zod.z.nativeEnum(ArchiveItemChunkChunkType).optional()
|
|
1914
1820
|
});
|
|
1915
1821
|
var PatchedArchiveItemRequestSchema = zod.z.object({
|
|
1916
1822
|
relative_path: zod.z.string().min(1).max(1024).optional(),
|
|
@@ -2139,7 +2045,7 @@ function resetAPI() {
|
|
|
2139
2045
|
// src/api/generated/ext_knowbase/_utils/fetchers/ext_knowbase__knowbase.ts
|
|
2140
2046
|
async function getKnowbaseAdminChatList(params, client) {
|
|
2141
2047
|
const api = client || getAPIInstance();
|
|
2142
|
-
const response = await api.ext_knowbase_knowbase.adminChatList(params?.page, params?.page_size);
|
|
2048
|
+
const response = await api.ext_knowbase_knowbase.adminChatList(params?.ordering, params?.page, params?.page_size, params?.search);
|
|
2143
2049
|
try {
|
|
2144
2050
|
return PaginatedChatResponseListSchema.parse(response);
|
|
2145
2051
|
} catch (error) {
|
|
@@ -2438,7 +2344,7 @@ Method: POST`);
|
|
|
2438
2344
|
}
|
|
2439
2345
|
async function getKnowbaseAdminDocumentsList(params, client) {
|
|
2440
2346
|
const api = client || getAPIInstance();
|
|
2441
|
-
const response = await api.ext_knowbase_knowbase.adminDocumentsList(params?.page, params?.page_size, params?.status);
|
|
2347
|
+
const response = await api.ext_knowbase_knowbase.adminDocumentsList(params?.ordering, params?.page, params?.page_size, params?.search, params?.status);
|
|
2442
2348
|
try {
|
|
2443
2349
|
return PaginatedDocumentListSchema.parse(response);
|
|
2444
2350
|
} catch (error) {
|
|
@@ -2779,7 +2685,7 @@ Method: GET`);
|
|
|
2779
2685
|
}
|
|
2780
2686
|
async function getKnowbaseAdminSessionsList(params, client) {
|
|
2781
2687
|
const api = client || getAPIInstance();
|
|
2782
|
-
const response = await api.ext_knowbase_knowbase.adminSessionsList(params?.page, params?.page_size);
|
|
2688
|
+
const response = await api.ext_knowbase_knowbase.adminSessionsList(params?.ordering, params?.page, params?.page_size, params?.search);
|
|
2783
2689
|
try {
|
|
2784
2690
|
return PaginatedChatSessionListSchema.parse(response);
|
|
2785
2691
|
} catch (error) {
|
|
@@ -3078,7 +2984,7 @@ Method: POST`);
|
|
|
3078
2984
|
}
|
|
3079
2985
|
async function getKnowbaseCategoriesList(params, client) {
|
|
3080
2986
|
const api = client || getAPIInstance();
|
|
3081
|
-
const response = await api.ext_knowbase_knowbase.categoriesList(params?.page, params?.page_size);
|
|
2987
|
+
const response = await api.ext_knowbase_knowbase.categoriesList(params?.ordering, params?.page, params?.page_size, params?.search);
|
|
3082
2988
|
try {
|
|
3083
2989
|
return PaginatedPublicCategoryListSchema.parse(response);
|
|
3084
2990
|
} catch (error) {
|
|
@@ -3162,7 +3068,7 @@ Method: GET`);
|
|
|
3162
3068
|
}
|
|
3163
3069
|
async function getKnowbaseDocumentsList(params, client) {
|
|
3164
3070
|
const api = client || getAPIInstance();
|
|
3165
|
-
const response = await api.ext_knowbase_knowbase.documentsList(params?.category, params?.page, params?.page_size, params?.search);
|
|
3071
|
+
const response = await api.ext_knowbase_knowbase.documentsList(params?.category, params?.ordering, params?.page, params?.page_size, params?.search);
|
|
3166
3072
|
try {
|
|
3167
3073
|
return PaginatedPublicDocumentListListSchema.parse(response);
|
|
3168
3074
|
} catch (error) {
|
|
@@ -3246,7 +3152,7 @@ Method: GET`);
|
|
|
3246
3152
|
}
|
|
3247
3153
|
async function getKnowbaseSystemArchivesList(params, client) {
|
|
3248
3154
|
const api = client || getAPIInstance();
|
|
3249
|
-
const response = await api.ext_knowbase_knowbase.systemArchivesList(params?.page, params?.page_size);
|
|
3155
|
+
const response = await api.ext_knowbase_knowbase.systemArchivesList(params?.ordering, params?.page, params?.page_size, params?.search);
|
|
3250
3156
|
try {
|
|
3251
3157
|
return PaginatedDocumentArchiveListListSchema.parse(response);
|
|
3252
3158
|
} catch (error) {
|
|
@@ -3466,7 +3372,7 @@ async function getKnowbaseSystemArchivesFileTreeRetrieve(id, client) {
|
|
|
3466
3372
|
}
|
|
3467
3373
|
async function getKnowbaseSystemArchivesItemsList(id, params, client) {
|
|
3468
3374
|
const api = client || getAPIInstance();
|
|
3469
|
-
const response = await api.ext_knowbase_knowbase.systemArchivesItemsList(id, params?.page, params?.page_size);
|
|
3375
|
+
const response = await api.ext_knowbase_knowbase.systemArchivesItemsList(id, params?.ordering, params?.page, params?.page_size, params?.search);
|
|
3470
3376
|
try {
|
|
3471
3377
|
return PaginatedArchiveItemListSchema.parse(response);
|
|
3472
3378
|
} catch (error) {
|
|
@@ -3508,7 +3414,7 @@ Method: GET`);
|
|
|
3508
3414
|
}
|
|
3509
3415
|
async function createKnowbaseSystemArchivesSearchCreate(id, data, params, client) {
|
|
3510
3416
|
const api = client || getAPIInstance();
|
|
3511
|
-
const response = await api.ext_knowbase_knowbase.systemArchivesSearchCreate(id, data, params?.page, params?.page_size);
|
|
3417
|
+
const response = await api.ext_knowbase_knowbase.systemArchivesSearchCreate(id, data, params?.ordering, params?.page, params?.page_size, params?.search);
|
|
3512
3418
|
try {
|
|
3513
3419
|
return PaginatedArchiveSearchResultListSchema.parse(response);
|
|
3514
3420
|
} catch (error) {
|
|
@@ -3676,7 +3582,7 @@ Method: GET`);
|
|
|
3676
3582
|
}
|
|
3677
3583
|
async function getKnowbaseSystemChunksList(params, client) {
|
|
3678
3584
|
const api = client || getAPIInstance();
|
|
3679
|
-
const response = await api.ext_knowbase_knowbase.systemChunksList(params?.page, params?.page_size);
|
|
3585
|
+
const response = await api.ext_knowbase_knowbase.systemChunksList(params?.ordering, params?.page, params?.page_size, params?.search);
|
|
3680
3586
|
try {
|
|
3681
3587
|
return PaginatedArchiveItemChunkListSchema.parse(response);
|
|
3682
3588
|
} catch (error) {
|
|
@@ -3938,7 +3844,7 @@ async function createKnowbaseSystemChunksVectorizeCreate(id, data, client) {
|
|
|
3938
3844
|
}
|
|
3939
3845
|
async function getKnowbaseSystemItemsList(params, client) {
|
|
3940
3846
|
const api = client || getAPIInstance();
|
|
3941
|
-
const response = await api.ext_knowbase_knowbase.systemItemsList(params?.page, params?.page_size);
|
|
3847
|
+
const response = await api.ext_knowbase_knowbase.systemItemsList(params?.ordering, params?.page, params?.page_size, params?.search);
|
|
3942
3848
|
try {
|
|
3943
3849
|
return PaginatedArchiveItemListSchema.parse(response);
|
|
3944
3850
|
} catch (error) {
|
|
@@ -4153,7 +4059,7 @@ async function deleteKnowbaseSystemItemsDestroy(id, client) {
|
|
|
4153
4059
|
}
|
|
4154
4060
|
async function getKnowbaseSystemItemsChunksList(id, params, client) {
|
|
4155
4061
|
const api = client || getAPIInstance();
|
|
4156
|
-
const response = await api.ext_knowbase_knowbase.systemItemsChunksList(id, params?.page, params?.page_size);
|
|
4062
|
+
const response = await api.ext_knowbase_knowbase.systemItemsChunksList(id, params?.ordering, params?.page, params?.page_size, params?.search);
|
|
4157
4063
|
try {
|
|
4158
4064
|
return PaginatedArchiveItemChunkListSchema.parse(response);
|
|
4159
4065
|
} catch (error) {
|
|
@@ -4369,7 +4275,7 @@ var apiKnowbase = api.createExtensionAPI(API);
|
|
|
4369
4275
|
// package.json
|
|
4370
4276
|
var package_default = {
|
|
4371
4277
|
name: "@djangocfg/ext-knowbase",
|
|
4372
|
-
version: "1.0.
|
|
4278
|
+
version: "1.0.27",
|
|
4373
4279
|
description: "Knowledge base and chat extension for DjangoCFG",
|
|
4374
4280
|
keywords: [
|
|
4375
4281
|
"django",
|