@ts-cloud/core 0.16.49 → 0.16.51

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/types.d.ts CHANGED
@@ -3955,8 +3955,9 @@ export interface MailServiceConfig {
3955
3955
  webmail?: boolean | MailWebmailConfig;
3956
3956
  /**
3957
3957
  * Mailboxes to create on first provision. Idempotent: an account that
3958
- * already exists has its password reset to what is declared here, so this
3959
- * stays the source of truth rather than drifting after the first boot.
3958
+ * already exists keeps its password, so users can change it through webmail
3959
+ * without a deploy undoing the change. Opt into `passwordPolicy: 'managed'`
3960
+ * per account when the deployment must enforce its declared password.
3960
3961
  *
3961
3962
  * Passwords belong in the environment, not in a committed config - write
3962
3963
  * `password: process.env.MAIL_ADMIN_PASSWORD!` rather than a literal.
@@ -4064,10 +4065,27 @@ export interface MailWebmailConfig {
4064
4065
  port?: number;
4065
4066
  /**
4066
4067
  * Hostname to route to the UI through the box's gateway, e.g.
4067
- * `mail.example.com`. Without one the UI is reachable on its port only,
4068
- * which for a catcher is exactly right.
4068
+ * `mail.example.com`. Defaults to the mail hostname for a real server;
4069
+ * a catcher remains on its loopback port. Set `false` to disable routing.
4069
4070
  */
4070
- domain?: string;
4071
+ domain?: string | false;
4072
+ /** Additional HTTPS hostnames serving the same accounts. */
4073
+ aliases?: string[];
4074
+ /** Listener TLS. Off behind the HTTPS gateway; otherwise follows mail TLS. */
4075
+ tls?: boolean;
4076
+ /** Secure session cookies. On behind HTTPS or a TLS listener. */
4077
+ secureCookies?: boolean;
4078
+ /** Browser attachment limits in bytes; the server also applies MIME and account limits. */
4079
+ attachments?: {
4080
+ /** @default 20971520 */
4081
+ maxFileBytes?: number;
4082
+ /** @default 20971520 */
4083
+ maxTotalBytes?: number;
4084
+ /** Set zero to disable uploads. @default 20 */
4085
+ maxCount?: number;
4086
+ };
4087
+ /** Initial per-account Undo Send preference, from 0 to 30 seconds. @default 10 */
4088
+ undoSendSeconds?: number;
4071
4089
  }
4072
4090
  /** A mailbox created on first provision. See {@link MailServiceConfig.accounts}. */
4073
4091
  export interface MailAccountConfig {
@@ -4075,6 +4093,12 @@ export interface MailAccountConfig {
4075
4093
  address: string;
4076
4094
  /** The password. Read it from the environment; never commit one. */
4077
4095
  password: string;
4096
+ /**
4097
+ * `initial` creates a missing account and preserves user password changes.
4098
+ * `managed` reapplies the configured password on every deployment.
4099
+ * @default 'initial'
4100
+ */
4101
+ passwordPolicy?: 'initial' | 'managed';
4078
4102
  }
4079
4103
  /** Inbound spam handling. See {@link MailServiceConfig.spam}. */
4080
4104
  export interface MailSpamConfig {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ts-cloud/core",
3
3
  "type": "module",
4
- "version": "0.16.49",
4
+ "version": "0.16.51",
5
5
  "description": "Core CloudFormation generation library for ts-cloud",
6
6
  "author": "Chris Breuer <chris@stacksjs.com>",
7
7
  "license": "MIT",
@@ -31,7 +31,7 @@
31
31
  "typecheck": "tsc --noEmit"
32
32
  },
33
33
  "dependencies": {
34
- "@ts-cloud/aws-types": "0.16.49"
34
+ "@ts-cloud/aws-types": "0.16.51"
35
35
  },
36
36
  "devDependencies": {
37
37
  "typescript": "^7.0.2"