@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,153 +0,0 @@
1
- import type { RequestScopeManager } from './Container/RequestScopeManager';
2
- /**
3
- * Factory type for creating service instances
4
- */
5
- export type Factory<T> = (container: Container) => T;
6
- /**
7
- * ServiceMap interface for type-safe IoC resolution.
8
- *
9
- * Extend this interface via module augmentation to get type inference:
10
- * @example
11
- * ```typescript
12
- * declare module '@gravito/core' {
13
- * interface ServiceMap {
14
- * logger: Logger
15
- * db: DatabaseConnection
16
- * }
17
- * }
18
- * ```
19
- */
20
- export type ServiceMap = {};
21
- /**
22
- * ServiceKey represents the allowed keys for service resolution.
23
- * Includes keys from ServiceMap, generic strings, or symbols.
24
- */
25
- export type ServiceKey = keyof ServiceMap | (string & {}) | symbol;
26
- /**
27
- * Container - Simple Dependency Injection Container.
28
- * Manages service bindings and singleton instances.
29
- * @public
30
- */
31
- export declare class Container {
32
- private bindings;
33
- private instances;
34
- private resolutionStack;
35
- /**
36
- * Run a function within a request scope context.
37
- *
38
- * All service resolutions within the function will use the provided scope,
39
- * enabling request-scoped service instances to be properly isolated.
40
- *
41
- * @template T - The return type of the function.
42
- * @param scope - The RequestScopeManager for this request.
43
- * @param fn - The function to execute within the scope.
44
- * @returns The result of the function.
45
- *
46
- * @example
47
- * ```typescript
48
- * const scope = new RequestScopeManager()
49
- * const result = await Container.runWithScope(scope, async () => {
50
- * const service = container.make('requestScoped')
51
- * return service.doSomething()
52
- * })
53
- * ```
54
- */
55
- static runWithScope<T>(scope: RequestScopeManager, fn: () => T | Promise<T>): T | Promise<T>;
56
- /**
57
- * Bind a service to the container.
58
- *
59
- * A new instance will be created by the factory function every time the
60
- * service is resolved from the container.
61
- *
62
- * @template T - The type of the service being bound.
63
- * @param key - The unique identifier for the service.
64
- * @param factory - The factory function that creates the service instance.
65
- *
66
- * @example
67
- * ```typescript
68
- * container.bind('logger', (c) => new ConsoleLogger());
69
- * ```
70
- */
71
- bind<T>(key: ServiceKey, factory: Factory<T>): void;
72
- /**
73
- * Bind a shared service to the container (Singleton).
74
- *
75
- * The factory function will be called only once, and the same instance
76
- * will be returned on every subsequent resolution.
77
- *
78
- * @template T - The type of the service being bound.
79
- * @param key - The unique identifier for the service.
80
- * @param factory - The factory function that creates the service instance.
81
- *
82
- * @example
83
- * ```typescript
84
- * container.singleton('db', (c) => new DatabaseConnection());
85
- * ```
86
- */
87
- singleton<T>(key: ServiceKey, factory: Factory<T>): void;
88
- /**
89
- * Bind a request-scoped service to the container.
90
- *
91
- * A new instance will be created for each request and cached within that request.
92
- * The service is automatically cleaned up when the request ends.
93
- *
94
- * @template T - The type of the service being bound.
95
- * @param key - The unique identifier for the service.
96
- * @param factory - The factory function that creates the service instance.
97
- *
98
- * @example
99
- * ```typescript
100
- * container.scoped('requestCache', (c) => new RequestProductCache());
101
- * ```
102
- */
103
- scoped<T>(key: ServiceKey, factory: Factory<T>): void;
104
- /**
105
- * Register an existing instance as a shared service.
106
- *
107
- * @param key - The unique identifier for the service.
108
- * @param instance - The instance to register.
109
- */
110
- instance<T>(key: ServiceKey, instance: T): void;
111
- /**
112
- * Check if a service is request-scoped.
113
- *
114
- * @param key - The service key to check.
115
- * @returns True if the service is request-scoped.
116
- */
117
- isRequestScoped(key: ServiceKey): boolean;
118
- /**
119
- * Resolve a service instance from the container.
120
- *
121
- * Automatically handles singleton caching and factory execution.
122
- *
123
- * @template T - The expected type of the service.
124
- * @param key - The unique identifier for the service.
125
- * @returns The resolved service instance.
126
- * @throws Error if the service key is not found in the container.
127
- *
128
- * @example
129
- * ```typescript
130
- * const logger = container.make<Logger>('logger');
131
- * ```
132
- */
133
- make<K extends keyof ServiceMap>(key: K): ServiceMap[K];
134
- make<T>(key: ServiceKey): T;
135
- /**
136
- * Check if a service is bound or has an instance in the container.
137
- *
138
- * @param key - The service key to check.
139
- * @returns True if the service exists.
140
- */
141
- has(key: ServiceKey): boolean;
142
- /**
143
- * Flush all instances and bindings from the container.
144
- * Resets the container to an empty state.
145
- */
146
- flush(): void;
147
- /**
148
- * Forget a specific instance while keeping its binding.
149
- *
150
- * @param key - The service key to forget.
151
- */
152
- forget(key: ServiceKey): void;
153
- }
@@ -1,66 +0,0 @@
1
- /**
2
- * @fileoverview ErrorHandler - Centralized Error Handling for Gravito Framework
3
- *
4
- * Extracted from PlanetCore to follow Single Responsibility Principle.
5
- * Handles HTTP errors, validation errors, and error rendering.
6
- *
7
- * @module @gravito/core
8
- * @since 1.3.0
9
- */
10
- import type { HookManager } from './HookManager';
11
- import type { GravitoContext } from './http/types';
12
- import type { Logger } from './Logger';
13
- /**
14
- * HTTP Status Code to Error Code mapping
15
- */
16
- export declare function codeFromStatus(status: number): string;
17
- /**
18
- * HTTP Status Code to Message mapping
19
- */
20
- export declare function messageFromStatus(status: number): string;
21
- /**
22
- * Dependencies injected into ErrorHandler
23
- * @public
24
- */
25
- export interface ErrorHandlerDeps {
26
- logger: Logger;
27
- hooks: HookManager;
28
- getCore: () => unknown;
29
- }
30
- /**
31
- * ErrorHandler - Centralized error handling logic
32
- *
33
- * @example
34
- * ```typescript
35
- * const handler = new ErrorHandler({ logger, hooks, getCore: () => core })
36
- * adapter.onError(handler.handleError.bind(handler))
37
- * adapter.onNotFound(handler.handleNotFound.bind(handler))
38
- * ```
39
- */
40
- export declare class ErrorHandler {
41
- private deps;
42
- constructor(deps: ErrorHandlerDeps);
43
- /**
44
- * Handle application errors
45
- *
46
- * Integrates RequestScope cleanup to ensure proper resource management
47
- * even when errors occur during request processing.
48
- */
49
- handleError(err: unknown, c: GravitoContext): Promise<Response>;
50
- /**
51
- * Handle 404 Not Found errors
52
- */
53
- handleNotFound(c: GravitoContext): Promise<Response>;
54
- /**
55
- * Handle validation error redirect for HTML requests
56
- */
57
- private handleValidationRedirect;
58
- /**
59
- * Log error based on context settings
60
- */
61
- private logError;
62
- /**
63
- * Render error response (HTML or JSON)
64
- */
65
- private renderErrorResponse;
66
- }
@@ -1,5 +0,0 @@
1
- /**
2
- * Event base class and related types.
3
- */
4
- export type { Channel, ShouldBroadcast } from './types/events';
5
- export { Event } from './types/events';
@@ -1,123 +0,0 @@
1
- import { Event } from './Event';
2
- import type { Listener } from './Listener';
3
- import type { PlanetCore } from './PlanetCore';
4
- /**
5
- * Listener registration metadata.
6
- */
7
- interface ListenerRegistration<TEvent extends Event = Event> {
8
- listener: Listener<TEvent> | (new () => Listener<TEvent>);
9
- queue?: string;
10
- connection?: string;
11
- delay?: number;
12
- }
13
- /**
14
- * Event manager.
15
- *
16
- * Provides type-safe event dispatching and listener registration.
17
- * Supports both synchronous listeners and asynchronous (queued) listeners.
18
- *
19
- * @example
20
- * ```typescript
21
- * class UserRegistered extends Event {
22
- * constructor(public user: User) {
23
- * super()
24
- * }
25
- * }
26
- *
27
- * class SendWelcomeEmail implements Listener<UserRegistered> {
28
- * async handle(event: UserRegistered): Promise<void> {
29
- * // send welcome email
30
- * }
31
- * }
32
- *
33
- * // Register listener
34
- * core.events.listen(UserRegistered, SendWelcomeEmail)
35
- *
36
- * // Dispatch event
37
- * await core.events.dispatch(new UserRegistered(user))
38
- * ```
39
- */
40
- export declare class EventManager {
41
- private core;
42
- /**
43
- * Listener registry.
44
- * Key: event class or event name
45
- * Value: listener registrations
46
- */
47
- private listeners;
48
- /**
49
- * Broadcast manager (optional, injected by `orbit-broadcasting`).
50
- */
51
- private broadcastManager;
52
- /**
53
- * Queue manager (optional, injected by `orbit-queue`).
54
- */
55
- private queueManager;
56
- constructor(core: PlanetCore);
57
- /**
58
- * Register the broadcast manager (called by `orbit-broadcasting`).
59
- */
60
- setBroadcastManager(manager: EventManager['broadcastManager']): void;
61
- /**
62
- * Register the queue manager (called by `orbit-queue`).
63
- */
64
- setQueueManager(manager: EventManager['queueManager']): void;
65
- /**
66
- * Register an event listener.
67
- *
68
- * @param event - Event class or event name
69
- * @param listener - Listener instance or listener class
70
- * @param options - Optional queue options
71
- *
72
- * @example
73
- * ```typescript
74
- * // Synchronous listener
75
- * core.events.listen(UserRegistered, SendWelcomeEmail)
76
- *
77
- * // Queued listener (async)
78
- * core.events.listen(UserRegistered, SendWelcomeEmail, {
79
- * queue: 'emails',
80
- * delay: 60
81
- * })
82
- * ```
83
- */
84
- listen<TEvent extends Event>(event: string | (new (...args: unknown[]) => TEvent), listener: Listener<TEvent> | (new () => Listener<TEvent>), options?: {
85
- queue?: string;
86
- connection?: string;
87
- delay?: number;
88
- }): void;
89
- /**
90
- * Remove an event listener.
91
- *
92
- * @param event - Event class or event name
93
- * @param listener - Listener to remove
94
- */
95
- unlisten<TEvent extends Event>(event: string | (new (...args: unknown[]) => TEvent), listener: Listener<TEvent> | (new () => Listener<TEvent>)): void;
96
- /**
97
- * Dispatch an event.
98
- *
99
- * Runs all registered listeners. If a listener implements `ShouldQueue` or
100
- * has queue options, the listener will be pushed to the queue for async execution.
101
- *
102
- * @param event - Event instance
103
- *
104
- * @example
105
- * ```typescript
106
- * await core.events.dispatch(new UserRegistered(user))
107
- * ```
108
- */
109
- dispatch<TEvent extends Event>(event: TEvent): Promise<void>;
110
- /**
111
- * Serialize an event (for queueing).
112
- */
113
- private serializeEvent;
114
- /**
115
- * Get all registered listeners.
116
- */
117
- getListeners(event?: string | (new () => Event)): ListenerRegistration[];
118
- /**
119
- * Clear all listeners.
120
- */
121
- clear(): void;
122
- }
123
- export {};
@@ -1,47 +0,0 @@
1
- import type { Logger } from './Logger';
2
- import type { PlanetCore } from './PlanetCore';
3
- /**
4
- * Type of process-level error
5
- * @public
6
- */
7
- export type GlobalProcessErrorKind = 'unhandledRejection' | 'uncaughtException';
8
- /**
9
- * Context payload for global error handler filters/actions
10
- * @public
11
- */
12
- export type GlobalProcessErrorHandlerContext = {
13
- core?: PlanetCore;
14
- kind: GlobalProcessErrorKind;
15
- error: unknown;
16
- isProduction: boolean;
17
- timestamp: number;
18
- logLevel?: 'error' | 'warn' | 'info' | 'none';
19
- logMessage?: string;
20
- exit?: boolean;
21
- exitCode?: number;
22
- gracePeriodMs?: number;
23
- };
24
- /**
25
- * Error handling strategy
26
- * @public
27
- */
28
- export type GlobalErrorHandlersMode = 'log' | 'exit' | 'exitInProduction';
29
- /**
30
- * Options for registering global handlers
31
- * @public
32
- */
33
- export type RegisterGlobalErrorHandlersOptions = {
34
- core?: PlanetCore;
35
- logger?: Logger;
36
- mode?: GlobalErrorHandlersMode;
37
- exitCode?: number;
38
- gracePeriodMs?: number;
39
- };
40
- /**
41
- * Register process-level error handlers (`unhandledRejection` / `uncaughtException`).
42
- *
43
- * - `mode: "log"`: only log/report
44
- * - `mode: "exit"`: report then `process.exit(exitCode)`
45
- * - `mode: "exitInProduction"`: exit only when `NODE_ENV=production` (default)
46
- */
47
- export declare function registerGlobalErrorHandlers(options?: RegisterGlobalErrorHandlersOptions): () => void;
@@ -1,28 +0,0 @@
1
- import { type GravitoConfig, PlanetCore } from './PlanetCore';
2
- /**
3
- * Manifest describing a Gravito application structure.
4
- * @public
5
- */
6
- export interface GravitoManifest {
7
- name: string;
8
- version?: string;
9
- modules: string[];
10
- config?: GravitoConfig;
11
- }
12
- /**
13
- * Function type for asynchronous module resolution.
14
- * @public
15
- */
16
- export type ModuleResolver = () => Promise<any>;
17
- /**
18
- * Gravito 核心啟動引擎 (已解耦)
19
- */
20
- export declare class GravitoServer {
21
- /**
22
- * 一鍵建立並組裝伺服器
23
- * @param manifest 站點描述清單
24
- * @param resolvers 模組解析器字典
25
- * @param baseOrbits 基礎軌道模組 (例如 OrbitMonolith)
26
- */
27
- static create(manifest: GravitoManifest, resolvers: Record<string, ModuleResolver>, baseOrbits?: any[]): Promise<PlanetCore>;
28
- }