@gravito/signal 3.1.0 → 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 (72) hide show
  1. package/dist/OrbitSignal.d.ts +6 -0
  2. package/dist/errors/codes.d.ts +19 -0
  3. package/dist/errors.d.ts +18 -11
  4. package/dist/index.cjs +55148 -81886
  5. package/dist/index.d.ts +514 -1
  6. package/dist/index.js +61553 -0
  7. package/dist/index.mjs +55158 -81907
  8. package/dist/transports/BaseTransport.d.ts +15 -23
  9. package/package.json +16 -4
  10. package/CHANGELOG.md +0 -74
  11. package/build.ts +0 -133
  12. package/dist/index.cjs.map +0 -712
  13. package/dist/index.mjs.map +0 -710
  14. package/doc/ADVANCED_RENDERING.md +0 -71
  15. package/doc/DISTRIBUTED_MESSAGING.md +0 -79
  16. package/doc/OPTIMIZATION_PLAN.md +0 -496
  17. package/package.json.bak +0 -75
  18. package/scripts/check-coverage.ts +0 -64
  19. package/src/Mailable.ts +0 -674
  20. package/src/OrbitSignal.ts +0 -451
  21. package/src/Queueable.ts +0 -9
  22. package/src/TypedMailable.ts +0 -96
  23. package/src/dev/DevMailbox.ts +0 -146
  24. package/src/dev/DevServer.ts +0 -192
  25. package/src/dev/storage/FileMailboxStorage.ts +0 -66
  26. package/src/dev/storage/MailboxStorage.ts +0 -15
  27. package/src/dev/storage/MemoryMailboxStorage.ts +0 -36
  28. package/src/dev/ui/mailbox.ts +0 -77
  29. package/src/dev/ui/preview.ts +0 -103
  30. package/src/dev/ui/shared.ts +0 -60
  31. package/src/errors.ts +0 -69
  32. package/src/events.ts +0 -72
  33. package/src/index.ts +0 -41
  34. package/src/renderers/HtmlRenderer.ts +0 -41
  35. package/src/renderers/MjmlRenderer.ts +0 -73
  36. package/src/renderers/ReactMjmlRenderer.ts +0 -94
  37. package/src/renderers/ReactRenderer.ts +0 -66
  38. package/src/renderers/Renderer.ts +0 -67
  39. package/src/renderers/TemplateRenderer.ts +0 -84
  40. package/src/renderers/VueMjmlRenderer.ts +0 -99
  41. package/src/renderers/VueRenderer.ts +0 -71
  42. package/src/renderers/mjml-templates.ts +0 -50
  43. package/src/transports/BaseTransport.ts +0 -148
  44. package/src/transports/LogTransport.ts +0 -55
  45. package/src/transports/MemoryTransport.ts +0 -55
  46. package/src/transports/SesTransport.ts +0 -129
  47. package/src/transports/SmtpTransport.ts +0 -184
  48. package/src/transports/Transport.ts +0 -45
  49. package/src/types.ts +0 -309
  50. package/src/utils/html.ts +0 -43
  51. package/src/webhooks/SendGridWebhookDriver.ts +0 -80
  52. package/src/webhooks/SesWebhookDriver.ts +0 -44
  53. package/tests/DevMailbox.test.ts +0 -54
  54. package/tests/FileMailboxStorage.test.ts +0 -56
  55. package/tests/MjmlLayout.test.ts +0 -28
  56. package/tests/MjmlRenderer.test.ts +0 -53
  57. package/tests/OrbitSignalWebhook.test.ts +0 -56
  58. package/tests/ReactMjmlRenderer.test.ts +0 -33
  59. package/tests/SendGridWebhookDriver.test.ts +0 -69
  60. package/tests/SesWebhookDriver.test.ts +0 -46
  61. package/tests/VueMjmlRenderer.test.ts +0 -35
  62. package/tests/dev-server.test.ts +0 -66
  63. package/tests/log-transport.test.ts +0 -21
  64. package/tests/mailable-extra.test.ts +0 -68
  65. package/tests/mailable.test.ts +0 -77
  66. package/tests/orbit-signal.test.ts +0 -43
  67. package/tests/renderers.test.ts +0 -58
  68. package/tests/template-renderer.test.ts +0 -24
  69. package/tests/transports.test.ts +0 -52
  70. package/tests/ui.test.ts +0 -37
  71. package/tsconfig.build.json +0 -24
  72. package/tsconfig.json +0 -9
