@stacksjs/types 0.70.161 → 0.70.163
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/ai.d.ts +21 -1
- package/dist/i18n.d.ts +2 -8
- package/dist/index.js +1 -1
- package/dist/request.d.ts +24 -24
- package/dist/stack-extensions.d.ts +11 -6
- package/package.json +2 -2
package/dist/ai.d.ts
CHANGED
|
@@ -6,9 +6,29 @@
|
|
|
6
6
|
* have any questions, feel free to reach out via Discord or GitHub Discussions.
|
|
7
7
|
*/
|
|
8
8
|
export declare interface AiOptions {
|
|
9
|
-
default: AiModel
|
|
9
|
+
default: 'anthropic' | 'openai' | 'ollama' | AiModel
|
|
10
10
|
models: AiModel[]
|
|
11
11
|
deploy: boolean
|
|
12
|
+
drivers?: {
|
|
13
|
+
anthropic?: {
|
|
14
|
+
apiKey?: string
|
|
15
|
+
model?: string
|
|
16
|
+
maxTokens?: number
|
|
17
|
+
anthropicVersion?: string
|
|
18
|
+
}
|
|
19
|
+
openai?: {
|
|
20
|
+
apiKey?: string
|
|
21
|
+
model?: string
|
|
22
|
+
maxTokens?: number
|
|
23
|
+
baseUrl?: string
|
|
24
|
+
embeddingModel?: string
|
|
25
|
+
}
|
|
26
|
+
ollama?: {
|
|
27
|
+
host?: string
|
|
28
|
+
model?: string
|
|
29
|
+
embeddingModel?: string
|
|
30
|
+
}
|
|
31
|
+
}
|
|
12
32
|
}
|
|
13
33
|
declare type AiModel = | 'amazon.titan-embed-text-v1'
|
|
14
34
|
| 'amazon.titan-embed-text-v2:0'
|
package/dist/i18n.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Internationalization plugin options for STX
|
|
3
3
|
*/
|
|
4
|
-
declare interface
|
|
4
|
+
export declare interface StxI18nPluginOptions {
|
|
5
5
|
forceStringify?: boolean
|
|
6
6
|
runtimeOnly?: boolean
|
|
7
7
|
compositionOnly?: boolean
|
|
@@ -9,7 +9,6 @@ declare interface VitePluginVueI18nOptions {
|
|
|
9
9
|
include?: string | string[]
|
|
10
10
|
defaultSFCLang?: 'json' | 'json5' | 'yml' | 'yaml'
|
|
11
11
|
globalSFCScope?: boolean
|
|
12
|
-
useVueI18nImportName?: boolean
|
|
13
12
|
}
|
|
14
13
|
/**
|
|
15
14
|
* **Internationalization Options**
|
|
@@ -27,7 +26,7 @@ export declare interface I18nOptions {
|
|
|
27
26
|
pluralSeparator?: string
|
|
28
27
|
dateTimeFormats?: DateTimeFormats
|
|
29
28
|
numberFormats?: NumberFormats
|
|
30
|
-
|
|
29
|
+
stx?: StxI18nPluginOptions
|
|
31
30
|
}
|
|
32
31
|
/**
|
|
33
32
|
* Translation messages - can be nested objects or strings
|
|
@@ -58,8 +57,3 @@ export type NumberFormats = {
|
|
|
58
57
|
}
|
|
59
58
|
}
|
|
60
59
|
export type I18nConfig = Partial<I18nOptions>;
|
|
61
|
-
/**
|
|
62
|
-
* Legacy alias
|
|
63
|
-
* @deprecated Use I18nOptions instead
|
|
64
|
-
*/
|
|
65
|
-
export type i18nOptions = VitePluginVueI18nOptions;
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
function x(p){return typeof p==="object"&&p!==null&&"id"in p&&"userId"in p&&"clientId"in p&&"scopes"in p}function H(p){return x(p)&&"abilities"in p}function N(p){return typeof p==="object"&&p!==null&&"id"in p&&"name"in p&&"secret"in p&&"redirect"in p}var F;((D)=>{D.Second="* * * * * *";D.FiveSeconds="*/5 * * * * *";D.TenSeconds="*/10 * * * * *";D.ThirtySeconds="*/30 * * * * *";D.Minute="* * * * *";D.TwoMinutes="*/2 * * * *";D.FiveMinutes="*/5 * * * *";D.TenMinutes="*/10 * * * *";D.FifteenMinutes="*/15 * * * *";D.ThirtyMinutes="*/30 * * * *";D.Hour="0 * * * *";D.HalfHour="0,30 * * * *";D.Day="0 0 * * *";D.Week="0 0 * * 0";D.Weekday="0 0 * * 1-5";D.Weekend="0 0 * * 0,6";D.Month="0 0 1 * *";D.Year="0 0 1 1 *"})(F||={});var U;((B)=>{B.Bluesky="bluesky";B.Discord="discord";B.Facebook="facebook";B.GitHub="github";B.Instagram="instagram";B.LinkedIn="linkedin";B.Mastodon="mastodon";B.Slack="slack";B.Twitter="twitter";B.YouTube="youtube"})(U||={});var _;((O)=>{O[O.Success=0]="Success";O[O.FatalError=1]="FatalError";O[O.InvalidArgument=9]="InvalidArgument"})(_||={});import{toString as G}from"@stacksjs/strings";function K(p){if(p===null)return"null";let P=G(p).slice(8,-1).toLowerCase();return typeof p==="object"||typeof p==="function"?P:typeof p}function Q(p){return p}function R(p){return p}var W={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 Z={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 f={};export{f as stackExtensionRegistry,H as isPersonalAccessToken,N as isOAuthClient,x as isAccessToken,K as getTypeName,R as defineModels,Q as defineModel,U as SocialLinkIcon,Z as RealtimePresets,W as QueuePresets,_ as ExitCode,F as Every};
|
|
2
|
+
function x(p){return typeof p==="object"&&p!==null&&"id"in p&&"userId"in p&&"clientId"in p&&"scopes"in p}function H(p){return x(p)&&"abilities"in p}function N(p){return typeof p==="object"&&p!==null&&"id"in p&&"name"in p&&"secret"in p&&"redirect"in p}var F;((D)=>{D.Second="* * * * * *";D.FiveSeconds="*/5 * * * * *";D.TenSeconds="*/10 * * * * *";D.ThirtySeconds="*/30 * * * * *";D.Minute="* * * * *";D.TwoMinutes="*/2 * * * *";D.FiveMinutes="*/5 * * * *";D.TenMinutes="*/10 * * * *";D.FifteenMinutes="*/15 * * * *";D.ThirtyMinutes="*/30 * * * *";D.Hour="0 * * * *";D.HalfHour="0,30 * * * *";D.Day="0 0 * * *";D.Week="0 0 * * 0";D.Weekday="0 0 * * 1-5";D.Weekend="0 0 * * 0,6";D.Month="0 0 1 * *";D.Year="0 0 1 1 *"})(F||={});var U;((B)=>{B.Bluesky="bluesky";B.Discord="discord";B.Facebook="facebook";B.GitHub="github";B.Instagram="instagram";B.LinkedIn="linkedin";B.Mastodon="mastodon";B.Slack="slack";B.Twitter="twitter";B.YouTube="youtube"})(U||={});var _;((O)=>{O[O.Success=0]="Success";O[O.FatalError=1]="FatalError";O[O.InvalidArgument=9]="InvalidArgument"})(_||={});import{toString as G}from"@stacksjs/strings";function K(p){if(p===null)return"null";let P=G(p).slice(8,-1).toLowerCase();return typeof p==="object"||typeof p==="function"?P:typeof p}function Q(p){return p}function R(p){return p}var W={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 Z={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 f={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{f as stackExtensionRegistry,H as isPersonalAccessToken,N as isOAuthClient,x as isAccessToken,K as getTypeName,R as defineModels,Q as defineModel,U as SocialLinkIcon,Z as RealtimePresets,W as QueuePresets,_ as ExitCode,F as Every};
|
package/dist/request.d.ts
CHANGED
|
@@ -59,12 +59,12 @@ export declare interface Collection<T> {
|
|
|
59
59
|
* Safe validated data wrapper (Laravel-style)
|
|
60
60
|
*/
|
|
61
61
|
export declare interface SafeData<T extends Record<string, any> = Record<string, any>> {
|
|
62
|
-
only
|
|
63
|
-
except
|
|
64
|
-
merge
|
|
65
|
-
all
|
|
66
|
-
has
|
|
67
|
-
get
|
|
62
|
+
only<K extends keyof T>(keys: K[]): Pick<T, K>
|
|
63
|
+
except<K extends keyof T>(keys: K[]): Omit<T, K>
|
|
64
|
+
merge<U extends Record<string, unknown>>(data: U): T & U
|
|
65
|
+
all(): T
|
|
66
|
+
has(key: keyof T): boolean
|
|
67
|
+
get<K extends keyof T>(key: K): T[K]
|
|
68
68
|
}
|
|
69
69
|
export declare interface RequestInstance<TFields extends Record<string, any> = Record<string, any>, TParams extends Record<string, string> = Record<string, string>,> {
|
|
70
70
|
url: string
|
|
@@ -81,28 +81,28 @@ export declare interface RequestInstance<TFields extends Record<string, any> = R
|
|
|
81
81
|
input<K extends keyof TFields & string>(key: K, defaultValue?: TFields[K]): TFields[K]
|
|
82
82
|
input<T = any>(key: string, defaultValue?: T): T
|
|
83
83
|
all: () => TFields
|
|
84
|
-
only
|
|
85
|
-
except
|
|
84
|
+
only<K extends keyof TFields & string>(keys: K[]): Pick<TFields, K>
|
|
85
|
+
except<K extends keyof TFields & string>(keys: K[]): Omit<TFields, K>
|
|
86
86
|
has: (key: string | string[]) => boolean
|
|
87
87
|
hasAny: (keys: string[]) => boolean
|
|
88
88
|
filled: (key: string | string[]) => boolean
|
|
89
89
|
missing: (key: string | string[]) => boolean
|
|
90
|
-
merge
|
|
90
|
+
merge(data: Partial<TFields>): void
|
|
91
91
|
keys: () => (keyof TFields & string)[]
|
|
92
|
-
string
|
|
93
|
-
integer
|
|
94
|
-
float
|
|
95
|
-
boolean
|
|
96
|
-
array
|
|
97
|
-
date
|
|
98
|
-
enum
|
|
99
|
-
collect
|
|
92
|
+
string(key: keyof TFields & string, defaultValue?: string): string
|
|
93
|
+
integer(key: keyof TFields & string, defaultValue?: number): number
|
|
94
|
+
float(key: keyof TFields & string, defaultValue?: number): number
|
|
95
|
+
boolean(key: keyof TFields & string, defaultValue?: boolean): boolean
|
|
96
|
+
array<T = unknown>(key: keyof TFields & string): T[]
|
|
97
|
+
date(key: keyof TFields & string, format?: string): Date | null
|
|
98
|
+
enum<T extends Record<string, string | number>>(key: keyof TFields & string, enumType: T): T[keyof T] | null
|
|
99
|
+
collect<T = unknown>(key: keyof TFields & string): Collection<T>
|
|
100
100
|
validate: (rules?: RequestValidationRules, messages?: Record<string, string>) => Promise<TFields>
|
|
101
101
|
getValidated: () => TFields
|
|
102
102
|
safe: () => SafeData<TFields>
|
|
103
|
-
whenHas
|
|
104
|
-
whenFilled
|
|
105
|
-
isValue
|
|
103
|
+
whenHas<T>(key: keyof TFields & string, callback: (value: T) => void, defaultCallback?: () => void): void
|
|
104
|
+
whenFilled<T>(key: keyof TFields & string, callback: (value: T) => void, defaultCallback?: () => void): void
|
|
105
|
+
isValue(key: keyof TFields & string, value: unknown): boolean
|
|
106
106
|
file: (key: string) => UploadedFile | null
|
|
107
107
|
getFiles: (key: string) => UploadedFile[]
|
|
108
108
|
hasFile: (key: string) => boolean
|
|
@@ -117,10 +117,10 @@ export declare interface RequestInstance<TFields extends Record<string, any> = R
|
|
|
117
117
|
route: (key: string) => number | string | null
|
|
118
118
|
getParams: () => TParams
|
|
119
119
|
getParamAsInt: (key: string) => number | null
|
|
120
|
-
old
|
|
121
|
-
flashInput
|
|
122
|
-
flashInputOnly
|
|
123
|
-
flashInputExcept
|
|
120
|
+
old<T = unknown>(key: keyof TFields & string, defaultValue?: T): T
|
|
121
|
+
flashInput(keys?: (keyof TFields & string)[]): void
|
|
122
|
+
flashInputOnly(keys: (keyof TFields & string)[]): void
|
|
123
|
+
flashInputExcept(keys: (keyof TFields & string)[]): void
|
|
124
124
|
json: <T = any>() => Promise<T>
|
|
125
125
|
isEmpty: () => boolean
|
|
126
126
|
browser: () => string | null
|
|
@@ -12,17 +12,17 @@ export declare const stackExtensionRegistry: Record<string, StackRegistryEntry>;
|
|
|
12
12
|
// autocomplete and type safety for the new stack name.
|
|
13
13
|
//
|
|
14
14
|
// To add your stack, add a new entry below following the pattern:
|
|
15
|
-
// 'your-stack-name': {
|
|
15
|
+
// 'your-stack-name': { github: 'your-org/your-stack', description: '...' },
|
|
16
16
|
//
|
|
17
17
|
// Requirements for PRs:
|
|
18
|
-
// - The
|
|
19
|
-
// - The package.json must contain a valid `stacks` field with a `name`
|
|
18
|
+
// - The source repository must use the Stacks project directory structure
|
|
19
|
+
// - The package.json must contain a valid `stacks` field with a matching `name`
|
|
20
20
|
// - The description should be concise (under 80 chars)
|
|
21
21
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
22
|
-
declare interface StackRegistryEntry {
|
|
23
|
-
|
|
22
|
+
export declare interface StackRegistryEntry {
|
|
23
|
+
github: string
|
|
24
|
+
package?: string
|
|
24
25
|
description: string
|
|
25
|
-
github?: string
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
28
|
* Metadata for a stack extension, defined in the `stacks` field of a stack's package.json.
|
|
@@ -58,6 +58,8 @@ export declare interface StackManifestEntry {
|
|
|
58
58
|
version: string
|
|
59
59
|
installedAt: string
|
|
60
60
|
files: string[]
|
|
61
|
+
checksums: Record<string, string>
|
|
62
|
+
source: string
|
|
61
63
|
skipped: string[]
|
|
62
64
|
conflictStrategy: ConflictStrategy
|
|
63
65
|
}
|
|
@@ -73,11 +75,13 @@ export declare interface StackInstallOptions {
|
|
|
73
75
|
force?: boolean
|
|
74
76
|
dryRun?: boolean
|
|
75
77
|
verbose?: boolean
|
|
78
|
+
project?: string
|
|
76
79
|
}
|
|
77
80
|
export declare interface StackUninstallOptions {
|
|
78
81
|
name: KnownStackName
|
|
79
82
|
force?: boolean
|
|
80
83
|
verbose?: boolean
|
|
84
|
+
project?: string
|
|
81
85
|
}
|
|
82
86
|
/** Display format for the `stack:list` command */
|
|
83
87
|
export declare interface StackListEntry {
|
|
@@ -110,6 +114,7 @@ export declare interface StackExtensionEntry {
|
|
|
110
114
|
url?: string
|
|
111
115
|
github?: string
|
|
112
116
|
package?: string
|
|
117
|
+
description?: string
|
|
113
118
|
}
|
|
114
119
|
/**
|
|
115
120
|
* Known top-level directories in a Stacks project that a stack extension can provide.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stacksjs/types",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.70.
|
|
4
|
+
"version": "0.70.163",
|
|
5
5
|
"description": "The Stacks framework types.",
|
|
6
6
|
"author": "Chris Breuer",
|
|
7
7
|
"contributors": [
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
}
|
|
67
67
|
},
|
|
68
68
|
"devDependencies": {
|
|
69
|
-
"@stacksjs/validation": "0.70.
|
|
69
|
+
"@stacksjs/validation": "0.70.163",
|
|
70
70
|
"@types/bun": "^1.3.11",
|
|
71
71
|
"meilisearch": "^0.59.0",
|
|
72
72
|
"typescript": "^7.0.2"
|