@gravito/echo 3.1.1 → 3.1.2

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 (292) hide show
  1. package/README.md +24 -9
  2. package/dist/OrbitEcho.d.ts +76 -60
  3. package/dist/index.d.ts +31 -16
  4. package/dist/index.js +1 -1596
  5. package/dist/index.js.map +3 -28
  6. package/dist/{echo/src/middleware → middleware}/RequestBufferMiddleware.d.ts +3 -3
  7. package/dist/providers/GenericProvider.d.ts +37 -19
  8. package/dist/providers/GitHubProvider.d.ts +21 -13
  9. package/dist/providers/StripeProvider.d.ts +20 -13
  10. package/dist/providers/index.d.ts +14 -4
  11. package/dist/receive/SignatureValidator.d.ts +33 -1
  12. package/dist/receive/WebhookReceiver.d.ts +139 -22
  13. package/dist/receive/index.d.ts +0 -1
  14. package/dist/send/WebhookDispatcher.d.ts +159 -16
  15. package/dist/send/index.d.ts +0 -1
  16. package/dist/types.d.ts +669 -57
  17. package/package.json +5 -2
  18. package/dist/OrbitEcho.d.ts.map +0 -1
  19. package/dist/atlas/src/DB.d.ts +0 -348
  20. package/dist/atlas/src/OrbitAtlas.d.ts +0 -9
  21. package/dist/atlas/src/config/defineConfig.d.ts +0 -14
  22. package/dist/atlas/src/config/index.d.ts +0 -7
  23. package/dist/atlas/src/config/loadConfig.d.ts +0 -41
  24. package/dist/atlas/src/connection/Connection.d.ts +0 -112
  25. package/dist/atlas/src/connection/ConnectionManager.d.ts +0 -180
  26. package/dist/atlas/src/connection/ReplicaConnectionPool.d.ts +0 -54
  27. package/dist/atlas/src/drivers/BunSQLDriver.d.ts +0 -32
  28. package/dist/atlas/src/drivers/BunSQLPreparedStatement.d.ts +0 -118
  29. package/dist/atlas/src/drivers/MongoDBDriver.d.ts +0 -36
  30. package/dist/atlas/src/drivers/MySQLDriver.d.ts +0 -79
  31. package/dist/atlas/src/drivers/PostgresDriver.d.ts +0 -96
  32. package/dist/atlas/src/drivers/RedisDriver.d.ts +0 -43
  33. package/dist/atlas/src/drivers/SQLiteDriver.d.ts +0 -45
  34. package/dist/atlas/src/drivers/types.d.ts +0 -260
  35. package/dist/atlas/src/errors/index.d.ts +0 -45
  36. package/dist/atlas/src/grammar/Grammar.d.ts +0 -342
  37. package/dist/atlas/src/grammar/MongoGrammar.d.ts +0 -47
  38. package/dist/atlas/src/grammar/MySQLGrammar.d.ts +0 -54
  39. package/dist/atlas/src/grammar/NullGrammar.d.ts +0 -35
  40. package/dist/atlas/src/grammar/PostgresGrammar.d.ts +0 -62
  41. package/dist/atlas/src/grammar/SQLiteGrammar.d.ts +0 -32
  42. package/dist/atlas/src/index.d.ts +0 -79
  43. package/dist/atlas/src/migration/Migration.d.ts +0 -64
  44. package/dist/atlas/src/migration/MigrationRepository.d.ts +0 -65
  45. package/dist/atlas/src/migration/Migrator.d.ts +0 -110
  46. package/dist/atlas/src/migration/index.d.ts +0 -6
  47. package/dist/atlas/src/observability/AtlasMetrics.d.ts +0 -33
  48. package/dist/atlas/src/observability/AtlasObservability.d.ts +0 -15
  49. package/dist/atlas/src/observability/AtlasTracer.d.ts +0 -12
  50. package/dist/atlas/src/observability/index.d.ts +0 -9
  51. package/dist/atlas/src/orm/Repository.d.ts +0 -247
  52. package/dist/atlas/src/orm/index.d.ts +0 -6
  53. package/dist/atlas/src/orm/model/DirtyTracker.d.ts +0 -121
  54. package/dist/atlas/src/orm/model/Model.d.ts +0 -458
  55. package/dist/atlas/src/orm/model/ModelRegistry.d.ts +0 -20
  56. package/dist/atlas/src/orm/model/concerns/HasAttributes.d.ts +0 -150
  57. package/dist/atlas/src/orm/model/concerns/HasEvents.d.ts +0 -36
  58. package/dist/atlas/src/orm/model/concerns/HasPersistence.d.ts +0 -92
  59. package/dist/atlas/src/orm/model/concerns/HasRelationships.d.ts +0 -117
  60. package/dist/atlas/src/orm/model/concerns/HasSerialization.d.ts +0 -64
  61. package/dist/atlas/src/orm/model/concerns/applyMixins.d.ts +0 -15
  62. package/dist/atlas/src/orm/model/concerns/index.d.ts +0 -12
  63. package/dist/atlas/src/orm/model/decorators.d.ts +0 -138
  64. package/dist/atlas/src/orm/model/errors.d.ts +0 -52
  65. package/dist/atlas/src/orm/model/index.d.ts +0 -10
  66. package/dist/atlas/src/orm/model/relationships.d.ts +0 -207
  67. package/dist/atlas/src/orm/model/types.d.ts +0 -12
  68. package/dist/atlas/src/orm/schema/SchemaRegistry.d.ts +0 -124
  69. package/dist/atlas/src/orm/schema/SchemaSniffer.d.ts +0 -54
  70. package/dist/atlas/src/orm/schema/index.d.ts +0 -6
  71. package/dist/atlas/src/orm/schema/types.d.ts +0 -85
  72. package/dist/atlas/src/pool/AdaptivePoolManager.d.ts +0 -98
  73. package/dist/atlas/src/pool/PoolHealthChecker.d.ts +0 -91
  74. package/dist/atlas/src/pool/PoolStrategy.d.ts +0 -129
  75. package/dist/atlas/src/pool/PoolWarmer.d.ts +0 -92
  76. package/dist/atlas/src/query/Expression.d.ts +0 -60
  77. package/dist/atlas/src/query/NPlusOneDetector.d.ts +0 -10
  78. package/dist/atlas/src/query/QueryBuilder.d.ts +0 -643
  79. package/dist/atlas/src/query/RelationshipResolver.d.ts +0 -23
  80. package/dist/atlas/src/query/clauses/GroupByClause.d.ts +0 -51
  81. package/dist/atlas/src/query/clauses/HavingClause.d.ts +0 -70
  82. package/dist/atlas/src/query/clauses/JoinClause.d.ts +0 -87
  83. package/dist/atlas/src/query/clauses/LimitClause.d.ts +0 -82
  84. package/dist/atlas/src/query/clauses/OrderByClause.d.ts +0 -69
  85. package/dist/atlas/src/query/clauses/SelectClause.d.ts +0 -71
  86. package/dist/atlas/src/query/clauses/WhereClause.d.ts +0 -167
  87. package/dist/atlas/src/query/clauses/index.d.ts +0 -11
  88. package/dist/atlas/src/schema/Blueprint.d.ts +0 -276
  89. package/dist/atlas/src/schema/ColumnDefinition.d.ts +0 -154
  90. package/dist/atlas/src/schema/ForeignKeyDefinition.d.ts +0 -37
  91. package/dist/atlas/src/schema/MigrationGenerator.d.ts +0 -45
  92. package/dist/atlas/src/schema/Schema.d.ts +0 -131
  93. package/dist/atlas/src/schema/SchemaDiff.d.ts +0 -73
  94. package/dist/atlas/src/schema/TypeGenerator.d.ts +0 -57
  95. package/dist/atlas/src/schema/TypeWriter.d.ts +0 -42
  96. package/dist/atlas/src/schema/grammars/MySQLSchemaGrammar.d.ts +0 -23
  97. package/dist/atlas/src/schema/grammars/PostgresSchemaGrammar.d.ts +0 -26
  98. package/dist/atlas/src/schema/grammars/SQLiteSchemaGrammar.d.ts +0 -28
  99. package/dist/atlas/src/schema/grammars/SchemaGrammar.d.ts +0 -97
  100. package/dist/atlas/src/schema/grammars/index.d.ts +0 -7
  101. package/dist/atlas/src/schema/index.d.ts +0 -8
  102. package/dist/atlas/src/seed/Factory.d.ts +0 -90
  103. package/dist/atlas/src/seed/Seeder.d.ts +0 -28
  104. package/dist/atlas/src/seed/SeederRunner.d.ts +0 -74
  105. package/dist/atlas/src/seed/index.d.ts +0 -6
  106. package/dist/atlas/src/sharding/ShardingManager.d.ts +0 -59
  107. package/dist/atlas/src/types/index.d.ts +0 -1182
  108. package/dist/atlas/src/utils/CursorEncoding.d.ts +0 -63
  109. package/dist/atlas/src/utils/levenshtein.d.ts +0 -9
  110. package/dist/core/src/Application.d.ts +0 -215
  111. package/dist/core/src/CommandKernel.d.ts +0 -33
  112. package/dist/core/src/ConfigManager.d.ts +0 -65
  113. package/dist/core/src/Container/RequestScopeManager.d.ts +0 -62
  114. package/dist/core/src/Container/RequestScopeMetrics.d.ts +0 -144
  115. package/dist/core/src/Container.d.ts +0 -153
  116. package/dist/core/src/ErrorHandler.d.ts +0 -66
  117. package/dist/core/src/Event.d.ts +0 -5
  118. package/dist/core/src/EventManager.d.ts +0 -123
  119. package/dist/core/src/GlobalErrorHandlers.d.ts +0 -47
  120. package/dist/core/src/GravitoServer.d.ts +0 -28
  121. package/dist/core/src/HookManager.d.ts +0 -591
  122. package/dist/core/src/Listener.d.ts +0 -4
  123. package/dist/core/src/Logger.d.ts +0 -20
  124. package/dist/core/src/PlanetCore.d.ts +0 -378
  125. package/dist/core/src/RequestContext.d.ts +0 -97
  126. package/dist/core/src/Route.d.ts +0 -36
  127. package/dist/core/src/Router.d.ts +0 -284
  128. package/dist/core/src/ServiceProvider.d.ts +0 -178
  129. package/dist/core/src/adapters/GravitoEngineAdapter.d.ts +0 -27
  130. package/dist/core/src/adapters/PhotonAdapter.d.ts +0 -175
  131. package/dist/core/src/adapters/bun/BunContext.d.ts +0 -49
  132. package/dist/core/src/adapters/bun/BunNativeAdapter.d.ts +0 -31
  133. package/dist/core/src/adapters/bun/BunRequest.d.ts +0 -31
  134. package/dist/core/src/adapters/bun/RadixNode.d.ts +0 -19
  135. package/dist/core/src/adapters/bun/RadixRouter.d.ts +0 -31
  136. package/dist/core/src/adapters/bun/types.d.ts +0 -20
  137. package/dist/core/src/adapters/photon-types.d.ts +0 -73
  138. package/dist/core/src/adapters/types.d.ts +0 -235
  139. package/dist/core/src/cli/queue-commands.d.ts +0 -6
  140. package/dist/core/src/engine/AOTRouter.d.ts +0 -129
  141. package/dist/core/src/engine/FastContext.d.ts +0 -123
  142. package/dist/core/src/engine/Gravito.d.ts +0 -136
  143. package/dist/core/src/engine/MinimalContext.d.ts +0 -100
  144. package/dist/core/src/engine/analyzer.d.ts +0 -27
  145. package/dist/core/src/engine/constants.d.ts +0 -23
  146. package/dist/core/src/engine/index.d.ts +0 -26
  147. package/dist/core/src/engine/path.d.ts +0 -26
  148. package/dist/core/src/engine/pool.d.ts +0 -83
  149. package/dist/core/src/engine/types.d.ts +0 -146
  150. package/dist/core/src/error-handling/RequestScopeErrorContext.d.ts +0 -126
  151. package/dist/core/src/events/BackpressureManager.d.ts +0 -215
  152. package/dist/core/src/events/CircuitBreaker.d.ts +0 -229
  153. package/dist/core/src/events/DeadLetterQueue.d.ts +0 -219
  154. package/dist/core/src/events/EventBackend.d.ts +0 -12
  155. package/dist/core/src/events/EventOptions.d.ts +0 -204
  156. package/dist/core/src/events/EventPriorityQueue.d.ts +0 -301
  157. package/dist/core/src/events/FlowControlStrategy.d.ts +0 -109
  158. package/dist/core/src/events/IdempotencyCache.d.ts +0 -60
  159. package/dist/core/src/events/MessageQueueBridge.d.ts +0 -184
  160. package/dist/core/src/events/PriorityEscalationManager.d.ts +0 -82
  161. package/dist/core/src/events/RetryScheduler.d.ts +0 -104
  162. package/dist/core/src/events/WorkerPool.d.ts +0 -98
  163. package/dist/core/src/events/WorkerPoolConfig.d.ts +0 -153
  164. package/dist/core/src/events/WorkerPoolMetrics.d.ts +0 -65
  165. package/dist/core/src/events/aggregation/AggregationWindow.d.ts +0 -77
  166. package/dist/core/src/events/aggregation/DeduplicationManager.d.ts +0 -135
  167. package/dist/core/src/events/aggregation/EventAggregationManager.d.ts +0 -108
  168. package/dist/core/src/events/aggregation/EventBatcher.d.ts +0 -99
  169. package/dist/core/src/events/aggregation/types.d.ts +0 -117
  170. package/dist/core/src/events/index.d.ts +0 -25
  171. package/dist/core/src/events/observability/EventMetrics.d.ts +0 -132
  172. package/dist/core/src/events/observability/EventTracer.d.ts +0 -68
  173. package/dist/core/src/events/observability/EventTracing.d.ts +0 -161
  174. package/dist/core/src/events/observability/OTelEventMetrics.d.ts +0 -332
  175. package/dist/core/src/events/observability/ObservableHookManager.d.ts +0 -108
  176. package/dist/core/src/events/observability/StreamWorkerMetrics.d.ts +0 -76
  177. package/dist/core/src/events/observability/index.d.ts +0 -24
  178. package/dist/core/src/events/observability/metrics-types.d.ts +0 -16
  179. package/dist/core/src/events/types.d.ts +0 -134
  180. package/dist/core/src/exceptions/AuthenticationException.d.ts +0 -8
  181. package/dist/core/src/exceptions/AuthorizationException.d.ts +0 -8
  182. package/dist/core/src/exceptions/CircularDependencyException.d.ts +0 -9
  183. package/dist/core/src/exceptions/GravitoException.d.ts +0 -23
  184. package/dist/core/src/exceptions/HttpException.d.ts +0 -9
  185. package/dist/core/src/exceptions/ModelNotFoundException.d.ts +0 -10
  186. package/dist/core/src/exceptions/ValidationException.d.ts +0 -22
  187. package/dist/core/src/exceptions/index.d.ts +0 -7
  188. package/dist/core/src/health/HealthProvider.d.ts +0 -67
  189. package/dist/core/src/helpers/Arr.d.ts +0 -19
  190. package/dist/core/src/helpers/Str.d.ts +0 -23
  191. package/dist/core/src/helpers/data.d.ts +0 -25
  192. package/dist/core/src/helpers/errors.d.ts +0 -34
  193. package/dist/core/src/helpers/response.d.ts +0 -41
  194. package/dist/core/src/helpers.d.ts +0 -338
  195. package/dist/core/src/http/CookieJar.d.ts +0 -51
  196. package/dist/core/src/http/cookie.d.ts +0 -29
  197. package/dist/core/src/http/middleware/BodySizeLimit.d.ts +0 -16
  198. package/dist/core/src/http/middleware/Cors.d.ts +0 -24
  199. package/dist/core/src/http/middleware/Csrf.d.ts +0 -23
  200. package/dist/core/src/http/middleware/HeaderTokenGate.d.ts +0 -28
  201. package/dist/core/src/http/middleware/SecurityHeaders.d.ts +0 -29
  202. package/dist/core/src/http/middleware/ThrottleRequests.d.ts +0 -18
  203. package/dist/core/src/http/types.d.ts +0 -374
  204. package/dist/core/src/index.d.ts +0 -88
  205. package/dist/core/src/instrumentation/index.d.ts +0 -35
  206. package/dist/core/src/instrumentation/opentelemetry.d.ts +0 -178
  207. package/dist/core/src/instrumentation/types.d.ts +0 -182
  208. package/dist/core/src/observability/Metrics.d.ts +0 -244
  209. package/dist/core/src/observability/QueueDashboard.d.ts +0 -136
  210. package/dist/core/src/reliability/DeadLetterQueueManager.d.ts +0 -350
  211. package/dist/core/src/reliability/RetryPolicy.d.ts +0 -217
  212. package/dist/core/src/reliability/index.d.ts +0 -6
  213. package/dist/core/src/router/ControllerDispatcher.d.ts +0 -12
  214. package/dist/core/src/router/RequestValidator.d.ts +0 -20
  215. package/dist/core/src/runtime.d.ts +0 -119
  216. package/dist/core/src/security/Encrypter.d.ts +0 -33
  217. package/dist/core/src/security/Hasher.d.ts +0 -29
  218. package/dist/core/src/testing/HttpTester.d.ts +0 -39
  219. package/dist/core/src/testing/TestResponse.d.ts +0 -78
  220. package/dist/core/src/testing/index.d.ts +0 -2
  221. package/dist/core/src/types/events.d.ts +0 -94
  222. package/dist/echo/src/OrbitEcho.d.ts +0 -115
  223. package/dist/echo/src/index.d.ts +0 -64
  224. package/dist/echo/src/providers/GenericProvider.d.ts +0 -53
  225. package/dist/echo/src/providers/GitHubProvider.d.ts +0 -35
  226. package/dist/echo/src/providers/StripeProvider.d.ts +0 -38
  227. package/dist/echo/src/providers/index.d.ts +0 -14
  228. package/dist/echo/src/receive/SignatureValidator.d.ts +0 -67
  229. package/dist/echo/src/receive/WebhookReceiver.d.ts +0 -185
  230. package/dist/echo/src/receive/index.d.ts +0 -2
  231. package/dist/echo/src/send/WebhookDispatcher.d.ts +0 -198
  232. package/dist/echo/src/send/index.d.ts +0 -1
  233. package/dist/echo/src/types.d.ts +0 -756
  234. package/dist/index.d.ts.map +0 -1
  235. package/dist/monitor/src/MonitorOrbit.d.ts +0 -43
  236. package/dist/monitor/src/config.d.ts +0 -106
  237. package/dist/monitor/src/health/HealthController.d.ts +0 -28
  238. package/dist/monitor/src/health/HealthRegistry.d.ts +0 -80
  239. package/dist/monitor/src/health/index.d.ts +0 -36
  240. package/dist/monitor/src/index.d.ts +0 -13
  241. package/dist/monitor/src/metrics/MetricsController.d.ts +0 -22
  242. package/dist/monitor/src/metrics/MetricsRegistry.d.ts +0 -136
  243. package/dist/monitor/src/metrics/index.d.ts +0 -11
  244. package/dist/monitor/src/tracing/TracingManager.d.ts +0 -97
  245. package/dist/monitor/src/tracing/index.d.ts +0 -10
  246. package/dist/photon/src/index.d.ts +0 -89
  247. package/dist/photon/src/middleware/binary.d.ts +0 -31
  248. package/dist/photon/src/middleware/htmx.d.ts +0 -39
  249. package/dist/photon/src/middleware/ratelimit-redis.d.ts +0 -50
  250. package/dist/photon/src/middleware/ratelimit.d.ts +0 -161
  251. package/dist/photon/src/openapi.d.ts +0 -19
  252. package/dist/providers/GenericProvider.d.ts.map +0 -1
  253. package/dist/providers/GitHubProvider.d.ts.map +0 -1
  254. package/dist/providers/StripeProvider.d.ts.map +0 -1
  255. package/dist/providers/index.d.ts.map +0 -1
  256. package/dist/receive/SignatureValidator.d.ts.map +0 -1
  257. package/dist/receive/WebhookReceiver.d.ts.map +0 -1
  258. package/dist/receive/index.d.ts.map +0 -1
  259. package/dist/send/WebhookDispatcher.d.ts.map +0 -1
  260. package/dist/send/index.d.ts.map +0 -1
  261. package/dist/types.d.ts.map +0 -1
  262. /package/dist/{echo/src/dlq → dlq}/DeadLetterQueue.d.ts +0 -0
  263. /package/dist/{echo/src/dlq → dlq}/MemoryDeadLetterQueue.d.ts +0 -0
  264. /package/dist/{echo/src/dlq → dlq}/index.d.ts +0 -0
  265. /package/dist/{echo/src/middleware → middleware}/index.d.ts +0 -0
  266. /package/dist/{echo/src/observability → observability}/index.d.ts +0 -0
  267. /package/dist/{echo/src/observability → observability}/logging/ConsoleEchoLogger.d.ts +0 -0
  268. /package/dist/{echo/src/observability → observability}/logging/EchoLogger.d.ts +0 -0
  269. /package/dist/{echo/src/observability → observability}/logging/index.d.ts +0 -0
  270. /package/dist/{echo/src/observability → observability}/metrics/MetricsProvider.d.ts +0 -0
  271. /package/dist/{echo/src/observability → observability}/metrics/NoopMetricsProvider.d.ts +0 -0
  272. /package/dist/{echo/src/observability → observability}/metrics/PrometheusMetricsProvider.d.ts +0 -0
  273. /package/dist/{echo/src/observability → observability}/metrics/index.d.ts +0 -0
  274. /package/dist/{echo/src/observability → observability}/tracing/NoopTracer.d.ts +0 -0
  275. /package/dist/{echo/src/observability → observability}/tracing/Tracer.d.ts +0 -0
  276. /package/dist/{echo/src/observability → observability}/tracing/index.d.ts +0 -0
  277. /package/dist/{echo/src/providers → providers}/LinearProvider.d.ts +0 -0
  278. /package/dist/{echo/src/providers → providers}/PaddleProvider.d.ts +0 -0
  279. /package/dist/{echo/src/providers → providers}/ShopifyProvider.d.ts +0 -0
  280. /package/dist/{echo/src/providers → providers}/SlackProvider.d.ts +0 -0
  281. /package/dist/{echo/src/providers → providers}/TwilioProvider.d.ts +0 -0
  282. /package/dist/{echo/src/providers → providers}/base/BaseProvider.d.ts +0 -0
  283. /package/dist/{echo/src/providers → providers}/base/HeaderUtils.d.ts +0 -0
  284. /package/dist/{echo/src/replay → replay}/WebhookReplayService.d.ts +0 -0
  285. /package/dist/{echo/src/replay → replay}/index.d.ts +0 -0
  286. /package/dist/{echo/src/resilience → resilience}/CircuitBreaker.d.ts +0 -0
  287. /package/dist/{echo/src/resilience → resilience}/index.d.ts +0 -0
  288. /package/dist/{echo/src/rotation → rotation}/KeyRotationManager.d.ts +0 -0
  289. /package/dist/{echo/src/rotation → rotation}/index.d.ts +0 -0
  290. /package/dist/{echo/src/storage → storage}/MemoryWebhookStore.d.ts +0 -0
  291. /package/dist/{echo/src/storage → storage}/WebhookStore.d.ts +0 -0
  292. /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
- }