plugin-build-guide-block 1.0.12 → 1.1.3

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 (35) hide show
  1. package/README.md +16 -74
  2. package/dist/client/components/SpaceSelect.d.ts +2 -0
  3. package/dist/client/index.js +9 -10
  4. package/dist/client/schemas/spacesSchema.d.ts +81 -0
  5. package/dist/externalVersion.js +7 -16
  6. package/dist/index.js +0 -9
  7. package/dist/locale/en-US.json +12 -4
  8. package/dist/locale/namespace.js +0 -9
  9. package/dist/locale/vi-VN.json +12 -4
  10. package/dist/locale/zh-CN.json +12 -4
  11. package/dist/server/actions/build.js +346 -80
  12. package/dist/server/actions/getHtml.js +0 -9
  13. package/dist/server/actions/getMarkdown.js +0 -9
  14. package/dist/server/collections/ai-build-guide-pages.d.ts +2 -0
  15. package/dist/server/collections/ai-build-guide-pages.js +81 -0
  16. package/dist/server/collections/ai-build-guide-spaces.js +33 -9
  17. package/dist/server/index.js +0 -9
  18. package/dist/server/plugin.d.ts +3 -0
  19. package/dist/server/plugin.js +50 -21
  20. package/package.json +1 -1
  21. package/src/client/UserGuideBlock.tsx +368 -53
  22. package/src/client/UserGuideBlockProvider.tsx +9 -8
  23. package/src/client/UserGuideManager.tsx +52 -23
  24. package/src/client/components/SpaceSelect.tsx +37 -0
  25. package/src/client/models/UserGuideBlockModel.ts +19 -29
  26. package/src/client/plugin.tsx +3 -2
  27. package/src/client/schemaSettings.ts +2 -12
  28. package/src/client/schemas/spacesSchema.ts +439 -357
  29. package/src/locale/en-US.json +12 -4
  30. package/src/locale/vi-VN.json +12 -4
  31. package/src/locale/zh-CN.json +12 -4
  32. package/src/server/actions/build.ts +501 -189
  33. package/src/server/collections/ai-build-guide-pages.ts +60 -0
  34. package/src/server/collections/ai-build-guide-spaces.ts +57 -24
  35. package/src/server/plugin.ts +58 -11
