@purpleschool/gptbot 0.12.98-stage-2 → 0.12.98

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 (189) hide show
  1. package/api/controllers/http/canvas-template.ts +2 -0
  2. package/api/controllers/http/canvas-text-generation.ts +7 -0
  3. package/api/controllers/http/canvas.ts +2 -0
  4. package/api/controllers/http/index.ts +3 -0
  5. package/api/controllers/http/marketplace-card.ts +1 -0
  6. package/api/controllers/http/palette.ts +6 -0
  7. package/api/controllers/http/update-post.ts +15 -0
  8. package/api/routes.ts +29 -0
  9. package/build/api/controllers/http/canvas-template.js +2 -0
  10. package/build/api/controllers/http/canvas-text-generation.js +9 -0
  11. package/build/api/controllers/http/canvas.js +2 -0
  12. package/build/api/controllers/http/index.js +3 -0
  13. package/build/api/controllers/http/marketplace-card.js +1 -0
  14. package/build/api/controllers/http/palette.js +8 -0
  15. package/build/api/controllers/http/update-post.js +16 -0
  16. package/build/api/routes.js +23 -0
  17. package/build/commands/{canvas → ai-studio/canvas}/create-canvas.command.js +1 -1
  18. package/build/commands/{canvas → ai-studio/canvas}/delete-canvas.command.js +1 -1
  19. package/build/commands/ai-studio/canvas/execute-graph-by-node.command.js +17 -0
  20. package/build/commands/{canvas → ai-studio/canvas}/find-canvas-by-uuid-with-relations.query.js +1 -1
  21. package/build/commands/{canvas → ai-studio/canvas}/find-canvas-by-uuid.query.js +1 -1
  22. package/build/commands/{canvas → ai-studio/canvas}/find-canvases-by-user.query.js +2 -2
  23. package/build/commands/ai-studio/canvas/get-price.query.js +29 -0
  24. package/build/commands/{canvas → ai-studio/canvas}/index.js +2 -0
  25. package/build/commands/{canvas → ai-studio/canvas}/run-canvas.command.js +1 -7
  26. package/build/commands/{canvas → ai-studio/canvas}/save-canvas.command.js +10 -5
  27. package/build/commands/{canvas → ai-studio/canvas}/update-canvas.command.js +1 -1
  28. package/build/commands/{canvas-edge → ai-studio/canvas-edge}/create-canvas-edge.command.js +4 -3
  29. package/build/commands/{canvas-edge → ai-studio/canvas-edge}/find-canvas-edge-by-source-and-target.query.js +1 -1
  30. package/build/commands/{canvas-edge → ai-studio/canvas-edge}/find-canvas-edges-by-canvas.query.js +1 -1
  31. package/build/commands/ai-studio/canvas-node/count-canvas-nodes-by-canvas.query.js +16 -0
  32. package/build/commands/{canvas-node → ai-studio/canvas-node}/create-canvas-node.command.js +8 -4
  33. package/build/commands/{canvas-node → ai-studio/canvas-node}/delete-canvas-node.command.js +2 -2
  34. package/build/commands/{canvas-node → ai-studio/canvas-node}/find-canvas-node-by-uuid.query.js +2 -2
  35. package/build/commands/{canvas-node → ai-studio/canvas-node}/find-canvas-node-definitions-with-configs.query.js +1 -1
  36. package/build/commands/{canvas-node → ai-studio/canvas-node}/find-canvas-nodes-by-canvas.query.js +1 -1
  37. package/build/commands/{canvas-node → ai-studio/canvas-node}/index.js +1 -0
  38. package/build/commands/{canvas-node → ai-studio/canvas-node}/update-canvas-node.command.js +13 -5
  39. package/build/commands/ai-studio/canvas-template/create-canvas-from-generated-template.command.js +44 -0
  40. package/build/commands/{canvas-template → ai-studio/canvas-template}/create-canvas-from-template.command.js +1 -1
  41. package/build/commands/{canvas-template → ai-studio/canvas-template}/create-canvas-template.command.js +3 -2
  42. package/build/commands/{canvas-template → ai-studio/canvas-template}/delete-canvas-template.command.js +3 -2
  43. package/build/commands/{canvas-template → ai-studio/canvas-template}/find-canvas-template-by-uuid.query.js +1 -1
  44. package/build/commands/{canvas-template → ai-studio/canvas-template}/find-canvas-templates.query.js +5 -1
  45. package/build/commands/ai-studio/canvas-template/generate-canvas-template-by-prompt.command.js +14 -0
  46. package/build/commands/{canvas-template → ai-studio/canvas-template}/index.js +3 -1
  47. package/build/commands/{canvas-template → ai-studio/canvas-template}/update-canvas-template.command.js +3 -2
  48. package/build/{constants/canvas → commands/ai-studio/canvas-tool}/index.js +2 -1
  49. package/build/commands/ai-studio/canvas-tool/palette/generate-palette.command.js +20 -0
  50. package/build/commands/ai-studio/canvas-tool/palette/get-palette-price.command.js +17 -0
  51. package/build/{constants/canvas/enums → commands/ai-studio/canvas-tool/palette}/index.js +2 -1
  52. package/build/commands/ai-studio/canvas-tool/text-gen/generate-text.command.js +17 -0
  53. package/build/commands/ai-studio/canvas-tool/text-gen/get-text-generation-config.command.js +13 -0
  54. package/build/commands/ai-studio/canvas-tool/text-gen/get-text-generation-price.command.js +18 -0
  55. package/build/commands/ai-studio/canvas-tool/text-gen/index.js +19 -0
  56. package/build/commands/ai-studio/index.js +21 -0
  57. package/build/commands/blog/create-post.command.js +4 -11
  58. package/build/commands/category/create-category.command.js +6 -8
  59. package/build/commands/course/create-course.command.js +5 -9
  60. package/build/commands/index.js +6 -4
  61. package/build/commands/page/create-page.command.js +8 -10
  62. package/build/commands/prompt/create-prompt.command.js +2 -6
  63. package/build/commands/prompt-category/create-prompt-category.command.js +3 -7
  64. package/build/commands/prompt-topic/create-prompt-topic.command.js +3 -9
  65. package/build/commands/question/create-question.command.js +2 -6
  66. package/build/commands/tools/diagrams/get-diagrams-price.command.js +1 -1
  67. package/build/commands/tools/marketplace-card/execute-marketplace-card.command.js +1 -0
  68. package/build/commands/tools/marketplace-card/generate-marketplace-card-description.command.js +14 -0
  69. package/build/commands/tools/marketplace-card/index.js +1 -0
  70. package/build/commands/update-post/create-update-post-translation.command.js +20 -0
  71. package/build/commands/update-post/create-update-post.command.js +14 -0
  72. package/build/commands/update-post/find-all-update-posts.command.js +11 -0
  73. package/build/commands/update-post/find-update-post.command.js +17 -0
  74. package/build/commands/update-post/get-all-update-post-translations.query.js +14 -0
  75. package/build/commands/update-post/get-latest-update-posts.command.js +11 -0
  76. package/build/commands/update-post/index.js +24 -0
  77. package/build/commands/update-post/update-update-post-translation.command.js +20 -0
  78. package/build/commands/update-post/update-update-post.command.js +17 -0
  79. package/build/commands/user/send-telegram-notification.command.js +1 -6
  80. package/build/constants/ai-model/enums/ai-model-strategy.enum.js +1 -0
  81. package/build/constants/canvas-edge/enums/input-output-type.enum.js +2 -0
  82. package/build/constants/canvas-node/enums/canvas-node-type.enum.js +1 -0
  83. package/build/constants/index.js +0 -1
  84. package/build/constants/tool-video/enums/index.js +2 -0
  85. package/build/constants/tool-video/enums/video-publish-moderation-status.enum.js +9 -0
  86. package/build/models/canvas-edge.schema.js +2 -1
  87. package/build/models/canvas-node-definition.schema.js +12 -2
  88. package/build/models/canvas-node.schema.js +202 -80
  89. package/build/models/canvas-template.schema.js +26 -6
  90. package/build/models/canvas.schema.js +0 -2
  91. package/build/models/index.js +2 -0
  92. package/build/models/post.schema.js +1 -1
  93. package/build/models/tools/marketplace-card/index.js +1 -0
  94. package/build/models/tools/marketplace-card/marketplace-card-description-generation.schema.js +15 -0
  95. package/build/models/tools/video/video-job.schema.js +1 -0
  96. package/build/models/update-post-translation.schema.js +15 -0
  97. package/build/models/update-post.schema.js +13 -0
  98. package/commands/{canvas → ai-studio/canvas}/create-canvas.command.ts +1 -1
  99. package/commands/{canvas → ai-studio/canvas}/delete-canvas.command.ts +1 -1
  100. package/commands/ai-studio/canvas/execute-graph-by-node.command.ts +20 -0
  101. package/commands/{canvas → ai-studio/canvas}/find-canvas-by-uuid-with-relations.query.ts +1 -1
  102. package/commands/{canvas → ai-studio/canvas}/find-canvas-by-uuid.query.ts +1 -1
  103. package/commands/{canvas → ai-studio/canvas}/find-canvases-by-user.query.ts +2 -2
  104. package/commands/ai-studio/canvas/get-price.query.ts +37 -0
  105. package/commands/{canvas → ai-studio/canvas}/index.ts +2 -0
  106. package/commands/{canvas → ai-studio/canvas}/run-canvas.command.ts +1 -13
  107. package/commands/{canvas → ai-studio/canvas}/save-canvas.command.ts +15 -10
  108. package/commands/{canvas → ai-studio/canvas}/update-canvas.command.ts +1 -1
  109. package/commands/{canvas-edge → ai-studio/canvas-edge}/create-canvas-edge.command.ts +4 -3
  110. package/commands/{canvas-edge → ai-studio/canvas-edge}/find-canvas-edge-by-source-and-target.query.ts +1 -1
  111. package/commands/{canvas-edge → ai-studio/canvas-edge}/find-canvas-edges-by-canvas.query.ts +1 -1
  112. package/commands/ai-studio/canvas-node/count-canvas-nodes-by-canvas.query.ts +20 -0
  113. package/commands/ai-studio/canvas-node/create-canvas-node.command.ts +33 -0
  114. package/commands/{canvas-node → ai-studio/canvas-node}/delete-canvas-node.command.ts +2 -2
  115. package/commands/{canvas-node → ai-studio/canvas-node}/find-canvas-node-by-uuid.query.ts +2 -2
  116. package/commands/{canvas-node → ai-studio/canvas-node}/find-canvas-node-definitions-with-configs.query.ts +1 -1
  117. package/commands/{canvas-node → ai-studio/canvas-node}/find-canvas-nodes-by-canvas.query.ts +1 -1
  118. package/commands/{canvas-node → ai-studio/canvas-node}/index.ts +1 -0
  119. package/commands/ai-studio/canvas-node/update-canvas-node.command.ts +40 -0
  120. package/commands/ai-studio/canvas-template/create-canvas-from-generated-template.command.ts +57 -0
  121. package/commands/{canvas-template → ai-studio/canvas-template}/create-canvas-from-template.command.ts +1 -1
  122. package/commands/{canvas-template → ai-studio/canvas-template}/create-canvas-template.command.ts +7 -2
  123. package/commands/{canvas-template → ai-studio/canvas-template}/delete-canvas-template.command.ts +3 -2
  124. package/commands/{canvas-template → ai-studio/canvas-template}/find-canvas-template-by-uuid.query.ts +1 -1
  125. package/commands/{canvas-template → ai-studio/canvas-template}/find-canvas-templates.query.ts +5 -1
  126. package/commands/ai-studio/canvas-template/generate-canvas-template-by-prompt.command.ts +16 -0
  127. package/commands/{canvas-template → ai-studio/canvas-template}/index.ts +3 -1
  128. package/commands/{canvas-template → ai-studio/canvas-template}/update-canvas-template.command.ts +7 -2
  129. package/commands/ai-studio/canvas-tool/index.ts +2 -0
  130. package/commands/ai-studio/canvas-tool/palette/generate-palette.command.ts +23 -0
  131. package/commands/ai-studio/canvas-tool/palette/get-palette-price.command.ts +17 -0
  132. package/commands/ai-studio/canvas-tool/palette/index.ts +2 -0
  133. package/commands/ai-studio/canvas-tool/text-gen/generate-text.command.ts +17 -0
  134. package/commands/ai-studio/canvas-tool/text-gen/get-text-generation-config.command.ts +13 -0
  135. package/commands/ai-studio/canvas-tool/text-gen/get-text-generation-price.command.ts +18 -0
  136. package/commands/ai-studio/canvas-tool/text-gen/index.ts +3 -0
  137. package/commands/ai-studio/index.ts +5 -0
  138. package/commands/blog/create-post.command.ts +4 -11
  139. package/commands/category/create-category.command.ts +6 -8
  140. package/commands/course/create-course.command.ts +5 -9
  141. package/commands/index.ts +6 -5
  142. package/commands/page/create-page.command.ts +8 -10
  143. package/commands/prompt/create-prompt.command.ts +2 -6
  144. package/commands/prompt-category/create-prompt-category.command.ts +3 -7
  145. package/commands/prompt-topic/create-prompt-topic.command.ts +3 -9
  146. package/commands/question/create-question.command.ts +2 -6
  147. package/commands/tools/diagrams/get-diagrams-price.command.ts +1 -1
  148. package/commands/tools/marketplace-card/execute-marketplace-card.command.ts +1 -0
  149. package/commands/tools/marketplace-card/generate-marketplace-card-description.command.ts +16 -0
  150. package/commands/tools/marketplace-card/index.ts +1 -0
  151. package/commands/update-post/create-update-post-translation.command.ts +25 -0
  152. package/commands/update-post/create-update-post.command.ts +16 -0
  153. package/commands/update-post/find-all-update-posts.command.ts +10 -0
  154. package/commands/update-post/find-update-post.command.ts +22 -0
  155. package/commands/update-post/get-all-update-post-translations.query.ts +16 -0
  156. package/commands/update-post/get-latest-update-posts.command.ts +10 -0
  157. package/commands/update-post/index.ts +8 -0
  158. package/commands/update-post/update-update-post-translation.command.ts +25 -0
  159. package/commands/update-post/update-update-post.command.ts +22 -0
  160. package/commands/user/send-telegram-notification.command.ts +1 -8
  161. package/constants/ai-model/enums/ai-model-strategy.enum.ts +1 -0
  162. package/constants/canvas-edge/enums/input-output-type.enum.ts +2 -0
  163. package/constants/canvas-node/enums/canvas-node-type.enum.ts +1 -0
  164. package/constants/index.ts +0 -1
  165. package/constants/tool-video/enums/index.ts +2 -0
  166. package/constants/tool-video/enums/video-publish-moderation-status.enum.ts +5 -0
  167. package/models/canvas-edge.schema.ts +2 -1
  168. package/models/canvas-node-definition.schema.ts +15 -1
  169. package/models/canvas-node.schema.ts +253 -102
  170. package/models/canvas-template.schema.ts +34 -10
  171. package/models/canvas.schema.ts +0 -2
  172. package/models/index.ts +2 -0
  173. package/models/post.schema.ts +1 -1
  174. package/models/tools/marketplace-card/index.ts +1 -0
  175. package/models/tools/marketplace-card/marketplace-card-description-generation.schema.ts +17 -0
  176. package/models/tools/video/video-job.schema.ts +2 -1
  177. package/models/update-post-translation.schema.ts +13 -0
  178. package/models/update-post.schema.ts +11 -0
  179. package/package.json +1 -1
  180. package/build/constants/canvas/enums/canvas-status.enum.js +0 -9
  181. package/commands/canvas-node/create-canvas-node.command.ts +0 -25
  182. package/commands/canvas-node/update-canvas-node.command.ts +0 -26
  183. package/constants/canvas/enums/canvas-status.enum.ts +0 -5
  184. package/constants/canvas/enums/index.ts +0 -1
  185. package/constants/canvas/index.ts +0 -1
  186. /package/build/commands/{canvas-edge → ai-studio/canvas-edge}/delete-canvas-edge.command.js +0 -0
  187. /package/build/commands/{canvas-edge → ai-studio/canvas-edge}/index.js +0 -0
  188. /package/commands/{canvas-edge → ai-studio/canvas-edge}/delete-canvas-edge.command.ts +0 -0
  189. /package/commands/{canvas-edge → ai-studio/canvas-edge}/index.ts +0 -0
