@webiny/mcp 6.0.0 → 6.1.0-beta.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 (101) hide show
  1. package/agents/claude.d.ts +2 -2
  2. package/agents/claude.js.map +1 -1
  3. package/agents/cline.d.ts +2 -2
  4. package/agents/cline.js.map +1 -1
  5. package/agents/copilot.d.ts +2 -2
  6. package/agents/copilot.js +1 -1
  7. package/agents/copilot.js.map +1 -1
  8. package/agents/cursor.d.ts +2 -2
  9. package/agents/cursor.js.map +1 -1
  10. package/agents/instructions.js +1 -1
  11. package/agents/instructions.js.map +1 -1
  12. package/agents/kiro.d.ts +15 -0
  13. package/agents/kiro.js +33 -0
  14. package/agents/kiro.js.map +1 -0
  15. package/agents/opencode.d.ts +22 -0
  16. package/agents/opencode.js +76 -0
  17. package/agents/opencode.js.map +1 -0
  18. package/agents/shared.d.ts +5 -5
  19. package/agents/shared.js +3 -3
  20. package/agents/shared.js.map +1 -1
  21. package/agents/windsurf.d.ts +2 -2
  22. package/agents/windsurf.js.map +1 -1
  23. package/bin.d.ts +2 -0
  24. package/bin.js +4 -0
  25. package/bin.js.map +1 -0
  26. package/cli/ConfigureMcp.d.ts +7 -14
  27. package/cli/ConfigureMcp.js +24 -52
  28. package/cli/ConfigureMcp.js.map +1 -1
  29. package/cli/McpServer.d.ts +3 -10
  30. package/cli/McpServer.js +83 -109
  31. package/cli/McpServer.js.map +1 -1
  32. package/cli.d.ts +1 -0
  33. package/cli.js +60 -0
  34. package/cli.js.map +1 -0
  35. package/index.d.ts +6 -1
  36. package/index.js +7 -1
  37. package/index.js.map +1 -1
  38. package/package.json +11 -23
  39. package/skills/admin/admin-architect/SKILL.md +389 -0
  40. package/skills/admin/ui-extensions/SKILL.md +268 -0
  41. package/skills/api/api-architect/SKILL.md +189 -0
  42. package/skills/api/custom-field-type/SKILL.md +263 -0
  43. package/skills/api/event-handler-pattern/SKILL.md +131 -0
  44. package/skills/{custom-graphql-api → api/graphql-api}/SKILL.md +3 -3
  45. package/skills/api/use-case-pattern/SKILL.md +102 -0
  46. package/skills/cli-extensions/SKILL.md +45 -47
  47. package/skills/configure-auth0/SKILL.md +4 -4
  48. package/skills/configure-okta/SKILL.md +3 -3
  49. package/skills/content-models/SKILL.md +197 -196
  50. package/skills/dependency-injection/SKILL.md +9 -219
  51. package/skills/full-stack-architect/SKILL.md +195 -0
  52. package/skills/generated/admin/SKILL.md +119 -0
  53. package/skills/generated/admin/aco/SKILL.md +28 -0
  54. package/skills/generated/admin/build-params/SKILL.md +33 -0
  55. package/skills/generated/admin/cms/SKILL.md +342 -0
  56. package/skills/generated/admin/configs/SKILL.md +23 -0
  57. package/skills/generated/admin/env-config/SKILL.md +30 -0
  58. package/skills/generated/admin/form/SKILL.md +88 -0
  59. package/skills/generated/admin/graphql-client/SKILL.md +23 -0
  60. package/skills/generated/admin/lexical/SKILL.md +105 -0
  61. package/skills/generated/admin/local-storage/SKILL.md +42 -0
  62. package/skills/generated/admin/router/SKILL.md +48 -0
  63. package/skills/generated/admin/security/SKILL.md +63 -0
  64. package/skills/generated/admin/tenancy/SKILL.md +64 -0
  65. package/skills/generated/admin/ui/SKILL.md +468 -0
  66. package/skills/generated/admin/website-builder/SKILL.md +318 -0
  67. package/skills/generated/api/SKILL.md +40 -0
  68. package/skills/generated/api/aco/SKILL.md +202 -0
  69. package/skills/generated/api/build-params/SKILL.md +31 -0
  70. package/skills/generated/api/cms/SKILL.md +646 -0
  71. package/skills/generated/api/event-publisher/SKILL.md +31 -0
  72. package/skills/generated/api/file-manager/SKILL.md +189 -0
  73. package/skills/generated/api/graphql/SKILL.md +61 -0
  74. package/skills/generated/api/key-value-store/SKILL.md +31 -0
  75. package/skills/generated/api/logger/SKILL.md +25 -0
  76. package/skills/generated/api/opensearch/SKILL.md +39 -0
  77. package/skills/generated/api/scheduler/SKILL.md +112 -0
  78. package/skills/generated/api/security/SKILL.md +317 -0
  79. package/skills/generated/api/system/SKILL.md +34 -0
  80. package/skills/generated/api/tasks/SKILL.md +31 -0
  81. package/skills/generated/api/tenancy/SKILL.md +124 -0
  82. package/skills/generated/api/tenant-manager/SKILL.md +34 -0
  83. package/skills/generated/api/website-builder/SKILL.md +356 -0
  84. package/skills/generated/cli/SKILL.md +28 -0
  85. package/skills/generated/cli/command/SKILL.md +24 -0
  86. package/skills/generated/extensions/SKILL.md +43 -0
  87. package/skills/generated/infra/SKILL.md +190 -0
  88. package/skills/infrastructure-extensions/SKILL.md +3 -2
  89. package/skills/local-development/SKILL.md +2 -28
  90. package/skills/project-structure/SKILL.md +78 -56
  91. package/skills/webiny-sdk/SKILL.md +77 -76
  92. package/skills/website-builder/SKILL.md +143 -149
  93. package/ui.d.ts +24 -0
  94. package/ui.js +31 -0
  95. package/ui.js.map +1 -0
  96. package/Extension.d.ts +0 -2
  97. package/Extension.js +0 -11
  98. package/Extension.js.map +0 -1
  99. package/skills/admin-ui-extensions/SKILL.md +0 -267
  100. package/skills/api-custom-feature/SKILL.md +0 -195
  101. package/skills/lifecycle-events/SKILL.md +0 -348
