@examplary/schemas 1.9.0 → 1.11.0

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.
@@ -48,6 +48,7 @@ export declare const QuestionScoringSchema: z.ZodObject<{
48
48
  maxPoints: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
49
49
  }, z.core.$strip>>>>;
50
50
  }, z.core.$strip>>>>;
51
+ exactValuesCaseInsensitive: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
51
52
  guidance: z.ZodOptional<z.ZodNullable<z.ZodString>>;
52
53
  modelAnswer: z.ZodOptional<z.ZodNullable<z.ZodString>>;
53
54
  templateId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -23,6 +23,7 @@ var RubricType;
23
23
  exports.QuestionScoringSchema = zod_1.z.object({
24
24
  rubricType: zod_1.z.enum(RubricType).nullish(),
25
25
  criteria: zod_1.z.array(exports.TopLevelScoringCriterionSchema).nullish(),
26
+ exactValuesCaseInsensitive: zod_1.z.boolean().nullish(),
26
27
  guidance: zod_1.z.string().nullish(),
27
28
  modelAnswer: zod_1.z.string().nullish(),
28
29
  templateId: zod_1.z.string().nullish(),
@@ -23,6 +23,7 @@ export declare const QuestionSchema: z.ZodObject<{
23
23
  maxPoints: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
24
24
  }, z.core.$strip>>>>;
25
25
  }, z.core.$strip>>>>;
26
+ exactValuesCaseInsensitive: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
26
27
  guidance: z.ZodOptional<z.ZodNullable<z.ZodString>>;
27
28
  modelAnswer: z.ZodOptional<z.ZodNullable<z.ZodString>>;
28
29
  templateId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -6,3 +6,9 @@ export * from "./question-type-components";
6
6
  export type * from "./question-type-components";
7
7
  export * from "./question-type-generation-options";
8
8
  export type * from "./question-type-generation-options";
9
+ export * from "./question-type-grading-options";
10
+ export type * from "./question-type-grading-options";
11
+ export * from "./question-type-scanning-options";
12
+ export type * from "./question-type-scanning-options";
13
+ export * from "./question-type-qti3";
14
+ export type * from "./question-type-qti3";
@@ -18,3 +18,6 @@ __exportStar(require("./question-type"), exports);
18
18
  __exportStar(require("./question-type-setting"), exports);
19
19
  __exportStar(require("./question-type-components"), exports);
20
20
  __exportStar(require("./question-type-generation-options"), exports);
21
+ __exportStar(require("./question-type-grading-options"), exports);
22
+ __exportStar(require("./question-type-scanning-options"), exports);
23
+ __exportStar(require("./question-type-qti3"), exports);
@@ -1,6 +1,6 @@
1
1
  import { z } from "zod";
2
2
  export declare const QuestionTypeGenerationOptions: z.ZodObject<{
3
3
  enabled: z.ZodBoolean;
4
- instructions: z.ZodOptional<z.ZodString>;
4
+ instructions: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString>]>>;
5
5
  }, z.core.$strip>;
6
6
  export type QuestionTypeGenerationOptionsType = z.infer<typeof QuestionTypeGenerationOptions>;
@@ -9,6 +9,7 @@ exports.QuestionTypeGenerationOptions = zod_1.z
9
9
  .describe("Whether this question type can be automatically generated using AI (default to false)"),
10
10
  instructions: zod_1.z
11
11
  .string()
12
+ .or(zod_1.z.array(zod_1.z.string()))
12
13
  .optional()
13
14
  .describe("Optional instructions to guide AI in generating this question type"),
14
15
  })
@@ -1,6 +1,6 @@
1
1
  import { z } from "zod";
2
2
  export declare const QuestionTypeGradingOptions: z.ZodObject<{
3
3
  enabled: z.ZodBoolean;
4
- instructions: z.ZodOptional<z.ZodString>;
4
+ instructions: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString>]>>;
5
5
  }, z.core.$strip>;
6
6
  export type QuestionTypeGradingOptionsType = z.infer<typeof QuestionTypeGradingOptions>;
@@ -9,6 +9,7 @@ exports.QuestionTypeGradingOptions = zod_1.z
9
9
  .describe("Whether this question type can be automatically graded using AI (default to false)"),
10
10
  instructions: zod_1.z
11
11
  .string()
12
+ .or(zod_1.z.array(zod_1.z.string()))
12
13
  .optional()
13
14
  .describe("Optional instructions to guide AI in grading this question type"),
14
15
  })
