@gravito/echo 3.1.0 → 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 (245) 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 -301
  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 -48
  24. package/dist/atlas/src/connection/Connection.d.ts +0 -108
  25. package/dist/atlas/src/connection/ConnectionManager.d.ts +0 -111
  26. package/dist/atlas/src/drivers/BunSQLDriver.d.ts +0 -32
  27. package/dist/atlas/src/drivers/BunSQLPreparedStatement.d.ts +0 -118
  28. package/dist/atlas/src/drivers/MongoDBDriver.d.ts +0 -36
  29. package/dist/atlas/src/drivers/MySQLDriver.d.ts +0 -66
  30. package/dist/atlas/src/drivers/PostgresDriver.d.ts +0 -83
  31. package/dist/atlas/src/drivers/RedisDriver.d.ts +0 -43
  32. package/dist/atlas/src/drivers/SQLiteDriver.d.ts +0 -45
  33. package/dist/atlas/src/drivers/types.d.ts +0 -260
  34. package/dist/atlas/src/errors/index.d.ts +0 -45
  35. package/dist/atlas/src/grammar/Grammar.d.ts +0 -342
  36. package/dist/atlas/src/grammar/MongoGrammar.d.ts +0 -47
  37. package/dist/atlas/src/grammar/MySQLGrammar.d.ts +0 -54
  38. package/dist/atlas/src/grammar/NullGrammar.d.ts +0 -35
  39. package/dist/atlas/src/grammar/PostgresGrammar.d.ts +0 -62
  40. package/dist/atlas/src/grammar/SQLiteGrammar.d.ts +0 -32
  41. package/dist/atlas/src/index.d.ts +0 -67
  42. package/dist/atlas/src/migration/Migration.d.ts +0 -64
  43. package/dist/atlas/src/migration/MigrationRepository.d.ts +0 -65
  44. package/dist/atlas/src/migration/Migrator.d.ts +0 -110
  45. package/dist/atlas/src/migration/index.d.ts +0 -6
  46. package/dist/atlas/src/observability/AtlasMetrics.d.ts +0 -11
  47. package/dist/atlas/src/observability/AtlasObservability.d.ts +0 -15
  48. package/dist/atlas/src/observability/AtlasTracer.d.ts +0 -12
  49. package/dist/atlas/src/observability/index.d.ts +0 -9
  50. package/dist/atlas/src/orm/index.d.ts +0 -5
  51. package/dist/atlas/src/orm/model/DirtyTracker.d.ts +0 -121
  52. package/dist/atlas/src/orm/model/Model.d.ts +0 -449
  53. package/dist/atlas/src/orm/model/ModelRegistry.d.ts +0 -20
  54. package/dist/atlas/src/orm/model/concerns/HasAttributes.d.ts +0 -136
  55. package/dist/atlas/src/orm/model/concerns/HasEvents.d.ts +0 -36
  56. package/dist/atlas/src/orm/model/concerns/HasPersistence.d.ts +0 -87
  57. package/dist/atlas/src/orm/model/concerns/HasRelationships.d.ts +0 -117
  58. package/dist/atlas/src/orm/model/concerns/HasSerialization.d.ts +0 -64
  59. package/dist/atlas/src/orm/model/concerns/applyMixins.d.ts +0 -15
  60. package/dist/atlas/src/orm/model/concerns/index.d.ts +0 -12
  61. package/dist/atlas/src/orm/model/decorators.d.ts +0 -109
  62. package/dist/atlas/src/orm/model/errors.d.ts +0 -52
  63. package/dist/atlas/src/orm/model/index.d.ts +0 -10
  64. package/dist/atlas/src/orm/model/relationships.d.ts +0 -207
  65. package/dist/atlas/src/orm/model/types.d.ts +0 -12
  66. package/dist/atlas/src/orm/schema/SchemaRegistry.d.ts +0 -123
  67. package/dist/atlas/src/orm/schema/SchemaSniffer.d.ts +0 -54
  68. package/dist/atlas/src/orm/schema/index.d.ts +0 -6
  69. package/dist/atlas/src/orm/schema/types.d.ts +0 -85
  70. package/dist/atlas/src/query/Expression.d.ts +0 -60
  71. package/dist/atlas/src/query/NPlusOneDetector.d.ts +0 -10
  72. package/dist/atlas/src/query/QueryBuilder.d.ts +0 -573
  73. package/dist/atlas/src/query/clauses/GroupByClause.d.ts +0 -51
  74. package/dist/atlas/src/query/clauses/HavingClause.d.ts +0 -70
  75. package/dist/atlas/src/query/clauses/JoinClause.d.ts +0 -87
  76. package/dist/atlas/src/query/clauses/LimitClause.d.ts +0 -82
  77. package/dist/atlas/src/query/clauses/OrderByClause.d.ts +0 -69
  78. package/dist/atlas/src/query/clauses/SelectClause.d.ts +0 -71
  79. package/dist/atlas/src/query/clauses/WhereClause.d.ts +0 -167
  80. package/dist/atlas/src/query/clauses/index.d.ts +0 -11
  81. package/dist/atlas/src/schema/Blueprint.d.ts +0 -276
  82. package/dist/atlas/src/schema/ColumnDefinition.d.ts +0 -154
  83. package/dist/atlas/src/schema/ForeignKeyDefinition.d.ts +0 -37
  84. package/dist/atlas/src/schema/Schema.d.ts +0 -131
  85. package/dist/atlas/src/schema/grammars/MySQLSchemaGrammar.d.ts +0 -23
  86. package/dist/atlas/src/schema/grammars/PostgresSchemaGrammar.d.ts +0 -26
  87. package/dist/atlas/src/schema/grammars/SQLiteSchemaGrammar.d.ts +0 -28
  88. package/dist/atlas/src/schema/grammars/SchemaGrammar.d.ts +0 -97
  89. package/dist/atlas/src/schema/grammars/index.d.ts +0 -7
  90. package/dist/atlas/src/schema/index.d.ts +0 -8
  91. package/dist/atlas/src/seed/Factory.d.ts +0 -90
  92. package/dist/atlas/src/seed/Seeder.d.ts +0 -28
  93. package/dist/atlas/src/seed/SeederRunner.d.ts +0 -74
  94. package/dist/atlas/src/seed/index.d.ts +0 -6
  95. package/dist/atlas/src/types/index.d.ts +0 -1100
  96. package/dist/atlas/src/utils/levenshtein.d.ts +0 -9
  97. package/dist/core/src/Application.d.ts +0 -215
  98. package/dist/core/src/CommandKernel.d.ts +0 -33
  99. package/dist/core/src/ConfigManager.d.ts +0 -26
  100. package/dist/core/src/Container.d.ts +0 -108
  101. package/dist/core/src/ErrorHandler.d.ts +0 -63
  102. package/dist/core/src/Event.d.ts +0 -5
  103. package/dist/core/src/EventManager.d.ts +0 -123
  104. package/dist/core/src/GlobalErrorHandlers.d.ts +0 -47
  105. package/dist/core/src/GravitoServer.d.ts +0 -28
  106. package/dist/core/src/HookManager.d.ts +0 -496
  107. package/dist/core/src/Listener.d.ts +0 -4
  108. package/dist/core/src/Logger.d.ts +0 -20
  109. package/dist/core/src/PlanetCore.d.ts +0 -289
  110. package/dist/core/src/Route.d.ts +0 -36
  111. package/dist/core/src/Router.d.ts +0 -284
  112. package/dist/core/src/ServiceProvider.d.ts +0 -156
  113. package/dist/core/src/adapters/GravitoEngineAdapter.d.ts +0 -27
  114. package/dist/core/src/adapters/PhotonAdapter.d.ts +0 -171
  115. package/dist/core/src/adapters/bun/BunContext.d.ts +0 -45
  116. package/dist/core/src/adapters/bun/BunNativeAdapter.d.ts +0 -31
  117. package/dist/core/src/adapters/bun/BunRequest.d.ts +0 -31
  118. package/dist/core/src/adapters/bun/RadixNode.d.ts +0 -19
  119. package/dist/core/src/adapters/bun/RadixRouter.d.ts +0 -31
  120. package/dist/core/src/adapters/bun/types.d.ts +0 -20
  121. package/dist/core/src/adapters/photon-types.d.ts +0 -73
  122. package/dist/core/src/adapters/types.d.ts +0 -235
  123. package/dist/core/src/engine/AOTRouter.d.ts +0 -124
  124. package/dist/core/src/engine/FastContext.d.ts +0 -100
  125. package/dist/core/src/engine/Gravito.d.ts +0 -137
  126. package/dist/core/src/engine/MinimalContext.d.ts +0 -79
  127. package/dist/core/src/engine/analyzer.d.ts +0 -27
  128. package/dist/core/src/engine/constants.d.ts +0 -23
  129. package/dist/core/src/engine/index.d.ts +0 -26
  130. package/dist/core/src/engine/path.d.ts +0 -26
  131. package/dist/core/src/engine/pool.d.ts +0 -83
  132. package/dist/core/src/engine/types.d.ts +0 -143
  133. package/dist/core/src/events/CircuitBreaker.d.ts +0 -229
  134. package/dist/core/src/events/DeadLetterQueue.d.ts +0 -145
  135. package/dist/core/src/events/EventBackend.d.ts +0 -11
  136. package/dist/core/src/events/EventOptions.d.ts +0 -109
  137. package/dist/core/src/events/EventPriorityQueue.d.ts +0 -202
  138. package/dist/core/src/events/IdempotencyCache.d.ts +0 -60
  139. package/dist/core/src/events/index.d.ts +0 -14
  140. package/dist/core/src/events/observability/EventMetrics.d.ts +0 -132
  141. package/dist/core/src/events/observability/EventTracer.d.ts +0 -68
  142. package/dist/core/src/events/observability/EventTracing.d.ts +0 -161
  143. package/dist/core/src/events/observability/OTelEventMetrics.d.ts +0 -240
  144. package/dist/core/src/events/observability/ObservableHookManager.d.ts +0 -108
  145. package/dist/core/src/events/observability/index.d.ts +0 -20
  146. package/dist/core/src/events/observability/metrics-types.d.ts +0 -16
  147. package/dist/core/src/events/types.d.ts +0 -75
  148. package/dist/core/src/exceptions/AuthenticationException.d.ts +0 -8
  149. package/dist/core/src/exceptions/AuthorizationException.d.ts +0 -8
  150. package/dist/core/src/exceptions/CircularDependencyException.d.ts +0 -9
  151. package/dist/core/src/exceptions/GravitoException.d.ts +0 -23
  152. package/dist/core/src/exceptions/HttpException.d.ts +0 -9
  153. package/dist/core/src/exceptions/ModelNotFoundException.d.ts +0 -10
  154. package/dist/core/src/exceptions/ValidationException.d.ts +0 -22
  155. package/dist/core/src/exceptions/index.d.ts +0 -7
  156. package/dist/core/src/helpers/Arr.d.ts +0 -19
  157. package/dist/core/src/helpers/Str.d.ts +0 -23
  158. package/dist/core/src/helpers/data.d.ts +0 -25
  159. package/dist/core/src/helpers/errors.d.ts +0 -34
  160. package/dist/core/src/helpers/response.d.ts +0 -41
  161. package/dist/core/src/helpers.d.ts +0 -338
  162. package/dist/core/src/http/CookieJar.d.ts +0 -51
  163. package/dist/core/src/http/cookie.d.ts +0 -29
  164. package/dist/core/src/http/middleware/BodySizeLimit.d.ts +0 -16
  165. package/dist/core/src/http/middleware/Cors.d.ts +0 -24
  166. package/dist/core/src/http/middleware/Csrf.d.ts +0 -23
  167. package/dist/core/src/http/middleware/HeaderTokenGate.d.ts +0 -28
  168. package/dist/core/src/http/middleware/SecurityHeaders.d.ts +0 -29
  169. package/dist/core/src/http/middleware/ThrottleRequests.d.ts +0 -18
  170. package/dist/core/src/http/types.d.ts +0 -355
  171. package/dist/core/src/index.d.ts +0 -76
  172. package/dist/core/src/instrumentation/index.d.ts +0 -35
  173. package/dist/core/src/instrumentation/opentelemetry.d.ts +0 -178
  174. package/dist/core/src/instrumentation/types.d.ts +0 -182
  175. package/dist/core/src/reliability/DeadLetterQueueManager.d.ts +0 -316
  176. package/dist/core/src/reliability/RetryPolicy.d.ts +0 -217
  177. package/dist/core/src/reliability/index.d.ts +0 -6
  178. package/dist/core/src/router/ControllerDispatcher.d.ts +0 -12
  179. package/dist/core/src/router/RequestValidator.d.ts +0 -20
  180. package/dist/core/src/runtime.d.ts +0 -119
  181. package/dist/core/src/security/Encrypter.d.ts +0 -33
  182. package/dist/core/src/security/Hasher.d.ts +0 -29
  183. package/dist/core/src/testing/HttpTester.d.ts +0 -39
  184. package/dist/core/src/testing/TestResponse.d.ts +0 -78
  185. package/dist/core/src/testing/index.d.ts +0 -2
  186. package/dist/core/src/types/events.d.ts +0 -94
  187. package/dist/echo/src/OrbitEcho.d.ts +0 -115
  188. package/dist/echo/src/index.d.ts +0 -64
  189. package/dist/echo/src/providers/GenericProvider.d.ts +0 -53
  190. package/dist/echo/src/providers/GitHubProvider.d.ts +0 -35
  191. package/dist/echo/src/providers/StripeProvider.d.ts +0 -38
  192. package/dist/echo/src/providers/index.d.ts +0 -14
  193. package/dist/echo/src/receive/SignatureValidator.d.ts +0 -67
  194. package/dist/echo/src/receive/WebhookReceiver.d.ts +0 -185
  195. package/dist/echo/src/receive/index.d.ts +0 -2
  196. package/dist/echo/src/send/WebhookDispatcher.d.ts +0 -198
  197. package/dist/echo/src/send/index.d.ts +0 -1
  198. package/dist/echo/src/types.d.ts +0 -756
  199. package/dist/index.d.ts.map +0 -1
  200. package/dist/photon/src/index.d.ts +0 -84
  201. package/dist/photon/src/middleware/binary.d.ts +0 -31
  202. package/dist/photon/src/middleware/htmx.d.ts +0 -39
  203. package/dist/photon/src/middleware/ratelimit.d.ts +0 -157
  204. package/dist/photon/src/openapi.d.ts +0 -19
  205. package/dist/providers/GenericProvider.d.ts.map +0 -1
  206. package/dist/providers/GitHubProvider.d.ts.map +0 -1
  207. package/dist/providers/StripeProvider.d.ts.map +0 -1
  208. package/dist/providers/index.d.ts.map +0 -1
  209. package/dist/receive/SignatureValidator.d.ts.map +0 -1
  210. package/dist/receive/WebhookReceiver.d.ts.map +0 -1
  211. package/dist/receive/index.d.ts.map +0 -1
  212. package/dist/send/WebhookDispatcher.d.ts.map +0 -1
  213. package/dist/send/index.d.ts.map +0 -1
  214. package/dist/types.d.ts.map +0 -1
  215. /package/dist/{echo/src/dlq → dlq}/DeadLetterQueue.d.ts +0 -0
  216. /package/dist/{echo/src/dlq → dlq}/MemoryDeadLetterQueue.d.ts +0 -0
  217. /package/dist/{echo/src/dlq → dlq}/index.d.ts +0 -0
  218. /package/dist/{echo/src/middleware → middleware}/index.d.ts +0 -0
  219. /package/dist/{echo/src/observability → observability}/index.d.ts +0 -0
  220. /package/dist/{echo/src/observability → observability}/logging/ConsoleEchoLogger.d.ts +0 -0
  221. /package/dist/{echo/src/observability → observability}/logging/EchoLogger.d.ts +0 -0
  222. /package/dist/{echo/src/observability → observability}/logging/index.d.ts +0 -0
  223. /package/dist/{echo/src/observability → observability}/metrics/MetricsProvider.d.ts +0 -0
  224. /package/dist/{echo/src/observability → observability}/metrics/NoopMetricsProvider.d.ts +0 -0
  225. /package/dist/{echo/src/observability → observability}/metrics/PrometheusMetricsProvider.d.ts +0 -0
  226. /package/dist/{echo/src/observability → observability}/metrics/index.d.ts +0 -0
  227. /package/dist/{echo/src/observability → observability}/tracing/NoopTracer.d.ts +0 -0
  228. /package/dist/{echo/src/observability → observability}/tracing/Tracer.d.ts +0 -0
  229. /package/dist/{echo/src/observability → observability}/tracing/index.d.ts +0 -0
  230. /package/dist/{echo/src/providers → providers}/LinearProvider.d.ts +0 -0
  231. /package/dist/{echo/src/providers → providers}/PaddleProvider.d.ts +0 -0
  232. /package/dist/{echo/src/providers → providers}/ShopifyProvider.d.ts +0 -0
  233. /package/dist/{echo/src/providers → providers}/SlackProvider.d.ts +0 -0
  234. /package/dist/{echo/src/providers → providers}/TwilioProvider.d.ts +0 -0
  235. /package/dist/{echo/src/providers → providers}/base/BaseProvider.d.ts +0 -0
  236. /package/dist/{echo/src/providers → providers}/base/HeaderUtils.d.ts +0 -0
  237. /package/dist/{echo/src/replay → replay}/WebhookReplayService.d.ts +0 -0
  238. /package/dist/{echo/src/replay → replay}/index.d.ts +0 -0
  239. /package/dist/{echo/src/resilience → resilience}/CircuitBreaker.d.ts +0 -0
  240. /package/dist/{echo/src/resilience → resilience}/index.d.ts +0 -0
  241. /package/dist/{echo/src/rotation → rotation}/KeyRotationManager.d.ts +0 -0
  242. /package/dist/{echo/src/rotation → rotation}/index.d.ts +0 -0
  243. /package/dist/{echo/src/storage → storage}/MemoryWebhookStore.d.ts +0 -0
  244. /package/dist/{echo/src/storage → storage}/WebhookStore.d.ts +0 -0
  245. /package/dist/{echo/src/storage → storage}/index.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,iBAAiB,GAClB,MAAM,8BAA8B,CAAA;AAErC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAG5D,YAAY,EAEV,UAAU,EACV,WAAW,EACX,qBAAqB,EACrB,uBAAuB,EACvB,YAAY,EACZ,cAAc,EAEd,cAAc,EAEd,eAAe,EACf,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,SAAS,CAAA"}
