@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,378 +0,0 @@
1
- /**
2
- * @fileoverview PlanetCore - The Heart of Gravito Framework
3
- *
4
- * The micro-kernel that orchestrates the entire Galaxy Architecture.
5
- * Manages HTTP routing, middleware, error handling, and orbit integration.
6
- *
7
- * @module @gravito/core
8
- * @since 1.0.0
9
- */
10
- import { type HttpAdapter } from './adapters/types';
11
- import { ConfigManager } from './ConfigManager';
12
- import { Container } from './Container';
13
- import { EventManager } from './EventManager';
14
- import { type RegisterGlobalErrorHandlersOptions } from './GlobalErrorHandlers';
15
- import { HookManager } from './HookManager';
16
- import type { fail } from './helpers/response';
17
- import type { ContentfulStatusCode, GravitoContext } from './http/types';
18
- import { type Logger } from './Logger';
19
- import type { ServiceProvider } from './ServiceProvider';
20
- /**
21
- * CacheService interface for orbit-injected cache
22
- * Orbits implementing cache should conform to this interface
23
- */
24
- export interface CacheService {
25
- get<T = unknown>(key: string): Promise<T | null>;
26
- set(key: string, value: unknown, ttl?: number): Promise<void>;
27
- delete(key: string): Promise<void>;
28
- clear(): Promise<void>;
29
- remember<T>(key: string, ttl: number, callback: () => Promise<T>): Promise<T>;
30
- }
31
- /**
32
- * Interface for View Rendering Service
33
- * @public
34
- */
35
- export interface ViewService {
36
- render(view: string, data?: Record<string, unknown>, options?: Record<string, unknown>): string;
37
- }
38
- /**
39
- * Context passed to error handlers
40
- * @public
41
- */
42
- export type ErrorHandlerContext = {
43
- core: PlanetCore;
44
- c: GravitoContext;
45
- error: unknown;
46
- isProduction: boolean;
47
- accept: string;
48
- wantsHtml: boolean;
49
- status: ContentfulStatusCode;
50
- payload: ReturnType<typeof fail>;
51
- logLevel?: 'error' | 'warn' | 'info' | 'none';
52
- logMessage?: string;
53
- html?: {
54
- templates: string[];
55
- data: Record<string, unknown>;
56
- };
57
- };
58
- /**
59
- * Interface for Gravito Orbit (Plugin/Module)
60
- * @public
61
- */
62
- export interface GravitoOrbit {
63
- install(core: PlanetCore): void | Promise<void>;
64
- }
65
- /**
66
- * Configuration for booting PlanetCore
67
- * @public
68
- */
69
- export type GravitoConfig = {
70
- logger?: Logger;
71
- config?: Record<string, unknown>;
72
- orbits?: (new () => GravitoOrbit)[] | GravitoOrbit[];
73
- /**
74
- * HTTP Adapter to use. Defaults to PhotonAdapter.
75
- * @since 2.0.0
76
- */
77
- adapter?: HttpAdapter;
78
- /**
79
- * Dependency Injection Container. If provided, PlanetCore will use this
80
- * container instead of creating a new one. This allows sharing a container
81
- * between Application and PlanetCore.
82
- * @since 2.0.0
83
- */
84
- container?: Container;
85
- /**
86
- * Observability configuration for event system.
87
- * @since 2.1.0
88
- */
89
- observability?: {
90
- /**
91
- * Enable event system observability (metrics, tracing).
92
- * @default false
93
- */
94
- enabled?: boolean;
95
- /**
96
- * Enable OpenTelemetry distributed tracing.
97
- * @default false
98
- */
99
- tracing?: boolean;
100
- /**
101
- * Prefix for metric names.
102
- * @default 'gravito_event_'
103
- */
104
- metricsPrefix?: string;
105
- /**
106
- * Prometheus metrics configuration.
107
- */
108
- prometheus?: {
109
- /**
110
- * Enable Prometheus metrics endpoint.
111
- * @default true
112
- */
113
- enabled?: boolean;
114
- /**
115
- * Port for Prometheus metrics endpoint.
116
- * @default 9090
117
- */
118
- port?: number;
119
- /**
120
- * Endpoint path for metrics.
121
- * @default '/metrics'
122
- */
123
- endpoint?: string;
124
- };
125
- };
126
- };
127
- import { Router } from './Router';
128
- import { Encrypter } from './security/Encrypter';
129
- import { BunHasher } from './security/Hasher';
130
- /**
131
- * PlanetCore - The Heart of Gravito Framework
132
- *
133
- * The micro-kernel that orchestrates the entire Galaxy Architecture.
134
- * Manages HTTP routing, middleware, error handling, and orbit integration.
135
- * @public
136
- */
137
- export declare class PlanetCore {
138
- /**
139
- * The HTTP adapter used by this core instance.
140
- * @since 2.0.0
141
- */
142
- private _adapter;
143
- /**
144
- * Access the underlying Photon app instance.
145
- * @deprecated Use adapter methods for new code. This property is kept for backward compatibility.
146
- */
147
- get app(): unknown;
148
- /**
149
- * Get the HTTP adapter instance.
150
- * @since 2.0.0
151
- */
152
- get adapter(): HttpAdapter;
153
- logger: Logger;
154
- config: ConfigManager;
155
- hooks: HookManager;
156
- events: EventManager;
157
- router: Router;
158
- container: Container;
159
- /** @deprecated Use core.container instead */
160
- services: Map<string, unknown>;
161
- encrypter?: Encrypter;
162
- hasher: BunHasher;
163
- private providers;
164
- private deferredProviders;
165
- private bootedProviders;
166
- private isShuttingDown;
167
- /**
168
- * Initialize observability asynchronously (metrics, tracing, Prometheus).
169
- * This is called from constructor but doesn't block initialization.
170
- *
171
- * @internal
172
- */
173
- private initializeObservabilityAsync;
174
- /**
175
- * Initialize Prometheus metrics asynchronously.
176
- *
177
- * @internal
178
- */
179
- private initializePrometheusAsync;
180
- /**
181
- * Register a service provider to the core.
182
- *
183
- * Service providers are the central place to configure your application.
184
- * They bind services to the container and bootstrap application features.
185
- *
186
- * @param provider - The ServiceProvider instance to register.
187
- * @returns The PlanetCore instance for chaining.
188
- *
189
- * @example
190
- * ```typescript
191
- * core.register(new DatabaseServiceProvider());
192
- * ```
193
- */
194
- register(provider: ServiceProvider): this;
195
- /**
196
- * Bootstrap the application by registering and booting providers.
197
- *
198
- * This method orchestrates the two-phase startup sequence:
199
- * 1. Registration: Calls `register()` on all providers to bind services.
200
- * 2. Booting: Calls `boot()` on all providers once all bindings are ready.
201
- *
202
- * This method must be called before the application starts handling requests.
203
- *
204
- * @returns Promise that resolves when bootstrapping is complete.
205
- * @throws Error if a deferred provider has an asynchronous register method.
206
- *
207
- * @example
208
- * ```typescript
209
- * await core.bootstrap();
210
- * ```
211
- */
212
- bootstrap(): Promise<void>;
213
- /**
214
- * Called when the application is ready to accept requests.
215
- *
216
- * Invokes the `onReady()` lifecycle hook on all providers.
217
- * Called automatically at the end of `bootstrap()`.
218
- *
219
- * @returns Promise that resolves when all providers are ready.
220
- *
221
- * @example
222
- * ```typescript
223
- * await core.ready();
224
- * ```
225
- */
226
- ready(): Promise<void>;
227
- /**
228
- * Gracefully shutdown the application.
229
- *
230
- * Invokes the `onShutdown()` lifecycle hook on all providers in reverse order (LIFO).
231
- * Should be called when the application receives a termination signal.
232
- *
233
- * @returns Promise that resolves when all providers have shut down.
234
- *
235
- * @example
236
- * ```typescript
237
- * process.on('SIGTERM', () => core.shutdown());
238
- * ```
239
- */
240
- shutdown(): Promise<void>;
241
- /**
242
- * Setup deferred provider resolution.
243
- * Wraps container.make to auto-register deferred providers on first request.
244
- *
245
- * @internal
246
- */
247
- private setupDeferredProviderResolution;
248
- /**
249
- * Register a deferred provider on-demand.
250
- *
251
- * @internal
252
- */
253
- private registerDeferredProvider;
254
- /**
255
- * Boot a single provider if not already booted.
256
- *
257
- * @internal
258
- */
259
- private bootProvider;
260
- constructor(options?: {
261
- logger?: Logger;
262
- config?: Record<string, unknown>;
263
- adapter?: HttpAdapter;
264
- container?: Container;
265
- });
266
- /**
267
- * Setup process signal handlers for graceful shutdown
268
- *
269
- * @internal
270
- */
271
- private setupSignalHandlers;
272
- /**
273
- * Programmatically register an infrastructure module (Orbit).
274
- * @since 2.0.0
275
- *
276
- * @param orbit - The orbit class or instance to register.
277
- * @returns The PlanetCore instance for chaining.
278
- *
279
- * @example
280
- * ```typescript
281
- * await core.orbit(OrbitCache);
282
- * ```
283
- */
284
- orbit(orbit: GravitoOrbit | (new () => GravitoOrbit)): Promise<this>;
285
- /**
286
- * Programmatically register a feature module (Satellite).
287
- * Alias for register() with provider support.
288
- * @since 2.0.0
289
- *
290
- * @param satellite - The provider or setup function.
291
- * @returns The PlanetCore instance for chaining.
292
- *
293
- * @example
294
- * ```typescript
295
- * await core.use(new AuthProvider());
296
- * ```
297
- */
298
- use(satellite: ServiceProvider | ((core: PlanetCore) => void | Promise<void>)): Promise<this>;
299
- /**
300
- * Register a global error handler for process-level exceptions.
301
- *
302
- * Captures `unhandledRejection` and `uncaughtException` to prevent process crashes
303
- * and allow for graceful shutdown or error reporting.
304
- *
305
- * @param options - Configuration for global error handling.
306
- * @returns A function to unregister the global error handlers.
307
- *
308
- * @example
309
- * ```typescript
310
- * const unregister = core.registerGlobalErrorHandlers({
311
- * exitOnFatal: true
312
- * });
313
- * ```
314
- */
315
- registerGlobalErrorHandlers(options?: Omit<RegisterGlobalErrorHandlersOptions, 'core'>): () => void;
316
- /**
317
- * Predictive Route Warming (JIT Optimization).
318
- *
319
- * Pre-compiles or warms up the specified paths in the HTTP adapter to reduce
320
- * latency for the first request to these endpoints.
321
- *
322
- * @param paths - List of paths to warm up.
323
- * @returns Promise that resolves when warming is complete.
324
- *
325
- * @example
326
- * ```typescript
327
- * await core.warmup(['/api/v1/products', '/api/v1/categories']);
328
- * ```
329
- */
330
- warmup(paths: string[]): Promise<void>;
331
- /**
332
- * Boot the application with a configuration object (IoC style default entry)
333
- *
334
- * @param config - The Gravito configuration object.
335
- * @returns A Promise resolving to the booted PlanetCore instance.
336
- *
337
- * @example
338
- * ```typescript
339
- * const core = await PlanetCore.boot(config);
340
- * ```
341
- */
342
- static boot(config: GravitoConfig): Promise<PlanetCore>;
343
- /**
344
- * Mount an Orbit (a PlanetCore instance or native app) to a specific URL path.
345
- *
346
- * This allows for micro-service like composition where different parts of the
347
- * application can be developed as independent Orbits and mounted together.
348
- *
349
- * @param path - The URL path to mount the orbit at.
350
- * @param orbitApp - The application instance (PlanetCore, HttpAdapter, or native app).
351
- *
352
- * @example
353
- * ```typescript
354
- * const blogOrbit = new PlanetCore();
355
- * core.mountOrbit('/blog', blogOrbit);
356
- * ```
357
- */
358
- mountOrbit(path: string, orbitApp: unknown): void;
359
- /**
360
- * Start the core (Liftoff).
361
- *
362
- * Returns a config object for `Bun.serve`.
363
- *
364
- * @param port - Optional port number (defaults to config or 3000).
365
- * @returns An object compatible with Bun.serve({ ... }).
366
- *
367
- * @example
368
- * ```typescript
369
- * export default core.liftoff(3000);
370
- * ```
371
- */
372
- liftoff(port?: number): {
373
- port: number;
374
- fetch: (request: Request, server?: unknown) => Response | Promise<Response>;
375
- core: PlanetCore;
376
- websocket?: HttpAdapter['websocket'];
377
- };
378
- }
@@ -1,97 +0,0 @@
1
- /**
2
- * @fileoverview RequestContext - AsyncLocalStorage-based request context management
3
- *
4
- * Allows deep service layers to access request-scoped data (requestId, userId, etc.)
5
- * without passing parameters through the call stack.
6
- *
7
- * @module @gravito/core/RequestContext
8
- * @since 2.2.0
9
- */
10
- /**
11
- * 請求上下文資料介面
12
- * 包含請求相關的唯一識別碼和上下文資訊
13
- * @public
14
- */
15
- export interface RequestContextData {
16
- /** 唯一的請求識別碼 */
17
- requestId: string;
18
- /** 使用者 ID(可選) */
19
- userId?: string;
20
- /** 租戶 ID(可選) */
21
- tenantId?: string;
22
- /** 追蹤 ID(可選) */
23
- traceId?: string;
24
- /** 自訂欄位 */
25
- [key: string]: unknown;
26
- }
27
- /**
28
- * RequestContext 物件 - 管理請求上下文的 API
29
- *
30
- * 提供在非同步鏈中存取和設定請求上下文的方法
31
- * @public
32
- */
33
- export declare const RequestContext: {
34
- /**
35
- * 在給定的上下文中執行函式
36
- *
37
- * 確保函式及其所有非同步呼叫都在同一個上下文中執行
38
- *
39
- * @param data - 請求上下文資料
40
- * @param fn - 要執行的函式(可以是非同步的或同步的)
41
- * @returns 如果函式是非同步的,返回 Promise;如果是同步的,直接返回值
42
- *
43
- * @example
44
- * ```typescript
45
- * await RequestContext.run({ requestId: 'req-123' }, async () => {
46
- * const userId = RequestContext.get()?.userId;
47
- * });
48
- *
49
- * const result = RequestContext.run({ requestId: 'req-123' }, () => {
50
- * return 'sync-result';
51
- * });
52
- * ```
53
- */
54
- run<T>(data: RequestContextData, fn: () => T | Promise<T>): T | Promise<T>;
55
- /**
56
- * 獲取當前請求的上下文資料
57
- *
58
- * @returns 請求上下文資料,如果不在請求上下文中則返回 undefined
59
- *
60
- * @example
61
- * ```typescript
62
- * const context = RequestContext.get();
63
- * if (context) {
64
- * console.log(context.requestId);
65
- * }
66
- * ```
67
- */
68
- get(): RequestContextData | undefined;
69
- /**
70
- * 獲取當前請求的上下文資料,如果不存在則拋出錯誤
71
- *
72
- * @returns 請求上下文資料
73
- * @throws Error 如果不在請求上下文中
74
- *
75
- * @example
76
- * ```typescript
77
- * const context = RequestContext.getOrThrow();
78
- * console.log(context.requestId); // 保證不為 undefined
79
- * ```
80
- */
81
- getOrThrow(): RequestContextData;
82
- /**
83
- * 在當前上下文中設定或修改值
84
- *
85
- * @param key - 要設定的欄位名稱
86
- * @param value - 要設定的值
87
- * @throws Error 如果不在請求上下文中
88
- *
89
- * @example
90
- * ```typescript
91
- * RequestContext.set('userId', 'user-456');
92
- * const userId = RequestContext.get()?.userId; // 'user-456'
93
- * ```
94
- */
95
- set(key: string, value: unknown): void;
96
- };
97
- export default RequestContext;
@@ -1,36 +0,0 @@
1
- import type { GravitoMiddleware } from './http/types';
2
- import type { ControllerClass, FormRequestClass, ResourceOptions, RouteHandler, RouteOptions, Router } from './Router';
3
- /**
4
- * Route definition helper.
5
- * Represents a registered route and allows method chaining for middleware/names.
6
- * @public
7
- */
8
- export declare class Route {
9
- private router;
10
- private method;
11
- private path;
12
- private options;
13
- constructor(router: Router, method: string, path: string, options: RouteOptions);
14
- /**
15
- * Name the route
16
- */
17
- name(name: string): this;
18
- static get(path: string, handler: RouteHandler): Route;
19
- static get(path: string, request: FormRequestClass, handler: RouteHandler): Route;
20
- static get(path: string, middleware: GravitoMiddleware | GravitoMiddleware[], handler: RouteHandler): Route;
21
- static post(path: string, handler: RouteHandler): Route;
22
- static post(path: string, request: FormRequestClass, handler: RouteHandler): Route;
23
- static post(path: string, middleware: GravitoMiddleware | GravitoMiddleware[], handler: RouteHandler): Route;
24
- static put(path: string, handler: RouteHandler): Route;
25
- static put(path: string, request: FormRequestClass, handler: RouteHandler): Route;
26
- static put(path: string, middleware: GravitoMiddleware | GravitoMiddleware[], handler: RouteHandler): Route;
27
- static delete(path: string, handler: RouteHandler): Route;
28
- static delete(path: string, request: FormRequestClass, handler: RouteHandler): Route;
29
- static delete(path: string, middleware: GravitoMiddleware | GravitoMiddleware[], handler: RouteHandler): Route;
30
- static patch(path: string, handler: RouteHandler): Route;
31
- static patch(path: string, request: FormRequestClass, handler: RouteHandler): Route;
32
- static patch(path: string, middleware: GravitoMiddleware | GravitoMiddleware[], handler: RouteHandler): Route;
33
- static resource(name: string, controller: ControllerClass, options?: ResourceOptions): void;
34
- static prefix(path: string): import("@gravito/core").RouteGroup;
35
- static middleware(...handlers: (GravitoMiddleware | GravitoMiddleware[])[]): import("@gravito/core").RouteGroup;
36
- }