@@ -0,0 +1,5 @@
1
+ import { z } from "zod";
2
+ export declare const QuestionTypeScanningOptions: z.ZodObject<{
3
+ instructions: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString>]>>;
4
+ }, z.core.$strip>;
5
+ export type QuestionTypeScanningOptionsType = z.infer<typeof QuestionTypeScanningOptions>;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QuestionTypeScanningOptions = void 0;
4
+ var zod_1 = require("zod");
5
+ exports.QuestionTypeScanningOptions = zod_1.z
6
+ .object({
7
+ instructions: zod_1.z
8
+ .string()
9
+ .or(zod_1.z.array(zod_1.z.string()))
10
+ .optional()
11
+ .describe("Optional instructions to guide AI in converting answers for this question type when scanning documents"),
12
+ })
13
+ .describe("Options for AI question scanning");
@@ -8,11 +8,14 @@ export declare const QuestionTypeSchema: z.ZodObject<{
8
8
  shortcut: z.ZodOptional<z.ZodString>;
9
9
  generation: z.ZodOptional<z.ZodObject<{
10
10
  enabled: z.ZodBoolean;
11
- instructions: z.ZodOptional<z.ZodString>;
11
+ instructions: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString>]>>;
12
12
  }, z.core.$strip>>;
13
13
  grading: z.ZodOptional<z.ZodObject<{
14
14
  enabled: z.ZodBoolean;
15
- instructions: z.ZodOptional<z.ZodString>;
15
+ instructions: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString>]>>;
16
+ }, z.core.$strip>>;
17
+ scanning: z.ZodOptional<z.ZodObject<{
18
+ instructions: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString>]>>;
16
19
  }, z.core.$strip>>;
17
20
  timeEstimateMinutes: z.ZodOptional<z.ZodNumber>;
18
21
  isAi: z.ZodOptional<z.ZodBoolean>;
@@ -95,8 +98,9 @@ export declare const QuestionTypeSchema: z.ZodObject<{
95
98
  }, z.core.$strip>;
96
99
  }, z.core.$strip>>;
97
100
  }, z.core.$strip>>;
101
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
98
102
  stylesheet: z.ZodOptional<z.ZodURL>;
99
103
  index: z.ZodOptional<z.ZodNumber>;
100
- metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
104
+ isDefault: z.ZodOptional<z.ZodBoolean>;
101
105
  }, z.core.$strict>;
102
106
  export type QuestionType = z.infer<typeof QuestionTypeSchema>;
@@ -6,6 +6,7 @@ var question_type_components_1 = require("./question-type-components");
6
6
  var question_type_generation_options_1 = require("./question-type-generation-options");
7
7
  var question_type_grading_options_1 = require("./question-type-grading-options");
8
8
  var question_type_qti3_1 = require("./question-type-qti3");
9
+ var question_type_scanning_options_1 = require("./question-type-scanning-options");
9
10
  var question_type_setting_1 = require("./question-type-setting");
10
11
  var scalar_1 = require("../common/scalar");
11
12
  var translatable_1 = require("../common/translatable");
@@ -26,6 +27,7 @@ exports.QuestionTypeSchema = zod_1.z
26
27
  .describe("Keyboard shortcut for quick access to this question type"),
27
28
  generation: question_type_generation_options_1.QuestionTypeGenerationOptions.optional(),
28
29
  grading: question_type_grading_options_1.QuestionTypeGradingOptions.optional(),
30
+ scanning: question_type_scanning_options_1.QuestionTypeScanningOptions.optional(),
29
31
  timeEstimateMinutes: zod_1.z
30
32
  .number()
31
33
  .min(1)
@@ -78,12 +80,13 @@ exports.QuestionTypeSchema = zod_1.z
78
80
  })
79
81
  .optional()
80
82
  .describe("Export configuration for various formats"),
81
- stylesheet: zod_1.z.url().optional(),
82
- index: zod_1.z.number().optional(),
83
83
  metadata: zod_1.z
84
84
  .record(zod_1.z.string(), scalar_1.ScalarSchema)
85
85
  .optional()
86
86
  .describe("Optional metadata for the question type, only used by external applications"),
87
+ stylesheet: zod_1.z.url().optional(),
88
+ index: zod_1.z.number().optional(),
89
+ isDefault: zod_1.z.boolean().optional(),
87
90
  })
88
91
  .strict()
89
92
  .describe("Schema for defining question types in the Examplary system");
@@ -162,6 +162,16 @@
162
162
  }
163
163
  ]
164
164
  },