@@ -1,19 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CanvasTemplateSchema = exports.CanvasTemplateGraphSchema = void 0;
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");
7
- const CanvasTemplateGraphNodeSchema = zod_1.z.object({
7
+ const CanvasTemplateGraphNodeSchema = zod_1.z
8
+ .object({
8
9
  uuid: zod_1.z.string().trim().min(1),
9
10
  nodeDefinitionId: zod_1.z.nativeEnum(constants_1.CANVAS_NODE_TYPE),
10
11
  position: canvas_node_schema_1.CanvasNodePositionSchema,
11
- params: canvas_node_schema_1.CanvasNodeParamsSchema.nullable().optional(),
12
+ params: zod_1.z.unknown().nullable().optional(),
13
+ })
14
+ .superRefine((node, ctx) => {
15
+ (0, canvas_node_schema_1.validateCanvasNodeParamsByType)(node.nodeDefinitionId, node.params, ctx);
12
16
  });
13
17
  const CanvasTemplateGraphEdgeSchema = zod_1.z.object({
14
18
  sourceId: zod_1.z.string().trim().min(1),
15
19
  targetId: zod_1.z.string().trim().min(1),
16
- handle: zod_1.z.nativeEnum(constants_1.INPUT_OUTPUT_TYPE),
20
+ sourceHandle: zod_1.z.nativeEnum(constants_1.INPUT_OUTPUT_TYPE),
21
+ targetHandle: zod_1.z.nativeEnum(constants_1.INPUT_OUTPUT_TYPE),
17
22
  });
18
23
  exports.CanvasTemplateGraphSchema = zod_1.z
19
24
  .object({
@@ -50,14 +55,29 @@ exports.CanvasTemplateGraphSchema = zod_1.z
50
55
  }
51
56
  }
52
57
  });