@@ -1,84 +0,0 @@
1
- /**
2
- * @gravito/photon - High-performance web engine for the Gravito Galaxy Architecture.
3
- *
4
- * Photon serves as the foundational HTTP layer for Gravito, providing an ultra-fast,
5
- * type-safe routing system based on Hono. It is designed to be the "light" that
6
- * connects Satellites (domain plugins) and Orbits (infrastructure) within the ecosystem.
7
- *
8
- * Key features:
9
- * - Zero-overhead routing and middleware.
10
- * - Full TypeScript inference for request parameters and body.
11
- * - Built-in support for HTMX and binary (CBOR) protocols.
12
- *
13
- * @example
14
- * ```typescript
15
- * import { Photon } from '@gravito/photon'
16
- *
17
- * const app = new Photon()
18
- *
19
- * app.get('/welcome', (c) => c.text('Welcome to the Galaxy!'))
20
- *
21
- * export default app
22
- * ```
23
- * @packageDocumentation
24
- */
25
- export * from 'hono';
26
- /**
27
- * The primary application class for Photon.
28
- *
29
- * An alias for `Hono`, providing the core routing and middleware capabilities.
30
- * Use this to define your API structure and mount domain-specific Satellites.
31
- *
32
- * @remarks
33
- * Photon extends Hono's capabilities with Gravito-specific optimizations.
34
- * It serves as the entry point for defining routes, applying middleware,
35
- * and handling the request-response lifecycle.
36
- *
37
- * @example
38
- * ```typescript
39
- * const app = new Photon()
40
- *
41
- * // Basic routing
42
- * app.get('/api/health', (c) => c.json({ status: 'ok' }))
43
- *
44
- * // Middleware integration
45
- * app.use('/api/*', myMiddleware)
46
- *
47
- * // Mounting sub-routers
48
- * app.route('/v1', v1Router)
49
- * ```
50
- * @public
51
- */
52
- export { Hono as Photon } from 'hono';
53
- /**
54
- * Binary-related middleware for Photon.
55
- *
56
- * Provides utilities for handling binary data formats like CBOR,
57
- * optimizing payload size and serialization speed for high-performance APIs.
58
- *
59
- * @public
60
- */
61
- export * from './middleware/binary';
62
- /**
63
- * HTMX-related middleware for Photon.
64
- *
65
- * Enhances Photon with first-class support for HTMX, including
66
- * automatic request detection and simplified header access for hypermedia-driven UIs.
67
- *
68
- * @public
69
- */
70
- export * from './middleware/htmx';
71
- /**
72
- * Rate limiting middleware for Photon.
73
- *
74
- * Provides built-in rate limiting with token bucket and sliding window strategies.
75
- * Supports both memory-based and custom storage backends.
76
- *
77
- * @public
78
- */
79
- export * from './middleware/ratelimit';
80
- /**
81
- * OpenAPI utilities
82
- * @public
83
- */
84
- export * from './openapi';
@@ -1,31 +0,0 @@
1
- import type { MiddlewareHandler } from 'hono';
2
- /**
3
- * Binary Middleware for Photon.
4
- *
5
- * Automatically detects 'Accept: application/cbor' and encodes
6
- * JSON responses using the CBOR binary format for high-performance communication.
7
- *
8
- * @remarks
9
- * This middleware is essential for high-frequency API calls where payload size
10
- * and serialization speed are critical. It leverages the `cborg` library for
11
- * efficient binary encoding.
12
- *
13
- * @returns A Hono middleware handler that intercepts JSON responses.
14
- *
15
- * @example
16
- * ```typescript
17
- * import { Photon } from '@gravito/photon'
18
- * import { binaryMiddleware } from '@gravito/photon/middleware/binary'
19
- *
20
- * const app = new Photon()
21
- * app.use(binaryMiddleware())
22
- *
23
- * app.get('/api/data', (c) => c.json({ items: [1, 2, 3] }))
24
- * ```
25
- *
26
- * @performance
27
- * - CBOR encoding is ~2-3x faster than JSON.stringify for large objects.
28
- * - Binary format reduces payload size by 20-40% on average.
29
- * - Optimized to read body directly without clone(), saving ~30% overhead.
30
- */
31
- export declare const binaryMiddleware: () => MiddlewareHandler;
@@ -1,39 +0,0 @@
1
- import type { MiddlewareHandler } from 'hono';
2
- /**
3
- * HTMX Middleware for Photon.
4
- *
5
- * Automatically detects HTMX requests and populates the context with
6
- * HTMX-specific headers and state.
7
- *
8
- * @remarks
9
- * This middleware enables hypermedia-driven UIs by providing first-class
10
- * support for HTMX. It allows handlers to easily distinguish between
11
- * full-page loads and partial updates.
12
- *
13
- * @returns A Hono middleware handler that populates HTMX context variables.
14
- *
15
- * @example
16
- * ```typescript
17
- * import { Photon } from '@gravito/photon'
18
- * import { htmxMiddleware } from '@gravito/photon/middleware/htmx'
19
- *
20
- * const app = new Photon()
21
- * app.use(htmxMiddleware())
22
- *
23
- * app.get('/search', async (c) => {
24
- * // Check if request is from HTMX
25
- * if (c.get('htmx')) {
26
- * return c.html('<div>Search results...</div>')
27
- * }
28
- *
29
- * return c.html('<html>...</html>')
30
- * })
31
- * ```
32
- *
33
- * @context_variables
34
- * - `htmx`: Boolean indicating if the request is an HTMX request.
35
- * - `htmx.boosted`: Boolean indicating if the request was boosted.
36
- * - `htmx.target`: The ID of the target element.
37
- * - `htmx.trigger`: The ID of the trigger element.
38
- */
39
- export declare const htmxMiddleware: () => MiddlewareHandler;
@@ -1,157 +0,0 @@
1
- /**
2
- * @fileoverview Rate Limiting Middleware for Photon
3
- *
4
- * Provides token bucket and sliding window rate limiting strategies.
5
- * Supports memory-based and Redis-based storage backends.
6
- *
7
- * @module @gravito/photon/middleware/ratelimit
8
- * @since 1.0.0
9
- */
10
- import type { Context, MiddlewareHandler } from '@gravito/photon';
11
- export interface RateLimitConfig {
12
- /**
13
- * Maximum number of requests allowed within the time window
14
- * @default 100
15
- */
16
- maxRequests: number;
17
- /**
18
- * Time window in milliseconds
19
- * @default 60000 (1 minute)
20
- */
21
- windowMs: number;
22
- /**
23
- * Strategy for rate limiting
24
- * - 'token-bucket': Smooth rate limiting with token refill
25
- * - 'sliding-window': Time-based window that slides continuously
26
- * @default 'token-bucket'
27
- */
28
- strategy?: 'token-bucket' | 'sliding-window';
29
- /**
30
- * Custom key generator function
31
- * @default (c) => c.req.header('x-forwarded-for') || c.req.header('x-real-ip') || 'unknown'
32
- */
33
- keyGenerator?: (c: Context) => string | Promise<string>;
34
- /**
35
- * Storage backend for rate limit state
36
- * @default new MemoryStore()
37
- */
38
- store?: RateLimitStore;
39
- /**
40
- * Custom handler for rate-limited requests
41
- * @default (c) => c.json({ error: 'Too Many Requests', retryAfter: <seconds> }, 429)
42
- */
43
- onRateLimitExceeded?: (c: Context, retryAfter: number) => Response | Promise<Response>;
44
- /**
45
- * Skip rate limiting for certain requests
46
- * @default undefined
47
- */
48
- skip?: (c: Context) => boolean | Promise<boolean>;
49
- /**
50
- * Custom headers to include in responses
51
- * @default true
52
- */
53
- standardHeaders?: boolean;
54
- /**
55
- * Include draft RateLimit headers (RateLimit-*)
56
- * @default false
57
- */
58
- draftHeaders?: boolean;
59
- }
60
- export interface RateLimitStore {
61
- /**
62
- * Increment request count and return current state
63
- */
64
- increment(key: string): Promise<RateLimitState>;
65
- /**
66
- * Reset the rate limit for a key
67
- */
68
- reset(key: string): Promise<void>;
69
- /**
70
- * Get current state without incrementing
71
- */
72
- get(key: string): Promise<RateLimitState | null>;
73
- }
74
- export interface RateLimitState {
75
- /**
76
- * Number of requests made in current window
77
- */
78
- count: number;
79
- /**
80
- * Timestamp when the window expires (ms)
81
- */
82
- resetTime: number;
83
- /**
84
- * Remaining requests allowed
85
- */
86
- remaining: number;
87
- }
88
- export declare class MemoryStore implements RateLimitStore {
89
- private config;
90
- private store;
91
- private cleanupInterval;
92
- constructor(config: {
93
- maxRequests: number;
94
- windowMs: number;
95
- }, cleanupIntervalMs?: number);
96
- increment(key: string): Promise<RateLimitState>;
97
- reset(key: string): Promise<void>;
98
- get(key: string): Promise<RateLimitState | null>;
99
- /**
100
- * Cleanup resources
101
- */
102
- destroy(): void;
103
- }
104
- /**
105
- * Create a rate limiting middleware
106
- *
107
- * @example
108
- * ```typescript
109
- * import { Photon } from '@gravito/photon'
110
- * import { rateLimit } from '@gravito/photon/middleware'
111
- *
112
- * const app = new Photon()
113
- *
114
- * // Basic usage: 100 requests per minute
115
- * app.use('*', rateLimit({ maxRequests: 100, windowMs: 60000 }))
116
- *
117
- * // Per-user rate limiting
118
- * app.use('/api/*', rateLimit({
119
- * maxRequests: 50,
120
- * windowMs: 60000,
121
- * keyGenerator: (c) => {
122
- * const userId = c.get('userId')
123
- * return userId || c.req.header('x-forwarded-for') || 'anonymous'
124
- * }
125
- * }))
126
- * ```
127
- */
128
- export declare function rateLimit(config: RateLimitConfig): MiddlewareHandler;
129
- /**
130
- * Convenience factory: Create rate limiter with common presets
131
- */
132
- export declare const createRateLimiter: {
133
- /**
134
- * Strict: 10 requests per minute
135
- */
136
- strict: (overrides?: Partial<RateLimitConfig>) => MiddlewareHandler;
137
- /**
138
- * Moderate: 60 requests per minute
139
- */
140
- moderate: (overrides?: Partial<RateLimitConfig>) => MiddlewareHandler;
141
- /**
142
- * Lenient: 100 requests per minute
143
- */
144
- lenient: (overrides?: Partial<RateLimitConfig>) => MiddlewareHandler;
145
- /**
146
- * API: 1000 requests per hour
147
- */
148
- api: (overrides?: Partial<RateLimitConfig>) => MiddlewareHandler;
149
- /**
150
- * Auth: 5 attempts per 15 minutes (for login endpoints)
151
- */
152
- auth: (overrides?: Partial<RateLimitConfig>) => MiddlewareHandler;
153
- };
154
- /**
155
- * Export convenience preset
156
- */
157
- export { createRateLimiter as rateLimiter };
@@ -1,19 +0,0 @@
1
- /**
2
- * @file packages/photon/src/openapi.ts
3
- * @module @gravito/photon/openapi
4
- * @description OpenAPI (Swagger) integration for Photon
5
- */
6
- import type { RouteConfig } from '@hono/zod-openapi';
7
- import { createRoute, OpenAPIHono } from '@hono/zod-openapi';
8
- import { z } from 'zod';
9
- /**
10
- * Photon Open API Class
11
- * Extends OpenAPIHono to provide a seamless OpenAPI integration.
12
- */
13
- export declare class PhotonOpenAPI extends OpenAPIHono {
14
- /**
15
- * Helper to create a fully typed route definition.
16
- */
17
- static route(config: RouteConfig): RouteConfig;
18
- }
19
- export { createRoute, z };
@@ -1 +0,0 @@
1
- {"version":3,"file":"GenericProvider.d.ts","sourceRoot":"","sources":["../../src/providers/GenericProvider.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAE1E;;;;;;;;;;;;GAYG;AACH,qBAAa,eAAgB,YAAW,eAAe;IACrD,QAAQ,CAAC,IAAI,aAAY;IAEzB,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,SAAS,CAAQ;gBAGvB,OAAO,GAAE;QACP,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,eAAe,CAAC,EAAE,MAAM,CAAA;QACxB,SAAS,CAAC,EAAE,MAAM,CAAA;KACd;IAOF,MAAM,CACV,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,EACtD,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,yBAAyB,CAAC;IAmDrC,OAAO,CAAC,SAAS;CAOlB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"GitHubProvider.d.ts","sourceRoot":"","sources":["../../src/providers/GitHubProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAE1E;;;;;;;;;;GAUG;AACH,qBAAa,cAAe,YAAW,eAAe;IACpD,QAAQ,CAAC,IAAI,YAAW;IAElB,MAAM,CACV,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,EACtD,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,yBAAyB,CAAC;IAoDrC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;IAOpD,OAAO,CAAC,SAAS;CAOlB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"StripeProvider.d.ts","sourceRoot":"","sources":["../../src/providers/StripeProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,OAAO,KAAK,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAE1E;;;;;;;;;;GAUG;AACH,qBAAa,cAAe,YAAW,eAAe;IACpD,QAAQ,CAAC,IAAI,YAAW;IAExB,OAAO,CAAC,SAAS,CAAQ;gBAEb,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO;IAI1C,MAAM,CACV,OAAO,EAAE,MAAM,GAAG,MAAM,EACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,EACtD,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,yBAAyB,CAAC;IA+DrC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;IAOpD,OAAO,CAAC,SAAS;CAOlB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SignatureValidator.d.ts","sourceRoot":"","sources":["../../src/receive/SignatureValidator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBjG;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB/F;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAc7D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,OAAO,CAG7E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,GACb;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAmBpD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"WebhookReceiver.d.ts","sourceRoot":"","sources":["../../src/receive/WebhookReceiver.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAEV,cAAc,EACd,eAAe,EACf,yBAAyB,EAC1B,MAAM,UAAU,CAAA;AAGjB,KAAK,aAAa,GAAG,KAAK,OAAO,CAAC,EAAE,GAAG,KAAK,eAAe,CAAA;AAE3D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAAmE;IACpF,OAAO,CAAC,QAAQ,CAAmD;IACnE,OAAO,CAAC,cAAc,CAAsC;;IAU5D,OAAO,CAAC,aAAa,CAAmC;IAExD;;OAEG;IACH,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,GAAG,IAAI;IAKpE;;OAEG;IACH,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAC9C,IAAI;IAaP;;OAEG;IACH,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI;IAc1F;;OAEG;IACH,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI;IAS1E;;OAEG;IACG,MAAM,CACV,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,GAAG,MAAM,EACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GACrD,OAAO,CAAC,yBAAyB,GAAG;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAwD5D;;OAEG;IACG,MAAM,CACV,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,GAAG,MAAM,EACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GACrD,OAAO,CAAC,yBAAyB,CAAC;CAWtC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/receive/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"WebhookDispatcher.d.ts","sourceRoot":"","sources":["../../src/send/WebhookDispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAEV,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,EACf,MAAM,UAAU,CAAA;AAajB;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,SAAS,CAAQ;gBAEb,MAAM,EAAE,uBAAuB;IAO3C;;OAEG;IACG,QAAQ,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA4BvF;;OAEG;YACW,eAAe;IAqE7B;;OAEG;IACH,OAAO,CAAC,WAAW;IASnB;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,OAAO,CAAC,KAAK;CAGd"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/send/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes
File without changes