@fluxmail/core 0.21.0 → 0.21.1

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.
package/dist/errors.d.ts CHANGED
@@ -2,13 +2,13 @@ import type { Provider } from './types.js';
2
2
  export type EmailErrorCode = 'auth_expired' | 'rate_limited' | 'not_found' | 'invalid_request' | 'idempotency_conflict' | 'provider_unavailable' | 'entitlement_exceeded' | 'permission_denied' | 'unsupported_capability';
3
3
  export declare const MAIL_PROVIDERS: readonly Provider[];
4
4
  /** Fixed causes for a provider failure. These are safe to report in telemetry. */
5
- export declare const FAILURE_REASONS: readonly ["search_timeout", "insufficient_scope", "connection_refused", "host_not_found", "network_unreachable", "connection_timeout", "connection_reset", "tls_mismatch", "tls_error", "server_no", "server_bad", "http_error", "invalid_response", "other", "request_timeout"];
5
+ export declare const FAILURE_REASONS: readonly ["search_timeout", "insufficient_scope", "connection_refused", "host_not_found", "network_unreachable", "connection_timeout", "connection_reset", "tls_mismatch", "tls_error", "server_no", "server_bad", "http_error", "invalid_response", "other", "request_timeout", "tls_version"];
6
6
  export type FailureReason = (typeof FAILURE_REASONS)[number];
7
7
  /** The step of a provider call that failed. */
8
8
  export declare const FAILURE_PHASES: readonly ["connect", "folders", "select", "search", "fetch", "smtp", "token_refresh", "request"];
9
9
  export type FailurePhase = (typeof FAILURE_PHASES)[number];
10
10
  /** Node and TLS error codes that describe a network failure without revealing its target. */
11
- export declare const FAILURE_IO_CODES: readonly ["ECONNREFUSED", "ECONNRESET", "ECONNABORTED", "EPIPE", "ETIMEDOUT", "ENOTFOUND", "EAI_AGAIN", "EHOSTUNREACH", "EHOSTDOWN", "ENETUNREACH", "ENETDOWN", "CERT_HAS_EXPIRED", "DEPTH_ZERO_SELF_SIGNED_CERT", "SELF_SIGNED_CERT_IN_CHAIN", "UNABLE_TO_VERIFY_LEAF_SIGNATURE", "UNABLE_TO_GET_ISSUER_CERT_LOCALLY", "ERR_TLS_CERT_ALTNAME_INVALID", "ERR_SSL_WRONG_VERSION_NUMBER"];
11
+ export declare const FAILURE_IO_CODES: readonly ["ECONNREFUSED", "ECONNRESET", "ECONNABORTED", "EPIPE", "ETIMEDOUT", "ENOTFOUND", "EAI_AGAIN", "EHOSTUNREACH", "EHOSTDOWN", "ENETUNREACH", "ENETDOWN", "CERT_HAS_EXPIRED", "DEPTH_ZERO_SELF_SIGNED_CERT", "SELF_SIGNED_CERT_IN_CHAIN", "UNABLE_TO_VERIFY_LEAF_SIGNATURE", "UNABLE_TO_GET_ISSUER_CERT_LOCALLY", "ERR_TLS_CERT_ALTNAME_INVALID", "ERR_SSL_WRONG_VERSION_NUMBER", "ERR_SSL_UNSUPPORTED_PROTOCOL", "ERR_SSL_TLSV1_ALERT_PROTOCOL_VERSION"];
12
12
  /**
13
13
  * Structured detail about a provider failure. Every field is an allowlisted
14
14
  * value, so it can be reported without the error message.
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,MAAM,cAAc,GACtB,cAAc,GACd,cAAc,GACd,WAAW,GACX,iBAAiB,GACjB,sBAAsB,GACtB,sBAAsB,GACtB,sBAAsB,GACtB,mBAAmB,GACnB,wBAAwB,CAAC;AAE7B,eAAO,MAAM,cAAc,EAAE,SAAS,QAAQ,EAAiC,CAAC;AAEhF,kFAAkF;AAClF,eAAO,MAAM,eAAe,kRAgBlB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,+CAA+C;AAC/C,eAAO,MAAM,cAAc,kGASjB,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,6FAA6F;AAC7F,eAAO,MAAM,gBAAgB,yXAmBnB,CAAC;AAEX;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,UAAW,SAAQ,KAAK;IACnC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,oEAAoE;IACpE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,2FAA2F;IAC3F,OAAO,CAAC,EAAE,eAAe,CAAC;gBAEd,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,eAAe;CAO7G;AAgBD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,QAAQ,GAAG,QAAQ,CAAC,GAAG,SAAS,CAYrG;AAED,0DAA0D;AAC1D,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAEhE;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,UAAU,CAE5D;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAajE"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,MAAM,cAAc,GACtB,cAAc,GACd,cAAc,GACd,WAAW,GACX,iBAAiB,GACjB,sBAAsB,GACtB,sBAAsB,GACtB,sBAAsB,GACtB,mBAAmB,GACnB,wBAAwB,CAAC;AAE7B,eAAO,MAAM,cAAc,EAAE,SAAS,QAAQ,EAAiC,CAAC;AAEhF,kFAAkF;AAClF,eAAO,MAAM,eAAe,iSAiBlB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,+CAA+C;AAC/C,eAAO,MAAM,cAAc,kGASjB,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,6FAA6F;AAC7F,eAAO,MAAM,gBAAgB,icAqBnB,CAAC;AAEX;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,UAAW,SAAQ,KAAK;IACnC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,oEAAoE;IACpE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,2FAA2F;IAC3F,OAAO,CAAC,EAAE,eAAe,CAAC;gBAEd,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,eAAe;CAO7G;AAkBD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,QAAQ,GAAG,QAAQ,CAAC,GAAG,SAAS,CAYrG;AAED,0DAA0D;AAC1D,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAEhE;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,UAAU,CAE5D;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAajE"}
package/dist/errors.js CHANGED
@@ -16,6 +16,7 @@ export const FAILURE_REASONS = [
16
16
  'invalid_response',
17
17
  'other',
18
18
  'request_timeout',
19
+ 'tls_version',
19
20
  ];
20
21
  /** The step of a provider call that failed. */