@@ -200,6 +200,12 @@ export declare class OrbitSignal implements GravitoOrbit {
200
200
  * ```
201
201
  */
202
202
  install(core: PlanetCore): void;
203
+ /**
204
+ * Gracefully release transport and dev resources.
205
+ *
206
+ * Called during shutdown. Detects closeable transports via type narrowing (no `as any`).
207
+ */
208
+ private cleanup;
203
209
  /**
204
210
  * Internal: Handle processed webhook.
205
211
  */
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Structured error codes for @gravito/signal mail operations.
3
+ * Follows fortify's dot-separated namespace convention.
4
+ *
5
+ * NOTE: This replaces MailErrorCode enum for new code.
6
+ * The existing enum in ../errors.ts remains until Phase 18-19 migration.
7
+ *
8
+ * @public
9
+ */
10
+ export declare const MailErrorCodes: {
11
+ readonly CONNECTION_FAILED: "mail.connection_failed";
12
+ readonly AUTH_FAILED: "mail.auth_failed";
13
+ readonly RECIPIENT_REJECTED: "mail.recipient_rejected";
14
+ readonly MESSAGE_REJECTED: "mail.message_rejected";
15
+ readonly RATE_LIMIT: "mail.rate_limit";
16
+ readonly SEND_FAILED: "mail.send_failed";
17
+ readonly UNKNOWN: "mail.unknown";
18
+ };
19
+ export type MailErrorCode = (typeof MailErrorCodes)[keyof typeof MailErrorCodes];
package/dist/errors.d.ts CHANGED
@@ -1,9 +1,10 @@
1
+ import { InfrastructureException } from '@gravito/core';
2
+ import { type MailErrorCode as MailErrorCodeType } from './errors/codes';
1
3
  /**
2
- * Mail transport error codes.
3
- *
4
- * Categorizes common failure modes in the mail delivery process to allow
5
- * for programmatic handling (e.g., retries on rate limits).
4
+ * Mail transport error codes (legacy enum — kept for backward compat).
5
+ * New code should use MailErrorCodes from './errors/codes' instead.
6
6
  *
7
+ * @deprecated Use MailErrorCodes from './errors/codes'
7
8
  * @public
8
9
  * @since 3.1.0
9
10
  */
@@ -24,8 +25,9 @@ export declare enum MailErrorCode {
24
25
  /**
25
26
  * Error class for mail transport failures.
26
27
  *
27
- * Provides structured error information for mail sending failures,
28
- * including error codes and original cause tracking for debugging.
28
+ * Extends InfrastructureException for unified error handling across Gravito.
29
+ * Carries a `retryable` flag indicating whether the operation can be retried,
30
+ * and preserves backward compat with the legacy MailErrorCode enum via `.legacyCode`.
29
31
  *
30
32
  * @example
31
33
  * ```typescript
@@ -39,14 +41,19 @@ export declare enum MailErrorCode {
39
41
  * @public
40
42
  * @since 3.1.0
41
43
  */
42
- export declare class MailTransportError extends Error {
43
- readonly code: MailErrorCode;
44
- readonly cause?: Error;
44
+ export declare class MailTransportError extends InfrastructureException {
45
+ /**
46
+ * Legacy enum code — preserved for backward compat with callers that switch on MailErrorCode.
47
+ * @deprecated Prefer checking `.code` (mail.* namespaced string) instead.
48
+ */
49
+ readonly legacyCode: MailErrorCode;
45
50
  /**
46
51
  * Create a new mail transport error.
47
52
  *
53
+ * Accepts both the legacy MailErrorCode enum and new mail.* namespaced string codes.
54
+ *
48
55
  * @param message - Human-readable error message
49
- * @param code - Categorized error code
56
+ * @param code - Categorized error code (legacy enum or new mail.* string)
50
57
  * @param cause - Original error that caused this failure
51
58
  *
52
59
  * @example
@@ -54,5 +61,5 @@ export declare class MailTransportError extends Error {
54
61
  * const error = new MailTransportError('Auth failed', MailErrorCode.AUTH_FAILED);
55
62
  * ```
56
63
  */
57
- constructor(message: string, code: MailErrorCode, cause?: Error);
64
+ constructor(message: string, code?: MailErrorCode | MailErrorCodeType, cause?: Error);
58
65
  }