zotero-bridge 1.1.2 → 1.1.4

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":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zotero-bridge",
3
- "version": "1.1.2",
3
+ "version": "1.1.4",
4
4
  "mcpName": "io.github.Combjellyshen/zotero-bridge",
5
5
  "description": "ZoteroBridge - MCP Server for Zotero SQLite Database Integration",
6
6
  "author": "Combjellyshen",
package/src/database.ts CHANGED
@@ -352,6 +352,57 @@ export class ZoteroDatabase {
352
352
  };
353
353
  }
354
354
 
355
+ /**
356
+ * Begin a transaction for batch operations
357
+ * IMPORTANT: Always use try-finally to ensure commit/rollback
358
+ */
359
+ beginTransaction(): void {
360
+ if (!this.db) {
361
+ throw new Error('Database not connected');
362
+ }
363
+ this.db.run('BEGIN TRANSACTION');
364
+ }
365
+
366
+ /**
367
+ * Commit the current transaction
368
+ */
369
+ commitTransaction(): void {
370
+ if (!this.db) {
371
+ throw new Error('Database not connected');
372
+ }
373
+ this.db.run('COMMIT');
374
+ }
375
+
376
+ /**
377
+ * Rollback the current transaction
378
+ */
379
+ rollbackTransaction(): void {
380
+ if (!this.db) {
381
+ throw new Error('Database not connected');
382
+ }
383
+ try {
384
+ this.db.run('ROLLBACK');
385
+ } catch (e) {
386
+ // Ignore if no transaction is active
387
+ }
388
+ }
389
+
390
+ /**
391
+ * Execute a function within a transaction
392
+ * Automatically commits on success, rolls back on error
393
+ */
394
+ withTransaction<T>(fn: () => T): T {
395
+ this.beginTransaction();
396
+ try {
397
+ const result = fn();
398
+ this.commitTransaction();
399
+ return result;
400
+ } catch (error) {
401
+ this.rollbackTransaction();
402
+ throw error;
403
+ }
404
+ }
405
+
355
406
  // ============================================
356
407
  // Collection (Directory) Operations
357
408
  // ============================================
