@stacksjs/types 0.75.15 → 0.75.16

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/auth.d.ts CHANGED
@@ -27,6 +27,36 @@ export declare interface BrowserSessionConfig {
27
27
  withRefreshToken?: boolean
28
28
  logoutRedirect?: string
29
29
  }
30
+ export declare interface OAuthProviderScopeConfig {
31
+ description: string
32
+ resources?: readonly string[]
33
+ }
34
+ export declare interface OAuthProviderResourceConfig {
35
+ audience: string
36
+ description?: string
37
+ }
38
+ export declare interface OAuthProviderConfig {
39
+ enabled?: boolean
40
+ issuer?: string
41
+ endpoints?: {
42
+ authorization?: string
43
+ token?: string
44
+ revocation?: string
45
+ introspection?: string
46
+ }
47
+ scopes?: Record<string, OAuthProviderScopeConfig>
48
+ resources?: Record<string, OAuthProviderResourceConfig>
49
+ clientTypes?: readonly ('confidential' | 'public')[]
50
+ lifetimes?: {
51
+ authorizationCode?: number
52
+ accessToken?: number
53
+ refreshToken?: number
54
+ }
55
+ consent?: {
56
+ rememberFor?: number
57
+ view?: string
58
+ }
59
+ }
30
60
  export declare interface AuthOptions {
31
61
  enabled?: boolean
32
62
  env?: string[]
@@ -49,6 +79,7 @@ export declare interface AuthOptions {
49
79
  refreshTokenExpiry?: number
50
80
  idleTimeout?: number
51
81
  browserSession?: BrowserSessionConfig
82
+ oauthProvider?: OAuthProviderConfig
52
83
  tokenRotation: number
53
84
  defaultAbilities: string[]
54
85
  defaultTokenName: string
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  // @bun
2
- import{e}from"./chunk-e1djnd5t.js";function a(t){return typeof t==="object"&&t!==null&&"id"in t&&"userId"in t&&"clientId"in t&&"scopes"in t}function p(t){return a(t)&&"abilities"in t}function c(t){return typeof t==="object"&&t!==null&&"id"in t&&"name"in t&&"secret"in t&&"redirect"in t}var i;((n)=>{n.Second="* * * * * *";n.FiveSeconds="*/5 * * * * *";n.TenSeconds="*/10 * * * * *";n.ThirtySeconds="*/30 * * * * *";n.Minute="* * * * *";n.TwoMinutes="*/2 * * * *";n.FiveMinutes="*/5 * * * *";n.TenMinutes="*/10 * * * *";n.FifteenMinutes="*/15 * * * *";n.ThirtyMinutes="*/30 * * * *";n.Hour="0 * * * *";n.HalfHour="0,30 * * * *";n.Day="0 0 * * *";n.Week="0 0 * * 0";n.Weekday="0 0 * * 1-5";n.Weekend="0 0 * * 0,6";n.Month="0 0 1 * *";n.Year="0 0 1 1 *"})(i||={});var s;((r)=>{r.Bluesky="bluesky";r.Discord="discord";r.Facebook="facebook";r.GitHub="github";r.Instagram="instagram";r.LinkedIn="linkedin";r.Mastodon="mastodon";r.Slack="slack";r.Twitter="twitter";r.YouTube="youtube"})(s||={});import{toString as l}from"@stacksjs/strings";function b(t){if(t===null)return"null";let o=l(t).slice(8,-1).toLowerCase();return typeof t==="object"||typeof t==="function"?o:typeof t}function x(t){return t}function y(t){return t}var T={development:{default:"sync",connections:{sync:{driver:"sync"}},failed:{driver:"database",table:"failed_jobs"}},production:{default:"redis",connections:{redis:{driver:"redis",prefix:"stacks:queue",concurrency:5,distributedLock:!0,metrics:{enabled:!0},defaultDeadLetterOptions:{enabled:!0,maxRetries:3}}},failed:{driver:"redis",prefix:"stacks:failed"},worker:{concurrency:5,shutdownTimeout:30000}},highPerformance:{default:"redis",connections:{redis:{driver:"redis",prefix:"stacks:queue",concurrency:20,distributedLock:!0,metrics:{enabled:!0,collectInterval:5000},horizontalScaling:{enabled:!0,maxWorkersPerInstance:20,jobsPerWorker:50},defaultDeadLetterOptions:{enabled:!0,maxRetries:5}}},failed:{driver:"redis",prefix:"stacks:failed"},worker:{concurrency:20,shutdownTimeout:60000}},database:{default:"database",connections:{database:{driver:"database",table:"jobs",queue:"default",retryAfter:90}},failed:{driver:"database",table:"failed_jobs"}}};var C={server:{development:{enabled:!0,mode:"server",debug:!0,server:{host:"localhost",port:6001,scheme:"ws",driver:"bun",rateLimit:{enabled:!1},healthCheck:{enabled:!0,path:"/health"}},channels:{public:!0,private:!0,presence:!0}},production:{enabled:!0,mode:"server",debug:!1,server:{host:"0.0.0.0",port:6001,scheme:"wss",driver:"bun",redis:{enabled:!0,prefix:"stacks:realtime:"},rateLimit:{enabled:!0,maxConnectionsPerIp:100,maxMessagesPerSecond:50,maxPayloadSize:65536},loadManagement:{maxConnections:1e4,backpressureThreshold:1000,messageQueueSize:1e4,gracefulShutdownTimeout:30000},autoScaling:{min:2,max:10,targetCPU:70},healthCheck:{enabled:!0,path:"/health",interval:30},metrics:{enabled:!0,port:9090,path:"/metrics"}},channels:{public:!0,private:!0,presence:!0}},highPerformance:{enabled:!0,mode:"server",server:{driver:"bun",redis:{enabled:!0,cluster:!0},rateLimit:{enabled:!0,maxConnectionsPerIp:500,maxMessagesPerSecond:200,maxPayloadSize:131072},loadManagement:{maxConnections:1e5,backpressureThreshold:5000,messageQueueSize:50000,gracefulShutdownTimeout:60000},autoScaling:{min:4,max:50,targetCPU:60}}},chat:{enabled:!0,mode:"server",server:{driver:"bun",redis:{enabled:!0},rateLimit:{enabled:!0,maxConnectionsPerIp:10,maxMessagesPerSecond:20},loadManagement:{maxConnections:50000}},channels:{public:!0,private:!0,presence:{enabled:!0,maxMembersPerChannel:500,memberInfoTtl:60}}},gaming:{enabled:!0,mode:"server",server:{driver:"bun",redis:{enabled:!0,cluster:!0},rateLimit:{enabled:!0,maxConnectionsPerIp:50,maxMessagesPerSecond:100},loadManagement:{maxConnections:50000,backpressureThreshold:2000,messageQueueSize:20000},autoScaling:{min:2,max:20,targetCPU:50}},channels:{public:!0,private:!0,presence:!0}}},serverless:{development:{enabled:!0,mode:"serverless",debug:!0,serverless:{connectionTimeout:3600,idleTimeout:600,stageName:"dev",memorySize:256,timeout:30},channels:{public:!0,private:!0,presence:!0}},production:{enabled:!0,mode:"serverless",debug:!1,serverless:{connectionTimeout:3600,idleTimeout:600,stageName:"production",memorySize:512,timeout:30,provisionedConcurrency:2},channels:{public:!0,private:!0,presence:!0}},notifications:{enabled:!0,mode:"serverless",serverless:{connectionTimeout:7200,idleTimeout:1800,memorySize:256,timeout:15},channels:{public:!0,private:!0,presence:!1}}}};var M={calendar:{github:"stacksjs/calendar",package:"@stacksjs/calendar",description:"Calendar links, ICS generation, and an STX calendar component"},table:{github:"stacksjs/table",package:"@stacksjs/table",description:"Typed table drivers and an STX data table component"}};export{i as Every,e as ExitCode,T as QueuePresets,C as RealtimePresets,s as SocialLinkIcon,x as defineModel,y as defineModels,b as getTypeName,a as isAccessToken,c as isOAuthClient,p as isPersonalAccessToken,M as stackExtensionRegistry};
2
+ import{e}from"./chunk-e1djnd5t.js";function a(n){return typeof n==="object"&&n!==null&&"id"in n&&"userId"in n&&"clientId"in n&&"scopes"in n}function d(n){return a(n)&&"abilities"in n}function p(n){return typeof n==="object"&&n!==null&&"id"in n&&"name"in n&&"secret"in n&&"redirect"in n}var i;((r)=>{r.Second="* * * * * *";r.FiveSeconds="*/5 * * * * *";r.TenSeconds="*/10 * * * * *";r.ThirtySeconds="*/30 * * * * *";r.Minute="* * * * *";r.TwoMinutes="*/2 * * * *";r.FiveMinutes="*/5 * * * *";r.TenMinutes="*/10 * * * *";r.FifteenMinutes="*/15 * * * *";r.ThirtyMinutes="*/30 * * * *";r.Hour="0 * * * *";r.HalfHour="0,30 * * * *";r.Day="0 0 * * *";r.Week="0 0 * * 0";r.Weekday="0 0 * * 1-5";r.Weekend="0 0 * * 0,6";r.Month="0 0 1 * *";r.Year="0 0 1 1 *"})(i||={});var s;((t)=>{t.Bluesky="bluesky";t.Discord="discord";t.Facebook="facebook";t.GitHub="github";t.Instagram="instagram";t.LinkedIn="linkedin";t.Mastodon="mastodon";t.Slack="slack";t.Twitter="twitter";t.YouTube="youtube"})(s||={});import{toString as l}from"@stacksjs/strings";function b(n){if(n===null)return"null";let o=l(n).slice(8,-1).toLowerCase();return typeof n==="object"||typeof n==="function"?o:typeof n}function y(n){return n}function x(n){return n}var T={development:{default:"sync",connections:{sync:{driver:"sync"}},failed:{driver:"database",table:"failed_jobs"}},production:{default:"redis",connections:{redis:{driver:"redis",prefix:"stacks:queue",concurrency:5,distributedLock:!0,metrics:{enabled:!0},defaultDeadLetterOptions:{enabled:!0,maxRetries:3}}},failed:{driver:"redis",prefix:"stacks:failed"},worker:{concurrency:5,shutdownTimeout:30000}},highPerformance:{default:"redis",connections:{redis:{driver:"redis",prefix:"stacks:queue",concurrency:20,distributedLock:!0,metrics:{enabled:!0,collectInterval:5000},horizontalScaling:{enabled:!0,maxWorkersPerInstance:20,jobsPerWorker:50},defaultDeadLetterOptions:{enabled:!0,maxRetries:5}}},failed:{driver:"redis",prefix:"stacks:failed"},worker:{concurrency:20,shutdownTimeout:60000}},database:{default:"database",connections:{database:{driver:"database",table:"jobs",queue:"default",retryAfter:90}},failed:{driver:"database",table:"failed_jobs"}}};var C={server:{development:{enabled:!0,mode:"server",debug:!0,server:{host:"localhost",port:6001,scheme:"ws",driver:"bun",rateLimit:{enabled:!1},healthCheck:{enabled:!0,path:"/health"}},channels:{public:!0,private:!0,presence:!0}},production:{enabled:!0,mode:"server",debug:!1,server:{host:"0.0.0.0",port:6001,scheme:"wss",driver:"bun",redis:{enabled:!0,prefix:"stacks:realtime:"},rateLimit:{enabled:!0,maxConnectionsPerIp:100,maxMessagesPerSecond:50,maxPayloadSize:65536},loadManagement:{maxConnections:1e4,backpressureThreshold:1000,messageQueueSize:1e4,gracefulShutdownTimeout:30000},autoScaling:{min:2,max:10,targetCPU:70},healthCheck:{enabled:!0,path:"/health",interval:30},metrics:{enabled:!0,port:9090,path:"/metrics"}},channels:{public:!0,private:!0,presence:!0}},highPerformance:{enabled:!0,mode:"server",server:{driver:"bun",redis:{enabled:!0,cluster:!0},rateLimit:{enabled:!0,maxConnectionsPerIp:500,maxMessagesPerSecond:200,maxPayloadSize:131072},loadManagement:{maxConnections:1e5,backpressureThreshold:5000,messageQueueSize:50000,gracefulShutdownTimeout:60000},autoScaling:{min:4,max:50,targetCPU:60}}},chat:{enabled:!0,mode:"server",server:{driver:"bun",redis:{enabled:!0},rateLimit:{enabled:!0,maxConnectionsPerIp:10,maxMessagesPerSecond:20},loadManagement:{maxConnections:50000}},channels:{public:!0,private:!0,presence:{enabled:!0,maxMembersPerChannel:500,memberInfoTtl:60}}},gaming:{enabled:!0,mode:"server",server:{driver:"bun",redis:{enabled:!0,cluster:!0},rateLimit:{enabled:!0,maxConnectionsPerIp:50,maxMessagesPerSecond:100},loadManagement:{maxConnections:50000,backpressureThreshold:2000,messageQueueSize:20000},autoScaling:{min:2,max:20,targetCPU:50}},channels:{public:!0,private:!0,presence:!0}}},serverless:{development:{enabled:!0,mode:"serverless",debug:!0,serverless:{connectionTimeout:3600,idleTimeout:600,stageName:"dev",memorySize:256,timeout:30},channels:{public:!0,private:!0,presence:!0}},production:{enabled:!0,mode:"serverless",debug:!1,serverless:{connectionTimeout:3600,idleTimeout:600,stageName:"production",memorySize:512,timeout:30,provisionedConcurrency:2},channels:{public:!0,private:!0,presence:!0}},notifications:{enabled:!0,mode:"serverless",serverless:{connectionTimeout:7200,idleTimeout:1800,memorySize:256,timeout:15},channels:{public:!0,private:!0,presence:!1}}}};var M={calendar:{github:"stacksjs/calendar",package:"@stacksjs/calendar",description:"Calendar links, ICS generation, and an STX calendar component"},table:{github:"stacksjs/table",package:"@stacksjs/table",description:"Typed table drivers and an STX data table component"}};export{i as Every,e as ExitCode,T as QueuePresets,C as RealtimePresets,s as SocialLinkIcon,y as defineModel,x as defineModels,b as getTypeName,a as isAccessToken,p as isOAuthClient,d as isPersonalAccessToken,M as stackExtensionRegistry};
package/dist/oauth.d.ts CHANGED
@@ -17,7 +17,13 @@ export declare function isOAuthClient(value: unknown): value is OAuthClient;
17
17
  export declare interface AccessToken {
18
18
  readonly id: number
19
19
  readonly userId: number
20
+ readonly subjectType?: string
21
+ readonly subjectId?: number
20
22
  readonly clientId: number
23
+ readonly grantId?: string | null
24
+ readonly resources?: readonly string[]
25
+ readonly audiences?: readonly string[]
26
+ readonly workspaceId?: string | null
21
27
  readonly name: string
22
28
  readonly scopes: TokenScopes
23
29
  readonly revoked: boolean
@@ -82,6 +88,10 @@ export declare interface OAuthAccessTokenRow {
82
88
  id: number
83
89
  user_id: number
84
90
  oauth_client_id: number
91
+ oauth_grant_id?: string | null
92
+ resources?: string | null
93
+ audiences?: string | null
94
+ workspace_id?: string | null
85
95
  token: string
86
96
  name: string | null
87
97
  scopes: string | null
@@ -97,6 +107,8 @@ export declare interface OAuthRefreshTokenRow {
97
107
  id: number
98
108
  access_token_id: number
99
109
  token: string
110
+ family_id?: string | null
111
+ parent_id?: number | null
100
112
  revoked: boolean | number
101
113
  expires_at: string | null
102
114
  created_at: string | null
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stacksjs/types",
3
3
  "type": "module",
4
- "version": "0.75.15",
4
+ "version": "0.75.16",
5
5
  "description": "The Stacks framework types.",
6
6
  "author": "Chris Breuer",
7
7
  "contributors": [
@@ -58,9 +58,9 @@
58
58
  "dependencies": {
59
59
  "@stacksjs/bunpress": "^0.2.8",
60
60
  "@stacksjs/clapp": "^0.2.12",
61
- "@stacksjs/events": "0.75.15",
62
- "@stacksjs/strings": "0.75.15",
63
- "@stacksjs/stx": "^0.2.321",
61
+ "@stacksjs/events": "0.75.16",
62
+ "@stacksjs/strings": "0.75.16",
63
+ "@stacksjs/stx": "^0.2.323",
64
64
  "@stacksjs/ts-validation": "^0.5.6",
65
65
  "bun-query-builder": "^0.3.0"
66
66
  },
@@ -73,7 +73,7 @@
73
73
  }
74
74
  },
75
75
  "devDependencies": {
76
- "@stacksjs/validation": "0.75.15",
76
+ "@stacksjs/validation": "0.75.16",
77
77
  "better-dx": "^0.2.24",
78
78
  "meilisearch": "^0.59.0"
79
79
  },