@purpleschool/gptbot-tools 0.4.1-stage-2-no-html → 0.4.2-stage-2

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 (87) hide show
  1. package/build/html-page-builder/commands/get-html-page-builder-price-calculation-data.command.d.ts +31 -7
  2. package/build/html-page-builder/commands/get-html-page-builder-price-calculation-data.command.js +30 -3
  3. package/build/html-page-builder/commands/html-page-builder-answer-questions.command.d.ts +244 -0
  4. package/build/html-page-builder/commands/html-page-builder-answer-questions.command.js +23 -0
  5. package/build/html-page-builder/commands/html-page-builder-execute.command.d.ts +138 -8
  6. package/build/html-page-builder/commands/html-page-builder-execute.command.js +18 -0
  7. package/build/html-page-builder/commands/index.d.ts +2 -1
  8. package/build/html-page-builder/commands/index.js +2 -1
  9. package/build/html-page-builder/commands/update-html-page-builder-session-favorite.command.d.ts +128 -8
  10. package/build/html-page-builder/commands/update-html-page-builder-session-reaction.command.d.ts +242 -0
  11. package/build/html-page-builder/commands/update-html-page-builder-session-reaction.command.js +22 -0
  12. package/build/html-page-builder/commands/update-html-page-builder-session-title.command.d.ts +128 -8
  13. package/build/html-page-builder/enums/html-page-builder-catalog-sort.enum.d.ts +4 -0
  14. package/build/html-page-builder/enums/html-page-builder-catalog-sort.enum.js +9 -0
  15. package/build/html-page-builder/enums/html-page-builder-font-tag.enum.d.ts +5 -0
  16. package/build/html-page-builder/enums/html-page-builder-font-tag.enum.js +10 -0
  17. package/build/html-page-builder/enums/html-page-builder-generation-step.enum.d.ts +15 -0
  18. package/build/html-page-builder/enums/html-page-builder-generation-step.enum.js +17 -0
  19. package/build/html-page-builder/enums/html-page-builder-question-type.enum.d.ts +12 -0
  20. package/build/html-page-builder/enums/html-page-builder-question-type.enum.js +16 -0
  21. package/build/html-page-builder/enums/html-page-builder-session-status.enum.d.ts +19 -0
  22. package/build/html-page-builder/enums/html-page-builder-session-status.enum.js +23 -0
  23. package/build/html-page-builder/enums/html-page-builder-style-tag.enum.d.ts +8 -0
  24. package/build/html-page-builder/enums/html-page-builder-style-tag.enum.js +12 -0
  25. package/build/html-page-builder/enums/index.d.ts +6 -1
  26. package/build/html-page-builder/enums/index.js +6 -1
  27. package/build/html-page-builder/models/html-page-builder-clarification.schema.d.ts +40 -0
  28. package/build/html-page-builder/models/html-page-builder-clarification.schema.js +32 -0
  29. package/build/html-page-builder/models/html-page-builder-config.schema.d.ts +109 -0
  30. package/build/html-page-builder/models/html-page-builder-config.schema.js +19 -1
  31. package/build/html-page-builder/models/html-page-builder-font.schema.d.ts +24 -0
  32. package/build/html-page-builder/models/html-page-builder-font.schema.js +19 -0
  33. package/build/html-page-builder/models/html-page-builder-job.schema.d.ts +78 -3
  34. package/build/html-page-builder/models/html-page-builder-job.schema.js +50 -3
  35. package/build/html-page-builder/models/html-page-builder-page.schema.d.ts +25 -0
  36. package/build/html-page-builder/models/html-page-builder-page.schema.js +13 -0
  37. package/build/html-page-builder/models/html-page-builder-preset.schema.d.ts +58 -0
  38. package/build/html-page-builder/models/html-page-builder-preset.schema.js +23 -0
  39. package/build/html-page-builder/models/html-page-builder-session.schema.d.ts +67 -7
  40. package/build/html-page-builder/models/html-page-builder-session.schema.js +15 -3
  41. package/build/html-page-builder/models/html-page-builder-shared-site.schema.d.ts +12 -0
  42. package/build/html-page-builder/models/html-page-builder-shared-site.schema.js +16 -0
  43. package/build/html-page-builder/models/html-page-builder-sitemap.schema.d.ts +31 -0
  44. package/build/html-page-builder/models/html-page-builder-sitemap.schema.js +17 -0
  45. package/build/html-page-builder/models/html-page-builder-style.schema.d.ts +16 -0
  46. package/build/html-page-builder/models/html-page-builder-style.schema.js +19 -0
  47. package/build/html-page-builder/models/html-page-builder-token-usage.schema.d.ts +35 -0
  48. package/build/html-page-builder/models/html-page-builder-token-usage.schema.js +21 -0
  49. package/build/html-page-builder/models/index.d.ts +8 -0
  50. package/build/html-page-builder/models/index.js +8 -0
  51. package/build/html-page-builder/queries/find-html-page-builder-font-by-id.query.d.ts +55 -0
  52. package/build/html-page-builder/queries/find-html-page-builder-font-by-id.query.js +15 -0
  53. package/build/html-page-builder/queries/find-html-page-builder-fonts.query.d.ts +69 -0
  54. package/build/html-page-builder/queries/find-html-page-builder-fonts.query.js +28 -0
  55. package/build/html-page-builder/queries/find-html-page-builder-presets.query.d.ts +136 -0
  56. package/build/html-page-builder/queries/find-html-page-builder-presets.query.js +21 -0
  57. package/build/html-page-builder/queries/find-html-page-builder-session-by-id.query.d.ts +128 -8
  58. package/build/html-page-builder/queries/find-html-page-builder-sessions.query.d.ts +133 -12
  59. package/build/html-page-builder/queries/find-html-page-builder-sessions.query.js +2 -1
  60. package/build/html-page-builder/queries/find-html-page-builder-style-by-id.query.d.ts +39 -0
  61. package/build/html-page-builder/queries/find-html-page-builder-style-by-id.query.js +15 -0
  62. package/build/html-page-builder/queries/find-html-page-builder-styles.query.d.ts +53 -0
  63. package/build/html-page-builder/queries/find-html-page-builder-styles.query.js +28 -0
  64. package/build/html-page-builder/queries/get-html-page-builder-config.query.d.ts +196 -0
  65. package/build/html-page-builder/queries/get-shared-html-page-builder-site.query.d.ts +20 -0
  66. package/build/html-page-builder/queries/get-shared-html-page-builder-site.query.js +15 -0
  67. package/build/html-page-builder/queries/index.d.ts +6 -0
  68. package/build/html-page-builder/queries/index.js +6 -0
  69. package/build/html-page-builder/routes/html-page-builder.amqp.routes.d.ts +8 -1
  70. package/build/html-page-builder/routes/html-page-builder.amqp.routes.js +11 -1
  71. package/build/tool-workspace/commands/update-tool-workspace.command.d.ts +5 -0
  72. package/build/tool-workspace/commands/update-tool-workspace.command.js +1 -0
  73. package/build/tool-workspace/models/tool-workspace-contents.schema.d.ts +2 -0
  74. package/build/tool-workspace/models/tool-workspace.schema.d.ts +2 -0
  75. package/build/tool-workspace/models/tool-workspace.schema.js +2 -0
  76. package/build/tool-workspace/queries/find-tool-workspace-by-uuid.query.d.ts +4 -0
  77. package/build/tool-workspace/queries/find-tool-workspaces.query.d.ts +7 -0
  78. package/build/tool-workspace/queries/find-tool-workspaces.query.js +3 -0
  79. package/build/tools/models/global-tools-config.schema.d.ts +98 -0
  80. package/build/tools/models/tools-with-configs.schema.d.ts +196 -0
  81. package/build/tools/queries/get-global-tools-config.query.d.ts +196 -0
  82. package/build/tools/queries/get-tools-with-configs.query.d.ts +196 -0
  83. package/package.json +1 -1
  84. package/build/html-page-builder/commands/create-html-page-builder-session.command.d.ts +0 -118
  85. package/build/html-page-builder/commands/create-html-page-builder-session.command.js +0 -28
  86. package/build/html-page-builder/enums/html-page-builder-session-stage.enum.d.ts +0 -4
  87. package/build/html-page-builder/enums/html-page-builder-session-stage.enum.js +0 -8