165
+ "exactValuesCaseInsensitive": {
166
+ "anyOf": [
167
+ {
168
+ "type": "boolean"
169
+ },
170
+ {
171
+ "type": "null"
172
+ }
173
+ ]
174
+ },
165
175
  "guidance": {
166
176
  "anyOf": [
167
177
  {
@@ -69,7 +69,17 @@
69
69
  },
70
70
  "instructions": {
71
71
  "description": "Optional instructions to guide AI in generating this question type",
72
- "type": "string"
72
+ "anyOf": [
73
+ {
74
+ "type": "string"
75
+ },
76
+ {
77
+ "type": "array",
78
+ "items": {
79
+ "type": "string"
80
+ }
81
+ }
82
+ ]
73
83
  }
74
84
  },
75
85
  "required": [
@@ -87,7 +97,17 @@
87
97
  },
88
98
  "instructions": {
89
99
  "description": "Optional instructions to guide AI in grading this question type",
90
- "type": "string"
100
+ "anyOf": [
101
+ {
102
+ "type": "string"
103
+ },
104
+ {
105
+ "type": "array",
106
+ "items": {
107
+ "type": "string"
108
+ }
109
+ }
110
+ ]
91
111
  }
92
112
  },
93
113
  "required": [
@@ -96,6 +116,27 @@
96
116
  "additionalProperties": false,
97
117
  "description": "Options for AI question grading"
98
118
  },
119
+ "scanning": {
120
+ "type": "object",
121
+ "properties": {
122
+ "instructions": {
123
+ "description": "Optional instructions to guide AI in converting answers for this question type when scanning documents",
124
+ "anyOf": [
125
+ {
126
+ "type": "string"
127
+ },
128
+ {
129
+ "type": "array",
130
+ "items": {
131
+ "type": "string"
132
+ }
133
+ }
134
+ ]
135
+ }
136
+ },
137
+ "additionalProperties": false,
138
+ "description": "Options for AI question scanning"
139
+ },
99
140
  "timeEstimateMinutes": {
100
141
  "description": "Estimated time in minutes to complete this question type",
101
142
  "type": "number",
@@ -512,13 +553,6 @@
512
553
  },
513
554
  "additionalProperties": false
514
555
  },
515
- "stylesheet": {
516
- "type": "string",
517
- "format": "uri"
518
- },
519
- "index": {
520
- "type": "number"
521
- },
522
556
  "metadata": {
523
557
  "description": "Optional metadata for the question type, only used by external applications",
524
558
  "type": "object",
@@ -541,6 +575,16 @@
541
575
  }
542
576
  ]
543
577
  }
578
+ },
579
+ "stylesheet": {
580
+ "type": "string",
581
+ "format": "uri"
582
+ },
583
+ "index": {
584
+ "type": "number"
585
+ },
586
+ "isDefault": {
587
+ "type": "boolean"
544
588
  }
545
589
  },
546
590
  "required": [
@@ -198,6 +198,16 @@
198
198
  }
199
199
  ]
200
200
  },
201
+ "exactValuesCaseInsensitive": {
202
+ "anyOf": [
203
+ {
204
+ "type": "boolean"
205
+ },
206
+ {
207
+ "type": "null"
208
+ }
209
+ ]
210
+ },
201
211
  "guidance": {
202
212
  "anyOf": [
203
213
  {
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@examplary/schemas",
3
3
  "packageManager": "yarn@4.8.1",
4
- "version": "1.9.0",
4
+ "version": "1.11.0",
5
5
  "description": "Schemas for the Examplary platform.",
6
6
  "scripts": {
7
7
  "build:schema": "tsx ./scripts/build.ts",
8
8
  "build:tsc": "tsc ./src/index.ts --outDir dist --skipLibCheck --declaration",
9
- "start": "yarn build:tsc --watch",
9
+ "dev": "yarn build:tsc --watch",
10
10
  "build": "yarn build:tsc && yarn build:schema",
11
11
  "deploy": "bash -c 'serverless deploy --verbose --stage ${STAGE/staging/production}'",
12
12
  "release": "semantic-release -e semantic-release-monorepo"
@@ -20,13 +20,13 @@
20
20
  "main": "./dist/index.js",
21
21
  "types": "./dist/index.d.ts",
22
22
  "devDependencies": {
23
- "serverless": "^4.19.1",
24
- "serverless-lift": "^1.32.0",
23
+ "serverless": "^4.33.0",
24
+ "serverless-lift": "^1.34.1",
25
25
  "tsx": "^4.20.6",
26
- "typescript": "^5.9.2"
26
+ "typescript": "^5.9.3"
27
27
  },
28
28
  "dependencies": {
29
- "zod": "^4.1.9"
29
+ "zod": "^4.3.6"
30
30
  },
31
31
  "homepage": "https://developers.examplary.ai/",
32
32
  "author": {