bunderstack 0.23.4 → 0.24.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.
Files changed (159) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/README.md +7 -4
  3. package/dist/api/builder.d.ts +13 -11
  4. package/dist/api/builder.d.ts.map +1 -1
  5. package/dist/api/builder.js.map +1 -1
  6. package/dist/api/context.d.ts +6 -6
  7. package/dist/api/context.d.ts.map +1 -1
  8. package/dist/api/context.js +1 -1
  9. package/dist/api/context.js.map +1 -1
  10. package/dist/api/crud-router.d.ts +6 -6
  11. package/dist/api/realtime-router.d.ts +1 -1
  12. package/dist/api/storage-router.d.ts +5 -5
  13. package/dist/auth.d.ts +20 -9
  14. package/dist/auth.d.ts.map +1 -1
  15. package/dist/auth.js +3 -8
  16. package/dist/auth.js.map +1 -1
  17. package/dist/backend-internals.d.ts +5 -13
  18. package/dist/backend-internals.d.ts.map +1 -1
  19. package/dist/backend-internals.js.map +1 -1
  20. package/dist/backend.d.ts +39 -5
  21. package/dist/backend.d.ts.map +1 -1
  22. package/dist/backend.js +37 -46
  23. package/dist/backend.js.map +1 -1
  24. package/dist/blueprint-generator.d.ts +1 -0
  25. package/dist/blueprint-generator.d.ts.map +1 -1
  26. package/dist/blueprint-generator.js +29 -1
  27. package/dist/blueprint-generator.js.map +1 -1
  28. package/dist/blueprint.d.ts +2 -1
  29. package/dist/blueprint.d.ts.map +1 -1
  30. package/dist/blueprint.js +9 -2
  31. package/dist/blueprint.js.map +1 -1
  32. package/dist/cli.d.ts.map +1 -1
  33. package/dist/cli.js +14 -2
  34. package/dist/cli.js.map +1 -1
  35. package/dist/config.d.ts +23 -25
  36. package/dist/config.d.ts.map +1 -1
  37. package/dist/config.js +1 -1
  38. package/dist/config.js.map +1 -1
  39. package/dist/email/smtp.d.ts +7 -1
  40. package/dist/email/smtp.d.ts.map +1 -1
  41. package/dist/email/smtp.js +5 -1
  42. package/dist/email/smtp.js.map +1 -1
  43. package/dist/email.d.ts +3 -29
  44. package/dist/email.d.ts.map +1 -1
  45. package/dist/email.js +1 -194
  46. package/dist/email.js.map +1 -1
  47. package/dist/env-probe.d.ts +9 -0
  48. package/dist/env-probe.d.ts.map +1 -0
  49. package/dist/env-probe.js +73 -0
  50. package/dist/env-probe.js.map +1 -0
  51. package/dist/env.d.ts +2 -5
  52. package/dist/env.d.ts.map +1 -1
  53. package/dist/env.js +2 -9
  54. package/dist/env.js.map +1 -1
  55. package/dist/hosted-contract.d.ts +11 -0
  56. package/dist/hosted-contract.d.ts.map +1 -0
  57. package/dist/hosted-contract.js +46 -0
  58. package/dist/hosted-contract.js.map +1 -0
  59. package/dist/index.d.ts +3 -2
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +1 -1
  62. package/dist/index.js.map +1 -1
  63. package/dist/inspect.d.ts +15 -0
  64. package/dist/inspect.d.ts.map +1 -0
  65. package/dist/inspect.js +43 -0
  66. package/dist/inspect.js.map +1 -0
  67. package/dist/internal-tables-pg.d.ts +43 -94
  68. package/dist/internal-tables-pg.d.ts.map +1 -1
  69. package/dist/internal-tables-pg.js +14 -17
  70. package/dist/internal-tables-pg.js.map +1 -1
  71. package/dist/internal-tables.d.ts +213 -488
  72. package/dist/internal-tables.d.ts.map +1 -1
  73. package/dist/internal-tables.js +33 -33
  74. package/dist/internal-tables.js.map +1 -1
  75. package/dist/jobs/define.d.ts +20 -20
  76. package/dist/jobs/define.d.ts.map +1 -1
  77. package/dist/jobs/define.js.map +1 -1
  78. package/dist/manifest-diff.d.ts +6 -0
  79. package/dist/manifest-diff.d.ts.map +1 -0
  80. package/dist/manifest-diff.js +42 -0
  81. package/dist/manifest-diff.js.map +1 -0
  82. package/dist/manifest.d.ts +10 -2
  83. package/dist/manifest.d.ts.map +1 -1
  84. package/dist/manifest.js +27 -29
  85. package/dist/manifest.js.map +1 -1
  86. package/dist/messaging/email.d.ts +16 -0
  87. package/dist/messaging/email.d.ts.map +1 -0
  88. package/dist/messaging/email.js +8 -0
  89. package/dist/messaging/email.js.map +1 -0
  90. package/dist/messaging/index.d.ts +8 -0
  91. package/dist/messaging/index.d.ts.map +1 -0
  92. package/dist/messaging/index.js +4 -0
  93. package/dist/messaging/index.js.map +1 -0
  94. package/dist/messaging/journal.d.ts +4 -0
  95. package/dist/messaging/journal.d.ts.map +1 -0
  96. package/dist/messaging/journal.js +19 -0
  97. package/dist/messaging/journal.js.map +1 -0
  98. package/dist/messaging/runtime.d.ts +16 -0
  99. package/dist/messaging/runtime.d.ts.map +1 -0
  100. package/dist/messaging/runtime.js +213 -0
  101. package/dist/messaging/runtime.js.map +1 -0
  102. package/dist/messaging/standalone.d.ts +27 -0
  103. package/dist/messaging/standalone.d.ts.map +1 -0
  104. package/dist/messaging/standalone.js +18 -0
  105. package/dist/messaging/standalone.js.map +1 -0
  106. package/dist/messaging/telegram.d.ts +16 -0
  107. package/dist/messaging/telegram.d.ts.map +1 -0
  108. package/dist/messaging/telegram.js +5 -0
  109. package/dist/messaging/telegram.js.map +1 -0
  110. package/dist/messaging/types.d.ts +22 -0
  111. package/dist/messaging/types.d.ts.map +1 -0
  112. package/dist/messaging/types.js +17 -0
  113. package/dist/messaging/types.js.map +1 -0
  114. package/dist/provision-internals.d.ts +1 -1
  115. package/dist/provision-internals.js +1 -1
  116. package/dist/provision-internals.js.map +1 -1
  117. package/dist/provision-runtime.d.ts +7 -0
  118. package/dist/provision-runtime.d.ts.map +1 -0
  119. package/dist/provision-runtime.js +50 -0
  120. package/dist/provision-runtime.js.map +1 -0
  121. package/dist/provision-schema.d.ts +16 -0
  122. package/dist/provision-schema.d.ts.map +1 -0
  123. package/dist/provision-schema.js +63 -0
  124. package/dist/provision-schema.js.map +1 -0
  125. package/dist/provision.d.ts +4 -21
  126. package/dist/provision.d.ts.map +1 -1
  127. package/dist/provision.js +10 -111
  128. package/dist/provision.js.map +1 -1
  129. package/dist/runtime.d.ts +17 -14
  130. package/dist/runtime.d.ts.map +1 -1
  131. package/dist/runtime.js +20 -33
  132. package/dist/runtime.js.map +1 -1
  133. package/dist/schema-export-pg.d.ts +1 -1
  134. package/dist/schema-export-pg.d.ts.map +1 -1
  135. package/dist/schema-export-pg.js +1 -1
  136. package/dist/schema-export-pg.js.map +1 -1
  137. package/dist/schema-export.d.ts +1 -1
  138. package/dist/schema-export.d.ts.map +1 -1
  139. package/dist/schema-export.js +1 -1
  140. package/dist/schema-export.js.map +1 -1
  141. package/dist/testing/fixture.d.ts +3 -3
  142. package/dist/testing/fixture.d.ts.map +1 -1
  143. package/dist/testing/fixture.js +12 -10
  144. package/dist/testing/fixture.js.map +1 -1
  145. package/dist/testing/messaging.d.ts +21 -0
  146. package/dist/testing/messaging.d.ts.map +1 -0
  147. package/dist/testing/messaging.js +34 -0
  148. package/dist/testing/messaging.js.map +1 -0
  149. package/dist/testing.d.ts +1 -0
  150. package/dist/testing.d.ts.map +1 -1
  151. package/dist/testing.js.map +1 -1
  152. package/llms-full.txt +416 -226
  153. package/llms.txt +4 -3
  154. package/package.json +10 -2
  155. package/skills/creating-bunderstack-apps/references/application-structure.md +16 -7
  156. package/skills/creating-bunderstack-apps/references/verification.md +7 -6
  157. package/skills/migrating-to-bunderstack/SKILL.md +75 -51
  158. package/skills/migrating-to-bunderstack/references/audit-checklist.md +2 -2
  159. package/skills/migrating-to-bunderstack/references/runtime-replacements.md +20 -15
