@purpleschool/gptbot-tools 0.0.29 → 0.0.30

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.
@@ -19,9 +19,7 @@ exports.IconSlotSchema = zod_1.z.object({
19
19
  .string()
20
20
  .uuid()
21
21
  .describe('Generate a valid uuid for icon slot, that will be used for future lookups'),
22
- prompt: zod_1.z
23
- .string()
24
- .describe('Icons are stored locally. Provide a search query for a fitting icon. MUST BE IN ENGLISH'),
22
+ prompt: zod_1.z.string().describe('Provide a search query for an fitting icon. MUST BE IN ENGLISH'),
25
23
  });
26
24
  exports.CoverSlideDataSchema = zod_1.z.object({
27
25
  contentType: zod_1.z.literal(enums_1.SLIDE_CONTENT_TYPE.COVER),
@@ -46,15 +44,17 @@ exports.CoverSlideDataSchema = zod_1.z.object({
46
44
  });
47
45
  exports.ThankYouSlideDataSchema = zod_1.z.object({
48
46
  contentType: zod_1.z.literal(enums_1.SLIDE_CONTENT_TYPE.THANK_YOU),
49
- title: zod_1.z.string().describe('Slide title in about 6 words').min(10).max(150),
47
+ title: zod_1.z
48
+ .string()
49
+ .describe('"Thank you for your attention" in presentation\'s language')
50
+ .min(10)
51
+ .max(150),
50
52
  author: zod_1.z.object({
51
- label: zod_1.z.string().describe('Literal "Author" in presentation\'s language'),
52
- value: zod_1.z
53
- .string()
54
- .describe('Literal "Author of the presentation" in presentation\'s language'),
53
+ label: zod_1.z.string().describe('"Author" in presentation\'s language'),
54
+ value: zod_1.z.string().describe('"Author of the presentation" in presentation\'s language'),
55
55
  }),
56
56
  date: zod_1.z.object({
57
- label: zod_1.z.string().describe('Literal "Date" in presentation\'s language'),
57
+ label: zod_1.z.string().describe('"Date" in presentation\'s language'),
58
58
  value: zod_1.z
59
59
  .string()
60
60
  .describe('Date of the presentation in the "dd month yyyy" format in presentation\'s locale'),
@@ -82,9 +82,9 @@ exports.TextSlideDataSchema = zod_1.z.object({
82
82
  title: zod_1.z.string().describe('Slide title in about 6 words').min(10).max(150),
83
83
  description: zod_1.z
84
84
  .string()
85
- .describe('Fairly long textual description of the point presented in the title. A couple of paragraphs.')
85
+ .describe("Fairly long textual description of the point presented in the title. A couple of paragraphs. Consider maximum amount of text to be 600 characters. Don't cut the text short.")
86
86
  .min(300)
87
- .max(500),
87
+ .max(600),
88
88
  version: zod_1.z.literal(1),
89
89
  });
90
90
  exports.ContentsSlideDataSchema = zod_1.z.object({
@@ -137,9 +137,9 @@ exports.TableSlideDataSchema = zod_1.z.object({
137
137
  .max(10)
138
138
  .describe('Array of column header labels'),
139
139
  rows: zod_1.z
140
- .array(zod_1.z.array(zod_1.z.string().min(1).max(150)))
141
- .min(2)
142
- .max(10)
140
+ .array(zod_1.z.array(zod_1.z.string().min(1).max(75)))
141
+ .min(3)
142
+ .max(4)
143
143
  .describe('Table rows; each row must have exactly the same number of cells as columnHeaders'),
144
144
  hasRowHeaders: zod_1.z.boolean().describe('If table needs special row headers, set this to true'),
145
145
  hasSummaryRow: zod_1.z.boolean().describe('If table needs a summary row, set this to true'),
@@ -150,13 +150,15 @@ exports.TableSlideDataSchema = zod_1.z.object({
150
150
  exports.BarChartSlideDataSchema = zod_1.z.object({
151
151
  type: zod_1.z.literal(SLIDE_CHART_TYPE.BAR),
152
152
  categories: zod_1.z
153
- .array(zod_1.z.string().min(1).max(12))
153
+ .array(zod_1.z.string())
154
154
  .min(1)
155
155
  .max(12)
156
156
  .describe('Category labels (e.g., months, products, regions)'),
157
157
  series: zod_1.z
158
158
  .array(zod_1.z.object({
159
- name: zod_1.z.string().min(1).max(12).describe('Series name for legend'),
159
+ name: zod_1.z
160
+ .string()
161
+ .describe('Series name for legend. Try to include measurements if needed'),
160
162
  data: zod_1.z.array(zod_1.z.number()).describe('Values corresponding to categories'),
161
163
  type: zod_1.z
162
164
  .number()
@@ -165,16 +167,16 @@ exports.BarChartSlideDataSchema = zod_1.z.object({
165
167
  .describe('Series type. Used to discriminate colors when applying theme'),
166
168
  }))
167
169
  .min(1)
168
- .max(12)
169
- .describe('Data series for the chart'),
170
+ .max(1)
171
+ .describe('Data series for the chart. Only one series is supported'),
170
172
  yAxisLabel: zod_1.z.string().max(40).optional().describe('Y-axis label'),
171
173
  unit: zod_1.z.string().max(10).optional().describe('Unit symbol (%, $, etc.)'),
172
174
  version: zod_1.z.literal(1),
173
175
  });
174
176
  exports.ChartSlideDataSchema = zod_1.z.object({
175
177
  contentType: zod_1.z.literal(enums_1.SLIDE_CONTENT_TYPE.CHART),
176
- title: zod_1.z.string().describe('Slide title in about 6 words').min(10).max(200),
177
- description: zod_1.z.string().describe("Information on slide's topic").min(10).max(400),
178
+ title: zod_1.z.string().describe('Slide title in about 2-6 words').max(100),
179
+ description: zod_1.z.string().describe("Information on slide's topic").max(600),
178
180
  chart: zod_1.z.discriminatedUnion('type', [exports.BarChartSlideDataSchema]),
179
181
  version: zod_1.z.literal(1),
180
182
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purpleschool/gptbot-tools",
3
- "version": "0.0.29",
3
+ "version": "0.0.30",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "scripts": {
@@ -19,11 +19,7 @@ export const IconSlotSchema = z.object({
19
19
  .string()
20
20
  .uuid()
21
21
  .describe('Generate a valid uuid for icon slot, that will be used for future lookups'),
22
- prompt: z
23
- .string()
24
- .describe(
25
- 'Icons are stored locally. Provide a search query for a fitting icon. MUST BE IN ENGLISH',
26
- ),
22
+ prompt: z.string().describe('Provide a search query for an fitting icon. MUST BE IN ENGLISH'),
27
23
  });
28
24
  export type IconSlot = z.infer<typeof IconSlotSchema>;
29
25
 
@@ -54,15 +50,17 @@ export type CoverSlideData = z.infer<typeof CoverSlideDataSchema>;
54
50
 
55
51
  export const ThankYouSlideDataSchema = z.object({
56
52
  contentType: z.literal(SLIDE_CONTENT_TYPE.THANK_YOU),
57
- title: z.string().describe('Slide title in about 6 words').min(10).max(150),
53
+ title: z
54
+ .string()
55
+ .describe('"Thank you for your attention" in presentation\'s language')
56
+ .min(10)
57
+ .max(150),
58
58
  author: z.object({
59
- label: z.string().describe('Literal "Author" in presentation\'s language'),
60
- value: z
61
- .string()
62
- .describe('Literal "Author of the presentation" in presentation\'s language'),
59
+ label: z.string().describe('"Author" in presentation\'s language'),
60
+ value: z.string().describe('"Author of the presentation" in presentation\'s language'),
63
61
  }),
64
62
  date: z.object({
65
- label: z.string().describe('Literal "Date" in presentation\'s language'),
63
+ label: z.string().describe('"Date" in presentation\'s language'),
66
64
  value: z
67
65
  .string()
68
66
  .describe(
@@ -99,10 +97,10 @@ export const TextSlideDataSchema = z.object({
99
97
  description: z
100
98
  .string()
101
99
  .describe(
102
- 'Fairly long textual description of the point presented in the title. A couple of paragraphs.',
100
+ "Fairly long textual description of the point presented in the title. A couple of paragraphs. Consider maximum amount of text to be 600 characters. Don't cut the text short.",
103
101
  )
104
102
  .min(300)
105
- .max(500),
103
+ .max(600),
106
104
  version: z.literal(1),
107
105
  });
108
106
  export type TextSlideData = z.infer<typeof TextSlideDataSchema>;
@@ -169,9 +167,9 @@ export const TableSlideDataSchema = z.object({
169
167
  .max(10)
170
168
  .describe('Array of column header labels'),
171
169
  rows: z
172
- .array(z.array(z.string().min(1).max(150)))
173
- .min(2)
174
- .max(10)
170
+ .array(z.array(z.string().min(1).max(75)))
171
+ .min(3)
172
+ .max(4)
175
173
  .describe(
176
174
  'Table rows; each row must have exactly the same number of cells as columnHeaders',
177
175
  ),
@@ -186,14 +184,16 @@ export type TableSlideData = z.infer<typeof TableSlideDataSchema>;
186
184
  export const BarChartSlideDataSchema = z.object({
187
185
  type: z.literal(SLIDE_CHART_TYPE.BAR),
188
186
  categories: z
189
- .array(z.string().min(1).max(12))
187
+ .array(z.string())
190
188
  .min(1)
191
189
  .max(12)
192
190
  .describe('Category labels (e.g., months, products, regions)'),
193
191
  series: z
194
192
  .array(
195
193
  z.object({
196
- name: z.string().min(1).max(12).describe('Series name for legend'),
194
+ name: z
195
+ .string()
196
+ .describe('Series name for legend. Try to include measurements if needed'),
197
197
  data: z.array(z.number()).describe('Values corresponding to categories'),
198
198
  type: z
199
199
  .number()
@@ -203,8 +203,8 @@ export const BarChartSlideDataSchema = z.object({
203
203
  }),
204
204
  )
205
205
  .min(1)
206
- .max(12)
207
- .describe('Data series for the chart'),
206
+ .max(1)
207
+ .describe('Data series for the chart. Only one series is supported'),
208
208
  yAxisLabel: z.string().max(40).optional().describe('Y-axis label'),
209
209
  unit: z.string().max(10).optional().describe('Unit symbol (%, $, etc.)'),
210
210
  version: z.literal(1),
@@ -213,8 +213,8 @@ export type BarChartSlideData = z.infer<typeof BarChartSlideDataSchema>;
213
213
 
214
214
  export const ChartSlideDataSchema = z.object({
215
215
  contentType: z.literal(SLIDE_CONTENT_TYPE.CHART),
216
- title: z.string().describe('Slide title in about 6 words').min(10).max(200),
217
- description: z.string().describe("Information on slide's topic").min(10).max(400),
216
+ title: z.string().describe('Slide title in about 2-6 words').max(100),
217
+ description: z.string().describe("Information on slide's topic").max(600),
218
218
  chart: z.discriminatedUnion('type', [BarChartSlideDataSchema]),
219
219
  version: z.literal(1),
220
220
  });