@@ -1,10 +1,13 @@
1
1
  import { z } from 'zod';
2
- import { HTML_PAGE_BUILDER_SESSION_STAGE } from '../enums';
3
2
  export declare namespace GetHtmlPageBuilderPriceCalculationDataCommand {
4
3
  const RequestSchema: z.ZodObject<{
5
4
  modelId: z.ZodUUID;
6
5
  inputLength: z.ZodNumber;
7
6
  sessionId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
7
+ pagesCount: z.ZodNumber;
8
+ styleId: z.ZodUUID;
9
+ fontId: z.ZodUUID;
10
+ clarificationsLength: z.ZodOptional<z.ZodNumber>;
8
11
  }, z.core.$strip>;
9
12
  type Request = z.infer<typeof RequestSchema>;
10
13
  const ResponseDataSchema: z.ZodObject<{
@@ -12,18 +15,25 @@ export declare namespace GetHtmlPageBuilderPriceCalculationDataCommand {
12
15
  inputPrice: z.ZodNumber;
13
16
  outputPrice: z.ZodNumber;
14
17
  }, z.core.$strip>;
18
+ clarificationsModelPricing: z.ZodOptional<z.ZodObject<{
19
+ inputPrice: z.ZodNumber;
20
+ outputPrice: z.ZodNumber;
21
+ }, z.core.$strip>>;
15
22
  effectivePromptLength: z.ZodNumber;
16
23
  breakdown: z.ZodObject<{
17
24
  systemPromptLength: z.ZodNumber;
18
25
  inputLength: z.ZodNumber;
19
- currentHtmlLength: z.ZodNumber;
20
26
  userPromptTemplateOverheadLength: z.ZodNumber;
21
27
  modeHintLength: z.ZodNumber;
22
28
  userMessageLength: z.ZodNumber;
23
29
  attachmentsTextLength: z.ZodNumber;
30
+ pagesCount: z.ZodOptional<z.ZodNumber>;
31
+ clarificationsLength: z.ZodOptional<z.ZodNumber>;
32
+ sitemapPromptLength: z.ZodOptional<z.ZodNumber>;
33
+ subPagesPromptLength: z.ZodOptional<z.ZodNumber>;
34
+ clarificationsStepPromptLength: z.ZodOptional<z.ZodNumber>;
24
35
  }, z.core.$strip>;
25
36
  metadata: z.ZodObject<{
26
- mode: z.ZodEnum<typeof HTML_PAGE_BUILDER_SESSION_STAGE>;
27
37
  modelId: z.ZodUUID;
28
38
  sessionId: z.ZodNullable<z.ZodUUID>;
29
39
  }, z.core.$strip>;
@@ -36,18 +46,25 @@ export declare namespace GetHtmlPageBuilderPriceCalculationDataCommand {
36
46
  inputPrice: number;
37
47
  outputPrice: number;
38
48
  };
49
+ clarificationsModelPricing?: {
50
+ inputPrice: number;
51
+ outputPrice: number;
52
+ } | undefined;
39
53
  effectivePromptLength: number;
40
54
  breakdown: {
41
55
  systemPromptLength: number;
42
56
  inputLength: number;
43
- currentHtmlLength: number;
44
57
  userPromptTemplateOverheadLength: number;
45
58
  modeHintLength: number;
46
59
  userMessageLength: number;
47
60
  attachmentsTextLength: number;
61
+ pagesCount?: number | undefined;
62
+ clarificationsLength?: number | undefined;
63
+ sitemapPromptLength?: number | undefined;
64
+ subPagesPromptLength?: number | undefined;
65
+ clarificationsStepPromptLength?: number | undefined;
48
66
  };
49
67
  metadata: {
50
- mode: HTML_PAGE_BUILDER_SESSION_STAGE;
51
68
  modelId: string;
52
69
  sessionId: string | null;
53
70
  };
@@ -56,18 +73,25 @@ export declare namespace GetHtmlPageBuilderPriceCalculationDataCommand {
56
73
  inputPrice: number;
57
74
  outputPrice: number;
58
75
  };
76
+ clarificationsModelPricing?: {
77
+ inputPrice: number;
78
+ outputPrice: number;
79
+ } | undefined;
59
80
  effectivePromptLength: number;
60
81
  breakdown: {
61
82
  systemPromptLength: number;
62
83
  inputLength: number;
63
- currentHtmlLength: number;
64
84
  userPromptTemplateOverheadLength: number;
65
85
  modeHintLength: number;
66
86
  userMessageLength: number;
67
87
  attachmentsTextLength: number;
88
+ pagesCount?: number | undefined;
89
+ clarificationsLength?: number | undefined;
90
+ sitemapPromptLength?: number | undefined;
91
+ subPagesPromptLength?: number | undefined;
92
+ clarificationsStepPromptLength?: number | undefined;
68
93
  };
69
94
  metadata: {
70
- mode: HTML_PAGE_BUILDER_SESSION_STAGE;
71
95
  modelId: string;
72
96
  sessionId: string | null;
73
97
  };
@@ -3,31 +3,58 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GetHtmlPageBuilderPriceCalculationDataCommand = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const command_response_schema_1 = require("../../common/models/command-response.schema");
6
- const enums_1 = require("../enums");
7
6
  var GetHtmlPageBuilderPriceCalculationDataCommand;
8
7
  (function (GetHtmlPageBuilderPriceCalculationDataCommand) {
9
8
  GetHtmlPageBuilderPriceCalculationDataCommand.RequestSchema = zod_1.z.object({
10
9
  modelId: zod_1.z.uuid(),
10
+ // Bounded by the model's own `maxPromptLength`, checked in the service: a quote for a
11
+ // prompt `execute` would refuse is meaningless, and the estimate builds placeholder
12
+ // strings of this length.
11
13
  inputLength: zod_1.z.number().int().nonnegative(),
12
14
  sessionId: zod_1.z.uuid().nullable().optional(),
15
+ // Required, exactly as in `execute`: the volume is what the run is priced by
16
+ pagesCount: zod_1.z.number().int().positive(),
17
+ /**
18
+ * Design of the planned site. The style and font directives are part of the prompt of the
19
+ * clarifying step, so they are part of what is quoted — a quote without them would
20
+ * under-reserve by their own length. Required for the same reason `execute` requires them.
21
+ */
22
+ styleId: zod_1.z.uuid(),
23
+ fontId: zod_1.z.uuid(),
24
+ // Length of the rendered clarifications block; it is part of the paid prompt
25
+ clarificationsLength: zod_1.z.number().int().nonnegative().optional(),
13
26
  });
14
27
  GetHtmlPageBuilderPriceCalculationDataCommand.ResponseDataSchema = zod_1.z.object({
15
28
  modelPricing: zod_1.z.object({
16
29
  inputPrice: zod_1.z.number(),
17
30
  outputPrice: zod_1.z.number(),
18
31
  }),
32
+ /**
33
+ * The clarifying step runs on a model of its own, fixed inside the service, so its price
34
+ * cannot be derived from `modelPricing`.
35
+ */
36
+ clarificationsModelPricing: zod_1.z
37
+ .object({
38
+ inputPrice: zod_1.z.number(),
39
+ outputPrice: zod_1.z.number(),
40
+ })
41
+ .optional(),
19
42
  effectivePromptLength: zod_1.z.number(),
20
43
  breakdown: zod_1.z.object({
21
44
  systemPromptLength: zod_1.z.number(),
22
45
  inputLength: zod_1.z.number(),
23
- currentHtmlLength: zod_1.z.number(),
24
46
  userPromptTemplateOverheadLength: zod_1.z.number(),
25
47
  modeHintLength: zod_1.z.number(),
26
48
  userMessageLength: zod_1.z.number(),
27
49
  attachmentsTextLength: zod_1.z.number(),
50
+ pagesCount: zod_1.z.number().optional(),
51
+ clarificationsLength: zod_1.z.number().optional(),
52
+ sitemapPromptLength: zod_1.z.number().optional(),
53
+ subPagesPromptLength: zod_1.z.number().optional(),
54
+ // Prompt length of the clarifying step, priced by `clarificationsModelPricing`
55
+ clarificationsStepPromptLength: zod_1.z.number().optional(),
28
56
  }),
29
57
  metadata: zod_1.z.object({
30
- mode: zod_1.z.enum(enums_1.HTML_PAGE_BUILDER_SESSION_STAGE),
31
58
  modelId: zod_1.z.uuid(),
32
59
  sessionId: zod_1.z.uuid().nullable(),
33
60
  }),
@@ -0,0 +1,244 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Free on purpose: the generation was already paid for by `execute`, and this is the same run
4
+ * continuing. It carries no `tokenReservationId` and no price.
5
+ */
6
+ export declare namespace HtmlPageBuilderAnswerQuestionsCommand {
7
+ const RequestSchema: z.ZodObject<{
8
+ userId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
9
+ unregisteredUserId: z.ZodOptional<z.ZodNullable<z.ZodUUID>>;
10
+ jobId: z.ZodUUID;
11
+ answers: z.ZodArray<z.ZodObject<{
12
+ questionId: z.ZodString;
13
+ answers: z.ZodArray<z.ZodString>;
14
+ }, z.core.$strip>>;
15
+ }, z.core.$strip>;
16
+ type Request = z.infer<typeof RequestSchema>;
17
+ const ResponseSchema: z.ZodObject<{
18
+ isSuccess: z.ZodBoolean;
19
+ data: z.ZodOptional<z.ZodType<{
20
+ uuid: string;
21
+ title: string;
22
+ status: import("..").HTML_PAGE_BUILDER_SESSION_STATUS;
23
+ currentHtml?: string | null | undefined;
24
+ currentJobId?: string | null | undefined;
25
+ currentJob?: {
26
+ uuid: string;
27
+ status: import("../..").JOB_STATUS;
28
+ previewUrl?: string | undefined;
29
+ files?: {
30
+ stylesheet: string;
31
+ script: string;
32
+ pages: {
33
+ slug: string;
34
+ url: string;
35
+ }[];
36
+ } | undefined;
37
+ error: string | null;
38
+ createdAt: Date;
39
+ completedAt?: Date | null | undefined;
40
+ } | null | undefined;
41
+ lastUsedModelId?: string | null | undefined;
42
+ reaction: import("../..").USER_REACTION | null;
43
+ dislikeReason: string | null;
44
+ userId?: string | null | undefined;
45
+ unregisteredUserId?: string | null | undefined;
46
+ isDeleted: boolean;
47
+ isFavorite: boolean;
48
+ jobs?: {
49
+ uuid: string;
50
+ sessionId: string;
51
+ modelId: string;
52
+ userPrompt: string;
53
+ title: string;
54
+ generatedHtml?: string | null | undefined;
55
+ generatedPages?: {
56
+ slug: string;
57
+ title: string;
58
+ html: string;
59
+ order: number;
60
+ isHome: boolean;
61
+ }[] | null | undefined;
62
+ previewUrl?: string | undefined;
63
+ files?: {
64
+ stylesheet: string;
65
+ script: string;
66
+ pages: {
67
+ slug: string;
68
+ url: string;
69
+ }[];
70
+ } | undefined;
71
+ status: import("../..").JOB_STATUS;
72
+ error: string | null;
73
+ internalError?: string | null | undefined;
74
+ price: number;
75
+ inputTokens?: number | null | undefined;
76
+ outputTokens?: number | null | undefined;
77
+ totalTokens?: number | null | undefined;
78
+ tokenReservationId?: string | null | undefined;
79
+ questions: {
80
+ id: string;
81
+ question: string;
82
+ type: import("..").HTML_PAGE_BUILDER_QUESTION_TYPE;
83
+ options: string[];
84
+ recommendedAnswer: string;
85
+ allowCustomAnswer: boolean;
86
+ }[];
87
+ answers: {
88
+ questionId: string;
89
+ answers: string[];
90
+ }[];
91
+ styleId?: string | null | undefined;
92
+ fontId?: string | null | undefined;
93
+ accentColor: string;
94
+ userId?: string | null | undefined;
95
+ unregisteredUserId?: string | null | undefined;
96
+ params: {
97
+ attachedFiles: {
98
+ uuid: string;
99
+ url: string;
100
+ name: string;
101
+ mimeType: string;
102
+ type: string;
103
+ size: number;
104
+ duration?: number | null | undefined;
105
+ content?: string | null | undefined;
106
+ contentLength?: number | null | undefined;
107
+ }[];
108
+ pagesCount?: number | undefined;
109
+ clarifications: {
110
+ question: string;
111
+ answer: string;
112
+ }[];
113
+ mock?: boolean | undefined;
114
+ };
115
+ isDeleted: boolean;
116
+ createdAt: Date;
117
+ completedAt?: Date | null | undefined;
118
+ updatedAt: Date;
119
+ }[] | undefined;
120
+ pages?: {
121
+ slug: string;
122
+ title: string;
123
+ html: string;
124
+ order: number;
125
+ isHome: boolean;
126
+ }[] | undefined;
127
+ createdAt: Date;
128
+ updatedAt: Date;
129
+ }, unknown, z.core.$ZodTypeInternals<{
130
+ uuid: string;
131
+ title: string;
132
+ status: import("..").HTML_PAGE_BUILDER_SESSION_STATUS;
133
+ currentHtml?: string | null | undefined;
134
+ currentJobId?: string | null | undefined;
135
+ currentJob?: {
136
+ uuid: string;
137
+ status: import("../..").JOB_STATUS;
138
+ previewUrl?: string | undefined;
139
+ files?: {
140
+ stylesheet: string;
141
+ script: string;
142
+ pages: {
143
+ slug: string;
144
+ url: string;
145
+ }[];
146
+ } | undefined;
147
+ error: string | null;
148
+ createdAt: Date;
149
+ completedAt?: Date | null | undefined;
150
+ } | null | undefined;
151
+ lastUsedModelId?: string | null | undefined;
152
+ reaction: import("../..").USER_REACTION | null;
153
+ dislikeReason: string | null;
154
+ userId?: string | null | undefined;
155
+ unregisteredUserId?: string | null | undefined;
156
+ isDeleted: boolean;
157
+ isFavorite: boolean;
158
+ jobs?: {
159
+ uuid: string;
160
+ sessionId: string;
161
+ modelId: string;
162
+ userPrompt: string;
163
+ title: string;
164
+ generatedHtml?: string | null | undefined;
165
+ generatedPages?: {
166
+ slug: string;
167
+ title: string;
168
+ html: string;
169
+ order: number;
170
+ isHome: boolean;
171
+ }[] | null | undefined;
172
+ previewUrl?: string | undefined;
173
+ files?: {
174
+ stylesheet: string;
175
+ script: string;
176
+ pages: {
177
+ slug: string;
178
+ url: string;
179
+ }[];
180
+ } | undefined;
181
+ status: import("../..").JOB_STATUS;
182
+ error: string | null;
183
+ internalError?: string | null | undefined;
184
+ price: number;
185
+ inputTokens?: number | null | undefined;
186
+ outputTokens?: number | null | undefined;
187
+ totalTokens?: number | null | undefined;
188
+ tokenReservationId?: string | null | undefined;
189
+ questions: {
190
+ id: string;
191
+ question: string;
192
+ type: import("..").HTML_PAGE_BUILDER_QUESTION_TYPE;
193
+ options: string[];
194
+ recommendedAnswer: string;
195
+ allowCustomAnswer: boolean;
196
+ }[];
197
+ answers: {
198
+ questionId: string;
199
+ answers: string[];
200
+ }[];
201
+ styleId?: string | null | undefined;
202
+ fontId?: string | null | undefined;
203
+ accentColor: string;
204
+ userId?: string | null | undefined;
205
+ unregisteredUserId?: string | null | undefined;
206
+ params: {
207
+ attachedFiles: {
208
+ uuid: string;
209
+ url: string;
210
+ name: string;
211
+ mimeType: string;
212
+ type: string;
213
+ size: number;
214
+ duration?: number | null | undefined;
215
+ content?: string | null | undefined;
216
+ contentLength?: number | null | undefined;
217
+ }[];
218
+ pagesCount?: number | undefined;
219
+ clarifications: {
220
+ question: string;
221
+ answer: string;
222
+ }[];
223
+ mock?: boolean | undefined;
224
+ };
225
+ isDeleted: boolean;
226
+ createdAt: Date;
227
+ completedAt?: Date | null | undefined;
228
+ updatedAt: Date;
229
+ }[] | undefined;
230
+ pages?: {
231
+ slug: string;
232
+ title: string;
233
+ html: string;
234
+ order: number;
235
+ isHome: boolean;
236
+ }[] | undefined;
237
+ createdAt: Date;
238
+ updatedAt: Date;
239
+ }, unknown>>>;
240
+ code: z.ZodOptional<z.ZodString>;
241
+ message: z.ZodOptional<z.ZodString>;
242
+ }, z.core.$strip>;
243
+ type Response = z.infer<typeof ResponseSchema>;
244
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HtmlPageBuilderAnswerQuestionsCommand = void 0;
4
+ const zod_1 = require("zod");
5
+ const command_response_schema_1 = require("../../common/models/command-response.schema");
6
+ const models_1 = require("../models");
7
+ /**
8
+ * Free on purpose: the generation was already paid for by `execute`, and this is the same run
9
+ * continuing. It carries no `tokenReservationId` and no price.
10
+ */
11
+ var HtmlPageBuilderAnswerQuestionsCommand;
12
+ (function (HtmlPageBuilderAnswerQuestionsCommand) {
13
+ HtmlPageBuilderAnswerQuestionsCommand.RequestSchema = zod_1.z.object({
14
+ userId: zod_1.z.uuid().nullable().optional(),
15
+ unregisteredUserId: zod_1.z.uuid().nullable().optional(),
16
+ jobId: zod_1.z.uuid(),
17
+ // An empty array is valid: the user is allowed to skip the questions on purpose,
18
+ // and the brief then falls back to the model's own recommendations
19
+ answers: models_1.HtmlPageBuilderClarificationAnswersSchema,
20
+ });
21
+ // Answers the session, like execute does: the client is polling it anyway
22
+ HtmlPageBuilderAnswerQuestionsCommand.ResponseSchema = (0, command_response_schema_1.ICommandResponseSchema)(models_1.HtmlPageBuilderSessionSchema);
23
+ })(HtmlPageBuilderAnswerQuestionsCommand || (exports.HtmlPageBuilderAnswerQuestionsCommand = HtmlPageBuilderAnswerQuestionsCommand = {}));
@@ -20,7 +20,17 @@ export declare namespace HtmlPageBuilderExecuteCommand {
20
20
  content: z.ZodNullable<z.ZodOptional<z.ZodString>>;
21
21
  contentLength: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
22
22
  }, z.core.$strip>>;
23
+ pagesCount: z.ZodOptional<z.ZodNumber>;
24
+ clarifications: z.ZodDefault<z.ZodArray<z.ZodObject<{
25
+ question: z.ZodString;
26
+ answer: z.ZodString;
27
+ }, z.core.$strip>>>;
28
+ mock: z.ZodOptional<z.ZodBoolean>;
23
29
  }, z.core.$strip>;
30
+ pagesCount: z.ZodNumber;
31
+ styleId: z.ZodUUID;
32
+ fontId: z.ZodUUID;
33
+ accentColor: z.ZodOptional<z.ZodString>;
24
34
  tokenReservationId: z.ZodOptional<z.ZodUUID>;
25
35
  precalculatedPrice: z.ZodOptional<z.ZodNumber>;
26
36
  mock: z.ZodOptional<z.ZodBoolean>;
@@ -31,10 +41,28 @@ export declare namespace HtmlPageBuilderExecuteCommand {
31
41
  data: z.ZodOptional<z.ZodType<{
32
42
  uuid: string;
33
43
  title: string;
34
- status: import("../..").JOB_STATUS;
35
- stage: import("..").HTML_PAGE_BUILDER_SESSION_STAGE;
44
+ status: import("..").HTML_PAGE_BUILDER_SESSION_STATUS;
36
45
  currentHtml?: string | null | undefined;
46
+ currentJobId?: string | null | undefined;
47
+ currentJob?: {
48
+ uuid: string;
49
+ status: import("../..").JOB_STATUS;
50
+ previewUrl?: string | undefined;
51
+ files?: {
52
+ stylesheet: string;
53
+ script: string;
54
+ pages: {
55
+ slug: string;
56
+ url: string;
57
+ }[];
58
+ } | undefined;
59
+ error: string | null;
60
+ createdAt: Date;
61
+ completedAt?: Date | null | undefined;
62
+ } | null | undefined;
37
63
  lastUsedModelId?: string | null | undefined;
64
+ reaction: import("../..").USER_REACTION | null;
65
+ dislikeReason: string | null;
38
66
  userId?: string | null | undefined;
39
67
  unregisteredUserId?: string | null | undefined;
40
68
  isDeleted: boolean;
@@ -46,16 +74,45 @@ export declare namespace HtmlPageBuilderExecuteCommand {
46
74
  userPrompt: string;
47
75
  title: string;
48
76
  generatedHtml?: string | null | undefined;
77
+ generatedPages?: {
78
+ slug: string;
79
+ title: string;
80
+ html: string;
81
+ order: number;
82
+ isHome: boolean;
83
+ }[] | null | undefined;
84
+ previewUrl?: string | undefined;
85
+ files?: {
86
+ stylesheet: string;
87
+ script: string;
88
+ pages: {
89
+ slug: string;
90
+ url: string;
91
+ }[];
92
+ } | undefined;
49
93
  status: import("../..").JOB_STATUS;
50
94
  error: string | null;
51
95
  internalError?: string | null | undefined;
52
96
  price: number;
53
- reaction: import("../..").USER_REACTION | null;
54
- dislikeReason: string | null;
55
97
  inputTokens?: number | null | undefined;
56
98
  outputTokens?: number | null | undefined;
57
99
  totalTokens?: number | null | undefined;
58
100
  tokenReservationId?: string | null | undefined;
101
+ questions: {
102
+ id: string;
103
+ question: string;
104
+ type: import("..").HTML_PAGE_BUILDER_QUESTION_TYPE;
105
+ options: string[];
106
+ recommendedAnswer: string;
107
+ allowCustomAnswer: boolean;
108
+ }[];
109
+ answers: {
110
+ questionId: string;
111
+ answers: string[];
112
+ }[];
113
+ styleId?: string | null | undefined;
114
+ fontId?: string | null | undefined;
115
+ accentColor: string;
59
116
  userId?: string | null | undefined;
60
117
  unregisteredUserId?: string | null | undefined;
61
118
  params: {
@@ -70,21 +127,52 @@ export declare namespace HtmlPageBuilderExecuteCommand {
70
127
  content?: string | null | undefined;
71
128
  contentLength?: number | null | undefined;
72
129
  }[];
130
+ pagesCount?: number | undefined;
131
+ clarifications: {
132
+ question: string;
133
+ answer: string;
134
+ }[];
135
+ mock?: boolean | undefined;
73
136
  };
74
137
  isDeleted: boolean;
75
138
  createdAt: Date;
76
139
  completedAt?: Date | null | undefined;
77
140
  updatedAt: Date;
78
141
  }[] | undefined;
142
+ pages?: {
143
+ slug: string;
144
+ title: string;
145
+ html: string;
146
+ order: number;
147
+ isHome: boolean;
148
+ }[] | undefined;
79
149
  createdAt: Date;
80
150
  updatedAt: Date;
81
151
  }, unknown, z.core.$ZodTypeInternals<{
82
152
  uuid: string;
83
153
  title: string;
84
- status: import("../..").JOB_STATUS;
85
- stage: import("..").HTML_PAGE_BUILDER_SESSION_STAGE;
154
+ status: import("..").HTML_PAGE_BUILDER_SESSION_STATUS;
86
155
  currentHtml?: string | null | undefined;
156
+ currentJobId?: string | null | undefined;
157
+ currentJob?: {
158
+ uuid: string;
159
+ status: import("../..").JOB_STATUS;
160
+ previewUrl?: string | undefined;
161
+ files?: {
162
+ stylesheet: string;
163
+ script: string;
164
+ pages: {
165
+ slug: string;
166
+ url: string;
167
+ }[];
168
+ } | undefined;
169
+ error: string | null;
170
+ createdAt: Date;
171
+ completedAt?: Date | null | undefined;
172
+ } | null | undefined;
87
173
  lastUsedModelId?: string | null | undefined;
174
+ reaction: import("../..").USER_REACTION | null;
175
+ dislikeReason: string | null;
88
176
  userId?: string | null | undefined;
89
177
  unregisteredUserId?: string | null | undefined;
90
178
  isDeleted: boolean;
@@ -96,16 +184,45 @@ export declare namespace HtmlPageBuilderExecuteCommand {
96
184
  userPrompt: string;
97
185
  title: string;
98
186
  generatedHtml?: string | null | undefined;
187
+ generatedPages?: {
188
+ slug: string;
189
+ title: string;
190
+ html: string;
191
+ order: number;
192
+ isHome: boolean;
193
+ }[] | null | undefined;
194
+ previewUrl?: string | undefined;
195
+ files?: {
196
+ stylesheet: string;
197
+ script: string;
198
+ pages: {
199
+ slug: string;
200
+ url: string;
201
+ }[];
202
+ } | undefined;
99
203
  status: import("../..").JOB_STATUS;
100
204
  error: string | null;
101
205
  internalError?: string | null | undefined;
102
206
  price: number;
103
- reaction: import("../..").USER_REACTION | null;
104
- dislikeReason: string | null;
105
207
  inputTokens?: number | null | undefined;
106
208
  outputTokens?: number | null | undefined;
107
209
  totalTokens?: number | null | undefined;
108
210
  tokenReservationId?: string | null | undefined;
211
+ questions: {
212
+ id: string;
213
+ question: string;
214
+ type: import("..").HTML_PAGE_BUILDER_QUESTION_TYPE;
215
+ options: string[];
216
+ recommendedAnswer: string;
217
+ allowCustomAnswer: boolean;
218
+ }[];
219
+ answers: {
220
+ questionId: string;
221
+ answers: string[];
222
+ }[];
223
+ styleId?: string | null | undefined;
224
+ fontId?: string | null | undefined;
225
+ accentColor: string;
109
226
  userId?: string | null | undefined;
110
227
  unregisteredUserId?: string | null | undefined;
111
228
  params: {
@@ -120,12 +237,25 @@ export declare namespace HtmlPageBuilderExecuteCommand {
120
237
  content?: string | null | undefined;
121
238
  contentLength?: number | null | undefined;
122
239
  }[];
240
+ pagesCount?: number | undefined;
241
+ clarifications: {
242
+ question: string;
243
+ answer: string;
244
+ }[];
245
+ mock?: boolean | undefined;
123
246
  };
124
247
  isDeleted: boolean;
125
248
  createdAt: Date;
126
249
  completedAt?: Date | null | undefined;
127
250
  updatedAt: Date;
128
251
  }[] | undefined;
252
+ pages?: {
253
+ slug: string;
254
+ title: string;
255
+ html: string;
256
+ order: number;
257
+ isHome: boolean;
258
+ }[] | undefined;
129
259
  createdAt: Date;
130
260
  updatedAt: Date;
131
261
  }, unknown>>>;
@@ -11,10 +11,28 @@ var HtmlPageBuilderExecuteCommand;
11
11
  userId: zod_1.z.uuid().nullable().optional(),
12
12
  unregisteredUserId: zod_1.z.uuid().nullable().optional(),
13
13
  scope: zod_1.z.enum(common_1.JOB_SCOPE).optional().default(common_1.JOB_SCOPE.TOOL),
14
+ // A repeated execute builds another site in the same session: its own questions, its own
15
+ // payment, its own job. The previous variants stay in the history.
14
16
  sessionId: zod_1.z.uuid().optional(),
15
17
  userPrompt: zod_1.z.string(),
16
18
  modelId: zod_1.z.uuid(),
17
19
  params: models_1.HtmlPageBuilderJobParamsSchema,
20
+ // Clamped to [1, 3, 5] on the server. Required: the volume is what the run is priced by,
21
+ // so a request that does not name it would be paid for as something else.
22
+ pagesCount: zod_1.z.number().int().positive(),
23
+ /**
24
+ * Design of the site. Required: every run builds a site from scratch, and a generation
25
+ * without a style is not a cheaper site, it is a different one. The prompts behind
26
+ * `styleId` / `fontId` are resolved on the server and never leave it.
27
+ */
28
+ styleId: zod_1.z.uuid(),
29
+ fontId: zod_1.z.uuid(),
30
+ /**
31
+ * The one optional part of the design: a palette the model is free to choose itself.
32
+ * Bounded on purpose — it lands in the prompt, so it must not become a way to smuggle
33
+ * unlimited text past the model's maxPromptLength check.
34
+ */
35
+ accentColor: zod_1.z.string().max(64).optional(),
18
36
  tokenReservationId: zod_1.z.uuid().optional(),
19
37
  precalculatedPrice: zod_1.z.number().optional(),
20
38
  mock: zod_1.z.boolean().optional(),