appwrite-utils-cli 0.10.86 → 1.0.1

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 (178) hide show
  1. package/.appwrite/.yaml_schemas/appwrite-config.schema.json +380 -0
  2. package/.appwrite/.yaml_schemas/collection.schema.json +255 -0
  3. package/.appwrite/collections/Categories.yaml +182 -0
  4. package/.appwrite/collections/ExampleCollection.yaml +36 -0
  5. package/.appwrite/collections/Posts.yaml +227 -0
  6. package/.appwrite/collections/Users.yaml +149 -0
  7. package/.appwrite/config.yaml +109 -0
  8. package/.appwrite/import/README.md +148 -0
  9. package/.appwrite/import/categories-import.yaml +129 -0
  10. package/.appwrite/import/posts-import.yaml +208 -0
  11. package/.appwrite/import/users-import.yaml +130 -0
  12. package/.appwrite/importData/categories.json +194 -0
  13. package/.appwrite/importData/posts.json +270 -0
  14. package/.appwrite/importData/users.json +220 -0
  15. package/.appwrite/schemas/categories.json +128 -0
  16. package/.appwrite/schemas/exampleCollection.json +52 -0
  17. package/.appwrite/schemas/posts.json +173 -0
  18. package/.appwrite/schemas/users.json +125 -0
  19. package/README.md +260 -33
  20. package/dist/collections/attributes.js +3 -2
  21. package/dist/collections/methods.js +56 -38
  22. package/dist/config/yamlConfig.d.ts +501 -0
  23. package/dist/config/yamlConfig.js +452 -0
  24. package/dist/databases/setup.d.ts +6 -0
  25. package/dist/databases/setup.js +119 -0
  26. package/dist/functions/methods.d.ts +1 -1
  27. package/dist/functions/methods.js +5 -2
  28. package/dist/functions/openapi.d.ts +4 -0
  29. package/dist/functions/openapi.js +60 -0
  30. package/dist/interactiveCLI.d.ts +5 -0
  31. package/dist/interactiveCLI.js +194 -49
  32. package/dist/main.js +91 -30
  33. package/dist/migrations/afterImportActions.js +2 -2
  34. package/dist/migrations/appwriteToX.d.ts +10 -0
  35. package/dist/migrations/appwriteToX.js +15 -4
  36. package/dist/migrations/backup.d.ts +16 -16
  37. package/dist/migrations/dataLoader.d.ts +83 -1
  38. package/dist/migrations/dataLoader.js +4 -4
  39. package/dist/migrations/importController.js +25 -18
  40. package/dist/migrations/importDataActions.js +2 -2
  41. package/dist/migrations/logging.d.ts +9 -1
  42. package/dist/migrations/logging.js +41 -22
  43. package/dist/migrations/migrationHelper.d.ts +4 -4
  44. package/dist/migrations/relationships.js +1 -1
  45. package/dist/migrations/services/DataTransformationService.d.ts +55 -0
  46. package/dist/migrations/services/DataTransformationService.js +158 -0
  47. package/dist/migrations/services/FileHandlerService.d.ts +75 -0
  48. package/dist/migrations/services/FileHandlerService.js +236 -0
  49. package/dist/migrations/services/ImportOrchestrator.d.ts +97 -0
  50. package/dist/migrations/services/ImportOrchestrator.js +488 -0
  51. package/dist/migrations/services/RateLimitManager.d.ts +138 -0
  52. package/dist/migrations/services/RateLimitManager.js +279 -0
  53. package/dist/migrations/services/RelationshipResolver.d.ts +120 -0
  54. package/dist/migrations/services/RelationshipResolver.js +332 -0
  55. package/dist/migrations/services/UserMappingService.d.ts +109 -0
  56. package/dist/migrations/services/UserMappingService.js +277 -0
  57. package/dist/migrations/services/ValidationService.d.ts +74 -0
  58. package/dist/migrations/services/ValidationService.js +260 -0
  59. package/dist/migrations/transfer.d.ts +0 -6
  60. package/dist/migrations/transfer.js +16 -132
  61. package/dist/migrations/yaml/YamlImportConfigLoader.d.ts +384 -0
  62. package/dist/migrations/yaml/YamlImportConfigLoader.js +375 -0
  63. package/dist/migrations/yaml/YamlImportIntegration.d.ts +87 -0
  64. package/dist/migrations/yaml/YamlImportIntegration.js +330 -0
  65. package/dist/migrations/yaml/generateImportSchemas.d.ts +17 -0
  66. package/dist/migrations/yaml/generateImportSchemas.js +575 -0
  67. package/dist/schemas/authUser.d.ts +9 -9
  68. package/dist/shared/attributeManager.d.ts +17 -0
  69. package/dist/shared/attributeManager.js +273 -0
  70. package/dist/shared/confirmationDialogs.d.ts +75 -0
  71. package/dist/shared/confirmationDialogs.js +236 -0
  72. package/dist/shared/functionManager.d.ts +48 -0
  73. package/dist/shared/functionManager.js +322 -0
  74. package/dist/shared/indexManager.d.ts +24 -0
  75. package/dist/shared/indexManager.js +150 -0
  76. package/dist/shared/jsonSchemaGenerator.d.ts +51 -0
  77. package/dist/shared/jsonSchemaGenerator.js +313 -0
  78. package/dist/shared/logging.d.ts +10 -0
  79. package/dist/shared/logging.js +46 -0
  80. package/dist/shared/messageFormatter.d.ts +37 -0
  81. package/dist/shared/messageFormatter.js +152 -0
  82. package/dist/shared/migrationHelpers.d.ts +173 -0
  83. package/dist/shared/migrationHelpers.js +142 -0
  84. package/dist/shared/operationLogger.d.ts +3 -0
  85. package/dist/shared/operationLogger.js +25 -0
  86. package/dist/shared/operationQueue.d.ts +13 -0
  87. package/dist/shared/operationQueue.js +79 -0
  88. package/dist/shared/progressManager.d.ts +62 -0
  89. package/dist/shared/progressManager.js +215 -0
  90. package/dist/shared/schemaGenerator.d.ts +18 -0
  91. package/dist/shared/schemaGenerator.js +523 -0
  92. package/dist/storage/methods.d.ts +3 -1
  93. package/dist/storage/methods.js +144 -55
  94. package/dist/storage/schemas.d.ts +56 -16
  95. package/dist/types.d.ts +2 -2
  96. package/dist/types.js +1 -1
  97. package/dist/users/methods.d.ts +16 -0
  98. package/dist/users/methods.js +276 -0
  99. package/dist/utils/configMigration.d.ts +1 -0
  100. package/dist/utils/configMigration.js +156 -0
  101. package/dist/utils/dataConverters.d.ts +46 -0
  102. package/dist/utils/dataConverters.js +139 -0
  103. package/dist/utils/loadConfigs.d.ts +15 -4
  104. package/dist/utils/loadConfigs.js +377 -51
  105. package/dist/utils/schemaStrings.js +2 -1
  106. package/dist/utils/setupFiles.d.ts +2 -1
  107. package/dist/utils/setupFiles.js +723 -28
  108. package/dist/utils/validationRules.d.ts +43 -0
  109. package/dist/utils/validationRules.js +42 -0
  110. package/dist/utils/yamlConverter.d.ts +48 -0
  111. package/dist/utils/yamlConverter.js +98 -0
  112. package/dist/utilsController.js +65 -43
  113. package/package.json +19 -15
  114. package/src/collections/attributes.ts +3 -2
  115. package/src/collections/methods.ts +85 -51
  116. package/src/config/yamlConfig.ts +488 -0
  117. package/src/{migrations/setupDatabase.ts → databases/setup.ts} +11 -5
  118. package/src/functions/methods.ts +8 -4
  119. package/src/functions/templates/count-docs-in-collection/package.json +25 -0
  120. package/src/functions/templates/count-docs-in-collection/tsconfig.json +28 -0
  121. package/src/functions/templates/typescript-node/package.json +24 -0
  122. package/src/functions/templates/typescript-node/tsconfig.json +28 -0
  123. package/src/functions/templates/uv/README.md +31 -0
  124. package/src/functions/templates/uv/pyproject.toml +29 -0
  125. package/src/interactiveCLI.ts +226 -61
  126. package/src/main.ts +111 -37
  127. package/src/migrations/afterImportActions.ts +2 -2
  128. package/src/migrations/appwriteToX.ts +17 -4
  129. package/src/migrations/dataLoader.ts +4 -4
  130. package/src/migrations/importController.ts +30 -22
  131. package/src/migrations/importDataActions.ts +2 -2
  132. package/src/migrations/relationships.ts +1 -1
  133. package/src/migrations/services/DataTransformationService.ts +196 -0
  134. package/src/migrations/services/FileHandlerService.ts +311 -0
  135. package/src/migrations/services/ImportOrchestrator.ts +669 -0
  136. package/src/migrations/services/RateLimitManager.ts +363 -0
  137. package/src/migrations/services/RelationshipResolver.ts +461 -0
  138. package/src/migrations/services/UserMappingService.ts +345 -0
  139. package/src/migrations/services/ValidationService.ts +349 -0
  140. package/src/migrations/transfer.ts +22 -228
  141. package/src/migrations/yaml/YamlImportConfigLoader.ts +427 -0
  142. package/src/migrations/yaml/YamlImportIntegration.ts +419 -0
  143. package/src/migrations/yaml/generateImportSchemas.ts +589 -0
  144. package/src/shared/attributeManager.ts +429 -0
  145. package/src/shared/confirmationDialogs.ts +327 -0
  146. package/src/shared/functionManager.ts +515 -0
  147. package/src/shared/indexManager.ts +253 -0
  148. package/src/shared/jsonSchemaGenerator.ts +403 -0
  149. package/src/shared/logging.ts +74 -0
  150. package/src/shared/messageFormatter.ts +195 -0
  151. package/src/{migrations/migrationHelper.ts → shared/migrationHelpers.ts} +22 -4
  152. package/src/{migrations/helper.ts → shared/operationLogger.ts} +7 -2
  153. package/src/{migrations/queue.ts → shared/operationQueue.ts} +1 -1
  154. package/src/shared/progressManager.ts +278 -0
  155. package/src/{migrations/schemaStrings.ts → shared/schemaGenerator.ts} +71 -17
  156. package/src/storage/methods.ts +199 -78
  157. package/src/types.ts +2 -2
  158. package/src/{migrations/users.ts → users/methods.ts} +2 -2
  159. package/src/utils/configMigration.ts +212 -0
  160. package/src/utils/loadConfigs.ts +414 -52
  161. package/src/utils/schemaStrings.ts +2 -1
  162. package/src/utils/setupFiles.ts +742 -40
  163. package/src/{migrations → utils}/validationRules.ts +1 -1
  164. package/src/utils/yamlConverter.ts +131 -0
  165. package/src/utilsController.ts +75 -54
  166. package/src/functions/templates/poetry/README.md +0 -30
  167. package/src/functions/templates/poetry/pyproject.toml +0 -16
  168. package/src/migrations/attributes.ts +0 -561
  169. package/src/migrations/backup.ts +0 -205
  170. package/src/migrations/databases.ts +0 -39
  171. package/src/migrations/dbHelpers.ts +0 -92
  172. package/src/migrations/indexes.ts +0 -40
  173. package/src/migrations/logging.ts +0 -29
  174. package/src/migrations/storage.ts +0 -538
  175. /package/src/{migrations → functions}/openapi.ts +0 -0
  176. /package/src/functions/templates/{poetry → uv}/src/__init__.py +0 -0
  177. /package/src/functions/templates/{poetry → uv}/src/index.py +0 -0
  178. /package/src/{migrations/converters.ts → utils/dataConverters.ts} +0 -0
