@seaverse/data-service-sdk 0.9.0 → 0.10.1

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/dist/index.js CHANGED
@@ -30,9 +30,9 @@ const ENDPOINTS = {
30
30
  * ---------------------------
31
31
  * Your Firestore data is organized in three permission levels:
32
32
  *
33
- * 1. publicRead/ - System configs, announcements (Read: Everyone, Write: Admin only)
34
- * 2. publicData/ - User posts, shared content (Read: Everyone, Write: Everyone)
35
- * 3. userData/{userId}/ - Private user data (Read/Write: Owner only)
33
+ * 1. publicRead/_data/ - System configs, announcements (Read: Everyone, Write: Admin only)
34
+ * 2. publicData/_data/ - User posts, shared content (Read: Everyone, Write: Everyone)
35
+ * 3. userData/{userId}/_data/ - Private user data (Read/Write: Owner only)
36
36
  *
37
37
  * QUICK START FOR LLM:
38
38
  * -------------------
@@ -84,7 +84,7 @@ const ENDPOINTS = {
84
84
  * const snapshot = await getDocs(collection(db, `appData/${appId}/publicData/posts`));
85
85
  *
86
86
  * // Write to userData (only owner can write)
87
- * await addDoc(collection(db, `appData/${appId}/userData/${userId}/notes`), {
87
+ * await addDoc(collection(db, `appData/${appId}/userData/${userId}/_data/notes`), {
88
88
  * _appId: appId, // REQUIRED
89
89
  * _createdAt: serverTimestamp(), // REQUIRED
90
90
  * _createdBy: userId, // REQUIRED
@@ -337,7 +337,7 @@ function getPublicDataPath(appId, collectionName) {
337
337
  * ```typescript
338
338
  * // Write private user notes
339
339
  * const path = getUserDataPath('my-app', 'user-123', 'notes');
340
- * // Returns: 'appData/my-app/userData/user-123/notes'
340
+ * // Returns: 'appData/my-app/userData/user-123/_data/notes'
341
341
  *
342
342
  * await addDoc(collection(db, path), {
343
343
  * _appId: appId,
@@ -351,7 +351,7 @@ function getUserDataPath(appId, userId, collectionName) {
351
351
  validateSegment('appId', appId);
352
352
  validateSegment('userId', userId);
353
353
  validateSegment('collectionName', collectionName);
354
- return `appData/${appId}/userData/${userId}/${collectionName}`;
354
+ return `appData/${appId}/userData/${userId}/_data/${collectionName}`;
355
355
  }
356
356
  /**
357
357
  * Generate path for a specific document in publicRead
@@ -409,7 +409,7 @@ function getPublicDataDocPath(appId, collectionName, docId) {
409
409
  * @example
410
410
  * ```typescript
411
411
  * const path = getUserDataDocPath('my-app', 'user-123', 'notes', 'note-456');
412
- * // Returns: 'appData/my-app/userData/user-123/notes/note-456'
412
+ * // Returns: 'appData/my-app/userData/user-123/_data/notes/note-456'
413
413
  *
414
414
  * const docSnap = await getDoc(doc(db, path));
415
415
  * ```
@@ -419,7 +419,7 @@ function getUserDataDocPath(appId, userId, collectionName, docId) {
419
419
  validateSegment('userId', userId);
420
420
  validateSegment('collectionName', collectionName);
421
421
  validateSegment('docId', docId);
422
- return `appData/${appId}/userData/${userId}/${collectionName}/${docId}`;
422
+ return `appData/${appId}/userData/${userId}/_data/${collectionName}/${docId}`;
423
423
  }
424
424
  /**
425
425
  * Validate a path segment to ensure it doesn't contain invalid characters
@@ -484,7 +484,7 @@ class PathBuilder {
484
484
  userData(userId, collectionName) {
485
485
  validateSegment('userId', userId);
486
486
  validateSegment('collectionName', collectionName);
487
- this.segments.push('userData', userId, collectionName);
487
+ this.segments.push('userData', userId, '_data', collectionName);
488
488
  return this;
489
489
  }
490
490
  /**
@@ -518,6 +518,260 @@ const PATH_PATTERNS = {
518
518
  USER_DATA: 'userData',
519
519
  };
520
520
 
521
+ /**
522
+ * Validation utilities for Firestore data
523
+ *
524
+ * These validators help ensure data follows SeaVerse Firestore security rules.
525
+ * They provide client-side validation before sending data to Firestore.
526
+ *
527
+ * 🚨 IMPORTANT: These are CLIENT-SIDE validations only!
528
+ * The actual security enforcement happens in Firestore Security Rules.
529
+ * These validators help catch errors early for better DX.
530
+ */
531
+ /**
532
+ * Maximum document size in bytes (256 KB)
533
+ * This matches the Firestore security rule limit
534
+ */
535
+ const MAX_DOCUMENT_SIZE = 262144; // 256 KB
536
+ /**
537
+ * System reserved field names that users cannot create
538
+ *
539
+ * These fields are managed by the system and cannot be set by users:
540
+ * - _appId: Application ID (auto-injected)
541
+ * - _createdBy: Creator user ID (auto-injected)
542
+ * - _createdAt: Creation timestamp (auto-injected)
543
+ * - _updatedAt: Last update timestamp (auto-managed)
544
+ * - _deleted: Soft delete flag (auto-managed)
545
+ * - _deletedAt: Deletion timestamp (auto-managed)
546
+ */
547
+ const ALLOWED_RESERVED_FIELDS = [
548
+ '_appId',
549
+ '_createdBy',
550
+ '_createdAt',
551
+ '_updatedAt',
552
+ '_deleted',
553
+ '_deletedAt',
554
+ '_updatedBy'
555
+ ];
556
+ /**
557
+ * Common illegal reserved field patterns
558
+ * Based on Firestore security rules blacklist
559
+ */
560
+ const ILLEGAL_RESERVED_FIELDS = [
561
+ // Single letter prefixes
562
+ '_a', '_b', '_c', '_d', '_e', '_f', '_g', '_h', '_i', '_j', '_k', '_l', '_m',
563
+ '_n', '_o', '_p', '_q', '_r', '_s', '_t', '_u', '_v', '_w', '_x', '_y', '_z',
564
+ '_A', '_B', '_C', '_D', '_E', '_F', '_G', '_H', '_I', '_J', '_K', '_L', '_M',
565
+ '_N', '_O', '_P', '_Q', '_R', '_S', '_T', '_U', '_V', '_W', '_X', '_Y', '_Z',
566
+ // Number prefixes
567
+ '_0', '_1', '_2', '_3', '_4', '_5', '_6', '_7', '_8', '_9',
568
+ // Multiple underscores
569
+ '__', '___', '____',
570
+ // Permission related
571
+ '_admin', '_user', '_role', '_permission', '_access', '_auth', '_owner', '_public',
572
+ // Metadata related
573
+ '_custom', '_data', '_meta', '_info', '_config', '_setting', '_value', '_key',
574
+ '_id', '_ID', '_ref', '_timestamp', '_time', '_date', '_status', '_type',
575
+ // Temporary fields
576
+ '_temp', '_tmp', '_test', '_new', '_old', '_bak', '_backup', '_copy',
577
+ // Common business fields
578
+ '_name', '_title', '_description', '_content', '_body', '_text', '_message',
579
+ '_email', '_phone', '_address', '_city', '_country', '_zip', '_code',
580
+ '_price', '_amount', '_quantity', '_total', '_subtotal', '_discount', '_tax',
581
+ '_image', '_avatar', '_photo', '_picture', '_file', '_url', '_link', '_path',
582
+ '_user_id', '_userId', '_username', '_nickname', '_displayName',
583
+ '_password', '_token', '_session', '_apiKey', '_secretKey', '_privateKey',
584
+ // Flag fields
585
+ '_flag', '_enabled', '_disabled', '_active', '_inactive', '_visible', '_hidden',
586
+ '_isAdmin', '_isPublic', '_isPrivate', '_isDeleted', '_isActive', '_isEnabled',
587
+ // State fields
588
+ '_state', '_mode', '_level', '_priority', '_order', '_index', '_count', '_number',
589
+ // System fields
590
+ '_system', '_internal', '_private', '_protected', '_reserved', '_secret', '_hidden'
591
+ ];
592
+ /**
593
+ * Validate that data doesn't contain illegal reserved fields
594
+ *
595
+ * Reserved fields (starting with _) are for system use only.
596
+ * Users can only use allowed system fields.
597
+ *
598
+ * @param data - Data object to validate
599
+ * @throws Error if illegal reserved fields are found
600
+ *
601
+ * @example
602
+ * ```typescript
603
+ * // ✅ Valid - no reserved fields
604
+ * validateReservedFields({ title: 'Post', content: 'Hello' });
605
+ *
606
+ * // ✅ Valid - allowed system fields
607
+ * validateReservedFields({ _appId: 'app-1', _createdBy: 'user-1', title: 'Post' });
608
+ *
609
+ * // ❌ Invalid - illegal reserved field
610
+ * validateReservedFields({ _custom: 'value', title: 'Post' });
611
+ * // Throws: Error: Illegal reserved field "_custom"
612
+ * ```
613
+ */
614
+ function validateReservedFields(data) {
615
+ const keys = Object.keys(data);
616
+ for (const key of keys) {
617
+ // Skip allowed system fields
618
+ if (ALLOWED_RESERVED_FIELDS.includes(key)) {
619
+ continue;
620
+ }
621
+ // Check if it's a reserved field (starts with _)
622
+ if (key.startsWith('_')) {
623
+ // Check if it's in the blacklist
624
+ if (ILLEGAL_RESERVED_FIELDS.includes(key)) {
625
+ throw new Error(`Illegal reserved field "${key}". ` +
626
+ `Fields starting with "_" are reserved for system use. ` +
627
+ `Please use a field name without the underscore prefix.`);
628
+ }
629
+ // Even if not in blacklist, warn about unknown _ fields
630
+ throw new Error(`Unknown reserved field "${key}". ` +
631
+ `Fields starting with "_" are reserved for system use. ` +
632
+ `Allowed system fields: ${ALLOWED_RESERVED_FIELDS.join(', ')}. ` +
633
+ `Please use a field name without the underscore prefix.`);
634
+ }
635
+ }
636
+ }
637
+ /**
638
+ * Estimate document size in bytes
639
+ *
640
+ * This is an approximation based on JSON serialization.
641
+ * Firestore may calculate size differently, but this gives a good estimate.
642
+ *
643
+ * @param data - Data object to measure
644
+ * @returns Estimated size in bytes
645
+ *
646
+ * @example
647
+ * ```typescript
648
+ * const data = { title: 'My Post', content: 'Long content...' };
649
+ * const size = estimateDocumentSize(data);
650
+ * console.log('Document size:', size, 'bytes');
651
+ * ```
652
+ */
653
+ function estimateDocumentSize(data) {
654
+ try {
655
+ const json = JSON.stringify(data);
656
+ // Use Blob if available (browser), otherwise estimate from string length
657
+ if (typeof Blob !== 'undefined') {
658
+ return new Blob([json]).size;
659
+ }
660
+ else {
661
+ // Node.js or environments without Blob: estimate from UTF-8 encoded length
662
+ return Buffer.byteLength(json, 'utf8');
663
+ }
664
+ }
665
+ catch (error) {
666
+ // Fallback: rough estimate
667
+ return JSON.stringify(data).length * 2; // Assume ~2 bytes per char for safety
668
+ }
669
+ }
670
+ /**
671
+ * Validate document size doesn't exceed limit
672
+ *
673
+ * Firestore has a maximum document size of 1MB, but we enforce 256KB
674
+ * to match our security rules limit.
675
+ *
676
+ * @param data - Data object to validate
677
+ * @throws Error if document is too large
678
+ *
679
+ * @example
680
+ * ```typescript
681
+ * const data = { title: 'Post', content: 'Some content' };
682
+ * validateDocumentSize(data); // OK
683
+ *
684
+ * const hugeData = { content: 'x'.repeat(300000) };
685
+ * validateDocumentSize(hugeData); // Throws error
686
+ * ```
687
+ */
688
+ function validateDocumentSize(data) {
689
+ const size = estimateDocumentSize(data);
690
+ if (size > MAX_DOCUMENT_SIZE) {
691
+ throw new Error(`Document size (${size} bytes) exceeds maximum allowed size (${MAX_DOCUMENT_SIZE} bytes / 256 KB). ` +
692
+ `Please reduce the amount of data you're storing in this document.`);
693
+ }
694
+ }
695
+ /**
696
+ * Validate data before sending to Firestore
697
+ *
698
+ * This runs all validations:
699
+ * - Reserved fields check
700
+ * - Document size check
701
+ *
702
+ * @param data - Data object to validate
703
+ * @throws Error if validation fails
704
+ *
705
+ * @example
706
+ * ```typescript
707
+ * // Use this before adding/updating documents
708
+ * try {
709
+ * validateFirestoreData(myData);
710
+ * await addDoc(collection(db, path), myData);
711
+ * } catch (error) {
712
+ * console.error('Validation failed:', error.message);
713
+ * }
714
+ * ```
715
+ */
716
+ function validateFirestoreData(data) {
717
+ validateReservedFields(data);
718
+ validateDocumentSize(data);
719
+ }
720
+ /**
721
+ * Check if data contains soft-delete markers
722
+ *
723
+ * @param data - Data object to check
724
+ * @returns True if document is marked as deleted
725
+ */
726
+ function isDeleted(data) {
727
+ return data._deleted === true;
728
+ }
729
+ /**
730
+ * Validate data and return detailed results instead of throwing
731
+ *
732
+ * Use this when you want to handle validation errors gracefully
733
+ * without try/catch blocks.
734
+ *
735
+ * @param data - Data object to validate
736
+ * @returns Validation result with errors
737
+ *
738
+ * @example
739
+ * ```typescript
740
+ * const result = validateDataDetailed(myData);
741
+ * if (!result.valid) {
742
+ * console.error('Validation errors:', result.errors);
743
+ * // Show errors to user
744
+ * } else {
745
+ * // Proceed with save
746
+ * }
747
+ * ```
748
+ */
749
+ function validateDataDetailed(data) {
750
+ const errors = [];
751
+ // Check reserved fields
752
+ try {
753
+ validateReservedFields(data);
754
+ }
755
+ catch (error) {
756
+ if (error instanceof Error) {
757
+ errors.push(error.message);
758
+ }
759
+ }
760
+ // Check document size
761
+ try {
762
+ validateDocumentSize(data);
763
+ }
764
+ catch (error) {
765
+ if (error instanceof Error) {
766
+ errors.push(error.message);
767
+ }
768
+ }
769
+ return {
770
+ valid: errors.length === 0,
771
+ errors
772
+ };
773
+ }
774
+
521
775
  /**
522
776
  * Firestore Helper - LLM-Friendly Firestore Operations
523
777
  *
@@ -612,25 +866,36 @@ class FirestoreHelper {
612
866
  /**
613
867
  * Get all documents from publicData collection
614
868
  *
869
+ * By default, this returns only non-deleted documents.
870
+ * Set includeDeleted=true to include soft-deleted documents.
871
+ *
615
872
  * @param collectionName - Collection name
873
+ * @param includeDeleted - Include soft-deleted documents (default: false)
616
874
  * @returns QuerySnapshot with documents
617
875
  *
618
876
  * @example
619
877
  * ```typescript
878
+ * // Get only active posts (not deleted)
620
879
  * const snapshot = await helper.getPublicData('posts');
621
880
  * snapshot.forEach(doc => {
622
881
  * console.log(doc.id, doc.data());
623
882
  * });
883
+ *
884
+ * // Include deleted posts (admin use case)
885
+ * const allPosts = await helper.getPublicData('posts', true);
624
886
  * ```
625
887
  */
626
- async getPublicData(collectionName) {
888
+ async getPublicData(collectionName, includeDeleted = false) {
627
889
  const path = getPublicDataPath(this.appId, collectionName);
628
- return this.getDocs(path);
890
+ return this.getDocs(path, includeDeleted);
629
891
  }
630
892
  /**
631
893
  * Get all documents from userData collection (user's private data)
632
894
  *
895
+ * By default, this returns only non-deleted documents.
896
+ *
633
897
  * @param collectionName - Collection name
898
+ * @param includeDeleted - Include soft-deleted documents (default: false)
634
899
  * @returns QuerySnapshot with documents
635
900
  *
636
901
  * @example
@@ -641,9 +906,9 @@ class FirestoreHelper {
641
906
  * });
642
907
  * ```
643
908
  */
644
- async getUserData(collectionName) {
909
+ async getUserData(collectionName, includeDeleted = false) {
645
910
  const path = getUserDataPath(this.appId, this.userId, collectionName);
646
- return this.getDocs(path);
911
+ return this.getDocs(path, includeDeleted);
647
912
  }
648
913
  /**
649
914
  * Get all documents from publicRead collection (read-only for users)
@@ -723,6 +988,8 @@ class FirestoreHelper {
723
988
  * ```
724
989
  */
725
990
  async updateDoc(collectionPath, docId, data) {
991
+ // Validate user data
992
+ validateFirestoreData(data);
726
993
  const { updateDoc, doc, serverTimestamp } = await this.loadFirestore();
727
994
  const docRef = doc(this.db, collectionPath, docId);
728
995
  return updateDoc(docRef, {
@@ -732,10 +999,50 @@ class FirestoreHelper {
732
999
  });
733
1000
  }
734
1001
  /**
735
- * Delete document
1002
+ * Soft delete document (mark as deleted without removing)
1003
+ *
1004
+ * This is the RECOMMENDED way to delete documents. It marks the document
1005
+ * as deleted without actually removing it from the database.
1006
+ *
1007
+ * Automatically sets: _deleted = true, _deletedAt = serverTimestamp()
1008
+ *
1009
+ * @param collectionPath - Full collection path
1010
+ * @param docId - Document ID
1011
+ *
1012
+ * @example
1013
+ * ```typescript
1014
+ * // Soft delete a post (recommended)
1015
+ * await helper.softDeleteDoc(
1016
+ * getPublicDataPath(appId, 'posts'),
1017
+ * 'post-123'
1018
+ * );
1019
+ * ```
1020
+ */
1021
+ async softDeleteDoc(collectionPath, docId) {
1022
+ const { updateDoc, doc, serverTimestamp } = await this.loadFirestore();
1023
+ const docRef = doc(this.db, collectionPath, docId);
1024
+ return updateDoc(docRef, {
1025
+ _deleted: true,
1026
+ _deletedAt: serverTimestamp()
1027
+ });
1028
+ }
1029
+ /**
1030
+ * Hard delete document (permanently remove from database)
1031
+ *
1032
+ * ⚠️ WARNING: This permanently removes the document.
1033
+ * Only admins can hard delete. Regular users should use softDeleteDoc().
736
1034
  *
737
1035
  * @param collectionPath - Full collection path
738
1036
  * @param docId - Document ID
1037
+ *
1038
+ * @example
1039
+ * ```typescript
1040
+ * // Hard delete (admin only)
1041
+ * await helper.deleteDoc(
1042
+ * getPublicDataPath(appId, 'posts'),
1043
+ * 'post-123'
1044
+ * );
1045
+ * ```
739
1046
  */
740
1047
  async deleteDoc(collectionPath, docId) {
741
1048
  const { deleteDoc, doc } = await this.loadFirestore();
@@ -771,22 +1078,36 @@ class FirestoreHelper {
771
1078
  * Internal: Add document with metadata injection
772
1079
  */
773
1080
  async addDocWithMeta(collectionPath, data) {
1081
+ // Validate user data before adding system fields
1082
+ validateFirestoreData(data);
774
1083
  const { addDoc, collection, serverTimestamp } = await this.loadFirestore();
775
1084
  const colRef = collection(this.db, collectionPath);
776
- return addDoc(colRef, {
1085
+ const docData = {
777
1086
  _appId: this.appId,
778
1087
  _createdAt: serverTimestamp(),
779
1088
  _createdBy: this.userId,
780
1089
  ...data
781
- });
1090
+ };
1091
+ return addDoc(colRef, docData);
782
1092
  }
783
1093
  /**
784
1094
  * Internal: Get all documents from collection
1095
+ * Optionally filter out soft-deleted documents
785
1096
  */
786
- async getDocs(collectionPath) {
787
- const { getDocs, collection } = await this.loadFirestore();
1097
+ async getDocs(collectionPath, includeDeleted = false) {
1098
+ const { getDocs, collection, query, where } = await this.loadFirestore();
788
1099
  const colRef = collection(this.db, collectionPath);
789
- return getDocs(colRef);
1100
+ if (includeDeleted) {
1101
+ // Return all documents (including soft-deleted)
1102
+ return getDocs(colRef);
1103
+ }
1104
+ else {
1105
+ // Filter out soft-deleted documents
1106
+ // Use '!=' to include documents without _deleted field (new documents)
1107
+ // This will return documents where _deleted is missing, null, undefined, or false
1108
+ const q = query(colRef, where('_deleted', '!=', true));
1109
+ return getDocs(q);
1110
+ }
790
1111
  }
791
1112
  /**
792
1113
  * Internal: Get collection reference
@@ -990,5 +1311,5 @@ async function initializeWithToken(tokenResponse) {
990
1311
  };
991
1312
  }
992
1313
 
993
- export { DEFAULT_BASE_URL, DEFAULT_TIMEOUT, DataServiceClient, ENDPOINTS, FirestoreHelper, PATH_PATTERNS, PathBuilder, addDocWithMeta, getFirebaseConfig, getPublicDataDocPath, getPublicDataPath, getPublicReadDocPath, getPublicReadPath, getUserDataDocPath, getUserDataPath, initializeWithToken, updateDocWithMeta };
1314
+ export { ALLOWED_RESERVED_FIELDS, DEFAULT_BASE_URL, DEFAULT_TIMEOUT, DataServiceClient, ENDPOINTS, FirestoreHelper, MAX_DOCUMENT_SIZE, PATH_PATTERNS, PathBuilder, addDocWithMeta, estimateDocumentSize, getFirebaseConfig, getPublicDataDocPath, getPublicDataPath, getPublicReadDocPath, getPublicReadPath, getUserDataDocPath, getUserDataPath, initializeWithToken, isDeleted, updateDocWithMeta, validateDataDetailed, validateDocumentSize, validateFirestoreData, validateReservedFields };
994
1315
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/config.ts","../src/client.ts","../src/path-helpers.ts","../src/firestore-helper.ts","../src/helpers.ts"],"sourcesContent":[null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/config.ts","../src/client.ts","../src/path-helpers.ts","../src/validation.ts","../src/firestore-helper.ts","../src/helpers.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seaverse/data-service-sdk",
3
- "version": "0.9.0",
3
+ "version": "0.10.1",
4
4
  "description": "SDK for SeaVerse Data Service - Firestore token management with three-tier permission model",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",