@stacksjs/defaults 0.75.31 → 0.75.32

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.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: stacks-actions
3
- description: Use when working with Stacks server actions - creating actions in app/Actions/, auto-generated API actions from the useApi model trait, the 634 default framework actions (auth, dashboard, commerce, content, deployment, jobs), action request/response handling, or action registration. Covers @stacksjs/actions and storage/framework/defaults/app/Actions/.
3
+ description: Use when working with Stacks server actions - creating actions in app/Actions/, auto-generated API actions from the useApi model trait, the 647 default framework actions (auth, dashboard, commerce, content, deployment, jobs), action request/response handling, or action registration. Covers @stacksjs/actions and storage/framework/defaults/app/Actions/.
4
4
  license: MIT
5
5
  compatibility: Bun >= 1.3.0, TypeScript
6
6
  allowed-tools: Read Edit Write Bash Grep Glob
@@ -395,7 +395,6 @@ await authUser.authorize('edit-post', post) // throws if denied
395
395
  withRefreshToken: false, // fixed browser lifetime, no unused refresh token
396
396
  logoutRedirect: '/login?logged_out=1', // local path for HTML logout only
397
397
  },
398
- tokenRotation: 24, // hours
399
398
  defaultAbilities: ['*'],
400
399
  defaultTokenName: 'auth-token',
401
400
  passwordReset: { expire: 60, throttle: 60 }
@@ -66,7 +66,7 @@ they name: `defineEvents` and `defineListener` from `@stacksjs/events`,
66
66
  | File | Type | Key Settings |
67
67
  |------|------|-------------|
68
68
  | `app.ts` | AppConfig | name, env, url, debug, key, timezone, locale |
69
- | `auth.ts` | AuthConfig | guards, providers, tokenExpiry(30d), tokenRotation(7d), passwordReset |
69
+ | `auth.ts` | AuthConfig | guards, providers, token and browser-session lifetimes, passwordReset |
70
70
  | `database.ts` | DatabaseConfig | default driver, connections (sqlite/mysql/postgres/dynamodb), queryLogging |
71
71
  | `cache.ts` | CacheConfig | driver('memory'), ttl(3600), maxKeys(-1), redis config |
72
72
  | `env.ts` | EnvConfig | validation schemas for env vars |
@@ -238,6 +238,12 @@ abstract class BaseEmailDriver {
238
238
  }
239
239
  ```
240
240
 
241
+ ### Mail DNS a deploy publishes
242
+
243
+ With `server.enabled`, `buddy deploy` reconciles the mail domain's DNS through whichever configured provider holds the zone: MX, SPF, DKIM at the selector the server signs under, DMARC (`server.dmarc`), `mail.<domain>`, and the Gmail Postmaster Tools verification TXT when `server.postmaster.google` is set. Writes are surgical: only records the deploy owns are replaced, so other apex TXT (Search Console, other verifications) survive.
244
+
245
+ Postmaster Tools is the only view of why Gmail files mail as spam when SPF, DKIM and DMARC all pass. Its value is issued per Google account and cannot be generated: add the domain at https://postmaster.google.com, copy the TXT value, set `server.postmaster.google`, deploy, then press Verify in Postmaster Tools. Until it is set the deploy prints where to get it; `postmaster: false` silences that.
246
+
241
247
  ## Application Mail Example
242
248
 
243
249
  ```typescript
@@ -29,7 +29,7 @@ interface AuthConfig {
29
29
  username: string
30
30
  password: string
31
31
  tokenExpiry: number // 30 days
32
- tokenRotation: number // 7 days
32
+ tokenRotation?: number // deprecated; rotate explicitly
33
33
  defaultAbilities: string[]
34
34
  defaultTokenName: string
35
35
  }
@@ -2,7 +2,7 @@
2
2
  "publisher": "Stacks",
3
3
  "name": "vscode-stacks",
4
4
  "displayName": "Stacks",
5
- "version": "0.75.31",
5
+ "version": "0.75.32",
6
6
  "description": "A modern Stacks development environment.",
7
7
  "license": "MIT",
8
8
  "funding": "https://github.com/sponsors/chrisbbreuer",
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@stacksjs/defaults",
3
3
  "type": "module",
4
4
  "sideEffects": false,
5
- "version": "0.75.31",
5
+ "version": "0.75.32",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "git+https://github.com/stacksjs/stacks.git",
@@ -55,7 +55,7 @@
55
55
  "dependencies": {
56
56
  "@iconify-json/f7": "^1.2.2",
57
57
  "@iconify-json/hugeicons": "^1.2.27",
58
- "@stacksjs/mobile": "^0.75.31",
58
+ "@stacksjs/mobile": "^0.75.32",
59
59
  "@stacksjs/sanitizer": "^0.2.113",
60
60
  "ts-qr-codes": "^0.1.8"
61
61
  }
@@ -19,7 +19,8 @@ export interface AuthConfig {
19
19
  username: string
20
20
  password: string
21
21
  tokenExpiry: number
22
- tokenRotation: number
22
+ /** @deprecated Use explicit bearer rotation or a refresh-token exchange. */
23
+ tokenRotation?: number
23
24
  defaultAbilities: string[]
24
25
  defaultTokenName: string
25
26
  }