@@ -0,0 +1,501 @@
1
+ import { z } from "zod";
2
+ import { type AppwriteConfig, type AppwriteFunction } from "appwrite-utils";
3
+ declare const YamlConfigSchema: z.ZodObject<{
4
+ appwrite: z.ZodObject<{
5
+ endpoint: z.ZodDefault<z.ZodString>;
6
+ project: z.ZodString;
7
+ key: z.ZodString;
8
+ }, "strip", z.ZodTypeAny, {
9
+ endpoint: string;
10
+ project: string;
11
+ key: string;
12
+ }, {
13
+ project: string;
14
+ key: string;
15
+ endpoint?: string | undefined;
16
+ }>;
17
+ logging: z.ZodDefault<z.ZodOptional<z.ZodObject<{
18
+ enabled: z.ZodDefault<z.ZodBoolean>;
19
+ level: z.ZodDefault<z.ZodEnum<["error", "warn", "info", "debug"]>>;
20
+ directory: z.ZodOptional<z.ZodString>;
21
+ console: z.ZodDefault<z.ZodBoolean>;
22
+ }, "strip", z.ZodTypeAny, {
23
+ enabled: boolean;
24
+ level: "error" | "warn" | "info" | "debug";
25
+ console: boolean;
26
+ directory?: string | undefined;
27
+ }, {
28
+ enabled?: boolean | undefined;
29
+ level?: "error" | "warn" | "info" | "debug" | undefined;
30
+ directory?: string | undefined;
31
+ console?: boolean | undefined;
32
+ }>>>;
33
+ backups: z.ZodDefault<z.ZodOptional<z.ZodObject<{
34
+ enabled: z.ZodDefault<z.ZodBoolean>;
35
+ interval: z.ZodDefault<z.ZodNumber>;
36
+ retention: z.ZodDefault<z.ZodNumber>;
37
+ cleanup: z.ZodDefault<z.ZodBoolean>;
38
+ }, "strip", z.ZodTypeAny, {
39
+ enabled: boolean;
40
+ interval: number;
41
+ retention: number;
42
+ cleanup: boolean;
43
+ }, {
44
+ enabled?: boolean | undefined;
45
+ interval?: number | undefined;
46
+ retention?: number | undefined;
47
+ cleanup?: boolean | undefined;
48
+ }>>>;
49
+ data: z.ZodDefault<z.ZodOptional<z.ZodObject<{
50
+ enableMockData: z.ZodDefault<z.ZodBoolean>;
51
+ documentBucketId: z.ZodDefault<z.ZodString>;
52
+ usersCollectionName: z.ZodDefault<z.ZodString>;
53
+ importDirectory: z.ZodDefault<z.ZodString>;
54
+ }, "strip", z.ZodTypeAny, {
55
+ enableMockData: boolean;
56
+ documentBucketId: string;
57
+ usersCollectionName: string;
58
+ importDirectory: string;
59
+ }, {
60
+ enableMockData?: boolean | undefined;
61
+ documentBucketId?: string | undefined;
62
+ usersCollectionName?: string | undefined;
63
+ importDirectory?: string | undefined;
64
+ }>>>;
65
+ schemas: z.ZodDefault<z.ZodOptional<z.ZodObject<{
66
+ outputDirectory: z.ZodDefault<z.ZodString>;
67
+ yamlSchemaDirectory: z.ZodDefault<z.ZodString>;
68
+ }, "strip", z.ZodTypeAny, {
69
+ outputDirectory: string;
70
+ yamlSchemaDirectory: string;
71
+ }, {
72
+ outputDirectory?: string | undefined;
73
+ yamlSchemaDirectory?: string | undefined;
74
+ }>>>;
75
+ migrations: z.ZodDefault<z.ZodOptional<z.ZodObject<{
76
+ enabled: z.ZodDefault<z.ZodBoolean>;
77
+ }, "strip", z.ZodTypeAny, {
78
+ enabled: boolean;
79
+ }, {
80
+ enabled?: boolean | undefined;
81
+ }>>>;
82
+ databases: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
83
+ id: z.ZodString;
84
+ name: z.ZodString;
85
+ bucket: z.ZodOptional<z.ZodObject<{
86
+ id: z.ZodString;
87
+ name: z.ZodString;
88
+ permissions: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
89
+ permission: z.ZodString;
90
+ target: z.ZodString;
91
+ }, "strip", z.ZodTypeAny, {
92
+ permission: string;
93
+ target: string;
94
+ }, {
95
+ permission: string;
96
+ target: string;
97
+ }>, z.ZodEffects<z.ZodString, {
98
+ permission: string;
99
+ target: string;
100
+ }, string>]>, "many">>;
101
+ fileSecurity: z.ZodOptional<z.ZodBoolean>;
102
+ enabled: z.ZodOptional<z.ZodBoolean>;
103
+ maximumFileSize: z.ZodOptional<z.ZodNumber>;
104
+ allowedFileExtensions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
105
+ compression: z.ZodOptional<z.ZodEnum<["none", "gzip", "zstd"]>>;
106
+ encryption: z.ZodOptional<z.ZodBoolean>;
107
+ antivirus: z.ZodOptional<z.ZodBoolean>;
108
+ }, "strip", z.ZodTypeAny, {
109
+ name: string;
110
+ id: string;
111
+ enabled?: boolean | undefined;
112
+ permissions?: ({
113
+ permission: string;
114
+ target: string;
115
+ } | {
116
+ permission: string;
117
+ target: string;
118
+ })[] | undefined;
119
+ fileSecurity?: boolean | undefined;
120
+ maximumFileSize?: number | undefined;
121
+ allowedFileExtensions?: string[] | undefined;
122
+ compression?: "none" | "gzip" | "zstd" | undefined;
123
+ encryption?: boolean | undefined;
124
+ antivirus?: boolean | undefined;
125
+ }, {
126
+ name: string;
127
+ id: string;
128
+ enabled?: boolean | undefined;
129
+ permissions?: (string | {
130
+ permission: string;
131
+ target: string;
132
+ })[] | undefined;
133
+ fileSecurity?: boolean | undefined;
134
+ maximumFileSize?: number | undefined;
135
+ allowedFileExtensions?: string[] | undefined;
136
+ compression?: "none" | "gzip" | "zstd" | undefined;
137
+ encryption?: boolean | undefined;
138
+ antivirus?: boolean | undefined;
139
+ }>>;
140
+ }, "strip", z.ZodTypeAny, {
141
+ name: string;
142
+ id: string;
143
+ bucket?: {
144
+ name: string;
145
+ id: string;
146
+ enabled?: boolean | undefined;
147
+ permissions?: ({
148
+ permission: string;
149
+ target: string;
150
+ } | {
151
+ permission: string;
152
+ target: string;
153
+ })[] | undefined;
154
+ fileSecurity?: boolean | undefined;
155
+ maximumFileSize?: number | undefined;
156
+ allowedFileExtensions?: string[] | undefined;
157
+ compression?: "none" | "gzip" | "zstd" | undefined;
158
+ encryption?: boolean | undefined;
159
+ antivirus?: boolean | undefined;
160
+ } | undefined;
161
+ }, {
162
+ name: string;
163
+ id: string;
164
+ bucket?: {
165
+ name: string;
166
+ id: string;
167
+ enabled?: boolean | undefined;
168
+ permissions?: (string | {
169
+ permission: string;
170
+ target: string;
171
+ })[] | undefined;
172
+ fileSecurity?: boolean | undefined;
173
+ maximumFileSize?: number | undefined;
174
+ allowedFileExtensions?: string[] | undefined;
175
+ compression?: "none" | "gzip" | "zstd" | undefined;
176
+ encryption?: boolean | undefined;
177
+ antivirus?: boolean | undefined;
178
+ } | undefined;
179
+ }>, "many">>>;
180
+ buckets: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
181
+ id: z.ZodString;
182
+ name: z.ZodString;
183
+ permissions: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodObject<{
184
+ permission: z.ZodString;
185
+ target: z.ZodString;
186
+ }, "strip", z.ZodTypeAny, {
187
+ permission: string;
188
+ target: string;
189
+ }, {
190
+ permission: string;
191
+ target: string;
192
+ }>, z.ZodEffects<z.ZodString, {
193
+ permission: string;
194
+ target: string;
195
+ }, string>]>, "many">>;
196
+ fileSecurity: z.ZodOptional<z.ZodBoolean>;
197
+ enabled: z.ZodOptional<z.ZodBoolean>;
198
+ maximumFileSize: z.ZodOptional<z.ZodNumber>;
199
+ allowedFileExtensions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
200
+ compression: z.ZodOptional<z.ZodEnum<["none", "gzip", "zstd"]>>;
201
+ encryption: z.ZodOptional<z.ZodBoolean>;
202
+ antivirus: z.ZodOptional<z.ZodBoolean>;
203
+ }, "strip", z.ZodTypeAny, {
204
+ name: string;
205
+ id: string;
206
+ enabled?: boolean | undefined;
207
+ permissions?: ({
208
+ permission: string;
209
+ target: string;
210
+ } | {
211
+ permission: string;
212
+ target: string;
213
+ })[] | undefined;
214
+ fileSecurity?: boolean | undefined;
215
+ maximumFileSize?: number | undefined;
216
+ allowedFileExtensions?: string[] | undefined;
217
+ compression?: "none" | "gzip" | "zstd" | undefined;
218
+ encryption?: boolean | undefined;
219
+ antivirus?: boolean | undefined;
220
+ }, {
221
+ name: string;
222
+ id: string;
223
+ enabled?: boolean | undefined;
224
+ permissions?: (string | {
225
+ permission: string;
226
+ target: string;
227
+ })[] | undefined;
228
+ fileSecurity?: boolean | undefined;
229
+ maximumFileSize?: number | undefined;
230
+ allowedFileExtensions?: string[] | undefined;
231
+ compression?: "none" | "gzip" | "zstd" | undefined;
232
+ encryption?: boolean | undefined;
233
+ antivirus?: boolean | undefined;
234
+ }>, "many">>>;
235
+ functions: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
236
+ id: z.ZodString;
237
+ name: z.ZodString;
238
+ runtime: z.ZodEnum<["node-14.5", "node-16.0", "node-18.0", "node-19.0", "node-20.0", "node-21.0", "php-8.0", "php-8.1", "php-8.2", "php-8.3", "ruby-3.0", "ruby-3.1", "ruby-3.2", "ruby-3.3", "python-3.8", "python-3.9", "python-3.10", "python-3.11", "python-3.12", "python-ml-3.11", "deno-1.40", "dart-2.15", "dart-2.16", "dart-2.17", "dart-2.18", "dart-3.0", "dart-3.1", "dart-3.3", "dotnet-3.1", "dotnet-6.0", "dotnet-7.0", "java-8.0", "java-11.0", "java-17.0", "java-18.0", "java-21.0", "swift-5.5", "swift-5.8", "swift-5.9", "kotlin-1.6", "kotlin-1.8", "kotlin-1.9", "cpp-17", "cpp-20", "bun-1.0", "go-1.23"]>;
239
+ execute: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
240
+ events: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
241
+ schedule: z.ZodOptional<z.ZodString>;
242
+ timeout: z.ZodOptional<z.ZodNumber>;
243
+ enabled: z.ZodOptional<z.ZodBoolean>;
244
+ logging: z.ZodOptional<z.ZodBoolean>;
245
+ entrypoint: z.ZodOptional<z.ZodString>;
246
+ commands: z.ZodOptional<z.ZodString>;
247
+ scopes: z.ZodOptional<z.ZodArray<z.ZodEnum<["users.read", "users.write", "teams.read", "teams.write", "databases.read", "databases.write", "collections.read", "collections.write", "attributes.read", "attributes.write", "indexes.read", "indexes.write", "documents.read", "documents.write", "files.read", "files.write", "buckets.read", "buckets.write", "functions.read", "functions.write", "execution.read", "execution.write", "locale.read", "avatars.read", "health.read", "rules.read", "rules.write", "migrations.read", "migrations.write", "vcs.read", "vcs.write", "assistant.read", "messages.read", "messages.write", "targets.read", "targets.write", "providers.read", "providers.write", "topics.read", "topics.write", "subscribers.read", "subscribers.write"]>, "many">>;
248
+ installationId: z.ZodOptional<z.ZodString>;
249
+ providerRepositoryId: z.ZodOptional<z.ZodString>;
250
+ providerBranch: z.ZodOptional<z.ZodString>;
251
+ providerSilentMode: z.ZodOptional<z.ZodBoolean>;
252
+ providerRootDirectory: z.ZodOptional<z.ZodString>;
253
+ templateRepository: z.ZodOptional<z.ZodString>;
254
+ templateOwner: z.ZodOptional<z.ZodString>;
255
+ templateRootDirectory: z.ZodOptional<z.ZodString>;
256
+ templateBranch: z.ZodOptional<z.ZodString>;
257
+ specification: z.ZodOptional<z.ZodEnum<["s-0.5vcpu-512mb", "s-1vcpu-512mb", "s-1vcpu-1gb", "s-2vcpu-2gb", "s-2vcpu-4gb", "s-4vcpu-4gb", "s-4vcpu-8gb", "s-8vcpu-4gb", "s-8vcpu-8gb"]>>;
258
+ }, "strip", z.ZodTypeAny, {
259
+ name: string;
260
+ id: string;
261
+ runtime: "node-14.5" | "node-16.0" | "node-18.0" | "node-19.0" | "node-20.0" | "node-21.0" | "php-8.0" | "php-8.1" | "php-8.2" | "php-8.3" | "ruby-3.0" | "ruby-3.1" | "ruby-3.2" | "ruby-3.3" | "python-3.8" | "python-3.9" | "python-3.10" | "python-3.11" | "python-3.12" | "python-ml-3.11" | "deno-1.40" | "dart-2.15" | "dart-2.16" | "dart-2.17" | "dart-2.18" | "dart-3.0" | "dart-3.1" | "dart-3.3" | "dotnet-3.1" | "dotnet-6.0" | "dotnet-7.0" | "java-8.0" | "java-11.0" | "java-17.0" | "java-18.0" | "java-21.0" | "swift-5.5" | "swift-5.8" | "swift-5.9" | "kotlin-1.6" | "kotlin-1.8" | "kotlin-1.9" | "cpp-17" | "cpp-20" | "bun-1.0" | "go-1.23";
262
+ enabled?: boolean | undefined;
263
+ logging?: boolean | undefined;
264
+ execute?: string[] | undefined;
265
+ events?: string[] | undefined;
266
+ schedule?: string | undefined;
267
+ timeout?: number | undefined;
268
+ entrypoint?: string | undefined;
269
+ commands?: string | undefined;
270
+ scopes?: ("users.read" | "users.write" | "teams.read" | "teams.write" | "databases.read" | "databases.write" | "collections.read" | "collections.write" | "attributes.read" | "attributes.write" | "indexes.read" | "indexes.write" | "documents.read" | "documents.write" | "files.read" | "files.write" | "buckets.read" | "buckets.write" | "functions.read" | "functions.write" | "execution.read" | "execution.write" | "locale.read" | "avatars.read" | "health.read" | "rules.read" | "rules.write" | "migrations.read" | "migrations.write" | "vcs.read" | "vcs.write" | "assistant.read" | "messages.read" | "messages.write" | "targets.read" | "targets.write" | "providers.read" | "providers.write" | "topics.read" | "topics.write" | "subscribers.read" | "subscribers.write")[] | undefined;
271
+ installationId?: string | undefined;
272
+ providerRepositoryId?: string | undefined;
273
+ providerBranch?: string | undefined;
274
+ providerSilentMode?: boolean | undefined;
275
+ providerRootDirectory?: string | undefined;
276
+ templateRepository?: string | undefined;
277
+ templateOwner?: string | undefined;
278
+ templateRootDirectory?: string | undefined;
279
+ templateBranch?: string | undefined;
280
+ specification?: "s-0.5vcpu-512mb" | "s-1vcpu-512mb" | "s-1vcpu-1gb" | "s-2vcpu-2gb" | "s-2vcpu-4gb" | "s-4vcpu-4gb" | "s-4vcpu-8gb" | "s-8vcpu-4gb" | "s-8vcpu-8gb" | undefined;
281
+ }, {
282
+ name: string;
283
+ id: string;
284
+ runtime: "node-14.5" | "node-16.0" | "node-18.0" | "node-19.0" | "node-20.0" | "node-21.0" | "php-8.0" | "php-8.1" | "php-8.2" | "php-8.3" | "ruby-3.0" | "ruby-3.1" | "ruby-3.2" | "ruby-3.3" | "python-3.8" | "python-3.9" | "python-3.10" | "python-3.11" | "python-3.12" | "python-ml-3.11" | "deno-1.40" | "dart-2.15" | "dart-2.16" | "dart-2.17" | "dart-2.18" | "dart-3.0" | "dart-3.1" | "dart-3.3" | "dotnet-3.1" | "dotnet-6.0" | "dotnet-7.0" | "java-8.0" | "java-11.0" | "java-17.0" | "java-18.0" | "java-21.0" | "swift-5.5" | "swift-5.8" | "swift-5.9" | "kotlin-1.6" | "kotlin-1.8" | "kotlin-1.9" | "cpp-17" | "cpp-20" | "bun-1.0" | "go-1.23";
285
+ enabled?: boolean | undefined;
286
+ logging?: boolean | undefined;
287
+ execute?: string[] | undefined;
288
+ events?: string[] | undefined;
289
+ schedule?: string | undefined;
290
+ timeout?: number | undefined;
291
+ entrypoint?: string | undefined;
292
+ commands?: string | undefined;
293
+ scopes?: ("users.read" | "users.write" | "teams.read" | "teams.write" | "databases.read" | "databases.write" | "collections.read" | "collections.write" | "attributes.read" | "attributes.write" | "indexes.read" | "indexes.write" | "documents.read" | "documents.write" | "files.read" | "files.write" | "buckets.read" | "buckets.write" | "functions.read" | "functions.write" | "execution.read" | "execution.write" | "locale.read" | "avatars.read" | "health.read" | "rules.read" | "rules.write" | "migrations.read" | "migrations.write" | "vcs.read" | "vcs.write" | "assistant.read" | "messages.read" | "messages.write" | "targets.read" | "targets.write" | "providers.read" | "providers.write" | "topics.read" | "topics.write" | "subscribers.read" | "subscribers.write")[] | undefined;
294
+ installationId?: string | undefined;
295
+ providerRepositoryId?: string | undefined;
296
+ providerBranch?: string | undefined;
297
+ providerSilentMode?: boolean | undefined;
298
+ providerRootDirectory?: string | undefined;
299
+ templateRepository?: string | undefined;
300
+ templateOwner?: string | undefined;
301
+ templateRootDirectory?: string | undefined;
302
+ templateBranch?: string | undefined;
303
+ specification?: "s-0.5vcpu-512mb" | "s-1vcpu-512mb" | "s-1vcpu-1gb" | "s-2vcpu-2gb" | "s-2vcpu-4gb" | "s-4vcpu-4gb" | "s-4vcpu-8gb" | "s-8vcpu-4gb" | "s-8vcpu-8gb" | undefined;
304
+ }>, "many">>>;
305
+ }, "strip", z.ZodTypeAny, {
306
+ appwrite: {
307
+ endpoint: string;
308
+ project: string;
309
+ key: string;
310
+ };
311
+ logging: {
312
+ enabled: boolean;
313
+ level: "error" | "warn" | "info" | "debug";
314
+ console: boolean;
315
+ directory?: string | undefined;
316
+ };
317
+ backups: {
318
+ enabled: boolean;
319
+ interval: number;
320
+ retention: number;
321
+ cleanup: boolean;
322
+ };
323
+ data: {
324
+ enableMockData: boolean;
325
+ documentBucketId: string;
326
+ usersCollectionName: string;
327
+ importDirectory: string;
328
+ };
329
+ schemas: {
330
+ outputDirectory: string;
331
+ yamlSchemaDirectory: string;
332
+ };
333
+ migrations: {
334
+ enabled: boolean;
335
+ };
336
+ databases: {
337
+ name: string;
338
+ id: string;
339
+ bucket?: {
340
+ name: string;
341
+ id: string;
342
+ enabled?: boolean | undefined;
343
+ permissions?: ({
344
+ permission: string;
345
+ target: string;
346
+ } | {
347
+ permission: string;
348
+ target: string;
349
+ })[] | undefined;
350
+ fileSecurity?: boolean | undefined;
351
+ maximumFileSize?: number | undefined;
352
+ allowedFileExtensions?: string[] | undefined;
353
+ compression?: "none" | "gzip" | "zstd" | undefined;
354
+ encryption?: boolean | undefined;
355
+ antivirus?: boolean | undefined;
356
+ } | undefined;
357
+ }[];
358
+ buckets: {
359
+ name: string;
360
+ id: string;
361
+ enabled?: boolean | undefined;
362
+ permissions?: ({
363
+ permission: string;
364
+ target: string;
365
+ } | {
366
+ permission: string;
367
+ target: string;
368
+ })[] | undefined;
369
+ fileSecurity?: boolean | undefined;
370
+ maximumFileSize?: number | undefined;
371
+ allowedFileExtensions?: string[] | undefined;
372
+ compression?: "none" | "gzip" | "zstd" | undefined;
373
+ encryption?: boolean | undefined;
374
+ antivirus?: boolean | undefined;
375
+ }[];
376
+ functions: {
377
+ name: string;
378
+ id: string;
379
+ runtime: "node-14.5" | "node-16.0" | "node-18.0" | "node-19.0" | "node-20.0" | "node-21.0" | "php-8.0" | "php-8.1" | "php-8.2" | "php-8.3" | "ruby-3.0" | "ruby-3.1" | "ruby-3.2" | "ruby-3.3" | "python-3.8" | "python-3.9" | "python-3.10" | "python-3.11" | "python-3.12" | "python-ml-3.11" | "deno-1.40" | "dart-2.15" | "dart-2.16" | "dart-2.17" | "dart-2.18" | "dart-3.0" | "dart-3.1" | "dart-3.3" | "dotnet-3.1" | "dotnet-6.0" | "dotnet-7.0" | "java-8.0" | "java-11.0" | "java-17.0" | "java-18.0" | "java-21.0" | "swift-5.5" | "swift-5.8" | "swift-5.9" | "kotlin-1.6" | "kotlin-1.8" | "kotlin-1.9" | "cpp-17" | "cpp-20" | "bun-1.0" | "go-1.23";
380
+ enabled?: boolean | undefined;
381
+ logging?: boolean | undefined;
382
+ execute?: string[] | undefined;
383
+ events?: string[] | undefined;
384
+ schedule?: string | undefined;
385
+ timeout?: number | undefined;
386
+ entrypoint?: string | undefined;
387
+ commands?: string | undefined;
388
+ scopes?: ("users.read" | "users.write" | "teams.read" | "teams.write" | "databases.read" | "databases.write" | "collections.read" | "collections.write" | "attributes.read" | "attributes.write" | "indexes.read" | "indexes.write" | "documents.read" | "documents.write" | "files.read" | "files.write" | "buckets.read" | "buckets.write" | "functions.read" | "functions.write" | "execution.read" | "execution.write" | "locale.read" | "avatars.read" | "health.read" | "rules.read" | "rules.write" | "migrations.read" | "migrations.write" | "vcs.read" | "vcs.write" | "assistant.read" | "messages.read" | "messages.write" | "targets.read" | "targets.write" | "providers.read" | "providers.write" | "topics.read" | "topics.write" | "subscribers.read" | "subscribers.write")[] | undefined;
389
+ installationId?: string | undefined;
390
+ providerRepositoryId?: string | undefined;
391
+ providerBranch?: string | undefined;
392
+ providerSilentMode?: boolean | undefined;
393
+ providerRootDirectory?: string | undefined;
394
+ templateRepository?: string | undefined;
395
+ templateOwner?: string | undefined;
396
+ templateRootDirectory?: string | undefined;
397
+ templateBranch?: string | undefined;
398
+ specification?: "s-0.5vcpu-512mb" | "s-1vcpu-512mb" | "s-1vcpu-1gb" | "s-2vcpu-2gb" | "s-2vcpu-4gb" | "s-4vcpu-4gb" | "s-4vcpu-8gb" | "s-8vcpu-4gb" | "s-8vcpu-8gb" | undefined;
399
+ }[];
400
+ }, {
401
+ appwrite: {
402
+ project: string;
403
+ key: string;
404
+ endpoint?: string | undefined;
405
+ };
406
+ logging?: {
407
+ enabled?: boolean | undefined;
408
+ level?: "error" | "warn" | "info" | "debug" | undefined;
409
+ directory?: string | undefined;
410
+ console?: boolean | undefined;
411
+ } | undefined;
412
+ backups?: {
413
+ enabled?: boolean | undefined;
414
+ interval?: number | undefined;
415
+ retention?: number | undefined;
416
+ cleanup?: boolean | undefined;
417
+ } | undefined;
418
+ data?: {
419
+ enableMockData?: boolean | undefined;
420
+ documentBucketId?: string | undefined;
421
+ usersCollectionName?: string | undefined;
422
+ importDirectory?: string | undefined;
423
+ } | undefined;
424
+ schemas?: {
425
+ outputDirectory?: string | undefined;
426
+ yamlSchemaDirectory?: string | undefined;
427
+ } | undefined;
428
+ migrations?: {
429
+ enabled?: boolean | undefined;
430
+ } | undefined;
431
+ databases?: {
432
+ name: string;
433
+ id: string;
434
+ bucket?: {
435
+ name: string;
436
+ id: string;
437
+ enabled?: boolean | undefined;
438
+ permissions?: (string | {
439
+ permission: string;
440
+ target: string;
441
+ })[] | undefined;
442
+ fileSecurity?: boolean | undefined;
443
+ maximumFileSize?: number | undefined;
444
+ allowedFileExtensions?: string[] | undefined;
445
+ compression?: "none" | "gzip" | "zstd" | undefined;
446
+ encryption?: boolean | undefined;
447
+ antivirus?: boolean | undefined;
448
+ } | undefined;
449
+ }[] | undefined;
450
+ buckets?: {
451
+ name: string;
452
+ id: string;
453
+ enabled?: boolean | undefined;
454
+ permissions?: (string | {
455
+ permission: string;
456
+ target: string;
457
+ })[] | undefined;
458
+ fileSecurity?: boolean | undefined;
459
+ maximumFileSize?: number | undefined;
460
+ allowedFileExtensions?: string[] | undefined;
461
+ compression?: "none" | "gzip" | "zstd" | undefined;
462
+ encryption?: boolean | undefined;
463
+ antivirus?: boolean | undefined;
464
+ }[] | undefined;
465
+ functions?: {
466
+ name: string;
467
+ id: string;
468
+ runtime: "node-14.5" | "node-16.0" | "node-18.0" | "node-19.0" | "node-20.0" | "node-21.0" | "php-8.0" | "php-8.1" | "php-8.2" | "php-8.3" | "ruby-3.0" | "ruby-3.1" | "ruby-3.2" | "ruby-3.3" | "python-3.8" | "python-3.9" | "python-3.10" | "python-3.11" | "python-3.12" | "python-ml-3.11" | "deno-1.40" | "dart-2.15" | "dart-2.16" | "dart-2.17" | "dart-2.18" | "dart-3.0" | "dart-3.1" | "dart-3.3" | "dotnet-3.1" | "dotnet-6.0" | "dotnet-7.0" | "java-8.0" | "java-11.0" | "java-17.0" | "java-18.0" | "java-21.0" | "swift-5.5" | "swift-5.8" | "swift-5.9" | "kotlin-1.6" | "kotlin-1.8" | "kotlin-1.9" | "cpp-17" | "cpp-20" | "bun-1.0" | "go-1.23";
469
+ enabled?: boolean | undefined;
470
+ logging?: boolean | undefined;
471
+ execute?: string[] | undefined;
472
+ events?: string[] | undefined;
473
+ schedule?: string | undefined;
474
+ timeout?: number | undefined;
475
+ entrypoint?: string | undefined;
476
+ commands?: string | undefined;
477
+ scopes?: ("users.read" | "users.write" | "teams.read" | "teams.write" | "databases.read" | "databases.write" | "collections.read" | "collections.write" | "attributes.read" | "attributes.write" | "indexes.read" | "indexes.write" | "documents.read" | "documents.write" | "files.read" | "files.write" | "buckets.read" | "buckets.write" | "functions.read" | "functions.write" | "execution.read" | "execution.write" | "locale.read" | "avatars.read" | "health.read" | "rules.read" | "rules.write" | "migrations.read" | "migrations.write" | "vcs.read" | "vcs.write" | "assistant.read" | "messages.read" | "messages.write" | "targets.read" | "targets.write" | "providers.read" | "providers.write" | "topics.read" | "topics.write" | "subscribers.read" | "subscribers.write")[] | undefined;
478
+ installationId?: string | undefined;
479
+ providerRepositoryId?: string | undefined;
480
+ providerBranch?: string | undefined;
481
+ providerSilentMode?: boolean | undefined;
482
+ providerRootDirectory?: string | undefined;
483
+ templateRepository?: string | undefined;
484
+ templateOwner?: string | undefined;
485
+ templateRootDirectory?: string | undefined;
486
+ templateBranch?: string | undefined;
487
+ specification?: "s-0.5vcpu-512mb" | "s-1vcpu-512mb" | "s-1vcpu-1gb" | "s-2vcpu-2gb" | "s-2vcpu-4gb" | "s-4vcpu-4gb" | "s-4vcpu-8gb" | "s-8vcpu-4gb" | "s-8vcpu-8gb" | undefined;
488
+ }[] | undefined;
489
+ }>;
490
+ export type YamlConfig = z.infer<typeof YamlConfigSchema>;
491
+ export declare const convertYamlToAppwriteConfig: (yamlConfig: YamlConfig) => AppwriteConfig;
492
+ export declare const loadYamlConfig: (configPath: string) => Promise<AppwriteConfig | null>;
493
+ export declare const findYamlConfig: (startDir: string) => string | null;
494
+ export declare const generateYamlConfigTemplate: (outputPath: string) => void;
495
+ /**
496
+ * Adds a new function to the YAML config file
497
+ * @param configPath Path to the YAML config file
498
+ * @param newFunction The function configuration to add
499
+ */
500
+ export declare const addFunctionToYamlConfig: (configPath: string, newFunction: AppwriteFunction) => Promise<void>;
501
+ export {};