@stacksjs/types 0.70.86 → 0.70.88

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 (151) hide show
  1. package/package.json +19 -5
  2. package/dist/ai.d.ts +0 -37
  3. package/dist/analytics.d.ts +0 -36
  4. package/dist/api.d.ts +0 -26
  5. package/dist/app.d.ts +0 -28
  6. package/dist/attributes.d.ts +0 -1
  7. package/dist/auth.d.ts +0 -56
  8. package/dist/auto-imports.d.ts +0 -8
  9. package/dist/binary.d.ts +0 -11
  10. package/dist/cache.d.ts +0 -88
  11. package/dist/cdn.d.ts +0 -4
  12. package/dist/chat.d.ts +0 -69
  13. package/dist/cli.d.ts +0 -316
  14. package/dist/cloud.d.ts +0 -366
  15. package/dist/cms.d.ts +0 -12
  16. package/dist/commerce.d.ts +0 -14
  17. package/dist/components.d.ts +0 -9
  18. package/dist/configure.d.ts +0 -12
  19. package/dist/cors.d.ts +0 -47
  20. package/dist/cron-jobs.d.ts +0 -61
  21. package/dist/dashboard.d.ts +0 -108
  22. package/dist/database.d.ts +0 -76
  23. package/dist/dependencies.d.ts +0 -17
  24. package/dist/deploy.d.ts +0 -16
  25. package/dist/dns.d.ts +0 -362
  26. package/dist/docs.d.ts +0 -23
  27. package/dist/email.d.ts +0 -207
  28. package/dist/env.d.ts +0 -1
  29. package/dist/errors.d.ts +0 -84
  30. package/dist/events.d.ts +0 -31
  31. package/dist/exit-code.d.ts +0 -10
  32. package/dist/file-systems.d.ts +0 -60
  33. package/dist/git.d.ts +0 -60
  34. package/dist/hashing.d.ts +0 -57
  35. package/dist/helpers.d.ts +0 -1
  36. package/dist/i18n.d.ts +0 -65
  37. package/dist/index.d.ts +0 -79
  38. package/dist/index.js +0 -2
  39. package/dist/library.d.ts +0 -799
  40. package/dist/logging.d.ts +0 -15
  41. package/dist/manifest.d.ts +0 -9
  42. package/dist/marketing.d.ts +0 -12
  43. package/dist/model-dashboard-augmentation.d.ts +0 -8
  44. package/dist/model-names.d.ts +0 -1
  45. package/dist/model.d.ts +0 -256
  46. package/dist/monitoring.d.ts +0 -12
  47. package/dist/notifications.d.ts +0 -126
  48. package/dist/oauth.d.ts +0 -290
  49. package/dist/pages.d.ts +0 -10
  50. package/dist/payments.d.ts +0 -322
  51. package/dist/phone.d.ts +0 -65
  52. package/dist/ports.d.ts +0 -20
  53. package/dist/promise.d.ts +0 -1
  54. package/dist/push.d.ts +0 -108
  55. package/dist/queue.d.ts +0 -312
  56. package/dist/reactivity.d.ts +0 -1
  57. package/dist/realtime.d.ts +0 -443
  58. package/dist/request.d.ts +0 -265
  59. package/dist/response.d.ts +0 -15
  60. package/dist/router.d.ts +0 -105
  61. package/dist/saas.d.ts +0 -32
  62. package/dist/scheduler.d.ts +0 -1
  63. package/dist/search-engine.d.ts +0 -129
  64. package/dist/security.d.ts +0 -18
  65. package/dist/server.d.ts +0 -16
  66. package/dist/services.d.ts +0 -149
  67. package/dist/settings-config.d.ts +0 -9
  68. package/dist/sms.d.ts +0 -144
  69. package/dist/stack-extensions.d.ts +0 -137
  70. package/dist/stacks.d.ts +0 -45
  71. package/dist/storage.d.ts +0 -104
  72. package/dist/table-names.d.ts +0 -1
  73. package/dist/tables.d.ts +0 -34
  74. package/dist/team.d.ts +0 -7
  75. package/dist/ui.d.ts +0 -55
  76. package/dist/utils.d.ts +0 -39
  77. package/src/ai.ts +0 -41
  78. package/src/analytics.ts +0 -58
  79. package/src/api.ts +0 -77
  80. package/src/app.ts +0 -189
  81. package/src/attributes.ts +0 -5
  82. package/src/auth.ts +0 -161
  83. package/src/auto-imports.ts +0 -8
  84. package/src/binary.ts +0 -13
  85. package/src/cache.ts +0 -325
  86. package/src/cdn.ts +0 -17
  87. package/src/chat.ts +0 -193
  88. package/src/cli.ts +0 -445
  89. package/src/cloud.ts +0 -381
  90. package/src/cms.ts +0 -14
  91. package/src/commerce.ts +0 -18
  92. package/src/components.ts +0 -62
  93. package/src/configure.ts +0 -13
  94. package/src/cors.ts +0 -86
  95. package/src/cron-jobs.ts +0 -146
  96. package/src/dashboard.ts +0 -218
  97. package/src/database.ts +0 -117
  98. package/src/dependencies.ts +0 -69
  99. package/src/deploy.ts +0 -17
  100. package/src/dns.ts +0 -470
  101. package/src/docs.ts +0 -27
  102. package/src/email.ts +0 -511
  103. package/src/env.ts +0 -1
  104. package/src/errors.ts +0 -110
  105. package/src/events.ts +0 -37
  106. package/src/exit-code.ts +0 -10
  107. package/src/file-systems.ts +0 -70
  108. package/src/git.ts +0 -133
  109. package/src/hashing.ts +0 -127
  110. package/src/helpers.ts +0 -9
  111. package/src/i18n.ts +0 -121
  112. package/src/index.ts +0 -80
  113. package/src/library.ts +0 -911
  114. package/src/logging.ts +0 -62
  115. package/src/manifest.ts +0 -9
  116. package/src/marketing.ts +0 -14
  117. package/src/model-dashboard-augmentation.ts +0 -51
  118. package/src/model-names.ts +0 -1
  119. package/src/model.ts +0 -353
  120. package/src/monitoring.ts +0 -14
  121. package/src/native.ts +0 -0
  122. package/src/notifications.ts +0 -153
  123. package/src/oauth.ts +0 -488
  124. package/src/pages.ts +0 -10
  125. package/src/payments.ts +0 -440
  126. package/src/phone.ts +0 -78
  127. package/src/ports.ts +0 -20
  128. package/src/promise.ts +0 -1
  129. package/src/push.ts +0 -143
  130. package/src/queue.ts +0 -413
  131. package/src/reactivity.ts +0 -1
  132. package/src/realtime.ts +0 -584
  133. package/src/request.ts +0 -541
  134. package/src/response.ts +0 -16
  135. package/src/router.ts +0 -124
  136. package/src/saas.ts +0 -33
  137. package/src/scheduler.ts +0 -1
  138. package/src/search-engine.ts +0 -251
  139. package/src/security.ts +0 -23
  140. package/src/server.ts +0 -16
  141. package/src/services.ts +0 -211
  142. package/src/settings-config.ts +0 -10
  143. package/src/sms.ts +0 -265
  144. package/src/stack-extensions.ts +0 -184
  145. package/src/stacks.ts +0 -339
  146. package/src/storage.ts +0 -173
  147. package/src/table-names.ts +0 -1
  148. package/src/tables.ts +0 -57
  149. package/src/team.ts +0 -8
  150. package/src/ui.ts +0 -197
  151. package/src/utils.ts +0 -46
