@agelum/backend 0.1.2 → 0.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.
Files changed (107) hide show
  1. package/README.md +127 -8
  2. package/dist/client/hooks.d.ts +1 -1
  3. package/dist/client/hooks.d.ts.map +1 -1
  4. package/dist/client/hooks.js +343 -0
  5. package/dist/client/hooks.js.map +1 -0
  6. package/dist/client/index.d.ts +6 -6
  7. package/dist/client/index.d.ts.map +1 -1
  8. package/dist/client/index.js +15 -0
  9. package/dist/client/index.js.map +1 -0
  10. package/dist/client/manager.d.ts +4 -4
  11. package/dist/client/manager.d.ts.map +1 -1
  12. package/dist/client/manager.js +287 -0
  13. package/dist/client/manager.js.map +1 -0
  14. package/dist/client/provider.d.ts +1 -1
  15. package/dist/client/provider.d.ts.map +1 -1
  16. package/dist/client/provider.js +84 -0
  17. package/dist/client/provider.js.map +1 -0
  18. package/dist/client/revalidation.d.ts +2 -2
  19. package/dist/client/revalidation.d.ts.map +1 -1
  20. package/dist/client/revalidation.js +308 -0
  21. package/dist/client/revalidation.js.map +1 -0
  22. package/dist/client/session.d.ts +84 -0
  23. package/dist/client/session.d.ts.map +1 -0
  24. package/dist/client/session.js +180 -0
  25. package/dist/client/session.js.map +1 -0
  26. package/dist/client/sse-client.d.ts +1 -1
  27. package/dist/client/sse-client.d.ts.map +1 -1
  28. package/dist/client/sse-client.js +217 -0
  29. package/dist/client/sse-client.js.map +1 -0
  30. package/dist/client/storage.d.ts +1 -1
  31. package/dist/client/storage.d.ts.map +1 -1
  32. package/dist/client/storage.js +489 -0
  33. package/dist/client/storage.js.map +1 -0
  34. package/dist/client/trpc.js +29 -0
  35. package/dist/client/trpc.js.map +1 -0
  36. package/dist/client/types.d.ts +10 -0
  37. package/dist/client/types.d.ts.map +1 -0
  38. package/dist/client/types.js +2 -0
  39. package/dist/client/types.js.map +1 -0
  40. package/dist/client.d.ts +6 -6
  41. package/dist/client.d.ts.map +1 -1
  42. package/dist/client.js +14 -0
  43. package/dist/client.js.map +1 -0
  44. package/dist/config/schema.d.ts +81 -18
  45. package/dist/config/schema.d.ts.map +1 -1
  46. package/dist/config/schema.js +42 -38
  47. package/dist/config/schema.js.map +1 -1
  48. package/dist/core/analyzer.d.ts +1 -1
  49. package/dist/core/analyzer.d.ts.map +1 -1
  50. package/dist/core/analyzer.js +212 -0
  51. package/dist/core/analyzer.js.map +1 -0
  52. package/dist/core/driver.d.ts +1 -1
  53. package/dist/core/driver.d.ts.map +1 -1
  54. package/dist/core/driver.js +138 -47
  55. package/dist/core/driver.js.map +1 -1
  56. package/dist/core/function.d.ts +14 -3
  57. package/dist/core/function.d.ts.map +1 -1
  58. package/dist/core/function.js +76 -35
  59. package/dist/core/function.js.map +1 -1
  60. package/dist/core/sse.d.ts +1 -1
  61. package/dist/core/sse.d.ts.map +1 -1
  62. package/dist/core/sse.js +323 -0
  63. package/dist/core/sse.js.map +1 -0
  64. package/dist/core/types.d.ts +48 -8
  65. package/dist/core/types.d.ts.map +1 -1
  66. package/dist/core/types.js +1 -2
  67. package/dist/index.d.ts +12 -12
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +9 -25
  70. package/dist/index.js.map +1 -1
  71. package/dist/providers/localStorage.d.ts +1 -1
  72. package/dist/providers/localStorage.d.ts.map +1 -1
  73. package/dist/providers/localStorage.js +66 -0
  74. package/dist/providers/localStorage.js.map +1 -0
  75. package/dist/providers/memory.d.ts +1 -1
  76. package/dist/providers/memory.d.ts.map +1 -1
  77. package/dist/providers/memory.js +36 -0
  78. package/dist/providers/memory.js.map +1 -0
  79. package/dist/providers/redis.d.ts +9 -3
  80. package/dist/providers/redis.d.ts.map +1 -1
  81. package/dist/providers/redis.js +74 -0
  82. package/dist/providers/redis.js.map +1 -0
  83. package/dist/server.d.ts +11 -11
  84. package/dist/server.d.ts.map +1 -1
  85. package/dist/server.js +8 -23
  86. package/dist/server.js.map +1 -1
  87. package/dist/trpc/hooks.d.ts +82 -0
  88. package/dist/trpc/hooks.d.ts.map +1 -0
  89. package/dist/trpc/hooks.js +276 -0
  90. package/dist/trpc/hooks.js.map +1 -0
  91. package/dist/trpc/index.d.ts +4 -4
  92. package/dist/trpc/index.d.ts.map +1 -1
  93. package/dist/trpc/index.js +2 -12
  94. package/dist/trpc/index.js.map +1 -1
  95. package/dist/trpc/router.d.ts +3 -3
  96. package/dist/trpc/router.d.ts.map +1 -1
  97. package/dist/trpc/router.js +6 -12
  98. package/dist/trpc/router.js.map +1 -1
  99. package/dist/trpc/types.d.ts +2 -2
  100. package/dist/trpc/types.d.ts.map +1 -1
  101. package/dist/trpc/types.js +1 -2
  102. package/dist/trpc/types.js.map +1 -1
  103. package/package.json +13 -1
  104. package/dist/examples/teamhub-integration.d.ts +0 -56
  105. package/dist/examples/teamhub-integration.d.ts.map +0 -1
  106. package/dist/examples/teamhub-integration.js +0 -192
  107. package/dist/examples/teamhub-integration.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"function.js","sourceRoot":"","sources":["../../src/core/function.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"function.js","sourceRoot":"","sources":["../../src/core/function.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA0HH;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAIpC,MAGC;IAED,yBAAyB;IACzB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,gCAAgC,CACjC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,wCAAwC,CACzC,CAAC;IACJ,CAAC;IAED,IACE,CAAC,MAAM,CAAC,YAAY;QACpB,MAAM,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAChC,CAAC;QACD,MAAM,IAAI,KAAK,CACb,8CAA8C,CAC/C,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,4CAA4C,CAC7C,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAChB,MAAM,CAAC,YAAY;QACnB,MAAM,CAAC,KAAK,EAAE,OAAO;QACrB,KAAK,CAAC;IAER,8BAA8B;IAC9B,MAAM,WAAW,GAAG;QAClB,GAAG,EAAE,GAAG,EAAE,oBAAoB;QAC9B,GAAG,EAAE,CAAC,KAAa,EAAE,EAAE,CACrB,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;QAC3C,GAAG,MAAM,CAAC,KAAK;QACf,OAAO,EAAE,YAAY;KACtB,CAAC;IAEF;;OAEG;IACH,MAAM,OAAO,GAAG,KAAK,EACnB,KAAa,EACb,EAAc,EACI,EAAE;QACpB,iBAAiB;QACjB,MAAM,cAAc,GAClB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE5B,qBAAqB;QACrB,MAAM,QAAQ,GAAG,WAAW,CAC1B,cAAc,CACf,CAAC;QAEF,OAAO,CAAC,GAAG,CACT,yDAAyD,QAAQ,EAAE,CACpE,CAAC;QAEF,IAAI,CAAC;YACH,yBAAyB;YACzB,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;gBACxB,MAAM,MAAM,GACV,MAAM,eAAe,CACnB,EAAE,EACF,QAAQ,CACT,CAAC;gBACJ,IACE,MAAM;oBACN,CAAC,YAAY,CACX,MAAM,EACN,WAAW,CAAC,GAAG,CAChB,EACD,CAAC;oBACD,OAAO,CAAC,GAAG,CACT,oCAAoC,QAAQ,EAAE,CAC/C,CAAC;oBACF,OAAO,MAAM,CAAC,IAAI,CAAC;gBACrB,CAAC;YACH,CAAC;YAED,2EAA2E;YAC3E,IAAI,MAAe,CAAC;YAEpB,IAAI,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;gBAChC,gCAAgC;gBAChC,OAAO,CAAC,GAAG,CACT,gCAAgC,MAAM,CAAC,IAAI,qCAAqC,MAAM,CAAC,WAAW,CAAC,eAAe,IAAI,SAAS,GAAG,CACnI,CAAC;gBACF,MAAM,GAAG,MAAM,EAAE,CAAC,WAAW,CAC3B;oBACE,eAAe,EACb,MAAM,CAAC,WAAW;yBACf,eAAe;iBACrB,EACD,KAAK,IAAI,EAAE;oBACT,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC;wBAC1B,KAAK,EAAE,cAAc;wBACrB,EAAE;qBACH,CAAC,CAAC;gBACL,CAAC,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,sCAAsC;gBACtC,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;oBAC5B,KAAK,EAAE,cAAc;oBACrB,EAAE;iBACH,CAAC,CAAC;YACL,CAAC;YAED,0BAA0B;YAC1B,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;gBACxB,MAAM,WAAW,CACf,EAAE,EACF,QAAQ,EACR,MAAM,EACN,WAAW,CAAC,GAAG,EACf;oBACE,YAAY,EACV,MAAM,CAAC,YAAY;oBACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CACF,CAAC;YACJ,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,0CAA0C,QAAQ,GAAG,EACrD,KAAK,CACN,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF;;OAEG;IACH,MAAM,WAAW,GAAG,CAClB,KAAa,EACL,EAAE;QACV,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF;;OAEG;IACH,MAAM,gBAAgB,GAAG,CACvB,MAA0B,EACjB,EAAE;QACX,oDAAoD;QACpD,IACE,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAC3B,MAAM,CAAC,KAAK,CACb,EACD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,kCAAkC;QAClC,IACE,MAAM,CAAC,cAAc;YACrB,MAAM,CAAC,cAAc,CACnB,MAAM,CAAC,KAAK,CACb,EACD,CAAC;YACD,IAAI,CAAC;gBACH,OAAO,MAAM,CAAC,cAAc,CAC1B,MAAM,CAAC,KAAK,CACb,CAAC,MAAM,CAAC,CAAC;YACZ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CACV,6CAA6C,EAC7C,KAAK,CACN,CAAC;gBACF,4CAA4C;gBAC5C,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,kDAAkD;QAClD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF;;OAEG;IACH,MAAM,WAAW,GACf,GAA6B,EAAE;QAC7B,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,YAAY,EACV,MAAM,CAAC,YAAY;YACrB,YAAY,EACV,WAAW,CAAC,OAAO;YACrB,QAAQ,EAAE,WAAW,CAAC,GAAG;YACzB,oBAAoB,EAClB,CAAC,CAAC,MAAM,CAAC,cAAc;YACzB,kBAAkB,EAChB,MAAM,CAAC,WAAW,EAAE,OAAO;gBAC3B,KAAK;YACP,0BAA0B,EACxB,MAAM,CAAC,WAAW;gBAChB,EAAE,eAAe;SACtB,CAAC;IACJ,CAAC,CAAC;IAEJ;;OAEG;IACH,MAAM,cAAc,GAAG,CACrB,EAAc,EACd,EAAE;QACF,OAAO,KAAK,EACV,IAAgC,EACd,EAAE;YACpB,mEAAmE;YACnE,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACjC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO;QACL,MAAM;QACN,OAAO;QACP,WAAW;QACX,gBAAgB;QAChB,WAAW;QACX,cAAc;KACf,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,wBAAwB;IAC3B,SAAS,GAAG,IAAI,GAAG,EAGxB,CAAC;IAEJ;;OAEG;IACH,QAAQ,CACN,IAAY,EACZ,EAGC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAChB,IAAI,EACJ,EAGC,CACF,CAAC;QACF,OAAO,CAAC,GAAG,CACT,2CAA2C,IAAI,EAAE,CAClD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CACX,IAAY,EACZ,KAAc,EACd,EAAc;QAEd,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CACb,qBAAqB,IAAI,aAAa,CACvC,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,CAAC,OAAO,CACf,KAAK,EACL,EAAE,CACW,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,GAAG,CACD,IAAY;QAIZ,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,KAAK,CAAC,IAAI,CACf,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,QAAQ;QAON,MAAM,qBAAqB,GAGvB,EAAE,CAAC;QAEP,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI;aAC1B,SAAS,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;YAClC,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;gBACxC,IACE,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAC3B,CAAC;oBACD,qBAAqB,CAAC,GAAG,CAAC;wBACxB,EAAE,CAAC;gBACP,CAAC;gBACD,qBAAqB,CAAC,GAAG,CAAC,CAAC,IAAI,CAC7B,IAAI,CACL,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO;YACL,cAAc,EACZ,IAAI,CAAC,SAAS,CAAC,IAAI;YACrB,qBAAqB;SACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CACT,0CAA0C,CAC3C,CAAC;IACJ,CAAC;CACF;AAED,2BAA2B;AAC3B,IAAI,cAAc,GAChB,IAAI,CAAC;AAEP;;GAEG;AACH,MAAM,UAAU,2BAA2B;IACzC,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,cAAc;YACZ,IAAI,wBAAwB,EAAE,CAAC;IACnC,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAItC,IAAY,EACZ,MAGC;IAED,MAAM,EAAE,GACN,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,QAAQ,GACZ,2BAA2B,EAAE,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC5B,OAAO,EAAE,CAAC;AACZ,CAAC;AAaD;;GAEG;AACH,KAAK,UAAU,eAAe,CAC5B,EAAc,EACd,QAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC5B,MAAM,MAAM,GACV,MAAM,KAAK,CAAC,GAAG,CACb,QAAQ,CACT,CAAC;QACJ,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CACV,qCAAqC,EACrC,KAAK,CACN,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CACnB,MAA6B,EAC7B,GAAW;IAEX,MAAM,GAAG,GACP,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC;IAChC,OAAO,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,8BAA8B;AACzD,CAAC;AAUD;;GAEG;AACH,KAAK,UAAU,WAAW,CACxB,EAAc,EACd,QAAgB,EAChB,IAAO,EACP,GAAW,EACX,QAAuB;IAEvB,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CACT,yCAAyC,QAAQ,aAAa,GAAG,GAAG,CACrE,CAAC;QAEF,MAAM,UAAU,GAAG;YACjB,IAAI;YACJ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,QAAQ;SACT,CAAC;QAEF,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC5B,MAAM,KAAK,CAAC,GAAG,CACb,QAAQ,EACR,UAAU,EACV,GAAG,CACJ,CAAC;QACF,MAAM,qBAAqB,CACzB,KAAK,EACL,QAAQ,CAAC,YAAY,EACrB,QAAQ,CACT,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CACV,qCAAqC,EACrC,KAAK,CACN,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,0BAA0B,GAAG,CACjC,UAAkB,EACV,EAAE,CACV,uCAAuC,UAAU,EAAE,CAAC;AAEtD,KAAK,UAAU,qBAAqB,CAClC,KAAoB,EACpB,YAAsB,EACtB,QAAgB;IAEhB,MAAM,OAAO,CAAC,GAAG,CACf,YAAY,CAAC,GAAG,CACd,KAAK,EAAE,UAAU,EAAE,EAAE;QACnB,MAAM,QAAQ,GACZ,0BAA0B,CACxB,UAAU,CACX,CAAC;QACJ,MAAM,QAAQ,GACZ,CAAC,MAAM,KAAK,CAAC,GAAG,CACd,QAAQ,CACT,CAAC,IAAI,EAAE,CAAC;QACX,IACE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAC3B,CAAC;YACD,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG;YACX,GAAG,QAAQ;YACX,QAAQ;SACT,CAAC;QACF,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC,CACF,CACF,CAAC;AACJ,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * Server-Sent Events implementation for real-time cache invalidation
3
3
  * Perfect for unidirectional communication with automatic reconnection
4
4
  */
5
- import type { InvalidationEvent } from './types';
5
+ import type { InvalidationEvent } from './types.js';
6
6
  export interface SSEConnection {
7
7
  organizationId: string;
8
8
  controller: ReadableStreamDefaultController;
@@ -1 +1 @@
1
- {"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../../src/core/sse.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEhD,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,+BAA+B,CAAA;IAC3C,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,EAAE,iBAAiB,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;GAGG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,WAAW,CAAwC;IAC3D,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,yBAAyB,CAA8B;;IAM/D;;OAEG;IACH,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,QAAQ;IAgDjD;;OAEG;IACG,qBAAqB,CACzB,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,aAAa,CAAC,GACnE,OAAO,CAAC,IAAI,CAAC;IAmEhB;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IASvC;;OAEG;IACH,kBAAkB,IAAI;QACpB,gBAAgB,EAAE,MAAM,CAAA;QACxB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACxC,aAAa,EAAE,MAAM,CAAA;QACrB,YAAY,EAAE,YAAY,EAAE,CAAA;KAC7B;IAsBD;;OAEG;IACH,OAAO,CAAC,SAAS;IAcjB;;OAEG;IACH,OAAO,CAAC,aAAa;IAUrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA6C7B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAuC9B;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACH,OAAO,IAAI,IAAI;CAqBhB;AAKD;;GAEG;AACH,wBAAgB,aAAa,IAAI,UAAU,CAK1C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,QAAQ,CAGhE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,aAAa,CAAC,GACnE,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAGtD"}
1
+ {"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../../src/core/sse.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAEnD,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,+BAA+B,CAAA;IAC3C,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,EAAE,iBAAiB,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;GAGG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,WAAW,CAAwC;IAC3D,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,yBAAyB,CAA8B;;IAM/D;;OAEG;IACH,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,QAAQ;IAgDjD;;OAEG;IACG,qBAAqB,CACzB,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,aAAa,CAAC,GACnE,OAAO,CAAC,IAAI,CAAC;IAmEhB;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IASvC;;OAEG;IACH,kBAAkB,IAAI;QACpB,gBAAgB,EAAE,MAAM,CAAA;QACxB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACxC,aAAa,EAAE,MAAM,CAAA;QACrB,YAAY,EAAE,YAAY,EAAE,CAAA;KAC7B;IAsBD;;OAEG;IACH,OAAO,CAAC,SAAS;IAcjB;;OAEG;IACH,OAAO,CAAC,aAAa;IAUrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAaxB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA6C7B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAuC9B;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACH,OAAO,IAAI,IAAI;CAqBhB;AAKD;;GAEG;AACH,wBAAgB,aAAa,IAAI,UAAU,CAK1C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,QAAQ,CAGhE;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,aAAa,CAAC,GACnE,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAGtD"}
@@ -0,0 +1,323 @@
1
+ /**
2
+ * Server-Sent Events implementation for real-time cache invalidation
3
+ * Perfect for unidirectional communication with automatic reconnection
4
+ */
5
+ /**
6
+ * SSE Manager for reliable real-time communication
7
+ * NO HEARTBEATS - uses event acknowledgments and connection monitoring instead
8
+ */
9
+ export class SSEManager {
10
+ connections = new Map();
11
+ pendingEvents = new Map();
12
+ retrySchedule = [2000, 5000, 10000]; // 2s, 5s, 10s
13
+ connectionMonitorInterval = null;
14
+ constructor() {
15
+ this.startConnectionMonitor();
16
+ }
17
+ /**
18
+ * Create SSE stream for an organization
19
+ */
20
+ createSSEStream(organizationId) {
21
+ const encoder = new TextEncoder();
22
+ const stream = new ReadableStream({
23
+ start: (controller) => {
24
+ const connection = {
25
+ organizationId,
26
+ controller,
27
+ lastActivity: Date.now(), // Track last activity instead of heartbeat
28
+ isActive: true,
29
+ };
30
+ // Register connection
31
+ this.addConnection(organizationId, connection);
32
+ // Send initial connection event
33
+ this.sendEvent(controller, {
34
+ type: 'connected',
35
+ organizationId,
36
+ timestamp: Date.now(),
37
+ });
38
+ console.log(`[SSE] New connection for org: ${organizationId}`);
39
+ // Cleanup on disconnect
40
+ return () => {
41
+ console.log(`[SSE] Connection closed for org: ${organizationId}`);
42
+ connection.isActive = false;
43
+ this.removeConnection(organizationId, connection);
44
+ };
45
+ },
46
+ cancel: () => {
47
+ console.log(`[SSE] Stream cancelled for org: ${organizationId}`);
48
+ },
49
+ });
50
+ return new Response(stream, {
51
+ headers: {
52
+ 'Content-Type': 'text/event-stream',
53
+ 'Cache-Control': 'no-cache',
54
+ Connection: 'keep-alive',
55
+ 'Access-Control-Allow-Origin': '*',
56
+ 'Access-Control-Allow-Headers': 'Cache-Control',
57
+ },
58
+ });
59
+ }
60
+ /**
61
+ * Broadcast invalidation event to all connections in an organization
62
+ */
63
+ async broadcastInvalidation(organizationId, invalidationData) {
64
+ const eventId = this.generateEventId();
65
+ const event = {
66
+ ...invalidationData,
67
+ eventId,
68
+ requiresAck: true,
69
+ };
70
+ console.log(`🔥 [SSE-BROADCAST] Broadcasting invalidation for org: ${organizationId}, table: ${event.table}, operation: ${event.operation}, eventId: ${eventId}`);
71
+ console.log('🔥 [SSE-BROADCAST] Event details:', {
72
+ table: event.table,
73
+ operation: event.operation,
74
+ affectedQueries: event.affectedQueries,
75
+ affectedKeys: event.affectedKeys,
76
+ });
77
+ // Store for potential retry
78
+ const pendingEvent = {
79
+ id: eventId,
80
+ organizationId,
81
+ data: event,
82
+ timestamp: Date.now(),
83
+ delivered: false,
84
+ retryCount: 0,
85
+ maxRetries: 3,
86
+ };
87
+ this.pendingEvents.set(eventId, pendingEvent);
88
+ // Send to all connections
89
+ const connections = this.connections.get(organizationId);
90
+ if (connections && connections.size > 0) {
91
+ let successCount = 0;
92
+ let failCount = 0;
93
+ for (const connection of connections) {
94
+ if (connection.isActive) {
95
+ try {
96
+ this.sendEvent(connection.controller, event);
97
+ // Update last activity when we successfully send an event
98
+ connection.lastActivity = Date.now();
99
+ successCount++;
100
+ }
101
+ catch (error) {
102
+ console.warn(`[SSE] Failed to send to connection:`, error);
103
+ connection.isActive = false;
104
+ failCount++;
105
+ }
106
+ }
107
+ }
108
+ console.log(`[SSE] Broadcast complete: ${successCount} sent, ${failCount} failed`);
109
+ // If no successful sends, schedule retry
110
+ if (successCount === 0) {
111
+ this.scheduleRetryIfNeeded(eventId);
112
+ }
113
+ }
114
+ else {
115
+ console.log(`[SSE] No active connections for org: ${organizationId}`);
116
+ // Still schedule retry in case connections come back
117
+ this.scheduleRetryIfNeeded(eventId);
118
+ }
119
+ }
120
+ /**
121
+ * Acknowledge event receipt (called by client)
122
+ */
123
+ acknowledgeEvent(eventId) {
124
+ const event = this.pendingEvents.get(eventId);
125
+ if (event) {
126
+ event.delivered = true;
127
+ this.pendingEvents.delete(eventId);
128
+ console.log(`[SSE] Event acknowledged: ${eventId}`);
129
+ }
130
+ }
131
+ /**
132
+ * Get connection statistics
133
+ */
134
+ getConnectionStats() {
135
+ const connectionsByOrg = {};
136
+ let totalConnections = 0;
137
+ for (const [orgId, connections] of this.connections) {
138
+ const activeConnections = Array.from(connections).filter((conn) => conn.isActive).length;
139
+ connectionsByOrg[orgId] = activeConnections;
140
+ totalConnections += activeConnections;
141
+ }
142
+ return {
143
+ totalConnections,
144
+ connectionsByOrg,
145
+ pendingEvents: this.pendingEvents.size,
146
+ activeEvents: Array.from(this.pendingEvents.values()).filter((event) => !event.delivered),
147
+ };
148
+ }
149
+ /**
150
+ * Send event to a specific connection
151
+ */
152
+ sendEvent(controller, data) {
153
+ try {
154
+ const encoder = new TextEncoder();
155
+ const eventData = `data: ${JSON.stringify(data)}\n\n`;
156
+ controller.enqueue(encoder.encode(eventData));
157
+ }
158
+ catch (error) {
159
+ console.warn('[SSE] Failed to send event:', error);
160
+ throw error;
161
+ }
162
+ }
163
+ /**
164
+ * Add connection to organization
165
+ */
166
+ addConnection(organizationId, connection) {
167
+ if (!this.connections.has(organizationId)) {
168
+ this.connections.set(organizationId, new Set());
169
+ }
170
+ this.connections.get(organizationId).add(connection);
171
+ }
172
+ /**
173
+ * Remove connection from organization
174
+ */
175
+ removeConnection(organizationId, connection) {
176
+ const connections = this.connections.get(organizationId);
177
+ if (connections) {
178
+ connections.delete(connection);
179
+ if (connections.size === 0) {
180
+ this.connections.delete(organizationId);
181
+ }
182
+ }
183
+ }
184
+ /**
185
+ * Schedule retry for unacknowledged events
186
+ */
187
+ scheduleRetryIfNeeded(eventId) {
188
+ const event = this.pendingEvents.get(eventId);
189
+ if (!event || event.delivered)
190
+ return;
191
+ const delay = this.retrySchedule[event.retryCount] || 10000;
192
+ setTimeout(async () => {
193
+ const currentEvent = this.pendingEvents.get(eventId);
194
+ if (!currentEvent || currentEvent.delivered)
195
+ return;
196
+ if (currentEvent.retryCount < currentEvent.maxRetries) {
197
+ currentEvent.retryCount++;
198
+ console.log(`[SSE] Retrying event ${eventId} (attempt ${currentEvent.retryCount})`);
199
+ // Retry broadcast
200
+ const connections = this.connections.get(currentEvent.organizationId);
201
+ if (connections && connections.size > 0) {
202
+ for (const connection of connections) {
203
+ if (connection.isActive) {
204
+ try {
205
+ this.sendEvent(connection.controller, {
206
+ ...currentEvent.data,
207
+ retry: currentEvent.retryCount,
208
+ });
209
+ // Update last activity on successful retry
210
+ connection.lastActivity = Date.now();
211
+ }
212
+ catch (error) {
213
+ connection.isActive = false;
214
+ }
215
+ }
216
+ }
217
+ }
218
+ this.scheduleRetryIfNeeded(eventId);
219
+ }
220
+ else {
221
+ console.warn(`[SSE] Event ${eventId} failed after ${currentEvent.maxRetries} retries`);
222
+ this.pendingEvents.delete(eventId);
223
+ }
224
+ }, delay);
225
+ }
226
+ /**
227
+ * Monitor connections for health without sending heartbeats
228
+ * Uses activity tracking and error detection instead of periodic messages
229
+ */
230
+ startConnectionMonitor() {
231
+ this.connectionMonitorInterval = setInterval(() => {
232
+ const now = Date.now();
233
+ const maxInactivity = 120000; // 2 minutes of inactivity
234
+ for (const [orgId, connections] of this.connections) {
235
+ for (const connection of connections) {
236
+ // Mark connections as inactive if they haven't had activity in 2 minutes
237
+ if (connection.isActive && now - connection.lastActivity > maxInactivity) {
238
+ console.log(`[SSE] Marking inactive connection as closed for org: ${orgId}`);
239
+ connection.isActive = false;
240
+ }
241
+ }
242
+ // Remove inactive connections
243
+ const activeConnections = Array.from(connections).filter((conn) => conn.isActive);
244
+ if (activeConnections.length !== connections.size) {
245
+ this.connections.set(orgId, new Set(activeConnections));
246
+ if (activeConnections.length === 0) {
247
+ this.connections.delete(orgId);
248
+ }
249
+ }
250
+ }
251
+ // Clean up old pending events (older than 5 minutes)
252
+ const maxEventAge = 300000; // 5 minutes
253
+ for (const [eventId, event] of this.pendingEvents) {
254
+ if (now - event.timestamp > maxEventAge) {
255
+ console.log(`[SSE] Cleaning up old pending event: ${eventId}`);
256
+ this.pendingEvents.delete(eventId);
257
+ }
258
+ }
259
+ }, 60000); // Check every minute instead of every 30 seconds
260
+ }
261
+ /**
262
+ * Generate unique event ID
263
+ */
264
+ generateEventId() {
265
+ return `evt_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
266
+ }
267
+ /**
268
+ * Cleanup resources
269
+ */
270
+ cleanup() {
271
+ if (this.connectionMonitorInterval) {
272
+ clearInterval(this.connectionMonitorInterval);
273
+ }
274
+ // Close all connections
275
+ for (const [, connections] of this.connections) {
276
+ for (const connection of connections) {
277
+ if (connection.isActive) {
278
+ try {
279
+ connection.controller.close();
280
+ }
281
+ catch (error) {
282
+ // Ignore close errors
283
+ }
284
+ }
285
+ }
286
+ }
287
+ this.connections.clear();
288
+ this.pendingEvents.clear();
289
+ }
290
+ }
291
+ // Global SSE manager instance
292
+ let globalSSEManager = null;
293
+ /**
294
+ * Get or create global SSE manager
295
+ */
296
+ export function getSSEManager() {
297
+ if (!globalSSEManager) {
298
+ globalSSEManager = new SSEManager();
299
+ }
300
+ return globalSSEManager;
301
+ }
302
+ /**
303
+ * Create SSE stream for Vercel/Next.js API routes
304
+ */
305
+ export function createSSEStream(organizationId) {
306
+ const manager = getSSEManager();
307
+ return manager.createSSEStream(organizationId);
308
+ }
309
+ /**
310
+ * Broadcast invalidation event
311
+ */
312
+ export async function broadcastInvalidation(organizationId, invalidationData) {
313
+ const manager = getSSEManager();
314
+ await manager.broadcastInvalidation(organizationId, invalidationData);
315
+ }
316
+ /**
317
+ * Acknowledge event (for API route)
318
+ */
319
+ export function acknowledgeEvent(eventId) {
320
+ const manager = getSSEManager();
321
+ manager.acknowledgeEvent(eventId);
322
+ }
323
+ //# sourceMappingURL=sse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sse.js","sourceRoot":"","sources":["../../src/core/sse.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import type { z } from 'zod';
1
+ import type { RedisClientType } from "redis";
2
+ import type { z } from "zod";
2
3
  /**
3
4
  * Drizzle database instance type
4
5
  * Uses a minimal interface to avoid tight coupling with specific Drizzle versions
@@ -21,17 +22,21 @@ export interface ReactiveConfig {
21
22
  /** Cache configuration (optional - smart defaults used) */
22
23
  cache?: {
23
24
  server?: {
24
- provider?: 'redis' | 'memory';
25
+ provider?: "redis" | "memory";
26
+ redis?: {
27
+ url?: string;
28
+ client?: RedisClientType;
29
+ };
25
30
  };
26
31
  client?: {
27
- provider?: 'localStorage' | 'sessionStorage';
32
+ provider?: "localStorage" | "sessionStorage";
28
33
  };
29
34
  };
30
35
  /** Real-time configuration (optional - SSE enabled by default) */
31
36
  realtime?: {
32
37
  enabled?: boolean;
33
- transport?: 'sse';
34
- fallback?: 'polling';
38
+ transport?: "sse";
39
+ fallback?: "polling";
35
40
  reliability?: {
36
41
  acknowledgments?: boolean;
37
42
  maxRetries?: number;
@@ -40,6 +45,36 @@ export interface ReactiveConfig {
40
45
  };
41
46
  };
42
47
  }
48
+ /**
49
+ * Replication mode for transactions in clustered databases
50
+ * - "sync": Wait for replication to complete before returning (strong consistency)
51
+ * - "async": Return immediately without waiting for replication (eventual consistency)
52
+ */
53
+ export type TransactionReplicationMode = "sync" | "async";
54
+ /**
55
+ * Transaction options for manual transaction control (Option 3)
56
+ */
57
+ export interface TransactionOptions {
58
+ /**
59
+ * Replication mode for clustered databases
60
+ * - "sync": Sets synchronous_commit = 'remote_apply' (waits for replicas)
61
+ * - "async": Sets synchronous_commit = 'local' (doesn't wait)
62
+ * @default undefined (uses database default)
63
+ */
64
+ replicationMode?: TransactionReplicationMode;
65
+ }
66
+ /**
67
+ * Transaction configuration for reactive functions (Option 1)
68
+ */
69
+ export interface TransactionConfig {
70
+ /** Enable transaction wrapping for the handler */
71
+ enabled: true;
72
+ /**
73
+ * Replication mode for clustered databases
74
+ * @default undefined (uses database default)
75
+ */
76
+ replicationMode?: TransactionReplicationMode;
77
+ }
43
78
  /**
44
79
  * Reactive database instance
45
80
  */
@@ -54,6 +89,11 @@ export interface ReactiveDb<TDrizzle extends DrizzleDatabase = DrizzleDatabase>
54
89
  getCache: () => CacheProvider;
55
90
  /** Subscribe to invalidation events */
56
91
  subscribe: (organizationId: string, callback: InvalidationCallback) => () => void;
92
+ /**
93
+ * Execute operations within a transaction (Option 3)
94
+ * Use this for fine-grained transaction control within handlers
95
+ */
96
+ transaction: <T>(options: TransactionOptions, callback: (tx: TDrizzle) => Promise<T>) => Promise<T>;
57
97
  }
58
98
  /**
59
99
  * Cache provider interface
@@ -72,7 +112,7 @@ export interface SqlAnalysis {
72
112
  /** Table name */
73
113
  table: string;
74
114
  /** Operation type */
75
- operation: 'SELECT' | 'INSERT' | 'UPDATE' | 'DELETE';
115
+ operation: "SELECT" | "INSERT" | "UPDATE" | "DELETE";
76
116
  /** WHERE condition keys */
77
117
  whereKeys: string[];
78
118
  /** Affected columns */
@@ -100,7 +140,7 @@ export interface QueryMetadata {
100
140
  */
101
141
  export interface InvalidationEvent {
102
142
  /** Event type */
103
- type: 'invalidation';
143
+ type: "invalidation";
104
144
  /** Affected table */
105
145
  table: string;
106
146
  /** Organization ID */
@@ -172,7 +212,7 @@ export interface TableChange {
172
212
  /** Table name */
173
213
  table: string;
174
214
  /** Operation type */
175
- operation: 'INSERT' | 'UPDATE' | 'DELETE';
215
+ operation: "INSERT" | "UPDATE" | "DELETE";
176
216
  /** Affected keys/IDs */
177
217
  keys: string[];
178
218
  /** Organization ID */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=types.js.map
package/dist/index.d.ts CHANGED
@@ -24,17 +24,17 @@
24
24
  * // ✅ Type-safe with tRPC
25
25
  * ```
26
26
  */
27
- export { createReactiveDb } from "./core/driver";
28
- export { defineReactiveFunction } from "./core/function";
29
- export type { ReactiveConfig, ReactiveDb, DrizzleDatabase, ReactiveFunctionContext, CacheProvider, } from "./core/types";
30
- export type { ReactiveFunctionConfig, ReactiveFunction, ReactiveFunctionMetadata, InvalidationChange, TrpcHandlerOptions, } from "./core/function";
31
- export { createReactiveRouter, ReactiveRouter, } from "./trpc/router";
32
- export type { ReactiveRouterInstance, BuiltReactiveRouter, ReactiveHandlerContext, } from "./trpc/types";
33
- export type { InvalidationRule, CacheStrategy, RealtimeConfig, } from "./config/schema";
34
- export { RedisProvider } from "./providers/redis";
35
- export { MemoryProvider } from "./providers/memory";
36
- export { LocalStorageProvider } from "./providers/localStorage";
37
- export { analyzeSql } from "./core/analyzer";
38
- export { createSSEStream, broadcastInvalidation, acknowledgeEvent, getSSEManager, SSEManager, } from "./core/sse";
27
+ export { createReactiveDb } from "./core/driver.js";
28
+ export { defineReactiveFunction } from "./core/function.js";
29
+ export type { ReactiveConfig, ReactiveDb, DrizzleDatabase, ReactiveFunctionContext, CacheProvider, } from "./core/types.js";
30
+ export type { ReactiveFunctionConfig, ReactiveFunction, ReactiveFunctionMetadata, InvalidationChange, TrpcHandlerOptions, } from "./core/function.js";
31
+ export { createReactiveRouter, ReactiveRouter, } from "./trpc/router.js";
32
+ export type { ReactiveRouterInstance, BuiltReactiveRouter, ReactiveHandlerContext, } from "./trpc/types.js";
33
+ export type { InvalidationRule, CacheStrategy, RealtimeConfig, } from "./config/schema.js";
34
+ export { RedisProvider } from "./providers/redis.js";
35
+ export { MemoryProvider } from "./providers/memory.js";
36
+ export { LocalStorageProvider } from "./providers/localStorage.js";
37
+ export { analyzeSql } from "./core/analyzer.js";
38
+ export { createSSEStream, broadcastInvalidation, acknowledgeEvent, getSSEManager, SSEManager, } from "./core/sse.js";
39
39
  export declare const version = "0.1.0";
40
40
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,YAAY,EACV,cAAc,EACd,UAAU,EACV,eAAe,EACf,uBAAuB,EACvB,aAAa,GACd,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,oBAAoB,EACpB,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AAQtB,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,cAAc,GACf,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGhE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,UAAU,GACX,MAAM,YAAY,CAAC;AAGpB,eAAO,MAAM,OAAO,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,YAAY,EACV,cAAc,EACd,UAAU,EACV,eAAe,EACf,uBAAuB,EACvB,aAAa,GACd,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EACV,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,oBAAoB,EACpB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAQzB,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,cAAc,GACf,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGnE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,UAAU,GACX,MAAM,eAAe,CAAC;AAGvB,eAAO,MAAM,OAAO,UAAU,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  /**
3
2
  * @agelum/backend - Zero configuration, maximum intelligence
4
3
  *
@@ -25,33 +24,18 @@
25
24
  * // ✅ Type-safe with tRPC
26
25
  * ```
27
26
  */
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.version = exports.SSEManager = exports.getSSEManager = exports.acknowledgeEvent = exports.broadcastInvalidation = exports.createSSEStream = exports.analyzeSql = exports.LocalStorageProvider = exports.MemoryProvider = exports.RedisProvider = exports.ReactiveRouter = exports.createReactiveRouter = exports.defineReactiveFunction = exports.createReactiveDb = void 0;
30
27
  // Core exports
31
- var driver_1 = require("./core/driver");
32
- Object.defineProperty(exports, "createReactiveDb", { enumerable: true, get: function () { return driver_1.createReactiveDb; } });
33
- var function_1 = require("./core/function");
34
- Object.defineProperty(exports, "defineReactiveFunction", { enumerable: true, get: function () { return function_1.defineReactiveFunction; } });
28
+ export { createReactiveDb } from "./core/driver.js";
29
+ export { defineReactiveFunction } from "./core/function.js";
35
30
  // tRPC integration exports
36
- var router_1 = require("./trpc/router");
37
- Object.defineProperty(exports, "createReactiveRouter", { enumerable: true, get: function () { return router_1.createReactiveRouter; } });
38
- Object.defineProperty(exports, "ReactiveRouter", { enumerable: true, get: function () { return router_1.ReactiveRouter; } });
31
+ export { createReactiveRouter, ReactiveRouter, } from "./trpc/router.js";
39
32
  // Provider exports
40
- var redis_1 = require("./providers/redis");
41
- Object.defineProperty(exports, "RedisProvider", { enumerable: true, get: function () { return redis_1.RedisProvider; } });
42
- var memory_1 = require("./providers/memory");
43
- Object.defineProperty(exports, "MemoryProvider", { enumerable: true, get: function () { return memory_1.MemoryProvider; } });
44
- var localStorage_1 = require("./providers/localStorage");
45
- Object.defineProperty(exports, "LocalStorageProvider", { enumerable: true, get: function () { return localStorage_1.LocalStorageProvider; } });
33
+ export { RedisProvider } from "./providers/redis.js";
34
+ export { MemoryProvider } from "./providers/memory.js";
35
+ export { LocalStorageProvider } from "./providers/localStorage.js";
46
36
  // Utility exports
47
- var analyzer_1 = require("./core/analyzer");
48
- Object.defineProperty(exports, "analyzeSql", { enumerable: true, get: function () { return analyzer_1.analyzeSql; } });
49
- var sse_1 = require("./core/sse");
50
- Object.defineProperty(exports, "createSSEStream", { enumerable: true, get: function () { return sse_1.createSSEStream; } });
51
- Object.defineProperty(exports, "broadcastInvalidation", { enumerable: true, get: function () { return sse_1.broadcastInvalidation; } });
52
- Object.defineProperty(exports, "acknowledgeEvent", { enumerable: true, get: function () { return sse_1.acknowledgeEvent; } });
53
- Object.defineProperty(exports, "getSSEManager", { enumerable: true, get: function () { return sse_1.getSSEManager; } });
54
- Object.defineProperty(exports, "SSEManager", { enumerable: true, get: function () { return sse_1.SSEManager; } });
37
+ export { analyzeSql } from "./core/analyzer.js";
38
+ export { createSSEStream, broadcastInvalidation, acknowledgeEvent, getSSEManager, SSEManager, } from "./core/sse.js";
55
39
  // Version
56
- exports.version = "0.1.0";
40
+ export const version = "0.1.0";
57
41
  //# sourceMappingURL=index.js.map