@gravito/echo 3.1.1 → 4.0.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 (295) hide show
  1. package/README.md +24 -9
  2. package/dist/OrbitEcho.d.ts +76 -60
  3. package/dist/errors/EchoError.d.ts +29 -0
  4. package/dist/errors/codes.d.ts +20 -0
  5. package/dist/index.d.ts +34 -16
  6. package/dist/index.js +3 -1596
  7. package/dist/index.js.map +3 -28
  8. package/dist/{echo/src/middleware → middleware}/RequestBufferMiddleware.d.ts +3 -3
  9. package/dist/providers/GenericProvider.d.ts +37 -19
  10. package/dist/providers/GitHubProvider.d.ts +21 -13
  11. package/dist/providers/StripeProvider.d.ts +20 -13
  12. package/dist/providers/index.d.ts +14 -4
  13. package/dist/receive/SignatureValidator.d.ts +33 -1
  14. package/dist/receive/WebhookReceiver.d.ts +139 -22
  15. package/dist/receive/index.d.ts +0 -1
  16. package/dist/resilience/CircuitBreaker.d.ts +6 -0
  17. package/dist/{echo/src/resilience → resilience}/index.d.ts +2 -1
  18. package/dist/send/WebhookDispatcher.d.ts +159 -16
  19. package/dist/send/index.d.ts +0 -1
  20. package/dist/types.d.ts +671 -57
  21. package/package.json +9 -3
  22. package/dist/OrbitEcho.d.ts.map +0 -1
  23. package/dist/atlas/src/DB.d.ts +0 -348
  24. package/dist/atlas/src/OrbitAtlas.d.ts +0 -9
  25. package/dist/atlas/src/config/defineConfig.d.ts +0 -14
  26. package/dist/atlas/src/config/index.d.ts +0 -7
  27. package/dist/atlas/src/config/loadConfig.d.ts +0 -41
  28. package/dist/atlas/src/connection/Connection.d.ts +0 -112
  29. package/dist/atlas/src/connection/ConnectionManager.d.ts +0 -180
  30. package/dist/atlas/src/connection/ReplicaConnectionPool.d.ts +0 -54
  31. package/dist/atlas/src/drivers/BunSQLDriver.d.ts +0 -32
  32. package/dist/atlas/src/drivers/BunSQLPreparedStatement.d.ts +0 -118
  33. package/dist/atlas/src/drivers/MongoDBDriver.d.ts +0 -36
  34. package/dist/atlas/src/drivers/MySQLDriver.d.ts +0 -79
  35. package/dist/atlas/src/drivers/PostgresDriver.d.ts +0 -96
  36. package/dist/atlas/src/drivers/RedisDriver.d.ts +0 -43
  37. package/dist/atlas/src/drivers/SQLiteDriver.d.ts +0 -45
  38. package/dist/atlas/src/drivers/types.d.ts +0 -260
  39. package/dist/atlas/src/errors/index.d.ts +0 -45
  40. package/dist/atlas/src/grammar/Grammar.d.ts +0 -342
  41. package/dist/atlas/src/grammar/MongoGrammar.d.ts +0 -47
  42. package/dist/atlas/src/grammar/MySQLGrammar.d.ts +0 -54
  43. package/dist/atlas/src/grammar/NullGrammar.d.ts +0 -35
  44. package/dist/atlas/src/grammar/PostgresGrammar.d.ts +0 -62
  45. package/dist/atlas/src/grammar/SQLiteGrammar.d.ts +0 -32
  46. package/dist/atlas/src/index.d.ts +0 -79
  47. package/dist/atlas/src/migration/Migration.d.ts +0 -64
  48. package/dist/atlas/src/migration/MigrationRepository.d.ts +0 -65
  49. package/dist/atlas/src/migration/Migrator.d.ts +0 -110
  50. package/dist/atlas/src/migration/index.d.ts +0 -6
  51. package/dist/atlas/src/observability/AtlasMetrics.d.ts +0 -33
  52. package/dist/atlas/src/observability/AtlasObservability.d.ts +0 -15
  53. package/dist/atlas/src/observability/AtlasTracer.d.ts +0 -12
  54. package/dist/atlas/src/observability/index.d.ts +0 -9
  55. package/dist/atlas/src/orm/Repository.d.ts +0 -247
  56. package/dist/atlas/src/orm/index.d.ts +0 -6
  57. package/dist/atlas/src/orm/model/DirtyTracker.d.ts +0 -121
  58. package/dist/atlas/src/orm/model/Model.d.ts +0 -458
  59. package/dist/atlas/src/orm/model/ModelRegistry.d.ts +0 -20
  60. package/dist/atlas/src/orm/model/concerns/HasAttributes.d.ts +0 -150
  61. package/dist/atlas/src/orm/model/concerns/HasEvents.d.ts +0 -36
  62. package/dist/atlas/src/orm/model/concerns/HasPersistence.d.ts +0 -92
  63. package/dist/atlas/src/orm/model/concerns/HasRelationships.d.ts +0 -117
  64. package/dist/atlas/src/orm/model/concerns/HasSerialization.d.ts +0 -64
  65. package/dist/atlas/src/orm/model/concerns/applyMixins.d.ts +0 -15
  66. package/dist/atlas/src/orm/model/concerns/index.d.ts +0 -12
  67. package/dist/atlas/src/orm/model/decorators.d.ts +0 -138
  68. package/dist/atlas/src/orm/model/errors.d.ts +0 -52
  69. package/dist/atlas/src/orm/model/index.d.ts +0 -10
  70. package/dist/atlas/src/orm/model/relationships.d.ts +0 -207
  71. package/dist/atlas/src/orm/model/types.d.ts +0 -12
  72. package/dist/atlas/src/orm/schema/SchemaRegistry.d.ts +0 -124
  73. package/dist/atlas/src/orm/schema/SchemaSniffer.d.ts +0 -54
  74. package/dist/atlas/src/orm/schema/index.d.ts +0 -6
  75. package/dist/atlas/src/orm/schema/types.d.ts +0 -85
  76. package/dist/atlas/src/pool/AdaptivePoolManager.d.ts +0 -98
  77. package/dist/atlas/src/pool/PoolHealthChecker.d.ts +0 -91
  78. package/dist/atlas/src/pool/PoolStrategy.d.ts +0 -129
  79. package/dist/atlas/src/pool/PoolWarmer.d.ts +0 -92
  80. package/dist/atlas/src/query/Expression.d.ts +0 -60
  81. package/dist/atlas/src/query/NPlusOneDetector.d.ts +0 -10
  82. package/dist/atlas/src/query/QueryBuilder.d.ts +0 -643
  83. package/dist/atlas/src/query/RelationshipResolver.d.ts +0 -23
  84. package/dist/atlas/src/query/clauses/GroupByClause.d.ts +0 -51
  85. package/dist/atlas/src/query/clauses/HavingClause.d.ts +0 -70
  86. package/dist/atlas/src/query/clauses/JoinClause.d.ts +0 -87
  87. package/dist/atlas/src/query/clauses/LimitClause.d.ts +0 -82
  88. package/dist/atlas/src/query/clauses/OrderByClause.d.ts +0 -69
  89. package/dist/atlas/src/query/clauses/SelectClause.d.ts +0 -71
  90. package/dist/atlas/src/query/clauses/WhereClause.d.ts +0 -167
  91. package/dist/atlas/src/query/clauses/index.d.ts +0 -11
  92. package/dist/atlas/src/schema/Blueprint.d.ts +0 -276
  93. package/dist/atlas/src/schema/ColumnDefinition.d.ts +0 -154
  94. package/dist/atlas/src/schema/ForeignKeyDefinition.d.ts +0 -37
  95. package/dist/atlas/src/schema/MigrationGenerator.d.ts +0 -45
  96. package/dist/atlas/src/schema/Schema.d.ts +0 -131
  97. package/dist/atlas/src/schema/SchemaDiff.d.ts +0 -73
  98. package/dist/atlas/src/schema/TypeGenerator.d.ts +0 -57
  99. package/dist/atlas/src/schema/TypeWriter.d.ts +0 -42
  100. package/dist/atlas/src/schema/grammars/MySQLSchemaGrammar.d.ts +0 -23
  101. package/dist/atlas/src/schema/grammars/PostgresSchemaGrammar.d.ts +0 -26
  102. package/dist/atlas/src/schema/grammars/SQLiteSchemaGrammar.d.ts +0 -28
  103. package/dist/atlas/src/schema/grammars/SchemaGrammar.d.ts +0 -97
  104. package/dist/atlas/src/schema/grammars/index.d.ts +0 -7
  105. package/dist/atlas/src/schema/index.d.ts +0 -8
  106. package/dist/atlas/src/seed/Factory.d.ts +0 -90
  107. package/dist/atlas/src/seed/Seeder.d.ts +0 -28
  108. package/dist/atlas/src/seed/SeederRunner.d.ts +0 -74
  109. package/dist/atlas/src/seed/index.d.ts +0 -6
  110. package/dist/atlas/src/sharding/ShardingManager.d.ts +0 -59
  111. package/dist/atlas/src/types/index.d.ts +0 -1182
  112. package/dist/atlas/src/utils/CursorEncoding.d.ts +0 -63
  113. package/dist/atlas/src/utils/levenshtein.d.ts +0 -9
  114. package/dist/core/src/Application.d.ts +0 -215
  115. package/dist/core/src/CommandKernel.d.ts +0 -33
  116. package/dist/core/src/ConfigManager.d.ts +0 -65
  117. package/dist/core/src/Container/RequestScopeManager.d.ts +0 -62
  118. package/dist/core/src/Container/RequestScopeMetrics.d.ts +0 -144
  119. package/dist/core/src/Container.d.ts +0 -153
  120. package/dist/core/src/ErrorHandler.d.ts +0 -66
  121. package/dist/core/src/Event.d.ts +0 -5
  122. package/dist/core/src/EventManager.d.ts +0 -123
  123. package/dist/core/src/GlobalErrorHandlers.d.ts +0 -47
  124. package/dist/core/src/GravitoServer.d.ts +0 -28
  125. package/dist/core/src/HookManager.d.ts +0 -591
  126. package/dist/core/src/Listener.d.ts +0 -4
  127. package/dist/core/src/Logger.d.ts +0 -20
  128. package/dist/core/src/PlanetCore.d.ts +0 -378
  129. package/dist/core/src/RequestContext.d.ts +0 -97
  130. package/dist/core/src/Route.d.ts +0 -36
  131. package/dist/core/src/Router.d.ts +0 -284
  132. package/dist/core/src/ServiceProvider.d.ts +0 -178
  133. package/dist/core/src/adapters/GravitoEngineAdapter.d.ts +0 -27
  134. package/dist/core/src/adapters/PhotonAdapter.d.ts +0 -175
  135. package/dist/core/src/adapters/bun/BunContext.d.ts +0 -49
  136. package/dist/core/src/adapters/bun/BunNativeAdapter.d.ts +0 -31
  137. package/dist/core/src/adapters/bun/BunRequest.d.ts +0 -31
  138. package/dist/core/src/adapters/bun/RadixNode.d.ts +0 -19
  139. package/dist/core/src/adapters/bun/RadixRouter.d.ts +0 -31
  140. package/dist/core/src/adapters/bun/types.d.ts +0 -20
  141. package/dist/core/src/adapters/photon-types.d.ts +0 -73
  142. package/dist/core/src/adapters/types.d.ts +0 -235
  143. package/dist/core/src/cli/queue-commands.d.ts +0 -6
  144. package/dist/core/src/engine/AOTRouter.d.ts +0 -129
  145. package/dist/core/src/engine/FastContext.d.ts +0 -123
  146. package/dist/core/src/engine/Gravito.d.ts +0 -136
  147. package/dist/core/src/engine/MinimalContext.d.ts +0 -100
  148. package/dist/core/src/engine/analyzer.d.ts +0 -27
  149. package/dist/core/src/engine/constants.d.ts +0 -23
  150. package/dist/core/src/engine/index.d.ts +0 -26
  151. package/dist/core/src/engine/path.d.ts +0 -26
  152. package/dist/core/src/engine/pool.d.ts +0 -83
  153. package/dist/core/src/engine/types.d.ts +0 -146
  154. package/dist/core/src/error-handling/RequestScopeErrorContext.d.ts +0 -126
  155. package/dist/core/src/events/BackpressureManager.d.ts +0 -215
  156. package/dist/core/src/events/CircuitBreaker.d.ts +0 -229
  157. package/dist/core/src/events/DeadLetterQueue.d.ts +0 -219
  158. package/dist/core/src/events/EventBackend.d.ts +0 -12
  159. package/dist/core/src/events/EventOptions.d.ts +0 -204
  160. package/dist/core/src/events/EventPriorityQueue.d.ts +0 -301
  161. package/dist/core/src/events/FlowControlStrategy.d.ts +0 -109
  162. package/dist/core/src/events/IdempotencyCache.d.ts +0 -60
  163. package/dist/core/src/events/MessageQueueBridge.d.ts +0 -184
  164. package/dist/core/src/events/PriorityEscalationManager.d.ts +0 -82
  165. package/dist/core/src/events/RetryScheduler.d.ts +0 -104
  166. package/dist/core/src/events/WorkerPool.d.ts +0 -98
  167. package/dist/core/src/events/WorkerPoolConfig.d.ts +0 -153
  168. package/dist/core/src/events/WorkerPoolMetrics.d.ts +0 -65
  169. package/dist/core/src/events/aggregation/AggregationWindow.d.ts +0 -77
  170. package/dist/core/src/events/aggregation/DeduplicationManager.d.ts +0 -135
  171. package/dist/core/src/events/aggregation/EventAggregationManager.d.ts +0 -108
  172. package/dist/core/src/events/aggregation/EventBatcher.d.ts +0 -99
  173. package/dist/core/src/events/aggregation/types.d.ts +0 -117
  174. package/dist/core/src/events/index.d.ts +0 -25
  175. package/dist/core/src/events/observability/EventMetrics.d.ts +0 -132
  176. package/dist/core/src/events/observability/EventTracer.d.ts +0 -68
  177. package/dist/core/src/events/observability/EventTracing.d.ts +0 -161
  178. package/dist/core/src/events/observability/OTelEventMetrics.d.ts +0 -332
  179. package/dist/core/src/events/observability/ObservableHookManager.d.ts +0 -108
  180. package/dist/core/src/events/observability/StreamWorkerMetrics.d.ts +0 -76
  181. package/dist/core/src/events/observability/index.d.ts +0 -24
  182. package/dist/core/src/events/observability/metrics-types.d.ts +0 -16
  183. package/dist/core/src/events/types.d.ts +0 -134
  184. package/dist/core/src/exceptions/AuthenticationException.d.ts +0 -8
  185. package/dist/core/src/exceptions/AuthorizationException.d.ts +0 -8
  186. package/dist/core/src/exceptions/CircularDependencyException.d.ts +0 -9
  187. package/dist/core/src/exceptions/GravitoException.d.ts +0 -23
  188. package/dist/core/src/exceptions/HttpException.d.ts +0 -9
  189. package/dist/core/src/exceptions/ModelNotFoundException.d.ts +0 -10
  190. package/dist/core/src/exceptions/ValidationException.d.ts +0 -22
  191. package/dist/core/src/exceptions/index.d.ts +0 -7
  192. package/dist/core/src/health/HealthProvider.d.ts +0 -67
  193. package/dist/core/src/helpers/Arr.d.ts +0 -19
  194. package/dist/core/src/helpers/Str.d.ts +0 -23
  195. package/dist/core/src/helpers/data.d.ts +0 -25
  196. package/dist/core/src/helpers/errors.d.ts +0 -34
  197. package/dist/core/src/helpers/response.d.ts +0 -41
  198. package/dist/core/src/helpers.d.ts +0 -338
  199. package/dist/core/src/http/CookieJar.d.ts +0 -51
  200. package/dist/core/src/http/cookie.d.ts +0 -29
  201. package/dist/core/src/http/middleware/BodySizeLimit.d.ts +0 -16
  202. package/dist/core/src/http/middleware/Cors.d.ts +0 -24
  203. package/dist/core/src/http/middleware/Csrf.d.ts +0 -23
  204. package/dist/core/src/http/middleware/HeaderTokenGate.d.ts +0 -28
  205. package/dist/core/src/http/middleware/SecurityHeaders.d.ts +0 -29
  206. package/dist/core/src/http/middleware/ThrottleRequests.d.ts +0 -18
  207. package/dist/core/src/http/types.d.ts +0 -374
  208. package/dist/core/src/index.d.ts +0 -88
  209. package/dist/core/src/instrumentation/index.d.ts +0 -35
  210. package/dist/core/src/instrumentation/opentelemetry.d.ts +0 -178
  211. package/dist/core/src/instrumentation/types.d.ts +0 -182
  212. package/dist/core/src/observability/Metrics.d.ts +0 -244
  213. package/dist/core/src/observability/QueueDashboard.d.ts +0 -136
  214. package/dist/core/src/reliability/DeadLetterQueueManager.d.ts +0 -350
  215. package/dist/core/src/reliability/RetryPolicy.d.ts +0 -217
  216. package/dist/core/src/reliability/index.d.ts +0 -6
  217. package/dist/core/src/router/ControllerDispatcher.d.ts +0 -12
  218. package/dist/core/src/router/RequestValidator.d.ts +0 -20
  219. package/dist/core/src/runtime.d.ts +0 -119
  220. package/dist/core/src/security/Encrypter.d.ts +0 -33
  221. package/dist/core/src/security/Hasher.d.ts +0 -29
  222. package/dist/core/src/testing/HttpTester.d.ts +0 -39
  223. package/dist/core/src/testing/TestResponse.d.ts +0 -78
  224. package/dist/core/src/testing/index.d.ts +0 -2
  225. package/dist/core/src/types/events.d.ts +0 -94
  226. package/dist/echo/src/OrbitEcho.d.ts +0 -115
  227. package/dist/echo/src/index.d.ts +0 -64
  228. package/dist/echo/src/providers/GenericProvider.d.ts +0 -53
  229. package/dist/echo/src/providers/GitHubProvider.d.ts +0 -35
  230. package/dist/echo/src/providers/StripeProvider.d.ts +0 -38
  231. package/dist/echo/src/providers/index.d.ts +0 -14
  232. package/dist/echo/src/receive/SignatureValidator.d.ts +0 -67
  233. package/dist/echo/src/receive/WebhookReceiver.d.ts +0 -185
  234. package/dist/echo/src/receive/index.d.ts +0 -2
  235. package/dist/echo/src/resilience/CircuitBreaker.d.ts +0 -117
  236. package/dist/echo/src/send/WebhookDispatcher.d.ts +0 -198
  237. package/dist/echo/src/send/index.d.ts +0 -1
  238. package/dist/echo/src/types.d.ts +0 -756
  239. package/dist/index.d.ts.map +0 -1
  240. package/dist/monitor/src/MonitorOrbit.d.ts +0 -43
  241. package/dist/monitor/src/config.d.ts +0 -106
  242. package/dist/monitor/src/health/HealthController.d.ts +0 -28
  243. package/dist/monitor/src/health/HealthRegistry.d.ts +0 -80
  244. package/dist/monitor/src/health/index.d.ts +0 -36
  245. package/dist/monitor/src/index.d.ts +0 -13
  246. package/dist/monitor/src/metrics/MetricsController.d.ts +0 -22
  247. package/dist/monitor/src/metrics/MetricsRegistry.d.ts +0 -136
  248. package/dist/monitor/src/metrics/index.d.ts +0 -11
  249. package/dist/monitor/src/tracing/TracingManager.d.ts +0 -97
  250. package/dist/monitor/src/tracing/index.d.ts +0 -10
  251. package/dist/photon/src/index.d.ts +0 -89
  252. package/dist/photon/src/middleware/binary.d.ts +0 -31
  253. package/dist/photon/src/middleware/htmx.d.ts +0 -39
  254. package/dist/photon/src/middleware/ratelimit-redis.d.ts +0 -50
  255. package/dist/photon/src/middleware/ratelimit.d.ts +0 -161
  256. package/dist/photon/src/openapi.d.ts +0 -19
  257. package/dist/providers/GenericProvider.d.ts.map +0 -1
  258. package/dist/providers/GitHubProvider.d.ts.map +0 -1
  259. package/dist/providers/StripeProvider.d.ts.map +0 -1
  260. package/dist/providers/index.d.ts.map +0 -1
  261. package/dist/receive/SignatureValidator.d.ts.map +0 -1
  262. package/dist/receive/WebhookReceiver.d.ts.map +0 -1
  263. package/dist/receive/index.d.ts.map +0 -1
  264. package/dist/send/WebhookDispatcher.d.ts.map +0 -1
  265. package/dist/send/index.d.ts.map +0 -1
  266. package/dist/types.d.ts.map +0 -1
  267. /package/dist/{echo/src/dlq → dlq}/DeadLetterQueue.d.ts +0 -0
  268. /package/dist/{echo/src/dlq → dlq}/MemoryDeadLetterQueue.d.ts +0 -0
  269. /package/dist/{echo/src/dlq → dlq}/index.d.ts +0 -0
  270. /package/dist/{echo/src/middleware → middleware}/index.d.ts +0 -0
  271. /package/dist/{echo/src/observability → observability}/index.d.ts +0 -0
  272. /package/dist/{echo/src/observability → observability}/logging/ConsoleEchoLogger.d.ts +0 -0
  273. /package/dist/{echo/src/observability → observability}/logging/EchoLogger.d.ts +0 -0
  274. /package/dist/{echo/src/observability → observability}/logging/index.d.ts +0 -0
  275. /package/dist/{echo/src/observability → observability}/metrics/MetricsProvider.d.ts +0 -0
  276. /package/dist/{echo/src/observability → observability}/metrics/NoopMetricsProvider.d.ts +0 -0
  277. /package/dist/{echo/src/observability → observability}/metrics/PrometheusMetricsProvider.d.ts +0 -0
  278. /package/dist/{echo/src/observability → observability}/metrics/index.d.ts +0 -0
  279. /package/dist/{echo/src/observability → observability}/tracing/NoopTracer.d.ts +0 -0
  280. /package/dist/{echo/src/observability → observability}/tracing/Tracer.d.ts +0 -0
  281. /package/dist/{echo/src/observability → observability}/tracing/index.d.ts +0 -0
  282. /package/dist/{echo/src/providers → providers}/LinearProvider.d.ts +0 -0
  283. /package/dist/{echo/src/providers → providers}/PaddleProvider.d.ts +0 -0
  284. /package/dist/{echo/src/providers → providers}/ShopifyProvider.d.ts +0 -0
  285. /package/dist/{echo/src/providers → providers}/SlackProvider.d.ts +0 -0
  286. /package/dist/{echo/src/providers → providers}/TwilioProvider.d.ts +0 -0
  287. /package/dist/{echo/src/providers → providers}/base/BaseProvider.d.ts +0 -0
  288. /package/dist/{echo/src/providers → providers}/base/HeaderUtils.d.ts +0 -0
  289. /package/dist/{echo/src/replay → replay}/WebhookReplayService.d.ts +0 -0
  290. /package/dist/{echo/src/replay → replay}/index.d.ts +0 -0
  291. /package/dist/{echo/src/rotation → rotation}/KeyRotationManager.d.ts +0 -0
  292. /package/dist/{echo/src/rotation → rotation}/index.d.ts +0 -0
  293. /package/dist/{echo/src/storage → storage}/MemoryWebhookStore.d.ts +0 -0
  294. /package/dist/{echo/src/storage → storage}/WebhookStore.d.ts +0 -0
  295. /package/dist/{echo/src/storage → storage}/index.d.ts +0 -0
