flutterflow-mcp 0.1.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 (83) hide show
  1. package/README.md +124 -0
  2. package/build/api/flutterflow.d.ts +11 -0
  3. package/build/api/flutterflow.js +61 -0
  4. package/build/index.d.ts +2 -0
  5. package/build/index.js +54 -0
  6. package/build/prompts/dev-workflow.d.ts +2 -0
  7. package/build/prompts/dev-workflow.js +68 -0
  8. package/build/prompts/generate-page.d.ts +2 -0
  9. package/build/prompts/generate-page.js +36 -0
  10. package/build/prompts/inspect-project.d.ts +2 -0
  11. package/build/prompts/inspect-project.js +30 -0
  12. package/build/prompts/modify-component.d.ts +2 -0
  13. package/build/prompts/modify-component.js +39 -0
  14. package/build/resources/docs.d.ts +2 -0
  15. package/build/resources/docs.js +76 -0
  16. package/build/resources/projects.d.ts +3 -0
  17. package/build/resources/projects.js +60 -0
  18. package/build/tools/find-component-usages.d.ts +7 -0
  19. package/build/tools/find-component-usages.js +225 -0
  20. package/build/tools/find-page-navigations.d.ts +7 -0
  21. package/build/tools/find-page-navigations.js +228 -0
  22. package/build/tools/get-component-summary.d.ts +22 -0
  23. package/build/tools/get-component-summary.js +193 -0
  24. package/build/tools/get-page-by-name.d.ts +3 -0
  25. package/build/tools/get-page-by-name.js +56 -0
  26. package/build/tools/get-page-summary.d.ts +22 -0
  27. package/build/tools/get-page-summary.js +220 -0
  28. package/build/tools/get-yaml-docs.d.ts +6 -0
  29. package/build/tools/get-yaml-docs.js +217 -0
  30. package/build/tools/get-yaml.d.ts +3 -0
  31. package/build/tools/get-yaml.js +47 -0
  32. package/build/tools/list-files.d.ts +3 -0
  33. package/build/tools/list-files.js +30 -0
  34. package/build/tools/list-pages.d.ts +25 -0
  35. package/build/tools/list-pages.js +101 -0
  36. package/build/tools/list-projects.d.ts +3 -0
  37. package/build/tools/list-projects.js +19 -0
  38. package/build/tools/sync-project.d.ts +3 -0
  39. package/build/tools/sync-project.js +144 -0
  40. package/build/tools/update-yaml.d.ts +3 -0
  41. package/build/tools/update-yaml.js +24 -0
  42. package/build/tools/validate-yaml.d.ts +3 -0
  43. package/build/tools/validate-yaml.js +22 -0
  44. package/build/utils/cache.d.ts +48 -0
  45. package/build/utils/cache.js +162 -0
  46. package/build/utils/decode-yaml.d.ts +7 -0
  47. package/build/utils/decode-yaml.js +31 -0
  48. package/build/utils/page-summary/action-summarizer.d.ts +9 -0
  49. package/build/utils/page-summary/action-summarizer.js +291 -0
  50. package/build/utils/page-summary/formatter.d.ts +13 -0
  51. package/build/utils/page-summary/formatter.js +121 -0
  52. package/build/utils/page-summary/node-extractor.d.ts +17 -0
  53. package/build/utils/page-summary/node-extractor.js +207 -0
  54. package/build/utils/page-summary/tree-walker.d.ts +6 -0
  55. package/build/utils/page-summary/tree-walker.js +55 -0
  56. package/build/utils/page-summary/types.d.ts +56 -0
  57. package/build/utils/page-summary/types.js +4 -0
  58. package/build/utils/parse-folders.d.ts +9 -0
  59. package/build/utils/parse-folders.js +29 -0
  60. package/docs/ff-yaml/00-overview.md +137 -0
  61. package/docs/ff-yaml/01-project-files.md +513 -0
  62. package/docs/ff-yaml/02-pages.md +572 -0
  63. package/docs/ff-yaml/03-components.md +413 -0
  64. package/docs/ff-yaml/04-widgets/README.md +122 -0
  65. package/docs/ff-yaml/04-widgets/button.md +444 -0
  66. package/docs/ff-yaml/04-widgets/container.md +358 -0
  67. package/docs/ff-yaml/04-widgets/dropdown.md +579 -0
  68. package/docs/ff-yaml/04-widgets/form.md +256 -0
  69. package/docs/ff-yaml/04-widgets/image.md +276 -0
  70. package/docs/ff-yaml/04-widgets/layout.md +355 -0
  71. package/docs/ff-yaml/04-widgets/misc.md +553 -0
  72. package/docs/ff-yaml/04-widgets/text-field.md +326 -0
  73. package/docs/ff-yaml/04-widgets/text.md +302 -0
  74. package/docs/ff-yaml/05-actions.md +843 -0
  75. package/docs/ff-yaml/06-variables.md +834 -0
  76. package/docs/ff-yaml/07-data.md +591 -0
  77. package/docs/ff-yaml/08-custom-code.md +715 -0
  78. package/docs/ff-yaml/09-theming.md +592 -0
  79. package/docs/ff-yaml/10-editing-guide.md +454 -0
  80. package/docs/ff-yaml/README.md +105 -0
  81. package/package.json +55 -0
  82. package/skills/ff-widget-patterns.md +141 -0
  83. package/skills/ff-yaml-dev.md +58 -0
