@cosmocoder/mcp-web-docs 2.0.17 → 2.0.19

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,6 +1,7 @@
1
1
  import { QueueManager } from './queue-manager.js';
2
- const { mockRequestQueue, mockDataset, mockDiscoverUrls } = vi.hoisted(() => ({
3
- mockRequestQueue: {
2
+ import { generateCrawlStorageId } from '../util/docs.js';
3
+ const { mockRequestQueue, mockDataset, mockDiscoverUrls, mockRequestQueueOpen, mockDatasetOpen } = vi.hoisted(() => {
4
+ const mockRequestQueue = {
4
5
  drop: vi.fn().mockResolvedValue(undefined),
5
6
  addRequest: vi.fn().mockResolvedValue(undefined),
6
7
  getInfo: vi.fn().mockResolvedValue({
@@ -8,22 +9,28 @@ const { mockRequestQueue, mockDataset, mockDiscoverUrls } = vi.hoisted(() => ({
8
9
  handledRequestCount: 10,
9
10
  totalRequestCount: 15,
10
11
  }),
11
- },
12
- mockDataset: {
12
+ };
13
+ const mockDataset = {
13
14
  drop: vi.fn().mockResolvedValue(undefined),
14
15
  pushData: vi.fn().mockResolvedValue(undefined),
15
- },
16
- mockDiscoverUrls: vi.fn().mockResolvedValue([]),
17
- }));
16
+ };
17
+ return {
18
+ mockRequestQueue,
19
+ mockDataset,
20
+ mockDiscoverUrls: vi.fn().mockResolvedValue([]),
21
+ mockRequestQueueOpen: vi.fn().mockResolvedValue(mockRequestQueue),
22
+ mockDatasetOpen: vi.fn().mockResolvedValue(mockDataset),
23
+ };
24
+ });
18
25
  vi.mock('./llms-txt.js', () => ({
19
26
  discoverUrlsFromLlmsTxt: mockDiscoverUrls,
20
27
  }));
21
28
  vi.mock('crawlee', () => ({
22
29
  RequestQueue: {
23
- open: vi.fn().mockResolvedValue(mockRequestQueue),
30
+ open: mockRequestQueueOpen,
24
31
  },
25
32
  Dataset: {
26
- open: vi.fn().mockResolvedValue(mockDataset),
33
+ open: mockDatasetOpen,
27
34
  },
28
35
  EnqueueStrategy: {
29
36
  SameDomain: 'same-domain',
@@ -37,10 +44,14 @@ describe('QueueManager', () => {
37
44
  });
38
45
  describe('initialize', () => {
39
46
  it('should initialize with a URL', async () => {
40
- await queueManager.initialize('https://example.com/docs');
47
+ const url = 'https://example.com/docs';
48
+ const storageId = generateCrawlStorageId(url);
49
+ await queueManager.initialize(url);
50
+ expect(mockRequestQueueOpen).toHaveBeenNthCalledWith(1, storageId);
51
+ expect(mockRequestQueueOpen).toHaveBeenNthCalledWith(2, storageId);
41
52
  expect(mockRequestQueue.drop).toHaveBeenCalled();
42
53
  expect(mockRequestQueue.addRequest).toHaveBeenCalledWith({
43
- url: 'https://example.com/docs',
54
+ url,
44
55
  uniqueKey: '/docs',
45
56
  });
46
57
  });
@@ -52,7 +63,9 @@ describe('QueueManager', () => {
52
63
  });
53
64
  });
54
65
  it('should clear existing dataset', async () => {
55
- await queueManager.initialize('https://example.com');
66
+ const url = 'https://example.com';
67
+ await queueManager.initialize(url);
68
+ expect(mockDatasetOpen).toHaveBeenCalledWith(generateCrawlStorageId(url));
56
69
  expect(mockDataset.drop).toHaveBeenCalled();
57
70
  });
58
71
  });
@@ -456,6 +469,7 @@ describe('QueueManager', () => {
456
469
  const processed = await queueManager.processBatch();
457
470
  expect(processed).toHaveLength(1);
458
471
  expect(processed[0]).toEqual(result);
472
+ expect(mockDatasetOpen).toHaveBeenLastCalledWith(generateCrawlStorageId('https://example.com'));
459
473
  expect(mockDataset.pushData).toHaveBeenCalled();
460
474
  });
461
475
  it('should return empty array when no results', async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"queue-manager.test.js","sourceRoot":"","sources":["../../src/crawler/queue-manager.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue-manager.test.js","sourceRoot":"","sources":["../../src/crawler/queue-manager.test.ts"],"names":[],"mappings":"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"}
package/build/index.js CHANGED
@@ -6,6 +6,7 @@ process.env.CRAWLEE_LOG_LEVEL = 'OFF';
6
6
  process.env.APIFY_LOG_LEVEL = 'OFF';
7
7
  // Import and suppress Crawlee logging
8
8
  import { log, Configuration } from 'crawlee';
9
+ import { randomUUID } from 'node:crypto';
9
10
  import { setTimeout as delay } from 'node:timers/promises';
10
11
  log.setLevel(log.LEVELS.OFF);
11
12
  // Configure Crawlee to be silent
@@ -22,7 +23,7 @@ import { loadConfig, isValidPublicUrl, normalizeUrl } from './config.js';
22
23
  import { DocsCrawler } from './crawler/docs-crawler.js';
23
24
  import { AuthManager } from './crawler/auth.js';
24
25
  import { fetchFavicon } from './util/favicon.js';
25
- import { generateDocId } from './util/docs.js';
26
+ import { generateCrawlStorageId, generateDocId } from './util/docs.js';
26
27
  import { logger } from './util/logger.js';
27
28
  import { closeOutboundProxy } from './util/outbound-request.js';
28
29
  import { StorageStateSchema, safeJsonParse, validateToolArgs, sanitizeErrorMessage, detectPromptInjection, wrapExternalContent, addInjectionWarnings, SessionExpiredError, AddDocumentationArgsSchema, AuthenticateArgsSchema, ClearAuthArgsSchema, SearchDocumentationArgsSchema, ReindexDocumentationArgsSchema, DeleteDocumentationArgsSchema, SetTagsArgsSchema, CreateCollectionArgsSchema, DeleteCollectionArgsSchema, UpdateCollectionArgsSchema, GetCollectionArgsSchema, AddToCollectionArgsSchema, RemoveFromCollectionArgsSchema, SearchCollectionArgsSchema, } from './util/security.js';
@@ -66,22 +67,22 @@ class WebDocsServer {
66
67
  * Throttled to avoid flooding - sends on 5% increments or status changes.
67
68
  */
68
69
  async sendProgressNotification(status) {
69
- const registration = this.progressTokens.get(status.id);
70
+ const registration = this.progressTokens.get(status.operationId);
70
71
  // Only send if we have a progress token from the client
71
72
  if (!registration) {
72
- logger.debug(`[Progress] No token for ${status.id}, skipping notification`);
73
+ logger.debug(`[Progress] No token for ${status.operationId}, skipping notification`);
73
74
  return;
74
75
  }
75
76
  const { token: progressToken } = registration;
76
77
  const progressPercent = Math.round(status.progress * 100);
77
- const lastProgress = this.lastNotifiedProgress.get(status.id) ?? -1;
78
+ const lastProgress = this.lastNotifiedProgress.get(status.operationId) ?? -1;
78
79
  // Only notify on significant progress (5% increments) or status changes
79
80
  const isStatusChange = status.status === 'complete' || status.status === 'failed' || status.status === 'cancelled';
80
81
  const isSignificantProgress = progressPercent - lastProgress >= 5;
81
82
  if (!isStatusChange && !isSignificantProgress) {
82
83
  return;
83
84
  }
84
- this.lastNotifiedProgress.set(status.id, progressPercent);
85
+ this.lastNotifiedProgress.set(status.operationId, progressPercent);
85
86
  // Build human-readable message
86
87
  let message = status.description;
87
88
  if (status.pagesProcessed !== undefined && status.pagesFound !== undefined) {
@@ -105,9 +106,9 @@ class WebDocsServer {
105
106
  logger.debug(`[Progress] Failed to send notification:`, error);
106
107
  }
107
108
  // Clean up tracking for completed operations
108
- if (isStatusChange && this.progressTokens.get(status.id) === registration) {
109
- this.lastNotifiedProgress.delete(status.id);
110
- this.progressTokens.delete(status.id);
109
+ if (isStatusChange && this.progressTokens.get(status.operationId) === registration) {
110
+ this.lastNotifiedProgress.delete(status.operationId);
111
+ this.progressTokens.delete(status.operationId);
111
112
  }
112
113
  }
113
114
  async initialize() {
@@ -155,7 +156,7 @@ Examples where version doesn't matter: "Company engineering handbook", "AWS cons
155
156
  },
156
157
  id: {
157
158
  type: 'string',
158
- description: 'Optional custom ID for the documentation (used for storage and identification). If not provided, an ID is auto-generated from the URL.',
159
+ description: 'Optional document ID returned for display and compatibility. If not provided, an ID is auto-generated from the URL.',
159
160
  },
160
161
  pathPrefix: {
161
162
  type: 'string',
@@ -630,15 +631,14 @@ Examples where version doesn't matter: "Company engineering handbook", "AWS cons
630
631
  if (hasExistingSession && !authOptions?.requiresAuth) {
631
632
  logger.info(`[WebDocsServer] Found existing auth session for ${normalizedUrl}, marking document as requiring auth`);
632
633
  }
634
+ const operationId = randomUUID();
633
635
  const operation = await this.indexingQueue.runLatest(normalizedUrl, async (signal) => {
634
- this.progressTokens.delete(docId);
635
- this.lastNotifiedProgress.delete(docId);
636
636
  if (progressToken !== undefined) {
637
- this.progressTokens.set(docId, { token: progressToken });
638
- logger.info(`[Progress] Registered token for ${docId}: ${progressToken}`);
637
+ this.progressTokens.set(operationId, { token: progressToken });
638
+ logger.info(`[Progress] Registered token for ${operationId}: ${progressToken}`);
639
639
  }
640
- this.statusTracker.startIndexing(docId, normalizedUrl, docTitle);
641
- await this.indexAndAdd(docId, normalizedUrl, docTitle, false, signal, pathPrefix, authInfo, tags, version);
640
+ this.statusTracker.startIndexing(operationId, docId, normalizedUrl, docTitle);
641
+ await this.indexAndAdd(operationId, normalizedUrl, docTitle, false, signal, pathPrefix, authInfo, tags, version);
642
642
  });
643
643
  void operation.completion.catch((error) => {
644
644
  const err = error;
@@ -654,6 +654,7 @@ Examples where version doesn't matter: "Company engineering handbook", "AWS cons
654
654
  status: 'started',
655
655
  message: `Started indexing ${normalizedUrl}`,
656
656
  docId,
657
+ operationId,
657
658
  instruction: 'IMPORTANT: You MUST call get_indexing_status repeatedly (every few seconds) until status is "complete" or "failed". Do not ask the user - just keep polling automatically.',
658
659
  }, null, 2),
659
660
  },
@@ -782,15 +783,14 @@ Examples where version doesn't matter: "Company engineering handbook", "AWS cons
782
783
  const existingTags = doc.tags;
783
784
  const existingVersion = doc.version;
784
785
  const docId = generateDocId(normalizedUrl, doc.title);
786
+ const operationId = randomUUID();
785
787
  const operation = await this.indexingQueue.runLatest(normalizedUrl, async (signal) => {
786
- this.progressTokens.delete(docId);
787
- this.lastNotifiedProgress.delete(docId);
788
788
  if (progressToken !== undefined) {
789
- this.progressTokens.set(docId, { token: progressToken });
790
- logger.info(`[Progress] Registered token for ${docId}: ${progressToken}`);
789
+ this.progressTokens.set(operationId, { token: progressToken });
790
+ logger.info(`[Progress] Registered token for ${operationId}: ${progressToken}`);
791
791
  }
792
- this.statusTracker.startIndexing(docId, normalizedUrl, doc.title);
793
- await this.indexAndAdd(docId, normalizedUrl, doc.title, true, signal, doc.pathPrefix, authInfo, existingTags, existingVersion);
792
+ this.statusTracker.startIndexing(operationId, docId, normalizedUrl, doc.title);
793
+ await this.indexAndAdd(operationId, normalizedUrl, doc.title, true, signal, doc.pathPrefix, authInfo, existingTags, existingVersion);
794
794
  });
795
795
  void operation.completion.catch((error) => {
796
796
  const err = error;
@@ -808,6 +808,7 @@ Examples where version doesn't matter: "Company engineering handbook", "AWS cons
808
808
  ? `Started re-indexing ${normalizedUrl}. Previous operation was cancelled.`
809
809
  : `Started re-indexing ${normalizedUrl}`,
810
810
  docId,
811
+ operationId,
811
812
  instruction: 'IMPORTANT: You MUST call get_indexing_status repeatedly (every few seconds) until status is "complete" or "failed". Do not ask the user - just keep polling automatically.',
812
813
  }, null, 2),
813
814
  },
@@ -985,17 +986,19 @@ Examples where version doesn't matter: "Company engineering handbook", "AWS cons
985
986
  await this.store.deleteDocument(normalizedUrl);
986
987
  deletedItems.push('document metadata (SQLite)', 'vector chunks (LanceDB)');
987
988
  logger.info(`[WebDocsServer] Deleted document from store: ${normalizedUrl}`);
988
- // 2. Delete Crawlee dataset
989
- const docId = generateDocId(normalizedUrl, doc.title);
990
- try {
991
- const { Dataset } = await import('crawlee');
992
- const dataset = await Dataset.open(docId);
989
+ // 2. Delete both current and historical Crawlee datasets
990
+ const datasetIds = [generateCrawlStorageId(normalizedUrl), generateDocId(normalizedUrl, domain)];
991
+ const { Dataset } = await import('crawlee');
992
+ const cleanupResults = await Promise.allSettled(datasetIds.map(async (datasetId) => {
993
+ const dataset = await Dataset.open(datasetId);
993
994
  await dataset.drop();
995
+ logger.info(`[WebDocsServer] Deleted Crawlee dataset: ${datasetId}`);
996
+ }));
997
+ if (cleanupResults.some((result) => result.status === 'fulfilled')) {
994
998
  deletedItems.push('crawl cache (Crawlee dataset)');
995
- logger.info(`[WebDocsServer] Deleted Crawlee dataset: ${docId}`);
996
999
  }
997
- catch {
998
- logger.debug(`[WebDocsServer] No Crawlee dataset to delete for ${docId}`);
1000
+ if (cleanupResults.some((result) => result.status === 'rejected')) {
1001
+ logger.debug(`[WebDocsServer] Some Crawlee datasets could not be deleted`);
999
1002
  }
1000
1003
  // 3. Optionally clear auth session
1001
1004
  if (clearAuth) {
@@ -1404,13 +1407,13 @@ Examples where version doesn't matter: "Company engineering handbook", "AWS cons
1404
1407
  ],
1405
1408
  };
1406
1409
  }
1407
- async indexAndAdd(id, url, title, reIndex, signal, pathPrefix, authInfo, tags, version) {
1410
+ async indexAndAdd(operationId, url, title, reIndex, signal, pathPrefix, authInfo, tags, version) {
1408
1411
  // Helper to check if operation was cancelled
1409
1412
  const checkCancelled = () => {
1410
1413
  if (signal.aborted) {
1411
1414
  logger.info(`[WebDocsServer] Operation cancelled for ${url}`);
1412
- if (this.statusTracker.getStatus(id)?.status !== 'cancelled') {
1413
- this.statusTracker.cancelIndexing(id);
1415
+ if (this.statusTracker.getStatus(operationId)?.status !== 'cancelled') {
1416
+ this.statusTracker.cancelIndexing(operationId);
1414
1417
  }
1415
1418
  const error = new Error('Operation cancelled');
1416
1419
  error.name = 'AbortError';
@@ -1428,7 +1431,7 @@ Examples where version doesn't matter: "Company engineering handbook", "AWS cons
1428
1431
  logger.debug(`[WebDocsServer] Document exists: ${url}`);
1429
1432
  if (!reIndex) {
1430
1433
  logger.info(`[WebDocsServer] Document ${url} already indexed and reIndex=false`);
1431
- this.statusTracker.completeIndexing(id);
1434
+ this.statusTracker.completeIndexing(operationId);
1432
1435
  return;
1433
1436
  }
1434
1437
  logger.info(`[WebDocsServer] Will reindex existing document: ${url}`);
@@ -1439,7 +1442,7 @@ Examples where version doesn't matter: "Company engineering handbook", "AWS cons
1439
1442
  checkCancelled();
1440
1443
  // Start crawling
1441
1444
  logger.info(`[WebDocsServer] Starting crawl with depth=${this.config.maxDepth}, maxRequests=${this.config.maxRequestsPerCrawl}${pathPrefix ? `, pathPrefix=${pathPrefix}` : ''}`);
1442
- this.statusTracker.updateProgress(id, 0, 'Finding subpages');
1445
+ this.statusTracker.updateProgress(operationId, 0, 'Finding subpages');
1443
1446
  const crawler = new DocsCrawler(this.config.maxDepth, this.config.maxRequestsPerCrawl, this.config.githubToken);
1444
1447
  // Set path prefix restriction if provided
1445
1448
  if (pathPrefix) {
@@ -1476,8 +1479,8 @@ Examples where version doesn't matter: "Company engineering handbook", "AWS cons
1476
1479
  logger.debug(`[WebDocsServer] Found page ${processedPages + 1}: ${page.path}`);
1477
1480
  processedPages++;
1478
1481
  estimatedProgress += 1 / 2 ** processedPages;
1479
- this.statusTracker.updateProgress(id, 0.15 * estimatedProgress + Math.min(0.35, (0.35 * processedPages) / 500), `Finding subpages (${page.path})`);
1480
- this.statusTracker.updateStats(id, { pagesFound: processedPages });
1482
+ this.statusTracker.updateProgress(operationId, 0.15 * estimatedProgress + Math.min(0.35, (0.35 * processedPages) / 500), `Finding subpages (${page.path})`);
1483
+ this.statusTracker.updateStats(operationId, { pagesFound: processedPages });
1481
1484
  pages.push(page);
1482
1485
  // Small delay to allow other operations
1483
1486
  await delay(50, undefined, { signal });
@@ -1500,7 +1503,7 @@ Examples where version doesn't matter: "Company engineering handbook", "AWS cons
1500
1503
  }
1501
1504
  logger.info(`[WebDocsServer] Found ${pages.length} pages to process`);
1502
1505
  logger.info('[WebDocsServer] Starting content processing and embedding generation');
1503
- this.statusTracker.updateStats(id, { pagesFound: pages.length });
1506
+ this.statusTracker.updateStats(operationId, { pagesFound: pages.length });
1504
1507
  checkCancelled();
1505
1508
  // Process pages and create embeddings
1506
1509
  const chunks = [];
@@ -1509,13 +1512,13 @@ Examples where version doesn't matter: "Company engineering handbook", "AWS cons
1509
1512
  checkCancelled();
1510
1513
  const page = pages[i];
1511
1514
  logger.debug(`[WebDocsServer] Processing page ${i + 1}/${pages.length}: ${page.path}`);
1512
- this.statusTracker.updateProgress(id, 0.5 + 0.3 * (i / pages.length), `Creating embeddings (${i + 1}/${pages.length})`);
1515
+ this.statusTracker.updateProgress(operationId, 0.5 + 0.3 * (i / pages.length), `Creating embeddings (${i + 1}/${pages.length})`);
1513
1516
  try {
1514
1517
  const processed = await this.processor.process(page);
1515
1518
  logger.debug(`[WebDocsServer] Created ${processed.chunks.length} chunks for ${page.path}`);
1516
1519
  chunks.push(...processed.chunks);
1517
1520
  embeddings.push(...processed.chunks.map((chunk) => chunk.vector));
1518
- this.statusTracker.updateStats(id, {
1521
+ this.statusTracker.updateStats(operationId, {
1519
1522
  pagesProcessed: i + 1,
1520
1523
  chunksCreated: chunks.length,
1521
1524
  });
@@ -1553,7 +1556,7 @@ Examples where version doesn't matter: "Company engineering handbook", "AWS cons
1553
1556
  logger.warn(`[WebDocsServer] No content was extracted from ${url}`);
1554
1557
  logger.warn(`[WebDocsServer] Pages found: ${pages.length}`);
1555
1558
  logger.warn(`[WebDocsServer] Chunks created: ${chunks.length}`);
1556
- this.statusTracker.failIndexing(id, 'No content was extracted from the pages');
1559
+ this.statusTracker.failIndexing(operationId, 'No content was extracted from the pages');
1557
1560
  return;
1558
1561
  }
1559
1562
  checkCancelled();
@@ -1561,7 +1564,7 @@ Examples where version doesn't matter: "Company engineering handbook", "AWS cons
1561
1564
  const favicon = await fetchFavicon(new URL(url));
1562
1565
  checkCancelled();
1563
1566
  // Store the data with retry logic
1564
- this.statusTracker.updateProgress(id, 0.9, `Storing ${embeddings.length} chunks`);
1567
+ this.statusTracker.updateProgress(operationId, 0.9, `Storing ${embeddings.length} chunks`);
1565
1568
  await this.storeDocumentWithRetry({
1566
1569
  metadata: {
1567
1570
  url,
@@ -1588,8 +1591,8 @@ Examples where version doesn't matter: "Company engineering handbook", "AWS cons
1588
1591
  logger.info(`[WebDocsServer] Successfully indexed ${url}`);
1589
1592
  logger.info(`[WebDocsServer] Pages processed: ${pages.length}`);
1590
1593
  logger.info(`[WebDocsServer] Chunks stored: ${chunks.length}`);
1591
- this.statusTracker.updateStats(id, { chunksCreated: chunks.length });
1592
- this.statusTracker.completeIndexing(id);
1594
+ this.statusTracker.updateStats(operationId, { chunksCreated: chunks.length });
1595
+ this.statusTracker.completeIndexing(operationId);
1593
1596
  // Optimize storage after indexing to compact data and clean up old versions
1594
1597
  // This runs in the background and doesn't block the response
1595
1598
  this.store.optimize().catch((err) => {
@@ -1599,8 +1602,8 @@ Examples where version doesn't matter: "Company engineering handbook", "AWS cons
1599
1602
  catch (error) {
1600
1603
  // Don't log AbortError as a real error
1601
1604
  if (signal.aborted || (error instanceof Error && error.name === 'AbortError')) {
1602
- if (signal.aborted && this.statusTracker.getStatus(id)?.status !== 'cancelled') {
1603
- this.statusTracker.cancelIndexing(id);
1605
+ if (signal.aborted && this.statusTracker.getStatus(operationId)?.status !== 'cancelled') {
1606
+ this.statusTracker.cancelIndexing(operationId);
1604
1607
  }
1605
1608
  logger.info(`[WebDocsServer] Indexing cancelled for ${url}`);
1606
1609
  return;
@@ -1615,12 +1618,12 @@ Examples where version doesn't matter: "Company engineering handbook", "AWS cons
1615
1618
  logger.info(`[WebDocsServer] Cleared expired session for ${url}`);
1616
1619
  // Report user-friendly error
1617
1620
  const userMessage = `Authentication session has expired. The crawler was redirected to a login page. Please use the 'authenticate' tool to log in again before re-indexing.`;
1618
- this.statusTracker.failIndexing(id, userMessage);
1621
+ this.statusTracker.failIndexing(operationId, userMessage);
1619
1622
  return;
1620
1623
  }
1621
1624
  logger.error('[WebDocsServer] Error during indexing:', error);
1622
1625
  logger.error('[WebDocsServer] Error details:', error instanceof Error ? error.stack : error);
1623
- this.statusTracker.failIndexing(id, error instanceof Error ? error.message : 'Unknown error');
1626
+ this.statusTracker.failIndexing(operationId, error instanceof Error ? error.message : 'Unknown error');
1624
1627
  }
1625
1628
  }
1626
1629
  /**