@@ -1,137 +0,0 @@
1
- /**
2
- * The central registry of known stack extensions.
3
- *
4
- * Third-party stack authors: submit a PR to add your stack here.
5
- * Once merged, all Stacks users will get autocomplete for your stack name.
6
- */
7
- export declare const stackExtensionRegistry: Record<string, StackRegistryEntry>;
8
- // ─── Stack Extensions Registry ──────────────────────────────────────────────
9
- //
10
- // This is the central registry of known stack extensions. Third-party authors
11
- // can submit a PR to add their stack here. Once merged, all Stacks users get
12
- // autocomplete and type safety for the new stack name.
13
- //
14
- // To add your stack, add a new entry below following the pattern:
15
- // 'your-stack-name': { package: '@your-org/your-stack', description: '...' },
16
- //
17
- // Requirements for PRs:
18
- // - The package must be published to npm
19
- // - The package.json must contain a valid `stacks` field with a `name`
20
- // - The description should be concise (under 80 chars)
21
- // ─────────────────────────────────────────────────────────────────────────────
22
- declare interface StackRegistryEntry {
23
- package: string
24
- description: string
25
- github?: string
26
- }
27
- /**
28
- * Metadata for a stack extension, defined in the `stacks` field of a stack's package.json.
29
- *
30
- * @example
31
- * ```json
32
- * {
33
- * "name": "@stacksjs/blog",
34
- * "stacks": {
35
- * "name": "blog",
36
- * "description": "Blog functionality for Stacks",
37
- * "directories": ["app", "config", "database", "resources"]
38
- * }
39
- * }
40
- * ```
41
- */
42
- export declare interface StackMeta {
43
- name: KnownStackName
44
- description?: string
45
- version?: string
46
- directories?: StackDirectory[]
47
- hooks?: {
48
- preInstall?: string
49
- postInstall?: string
50
- preUninstall?: string
51
- postUninstall?: string
52
- }
53
- }
54
- /** Tracks a single installed stack in the lock file */
55
- export declare interface StackManifestEntry {
56
- packageName: string
57
- name: string
58
- version: string
59
- installedAt: string
60
- files: string[]
61
- skipped: string[]
62
- conflictStrategy: ConflictStrategy
63
- }
64
- /** The stacks.lock.json file format */
65
- export declare interface StackLock {
66
- version: 1
67
- generatedAt: string
68
- stacks: Record<string, StackManifestEntry>
69
- }
70
- export declare interface StackInstallOptions {
71
- name: KnownStackName
72
- conflict?: ConflictStrategy
73
- force?: boolean
74
- dryRun?: boolean
75
- verbose?: boolean
76
- }
77
- export declare interface StackUninstallOptions {
78
- name: KnownStackName
79
- force?: boolean
80
- verbose?: boolean
81
- }
82
- /** Display format for the `stack:list` command */
83
- export declare interface StackListEntry {
84
- name: string
85
- packageName: string
86
- version: string
87
- description?: string
88
- installed: boolean
89
- installedAt?: string
90
- fileCount?: number
91
- }
92
- /**
93
- * A stack extension entry in the registry (`config/stacks.ts`).
94
- *
95
- * Can be either:
96
- * - A string (the stack name or package name)
97
- * - A full object with name, URL, and GitHub repository
98
- *
99
- * @example
100
- * ```ts
101
- * export default [
102
- * 'blog', // shorthand — autocomplete from registry
103
- * '@stacksjs/commerce', // scoped package shorthand
104
- * { name: 'analytics', github: 'stacksjs/analytics-stack' },
105
- * ] satisfies StackExtensionRegistry
106
- * ```
107
- */
108
- export declare interface StackExtensionEntry {
109
- name: KnownStackName
110
- url?: string
111
- github?: string
112
- package?: string
113
- }
114
- /**
115
- * Known top-level directories in a Stacks project that a stack extension can provide.
116
- * Uses `(string & {})` to allow custom directories while still providing autocomplete.
117
- */
118
- export type StackDirectory = | 'app'
119
- | 'config'
120
- | 'database'
121
- | 'resources'
122
- | 'routes'
123
- | 'public'
124
- | 'locales'
125
- | 'docs'
126
- | (string & {});
127
- /**
128
- * All known stack extension names, derived from the registry.
129
- * Uses `(string & {})` to also accept any custom/unregistered stack name.
130
- */
131
- export type KnownStackName = keyof typeof stackExtensionRegistry | (string & {});
132
- export type ConflictStrategy = 'skip' | 'overwrite' | 'backup';
133
- /**
134
- * The registry type for `config/stacks.ts`.
135
- * Accepts both string shorthands and full objects.
136
- */
137
- export type StackExtensionRegistry = (KnownStackName | StackExtensionEntry)[];
package/dist/stacks.d.ts DELETED
@@ -1,45 +0,0 @@
1
- import type { AiConfig, AnalyticsConfig, AppConfig, AuthConfig, BinaryConfig, CacheConfig, CloudConfig, CmsConfig, CommerceConfig, CorsConfig, DashboardConfig, DatabaseConfig, DnsConfig, DocsConfig, EmailConfig, ErrorConfig, FilesystemsConfig, GitConfig, HashingConfig, LibraryConfig, LoggingConfig, MarketingConfig, MonitoringConfig, NotificationConfig, PaymentConfig, Ports, QueueConfig, RealtimeConfig, SaasConfig, SearchEngineConfig, SecurityConfig, ServicesConfig, Team, UiConfig } from '.';
2
- /**
3
- * **Stacks Options**
4
- *
5
- * This configuration defines all of your Stacks 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 declare interface StacksOptions {
10
- ai: AiConfig
11
- analytics: AnalyticsConfig
12
- app: AppConfig
13
- auth: AuthConfig
14
- cors?: CorsConfig
15
- realtime: RealtimeConfig
16
- cache: CacheConfig
17
- cli: BinaryConfig
18
- cloud: CloudConfig
19
- cms: CmsConfig
20
- commerce: CommerceConfig
21
- dashboard: DashboardConfig
22
- database: DatabaseConfig
23
- dns: DnsConfig
24
- docs: DocsConfig
25
- email: EmailConfig
26
- errors: ErrorConfig
27
- git: GitConfig
28
- hashing: HashingConfig
29
- library: LibraryConfig
30
- logging: LoggingConfig
31
- marketing: MarketingConfig
32
- monitoring: MonitoringConfig
33
- notification: NotificationConfig
34
- payment: PaymentConfig
35
- ports: Ports
36
- queue: QueueConfig
37
- saas: SaasConfig
38
- security: SecurityConfig
39
- searchEngine: SearchEngineConfig
40
- services: ServicesConfig
41
- filesystems: FilesystemsConfig
42
- team: Team
43
- ui: UiConfig
44
- }
45
- export type StacksConfig = Partial<StacksOptions>;
package/dist/storage.d.ts DELETED
@@ -1,104 +0,0 @@
1
- import type { Buffer } from 'node:buffer';
2
- /**
3
- * File stat entry information
4
- */
5
- export declare interface StatEntry {
6
- path: string
7
- type: 'file' | 'directory'
8
- visibility: Visibility
9
- size: number
10
- lastModified: number
11
- mimeType?: string
12
- metadata?: Record<string, any>
13
- }
14
- /**
15
- * Directory listing entry
16
- */
17
- export declare interface DirectoryEntry {
18
- path: string
19
- type: 'file' | 'directory'
20
- }
21
- /**
22
- * Directory listing iterator
23
- */
24
- export declare interface DirectoryListing extends AsyncIterable<DirectoryEntry> {
25
- [Symbol.asyncIterator](): AsyncIterator<DirectoryEntry>
26
- }
27
- /**
28
- * Options for generating public URLs
29
- */
30
- export declare interface PublicUrlOptions {
31
- domain?: string
32
- }
33
- /**
34
- * Options for generating temporary URLs
35
- */
36
- export declare interface TemporaryUrlOptions {
37
- expiresIn: number | Date
38
- }
39
- /**
40
- * Checksum algorithm options
41
- */
42
- export declare interface ChecksumOptions {
43
- algorithm?: 'md5' | 'sha1' | 'sha256'
44
- }
45
- /**
46
- * MIME type detection options
47
- */
48
- export declare interface MimeTypeOptions {
49
- useExtension?: boolean
50
- }
51
- export declare interface StorageOptions {
52
- driver: 's3' | 'efs' | 'local' | 'bun' | 'memory'
53
- root?: string
54
- s3?: {
55
- bucket: string
56
- region?: string
57
- prefix?: string
58
- credentials?: {
59
- accessKeyId: string
60
- secretAccessKey: string
61
- }
62
- endpoint?: string
63
- }
64
- publicUrl?: {
65
- domain?: string
66
- }
67
- defaultVisibility?: Visibility
68
- }
69
- export declare interface StorageDriver {
70
- list: (path: string, options?: any) => DirectoryListing
71
- changeVisibility: (path: string, visibility: Visibility) => Promise<void>
72
- visibility: (path: string) => Promise<Visibility>
73
- fileExists: (path: string) => Promise<boolean>
74
- directoryExists: (path: string) => Promise<boolean>
75
- publicUrl: (path: string, options: PublicUrlOptions) => Promise<string>
76
- temporaryUrl: (path: string, options: TemporaryUrlOptions) => Promise<string>
77
- checksum: (path: string, options: ChecksumOptions) => Promise<string>
78
- mimeType: (path: string, options: MimeTypeOptions) => Promise<string>
79
- lastModified: (path: string) => Promise<number>
80
- fileSize: (path: string) => Promise<number>
81
- read: (path: string) => Promise<FileContents>
82
- readToString: (path: string) => Promise<string>
83
- readToBuffer: (path: string) => Promise<Buffer>
84
- readToUint8Array: (path: string) => Promise<Uint8Array>
85
- deleteFile: (path: string) => Promise<void>
86
- copyFile: (from: string, to: string) => Promise<void>
87
- moveFile: (from: string, to: string) => Promise<void>
88
- stat: (path: string) => Promise<StatEntry>
89
- createDirectory: (path: string) => Promise<void>
90
- write: (path: string, contents: FileContents) => Promise<void>
91
- }
92
- /**
93
- * File contents can be a string, Buffer, Uint8Array, or ReadableStream
94
- */
95
- export type FileContents = string | Buffer | Uint8Array | ReadableStream;
96
- /**
97
- * Visibility options for files
98
- */
99
- export type Visibility = 'public' | 'private';
100
- export type StorageConfig = Partial<StorageOptions>;
101
- /**
102
- * Filesystem configuration (Laravel-style alias)
103
- */
104
- export type FilesystemsConfig = StorageConfig;
@@ -1 +0,0 @@
1
- export type TableNames = 'tags' | 'taggables' | 'categorizables' | 'comments' | 'commentables' | 'commentable_upvotes' | 'passkeys' | 'password_resets' | 'query_logs' | 'migrations' | 'tags' | 'payment_products' | 'failed_jobs' | 'social_posts' | 'payment_methods' | 'campaigns' | 'payment_transactions' | 'requests' | 'activities' | 'email_lists' | 'notifications' | 'jobs' | 'logs' | 'subscriptions' | 'errors' | 'comments' | 'users' | 'websockets' | 'pages' | 'authors' | 'posts' | 'print_devices' | 'categories' | 'payments' | 'drivers' | 'waitlist_products' | 'digital_deliveries' | 'manufacturers' | 'order_items' | 'shipping_zones' | 'customers' | 'products' | 'receipts' | 'product_variants' | 'license_keys' | 'waitlist_restaurants' | 'reviews' | 'product_units' | 'gift_cards' | 'orders' | 'coupons' | 'tax_rates' | 'transactions' | 'loyalty_points' | 'loyalty_rewards' | 'shipping_methods' | 'shipping_rates' | 'carts' | 'delivery_routes' | 'cart_items' | 'subscribers' | 'subscriber_emails';
package/dist/tables.d.ts DELETED
@@ -1,34 +0,0 @@
1
- import type { Hits, SearchResponse } from 'meilisearch';
2
- /**
3
- * the TableStore interface is primarily used to unify the persisting of data to localStorage
4
- */
5
- export declare interface TableStore {
6
- index: string
7
- results?: SearchResponse<Record<string, any>>
8
- hits?: Hits
9
- columns: string[]
10
- source?: string
11
- password?: string
12
- searchable?: string | boolean
13
- query?: string
14
- sortable?: string | boolean
15
- sort?: string
16
- sorts?: string | string[]
17
- filterable?: string | boolean
18
- filters?: string | string[]
19
- filterValue?: any[]
20
- actionable?: string | boolean
21
- actions?: string | string[]
22
- perPage: number
23
- selectable?: string | boolean
24
- selectedRows?: number[] | string[]
25
- selectedAll?: boolean
26
- goToNextPage: number
27
- goToPage: number
28
- goToPrevPage: number
29
- lastPageNumber: number
30
- searchFilters?: object
31
- searchParams?: object
32
- setTotalHits: number
33
- currentPage: number
34
- }
package/dist/team.d.ts DELETED
@@ -1,7 +0,0 @@
1
- export declare interface Team {
2
- name: string
3
- members?: TeamMembers
4
- }
5
- declare type TeamMemberName = string;
6
- declare type Email = string;
7
- declare type TeamMembers = Record<TeamMemberName, Email>;
package/dist/ui.d.ts DELETED
@@ -1,55 +0,0 @@
1
- // Local mirror of crosswind's `Options` shape so we don't bring crosswind
2
- // into @stacksjs/types as a hard dependency. Apps that import these types
3
- // only need the structural surface (shortcuts/theme/variants); when full
4
- // crosswind type fidelity is needed, projects can import directly from
5
- // `crosswind`.
6
- declare interface CrosswindOptions {
7
- shortcuts?: unknown
8
- theme?: unknown
9
- variants?: unknown
10
- [key: string]: unknown
11
- }
12
- export declare interface FontInfo {
13
- title: string
14
- text: string
15
- }
16
- export declare interface WebFontMeta {
17
- name: string
18
- weights?: (string | number)[]
19
- italic?: boolean
20
- provider?: WebFontsProviders
21
- }
22
- /**
23
- * **UI Engine Options**
24
- *
25
- * This type defines all of your UI Engine options. Because Stacks is fully-typed, you may
26
- * hover any of the options below and the definitions will be provided. In case you
27
- * have any questions, feel free to reach out via Discord or GitHub Discussions.
28
- */
29
- export declare interface UiOptions {
30
- shortcuts: Shortcuts
31
- safelist: string
32
- trigger?: string
33
- classPrefix?: string
34
- hashFn?: (str: string) => string
35
- reset?: ResetPreset
36
- fonts?: any
37
- useWebFonts?: boolean | WebFontsProviders
38
- icons: Icon | Icon[]
39
- theme: CrosswindOptions['theme']
40
- variants: CrosswindOptions['variants']
41
- }
42
- export type Font = 'inter' | 'mona' | 'hubot';
43
- export type Icon = 'heroicons' | 'hugeicons';
44
- export type WebFontsProviders = 'google' | 'bunny' | 'fontshare';
45
- export type Shortcuts = CrosswindOptions['shortcuts'];
46
- export type UiConfig = Partial<UiOptions>;
47
- /**
48
- * **Style Reset — Preset**
49
- *
50
- * This value sets the "reset preset." A preset defines certain
51
- * CSS defaults to be applied.
52
- *
53
- * @default "tailwind"
54
- */
55
- export type ResetPreset = 'tailwind' | 'normalize' | 'sanitize' | 'eric-meyer' | 'antfu' | null;
package/dist/utils.d.ts DELETED
@@ -1,39 +0,0 @@
1
- /**
2
- * Null or whatever.
3
- */
4
- export type Nullable<T> = T | null | undefined;
5
- /**
6
- * Function
7
- */
8
- export type Fn<T = void> = () => T;
9
- /**
10
- * Array, or not yet
11
- */
12
- export type Arrayable<T> = T | Array<T>;
13
- /**
14
- * Constructor.
15
- */
16
- export type Constructor<T = void> = new (..._args: any[]) => T;
17
- /**
18
- * Defines an intersection type of all union items.
19
- *
20
- * @param U Union of any types that will be intersected.
21
- * @returns U items intersected
22
- * @see https://stackoverflow.com/a/50375286/9259330
23
- */
24
- export type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void
25
- ? I
26
- : never;
27
- export type MergeInsertions<T> = T extends object ? { [K in keyof T]: MergeInsertions<T[K]> } : T;
28
- export type DeepMerge<F, S> = MergeInsertions<{
29
- [K in keyof F | keyof S]: K extends keyof S & keyof F
30
- ? DeepMerge<F[K], S[K]>
31
- : K extends keyof S
32
- ? S[K]
33
- : K extends keyof F
34
- ? F[K]
35
- : never
36
- }>;
37
- export type DeepPartial<T> = {
38
- [P in keyof T]?: DeepPartial<T[P]>
39
- }
package/src/ai.ts DELETED
@@ -1,41 +0,0 @@
1
- type AiModel =
2
- // Amazon Titan
3
- | 'amazon.titan-embed-text-v1'
4
- | 'amazon.titan-embed-text-v2:0'
5
- | 'amazon.titan-text-lite-v1'
6
- | 'amazon.titan-text-express-v1'
7
- | 'amazon.titan-text-premier-v1:0'
8
- | 'amazon.titan-embed-image-v1'
9
- | 'amazon.titan-image-generator-v1'
10
- | 'amazon.titan-image-generator-v2:0'
11
- // Anthropic Claude (current models via Bedrock)
12
- | 'anthropic.claude-sonnet-4-20250514-v1:0'
13
- | 'anthropic.claude-haiku-4-20250514-v1:0'
14
- | 'anthropic.claude-3-5-sonnet-20241022-v2:0'
15
- | 'anthropic.claude-3-5-haiku-20241022-v1:0'
16
- | 'anthropic.claude-3-opus-20240229-v1:0'
17
- | 'anthropic.claude-3-sonnet-20240229-v1:0'
18
- | 'anthropic.claude-3-haiku-20240307-v1:0'
19
- // Meta Llama 3
20
- | 'meta.llama3-8b-instruct-v1:0'
21
- | 'meta.llama3-70b-instruct-v1:0'
22
- | 'meta.llama3-1-8b-instruct-v1:0'
23
- | 'meta.llama3-1-70b-instruct-v1:0'
24
- | 'meta.llama3-1-405b-instruct-v1:0'
25
- // Allow custom model strings
26
- | (string & {})
27
-
28
- /**
29
- * **AI Options**
30
- *
31
- * This configuration defines all of your AI options. Because Stacks is fully-typed, you
32
- * may hover any of the options below and the definitions will be provided. In case you
33
- * have any questions, feel free to reach out via Discord or GitHub Discussions.
34
- */
35
- export interface AiOptions {
36
- default: AiModel
37
- models: AiModel[]
38
- deploy: boolean
39
- }
40
-
41
- export type AiConfig = Partial<AiOptions>
package/src/analytics.ts DELETED
@@ -1,58 +0,0 @@
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
- /** The analytics driver/provider to use */
10
- driver: 'google-analytics' | 'fathom' | 'plausible' | 'self-hosted'
11
-
12
- drivers: {
13
- /** Google Analytics configuration */
14
- googleAnalytics?: {
15
- /** GA4 Measurement ID (e.g., G-XXXXXXXXXX) */
16
- trackingId: string
17
- /** Enable debug mode */
18
- debug?: boolean
19
- }
20
- /** Fathom Analytics configuration (privacy-focused) */
21
- fathom?: {
22
- /** Fathom site ID */
23
- siteId: string
24
- /** Custom script URL */
25
- scriptUrl?: string
26
- /** Honor Do Not Track browser setting */
27
- honorDnt?: boolean
28
- /** Enable SPA mode for client-side routing */
29
- spa?: boolean
30
- }
31
- /** Plausible Analytics configuration (privacy-focused, open source) */
32
- plausible?: {
33
- /** Your domain (e.g., example.com) */
34
- domain: string
35
- /** Custom script URL (for self-hosted Plausible) */
36
- scriptUrl?: string
37
- /** Track localhost during development */
38
- trackLocalhost?: boolean
39
- /** Enable hash-based routing */
40
- hashMode?: boolean
41
- }
42
- /** Self-hosted analytics configuration (using Stacks Analytics / dynamodb-tooling) */
43
- selfHosted?: {
44
- /** Site ID for tracking */
45
- siteId: string
46
- /** API endpoint URL for collecting analytics (e.g., https://api.example.com/analytics) */
47
- apiEndpoint: string
48
- /** Honor Do Not Track browser setting */
49
- honorDnt?: boolean
50
- /** Track hash changes as page views */
51
- trackHashChanges?: boolean
52
- /** Track outbound link clicks */
53
- trackOutboundLinks?: boolean
54
- }
55
- }
56
- }
57
-
58
- export type AnalyticsConfig = Partial<AnalyticsOptions>
package/src/api.ts DELETED
@@ -1,77 +0,0 @@
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
- /**
19
- * **API Prefix**
20
- *
21
- * This value defines the prefix for all of your API routes. For example, if you set
22
- * this value to `api`, all of your API routes will be prefixed with `/api`. This
23
- * value is useful for when you want to version your API.
24
- *
25
- * @default string "api"
26
- * @example string "api/v1"
27
- */
28
- prefix: string
29
-
30
- middleware: string[]
31
-
32
- routes:
33
- | {
34
- index: boolean
35
- show: boolean
36
- store: boolean
37
- update: boolean
38
- destroy: boolean
39
- }
40
- | boolean
41
-
42
- /**
43
- * **API Prewarm**
44
- *
45
- * This configuration determines the prewarming behavior of your API. Prewarming eliminates
46
- * cold starts in your API. If this value is set to `true`, the API will be prewarmed
47
- * every 5 minutes. If you provide a number, Stacks will prewarm the
48
- * specified number of containers every 5 minutes.
49
- *
50
- * @default true
51
- * @example false
52
- * @example 10
53
- */
54
- prewarm: boolean | number
55
-
56
- /**
57
- * **API Memory Size**
58
- *
59
- * This value defines the memory size for your API.
60
- *
61
- * @default 512
62
- */
63
- memorySize: number
64
-
65
- /**
66
- * **API Timeout**
67
- *
68
- * This value defines the timeout for your API.
69
- *
70
- * @default 30
71
- */
72
- timeout: number
73
-
74
- deploy: boolean
75
- }
76
-
77
- export type ApiConfig = Partial<ApiOptions>