21
22
  export const FAILURE_PHASES = [
@@ -48,6 +49,8 @@ export const FAILURE_IO_CODES = [
48
49
  'UNABLE_TO_GET_ISSUER_CERT_LOCALLY',
49
50
  'ERR_TLS_CERT_ALTNAME_INVALID',
50
51
  'ERR_SSL_WRONG_VERSION_NUMBER',
52
+ 'ERR_SSL_UNSUPPORTED_PROTOCOL',
53
+ 'ERR_SSL_TLSV1_ALERT_PROTOCOL_VERSION',
51
54
  ];
52
55
  export class EmailError extends Error {
53
56
  code;
@@ -76,6 +79,8 @@ const IO_REASONS = {
76
79
  EHOSTDOWN: 'network_unreachable',
77
80
  ENETUNREACH: 'network_unreachable',
78
81
  ENETDOWN: 'network_unreachable',
82
+ ERR_SSL_UNSUPPORTED_PROTOCOL: 'tls_version',
83
+ ERR_SSL_TLSV1_ALERT_PROTOCOL_VERSION: 'tls_version',
79
84
  };
80
85
  /**
81
86
  * Classify a network or TLS failure from the error codes on an error and its
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,cAAc,GAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAEhF,kFAAkF;AAClF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,gBAAgB;IAChB,oBAAoB;IACpB,oBAAoB;IACpB,gBAAgB;IAChB,qBAAqB;IACrB,oBAAoB;IACpB,kBAAkB;IAClB,cAAc;IACd,WAAW;IACX,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,kBAAkB;IAClB,OAAO;IACP,iBAAiB;IACjB,aAAa;CACL,CAAC;AAGX,+CAA+C;AAC/C,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,SAAS;IACT,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;IACN,eAAe;IACf,SAAS;CACD,CAAC;AAGX,6FAA6F;AAC7F,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,cAAc;IACd,YAAY;IACZ,cAAc;IACd,OAAO;IACP,WAAW;IACX,WAAW;IACX,WAAW;IACX,cAAc;IACd,WAAW;IACX,aAAa;IACb,UAAU;IACV,kBAAkB;IAClB,6BAA6B;IAC7B,2BAA2B;IAC3B,iCAAiC;IACjC,mCAAmC;IACnC,8BAA8B;IAC9B,8BAA8B;IAC9B,8BAA8B;IAC9B,sCAAsC;CAC9B,CAAC;AAcX,MAAM,OAAO,UAAW,SAAQ,KAAK;IAC1B,IAAI,CAAiB;IAC9B,oEAAoE;IAC3D,IAAI,CAA2B;IACxC,2FAA2F;IAC3F,OAAO,CAAmB;IAE1B,YAAY,IAAoB,EAAE,OAAe,EAAE,IAA8B,EAAE,OAAyB;QAC1G,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACtC,CAAC;CACF;AAED,MAAM,UAAU,GAAkC;IAChD,YAAY,EAAE,oBAAoB;IAClC,UAAU,EAAE,kBAAkB;IAC9B,YAAY,EAAE,kBAAkB;IAChC,KAAK,EAAE,kBAAkB;IACzB,SAAS,EAAE,oBAAoB;IAC/B,SAAS,EAAE,gBAAgB;IAC3B,SAAS,EAAE,gBAAgB;IAC3B,YAAY,EAAE,qBAAqB;IACnC,SAAS,EAAE,qBAAqB;IAChC,WAAW,EAAE,qBAAqB;IAClC,QAAQ,EAAE,qBAAqB;IAC/B,4BAA4B,EAAE,aAAa;IAC3C,oCAAoC,EAAE,aAAa;CACpD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,OAAO,GAAY,KAAK,CAAC;IAC7B,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC;QACjF,MAAM,IAAI,GAAI,OAA8B,CAAC,IAAI,CAAC;QAClD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAK,gBAAsC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACvF,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACnE,CAAC;QACD,IAAK,OAA8B,CAAC,IAAI,KAAK,cAAc;YAAE,QAAQ,GAAG,IAAI,CAAC;QAC7E,OAAO,GAAI,OAA+B,CAAC,KAAK,CAAC;IACnD,CAAC;IACD,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9D,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,OAAO,IAAI,UAAU,CAAC,sBAAsB,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;AACpG,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,OAAO,GAAG,YAAY,UAAU,CAAC;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,OAAO,CACL,YAAY,CAAC,KAAK,CAAC;QACnB;YACE,iBAAiB;YACjB,WAAW;YACX,mBAAmB;YACnB,wBAAwB;YACxB,cAAc;YACd,cAAc;YACd,sBAAsB;SACvB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CACvB,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluxmail/core",
3
- "version": "0.21.0",
3
+ "version": "0.21.1",
4
4
  "description": "Unified email types and provider interface for Fluxmail",
5
5
  "license": "Elastic-2.0",
6
6
  "repository": {