@@ -1,357 +1,439 @@
1
- export const spacesSchema = {
2
- type: 'void',
3
- name: 'ai-build-guide-spaces',
4
- properties: {
5
- card: {
6
- type: 'void',
7
- 'x-component': 'CardItem',
8
- 'x-decorator': 'TableBlockProvider',
9
- 'x-decorator-props': {
10
- collection: 'aiBuildGuideSpaces',
11
- action: 'list',
12
- rowKey: 'id',
13
- params: {
14
- appends: ['documents'],
15
- sort: ['-createdAt'],
16
- },
17
- },
18
- properties: {
19
- actions: {
20
- type: 'void',
21
- 'x-component': 'ActionBar',
22
- 'x-component-props': {
23
- style: {
24
- marginBottom: 16,
25
- },
26
- },
27
- properties: {
28
- create: {
29
- type: 'void',
30
- 'x-component': 'Action',
31
- 'x-component-props': {
32
- type: 'primary',
33
- title: '{{t("Create space")}}',
34
- icon: 'PlusOutlined',
35
- },
36
- properties: {
37
- drawer: {
38
- type: 'void',
39
- 'x-component': 'Action.Drawer',
40
- 'x-component-props': {
41
- title: '{{t("Create space")}}',
42
- },
43
- properties: {
44
- form: {
45
- type: 'void',
46
- 'x-component': 'FormV2',
47
- 'x-use-component-props': 'useCreateFormProps',
48
- properties: {
49
- title: {
50
- type: 'string',
51
- title: '{{t("Title")}}',
52
- required: true,
53
- 'x-decorator': 'FormItem',
54
- 'x-component': 'Input',
55
- },
56
- llmService: {
57
- type: 'string',
58
- title: '{{t("LLM Service")}}',
59
- required: true,
60
- 'x-decorator': 'FormItem',
61
- 'x-component': 'LLMServiceSelect',
62
- },
63
- model: {
64
- type: 'string',
65
- title: '{{t("Model")}}',
66
- required: true,
67
- 'x-decorator': 'FormItem',
68
- 'x-component': 'ModelSelect',
69
- 'x-reactions': {
70
- dependencies: ['llmService'],
71
- fulfill: {
72
- state: {
73
- value: '{{$deps[0] ? $self.value : undefined}}',
74
- },
75
- },
76
- },
77
- },
78
- outputFormat: {
79
- type: 'string',
80
- title: '{{t("Output format")}}',
81
- required: true,
82
- default: 'html',
83
- 'x-decorator': 'FormItem',
84
- 'x-component': 'Select',
85
- enum: [
86
- { label: 'HTML', value: 'html' },
87
- { label: 'Markdown', value: 'markdown' },
88
- ],
89
- },
90
- systemPrompt: {
91
- type: 'string',
92
- title: '{{t("System Prompt")}}',
93
- 'x-decorator': 'FormItem',
94
- 'x-component': 'Input.TextArea',
95
- 'x-component-props': {
96
- rows: 4,
97
- },
98
- default:
99
- 'You are an expert technical writer. Generate a comprehensive user guide based on the provided documents.',
100
- },
101
- documents: {
102
- type: 'array',
103
- title: '{{t("Documents")}}',
104
- 'x-decorator': 'FormItem',
105
- 'x-component': 'Upload.Attachment',
106
- 'x-component-props': {
107
- multiple: true,
108
- action: 'attachments:create',
109
- maxCount: 10,
110
- },
111
- },
112
- footer: {
113
- type: 'void',
114
- 'x-component': 'Action.Drawer.Footer',
115
- properties: {
116
- cancel: {
117
- type: 'void',
118
- title: '{{t("Cancel")}}',
119
- 'x-component': 'Action',
120
- 'x-use-component-props': 'useCancelActionProps',
121
- },
122
- submit: {
123
- type: 'void',
124
- title: '{{t("Submit")}}',
125
- 'x-component': 'Action',
126
- 'x-use-component-props': 'useCreateActionProps',
127
- },
128
- },
129
- },
130
- },
131
- },
132
- },
133
- },
134
- },
135
- },
136
- },
137
- },
138
- table: {
139
- type: 'array',
140
- 'x-component': 'TableV2',
141
- 'x-use-component-props': 'useTableBlockProps',
142
- 'x-component-props': {
143
- rowKey: 'id',
144
- rowSelection: {
145
- type: 'checkbox',
146
- },
147
- },
148
- properties: {
149
- title: {
150
- type: 'void',
151
- title: '{{t("Title")}}',
152
- 'x-decorator': 'TableV2.Column.Decorator',
153
- 'x-component': 'TableV2.Column',
154
- properties: {
155
- title: {
156
- type: 'string',
157
- 'x-component': 'CollectionField',
158
- 'x-read-pretty': true,
159
- },
160
- },
161
- },
162
- status: {
163
- type: 'void',
164
- title: '{{t("Status")}}',
165
- 'x-decorator': 'TableV2.Column.Decorator',
166
- 'x-component': 'TableV2.Column',
167
- properties: {
168
- status: {
169
- type: 'string',
170
- 'x-component': 'StatusTag',
171
- 'x-read-pretty': true,
172
- },
173
- },
174
- },
175
- buildLog: {
176
- type: 'void',
177
- title: '{{t("Build Log")}}',
178
- 'x-decorator': 'TableV2.Column.Decorator',
179
- 'x-component': 'TableV2.Column',
180
- properties: {
181
- buildLog: {
182
- type: 'string',
183
- 'x-component': 'CollectionField',
184
- 'x-read-pretty': true,
185
- },
186
- },
187
- },
188
- actions: {
189
- type: 'void',
190
- title: '{{t("Actions")}}',
191
- 'x-decorator': 'TableV2.Column.Decorator',
192
- 'x-component': 'TableV2.Column',
193
- properties: {
194
- actions: {
195
- type: 'void',
196
- 'x-component': 'Space',
197
- 'x-component-props': {
198
- split: '|',
199
- },
200
- properties: {
201
- build: {
202
- type: 'void',
203
- 'x-component': 'BuildButton',
204
- },
205
- update: {
206
- type: 'void',
207
- title: '{{t("Edit")}}',
208
- 'x-component': 'Action.Link',
209
- 'x-component-props': {
210
- type: 'primary',
211
- },
212
- properties: {
213
- drawer: {
214
- type: 'void',
215
- 'x-component': 'Action.Drawer',
216
- 'x-component-props': {
217
- title: '{{t("Edit space")}}',
218
- },
219
- properties: {
220
- form: {
221
- type: 'void',
222
- 'x-component': 'FormV2',
223
- 'x-use-component-props': 'useEditFormProps',
224
- properties: {
225
- title: {
226
- type: 'string',
227
- title: '{{t("Title")}}',
228
- required: true,
229
- 'x-decorator': 'FormItem',
230
- 'x-component': 'Input',
231
- },
232
- llmService: {
233
- type: 'string',
234
- title: '{{t("LLM Service")}}',
235
- required: true,
236
- 'x-decorator': 'FormItem',
237
- 'x-component': 'LLMServiceSelect',
238
- },
239
- model: {
240
- type: 'string',
241
- title: '{{t("Model")}}',
242
- required: true,
243
- 'x-decorator': 'FormItem',
244
- 'x-component': 'ModelSelect',
245
- },
246
- outputFormat: {
247
- type: 'string',
248
- title: '{{t("Output format")}}',
249
- required: true,
250
- 'x-decorator': 'FormItem',
251
- 'x-component': 'Select',
252
- enum: [
253
- { label: 'HTML', value: 'html' },
254
- { label: 'Markdown', value: 'markdown' },
255
- ],
256
- },
257
- systemPrompt: {
258
- type: 'string',
259
- title: '{{t("System Prompt")}}',
260
- 'x-decorator': 'FormItem',
261
- 'x-component': 'Input.TextArea',
262
- 'x-component-props': {
263
- rows: 4,
264
- },
265
- },
266
- documents: {
267
- type: 'array',
268
- title: '{{t("Documents")}}',
269
- 'x-decorator': 'FormItem',
270
- 'x-component': 'Upload.Attachment',
271
- 'x-component-props': {
272
- multiple: true,
273
- action: 'attachments:create',
274
- maxCount: 10,
275
- },
276
- },
277
- generatedHtml: {
278
- type: 'string',
279
- title: '{{t("Generated HTML")}}',
280
- 'x-decorator': 'FormItem',
281
- 'x-component': 'Input.TextArea',
282
- 'x-component-props': {
283
- rows: 6,
284
- },
285
- 'x-read-pretty': true,
286
- },
287
- generatedMarkdown: {
288
- type: 'string',
289
- title: '{{t("Generated Markdown")}}',
290
- 'x-decorator': 'FormItem',
291
- 'x-component': 'Input.TextArea',
292
- 'x-component-props': {
293
- rows: 6,
294
- },
295
- 'x-read-pretty': true,
296
- 'x-reactions': {
297
- dependencies: ['outputFormat'],
298
- fulfill: {
299
- state: {
300
- visible: '{{$deps[0] === "markdown"}}',
301
- },
302
- },
303
- },
304
- },
305
- buildLog: {
306
- type: 'string',
307
- title: '{{t("Build Log")}}',
308
- 'x-decorator': 'FormItem',
309
- 'x-component': 'Input.TextArea',
310
- 'x-read-pretty': true,
311
- },
312
- footer: {
313
- type: 'void',
314
- 'x-component': 'Action.Drawer.Footer',
315
- properties: {
316
- cancel: {
317
- type: 'void',
318
- title: '{{t("Cancel")}}',
319
- 'x-component': 'Action',
320
- 'x-use-component-props': 'useCancelActionProps',
321
- },
322
- submit: {
323
- type: 'void',
324
- title: '{{t("Submit")}}',
325
- 'x-component': 'Action',
326
- 'x-use-component-props': 'useUpdateActionProps',
327
- },
328
- },
329
- },
330
- },
331
- },
332
- },
333
- },
334
- },
335
- },
336
- delete: {
337
- type: 'void',
338
- title: '{{t("Delete")}}',
339
- 'x-component': 'Action.Link',
340
- 'x-use-component-props': 'useDestroyActionProps',
341
- 'x-component-props': {
342
- confirm: {
343
- title: '{{t("Delete")}}',
344
- content: '{{t("Are you sure you want to delete this space?")}}',
345
- },
346
- },
347
- },
348
- },
349
- },
350
- },
351
- },
352
- },
353
- },
354
- },
355
- },
356
- },
357
- };
1
+ export const MIN_TARGET_CHAPTER_COUNT = 1;
2
+ export const MAX_TARGET_CHAPTER_COUNT = 12;
3
+ export const DEFAULT_TARGET_CHAPTER_COUNT = 5;
4
+
5
+ export const spacesSchema = {
6
+ type: 'void',
7
+ name: 'ai-build-guide-spaces',
8
+ properties: {
9
+ card: {
10
+ type: 'void',
11
+ 'x-component': 'CardItem',
12
+ 'x-decorator': 'TableBlockProvider',
13
+ 'x-decorator-props': {
14
+ collection: 'aiBuildGuideSpaces',
15
+ action: 'list',
16
+ rowKey: 'id',
17
+ params: {
18
+ appends: ['documents'],
19
+ sort: ['-createdAt'],
20
+ },
21
+ },
22
+ properties: {
23
+ actions: {
24
+ type: 'void',
25
+ 'x-component': 'ActionBar',
26
+ 'x-component-props': {
27
+ style: {
28
+ marginBottom: 16,
29
+ },
30
+ },
31
+ properties: {
32
+ create: {
33
+ type: 'void',
34
+ 'x-component': 'Action',
35
+ 'x-component-props': {
36
+ type: 'primary',
37
+ title: '{{t("Create space")}}',
38
+ icon: 'PlusOutlined',
39
+ },
40
+ properties: {
41
+ drawer: {
42
+ type: 'void',
43
+ 'x-component': 'Action.Drawer',
44
+ 'x-component-props': {
45
+ title: '{{t("Create space")}}',
46
+ },
47
+ properties: {
48
+ form: {
49
+ type: 'void',
50
+ 'x-component': 'FormV2',
51
+ 'x-use-component-props': 'useCreateFormProps',
52
+ properties: {
53
+ title: {
54
+ type: 'string',
55
+ title: '{{t("Title")}}',
56
+ required: true,
57
+ 'x-decorator': 'FormItem',
58
+ 'x-component': 'Input',
59
+ },
60
+ llmService: {
61
+ type: 'string',
62
+ title: '{{t("LLM Service")}}',
63
+ required: true,
64
+ 'x-decorator': 'FormItem',
65
+ 'x-component': 'LLMServiceSelect',
66
+ },
67
+ model: {
68
+ type: 'string',
69
+ title: '{{t("Model")}}',
70
+ required: true,
71
+ 'x-decorator': 'FormItem',
72
+ 'x-component': 'ModelSelect',
73
+ 'x-reactions': {
74
+ dependencies: ['llmService'],
75
+ fulfill: {
76
+ state: {
77
+ value: '{{$deps[0] ? $self.value : undefined}}',
78
+ },
79
+ },
80
+ },
81
+ },
82
+ outputFormat: {
83
+ type: 'string',
84
+ title: '{{t("Output format")}}',
85
+ required: true,
86
+ default: 'html',
87
+ 'x-decorator': 'FormItem',
88
+ 'x-component': 'Select',
89
+ enum: [
90
+ { label: 'HTML', value: 'html' },
91
+ { label: 'Markdown', value: 'markdown' },
92
+ ],
93
+ },
94
+ targetChapterCount: {
95
+ type: 'number',
96
+ title: '{{t("Target chapters")}}',
97
+ required: true,
98
+ default: DEFAULT_TARGET_CHAPTER_COUNT,
99
+ 'x-decorator': 'FormItem',
100
+ 'x-component': 'InputNumber',
101
+ 'x-component-props': {
102
+ min: MIN_TARGET_CHAPTER_COUNT,
103
+ max: MAX_TARGET_CHAPTER_COUNT,
104
+ precision: 0,
105
+ style: {
106
+ width: '100%',
107
+ },
108
+ },
109
+ },
110
+ chapterGuidance: {
111
+ type: 'string',
112
+ title: '{{t("Chapter guidance")}}',
113
+ 'x-decorator': 'FormItem',
114
+ 'x-component': 'Input.TextArea',
115
+ 'x-component-props': {
116
+ rows: 3,
117
+ placeholder: '{{t("Describe how the guide should be split into chapters")}}',
118
+ },
119
+ },
120
+ systemPrompt: {
121
+ type: 'string',
122
+ title: '{{t("System Prompt")}}',
123
+ 'x-decorator': 'FormItem',
124
+ 'x-component': 'Input.TextArea',
125
+ 'x-component-props': {
126
+ rows: 4,
127
+ },
128
+ default:
129
+ 'You are an expert technical writer. Generate a comprehensive user guide based on the provided documents.',
130
+ },
131
+ documents: {
132
+ type: 'array',
133
+ title: '{{t("Documents")}}',
134
+ 'x-decorator': 'FormItem',
135
+ 'x-component': 'Upload.Attachment',
136
+ 'x-component-props': {
137
+ multiple: true,
138
+ action: 'attachments:create',
139
+ maxCount: 10,
140
+ },
141
+ },
142
+ footer: {
143
+ type: 'void',
144
+ 'x-component': 'Action.Drawer.Footer',
145
+ properties: {
146
+ cancel: {
147
+ type: 'void',
148
+ title: '{{t("Cancel")}}',
149
+ 'x-component': 'Action',
150
+ 'x-use-component-props': 'useCancelActionProps',
151
+ },
152
+ submit: {
153
+ type: 'void',
154
+ title: '{{t("Submit")}}',
155
+ 'x-component': 'Action',
156
+ 'x-use-component-props': 'useCreateActionProps',
157
+ },
158
+ },
159
+ },
160
+ },
161
+ },
162
+ },
163
+ },
164
+ },
165
+ },
166
+ },
167
+ },
168
+ table: {
169
+ type: 'array',
170
+ 'x-component': 'TableV2',
171
+ 'x-use-component-props': 'useTableBlockProps',
172
+ 'x-component-props': {
173
+ rowKey: 'id',
174
+ rowSelection: {
175
+ type: 'checkbox',
176
+ },
177
+ },
178
+ properties: {
179
+ title: {
180
+ type: 'void',
181
+ title: '{{t("Title")}}',
182
+ 'x-decorator': 'TableV2.Column.Decorator',
183
+ 'x-component': 'TableV2.Column',
184
+ properties: {
185
+ title: {
186
+ type: 'string',
187
+ 'x-component': 'Input',
188
+ 'x-read-pretty': true,
189
+ },
190
+ },
191
+ },
192
+ status: {
193
+ type: 'void',
194
+ title: '{{t("Status")}}',
195
+ 'x-decorator': 'TableV2.Column.Decorator',
196
+ 'x-component': 'TableV2.Column',
197
+ properties: {
198
+ status: {
199
+ type: 'string',
200
+ 'x-component': 'StatusTag',
201
+ 'x-read-pretty': true,
202
+ },
203
+ },
204
+ },
205
+ buildPhase: {
206
+ type: 'void',
207
+ title: '{{t("Build Phase")}}',
208
+ 'x-decorator': 'TableV2.Column.Decorator',
209
+ 'x-component': 'TableV2.Column',
210
+ properties: {
211
+ buildPhase: {
212
+ type: 'string',
213
+ 'x-component': 'Input',
214
+ 'x-read-pretty': true,
215
+ },
216
+ },
217
+ },
218
+ pageCount: {
219
+ type: 'void',
220
+ title: '{{t("Chapters")}}',
221
+ 'x-decorator': 'TableV2.Column.Decorator',
222
+ 'x-component': 'TableV2.Column',
223
+ properties: {
224
+ pageCount: {
225
+ type: 'integer',
226
+ 'x-component': 'InputNumber',
227
+ 'x-read-pretty': true,
228
+ },
229
+ },
230
+ },
231
+ buildLog: {
232
+ type: 'void',
233
+ title: '{{t("Build Log")}}',
234
+ 'x-decorator': 'TableV2.Column.Decorator',
235
+ 'x-component': 'TableV2.Column',
236
+ properties: {
237
+ buildLog: {
238
+ type: 'string',
239
+ 'x-component': 'Input.TextArea',
240
+ 'x-read-pretty': true,
241
+ },
242
+ },
243
+ },
244
+ actions: {
245
+ type: 'void',
246
+ title: '{{t("Actions")}}',
247
+ 'x-decorator': 'TableV2.Column.Decorator',
248
+ 'x-component': 'TableV2.Column',
249
+ properties: {
250
+ actions: {
251
+ type: 'void',
252
+ 'x-component': 'Space',
253
+ 'x-component-props': {
254
+ split: '|',
255
+ },
256
+ properties: {
257
+ build: {
258
+ type: 'void',
259
+ 'x-component': 'BuildButton',
260
+ },
261
+ update: {
262
+ type: 'void',
263
+ title: '{{t("Edit")}}',
264
+ 'x-component': 'Action.Link',
265
+ 'x-component-props': {
266
+ type: 'primary',
267
+ },
268
+ properties: {
269
+ drawer: {
270
+ type: 'void',
271
+ 'x-component': 'Action.Drawer',
272
+ 'x-component-props': {
273
+ title: '{{t("Edit space")}}',
274
+ },
275
+ properties: {
276
+ form: {
277
+ type: 'void',
278
+ 'x-component': 'FormV2',
279
+ 'x-use-component-props': 'useEditFormProps',
280
+ properties: {
281
+ title: {
282
+ type: 'string',
283
+ title: '{{t("Title")}}',
284
+ required: true,
285
+ 'x-decorator': 'FormItem',
286
+ 'x-component': 'Input',
287
+ },
288
+ llmService: {
289
+ type: 'string',
290
+ title: '{{t("LLM Service")}}',
291
+ required: true,
292
+ 'x-decorator': 'FormItem',
293
+ 'x-component': 'LLMServiceSelect',
294
+ },
295
+ model: {
296
+ type: 'string',
297
+ title: '{{t("Model")}}',
298
+ required: true,
299
+ 'x-decorator': 'FormItem',
300
+ 'x-component': 'ModelSelect',
301
+ },
302
+ outputFormat: {
303
+ type: 'string',
304
+ title: '{{t("Output format")}}',
305
+ required: true,
306
+ 'x-decorator': 'FormItem',
307
+ 'x-component': 'Select',
308
+ enum: [
309
+ { label: 'HTML', value: 'html' },
310
+ { label: 'Markdown', value: 'markdown' },
311
+ ],
312
+ },
313
+ targetChapterCount: {
314
+ type: 'number',
315
+ title: '{{t("Target chapters")}}',
316
+ required: true,
317
+ default: DEFAULT_TARGET_CHAPTER_COUNT,
318
+ 'x-decorator': 'FormItem',
319
+ 'x-component': 'InputNumber',
320
+ 'x-component-props': {
321
+ min: MIN_TARGET_CHAPTER_COUNT,
322
+ max: MAX_TARGET_CHAPTER_COUNT,
323
+ precision: 0,
324
+ style: {
325
+ width: '100%',
326
+ },
327
+ },
328
+ },
329
+ chapterGuidance: {
330
+ type: 'string',
331
+ title: '{{t("Chapter guidance")}}',
332
+ 'x-decorator': 'FormItem',
333
+ 'x-component': 'Input.TextArea',
334
+ 'x-component-props': {
335
+ rows: 3,
336
+ placeholder: '{{t("Describe how the guide should be split into chapters")}}',
337
+ },
338
+ },
339
+ systemPrompt: {
340
+ type: 'string',
341
+ title: '{{t("System Prompt")}}',
342
+ 'x-decorator': 'FormItem',
343
+ 'x-component': 'Input.TextArea',
344
+ 'x-component-props': {
345
+ rows: 4,
346
+ },
347
+ },
348
+ documents: {
349
+ type: 'array',
350
+ title: '{{t("Documents")}}',
351
+ 'x-decorator': 'FormItem',
352
+ 'x-component': 'Upload.Attachment',
353
+ 'x-component-props': {
354
+ multiple: true,
355
+ action: 'attachments:create',
356
+ maxCount: 10,
357
+ },
358
+ },
359
+ generatedHtml: {
360
+ type: 'string',
361
+ title: '{{t("Generated HTML")}}',
362
+ 'x-decorator': 'FormItem',
363
+ 'x-component': 'Input.TextArea',
364
+ 'x-component-props': {
365
+ rows: 6,
366
+ },
367
+ 'x-read-pretty': true,
368
+ },
369
+ generatedMarkdown: {
370
+ type: 'string',
371
+ title: '{{t("Generated Markdown")}}',
372
+ 'x-decorator': 'FormItem',
373
+ 'x-component': 'Input.TextArea',
374
+ 'x-component-props': {
375
+ rows: 6,
376
+ },
377
+ 'x-read-pretty': true,
378
+ 'x-reactions': {
379
+ dependencies: ['outputFormat'],
380
+ fulfill: {
381
+ state: {
382
+ visible: '{{$deps[0] === "markdown"}}',
383
+ },
384
+ },
385
+ },
386
+ },
387
+ buildLog: {
388
+ type: 'string',
389
+ title: '{{t("Build Log")}}',
390
+ 'x-decorator': 'FormItem',
391
+ 'x-component': 'Input.TextArea',
392
+ 'x-read-pretty': true,
393
+ },
394
+ footer: {
395
+ type: 'void',
396
+ 'x-component': 'Action.Drawer.Footer',
397
+ properties: {
398
+ cancel: {
399
+ type: 'void',
400
+ title: '{{t("Cancel")}}',
401
+ 'x-component': 'Action',
402
+ 'x-use-component-props': 'useCancelActionProps',
403
+ },
404
+ submit: {
405
+ type: 'void',
406
+ title: '{{t("Submit")}}',
407
+ 'x-component': 'Action',
408
+ 'x-use-component-props': 'useUpdateActionProps',
409
+ },
410
+ },
411
+ },
412
+ },
413
+ },
414
+ },
415
+ },
416
+ },
417
+ },
418
+ delete: {
419
+ type: 'void',
420
+ title: '{{t("Delete")}}',
421
+ 'x-component': 'Action.Link',
422
+ 'x-use-component-props': 'useDestroyActionProps',
423
+ 'x-component-props': {
424
+ confirm: {
425
+ title: '{{t("Delete")}}',
426
+ content: '{{t("Are you sure you want to delete this space?")}}',
427
+ },
428
+ },
429
+ },
430
+ },
431
+ },
432
+ },
433
+ },
434
+ },
435
+ },
436
+ },
437
+ },
438
+ },
439
+ };