@seaverse/data-service-sdk 0.5.2 → 0.7.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.cjs","sources":["../src/config.ts","../src/client.ts","../src/helpers.ts"],"sourcesContent":[null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","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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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  import { AxiosRequestConfig } from 'axios';
2
+ import { Firestore, DocumentReference, QuerySnapshot, CollectionReference } from 'firebase/firestore';
3
+ export { CollectionReference, DocumentData, DocumentReference, DocumentSnapshot, FieldValue, Firestore, OrderByDirection, Query, QueryConstraint, QuerySnapshot, Timestamp, Transaction, Unsubscribe, WhereFilterOp, WriteBatch, addDoc, arrayRemove, arrayUnion, collection, collectionGroup, deleteDoc, deleteField, doc, endAt, endBefore, getDoc, getDocs, getFirestore, increment, limit, limitToLast, onSnapshot, orderBy, query, runTransaction, serverTimestamp, setDoc, startAfter, startAt, updateDoc, where, writeBatch } from 'firebase/firestore';
2
4
 
3
5
  /**
4
6
  * Type definitions for SeaVerse Data Service API
@@ -454,6 +456,279 @@ declare const ENDPOINTS: {
454
456
  readonly FIRESTORE_GUEST_TOKEN: "/api/v1/firestore/guest-token";
455
457
  };
456
458
 
459
+ /**
460
+ * Firestore Helper - LLM-Friendly Firestore Operations
461
+ *
462
+ * This helper class automatically handles required fields (_appId, _createdAt, _createdBy)
463
+ * so LLM doesn't need to remember them. It provides a simple, high-level API.
464
+ *
465
+ * 🎯 LLM-FIRST DESIGN:
466
+ * - No need to remember required fields
467
+ * - No need to construct paths manually
468
+ * - No need to import serverTimestamp
469
+ * - One method does everything
470
+ */
471
+
472
+ /**
473
+ * Firestore operations helper with automatic metadata injection
474
+ *
475
+ * This class wraps Firestore operations and automatically adds required fields:
476
+ * - _appId: Application ID (for data isolation)
477
+ * - _createdAt: Server timestamp (for creation time)
478
+ * - _createdBy: User ID (for ownership tracking)
479
+ *
480
+ * @example
481
+ * ```typescript
482
+ * const helper = new FirestoreHelper(db, appId, userId);
483
+ *
484
+ * // ✅ LLM-friendly: Just pass your data, required fields auto-injected
485
+ * await helper.addToPublicData('posts', {
486
+ * title: 'My Post',
487
+ * content: 'Hello world'
488
+ * });
489
+ *
490
+ * // ❌ OLD WAY: LLM needs to remember 3 required fields
491
+ * await addDoc(collection(db, path), {
492
+ * _appId: appId,
493
+ * _createdAt: serverTimestamp(),
494
+ * _createdBy: userId,
495
+ * title: 'My Post',
496
+ * content: 'Hello world'
497
+ * });
498
+ * ```
499
+ */
500
+ declare class FirestoreHelper {
501
+ private db;
502
+ private appId;
503
+ private userId;
504
+ constructor(db: Firestore, appId: string, userId: string);
505
+ /**
506
+ * Add document to publicData (shared, read/write for all users)
507
+ *
508
+ * Automatically injects: _appId, _createdAt, _createdBy
509
+ *
510
+ * @param collectionName - Collection name (e.g., 'posts', 'comments')
511
+ * @param data - Your business data
512
+ * @returns Document reference
513
+ *
514
+ * @example
515
+ * ```typescript
516
+ * // ✅ LLM-friendly: Simple and clean
517
+ * const docRef = await helper.addToPublicData('posts', {
518
+ * title: 'My First Post',
519
+ * content: 'Hello world'
520
+ * });
521
+ * console.log('Created post:', docRef.id);
522
+ * ```
523
+ */
524
+ addToPublicData(collectionName: string, data: Record<string, any>): Promise<DocumentReference>;
525
+ /**
526
+ * Add document to userData (private, only owner can read/write)
527
+ *
528
+ * Automatically injects: _appId, _createdAt, _createdBy
529
+ *
530
+ * @param collectionName - Collection name (e.g., 'notes', 'settings')
531
+ * @param data - Your business data
532
+ * @returns Document reference
533
+ *
534
+ * @example
535
+ * ```typescript
536
+ * // ✅ LLM-friendly: Private data, auto-isolated
537
+ * await helper.addToUserData('notes', {
538
+ * title: 'Private Note',
539
+ * content: 'Only I can see this'
540
+ * });
541
+ * ```
542
+ */
543
+ addToUserData(collectionName: string, data: Record<string, any>): Promise<DocumentReference>;
544
+ /**
545
+ * Get all documents from publicData collection
546
+ *
547
+ * @param collectionName - Collection name
548
+ * @returns QuerySnapshot with documents
549
+ *
550
+ * @example
551
+ * ```typescript
552
+ * const snapshot = await helper.getPublicData('posts');
553
+ * snapshot.forEach(doc => {
554
+ * console.log(doc.id, doc.data());
555
+ * });
556
+ * ```
557
+ */
558
+ getPublicData(collectionName: string): Promise<QuerySnapshot>;
559
+ /**
560
+ * Get all documents from userData collection (user's private data)
561
+ *
562
+ * @param collectionName - Collection name
563
+ * @returns QuerySnapshot with documents
564
+ *
565
+ * @example
566
+ * ```typescript
567
+ * const snapshot = await helper.getUserData('notes');
568
+ * snapshot.forEach(doc => {
569
+ * console.log('My note:', doc.data());
570
+ * });
571
+ * ```
572
+ */
573
+ getUserData(collectionName: string): Promise<QuerySnapshot>;
574
+ /**
575
+ * Get all documents from publicRead collection (read-only for users)
576
+ *
577
+ * @param collectionName - Collection name
578
+ * @returns QuerySnapshot with documents
579
+ *
580
+ * @example
581
+ * ```typescript
582
+ * const configs = await helper.getPublicRead('config');
583
+ * ```
584
+ */
585
+ getPublicRead(collectionName: string): Promise<QuerySnapshot>;
586
+ /**
587
+ * Get collection reference for publicData
588
+ * Use this for advanced queries with where(), orderBy(), limit()
589
+ *
590
+ * @param collectionName - Collection name
591
+ * @returns Collection reference
592
+ *
593
+ * @example
594
+ * ```typescript
595
+ * import { query, where, orderBy } from 'firebase/firestore';
596
+ *
597
+ * const postsRef = helper.publicDataCollection('posts');
598
+ * const q = query(
599
+ * postsRef,
600
+ * where('_createdBy', '==', userId),
601
+ * orderBy('_createdAt', 'desc')
602
+ * );
603
+ * const snapshot = await getDocs(q);
604
+ * ```
605
+ */
606
+ publicDataCollection(collectionName: string): CollectionReference;
607
+ /**
608
+ * Get collection reference for userData
609
+ *
610
+ * @param collectionName - Collection name
611
+ * @returns Collection reference
612
+ */
613
+ userDataCollection(collectionName: string): CollectionReference;
614
+ /**
615
+ * Get collection reference for publicRead
616
+ *
617
+ * @param collectionName - Collection name
618
+ * @returns Collection reference
619
+ */
620
+ publicReadCollection(collectionName: string): CollectionReference;
621
+ /**
622
+ * Update document with automatic metadata update
623
+ *
624
+ * Automatically sets: _updatedAt, _updatedBy
625
+ *
626
+ * @param collectionPath - Full collection path
627
+ * @param docId - Document ID
628
+ * @param data - Data to update
629
+ *
630
+ * @example
631
+ * ```typescript
632
+ * await helper.updateDoc(
633
+ * getPublicDataPath(appId, 'posts'),
634
+ * 'post-123',
635
+ * { title: 'Updated Title' }
636
+ * );
637
+ * ```
638
+ */
639
+ updateDoc(collectionPath: string, docId: string, data: Record<string, any>): Promise<void>;
640
+ /**
641
+ * Delete document
642
+ *
643
+ * @param collectionPath - Full collection path
644
+ * @param docId - Document ID
645
+ */
646
+ deleteDoc(collectionPath: string, docId: string): Promise<void>;
647
+ /**
648
+ * Get single document by ID
649
+ *
650
+ * @param collectionPath - Full collection path
651
+ * @param docId - Document ID
652
+ *
653
+ * @example
654
+ * ```typescript
655
+ * const docSnap = await helper.getDoc(
656
+ * getPublicDataPath(appId, 'posts'),
657
+ * 'post-123'
658
+ * );
659
+ * if (docSnap.exists()) {
660
+ * console.log(docSnap.data());
661
+ * }
662
+ * ```
663
+ */
664
+ getDoc(collectionPath: string, docId: string): Promise<any>;
665
+ /**
666
+ * Internal: Add document with metadata injection
667
+ */
668
+ private addDocWithMeta;
669
+ /**
670
+ * Internal: Get all documents from collection
671
+ */
672
+ private getDocs;
673
+ /**
674
+ * Internal: Get collection reference
675
+ */
676
+ private getCollection;
677
+ /**
678
+ * Internal: Lazy load Firebase Firestore functions
679
+ */
680
+ private loadFirestore;
681
+ }
682
+ /**
683
+ * Standalone helper function: Add document with automatic metadata injection
684
+ *
685
+ * Use this if you don't want to create a FirestoreHelper instance.
686
+ *
687
+ * @param db - Firestore instance
688
+ * @param collectionPath - Full collection path
689
+ * @param appId - Application ID
690
+ * @param userId - User ID
691
+ * @param data - Your business data
692
+ * @returns Document reference
693
+ *
694
+ * @example
695
+ * ```typescript
696
+ * import { addDocWithMeta, getPublicDataPath } from '@seaverse/data-service-sdk';
697
+ *
698
+ * const docRef = await addDocWithMeta(
699
+ * db,
700
+ * getPublicDataPath(appId, 'posts'),
701
+ * appId,
702
+ * userId,
703
+ * { title: 'Post', content: 'Hello' }
704
+ * );
705
+ * ```
706
+ */
707
+ declare function addDocWithMeta(db: Firestore, collectionPath: string, appId: string, userId: string, data: Record<string, any>): Promise<DocumentReference>;
708
+ /**
709
+ * Standalone helper function: Update document with automatic metadata
710
+ *
711
+ * @param db - Firestore instance
712
+ * @param collectionPath - Full collection path
713
+ * @param docId - Document ID
714
+ * @param userId - User ID (for _updatedBy field)
715
+ * @param data - Data to update
716
+ *
717
+ * @example
718
+ * ```typescript
719
+ * import { updateDocWithMeta, getPublicDataPath } from '@seaverse/data-service-sdk';
720
+ *
721
+ * await updateDocWithMeta(
722
+ * db,
723
+ * getPublicDataPath(appId, 'posts'),
724
+ * 'post-123',
725
+ * userId,
726
+ * { title: 'Updated Title' }
727
+ * );
728
+ * ```
729
+ */
730
+ declare function updateDocWithMeta(db: Firestore, collectionPath: string, docId: string, userId: string, data: Record<string, any>): Promise<void>;
731
+
457
732
  /**
458
733
  * Firebase initialization configuration
459
734
  * Generated from Firestore token response
@@ -491,23 +766,32 @@ declare function getFirebaseConfig(tokenResponse: FirestoreTokenResponse): Fireb
491
766
  * 1. Creates Firebase config from token response
492
767
  * 2. Initializes Firebase app
493
768
  * 3. Signs in with the custom token
494
- * 4. Returns authenticated Firebase instances
769
+ * 4. Creates FirestoreHelper for LLM-friendly operations
770
+ * 5. Returns authenticated Firebase instances
495
771
  *
496
772
  * IMPORTANT: This function requires Firebase SDK to be installed separately:
497
773
  * npm install firebase
498
774
  *
775
+ * 🎯 LLM RECOMMENDED: Use the `helper` object for simplified operations
776
+ *
499
777
  * @param tokenResponse - The Firestore token response from SDK
500
- * @returns Object containing initialized Firebase app, auth, and db instances
778
+ * @returns Object containing initialized Firebase instances and LLM-friendly helper
501
779
  *
502
780
  * @example
503
781
  * ```typescript
504
782
  * import { initializeWithToken } from '@seaverse/data-service-sdk';
505
783
  *
506
784
  * const tokenResponse = await client.generateGuestFirestoreToken({ app_id: 'my-app' });
507
- * const { app, auth, db, userId, appId } = await initializeWithToken(tokenResponse);
785
+ * const { db, userId, appId, helper } = await initializeWithToken(tokenResponse);
508
786
  *
509
- * // Ready to use Firestore!
510
- * const snapshot = await getDocs(collection(db, `appData/${appId}/publicData/posts`));
787
+ * // LLM-FRIENDLY: Use helper (automatic required fields)
788
+ * await helper.addToPublicData('posts', {
789
+ * title: 'My Post',
790
+ * content: 'Hello'
791
+ * });
792
+ *
793
+ * // ❌ OLD WAY: Manual (need to remember required fields)
794
+ * // await addDoc(collection(db, path), { _appId, _createdAt, _createdBy, ...data });
511
795
  * ```
512
796
  */
