@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
package/README.md ADDED
@@ -0,0 +1,177 @@
1
+ # @djangocfg/ext-knowbase
2
+
3
+ Knowledge base and RAG-powered chat extension for DjangoCFG.
4
+
5
+ **Part of [DjangoCFG](https://djangocfg.com)** — modern Django framework for production-ready SaaS applications.
6
+
7
+ ## Features
8
+
9
+ - 📚 **Document Management** - Upload, organize, and manage documentation
10
+ - 💬 **RAG-Powered Chat** - AI chat with context from your documents
11
+ - 📁 **Archive Processing** - Bulk upload and process ZIP archives
12
+ - 🔍 **Smart Search** - Find information across all documents
13
+ - 📊 **Document Analytics** - Track usage and engagement
14
+ - 🔄 **Auto-Processing** - Automatic document parsing and indexing
15
+ - 💾 **Session Management** - Persistent chat sessions
16
+
17
+ ## Install
18
+
19
+ ```bash
20
+ pnpm add @djangocfg/ext-knowbase
21
+ ```
22
+
23
+ ## Usage
24
+
25
+ ### Provider Setup
26
+
27
+ ```typescript
28
+ import { KnowbaseProvider } from '@djangocfg/ext-knowbase/hooks';
29
+
30
+ export default function RootLayout({ children }) {
31
+ return (
32
+ <KnowbaseProvider>
33
+ {children}
34
+ </KnowbaseProvider>
35
+ );
36
+ }
37
+ ```
38
+
39
+ ### Document Management
40
+
41
+ ```typescript
42
+ import {
43
+ useKnowbaseDocumentsContext,
44
+ } from '@djangocfg/ext-knowbase/hooks';
45
+
46
+ function DocumentsPage() {
47
+ const {
48
+ documents,
49
+ uploadDocument,
50
+ deleteDocument,
51
+ isLoadingDocuments,
52
+ } = useKnowbaseDocumentsContext();
53
+
54
+ const handleUpload = async (file: File) => {
55
+ await uploadDocument({
56
+ file,
57
+ title: file.name,
58
+ description: 'Uploaded document',
59
+ });
60
+ };
61
+
62
+ return (
63
+ <div>
64
+ <input
65
+ type="file"
66
+ onChange={(e) => e.target.files && handleUpload(e.target.files[0])}
67
+ />
68
+ {documents.map(doc => (
69
+ <div key={doc.id}>
70
+ <h3>{doc.title}</h3>
71
+ <p>Status: {doc.status}</p>
72
+ <button onClick={() => deleteDocument(doc.id)}>Delete</button>
73
+ </div>
74
+ ))}
75
+ </div>
76
+ );
77
+ }
78
+ ```
79
+
80
+ ### RAG-Powered Chat
81
+
82
+ ```typescript
83
+ import { useKnowbaseChatContext } from '@djangocfg/ext-knowbase/hooks';
84
+
85
+ function ChatInterface() {
86
+ const { sendQuery, chatHistory, isLoading } = useKnowbaseChatContext();
87
+
88
+ const handleSend = async (message: string) => {
89
+ await sendQuery({
90
+ query: message,
91
+ session_id: sessionId,
92
+ });
93
+ };
94
+
95
+ return (
96
+ <div>
97
+ {chatHistory.map((msg, idx) => (
98
+ <div key={idx}>
99
+ <strong>{msg.role}:</strong> {msg.content}
100
+ </div>
101
+ ))}
102
+ <input
103
+ onKeyDown={(e) => {
104
+ if (e.key === 'Enter') {
105
+ handleSend(e.currentTarget.value);
106
+ }
107
+ }}
108
+ disabled={isLoading}
109
+ />
110
+ </div>
111
+ );
112
+ }
113
+ ```
114
+
115
+ ### Archive Processing
116
+
117
+ ```typescript
118
+ import { useKnowbaseDocumentsContext } from '@djangocfg/ext-knowbase/hooks';
119
+
120
+ function ArchiveUpload() {
121
+ const { uploadArchive, getArchiveById } = useKnowbaseDocumentsContext();
122
+
123
+ const handleArchiveUpload = async (file: File) => {
124
+ const result = await uploadArchive({
125
+ file,
126
+ auto_process: true,
127
+ });
128
+
129
+ // Check processing status
130
+ const archive = await getArchiveById(result.id);
131
+ console.log('Processing status:', archive.processing_status);
132
+ };
133
+
134
+ return (
135
+ <input
136
+ type="file"
137
+ accept=".zip"
138
+ onChange={(e) => e.target.files && handleArchiveUpload(e.target.files[0])}
139
+ />
140
+ );
141
+ }
142
+ ```
143
+
144
+ ## API Reference
145
+
146
+ ### Documents Context
147
+
148
+ - `documents` - List of all documents
149
+ - `uploadDocument(data)` - Upload single document
150
+ - `deleteDocument(id)` - Delete document
151
+ - `updateDocument(id, data)` - Update document metadata
152
+ - `getDocumentById(id)` - Get document details
153
+ - `uploadArchive(data)` - Upload ZIP archive
154
+ - `processArchive(id)` - Trigger archive processing
155
+
156
+ ### Chat Context
157
+
158
+ - `sendQuery(data)` - Send chat query to RAG system
159
+ - `chatHistory` - Current chat session history
160
+ - `clearHistory()` - Clear chat history
161
+ - `isLoading` - Loading state
162
+
163
+ ### Sessions Context
164
+
165
+ - `sessions` - List of chat sessions
166
+ - `createSession(data)` - Create new session
167
+ - `deleteSession(id)` - Delete session
168
+ - `getCurrentSession()` - Get active session
169
+
170
+ ## License
171
+
172
+ MIT
173
+
174
+ ## Links
175
+
176
+ - [DjangoCFG Documentation](https://djangocfg.com)
177
+ - [GitHub](https://github.com/markolofsen/django-cfg)