@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.
- package/README.md +127 -8
- package/dist/client/hooks.d.ts +1 -1
- package/dist/client/hooks.d.ts.map +1 -1
- package/dist/client/hooks.js +343 -0
- package/dist/client/hooks.js.map +1 -0
- package/dist/client/index.d.ts +6 -6
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +15 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/manager.d.ts +4 -4
- package/dist/client/manager.d.ts.map +1 -1
- package/dist/client/manager.js +287 -0
- package/dist/client/manager.js.map +1 -0
- package/dist/client/provider.d.ts +1 -1
- package/dist/client/provider.d.ts.map +1 -1
- package/dist/client/provider.js +84 -0
- package/dist/client/provider.js.map +1 -0
- package/dist/client/revalidation.d.ts +2 -2
- package/dist/client/revalidation.d.ts.map +1 -1
- package/dist/client/revalidation.js +308 -0
- package/dist/client/revalidation.js.map +1 -0
- package/dist/client/session.d.ts +84 -0
- package/dist/client/session.d.ts.map +1 -0
- package/dist/client/session.js +180 -0
- package/dist/client/session.js.map +1 -0
- package/dist/client/sse-client.d.ts +1 -1
- package/dist/client/sse-client.d.ts.map +1 -1
- package/dist/client/sse-client.js +217 -0
- package/dist/client/sse-client.js.map +1 -0
- package/dist/client/storage.d.ts +1 -1
- package/dist/client/storage.d.ts.map +1 -1
- package/dist/client/storage.js +489 -0
- package/dist/client/storage.js.map +1 -0
- package/dist/client/trpc.js +29 -0
- package/dist/client/trpc.js.map +1 -0
- package/dist/client/types.d.ts +10 -0
- package/dist/client/types.d.ts.map +1 -0
- package/dist/client/types.js +2 -0
- package/dist/client/types.js.map +1 -0
- package/dist/client.d.ts +6 -6
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +14 -0
- package/dist/client.js.map +1 -0
- package/dist/config/schema.d.ts +81 -18
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +42 -38
- package/dist/config/schema.js.map +1 -1
- package/dist/core/analyzer.d.ts +1 -1
- package/dist/core/analyzer.d.ts.map +1 -1
- package/dist/core/analyzer.js +212 -0
- package/dist/core/analyzer.js.map +1 -0
- package/dist/core/driver.d.ts +1 -1
- package/dist/core/driver.d.ts.map +1 -1
- package/dist/core/driver.js +138 -47
- package/dist/core/driver.js.map +1 -1
- package/dist/core/function.d.ts +14 -3
- package/dist/core/function.d.ts.map +1 -1
- package/dist/core/function.js +76 -35
- package/dist/core/function.js.map +1 -1
- package/dist/core/sse.d.ts +1 -1
- package/dist/core/sse.d.ts.map +1 -1
- package/dist/core/sse.js +323 -0
- package/dist/core/sse.js.map +1 -0
- package/dist/core/types.d.ts +48 -8
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +1 -2
- package/dist/index.d.ts +12 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -25
- package/dist/index.js.map +1 -1
- package/dist/providers/localStorage.d.ts +1 -1
- package/dist/providers/localStorage.d.ts.map +1 -1
- package/dist/providers/localStorage.js +66 -0
- package/dist/providers/localStorage.js.map +1 -0
- package/dist/providers/memory.d.ts +1 -1
- package/dist/providers/memory.d.ts.map +1 -1
- package/dist/providers/memory.js +36 -0
- package/dist/providers/memory.js.map +1 -0
- package/dist/providers/redis.d.ts +9 -3
- package/dist/providers/redis.d.ts.map +1 -1
- package/dist/providers/redis.js +74 -0
- package/dist/providers/redis.js.map +1 -0
- package/dist/server.d.ts +11 -11
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +8 -23
- package/dist/server.js.map +1 -1
- package/dist/trpc/hooks.d.ts +82 -0
- package/dist/trpc/hooks.d.ts.map +1 -0
- package/dist/trpc/hooks.js +276 -0
- package/dist/trpc/hooks.js.map +1 -0
- package/dist/trpc/index.d.ts +4 -4
- package/dist/trpc/index.d.ts.map +1 -1
- package/dist/trpc/index.js +2 -12
- package/dist/trpc/index.js.map +1 -1
- package/dist/trpc/router.d.ts +3 -3
- package/dist/trpc/router.d.ts.map +1 -1
- package/dist/trpc/router.js +6 -12
- package/dist/trpc/router.js.map +1 -1
- package/dist/trpc/types.d.ts +2 -2
- package/dist/trpc/types.d.ts.map +1 -1
- package/dist/trpc/types.js +1 -2
- package/dist/trpc/types.js.map +1 -1
- package/package.json +13 -1
- package/dist/examples/teamhub-integration.d.ts +0 -56
- package/dist/examples/teamhub-integration.d.ts.map +0 -1
- package/dist/examples/teamhub-integration.js +0 -192
- 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":"
|
|
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"}
|
package/dist/core/sse.d.ts
CHANGED
|
@@ -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;
|
package/dist/core/sse.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/core/sse.js
ADDED
|
@@ -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":"AAAA;;;GAGG;AAqBH;;;GAGG;AACH,MAAM,OAAO,UAAU;IACb,WAAW,GAAG,IAAI,GAAG,EAA8B,CAAA;IACnD,aAAa,GAAG,IAAI,GAAG,EAAwB,CAAA;IAC/C,aAAa,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA,CAAC,cAAc;IAClD,yBAAyB,GAA0B,IAAI,CAAA;IAE/D;QACE,IAAI,CAAC,sBAAsB,EAAE,CAAA;IAC/B,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,cAAsB;QACpC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;QAEjC,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;YAChC,KAAK,EAAE,CAAC,UAA2C,EAAE,EAAE;gBACrD,MAAM,UAAU,GAAkB;oBAChC,cAAc;oBACd,UAAU;oBACV,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,2CAA2C;oBACrE,QAAQ,EAAE,IAAI;iBACf,CAAA;gBAED,sBAAsB;gBACtB,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,UAAU,CAAC,CAAA;gBAE9C,gCAAgC;gBAChC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;oBACzB,IAAI,EAAE,WAAW;oBACjB,cAAc;oBACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC,CAAA;gBAEF,OAAO,CAAC,GAAG,CAAC,iCAAiC,cAAc,EAAE,CAAC,CAAA;gBAE9D,wBAAwB;gBACxB,OAAO,GAAG,EAAE;oBACV,OAAO,CAAC,GAAG,CAAC,oCAAoC,cAAc,EAAE,CAAC,CAAA;oBACjE,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAA;oBAC3B,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAA;gBACnD,CAAC,CAAA;YACH,CAAC;YAED,MAAM,EAAE,GAAG,EAAE;gBACX,OAAO,CAAC,GAAG,CAAC,mCAAmC,cAAc,EAAE,CAAC,CAAA;YAClE,CAAC;SACF,CAAC,CAAA;QAEF,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE;YAC1B,OAAO,EAAE;gBACP,cAAc,EAAE,mBAAmB;gBACnC,eAAe,EAAE,UAAU;gBAC3B,UAAU,EAAE,YAAY;gBACxB,6BAA6B,EAAE,GAAG;gBAClC,8BAA8B,EAAE,eAAe;aAChD;SACF,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CACzB,cAAsB,EACtB,gBAAoE;QAEpE,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;QACtC,MAAM,KAAK,GAAsB;YAC/B,GAAG,gBAAgB;YACnB,OAAO;YACP,WAAW,EAAE,IAAI;SAClB,CAAA;QAED,OAAO,CAAC,GAAG,CACT,yDAAyD,cAAc,YAAY,KAAK,CAAC,KAAK,gBAAgB,KAAK,CAAC,SAAS,cAAc,OAAO,EAAE,CACrJ,CAAA;QACD,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE;YAC/C,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,YAAY,EAAE,KAAK,CAAC,YAAY;SACjC,CAAC,CAAA;QAEF,4BAA4B;QAC5B,MAAM,YAAY,GAAiB;YACjC,EAAE,EAAE,OAAO;YACX,cAAc;YACd,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,CAAC;SACd,CAAA;QAED,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;QAE7C,0BAA0B;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QACxD,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACxC,IAAI,YAAY,GAAG,CAAC,CAAA;YACpB,IAAI,SAAS,GAAG,CAAC,CAAA;YAEjB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;gBACrC,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;oBACxB,IAAI,CAAC;wBACH,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;wBAC5C,0DAA0D;wBAC1D,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;wBACpC,YAAY,EAAE,CAAA;oBAChB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,IAAI,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAA;wBAC1D,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAA;wBAC3B,SAAS,EAAE,CAAA;oBACb,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,CAAC,GAAG,CACT,6BAA6B,YAAY,UAAU,SAAS,SAAS,CACtE,CAAA;YAED,yCAAyC;YACzC,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAA;YACrC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,wCAAwC,cAAc,EAAE,CAAC,CAAA;YACrE,qDAAqD;YACrD,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAA;QACrC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,OAAe;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC7C,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,SAAS,GAAG,IAAI,CAAA;YACtB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAClC,OAAO,CAAC,GAAG,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAA;QACrD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,kBAAkB;QAMhB,MAAM,gBAAgB,GAA2B,EAAE,CAAA;QACnD,IAAI,gBAAgB,GAAG,CAAC,CAAA;QAExB,KAAK,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACpD,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CACtD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CACxB,CAAC,MAAM,CAAA;YACR,gBAAgB,CAAC,KAAK,CAAC,GAAG,iBAAiB,CAAA;YAC3C,gBAAgB,IAAI,iBAAiB,CAAA;QACvC,CAAC;QAED,OAAO;YACL,gBAAgB;YAChB,gBAAgB;YAChB,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI;YACtC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAC1D,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAC5B;SACF,CAAA;IACH,CAAC;IAED;;OAEG;IACK,SAAS,CACf,UAA2C,EAC3C,IAAS;QAET,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;YACjC,MAAM,SAAS,GAAG,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAA;YACrD,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAA;YAClD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED;;OAEG;IACK,aAAa,CACnB,cAAsB,EACtB,UAAyB;QAEzB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;QACjD,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACvD,CAAC;IAED;;OAEG;IACK,gBAAgB,CACtB,cAAsB,EACtB,UAAyB;QAEzB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QACxD,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YAC9B,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC3B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;YACzC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,OAAe;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC7C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS;YAAE,OAAM;QAErC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAA;QAE3D,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACpD,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,SAAS;gBAAE,OAAM;YAEnD,IAAI,YAAY,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC;gBACtD,YAAY,CAAC,UAAU,EAAE,CAAA;gBACzB,OAAO,CAAC,GAAG,CACT,wBAAwB,OAAO,aAAa,YAAY,CAAC,UAAU,GAAG,CACvE,CAAA;gBAED,kBAAkB;gBAClB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,CAAA;gBACrE,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oBACxC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;wBACrC,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;4BACxB,IAAI,CAAC;gCACH,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,EAAE;oCACpC,GAAG,YAAY,CAAC,IAAI;oCACpB,KAAK,EAAE,YAAY,CAAC,UAAU;iCAC/B,CAAC,CAAA;gCACF,2CAA2C;gCAC3C,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;4BACtC,CAAC;4BAAC,OAAO,KAAK,EAAE,CAAC;gCACf,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAA;4BAC7B,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAA;YACrC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CACV,eAAe,OAAO,iBAAiB,YAAY,CAAC,UAAU,UAAU,CACzE,CAAA;gBACD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACpC,CAAC;QACH,CAAC,EAAE,KAAK,CAAC,CAAA;IACX,CAAC;IAED;;;OAGG;IACK,sBAAsB;QAC5B,IAAI,CAAC,yBAAyB,GAAG,WAAW,CAAC,GAAG,EAAE;YAChD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACtB,MAAM,aAAa,GAAG,MAAM,CAAA,CAAC,0BAA0B;YAEvD,KAAK,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACpD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;oBACrC,yEAAyE;oBACzE,IAAI,UAAU,CAAC,QAAQ,IAAI,GAAG,GAAG,UAAU,CAAC,YAAY,GAAG,aAAa,EAAE,CAAC;wBACzE,OAAO,CAAC,GAAG,CACT,wDAAwD,KAAK,EAAE,CAChE,CAAA;wBACD,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAA;oBAC7B,CAAC;gBACH,CAAC;gBAED,8BAA8B;gBAC9B,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CACtD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CACxB,CAAA;gBACD,IAAI,iBAAiB,CAAC,MAAM,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;oBAClD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAA;oBACvD,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACnC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;oBAChC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,qDAAqD;YACrD,MAAM,WAAW,GAAG,MAAM,CAAA,CAAC,YAAY;YACvC,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBAClD,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS,GAAG,WAAW,EAAE,CAAC;oBACxC,OAAO,CAAC,GAAG,CAAC,wCAAwC,OAAO,EAAE,CAAC,CAAA;oBAC9D,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;gBACpC,CAAC;YACH,CAAC;QACH,CAAC,EAAE,KAAK,CAAC,CAAA,CAAC,iDAAiD;IAC7D,CAAC;IAED;;OAEG;IACK,eAAe;QACrB,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAA;IACvE,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACnC,aAAa,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;QAC/C,CAAC;QAED,wBAAwB;QACxB,KAAK,MAAM,CAAC,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC/C,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;gBACrC,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;oBACxB,IAAI,CAAC;wBACH,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,CAAA;oBAC/B,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,sBAAsB;oBACxB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;QACxB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAA;IAC5B,CAAC;CACF;AAED,8BAA8B;AAC9B,IAAI,gBAAgB,GAAsB,IAAI,CAAA;AAE9C;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,gBAAgB,GAAG,IAAI,UAAU,EAAE,CAAA;IACrC,CAAC;IACD,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,cAAsB;IACpD,MAAM,OAAO,GAAG,aAAa,EAAE,CAAA;IAC/B,OAAO,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,CAAA;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,cAAsB,EACtB,gBAAoE;IAEpE,MAAM,OAAO,GAAG,aAAa,EAAE,CAAA;IAC/B,MAAM,OAAO,CAAC,qBAAqB,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAA;AACvE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,MAAM,OAAO,GAAG,aAAa,EAAE,CAAA;IAC/B,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;AACnC,CAAC"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type {
|
|
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?:
|
|
25
|
+
provider?: "redis" | "memory";
|
|
26
|
+
redis?: {
|
|
27
|
+
url?: string;
|
|
28
|
+
client?: RedisClientType;
|
|
29
|
+
};
|
|
25
30
|
};
|
|
26
31
|
client?: {
|
|
27
|
-
provider?:
|
|
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?:
|
|
34
|
-
fallback?:
|
|
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:
|
|
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:
|
|
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:
|
|
215
|
+
operation: "INSERT" | "UPDATE" | "DELETE";
|
|
176
216
|
/** Affected keys/IDs */
|
|
177
217
|
keys: string[];
|
|
178
218
|
/** Organization ID */
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
package/dist/core/types.js
CHANGED
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,
|
|
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
|
-
|
|
32
|
-
|
|
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
|
-
|
|
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
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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
|
-
|
|
48
|
-
|
|
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
|
-
|
|
40
|
+
export const version = "0.1.0";
|
|
57
41
|
//# sourceMappingURL=index.js.map
|