@stacksjs/types 0.64.5 → 0.65.0

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.
Files changed (87) hide show
  1. package/dist/ai.d.ts +15 -0
  2. package/dist/analytics.d.ts +15 -0
  3. package/dist/api.d.ts +67 -0
  4. package/dist/app.d.ts +135 -0
  5. package/dist/auto-imports.d.ts +1 -0
  6. package/dist/binary.d.ts +11 -0
  7. package/dist/build.d.ts +2 -0
  8. package/dist/cache.d.ts +62 -0
  9. package/dist/cdn.d.ts +16 -0
  10. package/dist/chat.d.ts +3 -0
  11. package/dist/cli.d.ts +246 -0
  12. package/dist/cloud.d.ts +69 -0
  13. package/dist/components.d.ts +60 -0
  14. package/dist/configure.d.ts +12 -0
  15. package/dist/cron-jobs.d.ts +43 -0
  16. package/dist/database.d.ts +47 -0
  17. package/dist/dependencies.d.ts +62 -0
  18. package/dist/deploy.d.ts +16 -0
  19. package/dist/dns.d.ts +175 -0
  20. package/dist/docs.d.ts +22 -0
  21. package/dist/email.d.ts +11 -0
  22. package/dist/env.d.ts +0 -0
  23. package/dist/errors.d.ts +70 -0
  24. package/dist/events.d.ts +30 -0
  25. package/dist/exit-code.d.ts +10 -0
  26. package/dist/file-systems.d.ts +60 -0
  27. package/dist/git.d.ts +128 -0
  28. package/dist/hashing.d.ts +100 -0
  29. package/dist/helpers.d.ts +1 -0
  30. package/dist/i18n.d.ts +19 -0
  31. package/dist/index.d.ts +61 -0
  32. package/dist/index.js +3 -2
  33. package/dist/index.js.map +11 -10
  34. package/dist/inspect.d.ts +9 -0
  35. package/dist/layout.d.ts +0 -0
  36. package/dist/library.d.ts +142 -0
  37. package/dist/logging.d.ts +28 -0
  38. package/dist/manifest.d.ts +9 -0
  39. package/dist/model-names.d.ts +1 -0
  40. package/dist/model.d.ts +144 -0
  41. package/dist/native.d.ts +0 -0
  42. package/dist/notifications.d.ts +106 -0
  43. package/dist/pages.d.ts +10 -0
  44. package/dist/payments.d.ts +60 -0
  45. package/dist/ports.d.ts +20 -0
  46. package/dist/promise.d.ts +1 -0
  47. package/dist/push.d.ts +31 -0
  48. package/dist/pwa.d.ts +7 -0
  49. package/dist/queue.d.ts +34 -0
  50. package/dist/reactivity.d.ts +1 -0
  51. package/dist/request.d.ts +30 -0
  52. package/dist/router.d.ts +55 -0
  53. package/dist/scheduler.d.ts +1 -0
  54. package/dist/search-engine.d.ts +114 -0
  55. package/dist/security.d.ts +18 -0
  56. package/dist/server.d.ts +6 -0
  57. package/dist/services.d.ts +29 -0
  58. package/dist/settings-config.d.ts +9 -0
  59. package/dist/sms.d.ts +0 -0
  60. package/dist/ssg.d.ts +2 -0
  61. package/dist/stacks.d.ts +204 -0
  62. package/dist/storage.d.ts +12 -0
  63. package/dist/tables.d.ts +52 -0
  64. package/dist/team.d.ts +8 -0
  65. package/dist/ui.d.ts +165 -0
  66. package/dist/utils.d.ts +30 -0
  67. package/package.json +19 -19
  68. package/src/api.ts +6 -6
  69. package/src/app.ts +1 -1
  70. package/src/chat.ts +1 -1
  71. package/src/cli.ts +7 -3
  72. package/src/cloud.ts +1 -1
  73. package/src/cron-jobs.ts +1 -0
  74. package/src/deploy.ts +1 -0
  75. package/src/errors.ts +50 -51
  76. package/src/git.ts +1 -1
  77. package/src/helpers.ts +3 -2
  78. package/src/index.ts +8 -7
  79. package/src/model-names.ts +1 -10
  80. package/src/model.ts +35 -19
  81. package/src/notifications.ts +1 -5
  82. package/src/request.ts +16 -15
  83. package/src/router.ts +1 -0
  84. package/src/search-engine.ts +3 -3
  85. package/src/server.ts +16 -0
  86. package/src/settings-config.ts +2 -2
  87. package/src/stacks.ts +0 -1