58
+ exports.CanvasTemplateTagSchema = zod_1.z.object({
59
+ icons: zod_1.z.object({
60
+ svg: zod_1.z.string(),
61
+ png: zod_1.z.string(),
62
+ }),
63
+ alias: zod_1.z.string().trim().min(1),
64
+ title: zod_1.z.string().trim().min(1),
65
+ });
53
66
  exports.CanvasTemplateSchema = zod_1.z.object({
54
67
  uuid: zod_1.z.string().uuid(),
55
68
  name: zod_1.z.string(),
56
69
  description: zod_1.z.string().nullable(),
57
- userId: zod_1.z.string().uuid().nullable(),
70
+ isPopular: zod_1.z.boolean(),
58
71
  previewImageUrl: zod_1.z.string().url().nullable(),
59
- tags: zod_1.z.array(zod_1.z.string()),
72
+ tags: zod_1.z.array(exports.CanvasTemplateTagSchema),
60
73
  graph: exports.CanvasTemplateGraphSchema,
61
74
  createdAt: zod_1.z.date(),
62
75
  updatedAt: zod_1.z.date(),
63
76
  });
77
+ exports.GeneratedCanvasTemplateSchema = zod_1.z.object({
78
+ name: zod_1.z.string().trim().min(1),
79
+ description: zod_1.z.string().trim().min(1),
80
+ previewImageUrl: zod_1.z.string().url().nullable(),
81
+ tags: zod_1.z.array(exports.CanvasTemplateTagSchema),
82
+ graph: exports.CanvasTemplateGraphSchema,
83
+ });
@@ -2,12 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CanvasSchema = void 0;
4
4
  const zod_1 = require("zod");