@@ -1,92 +0,0 @@
1
- /**
2
- * HasPersistence Concern
3
- * @description Provides database persistence functionality including saving, deleting, and refreshing.
4
- */
5
- export declare class HasPersistence {
6
- /**
7
- * Indicates if the model exists in the database.
8
- * @internal
9
- */
10
- protected _exists: boolean;
11
- /**
12
- * Check if the model instance exists in the database.
13
- *
14
- * @returns True if the model has been persisted
15
- */
16
- get exists(): boolean;
17
- /**
18
- * Internal helper to retrieve the correct connection depending on sharding configuration
19
- * @internal
20
- */
21
- protected _getConnection(): import('../../../types').ConnectionContract;
22
- /**
23
- * Save the model instance to the database (insert or update).
24
- *
25
- * @returns A promise that resolves to the model instance
26
- *
27
- * @example
28
- * ```typescript
29
- * await user.save()
30
- * ```
31
- */
32
- save(): Promise<this>;
33
- /**
34
- * Perform an insert operation for a new model instance.
35
- *
36
- * @returns A promise that resolves to the model instance
37
- * @internal
38
- */
39
- protected _performInsert(): Promise<this>;
40
- /**
41
- * Perform an update operation for an existing model instance.
42
- *
43
- * @returns A promise that resolves to the model instance
44
- * @internal
45
- */
46
- protected _performUpdate(): Promise<this>;
47
- /**
48
- * Delete the model instance from the database.
49
- * Supports soft deletes if configured on the model.
50
- *
51
- * @returns A promise that resolves to true if deleted successfully
52
- *
53
- * @example
54
- * ```typescript
55
- * await user.delete()
56
- * ```
57
- */
58
- delete(): Promise<boolean>;
59
- /**
60
- * Restore a soft-deleted model instance.
61
- *
62
- * @returns A promise that resolves to true
63
- *
64
- * @example
65
- * ```typescript
66
- * await user.restore()
67
- * ```
68
- */
69
- restore(): Promise<boolean>;
70
- /**
71
- * Force a hard delete even if soft deletes are enabled.
72
- *
73
- * @returns A promise that resolves to true
74
- *
75
- * @example
76
- * ```typescript
77
- * await user.forceDelete()
78
- * ```
79
- */
80
- forceDelete(): Promise<boolean>;
81
- /**
82
- * Refresh the model instance with fresh data from the database.
83
- *
84
- * @returns A promise that resolves to the model instance
85
- *
86
- * @example
87
- * ```typescript
88
- * await user.refresh()
89
- * ```
90
- */
91
- refresh(): Promise<this>;
92
- }
@@ -1,117 +0,0 @@
1
- import type { Model, ModelConstructor } from '../Model';
2
- /**
3
- * HasRelationships Concern
4
- * @description Provides relationship management functionality including defining and loading relationships.
5
- */
6
- export declare class HasRelationships {
7
- /**
8
- * Define a one-to-many relationship.
9
- * Returns a QueryBuilder scoped to the related records.
10
- *
11
- * @template R - The related model type.
12
- * @param related - The related model constructor.
13
- * @param foreignKey - The foreign key on the related table.
14
- * @param localKey - The local key on this table.
15
- * @returns A QueryBuilder for the related model.
16
- * @example
17
- * ```typescript
18
- * const posts = await user.hasMany(Post).where('published', true).get()
19
- * ```
20
- */
21
- hasMany<R extends Model>(related: ModelConstructor<R> & typeof Model, foreignKey?: string, localKey?: string): any;
22
- /**
23
- * Define a one-to-one relationship.
24
- *
25
- * @template R - The related model type.
26
- * @param related - The related model constructor.
27
- * @param foreignKey - The foreign key on the related table.
28
- * @param localKey - The local key on this table.
29
- * @returns A QueryBuilder for the related model, limited to 1 result.
30
- */
31
- hasOne<R extends Model>(related: ModelConstructor<R> & typeof Model, foreignKey?: string, localKey?: string): any;
32
- /**
33
- * Define an inverse one-to-one or one-to-many relationship.
34
- *
35
- * @template R - The related model type.
36
- * @param related - The related model constructor.
37
- * @param foreignKey - The foreign key on this table.
38
- * @param ownerKey - The owner key on the related table.
39
- * @returns A QueryBuilder for the related model.
40
- * @example
41
- * ```typescript
42
- * const user = await post.belongsTo(User).first()
43
- * ```
44
- */
45
- belongsTo<R extends Model>(related: ModelConstructor<R> & typeof Model, foreignKey?: string, ownerKey?: string): any;
46
- /**
47
- * Define a many-to-many relationship through a pivot table.
48
- *
49
- * @template R - The related model type.
50
- * @param related - The related model constructor.
51
- * @param pivotTable - The name of the join table.
52
- * @param foreignPivotKey - The key on the pivot table pointing to this model.
53
- * @param relatedPivotKey - The key on the pivot table pointing to the related model.
54
- * @param localKey - The local key on this table.
55
- * @param relatedKey - The related key on the related table.
56
- * @returns Promise resolving to an array of related models.
57
- */
58
- belongsToMany<R extends Model>(related: ModelConstructor<R> & typeof Model, pivotTable: string, foreignPivotKey?: string, relatedPivotKey?: string, localKey?: string, relatedKey?: string): Promise<R[]>;
59
- /**
60
- * Stream hasMany relationship with cursor-based iteration
61
- * Memory-safe for large relationship sets
62
- *
63
- * @example
64
- * ```typescript
65
- * for await (const posts of user.hasManyStream(Post, 'user_id', 100)) {
66
- * for (const post of posts) {
67
- * await processPost(post)
68
- * }
69
- * }
70
- * ```
71
- */
72
- hasManyStream<R extends Model>(related: ModelConstructor<R> & typeof Model, foreignKey?: string, chunkSize?: number, localKey?: string): AsyncGenerator<R[], void, unknown>;
73
- /**
74
- * Define a polymorphic one-to-one relationship.
75
- *
76
- * @template R - The related model type.
77
- * @param related - The related model constructor.
78
- * @param name - The polymorphic relationship name (used to derive type and id fields).
79
- * @param foreignKey - Optional explicit foreign key.
80
- * @param localKey - Optional explicit local key.
81
- * @returns A QueryBuilder for the related model.
82
- */
83
- morphOne<R extends Model>(related: ModelConstructor<R> & typeof Model, name: string, foreignKey?: string, localKey?: string): any;
84
- /**
85
- * Define a polymorphic one-to-many relationship.
86
- *
87
- * @template R - The related model type.
88
- * @param related - The related model constructor.
89
- * @param name - The polymorphic relationship name.
90
- * @param foreignKey - Optional explicit foreign key.
91
- * @param localKey - Optional explicit local key.
92
- * @returns A QueryBuilder for the related model.
93
- */
94
- morphMany<R extends Model>(related: ModelConstructor<R> & typeof Model, name: string, foreignKey?: string, localKey?: string): any;
95
- /**
96
- * Define a polymorphic inverse relationship.
97
- *
98
- * @template R - The related model type.
99
- * @param name - The polymorphic relationship name.
100
- * @param typeField - Optional explicit type field name.
101
- * @param idField - Optional explicit ID field name.
102
- * @returns A QueryBuilder for the resolved related model, or null if not resolvable.
103
- */
104
- morphTo<R extends Model>(name: string, typeField?: string, idField?: string): any;
105
- /**
106
- * Lazy load relationships for the current model
107
- * @example await user.load('posts')
108
- */
109
- load(relation: string | string[]): Promise<this>;
110
- /**
111
- * Alias for load(), used for fluent eager loading on an instance.
112
- *
113
- * @param relation - The relationship name or an array of names
114
- * @returns A promise that resolves to the model instance
115
- */
116
- with(relation: string | string[]): Promise<this>;
117
- }
@@ -1,64 +0,0 @@
1
- /**
2
- * HasSerialization Concern
3
- * @description Provides serialization functionality including converting to JSON, array/object, and handling hidden/appended attributes.
4
- */
5
- export declare class HasSerialization {
6
- /**
7
- * Fill the model instance with an object of attributes.
8
- *
9
- * @param attributes - Key-value pairs of attributes to set
10
- * @returns The model instance
11
- *
12
- * @example
13
- * ```typescript
14
- * user.fill({ name: 'Carl', email: 'carl@example.com' })
15
- * ```
16
- */
17
- fill(attributes: Record<string, unknown>): this;
18
- /**
19
- * Convert the model instance to a JSON string.
20
- *
21
- * @returns A JSON string representation of the model
22
- *
23
- * @example
24
- * ```typescript
25
- * const json = user.toJSON()
26
- * ```
27
- */
28
- toJSON(): unknown;
29
- /**
30
- * Convert the model instance to a plain JavaScript object.
31
- * Alias for `toJSON()`.
32
- *
33
- * @returns A plain object representation of the model
34
- */
35
- toObject(): Record<string, unknown>;
36
- /**
37
- * Convert the model instance to a plain JavaScript object.
38
- * Alias for `toJSON()`.
39
- *
40
- * @returns A plain object representation of the model
41
- */
42
- toArray(): Record<string, unknown>;
43
- /**
44
- * Get all attributes currently set on the model.
45
- *
46
- * @returns An object containing all model attributes
47
- * @internal
48
- */
49
- getAttributes(): Record<string, unknown>;
50
- /**
51
- * Get a specific attribute value.
52
- *
53
- * @param key - The attribute name
54
- * @returns The attribute value
55
- * @internal
56
- */
57
- getAttribute(key: string): unknown;
58
- /**
59
- * Get the string representation of the model.
60
- *
61
- * @returns A JSON string representation of the model
62
- */
63
- toString(): string;
64
- }
@@ -1,15 +0,0 @@
1
- /**
2
- * Mixin utility for composing classes with multiple concerns.
3
- * @description Utility function to copy properties from mixin prototypes to a base class prototype.
4
- *
5
- * @param base - Base class to extend
6
- * @param mixins - Mixin classes to apply
7
- * @returns Combined class with all mixin properties
8
- *
9
- * @example
10
- * ```typescript
11
- * class MyModel extends Model {}
12
- * applyMixins(MyModel, [HasAttributes, HasEvents])
13
- * ```
14
- */
15
- export declare function applyMixins<T extends new (...args: unknown[]) => unknown, U extends (new (...args: unknown[]) => unknown)[]>(base: T, mixins: U): T & U[number];
@@ -1,12 +0,0 @@
1
- /**
2
- * Concerns Index
3
- *
4
- * Re-exports all model concerns for easier importing.
5
- */
6
- export { applyMixins } from './applyMixins';
7
- export type { ModelAttributes } from './HasAttributes';
8
- export { HasAttributes } from './HasAttributes';
9
- export { HasEvents } from './HasEvents';
10
- export { HasPersistence } from './HasPersistence';
11
- export { HasRelationships } from './HasRelationships';
12
- export { HasSerialization } from './HasSerialization';
@@ -1,138 +0,0 @@
1
- /**
2
- * Options for the SoftDeletes decorator.
3
- */
4
- export interface SoftDeletesOptions {
5
- /**
6
- * The name of the column used to store the deletion timestamp.
7
- * @default 'deleted_at'
8
- */
9
- column?: string;
10
- }
11
- /**
12
- * Meta keys for decorators
13
- */
14
- /**
15
- * Metadata key for Soft Deletes configuration.
16
- * @internal
17
- */
18
- export declare const SOFT_DELETES_KEY: unique symbol;
19
- /**
20
- * Metadata key for Column definitions.
21
- * @internal
22
- */
23
- export declare const COLUMN_KEY: unique symbol;
24
- /**
25
- * Metadata key for Version column.
26
- * @internal
27
- */
28
- export declare const VERSION_KEY: unique symbol;
29
- /**
30
- * Metadata key for Sharded configuration.
31
- * @internal
32
- */
33
- export declare const SHARDED_KEY: unique symbol;
34
- /**
35
- * Options for the Sharded decorator.
36
- */
37
- export interface ShardedOptions {
38
- /**
39
- * The name of the ShardingManager to use.
40
- * @default 'default'
41
- */
42
- manager?: string;
43
- /**
44
- * The property name of the shard key (e.g. 'tenantId').
45
- */
46
- key: string;
47
- }
48
- /**
49
- * Sharded Decorator
50
- *
51
- * Marks a model as being horizontally sharded across multiple databases.
52
- * Active Record operations will automatically route to the correct connection
53
- * based on the shard key provided.
54
- *
55
- * @param options - Configuration for sharding containing the distribution key
56
- */
57
- export declare function sharded(options: ShardedOptions): ClassDecorator;
58
- /**
59
- * Soft Deletes Decorator
60
- *
61
- * Automatically adds a global scope to filter out deleted records.
62
- * When applied to a Model class, it ensures that queries only return records
63
- * where the deletion column (default 'deleted_at') is null.
64
- *
65
- * @param options - Configuration for soft deletes
66
- *
67
- * @example
68
- * ```typescript
69
- * @SoftDeletes({ column: 'deleted_at' })
70
- * class User extends Model {
71
- * @column()
72
- * declare deletedAt: Date | null
73
- * }
74
- * ```
75
- */
76
- export declare function SoftDeletes(options?: SoftDeletesOptions): ClassDecorator;
77
- /**
78
- * Options for the Column decorator.
79
- */
80
- export interface ColumnOptions {
81
- /**
82
- * Whether the column is a primary key.
83
- * @default false
84
- */
85
- isPrimary?: boolean;
86
- /**
87
- * Whether the column should be automatically populated with a timestamp on creation.
88
- * @default false
89
- */
90
- autoCreate?: boolean;
91
- /**
92
- * Whether the column should be automatically updated with a timestamp on every update.
93
- * @default false
94
- */
95
- autoUpdate?: boolean;
96
- /**
97
- * The name of the column in the database.
98
- * If not provided, the property name will be used.
99
- */
100
- name?: string;
101
- /**
102
- * The name to use when serializing the model to JSON.
103
- * Set to null to hide the column from JSON output.
104
- */
105
- serializeAs?: string | null;
106
- }
107
- /**
108
- * Column Decorator
109
- *
110
- * Marks a property as a database column. This decorator also triggers
111
- * the registration of the model in the global ModelRegistry.
112
- *
113
- * @param options - Configuration for the column
114
- *
115
- * @example
116
- * ```typescript
117
- * class User extends Model {
118
- * @column({ isPrimary: true })
119
- * declare id: number
120
- *
121
- * @column({ name: 'email_address' })
122
- * declare email: string
123
- *
124
- * @column.dateTime({ autoCreate: true })
125
- * declare createdAt: Date
126
- * }
127
- * ```
128
- */
129
- export declare function column(options?: ColumnOptions): PropertyDecorator;
130
- /**
131
- * Version Decorator for Optimistic Locking
132
- *
133
- * Marks a property as a version column for optimistic locking.
134
- * When a model updates, it checks if the version matches the one in the database.
135
- *
136
- * @param options - Configuration for the column (same as @column)
137
- */
138
- export declare function version(options?: ColumnOptions): PropertyDecorator;
@@ -1,52 +0,0 @@
1
- /**
2
- * Model Errors
3
- * @description Custom error types for ORM model operations
4
- */
5
- /**
6
- * Column Not Found Error
7
- * Thrown when accessing/setting a column that doesn't exist in schema
8
- */
9
- export declare class ColumnNotFoundError extends Error {
10
- readonly table: string;
11
- readonly column: string;
12
- constructor(table: string, column: string, availableColumns?: string[]);
13
- }
14
- /**
15
- * Type Mismatch Error
16
- * Thrown when setting a value with incompatible type
17
- */
18
- export declare class TypeMismatchError extends Error {
19
- readonly table: string;
20
- readonly column: string;
21
- readonly expectedType: string;
22
- readonly actualType: string;
23
- readonly value?: unknown | undefined;
24
- constructor(table: string, column: string, expectedType: string, actualType: string, value?: unknown | undefined);
25
- }
26
- /**
27
- * Nullable Constraint Error
28
- * Thrown when setting null on a non-nullable column
29
- */
30
- export declare class NullableConstraintError extends Error {
31
- readonly table: string;
32
- readonly column: string;
33
- constructor(table: string, column: string);
34
- }
35
- /**
36
- * Model Not Found Error
37
- * Thrown when a model is not found in the database
38
- */
39
- export declare class ModelNotFoundError extends Error {
40
- readonly model: string;
41
- readonly key: unknown;
42
- constructor(model: string, key: unknown);
43
- }
44
- /**
45
- * Stale Model Error
46
- * Thrown when an optimistic lock check fails (concurrent update)
47
- */
48
- export declare class StaleModelError extends Error {
49
- readonly model: string;
50
- readonly key: unknown;
51
- constructor(model: string, key: unknown);
52
- }
@@ -1,10 +0,0 @@
1
- /**
2
- * Model Module Index
3
- */
4
- export { applyMixins, HasAttributes, HasEvents, HasPersistence, HasRelationships, HasSerialization, } from './concerns';
5
- export { DirtyTracker } from './DirtyTracker';
6
- export { column, SoftDeletes, sharded, version } from './decorators';
7
- export { ColumnNotFoundError, ModelNotFoundError, NullableConstraintError, TypeMismatchError, } from './errors';
8
- export { Model, type ModelAttributes, type ModelConstructor, type ModelStatic } from './Model';
9
- export { ModelRegistry } from './ModelRegistry';
10
- export { BelongsTo, BelongsToMany, eagerLoad, eagerLoadMany, getRelationships, HasMany, HasOne, MorphMany, MorphOne, MorphTo, type RelationshipMeta, type RelationshipOptions, type RelationType, } from './relationships';