513
797
  declare function initializeWithToken(tokenResponse: FirestoreTokenResponse): Promise<{
@@ -516,7 +800,193 @@ declare function initializeWithToken(tokenResponse: FirestoreTokenResponse): Pro
516
800
  db: any;
517
801
  userId: string;
518
802
  appId: string;
803
+ helper: FirestoreHelper;
519
804
  }>;
520
805
 
521
- export { DEFAULT_BASE_URL, DEFAULT_TIMEOUT, DataServiceClient, ENDPOINTS, getFirebaseConfig, initializeWithToken };
806
+ /**
807
+ * Firestore Path Helper Functions
808
+ *
809
+ * These helper functions generate correct Firestore paths that match
810
+ * the security rules. Use these instead of manually constructing paths
811
+ * to avoid permission-denied errors.
812
+ *
813
+ * 🚨 IMPORTANT: These paths are designed to work with SeaVerse Firestore Rules
814
+ *
815
+ * Permission Levels:
816
+ * - publicRead: Read-only for all users, write for admins only
817
+ * - publicData: Read/write for all authenticated users
818
+ * - userData: Read/write only for the data owner
819
+ */
820
+ /**
821
+ * Generate path for publicRead data (read-only for users, write for admins)
822
+ *
823
+ * @param appId - Your application ID
824
+ * @param collection - Collection name (e.g., 'announcements', 'config')
825
+ * @returns Firestore path string
826
+ *
827
+ * @example
828
+ * ```typescript
829
+ * // Read system announcements
830
+ * const path = getPublicReadPath('my-app', 'announcements');
831
+ * // Returns: 'appData/my-app/publicRead/announcements'
832
+ *
833
+ * const snapshot = await getDocs(collection(db, path));
834
+ * ```
835
+ */
836
+ declare function getPublicReadPath(appId: string, collectionName: string): string;
837
+ /**
838
+ * Generate path for publicData (read/write for all authenticated users)
839
+ *
840
+ * @param appId - Your application ID
841
+ * @param collection - Collection name (e.g., 'posts', 'comments')
842
+ * @returns Firestore path string
843
+ *
844
+ * @example
845
+ * ```typescript
846
+ * // Write a public post
847
+ * const path = getPublicDataPath('my-app', 'posts');
848
+ * // Returns: 'appData/my-app/publicData/posts'
849
+ *
850
+ * await addDoc(collection(db, path), {
851
+ * _appId: appId,
852
+ * _createdAt: serverTimestamp(),
853
+ * _createdBy: userId,
854
+ * title: 'My Post'
855
+ * });
856
+ * ```
857
+ */
858
+ declare function getPublicDataPath(appId: string, collectionName: string): string;
859
+ /**
860
+ * Generate path for userData (private, read/write only by owner)
861
+ *
862
+ * @param appId - Your application ID
863
+ * @param userId - User ID who owns this data
864
+ * @param collection - Collection name (e.g., 'notes', 'settings')
865
+ * @returns Firestore path string
866
+ *
867
+ * @example
868
+ * ```typescript
869
+ * // Write private user notes
870
+ * const path = getUserDataPath('my-app', 'user-123', 'notes');
871
+ * // Returns: 'appData/my-app/userData/user-123/notes'
872
+ *
873
+ * await addDoc(collection(db, path), {
874
+ * _appId: appId,
875
+ * _createdAt: serverTimestamp(),
876
+ * _createdBy: userId,
877
+ * content: 'Private note'
878
+ * });
879
+ * ```
880
+ */
881
+ declare function getUserDataPath(appId: string, userId: string, collectionName: string): string;
882
+ /**
883
+ * Generate path for a specific document in publicRead
884
+ *
885
+ * @param appId - Your application ID
886
+ * @param collection - Collection name
887
+ * @param docId - Document ID
888
+ * @returns Firestore document path string
889
+ *
890
+ * @example
891
+ * ```typescript
892
+ * const path = getPublicReadDocPath('my-app', 'announcements', 'announcement-1');
893
+ * // Returns: 'appData/my-app/publicRead/announcements/announcement-1'
894
+ *
895
+ * const docSnap = await getDoc(doc(db, path));
896
+ * ```
897
+ */
898
+ declare function getPublicReadDocPath(appId: string, collectionName: string, docId: string): string;
899
+ /**
900
+ * Generate path for a specific document in publicData
901
+ *
902
+ * @param appId - Your application ID
903
+ * @param collection - Collection name
904
+ * @param docId - Document ID
905
+ * @returns Firestore document path string
906
+ *
907
+ * @example
908
+ * ```typescript
909
+ * const path = getPublicDataDocPath('my-app', 'posts', 'post-123');
910
+ * // Returns: 'appData/my-app/publicData/posts/post-123'
911
+ *
912
+ * const docSnap = await getDoc(doc(db, path));
913
+ * ```
914
+ */
915
+ declare function getPublicDataDocPath(appId: string, collectionName: string, docId: string): string;
916
+ /**
917
+ * Generate path for a specific document in userData
918
+ *
919
+ * @param appId - Your application ID
920
+ * @param userId - User ID who owns this data
921
+ * @param collection - Collection name
922
+ * @param docId - Document ID
923
+ * @returns Firestore document path string
924
+ *
925
+ * @example
926
+ * ```typescript
927
+ * const path = getUserDataDocPath('my-app', 'user-123', 'notes', 'note-456');
928
+ * // Returns: 'appData/my-app/userData/user-123/notes/note-456'
929
+ *
930
+ * const docSnap = await getDoc(doc(db, path));
931
+ * ```
932
+ */
933
+ declare function getUserDataDocPath(appId: string, userId: string, collectionName: string, docId: string): string;
934
+ /**
935
+ * Path builder for advanced use cases
936
+ * Provides a fluent interface for building Firestore paths
937
+ *
938
+ * @example
939
+ * ```typescript
940
+ * // Build a path step by step
941
+ * const builder = new PathBuilder('my-app');
942
+ * const path = builder.publicData('posts').build();
943
+ * // Returns: 'appData/my-app/publicData/posts'
944
+ *
945
+ * // With document ID
946
+ * const docPath = builder.publicData('posts').doc('post-123').build();
947
+ * // Returns: 'appData/my-app/publicData/posts/post-123'
948
+ * ```
949
+ */
950
+ declare class PathBuilder {
951
+ private appId;
952
+ private segments;
953
+ constructor(appId: string);
954
+ /**
955
+ * Add publicRead collection to path
956
+ */
957
+ publicRead(collectionName: string): this;
958
+ /**
959
+ * Add publicData collection to path
960
+ */
961
+ publicData(collectionName: string): this;
962
+ /**
963
+ * Add userData collection to path
964
+ */
965
+ userData(userId: string, collectionName: string): this;
966
+ /**
967
+ * Add document ID to path
968
+ */
969
+ doc(docId: string): this;
970
+ /**
971
+ * Build the final path string
972
+ */
973
+ build(): string;
974
+ }
975
+ /**
976
+ * Common path patterns as constants for frequently used paths
977
+ */
978
+ declare const PATH_PATTERNS: {
979
+ /**
980
+ * Base pattern for all SeaVerse data
981
+ */
982
+ readonly APP_DATA: "appData";
983
+ /**
984
+ * Permission layers
985
+ */
986
+ readonly PUBLIC_READ: "publicRead";
987
+ readonly PUBLIC_DATA: "publicData";
988
+ readonly USER_DATA: "userData";
989
+ };
990
+
991
+ export { DEFAULT_BASE_URL, DEFAULT_TIMEOUT, DataServiceClient, ENDPOINTS, FirestoreHelper, PATH_PATTERNS, PathBuilder, addDocWithMeta, getFirebaseConfig, getPublicDataDocPath, getPublicDataPath, getPublicReadDocPath, getPublicReadPath, getUserDataDocPath, getUserDataPath, initializeWithToken, updateDocWithMeta };
522
992
  export type { ApiError, ApiResponse, DataServiceClientOptions, FirebaseConfig, FirestoreTokenResponse, GenerateFirestoreTokenRequest, GenerateGuestFirestoreTokenRequest };