@examplary/sdk 2.5.0 → 2.7.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.
package/dist/index.d.mts CHANGED
@@ -992,6 +992,23 @@ interface paths {
992
992
  patch: operations["org.update"];
993
993
  trace?: never;
994
994
  };
995
+ "/org/limits": {
996
+ parameters: {
997
+ query?: never;
998
+ header?: never;
999
+ path?: never;
1000
+ cookie?: never;
1001
+ };
1002
+ /** Get organization limits */
1003
+ get: operations["org.limits"];
1004
+ put?: never;
1005
+ post?: never;
1006
+ delete?: never;
1007
+ options?: never;
1008
+ head?: never;
1009
+ patch?: never;
1010
+ trace?: never;
1011
+ };
995
1012
  "/org/custom-domain": {
996
1013
  parameters: {
997
1014
  query?: never;
@@ -2164,6 +2181,91 @@ interface operations {
2164
2181
  /** @description Optional instructions to guide AI in grading this question type */
2165
2182
  instructions?: string | string[];
2166
2183
  };
2184
+ /** @description Options for response processing */
2185
+ responseProcessing?: {
2186
+ /** @description JSONata expression string starting with '=' that evaluates to a boolean to determine if the response is correct */
2187
+ condition: string;
2188
+ /** @description Array of test cases to validate the response processing logic for this question type */
2189
+ testCases?: {
2190
+ answer: {
2191
+ value?: (string | (string | null)[]) | null;
2192
+ } & {
2193
+ [key: string]: unknown;
2194
+ };
2195
+ question: {
2196
+ /** @description Question ID */
2197
+ id?: string;
2198
+ /** @description ID of the question type */
2199
+ type?: string;
2200
+ /** @description Title for the question (stem) */
2201
+ title?: string | null;
2202
+ /** @description Optional description for the question */
2203
+ description?: string | null;
2204
+ /** @description Settings for the question, often specific to the question type */
2205
+ settings?: {
2206
+ [key: string]: unknown;
2207
+ };
2208
+ /** @description Scoring configuration for the question */
2209
+ scoring?: {
2210
+ /** @description The type of rubric. Different rubric types have different shapes. */
2211
+ rubricType?: ("simple" | "analytical" | "holistic" | "exact-values") | null;
2212
+ /** @description The criteria for scoring the question. For 'simple' rubric type, criteria have no levels, and their points stack (total = sum of points for all criteria that apply). For 'analytical' rubric type, there should be at least one criteria, with levels. For each criteria, a matching level is picked. For 'holistic' rubric type, there should be multiple criteria, without levels (score = single selected criteria). For 'exact-values' rubric type, each criteria represents a specific value that must be matched exactly. */
2213
+ criteria?: {
2214
+ id: string;
2215
+ /** @description The title of the scoring criterion or level. Only applies to analytical levels and holistic criteria. */
2216
+ title?: string | null;
2217
+ /** @description The description of the scoring criterion or level. For analytical levels, this describes the specific requirements to earn the points for that level. For holistic criteria, this describes the overall requirement to earn the points for that criterion. */
2218
+ description?: string | null;
2219
+ /** @description The default amount of points to assign if this criterion or level is selected. */
2220
+ points?: number | null;
2221
+ /** @description The minimum amount of points that can be assigned if this criterion or level is selected. */
2222
+ minPoints?: number | null;
2223
+ /** @description The maximum amount of points that can be assigned if this criterion or level is selected. */
2224
+ maxPoints?: number | null;
2225
+ /** @description The levels of a analytical rubric criterion. Each level represents a different point value and description for the same criterion. */
2226
+ levels?: {
2227
+ id: string;
2228
+ /** @description The title of the scoring criterion or level. Only applies to analytical levels and holistic criteria. */
2229
+ title?: string | null;
2230
+ /** @description The description of the scoring criterion or level. For analytical levels, this describes the specific requirements to earn the points for that level. For holistic criteria, this describes the overall requirement to earn the points for that criterion. */
2231
+ description?: string | null;
2232
+ /** @description The default amount of points to assign if this criterion or level is selected. */
2233
+ points?: number | null;
2234
+ /** @description The minimum amount of points that can be assigned if this criterion or level is selected. */
2235
+ minPoints?: number | null;
2236
+ /** @description The maximum amount of points that can be assigned if this criterion or level is selected. */
2237
+ maxPoints?: number | null;
2238
+ }[] | null;
2239
+ }[] | null;
2240
+ /** @description Whether exact values matching should be case insensitive. Only applicable for 'exact-values' rubric type. */
2241
+ exactValuesCaseInsensitive?: boolean | null;
2242
+ /** @description Optional additional grading guidance text. */
2243
+ guidance?: string | null;
2244
+ /** @description Optional example model answer text to show to graders. */
2245
+ modelAnswer?: string | null;
2246
+ /** @description The ID of the scoring template applied, if any. */
2247
+ templateId?: string | null;
2248
+ } | null;
2249
+ /** @description Tags associated with the question for categorization and search */
2250
+ tags?: string[] | null;
2251
+ /** @description Optional external ID for the question, used to link to external systems */
2252
+ externalId?: string | null;
2253
+ /** @description Metadata for the question */
2254
+ metadata?: {
2255
+ [key: string]: string | number | boolean | null;
2256
+ } | null;
2257
+ /** @description Version number, incremented when question is edited */
2258
+ v?: number | null;
2259
+ /** @description ID of the question in the question bank */
2260
+ questionBankItemId?: string | null;
2261
+ /** @description Trace IDs for internal tracking of AI generation processes */
2262
+ traceIds?: string[] | null;
2263
+ } & {
2264
+ [key: string]: unknown;
2265
+ };
2266
+ expectedOutcome: boolean;
2267
+ }[];
2268
+ };
2167
2269
  /** @description Options for AI question scanning */
2168
2270
  scanning?: {
2169
2271
  /** @description Optional instructions to guide AI in converting answers for this question type when scanning documents */
@@ -3764,6 +3866,16 @@ interface operations {
3764
3866
  };
3765
3867
  responses: never;
3766
3868
  };
3869
+ "org.limits": {
3870
+ parameters: {
3871
+ query?: never;
3872
+ header?: never;
3873
+ path?: never;
3874
+ cookie?: never;
3875
+ };
3876
+ requestBody?: never;
3877
+ responses: never;
3878
+ };
3767
3879
  "org.customDomain.get": {
3768
3880
  parameters: {
3769
3881
  query?: never;
@@ -6788,6 +6900,12 @@ declare class Org {
6788
6900
  * API endpoint: `DELETE /org`
6789
6901
  */
6790
6902
  delete(args?: Args<"org.delete">, options?: ExamplaryRequestOptions): Promise<Response<"org.delete">>;
6903
+ /**
6904
+ * Get organization limits
6905
+ *
6906
+ * API endpoint: `GET /org/limits`
6907
+ */
6908
+ limits(args?: Args<"org.limits">, options?: ExamplaryRequestOptions): Promise<Response<"org.limits">>;
6791
6909
  }
6792
6910
  declare class Orgs {
6793
6911
  private readonly ctx;
package/dist/index.d.ts CHANGED
@@ -992,6 +992,23 @@ interface paths {
992
992
  patch: operations["org.update"];
993
993
  trace?: never;
994
994
  };
995
+ "/org/limits": {
996
+ parameters: {
997
+ query?: never;
998
+ header?: never;
999
+ path?: never;
1000
+ cookie?: never;
1001
+ };
1002
+ /** Get organization limits */
1003
+ get: operations["org.limits"];
1004
+ put?: never;
1005
+ post?: never;
1006
+ delete?: never;
1007
+ options?: never;
1008
+ head?: never;
1009
+ patch?: never;
1010
+ trace?: never;
1011
+ };
995
1012
  "/org/custom-domain": {
996
1013
  parameters: {
997
1014
  query?: never;
@@ -2164,6 +2181,91 @@ interface operations {
2164
2181
  /** @description Optional instructions to guide AI in grading this question type */
2165
2182
  instructions?: string | string[];
2166
2183
  };
2184
+ /** @description Options for response processing */
2185
+ responseProcessing?: {
2186
+ /** @description JSONata expression string starting with '=' that evaluates to a boolean to determine if the response is correct */
2187
+ condition: string;
2188
+ /** @description Array of test cases to validate the response processing logic for this question type */
2189
+ testCases?: {
2190
+ answer: {
2191
+ value?: (string | (string | null)[]) | null;
2192
+ } & {
2193
+ [key: string]: unknown;
2194
+ };
2195
+ question: {
2196
+ /** @description Question ID */
2197
+ id?: string;
2198
+ /** @description ID of the question type */
2199
+ type?: string;
2200
+ /** @description Title for the question (stem) */
2201
+ title?: string | null;
2202
+ /** @description Optional description for the question */
2203
+ description?: string | null;
2204
+ /** @description Settings for the question, often specific to the question type */
2205
+ settings?: {
2206
+ [key: string]: unknown;
2207
+ };
2208
+ /** @description Scoring configuration for the question */
2209
+ scoring?: {
2210
+ /** @description The type of rubric. Different rubric types have different shapes. */
2211
+ rubricType?: ("simple" | "analytical" | "holistic" | "exact-values") | null;
2212
+ /** @description The criteria for scoring the question. For 'simple' rubric type, criteria have no levels, and their points stack (total = sum of points for all criteria that apply). For 'analytical' rubric type, there should be at least one criteria, with levels. For each criteria, a matching level is picked. For 'holistic' rubric type, there should be multiple criteria, without levels (score = single selected criteria). For 'exact-values' rubric type, each criteria represents a specific value that must be matched exactly. */
2213
+ criteria?: {
2214
+ id: string;
2215
+ /** @description The title of the scoring criterion or level. Only applies to analytical levels and holistic criteria. */
2216
+ title?: string | null;
2217
+ /** @description The description of the scoring criterion or level. For analytical levels, this describes the specific requirements to earn the points for that level. For holistic criteria, this describes the overall requirement to earn the points for that criterion. */
2218
+ description?: string | null;
2219
+ /** @description The default amount of points to assign if this criterion or level is selected. */
2220
+ points?: number | null;
2221
+ /** @description The minimum amount of points that can be assigned if this criterion or level is selected. */
2222
+ minPoints?: number | null;
2223
+ /** @description The maximum amount of points that can be assigned if this criterion or level is selected. */
2224
+ maxPoints?: number | null;
2225
+ /** @description The levels of a analytical rubric criterion. Each level represents a different point value and description for the same criterion. */
2226
+ levels?: {
2227
+ id: string;
2228
+ /** @description The title of the scoring criterion or level. Only applies to analytical levels and holistic criteria. */
2229
+ title?: string | null;
2230
+ /** @description The description of the scoring criterion or level. For analytical levels, this describes the specific requirements to earn the points for that level. For holistic criteria, this describes the overall requirement to earn the points for that criterion. */
2231
+ description?: string | null;
2232
+ /** @description The default amount of points to assign if this criterion or level is selected. */
2233
+ points?: number | null;
2234
+ /** @description The minimum amount of points that can be assigned if this criterion or level is selected. */
2235
+ minPoints?: number | null;
2236
+ /** @description The maximum amount of points that can be assigned if this criterion or level is selected. */
2237
+ maxPoints?: number | null;
2238
+ }[] | null;
2239
+ }[] | null;
2240
+ /** @description Whether exact values matching should be case insensitive. Only applicable for 'exact-values' rubric type. */
2241
+ exactValuesCaseInsensitive?: boolean | null;
2242
+ /** @description Optional additional grading guidance text. */
2243
+ guidance?: string | null;
2244
+ /** @description Optional example model answer text to show to graders. */
2245
+ modelAnswer?: string | null;
2246
+ /** @description The ID of the scoring template applied, if any. */
2247
+ templateId?: string | null;
2248
+ } | null;
2249
+ /** @description Tags associated with the question for categorization and search */
2250
+ tags?: string[] | null;
2251
+ /** @description Optional external ID for the question, used to link to external systems */
2252
+ externalId?: string | null;
2253
+ /** @description Metadata for the question */
2254
+ metadata?: {
2255
+ [key: string]: string | number | boolean | null;
2256
+ } | null;
2257
+ /** @description Version number, incremented when question is edited */
2258
+ v?: number | null;
2259
+ /** @description ID of the question in the question bank */
2260
+ questionBankItemId?: string | null;
2261
+ /** @description Trace IDs for internal tracking of AI generation processes */
2262
+ traceIds?: string[] | null;
2263
+ } & {
2264
+ [key: string]: unknown;
2265
+ };
2266
+ expectedOutcome: boolean;
2267
+ }[];
2268
+ };
2167
2269
  /** @description Options for AI question scanning */
2168
2270
  scanning?: {
2169
2271
  /** @description Optional instructions to guide AI in converting answers for this question type when scanning documents */
@@ -3764,6 +3866,16 @@ interface operations {
3764
3866
  };
3765
3867
  responses: never;
3766
3868
  };
3869
+ "org.limits": {
3870
+ parameters: {
3871
+ query?: never;
3872
+ header?: never;
3873
+ path?: never;
3874
+ cookie?: never;
3875
+ };
3876
+ requestBody?: never;
3877
+ responses: never;
3878
+ };
3767
3879
  "org.customDomain.get": {
3768
3880
  parameters: {
3769
3881
  query?: never;
@@ -6788,6 +6900,12 @@ declare class Org {
6788
6900
  * API endpoint: `DELETE /org`
6789
6901
  */
6790
6902
  delete(args?: Args<"org.delete">, options?: ExamplaryRequestOptions): Promise<Response<"org.delete">>;
6903
+ /**
6904
+ * Get organization limits
6905
+ *
6906
+ * API endpoint: `GET /org/limits`
6907
+ */
6908
+ limits(args?: Args<"org.limits">, options?: ExamplaryRequestOptions): Promise<Response<"org.limits">>;
6791
6909
  }
6792
6910
  declare class Orgs {
6793
6911
  private readonly ctx;
package/dist/index.js CHANGED
@@ -507,6 +507,10 @@ var Org = class {
507
507
  const args = arg;
508
508
  return request(this.ctx, "DELETE", "/org", [], [], false, args, options);
509
509
  }
510
+ limits(arg, options) {
511
+ const args = arg;
512
+ return request(this.ctx, "GET", "/org/limits", [], [], false, args, options);
513
+ }
510
514
  };
511
515
  var Orgs = class {
512
516
  constructor(ctx) {