@purpleschool/gptbot 0.12.72 → 0.12.74
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.
- package/api/controllers/http/canvas-template.ts +1 -0
- package/build/api/controllers/http/canvas-template.js +1 -0
- package/build/commands/ai-studio/canvas-template/create-canvas-from-generated-template.command.js +42 -0
- package/build/commands/ai-studio/canvas-template/create-canvas-template.command.js +0 -3
- package/build/commands/ai-studio/canvas-template/find-canvas-templates.query.js +0 -1
- package/build/commands/ai-studio/canvas-template/generate-canvas-template-by-prompt.command.js +1 -1
- package/build/commands/ai-studio/canvas-template/index.js +1 -0
- package/build/commands/ai-studio/canvas-template/update-canvas-template.command.js +0 -3
- package/build/constants/canvas-node/enums/canvas-node-type.enum.js +1 -0
- package/build/models/canvas-node-definition.schema.js +1 -0
- package/build/models/canvas-node.schema.js +33 -13
- package/build/models/canvas-template.schema.js +8 -5
- package/commands/ai-studio/canvas-template/create-canvas-from-generated-template.command.ts +55 -0
- package/commands/ai-studio/canvas-template/create-canvas-template.command.ts +5 -5
- package/commands/ai-studio/canvas-template/find-canvas-templates.query.ts +1 -2
- package/commands/ai-studio/canvas-template/generate-canvas-template-by-prompt.command.ts +2 -2
- package/commands/ai-studio/canvas-template/index.ts +1 -0
- package/commands/ai-studio/canvas-template/update-canvas-template.command.ts +0 -4
- package/constants/canvas-node/enums/canvas-node-type.enum.ts +1 -0
- package/models/canvas-node-definition.schema.ts +1 -0
- package/models/canvas-node.schema.ts +56 -18
- package/models/canvas-template.schema.ts +9 -5
- package/package.json +1 -1
|
@@ -3,6 +3,7 @@ export const CANVAS_TEMPLATE_PRIVATE_CONTROLLER = 'private/canvas-template' as c
|
|
|
3
3
|
export const CANVAS_TEMPLATE_ROUTES = {
|
|
4
4
|
CREATE: '',
|
|
5
5
|
CREATE_CANVAS: (uuid: string) => `${uuid}`,
|
|
6
|
+
CREATE_CANVAS_FROM_BODY: 'create-canvas',
|
|
6
7
|
GENERATE: 'generate',
|
|
7
8
|
GET_ALL: '',
|
|
8
9
|
FIND_BY_UUID: (uuid: string) => `${uuid}`,
|
|
@@ -5,6 +5,7 @@ exports.CANVAS_TEMPLATE_PRIVATE_CONTROLLER = 'private/canvas-template';
|
|
|
5
5
|
exports.CANVAS_TEMPLATE_ROUTES = {
|
|
6
6
|
CREATE: '',
|
|
7
7
|
CREATE_CANVAS: (uuid) => `${uuid}`,
|
|
8
|
+
CREATE_CANVAS_FROM_BODY: 'create-canvas',
|
|
8
9
|
GENERATE: 'generate',
|
|
9
10
|
GET_ALL: '',
|
|
10
11
|
FIND_BY_UUID: (uuid) => `${uuid}`,
|
package/build/commands/ai-studio/canvas-template/create-canvas-from-generated-template.command.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CreateCanvasFromGeneratedTemplateCommand = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const models_1 = require("../../../models");
|
|
6
|
+
const constants_1 = require("../../../constants");
|
|
7
|
+
var CreateCanvasFromGeneratedTemplateCommand;
|
|
8
|
+
(function (CreateCanvasFromGeneratedTemplateCommand) {
|
|
9
|
+
const GeneratedTemplateInputSchema = zod_1.z.object({
|
|
10
|
+
name: zod_1.z.string().trim().min(1),
|
|
11
|
+
description: zod_1.z.string().trim().min(1),
|
|
12
|
+
previewImageUrl: zod_1.z.string().url().nullable(),
|
|
13
|
+
tags: zod_1.z.array(models_1.CanvasTemplateTagSchema),
|
|
14
|
+
graph: zod_1.z.object({
|
|
15
|
+
nodes: zod_1.z.array(zod_1.z.object({
|
|
16
|
+
uuid: zod_1.z.string().trim().min(1),
|
|
17
|
+
nodeDefinitionId: zod_1.z.nativeEnum(constants_1.CANVAS_NODE_TYPE),
|
|
18
|
+
position: models_1.CanvasNodePositionSchema,
|
|
19
|
+
params: zod_1.z
|
|
20
|
+
.object({
|
|
21
|
+
prompt: zod_1.z.string().trim().min(1),
|
|
22
|
+
model: zod_1.z.string().trim().min(1).optional(),
|
|
23
|
+
})
|
|
24
|
+
.catchall(zod_1.z.unknown()),
|
|
25
|
+
})),
|
|
26
|
+
edges: zod_1.z.array(zod_1.z.object({
|
|
27
|
+
sourceId: zod_1.z.string().trim().min(1),
|
|
28
|
+
targetId: zod_1.z.string().trim().min(1),
|
|
29
|
+
handle: zod_1.z.nativeEnum(constants_1.INPUT_OUTPUT_TYPE),
|
|
30
|
+
})),
|
|
31
|
+
}),
|
|
32
|
+
});
|
|
33
|
+
CreateCanvasFromGeneratedTemplateCommand.RequestSchema = zod_1.z.object({
|
|
34
|
+
data: GeneratedTemplateInputSchema,
|
|
35
|
+
});
|
|
36
|
+
CreateCanvasFromGeneratedTemplateCommand.ResponseSchema = zod_1.z.object({
|
|
37
|
+
data: models_1.CanvasSchema.extend({
|
|
38
|
+
nodes: zod_1.z.array(models_1.CanvasNodeSchema),
|
|
39
|
+
edges: zod_1.z.array(models_1.CanvasEdgeSchema),
|
|
40
|
+
}),
|
|
41
|
+
});
|
|
42
|
+
})(CreateCanvasFromGeneratedTemplateCommand || (exports.CreateCanvasFromGeneratedTemplateCommand = CreateCanvasFromGeneratedTemplateCommand = {}));
|
|
@@ -9,9 +9,6 @@ var CreateCanvasTemplateCommand;
|
|
|
9
9
|
name: zod_1.z.string().trim().min(1),
|
|
10
10
|
description: zod_1.z.string().trim().min(1).optional().nullable(),
|
|
11
11
|
isPopular: zod_1.z.boolean().optional().default(false),
|
|
12
|
-
scope: models_1.CanvasTemplateScopeSchema.optional().default('public'),
|
|
13
|
-
ownerUserId: zod_1.z.string().uuid().optional().nullable(),
|
|
14
|
-
prompt: zod_1.z.string().trim().min(1).optional().nullable(),
|
|
15
12
|
previewImageUrl: zod_1.z.string().url().optional().nullable(),
|
|
16
13
|
tags: zod_1.z.array(models_1.CanvasTemplateTagSchema).default([]),
|
|
17
14
|
graph: models_1.CanvasTemplateGraphSchema,
|
|
@@ -13,7 +13,6 @@ var FindCanvasTemplatesQuery;
|
|
|
13
13
|
.union([zod_1.z.boolean(), zod_1.z.enum(['true', 'false'])])
|
|
14
14
|
.transform((value) => (typeof value === 'boolean' ? value : value === 'true'))
|
|
15
15
|
.optional(),
|
|
16
|
-
scope: models_1.CanvasTemplateScopeSchema.optional(),
|
|
17
16
|
});
|
|
18
17
|
FindCanvasTemplatesQuery.ResponseSchema = zod_1.z.object({
|
|
19
18
|
data: zod_1.z.array(models_1.CanvasTemplateSchema),
|
package/build/commands/ai-studio/canvas-template/generate-canvas-template-by-prompt.command.js
CHANGED
|
@@ -9,6 +9,6 @@ var GenerateCanvasTemplateByPromptCommand;
|
|
|
9
9
|
prompt: zod_1.z.string().trim().min(1),
|
|
10
10
|
});
|
|
11
11
|
GenerateCanvasTemplateByPromptCommand.ResponseSchema = zod_1.z.object({
|
|
12
|
-
data: models_1.
|
|
12
|
+
data: models_1.GeneratedCanvasTemplateSchema,
|
|
13
13
|
});
|
|
14
14
|
})(GenerateCanvasTemplateByPromptCommand || (exports.GenerateCanvasTemplateByPromptCommand = GenerateCanvasTemplateByPromptCommand = {}));
|
|
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./create-canvas-from-template.command"), exports);
|
|
18
|
+
__exportStar(require("./create-canvas-from-generated-template.command"), exports);
|
|
18
19
|
__exportStar(require("./create-canvas-template.command"), exports);
|
|
19
20
|
__exportStar(require("./delete-canvas-template.command"), exports);
|
|
20
21
|
__exportStar(require("./generate-canvas-template-by-prompt.command"), exports);
|
|
@@ -12,9 +12,6 @@ var UpdateCanvasTemplateCommand;
|
|
|
12
12
|
name: zod_1.z.string().trim().min(1).optional(),
|
|
13
13
|
description: zod_1.z.string().trim().min(1).optional().nullable(),
|
|
14
14
|
isPopular: zod_1.z.boolean().optional(),
|
|
15
|
-
scope: models_1.CanvasTemplateScopeSchema.optional(),
|
|
16
|
-
ownerUserId: zod_1.z.string().uuid().optional().nullable(),
|
|
17
|
-
prompt: zod_1.z.string().trim().min(1).optional().nullable(),
|
|
18
15
|
previewImageUrl: zod_1.z.string().url().optional().nullable(),
|
|
19
16
|
tags: zod_1.z.array(models_1.CanvasTemplateTagSchema).optional(),
|
|
20
17
|
graph: models_1.CanvasTemplateGraphSchema.optional(),
|
|
@@ -20,4 +20,5 @@ var CANVAS_NODE_TYPE;
|
|
|
20
20
|
CANVAS_NODE_TYPE["varGen"] = "varGen";
|
|
21
21
|
CANVAS_NODE_TYPE["varBlock"] = "varBlock";
|
|
22
22
|
CANVAS_NODE_TYPE["htmlGen"] = "htmlGen";
|
|
23
|
+
CANVAS_NODE_TYPE["audioBlock"] = "audioBlock";
|
|
23
24
|
})(CANVAS_NODE_TYPE || (exports.CANVAS_NODE_TYPE = CANVAS_NODE_TYPE = {}));
|
|
@@ -56,6 +56,7 @@ exports.CanvasNodeDefinitionToolConfigSchema = zod_1.z.discriminatedUnion('nodeT
|
|
|
56
56
|
createCanvasNodeDefinitionNoConfigSchema(constants_1.CANVAS_NODE_TYPE.motionControl),
|
|
57
57
|
createCanvasNodeDefinitionNoConfigSchema(constants_1.CANVAS_NODE_TYPE.varGen),
|
|
58
58
|
createCanvasNodeDefinitionNoConfigSchema(constants_1.CANVAS_NODE_TYPE.varBlock),
|
|
59
|
+
createCanvasNodeDefinitionNoConfigSchema(constants_1.CANVAS_NODE_TYPE.audioBlock),
|
|
59
60
|
]);
|
|
60
61
|
exports.CanvasNodeDefinitionSchema = zod_1.z.object({
|
|
61
62
|
type: zod_1.z.nativeEnum(constants_1.CANVAS_NODE_TYPE),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CanvasNodeSchema = exports.CanvasNodeBaseSchema = exports.validateCanvasNodeOutputByType = exports.validateCanvasNodeParamsByType = exports.CanvasNodeErrorSchema = exports.CanvasNodeOutputSchemaByType = exports.CanvasNodeParamsSchemaByType = exports.HtmlGenOutputSchema = exports.VarGenOutputSchema = exports.MotionControlOutputSchema = exports.ColorPaletteOutputSchema = exports.AudioGenSTTOutputSchema = exports.AudioGenTTSOutputSchema = exports.VideoGenOutputSchema = exports.ImageGenOutputSchema = exports.TextGenOutputSchema = exports.VarBlockParamsSchema = exports.NoteParamsSchema = exports.FileBlockParamsSchema = exports.VideoBlockParamsSchema = exports.ImageBlockParamsSchema = exports.TextBlockParamsSchema = exports.HtmlGenParamsSchema = exports.VarGenParamsSchema = exports.MotionControlParamsSchema = exports.ColorPaletteParamsSchema = exports.AudioGenParamsSchema = exports.VideoGenParamsSchema = exports.ImageGenParamsSchema = exports.TextGenParamsSchema = exports.CanvasNodePositionSchema = void 0;
|
|
3
|
+
exports.CanvasNodeSchema = exports.CanvasNodeBaseSchema = exports.validateCanvasNodeOutputByType = exports.validateCanvasNodeParamsByType = exports.CanvasNodeErrorSchema = exports.CanvasNodeOutputSchemaByType = exports.CanvasNodeParamsSchemaByType = exports.AudioBlockOutputSchema = exports.VarBlockOutputSchema = exports.NoteOutputSchema = exports.FileBlockOutputSchema = exports.VideoBlockOutputSchema = exports.ImageBlockOutputSchema = exports.TextBlockOutputSchema = exports.HtmlGenOutputSchema = exports.VarGenOutputSchema = exports.MotionControlOutputSchema = exports.ColorPaletteOutputSchema = exports.AudioGenSTTOutputSchema = exports.AudioGenTTSOutputSchema = exports.VideoGenOutputSchema = exports.ImageGenOutputSchema = exports.TextGenOutputSchema = exports.AudioBlockParamsSchema = exports.VarBlockParamsSchema = exports.NoteParamsSchema = exports.FileBlockParamsSchema = exports.VideoBlockParamsSchema = exports.ImageBlockParamsSchema = exports.TextBlockParamsSchema = exports.HtmlGenParamsSchema = exports.VarGenParamsSchema = exports.MotionControlParamsSchema = exports.ColorPaletteParamsSchema = exports.AudioGenParamsSchema = exports.VideoGenParamsSchema = exports.ImageGenParamsSchema = exports.TextGenParamsSchema = exports.CanvasNodePositionSchema = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const constants_1 = require("../constants");
|
|
6
6
|
const strictObject = (shape) => zod_1.z.object(shape).strict();
|
|
@@ -14,6 +14,7 @@ exports.CanvasNodePositionSchema = zod_1.z.object({
|
|
|
14
14
|
y: zod_1.z.number(),
|
|
15
15
|
}),
|
|
16
16
|
});
|
|
17
|
+
// PARAMS SHEMA
|
|
17
18
|
exports.TextGenParamsSchema = strictObject({
|
|
18
19
|
prompt: zod_1.z.string(),
|
|
19
20
|
model: zod_1.z.string(),
|
|
@@ -90,6 +91,11 @@ exports.VarBlockParamsSchema = strictObject({
|
|
|
90
91
|
name: zod_1.z.string(),
|
|
91
92
|
value: zod_1.z.string(),
|
|
92
93
|
});
|
|
94
|
+
exports.AudioBlockParamsSchema = strictObject({
|
|
95
|
+
fileName: zod_1.z.string(),
|
|
96
|
+
content: zod_1.z.string(),
|
|
97
|
+
});
|
|
98
|
+
// OUTPUT SHEMA
|
|
93
99
|
exports.TextGenOutputSchema = strictObject({
|
|
94
100
|
result: zod_1.z.string(),
|
|
95
101
|
});
|
|
@@ -117,6 +123,13 @@ exports.VarGenOutputSchema = strictObject({
|
|
|
117
123
|
exports.HtmlGenOutputSchema = strictObject({
|
|
118
124
|
html: zod_1.z.string(),
|
|
119
125
|
});
|
|
126
|
+
exports.TextBlockOutputSchema = exports.TextBlockParamsSchema;
|
|
127
|
+
exports.ImageBlockOutputSchema = exports.ImageBlockParamsSchema;
|
|
128
|
+
exports.VideoBlockOutputSchema = exports.VideoBlockParamsSchema;
|
|
129
|
+
exports.FileBlockOutputSchema = exports.FileBlockParamsSchema;
|
|
130
|
+
exports.NoteOutputSchema = exports.NoteParamsSchema;
|
|
131
|
+
exports.VarBlockOutputSchema = exports.VarBlockParamsSchema;
|
|
132
|
+
exports.AudioBlockOutputSchema = exports.AudioBlockParamsSchema;
|
|
120
133
|
exports.CanvasNodeParamsSchemaByType = {
|
|
121
134
|
[constants_1.CANVAS_NODE_TYPE.textGen]: exports.TextGenParamsSchema,
|
|
122
135
|
[constants_1.CANVAS_NODE_TYPE.imageGen]: exports.ImageGenParamsSchema,
|
|
@@ -135,6 +148,7 @@ exports.CanvasNodeParamsSchemaByType = {
|
|
|
135
148
|
[constants_1.CANVAS_NODE_TYPE.varGen]: exports.VarGenParamsSchema,
|
|
136
149
|
[constants_1.CANVAS_NODE_TYPE.varBlock]: exports.VarBlockParamsSchema,
|
|
137
150
|
[constants_1.CANVAS_NODE_TYPE.htmlGen]: exports.HtmlGenParamsSchema,
|
|
151
|
+
[constants_1.CANVAS_NODE_TYPE.audioBlock]: exports.AudioBlockParamsSchema,
|
|
138
152
|
};
|
|
139
153
|
exports.CanvasNodeOutputSchemaByType = {
|
|
140
154
|
[constants_1.CANVAS_NODE_TYPE.textGen]: exports.TextGenOutputSchema,
|
|
@@ -144,16 +158,17 @@ exports.CanvasNodeOutputSchemaByType = {
|
|
|
144
158
|
[constants_1.CANVAS_NODE_TYPE.videoEdit]: exports.VideoGenOutputSchema,
|
|
145
159
|
[constants_1.CANVAS_NODE_TYPE.ttsGen]: exports.AudioGenTTSOutputSchema,
|
|
146
160
|
[constants_1.CANVAS_NODE_TYPE.sttGen]: exports.AudioGenSTTOutputSchema,
|
|
147
|
-
[constants_1.CANVAS_NODE_TYPE.textBlock]: exports.
|
|
148
|
-
[constants_1.CANVAS_NODE_TYPE.imageBlock]: exports.
|
|
149
|
-
[constants_1.CANVAS_NODE_TYPE.videoBlock]: exports.
|
|
150
|
-
[constants_1.CANVAS_NODE_TYPE.fileBlock]: exports.
|
|
151
|
-
[constants_1.CANVAS_NODE_TYPE.note]: exports.
|
|
161
|
+
[constants_1.CANVAS_NODE_TYPE.textBlock]: exports.TextBlockOutputSchema,
|
|
162
|
+
[constants_1.CANVAS_NODE_TYPE.imageBlock]: exports.ImageBlockOutputSchema,
|
|
163
|
+
[constants_1.CANVAS_NODE_TYPE.videoBlock]: exports.VideoBlockOutputSchema,
|
|
164
|
+
[constants_1.CANVAS_NODE_TYPE.fileBlock]: exports.FileBlockOutputSchema,
|
|
165
|
+
[constants_1.CANVAS_NODE_TYPE.note]: exports.NoteOutputSchema,
|
|
152
166
|
[constants_1.CANVAS_NODE_TYPE.colorPalette]: exports.ColorPaletteOutputSchema,
|
|
153
167
|
[constants_1.CANVAS_NODE_TYPE.motionControl]: exports.MotionControlOutputSchema,
|
|
154
168
|
[constants_1.CANVAS_NODE_TYPE.varGen]: exports.VarGenOutputSchema,
|
|
155
|
-
[constants_1.CANVAS_NODE_TYPE.varBlock]: exports.
|
|
169
|
+
[constants_1.CANVAS_NODE_TYPE.varBlock]: exports.VarBlockOutputSchema,
|
|
156
170
|
[constants_1.CANVAS_NODE_TYPE.htmlGen]: exports.HtmlGenOutputSchema,
|
|
171
|
+
[constants_1.CANVAS_NODE_TYPE.audioBlock]: exports.AudioBlockOutputSchema,
|
|
157
172
|
};
|
|
158
173
|
exports.CanvasNodeErrorSchema = zod_1.z.object({
|
|
159
174
|
code: zod_1.z.string(),
|
|
@@ -241,27 +256,27 @@ exports.CanvasNodeSchema = zod_1.z.discriminatedUnion('nodeDefinitionId', [
|
|
|
241
256
|
exports.CanvasNodeBaseSchema.extend({
|
|
242
257
|
nodeDefinitionId: zod_1.z.literal(constants_1.CANVAS_NODE_TYPE.textBlock),
|
|
243
258
|
params: exports.TextBlockParamsSchema.nullable(),
|
|
244
|
-
output: exports.
|
|
259
|
+
output: exports.TextBlockOutputSchema.nullable(),
|
|
245
260
|
}),
|
|
246
261
|
exports.CanvasNodeBaseSchema.extend({
|
|
247
262
|
nodeDefinitionId: zod_1.z.literal(constants_1.CANVAS_NODE_TYPE.imageBlock),
|
|
248
263
|
params: exports.ImageBlockParamsSchema.nullable(),
|
|
249
|
-
output: exports.
|
|
264
|
+
output: exports.ImageBlockOutputSchema.nullable(),
|
|
250
265
|
}),
|
|
251
266
|
exports.CanvasNodeBaseSchema.extend({
|
|
252
267
|
nodeDefinitionId: zod_1.z.literal(constants_1.CANVAS_NODE_TYPE.videoBlock),
|
|
253
268
|
params: exports.VideoBlockParamsSchema.nullable(),
|
|
254
|
-
output: exports.
|
|
269
|
+
output: exports.VideoBlockOutputSchema.nullable(),
|
|
255
270
|
}),
|
|
256
271
|
exports.CanvasNodeBaseSchema.extend({
|
|
257
272
|
nodeDefinitionId: zod_1.z.literal(constants_1.CANVAS_NODE_TYPE.fileBlock),
|
|
258
273
|
params: exports.FileBlockParamsSchema.nullable(),
|
|
259
|
-
output: exports.
|
|
274
|
+
output: exports.FileBlockOutputSchema.nullable(),
|
|
260
275
|
}),
|
|
261
276
|
exports.CanvasNodeBaseSchema.extend({
|
|
262
277
|
nodeDefinitionId: zod_1.z.literal(constants_1.CANVAS_NODE_TYPE.note),
|
|
263
278
|
params: exports.NoteParamsSchema.nullable(),
|
|
264
|
-
output: exports.
|
|
279
|
+
output: exports.NoteOutputSchema.nullable(),
|
|
265
280
|
}),
|
|
266
281
|
exports.CanvasNodeBaseSchema.extend({
|
|
267
282
|
nodeDefinitionId: zod_1.z.literal(constants_1.CANVAS_NODE_TYPE.colorPalette),
|
|
@@ -281,11 +296,16 @@ exports.CanvasNodeSchema = zod_1.z.discriminatedUnion('nodeDefinitionId', [
|
|
|
281
296
|
exports.CanvasNodeBaseSchema.extend({
|
|
282
297
|
nodeDefinitionId: zod_1.z.literal(constants_1.CANVAS_NODE_TYPE.varBlock),
|
|
283
298
|
params: exports.VarBlockParamsSchema.nullable(),
|
|
284
|
-
output: exports.
|
|
299
|
+
output: exports.VarBlockOutputSchema.nullable(),
|
|
285
300
|
}),
|
|
286
301
|
exports.CanvasNodeBaseSchema.extend({
|
|
287
302
|
nodeDefinitionId: zod_1.z.literal(constants_1.CANVAS_NODE_TYPE.htmlGen),
|
|
288
303
|
params: exports.HtmlGenParamsSchema.nullable(),
|
|
289
304
|
output: exports.HtmlGenOutputSchema.nullable(),
|
|
290
305
|
}),
|
|
306
|
+
exports.CanvasNodeBaseSchema.extend({
|
|
307
|
+
nodeDefinitionId: zod_1.z.literal(constants_1.CANVAS_NODE_TYPE.audioBlock),
|
|
308
|
+
params: exports.AudioBlockParamsSchema.nullable(),
|
|
309
|
+
output: exports.AudioBlockOutputSchema.nullable(),
|
|
310
|
+
}),
|
|
291
311
|
]);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.GeneratedCanvasTemplateSchema = exports.CanvasTemplateSchema = exports.CanvasTemplateTagSchema = exports.CanvasTemplateGraphSchema = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const constants_1 = require("../constants");
|
|
6
6
|
const canvas_node_schema_1 = require("./canvas-node.schema");
|
|
@@ -54,7 +54,6 @@ exports.CanvasTemplateGraphSchema = zod_1.z
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
});
|
|
57
|
-
exports.CanvasTemplateScopeSchema = zod_1.z.enum(['public', 'private']);
|
|
58
57
|
exports.CanvasTemplateTagSchema = zod_1.z.object({
|
|
59
58
|
icons: zod_1.z.object({
|
|
60
59
|
svg: zod_1.z.string(),
|
|
@@ -68,12 +67,16 @@ exports.CanvasTemplateSchema = zod_1.z.object({
|
|
|
68
67
|
name: zod_1.z.string(),
|
|
69
68
|
description: zod_1.z.string().nullable(),
|
|
70
69
|
isPopular: zod_1.z.boolean(),
|
|
71
|
-
scope: exports.CanvasTemplateScopeSchema,
|
|
72
|
-
ownerUserId: zod_1.z.string().uuid().nullable(),
|
|
73
|
-
prompt: zod_1.z.string().nullable(),
|
|
74
70
|
previewImageUrl: zod_1.z.string().url().nullable(),
|
|
75
71
|
tags: zod_1.z.array(exports.CanvasTemplateTagSchema),
|
|
76
72
|
graph: exports.CanvasTemplateGraphSchema,
|
|
77
73
|
createdAt: zod_1.z.date(),
|
|
78
74
|
updatedAt: zod_1.z.date(),
|
|
79
75
|
});
|
|
76
|
+
exports.GeneratedCanvasTemplateSchema = zod_1.z.object({
|
|
77
|
+
name: zod_1.z.string().trim().min(1),
|
|
78
|
+
description: zod_1.z.string().trim().min(1),
|
|
79
|
+
previewImageUrl: zod_1.z.string().url().nullable(),
|
|
80
|
+
tags: zod_1.z.array(exports.CanvasTemplateTagSchema),
|
|
81
|
+
graph: exports.CanvasTemplateGraphSchema,
|
|
82
|
+
});
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import {
|
|
3
|
+
CanvasEdgeSchema,
|
|
4
|
+
CanvasNodeSchema,
|
|
5
|
+
CanvasNodePositionSchema,
|
|
6
|
+
CanvasSchema,
|
|
7
|
+
CanvasTemplateTagSchema,
|
|
8
|
+
} from '../../../models';
|
|
9
|
+
import { CANVAS_NODE_TYPE, INPUT_OUTPUT_TYPE } from '../../../constants';
|
|
10
|
+
|
|
11
|
+
export namespace CreateCanvasFromGeneratedTemplateCommand {
|
|
12
|
+
const GeneratedTemplateInputSchema = z.object({
|
|
13
|
+
name: z.string().trim().min(1),
|
|
14
|
+
description: z.string().trim().min(1),
|
|
15
|
+
previewImageUrl: z.string().url().nullable(),
|
|
16
|
+
tags: z.array(CanvasTemplateTagSchema),
|
|
17
|
+
graph: z.object({
|
|
18
|
+
nodes: z.array(
|
|
19
|
+
z.object({
|
|
20
|
+
uuid: z.string().trim().min(1),
|
|
21
|
+
nodeDefinitionId: z.nativeEnum(CANVAS_NODE_TYPE),
|
|
22
|
+
position: CanvasNodePositionSchema,
|
|
23
|
+
params: z
|
|
24
|
+
.object({
|
|
25
|
+
prompt: z.string().trim().min(1),
|
|
26
|
+
model: z.string().trim().min(1).optional(),
|
|
27
|
+
})
|
|
28
|
+
.catchall(z.unknown()),
|
|
29
|
+
}),
|
|
30
|
+
),
|
|
31
|
+
edges: z.array(
|
|
32
|
+
z.object({
|
|
33
|
+
sourceId: z.string().trim().min(1),
|
|
34
|
+
targetId: z.string().trim().min(1),
|
|
35
|
+
handle: z.nativeEnum(INPUT_OUTPUT_TYPE),
|
|
36
|
+
}),
|
|
37
|
+
),
|
|
38
|
+
}),
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
export const RequestSchema = z.object({
|
|
42
|
+
data: GeneratedTemplateInputSchema,
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
export type Request = z.infer<typeof RequestSchema>;
|
|
46
|
+
|
|
47
|
+
export const ResponseSchema = z.object({
|
|
48
|
+
data: CanvasSchema.extend({
|
|
49
|
+
nodes: z.array(CanvasNodeSchema),
|
|
50
|
+
edges: z.array(CanvasEdgeSchema),
|
|
51
|
+
}),
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
55
|
+
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
3
|
-
|
|
2
|
+
import {
|
|
3
|
+
CanvasTemplateGraphSchema,
|
|
4
|
+
CanvasTemplateSchema,
|
|
5
|
+
CanvasTemplateTagSchema,
|
|
6
|
+
} from '../../../models';
|
|
4
7
|
|
|
5
8
|
export namespace CreateCanvasTemplateCommand {
|
|
6
9
|
export const RequestSchema = z.object({
|
|
7
10
|
name: z.string().trim().min(1),
|
|
8
11
|
description: z.string().trim().min(1).optional().nullable(),
|
|
9
12
|
isPopular: z.boolean().optional().default(false),
|
|
10
|
-
scope: CanvasTemplateScopeSchema.optional().default('public'),
|
|
11
|
-
ownerUserId: z.string().uuid().optional().nullable(),
|
|
12
|
-
prompt: z.string().trim().min(1).optional().nullable(),
|
|
13
13
|
previewImageUrl: z.string().url().optional().nullable(),
|
|
14
14
|
tags: z.array(CanvasTemplateTagSchema).default([]),
|
|
15
15
|
graph: CanvasTemplateGraphSchema,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { CanvasTemplateSchema
|
|
2
|
+
import { CanvasTemplateSchema } from '../../../models';
|
|
3
3
|
|
|
4
4
|
export namespace FindCanvasTemplatesQuery {
|
|
5
5
|
export const RequestSchema = z.object({
|
|
@@ -10,7 +10,6 @@ export namespace FindCanvasTemplatesQuery {
|
|
|
10
10
|
.union([z.boolean(), z.enum(['true', 'false'])])
|
|
11
11
|
.transform((value) => (typeof value === 'boolean' ? value : value === 'true'))
|
|
12
12
|
.optional(),
|
|
13
|
-
scope: CanvasTemplateScopeSchema.optional(),
|
|
14
13
|
});
|
|
15
14
|
|
|
16
15
|
export type Request = z.infer<typeof RequestSchema>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
2
|
+
import { GeneratedCanvasTemplateSchema } from '../../../models';
|
|
3
3
|
|
|
4
4
|
export namespace GenerateCanvasTemplateByPromptCommand {
|
|
5
5
|
export const RequestSchema = z.object({
|
|
@@ -9,7 +9,7 @@ export namespace GenerateCanvasTemplateByPromptCommand {
|
|
|
9
9
|
export type Request = z.infer<typeof RequestSchema>;
|
|
10
10
|
|
|
11
11
|
export const ResponseSchema = z.object({
|
|
12
|
-
data:
|
|
12
|
+
data: GeneratedCanvasTemplateSchema,
|
|
13
13
|
});
|
|
14
14
|
|
|
15
15
|
export type Response = z.infer<typeof ResponseSchema>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './create-canvas-from-template.command';
|
|
2
|
+
export * from './create-canvas-from-generated-template.command';
|
|
2
3
|
export * from './create-canvas-template.command';
|
|
3
4
|
export * from './delete-canvas-template.command';
|
|
4
5
|
export * from './generate-canvas-template-by-prompt.command';
|
|
@@ -2,7 +2,6 @@ import { z } from 'zod';
|
|
|
2
2
|
import {
|
|
3
3
|
CanvasTemplateSchema,
|
|
4
4
|
CanvasTemplateGraphSchema,
|
|
5
|
-
CanvasTemplateScopeSchema,
|
|
6
5
|
CanvasTemplateTagSchema,
|
|
7
6
|
} from '../../../models';
|
|
8
7
|
|
|
@@ -17,9 +16,6 @@ export namespace UpdateCanvasTemplateCommand {
|
|
|
17
16
|
name: z.string().trim().min(1).optional(),
|
|
18
17
|
description: z.string().trim().min(1).optional().nullable(),
|
|
19
18
|
isPopular: z.boolean().optional(),
|
|
20
|
-
scope: CanvasTemplateScopeSchema.optional(),
|
|
21
|
-
ownerUserId: z.string().uuid().optional().nullable(),
|
|
22
|
-
prompt: z.string().trim().min(1).optional().nullable(),
|
|
23
19
|
previewImageUrl: z.string().url().optional().nullable(),
|
|
24
20
|
tags: z.array(CanvasTemplateTagSchema).optional(),
|
|
25
21
|
graph: CanvasTemplateGraphSchema.optional(),
|
|
@@ -64,6 +64,7 @@ export const CanvasNodeDefinitionToolConfigSchema = z.discriminatedUnion('nodeTy
|
|
|
64
64
|
createCanvasNodeDefinitionNoConfigSchema(CANVAS_NODE_TYPE.motionControl),
|
|
65
65
|
createCanvasNodeDefinitionNoConfigSchema(CANVAS_NODE_TYPE.varGen),
|
|
66
66
|
createCanvasNodeDefinitionNoConfigSchema(CANVAS_NODE_TYPE.varBlock),
|
|
67
|
+
createCanvasNodeDefinitionNoConfigSchema(CANVAS_NODE_TYPE.audioBlock),
|
|
67
68
|
]);
|
|
68
69
|
export type CanvasNodeDefinitionToolConfig = z.infer<typeof CanvasNodeDefinitionToolConfigSchema>;
|
|
69
70
|
|
|
@@ -16,6 +16,7 @@ export const CanvasNodePositionSchema = z.object({
|
|
|
16
16
|
});
|
|
17
17
|
export type CanvasNodePosition = z.infer<typeof CanvasNodePositionSchema>;
|
|
18
18
|
|
|
19
|
+
// PARAMS SHEMA
|
|
19
20
|
export const TextGenParamsSchema = strictObject({
|
|
20
21
|
prompt: z.string(),
|
|
21
22
|
model: z.string(),
|
|
@@ -122,6 +123,13 @@ export const VarBlockParamsSchema = strictObject({
|
|
|
122
123
|
});
|
|
123
124
|
export type VarBlockParams = z.infer<typeof VarBlockParamsSchema>;
|
|
124
125
|
|
|
126
|
+
export const AudioBlockParamsSchema = strictObject({
|
|
127
|
+
fileName: z.string(),
|
|
128
|
+
content: z.string(),
|
|
129
|
+
});
|
|
130
|
+
export type AudioBlockParams = z.infer<typeof AudioBlockParamsSchema>;
|
|
131
|
+
|
|
132
|
+
// OUTPUT SHEMA
|
|
125
133
|
export const TextGenOutputSchema = strictObject({
|
|
126
134
|
result: z.string(),
|
|
127
135
|
});
|
|
@@ -167,6 +175,27 @@ export const HtmlGenOutputSchema = strictObject({
|
|
|
167
175
|
});
|
|
168
176
|
export type HtmlGenOutput = z.infer<typeof HtmlGenOutputSchema>;
|
|
169
177
|
|
|
178
|
+
export const TextBlockOutputSchema = TextBlockParamsSchema;
|
|
179
|
+
export type TextBlockOutput = z.infer<typeof TextBlockOutputSchema>;
|
|
180
|
+
|
|
181
|
+
export const ImageBlockOutputSchema = ImageBlockParamsSchema;
|
|
182
|
+
export type ImageBlockOutput = z.infer<typeof ImageBlockOutputSchema>;
|
|
183
|
+
|
|
184
|
+
export const VideoBlockOutputSchema = VideoBlockParamsSchema;
|
|
185
|
+
export type VideoBlockOutput = z.infer<typeof VideoBlockOutputSchema>;
|
|
186
|
+
|
|
187
|
+
export const FileBlockOutputSchema = FileBlockParamsSchema;
|
|
188
|
+
export type FileBlockOutput = z.infer<typeof FileBlockOutputSchema>;
|
|
189
|
+
|
|
190
|
+
export const NoteOutputSchema = NoteParamsSchema;
|
|
191
|
+
export type NoteOutput = z.infer<typeof NoteOutputSchema>;
|
|
192
|
+
|
|
193
|
+
export const VarBlockOutputSchema = VarBlockParamsSchema;
|
|
194
|
+
export type VarBlockOutput = z.infer<typeof VarBlockOutputSchema>;
|
|
195
|
+
|
|
196
|
+
export const AudioBlockOutputSchema = AudioBlockParamsSchema;
|
|
197
|
+
export type AudioBlockOutput = z.infer<typeof AudioBlockOutputSchema>;
|
|
198
|
+
|
|
170
199
|
export const CanvasNodeParamsSchemaByType = {
|
|
171
200
|
[CANVAS_NODE_TYPE.textGen]: TextGenParamsSchema,
|
|
172
201
|
[CANVAS_NODE_TYPE.imageGen]: ImageGenParamsSchema,
|
|
@@ -185,6 +214,7 @@ export const CanvasNodeParamsSchemaByType = {
|
|
|
185
214
|
[CANVAS_NODE_TYPE.varGen]: VarGenParamsSchema,
|
|
186
215
|
[CANVAS_NODE_TYPE.varBlock]: VarBlockParamsSchema,
|
|
187
216
|
[CANVAS_NODE_TYPE.htmlGen]: HtmlGenParamsSchema,
|
|
217
|
+
[CANVAS_NODE_TYPE.audioBlock]: AudioBlockParamsSchema,
|
|
188
218
|
} as const;
|
|
189
219
|
|
|
190
220
|
export const CanvasNodeOutputSchemaByType = {
|
|
@@ -195,16 +225,17 @@ export const CanvasNodeOutputSchemaByType = {
|
|
|
195
225
|
[CANVAS_NODE_TYPE.videoEdit]: VideoGenOutputSchema,
|
|
196
226
|
[CANVAS_NODE_TYPE.ttsGen]: AudioGenTTSOutputSchema,
|
|
197
227
|
[CANVAS_NODE_TYPE.sttGen]: AudioGenSTTOutputSchema,
|
|
198
|
-
[CANVAS_NODE_TYPE.textBlock]:
|
|
199
|
-
[CANVAS_NODE_TYPE.imageBlock]:
|
|
200
|
-
[CANVAS_NODE_TYPE.videoBlock]:
|
|
201
|
-
[CANVAS_NODE_TYPE.fileBlock]:
|
|
202
|
-
[CANVAS_NODE_TYPE.note]:
|
|
228
|
+
[CANVAS_NODE_TYPE.textBlock]: TextBlockOutputSchema,
|
|
229
|
+
[CANVAS_NODE_TYPE.imageBlock]: ImageBlockOutputSchema,
|
|
230
|
+
[CANVAS_NODE_TYPE.videoBlock]: VideoBlockOutputSchema,
|
|
231
|
+
[CANVAS_NODE_TYPE.fileBlock]: FileBlockOutputSchema,
|
|
232
|
+
[CANVAS_NODE_TYPE.note]: NoteOutputSchema,
|
|
203
233
|
[CANVAS_NODE_TYPE.colorPalette]: ColorPaletteOutputSchema,
|
|
204
234
|
[CANVAS_NODE_TYPE.motionControl]: MotionControlOutputSchema,
|
|
205
235
|
[CANVAS_NODE_TYPE.varGen]: VarGenOutputSchema,
|
|
206
|
-
[CANVAS_NODE_TYPE.varBlock]:
|
|
236
|
+
[CANVAS_NODE_TYPE.varBlock]: VarBlockOutputSchema,
|
|
207
237
|
[CANVAS_NODE_TYPE.htmlGen]: HtmlGenOutputSchema,
|
|
238
|
+
[CANVAS_NODE_TYPE.audioBlock]: AudioBlockOutputSchema,
|
|
208
239
|
} as const;
|
|
209
240
|
|
|
210
241
|
export const CanvasNodeErrorSchema = z.object({
|
|
@@ -233,6 +264,7 @@ export type CanvasNodeParamsByType = {
|
|
|
233
264
|
[CANVAS_NODE_TYPE.varGen]: VarGenParams;
|
|
234
265
|
[CANVAS_NODE_TYPE.varBlock]: VarBlockParams;
|
|
235
266
|
[CANVAS_NODE_TYPE.htmlGen]: HtmlGenParams;
|
|
267
|
+
[CANVAS_NODE_TYPE.audioBlock]: AudioBlockParams;
|
|
236
268
|
};
|
|
237
269
|
export type CanvasNodeParams = CanvasNodeParamsByType[keyof CanvasNodeParamsByType];
|
|
238
270
|
|
|
@@ -244,16 +276,17 @@ export type CanvasNodeOutputByType = {
|
|
|
244
276
|
[CANVAS_NODE_TYPE.videoEdit]: VideoGenOutput;
|
|
245
277
|
[CANVAS_NODE_TYPE.ttsGen]: AudioGenTTSOutput;
|
|
246
278
|
[CANVAS_NODE_TYPE.sttGen]: AudioGenSTTOutput;
|
|
247
|
-
[CANVAS_NODE_TYPE.textBlock]:
|
|
248
|
-
[CANVAS_NODE_TYPE.imageBlock]:
|
|
249
|
-
[CANVAS_NODE_TYPE.videoBlock]:
|
|
250
|
-
[CANVAS_NODE_TYPE.fileBlock]:
|
|
251
|
-
[CANVAS_NODE_TYPE.note]:
|
|
279
|
+
[CANVAS_NODE_TYPE.textBlock]: TextBlockOutput;
|
|
280
|
+
[CANVAS_NODE_TYPE.imageBlock]: ImageBlockOutput;
|
|
281
|
+
[CANVAS_NODE_TYPE.videoBlock]: VideoBlockOutput;
|
|
282
|
+
[CANVAS_NODE_TYPE.fileBlock]: FileBlockOutput;
|
|
283
|
+
[CANVAS_NODE_TYPE.note]: NoteOutput;
|
|
252
284
|
[CANVAS_NODE_TYPE.colorPalette]: ColorPaletteOutput;
|
|
253
285
|
[CANVAS_NODE_TYPE.motionControl]: MotionControlOutput;
|
|
254
286
|
[CANVAS_NODE_TYPE.varGen]: VarGenOutput;
|
|
255
|
-
[CANVAS_NODE_TYPE.varBlock]:
|
|
287
|
+
[CANVAS_NODE_TYPE.varBlock]: VarBlockOutput;
|
|
256
288
|
[CANVAS_NODE_TYPE.htmlGen]: HtmlGenOutput;
|
|
289
|
+
[CANVAS_NODE_TYPE.audioBlock]: AudioBlockOutput;
|
|
257
290
|
};
|
|
258
291
|
export type CanvasNodeOutput = CanvasNodeOutputByType[keyof CanvasNodeOutputByType];
|
|
259
292
|
|
|
@@ -356,27 +389,27 @@ export const CanvasNodeSchema = z.discriminatedUnion('nodeDefinitionId', [
|
|
|
356
389
|
CanvasNodeBaseSchema.extend({
|
|
357
390
|
nodeDefinitionId: z.literal(CANVAS_NODE_TYPE.textBlock),
|
|
358
391
|
params: TextBlockParamsSchema.nullable(),
|
|
359
|
-
output:
|
|
392
|
+
output: TextBlockOutputSchema.nullable(),
|
|
360
393
|
}),
|
|
361
394
|
CanvasNodeBaseSchema.extend({
|
|
362
395
|
nodeDefinitionId: z.literal(CANVAS_NODE_TYPE.imageBlock),
|
|
363
396
|
params: ImageBlockParamsSchema.nullable(),
|
|
364
|
-
output:
|
|
397
|
+
output: ImageBlockOutputSchema.nullable(),
|
|
365
398
|
}),
|
|
366
399
|
CanvasNodeBaseSchema.extend({
|
|
367
400
|
nodeDefinitionId: z.literal(CANVAS_NODE_TYPE.videoBlock),
|
|
368
401
|
params: VideoBlockParamsSchema.nullable(),
|
|
369
|
-
output:
|
|
402
|
+
output: VideoBlockOutputSchema.nullable(),
|
|
370
403
|
}),
|
|
371
404
|
CanvasNodeBaseSchema.extend({
|
|
372
405
|
nodeDefinitionId: z.literal(CANVAS_NODE_TYPE.fileBlock),
|
|
373
406
|
params: FileBlockParamsSchema.nullable(),
|
|
374
|
-
output:
|
|
407
|
+
output: FileBlockOutputSchema.nullable(),
|
|
375
408
|
}),
|
|
376
409
|
CanvasNodeBaseSchema.extend({
|
|
377
410
|
nodeDefinitionId: z.literal(CANVAS_NODE_TYPE.note),
|
|
378
411
|
params: NoteParamsSchema.nullable(),
|
|
379
|
-
output:
|
|
412
|
+
output: NoteOutputSchema.nullable(),
|
|
380
413
|
}),
|
|
381
414
|
CanvasNodeBaseSchema.extend({
|
|
382
415
|
nodeDefinitionId: z.literal(CANVAS_NODE_TYPE.colorPalette),
|
|
@@ -396,12 +429,17 @@ export const CanvasNodeSchema = z.discriminatedUnion('nodeDefinitionId', [
|
|
|
396
429
|
CanvasNodeBaseSchema.extend({
|
|
397
430
|
nodeDefinitionId: z.literal(CANVAS_NODE_TYPE.varBlock),
|
|
398
431
|
params: VarBlockParamsSchema.nullable(),
|
|
399
|
-
output:
|
|
432
|
+
output: VarBlockOutputSchema.nullable(),
|
|
400
433
|
}),
|
|
401
434
|
CanvasNodeBaseSchema.extend({
|
|
402
435
|
nodeDefinitionId: z.literal(CANVAS_NODE_TYPE.htmlGen),
|
|
403
436
|
params: HtmlGenParamsSchema.nullable(),
|
|
404
437
|
output: HtmlGenOutputSchema.nullable(),
|
|
405
438
|
}),
|
|
439
|
+
CanvasNodeBaseSchema.extend({
|
|
440
|
+
nodeDefinitionId: z.literal(CANVAS_NODE_TYPE.audioBlock),
|
|
441
|
+
params: AudioBlockParamsSchema.nullable(),
|
|
442
|
+
output: AudioBlockOutputSchema.nullable(),
|
|
443
|
+
}),
|
|
406
444
|
]);
|
|
407
445
|
export type CanvasNode = z.infer<typeof CanvasNodeSchema>;
|
|
@@ -58,8 +58,6 @@ export const CanvasTemplateGraphSchema = z
|
|
|
58
58
|
});
|
|
59
59
|
|
|
60
60
|
export type CanvasTemplateGraph = z.infer<typeof CanvasTemplateGraphSchema>;
|
|
61
|
-
export const CanvasTemplateScopeSchema = z.enum(['public', 'private']);
|
|
62
|
-
export type CanvasTemplateScope = z.infer<typeof CanvasTemplateScopeSchema>;
|
|
63
61
|
|
|
64
62
|
export const CanvasTemplateTagSchema = z.object({
|
|
65
63
|
icons: z.object({
|
|
@@ -76,12 +74,18 @@ export const CanvasTemplateSchema = z.object({
|
|
|
76
74
|
name: z.string(),
|
|
77
75
|
description: z.string().nullable(),
|
|
78
76
|
isPopular: z.boolean(),
|
|
79
|
-
scope: CanvasTemplateScopeSchema,
|
|
80
|
-
ownerUserId: z.string().uuid().nullable(),
|
|
81
|
-
prompt: z.string().nullable(),
|
|
82
77
|
previewImageUrl: z.string().url().nullable(),
|
|
83
78
|
tags: z.array(CanvasTemplateTagSchema),
|
|
84
79
|
graph: CanvasTemplateGraphSchema,
|
|
85
80
|
createdAt: z.date(),
|
|
86
81
|
updatedAt: z.date(),
|
|
87
82
|
});
|
|
83
|
+
|
|
84
|
+
export const GeneratedCanvasTemplateSchema = z.object({
|
|
85
|
+
name: z.string().trim().min(1),
|
|
86
|
+
description: z.string().trim().min(1),
|
|
87
|
+
previewImageUrl: z.string().url().nullable(),
|
|
88
|
+
tags: z.array(CanvasTemplateTagSchema),
|
|
89
|
+
graph: CanvasTemplateGraphSchema,
|
|
90
|
+
});
|
|
91
|
+
export type GeneratedCanvasTemplate = z.infer<typeof GeneratedCanvasTemplateSchema>;
|