package/dist/ai.d.ts ADDED
@@ -0,0 +1,15 @@
1
+ type AiModel = "amazon.titan-embed-text-v1" | "amazon.titan-text-lite-v1" | "amazon.titan-text-express-v1" | "amazon.titan-embed-image-v1" | "amazon.titan-image-generator-v1" | "anthropic.claude-v1" | "anthropic.claude-v2" | "anthropic.claude-v2:1" | "anthropic.claude-instant-v1" | "meta.llama2-13b-chat-v1" | "meta.llama2-70b-chat-v1";
2
+ /**
3
+ * **AI Options**
4
+ *
5
+ * This configuration defines all of your AI options. Because Stacks is fully-typed, you
6
+ * may hover any of the options below and the definitions will be provided. In case you
7
+ * have any questions, feel free to reach out via Discord or GitHub Discussions.
8
+ */
9
+ export interface AiOptions {
10
+ default: AiModel;
11
+ models: AiModel[];
12
+ deploy: boolean;
13
+ }
14
+ export type AiConfig = Partial<AiOptions>;
15
+ export {};
@@ -0,0 +1,15 @@
1
+ /**
2
+ * **Analytics Options**
3
+ *
4
+ * This configuration defines all of your Analytics options. Because Stacks is fully-typed, you
5
+ * may hover any of the options below and the definitions will be provided. In case you
6
+ * have any questions, feel free to reach out via Discord or GitHub Discussions.
7
+ */
8
+ export interface AnalyticsOptions {
9
+ driver: "google-analytics" | "fathom";
10
+ drivers: {
11
+ googleAnalytics?: { trackingId: string };
12
+ fathom?: { siteId: string };
13
+ };
14
+ }
15
+ export type AnalyticsConfig = Partial<AnalyticsOptions>;
package/dist/api.d.ts ADDED
@@ -0,0 +1,67 @@
1
+ /**
2
+ * **API Options**
3
+ *
4
+ * This configuration defines all of your API options. Because Stacks is fully-typed, you
5
+ * may hover any of the options below and the definitions will be provided. In case you
6
+ * have any questions, feel free to reach out via Discord or GitHub Discussions.
7
+ */
8
+ export interface ApiOptions {
9
+ /**
10
+ * **API Description**
11
+ *
12
+ * This value defines the description for your API.
13
+ *
14
+ * @default "Stacks API"
15
+ */
16
+ description: string;
17
+ /**
18
+ * **API Prefix**
19
+ *
20
+ * This value defines the prefix for all of your API routes. For example, if you set
21
+ * this value to `api`, all of your API routes will be prefixed with `/api`. This
22
+ * value is useful for when you want to version your API.
23
+ *
24
+ * @default string "api"
25
+ * @example string "api/v1"
26
+ */
27
+ prefix: string;
28
+ middleware: string[];
29
+ routes: {
30
+ index: boolean;
31
+ show: boolean;
32
+ store: boolean;
33
+ update: boolean;
34
+ destroy: boolean;
35
+ } | boolean;
36
+ /**
37
+ * **API Prewarm**
38
+ *
39
+ * This configuration determines the prewarming behavior of your API. Prewarming eliminates
40
+ * cold starts in your API. If this value is set to `true`, the API will be prewarmed
41
+ * every 5 minutes. If you provide a number, Stacks will prewarm the
42
+ * specified number of containers every 5 minutes.
43
+ *
44
+ * @default true
45
+ * @example false
46
+ * @example 10
47
+ */
48
+ prewarm: boolean | number;
49
+ /**
50
+ * **API Memory Size**
51
+ *
52
+ * This value defines the memory size for your API.
53
+ *
54
+ * @default 512
55
+ */
56
+ memorySize: number;
57
+ /**
58
+ * **API Timeout**
59
+ *
60
+ * This value defines the timeout for your API.
61
+ *
62
+ * @default 30
63
+ */
64
+ timeout: number;
65
+ deploy: boolean;
66
+ }
67
+ export type ApiConfig = Partial<ApiOptions>;
package/dist/app.d.ts ADDED
@@ -0,0 +1,135 @@
1
+ export type AppEnvType = "local" | "dev" | "stage" | "prod" | "testing" | string;
2
+ /**
3
+ * **Application Options**
4
+ *
5
+ * This configuration defines all of your application options. Because Stacks is fully-typed,
6
+ * you may hover any of the options below and the definitions will be provided. In case
7
+ * you have any questions, feel free to reach out via Discord or GitHub Discussions.
8
+ */
9
+ export interface AppOptions {
10
+ /**
11
+ * **Application Name**
12
+ *
13
+ * This value is the name of your application. This value is used when the
14
+ * framework needs to place the application's name in a log or any
15
+ * other location as required by the application or its packages.
16
+ *
17
+ * @default string "Stacks"
18
+ */
19
+ name: string;
20
+ /**
21
+ * **Application Description**
22
+ *
23
+ * This value is the description of your application. This value is used when the
24
+ * framework generates meta tags for the frontend.
25
+ */
26
+ description: string;
27
+ /**
28
+ * **Application Environment**
29
+ *
30
+ * This value determines the "environment" your application is currently
31
+ * running in. This may determine how you prefer to configure various
32
+ * services the application utilizes. Set this in your ".env" file
33
+ *
34
+ * @default "local"
35
+ */
36
+ env: AppEnvType;
37
+ /**
38
+ * **Application URL**
39
+ *
40
+ * This URL is used by the console to properly generate URLs when using
41
+ * the Buddy command line tool. You should set this to the root of
42
+ * your application so that it is used when running Buddy tasks.
43
+ *
44
+ * @default string "stacks.localhost"
45
+ * @example "my-project.test"
46
+ */
47
+ url: string;
48
+ /**
49
+ * **Redirect URLs**
50
+ *
51
+ * A Redirect URL is a URL that permanently redirects to the Application URL.
52
+ * This is useful for when you have multiple domains that you want to redirect
53
+ * to your application. You can set this to a string or an array of strings.
54
+ *
55
+ * @default []
56
+ * @example "['stacksjs.com', 'stacksjs.dev']"
57
+ */
58
+ redirectUrls: string | string[];
59
+ /**
60
+ * **Application Debug Mode**
61
+ *
62
+ * When your application is in debug mode, detailed error messages with
63
+ * stack traces will be shown on every error that occurs within your
64
+ * application. If disabled, a simple generic error page is shown.
65
+ *
66
+ * @default true
67
+ */
68
+ debug: boolean;
69
+ /**
70
+ * **Maintenance Mode**
71
+ *
72
+ * When your application is in maintenance mode, a simple maintenance
73
+ * page will be shown on every request into your application.
74
+ *
75
+ * @default false
76
+ */
77
+ maintenanceMode: boolean;
78
+ /**
79
+ * **Encryption Key**
80
+ *
81
+ * This key is used by the Stacks encrypter service and should be set to
82
+ * a random, 32 character string, otherwise these encrypted strings will
83
+ * not be safe. Please do this before deploying an application!
84
+ */
85
+ key: string;
86
+ /**
87
+ * **Application Timezone**
88
+ *
89
+ * Here you may specify the default timezone for your application, which
90
+ * will be used by Stacks and date-time functions. We have gone ahead
91
+ * and set this to a sensible default for you out of the box.
92
+ *
93
+ * @default string "UTC"
94
+ */
95
+ timezone: string;
96
+ /**
97
+ * **Application Locale Configuration**
98
+ *
99
+ * The application locale determines the default locale that will be used
100
+ * by the translation service provider. You are free to set this value
101
+ * to any of the locales which will be supported by the application.
102
+ *
103
+ * @default string "en"
104
+ * @example
105
+ * de // ./lang/de.yml needs to be present for this
106
+ */
107
+ locale: string;
108
+ /**
109
+ * **Application Fallback Locale**
110
+ *
111
+ * The fallback locale determines the locale to use when the current one
112
+ * is not available. You may change the value to correspond to any of
113
+ * the language folders that are provided through your application.
114
+ *
115
+ * @default string "en"
116
+ */
117
+ fallbackLocale: "en";
118
+ /**
119
+ * **Cipher**
120
+ *
121
+ * Description WIP.
122
+ *
123
+ * @default string "aes-256-cbc"
124
+ */
125
+ cipher: string;
126
+ /**
127
+ * **Documentation Mode**
128
+ *
129
+ * $appUrl becomes your Documentation URL.
130
+ *
131
+ * @default false
132
+ */
133
+ docMode: boolean;
134
+ }
135
+ export type AppConfig = Partial<AppOptions>;
@@ -0,0 +1 @@
1
+ export type { Options as AutoImportsOptions } from "unplugin-auto-import/types";
@@ -0,0 +1,11 @@
1
+ /**
2
+ * The Binary/CLI Options used in `./config/cli.ts`.
3
+ */
4
+ export interface BinaryOptions {
5
+ name: string;
6
+ command: string;
7
+ description: string;
8
+ source: string;
9
+ deploy: boolean;
10
+ }
11
+ export type BinaryConfig = Partial<BinaryOptions>;
@@ -0,0 +1,2 @@
1
+ export type { UserConfig as ViteConfig } from "vite";
2
+ export type { ViteSSGContext } from "vite-ssg";
@@ -0,0 +1,62 @@
1
+ export interface CacheOptions {
2
+ /**
3
+ * **Cache Driver**
4
+ *
5
+ * This value determines the cache driver that will be used by your application to store
6
+ * cached data. By default, Stacks uses the "redis" driver, which stores cached data in
7
+ * in a self-configufed Redis instance. You may use any of the other drivers provided
8
+ * by Stacks or write your own custom driver.
9
+ *
10
+ * @default "redis"
11
+ * @example "redis"
12
+ * @example "memcached"
13
+ * @example "dynamodb"
14
+ *
15
+ * @see https://stacks.js.org/docs/cache
16
+ */
17
+ driver: string;
18
+ /**
19
+ * **Cache Prefix**
20
+ *
21
+ * This value determines the prefix that will be used when storing items in the cache. This
22
+ * prefix may be useful when multiple applications are sharing the same cache driver so that
23
+ * they may avoid collisions when attempting to retrieve items from the cache.
24
+ *
25
+ * @default string "stacks"
26
+ * @example "stacks"
27
+ *
28
+ * @see https://stacks.js.org/docs/cache
29
+ */
30
+ prefix: string;
31
+ /**
32
+ * **Cache TTL**
33
+ *
34
+ * This value determines the default time to live for items stored in the cache. This value
35
+ * may be overridden when storing items in the cache. If no value is specified, the cache
36
+ * driver will default to a reasonable time to live for the given item.
37
+ *
38
+ * @default number 3600
39
+ * @example 3600
40
+ * @example 3600 * 24
41
+ * @example -1 (never expires)
42
+ */
43
+ ttl: number;
44
+ drivers: {
45
+ redis?: {
46
+ connection: string;
47
+ host: string;
48
+ port: number;
49
+ username: string;
50
+ password: string;
51
+ };
52
+ memcached?: object;
53
+ dynamodb?: {
54
+ key: string;
55
+ secret: string;
56
+ region: string;
57
+ table: string;
58
+ endpoint: string;
59
+ };
60
+ };
61
+ }
62
+ export type CacheConfig = Partial<CacheOptions>;
package/dist/cdn.d.ts ADDED
@@ -0,0 +1,16 @@
1
+ export interface CdnOptions {
2
+ /**
3
+ * **CDN Driver**
4
+ *
5
+ * This value determines the default CDN driver that will be used when interacting with the
6
+ * CDN service. This value may be overridden when interacting with the CDN service.
7
+ *
8
+ * @default "cloudfront"
9
+ * @example "cloudfront"
10
+ * @example "fastly" wip
11
+ *
12
+ * @see https://stacks.js.org/docs/cdn
13
+ */
14
+ driver: string;
15
+ }
16
+ export type CdnConfig = Partial<CdnOptions>;
package/dist/chat.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ interface ChatOptions {}
2
+ export type { ChatOptions };
3
+ export type ChatConfig = ChatOptions;
package/dist/cli.d.ts ADDED
@@ -0,0 +1,246 @@
1
+ import type { BunFile } from "bun";
2
+ import type { Ports } from "./ports";
3
+ type ArrayBufferView = NodeJS.TypedArray | DataView;
4
+ export type { ErrorLike, SpawnOptions, Subprocess, SyncSubprocess } from "bun";
5
+ export type Readable = "pipe" | "inherit" | "ignore" | null | undefined | BunFile | ArrayBufferView | number;
6
+ export type Writable = "pipe" | "inherit" | "ignore" | null | undefined | BunFile | ArrayBufferView | number | ReadableStream | Blob | Response | Request;
7
+ export type In = Readable;
8
+ export type Out = Writable;
9
+ /**
10
+ * The file descriptor for the standard input. It may be:
11
+ *
12
+ * - `"ignore"`, `null`, `undefined`: The process will have no standard input
13
+ * - `"pipe"`: The process will have a new {@link FileSink} for standard input
14
+ * - `"inherit"`: The process will inherit the standard input of the current process
15
+ * - `ArrayBufferView`, `Blob`: The process will read from the buffer
16
+ * - `number`: The process will read from the file descriptor
17
+ *
18
+ * @default "ignore"
19
+ */
20
+ export type stdin = "ignore" | "inherit" | "pipe" | ArrayBufferView | number | null | undefined;
21
+ /**
22
+ * The file descriptor for the standard output. It may be:
23
+ *
24
+ * - `"pipe"`, `undefined`: The process will have a {@link ReadableStream} for standard output/error
25
+ * - `"ignore"`, `null`: The process will have no standard output/error
26
+ * - `"inherit"`: The process will inherit the standard output/error of the current process
27
+ * - `ArrayBufferView`: The process write to the preallocated buffer. Not implemented.
28
+ * - `number`: The process will write to the file descriptor
29
+ *
30
+ * @default "pipe"
31
+ */
32
+ export type stdout = "ignore" | "inherit" | "pipe" | ArrayBufferView | number;
33
+ /**
34
+ * The file descriptor for the standard error. It may be:
35
+ *
36
+ * - `"pipe"`, `undefined`: The process will have a {@link ReadableStream} for standard output/error
37
+ * - `"ignore"`, `null`: The process will have no standard output/error
38
+ * - `"inherit"`: The process will inherit the standard output/error of the current process
39
+ * - `ArrayBufferView`: The process write to the preallocated buffer. Not implemented.
40
+ * - `number`: The process will write to the file descriptor
41
+ *
42
+ * @default "inherit" for `spawn`
43
+ * "pipe" for `spawnSync`
44
+ */
45
+ export type stderr = "ignore" | "inherit" | "pipe" | ArrayBufferView | number;
46
+ export interface OutroOptions extends CliOptions {
47
+ type?: "success" | "error" | "warning" | "info";
48
+ startTime?: number;
49
+ useSeconds?: boolean;
50
+ quiet?: boolean;
51
+ message?: string;
52
+ }
53
+ export interface IntroOptions {
54
+ /**
55
+ * @default true
56
+ */
57
+ showPerformance?: boolean;
58
+ /**
59
+ * @default false
60
+ */
61
+ quiet: boolean;
62
+ }
63
+ export type CliOptionsKeys = keyof CliOptions;
64
+ /**
65
+ * The options to pass to the CLI.
66
+ */
67
+ export interface CliOptions {
68
+ /**
69
+ * **Verbose Output**
70
+ *
71
+ * When your application is in "verbose"-mode, a different level of,
72
+ * information like useful outputs for debugging reasons, will be
73
+ * shown. When disabled, it defaults to the "normal experience."
74
+ *
75
+ * @default false
76
+ */
77
+ verbose?: boolean;
78
+ /**
79
+ * **Silent Mode**
80
+ *
81
+ * When you are using "silent"-mode, the CLI will not output anything
82
+ * to the console. This is useful when you want to run the CLI in
83
+ * the background.
84
+ *
85
+ * @default false
86
+ */
87
+ silent?: boolean;
88
+ /**
89
+ * **Quiet Mode**
90
+ *
91
+ * When you are using "quiet"-mode, the CLI will output minimally
92
+ * to the console.
93
+ *
94
+ * @default false
95
+ */
96
+ quiet?: boolean;
97
+ /**
98
+ * **Current Work Directory**
99
+ *
100
+ * Based on the `cwd` value, that's where the command...
101
+ *
102
+ * @default projectPath()
103
+ */
104
+ cwd?: string;
105
+ /**
106
+ * @default 'pipe'
107
+ */
108
+ stdin?: stdin;
109
+ /**
110
+ * @default 'pipe'
111
+ */
112
+ stdout?: stdout;
113
+ /**
114
+ * @default 'inherit'
115
+ */
116
+ stderr?: stderr;
117
+ env?: Record<string, string | undefined>;
118
+ /**
119
+ * Runs the action in interactive/detached mode.
120
+ * @default false
121
+ */
122
+ background?: boolean;
123
+ startTime?: number;
124
+ /**
125
+ * Include the localhost URL in the output.
126
+ * @default false
127
+ */
128
+ withLocalhost?: boolean;
129
+ input?: string | ArrayBufferView | ReadableStream | Blob | Response | Request;
130
+ project?: string;
131
+ }
132
+ export type CliConfig = CliOptions;
133
+ export type ActionOption = "types" | "domains" | "count";
134
+ /**
135
+ * The options to pass to the Action.
136
+ */
137
+ export type ActionOptions = {
138
+ types?: boolean;
139
+ domains?: boolean;
140
+ count?: number;
141
+ dryRun?: boolean;
142
+ } & CliOptions & DomainsOptions;
143
+ export type BuildOption = "components" | "vueComponents" | "webComponents" | "elements" | "functions" | "docs" | "views" | "stacks" | "all" | "buddy" | "server";
144
+ export type BuildOptions = { [key in BuildOption] : boolean } & CliOptions;
145
+ export type AddOption = "table" | "calendar" | "all";
146
+ export type AddOptions = { [key in AddOption]? : boolean } & CliOptions;
147
+ export type CreateStringOption = "name";
148
+ export type CreateBooleanOption = "ui" | "components" | "web-components" | "vue" | "views" | "functions" | "api" | "database";
149
+ export type CreateOptions = { [key in CreateBooleanOption] : boolean } & { [key in CreateStringOption] : string } & CliOptions;
150
+ export type DevOption = "components" | "docs" | "frontend" | "api" | "desktop" | "all" | "email" | "system-tray" | "interactive" | "verbose";
151
+ export type DevOptions = { [key in DevOption] : boolean } & CliOptions;
152
+ export type GeneratorOption = "types" | "entries" | "webTypes" | "customData" | "ideHelpers" | "componentMeta" | "coreSymlink" | "openApiSpec" | "pkgxConfig" | "openapi" | "modelFiles";
153
+ export type GeneratorOptions = { [key in GeneratorOption]? : boolean } & CliOptions;
154
+ export type LintOption = "fix";
155
+ export type LintOptions = { [key in LintOption] : boolean } & CliOptions;
156
+ export type MakeStringOption = "name" | "chat" | "sms" | "env";
157
+ export type MakeBooleanOption = "component" | "page" | "function" | "language" | "database" | "migration" | "model" | "notification" | "stack";
158
+ export type MakeOptions = { [key in MakeBooleanOption] : boolean } & { [key in MakeStringOption] : string } & CliOptions;
159
+ export type UpgradeBoolean = "framework" | "dependencies" | "bun" | "shell" | "binary" | "all" | "force";
160
+ export type UpgradeString = "version";
161
+ export type UpgradeOptions = { [key in UpgradeBoolean] : boolean } & { [key in UpgradeString] : string } & CliOptions;
162
+ export type ExamplesString = "version";
163
+ export type ExamplesBoolean = "components" | "vue" | "webComponents" | "elements" | "all" | "force";
164
+ export type ExamplesOption = ExamplesString & ExamplesBoolean;
165
+ export type ExamplesOptions = { [key in ExamplesString] : string } & { [key in ExamplesBoolean] : boolean } & CliOptions;
166
+ export type TestOptions = CliOptions & {
167
+ ui?: boolean;
168
+ feature?: boolean;
169
+ unit?: boolean;
170
+ };
171
+ export type DomainsOptions = CliOptions & {
172
+ domain?: string;
173
+ yes?: boolean;
174
+ years?: number;
175
+ privacy?: boolean;
176
+ autoRenew?: boolean;
177
+ registrantFirstName?: string;
178
+ registrantLastName?: string;
179
+ registrantOrganization?: string;
180
+ registrantAddress?: string;
181
+ registrantCity?: string;
182
+ registrantState?: string;
183
+ registrantCountry?: string;
184
+ registrantZip?: string;
185
+ registrantPhone?: string;
186
+ registrantEmail?: string;
187
+ adminFirstName?: string;
188
+ adminLastName?: string;
189
+ adminOrganization?: string;
190
+ adminAddress?: string;
191
+ adminCity?: string;
192
+ adminState?: string;
193
+ adminCountry?: string;
194
+ adminZip?: string;
195
+ adminPhone?: string;
196
+ adminEmail?: string;
197
+ techFirstName?: string;
198
+ techLastName?: string;
199
+ techOrganization?: string;
200
+ techAddress?: string;
201
+ techCity?: string;
202
+ techState?: string;
203
+ techCountry?: string;
204
+ techZip?: string;
205
+ techPhone?: string;
206
+ techEmail?: string;
207
+ privacyAdmin?: boolean;
208
+ privacyTech?: boolean;
209
+ privacyRegistrant?: boolean;
210
+ contactType?: string;
211
+ };
212
+ export interface CleanOptions extends CliOptions {}
213
+ export interface CloudCliOptions extends CliOptions {
214
+ ssh?: boolean;
215
+ connect?: boolean;
216
+ jumpBox?: boolean;
217
+ invalidateCache?: boolean;
218
+ paths?: string;
219
+ diff?: boolean;
220
+ }
221
+ export interface CommitOptions extends CliOptions {}
222
+ export interface KeyOptions extends CliOptions {}
223
+ export interface FreshOptions extends CliOptions {
224
+ dryRun?: boolean;
225
+ quiet?: boolean;
226
+ }
227
+ export interface MigrateOptions extends CliOptions {
228
+ diff?: boolean;
229
+ }
230
+ export interface InspireOptions extends CliOptions {}
231
+ export interface InstallOptions extends CliOptions {}
232
+ export interface ReleaseOptions extends CliOptions {
233
+ dryRun?: boolean;
234
+ }
235
+ export interface ProjectsOptions extends CliOptions {
236
+ list?: boolean;
237
+ }
238
+ export interface PreinstallOptions extends CliOptions {}
239
+ export interface PrepublishOptions extends CliOptions {}
240
+ export interface PortsOptions extends CliOptions {
241
+ ports?: Partial<Ports>;
242
+ }
243
+ export interface TinkerOptions extends CliOptions {}
244
+ export interface TypesOptions extends CliOptions {}
245
+ export type LibEntryType = "vue-components" | "web-components" | "functions" | "all";
246
+ export type { CAC as CLI } from "cac";
@@ -0,0 +1,69 @@
1
+ import type { ApiConfig } from "./api";
2
+ import type { FirewallConfig } from "./security";
3
+ export type CountryCode = "AD" | "AE" | "AF" | "AG" | "AI" | "AL" | "AM" | "AO" | "AQ" | "AR" | "AS" | "AT" | "AU" | "AW" | "AX" | "AZ" | "BA" | "BB" | "BD" | "BE" | "BF" | "BG" | "BH" | "BI" | "BJ" | "BL" | "BM" | "BN" | "BO" | "BQ" | "BR" | "BS" | "BT" | "BV" | "BW" | "BY" | "BZ" | "CA" | "CC" | "CD" | "CF" | "CG" | "CH" | "CI" | "CK" | "CL" | "CM" | "CN" | "CO" | "CR" | "CU" | "CV" | "CW" | "CX" | "CY" | "CZ" | "DE" | "DJ" | "DK" | "DM" | "DO" | "DZ" | "EC" | "EE" | "EG" | "EH" | "ER" | "ES" | "ET" | "FI" | "FJ" | "FK" | "FM" | "FO" | "FR" | "GA" | "GB" | "GD" | "GE" | "GF" | "GG" | "GH" | "GI" | "GL" | "GM" | "GN" | "GP" | "GQ" | "GR" | "GS" | "GT" | "GU" | "GW" | "GY" | "HK" | "HM" | "HN" | "HR" | "HT" | "HU" | "ID" | "IE" | "IL" | "IM" | "IN" | "IO" | "IQ" | "IR" | "IS" | "IT" | "JE" | "JM" | "JO" | "JP" | "KE" | "KG" | "KH" | "KI" | "KM" | "KN" | "KP" | "KR" | "KW" | "KY" | "KZ" | "LA" | "LB" | "LC" | "LI" | "LK" | "LR" | "LS" | "LT" | "LU" | "LV" | "LY" | "MA" | "MC" | "MD" | "ME" | "MF" | "MG" | "MH" | "MK" | "ML" | "MM" | "MN" | "MO" | "MP" | "MQ" | "MR" | "MS" | "MT" | "MU" | "MV" | "MW" | "MX" | "MY" | "MZ" | "NA" | "NC" | "NE" | "NF" | "NG" | "NI" | "NL" | "NO" | "NP" | "NR" | "NU" | "NZ" | "OM" | "PA" | "PE" | "PF" | "PG" | "PH" | "PK" | "PL" | "PM" | "PN" | "PR" | "PS" | "PT" | "PW" | "PY" | "QA" | "RE" | "RO" | "RS" | "RU" | "RW" | "SA" | "SB" | "SC" | "SD" | "SE" | "SG" | "SH" | "SI" | "SJ" | "SK" | "SL" | "SM" | "SN" | "SO" | "SR" | "SS" | "ST" | "SV" | "SX" | "SY" | "SZ" | "TC" | "TD" | "TF" | "TG" | "TH" | "TJ" | "TK" | "TL" | "TM" | "TN" | "TO" | "TR" | "TT" | "TV" | "TW" | "TZ" | "UA" | "UG" | "UM" | "US" | "UY" | "UZ" | "VA" | "VC" | "VE" | "VG" | "VI" | "VN" | "VU" | "WF" | "WS" | "YE" | "YT" | "ZA" | "ZM" | "ZW";
4
+ type Environment = "development" | "staging" | "production";
5
+ export interface CloudOptions {
6
+ type: "serverless";
7
+ driver: "aws";
8
+ api: ApiConfig;
9
+ storage: object;
10
+ /**
11
+ * **Firewall Settings**
12
+ *
13
+ * These settings are used to configure the firewall.
14
+ *
15
+ * @see https://stacksjs.org/docs/cloud#firewall
16
+ *
17
+ * @example
18
+ * ```ts
19
+ * firewall: {
20
+ * enabled: true, // default: true
21
+ * countryCodes: ['RU', 'IN'], // default: []
22
+ * ipAddresses: ['56.123.456.789'], // default: []
23
+ * queryString: ['foo', 'bar'], // default: []
24
+ * httpHeaders: ['x-foo', 'x-bar'], // default: []
25
+ * rateLimitPerMinute: 1000, // default: 1000
26
+ * useIpReputationLists: true, // default: true
27
+ * useKnownBadInputsRuleSet: true // default: true
28
+ * },
29
+ * ```
30
+ */
31
+ firewall: FirewallConfig;
32
+ /**
33
+ * **Environments**
34
+ *
35
+ * These are the environments that your cloud will deploy.
36
+ *
37
+ * @example
38
+ * ```ts
39
+ * environments: ['production', 'staging', 'development']
40
+ * ```
41
+ */
42
+ environments: Environment[];
43
+ cdn: {
44
+ allowedMethods: "GET_HEAD" | "GET_HEAD_OPTIONS" | "ALL";
45
+ cachedMethods: "GET_HEAD" | "GET_HEAD_OPTIONS";
46
+ minTtl: number;
47
+ defaultTtl: number;
48
+ maxTtl: number;
49
+ compress: boolean;
50
+ priceClass?: "PriceClass_100" | "PriceClass_200" | "PriceClass_All";
51
+ originShieldRegion: string;
52
+ cookieBehavior: "none" | "allowList" | "all";
53
+ allowList: {
54
+ cookies: string[];
55
+ headers: string[];
56
+ queryStrings: string[];
57
+ };
58
+ realtimeLogs: {
59
+ enabled: boolean;
60
+ samplingRate: number;
61
+ };
62
+ };
63
+ ai: boolean;
64
+ cli: boolean;
65
+ docs: boolean;
66
+ fileSystem: boolean;
67
+ }
68
+ export type CloudConfig = Partial<CloudOptions>;
69
+ export {};