@@ -0,0 +1,318 @@
1
+ ---
2
+ name: webiny-admin-website-builder-catalog
3
+ context: webiny-api
4
+ description: >
5
+ admin/website-builder — 58 abstractions.
6
+ ---
7
+
8
+ # admin/website-builder
9
+
10
+ ## How to Use
11
+
12
+ 1. Find the abstraction you need below
13
+ 2. Read the source file to get the exact interface and types
14
+ 3. Import: `import { Name } from "<importPath>";`
15
+
16
+ ## Abstractions
17
+
18
+ ---
19
+ **Name:** `$addElementReferenceToParent`
20
+ **Import:** `import { $addElementReferenceToParent } from "webiny/admin/website-builder/page/editor"`
21
+ **Source:** `@webiny/app-website-builder/editorSdk/utils/index.ts`
22
+
23
+ ---
24
+ **Name:** `$createElement`
25
+ **Import:** `import { $createElement } from "webiny/admin/website-builder/page/editor"`
26
+ **Source:** `@webiny/app-website-builder/editorSdk/utils/index.ts`
27
+
28
+ ---
29
+ **Name:** `$deleteElement`
30
+ **Import:** `import { $deleteElement } from "webiny/admin/website-builder/page/editor"`
31
+ **Source:** `@webiny/app-website-builder/editorSdk/utils/index.ts`
32
+
33
+ ---
34
+ **Name:** `$deselectElement`
35
+ **Import:** `import { $deselectElement } from "webiny/admin/website-builder/page/editor"`
36
+ **Source:** `@webiny/app-website-builder/editorSdk/utils/index.ts`
37
+
38
+ ---
39
+ **Name:** `$getActiveElementId`
40
+ **Import:** `import { $getActiveElementId } from "webiny/admin/website-builder/page/editor"`
41
+ **Source:** `@webiny/app-website-builder/editorSdk/utils/index.ts`
42
+
43
+ ---
44
+ **Name:** `$getComponentManifestByElementId`
45
+ **Import:** `import { $getComponentManifestByElementId } from "webiny/admin/website-builder/page/editor"`
46
+ **Source:** `@webiny/app-website-builder/editorSdk/utils/index.ts`
47
+
48
+ ---
49
+ **Name:** `$getElementById`
50
+ **Import:** `import { $getElementById } from "webiny/admin/website-builder/page/editor"`
51
+ **Source:** `@webiny/app-website-builder/editorSdk/utils/index.ts`
52
+
53
+ ---
54
+ **Name:** `$getElementInputValues`
55
+ **Import:** `import { $getElementInputValues } from "webiny/admin/website-builder/page/editor"`
56
+ **Source:** `@webiny/app-website-builder/editorSdk/utils/index.ts`
57
+
58
+ ---
59
+ **Name:** `$getElementsOfType`
60
+ **Import:** `import { $getElementsOfType } from "webiny/admin/website-builder/page/editor"`
61
+ **Source:** `@webiny/app-website-builder/editorSdk/utils/index.ts`
62
+
63
+ ---
64
+ **Name:** `$getFirstElementOfType`
65
+ **Import:** `import { $getFirstElementOfType } from "webiny/admin/website-builder/page/editor"`
66
+ **Source:** `@webiny/app-website-builder/editorSdk/utils/index.ts`
67
+
68
+ ---
69
+ **Name:** `$highlightElement`
70
+ **Import:** `import { $highlightElement } from "webiny/admin/website-builder/page/editor"`
71
+ **Source:** `@webiny/app-website-builder/editorSdk/utils/index.ts`
72
+
73
+ ---
74
+ **Name:** `$moveElement`
75
+ **Import:** `import { $moveElement } from "webiny/admin/website-builder/page/editor"`
76
+ **Source:** `@webiny/app-website-builder/editorSdk/utils/index.ts`
77
+
78
+ ---
79
+ **Name:** `$previewElementInputs`
80
+ **Import:** `import { $previewElementInputs } from "webiny/admin/website-builder/page/editor"`
81
+ **Source:** `@webiny/app-website-builder/editorSdk/utils/index.ts`
82
+ **Description:** Programmatically update an element's inputs in the preview iframe only (via JSON patch).
83
+ Does NOT write to the editor document state.
84
+
85
+ ---
86
+ **Name:** `$removeElementReferenceFromParent`
87
+ **Import:** `import { $removeElementReferenceFromParent } from "webiny/admin/website-builder/page/editor"`
88
+ **Source:** `@webiny/app-website-builder/editorSdk/utils/index.ts`
89
+
90
+ ---
91
+ **Name:** `$selectElement`
92
+ **Import:** `import { $selectElement } from "webiny/admin/website-builder/page/editor"`
93
+ **Source:** `@webiny/app-website-builder/editorSdk/utils/index.ts`
94
+
95
+ ---
96
+ **Name:** `$updateElementInputs`
97
+ **Import:** `import { $updateElementInputs } from "webiny/admin/website-builder/page/editor"`
98
+ **Source:** `@webiny/app-website-builder/editorSdk/utils/index.ts`
99
+ **Description:** Programmatically update an element's inputs using a callback-based API.
100
+ The updater receives a deep object representation of the element's inputs
101
+ which can be mutated in place.
102
+
103
+ ---
104
+ **Name:** `Commands`
105
+ **Import:** `import { Commands } from "webiny/admin/website-builder/page/editor"`
106
+ **Source:** `@webiny/app-website-builder/BaseEditor/index.tsx`
107
+
108
+ ---
109
+ **Name:** `CompactEditorConfig`
110
+ **Import:** `import { CompactEditorConfig } from "webiny/admin/website-builder/lexical"`
111
+ **Source:** `@webiny/app-website-builder/inputRenderers/LexicalInput/LexicalEditorConfig.tsx`
112
+
113
+ ---
114
+ **Name:** `createCommand`
115
+ **Import:** `import { createCommand } from "webiny/admin/website-builder/page/editor"`
116
+ **Source:** `@webiny/app-website-builder/editorSdk/createCommand.ts`
117
+
118
+ ---
119
+ **Name:** `createElement`
120
+ **Import:** `import { createElement } from "webiny/admin/website-builder/page/editor"`
121
+ **Source:** `@webiny/website-builder-sdk/index.ts`
122
+
123
+ ---
124
+ **Name:** `Divider`
125
+ **Import:** `import { Divider } from "webiny/admin/website-builder/lexical"`
126
+ **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
127
+
128
+ ---
129
+ **Name:** `DropDown`
130
+ **Import:** `import { DropDown } from "webiny/admin/website-builder/lexical"`
131
+ **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
132
+
133
+ ---
134
+ **Name:** `DropDownItem`
135
+ **Import:** `import { DropDownItem } from "webiny/admin/website-builder/lexical"`
136
+ **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
137
+
138
+ ---
139
+ **Name:** `EcommerceIntegration`
140
+ **Import:** `import { EcommerceIntegration } from "webiny/admin/website-builder"`
141
+ **Source:** `@webiny/app-website-builder/ecommerce/index.tsx`
142
+
143
+ ---
144
+ **Name:** `ElementInputs`
145
+ **Import:** `import { ElementInputs } from "webiny/admin/website-builder/page/editor"`
146
+ **Source:** `@webiny/app-website-builder/BaseEditor/defaultConfig/Sidebar/ElementSettings/ElementInputs.tsx`
147
+
148
+ ---
149
+ **Name:** `ExpandedEditorConfig`
150
+ **Import:** `import { ExpandedEditorConfig } from "webiny/admin/website-builder/lexical"`
151
+ **Source:** `@webiny/app-website-builder/inputRenderers/LexicalInput/LexicalEditorConfig.tsx`
152
+
153
+ ---
154
+ **Name:** `getNodeFromSelection`
155
+ **Import:** `import { getNodeFromSelection } from "webiny/admin/website-builder/lexical"`
156
+ **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
157
+
158
+ ---
159
+ **Name:** `Klass`
160
+ **Kind:** type
161
+ **Import:** `import type { Klass } from "webiny/admin/website-builder/lexical"`
162
+ **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
163
+
164
+ ---
165
+ **Name:** `LexicalHtmlRenderer`
166
+ **Import:** `import { LexicalHtmlRenderer } from "webiny/admin/website-builder/lexical"`
167
+ **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
168
+
169
+ ---
170
+ **Name:** `LexicalNode`
171
+ **Kind:** type
172
+ **Import:** `import type { LexicalNode } from "webiny/admin/website-builder/lexical"`
173
+ **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
174
+
175
+ ---
176
+ **Name:** `PageEditorConfig`
177
+ **Import:** `import { PageEditorConfig } from "webiny/admin/website-builder/page/editor"`
178
+ **Source:** `@webiny/app-website-builder/modules/pages/PageEditor/PageEditorConfig.tsx`
179
+
180
+ ---
181
+ **Name:** `PageListConfig`
182
+ **Import:** `import { PageListConfig } from "webiny/admin/website-builder/page/list"`
183
+ **Source:** `@webiny/app-website-builder/index.ts`
184
+
185
+ ---
186
+ **Name:** `pagePathFromTitle`
187
+ **Import:** `import { pagePathFromTitle } from "webiny/admin/website-builder"`
188
+ **Source:** `@webiny/app-website-builder/index.ts`
189
+
190
+ ---
191
+ **Name:** `RedirectListConfig`
192
+ **Import:** `import { RedirectListConfig } from "webiny/admin/website-builder/redirect/list"`
193
+ **Source:** `@webiny/app-website-builder/index.ts`
194
+
195
+ ---
196
+ **Name:** `Routes`
197
+ **Import:** `import { Routes } from "webiny/admin/website-builder"`
198
+ **Source:** `@webiny/app-website-builder/routes.ts`
199
+
200
+ ---
201
+ **Name:** `useActiveElement`
202
+ **Import:** `import { useActiveElement } from "webiny/admin/website-builder/page/editor"`
203
+ **Source:** `@webiny/app-website-builder/BaseEditor/hooks/useActiveElement.ts`
204
+
205
+ ---
206
+ **Name:** `useComponent`
207
+ **Import:** `import { useComponent } from "webiny/admin/website-builder/page/editor"`
208
+ **Source:** `@webiny/app-website-builder/BaseEditor/hooks/useComponent.ts`
209
+
210
+ ---
211
+ **Name:** `useCreateElement`
212
+ **Import:** `import { useCreateElement } from "webiny/admin/website-builder/page/editor"`
213
+ **Source:** `@webiny/app-website-builder/BaseEditor/hooks/useCreateElement.ts`
214
+
215
+ ---
216
+ **Name:** `useCurrentElement`
217
+ **Import:** `import { useCurrentElement } from "webiny/admin/website-builder/lexical"`
218
+ **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
219
+
220
+ ---
221
+ **Name:** `useCurrentSelection`
222
+ **Import:** `import { useCurrentSelection } from "webiny/admin/website-builder/lexical"`
223
+ **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
224
+
225
+ ---
226
+ **Name:** `useDeleteElement`
227
+ **Import:** `import { useDeleteElement } from "webiny/admin/website-builder/page/editor"`
228
+ **Source:** `@webiny/app-website-builder/BaseEditor/hooks/useDeleteElement.ts`
229
+
230
+ ---
231
+ **Name:** `useDeriveValueFromSelection`
232
+ **Import:** `import { useDeriveValueFromSelection } from "webiny/admin/website-builder/lexical"`
233
+ **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
234
+
235
+ ---
236
+ **Name:** `useDocumentEditor`
237
+ **Import:** `import { useDocumentEditor } from "webiny/admin/website-builder/page/editor"`
238
+ **Source:** `@webiny/app-website-builder/DocumentEditor/index.ts`
239
+
240
+ ---
241
+ **Name:** `useElementComponentManifest`
242
+ **Import:** `import { useElementComponentManifest } from "webiny/admin/website-builder/page/editor"`
243
+ **Source:** `@webiny/app-website-builder/BaseEditor/defaultConfig/Content/Preview/useElementComponentManifest.ts`
244
+
245
+ ---
246
+ **Name:** `useElementInputs`
247
+ **Import:** `import { useElementInputs } from "webiny/admin/website-builder/page/editor"`
248
+ **Source:** `@webiny/app-website-builder/BaseEditor/hooks/useElementInputs.ts`
249
+ **Description:** Returns the resolved input values for the given element, plus an updater callback.
250
+
251
+ ---
252
+ **Name:** `useElementOverlay`
253
+ **Import:** `import { useElementOverlay } from "webiny/admin/website-builder/page/editor"`
254
+ **Source:** `@webiny/app-website-builder/BaseEditor/hooks/useElementOverlay.ts`
255
+
256
+ ---
257
+ **Name:** `useFontColorPicker`
258
+ **Import:** `import { useFontColorPicker } from "webiny/admin/website-builder/lexical"`
259
+ **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
260
+
261
+ ---
262
+ **Name:** `useHighlightedElement`
263
+ **Import:** `import { useHighlightedElement } from "webiny/admin/website-builder/page/editor"`
264
+ **Source:** `@webiny/app-website-builder/BaseEditor/hooks/useHighlightedElement.ts`
265
+
266
+ ---
267
+ **Name:** `useIsMounted`
268
+ **Import:** `import { useIsMounted } from "webiny/admin/website-builder/lexical"`
269
+ **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
270
+
271
+ ---
272
+ **Name:** `useLexicalEditorConfig`
273
+ **Import:** `import { useLexicalEditorConfig } from "webiny/admin/website-builder/lexical"`
274
+ **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
275
+
276
+ ---
277
+ **Name:** `usePageEditorConfig`
278
+ **Import:** `import { usePageEditorConfig } from "webiny/admin/website-builder/page/editor"`
279
+ **Source:** `@webiny/app-website-builder/modules/pages/PageEditor/usePageEditorConfig.ts`
280
+
281
+ ---
282
+ **Name:** `usePermissions`
283
+ **Import:** `import { usePermissions } from "webiny/admin/website-builder"`
284
+ **Source:** `@webiny/app-website-builder/presentation/security/usePermissions.ts`
285
+
286
+ ---
287
+ **Name:** `useRichTextEditor`
288
+ **Import:** `import { useRichTextEditor } from "webiny/admin/website-builder/lexical"`
289
+ **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
290
+
291
+ ---
292
+ **Name:** `useSelectFromDocument`
293
+ **Import:** `import { useSelectFromDocument } from "webiny/admin/website-builder/page/editor"`
294
+ **Source:** `@webiny/app-website-builder/BaseEditor/hooks/useSelectFromDocument.ts`
295
+ **Description:** Subscribe to part of the document state.
296
+
297
+ ---
298
+ **Name:** `useSelectFromEditor`
299
+ **Import:** `import { useSelectFromEditor } from "webiny/admin/website-builder/page/editor"`
300
+ **Source:** `@webiny/app-website-builder/BaseEditor/hooks/useSelectFromEditor.ts`
301
+ **Description:** Subscribe to part of the document state.
302
+
303
+ ---
304
+ **Name:** `useTextAlignmentAction`
305
+ **Import:** `import { useTextAlignmentAction } from "webiny/admin/website-builder/lexical"`
306
+ **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
307
+
308
+ ---
309
+ **Name:** `useTypographyAction`
310
+ **Import:** `import { useTypographyAction } from "webiny/admin/website-builder/lexical"`
311
+ **Source:** `@webiny/lexical-editor/exports/admin/lexical.ts`
312
+
313
+ ---
314
+ **Name:** `useUpdateElement`
315
+ **Import:** `import { useUpdateElement } from "webiny/admin/website-builder/page/editor"`
316
+ **Source:** `@webiny/app-website-builder/BaseEditor/hooks/useUpdateElement.ts`
317
+
318
+ ---
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: webiny-api-catalog
3
+ context: webiny-api
4
+ description: >
5
+ api — 4 abstractions.
6
+ ---
7
+
8
+ # api
9
+
10
+ ## How to Use
11
+
12
+ 1. Find the abstraction you need below
13
+ 2. Read the source file to get the exact interface and types
14
+ 3. Import: `import { Name } from "<importPath>";`
15
+
16
+ ## Abstractions
17
+
18
+ ---
19
+ **Name:** `BaseError`
20
+ **Import:** `import { BaseError } from "webiny/api"`
21
+ **Source:** `@webiny/feature/api/index.ts`
22
+
23
+ ---
24
+ **Name:** `createAbstraction`
25
+ **Import:** `import { createAbstraction } from "webiny/api"`
26
+ **Source:** `@webiny/feature/api/index.ts`
27
+
28
+ ---
29
+ **Name:** `createFeature`
30
+ **Import:** `import { createFeature } from "webiny/api"`
31
+ **Source:** `@webiny/feature/api/index.ts`
32
+
33
+ ---
34
+ **Name:** `Result`
35
+ **Import:** `import { Result } from "webiny/api"`
36
+ **Source:** `@webiny/feature/api/index.ts`
37
+ **Description:** A container type that represents either a successful result (`ok`) or a failure (`fail`).
38
+ Inspired by functional programming constructs like `Either` or `Result` in other languages.
39
+
40
+ ---
@@ -0,0 +1,202 @@
1
+ ---
2
+ name: webiny-api-aco-catalog
3
+ context: webiny-api
4
+ description: >
5
+ API — ACO — 30 abstractions.
6
+ Folder event handlers and use cases.
7
+ ---
8
+
9
+ # API — ACO
10
+
11
+ Folder event handlers and use cases.
12
+
13
+ ## How to Use
14
+
15
+ 1. Find the abstraction you need below
16
+ 2. Read the source file to get the exact interface and types
17
+ 3. Import: `import { Name } from "<importPath>";`
18
+ 4. See `webiny-use-case-pattern` or `webiny-event-handler-pattern` skills for implementation patterns
19
+
20
+ ## Abstractions
21
+
22
+ ---
23
+ **Name:** `CreateFlpUseCase`
24
+ **Import:** `import { CreateFlpUseCase } from "webiny/api/aco/flp"`
25
+ **Source:** `@webiny/api-aco/features/flp/CreateFlp/abstractions.ts`
26
+ **Description:** Create a folder-level permission.
27
+
28
+ ---
29
+ **Name:** `CreateFolderRepository`
30
+ **Import:** `import { CreateFolderRepository } from "webiny/api/aco/folder"`
31
+ **Source:** `@webiny/api-aco/features/folder/CreateFolder/abstractions.ts`
32
+ **Description:** Persist a newly created folder.
33
+
34
+ ---
35
+ **Name:** `CreateFolderUseCase`
36
+ **Import:** `import { CreateFolderUseCase } from "webiny/api/aco/folder"`
37
+ **Source:** `@webiny/api-aco/features/folder/CreateFolder/abstractions.ts`
38
+ **Description:** Create a new folder.
39
+
40
+ ---
41
+ **Name:** `DeleteFlpUseCase`
42
+ **Import:** `import { DeleteFlpUseCase } from "webiny/api/aco/flp"`
43
+ **Source:** `@webiny/api-aco/features/flp/DeleteFlp/abstractions.ts`
44
+ **Description:** Delete a folder-level permission.
45
+
46
+ ---
47
+ **Name:** `DeleteFolderRepository`
48
+ **Import:** `import { DeleteFolderRepository } from "webiny/api/aco/folder"`
49
+ **Source:** `@webiny/api-aco/features/folder/DeleteFolder/abstractions.ts`
50
+ **Description:** Persist folder deletion.
51
+
52
+ ---
53
+ **Name:** `DeleteFolderUseCase`
54
+ **Import:** `import { DeleteFolderUseCase } from "webiny/api/aco/folder"`
55
+ **Source:** `@webiny/api-aco/features/folder/DeleteFolder/abstractions.ts`
56
+ **Description:** Delete a folder.
57
+
58
+ ---
59
+ **Name:** `EnsureFolderIsEmpty`
60
+ **Import:** `import { EnsureFolderIsEmpty } from "webiny/api/aco/folder"`
61
+ **Source:** `@webiny/api-aco/features/folder/EnsureFolderIsEmpty/abstractions.ts`
62
+ **Description:** Verify a folder has no children before deletion.
63
+
64
+ ---
65
+ **Name:** `FilterStorageOperations`
66
+ **Import:** `import { FilterStorageOperations } from "webiny/api/aco/folder"`
67
+ **Source:** `@webiny/api-aco/features/folder/shared/abstractions.ts`
68
+ **Description:** Storage operations for folder filtering.
69
+
70
+ ---
71
+ **Name:** `FolderAfterCreateEventHandler`
72
+ **Import:** `import { FolderAfterCreateEventHandler } from "webiny/api/aco/folder"`
73
+ **Source:** `@webiny/api-aco/features/folder/CreateFolder/abstractions.ts`
74
+ **Description:** Hook into folder lifecycle after a folder is created.
75
+
76
+ ---
77
+ **Name:** `FolderAfterDeleteEventHandler`
78
+ **Import:** `import { FolderAfterDeleteEventHandler } from "webiny/api/aco/folder"`
79
+ **Source:** `@webiny/api-aco/features/folder/DeleteFolder/abstractions.ts`
80
+ **Description:** Hook into folder lifecycle after a folder is deleted.
81
+
82
+ ---
83
+ **Name:** `FolderAfterGetEventHandler`
84
+ **Import:** `import { FolderAfterGetEventHandler } from "webiny/api/aco/folder"`
85
+ **Source:** `@webiny/api-aco/features/folder/GetFolder/abstractions.ts`
86
+ **Description:** Hook into folder lifecycle after a folder is retrieved.
87
+
88
+ ---
89
+ **Name:** `FolderAfterUpdateEventHandler`
90
+ **Import:** `import { FolderAfterUpdateEventHandler } from "webiny/api/aco/folder"`
91
+ **Source:** `@webiny/api-aco/features/folder/UpdateFolder/abstractions.ts`
92
+ **Description:** Hook into folder lifecycle after a folder is updated.
93
+
94
+ ---
95
+ **Name:** `FolderBeforeCreateEventHandler`
96
+ **Import:** `import { FolderBeforeCreateEventHandler } from "webiny/api/aco/folder"`
97
+ **Source:** `@webiny/api-aco/features/folder/CreateFolder/abstractions.ts`
98
+ **Description:** Hook into folder lifecycle before a folder is created.
99
+
100
+ ---
101
+ **Name:** `FolderBeforeDeleteEventHandler`
102
+ **Import:** `import { FolderBeforeDeleteEventHandler } from "webiny/api/aco/folder"`
103
+ **Source:** `@webiny/api-aco/features/folder/DeleteFolder/abstractions.ts`
104
+ **Description:** Hook into folder lifecycle before a folder is deleted.
105
+
106
+ ---
107
+ **Name:** `FolderBeforeGetEventHandler`
108
+ **Import:** `import { FolderBeforeGetEventHandler } from "webiny/api/aco/folder"`
109
+ **Source:** `@webiny/api-aco/features/folder/GetFolder/abstractions.ts`
110
+ **Description:** Hook into folder lifecycle before a folder is retrieved.
111
+
112
+ ---
113
+ **Name:** `FolderBeforeUpdateEventHandler`
114
+ **Import:** `import { FolderBeforeUpdateEventHandler } from "webiny/api/aco/folder"`
115
+ **Source:** `@webiny/api-aco/features/folder/UpdateFolder/abstractions.ts`
116
+ **Description:** Hook into folder lifecycle before a folder is updated.
117
+
118
+ ---
119
+ **Name:** `FolderLevelPermissions`
120
+ **Import:** `import { FolderLevelPermissions } from "webiny/api/aco/flp"`
121
+ **Source:** `@webiny/api-aco/features/flp/FolderLevelPermissions/abstractions.ts`
122
+ **Description:** Manage folder-level access control.
123
+
124
+ ---
125
+ **Name:** `GetAncestorsRepository`
126
+ **Import:** `import { GetAncestorsRepository } from "webiny/api/aco/folder"`
127
+ **Source:** `@webiny/api-aco/features/folder/GetAncestors/abstractions.ts`
128
+ **Description:** Fetch ancestor folders from storage.
129
+
130
+ ---
131
+ **Name:** `GetAncestorsUseCase`
132
+ **Import:** `import { GetAncestorsUseCase } from "webiny/api/aco/folder"`
133
+ **Source:** `@webiny/api-aco/features/folder/GetAncestors/abstractions.ts`
134
+ **Description:** Retrieve ancestor folders in the hierarchy.
135
+
136
+ ---
137
+ **Name:** `GetFlpUseCase`
138
+ **Import:** `import { GetFlpUseCase } from "webiny/api/aco/flp"`
139
+ **Source:** `@webiny/api-aco/features/flp/GetFlp/abstractions.ts`
140
+ **Description:** Retrieve a folder-level permission.
141
+
142
+ ---
143
+ **Name:** `GetFolderHierarchyRepository`
144
+ **Import:** `import { GetFolderHierarchyRepository } from "webiny/api/aco/folder"`
145
+ **Source:** `@webiny/api-aco/features/folder/GetFolderHierarchy/abstractions.ts`
146
+ **Description:** Fetch folder hierarchy from storage.
147
+
148
+ ---
149
+ **Name:** `GetFolderHierarchyUseCase`
150
+ **Import:** `import { GetFolderHierarchyUseCase } from "webiny/api/aco/folder"`
151
+ **Source:** `@webiny/api-aco/features/folder/GetFolderHierarchy/abstractions.ts`
152
+ **Description:** Retrieve the full folder hierarchy.
153
+
154
+ ---
155
+ **Name:** `GetFolderUseCase`
156
+ **Import:** `import { GetFolderUseCase } from "webiny/api/aco/folder"`
157
+ **Source:** `@webiny/api-aco/features/folder/GetFolder/abstractions.ts`
158
+ **Description:** Retrieve a folder.
159
+
160
+ ---
161
+ **Name:** `ListFlpsUseCase`
162
+ **Import:** `import { ListFlpsUseCase } from "webiny/api/aco/flp"`
163
+ **Source:** `@webiny/api-aco/features/flp/ListFlps/abstractions.ts`
164
+ **Description:** List folder-level permissions.
165
+
166
+ ---
167
+ **Name:** `ListFolderLevelPermissionsTargetsUseCase`
168
+ **Import:** `import { ListFolderLevelPermissionsTargetsUseCase } from "webiny/api/aco/folder"`
169
+ **Source:** `@webiny/api-aco/features/folder/ListFolderLevelPermissionsTargets/abstractions.ts`
170
+ **Description:** List targets for folder-level permissions.
171
+
172
+ ---
173
+ **Name:** `ListFoldersRepository`
174
+ **Import:** `import { ListFoldersRepository } from "webiny/api/aco/folder"`
175
+ **Source:** `@webiny/api-aco/features/folder/ListFolders/abstractions.ts`
176
+ **Description:** Fetch folders from storage.
177
+
178
+ ---
179
+ **Name:** `ListFoldersUseCase`
180
+ **Import:** `import { ListFoldersUseCase } from "webiny/api/aco/folder"`
181
+ **Source:** `@webiny/api-aco/features/folder/ListFolders/abstractions.ts`
182
+ **Description:** List folders with filtering.
183
+
184
+ ---
185
+ **Name:** `UpdateFlpUseCase`
186
+ **Import:** `import { UpdateFlpUseCase } from "webiny/api/aco/flp"`
187
+ **Source:** `@webiny/api-aco/features/flp/UpdateFlp/abstractions.ts`
188
+ **Description:** Update a folder-level permission.
189
+
190
+ ---
191
+ **Name:** `UpdateFolderRepository`
192
+ **Import:** `import { UpdateFolderRepository } from "webiny/api/aco/folder"`
193
+ **Source:** `@webiny/api-aco/features/folder/UpdateFolder/abstractions.ts`
194
+ **Description:** Persist folder updates.
195
+
196
+ ---
197
+ **Name:** `UpdateFolderUseCase`
198
+ **Import:** `import { UpdateFolderUseCase } from "webiny/api/aco/folder"`
199
+ **Source:** `@webiny/api-aco/features/folder/UpdateFolder/abstractions.ts`
200
+ **Description:** Update a folder.
201
+
202
+ ---
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: webiny-api-build-params-catalog
3
+ context: webiny-api
4
+ description: >
5
+ api/build-params — 2 abstractions.
6
+ ---
7
+
8
+ # api/build-params
9
+
10
+ ## How to Use
11
+
12
+ 1. Find the abstraction you need below
13
+ 2. Read the source file to get the exact interface and types
14
+ 3. Import: `import { Name } from "<importPath>";`
15
+ 4. See `webiny-use-case-pattern` or `webiny-event-handler-pattern` skills for implementation patterns
16
+
17
+ ## Abstractions
18
+
19
+ ---
20
+ **Name:** `BuildParam`
21
+ **Import:** `import { BuildParam } from "webiny/api/build-params"`
22
+ **Source:** `@webiny/api-core/features/buildParams/index.ts`
23
+ **Description:** A single build-time configuration parameter.
24
+
25
+ ---
26
+ **Name:** `BuildParams`
27
+ **Import:** `import { BuildParams } from "webiny/api/build-params"`
28
+ **Source:** `@webiny/api-core/features/buildParams/index.ts`
29
+ **Description:** Access build-time configuration parameters.
30
+
31
+ ---