@@ -409,8 +460,8 @@ export class ZoteroDatabase {
409
460
  const key = this.generateKey();
410
461
 
411
462
  const result = this.execute(`
412
- INSERT INTO collections (collectionName, parentCollectionID, libraryID, key, version)
413
- VALUES (?, ?, ?, ?, 0)
463
+ INSERT INTO collections (collectionName, parentCollectionID, libraryID, key, version, clientDateModified)
464
+ VALUES (?, ?, ?, ?, 0, CURRENT_TIMESTAMP)
414
465
  `, [name, parentCollectionID, libraryID, key]);
415
466
 
416
467
  if (!this.readonly) {
@@ -426,7 +477,7 @@ export class ZoteroDatabase {
426
477
  renameCollection(collectionID: number, newName: string): boolean {
427
478
  const result = this.execute(`
428
479
  UPDATE collections
429
- SET collectionName = ?, version = version + 1
480
+ SET collectionName = ?, version = version + 1, clientDateModified = CURRENT_TIMESTAMP
430
481
  WHERE collectionID = ?
431
482
  `, [newName, collectionID]);
432
483
 
@@ -443,7 +494,7 @@ export class ZoteroDatabase {
443
494
  moveCollection(collectionID: number, newParentID: number | null): boolean {
444
495
  const result = this.execute(`
445
496
  UPDATE collections
446
- SET parentCollectionID = ?, version = version + 1
497
+ SET parentCollectionID = ?, version = version + 1, clientDateModified = CURRENT_TIMESTAMP
447
498
  WHERE collectionID = ?
448
499
  `, [newParentID, collectionID]);
449
500
 
@@ -518,6 +569,7 @@ export class ZoteroDatabase {
518
569
  * Add tag to item
519
570
  *
520
571
  * Following Zotero's pattern: modifying item tags should update item metadata
572
+ * Note: itemTags.type is required (NOT NULL) - 0=user tag, 1=automatic
521
573
  */
522
574
  addTagToItem(itemID: number, tagName: string, type: number = 0): boolean {
523
575
  // Get or create tag
@@ -532,7 +584,8 @@ export class ZoteroDatabase {
532
584
  return false;
533
585
  }
534
586
 
535
- this.execute('INSERT INTO itemTags (itemID, tagID) VALUES (?, ?)', [itemID, tagID]);
587
+ // itemTags.type is NOT NULL, must provide value
588
+ this.execute('INSERT INTO itemTags (itemID, tagID, type) VALUES (?, ?, ?)', [itemID, tagID, type]);
536
589
 
537
590
  // CRITICAL: Update item metadata for Zotero compatibility
538
591
  this.updateItemMetadata(itemID);
@@ -657,8 +710,14 @@ export class ZoteroDatabase {
657
710
 
658
711
  /**
659
712
  * Search items by title
713
+ * Excludes deleted items and non-searchable types (attachments, notes)
660
714
  */
661
715
  searchItems(query: string, limit: number = 50, libraryID: number = 1): any[] {
716
+ // Get note and attachment type IDs dynamically
717
+ const noteType = this.queryOne("SELECT itemTypeID FROM itemTypes WHERE typeName = 'note'");
718
+ const attachType = this.queryOne("SELECT itemTypeID FROM itemTypes WHERE typeName = 'attachment'");
719
+ const excludeTypes = [noteType?.itemTypeID || 28, attachType?.itemTypeID || 3];
720
+
662
721
  return this.queryAll(`
663
722
  SELECT DISTINCT i.itemID, i.key, i.itemTypeID, i.dateAdded, i.dateModified,
664
723
  iv.value as title
@@ -669,9 +728,11 @@ export class ZoteroDatabase {
669
728
  WHERE f.fieldName = 'title'
670
729
  AND iv.value LIKE ?
671
730
  AND i.libraryID = ?
731
+ AND i.itemTypeID NOT IN (?, ?)
732
+ AND i.itemID NOT IN (SELECT itemID FROM deletedItems)
672
733
  ORDER BY i.dateModified DESC
673
734
  LIMIT ?
674
- `, [`%${query}%`, libraryID, limit]);
735
+ `, [`%${query}%`, libraryID, excludeTypes[0], excludeTypes[1], limit]);
675
736
  }
676
737
 
677
738
  /**
@@ -914,12 +975,14 @@ export class ZoteroDatabase {
914
975
 
915
976
  /**
916
977
  * Find item by DOI
978
+ * Returns the most recently modified item if duplicates exist
917
979
  */
918
980
  findItemByDOI(doi: string): any | null {
919
981
  // Normalize DOI (remove common prefixes)
920
982
  const normalizedDOI = doi.replace(/^https?:\/\/doi\.org\//i, '').replace(/^doi:/i, '').trim();
921
983
 
922
- const result = this.queryOne(`
984
+ // First check for duplicates
985
+ const allMatches = this.queryAll(`
923
986
  SELECT DISTINCT i.itemID, i.key, i.itemTypeID, i.dateAdded, i.dateModified,
924
987
  iv.value as doi
925
988
  FROM items i
@@ -927,22 +990,37 @@ export class ZoteroDatabase {
927
990
  JOIN itemDataValues iv ON id.valueID = iv.valueID
928
991
  JOIN fields f ON id.fieldID = f.fieldID
929
992
  WHERE f.fieldName = 'DOI' AND LOWER(iv.value) = LOWER(?)
993
+ ORDER BY i.dateModified DESC
930
994
  `, [normalizedDOI]);
931
995
 
932
- if (result) {
933
- return this.getItemDetails(result.itemID);
996
+ if (allMatches.length === 0) {
997
+ return null;
998
+ }
999
+
1000
+ const result = this.getItemDetails(allMatches[0].itemID);
1001
+
1002
+ // Warn about duplicates
1003
+ if (allMatches.length > 1) {
1004
+ result._duplicateWarning = {
1005
+ message: `Found ${allMatches.length} items with same DOI`,
1006
+ duplicateItemIDs: allMatches.map((m: any) => m.itemID),
1007
+ usingItemID: allMatches[0].itemID
1008
+ };
934
1009
  }
935
- return null;
1010
+
1011
+ return result;
936
1012
  }
937
1013
 
938
1014
  /**
939
1015
  * Find item by ISBN
1016
+ * Returns the most recently modified item if duplicates exist
940
1017
  */
941
1018
  findItemByISBN(isbn: string): any | null {
942
1019
  // Normalize ISBN (remove hyphens and spaces)
943
1020
  const normalizedISBN = isbn.replace(/[-\s]/g, '').trim();
944
1021
 
945
- const result = this.queryOne(`
1022
+ // First check for duplicates
1023
+ const allMatches = this.queryAll(`
946
1024
  SELECT DISTINCT i.itemID, i.key, i.itemTypeID, i.dateAdded, i.dateModified,
947
1025
  iv.value as isbn
948
1026
  FROM items i
@@ -950,16 +1028,30 @@ export class ZoteroDatabase {
950
1028
  JOIN itemDataValues iv ON id.valueID = iv.valueID
951
1029
  JOIN fields f ON id.fieldID = f.fieldID
952
1030
  WHERE f.fieldName = 'ISBN' AND REPLACE(REPLACE(iv.value, '-', ''), ' ', '') = ?
1031
+ ORDER BY i.dateModified DESC
953
1032
  `, [normalizedISBN]);
954
1033
 
955
- if (result) {
956
- return this.getItemDetails(result.itemID);
1034
+ if (allMatches.length === 0) {
1035
+ return null;
1036
+ }
1037
+
1038
+ const result = this.getItemDetails(allMatches[0].itemID);
1039
+
1040
+ // Warn about duplicates
1041
+ if (allMatches.length > 1) {
1042
+ result._duplicateWarning = {
1043
+ message: `Found ${allMatches.length} items with same ISBN`,
1044
+ duplicateItemIDs: allMatches.map((m: any) => m.itemID),
1045
+ usingItemID: allMatches[0].itemID
1046
+ };
957
1047
  }
958
- return null;
1048
+
1049
+ return result;
959
1050
  }
960
1051
 
961
1052
  /**
962
1053
  * Find item by any identifier (DOI, ISBN, PMID, arXiv, etc.)
1054
+ * Returns the most recently modified item if duplicates exist
963
1055
  */
964
1056
  findItemByIdentifier(identifier: string, type?: string): any | null {
965
1057
  const fieldMap: Record<string, string> = {
@@ -979,17 +1071,27 @@ export class ZoteroDatabase {
979
1071
  return this.findItemByISBN(identifier);
980
1072
  }
981
1073
 
982
- const result = this.queryOne(`
1074
+ // For other identifier types, also check for duplicates
1075
+ const allMatches = this.queryAll(`
983
1076
  SELECT DISTINCT i.itemID, i.key
984
1077
  FROM items i
985
1078
  JOIN itemData id ON i.itemID = id.itemID
986
1079
  JOIN itemDataValues iv ON id.valueID = iv.valueID
987
1080
  JOIN fields f ON id.fieldID = f.fieldID
988
1081
  WHERE f.fieldName = ? AND iv.value LIKE ?
1082
+ ORDER BY i.dateModified DESC
989
1083
  `, [fieldName, `%${identifier}%`]);
990
1084
 
991
- if (result) {
992
- return this.getItemDetails(result.itemID);
1085
+ if (allMatches.length > 0) {
1086
+ const result = this.getItemDetails(allMatches[0].itemID);
1087
+ if (allMatches.length > 1) {
1088
+ result._duplicateWarning = {
1089
+ message: `Found ${allMatches.length} items with same ${fieldName}`,
1090
+ duplicateItemIDs: allMatches.map((m: any) => m.itemID),
1091
+ usingItemID: allMatches[0].itemID
1092
+ };
1093
+ }
1094
+ return result;
993
1095
  }
994
1096
  }
995
1097
 
@@ -1416,8 +1518,18 @@ export class ZoteroDatabase {
1416
1518
 
1417
1519
  /**
1418
1520
  * Find duplicate items based on title, DOI, or ISBN
1521
+ *
1522
+ * Note: itemTypeID values vary by Zotero version:
1523
+ * - attachment = 3
1524
+ * - note = 28 (in newer versions) or 1 (in older versions)
1525
+ * We exclude both attachments and notes from duplicate detection
1419
1526
  */
1420
1527
  findDuplicates(field: 'title' | 'doi' | 'isbn' = 'title', libraryID: number = 1): any[] {
1528
+ // Get note and attachment type IDs dynamically
1529
+ const noteType = this.queryOne("SELECT itemTypeID FROM itemTypes WHERE typeName = 'note'");
1530
+ const attachType = this.queryOne("SELECT itemTypeID FROM itemTypes WHERE typeName = 'attachment'");
1531
+ const excludeTypes = [noteType?.itemTypeID || 28, attachType?.itemTypeID || 3].join(',');
1532
+
1421
1533
  if (field === 'title') {
1422
1534
  // Find items with the same title
1423
1535
  return this.queryAll(`
@@ -1431,7 +1543,8 @@ export class ZoteroDatabase {
1431
1543
  JOIN fields f ON id.fieldID = f.fieldID
1432
1544
  WHERE f.fieldName = 'title'
1433
1545
  AND i.libraryID = ?
1434
- AND i.itemTypeID NOT IN (1, 14) -- Exclude notes and attachments
1546
+ AND i.itemTypeID NOT IN (${excludeTypes})
1547
+ AND i.itemID NOT IN (SELECT itemID FROM deletedItems)
1435
1548
  GROUP BY iv.value
1436
1549
  HAVING COUNT(*) > 1
1437
1550
  ORDER BY count DESC
@@ -1449,6 +1562,7 @@ export class ZoteroDatabase {
1449
1562
  WHERE f.fieldName = 'DOI'
1450
1563
  AND i.libraryID = ?
1451
1564
  AND iv.value != ''
1565
+ AND i.itemID NOT IN (SELECT itemID FROM deletedItems)
1452
1566
  GROUP BY LOWER(iv.value)
1453
1567
  HAVING COUNT(*) > 1
1454
1568
  ORDER BY count DESC
@@ -1466,6 +1580,7 @@ export class ZoteroDatabase {
1466
1580
  WHERE f.fieldName = 'ISBN'
1467
1581
  AND i.libraryID = ?
1468
1582
  AND iv.value != ''
1583
+ AND i.itemID NOT IN (SELECT itemID FROM deletedItems)
1469
1584
  GROUP BY REPLACE(REPLACE(iv.value, '-', ''), ' ', '')
1470
1585
  HAVING COUNT(*) > 1
1471
1586
  ORDER BY count DESC
@@ -1686,60 +1801,116 @@ export class ZoteroDatabase {
1686
1801
 
1687
1802
  /**
1688
1803
  * Merge items by transferring notes and tags from source items to target
1804
+ * Uses transaction to ensure data consistency
1689
1805
  */
1690
1806
  mergeItems(targetItemID: number, sourceItemIDs: number[]): {
1691
1807
  success: boolean;
1692
1808
  transferred: {
1693
1809
  notes: number;
1694
1810
  tags: number;
1811
+ attachments: number;
1695
1812
  };
1696
1813
  errors: string[];
1697
1814
  } {
1698
1815
  const errors: string[] = [];
1699
1816
  let notesTransferred = 0;
1700
1817
  let tagsTransferred = 0;
1818
+ let attachmentsTransferred = 0;
1701
1819
 
1702
- // Verify target exists
1820
+ // Verify target exists and is not deleted
1703
1821
  const target = this.getItemDetails(targetItemID);
1704
1822
  if (!target) {
1705
1823
  return {
1706
1824
  success: false,
1707
- transferred: { notes: 0, tags: 0 },
1825
+ transferred: { notes: 0, tags: 0, attachments: 0 },
1708
1826
  errors: ['Target item not found']
1709
1827
  };
1710
1828
  }
1711
1829
 
1712
- for (const sourceID of sourceItemIDs) {
1713
- if (sourceID === targetItemID) continue;
1830
+ // Check if target is in deletedItems
1831
+ const targetDeleted = this.queryOne('SELECT 1 FROM deletedItems WHERE itemID = ?', [targetItemID]);
1832
+ if (targetDeleted) {
1833
+ return {
1834
+ success: false,
1835
+ transferred: { notes: 0, tags: 0, attachments: 0 },
1836
+ errors: ['Target item is in trash']
1837
+ };
1838
+ }
1839
+
1840
+ // Use transaction for atomic operation
1841
+ this.beginTransaction();
1842
+
1843
+ try {
1844
+ for (const sourceID of sourceItemIDs) {
1845
+ if (sourceID === targetItemID) continue;
1846
+
1847
+ // Verify source exists
1848
+ const source = this.queryOne('SELECT itemID FROM items WHERE itemID = ?', [sourceID]);
1849
+ if (!source) {
1850
+ errors.push(`Source item ${sourceID} not found`);
1851
+ continue;
1852
+ }
1714
1853
 
1715
- // Transfer notes
1716
- try {
1717
- const notes = this.getItemNotes(sourceID);
1718
- for (const note of notes) {
1719
- this.addItemNote(targetItemID, note.note, `[Merged] ${note.title || ''}`);
1720
- notesTransferred++;
1854
+ // Transfer notes
1855
+ try {
1856
+ const notes = this.getItemNotes(sourceID);
1857
+ for (const note of notes) {
1858
+ this.addItemNote(targetItemID, note.note, `[Merged] ${note.title || ''}`);
1859
+ notesTransferred++;
1860
+ }
1861
+ } catch (error) {
1862
+ errors.push(`Failed to transfer notes from ${sourceID}: ${error}`);
1721
1863
  }
1722
- } catch (error) {
1723
- errors.push(`Failed to transfer notes from ${sourceID}: ${error}`);
1724
- }
1725
1864
 
1726
- // Transfer tags
1727
- try {
1728
- const tags = this.getItemTags(sourceID);
1729
- for (const tag of tags) {
1730
- this.addTagToItem(targetItemID, tag.name, tag.type);
1731
- tagsTransferred++;
1865
+ // Transfer tags
1866
+ try {
1867
+ const tags = this.getItemTags(sourceID);
1868
+ for (const tag of tags) {
1869
+ this.addTagToItem(targetItemID, tag.name, tag.type);
1870
+ tagsTransferred++;
1871
+ }
1872
+ } catch (error) {
1873
+ errors.push(`Failed to transfer tags from ${sourceID}: ${error}`);
1732
1874
  }
1733
- } catch (error) {
1734
- errors.push(`Failed to transfer tags from ${sourceID}: ${error}`);
1875
+
1876
+ // Transfer attachments (update parentItemID)
1877
+ try {
1878
+ const attachments = this.queryAll(`
1879
+ SELECT itemID FROM itemAttachments WHERE parentItemID = ?
1880
+ `, [sourceID]);
1881
+
1882
+ for (const att of attachments) {
1883
+ this.execute(`
1884
+ UPDATE itemAttachments SET parentItemID = ? WHERE itemID = ?
1885
+ `, [targetItemID, att.itemID]);
1886
+ attachmentsTransferred++;
1887
+ }
1888
+ } catch (error) {
1889
+ errors.push(`Failed to transfer attachments from ${sourceID}: ${error}`);
1890
+ }
1891
+ }
1892
+
1893
+ this.commitTransaction();
1894
+
1895
+ if (!this.readonly) {
1896
+ this.save();
1735
1897
  }
1898
+ } catch (error) {
1899
+ this.rollbackTransaction();
1900
+ errors.push(`Transaction failed: ${error}`);
1901
+ return {
1902
+ success: false,
1903
+ transferred: { notes: 0, tags: 0, attachments: 0 },
1904
+ errors
1905
+ };
1736
1906
  }
1737
1907
 
1738
1908
  return {
1739
1909
  success: errors.length === 0,
1740
1910
  transferred: {
1741
1911
  notes: notesTransferred,
1742
- tags: tagsTransferred
1912
+ tags: tagsTransferred,
1913
+ attachments: attachmentsTransferred
1743
1914
  },
1744
1915
  errors
1745
1916
  };