@cosmocoder/mcp-web-docs 1.3.0 → 1.4.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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { DocumentMetadata, ProcessedDocument, SearchResult, SearchOptions, StorageProvider } from '../types.js';
1
+ import { Collection, CollectionWithDocuments, DocumentMetadata, ProcessedDocument, SearchResult, SearchOptions, StorageProvider } from '../types.js';
2
2
  import { EmbeddingsProvider } from '../embeddings/types.js';
3
3
  export declare class DocumentStore implements StorageProvider {
4
4
  private readonly dbPath;
@@ -75,6 +75,69 @@ export declare class DocumentStore implements StorageProvider {
75
75
  * @returns Array of matching document URLs
76
76
  */
77
77
  getUrlsByTags(tags: string[]): Promise<string[]>;
78
+ /**
79
+ * Create a new collection.
80
+ * @param name - Unique name for the collection
81
+ * @param description - Optional description
82
+ * @throws Error if collection already exists
83
+ */
84
+ createCollection(name: string, description?: string): Promise<void>;
85
+ /**
86
+ * Delete a collection.
87
+ * Documents in the collection are NOT deleted, only the collection association.
88
+ * @param name - Name of the collection to delete
89
+ * @throws Error if collection doesn't exist
90
+ */
91
+ deleteCollection(name: string): Promise<void>;
92
+ /**
93
+ * Update a collection's metadata.
94
+ * @param name - Current name of the collection
95
+ * @param updates - Fields to update
96
+ * @throws Error if collection doesn't exist
97
+ */
98
+ updateCollection(name: string, updates: {
99
+ newName?: string;
100
+ description?: string;
101
+ }): Promise<void>;
102
+ /**
103
+ * List all collections with document counts.
104
+ * @returns Array of collections sorted by name
105
+ */
106
+ listCollections(): Promise<Collection[]>;
107
+ /**
108
+ * Get a collection with its full list of documents.
109
+ * @param name - Name of the collection
110
+ * @returns Collection with documents, or null if not found
111
+ */
112
+ getCollection(name: string): Promise<CollectionWithDocuments | null>;
113
+ /**
114
+ * Add documents to a collection.
115
+ * @param name - Name of the collection
116
+ * @param urls - URLs of documents to add
117
+ * @throws Error if collection doesn't exist
118
+ */
119
+ addToCollection(name: string, urls: string[]): Promise<{
120
+ added: string[];
121
+ notFound: string[];
122
+ alreadyInCollection: string[];
123
+ }>;
124
+ /**
125
+ * Remove documents from a collection.
126
+ * @param name - Name of the collection
127
+ * @param urls - URLs of documents to remove
128
+ * @throws Error if collection doesn't exist
129
+ */
130
+ removeFromCollection(name: string, urls: string[]): Promise<{
131
+ removed: string[];
132
+ notInCollection: string[];
133
+ }>;
134
+ /**
135
+ * Get URLs of all documents in a collection.
136
+ * Used for search filtering.
137
+ * @param name - Name of the collection
138
+ * @returns Array of document URLs
139
+ */
140
+ getCollectionUrls(name: string): Promise<string[]>;
78
141
  private clearCacheForUrl;
79
142
  /**
80
143
  * Validates that vectors are properly stored and retrievable from LanceDB
@@ -191,6 +191,28 @@ export class DocumentStore {
191
191
  CREATE INDEX IF NOT EXISTS idx_documents_version ON documents(version);
192
192
  `,
193
193
  },
194
+ {
195
+ version: 4,
196
+ description: 'Add collections feature for grouping documentation sites',
197
+ sql: `
198
+ CREATE TABLE IF NOT EXISTS collections (
199
+ name TEXT PRIMARY KEY,
200
+ description TEXT,
201
+ created_at DATETIME NOT NULL,
202
+ updated_at DATETIME NOT NULL
203
+ );
204
+ CREATE TABLE IF NOT EXISTS collection_documents (
205
+ collection_name TEXT NOT NULL,
206
+ url TEXT NOT NULL,
207
+ added_at DATETIME NOT NULL,
208
+ PRIMARY KEY (collection_name, url),
209
+ FOREIGN KEY (collection_name) REFERENCES collections(name) ON DELETE CASCADE,
210
+ FOREIGN KEY (url) REFERENCES documents(url) ON DELETE CASCADE
211
+ );
212
+ CREATE INDEX IF NOT EXISTS idx_collection_documents_name ON collection_documents(collection_name);
213
+ CREATE INDEX IF NOT EXISTS idx_collection_documents_url ON collection_documents(url);
214
+ `,
215
+ },
194
216
  ];
195
217
  /**
196
218
  * Run pending database migrations.
@@ -922,6 +944,342 @@ export class DocumentStore {
922
944
  throw error;
923
945
  }
924
946
  }
947
+ // ============ Collection Methods ============
948
+ /**
949
+ * Create a new collection.
950
+ * @param name - Unique name for the collection
951
+ * @param description - Optional description
952
+ * @throws Error if collection already exists
953
+ */
954
+ async createCollection(name, description) {
955
+ if (!this.sqliteDb) {
956
+ throw new Error('Storage not initialized');
957
+ }
958
+ const normalizedName = name.trim();
959
+ const now = new Date().toISOString();
960
+ logger.debug(`[DocumentStore] Creating collection: ${normalizedName}`);
961
+ try {
962
+ await this.sqliteDb.run('INSERT INTO collections (name, description, created_at, updated_at) VALUES (?, ?, ?, ?)', [
963
+ normalizedName,
964
+ description || null,
965
+ now,
966
+ now,
967
+ ]);
968
+ logger.info(`[DocumentStore] Collection created: ${normalizedName}`);
969
+ }
970
+ catch (error) {
971
+ const err = error;
972
+ if (err.message?.includes('UNIQUE constraint failed') || err.message?.includes('PRIMARY KEY constraint failed')) {
973
+ throw new Error(`Collection "${normalizedName}" already exists`);
974
+ }
975
+ throw error;
976
+ }
977
+ }
978
+ /**
979
+ * Delete a collection.
980
+ * Documents in the collection are NOT deleted, only the collection association.
981
+ * @param name - Name of the collection to delete
982
+ * @throws Error if collection doesn't exist
983
+ */
984
+ async deleteCollection(name) {
985
+ if (!this.sqliteDb) {
986
+ throw new Error('Storage not initialized');
987
+ }
988
+ const normalizedName = name.trim();
989
+ logger.debug(`[DocumentStore] Deleting collection: ${normalizedName}`);
990
+ const result = await this.sqliteDb.run('DELETE FROM collections WHERE name = ?', [normalizedName]);
991
+ if (result.changes === 0) {
992
+ throw new Error(`Collection "${normalizedName}" not found`);
993
+ }
994
+ // collection_documents entries are cascade-deleted by foreign key
995
+ logger.info(`[DocumentStore] Collection deleted: ${normalizedName}`);
996
+ }
997
+ /**
998
+ * Update a collection's metadata.
999
+ * @param name - Current name of the collection
1000
+ * @param updates - Fields to update
1001
+ * @throws Error if collection doesn't exist
1002
+ */
1003
+ async updateCollection(name, updates) {
1004
+ if (!this.sqliteDb) {
1005
+ throw new Error('Storage not initialized');
1006
+ }
1007
+ const normalizedName = name.trim();
1008
+ const now = new Date().toISOString();
1009
+ // Check if collection exists
1010
+ const existing = await this.sqliteDb.get('SELECT name, description, created_at FROM collections WHERE name = ?', [normalizedName]);
1011
+ if (!existing) {
1012
+ throw new Error(`Collection "${normalizedName}" not found`);
1013
+ }
1014
+ logger.debug(`[DocumentStore] Updating collection: ${normalizedName}`, updates);
1015
+ try {
1016
+ // If renaming, we need to handle FK constraints carefully
1017
+ // SQLite doesn't allow PRAGMA changes within a transaction, so we use a different approach:
1018
+ // 1. Create new collection with new name
1019
+ // 2. Move documents to new collection
1020
+ // 3. Delete old collection
1021
+ if (updates.newName !== undefined) {
1022
+ const newNormalizedName = updates.newName.trim();
1023
+ // Check if new name already exists
1024
+ const existingNew = await this.sqliteDb.get('SELECT name FROM collections WHERE name = ?', [newNormalizedName]);
1025
+ if (existingNew) {
1026
+ throw new Error(`Collection "${newNormalizedName}" already exists`);
1027
+ }
1028
+ await this.sqliteDb.run('BEGIN TRANSACTION');
1029
+ // Create collection with new name
1030
+ const newDescription = updates.description ?? existing.description;
1031
+ await this.sqliteDb.run('INSERT INTO collections (name, description, created_at, updated_at) VALUES (?, ?, ?, ?)', [
1032
+ newNormalizedName,
1033
+ newDescription,
1034
+ existing.created_at,
1035
+ now,
1036
+ ]);
1037
+ // Get all document URLs in the old collection
1038
+ const docs = await this.sqliteDb.all('SELECT url, added_at FROM collection_documents WHERE collection_name = ?', [normalizedName]);
1039
+ // Add documents to new collection
1040
+ for (const doc of docs) {
1041
+ await this.sqliteDb.run('INSERT INTO collection_documents (collection_name, url, added_at) VALUES (?, ?, ?)', [
1042
+ newNormalizedName,
1043
+ doc.url,
1044
+ doc.added_at,
1045
+ ]);
1046
+ }
1047
+ // Delete old collection (cascade will remove old collection_documents entries)
1048
+ await this.sqliteDb.run('DELETE FROM collections WHERE name = ?', [normalizedName]);
1049
+ await this.sqliteDb.run('COMMIT');
1050
+ }
1051
+ else if (updates.description !== undefined) {
1052
+ // Just updating description, simple update
1053
+ await this.sqliteDb.run('UPDATE collections SET description = ?, updated_at = ? WHERE name = ?', [
1054
+ updates.description,
1055
+ now,
1056
+ normalizedName,
1057
+ ]);
1058
+ }
1059
+ logger.info(`[DocumentStore] Collection updated: ${normalizedName}`);
1060
+ }
1061
+ catch (error) {
1062
+ try {
1063
+ await this.sqliteDb.run('ROLLBACK');
1064
+ }
1065
+ catch {
1066
+ // Ignore rollback errors
1067
+ }
1068
+ const err = error;
1069
+ if (err.message?.includes('already exists')) {
1070
+ throw err;
1071
+ }
1072
+ throw error;
1073
+ }
1074
+ }
1075
+ /**
1076
+ * List all collections with document counts.
1077
+ * @returns Array of collections sorted by name
1078
+ */
1079
+ async listCollections() {
1080
+ if (!this.sqliteDb) {
1081
+ throw new Error('Storage not initialized');
1082
+ }
1083
+ logger.debug(`[DocumentStore] Listing collections`);
1084
+ const rows = await this.sqliteDb.all(`
1085
+ SELECT c.name, c.description, c.created_at, c.updated_at,
1086
+ COUNT(cd.url) as document_count
1087
+ FROM collections c
1088
+ LEFT JOIN collection_documents cd ON c.name = cd.collection_name
1089
+ GROUP BY c.name
1090
+ ORDER BY c.name ASC
1091
+ `);
1092
+ logger.debug(`[DocumentStore] Found ${rows.length} collections`);
1093
+ return rows.map((row) => ({
1094
+ name: row.name,
1095
+ description: row.description ?? undefined,
1096
+ createdAt: new Date(row.created_at),
1097
+ updatedAt: new Date(row.updated_at),
1098
+ documentCount: row.document_count,
1099
+ }));
1100
+ }
1101
+ /**
1102
+ * Get a collection with its full list of documents.
1103
+ * @param name - Name of the collection
1104
+ * @returns Collection with documents, or null if not found
1105
+ */
1106
+ async getCollection(name) {
1107
+ if (!this.sqliteDb) {
1108
+ throw new Error('Storage not initialized');
1109
+ }
1110
+ const normalizedName = name.trim();
1111
+ logger.debug(`[DocumentStore] Getting collection: ${normalizedName}`);
1112
+ // Get collection metadata
1113
+ const row = await this.sqliteDb.get('SELECT name, description, created_at, updated_at FROM collections WHERE name = ?', [normalizedName]);
1114
+ if (!row) {
1115
+ logger.debug(`[DocumentStore] Collection not found: ${normalizedName}`);
1116
+ return null;
1117
+ }
1118
+ // Get documents in the collection
1119
+ const docRows = await this.sqliteDb.all(`
1120
+ SELECT d.url, d.title, d.favicon, d.last_indexed, d.requires_auth, d.auth_domain, d.version
1121
+ FROM documents d
1122
+ INNER JOIN collection_documents cd ON d.url = cd.url
1123
+ WHERE cd.collection_name = ?
1124
+ ORDER BY d.title ASC
1125
+ `, [normalizedName]);
1126
+ // Fetch tags for all documents
1127
+ const tagsMap = await this.getAllDocumentTags();
1128
+ const documents = docRows.map((doc) => ({
1129
+ url: doc.url,
1130
+ title: doc.title,
1131
+ favicon: doc.favicon ?? undefined,
1132
+ lastIndexed: new Date(doc.last_indexed),
1133
+ requiresAuth: doc.requires_auth === 1,
1134
+ authDomain: doc.auth_domain ?? undefined,
1135
+ tags: tagsMap.get(doc.url) || [],
1136
+ version: doc.version ?? undefined,
1137
+ }));
1138
+ logger.debug(`[DocumentStore] Collection "${normalizedName}" has ${documents.length} documents`);
1139
+ return {
1140
+ name: row.name,
1141
+ description: row.description ?? undefined,
1142
+ createdAt: new Date(row.created_at),
1143
+ updatedAt: new Date(row.updated_at),
1144
+ documentCount: documents.length,
1145
+ documents,
1146
+ };
1147
+ }
1148
+ /**
1149
+ * Add documents to a collection.
1150
+ * @param name - Name of the collection
1151
+ * @param urls - URLs of documents to add
1152
+ * @throws Error if collection doesn't exist
1153
+ */
1154
+ async addToCollection(name, urls) {
1155
+ if (!this.sqliteDb) {
1156
+ throw new Error('Storage not initialized');
1157
+ }
1158
+ const normalizedName = name.trim();
1159
+ const now = new Date().toISOString();
1160
+ logger.debug(`[DocumentStore] Adding ${urls.length} documents to collection: ${normalizedName}`);
1161
+ // Check if collection exists
1162
+ const collection = await this.sqliteDb.get('SELECT name FROM collections WHERE name = ?', [normalizedName]);
1163
+ if (!collection) {
1164
+ throw new Error(`Collection "${normalizedName}" not found`);
1165
+ }
1166
+ const added = [];
1167
+ const notFound = [];
1168
+ const alreadyInCollection = [];
1169
+ await this.sqliteDb.run('BEGIN TRANSACTION');
1170
+ try {
1171
+ for (const url of urls) {
1172
+ // Check if document exists
1173
+ const doc = await this.sqliteDb.get('SELECT url FROM documents WHERE url = ?', [url]);
1174
+ if (!doc) {
1175
+ notFound.push(url);
1176
+ continue;
1177
+ }
1178
+ // Try to add to collection
1179
+ try {
1180
+ await this.sqliteDb.run('INSERT INTO collection_documents (collection_name, url, added_at) VALUES (?, ?, ?)', [
1181
+ normalizedName,
1182
+ url,
1183
+ now,
1184
+ ]);
1185
+ added.push(url);
1186
+ }
1187
+ catch (error) {
1188
+ const err = error;
1189
+ if (err.message?.includes('UNIQUE constraint failed') || err.message?.includes('PRIMARY KEY constraint failed')) {
1190
+ alreadyInCollection.push(url);
1191
+ }
1192
+ else {
1193
+ throw error;
1194
+ }
1195
+ }
1196
+ }
1197
+ // Update collection's updated_at timestamp
1198
+ if (added.length > 0) {
1199
+ await this.sqliteDb.run('UPDATE collections SET updated_at = ? WHERE name = ?', [now, normalizedName]);
1200
+ }
1201
+ await this.sqliteDb.run('COMMIT');
1202
+ logger.info(`[DocumentStore] Added ${added.length} documents to collection "${normalizedName}"`);
1203
+ if (notFound.length > 0) {
1204
+ logger.debug(`[DocumentStore] Documents not found: ${notFound.join(', ')}`);
1205
+ }
1206
+ if (alreadyInCollection.length > 0) {
1207
+ logger.debug(`[DocumentStore] Documents already in collection: ${alreadyInCollection.join(', ')}`);
1208
+ }
1209
+ return { added, notFound, alreadyInCollection };
1210
+ }
1211
+ catch (error) {
1212
+ await this.sqliteDb.run('ROLLBACK');
1213
+ throw error;
1214
+ }
1215
+ }
1216
+ /**
1217
+ * Remove documents from a collection.
1218
+ * @param name - Name of the collection
1219
+ * @param urls - URLs of documents to remove
1220
+ * @throws Error if collection doesn't exist
1221
+ */
1222
+ async removeFromCollection(name, urls) {
1223
+ if (!this.sqliteDb) {
1224
+ throw new Error('Storage not initialized');
1225
+ }
1226
+ const normalizedName = name.trim();
1227
+ const now = new Date().toISOString();
1228
+ logger.debug(`[DocumentStore] Removing ${urls.length} documents from collection: ${normalizedName}`);
1229
+ // Check if collection exists
1230
+ const collection = await this.sqliteDb.get('SELECT name FROM collections WHERE name = ?', [normalizedName]);
1231
+ if (!collection) {
1232
+ throw new Error(`Collection "${normalizedName}" not found`);
1233
+ }
1234
+ const removed = [];
1235
+ const notInCollection = [];
1236
+ await this.sqliteDb.run('BEGIN TRANSACTION');
1237
+ try {
1238
+ for (const url of urls) {
1239
+ const result = await this.sqliteDb.run('DELETE FROM collection_documents WHERE collection_name = ? AND url = ?', [
1240
+ normalizedName,
1241
+ url,
1242
+ ]);
1243
+ if (result.changes && result.changes > 0) {
1244
+ removed.push(url);
1245
+ }
1246
+ else {
1247
+ notInCollection.push(url);
1248
+ }
1249
+ }
1250
+ // Update collection's updated_at timestamp
1251
+ if (removed.length > 0) {
1252
+ await this.sqliteDb.run('UPDATE collections SET updated_at = ? WHERE name = ?', [now, normalizedName]);
1253
+ }
1254
+ await this.sqliteDb.run('COMMIT');
1255
+ logger.info(`[DocumentStore] Removed ${removed.length} documents from collection "${normalizedName}"`);
1256
+ if (notInCollection.length > 0) {
1257
+ logger.debug(`[DocumentStore] Documents not in collection: ${notInCollection.join(', ')}`);
1258
+ }
1259
+ return { removed, notInCollection };
1260
+ }
1261
+ catch (error) {
1262
+ await this.sqliteDb.run('ROLLBACK');
1263
+ throw error;
1264
+ }
1265
+ }
1266
+ /**
1267
+ * Get URLs of all documents in a collection.
1268
+ * Used for search filtering.
1269
+ * @param name - Name of the collection
1270
+ * @returns Array of document URLs
1271
+ */
1272
+ async getCollectionUrls(name) {
1273
+ if (!this.sqliteDb) {
1274
+ throw new Error('Storage not initialized');
1275
+ }
1276
+ const normalizedName = name.trim();
1277
+ logger.debug(`[DocumentStore] Getting URLs for collection: ${normalizedName}`);
1278
+ const rows = await this.sqliteDb.all('SELECT url FROM collection_documents WHERE collection_name = ?', [
1279
+ normalizedName,
1280
+ ]);
1281
+ return rows.map((row) => row.url);
1282
+ }
925
1283
  clearCacheForUrl(url) {
926
1284
  // Clear all cache entries that might contain results for this URL
927
1285
  for (const key of this.searchCache.keys()) {