@examplary/sdk 2.7.0 → 2.8.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
@@ -466,7 +466,11 @@ interface paths {
466
466
  delete: operations["exams.sessions.delete"];
467
467
  options?: never;
468
468
  head?: never;
469
- patch?: never;
469
+ /**
470
+ * Update session
471
+ * @description Update an exam session. Currently supports renaming the student, which is not allowed for sessions taken by a signed-in student.
472
+ */
473
+ patch: operations["exams.sessions.update"];
470
474
  trace?: never;
471
475
  };
472
476
  "/exams/{id}/sessions/{sessionId}/feedback": {
@@ -814,11 +818,7 @@ interface paths {
814
818
  */
815
819
  get: operations["exams.get"];
816
820
  put?: never;
817
- /**
818
- * Update exam
819
- * @description Update an existing exam.
820
- */
821
- post: operations["exams.update"];
821
+ post: operations["postExams:id"];
822
822
  /**
823
823
  * Delete exam
824
824
  * @description Delete the exam.
@@ -826,7 +826,11 @@ interface paths {
826
826
  delete: operations["exams.delete"];
827
827
  options?: never;
828
828
  head?: never;
829
- patch?: never;
829
+ /**
830
+ * Update exam
831
+ * @description Update an existing exam.
832
+ */
833
+ patch: operations["exams.update"];
830
834
  trace?: never;
831
835
  };
832
836
  "/exams/{id}/duplicate": {
@@ -1744,6 +1748,26 @@ interface paths {
1744
1748
  patch?: never;
1745
1749
  trace?: never;
1746
1750
  };
1751
+ "/items": {
1752
+ parameters: {
1753
+ query?: never;
1754
+ header?: never;
1755
+ path?: never;
1756
+ cookie?: never;
1757
+ };
1758
+ /**
1759
+ * List items
1760
+ * @description Get a list of items (tests and practice spaces) within your workspace. Returns everything by default; filter by `type` or `folder`.
1761
+ */
1762
+ get: operations["items.list"];
1763
+ put?: never;
1764
+ post?: never;
1765
+ delete?: never;
1766
+ options?: never;
1767
+ head?: never;
1768
+ patch?: never;
1769
+ trace?: never;
1770
+ };
1747
1771
  "/folders": {
1748
1772
  parameters: {
1749
1773
  query?: never;
@@ -1777,11 +1801,7 @@ interface paths {
1777
1801
  };
1778
1802
  get?: never;
1779
1803
  put?: never;
1780
- /**
1781
- * Update folder
1782
- * @description Update an existing folder in the current workspace.
1783
- */
1784
- post: operations["folders.update"];
1804
+ post: operations["postFolders:id"];
1785
1805
  /**
1786
1806
  * Delete folder
1787
1807
  * @description Delete a folder from the current workspace. If there are any exams in the folder, they will be moved out of the folder.
@@ -1789,7 +1809,11 @@ interface paths {
1789
1809
  delete: operations["folders.delete"];
1790
1810
  options?: never;
1791
1811
  head?: never;
1792
- patch?: never;
1812
+ /**
1813
+ * Update folder
1814
+ * @description Update an existing folder in the current workspace.
1815
+ */
1816
+ patch: operations["folders.update"];
1793
1817
  trace?: never;
1794
1818
  };
1795
1819
  "/groups": {
@@ -1888,6 +1912,54 @@ interface paths {
1888
1912
  patch: operations["groups.updateMember"];
1889
1913
  trace?: never;
1890
1914
  };
1915
+ "/integrations": {
1916
+ parameters: {
1917
+ query?: never;
1918
+ header?: never;
1919
+ path?: never;
1920
+ cookie?: never;
1921
+ };
1922
+ /**
1923
+ * List integrations
1924
+ * @description List all available integrations and whether they are configured for the current workspace. Settings and field metadata are only included for Admin/Owner.
1925
+ */
1926
+ get: operations["integrations.list"];
1927
+ put?: never;
1928
+ post?: never;
1929
+ delete?: never;
1930
+ options?: never;
1931
+ head?: never;
1932
+ patch?: never;
1933
+ trace?: never;
1934
+ };
1935
+ "/integrations/{integrationType}": {
1936
+ parameters: {
1937
+ query?: never;
1938
+ header?: never;
1939
+ path?: never;
1940
+ cookie?: never;
1941
+ };
1942
+ /**
1943
+ * Get integration
1944
+ * @description Get a single integration configured for the current workspace.
1945
+ */
1946
+ get: operations["integrations.get"];
1947
+ put?: never;
1948
+ /**
1949
+ * Configure integration
1950
+ * @description Create or update the integration of this type. Settings are validated against the integration before saving.
1951
+ */
1952
+ post: operations["integrations.upsert"];
1953
+ /**
1954
+ * Remove integration
1955
+ * @description Remove the integration of this type from the current workspace.
1956
+ */
1957
+ delete: operations["integrations.delete"];
1958
+ options?: never;
1959
+ head?: never;
1960
+ patch?: never;
1961
+ trace?: never;
1962
+ };
1891
1963
  "/question-bank": {
1892
1964
  parameters: {
1893
1965
  query?: never;
@@ -3183,6 +3255,25 @@ interface operations {
3183
3255
  requestBody?: never;
3184
3256
  responses: never;
3185
3257
  };
3258
+ "exams.sessions.update": {
3259
+ parameters: {
3260
+ query?: never;
3261
+ header?: never;
3262
+ path: {
3263
+ id: string;
3264
+ sessionId: string;
3265
+ };
3266
+ cookie?: never;
3267
+ };
3268
+ requestBody?: {
3269
+ content: {
3270
+ "application/json": {
3271
+ studentName: string;
3272
+ };
3273
+ };
3274
+ };
3275
+ responses: never;
3276
+ };
3186
3277
  "exams.sessions.saveFeedback": {
3187
3278
  parameters: {
3188
3279
  query?: never;
@@ -3666,7 +3757,7 @@ interface operations {
3666
3757
  requestBody?: never;
3667
3758
  responses: never;
3668
3759
  };
3669
- "exams.update": {
3760
+ "postExams:id": {
3670
3761
  parameters: {
3671
3762
  query?: never;
3672
3763
  header?: never;
@@ -3690,6 +3781,18 @@ interface operations {
3690
3781
  requestBody?: never;
3691
3782
  responses: never;
3692
3783
  };
3784
+ "exams.update": {
3785
+ parameters: {
3786
+ query?: never;
3787
+ header?: never;
3788
+ path: {
3789
+ id: string;
3790
+ };
3791
+ cookie?: never;
3792
+ };
3793
+ requestBody?: never;
3794
+ responses: never;
3795
+ };
3693
3796
  "exams.duplicate": {
3694
3797
  parameters: {
3695
3798
  query?: never;
@@ -4209,6 +4312,15 @@ interface operations {
4209
4312
  /** Format: date-time */
4210
4313
  updatedAt: string;
4211
4314
  createdBy: string;
4315
+ /** @description Present when the actor inherits access because the resource lives in a shared folder. */
4316
+ inheritedFrom?: {
4317
+ object: string;
4318
+ /** @constant */
4319
+ type: "folder";
4320
+ name?: string;
4321
+ /** @enum {string} */
4322
+ role: "owner" | "manager" | "editor" | "viewer" | "participant";
4323
+ };
4212
4324
  }[];
4213
4325
  };
4214
4326
  };
@@ -4279,6 +4391,15 @@ interface operations {
4279
4391
  /** Format: date-time */
4280
4392
  updatedAt: string;
4281
4393
  createdBy: string;
4394
+ /** @description Present when the actor inherits access because the resource lives in a shared folder. */
4395
+ inheritedFrom?: {
4396
+ object: string;
4397
+ /** @constant */
4398
+ type: "folder";
4399
+ name?: string;
4400
+ /** @enum {string} */
4401
+ role: "owner" | "manager" | "editor" | "viewer" | "participant";
4402
+ };
4282
4403
  };
4283
4404
  };
4284
4405
  };
@@ -4329,6 +4450,15 @@ interface operations {
4329
4450
  /** Format: date-time */
4330
4451
  updatedAt: string;
4331
4452
  createdBy: string;
4453
+ /** @description Present when the actor inherits access because the resource lives in a shared folder. */
4454
+ inheritedFrom?: {
4455
+ object: string;
4456
+ /** @constant */
4457
+ type: "folder";
4458
+ name?: string;
4459
+ /** @enum {string} */
4460
+ role: "owner" | "manager" | "editor" | "viewer" | "participant";
4461
+ };
4332
4462
  };
4333
4463
  };
4334
4464
  };
@@ -4483,10 +4613,12 @@ interface operations {
4483
4613
  taxonomyId?: string | null;
4484
4614
  duration?: number | null;
4485
4615
  intendedDuration?: unknown | null;
4486
- enforceOrder?: boolean | null;
4487
4616
  enforceTimeLimit?: boolean | null;
4617
+ enforceOrder?: boolean | null;
4488
4618
  requirePasscode?: boolean | null;
4489
4619
  passcode?: string | null;
4620
+ startDateTime?: string | null;
4621
+ endDateTime?: string | null;
4490
4622
  showPoints?: boolean | null;
4491
4623
  showFeedback?: boolean | null;
4492
4624
  showTableOfContents?: boolean | null;
@@ -4583,10 +4715,12 @@ interface operations {
4583
4715
  taxonomyId?: string | null;
4584
4716
  duration?: number | null;
4585
4717
  intendedDuration?: unknown | null;
4586
- enforceOrder?: boolean | null;
4587
4718
  enforceTimeLimit?: boolean | null;
4719
+ enforceOrder?: boolean | null;
4588
4720
  requirePasscode?: boolean | null;
4589
4721
  passcode?: string | null;
4722
+ startDateTime?: string | null;
4723
+ endDateTime?: string | null;
4590
4724
  showPoints?: boolean | null;
4591
4725
  showFeedback?: boolean | null;
4592
4726
  showTableOfContents?: boolean | null;
@@ -5196,6 +5330,21 @@ interface operations {
5196
5330
  };
5197
5331
  };
5198
5332
  };
5333
+ "items.list": {
5334
+ parameters: {
5335
+ query?: {
5336
+ /** @description Optional filter by item type. */
5337
+ type?: "exam" | "practice-space";
5338
+ /** @description Optional filter by folder ID, or `none` for items not in any folder. */
5339
+ folder?: string;
5340
+ };
5341
+ header?: never;
5342
+ path?: never;
5343
+ cookie?: never;
5344
+ };
5345
+ requestBody?: never;
5346
+ responses: never;
5347
+ };
5199
5348
  "folders.list": {
5200
5349
  parameters: {
5201
5350
  query?: never;
@@ -5222,7 +5371,7 @@ interface operations {
5222
5371
  };
5223
5372
  responses: never;
5224
5373
  };
5225
- "folders.update": {
5374
+ "postFolders:id": {
5226
5375
  parameters: {
5227
5376
  query?: never;
5228
5377
  header?: never;
@@ -5252,6 +5401,24 @@ interface operations {
5252
5401
  requestBody?: never;
5253
5402
  responses: never;
5254
5403
  };
5404
+ "folders.update": {
5405
+ parameters: {
5406
+ query?: never;
5407
+ header?: never;
5408
+ path: {
5409
+ id: string;
5410
+ };
5411
+ cookie?: never;
5412
+ };
5413
+ requestBody?: {
5414
+ content: {
5415
+ "application/json": {
5416
+ name: string;
5417
+ };
5418
+ };
5419
+ };
5420
+ responses: never;
5421
+ };
5255
5422
  "groups.list": {
5256
5423
  parameters: {
5257
5424
  query?: never;
@@ -5281,6 +5448,9 @@ interface operations {
5281
5448
  content: {
5282
5449
  "application/json": {
5283
5450
  name: string;
5451
+ metadata?: {
5452
+ [key: string]: string | number | boolean | null;
5453
+ };
5284
5454
  };
5285
5455
  };
5286
5456
  };
@@ -5347,7 +5517,10 @@ interface operations {
5347
5517
  requestBody?: {
5348
5518
  content: {
5349
5519
  "application/json": {
5350
- name: string;
5520
+ name?: string | null;
5521
+ metadata?: {
5522
+ [key: string]: string | number | boolean | null;
5523
+ } | null;
5351
5524
  };
5352
5525
  };
5353
5526
  };
@@ -5533,6 +5706,52 @@ interface operations {
5533
5706
  };
5534
5707
  };
5535
5708
  };
5709
+ "integrations.list": {
5710
+ parameters: {
5711
+ query?: never;
5712
+ header?: never;
5713
+ path?: never;
5714
+ cookie?: never;
5715
+ };
5716
+ requestBody?: never;
5717
+ responses: never;
5718
+ };
5719
+ "integrations.get": {
5720
+ parameters: {
5721
+ query?: never;
5722
+ header?: never;
5723
+ path: {
5724
+ integrationType: string;
5725
+ };
5726
+ cookie?: never;
5727
+ };
5728
+ requestBody?: never;
5729
+ responses: never;
5730
+ };
5731
+ "integrations.upsert": {
5732
+ parameters: {
5733
+ query?: never;
5734
+ header?: never;
5735
+ path: {
5736
+ integrationType: string;
5737
+ };
5738
+ cookie?: never;
5739
+ };
5740
+ requestBody?: never;
5741
+ responses: never;
5742
+ };
5743
+ "integrations.delete": {
5744
+ parameters: {
5745
+ query?: never;
5746
+ header?: never;
5747
+ path: {
5748
+ integrationType: string;
5749
+ };
5750
+ cookie?: never;
5751
+ };
5752
+ requestBody?: never;
5753
+ responses: never;
5754
+ };
5536
5755
  "questionBank.list": {
5537
5756
  parameters: {
5538
5757
  query?: never;
@@ -6038,6 +6257,10 @@ interface _PathOverrides {
6038
6257
  examId: string;
6039
6258
  sessionId: string;
6040
6259
  };
6260
+ "exams.sessions.update": {
6261
+ examId: string;
6262
+ sessionId: string;
6263
+ };
6041
6264
  "exams.sessions.saveFeedback": {
6042
6265
  examId: string;
6043
6266
  sessionId: string;
@@ -6108,6 +6331,9 @@ interface _PathOverrides {
6108
6331
  "exams.update": {
6109
6332
  id: string;
6110
6333
  };
6334
+ "postExams:id": {
6335
+ id: string;
6336
+ };
6111
6337
  "exams.delete": {
6112
6338
  id: string;
6113
6339
  };
@@ -6222,6 +6448,9 @@ interface _PathOverrides {
6222
6448
  "folders.update": {
6223
6449
  id: string;
6224
6450
  };
6451
+ "postFolders:id": {
6452
+ id: string;
6453
+ };
6225
6454
  "folders.delete": {
6226
6455
  id: string;
6227
6456
  };
@@ -6245,6 +6474,15 @@ interface _PathOverrides {
6245
6474
  groupId: string;
6246
6475
  userId: string;
6247
6476
  };
6477
+ "integrations.get": {
6478
+ integrationType: string;
6479
+ };
6480
+ "integrations.upsert": {
6481
+ integrationType: string;
6482
+ };
6483
+ "integrations.delete": {
6484
+ integrationType: string;
6485
+ };
6248
6486
  "questionBank.update": {
6249
6487
  id: string;
6250
6488
  };
@@ -6621,6 +6859,14 @@ declare class ExamsSessions {
6621
6859
  * API endpoint: `DELETE /exams/{examId}/sessions/{sessionId}`
6622
6860
  */
6623
6861
  delete(args: Args<"exams.sessions.delete">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.delete">>;
6862
+ /**
6863
+ * Update session
6864
+ *
6865
+ * Update an exam session. Currently supports renaming the student, which is not allowed for sessions taken by a signed-in student.
6866
+ *
6867
+ * API endpoint: `PATCH /exams/{examId}/sessions/{sessionId}`
6868
+ */
6869
+ update(args: Args<"exams.sessions.update">, options?: ExamplaryRequestOptions): Promise<Response<"exams.sessions.update">>;
6624
6870
  /**
6625
6871
  * Provide feedback
6626
6872
  *
@@ -6772,7 +7018,7 @@ declare class Exams {
6772
7018
  *
6773
7019
  * Update an existing exam.
6774
7020
  *
6775
- * API endpoint: `POST /exams/{id}`
7021
+ * API endpoint: `PATCH /exams/{id}`
6776
7022
  */
6777
7023
  update(id: string, options?: ExamplaryRequestOptions): Promise<Response<"exams.update">>;
6778
7024
  update(args: Args<"exams.update">, options?: ExamplaryRequestOptions): Promise<Response<"exams.update">>;
@@ -7354,6 +7600,18 @@ declare class SourceMaterials {
7354
7600
  */
7355
7601
  slice(args: Args<"sourceMaterials.slice">, options?: ExamplaryRequestOptions): Promise<Response<"sourceMaterials.slice">>;
7356
7602
  }
7603
+ declare class Items {
7604
+ private readonly ctx;
7605
+ constructor(ctx: ClientContext);
7606
+ /**
7607
+ * List items
7608
+ *
7609
+ * Get a list of items (tests and practice spaces) within your workspace. Returns everything by default; filter by `type` or `folder`.
7610
+ *
7611
+ * API endpoint: `GET /items`
7612
+ */
7613
+ list(args?: Args<"items.list">, options?: ExamplaryRequestOptions): Promise<Response<"items.list">>;
7614
+ }
7357
7615
  declare class Folders {
7358
7616
  private readonly ctx;
7359
7617
  constructor(ctx: ClientContext);
@@ -7378,7 +7636,7 @@ declare class Folders {
7378
7636
  *
7379
7637
  * Update an existing folder in the current workspace.
7380
7638
  *
7381
- * API endpoint: `POST /folders/{id}`
7639
+ * API endpoint: `PATCH /folders/{id}`
7382
7640
  */
7383
7641
  update(args: Args<"folders.update">, options?: ExamplaryRequestOptions): Promise<Response<"folders.update">>;
7384
7642
  /**
@@ -7461,6 +7719,45 @@ declare class Groups {
7461
7719
  */
7462
7720
  removeMember(args: Args<"groups.removeMember">, options?: ExamplaryRequestOptions): Promise<Response<"groups.removeMember">>;
7463
7721
  }
7722
+ declare class Integrations {
7723
+ private readonly ctx;
7724
+ constructor(ctx: ClientContext);
7725
+ /**
7726
+ * List integrations
7727
+ *
7728
+ * List all available integrations and whether they are configured for the current workspace. Settings and field metadata are only included for Admin/Owner.
7729
+ *
7730
+ * API endpoint: `GET /integrations`
7731
+ */
7732
+ list(args?: Args<"integrations.list">, options?: ExamplaryRequestOptions): Promise<Response<"integrations.list">>;
7733
+ /**
7734
+ * Get integration
7735
+ *
7736
+ * Get a single integration configured for the current workspace.
7737
+ *
7738
+ * API endpoint: `GET /integrations/{integrationType}`
7739
+ */
7740
+ get(integrationType: string, options?: ExamplaryRequestOptions): Promise<Response<"integrations.get">>;
7741
+ get(args: Args<"integrations.get">, options?: ExamplaryRequestOptions): Promise<Response<"integrations.get">>;
7742
+ /**
7743
+ * Configure integration
7744
+ *
7745
+ * Create or update the integration of this type. Settings are validated against the integration before saving.
7746
+ *
7747
+ * API endpoint: `POST /integrations/{integrationType}`
7748
+ */
7749
+ upsert(integrationType: string, options?: ExamplaryRequestOptions): Promise<Response<"integrations.upsert">>;
7750
+ upsert(args: Args<"integrations.upsert">, options?: ExamplaryRequestOptions): Promise<Response<"integrations.upsert">>;
7751
+ /**
7752
+ * Remove integration
7753
+ *
7754
+ * Remove the integration of this type from the current workspace.
7755
+ *
7756
+ * API endpoint: `DELETE /integrations/{integrationType}`
7757
+ */
7758
+ delete(integrationType: string, options?: ExamplaryRequestOptions): Promise<Response<"integrations.delete">>;
7759
+ delete(args: Args<"integrations.delete">, options?: ExamplaryRequestOptions): Promise<Response<"integrations.delete">>;
7760
+ }
7464
7761
  declare class QuestionBank {
7465
7762
  private readonly ctx;
7466
7763
  constructor(ctx: ClientContext);
@@ -7577,12 +7874,23 @@ declare class Examplary {
7577
7874
  readonly users: Users;
7578
7875
  readonly practiceSpaces: PracticeSpaces;
7579
7876
  readonly sourceMaterials: SourceMaterials;
7877
+ readonly items: Items;
7580
7878
  readonly folders: Folders;
7581
7879
  readonly groups: Groups;
7880
+ readonly integrations: Integrations;
7582
7881
  readonly questionBank: QuestionBank;
7583
7882
  readonly prompts: Prompts;
7584
7883
  readonly jobs: Jobs;
7585
7884
  constructor(options: ExamplaryClientOptions);
7885
+ /**
7886
+ * API endpoint: `POST /exams/{id}`
7887
+ */
7888
+ postExamsId(id: string, options?: ExamplaryRequestOptions): Promise<Response<"postExams:id">>;
7889
+ postExamsId(args: Args<"postExams:id">, options?: ExamplaryRequestOptions): Promise<Response<"postExams:id">>;
7890
+ /**
7891
+ * API endpoint: `POST /folders/{id}`
7892
+ */
7893
+ postFoldersId(args: Args<"postFolders:id">, options?: ExamplaryRequestOptions): Promise<Response<"postFolders:id">>;
7586
7894
  /**
7587
7895
  * Get rubrics
7588
7896
  *