@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.
- package/README.md +177 -0
- package/dist/chunk-GNRC54ON.js +4308 -0
- package/dist/hooks.cjs +6003 -0
- package/dist/hooks.d.cts +610 -0
- package/dist/hooks.d.ts +610 -0
- package/dist/hooks.js +1486 -0
- package/dist/index.cjs +4450 -0
- package/dist/index.d.cts +4398 -0
- package/dist/index.d.ts +4398 -0
- package/dist/index.js +1 -0
- package/package.json +81 -0
- package/src/api/generated/ext_knowbase/_utils/fetchers/ext_knowbase__knowbase.ts +2983 -0
- package/src/api/generated/ext_knowbase/_utils/fetchers/index.ts +28 -0
- package/src/api/generated/ext_knowbase/_utils/hooks/ext_knowbase__knowbase.ts +999 -0
- package/src/api/generated/ext_knowbase/_utils/hooks/index.ts +28 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveItem.schema.ts +33 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveItemChunk.schema.ts +29 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveItemChunkDetail.schema.ts +30 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveItemChunkRequest.schema.ts +22 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveItemDetail.schema.ts +35 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveItemRequest.schema.ts +22 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveProcessingResult.schema.ts +26 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveSearchRequestRequest.schema.ts +25 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveSearchResult.schema.ts +24 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/ArchiveStatistics.schema.ts +28 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/ChatHistory.schema.ts +22 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/ChatMessage.schema.ts +27 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/ChatQueryRequest.schema.ts +22 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/ChatResponse.schema.ts +26 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/ChatResponseRequest.schema.ts +26 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/ChatSession.schema.ts +29 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/ChatSessionCreateRequest.schema.ts +22 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/ChatSessionRequest.schema.ts +25 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/ChatSource.schema.ts +21 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/ChatSourceRequest.schema.ts +21 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/ChunkRevectorizationRequestRequest.schema.ts +20 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/Document.schema.ts +32 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/DocumentArchive.schema.ts +44 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/DocumentArchiveDetail.schema.ts +48 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/DocumentArchiveList.schema.ts +35 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/DocumentArchiveRequest.schema.ts +21 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/DocumentCategory.schema.ts +23 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/DocumentCategoryRequest.schema.ts +21 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/DocumentCreateRequest.schema.ts +22 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/DocumentProcessingStatus.schema.ts +23 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/DocumentRequest.schema.ts +22 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/DocumentStats.schema.ts +25 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/PaginatedArchiveItemChunkList.schema.ts +24 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/PaginatedArchiveItemList.schema.ts +24 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/PaginatedArchiveSearchResultList.schema.ts +24 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/PaginatedChatResponseList.schema.ts +24 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/PaginatedChatSessionList.schema.ts +24 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/PaginatedDocumentArchiveListList.schema.ts +24 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/PaginatedDocumentList.schema.ts +24 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/PaginatedPublicCategoryList.schema.ts +24 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/PaginatedPublicDocumentListList.schema.ts +24 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/PatchedArchiveItemChunkRequest.schema.ts +22 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/PatchedArchiveItemRequest.schema.ts +22 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/PatchedChatResponseRequest.schema.ts +26 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/PatchedChatSessionRequest.schema.ts +25 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/PatchedDocumentArchiveRequest.schema.ts +21 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/PatchedDocumentRequest.schema.ts +22 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/PublicCategory.schema.ts +21 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/PublicDocument.schema.ts +25 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/PublicDocumentList.schema.ts +24 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/VectorizationResult.schema.ts +24 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/VectorizationStatistics.schema.ts +26 -0
- package/src/api/generated/ext_knowbase/_utils/schemas/index.ts +70 -0
- package/src/api/generated/ext_knowbase/api-instance.ts +131 -0
- package/src/api/generated/ext_knowbase/client.ts +301 -0
- package/src/api/generated/ext_knowbase/enums.ts +241 -0
- package/src/api/generated/ext_knowbase/errors.ts +116 -0
- package/src/api/generated/ext_knowbase/ext_knowbase__knowbase/client.ts +666 -0
- package/src/api/generated/ext_knowbase/ext_knowbase__knowbase/index.ts +2 -0
- package/src/api/generated/ext_knowbase/ext_knowbase__knowbase/models.ts +1120 -0
- package/src/api/generated/ext_knowbase/http.ts +103 -0
- package/src/api/generated/ext_knowbase/index.ts +273 -0
- package/src/api/generated/ext_knowbase/logger.ts +259 -0
- package/src/api/generated/ext_knowbase/retry.ts +175 -0
- package/src/api/generated/ext_knowbase/schema.json +5865 -0
- package/src/api/generated/ext_knowbase/storage.ts +161 -0
- package/src/api/generated/ext_knowbase/validation-events.ts +133 -0
- package/src/api/index.ts +9 -0
- package/src/components/Chat/ChatUIContext.tsx +110 -0
- package/src/components/Chat/ChatWidget.tsx +476 -0
- package/src/components/Chat/README.md +122 -0
- package/src/components/Chat/components/MessageInput.tsx +124 -0
- package/src/components/Chat/components/MessageList.tsx +169 -0
- package/src/components/Chat/components/SessionList.tsx +192 -0
- package/src/components/Chat/components/index.ts +9 -0
- package/src/components/Chat/hooks/index.ts +6 -0
- package/src/components/Chat/hooks/useInfiniteSessions.ts +81 -0
- package/src/components/Chat/index.tsx +45 -0
- package/src/components/Chat/types.ts +81 -0
- package/src/config.ts +20 -0
- package/src/contexts/knowbase/ChatContext.tsx +173 -0
- package/src/contexts/knowbase/DocumentsContext.tsx +306 -0
- package/src/contexts/knowbase/KnowbaseProvider.tsx +47 -0
- package/src/contexts/knowbase/SessionsContext.tsx +175 -0
- package/src/contexts/knowbase/index.ts +63 -0
- package/src/contexts/knowbase/types.ts +69 -0
- package/src/hooks/index.ts +28 -0
- package/src/index.ts +22 -0
- 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)
|