5
- const constants_1 = require("../constants");
6
5
  exports.CanvasSchema = zod_1.z.object({
7
6
  uuid: zod_1.z.string().uuid(),
8
7
  name: zod_1.z.string(),
9
8
  userId: zod_1.z.string().uuid(),
10
- status: zod_1.z.nativeEnum(constants_1.CANVAS_STATUS),
11
9
  createdAt: zod_1.z.date(),
12
10
  updatedAt: zod_1.z.date(),
13
11
  });
@@ -66,6 +66,8 @@ __exportStar(require("./tool-group.schema"), exports);
66
66
  __exportStar(require("./tool.schema"), exports);
67
67
  __exportStar(require("./unlocked-by-subscription.schema"), exports);
68
68
  __exportStar(require("./unregistered-user.schema"), exports);
69
+ __exportStar(require("./update-post.schema"), exports);
70
+ __exportStar(require("./update-post-translation.schema"), exports);
69
71
  __exportStar(require("./user-task.schema"), exports);
70
72
  __exportStar(require("./user-to-product.schema"), exports);
71
73
  __exportStar(require("./user-to-subscription.schema"), exports);
@@ -7,7 +7,7 @@ exports.PostSchema = zod_1.z.object({
7
7
  uuid: zod_1.z.string().uuid(),
8
8
  title: zod_1.z.string(),
9
9
  alias: zod_1.z.string(),
10
- image: zod_1.z.string(),
10
+ image: zod_1.z.nullable(zod_1.z.string()),
11
11
  content: zod_1.z.string(),
12
12
  author: zod_1.z.string(),
13
13
  contentPreview: zod_1.z.nullable(zod_1.z.string()),
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./marketplace-card-config.schema"), exports);
18
+ __exportStar(require("./marketplace-card-description-generation.schema"), exports);
18
19
  __exportStar(require("./marketplace-card-job.schema"), exports);
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MarketplaceCardDescriptionGenerationSchema = void 0;
4
+ const constants_1 = require("../../../constants");
5
+ const zod_1 = require("zod");
6
+ exports.MarketplaceCardDescriptionGenerationSchema = zod_1.z.object({
7
+ uuid: zod_1.z.string().uuid(),
8
+ status: zod_1.z.nativeEnum(constants_1.TOOL_JOB_STATUS),
9
+ title: zod_1.z.string().nullable(),
10
+ subtitle: zod_1.z.string().nullable(),
11
+ advantages: zod_1.z.array(zod_1.z.string()),
12
+ tags: zod_1.z.array(zod_1.z.string()),
13
+ backgroundDescription: zod_1.z.string().nullable(),
14
+ price: zod_1.z.number(),
15
+ });
@@ -22,6 +22,7 @@ exports.VideoJobSchema = tool_job_schema_1.ToolJobSchema.extend({
22
22
  title: zod_1.z.string(),
23
23
  prompt: zod_1.z.string(),
24
24
  reaction: zod_1.z.nativeEnum(constants_1.USER_REACTION).nullable(),
25
+ publishModerationStatus: zod_1.z.nativeEnum(constants_1.VIDEO_PUBLISH_MODERATION_STATUS),
25
26
  videoUrl: zod_1.z.string().nullable(),
26
27
  video: zod_1.z
27
28
  .object({
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdatePostTranslationSchema = void 0;
4
+ const rugpt_lib_common_1 = require("@purpleschool/rugpt-lib-common");
5
+ const zod_1 = require("zod");
6
+ exports.UpdatePostTranslationSchema = zod_1.z.object({
7
+ uuid: zod_1.z.string().uuid(),
8
+ updatePostId: zod_1.z.string().uuid(),
9
+ locale: zod_1.z.nativeEnum(rugpt_lib_common_1.LOCALE),
10
+ title: zod_1.z.string(),
11
+ description: zod_1.z.string(),
12
+ image: zod_1.z.string(),
13
+ createdAt: zod_1.z.date(),
14
+ updatedAt: zod_1.z.date(),
15
+ });
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdatePostSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.UpdatePostSchema = zod_1.z.object({
6
+ uuid: zod_1.z.string().uuid(),
7
+ slug: zod_1.z.string(),
8
+ title: zod_1.z.string(),
9
+ description: zod_1.z.string(),
10
+ image: zod_1.z.string(),
11
+ createdAt: zod_1.z.date(),
12
+ updatedAt: zod_1.z.date(),
13
+ });
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { CanvasSchema } from '../../models';
2
+ import { CanvasSchema } from '../../../models';
3
3
 
4
4
  export namespace CreateCanvasCommand {
5
5
  export const RequestSchema = z.object({
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { CanvasSchema } from '../../models';
2
+ import { CanvasSchema } from '../../../models';
3
3
 
4
4
  export namespace DeleteCanvasCommand {
5
5
  export const RequestSchema = CanvasSchema.pick({
@@ -0,0 +1,20 @@
1
+ import { z } from 'zod';
2
+ import { CanvasNodeSchema, CanvasSchema } from '../../../models';
3
+
4
+ export namespace ExecuteGraphByNodeCommand {
5
+ export const RequestParamSchema = CanvasSchema.pick({
6
+ uuid: true,
7
+ });
8
+
9
+ export type RequestParam = z.infer<typeof RequestParamSchema>;
10
+
11
+ export const RequestSchema = z.object({
12
+ executableNodeId: z.string().uuid(),
13
+ });
14
+
15
+ export const ResponseSchema = z.object({
16
+ data: CanvasNodeSchema,
17
+ });
18
+
19
+ export type Response = z.infer<typeof ResponseSchema>;
20
+ }
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { CanvasEdgeSchema, CanvasNodeSchema, CanvasSchema } from '../../models';
2
+ import { CanvasEdgeSchema, CanvasNodeSchema, CanvasSchema } from '../../../models';
3
3
 
4
4
  export namespace FindCanvasByUuidWithRelationsQuery {
5
5
  export const RequestSchema = CanvasSchema.pick({
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { CanvasSchema } from '../../models';
2
+ import { CanvasSchema } from '../../../models';
3
3
 
4
4
  export namespace FindCanvasByUuidQuery {
5
5
  export const RequestSchema = CanvasSchema.pick({
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { CanvasSchema } from '../../models';
2
+ import { CanvasSchema } from '../../../models';
3
3
 
4
4
  export namespace FindCanvasesByUserQuery {
5
5
  export const RequestSchema = z.object({
@@ -11,7 +11,7 @@ export namespace FindCanvasesByUserQuery {
11
11
  export type Request = z.infer<typeof RequestSchema>;
12
12
 
13
13
  export const ResponseSchema = z.object({
14
- data: z.array(CanvasSchema),
14
+ data: z.array(CanvasSchema.extend({ countOfNodes: z.number() })),
15
15
  page: z.number(),
16
16
  totalPages: z.number(),
17
17
  });
@@ -0,0 +1,37 @@
1
+ import { z } from 'zod';
2
+ import { CANVAS_NODE_TYPE, TOOL_CONTENT_TYPE } from '../../../constants';
3
+ import { CanvasSchema } from '../../../models';
4
+
5
+ export namespace PriceCanvasQuery {
6
+ export const RequestParamSchema = CanvasSchema.pick({
7
+ uuid: true,
8
+ });
9
+
10
+ export type RequestParam = z.infer<typeof RequestParamSchema>;
11
+
12
+ export const QueryParamsSchema = z.object({
13
+ executableNodeId: z.string().uuid().optional(),
14
+ });
15
+
16
+ export type QueryParams = z.infer<typeof QueryParamsSchema>;
17
+
18
+ export const NodePriceSchema = z.object({
19
+ nodeId: z.string().uuid(),
20
+ nodeType: z.nativeEnum(CANVAS_NODE_TYPE),
21
+ toolType: z.nativeEnum(TOOL_CONTENT_TYPE).nullable(),
22
+ price: z.number(),
23
+ charSunlinPriceIncrease: z.number().nullable().optional(),
24
+ charSunlinPriceDecrease: z.number().nullable().optional(),
25
+ forecasted: z.boolean(),
26
+ static: z.boolean(),
27
+ });
28
+
29
+ export type NodePrice = z.infer<typeof NodePriceSchema>;
30
+
31
+ export const ResponseSchema = z.object({
32
+ price: z.number(),
33
+ nodes: z.array(NodePriceSchema),
34
+ });
35
+
36
+ export type Response = z.infer<typeof ResponseSchema>;
37
+ }
@@ -6,3 +6,5 @@ export * from './find-canvases-by-user.query';
6
6
  export * from './run-canvas.command';
7
7
  export * from './save-canvas.command';
8
8
  export * from './update-canvas.command';
9
+ export * from './execute-graph-by-node.command';
10
+ export * from './get-price.query';
@@ -1,6 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { CanvasEdgeSchema, CanvasNodeSchema, CanvasSchema } from '../../models';
3
- import { SaveCanvasCommand } from './save-canvas.command';
2
+ import { CanvasEdgeSchema, CanvasNodeSchema, CanvasSchema } from '../../../models';
4
3
 
5
4
  export namespace RunCanvasCommand {
6
5
  export const RequestParamSchema = CanvasSchema.pick({
@@ -9,17 +8,6 @@ export namespace RunCanvasCommand {
9
8
 
10
9
  export type RequestParam = z.infer<typeof RequestParamSchema>;
11
10
 
12
- export const RequestSchema = z.object({
13
- updatedAt: z.preprocess(
14
- (value) => (typeof value === 'string' ? new Date(value) : value),
15
- z.date(),
16
- ),
17
- nodes: z.array(SaveCanvasCommand.CanvasNodePayloadSchema),
18
- edges: z.array(SaveCanvasCommand.CanvasEdgePayloadSchema),
19
- });
20
-
21
- export type Request = z.infer<typeof RequestSchema>;
22
-
23
11
  export const ResponseSchema = z.object({
24
12
  data: CanvasSchema.extend({
25
13
  nodes: z.array(CanvasNodeSchema),
@@ -1,12 +1,12 @@
1
1
  import { z } from 'zod';
2
- import { CANVAS_NODE_TYPE, INPUT_OUTPUT_TYPE } from '../../constants';
2
+ import { CANVAS_NODE_TYPE, INPUT_OUTPUT_TYPE } from '../../../constants';
3
3
  import {
4
4
  CanvasEdgeSchema,
5
- CanvasNodeParamsSchema,
6
5
  CanvasNodePositionSchema,
7
6
  CanvasNodeSchema,
8
7
  CanvasSchema,
9
- } from '../../models';
8
+ validateCanvasNodeParamsByType,
9
+ } from '../../../models';
10
10
 
11
11
  export namespace SaveCanvasCommand {
12
12
  export const RequestParamSchema = CanvasSchema.pick({
@@ -15,17 +15,22 @@ export namespace SaveCanvasCommand {
15
15
 
16
16
  export type RequestParam = z.infer<typeof RequestParamSchema>;
17
17
 
18
- export const CanvasNodePayloadSchema = z.object({
19
- uuid: z.string().uuid(),
20
- nodeDefinitionId: z.nativeEnum(CANVAS_NODE_TYPE),
21
- position: CanvasNodePositionSchema,
22
- params: CanvasNodeParamsSchema.nullable().optional(),
23
- });
18
+ export const CanvasNodePayloadSchema = z
19
+ .object({
20
+ uuid: z.string().uuid(),
21
+ nodeDefinitionId: z.nativeEnum(CANVAS_NODE_TYPE),
22
+ position: CanvasNodePositionSchema,
23
+ params: z.unknown().nullable().optional(),
24
+ })
25
+ .superRefine((node, ctx) => {
26
+ validateCanvasNodeParamsByType(node.nodeDefinitionId, node.params, ctx);
27
+ });
24
28
 
25
29
  export const CanvasEdgePayloadSchema = z.object({
26
30
  sourceId: z.string().uuid(),
27
31
  targetId: z.string().uuid(),
28
- handle: z.nativeEnum(INPUT_OUTPUT_TYPE),
32
+ sourceHandle: z.nativeEnum(INPUT_OUTPUT_TYPE),
33
+ targetHandle: z.nativeEnum(INPUT_OUTPUT_TYPE),
29
34
  });
30
35
 
31
36
  export const RequestSchema = z.object({
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { CanvasSchema } from '../../models';
2
+ import { CanvasSchema } from '../../../models';
3
3
 
4
4
  export namespace UpdateCanvasCommand {
5
5
  export const RequestParamSchema = CanvasSchema.pick({
@@ -1,6 +1,6 @@
1
1
  import { z } from 'zod';
2
- import { INPUT_OUTPUT_TYPE } from '../../constants';
3
- import { CanvasEdgeSchema } from '../../models';
2
+ import { INPUT_OUTPUT_TYPE } from '../../../constants';
3
+ import { CanvasEdgeSchema } from '../../../models';
4
4
 
5
5
  export namespace CreateCanvasEdgeCommand {
6
6
  export const RequestParamSchema = z.object({
@@ -12,7 +12,8 @@ export namespace CreateCanvasEdgeCommand {
12
12
  export const RequestSchema = z.object({
13
13
  sourceId: z.string().uuid(),
14
14
  targetId: z.string().uuid(),
15
- handle: z.nativeEnum(INPUT_OUTPUT_TYPE),
15
+ sourceHandle: z.nativeEnum(INPUT_OUTPUT_TYPE),
16
+ targetHandle: z.nativeEnum(INPUT_OUTPUT_TYPE),
16
17
  });
17
18
 
18
19
  export type Request = z.infer<typeof RequestSchema>;
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { CanvasEdgeSchema } from '../../models';
2
+ import { CanvasEdgeSchema } from '../../../models';
3
3
 
4
4
  export namespace FindCanvasEdgeBySourceAndTargetQuery {
5
5
  export const RequestParamSchema = z.object({
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { CanvasEdgeSchema } from '../../models';
2
+ import { CanvasEdgeSchema } from '../../../models';
3
3
 
4
4
  export namespace FindCanvasEdgesByCanvasQuery {
5
5
  export const RequestParamSchema = z.object({
@@ -0,0 +1,20 @@
1
+ import { z } from 'zod';
2
+
3
+ export namespace CountCanvasNodesByCanvasQuery {
4
+ export const RequestSchema = z.object({
5
+ canvasIds: z.array(z.string().uuid()),
6
+ });
7
+
8
+ export type Request = z.infer<typeof RequestSchema>;
9
+
10
+ export const ResponseSchema = z.object({
11
+ data: z.array(
12
+ z.object({
13
+ canvasId: z.string().uuid(),
14
+ countOfNodes: z.number(),
15
+ }),
16
+ ),
17
+ });
18
+
19
+ export type Response = z.infer<typeof ResponseSchema>;
20
+ }
@@ -0,0 +1,33 @@
1
+ import { z } from 'zod';
2
+ import { CANVAS_NODE_TYPE } from '../../../constants';
3
+ import {
4
+ CanvasNodePositionSchema,
5
+ CanvasNodeSchema,
6
+ validateCanvasNodeParamsByType,
7
+ } from '../../../models';
8
+
9
+ export namespace CreateCanvasNodeCommand {
10
+ export const RequestParamSchema = z.object({
11
+ canvasId: z.string().uuid(),
12
+ });
13
+
14
+ export type RequestParam = z.infer<typeof RequestParamSchema>;
15
+
16
+ export const RequestSchema = z
17
+ .object({
18
+ nodeDefinitionId: z.nativeEnum(CANVAS_NODE_TYPE),
19
+ position: CanvasNodePositionSchema,
20
+ params: z.unknown().nullable(),
21
+ })
22
+ .superRefine((request, ctx) => {
23
+ validateCanvasNodeParamsByType(request.nodeDefinitionId, request.params, ctx);
24
+ });
25
+
26
+ export type Request = z.infer<typeof RequestSchema>;
27
+
28
+ export const ResponseSchema = z.object({
29
+ data: CanvasNodeSchema,
30
+ });
31
+
32
+ export type Response = z.infer<typeof ResponseSchema>;
33
+ }
@@ -1,8 +1,8 @@
1
1
  import { z } from 'zod';
2
- import { CanvasNodeSchema } from '../../models';
2
+ import { CanvasNodeBaseSchema } from '../../../models';
3
3
 
4
4
  export namespace DeleteCanvasNodeCommand {
5
- export const RequestParamSchema = CanvasNodeSchema.pick({
5
+ export const RequestParamSchema = CanvasNodeBaseSchema.pick({
6
6
  canvasId: true,
7
7
  uuid: true,
8
8
  });
@@ -1,8 +1,8 @@
1
1
  import { z } from 'zod';
2
- import { CanvasNodeSchema } from '../../models';
2
+ import { CanvasNodeBaseSchema, CanvasNodeSchema } from '../../../models';
3
3
 
4
4
  export namespace FindCanvasNodeByUuidQuery {
5
- export const RequestParamSchema = CanvasNodeSchema.pick({
5
+ export const RequestParamSchema = CanvasNodeBaseSchema.pick({
6
6
  canvasId: true,
7
7
  uuid: true,
8
8
  });
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { CanvasNodeDefinitionsWithConfigsSchema } from '../../models';
2
+ import { CanvasNodeDefinitionsWithConfigsSchema } from '../../../models';
3
3
 
4
4
  export namespace FindCanvasNodeDefinitionsWithConfigsQuery {
5
5
  export const ResponseSchema = z.object({
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { CanvasNodeSchema } from '../../models';
2
+ import { CanvasNodeSchema } from '../../../models';
3
3
 
4
4
  export namespace FindCanvasNodesByCanvasQuery {
5
5
  export const RequestParamSchema = z.object({
@@ -1,3 +1,4 @@
1
+ export * from './count-canvas-nodes-by-canvas.query';
1
2
  export * from './create-canvas-node.command';
2
3
  export * from './delete-canvas-node.command';
3
4
  export * from './find-canvas-node-by-uuid.query';
@@ -0,0 +1,40 @@
1
+ import { z } from 'zod';
2
+ import { CANVAS_NODE_TYPE } from '../../../constants';
3
+ import {
4
+ CanvasNodeBaseSchema,
5
+ CanvasNodePositionSchema,
6
+ CanvasNodeSchema,
7
+ validateCanvasNodeOutputByType,
8
+ validateCanvasNodeParamsByType,
9
+ } from '../../../models';
10
+
11
+ export namespace UpdateCanvasNodeCommand {
12
+ export const RequestParamSchema = CanvasNodeBaseSchema.pick({
13
+ canvasId: true,
14
+ uuid: true,
15
+ });
16
+
17
+ export type RequestParam = z.infer<typeof RequestParamSchema>;
18
+
19
+ export const RequestSchema = z
20
+ .object({
21
+ nodeDefinitionId: z.nativeEnum(CANVAS_NODE_TYPE).optional(),
22
+ position: CanvasNodePositionSchema.optional(),
23
+ params: z.unknown().nullable().optional(),
24
+ output: z.unknown().nullable().optional(),
25
+ })
26
+ .superRefine((request, ctx) => {
27
+ if (request.nodeDefinitionId !== undefined) {
28
+ validateCanvasNodeParamsByType(request.nodeDefinitionId, request.params, ctx);
29
+ validateCanvasNodeOutputByType(request.nodeDefinitionId, request.output, ctx);
30
+ }
31
+ });
32
+
33
+ export type Request = z.infer<typeof RequestSchema>;
34
+
35
+ export const ResponseSchema = z.object({
36
+ data: CanvasNodeSchema,
37
+ });
38
+
39
+ export type Response = z.infer<typeof ResponseSchema>;
40
+ }
@@ -0,0 +1,57 @@
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
+ modelId: z.string().trim().min(1).optional(),
27
+ modelName: z.string().trim().min(1).optional(),
28
+ })
29
+ .catchall(z.unknown()),
30
+ }),
31
+ ),
32
+ edges: z.array(
33
+ z.object({
34
+ sourceId: z.string().trim().min(1),
35
+ targetId: z.string().trim().min(1),
36
+ sourceHandle: z.nativeEnum(INPUT_OUTPUT_TYPE),
37
+ targetHandle: z.nativeEnum(INPUT_OUTPUT_TYPE),
38
+ }),
39
+ ),
40
+ }),
41
+ });
42
+
43
+ export const RequestSchema = z.object({
44
+ data: GeneratedTemplateInputSchema,
45
+ });
46
+
47
+ export type Request = z.infer<typeof RequestSchema>;
48
+
49
+ export const ResponseSchema = z.object({
50
+ data: CanvasSchema.extend({
51
+ nodes: z.array(CanvasNodeSchema),
52
+ edges: z.array(CanvasEdgeSchema),
53
+ }),
54
+ });
55
+
56
+ export type Response = z.infer<typeof ResponseSchema>;
57
+ }
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { CanvasEdgeSchema, CanvasNodeSchema, CanvasSchema } from '../../models';
2
+ import { CanvasEdgeSchema, CanvasNodeSchema, CanvasSchema } from '../../../models';
3
3
 
4
4
  export namespace CreateCanvasFromTemplateCommand {
5
5
  export const RequestParamSchema = z.object({
@@ -1,12 +1,17 @@
1
1
  import { z } from 'zod';
2
- import { CanvasTemplateSchema, CanvasTemplateGraphSchema } from '../../models';
2
+ import {
3
+ CanvasTemplateGraphSchema,
4
+ CanvasTemplateSchema,
5
+ CanvasTemplateTagSchema,
6
+ } from '../../../models';
3
7
 
4
8
  export namespace CreateCanvasTemplateCommand {
5
9
  export const RequestSchema = z.object({
6
10
  name: z.string().trim().min(1),
7
11
  description: z.string().trim().min(1).optional().nullable(),
12
+ isPopular: z.boolean().optional().default(false),
8
13
  previewImageUrl: z.string().url().optional().nullable(),
9
- tags: z.array(z.string().trim().min(1)).default([]),
14
+ tags: z.array(CanvasTemplateTagSchema).default([]),
10
15
  graph: CanvasTemplateGraphSchema,
11
16
  });
12
17
 
@@ -1,8 +1,9 @@
1
1
  import { z } from 'zod';
2
+ import { CanvasTemplateSchema } from '../../../models';
2
3
 
3
4
  export namespace DeleteCanvasTemplateCommand {
4
- export const RequestParamSchema = z.object({
5
- uuid: z.string().uuid(),
5
+ export const RequestParamSchema = CanvasTemplateSchema.pick({
6
+ uuid: true,
6
7
  });
7
8
 
8
9
  export type RequestParam = z.infer<typeof RequestParamSchema>;
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { CanvasTemplateSchema } from '../../models';
2
+ import { CanvasTemplateSchema } from '../../../models';
3
3
 
4
4
  export namespace FindCanvasTemplateByUuidQuery {
5
5
  export const RequestSchema = CanvasTemplateSchema.pick({