create-chaaskit 0.1.2 → 0.1.3

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.
@@ -51,6 +51,14 @@ model User {
51
51
  mcpCredentials MCPCredential[]
52
52
  apiKeys ApiKey[]
53
53
  documents Document[]
54
+ waitlistInvites WaitlistEntry[]
55
+ inviteTokensUsed InviteToken[] @relation("InviteTokenUsedBy")
56
+ inviteTokensCreated InviteToken[] @relation("InviteTokenCreatedBy")
57
+ promoCodeRedemptions PromoCodeRedemption[]
58
+ referralCodes ReferralCode[]
59
+ referralsSent Referral[] @relation("Referrer")
60
+ referralsReceived Referral[] @relation("Referred")
61
+ usageMeters UsageMeter[]
54
62
 
55
63
  // OAuth relations
56
64
  oauthClients OAuthClient[]
@@ -132,6 +140,7 @@ model Message {
132
140
 
133
141
  // Relations
134
142
  feedback MessageFeedback[]
143
+ usageMeters UsageMeter[]
135
144
 
136
145
  createdAt DateTime @default(now())
137
146
 
@@ -245,6 +254,7 @@ model Team {
245
254
  documents Document[]
246
255
  slackIntegration SlackIntegration?
247
256
  scheduledPrompts ScheduledPrompt[]
257
+ usageMeters UsageMeter[]
248
258
  createdAt DateTime @default(now())
249
259
  updatedAt DateTime @updatedAt
250
260
 
@@ -582,3 +592,163 @@ model EmailVerification {
582
592
 
583
593
  @@index([userId])
584
594
  }
595
+
596
+ // Waitlist & Invites
597
+ model WaitlistEntry {
598
+ id String @id @default(cuid())
599
+ email String @unique
600
+ name String?
601
+ status String @default("pending")
602
+ invitedAt DateTime?
603
+ invitedByUserId String?
604
+ invitedByUser User? @relation(fields: [invitedByUserId], references: [id], onDelete: SetNull)
605
+ createdAt DateTime @default(now())
606
+ updatedAt DateTime @updatedAt
607
+
608
+ @@index([status])
609
+ }
610
+
611
+ model InviteToken {
612
+ id String @id @default(cuid())
613
+ token String @unique
614
+ email String
615
+ createdAt DateTime @default(now())
616
+ expiresAt DateTime
617
+ usedAt DateTime?
618
+ usedByUserId String?
619
+ usedByUser User? @relation("InviteTokenUsedBy", fields: [usedByUserId], references: [id], onDelete: SetNull)
620
+ createdByUserId String?
621
+ createdByUser User? @relation("InviteTokenCreatedBy", fields: [createdByUserId], references: [id], onDelete: SetNull)
622
+
623
+ @@index([email])
624
+ @@index([expiresAt])
625
+ }
626
+
627
+ // Credits System
628
+ model CreditsLedger {
629
+ id String @id @default(cuid())
630
+ ownerType String
631
+ ownerId String
632
+ delta Int
633
+ reason String?
634
+ sourceType String
635
+ expiresAt DateTime?
636
+ metadata Json?
637
+ createdAt DateTime @default(now())
638
+
639
+ grants CreditsGrant[]
640
+
641
+ @@index([ownerType, ownerId])
642
+ @@index([expiresAt])
643
+ }
644
+
645
+ model CreditsGrant {
646
+ id String @id @default(cuid())
647
+ ownerType String
648
+ ownerId String
649
+ total Int
650
+ remaining Int
651
+ expiresAt DateTime?
652
+ ledgerId String
653
+ ledger CreditsLedger @relation(fields: [ledgerId], references: [id], onDelete: Cascade)
654
+ createdAt DateTime @default(now())
655
+
656
+ @@index([ownerType, ownerId])
657
+ @@index([expiresAt])
658
+ }
659
+
660
+ model CreditsBalance {
661
+ id String @id @default(cuid())
662
+ ownerType String
663
+ ownerId String
664
+ balance Int
665
+ updatedAt DateTime @updatedAt
666
+
667
+ @@unique([ownerType, ownerId])
668
+ }
669
+
670
+ // Promo Codes
671
+ model PromoCode {
672
+ id String @id @default(cuid())
673
+ code String @unique
674
+ credits Int
675
+ maxUses Int
676
+ startsAt DateTime?
677
+ endsAt DateTime?
678
+ creditsExpiresAt DateTime?
679
+ createdAt DateTime @default(now())
680
+
681
+ redemptions PromoCodeRedemption[]
682
+ }
683
+
684
+ model PromoCodeRedemption {
685
+ id String @id @default(cuid())
686
+ promoCodeId String
687
+ promoCode PromoCode @relation(fields: [promoCodeId], references: [id], onDelete: Cascade)
688
+ userId String
689
+ user User @relation(fields: [userId], references: [id], onDelete: Cascade)
690
+ redeemedAt DateTime @default(now())
691
+
692
+ @@unique([promoCodeId, userId])
693
+ @@index([userId])
694
+ }
695
+
696
+ // Referral System
697
+ model ReferralCode {
698
+ id String @id @default(cuid())
699
+ code String @unique
700
+ userId String
701
+ user User @relation(fields: [userId], references: [id], onDelete: Cascade)
702
+ createdAt DateTime @default(now())
703
+
704
+ @@index([userId])
705
+ }
706
+
707
+ model Referral {
708
+ id String @id @default(cuid())
709
+ referrerUserId String
710
+ referredUserId String
711
+ status String @default("pending")
712
+ createdAt DateTime @default(now())
713
+
714
+ referrer User @relation("Referrer", fields: [referrerUserId], references: [id], onDelete: Cascade)
715
+ referred User @relation("Referred", fields: [referredUserId], references: [id], onDelete: Cascade)
716
+ grants ReferralGrant[]
717
+
718
+ @@unique([referrerUserId, referredUserId])
719
+ @@index([referrerUserId])
720
+ @@index([referredUserId])
721
+ }
722
+
723
+ model ReferralGrant {
724
+ id String @id @default(cuid())
725
+ referralId String
726
+ referral Referral @relation(fields: [referralId], references: [id], onDelete: Cascade)
727
+ event String
728
+ grantedAt DateTime @default(now())
729
+
730
+ @@unique([referralId, event])
731
+ }
732
+
733
+ // Usage Metering
734
+ model UsageMeter {
735
+ id String @id @default(cuid())
736
+ provider String
737
+ model String
738
+ promptTokens Int
739
+ completionTokens Int
740
+ totalTokens Int
741
+ userId String
742
+ teamId String?
743
+ messageId String?
744
+ message Message? @relation(fields: [messageId], references: [id], onDelete: SetNull)
745
+ createdAt DateTime @default(now())
746
+
747
+ user User @relation(fields: [userId], references: [id], onDelete: Cascade)
748
+ team Team? @relation(fields: [teamId], references: [id], onDelete: SetNull)
749
+
750
+ @@index([userId])
751
+ @@index([teamId])
752
+ @@index([messageId])
753
+ @@index([createdAt])
754
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-chaaskit",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "CLI to create and manage ChaasKit AI chat SaaS applications",
5
5
  "license": "MIT",
6
6
  "author": "Matt Ferrante <@ferrants>",