@agelum/backend 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/README.md +401 -0
  2. package/dist/client/hooks.d.ts +65 -0
  3. package/dist/client/hooks.d.ts.map +1 -0
  4. package/dist/client/hooks.js +339 -0
  5. package/dist/client/hooks.js.map +1 -0
  6. package/dist/client/index.d.ts +10 -0
  7. package/dist/client/index.d.ts.map +1 -0
  8. package/dist/client/index.js +37 -0
  9. package/dist/client/index.js.map +1 -0
  10. package/dist/client/manager.d.ts +137 -0
  11. package/dist/client/manager.d.ts.map +1 -0
  12. package/dist/client/manager.js +292 -0
  13. package/dist/client/manager.js.map +1 -0
  14. package/dist/client/provider.d.ts +25 -0
  15. package/dist/client/provider.d.ts.map +1 -0
  16. package/dist/client/provider.js +121 -0
  17. package/dist/client/provider.js.map +1 -0
  18. package/dist/client/revalidation.d.ts +101 -0
  19. package/dist/client/revalidation.d.ts.map +1 -0
  20. package/dist/client/revalidation.js +313 -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 +186 -0
  25. package/dist/client/session.js.map +1 -0
  26. package/dist/client/sse-client.d.ts +81 -0
  27. package/dist/client/sse-client.d.ts.map +1 -0
  28. package/dist/client/sse-client.js +221 -0
  29. package/dist/client/sse-client.js.map +1 -0
  30. package/dist/client/storage.d.ts +124 -0
  31. package/dist/client/storage.d.ts.map +1 -0
  32. package/dist/client/storage.js +441 -0
  33. package/dist/client/storage.js.map +1 -0
  34. package/dist/client/trpc.d.ts +12 -0
  35. package/dist/client/trpc.d.ts.map +1 -0
  36. package/dist/client/trpc.js +36 -0
  37. package/dist/client/trpc.js.map +1 -0
  38. package/dist/client/types.d.ts +10 -0
  39. package/dist/client/types.d.ts.map +1 -0
  40. package/dist/client/types.js +3 -0
  41. package/dist/client/types.js.map +1 -0
  42. package/dist/client.d.ts +12 -0
  43. package/dist/client.d.ts.map +1 -0
  44. package/dist/client.js +26 -0
  45. package/dist/client.js.map +1 -0
  46. package/dist/config/schema.d.ts +261 -0
  47. package/dist/config/schema.d.ts.map +1 -0
  48. package/dist/config/schema.js +69 -0
  49. package/dist/config/schema.js.map +1 -0
  50. package/dist/core/analyzer.d.ts +15 -0
  51. package/dist/core/analyzer.d.ts.map +1 -0
  52. package/dist/core/analyzer.js +217 -0
  53. package/dist/core/analyzer.js.map +1 -0
  54. package/dist/core/driver.d.ts +7 -0
  55. package/dist/core/driver.d.ts.map +1 -0
  56. package/dist/core/driver.js +261 -0
  57. package/dist/core/driver.js.map +1 -0
  58. package/dist/core/function.d.ts +97 -0
  59. package/dist/core/function.d.ts.map +1 -0
  60. package/dist/core/function.js +252 -0
  61. package/dist/core/function.js.map +1 -0
  62. package/dist/core/sse.d.ts +98 -0
  63. package/dist/core/sse.d.ts.map +1 -0
  64. package/dist/core/sse.js +331 -0
  65. package/dist/core/sse.js.map +1 -0
  66. package/dist/core/types.d.ts +179 -0
  67. package/dist/core/types.d.ts.map +1 -0
  68. package/dist/core/types.js +3 -0
  69. package/dist/core/types.js.map +1 -0
  70. package/dist/examples/teamhub-integration.d.ts +56 -0
  71. package/dist/examples/teamhub-integration.d.ts.map +1 -0
  72. package/dist/examples/teamhub-integration.js +188 -0
  73. package/dist/examples/teamhub-integration.js.map +1 -0
  74. package/dist/index.d.ts +39 -0
  75. package/dist/index.d.ts.map +1 -0
  76. package/dist/index.js +57 -0
  77. package/dist/index.js.map +1 -0
  78. package/dist/providers/localStorage.d.ts +13 -0
  79. package/dist/providers/localStorage.d.ts.map +1 -0
  80. package/dist/providers/localStorage.js +64 -0
  81. package/dist/providers/localStorage.js.map +1 -0
  82. package/dist/providers/memory.d.ts +13 -0
  83. package/dist/providers/memory.d.ts.map +1 -0
  84. package/dist/providers/memory.js +40 -0
  85. package/dist/providers/memory.js.map +1 -0
  86. package/dist/providers/redis.d.ts +14 -0
  87. package/dist/providers/redis.d.ts.map +1 -0
  88. package/dist/providers/redis.js +36 -0
  89. package/dist/providers/redis.js.map +1 -0
  90. package/dist/server.d.ts +17 -0
  91. package/dist/server.d.ts.map +1 -0
  92. package/dist/server.js +34 -0
  93. package/dist/server.js.map +1 -0
  94. package/dist/trpc/hooks.d.ts +82 -0
  95. package/dist/trpc/hooks.d.ts.map +1 -0
  96. package/dist/trpc/hooks.js +282 -0
  97. package/dist/trpc/hooks.js.map +1 -0
  98. package/dist/trpc/router.d.ts +75 -0
  99. package/dist/trpc/router.d.ts.map +1 -0
  100. package/dist/trpc/router.js +160 -0
  101. package/dist/trpc/router.js.map +1 -0
  102. package/dist/trpc/types.d.ts +105 -0
  103. package/dist/trpc/types.d.ts.map +1 -0
  104. package/dist/trpc/types.js +6 -0
  105. package/dist/trpc/types.js.map +1 -0
  106. package/package.json +87 -0
