@djangocfg/ext-knowbase 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/README.md +177 -0
  2. package/dist/chunk-GNRC54ON.js +4308 -0
  3. package/dist/hooks.cjs +6003 -0
  4. package/dist/hooks.d.cts +610 -0
  5. package/dist/hooks.d.ts +610 -0
  6. package/dist/hooks.js +1486 -0
  7. package/dist/index.cjs +4450 -0
  8. package/dist/index.d.cts +4398 -0
  9. package/dist/index.d.ts +4398 -0
  10. package/dist/index.js +1 -0
  11. package/package.json +81 -0
  12. package/src/api/generated/ext_knowbase/_utils/fetchers/ext_knowbase__knowbase.ts +2983 -0
  13. package/src/api/generated/ext_knowbase/_utils/fetchers/index.ts +28 -0
  14. package/src/api/generated/ext_knowbase/_utils/hooks/ext_knowbase__knowbase.ts +999 -0
  15. package/src/api/generated/ext_knowbase/_utils/hooks/index.ts +28 -0
  16. package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveItem.schema.ts +33 -0
  17. package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveItemChunk.schema.ts +29 -0
  18. package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveItemChunkDetail.schema.ts +30 -0
  19. package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveItemChunkRequest.schema.ts +22 -0
  20. package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveItemDetail.schema.ts +35 -0
  21. package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveItemRequest.schema.ts +22 -0
  22. package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveProcessingResult.schema.ts +26 -0
  23. package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveSearchRequestRequest.schema.ts +25 -0
  24. package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveSearchResult.schema.ts +24 -0
  25. package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveStatistics.schema.ts +28 -0
  26. package/src/api/generated/ext_knowbase/_utils/schemas/ChatHistory.schema.ts +22 -0
  27. package/src/api/generated/ext_knowbase/_utils/schemas/ChatMessage.schema.ts +27 -0
  28. package/src/api/generated/ext_knowbase/_utils/schemas/ChatQueryRequest.schema.ts +22 -0
  29. package/src/api/generated/ext_knowbase/_utils/schemas/ChatResponse.schema.ts +26 -0
  30. package/src/api/generated/ext_knowbase/_utils/schemas/ChatResponseRequest.schema.ts +26 -0
  31. package/src/api/generated/ext_knowbase/_utils/schemas/ChatSession.schema.ts +29 -0
  32. package/src/api/generated/ext_knowbase/_utils/schemas/ChatSessionCreateRequest.schema.ts +22 -0
  33. package/src/api/generated/ext_knowbase/_utils/schemas/ChatSessionRequest.schema.ts +25 -0
  34. package/src/api/generated/ext_knowbase/_utils/schemas/ChatSource.schema.ts +21 -0
  35. package/src/api/generated/ext_knowbase/_utils/schemas/ChatSourceRequest.schema.ts +21 -0
  36. package/src/api/generated/ext_knowbase/_utils/schemas/ChunkRevectorizationRequestRequest.schema.ts +20 -0
  37. package/src/api/generated/ext_knowbase/_utils/schemas/Document.schema.ts +32 -0
  38. package/src/api/generated/ext_knowbase/_utils/schemas/DocumentArchive.schema.ts +44 -0
  39. package/src/api/generated/ext_knowbase/_utils/schemas/DocumentArchiveDetail.schema.ts +48 -0
  40. package/src/api/generated/ext_knowbase/_utils/schemas/DocumentArchiveList.schema.ts +35 -0
  41. package/src/api/generated/ext_knowbase/_utils/schemas/DocumentArchiveRequest.schema.ts +21 -0
  42. package/src/api/generated/ext_knowbase/_utils/schemas/DocumentCategory.schema.ts +23 -0
  43. package/src/api/generated/ext_knowbase/_utils/schemas/DocumentCategoryRequest.schema.ts +21 -0
  44. package/src/api/generated/ext_knowbase/_utils/schemas/DocumentCreateRequest.schema.ts +22 -0
  45. package/src/api/generated/ext_knowbase/_utils/schemas/DocumentProcessingStatus.schema.ts +23 -0
  46. package/src/api/generated/ext_knowbase/_utils/schemas/DocumentRequest.schema.ts +22 -0
  47. package/src/api/generated/ext_knowbase/_utils/schemas/DocumentStats.schema.ts +25 -0
  48. package/src/api/generated/ext_knowbase/_utils/schemas/PaginatedArchiveItemChunkList.schema.ts +24 -0
  49. package/src/api/generated/ext_knowbase/_utils/schemas/PaginatedArchiveItemList.schema.ts +24 -0
  50. package/src/api/generated/ext_knowbase/_utils/schemas/PaginatedArchiveSearchResultList.schema.ts +24 -0
  51. package/src/api/generated/ext_knowbase/_utils/schemas/PaginatedChatResponseList.schema.ts +24 -0
  52. package/src/api/generated/ext_knowbase/_utils/schemas/PaginatedChatSessionList.schema.ts +24 -0
  53. package/src/api/generated/ext_knowbase/_utils/schemas/PaginatedDocumentArchiveListList.schema.ts +24 -0
  54. package/src/api/generated/ext_knowbase/_utils/schemas/PaginatedDocumentList.schema.ts +24 -0
  55. package/src/api/generated/ext_knowbase/_utils/schemas/PaginatedPublicCategoryList.schema.ts +24 -0
  56. package/src/api/generated/ext_knowbase/_utils/schemas/PaginatedPublicDocumentListList.schema.ts +24 -0
  57. package/src/api/generated/ext_knowbase/_utils/schemas/PatchedArchiveItemChunkRequest.schema.ts +22 -0
  58. package/src/api/generated/ext_knowbase/_utils/schemas/PatchedArchiveItemRequest.schema.ts +22 -0
  59. package/src/api/generated/ext_knowbase/_utils/schemas/PatchedChatResponseRequest.schema.ts +26 -0
  60. package/src/api/generated/ext_knowbase/_utils/schemas/PatchedChatSessionRequest.schema.ts +25 -0
  61. package/src/api/generated/ext_knowbase/_utils/schemas/PatchedDocumentArchiveRequest.schema.ts +21 -0
  62. package/src/api/generated/ext_knowbase/_utils/schemas/PatchedDocumentRequest.schema.ts +22 -0
  63. package/src/api/generated/ext_knowbase/_utils/schemas/PublicCategory.schema.ts +21 -0
  64. package/src/api/generated/ext_knowbase/_utils/schemas/PublicDocument.schema.ts +25 -0
  65. package/src/api/generated/ext_knowbase/_utils/schemas/PublicDocumentList.schema.ts +24 -0
  66. package/src/api/generated/ext_knowbase/_utils/schemas/VectorizationResult.schema.ts +24 -0
  67. package/src/api/generated/ext_knowbase/_utils/schemas/VectorizationStatistics.schema.ts +26 -0
  68. package/src/api/generated/ext_knowbase/_utils/schemas/index.ts +70 -0
  69. package/src/api/generated/ext_knowbase/api-instance.ts +131 -0
  70. package/src/api/generated/ext_knowbase/client.ts +301 -0
  71. package/src/api/generated/ext_knowbase/enums.ts +241 -0
  72. package/src/api/generated/ext_knowbase/errors.ts +116 -0
  73. package/src/api/generated/ext_knowbase/ext_knowbase__knowbase/client.ts +666 -0
  74. package/src/api/generated/ext_knowbase/ext_knowbase__knowbase/index.ts +2 -0
  75. package/src/api/generated/ext_knowbase/ext_knowbase__knowbase/models.ts +1120 -0
  76. package/src/api/generated/ext_knowbase/http.ts +103 -0
  77. package/src/api/generated/ext_knowbase/index.ts +273 -0
  78. package/src/api/generated/ext_knowbase/logger.ts +259 -0
  79. package/src/api/generated/ext_knowbase/retry.ts +175 -0
  80. package/src/api/generated/ext_knowbase/schema.json +5865 -0
  81. package/src/api/generated/ext_knowbase/storage.ts +161 -0
  82. package/src/api/generated/ext_knowbase/validation-events.ts +133 -0
  83. package/src/api/index.ts +9 -0
  84. package/src/components/Chat/ChatUIContext.tsx +110 -0
  85. package/src/components/Chat/ChatWidget.tsx +476 -0
  86. package/src/components/Chat/README.md +122 -0
  87. package/src/components/Chat/components/MessageInput.tsx +124 -0
  88. package/src/components/Chat/components/MessageList.tsx +169 -0
  89. package/src/components/Chat/components/SessionList.tsx +192 -0
  90. package/src/components/Chat/components/index.ts +9 -0
  91. package/src/components/Chat/hooks/index.ts +6 -0
  92. package/src/components/Chat/hooks/useInfiniteSessions.ts +81 -0
  93. package/src/components/Chat/index.tsx +45 -0
  94. package/src/components/Chat/types.ts +81 -0
  95. package/src/config.ts +20 -0
  96. package/src/contexts/knowbase/ChatContext.tsx +173 -0
  97. package/src/contexts/knowbase/DocumentsContext.tsx +306 -0
  98. package/src/contexts/knowbase/KnowbaseProvider.tsx +47 -0
  99. package/src/contexts/knowbase/SessionsContext.tsx +175 -0
  100. package/src/contexts/knowbase/index.ts +63 -0
  101. package/src/contexts/knowbase/types.ts +69 -0
  102. package/src/hooks/index.ts +28 -0
  103. package/src/index.ts +22 -0
  104. package/src/utils/logger.ts +10 -0