@@ -0,0 +1,413 @@
1
+ # Components
2
+
3
+ A component in FlutterFlow is a reusable `Container`-rooted widget tree. Components are structurally identical to pages but use `Container` instead of `Scaffold` as the root and support being embedded inside other pages or components via `componentClassKeyRef`.
4
+
5
+ ---
6
+
7
+ ## 1. Component Metadata
8
+
9
+ **File key:** `component/id-Container_XXX`
10
+
11
+ ### Component with string parameters
12
+
13
+ ```yaml
14
+ name: PremuimContentWall
15
+ description: "this would be a widget that acts as a blocked content behind pay button, maybe blurred view being a subscripe button\n"
16
+ params:
17
+ kw4qti:
18
+ identifier:
19
+ name: title
20
+ key: kw4qti
21
+ dataType:
22
+ scalarType: String
23
+ nonNullable: false
24
+ psru0e:
25
+ identifier:
26
+ name: subtitle
27
+ key: psru0e
28
+ dataType:
29
+ scalarType: String
30
+ nonNullable: false
31
+ node:
32
+ key: Container_ffzg5wc5
33
+ ```
34
+
35
+ ### Component with Action (callback) parameters
36
+
37
+ ```yaml
38
+ name: ExtendAnalysisComponent
39
+ description: ""
40
+ params:
41
+ 0qlpdk:
42
+ identifier:
43
+ name: foodId
44
+ key: 0qlpdk
45
+ dataType:
46
+ scalarType: String
47
+ nonNullable: true
48
+ 326n4o:
49
+ identifier:
50
+ name: extendAnalysis
51
+ key: 326n4o
52
+ dataType:
53
+ scalarType: Action
54
+ nonNullable: true
55
+ y3mj9l:
56
+ identifier:
57
+ name: deleteFood
58
+ key: y3mj9l
59
+ dataType:
60
+ scalarType: Action
61
+ nonNullable: true
62
+ node:
63
+ key: Container_9jc8lryj
64
+ ```
65
+
66
+ ### Component with state fields
67
+
68
+ ```yaml
69
+ name: EditProfile
70
+ description: ""
71
+ node:
72
+ key: Container_w4a9oyew
73
+ classModel:
74
+ stateFields:
75
+ - parameter:
76
+ identifier:
77
+ name: indexAnalysisSelect
78
+ key: ctls8
79
+ dataType:
80
+ scalarType: Integer
81
+ - parameter:
82
+ identifier:
83
+ name: valueAnalysisSelected
84
+ key: o29r4
85
+ dataType:
86
+ scalarType: String
87
+ nonNullable: false
88
+ ```
89
+
90
+ ### Schema reference
91
+
92
+ | Field | Type | Required | Description |
93
+ |---|---|---|---|
94
+ | `name` | string | yes | Human-readable component name |
95
+ | `description` | string | no | Component description |
96
+ | `params` | map | no | Component parameters keyed by param key hash |
97
+ | `node.key` | string | yes | Root Container key (format: `Container_XXXXXXXX`) |
98
+ | `classModel` | object | no | State fields (same structure as pages) |
99
+
100
+ ---
101
+
102
+ ## 2. How Components Differ from Pages
103
+
104
+ | Aspect | Page | Component |
105
+ |---|---|---|
106
+ | Root widget type | `Scaffold` | `Container` |
107
+ | Root key format | `Scaffold_XXXXXXXX` | `Container_XXXXXXXX` |
108
+ | Tree outline file key | `page-widget-tree-outline` | `component-widget-tree-outline` |
109
+ | File key prefix | `page/id-Scaffold_XXX` | `component/id-Container_XXX` |
110
+ | Can be embedded in other widgets | No | Yes (via `componentClassKeyRef`) |
111
+ | Supports route params (`params`) | Yes (passed via navigation) | Yes (passed via `parameterValues`) |
112
+ | Supports state fields | Yes (`classModel.stateFields`) | Yes (`classModel.stateFields`) |
113
+ | Has `isDummyRoot` | No | Yes (root container is a transparent wrapper) |
114
+ | Navigation target | Yes | No |
115
+ | `body` in tree outline | Yes (`node.body`) | No (`node.children` directly) |
116
+
117
+ ---
118
+
119
+ ## 3. Component Parameters
120
+
121
+ Parameters are defined in `params` at the top level of the component metadata file.
122
+
123
+ ### Parameter definition schema
124
+
125
+ ```yaml
126
+ params:
127
+ <paramKey>:
128
+ identifier:
129
+ name: <paramName>
130
+ key: <paramKey>
131
+ defaultValue: # optional
132
+ serializedValue: <value>
133
+ dataType:
134
+ scalarType: <type>
135
+ nonNullable: <bool>
136
+ subType: # for Document/DataStruct types
137
+ collectionIdentifier:
138
+ name: <name>
139
+ key: <key>
140
+ ```
141
+
142
+ ---
143
+
144
+ ## 4. Parameter Types
145
+
146
+ | scalarType | Description | Extra fields |
147
+ |---|---|---|
148
+ | `String` | Text value | -- |
149
+ | `Integer` | Integer number | -- |
150
+ | `Double` | Floating-point number | -- |
151
+ | `Boolean` | True/false | -- |
152
+ | `Color` | ARGB color value | -- |
153
+ | `Action` | Callback function passed from parent. Triggers appear as `CALLBACK-<key>`. | -- |
154
+ | `Document` | Firestore document reference | `subType.collectionIdentifier` required |
155
+ | `DataStruct` | Custom data type | `subType` with struct definition |
156
+
157
+ ### Action parameter example
158
+
159
+ When a component defines an Action parameter:
160
+
161
+ ```yaml
162
+ params:
163
+ 326n4o:
164
+ identifier:
165
+ name: extendAnalysis
166
+ key: 326n4o
167
+ dataType:
168
+ scalarType: Action
169
+ nonNullable: true
170
+ ```
171
+
172
+ It is invoked inside the component via `executeCallbackAction`:
173
+
174
+ ```yaml
175
+ key: gt91qt34
176
+ executeCallbackAction:
177
+ parameterIdentifier:
178
+ name: extendAnalysis
179
+ key: 326n4o
180
+ ```
181
+
182
+ The trigger type for callbacks is `CALLBACK-<paramKey>` (e.g., `id-CALLBACK-bins86`).
183
+
184
+ ---
185
+
186
+ ## 5. Component State
187
+
188
+ State fields work identically to page state fields. Defined in `classModel.stateFields`:
189
+
190
+ ```yaml
191
+ classModel:
192
+ stateFields:
193
+ - parameter:
194
+ identifier:
195
+ name: indexAnalysisSelect
196
+ key: ctls8
197
+ dataType:
198
+ scalarType: Integer
199
+ - parameter:
200
+ identifier:
201
+ name: valueAnalysisSelected
202
+ key: o29r4
203
+ dataType:
204
+ scalarType: String
205
+ nonNullable: false
206
+ ```
207
+
208
+ State updates from actions use `stateVariableType: WIDGET_CLASS_STATE`:
209
+
210
+ ```yaml
211
+ localStateUpdate:
212
+ updates:
213
+ - fieldIdentifier:
214
+ key: o29r4
215
+ setValue:
216
+ variable:
217
+ source: LOCAL_STATE
218
+ baseVariable:
219
+ localState:
220
+ fieldIdentifier:
221
+ name: user
222
+ key: cxensw6z
223
+ stateVariableType: APP_STATE
224
+ updateType: WIDGET
225
+ stateVariableType: WIDGET_CLASS_STATE
226
+ key: qe82s7k1
227
+ ```
228
+
229
+ ---
230
+
231
+ ## 6. Referencing a Component from Another Widget
232
+
233
+ To embed a component inside a page or another component, the host widget uses `componentClassKeyRef` and `parameterValues`.
234
+
235
+ ### Minimal reference (no params passed)
236
+
237
+ ```yaml
238
+ key: Container_jdtt4zdw
239
+ type: Container
240
+ props: {}
241
+ parameterValues:
242
+ widgetClassNodeKeyRef:
243
+ key: Container_qtmqdlq9
244
+ componentClassKeyRef:
245
+ key: Container_qtmqdlq9
246
+ ```
247
+
248
+ ### Reference with parameter passes
249
+
250
+ ```yaml
251
+ key: Container_h7c8oc57
252
+ type: Container
253
+ props:
254
+ expanded:
255
+ expandedType: EXPANDED
256
+ parameterValues:
257
+ parameterPasses:
258
+ w2td86:
259
+ paramIdentifier:
260
+ name: isPage
261
+ key: w2td86
262
+ inputValue:
263
+ serializedValue: "true"
264
+ widgetClassNodeKeyRef:
265
+ key: Container_od80u8ml
266
+ componentClassKeyRef:
267
+ key: Container_od80u8ml
268
+ ```
269
+
270
+ ### Reference with `updateContainingClassOnSetState`
271
+
272
+ When the component's state changes should trigger a rebuild of the parent:
273
+
274
+ ```yaml
275
+ key: Container_j48t6fjy
276
+ type: Container
277
+ props:
278
+ expanded:
279
+ expandedType: UNEXPANDED
280
+ responsiveVisibility: {}
281
+ parameterValues:
282
+ updateContainingClassOnSetState: true
283
+ widgetClassNodeKeyRef:
284
+ key: Container_ngmk9lon
285
+ componentClassKeyRef:
286
+ key: Container_ngmk9lon
287
+ ```
288
+
289
+ ### Required fields for component references
290
+
291
+ | Field | Description |
292
+ |---|---|
293
+ | `componentClassKeyRef.key` | The root Container key of the referenced component |
294
+ | `parameterValues.widgetClassNodeKeyRef.key` | Must match `componentClassKeyRef.key` |
295
+ | `parameterValues.parameterPasses` | Map of parameter values to pass (optional) |
296
+ | `parameterValues.updateContainingClassOnSetState` | Whether parent rebuilds on component state change (optional) |
297
+
298
+ ### Parameter pass value sources
299
+
300
+ Parameter values can come from multiple sources:
301
+
302
+ **Static value:**
303
+ ```yaml
304
+ paramIdentifier:
305
+ name: isPage
306
+ key: w2td86
307
+ inputValue:
308
+ serializedValue: "true"
309
+ ```
310
+
311
+ **Variable reference:**
312
+ ```yaml
313
+ paramIdentifier:
314
+ name: endDate
315
+ key: 0u8o42
316
+ variable:
317
+ source: GLOBAL_PROPERTIES
318
+ baseVariable:
319
+ globalProperties:
320
+ property: CURRENT_TIMESTAMP
321
+ ```
322
+
323
+ **Widget property pass-through:**
324
+ ```yaml
325
+ paramIdentifier:
326
+ name: dimensions
327
+ key: 5f7c90
328
+ widgetProperty:
329
+ dimensions:
330
+ width:
331
+ pixelsValue:
332
+ inputValue: Infinity
333
+ height:
334
+ pixelsValue:
335
+ inputValue: 460
336
+ ```
337
+
338
+ ---
339
+
340
+ ## 7. isDummyRoot
341
+
342
+ Every component's root Container node has `isDummyRoot: true`. This marks it as a transparent wrapper that FlutterFlow uses internally. The root container typically has minimal styling (transparent background, no dimensions).
343
+
344
+ ```yaml
345
+ key: Container_ffzg5wc5
346
+ type: Container
347
+ props:
348
+ container:
349
+ boxDecoration:
350
+ colorValue:
351
+ inputValue:
352
+ value: "0" # fully transparent
353
+ name: PremuimContentWall
354
+ isDummyRoot: true
355
+ ```
356
+
357
+ The `isDummyRoot` flag tells FlutterFlow to treat this Container as the component boundary, not as a visible widget. The actual visual content starts with the first child.
358
+
359
+ ---
360
+
361
+ ## 8. Component Widget Tree Outline
362
+
363
+ **File key:** `component/id-Container_XXX/component-widget-tree-outline`
364
+
365
+ Structurally similar to page tree outlines, but uses `children` directly under the root node instead of `body`:
366
+
367
+ ```yaml
368
+ node:
369
+ key: Container_ffzg5wc5
370
+ children:
371
+ - key: Container_tfliyp8f
372
+ children:
373
+ - key: Stack_xkb3xt70
374
+ children:
375
+ - key: Container_bwqw67by
376
+ children:
377
+ - key: Column_413255jc
378
+ children:
379
+ - key: Container_yl6sd9jh
380
+ - key: Container_2txrctco
381
+ - key: Container_056rmdev
382
+ - key: Container_dxsdiyyn
383
+ - key: Blur_1c9k5x0n
384
+ children:
385
+ - key: Container_q7m3k7c9
386
+ - key: Container_1k4ettsz
387
+ children:
388
+ - key: Column_ue835m8w
389
+ children:
390
+ - key: Icon_28qttdd5
391
+ - key: Text_vo3w8rsz
392
+ - key: Text_tg7gbbph
393
+ - key: Button_drlhww71
394
+ ```
395
+
396
+ ---
397
+
398
+ ## 9. File Key Patterns
399
+
400
+ | Pattern | Purpose |
401
+ |---|---|
402
+ | `component/id-Container_XXX` | Component metadata (name, params, classModel) |
403
+ | `component/id-Container_XXX/component-widget-tree-outline` | Widget tree hierarchy (keys only) |
404
+ | `component/id-Container_XXX/component-widget-tree-outline/node/id-Widget_YYY` | Individual widget definition |
405
+ | `component/id-Container_XXX/component-widget-tree-outline/node/id-Widget_YYY/trigger_actions/id-ON_TAP` | Action trigger |
406
+ | `component/id-Container_XXX/component-widget-tree-outline/node/id-Widget_YYY/trigger_actions/id-ON_TAP/action/id-ACTIONKEY` | Individual action |
407
+ | `component/id-Container_XXX/component-widget-tree-outline/node/id-Widget_YYY/trigger_actions/id-CALLBACK-<paramKey>/action/id-ACTIONKEY` | Callback action (for Action-type params) |
408
+
409
+ ### Notes
410
+
411
+ - **Component node files** follow the exact same structure as page node files. The only difference is the file key prefix (`component/` vs `page/`).
412
+ - **The tree outline key** is `component-widget-tree-outline` (not `page-widget-tree-outline`).
413
+ - **CALLBACK triggers** appear when an Action parameter is executed from a child widget that is itself a component reference. The trigger key includes the param key (e.g., `CALLBACK-bins86`).
@@ -0,0 +1,122 @@
1
+ # Widget YAML Reference
2
+
3
+ This directory documents every FlutterFlow widget type's YAML schema, extracted from real cached project files.
4
+
5
+ ## Widget Type Index
6
+
7
+ | Type | File | Description |
8
+ |------|------|-------------|
9
+ | Text, RichTextSpan | [text.md](text.md) | Static text display and rich text spans |
10
+ | Button, IconButton | [button.md](button.md) | Tappable buttons with text/icon |
11
+ | TextField | [text-field.md](text-field.md) | Text input fields with decoration |
12
+ | Container | [container.md](container.md) | Box decoration, backgrounds, sizing |
13
+ | Column, Row, Stack, Wrap | [layout.md](layout.md) | Layout containers |
14
+ | Image | [image.md](image.md) | Asset and network images |
15
+ | Form | [form.md](form.md) | Form validation wrapper |
16
+ | DropDown, ChoiceChips | [dropdown.md](dropdown.md) | Selection widgets |
17
+ | Icon, ProgressBar, AppBar, ConditionalBuilder | [misc.md](misc.md) | Other widget types |
18
+
19
+ ## Common Props
20
+
21
+ Every widget node has a top-level structure with these fields:
22
+
23
+ ```yaml
24
+ key: WidgetType_xxxxxxxx # Unique widget ID
25
+ type: WidgetType # Widget type enum (Text, Button, Container, etc.)
26
+ props:
27
+ # Widget-specific props wrapper (text:, button:, container:, etc.)
28
+ # Plus common props listed below
29
+ name: OptionalHumanName # Optional human-readable name
30
+ isDummyRoot: true # Only on component root containers
31
+ parameterValues: {} # Parameter pass-through bindings
32
+ valueKey: {} # Key for state preservation
33
+ aiGeneratedNodeInfo: # Present if AI-generated
34
+ isAiGenerated: true
35
+ requestPath: ai_component_gen_requests/xxxxx
36
+ ```
37
+
38
+ ### Common Props (under `props:`)
39
+
40
+ These props can appear on **any** widget type:
41
+
42
+ | Prop | Type | Description |
43
+ |------|------|-------------|
44
+ | `padding` | object | Padding around the widget. See padding format below. |
45
+ | `expanded` | object | `expandedType: EXPANDED`, `FLEXIBLE`, or `UNEXPANDED` |
46
+ | `responsiveVisibility` | object | Hide on breakpoints: `phoneHidden`, `tabletHidden`, `tabletLandscapeHidden`, `desktopHidden` |
47
+ | `opacity` | object | `opacityValue.inputValue: 0..1` and optional `animatedOpacity: {}` |
48
+ | `alignment` | object | Position within parent: `xValue.inputValue` (-1 to 1), `yValue.inputValue` (-1 to 1) |
49
+ | `visibility` | object | Conditional visibility via `visibleValue` (literal bool or variable binding) |
50
+
51
+ ### Padding Format
52
+
53
+ ```yaml
54
+ # All sides equal
55
+ padding:
56
+ type: FF_PADDING_ALL
57
+ allValue:
58
+ inputValue: 16
59
+
60
+ # Individual sides
61
+ padding:
62
+ type: FF_PADDING_ONLY
63
+ leftValue:
64
+ inputValue: 16
65
+ topValue:
66
+ inputValue: 8
67
+ rightValue:
68
+ inputValue: 16
69
+ bottomValue:
70
+ inputValue: 8
71
+
72
+ # Empty (no padding)
73
+ padding: {}
74
+ ```
75
+
76
+ ### Color Patterns
77
+
78
+ Colors appear throughout widget props in two forms:
79
+
80
+ ```yaml
81
+ # Theme color reference
82
+ colorValue:
83
+ inputValue:
84
+ themeColor: PRIMARY_TEXT
85
+
86
+ # ARGB integer value (as string)
87
+ colorValue:
88
+ inputValue:
89
+ value: "4287097512"
90
+ ```
91
+
92
+ Theme color enum values: `PRIMARY`, `SECONDARY`, `TERTIARY`, `ALTERNATE`, `PRIMARY_TEXT`, `SECONDARY_TEXT`, `PRIMARY_BACKGROUND`, `SECONDARY_BACKGROUND`, `SUCCESS`, `WARNING`, `ERROR`, `INFO`.
93
+
94
+ ### Value Patterns
95
+
96
+ All values follow the `inputValue` / `mostRecentInputValue` pattern:
97
+
98
+ ```yaml
99
+ # Literal value
100
+ someValue:
101
+ inputValue: 42
102
+
103
+ # With sync tracking (both must match when editing)
104
+ someValue:
105
+ inputValue: 42
106
+ mostRecentInputValue: 42
107
+
108
+ # Variable binding
109
+ someValue:
110
+ variable:
111
+ source: WIDGET_CLASS_PARAMETER
112
+ baseVariable:
113
+ widgetClass:
114
+ paramIdentifier:
115
+ name: paramName
116
+ key: abc123
117
+ nodeKeyRef:
118
+ key: Scaffold_xxxxxxxx
119
+ mostRecentInputValue: fallback_value
120
+ ```
121
+
122
+ Variable sources: `WIDGET_CLASS_PARAMETER`, `LOCAL_STATE`, `ACTION_OUTPUTS`, `GLOBAL_PROPERTIES`, `FIRESTORE_REQUEST`, `POSTGRES_QUERY`, `CONSTANTS`, `FUNCTION_CALL`, `ENUMS`.