@@ -0,0 +1,105 @@
1
+ /**
2
+ * tRPC type definitions for reactive router
3
+ */
4
+ import type { Router } from '@trpc/server';
5
+ import type { ReactiveRouter } from './router';
6
+ /**
7
+ * Type for reactive router instance
8
+ */
9
+ export type ReactiveRouterInstance = ReactiveRouter;
10
+ /**
11
+ * Type for built tRPC router with reactive features
12
+ */
13
+ export type BuiltReactiveRouter = Router<any>;
14
+ /**
15
+ * Configuration for reactive procedures
16
+ */
17
+ export interface ReactiveProcedureConfig<TInput = any, TOutput = any> {
18
+ input?: any;
19
+ dependencies?: string[];
20
+ invalidates?: string[];
21
+ handler: (opts: {
22
+ input: TInput;
23
+ ctx: any;
24
+ }) => Promise<TOutput>;
25
+ }
26
+ /**
27
+ * Reactive query procedure configuration
28
+ */
29
+ export interface ReactiveQueryConfig<TInput = any, TOutput = any> extends ReactiveProcedureConfig<TInput, TOutput> {
30
+ dependencies: string[];
31
+ }
32
+ /**
33
+ * Reactive mutation procedure configuration
34
+ */
35
+ export interface ReactiveMutationConfig<TInput = any, TOutput = any> extends ReactiveProcedureConfig<TInput, TOutput> {
36
+ invalidates: string[];
37
+ }
38
+ /**
39
+ * Reactive subscription procedure configuration
40
+ */
41
+ export interface ReactiveSubscriptionConfig<TInput = any, TOutput = any> {
42
+ input?: any;
43
+ dependencies: string[];
44
+ handler: (opts: {
45
+ input: TInput;
46
+ ctx: any;
47
+ }) => AsyncIterable<TOutput>;
48
+ }
49
+ /**
50
+ * Cache entry metadata
51
+ */
52
+ export interface CacheEntry<T = any> {
53
+ data: T;
54
+ timestamp: number;
55
+ dependencies: string[];
56
+ ttl: number;
57
+ organizationId?: string;
58
+ }
59
+ /**
60
+ * Reactive procedure metadata
61
+ */
62
+ export interface ReactiveProcedureMetadata {
63
+ name: string;
64
+ type: 'query' | 'mutation' | 'subscription';
65
+ dependencies?: string[];
66
+ invalidates?: string[];
67
+ cacheConfig?: {
68
+ ttl?: number;
69
+ enabled?: boolean;
70
+ };
71
+ }
72
+ /**
73
+ * Router builder interface
74
+ */
75
+ export interface ReactiveRouterBuilder {
76
+ query<TInput, TOutput>(name: string, config: ReactiveQueryConfig<TInput, TOutput>): ReactiveRouterBuilder;
77
+ mutation<TInput, TOutput>(name: string, config: ReactiveMutationConfig<TInput, TOutput>): ReactiveRouterBuilder;
78
+ subscription<TInput, TOutput>(name: string, config: ReactiveSubscriptionConfig<TInput, TOutput>): ReactiveRouterBuilder;
79
+ build(): BuiltReactiveRouter;
80
+ }
81
+ /**
82
+ * Invalidation context for mutations
83
+ */
84
+ export interface InvalidationContext {
85
+ mutation: string;
86
+ input: any;
87
+ timestamp: number;
88
+ organizationId?: string;
89
+ }
90
+ /**
91
+ * Router statistics
92
+ */
93
+ export interface RouterStats {
94
+ totalProcedures: number;
95
+ queries: number;
96
+ mutations: number;
97
+ subscriptions: number;
98
+ cacheHitRate: number;
99
+ averageResponseTime: number;
100
+ }
101
+ /**
102
+ * Error types for reactive router
103
+ */
104
+ export type ReactiveRouterError = 'CACHE_ERROR' | 'INVALIDATION_ERROR' | 'BROADCAST_ERROR' | 'PROCEDURE_ERROR' | 'ORGANIZATION_NOT_FOUND';
105
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/trpc/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * tRPC type definitions for reactive router
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/trpc/types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
package/package.json ADDED
@@ -0,0 +1,87 @@
1
+ {
2
+ "name": "@agelum/backend",
3
+ "version": "0.1.0",
4
+ "description": "Zero configuration, maximum intelligence. Reactive database library for Drizzle ORM with real-time synchronization.",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "import": "./dist/index.js",
11
+ "require": "./dist/index.js"
12
+ },
13
+ "./server": {
14
+ "types": "./dist/server.d.ts",
15
+ "import": "./dist/server.js",
16
+ "require": "./dist/server.js"
17
+ },
18
+ "./client": {
19
+ "types": "./dist/client.d.ts",
20
+ "import": "./dist/client.js",
21
+ "require": "./dist/client.js"
22
+ },
23
+ "./trpc": {
24
+ "types": "./dist/trpc/index.d.ts",
25
+ "import": "./dist/trpc/index.js",
26
+ "require": "./dist/trpc/index.js"
27
+ }
28
+ },
29
+ "files": [
30
+ "dist/**/*",
31
+ "README.md"
32
+ ],
33
+ "scripts": {
34
+ "build": "pnpm install && tsc",
35
+ "dev": "tsc --watch",
36
+ "clean": "rm -rf dist",
37
+ "types": "tsc --declaration --emitDeclarationOnly",
38
+ "test": "jest",
39
+ "lint": "eslint src/**/*.ts"
40
+ },
41
+ "keywords": [
42
+ "drizzle",
43
+ "reactive",
44
+ "database",
45
+ "orm",
46
+ "real-time",
47
+ "cache",
48
+ "trpc",
49
+ "typescript"
50
+ ],
51
+ "author": "Agelum",
52
+ "license": "MIT",
53
+ "dependencies": {
54
+ "@trpc/server": "^10.45.0",
55
+ "@trpc/client": "^10.45.0",
56
+ "@trpc/react-query": "^10.45.0",
57
+ "@tanstack/react-query": "^4.36.1",
58
+ "drizzle-orm": "0.44.4",
59
+ "zod": "^3.22.0",
60
+ "react": "^18.2.0",
61
+ "superjson": "^2.2.1"
62
+ },
63
+ "devDependencies": {
64
+ "@types/react": "^18.2.55",
65
+ "@types/node": "^20.0.0",
66
+ "typescript": "^5.4.5",
67
+ "jest": "^29.0.0",
68
+ "@types/jest": "^29.0.0",
69
+ "eslint": "^8.0.0",
70
+ "@typescript-eslint/eslint-plugin": "^6.0.0",
71
+ "@typescript-eslint/parser": "^6.0.0"
72
+ },
73
+ "peerDependencies": {
74
+ "@trpc/server": ">=10.0.0",
75
+ "@trpc/client": ">=10.0.0",
76
+ "react": ">=18.2.0",
77
+ "zod": ">=3.22.0"
78
+ },
79
+ "repository": {
80
+ "type": "git",
81
+ "url": "https://github.com/agelum/drizzle-reactive"
82
+ },
83
+ "homepage": "https://github.com/agelum/drizzle-reactive#readme",
84
+ "bugs": {
85
+ "url": "https://github.com/agelum/drizzle-reactive/issues"
86
+ }
87
+ }