@@ -0,0 +1,241 @@
1
+ /**
2
+ * Content classification
3
+ * * `document` - Document
4
+ * * `code` - Code
5
+ * * `image` - Image
6
+ * * `data` - Data
7
+ * * `archive` - Archive
8
+ * * `unknown` - Unknown
9
+ */
10
+ export enum ArchiveItemContentType {
11
+ DOCUMENT = "document",
12
+ CODE = "code",
13
+ IMAGE = "image",
14
+ DATA = "data",
15
+ ARCHIVE = "archive",
16
+ UNKNOWN = "unknown",
17
+ }
18
+
19
+ /**
20
+ * Type of content in chunk
21
+ * * `text` - Text
22
+ * * `code` - Code
23
+ * * `heading` - Heading
24
+ * * `metadata` - Metadata
25
+ * * `table` - Table
26
+ * * `list` - List
27
+ */
28
+ export enum ArchiveItemChunkChunkType {
29
+ TEXT = "text",
30
+ CODE = "code",
31
+ HEADING = "heading",
32
+ METADATA = "metadata",
33
+ TABLE = "table",
34
+ LIST = "list",
35
+ }
36
+
37
+ /**
38
+ * Type of content in chunk
39
+ * * `text` - Text
40
+ * * `code` - Code
41
+ * * `heading` - Heading
42
+ * * `metadata` - Metadata
43
+ * * `table` - Table
44
+ * * `list` - List
45
+ */
46
+ export enum ArchiveItemChunkDetailChunkType {
47
+ TEXT = "text",
48
+ CODE = "code",
49
+ HEADING = "heading",
50
+ METADATA = "metadata",
51
+ TABLE = "table",
52
+ LIST = "list",
53
+ }
54
+
55
+ /**
56
+ * Type of content in chunk
57
+ * * `text` - Text
58
+ * * `code` - Code
59
+ * * `heading` - Heading
60
+ * * `metadata` - Metadata
61
+ * * `table` - Table
62
+ * * `list` - List
63
+ */
64
+ export enum ArchiveItemChunkRequestChunkType {
65
+ TEXT = "text",
66
+ CODE = "code",
67
+ HEADING = "heading",
68
+ METADATA = "metadata",
69
+ TABLE = "table",
70
+ LIST = "list",
71
+ }
72
+
73
+ /**
74
+ * Content classification
75
+ * * `document` - Document
76
+ * * `code` - Code
77
+ * * `image` - Image
78
+ * * `data` - Data
79
+ * * `archive` - Archive
80
+ * * `unknown` - Unknown
81
+ */
82
+ export enum ArchiveItemDetailContentType {
83
+ DOCUMENT = "document",
84
+ CODE = "code",
85
+ IMAGE = "image",
86
+ DATA = "data",
87
+ ARCHIVE = "archive",
88
+ UNKNOWN = "unknown",
89
+ }
90
+
91
+ /**
92
+ * * `document` - Document
93
+ * * `code` - Code
94
+ * * `image` - Image
95
+ * * `data` - Data
96
+ * * `archive` - Archive
97
+ * * `unknown` - Unknown
98
+ */
99
+ export enum ArchiveSearchRequestRequestContentTypesItems {
100
+ DOCUMENT = "document",
101
+ CODE = "code",
102
+ IMAGE = "image",
103
+ DATA = "data",
104
+ ARCHIVE = "archive",
105
+ UNKNOWN = "unknown",
106
+ }
107
+
108
+ /**
109
+ * * `text` - Text
110
+ * * `code` - Code
111
+ * * `heading` - Heading
112
+ * * `metadata` - Metadata
113
+ * * `table` - Table
114
+ * * `list` - List
115
+ */
116
+ export enum ArchiveSearchRequestRequestChunkTypesItems {
117
+ TEXT = "text",
118
+ CODE = "code",
119
+ HEADING = "heading",
120
+ METADATA = "metadata",
121
+ TABLE = "table",
122
+ LIST = "list",
123
+ }
124
+
125
+ /**
126
+ * Message sender role
127
+ * * `user` - User
128
+ * * `assistant` - Assistant
129
+ * * `system` - System
130
+ */
131
+ export enum ChatMessageRole {
132
+ USER = "user",
133
+ ASSISTANT = "assistant",
134
+ SYSTEM = "system",
135
+ }
136
+
137
+ /**
138
+ * Archive format
139
+ * * `zip` - ZIP
140
+ * * `tar` - TAR
141
+ * * `tar.gz` - TAR GZ
142
+ * * `tar.bz2` - TAR BZ2
143
+ */
144
+ export enum DocumentArchiveArchiveType {
145
+ ZIP = "zip",
146
+ TAR = "tar",
147
+ TAR_DOT_GZ = "tar.gz",
148
+ TAR_DOT_BZ2 = "tar.bz2",
149
+ }
150
+
151
+ /**
152
+ * * `pending` - Pending
153
+ * * `processing` - Processing
154
+ * * `completed` - Completed
155
+ * * `failed` - Failed
156
+ * * `cancelled` - Cancelled
157
+ */
158
+ export enum DocumentArchiveProcessingStatus {
159
+ PENDING = "pending",
160
+ PROCESSING = "processing",
161
+ COMPLETED = "completed",
162
+ FAILED = "failed",
163
+ CANCELLED = "cancelled",
164
+ }
165
+
166
+ /**
167
+ * Archive format
168
+ * * `zip` - ZIP
169
+ * * `tar` - TAR
170
+ * * `tar.gz` - TAR GZ
171
+ * * `tar.bz2` - TAR BZ2
172
+ */
173
+ export enum DocumentArchiveDetailArchiveType {
174
+ ZIP = "zip",
175
+ TAR = "tar",
176
+ TAR_DOT_GZ = "tar.gz",
177
+ TAR_DOT_BZ2 = "tar.bz2",
178
+ }
179
+
180
+ /**
181
+ * * `pending` - Pending
182
+ * * `processing` - Processing
183
+ * * `completed` - Completed
184
+ * * `failed` - Failed
185
+ * * `cancelled` - Cancelled
186
+ */
187
+ export enum DocumentArchiveDetailProcessingStatus {
188
+ PENDING = "pending",
189
+ PROCESSING = "processing",
190
+ COMPLETED = "completed",
191
+ FAILED = "failed",
192
+ CANCELLED = "cancelled",
193
+ }
194
+
195
+ /**
196
+ * Archive format
197
+ * * `zip` - ZIP
198
+ * * `tar` - TAR
199
+ * * `tar.gz` - TAR GZ
200
+ * * `tar.bz2` - TAR BZ2
201
+ */
202
+ export enum DocumentArchiveListArchiveType {
203
+ ZIP = "zip",
204
+ TAR = "tar",
205
+ TAR_DOT_GZ = "tar.gz",
206
+ TAR_DOT_BZ2 = "tar.bz2",
207
+ }
208
+
209
+ /**
210
+ * * `pending` - Pending
211
+ * * `processing` - Processing
212
+ * * `completed` - Completed
213
+ * * `failed` - Failed
214
+ * * `cancelled` - Cancelled
215
+ */
216
+ export enum DocumentArchiveListProcessingStatus {
217
+ PENDING = "pending",
218
+ PROCESSING = "processing",
219
+ COMPLETED = "completed",
220
+ FAILED = "failed",
221
+ CANCELLED = "cancelled",
222
+ }
223
+
224
+ /**
225
+ * Type of content in chunk
226
+ * * `text` - Text
227
+ * * `code` - Code
228
+ * * `heading` - Heading
229
+ * * `metadata` - Metadata
230
+ * * `table` - Table
231
+ * * `list` - List
232
+ */
233
+ export enum PatchedArchiveItemChunkRequestChunkType {
234
+ TEXT = "text",
235
+ CODE = "code",
236
+ HEADING = "heading",
237
+ METADATA = "metadata",
238
+ TABLE = "table",
239
+ LIST = "list",
240
+ }
241
+
@@ -0,0 +1,116 @@
1
+ /**
2
+ * API Error Classes
3
+ *
4
+ * Typed error classes with Django REST Framework support.
5
+ */
6
+
7
+ /**
8
+ * HTTP API Error with DRF field-specific validation errors.
9
+ *
10
+ * Usage:
11
+ * ```typescript
12
+ * try {
13
+ * await api.users.create(userData);
14
+ * } catch (error) {
15
+ * if (error instanceof APIError) {
16
+ * if (error.isValidationError) {
17
+ * console.log('Field errors:', error.fieldErrors);
18
+ * // { "email": ["Email already exists"], "username": ["Required"] }
19
+ * }
20
+ * }
21
+ * }
22
+ * ```
23
+ */
24
+ export class APIError extends Error {
25
+ constructor(
26
+ public statusCode: number,
27
+ public statusText: string,
28
+ public response: any,
29
+ public url: string,
30
+ message?: string
31
+ ) {
32
+ super(message || `HTTP ${statusCode}: ${statusText}`);
33
+ this.name = 'APIError';
34
+ }
35
+
36
+ /**
37
+ * Get error details from response.
38
+ * DRF typically returns: { "detail": "Error message" } or { "field": ["error1", "error2"] }
39
+ */
40
+ get details(): Record<string, any> | null {
41
+ if (typeof this.response === 'object' && this.response !== null) {
42
+ return this.response;
43
+ }
44
+ return null;
45
+ }
46
+
47
+ /**
48
+ * Get field-specific validation errors from DRF.
49
+ * Returns: { "field_name": ["error1", "error2"], ... }
50
+ */
51
+ get fieldErrors(): Record<string, string[]> | null {
52
+ const details = this.details;
53
+ if (!details) return null;
54
+
55
+ // DRF typically returns: { "field": ["error1", "error2"] }
56
+ const fieldErrors: Record<string, string[]> = {};
57
+ for (const [key, value] of Object.entries(details)) {
58
+ if (Array.isArray(value)) {
59
+ fieldErrors[key] = value;
60
+ }
61
+ }
62
+
63
+ return Object.keys(fieldErrors).length > 0 ? fieldErrors : null;
64
+ }
65
+
66
+ /**
67
+ * Get single error message from DRF.
68
+ * Checks for "detail", "message", or first field error.
69
+ */
70
+ get errorMessage(): string {
71
+ const details = this.details;
72
+ if (!details) return this.message;
73
+
74
+ // Check for "detail" field (common in DRF)
75
+ if (details.detail) {
76
+ return Array.isArray(details.detail) ? details.detail.join(', ') : String(details.detail);
77
+ }
78
+
79
+ // Check for "message" field
80
+ if (details.message) {
81
+ return String(details.message);
82
+ }
83
+
84
+ // Return first field error
85
+ const fieldErrors = this.fieldErrors;
86
+ if (fieldErrors) {
87
+ const firstField = Object.keys(fieldErrors)[0];
88
+ if (firstField) {
89
+ return `${firstField}: ${fieldErrors[firstField]?.join(', ')}`;
90
+ }
91
+ }
92
+
93
+ return this.message;
94
+ }
95
+
96
+ // Helper methods for common HTTP status codes
97
+ get isValidationError(): boolean { return this.statusCode === 400; }
98
+ get isAuthError(): boolean { return this.statusCode === 401; }
99
+ get isPermissionError(): boolean { return this.statusCode === 403; }
100
+ get isNotFoundError(): boolean { return this.statusCode === 404; }
101
+ get isServerError(): boolean { return this.statusCode >= 500 && this.statusCode < 600; }
102
+ }
103
+
104
+ /**
105
+ * Network Error (connection failed, timeout, etc.)
106
+ */
107
+ export class NetworkError extends Error {
108
+ constructor(
109
+ message: string,
110
+ public url: string,
111
+ public originalError?: Error
112
+ ) {
113
+ super(message);
114
+ this.name = 'NetworkError';
115
+ }
116
+ }