@transcend-io/mcp-server-assessment 2.1.1 → 2.1.3

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.
@@ -460,7 +460,7 @@ const ListAssessmentCommentsSchema = z.object({
460
460
  "OPEN",
461
461
  "RESOLVED",
462
462
  "ALL"
463
- ]).optional().default("OPEN").describe("OPEN returns only unresolved feedback, which is the feedback still asking for something. RESOLVED returns only what has been dealt with, ALL returns both. Default OPEN."),
463
+ ]).optional().default("OPEN").describe("OPEN / RESOLVED filter by the root of each thread (the row with no parentCommentId). A reply is open only while its root is unresolved — replies are not resolved on their own. ALL returns both. Default OPEN."),
464
464
  levels: z.array(z.enum([
465
465
  "FORM",
466
466
  "SECTION",
@@ -502,12 +502,23 @@ function describeTarget(comment, fields) {
502
502
  ...Object.fromEntries(Object.entries(fields).filter(([, value]) => value !== void 0))
503
503
  };
504
504
  }
505
+ /**
506
+ * Open/closed follows the root of the thread. Replies keep their own
507
+ * `resolvedAt` unset; only resolving the root closes them. When the parent is
508
+ * missing from the pool (e.g. an author filter dropped it), fall back to the
509
+ * row's own stamp rather than inventing a state we cannot see.
510
+ */
511
+ function threadResolvedAt(comment, byId) {
512
+ if (comment.parentCommentId === void 0) return comment.resolvedAt;
513
+ const parent = byId.get(comment.parentCommentId);
514
+ return parent === void 0 ? comment.resolvedAt : parent.resolvedAt;
515
+ }
505
516
  function createAssessmentsListCommentsTool(clients) {
506
517
  const graphql = clients.graphql;
507
518
  const { dashboardUrl } = clients;
508
519
  return defineTool({
509
520
  name: "assessments_list_comments",
510
- description: "Read the reviewer feedback on one assessment — the comments left on it during review. Returns feedback from all three levels at once, whether it was left on the form as a whole, on a section, or on a single question, each row naming what it sits on. Narrow with levels to one of those, authorIds to who wrote it, and resolution to whether it is still open. Use this rather than assessments_get, which reads the questions and answers and only counts the feedback.",
521
+ description: "Read the reviewer feedback on one assessment — the comments left on it during review. Returns feedback from all three levels at once, whether it was left on the form as a whole, on a section, or on a single question, each row naming what it sits on. Resolution is per thread on the root comment (no parentCommentId); replies close when that root is resolved. Narrow with levels, authorIds, and resolution (OPEN/RESOLVED/ALL). Use this rather than assessments_get, which only counts feedback. To reply or resolve a thread, call assessments_write_comment with the root id, level, and targetId.",
511
522
  category: "Assessments",
512
523
  readOnly: true,
513
524
  annotations: {
@@ -533,12 +544,18 @@ function createAssessmentsListCommentsTool(clients) {
533
544
  const id = comment.author?.id;
534
545
  return id !== void 0 && authorIds.includes(id);
535
546
  };
536
- const matchesResolution = (comment) => resolution === "ALL" || (resolution === "RESOLVED" ? comment.resolvedAt !== void 0 : !comment.resolvedAt);
537
- const matched = [
547
+ const pool = [
538
548
  ...formComments,
539
549
  ...sectionComments,
540
550
  ...questions.nodes
541
- ].filter((comment) => wanted(comment.level) && matchesAuthor(comment) && matchesResolution(comment)).sort(byCreationThenId);
551
+ ].filter((comment) => wanted(comment.level));
552
+ const byId = new Map(pool.map((comment) => [comment.id, comment]));
553
+ const matchesResolution = (comment) => {
554
+ if (resolution === "ALL") return true;
555
+ const resolvedAt = threadResolvedAt(comment, byId);
556
+ return resolution === "RESOLVED" ? resolvedAt !== void 0 : resolvedAt === void 0;
557
+ };
558
+ const matched = pool.filter((comment) => matchesAuthor(comment) && matchesResolution(comment)).sort(byCreationThenId);
542
559
  const totalByLevel = {
543
560
  FORM: 0,
544
561
  SECTION: 0,
@@ -1077,6 +1094,126 @@ function createAssessmentsUpdateAssigneesTool(clients) {
1077
1094
  });
1078
1095
  }
1079
1096
  //#endregion
1097
+ //#region src/tools/assessments_write_comment.ts
1098
+ const AssessmentCommentLevelEnum = z.enum([
1099
+ "FORM",
1100
+ "SECTION",
1101
+ "QUESTION"
1102
+ ]);
1103
+ const WriteAssessmentCommentSchema = z.object({
1104
+ assessmentId: z.string().describe("Assessment form id (from assessments_list). Dashboard link; FORM edit/resolve defaults targetId to this when omitted."),
1105
+ content: z.string().optional().describe("Comment body. Required to create or reply; omit when only resolving via commentId."),
1106
+ level: AssessmentCommentLevelEnum.describe("FORM, SECTION, or QUESTION — from the assessments_list_comments row."),
1107
+ targetId: z.string().optional().describe("Form, section, or question id (list row targetId). Required to create/reply; required for QUESTION edit/resolve; FORM defaults to assessmentId."),
1108
+ parentCommentId: z.string().optional().describe("Root comment to reply to. Not with commentId. With resolved true, closes that parent thread after the reply (replies are not resolved on their own)."),
1109
+ commentId: z.string().optional().describe("Existing comment to edit and/or resolve (id from assessments_list_comments). To resolve a thread, pass the root id (the row with no parentCommentId), not a reply."),
1110
+ resolved: z.boolean().optional().describe("true to resolve the thread, false to reopen. Needs the root commentId, or parentCommentId when replying (closes that parent). Replies are not resolved alone.")
1111
+ });
1112
+ function createAssessmentsWriteCommentTool(clients) {
1113
+ const graphql = clients.graphql;
1114
+ const { dashboardUrl } = clients;
1115
+ return defineTool({
1116
+ name: "assessments_write_comment",
1117
+ description: "Leave, reply to, edit, or resolve reviewer feedback on an assessment — form, section, or question. Resolution is per thread on the root comment (no parentCommentId); replies close when that root is resolved. Pass parentCommentId to reply, commentId to edit or resolve a root, or reply with resolved true to close the parent thread. Needs the comment id, level, and target id from existing reviewer feedback on the assessment.",
1118
+ category: "Assessments",
1119
+ readOnly: false,
1120
+ annotations: {
1121
+ readOnlyHint: false,
1122
+ destructiveHint: false,
1123
+ idempotentHint: false
1124
+ },
1125
+ zodSchema: WriteAssessmentCommentSchema,
1126
+ handler: async ({ assessmentId, content, level, targetId, parentCommentId, commentId, resolved }) => {
1127
+ const links = buildAssessmentLinks({
1128
+ dashboardUrl,
1129
+ assessmentFormId: assessmentId
1130
+ });
1131
+ const resolveTargetId = (forQuestion, action) => {
1132
+ const resolvedTargetId = targetId ?? (level === "FORM" ? assessmentId : void 0);
1133
+ if (forQuestion && level === "QUESTION" && resolvedTargetId === void 0) throw new ToolError(ErrorCode.VALIDATION_ERROR, `targetId is required when ${action} a QUESTION comment. Pass the question id from assessments_list_comments (the row targetId).`, false, {
1134
+ level,
1135
+ commentId,
1136
+ parentCommentId
1137
+ });
1138
+ return resolvedTargetId;
1139
+ };
1140
+ if (commentId !== void 0) {
1141
+ if (parentCommentId !== void 0) throw new ToolError(ErrorCode.VALIDATION_ERROR, "Pass either commentId (to edit or resolve) or parentCommentId (to reply), not both. Call assessments_list_comments for the comment id and its level/targetId.", false, {
1142
+ commentId,
1143
+ parentCommentId
1144
+ });
1145
+ if (content === void 0 && resolved === void 0) throw new ToolError(ErrorCode.VALIDATION_ERROR, "When commentId is set, pass content to edit the comment, resolved to close or reopen it, or both. Call assessments_list_comments for the comment id.", false, {
1146
+ commentId,
1147
+ level
1148
+ });
1149
+ let comment;
1150
+ if (content !== void 0) comment = await graphql.updateAssessmentComment({
1151
+ level,
1152
+ commentId,
1153
+ content,
1154
+ targetId: resolveTargetId(true, "editing")
1155
+ });
1156
+ if (resolved !== void 0) comment = await graphql.resolveAssessmentComment({
1157
+ level,
1158
+ commentId,
1159
+ isResolved: resolved,
1160
+ targetId: resolveTargetId(true, "resolving")
1161
+ });
1162
+ const parts = [];
1163
+ if (content !== void 0) parts.push("updated");
1164
+ if (resolved === true) parts.push("resolved");
1165
+ if (resolved === false) parts.push("reopened");
1166
+ return createToolResult(true, {
1167
+ assessmentId,
1168
+ ...links,
1169
+ comment,
1170
+ message: `Comment ${parts.join(" and ")}. View the assessment at ${links.url}`
1171
+ });
1172
+ }
1173
+ if (resolved !== void 0 && parentCommentId === void 0) throw new ToolError(ErrorCode.VALIDATION_ERROR, "resolved requires commentId (to close or reopen that comment) or parentCommentId (to reply and then close that parent thread). Call assessments_list_comments for ids.", false, {
1174
+ level,
1175
+ resolved
1176
+ });
1177
+ if (content === void 0) throw new ToolError(ErrorCode.VALIDATION_ERROR, "content is required when creating or replying to a comment. To only resolve or reopen, pass commentId with resolved instead.", false, {
1178
+ level,
1179
+ assessmentId
1180
+ });
1181
+ if (targetId === void 0) throw new ToolError(ErrorCode.VALIDATION_ERROR, "targetId is required when creating or replying to a comment. Pass the form, section, or question id from assessments_list_comments (the row targetId). For a new FORM comment, targetId is the same as assessmentId.", false, {
1182
+ level,
1183
+ assessmentId
1184
+ });
1185
+ const comment = await graphql.createAssessmentComment({
1186
+ level,
1187
+ targetId,
1188
+ content,
1189
+ parentCommentId
1190
+ });
1191
+ if (resolved !== void 0 && parentCommentId !== void 0) {
1192
+ await graphql.resolveAssessmentComment({
1193
+ level,
1194
+ commentId: parentCommentId,
1195
+ isResolved: resolved,
1196
+ targetId: resolveTargetId(true, "resolving")
1197
+ });
1198
+ const closeOrReopen = resolved ? "resolved" : "reopened";
1199
+ return createToolResult(true, {
1200
+ assessmentId,
1201
+ ...links,
1202
+ comment,
1203
+ message: `Reply posted and parent thread ${closeOrReopen}. View the assessment at ${links.url}`
1204
+ });
1205
+ }
1206
+ const action = parentCommentId !== void 0 ? "Reply posted" : "Comment created";
1207
+ return createToolResult(true, {
1208
+ assessmentId,
1209
+ ...links,
1210
+ comment,
1211
+ message: `${action}. View the assessment at ${links.url}`
1212
+ });
1213
+ }
1214
+ });
1215
+ }
1216
+ //#endregion
1080
1217
  //#region src/tools/index.ts
1081
1218
  function getAssessmentTools(clients) {
1082
1219
  return [
@@ -1086,6 +1223,7 @@ function getAssessmentTools(clients) {
1086
1223
  createAssessmentsCreateGroupTool(clients),
1087
1224
  createAssessmentsListGroupsTool(clients),
1088
1225
  createAssessmentsListCommentsTool(clients),
1226
+ createAssessmentsWriteCommentTool(clients),
1089
1227
  createAssessmentsUpdateTool(clients),
1090
1228
  createAssessmentsListTemplatesTool(clients),
1091
1229
  createAssessmentsUpdateAssigneesTool(clients),
@@ -3904,14 +4042,14 @@ const documents = {
3904
4042
  }
3905
4043
  }]
3906
4044
  },
3907
- "\n mutation AssessmentsSelectAnswers($input: SelectAssessmentQuestionAnswerInput!) {\n selectAssessmentQuestionAnswers(input: $input) {\n selectedAnswers {\n id\n index\n value\n }\n }\n }\n": {
4045
+ "\n mutation AssessmentsCreateFormComments($input: CreateAssessmentFormCommentsInput!) {\n createAssessmentFormComments(input: $input) {\n assessmentFormComments {\n id\n content\n parentCommentId\n resolvedAt\n createdAt\n updatedAt\n externalAuthorEmail\n author {\n id\n email\n name\n }\n files {\n id\n }\n }\n }\n }\n": {
3908
4046
  "kind": "Document",
3909
4047
  "definitions": [{
3910
4048
  "kind": "OperationDefinition",
3911
4049
  "operation": "mutation",
3912
4050
  "name": {
3913
4051
  "kind": "Name",
3914
- "value": "AssessmentsSelectAnswers"
4052
+ "value": "AssessmentsCreateFormComments"
3915
4053
  },
3916
4054
  "variableDefinitions": [{
3917
4055
  "kind": "VariableDefinition",
@@ -3928,7 +4066,7 @@ const documents = {
3928
4066
  "kind": "NamedType",
3929
4067
  "name": {
3930
4068
  "kind": "Name",
3931
- "value": "SelectAssessmentQuestionAnswerInput"
4069
+ "value": "CreateAssessmentFormCommentsInput"
3932
4070
  }
3933
4071
  }
3934
4072
  }
@@ -3939,7 +4077,7 @@ const documents = {
3939
4077
  "kind": "Field",
3940
4078
  "name": {
3941
4079
  "kind": "Name",
3942
- "value": "selectAssessmentQuestionAnswers"
4080
+ "value": "createAssessmentFormComments"
3943
4081
  },
3944
4082
  "arguments": [{
3945
4083
  "kind": "Argument",
@@ -3961,7 +4099,7 @@ const documents = {
3961
4099
  "kind": "Field",
3962
4100
  "name": {
3963
4101
  "kind": "Name",
3964
- "value": "selectedAnswers"
4102
+ "value": "assessmentFormComments"
3965
4103
  },
3966
4104
  "selectionSet": {
3967
4105
  "kind": "SelectionSet",
@@ -3977,14 +4115,92 @@ const documents = {
3977
4115
  "kind": "Field",
3978
4116
  "name": {
3979
4117
  "kind": "Name",
3980
- "value": "index"
4118
+ "value": "content"
3981
4119
  }
3982
4120
  },
3983
4121
  {
3984
4122
  "kind": "Field",
3985
4123
  "name": {
3986
4124
  "kind": "Name",
3987
- "value": "value"
4125
+ "value": "parentCommentId"
4126
+ }
4127
+ },
4128
+ {
4129
+ "kind": "Field",
4130
+ "name": {
4131
+ "kind": "Name",
4132
+ "value": "resolvedAt"
4133
+ }
4134
+ },
4135
+ {
4136
+ "kind": "Field",
4137
+ "name": {
4138
+ "kind": "Name",
4139
+ "value": "createdAt"
4140
+ }
4141
+ },
4142
+ {
4143
+ "kind": "Field",
4144
+ "name": {
4145
+ "kind": "Name",
4146
+ "value": "updatedAt"
4147
+ }
4148
+ },
4149
+ {
4150
+ "kind": "Field",
4151
+ "name": {
4152
+ "kind": "Name",
4153
+ "value": "externalAuthorEmail"
4154
+ }
4155
+ },
4156
+ {
4157
+ "kind": "Field",
4158
+ "name": {
4159
+ "kind": "Name",
4160
+ "value": "author"
4161
+ },
4162
+ "selectionSet": {
4163
+ "kind": "SelectionSet",
4164
+ "selections": [
4165
+ {
4166
+ "kind": "Field",
4167
+ "name": {
4168
+ "kind": "Name",
4169
+ "value": "id"
4170
+ }
4171
+ },
4172
+ {
4173
+ "kind": "Field",
4174
+ "name": {
4175
+ "kind": "Name",
4176
+ "value": "email"
4177
+ }
4178
+ },
4179
+ {
4180
+ "kind": "Field",
4181
+ "name": {
4182
+ "kind": "Name",
4183
+ "value": "name"
4184
+ }
4185
+ }
4186
+ ]
4187
+ }
4188
+ },
4189
+ {
4190
+ "kind": "Field",
4191
+ "name": {
4192
+ "kind": "Name",
4193
+ "value": "files"
4194
+ },
4195
+ "selectionSet": {
4196
+ "kind": "SelectionSet",
4197
+ "selections": [{
4198
+ "kind": "Field",
4199
+ "name": {
4200
+ "kind": "Name",
4201
+ "value": "id"
4202
+ }
4203
+ }]
3988
4204
  }
3989
4205
  }
3990
4206
  ]
@@ -3995,14 +4211,14 @@ const documents = {
3995
4211
  }
3996
4212
  }]
3997
4213
  },
3998
- "\n mutation AssessmentsUpdateAssignees($input: UpdateAssessmentFormAssigneesInput!) {\n updateAssessmentFormAssignees(input: $input) {\n assessmentForm {\n id\n title\n status\n }\n }\n }\n": {
4214
+ "\n mutation AssessmentsCreateSectionComments($input: CreateAssessmentSectionCommentsInput!) {\n createAssessmentSectionComments(input: $input) {\n assessmentSectionComments {\n id\n content\n assessmentSectionId\n parentCommentId\n resolvedAt\n createdAt\n updatedAt\n externalAuthorEmail\n author {\n id\n email\n name\n }\n files {\n id\n }\n }\n }\n }\n": {
3999
4215
  "kind": "Document",
4000
4216
  "definitions": [{
4001
4217
  "kind": "OperationDefinition",
4002
4218
  "operation": "mutation",
4003
4219
  "name": {
4004
4220
  "kind": "Name",
4005
- "value": "AssessmentsUpdateAssignees"
4221
+ "value": "AssessmentsCreateSectionComments"
4006
4222
  },
4007
4223
  "variableDefinitions": [{
4008
4224
  "kind": "VariableDefinition",
@@ -4019,7 +4235,7 @@ const documents = {
4019
4235
  "kind": "NamedType",
4020
4236
  "name": {
4021
4237
  "kind": "Name",
4022
- "value": "UpdateAssessmentFormAssigneesInput"
4238
+ "value": "CreateAssessmentSectionCommentsInput"
4023
4239
  }
4024
4240
  }
4025
4241
  }
@@ -4030,7 +4246,7 @@ const documents = {
4030
4246
  "kind": "Field",
4031
4247
  "name": {
4032
4248
  "kind": "Name",
4033
- "value": "updateAssessmentFormAssignees"
4249
+ "value": "createAssessmentSectionComments"
4034
4250
  },
4035
4251
  "arguments": [{
4036
4252
  "kind": "Argument",
@@ -4052,7 +4268,7 @@ const documents = {
4052
4268
  "kind": "Field",
4053
4269
  "name": {
4054
4270
  "kind": "Name",
4055
- "value": "assessmentForm"
4271
+ "value": "assessmentSectionComments"
4056
4272
  },
4057
4273
  "selectionSet": {
4058
4274
  "kind": "SelectionSet",
@@ -4068,14 +4284,99 @@ const documents = {
4068
4284
  "kind": "Field",
4069
4285
  "name": {
4070
4286
  "kind": "Name",
4071
- "value": "title"
4287
+ "value": "content"
4072
4288
  }
4073
4289
  },
4074
4290
  {
4075
4291
  "kind": "Field",
4076
4292
  "name": {
4077
4293
  "kind": "Name",
4078
- "value": "status"
4294
+ "value": "assessmentSectionId"
4295
+ }
4296
+ },
4297
+ {
4298
+ "kind": "Field",
4299
+ "name": {
4300
+ "kind": "Name",
4301
+ "value": "parentCommentId"
4302
+ }
4303
+ },
4304
+ {
4305
+ "kind": "Field",
4306
+ "name": {
4307
+ "kind": "Name",
4308
+ "value": "resolvedAt"
4309
+ }
4310
+ },
4311
+ {
4312
+ "kind": "Field",
4313
+ "name": {
4314
+ "kind": "Name",
4315
+ "value": "createdAt"
4316
+ }
4317
+ },
4318
+ {
4319
+ "kind": "Field",
4320
+ "name": {
4321
+ "kind": "Name",
4322
+ "value": "updatedAt"
4323
+ }
4324
+ },
4325
+ {
4326
+ "kind": "Field",
4327
+ "name": {
4328
+ "kind": "Name",
4329
+ "value": "externalAuthorEmail"
4330
+ }
4331
+ },
4332
+ {
4333
+ "kind": "Field",
4334
+ "name": {
4335
+ "kind": "Name",
4336
+ "value": "author"
4337
+ },
4338
+ "selectionSet": {
4339
+ "kind": "SelectionSet",
4340
+ "selections": [
4341
+ {
4342
+ "kind": "Field",
4343
+ "name": {
4344
+ "kind": "Name",
4345
+ "value": "id"
4346
+ }
4347
+ },
4348
+ {
4349
+ "kind": "Field",
4350
+ "name": {
4351
+ "kind": "Name",
4352
+ "value": "email"
4353
+ }
4354
+ },
4355
+ {
4356
+ "kind": "Field",
4357
+ "name": {
4358
+ "kind": "Name",
4359
+ "value": "name"
4360
+ }
4361
+ }
4362
+ ]
4363
+ }
4364
+ },
4365
+ {
4366
+ "kind": "Field",
4367
+ "name": {
4368
+ "kind": "Name",
4369
+ "value": "files"
4370
+ },
4371
+ "selectionSet": {
4372
+ "kind": "SelectionSet",
4373
+ "selections": [{
4374
+ "kind": "Field",
4375
+ "name": {
4376
+ "kind": "Name",
4377
+ "value": "id"
4378
+ }
4379
+ }]
4079
4380
  }
4080
4381
  }
4081
4382
  ]
@@ -4086,38 +4387,1429 @@ const documents = {
4086
4387
  }
4087
4388
  }]
4088
4389
  },
4089
- "\n query AssessmentsListGroups($first: Int, $offset: Int, $filterBy: AssessmentGroupFiltersInput) {\n assessmentGroups(first: $first, offset: $offset, filterBy: $filterBy) {\n nodes {\n id\n title\n description\n assessmentFormTemplate {\n id\n title\n }\n }\n totalCount\n }\n }\n": {
4390
+ "\n mutation AssessmentsCreateQuestionComments($input: CreateAssessmentQuestionCommentsInput!) {\n createAssessmentQuestionComments(input: $input) {\n assessmentQuestionComments {\n id\n content\n parentCommentId\n resolvedAt\n createdAt\n updatedAt\n externalAuthorEmail\n author {\n id\n email\n name\n }\n files {\n id\n }\n }\n }\n }\n": {
4090
4391
  "kind": "Document",
4091
4392
  "definitions": [{
4092
4393
  "kind": "OperationDefinition",
4093
- "operation": "query",
4394
+ "operation": "mutation",
4094
4395
  "name": {
4095
4396
  "kind": "Name",
4096
- "value": "AssessmentsListGroups"
4397
+ "value": "AssessmentsCreateQuestionComments"
4097
4398
  },
4098
- "variableDefinitions": [
4099
- {
4100
- "kind": "VariableDefinition",
4101
- "variable": {
4102
- "kind": "Variable",
4103
- "name": {
4104
- "kind": "Name",
4105
- "value": "first"
4106
- }
4107
- },
4399
+ "variableDefinitions": [{
4400
+ "kind": "VariableDefinition",
4401
+ "variable": {
4402
+ "kind": "Variable",
4403
+ "name": {
4404
+ "kind": "Name",
4405
+ "value": "input"
4406
+ }
4407
+ },
4408
+ "type": {
4409
+ "kind": "NonNullType",
4108
4410
  "type": {
4109
4411
  "kind": "NamedType",
4110
4412
  "name": {
4111
4413
  "kind": "Name",
4112
- "value": "Int"
4414
+ "value": "CreateAssessmentQuestionCommentsInput"
4113
4415
  }
4114
4416
  }
4115
- },
4116
- {
4117
- "kind": "VariableDefinition",
4118
- "variable": {
4119
- "kind": "Variable",
4120
- "name": {
4417
+ }
4418
+ }],
4419
+ "selectionSet": {
4420
+ "kind": "SelectionSet",
4421
+ "selections": [{
4422
+ "kind": "Field",
4423
+ "name": {
4424
+ "kind": "Name",
4425
+ "value": "createAssessmentQuestionComments"
4426
+ },
4427
+ "arguments": [{
4428
+ "kind": "Argument",
4429
+ "name": {
4430
+ "kind": "Name",
4431
+ "value": "input"
4432
+ },
4433
+ "value": {
4434
+ "kind": "Variable",
4435
+ "name": {
4436
+ "kind": "Name",
4437
+ "value": "input"
4438
+ }
4439
+ }
4440
+ }],
4441
+ "selectionSet": {
4442
+ "kind": "SelectionSet",
4443
+ "selections": [{
4444
+ "kind": "Field",
4445
+ "name": {
4446
+ "kind": "Name",
4447
+ "value": "assessmentQuestionComments"
4448
+ },
4449
+ "selectionSet": {
4450
+ "kind": "SelectionSet",
4451
+ "selections": [
4452
+ {
4453
+ "kind": "Field",
4454
+ "name": {
4455
+ "kind": "Name",
4456
+ "value": "id"
4457
+ }
4458
+ },
4459
+ {
4460
+ "kind": "Field",
4461
+ "name": {
4462
+ "kind": "Name",
4463
+ "value": "content"
4464
+ }
4465
+ },
4466
+ {
4467
+ "kind": "Field",
4468
+ "name": {
4469
+ "kind": "Name",
4470
+ "value": "parentCommentId"
4471
+ }
4472
+ },
4473
+ {
4474
+ "kind": "Field",
4475
+ "name": {
4476
+ "kind": "Name",
4477
+ "value": "resolvedAt"
4478
+ }
4479
+ },
4480
+ {
4481
+ "kind": "Field",
4482
+ "name": {
4483
+ "kind": "Name",
4484
+ "value": "createdAt"
4485
+ }
4486
+ },
4487
+ {
4488
+ "kind": "Field",
4489
+ "name": {
4490
+ "kind": "Name",
4491
+ "value": "updatedAt"
4492
+ }
4493
+ },
4494
+ {
4495
+ "kind": "Field",
4496
+ "name": {
4497
+ "kind": "Name",
4498
+ "value": "externalAuthorEmail"
4499
+ }
4500
+ },
4501
+ {
4502
+ "kind": "Field",
4503
+ "name": {
4504
+ "kind": "Name",
4505
+ "value": "author"
4506
+ },
4507
+ "selectionSet": {
4508
+ "kind": "SelectionSet",
4509
+ "selections": [
4510
+ {
4511
+ "kind": "Field",
4512
+ "name": {
4513
+ "kind": "Name",
4514
+ "value": "id"
4515
+ }
4516
+ },
4517
+ {
4518
+ "kind": "Field",
4519
+ "name": {
4520
+ "kind": "Name",
4521
+ "value": "email"
4522
+ }
4523
+ },
4524
+ {
4525
+ "kind": "Field",
4526
+ "name": {
4527
+ "kind": "Name",
4528
+ "value": "name"
4529
+ }
4530
+ }
4531
+ ]
4532
+ }
4533
+ },
4534
+ {
4535
+ "kind": "Field",
4536
+ "name": {
4537
+ "kind": "Name",
4538
+ "value": "files"
4539
+ },
4540
+ "selectionSet": {
4541
+ "kind": "SelectionSet",
4542
+ "selections": [{
4543
+ "kind": "Field",
4544
+ "name": {
4545
+ "kind": "Name",
4546
+ "value": "id"
4547
+ }
4548
+ }]
4549
+ }
4550
+ }
4551
+ ]
4552
+ }
4553
+ }]
4554
+ }
4555
+ }]
4556
+ }
4557
+ }]
4558
+ },
4559
+ "\n mutation AssessmentsUpdateFormComments($input: UpdateAssessmentFormCommentsInput!) {\n updateAssessmentFormComments(input: $input) {\n assessmentFormComments {\n id\n content\n parentCommentId\n resolvedAt\n createdAt\n updatedAt\n externalAuthorEmail\n author {\n id\n email\n name\n }\n files {\n id\n }\n }\n }\n }\n": {
4560
+ "kind": "Document",
4561
+ "definitions": [{
4562
+ "kind": "OperationDefinition",
4563
+ "operation": "mutation",
4564
+ "name": {
4565
+ "kind": "Name",
4566
+ "value": "AssessmentsUpdateFormComments"
4567
+ },
4568
+ "variableDefinitions": [{
4569
+ "kind": "VariableDefinition",
4570
+ "variable": {
4571
+ "kind": "Variable",
4572
+ "name": {
4573
+ "kind": "Name",
4574
+ "value": "input"
4575
+ }
4576
+ },
4577
+ "type": {
4578
+ "kind": "NonNullType",
4579
+ "type": {
4580
+ "kind": "NamedType",
4581
+ "name": {
4582
+ "kind": "Name",
4583
+ "value": "UpdateAssessmentFormCommentsInput"
4584
+ }
4585
+ }
4586
+ }
4587
+ }],
4588
+ "selectionSet": {
4589
+ "kind": "SelectionSet",
4590
+ "selections": [{
4591
+ "kind": "Field",
4592
+ "name": {
4593
+ "kind": "Name",
4594
+ "value": "updateAssessmentFormComments"
4595
+ },
4596
+ "arguments": [{
4597
+ "kind": "Argument",
4598
+ "name": {
4599
+ "kind": "Name",
4600
+ "value": "input"
4601
+ },
4602
+ "value": {
4603
+ "kind": "Variable",
4604
+ "name": {
4605
+ "kind": "Name",
4606
+ "value": "input"
4607
+ }
4608
+ }
4609
+ }],
4610
+ "selectionSet": {
4611
+ "kind": "SelectionSet",
4612
+ "selections": [{
4613
+ "kind": "Field",
4614
+ "name": {
4615
+ "kind": "Name",
4616
+ "value": "assessmentFormComments"
4617
+ },
4618
+ "selectionSet": {
4619
+ "kind": "SelectionSet",
4620
+ "selections": [
4621
+ {
4622
+ "kind": "Field",
4623
+ "name": {
4624
+ "kind": "Name",
4625
+ "value": "id"
4626
+ }
4627
+ },
4628
+ {
4629
+ "kind": "Field",
4630
+ "name": {
4631
+ "kind": "Name",
4632
+ "value": "content"
4633
+ }
4634
+ },
4635
+ {
4636
+ "kind": "Field",
4637
+ "name": {
4638
+ "kind": "Name",
4639
+ "value": "parentCommentId"
4640
+ }
4641
+ },
4642
+ {
4643
+ "kind": "Field",
4644
+ "name": {
4645
+ "kind": "Name",
4646
+ "value": "resolvedAt"
4647
+ }
4648
+ },
4649
+ {
4650
+ "kind": "Field",
4651
+ "name": {
4652
+ "kind": "Name",
4653
+ "value": "createdAt"
4654
+ }
4655
+ },
4656
+ {
4657
+ "kind": "Field",
4658
+ "name": {
4659
+ "kind": "Name",
4660
+ "value": "updatedAt"
4661
+ }
4662
+ },
4663
+ {
4664
+ "kind": "Field",
4665
+ "name": {
4666
+ "kind": "Name",
4667
+ "value": "externalAuthorEmail"
4668
+ }
4669
+ },
4670
+ {
4671
+ "kind": "Field",
4672
+ "name": {
4673
+ "kind": "Name",
4674
+ "value": "author"
4675
+ },
4676
+ "selectionSet": {
4677
+ "kind": "SelectionSet",
4678
+ "selections": [
4679
+ {
4680
+ "kind": "Field",
4681
+ "name": {
4682
+ "kind": "Name",
4683
+ "value": "id"
4684
+ }
4685
+ },
4686
+ {
4687
+ "kind": "Field",
4688
+ "name": {
4689
+ "kind": "Name",
4690
+ "value": "email"
4691
+ }
4692
+ },
4693
+ {
4694
+ "kind": "Field",
4695
+ "name": {
4696
+ "kind": "Name",
4697
+ "value": "name"
4698
+ }
4699
+ }
4700
+ ]
4701
+ }
4702
+ },
4703
+ {
4704
+ "kind": "Field",
4705
+ "name": {
4706
+ "kind": "Name",
4707
+ "value": "files"
4708
+ },
4709
+ "selectionSet": {
4710
+ "kind": "SelectionSet",
4711
+ "selections": [{
4712
+ "kind": "Field",
4713
+ "name": {
4714
+ "kind": "Name",
4715
+ "value": "id"
4716
+ }
4717
+ }]
4718
+ }
4719
+ }
4720
+ ]
4721
+ }
4722
+ }]
4723
+ }
4724
+ }]
4725
+ }
4726
+ }]
4727
+ },
4728
+ "\n mutation AssessmentsUpdateSectionComments($input: [UpdateAssessmentSectionCommentInput!]!) {\n updateAssessmentSectionComments(input: $input) {\n assessmentSectionComments {\n id\n content\n assessmentSectionId\n parentCommentId\n resolvedAt\n createdAt\n updatedAt\n externalAuthorEmail\n author {\n id\n email\n name\n }\n files {\n id\n }\n }\n }\n }\n": {
4729
+ "kind": "Document",
4730
+ "definitions": [{
4731
+ "kind": "OperationDefinition",
4732
+ "operation": "mutation",
4733
+ "name": {
4734
+ "kind": "Name",
4735
+ "value": "AssessmentsUpdateSectionComments"
4736
+ },
4737
+ "variableDefinitions": [{
4738
+ "kind": "VariableDefinition",
4739
+ "variable": {
4740
+ "kind": "Variable",
4741
+ "name": {
4742
+ "kind": "Name",
4743
+ "value": "input"
4744
+ }
4745
+ },
4746
+ "type": {
4747
+ "kind": "NonNullType",
4748
+ "type": {
4749
+ "kind": "ListType",
4750
+ "type": {
4751
+ "kind": "NonNullType",
4752
+ "type": {
4753
+ "kind": "NamedType",
4754
+ "name": {
4755
+ "kind": "Name",
4756
+ "value": "UpdateAssessmentSectionCommentInput"
4757
+ }
4758
+ }
4759
+ }
4760
+ }
4761
+ }
4762
+ }],
4763
+ "selectionSet": {
4764
+ "kind": "SelectionSet",
4765
+ "selections": [{
4766
+ "kind": "Field",
4767
+ "name": {
4768
+ "kind": "Name",
4769
+ "value": "updateAssessmentSectionComments"
4770
+ },
4771
+ "arguments": [{
4772
+ "kind": "Argument",
4773
+ "name": {
4774
+ "kind": "Name",
4775
+ "value": "input"
4776
+ },
4777
+ "value": {
4778
+ "kind": "Variable",
4779
+ "name": {
4780
+ "kind": "Name",
4781
+ "value": "input"
4782
+ }
4783
+ }
4784
+ }],
4785
+ "selectionSet": {
4786
+ "kind": "SelectionSet",
4787
+ "selections": [{
4788
+ "kind": "Field",
4789
+ "name": {
4790
+ "kind": "Name",
4791
+ "value": "assessmentSectionComments"
4792
+ },
4793
+ "selectionSet": {
4794
+ "kind": "SelectionSet",
4795
+ "selections": [
4796
+ {
4797
+ "kind": "Field",
4798
+ "name": {
4799
+ "kind": "Name",
4800
+ "value": "id"
4801
+ }
4802
+ },
4803
+ {
4804
+ "kind": "Field",
4805
+ "name": {
4806
+ "kind": "Name",
4807
+ "value": "content"
4808
+ }
4809
+ },
4810
+ {
4811
+ "kind": "Field",
4812
+ "name": {
4813
+ "kind": "Name",
4814
+ "value": "assessmentSectionId"
4815
+ }
4816
+ },
4817
+ {
4818
+ "kind": "Field",
4819
+ "name": {
4820
+ "kind": "Name",
4821
+ "value": "parentCommentId"
4822
+ }
4823
+ },
4824
+ {
4825
+ "kind": "Field",
4826
+ "name": {
4827
+ "kind": "Name",
4828
+ "value": "resolvedAt"
4829
+ }
4830
+ },
4831
+ {
4832
+ "kind": "Field",
4833
+ "name": {
4834
+ "kind": "Name",
4835
+ "value": "createdAt"
4836
+ }
4837
+ },
4838
+ {
4839
+ "kind": "Field",
4840
+ "name": {
4841
+ "kind": "Name",
4842
+ "value": "updatedAt"
4843
+ }
4844
+ },
4845
+ {
4846
+ "kind": "Field",
4847
+ "name": {
4848
+ "kind": "Name",
4849
+ "value": "externalAuthorEmail"
4850
+ }
4851
+ },
4852
+ {
4853
+ "kind": "Field",
4854
+ "name": {
4855
+ "kind": "Name",
4856
+ "value": "author"
4857
+ },
4858
+ "selectionSet": {
4859
+ "kind": "SelectionSet",
4860
+ "selections": [
4861
+ {
4862
+ "kind": "Field",
4863
+ "name": {
4864
+ "kind": "Name",
4865
+ "value": "id"
4866
+ }
4867
+ },
4868
+ {
4869
+ "kind": "Field",
4870
+ "name": {
4871
+ "kind": "Name",
4872
+ "value": "email"
4873
+ }
4874
+ },
4875
+ {
4876
+ "kind": "Field",
4877
+ "name": {
4878
+ "kind": "Name",
4879
+ "value": "name"
4880
+ }
4881
+ }
4882
+ ]
4883
+ }
4884
+ },
4885
+ {
4886
+ "kind": "Field",
4887
+ "name": {
4888
+ "kind": "Name",
4889
+ "value": "files"
4890
+ },
4891
+ "selectionSet": {
4892
+ "kind": "SelectionSet",
4893
+ "selections": [{
4894
+ "kind": "Field",
4895
+ "name": {
4896
+ "kind": "Name",
4897
+ "value": "id"
4898
+ }
4899
+ }]
4900
+ }
4901
+ }
4902
+ ]
4903
+ }
4904
+ }]
4905
+ }
4906
+ }]
4907
+ }
4908
+ }]
4909
+ },
4910
+ "\n mutation AssessmentsUpdateQuestionComments($input: [UpdateAssessmentQuestionCommentInput!]!) {\n updateAssessmentQuestionComments(input: $input) {\n assessmentQuestionComments {\n id\n content\n parentCommentId\n resolvedAt\n createdAt\n updatedAt\n externalAuthorEmail\n author {\n id\n email\n name\n }\n files {\n id\n }\n }\n }\n }\n": {
4911
+ "kind": "Document",
4912
+ "definitions": [{
4913
+ "kind": "OperationDefinition",
4914
+ "operation": "mutation",
4915
+ "name": {
4916
+ "kind": "Name",
4917
+ "value": "AssessmentsUpdateQuestionComments"
4918
+ },
4919
+ "variableDefinitions": [{
4920
+ "kind": "VariableDefinition",
4921
+ "variable": {
4922
+ "kind": "Variable",
4923
+ "name": {
4924
+ "kind": "Name",
4925
+ "value": "input"
4926
+ }
4927
+ },
4928
+ "type": {
4929
+ "kind": "NonNullType",
4930
+ "type": {
4931
+ "kind": "ListType",
4932
+ "type": {
4933
+ "kind": "NonNullType",
4934
+ "type": {
4935
+ "kind": "NamedType",
4936
+ "name": {
4937
+ "kind": "Name",
4938
+ "value": "UpdateAssessmentQuestionCommentInput"
4939
+ }
4940
+ }
4941
+ }
4942
+ }
4943
+ }
4944
+ }],
4945
+ "selectionSet": {
4946
+ "kind": "SelectionSet",
4947
+ "selections": [{
4948
+ "kind": "Field",
4949
+ "name": {
4950
+ "kind": "Name",
4951
+ "value": "updateAssessmentQuestionComments"
4952
+ },
4953
+ "arguments": [{
4954
+ "kind": "Argument",
4955
+ "name": {
4956
+ "kind": "Name",
4957
+ "value": "input"
4958
+ },
4959
+ "value": {
4960
+ "kind": "Variable",
4961
+ "name": {
4962
+ "kind": "Name",
4963
+ "value": "input"
4964
+ }
4965
+ }
4966
+ }],
4967
+ "selectionSet": {
4968
+ "kind": "SelectionSet",
4969
+ "selections": [{
4970
+ "kind": "Field",
4971
+ "name": {
4972
+ "kind": "Name",
4973
+ "value": "assessmentQuestionComments"
4974
+ },
4975
+ "selectionSet": {
4976
+ "kind": "SelectionSet",
4977
+ "selections": [
4978
+ {
4979
+ "kind": "Field",
4980
+ "name": {
4981
+ "kind": "Name",
4982
+ "value": "id"
4983
+ }
4984
+ },
4985
+ {
4986
+ "kind": "Field",
4987
+ "name": {
4988
+ "kind": "Name",
4989
+ "value": "content"
4990
+ }
4991
+ },
4992
+ {
4993
+ "kind": "Field",
4994
+ "name": {
4995
+ "kind": "Name",
4996
+ "value": "parentCommentId"
4997
+ }
4998
+ },
4999
+ {
5000
+ "kind": "Field",
5001
+ "name": {
5002
+ "kind": "Name",
5003
+ "value": "resolvedAt"
5004
+ }
5005
+ },
5006
+ {
5007
+ "kind": "Field",
5008
+ "name": {
5009
+ "kind": "Name",
5010
+ "value": "createdAt"
5011
+ }
5012
+ },
5013
+ {
5014
+ "kind": "Field",
5015
+ "name": {
5016
+ "kind": "Name",
5017
+ "value": "updatedAt"
5018
+ }
5019
+ },
5020
+ {
5021
+ "kind": "Field",
5022
+ "name": {
5023
+ "kind": "Name",
5024
+ "value": "externalAuthorEmail"
5025
+ }
5026
+ },
5027
+ {
5028
+ "kind": "Field",
5029
+ "name": {
5030
+ "kind": "Name",
5031
+ "value": "author"
5032
+ },
5033
+ "selectionSet": {
5034
+ "kind": "SelectionSet",
5035
+ "selections": [
5036
+ {
5037
+ "kind": "Field",
5038
+ "name": {
5039
+ "kind": "Name",
5040
+ "value": "id"
5041
+ }
5042
+ },
5043
+ {
5044
+ "kind": "Field",
5045
+ "name": {
5046
+ "kind": "Name",
5047
+ "value": "email"
5048
+ }
5049
+ },
5050
+ {
5051
+ "kind": "Field",
5052
+ "name": {
5053
+ "kind": "Name",
5054
+ "value": "name"
5055
+ }
5056
+ }
5057
+ ]
5058
+ }
5059
+ },
5060
+ {
5061
+ "kind": "Field",
5062
+ "name": {
5063
+ "kind": "Name",
5064
+ "value": "files"
5065
+ },
5066
+ "selectionSet": {
5067
+ "kind": "SelectionSet",
5068
+ "selections": [{
5069
+ "kind": "Field",
5070
+ "name": {
5071
+ "kind": "Name",
5072
+ "value": "id"
5073
+ }
5074
+ }]
5075
+ }
5076
+ }
5077
+ ]
5078
+ }
5079
+ }]
5080
+ }
5081
+ }]
5082
+ }
5083
+ }]
5084
+ },
5085
+ "\n mutation AssessmentsResolveFormComments($input: ResolveAssessmentFormCommentsInput!) {\n resolveAssessmentFormComments(input: $input) {\n assessmentFormComments {\n id\n content\n parentCommentId\n resolvedAt\n createdAt\n updatedAt\n externalAuthorEmail\n author {\n id\n email\n name\n }\n files {\n id\n }\n }\n }\n }\n": {
5086
+ "kind": "Document",
5087
+ "definitions": [{
5088
+ "kind": "OperationDefinition",
5089
+ "operation": "mutation",
5090
+ "name": {
5091
+ "kind": "Name",
5092
+ "value": "AssessmentsResolveFormComments"
5093
+ },
5094
+ "variableDefinitions": [{
5095
+ "kind": "VariableDefinition",
5096
+ "variable": {
5097
+ "kind": "Variable",
5098
+ "name": {
5099
+ "kind": "Name",
5100
+ "value": "input"
5101
+ }
5102
+ },
5103
+ "type": {
5104
+ "kind": "NonNullType",
5105
+ "type": {
5106
+ "kind": "NamedType",
5107
+ "name": {
5108
+ "kind": "Name",
5109
+ "value": "ResolveAssessmentFormCommentsInput"
5110
+ }
5111
+ }
5112
+ }
5113
+ }],
5114
+ "selectionSet": {
5115
+ "kind": "SelectionSet",
5116
+ "selections": [{
5117
+ "kind": "Field",
5118
+ "name": {
5119
+ "kind": "Name",
5120
+ "value": "resolveAssessmentFormComments"
5121
+ },
5122
+ "arguments": [{
5123
+ "kind": "Argument",
5124
+ "name": {
5125
+ "kind": "Name",
5126
+ "value": "input"
5127
+ },
5128
+ "value": {
5129
+ "kind": "Variable",
5130
+ "name": {
5131
+ "kind": "Name",
5132
+ "value": "input"
5133
+ }
5134
+ }
5135
+ }],
5136
+ "selectionSet": {
5137
+ "kind": "SelectionSet",
5138
+ "selections": [{
5139
+ "kind": "Field",
5140
+ "name": {
5141
+ "kind": "Name",
5142
+ "value": "assessmentFormComments"
5143
+ },
5144
+ "selectionSet": {
5145
+ "kind": "SelectionSet",
5146
+ "selections": [
5147
+ {
5148
+ "kind": "Field",
5149
+ "name": {
5150
+ "kind": "Name",
5151
+ "value": "id"
5152
+ }
5153
+ },
5154
+ {
5155
+ "kind": "Field",
5156
+ "name": {
5157
+ "kind": "Name",
5158
+ "value": "content"
5159
+ }
5160
+ },
5161
+ {
5162
+ "kind": "Field",
5163
+ "name": {
5164
+ "kind": "Name",
5165
+ "value": "parentCommentId"
5166
+ }
5167
+ },
5168
+ {
5169
+ "kind": "Field",
5170
+ "name": {
5171
+ "kind": "Name",
5172
+ "value": "resolvedAt"
5173
+ }
5174
+ },
5175
+ {
5176
+ "kind": "Field",
5177
+ "name": {
5178
+ "kind": "Name",
5179
+ "value": "createdAt"
5180
+ }
5181
+ },
5182
+ {
5183
+ "kind": "Field",
5184
+ "name": {
5185
+ "kind": "Name",
5186
+ "value": "updatedAt"
5187
+ }
5188
+ },
5189
+ {
5190
+ "kind": "Field",
5191
+ "name": {
5192
+ "kind": "Name",
5193
+ "value": "externalAuthorEmail"
5194
+ }
5195
+ },
5196
+ {
5197
+ "kind": "Field",
5198
+ "name": {
5199
+ "kind": "Name",
5200
+ "value": "author"
5201
+ },
5202
+ "selectionSet": {
5203
+ "kind": "SelectionSet",
5204
+ "selections": [
5205
+ {
5206
+ "kind": "Field",
5207
+ "name": {
5208
+ "kind": "Name",
5209
+ "value": "id"
5210
+ }
5211
+ },
5212
+ {
5213
+ "kind": "Field",
5214
+ "name": {
5215
+ "kind": "Name",
5216
+ "value": "email"
5217
+ }
5218
+ },
5219
+ {
5220
+ "kind": "Field",
5221
+ "name": {
5222
+ "kind": "Name",
5223
+ "value": "name"
5224
+ }
5225
+ }
5226
+ ]
5227
+ }
5228
+ },
5229
+ {
5230
+ "kind": "Field",
5231
+ "name": {
5232
+ "kind": "Name",
5233
+ "value": "files"
5234
+ },
5235
+ "selectionSet": {
5236
+ "kind": "SelectionSet",
5237
+ "selections": [{
5238
+ "kind": "Field",
5239
+ "name": {
5240
+ "kind": "Name",
5241
+ "value": "id"
5242
+ }
5243
+ }]
5244
+ }
5245
+ }
5246
+ ]
5247
+ }
5248
+ }]
5249
+ }
5250
+ }]
5251
+ }
5252
+ }]
5253
+ },
5254
+ "\n mutation AssessmentsResolveSectionComments($input: ResolveAssessmentSectionCommentsInput!) {\n resolveAssessmentSectionComments(input: $input) {\n assessmentSectionComments {\n id\n content\n assessmentSectionId\n parentCommentId\n resolvedAt\n createdAt\n updatedAt\n externalAuthorEmail\n author {\n id\n email\n name\n }\n files {\n id\n }\n }\n }\n }\n": {
5255
+ "kind": "Document",
5256
+ "definitions": [{
5257
+ "kind": "OperationDefinition",
5258
+ "operation": "mutation",
5259
+ "name": {
5260
+ "kind": "Name",
5261
+ "value": "AssessmentsResolveSectionComments"
5262
+ },
5263
+ "variableDefinitions": [{
5264
+ "kind": "VariableDefinition",
5265
+ "variable": {
5266
+ "kind": "Variable",
5267
+ "name": {
5268
+ "kind": "Name",
5269
+ "value": "input"
5270
+ }
5271
+ },
5272
+ "type": {
5273
+ "kind": "NonNullType",
5274
+ "type": {
5275
+ "kind": "NamedType",
5276
+ "name": {
5277
+ "kind": "Name",
5278
+ "value": "ResolveAssessmentSectionCommentsInput"
5279
+ }
5280
+ }
5281
+ }
5282
+ }],
5283
+ "selectionSet": {
5284
+ "kind": "SelectionSet",
5285
+ "selections": [{
5286
+ "kind": "Field",
5287
+ "name": {
5288
+ "kind": "Name",
5289
+ "value": "resolveAssessmentSectionComments"
5290
+ },
5291
+ "arguments": [{
5292
+ "kind": "Argument",
5293
+ "name": {
5294
+ "kind": "Name",
5295
+ "value": "input"
5296
+ },
5297
+ "value": {
5298
+ "kind": "Variable",
5299
+ "name": {
5300
+ "kind": "Name",
5301
+ "value": "input"
5302
+ }
5303
+ }
5304
+ }],
5305
+ "selectionSet": {
5306
+ "kind": "SelectionSet",
5307
+ "selections": [{
5308
+ "kind": "Field",
5309
+ "name": {
5310
+ "kind": "Name",
5311
+ "value": "assessmentSectionComments"
5312
+ },
5313
+ "selectionSet": {
5314
+ "kind": "SelectionSet",
5315
+ "selections": [
5316
+ {
5317
+ "kind": "Field",
5318
+ "name": {
5319
+ "kind": "Name",
5320
+ "value": "id"
5321
+ }
5322
+ },
5323
+ {
5324
+ "kind": "Field",
5325
+ "name": {
5326
+ "kind": "Name",
5327
+ "value": "content"
5328
+ }
5329
+ },
5330
+ {
5331
+ "kind": "Field",
5332
+ "name": {
5333
+ "kind": "Name",
5334
+ "value": "assessmentSectionId"
5335
+ }
5336
+ },
5337
+ {
5338
+ "kind": "Field",
5339
+ "name": {
5340
+ "kind": "Name",
5341
+ "value": "parentCommentId"
5342
+ }
5343
+ },
5344
+ {
5345
+ "kind": "Field",
5346
+ "name": {
5347
+ "kind": "Name",
5348
+ "value": "resolvedAt"
5349
+ }
5350
+ },
5351
+ {
5352
+ "kind": "Field",
5353
+ "name": {
5354
+ "kind": "Name",
5355
+ "value": "createdAt"
5356
+ }
5357
+ },
5358
+ {
5359
+ "kind": "Field",
5360
+ "name": {
5361
+ "kind": "Name",
5362
+ "value": "updatedAt"
5363
+ }
5364
+ },
5365
+ {
5366
+ "kind": "Field",
5367
+ "name": {
5368
+ "kind": "Name",
5369
+ "value": "externalAuthorEmail"
5370
+ }
5371
+ },
5372
+ {
5373
+ "kind": "Field",
5374
+ "name": {
5375
+ "kind": "Name",
5376
+ "value": "author"
5377
+ },
5378
+ "selectionSet": {
5379
+ "kind": "SelectionSet",
5380
+ "selections": [
5381
+ {
5382
+ "kind": "Field",
5383
+ "name": {
5384
+ "kind": "Name",
5385
+ "value": "id"
5386
+ }
5387
+ },
5388
+ {
5389
+ "kind": "Field",
5390
+ "name": {
5391
+ "kind": "Name",
5392
+ "value": "email"
5393
+ }
5394
+ },
5395
+ {
5396
+ "kind": "Field",
5397
+ "name": {
5398
+ "kind": "Name",
5399
+ "value": "name"
5400
+ }
5401
+ }
5402
+ ]
5403
+ }
5404
+ },
5405
+ {
5406
+ "kind": "Field",
5407
+ "name": {
5408
+ "kind": "Name",
5409
+ "value": "files"
5410
+ },
5411
+ "selectionSet": {
5412
+ "kind": "SelectionSet",
5413
+ "selections": [{
5414
+ "kind": "Field",
5415
+ "name": {
5416
+ "kind": "Name",
5417
+ "value": "id"
5418
+ }
5419
+ }]
5420
+ }
5421
+ }
5422
+ ]
5423
+ }
5424
+ }]
5425
+ }
5426
+ }]
5427
+ }
5428
+ }]
5429
+ },
5430
+ "\n mutation AssessmentsResolveQuestionComments($input: ResolveAssessmentQuestionCommentsInput!) {\n resolveAssessmentQuestionComments(input: $input) {\n assessmentQuestionComments {\n id\n content\n parentCommentId\n resolvedAt\n createdAt\n updatedAt\n externalAuthorEmail\n author {\n id\n email\n name\n }\n files {\n id\n }\n }\n }\n }\n": {
5431
+ "kind": "Document",
5432
+ "definitions": [{
5433
+ "kind": "OperationDefinition",
5434
+ "operation": "mutation",
5435
+ "name": {
5436
+ "kind": "Name",
5437
+ "value": "AssessmentsResolveQuestionComments"
5438
+ },
5439
+ "variableDefinitions": [{
5440
+ "kind": "VariableDefinition",
5441
+ "variable": {
5442
+ "kind": "Variable",
5443
+ "name": {
5444
+ "kind": "Name",
5445
+ "value": "input"
5446
+ }
5447
+ },
5448
+ "type": {
5449
+ "kind": "NonNullType",
5450
+ "type": {
5451
+ "kind": "NamedType",
5452
+ "name": {
5453
+ "kind": "Name",
5454
+ "value": "ResolveAssessmentQuestionCommentsInput"
5455
+ }
5456
+ }
5457
+ }
5458
+ }],
5459
+ "selectionSet": {
5460
+ "kind": "SelectionSet",
5461
+ "selections": [{
5462
+ "kind": "Field",
5463
+ "name": {
5464
+ "kind": "Name",
5465
+ "value": "resolveAssessmentQuestionComments"
5466
+ },
5467
+ "arguments": [{
5468
+ "kind": "Argument",
5469
+ "name": {
5470
+ "kind": "Name",
5471
+ "value": "input"
5472
+ },
5473
+ "value": {
5474
+ "kind": "Variable",
5475
+ "name": {
5476
+ "kind": "Name",
5477
+ "value": "input"
5478
+ }
5479
+ }
5480
+ }],
5481
+ "selectionSet": {
5482
+ "kind": "SelectionSet",
5483
+ "selections": [{
5484
+ "kind": "Field",
5485
+ "name": {
5486
+ "kind": "Name",
5487
+ "value": "assessmentQuestionComments"
5488
+ },
5489
+ "selectionSet": {
5490
+ "kind": "SelectionSet",
5491
+ "selections": [
5492
+ {
5493
+ "kind": "Field",
5494
+ "name": {
5495
+ "kind": "Name",
5496
+ "value": "id"
5497
+ }
5498
+ },
5499
+ {
5500
+ "kind": "Field",
5501
+ "name": {
5502
+ "kind": "Name",
5503
+ "value": "content"
5504
+ }
5505
+ },
5506
+ {
5507
+ "kind": "Field",
5508
+ "name": {
5509
+ "kind": "Name",
5510
+ "value": "parentCommentId"
5511
+ }
5512
+ },
5513
+ {
5514
+ "kind": "Field",
5515
+ "name": {
5516
+ "kind": "Name",
5517
+ "value": "resolvedAt"
5518
+ }
5519
+ },
5520
+ {
5521
+ "kind": "Field",
5522
+ "name": {
5523
+ "kind": "Name",
5524
+ "value": "createdAt"
5525
+ }
5526
+ },
5527
+ {
5528
+ "kind": "Field",
5529
+ "name": {
5530
+ "kind": "Name",
5531
+ "value": "updatedAt"
5532
+ }
5533
+ },
5534
+ {
5535
+ "kind": "Field",
5536
+ "name": {
5537
+ "kind": "Name",
5538
+ "value": "externalAuthorEmail"
5539
+ }
5540
+ },
5541
+ {
5542
+ "kind": "Field",
5543
+ "name": {
5544
+ "kind": "Name",
5545
+ "value": "author"
5546
+ },
5547
+ "selectionSet": {
5548
+ "kind": "SelectionSet",
5549
+ "selections": [
5550
+ {
5551
+ "kind": "Field",
5552
+ "name": {
5553
+ "kind": "Name",
5554
+ "value": "id"
5555
+ }
5556
+ },
5557
+ {
5558
+ "kind": "Field",
5559
+ "name": {
5560
+ "kind": "Name",
5561
+ "value": "email"
5562
+ }
5563
+ },
5564
+ {
5565
+ "kind": "Field",
5566
+ "name": {
5567
+ "kind": "Name",
5568
+ "value": "name"
5569
+ }
5570
+ }
5571
+ ]
5572
+ }
5573
+ },
5574
+ {
5575
+ "kind": "Field",
5576
+ "name": {
5577
+ "kind": "Name",
5578
+ "value": "files"
5579
+ },
5580
+ "selectionSet": {
5581
+ "kind": "SelectionSet",
5582
+ "selections": [{
5583
+ "kind": "Field",
5584
+ "name": {
5585
+ "kind": "Name",
5586
+ "value": "id"
5587
+ }
5588
+ }]
5589
+ }
5590
+ }
5591
+ ]
5592
+ }
5593
+ }]
5594
+ }
5595
+ }]
5596
+ }
5597
+ }]
5598
+ },
5599
+ "\n mutation AssessmentsSelectAnswers($input: SelectAssessmentQuestionAnswerInput!) {\n selectAssessmentQuestionAnswers(input: $input) {\n selectedAnswers {\n id\n index\n value\n }\n }\n }\n": {
5600
+ "kind": "Document",
5601
+ "definitions": [{
5602
+ "kind": "OperationDefinition",
5603
+ "operation": "mutation",
5604
+ "name": {
5605
+ "kind": "Name",
5606
+ "value": "AssessmentsSelectAnswers"
5607
+ },
5608
+ "variableDefinitions": [{
5609
+ "kind": "VariableDefinition",
5610
+ "variable": {
5611
+ "kind": "Variable",
5612
+ "name": {
5613
+ "kind": "Name",
5614
+ "value": "input"
5615
+ }
5616
+ },
5617
+ "type": {
5618
+ "kind": "NonNullType",
5619
+ "type": {
5620
+ "kind": "NamedType",
5621
+ "name": {
5622
+ "kind": "Name",
5623
+ "value": "SelectAssessmentQuestionAnswerInput"
5624
+ }
5625
+ }
5626
+ }
5627
+ }],
5628
+ "selectionSet": {
5629
+ "kind": "SelectionSet",
5630
+ "selections": [{
5631
+ "kind": "Field",
5632
+ "name": {
5633
+ "kind": "Name",
5634
+ "value": "selectAssessmentQuestionAnswers"
5635
+ },
5636
+ "arguments": [{
5637
+ "kind": "Argument",
5638
+ "name": {
5639
+ "kind": "Name",
5640
+ "value": "input"
5641
+ },
5642
+ "value": {
5643
+ "kind": "Variable",
5644
+ "name": {
5645
+ "kind": "Name",
5646
+ "value": "input"
5647
+ }
5648
+ }
5649
+ }],
5650
+ "selectionSet": {
5651
+ "kind": "SelectionSet",
5652
+ "selections": [{
5653
+ "kind": "Field",
5654
+ "name": {
5655
+ "kind": "Name",
5656
+ "value": "selectedAnswers"
5657
+ },
5658
+ "selectionSet": {
5659
+ "kind": "SelectionSet",
5660
+ "selections": [
5661
+ {
5662
+ "kind": "Field",
5663
+ "name": {
5664
+ "kind": "Name",
5665
+ "value": "id"
5666
+ }
5667
+ },
5668
+ {
5669
+ "kind": "Field",
5670
+ "name": {
5671
+ "kind": "Name",
5672
+ "value": "index"
5673
+ }
5674
+ },
5675
+ {
5676
+ "kind": "Field",
5677
+ "name": {
5678
+ "kind": "Name",
5679
+ "value": "value"
5680
+ }
5681
+ }
5682
+ ]
5683
+ }
5684
+ }]
5685
+ }
5686
+ }]
5687
+ }
5688
+ }]
5689
+ },
5690
+ "\n mutation AssessmentsUpdateAssignees($input: UpdateAssessmentFormAssigneesInput!) {\n updateAssessmentFormAssignees(input: $input) {\n assessmentForm {\n id\n title\n status\n }\n }\n }\n": {
5691
+ "kind": "Document",
5692
+ "definitions": [{
5693
+ "kind": "OperationDefinition",
5694
+ "operation": "mutation",
5695
+ "name": {
5696
+ "kind": "Name",
5697
+ "value": "AssessmentsUpdateAssignees"
5698
+ },
5699
+ "variableDefinitions": [{
5700
+ "kind": "VariableDefinition",
5701
+ "variable": {
5702
+ "kind": "Variable",
5703
+ "name": {
5704
+ "kind": "Name",
5705
+ "value": "input"
5706
+ }
5707
+ },
5708
+ "type": {
5709
+ "kind": "NonNullType",
5710
+ "type": {
5711
+ "kind": "NamedType",
5712
+ "name": {
5713
+ "kind": "Name",
5714
+ "value": "UpdateAssessmentFormAssigneesInput"
5715
+ }
5716
+ }
5717
+ }
5718
+ }],
5719
+ "selectionSet": {
5720
+ "kind": "SelectionSet",
5721
+ "selections": [{
5722
+ "kind": "Field",
5723
+ "name": {
5724
+ "kind": "Name",
5725
+ "value": "updateAssessmentFormAssignees"
5726
+ },
5727
+ "arguments": [{
5728
+ "kind": "Argument",
5729
+ "name": {
5730
+ "kind": "Name",
5731
+ "value": "input"
5732
+ },
5733
+ "value": {
5734
+ "kind": "Variable",
5735
+ "name": {
5736
+ "kind": "Name",
5737
+ "value": "input"
5738
+ }
5739
+ }
5740
+ }],
5741
+ "selectionSet": {
5742
+ "kind": "SelectionSet",
5743
+ "selections": [{
5744
+ "kind": "Field",
5745
+ "name": {
5746
+ "kind": "Name",
5747
+ "value": "assessmentForm"
5748
+ },
5749
+ "selectionSet": {
5750
+ "kind": "SelectionSet",
5751
+ "selections": [
5752
+ {
5753
+ "kind": "Field",
5754
+ "name": {
5755
+ "kind": "Name",
5756
+ "value": "id"
5757
+ }
5758
+ },
5759
+ {
5760
+ "kind": "Field",
5761
+ "name": {
5762
+ "kind": "Name",
5763
+ "value": "title"
5764
+ }
5765
+ },
5766
+ {
5767
+ "kind": "Field",
5768
+ "name": {
5769
+ "kind": "Name",
5770
+ "value": "status"
5771
+ }
5772
+ }
5773
+ ]
5774
+ }
5775
+ }]
5776
+ }
5777
+ }]
5778
+ }
5779
+ }]
5780
+ },
5781
+ "\n query AssessmentsListGroups($first: Int, $offset: Int, $filterBy: AssessmentGroupFiltersInput) {\n assessmentGroups(first: $first, offset: $offset, filterBy: $filterBy) {\n nodes {\n id\n title\n description\n assessmentFormTemplate {\n id\n title\n }\n }\n totalCount\n }\n }\n": {
5782
+ "kind": "Document",
5783
+ "definitions": [{
5784
+ "kind": "OperationDefinition",
5785
+ "operation": "query",
5786
+ "name": {
5787
+ "kind": "Name",
5788
+ "value": "AssessmentsListGroups"
5789
+ },
5790
+ "variableDefinitions": [
5791
+ {
5792
+ "kind": "VariableDefinition",
5793
+ "variable": {
5794
+ "kind": "Variable",
5795
+ "name": {
5796
+ "kind": "Name",
5797
+ "value": "first"
5798
+ }
5799
+ },
5800
+ "type": {
5801
+ "kind": "NamedType",
5802
+ "name": {
5803
+ "kind": "Name",
5804
+ "value": "Int"
5805
+ }
5806
+ }
5807
+ },
5808
+ {
5809
+ "kind": "VariableDefinition",
5810
+ "variable": {
5811
+ "kind": "Variable",
5812
+ "name": {
4121
5813
  "kind": "Name",
4122
5814
  "value": "offset"
4123
5815
  }
@@ -6075,6 +7767,216 @@ const ListQuestionCommentsDoc = graphql(`
6075
7767
  }
6076
7768
  }
6077
7769
  `);
7770
+ const CreateAssessmentFormCommentsDoc = graphql(`
7771
+ mutation AssessmentsCreateFormComments($input: CreateAssessmentFormCommentsInput!) {
7772
+ createAssessmentFormComments(input: $input) {
7773
+ assessmentFormComments {
7774
+ id
7775
+ content
7776
+ parentCommentId
7777
+ resolvedAt
7778
+ createdAt
7779
+ updatedAt
7780
+ externalAuthorEmail
7781
+ author {
7782
+ id
7783
+ email
7784
+ name
7785
+ }
7786
+ files {
7787
+ id
7788
+ }
7789
+ }
7790
+ }
7791
+ }
7792
+ `);
7793
+ const CreateAssessmentSectionCommentsDoc = graphql(`
7794
+ mutation AssessmentsCreateSectionComments($input: CreateAssessmentSectionCommentsInput!) {
7795
+ createAssessmentSectionComments(input: $input) {
7796
+ assessmentSectionComments {
7797
+ id
7798
+ content
7799
+ assessmentSectionId
7800
+ parentCommentId
7801
+ resolvedAt
7802
+ createdAt
7803
+ updatedAt
7804
+ externalAuthorEmail
7805
+ author {
7806
+ id
7807
+ email
7808
+ name
7809
+ }
7810
+ files {
7811
+ id
7812
+ }
7813
+ }
7814
+ }
7815
+ }
7816
+ `);
7817
+ const CreateAssessmentQuestionCommentsDoc = graphql(`
7818
+ mutation AssessmentsCreateQuestionComments($input: CreateAssessmentQuestionCommentsInput!) {
7819
+ createAssessmentQuestionComments(input: $input) {
7820
+ assessmentQuestionComments {
7821
+ id
7822
+ content
7823
+ parentCommentId
7824
+ resolvedAt
7825
+ createdAt
7826
+ updatedAt
7827
+ externalAuthorEmail
7828
+ author {
7829
+ id
7830
+ email
7831
+ name
7832
+ }
7833
+ files {
7834
+ id
7835
+ }
7836
+ }
7837
+ }
7838
+ }
7839
+ `);
7840
+ const UpdateAssessmentFormCommentsDoc = graphql(`
7841
+ mutation AssessmentsUpdateFormComments($input: UpdateAssessmentFormCommentsInput!) {
7842
+ updateAssessmentFormComments(input: $input) {
7843
+ assessmentFormComments {
7844
+ id
7845
+ content
7846
+ parentCommentId
7847
+ resolvedAt
7848
+ createdAt
7849
+ updatedAt
7850
+ externalAuthorEmail
7851
+ author {
7852
+ id
7853
+ email
7854
+ name
7855
+ }
7856
+ files {
7857
+ id
7858
+ }
7859
+ }
7860
+ }
7861
+ }
7862
+ `);
7863
+ const UpdateAssessmentSectionCommentsDoc = graphql(`
7864
+ mutation AssessmentsUpdateSectionComments($input: [UpdateAssessmentSectionCommentInput!]!) {
7865
+ updateAssessmentSectionComments(input: $input) {
7866
+ assessmentSectionComments {
7867
+ id
7868
+ content
7869
+ assessmentSectionId
7870
+ parentCommentId
7871
+ resolvedAt
7872
+ createdAt
7873
+ updatedAt
7874
+ externalAuthorEmail
7875
+ author {
7876
+ id
7877
+ email
7878
+ name
7879
+ }
7880
+ files {
7881
+ id
7882
+ }
7883
+ }
7884
+ }
7885
+ }
7886
+ `);
7887
+ const UpdateAssessmentQuestionCommentsDoc = graphql(`
7888
+ mutation AssessmentsUpdateQuestionComments($input: [UpdateAssessmentQuestionCommentInput!]!) {
7889
+ updateAssessmentQuestionComments(input: $input) {
7890
+ assessmentQuestionComments {
7891
+ id
7892
+ content
7893
+ parentCommentId
7894
+ resolvedAt
7895
+ createdAt
7896
+ updatedAt
7897
+ externalAuthorEmail
7898
+ author {
7899
+ id
7900
+ email
7901
+ name
7902
+ }
7903
+ files {
7904
+ id
7905
+ }
7906
+ }
7907
+ }
7908
+ }
7909
+ `);
7910
+ const ResolveAssessmentFormCommentsDoc = graphql(`
7911
+ mutation AssessmentsResolveFormComments($input: ResolveAssessmentFormCommentsInput!) {
7912
+ resolveAssessmentFormComments(input: $input) {
7913
+ assessmentFormComments {
7914
+ id
7915
+ content
7916
+ parentCommentId
7917
+ resolvedAt
7918
+ createdAt
7919
+ updatedAt
7920
+ externalAuthorEmail
7921
+ author {
7922
+ id
7923
+ email
7924
+ name
7925
+ }
7926
+ files {
7927
+ id
7928
+ }
7929
+ }
7930
+ }
7931
+ }
7932
+ `);
7933
+ const ResolveAssessmentSectionCommentsDoc = graphql(`
7934
+ mutation AssessmentsResolveSectionComments($input: ResolveAssessmentSectionCommentsInput!) {
7935
+ resolveAssessmentSectionComments(input: $input) {
7936
+ assessmentSectionComments {
7937
+ id
7938
+ content
7939
+ assessmentSectionId
7940
+ parentCommentId
7941
+ resolvedAt
7942
+ createdAt
7943
+ updatedAt
7944
+ externalAuthorEmail
7945
+ author {
7946
+ id
7947
+ email
7948
+ name
7949
+ }
7950
+ files {
7951
+ id
7952
+ }
7953
+ }
7954
+ }
7955
+ }
7956
+ `);
7957
+ const ResolveAssessmentQuestionCommentsDoc = graphql(`
7958
+ mutation AssessmentsResolveQuestionComments($input: ResolveAssessmentQuestionCommentsInput!) {
7959
+ resolveAssessmentQuestionComments(input: $input) {
7960
+ assessmentQuestionComments {
7961
+ id
7962
+ content
7963
+ parentCommentId
7964
+ resolvedAt
7965
+ createdAt
7966
+ updatedAt
7967
+ externalAuthorEmail
7968
+ author {
7969
+ id
7970
+ email
7971
+ name
7972
+ }
7973
+ files {
7974
+ id
7975
+ }
7976
+ }
7977
+ }
7978
+ }
7979
+ `);
6078
7980
  const SelectAssessmentQuestionAnswersDoc = graphql(`
6079
7981
  mutation AssessmentsSelectAnswers($input: SelectAssessmentQuestionAnswerInput!) {
6080
7982
  selectAssessmentQuestionAnswers(input: $input) {
@@ -6574,6 +8476,124 @@ var AssessmentsMixin = class extends TranscendGraphQLBase {
6574
8476
  QUESTION: question?.assessmentQuestionComments.totalCount ?? 0
6575
8477
  };
6576
8478
  }
8479
+ /**
8480
+ * Create a top-level comment or a threaded reply on a form, section, or
8481
+ * question. The three levels are separate mutations; `level` picks which one.
8482
+ */
8483
+ async createAssessmentComment(input) {
8484
+ const { level, targetId, content, parentCommentId } = input;
8485
+ if (level === "FORM") {
8486
+ const created = (await this.makeRequest(CreateAssessmentFormCommentsDoc, { input: { assessmentFormComments: [{
8487
+ content,
8488
+ assessmentFormId: targetId,
8489
+ parentCommentId
8490
+ }] } })).createAssessmentFormComments.assessmentFormComments[0];
8491
+ if (!created) throw new ToolError(ErrorCode.API_ERROR, "createAssessmentFormComments returned no comment", false);
8492
+ return toComment(created, "FORM", targetId);
8493
+ }
8494
+ if (level === "SECTION") {
8495
+ const created = (await this.makeRequest(CreateAssessmentSectionCommentsDoc, { input: { assessmentSectionComments: [{
8496
+ content,
8497
+ assessmentSectionId: targetId,
8498
+ parentCommentId
8499
+ }] } })).createAssessmentSectionComments.assessmentSectionComments[0];
8500
+ if (!created) throw new ToolError(ErrorCode.API_ERROR, "createAssessmentSectionComments returned no comment", false);
8501
+ return toComment(created, "SECTION", created.assessmentSectionId);
8502
+ }
8503
+ const created = (await this.makeRequest(CreateAssessmentQuestionCommentsDoc, { input: { assessmentQuestionComments: [{
8504
+ content,
8505
+ assessmentQuestionId: targetId,
8506
+ parentCommentId
8507
+ }] } })).createAssessmentQuestionComments.assessmentQuestionComments[0];
8508
+ if (!created) throw new ToolError(ErrorCode.API_ERROR, "createAssessmentQuestionComments returned no comment", false);
8509
+ return toComment(created, "QUESTION", targetId);
8510
+ }
8511
+ /**
8512
+ * Rewrite the body of an existing comment. `targetId` is required for the
8513
+ * shared {@link AssessmentComment} shape — FORM and QUESTION update payloads
8514
+ * do not echo the anchor id, and SECTION does only via `assessmentSectionId`.
8515
+ */
8516
+ async updateAssessmentComment(input) {
8517
+ const { level, commentId, content, targetId } = input;
8518
+ if (level === "FORM") {
8519
+ if (!targetId) throw new ToolError(ErrorCode.VALIDATION_ERROR, "targetId is required when editing a FORM comment. Pass the assessment form id (same as assessmentId). Call assessments_list_comments to look it up.", false, {
8520
+ level,
8521
+ commentId
8522
+ });
8523
+ const updated = (await this.makeRequest(UpdateAssessmentFormCommentsDoc, { input: { assessmentFormComments: [{
8524
+ id: commentId,
8525
+ content
8526
+ }] } })).updateAssessmentFormComments.assessmentFormComments[0];
8527
+ if (!updated) throw new ToolError(ErrorCode.API_ERROR, "updateAssessmentFormComments returned no comment", false);
8528
+ return toComment(updated, "FORM", targetId);
8529
+ }
8530
+ if (level === "SECTION") {
8531
+ const updated = (await this.makeRequest(UpdateAssessmentSectionCommentsDoc, { input: [{
8532
+ id: commentId,
8533
+ content
8534
+ }] })).updateAssessmentSectionComments.assessmentSectionComments[0];
8535
+ if (!updated) throw new ToolError(ErrorCode.API_ERROR, "updateAssessmentSectionComments returned no comment", false);
8536
+ const sectionId = updated.assessmentSectionId || targetId;
8537
+ if (!sectionId) throw new ToolError(ErrorCode.VALIDATION_ERROR, "targetId is required when editing a SECTION comment and the API did not return assessmentSectionId. Pass the section id from assessments_list_comments.", false, {
8538
+ level,
8539
+ commentId
8540
+ });
8541
+ return toComment(updated, "SECTION", sectionId);
8542
+ }
8543
+ if (!targetId) throw new ToolError(ErrorCode.VALIDATION_ERROR, "targetId is required when editing a QUESTION comment. Pass the question id from assessments_list_comments (the row targetId).", false, {
8544
+ level,
8545
+ commentId
8546
+ });
8547
+ const updated = (await this.makeRequest(UpdateAssessmentQuestionCommentsDoc, { input: [{
8548
+ id: commentId,
8549
+ content
8550
+ }] })).updateAssessmentQuestionComments.assessmentQuestionComments[0];
8551
+ if (!updated) throw new ToolError(ErrorCode.API_ERROR, "updateAssessmentQuestionComments returned no comment", false);
8552
+ return toComment(updated, "QUESTION", targetId);
8553
+ }
8554
+ /**
8555
+ * Mark a comment resolved or reopen it. Same level routing as create/update;
8556
+ * `targetId` is needed for FORM/QUESTION responses because those payloads do
8557
+ * not echo the anchor id.
8558
+ */
8559
+ async resolveAssessmentComment(input) {
8560
+ const { level, commentId, isResolved, targetId } = input;
8561
+ if (level === "FORM") {
8562
+ if (!targetId) throw new ToolError(ErrorCode.VALIDATION_ERROR, "targetId is required when resolving a FORM comment. Pass the assessment form id (same as assessmentId). Call assessments_list_comments to look it up.", false, {
8563
+ level,
8564
+ commentId
8565
+ });
8566
+ const updated = (await this.makeRequest(ResolveAssessmentFormCommentsDoc, { input: {
8567
+ ids: [commentId],
8568
+ isResolved
8569
+ } })).resolveAssessmentFormComments.assessmentFormComments[0];
8570
+ if (!updated) throw new ToolError(ErrorCode.API_ERROR, "resolveAssessmentFormComments returned no comment", false);
8571
+ return toComment(updated, "FORM", targetId);
8572
+ }
8573
+ if (level === "SECTION") {
8574
+ const updated = (await this.makeRequest(ResolveAssessmentSectionCommentsDoc, { input: {
8575
+ ids: [commentId],
8576
+ isResolved
8577
+ } })).resolveAssessmentSectionComments.assessmentSectionComments[0];
8578
+ if (!updated) throw new ToolError(ErrorCode.API_ERROR, "resolveAssessmentSectionComments returned no comment", false);
8579
+ const sectionId = updated.assessmentSectionId || targetId;
8580
+ if (!sectionId) throw new ToolError(ErrorCode.VALIDATION_ERROR, "targetId is required when resolving a SECTION comment and the API did not return assessmentSectionId. Pass the section id from assessments_list_comments.", false, {
8581
+ level,
8582
+ commentId
8583
+ });
8584
+ return toComment(updated, "SECTION", sectionId);
8585
+ }
8586
+ if (!targetId) throw new ToolError(ErrorCode.VALIDATION_ERROR, "targetId is required when resolving a QUESTION comment. Pass the question id from assessments_list_comments (the row targetId).", false, {
8587
+ level,
8588
+ commentId
8589
+ });
8590
+ const updated = (await this.makeRequest(ResolveAssessmentQuestionCommentsDoc, { input: {
8591
+ ids: [commentId],
8592
+ isResolved
8593
+ } })).resolveAssessmentQuestionComments.assessmentQuestionComments[0];
8594
+ if (!updated) throw new ToolError(ErrorCode.API_ERROR, "resolveAssessmentQuestionComments returned no comment", false);
8595
+ return toComment(updated, "QUESTION", targetId);
8596
+ }
6577
8597
  async selectAssessmentQuestionAnswers(input) {
6578
8598
  return (await this.makeRequest(SelectAssessmentQuestionAnswersDoc, { input })).selectAssessmentQuestionAnswers.selectedAnswers;
6579
8599
  }
@@ -6754,6 +8774,6 @@ var AssessmentsMixin = class extends TranscendGraphQLBase {
6754
8774
  }
6755
8775
  };
6756
8776
  //#endregion
6757
- export { AddSectionSchema as S, CreateAssessmentSchema as _, UpdateAssessmentSchema as a, AnswerQuestionSchema as b, ListTemplatesSchema as c, AssessmentStatusEnum as d, ListAssessmentsSchema as f, CreateGroupSchema as g, CreateTemplateSchema as h, UpdateAssigneesSchema as i, ListGroupsSchema as l, ExportTemplateSchema as m, ASSESSMENT_OAUTH_SCOPES as n, SubmitResponseSchema as o, GetAssessmentSchema as p, getAssessmentTools as r, PrefillSchema as s, AssessmentsMixin as t, ListAssessmentCommentsSchema as u, buildAssessmentGroupUrl as v, AnswerQuestionValueSchema as x, buildAssessmentLinks as y };
8777
+ export { AddSectionSchema as C, AnswerQuestionValueSchema as S, CreateGroupSchema as _, UpdateAssigneesSchema as a, buildAssessmentLinks as b, PrefillSchema as c, ListAssessmentCommentsSchema as d, AssessmentStatusEnum as f, CreateTemplateSchema as g, ExportTemplateSchema as h, WriteAssessmentCommentSchema as i, ListTemplatesSchema as l, GetAssessmentSchema as m, ASSESSMENT_OAUTH_SCOPES as n, UpdateAssessmentSchema as o, ListAssessmentsSchema as p, getAssessmentTools as r, SubmitResponseSchema as s, AssessmentsMixin as t, ListGroupsSchema as u, CreateAssessmentSchema as v, AnswerQuestionSchema as x, buildAssessmentGroupUrl as y };
6758
8778
 
6759
- //# sourceMappingURL=graphql-Bhzjb2f4.mjs.map
8779
+ //# sourceMappingURL=graphql-Q8HjPrIz.mjs.map