@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,374 +0,0 @@
1
- /**
2
- * @fileoverview Core HTTP Types for Gravito Framework
3
- *
4
- * These types provide a unified abstraction layer that decouples the framework
5
- * from any specific HTTP engine (Photon, Express, custom, etc.).
6
- *
7
- * @module @gravito/core/http
8
- * @since 2.0.0
9
- */
10
- declare global {
11
- interface ExecutionContext {
12
- waitUntil(promise: Promise<unknown>): void;
13
- passThroughOnException(): void;
14
- }
15
- }
16
- /**
17
- * Standard HTTP methods supported by Gravito
18
- */
19
- export type HttpMethod = 'get' | 'post' | 'put' | 'delete' | 'patch' | 'options' | 'head';
20
- /**
21
- * HTTP status codes
22
- */
23
- export type StatusCode = number;
24
- /**
25
- * Content-bearing HTTP status codes (excludes 1xx, 204, 304)
26
- */
27
- export type ContentfulStatusCode = Exclude<StatusCode, 100 | 101 | 102 | 103 | 204 | 304>;
28
- /**
29
- * Base context variables available in every request
30
- * Orbits can extend this interface via module augmentation
31
- *
32
- * @example
33
- * ```typescript
34
- * // Extending variables in your orbit:
35
- * declare module '@gravito/core' {
36
- * interface GravitoVariables {
37
- * myService: MyService
38
- * }
39
- * }
40
- * ```
41
- */
42
- export interface GravitoVariables {
43
- /**
44
- * The PlanetCore instance
45
- * @remarks Always available in PlanetCore-managed contexts
46
- */
47
- core?: unknown;
48
- /**
49
- * Logger instance
50
- */
51
- logger?: unknown;
52
- /**
53
- * Configuration manager
54
- */
55
- config?: unknown;
56
- /**
57
- * Cookie jar for managing response cookies
58
- */
59
- cookieJar?: unknown;
60
- /**
61
- * Middleware scope tracking for Orbit isolation
62
- * Tracks which Orbit/scope this request belongs to
63
- * Used to prevent cross-Orbit middleware contamination
64
- * @since 2.3.0
65
- */
66
- middlewareScope?: string;
67
- /** @deprecated Use ctx.route() instead */
68
- route?: unknown;
69
- [key: string]: unknown;
70
- }
71
- /**
72
- * Validated request data targets
73
- */
74
- export type ValidationTarget = 'json' | 'query' | 'param' | 'header' | 'form' | 'cookie';
75
- /**
76
- * GravitoRequest - Unified request interface
77
- *
78
- * Provides a consistent API for accessing request data regardless of
79
- * the underlying HTTP engine.
80
- *
81
- * @example
82
- * ```typescript
83
- * const userId = ctx.req.param('id')
84
- * const search = ctx.req.query('q')
85
- * const body = await ctx.req.json<CreateUserDto>()
86
- * ```
87
- */
88
- export interface GravitoRequest {
89
- /** Full request URL */
90
- readonly url: string;
91
- /** HTTP method (uppercase) */
92
- readonly method: string;
93
- /** Request path without query string */
94
- readonly path: string;
95
- /**
96
- * Route pattern (e.g., /users/:id) for the matched route
97
- *
98
- * This provides the parameterized route pattern instead of the concrete path,
99
- * which is critical for preventing high cardinality issues in metrics systems.
100
- *
101
- * @example
102
- * ```typescript
103
- * // For request: GET /users/123
104
- * ctx.req.path // => "/users/123"
105
- * ctx.req.routePattern // => "/users/:id"
106
- * ```
107
- */
108
- readonly routePattern?: string;
109
- /**
110
- * Get a route parameter value
111
- * @param name - Parameter name (e.g., 'id' for route '/users/:id')
112
- */
113
- param(name: string): string | undefined;
114
- /**
115
- * Get all route parameters
116
- */
117
- params(): Record<string, string>;
118
- /**
119
- * Get a query string parameter
120
- * @param name - Query parameter name
121
- */
122
- query(name: string): string | undefined;
123
- /**
124
- * Get all query parameters
125
- */
126
- queries(): Record<string, string | string[]>;
127
- /**
128
- * Get a request header value
129
- * @param name - Header name (case-insensitive)
130
- */
131
- header(name: string): string | undefined;
132
- /**
133
- * Get all request headers
134
- */
135
- header(): Record<string, string>;
136
- /**
137
- * Parse request body as JSON
138
- * @throws {Error} If body is not valid JSON
139
- */
140
- json<T = unknown>(): Promise<T>;
141
- /**
142
- * Parse request body as text
143
- */
144
- text(): Promise<string>;
145
- /**
146
- * Parse request body as FormData
147
- */
148
- formData(): Promise<FormData>;
149
- /**
150
- * Parse request body as ArrayBuffer
151
- */
152
- arrayBuffer(): Promise<ArrayBuffer>;
153
- /**
154
- * Parse form data (urlencoded or multipart)
155
- */
156
- parseBody<T = unknown>(): Promise<T>;
157
- /**
158
- * Get the raw Request object
159
- */
160
- readonly raw: Request;
161
- /**
162
- * Get validated data from a specific source
163
- * @param target - The validation target
164
- * @throws {Error} If validation was not performed for this target
165
- */
166
- valid<T = unknown>(target: ValidationTarget): T;
167
- }
168
- /**
169
- * Options for request forwarding (Proxy)
170
- */
171
- export interface ProxyOptions {
172
- /** Override or add request headers */
173
- headers?: Record<string, string>;
174
- /** Whether to keep the original Host header (default: false) */
175
- preserveHost?: boolean;
176
- /** Whether to add X-Forwarded-* headers (default: true) */
177
- addForwardedHeaders?: boolean;
178
- /** Path rewriting logic */
179
- rewritePath?: (path: string) => string;
180
- }
181
- /**
182
- * GravitoContext - Unified request context
183
- *
184
- * This interface encapsulates all HTTP request/response operations,
185
- * enabling seamless replacement of the underlying HTTP engine.
186
- *
187
- * @typeParam V - Context variables type
188
- *
189
- * @example
190
- * ```typescript
191
- * // In a controller
192
- * async show(ctx: GravitoContext) {
193
- * const id = ctx.req.param('id')
194
- * const user = await User.find(id)
195
- * return ctx.json({ user })
196
- * }
197
- * ```
198
- */
199
- export interface GravitoContext<V extends GravitoVariables = GravitoVariables> {
200
- /** The incoming request */
201
- readonly req: GravitoRequest;
202
- /**
203
- * Send a JSON response
204
- * @param data - Data to serialize as JSON
205
- * @param status - HTTP status code (default: 200)
206
- */
207
- json<T>(data: T, status?: ContentfulStatusCode): Response;
208
- /**
209
- * Send a plain text response
210
- * @param text - Text content
211
- * @param status - HTTP status code (default: 200)
212
- */
213
- text(text: string, status?: ContentfulStatusCode): Response;
214
- /**
215
- * Send an HTML response
216
- * @param html - HTML content
217
- * @param status - HTTP status code (default: 200)
218
- */
219
- html(html: string, status?: ContentfulStatusCode): Response;
220
- /**
221
- * Send a redirect response
222
- * @param url - Target URL
223
- * @param status - Redirect status code (default: 302)
224
- */
225
- redirect(url: string, status?: 301 | 302 | 303 | 307 | 308): Response;
226
- /**
227
- * Create a Response with no body
228
- * @param status - HTTP status code
229
- */
230
- body(data: BodyInit | null, status?: StatusCode): Response;
231
- /**
232
- * Stream a response
233
- * @param stream - ReadableStream to send
234
- * @param status - HTTP status code (default: 200)
235
- */
236
- stream(stream: ReadableStream, status?: ContentfulStatusCode): Response;
237
- /**
238
- * Send a 404 Not Found response
239
- */
240
- notFound(message?: string): Response;
241
- /**
242
- * Send a 403 Forbidden response
243
- */
244
- forbidden(message?: string): Response;
245
- /**
246
- * Send a 401 Unauthorized response
247
- */
248
- unauthorized(message?: string): Response;
249
- /**
250
- * Send a 400 Bad Request response
251
- */
252
- badRequest(message?: string): Response;
253
- /**
254
- * Forward the current request to another URL (Reverse Proxy)
255
- * @param target - Target URL or base URL to forward to
256
- * @param options - Optional proxy options
257
- */
258
- forward(target: string, options?: ProxyOptions): Promise<Response>;
259
- /**
260
- * Set a response header
261
- * @param name - Header name
262
- * @param value - Header value
263
- * @param options - Options (append: true to add multiple values)
264
- */
265
- header(name: string, value: string, options?: {
266
- append?: boolean;
267
- }): void;
268
- /**
269
- * Get a request header
270
- * @param name - Header name (case-insensitive)
271
- */
272
- header(name: string): string | undefined;
273
- /**
274
- * Set the response status code
275
- * @param code - HTTP status code
276
- */
277
- status(code: StatusCode): void;
278
- /**
279
- * Get a context variable
280
- * @param key - Variable key
281
- */
282
- get<K extends keyof V>(key: K): V[K];
283
- /**
284
- * Set a context variable
285
- * @param key - Variable key
286
- * @param value - Variable value
287
- */
288
- set<K extends keyof V>(key: K, value: V[K]): void;
289
- /**
290
- * Get the execution context (for Cloudflare Workers, etc.)
291
- */
292
- readonly executionCtx?: ExecutionContext;
293
- /**
294
- * Get environment bindings (for Cloudflare Workers, etc.)
295
- */
296
- readonly env?: Record<string, unknown>;
297
- /**
298
- * URL generator helper.
299
- * Generates a URL for a named route.
300
- */
301
- route: (name: string, params?: Record<string, any>, query?: Record<string, any>) => string;
302
- /**
303
- * Access the native context object from the underlying HTTP engine.
304
- *
305
- * ⚠️ WARNING: Using this ties your code to a specific adapter.
306
- * Prefer using the abstraction methods when possible.
307
- *
308
- * @example
309
- * ```typescript
310
- * // Only when absolutely necessary
311
- * const photonCtx = ctx.native as Context // Photon Context
312
- * ```
313
- */
314
- readonly native: unknown;
315
- /**
316
- * Access the RequestScopeManager for this request
317
- * Services resolved through this manager are scoped to the HTTP request lifetime.
318
- */
319
- requestScope(): any;
320
- /**
321
- * Resolve or create a request-scoped service
322
- *
323
- * @param key - Service key (string or symbol)
324
- * @param factory - Factory function to create the service if not cached
325
- * @returns The cached or newly created service instance
326
- *
327
- * @example
328
- * ```typescript
329
- * // Subsequent calls in the same request return the same instance
330
- * const cache = ctx.scoped('product:cache', () => new RequestProductCache())
331
- * ```
332
- */
333
- scoped<T>(key: string | symbol, factory: () => T): T;
334
- }
335
- /**
336
- * Next function for middleware chain
337
- */
338
- export type GravitoNext = () => Promise<Response | undefined>;
339
- /**
340
- * GravitoHandler - Standard route handler type
341
- *
342
- * @typeParam V - Context variables type
343
- *
344
- * @example
345
- * ```typescript
346
- * const handler: GravitoHandler = async (ctx) => {
347
- * return ctx.json({ message: 'Hello, World!' })
348
- * }
349
- * ```
350
- */
351
- export type GravitoHandler<V extends GravitoVariables = GravitoVariables> = (ctx: GravitoContext<V>) => Response | Promise<Response>;
352
- /**
353
- * GravitoMiddleware - Standard middleware type
354
- *
355
- * @typeParam V - Context variables type
356
- *
357
- * @example
358
- * ```typescript
359
- * const logger: GravitoMiddleware = async (ctx, next) => {
360
- * console.log(`${ctx.req.method} ${ctx.req.path}`)
361
- * await next()
362
- * return undefined
363
- * }
364
- * ```
365
- */
366
- export type GravitoMiddleware<V extends GravitoVariables = GravitoVariables> = (ctx: GravitoContext<V>, next: GravitoNext) => Response | undefined | Promise<Response | undefined | undefined>;
367
- /**
368
- * Error handler type
369
- */
370
- export type GravitoErrorHandler<V extends GravitoVariables = GravitoVariables> = (error: Error, ctx: GravitoContext<V>) => Response | Promise<Response>;
371
- /**
372
- * Not found handler type
373
- */
374
- export type GravitoNotFoundHandler<V extends GravitoVariables = GravitoVariables> = (ctx: GravitoContext<V>) => Response | Promise<Response>;
@@ -1,88 +0,0 @@
1
- /**
2
- * @gravito/core
3
- *
4
- * The core micro-kernel for the Galaxy Architecture.
5
- *
6
- * @packageDocumentation
7
- */
8
- import type { GravitoConfig } from './PlanetCore';
9
- /**
10
- * Current version of @gravito/core.
11
- * @public
12
- */
13
- export declare const VERSION: string;
14
- export { GravitoEngineAdapter } from './adapters/GravitoEngineAdapter';
15
- export { createGravitoAdapter, createPhotonAdapter, GravitoAdapter, PhotonAdapter, PhotonContextWrapper, PhotonRequestWrapper, } from './adapters/PhotonAdapter';
16
- export type { AdapterConfig, AdapterFactory, HttpAdapter, RouteDefinition } from './adapters/types';
17
- export { isHttpAdapter } from './adapters/types';
18
- export type { ContentfulStatusCode, GravitoContext, GravitoErrorHandler, GravitoHandler, GravitoMiddleware, GravitoNext, GravitoNotFoundHandler, GravitoRequest, GravitoVariables, HttpMethod, StatusCode, ValidationTarget, } from './http/types';
19
- export { Application, type ApplicationConfig } from './Application';
20
- export { type CommandHandler, CommandKernel } from './CommandKernel';
21
- export { ConfigManager } from './ConfigManager';
22
- export { Container, type Factory, type ServiceKey, type ServiceMap } from './Container';
23
- export { RequestScopeManager } from './Container/RequestScopeManager';
24
- export { RequestScopeMetrics, RequestScopeMetricsCollector, type RequestScopeObserver, } from './Container/RequestScopeMetrics';
25
- export { registerQueueCommands } from './cli/queue-commands';
26
- export { codeFromStatus, ErrorHandler, type ErrorHandlerDeps, messageFromStatus, } from './ErrorHandler';
27
- export { EventManager } from './EventManager';
28
- export { cleanupRequestScopeOnError, detectRequestScopeLeaks, extractRequestScopeErrorContext, RequestScopeCleanupError, type RequestScopeErrorContext, withRequestScopeCleanup, } from './error-handling/RequestScopeErrorContext';
29
- export type { CircuitBreakerOptions, DLQEntry, DLQFilter, EventBackend, EventOptions, EventTask, } from './events';
30
- export { CircuitBreaker, CircuitBreakerState, DEFAULT_EVENT_OPTIONS, DeadLetterQueue, EventPriorityQueue, } from './events';
31
- export type { EventTracingConfig, ObservabilityConfig, QueueDepthCallback, } from './events/observability';
32
- export { EventMetrics, EventTracer, EventTracing, getEventTracing, ObservableHookManager, OTelEventMetrics, } from './events/observability';
33
- export { type DashboardSnapshot, type ErrorStats, type JobEvent, QueueDashboard, type QueueDashboardConfig, type QueueMetrics, type WorkerMetrics as QueueWorkerMetrics, } from './observability/QueueDashboard';
34
- export * from './exceptions';
35
- export { type GlobalErrorHandlersMode, type GlobalProcessErrorHandlerContext, type GlobalProcessErrorKind, type RegisterGlobalErrorHandlersOptions, registerGlobalErrorHandlers, } from './GlobalErrorHandlers';
36
- export { type GravitoManifest, GravitoServer } from './GravitoServer';
37
- export type { ActionCallback, FilterCallback, ListenerInfo, ListenerOptions } from './HookManager';
38
- export { HookManager, type HookManagerConfig } from './HookManager';
39
- export type { HealthCheck, HealthCheckResult } from './health/HealthProvider';
40
- export { HealthProvider } from './health/HealthProvider';
41
- export type { DumpOptions } from './helpers';
42
- export { Arr, abort, abortIf, abortUnless, app, blank, config, DumpDieError, dd, dump, env, filled, hasApp, logger, router, Str, setApp, tap, throwIf, throwUnless, value, } from './helpers';
43
- export * from './helpers/data';
44
- export * from './helpers/errors';
45
- export * from './helpers/response';
46
- export { CookieJar, type CookieOptions } from './http/CookieJar';
47
- export { deleteCookie, getCookie, setCookie } from './http/cookie';
48
- export { type BodySizeLimitOptions, bodySizeLimit } from './http/middleware/BodySizeLimit';
49
- export { type CorsOptions, type CorsOrigin, cors } from './http/middleware/Cors';
50
- export { type CsrfOptions, csrfProtection, getCsrfToken } from './http/middleware/Csrf';
51
- export { createHeaderGate, type HeaderTokenGateOptions, type RequireHeaderTokenOptions, requireHeaderToken, } from './http/middleware/HeaderTokenGate';
52
- export { type HstsOptions, type SecurityHeadersOptions, securityHeaders, } from './http/middleware/SecurityHeaders';
53
- export { ThrottleRequests } from './http/middleware/ThrottleRequests';
54
- export * as instrumentation from './instrumentation';
55
- export { DEFAULT_CONFIG as OTEL_DEFAULT_CONFIG, getMeter, getOpenTelemetrySDK, getTracer as getOtelTracer, isOpenTelemetryInitialized, type MetricsConfig as OtelMetricsConfig, type MetricsExporter, type OpenTelemetryConfig, type OpenTelemetrySDK, OTEL_ENV_VARS, resetOpenTelemetry, setupOpenTelemetry, shutdownOpenTelemetry, type TracingConfig as OtelTracingConfig, type TracingExporter, } from './instrumentation';
56
- export type { Listener, ShouldQueue } from './Listener';
57
- export type { Logger } from './Logger';
58
- export { ConsoleLogger } from './Logger';
59
- export { type CacheService, type ErrorHandlerContext, type GravitoConfig, type GravitoOrbit, PlanetCore, type ViewService, } from './PlanetCore';
60
- export { RequestContext, type RequestContextData, } from './RequestContext';
61
- export { Route } from './Route';
62
- export { type ControllerClass, FORM_REQUEST_SYMBOL, type FormRequestClass, type FormRequestLike, RouteGroup, type RouteHandler, type RouteOptions, Router, } from './Router';
63
- export type { DLQManagerFilter, DLQRecord, DLQStats, RetryPolicy } from './reliability';
64
- export { DeadLetterQueueManager, getDefaultRetryPolicy, getPresetRetryPolicy, RetryEngine, } from './reliability';
65
- export { ServiceProvider } from './ServiceProvider';
66
- export { Encrypter, type EncrypterOptions } from './security/Encrypter';
67
- export type { Channel, ShouldBroadcast } from './types/events';
68
- export { Event } from './types/events';
69
- export * from './testing';
70
- export { createSqliteDatabase, getPasswordAdapter, getRuntimeAdapter, getRuntimeEnv, type RuntimeAdapter, type RuntimeFileStat, type RuntimeKind, type RuntimePasswordAdapter, type RuntimeProcess, type RuntimeServeConfig, type RuntimeServer, type RuntimeSpawnOptions, type RuntimeSqliteDatabase, type RuntimeSqliteStatement, } from './runtime';
71
- export * as engine from './engine';
72
- /**
73
- * Configure your Gravito application
74
- *
75
- * @example
76
- * ```typescript
77
- * const config = defineConfig({
78
- * config: {
79
- * APP_NAME: 'My App',
80
- * PORT: 3000,
81
- * },
82
- * orbits: [], // Add your orbits here
83
- * })
84
- *
85
- * const core = await PlanetCore.boot(config)
86
- * ```
87
- */
88
- export declare function defineConfig(config: GravitoConfig): GravitoConfig;
@@ -1,35 +0,0 @@
1
- /**
2
- * @gravito/core - Instrumentation Module
3
- *
4
- * 提供 OpenTelemetry SDK 集成功能,包括分佈式追蹤與指標收集。
5
- *
6
- * @example
7
- * ```typescript
8
- * import {
9
- * setupOpenTelemetry,
10
- * getOpenTelemetrySDK,
11
- * getTracer,
12
- * getMeter
13
- * } from '@gravito/core'
14
- *
15
- * // 初始化 SDK
16
- * await setupOpenTelemetry({
17
- * serviceName: 'my-service',
18
- * tracing: { enabled: true, exporter: 'jaeger' },
19
- * metrics: { enabled: true, exporter: 'prometheus' }
20
- * })
21
- *
22
- * // 獲取 Tracer
23
- * const tracer = await getTracer('my-module')
24
- * const span = tracer.startSpan('my-operation')
25
- *
26
- * // 獲取 Meter
27
- * const meter = await getMeter('my-module')
28
- * const counter = meter.createCounter('request_count')
29
- * ```
30
- *
31
- * @packageDocumentation
32
- */
33
- export { getMeter, getOpenTelemetrySDK, getTracer, isOpenTelemetryInitialized, resetOpenTelemetry, setupOpenTelemetry, shutdownOpenTelemetry, } from './opentelemetry';
34
- export type { MetricsConfig, MetricsExporter, OpenTelemetryConfig, OpenTelemetrySDK, TracingConfig, TracingExporter, } from './types';
35
- export { DEFAULT_CONFIG, OTEL_ENV_VARS } from './types';
@@ -1,178 +0,0 @@
1
- /**
2
- * @gravito/core - OpenTelemetry SDK 集成
3
- *
4
- * 提供 OpenTelemetry 的初始化、配置與管理功能。
5
- * 支援動態導入以實現可選依賴的優雅降級。
6
- *
7
- * @example
8
- * ```typescript
9
- * import { setupOpenTelemetry } from '@gravito/core'
10
- *
11
- * const sdk = await setupOpenTelemetry({
12
- * serviceName: 'my-service',
13
- * serviceVersion: '1.0.0',
14
- * tracing: {
15
- * enabled: true,
16
- * exporter: 'jaeger',
17
- * samplingRate: 0.1
18
- * },
19
- * metrics: {
20
- * enabled: true,
21
- * exporter: 'prometheus',
22
- * prometheusPort: 9090
23
- * }
24
- * })
25
- * ```
26
- *
27
- * @packageDocumentation
28
- */
29
- import { type MetricsConfig, type OpenTelemetryConfig, type OpenTelemetrySDK, type TracingConfig } from './types';
30
- export type { MetricsConfig, OpenTelemetryConfig, OpenTelemetrySDK, TracingConfig };
31
- /**
32
- * 初始化 OpenTelemetry SDK
33
- *
34
- * @param userConfig - 用戶配置
35
- * @returns OpenTelemetry SDK 實例或 null(如果禁用或初始化失敗)
36
- *
37
- * @example
38
- * ```typescript
39
- * // 基本用法
40
- * const sdk = await setupOpenTelemetry({
41
- * serviceName: 'my-service'
42
- * })
43
- *
44
- * // 完整配置
45
- * const sdk = await setupOpenTelemetry({
46
- * serviceName: 'my-service',
47
- * serviceVersion: '2.0.0',
48
- * environment: 'production',
49
- * tracing: {
50
- * enabled: true,
51
- * exporter: 'jaeger',
52
- * jaegerEndpoint: 'http://jaeger:14268/api/traces',
53
- * samplingRate: 0.1
54
- * },
55
- * metrics: {
56
- * enabled: true,
57
- * exporter: 'prometheus',
58
- * prometheusPort: 9090
59
- * }
60
- * })
61
- * ```
62
- *
63
- * @public
64
- */
65
- export declare function setupOpenTelemetry(userConfig?: OpenTelemetryConfig): Promise<OpenTelemetrySDK | null>;
66
- /**
67
- * 獲取全局 OpenTelemetry SDK 實例
68
- *
69
- * @returns SDK 實例或 null
70
- *
71
- * @example
72
- * ```typescript
73
- * const sdk = getOpenTelemetrySDK()
74
- * if (sdk) {
75
- * console.log('Service:', sdk.serviceName)
76
- * }
77
- * ```
78
- *
79
- * @public
80
- */
81
- export declare function getOpenTelemetrySDK(): OpenTelemetrySDK | null;
82
- /**
83
- * 檢查 OpenTelemetry 是否已初始化
84
- *
85
- * @returns 初始化狀態
86
- *
87
- * @public
88
- */
89
- export declare function isOpenTelemetryInitialized(): boolean;
90
- /**
91
- * 關閉 OpenTelemetry SDK
92
- *
93
- * 應在應用程序關閉時調用,確保所有 spans 和 metrics 都被導出。
94
- *
95
- * @example
96
- * ```typescript
97
- * // 在應用程序退出前
98
- * process.on('SIGTERM', async () => {
99
- * await shutdownOpenTelemetry()
100
- * process.exit(0)
101
- * })
102
- * ```
103
- *
104
- * @public
105
- */
106
- export declare function shutdownOpenTelemetry(): Promise<void>;
107
- /**
108
- * 重置 OpenTelemetry SDK(主要用於測試)
109
- *
110
- * 關閉現有 SDK 並重置所有狀態,允許重新初始化。
111
- *
112
- * @internal
113
- */
114
- export declare function resetOpenTelemetry(): Promise<void>;
115
- /**
116
- * 獲取 Tracer 實例
117
- *
118
- * @param name - Tracer 名稱(預設:@gravito/core)
119
- * @param version - Tracer 版本
120
- * @returns Tracer 實例
121
- *
122
- * @example
123
- * ```typescript
124
- * const tracer = getTracer('my-module')
125
- * const span = tracer.startSpan('my-operation')
126
- * // ... 執行操作
127
- * span.end()
128
- * ```
129
- *
130
- * @public
131
- */
132
- export declare function getTracer(name?: string, version?: string): Promise<import("@opentelemetry/api").Tracer | {
133
- startSpan: () => {
134
- end: () => void;
135
- setAttribute: () => void;
136
- setStatus: () => void;
137
- recordException: () => void;
138
- addEvent: () => void;
139
- isRecording: () => boolean;
140
- };
141
- startActiveSpan: (_name: string, fn: (span: any) => any) => any;
142
- }>;
143
- /**
144
- * 獲取 Meter 實例
145
- *
146
- * @param name - Meter 名稱(預設:@gravito/core)
147
- * @param version - Meter 版本
148
- * @returns Meter 實例
149
- *
150
- * @example
151
- * ```typescript
152
- * const meter = getMeter('my-module')
153
- * const counter = meter.createCounter('my_counter')
154
- * counter.add(1, { key: 'value' })
155
- * ```
156
- *
157
- * @public
158
- */
159
- export declare function getMeter(name?: string, version?: string): Promise<import("@opentelemetry/api").Meter | {
160
- createCounter: () => {
161
- add: () => void;
162
- };
163
- createHistogram: () => {
164
- record: () => void;
165
- };
166
- createUpDownCounter: () => {
167
- add: () => void;
168
- };
169
- createObservableCounter: () => {
170
- addCallback: () => void;
171
- };
172
- createObservableGauge: () => {
173
- addCallback: () => void;
174
- };
175
- createObservableUpDownCounter: () => {
176
- addCallback: () => void;
177
- };
178
- }>;