@@ -478,13 +478,13 @@ export declare const bunderstackJobsPg: import("drizzle-orm/pg-core").PgTableWit
478
478
  };
479
479
  dialect: "pg";
480
480
  }>;
481
- export declare const bunderstackEmailsPg: import("drizzle-orm/pg-core").PgTableWithColumns<{
482
- name: "_bunderstack_emails";
481
+ export declare const bunderstackMessagesPg: import("drizzle-orm/pg-core").PgTableWithColumns<{
482
+ name: "_bunderstack_messages";
483
483
  schema: undefined;
484
484
  columns: {
485
485
  id: import("drizzle-orm/pg-core").PgColumn<{
486
486
  name: "id";
487
- tableName: "_bunderstack_emails";
487
+ tableName: "_bunderstack_messages";
488
488
  dataType: "string";
489
489
  columnType: "PgText";
490
490
  data: string;
@@ -499,43 +499,9 @@ export declare const bunderstackEmailsPg: import("drizzle-orm/pg-core").PgTableW
499
499
  identity: undefined;
500
500
  generated: undefined;
501
501
  }, {}, {}>;
502
- provider: import("drizzle-orm/pg-core").PgColumn<{
503
- name: "provider";
504
- tableName: "_bunderstack_emails";
505
- dataType: "string";
506
- columnType: "PgText";
507
- data: string;
508
- driverParam: string;
509
- notNull: true;
510
- hasDefault: false;
511
- isPrimaryKey: false;
512
- isAutoincrement: false;
513
- hasRuntimeDefault: false;
514
- enumValues: [string, ...string[]];
515
- baseColumn: never;
516
- identity: undefined;
517
- generated: undefined;
518
- }, {}, {}>;
519
- providerId: import("drizzle-orm/pg-core").PgColumn<{
520
- name: "provider_id";
521
- tableName: "_bunderstack_emails";
522
- dataType: "string";
523
- columnType: "PgText";
524
- data: string;
525
- driverParam: string;
526
- notNull: false;
527
- hasDefault: false;
528
- isPrimaryKey: false;
529
- isAutoincrement: false;
530
- hasRuntimeDefault: false;
531
- enumValues: [string, ...string[]];
532
- baseColumn: never;
533
- identity: undefined;
534
- generated: undefined;
535
- }, {}, {}>;
536
- status: import("drizzle-orm/pg-core").PgColumn<{
537
- name: "status";
538
- tableName: "_bunderstack_emails";
502
+ channel: import("drizzle-orm/pg-core").PgColumn<{
503
+ name: "channel";
504
+ tableName: "_bunderstack_messages";
539
505
  dataType: "string";
540
506
  columnType: "PgText";
541
507
  data: string;
@@ -550,9 +516,9 @@ export declare const bunderstackEmailsPg: import("drizzle-orm/pg-core").PgTableW
550
516
  identity: undefined;
551
517
  generated: undefined;
552
518
  }, {}, {}>;
553
- from: import("drizzle-orm/pg-core").PgColumn<{
554
- name: "from_address";
555
- tableName: "_bunderstack_emails";
519
+ kind: import("drizzle-orm/pg-core").PgColumn<{
520
+ name: "kind";
521
+ tableName: "_bunderstack_messages";
556
522
  dataType: "string";
557
523
  columnType: "PgText";
558
524
  data: string;
@@ -567,26 +533,9 @@ export declare const bunderstackEmailsPg: import("drizzle-orm/pg-core").PgTableW
567
533
  identity: undefined;
568
534
  generated: undefined;
569
535
  }, {}, {}>;
570
- toJson: import("drizzle-orm/pg-core").PgColumn<{
571
- name: "to_json";
572
- tableName: "_bunderstack_emails";
573
- dataType: "string";
574
- columnType: "PgText";
575
- data: string;
576
- driverParam: string;
577
- notNull: true;
578
- hasDefault: false;
579
- isPrimaryKey: false;
580
- isAutoincrement: false;
581
- hasRuntimeDefault: false;
582
- enumValues: [string, ...string[]];
583
- baseColumn: never;
584
- identity: undefined;
585
- generated: undefined;
586
- }, {}, {}>;
587
- ccJson: import("drizzle-orm/pg-core").PgColumn<{
588
- name: "cc_json";
589
- tableName: "_bunderstack_emails";
536
+ provider: import("drizzle-orm/pg-core").PgColumn<{
537
+ name: "provider";
538
+ tableName: "_bunderstack_messages";
590
539
  dataType: "string";
591
540
  columnType: "PgText";
592
541
  data: string;
@@ -601,9 +550,9 @@ export declare const bunderstackEmailsPg: import("drizzle-orm/pg-core").PgTableW
601
550
  identity: undefined;
602
551
  generated: undefined;
603
552
  }, {}, {}>;
604
- bccJson: import("drizzle-orm/pg-core").PgColumn<{
605
- name: "bcc_json";
606
- tableName: "_bunderstack_emails";
553
+ credentialSource: import("drizzle-orm/pg-core").PgColumn<{
554
+ name: "credential_source";
555
+ tableName: "_bunderstack_messages";
607
556
  dataType: "string";
608
557
  columnType: "PgText";
609
558
  data: string;
@@ -618,9 +567,9 @@ export declare const bunderstackEmailsPg: import("drizzle-orm/pg-core").PgTableW
618
567
  identity: undefined;
619
568
  generated: undefined;
620
569
  }, {}, {}>;
621
- replyTo: import("drizzle-orm/pg-core").PgColumn<{
622
- name: "reply_to";
623
- tableName: "_bunderstack_emails";
570
+ providerId: import("drizzle-orm/pg-core").PgColumn<{
571
+ name: "provider_id";
572
+ tableName: "_bunderstack_messages";
624
573
  dataType: "string";
625
574
  columnType: "PgText";
626
575
  data: string;
@@ -635,9 +584,9 @@ export declare const bunderstackEmailsPg: import("drizzle-orm/pg-core").PgTableW
635
584
  identity: undefined;
636
585
  generated: undefined;
637
586
  }, {}, {}>;
638
- subject: import("drizzle-orm/pg-core").PgColumn<{
639
- name: "subject";
640
- tableName: "_bunderstack_emails";
587
+ status: import("drizzle-orm/pg-core").PgColumn<{
588
+ name: "status";
589
+ tableName: "_bunderstack_messages";
641
590
  dataType: "string";
642
591
  columnType: "PgText";
643
592
  data: string;
@@ -652,14 +601,14 @@ export declare const bunderstackEmailsPg: import("drizzle-orm/pg-core").PgTableW
652
601
  identity: undefined;
653
602
  generated: undefined;
654
603
  }, {}, {}>;
655
- html: import("drizzle-orm/pg-core").PgColumn<{
656
- name: "html";
657
- tableName: "_bunderstack_emails";
604
+ recipientsJson: import("drizzle-orm/pg-core").PgColumn<{
605
+ name: "recipients_json";
606
+ tableName: "_bunderstack_messages";
658
607
  dataType: "string";
659
608
  columnType: "PgText";
660
609
  data: string;
661
610
  driverParam: string;
662
- notNull: false;
611
+ notNull: true;
663
612
  hasDefault: false;
664
613
  isPrimaryKey: false;
665
614
  isAutoincrement: false;
@@ -669,14 +618,14 @@ export declare const bunderstackEmailsPg: import("drizzle-orm/pg-core").PgTableW
669
618
  identity: undefined;
670
619
  generated: undefined;
671
620
  }, {}, {}>;
672
- text: import("drizzle-orm/pg-core").PgColumn<{
673
- name: "text";
674
- tableName: "_bunderstack_emails";
621
+ contentJson: import("drizzle-orm/pg-core").PgColumn<{
622
+ name: "content_json";
623
+ tableName: "_bunderstack_messages";
675
624
  dataType: "string";
676
625
  columnType: "PgText";
677
626
  data: string;
678
627
  driverParam: string;
679
- notNull: false;
628
+ notNull: true;
680
629
  hasDefault: false;
681
630
  isPrimaryKey: false;
682
631
  isAutoincrement: false;
@@ -688,7 +637,7 @@ export declare const bunderstackEmailsPg: import("drizzle-orm/pg-core").PgTableW
688
637
  }, {}, {}>;
689
638
  error: import("drizzle-orm/pg-core").PgColumn<{
690
639
  name: "error";
691
- tableName: "_bunderstack_emails";
640
+ tableName: "_bunderstack_messages";
692
641
  dataType: "string";
693
642
  columnType: "PgText";
694
643
  data: string;
@@ -705,7 +654,7 @@ export declare const bunderstackEmailsPg: import("drizzle-orm/pg-core").PgTableW
705
654
  }, {}, {}>;
706
655
  createdAt: import("drizzle-orm/pg-core").PgColumn<{
707
656
  name: "created_at";
708
- tableName: "_bunderstack_emails";
657
+ tableName: "_bunderstack_messages";
709
658
  dataType: "number";
710
659
  columnType: "PgBigInt53";
711
660
  data: number;
@@ -722,7 +671,7 @@ export declare const bunderstackEmailsPg: import("drizzle-orm/pg-core").PgTableW
722
671
  }, {}, {}>;
723
672
  updatedAt: import("drizzle-orm/pg-core").PgColumn<{
724
673
  name: "updated_at";
725
- tableName: "_bunderstack_emails";
674
+ tableName: "_bunderstack_messages";
726
675
  dataType: "number";
727
676
  columnType: "PgBigInt53";
728
677
  data: number;
@@ -740,13 +689,13 @@ export declare const bunderstackEmailsPg: import("drizzle-orm/pg-core").PgTableW
740
689
  };
741
690
  dialect: "pg";
742
691
  }>;
743
- export declare const bunderstackEmailEventsPg: import("drizzle-orm/pg-core").PgTableWithColumns<{
744
- name: "_bunderstack_email_events";
692
+ export declare const bunderstackMessageEventsPg: import("drizzle-orm/pg-core").PgTableWithColumns<{
693
+ name: "_bunderstack_message_events";
745
694
  schema: undefined;
746
695
  columns: {
747
696
  id: import("drizzle-orm/pg-core").PgColumn<{
748
697
  name: "id";
749
- tableName: "_bunderstack_email_events";
698
+ tableName: "_bunderstack_message_events";
750
699
  dataType: "string";
751
700
  columnType: "PgText";
752
701
  data: string;
@@ -761,9 +710,9 @@ export declare const bunderstackEmailEventsPg: import("drizzle-orm/pg-core").PgT
761
710
  identity: undefined;
762
711
  generated: undefined;
763
712
  }, {}, {}>;
764
- emailId: import("drizzle-orm/pg-core").PgColumn<{
765
- name: "email_id";
766
- tableName: "_bunderstack_email_events";
713
+ messageId: import("drizzle-orm/pg-core").PgColumn<{
714
+ name: "message_id";
715
+ tableName: "_bunderstack_message_events";
767
716
  dataType: "string";
768
717
  columnType: "PgText";
769
718
  data: string;
@@ -780,7 +729,7 @@ export declare const bunderstackEmailEventsPg: import("drizzle-orm/pg-core").PgT
780
729
  }, {}, {}>;
781
730
  externalId: import("drizzle-orm/pg-core").PgColumn<{
782
731
  name: "external_id";
783
- tableName: "_bunderstack_email_events";
732
+ tableName: "_bunderstack_message_events";
784
733
  dataType: "string";
785
734
  columnType: "PgText";
786
735
  data: string;
@@ -797,7 +746,7 @@ export declare const bunderstackEmailEventsPg: import("drizzle-orm/pg-core").PgT
797
746
  }, {}, {}>;
798
747
  type: import("drizzle-orm/pg-core").PgColumn<{
799
748
  name: "type";
800
- tableName: "_bunderstack_email_events";
749
+ tableName: "_bunderstack_message_events";
801
750
  dataType: "string";
802
751
  columnType: "PgText";
803
752
  data: string;
@@ -814,7 +763,7 @@ export declare const bunderstackEmailEventsPg: import("drizzle-orm/pg-core").PgT
814
763
  }, {}, {}>;
815
764
  detailJson: import("drizzle-orm/pg-core").PgColumn<{
816
765
  name: "detail_json";
817
- tableName: "_bunderstack_email_events";
766
+ tableName: "_bunderstack_message_events";
818
767
  dataType: "string";
819
768
  columnType: "PgText";
820
769
  data: string;
@@ -831,7 +780,7 @@ export declare const bunderstackEmailEventsPg: import("drizzle-orm/pg-core").PgT
831
780
  }, {}, {}>;
832
781
  occurredAt: import("drizzle-orm/pg-core").PgColumn<{
833
782
  name: "occurred_at";
834
- tableName: "_bunderstack_email_events";
783
+ tableName: "_bunderstack_message_events";
835
784
  dataType: "number";
836
785
  columnType: "PgBigInt53";
837
786
  data: number;
@@ -848,7 +797,7 @@ export declare const bunderstackEmailEventsPg: import("drizzle-orm/pg-core").PgT
848
797
  }, {}, {}>;
849
798
  createdAt: import("drizzle-orm/pg-core").PgColumn<{
850
799
  name: "created_at";
851
- tableName: "_bunderstack_email_events";
800
+ tableName: "_bunderstack_message_events";
852
801
  dataType: "number";
853
802
  columnType: "PgBigInt53";
854
803
  data: number;
@@ -1 +1 @@
1
- {"version":3,"file":"internal-tables-pg.d.ts","sourceRoot":"","sources":["../src/internal-tables-pg.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmB9B,CAAA;AAED,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWpC,CAAA;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqB7B,CAAA;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwB/B,CAAA;AAED,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBpC,CAAA"}
1
+ {"version":3,"file":"internal-tables-pg.d.ts","sourceRoot":"","sources":["../src/internal-tables-pg.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmB9B,CAAA;AAED,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWpC,CAAA;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqB7B,CAAA;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBjC,CAAA;AAED,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBtC,CAAA"}
@@ -44,39 +44,36 @@ export const bunderstackJobsPg = pgTable('_bunderstack_jobs', {
44
44
  index('bjq_type_run_at').on(t.type, t.runAt),
45
45
  uniqueIndex('bjq_dedupe').on(t.type, t.dedupeKey),
46
46
  ]);
47
- export const bunderstackEmailsPg = pgTable('_bunderstack_emails', {
47
+ export const bunderstackMessagesPg = pgTable('_bunderstack_messages', {
48
48
  id: text('id').primaryKey(),
49
+ channel: text('channel').notNull(),
50
+ kind: text('kind').notNull(),
49
51
  provider: text('provider').notNull(),
52
+ credentialSource: text('credential_source').notNull(),
50
53
  providerId: text('provider_id'),
51
54
  status: text('status').notNull(),
52
- from: text('from_address').notNull(),
53
- toJson: text('to_json').notNull(),
54
- ccJson: text('cc_json').notNull(),
55
- bccJson: text('bcc_json').notNull(),
56
- replyTo: text('reply_to'),
57
- subject: text('subject').notNull(),
58
- html: text('html'),
59
- text: text('text'),
55
+ recipientsJson: text('recipients_json').notNull(),
56
+ contentJson: text('content_json').notNull(),
60
57
  error: text('error'),
61
58
  createdAt: bigint('created_at', { mode: 'number' }).notNull(),
62
59
  updatedAt: bigint('updated_at', { mode: 'number' }).notNull(),
63
60
  }, (t) => [
64
- index('bem_created').on(t.createdAt),
65
- index('bem_status').on(t.status, t.createdAt),
66
- uniqueIndex('bem_provider_id').on(t.provider, t.providerId),
61
+ index('bmsg_created').on(t.createdAt),
62
+ index('bmsg_channel_status').on(t.channel, t.status, t.createdAt),
63
+ uniqueIndex('bmsg_provider_id').on(t.provider, t.providerId),
67
64
  ]);
68
- export const bunderstackEmailEventsPg = pgTable('_bunderstack_email_events', {
65
+ export const bunderstackMessageEventsPg = pgTable('_bunderstack_message_events', {
69
66
  id: text('id').primaryKey(),
70
- emailId: text('email_id')
67
+ messageId: text('message_id')
71
68
  .notNull()
72
- .references(() => bunderstackEmailsPg.id, { onDelete: 'cascade' }),
69
+ .references(() => bunderstackMessagesPg.id, { onDelete: 'cascade' }),
73
70
  externalId: text('external_id').notNull(),
74
71
  type: text('type').notNull(),
75
72
  detailJson: text('detail_json'),
76
73
  occurredAt: bigint('occurred_at', { mode: 'number' }).notNull(),
77
74
  createdAt: bigint('created_at', { mode: 'number' }).notNull(),
78
75
  }, (t) => [
79
- uniqueIndex('beev_external').on(t.externalId),
80
- index('beev_email_time').on(t.emailId, t.occurredAt),
76
+ uniqueIndex('bmev_external').on(t.externalId),
77
+ index('bmev_message_time').on(t.messageId, t.occurredAt),
81
78
  ]);
82
79
  //# sourceMappingURL=internal-tables-pg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal-tables-pg.js","sourceRoot":"","sources":["../src/internal-tables-pg.ts"],"names":[],"mappings":"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","sourcesContent":["// src/internal-tables-pg.ts — Postgres twins of the internal tables. Same\n// table/column names and row shapes as the sqlite originals; timestamps stay\n// integer milliseconds (bigint mode:number) so shared code never branches.\nimport {\n bigint,\n index,\n integer,\n pgTable,\n primaryKey,\n text,\n uniqueIndex,\n} from 'drizzle-orm/pg-core'\n\nexport const bunderstackFilesPg = pgTable(\n 'bunderstack_file_meta',\n {\n fileId: text('file_id').primaryKey(),\n bucket: text('bucket').notNull(),\n ownerId: text('owner_id'),\n scopeJson: text('scope_json'),\n status: text('status').notNull(),\n filename: text('filename'),\n contentType: text('content_type'),\n size: bigint('size', { mode: 'number' }),\n createdAt: bigint('created_at', { mode: 'number' }).notNull(),\n confirmedAt: bigint('confirmed_at', { mode: 'number' }),\n },\n (t) => [\n index('bfm_owner').on(t.ownerId),\n index('bfm_scope').on(t.bucket, t.scopeJson),\n index('bfm_sweep').on(t.status, t.createdAt),\n ],\n)\n\nexport const bunderstackIdempotencyPg = pgTable(\n '_bunderstack_idempotency',\n {\n key: text('key').notNull(),\n tableName: text('table_name').notNull(),\n bodyHash: text('body_hash').notNull(),\n status: integer('status').notNull(),\n response: text('response').notNull(),\n expiresAt: bigint('expires_at', { mode: 'number' }).notNull(),\n },\n (t) => [primaryKey({ columns: [t.key, t.tableName] })],\n)\n\nexport const bunderstackJobsPg = pgTable(\n '_bunderstack_jobs',\n {\n id: text('id').primaryKey(),\n type: text('type').notNull(),\n payloadJson: text('payload_json').notNull(),\n status: text('status').notNull(),\n attempts: integer('attempts').notNull().default(0),\n runAt: bigint('run_at', { mode: 'number' }).notNull(),\n lockedUntil: bigint('locked_until', { mode: 'number' }),\n dedupeKey: text('dedupe_key'),\n lastError: text('last_error'),\n createdAt: bigint('created_at', { mode: 'number' }).notNull(),\n finishedAt: bigint('finished_at', { mode: 'number' }),\n },\n (t) => [\n index('bjq_claim').on(t.status, t.runAt),\n index('bjq_type_status').on(t.type, t.status),\n index('bjq_type_run_at').on(t.type, t.runAt),\n uniqueIndex('bjq_dedupe').on(t.type, t.dedupeKey),\n ],\n)\n\nexport const bunderstackEmailsPg = pgTable(\n '_bunderstack_emails',\n {\n id: text('id').primaryKey(),\n provider: text('provider').notNull(),\n providerId: text('provider_id'),\n status: text('status').notNull(),\n from: text('from_address').notNull(),\n toJson: text('to_json').notNull(),\n ccJson: text('cc_json').notNull(),\n bccJson: text('bcc_json').notNull(),\n replyTo: text('reply_to'),\n subject: text('subject').notNull(),\n html: text('html'),\n text: text('text'),\n error: text('error'),\n createdAt: bigint('created_at', { mode: 'number' }).notNull(),\n updatedAt: bigint('updated_at', { mode: 'number' }).notNull(),\n },\n (t) => [\n index('bem_created').on(t.createdAt),\n index('bem_status').on(t.status, t.createdAt),\n uniqueIndex('bem_provider_id').on(t.provider, t.providerId),\n ],\n)\n\nexport const bunderstackEmailEventsPg = pgTable(\n '_bunderstack_email_events',\n {\n id: text('id').primaryKey(),\n emailId: text('email_id')\n .notNull()\n .references(() => bunderstackEmailsPg.id, { onDelete: 'cascade' }),\n externalId: text('external_id').notNull(),\n type: text('type').notNull(),\n detailJson: text('detail_json'),\n occurredAt: bigint('occurred_at', { mode: 'number' }).notNull(),\n createdAt: bigint('created_at', { mode: 'number' }).notNull(),\n },\n (t) => [\n uniqueIndex('beev_external').on(t.externalId),\n index('beev_email_time').on(t.emailId, t.occurredAt),\n ],\n)\n"]}
1
+ {"version":3,"file":"internal-tables-pg.js","sourceRoot":"","sources":["../src/internal-tables-pg.ts"],"names":[],"mappings":"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","sourcesContent":["// src/internal-tables-pg.ts — Postgres twins of the internal tables. Same\n// table/column names and row shapes as the sqlite originals; timestamps stay\n// integer milliseconds (bigint mode:number) so shared code never branches.\nimport {\n bigint,\n index,\n integer,\n pgTable,\n primaryKey,\n text,\n uniqueIndex,\n} from 'drizzle-orm/pg-core'\n\nexport const bunderstackFilesPg = pgTable(\n 'bunderstack_file_meta',\n {\n fileId: text('file_id').primaryKey(),\n bucket: text('bucket').notNull(),\n ownerId: text('owner_id'),\n scopeJson: text('scope_json'),\n status: text('status').notNull(),\n filename: text('filename'),\n contentType: text('content_type'),\n size: bigint('size', { mode: 'number' }),\n createdAt: bigint('created_at', { mode: 'number' }).notNull(),\n confirmedAt: bigint('confirmed_at', { mode: 'number' }),\n },\n (t) => [\n index('bfm_owner').on(t.ownerId),\n index('bfm_scope').on(t.bucket, t.scopeJson),\n index('bfm_sweep').on(t.status, t.createdAt),\n ],\n)\n\nexport const bunderstackIdempotencyPg = pgTable(\n '_bunderstack_idempotency',\n {\n key: text('key').notNull(),\n tableName: text('table_name').notNull(),\n bodyHash: text('body_hash').notNull(),\n status: integer('status').notNull(),\n response: text('response').notNull(),\n expiresAt: bigint('expires_at', { mode: 'number' }).notNull(),\n },\n (t) => [primaryKey({ columns: [t.key, t.tableName] })],\n)\n\nexport const bunderstackJobsPg = pgTable(\n '_bunderstack_jobs',\n {\n id: text('id').primaryKey(),\n type: text('type').notNull(),\n payloadJson: text('payload_json').notNull(),\n status: text('status').notNull(),\n attempts: integer('attempts').notNull().default(0),\n runAt: bigint('run_at', { mode: 'number' }).notNull(),\n lockedUntil: bigint('locked_until', { mode: 'number' }),\n dedupeKey: text('dedupe_key'),\n lastError: text('last_error'),\n createdAt: bigint('created_at', { mode: 'number' }).notNull(),\n finishedAt: bigint('finished_at', { mode: 'number' }),\n },\n (t) => [\n index('bjq_claim').on(t.status, t.runAt),\n index('bjq_type_status').on(t.type, t.status),\n index('bjq_type_run_at').on(t.type, t.runAt),\n uniqueIndex('bjq_dedupe').on(t.type, t.dedupeKey),\n ],\n)\n\nexport const bunderstackMessagesPg = pgTable(\n '_bunderstack_messages',\n {\n id: text('id').primaryKey(),\n channel: text('channel').notNull(),\n kind: text('kind').notNull(),\n provider: text('provider').notNull(),\n credentialSource: text('credential_source').notNull(),\n providerId: text('provider_id'),\n status: text('status').notNull(),\n recipientsJson: text('recipients_json').notNull(),\n contentJson: text('content_json').notNull(),\n error: text('error'),\n createdAt: bigint('created_at', { mode: 'number' }).notNull(),\n updatedAt: bigint('updated_at', { mode: 'number' }).notNull(),\n },\n (t) => [\n index('bmsg_created').on(t.createdAt),\n index('bmsg_channel_status').on(t.channel, t.status, t.createdAt),\n uniqueIndex('bmsg_provider_id').on(t.provider, t.providerId),\n ],\n)\n\nexport const bunderstackMessageEventsPg = pgTable(\n '_bunderstack_message_events',\n {\n id: text('id').primaryKey(),\n messageId: text('message_id')\n .notNull()\n .references(() => bunderstackMessagesPg.id, { onDelete: 'cascade' }),\n externalId: text('external_id').notNull(),\n type: text('type').notNull(),\n detailJson: text('detail_json'),\n occurredAt: bigint('occurred_at', { mode: 'number' }).notNull(),\n createdAt: bigint('created_at', { mode: 'number' }).notNull(),\n },\n (t) => [\n uniqueIndex('bmev_external').on(t.externalId),\n index('bmev_message_time').on(t.messageId, t.occurredAt),\n ],\n)\n"]}