@team-plain/webhooks 1.6.0 → 1.7.1

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export {\n PlainWebhookError,\n PlainWebhookPayloadError,\n PlainWebhookSignatureVerificationError,\n PlainWebhookVersionMismatchError,\n} from \"./errors.js\";\nexport { parsePlainWebhook } from \"./parse.js\";\nexport type { Result } from \"./result.js\";\nexport { verifyPlainWebhook } from \"./verify.js\";\n\nexport type {\n CustomerChangedPayload,\n CustomerCreatedPublicEventPayload,\n CustomerDeletedPublicEventPayload,\n CustomerGroupChangedPayload,\n CustomerGroupMembershipsChangedPayload,\n CustomerUpdatedPublicEventPayload,\n DiscussionMessageCreatedPublicEventPayload,\n ThreadAssignmentTransitionedPublicEventPayload,\n ThreadChatSentPublicEventPayload,\n ThreadCreatedPublicEventPayload,\n ThreadEmailReceivedPublicEventPayload,\n ThreadEmailSentPublicEventPayload,\n ThreadFieldCreatedPublicEventPayload,\n ThreadFieldDeletedPublicEventPayload,\n ThreadFieldUpdatedPublicEventPayload,\n ThreadLabelsChangedPublicEventPayload,\n ThreadPriorityChangedPublicEventPayload,\n ThreadServiceLevelAgreementStatusTransitionedPayload,\n ThreadSlackMessageReceivedEventPayload,\n ThreadSlackMessageSentEventPayload,\n ThreadStatusTransitionedPublicEventPayload,\n TimelineEntryChangedPayload,\n WebhooksSchemaDefinition,\n} from \"./webhook-schema.js\";\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAKO;AACP,mBAAkC;AAElC,oBAAmC;","names":[]}
1
+ {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export {\n PlainWebhookError,\n PlainWebhookPayloadError,\n PlainWebhookSignatureVerificationError,\n PlainWebhookVersionMismatchError,\n} from \"./errors.js\";\nexport { parsePlainWebhook } from \"./parse.js\";\nexport type { Result } from \"./result.js\";\nexport { verifyPlainWebhook } from \"./verify.js\";\n\nexport type * from \"./webhook-schema.js\";\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAKO;AACP,mBAAkC;AAElC,oBAAmC;","names":[]}
@@ -84,7 +84,9 @@ function verifyWebhookSignature(payload, signature, secret) {
84
84
  };
85
85
  }
86
86
  const expectedSignature = crypto.createHmac("sha256", secret).update(payload, "utf8").digest("hex");
87
- if (signature !== expectedSignature) {
87
+ const given = Buffer.from(signature, "utf8");
88
+ const expected = Buffer.from(expectedSignature, "utf8");
89
+ if (given.length !== expected.length || !crypto.timingSafeEqual(given, expected)) {
88
90
  return {
89
91
  error: new import_errors.PlainWebhookSignatureVerificationError("The signature provided is invalid.")
90
92
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/verify.ts"],"sourcesContent":["import * as crypto from \"node:crypto\";\nimport {\n type PlainWebhookError,\n PlainWebhookPayloadError,\n PlainWebhookSignatureVerificationError,\n} from \"./errors.js\";\nimport { parsePlainWebhook } from \"./parse.js\";\nimport { isErr, type Result } from \"./result.js\";\nimport type { WebhooksSchemaDefinition } from \"./webhook-schema.js\";\n\n/**\n * Verifies and validates a Plain webhook payload.\n *\n * @param payload - The raw request body.\n * @param signature - The value of the 'Plain-Request-Signature' header.\n * @param secret - Your Plain webhook signing secret.\n * @param tolerance - (Optional) Maximum allowed difference in seconds between the timestamp and the current time. Defaults to 300 seconds. This is helpful to prevent replay attacks.\n * @returns A Result object containing the validated payload or an error.\n */\nexport function verifyPlainWebhook(\n payloadRaw: string,\n signature: string,\n secret: string,\n tolerance = 300, // 5 minutes\n): Result<WebhooksSchemaDefinition, PlainWebhookError> {\n const signatureVerificationResult = verifyWebhookSignature(payloadRaw, signature, secret);\n if (isErr(signatureVerificationResult)) {\n return signatureVerificationResult;\n }\n\n const payloadResult = parsePlainWebhook(payloadRaw);\n if (isErr(payloadResult)) {\n return payloadResult;\n }\n\n const payload = payloadResult.data;\n const timestamp = Date.parse(payload.webhookMetadata.webhookDeliveryAttemptTimestamp);\n\n if (Number.isNaN(timestamp)) {\n return {\n error: new PlainWebhookPayloadError(\n `Invalid timestamp provided in the webhook payload: ${timestamp}. This is likely a bug in the Plain API (eventId: ${payload.id}).`,\n ),\n };\n }\n\n const currentTime = Date.now();\n if (Math.abs(currentTime - timestamp) > tolerance * 1000) {\n return {\n error: new PlainWebhookSignatureVerificationError(\n `The timestamp provided in the webhook payload is too far in the past. The maximum allowed difference is ${tolerance} seconds.`,\n ),\n };\n }\n\n return { data: payload };\n}\n\nfunction verifyWebhookSignature(\n payload: string,\n signature: string,\n secret: string,\n): Result<true, PlainWebhookSignatureVerificationError> {\n if (payload.length === 0) {\n return {\n error: new PlainWebhookSignatureVerificationError(\"No webhook payload was provided.\"),\n };\n }\n\n if (signature.length === 0) {\n return {\n error: new PlainWebhookSignatureVerificationError(\n 'No signature header value was provided. Please pass the value of the \"Plain-Request-Signature\" header.',\n ),\n };\n }\n\n if (secret.length === 0) {\n return {\n error: new PlainWebhookSignatureVerificationError(\n \"No webhook secret was provided. You can find your webhook secret in your workspace settings.\",\n ),\n };\n }\n\n const expectedSignature = crypto\n .createHmac(\"sha256\", secret)\n .update(payload, \"utf8\")\n .digest(\"hex\");\n\n if (signature !== expectedSignature) {\n return {\n error: new PlainWebhookSignatureVerificationError(\"The signature provided is invalid.\"),\n };\n }\n\n return { data: true };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAAwB;AACxB,oBAIO;AACP,mBAAkC;AAClC,oBAAmC;AAY5B,SAAS,mBACd,YACA,WACA,QACA,YAAY,KACyC;AACrD,QAAM,8BAA8B,uBAAuB,YAAY,WAAW,MAAM;AACxF,UAAI,qBAAM,2BAA2B,GAAG;AACtC,WAAO;AAAA,EACT;AAEA,QAAM,oBAAgB,gCAAkB,UAAU;AAClD,UAAI,qBAAM,aAAa,GAAG;AACxB,WAAO;AAAA,EACT;AAEA,QAAM,UAAU,cAAc;AAC9B,QAAM,YAAY,KAAK,MAAM,QAAQ,gBAAgB,+BAA+B;AAEpF,MAAI,OAAO,MAAM,SAAS,GAAG;AAC3B,WAAO;AAAA,MACL,OAAO,IAAI;AAAA,QACT,sDAAsD,SAAS,qDAAqD,QAAQ,EAAE;AAAA,MAChI;AAAA,IACF;AAAA,EACF;AAEA,QAAM,cAAc,KAAK,IAAI;AAC7B,MAAI,KAAK,IAAI,cAAc,SAAS,IAAI,YAAY,KAAM;AACxD,WAAO;AAAA,MACL,OAAO,IAAI;AAAA,QACT,2GAA2G,SAAS;AAAA,MACtH;AAAA,IACF;AAAA,EACF;AAEA,SAAO,EAAE,MAAM,QAAQ;AACzB;AAEA,SAAS,uBACP,SACA,WACA,QACsD;AACtD,MAAI,QAAQ,WAAW,GAAG;AACxB,WAAO;AAAA,MACL,OAAO,IAAI,qDAAuC,kCAAkC;AAAA,IACtF;AAAA,EACF;AAEA,MAAI,UAAU,WAAW,GAAG;AAC1B,WAAO;AAAA,MACL,OAAO,IAAI;AAAA,QACT;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,MAAI,OAAO,WAAW,GAAG;AACvB,WAAO;AAAA,MACL,OAAO,IAAI;AAAA,QACT;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,QAAM,oBAAoB,OACvB,WAAW,UAAU,MAAM,EAC3B,OAAO,SAAS,MAAM,EACtB,OAAO,KAAK;AAEf,MAAI,cAAc,mBAAmB;AACnC,WAAO;AAAA,MACL,OAAO,IAAI,qDAAuC,oCAAoC;AAAA,IACxF;AAAA,EACF;AAEA,SAAO,EAAE,MAAM,KAAK;AACtB;","names":[]}
1
+ {"version":3,"sources":["../../src/verify.ts"],"sourcesContent":["import * as crypto from \"node:crypto\";\nimport {\n type PlainWebhookError,\n PlainWebhookPayloadError,\n PlainWebhookSignatureVerificationError,\n} from \"./errors.js\";\nimport { parsePlainWebhook } from \"./parse.js\";\nimport { isErr, type Result } from \"./result.js\";\nimport type { WebhooksSchemaDefinition } from \"./webhook-schema.js\";\n\n/**\n * Verifies and validates a Plain webhook payload.\n *\n * @param payload - The raw request body.\n * @param signature - The value of the 'Plain-Request-Signature' header.\n * @param secret - Your Plain webhook signing secret.\n * @param tolerance - (Optional) Maximum allowed difference in seconds between the timestamp and the current time. Defaults to 300 seconds. This is helpful to prevent replay attacks.\n * @returns A Result object containing the validated payload or an error.\n */\nexport function verifyPlainWebhook(\n payloadRaw: string,\n signature: string,\n secret: string,\n tolerance = 300, // 5 minutes\n): Result<WebhooksSchemaDefinition, PlainWebhookError> {\n const signatureVerificationResult = verifyWebhookSignature(payloadRaw, signature, secret);\n if (isErr(signatureVerificationResult)) {\n return signatureVerificationResult;\n }\n\n const payloadResult = parsePlainWebhook(payloadRaw);\n if (isErr(payloadResult)) {\n return payloadResult;\n }\n\n const payload = payloadResult.data;\n const timestamp = Date.parse(payload.webhookMetadata.webhookDeliveryAttemptTimestamp);\n\n if (Number.isNaN(timestamp)) {\n return {\n error: new PlainWebhookPayloadError(\n `Invalid timestamp provided in the webhook payload: ${timestamp}. This is likely a bug in the Plain API (eventId: ${payload.id}).`,\n ),\n };\n }\n\n const currentTime = Date.now();\n if (Math.abs(currentTime - timestamp) > tolerance * 1000) {\n return {\n error: new PlainWebhookSignatureVerificationError(\n `The timestamp provided in the webhook payload is too far in the past. The maximum allowed difference is ${tolerance} seconds.`,\n ),\n };\n }\n\n return { data: payload };\n}\n\nfunction verifyWebhookSignature(\n payload: string,\n signature: string,\n secret: string,\n): Result<true, PlainWebhookSignatureVerificationError> {\n if (payload.length === 0) {\n return {\n error: new PlainWebhookSignatureVerificationError(\"No webhook payload was provided.\"),\n };\n }\n\n if (signature.length === 0) {\n return {\n error: new PlainWebhookSignatureVerificationError(\n 'No signature header value was provided. Please pass the value of the \"Plain-Request-Signature\" header.',\n ),\n };\n }\n\n if (secret.length === 0) {\n return {\n error: new PlainWebhookSignatureVerificationError(\n \"No webhook secret was provided. You can find your webhook secret in your workspace settings.\",\n ),\n };\n }\n\n const expectedSignature = crypto\n .createHmac(\"sha256\", secret)\n .update(payload, \"utf8\")\n .digest(\"hex\");\n\n // timingSafeEqual requires both buffers to be the same length; a length mismatch definitively\n // means the signature is wrong and leaks no secret. Compare the encoded byte lengths, not the\n // string lengths: the signature is caller-supplied, and a multi-byte character makes those two\n // disagree, which would get past a string-length check and then make timingSafeEqual throw.\n const given = Buffer.from(signature, \"utf8\");\n const expected = Buffer.from(expectedSignature, \"utf8\");\n\n if (given.length !== expected.length || !crypto.timingSafeEqual(given, expected)) {\n return {\n error: new PlainWebhookSignatureVerificationError(\"The signature provided is invalid.\"),\n };\n }\n\n return { data: true };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAAwB;AACxB,oBAIO;AACP,mBAAkC;AAClC,oBAAmC;AAY5B,SAAS,mBACd,YACA,WACA,QACA,YAAY,KACyC;AACrD,QAAM,8BAA8B,uBAAuB,YAAY,WAAW,MAAM;AACxF,UAAI,qBAAM,2BAA2B,GAAG;AACtC,WAAO;AAAA,EACT;AAEA,QAAM,oBAAgB,gCAAkB,UAAU;AAClD,UAAI,qBAAM,aAAa,GAAG;AACxB,WAAO;AAAA,EACT;AAEA,QAAM,UAAU,cAAc;AAC9B,QAAM,YAAY,KAAK,MAAM,QAAQ,gBAAgB,+BAA+B;AAEpF,MAAI,OAAO,MAAM,SAAS,GAAG;AAC3B,WAAO;AAAA,MACL,OAAO,IAAI;AAAA,QACT,sDAAsD,SAAS,qDAAqD,QAAQ,EAAE;AAAA,MAChI;AAAA,IACF;AAAA,EACF;AAEA,QAAM,cAAc,KAAK,IAAI;AAC7B,MAAI,KAAK,IAAI,cAAc,SAAS,IAAI,YAAY,KAAM;AACxD,WAAO;AAAA,MACL,OAAO,IAAI;AAAA,QACT,2GAA2G,SAAS;AAAA,MACtH;AAAA,IACF;AAAA,EACF;AAEA,SAAO,EAAE,MAAM,QAAQ;AACzB;AAEA,SAAS,uBACP,SACA,WACA,QACsD;AACtD,MAAI,QAAQ,WAAW,GAAG;AACxB,WAAO;AAAA,MACL,OAAO,IAAI,qDAAuC,kCAAkC;AAAA,IACtF;AAAA,EACF;AAEA,MAAI,UAAU,WAAW,GAAG;AAC1B,WAAO;AAAA,MACL,OAAO,IAAI;AAAA,QACT;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,MAAI,OAAO,WAAW,GAAG;AACvB,WAAO;AAAA,MACL,OAAO,IAAI;AAAA,QACT;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,QAAM,oBAAoB,OACvB,WAAW,UAAU,MAAM,EAC3B,OAAO,SAAS,MAAM,EACtB,OAAO,KAAK;AAMf,QAAM,QAAQ,OAAO,KAAK,WAAW,MAAM;AAC3C,QAAM,WAAW,OAAO,KAAK,mBAAmB,MAAM;AAEtD,MAAI,MAAM,WAAW,SAAS,UAAU,CAAC,OAAO,gBAAgB,OAAO,QAAQ,GAAG;AAChF,WAAO;AAAA,MACL,OAAO,IAAI,qDAAuC,oCAAoC;AAAA,IACxF;AAAA,EACF;AAEA,SAAO,EAAE,MAAM,KAAK;AACtB;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/webhook-schema.ts"],"sourcesContent":["/* eslint-disable */\n/**\n * This file was automatically generated by json-schema-to-typescript.\n * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,\n * and run json-schema-to-typescript to regenerate this file.\n */\n\nexport type Datetime = string;\nexport type Id = string;\nexport type EmailAddress = string;\nexport type InternalActor =\n | {\n actorType: \"UNKNOWN\";\n [k: string]: unknown;\n }\n | UserActor\n | MachineUserActor\n | SystemActor;\nexport type Actor =\n | {\n actorType: \"UNKNOWN\";\n [k: string]: unknown;\n }\n | UserActor\n | MachineUserActor\n | SystemActor\n | CustomerActor;\nexport type NullableString = string | null;\nexport type EmailActor =\n | {\n actorType: \"UNKNOWN\";\n [k: string]: unknown;\n }\n | UserActor\n | CustomerActor\n | {\n actorType: \"supportEmailAddress\";\n supportEmailAddress: string;\n [k: string]: unknown;\n }\n | {\n actorType: \"deletedCustomer\";\n customerId: Id;\n [k: string]: unknown;\n };\nexport type EmailAuthenticity = \"PASS\" | \"FAIL\" | \"UNKNOWN\" | \"UNKNOWN_EMAIL_AUTHENTICITY\";\nexport type Component =\n | {\n type: \"UNKNOWN\";\n [k: string]: unknown;\n }\n | ComponentText\n | ComponentPlainText\n | ComponentSpacer\n | ComponentDivider\n | ComponentLinkButton\n | ComponentWorkflowButton\n | ComponentBadge\n | ComponentCopyButton\n | ComponentDateTime\n | ComponentUser\n | ComponentRow\n | ComponentContainer;\nexport type ComponentTextSize = \"S\" | \"M\" | \"L\" | \"UNKNOWN_COMPONENT_TEXT_SIZE\";\nexport type ComponentTextColor =\n | \"NORMAL\"\n | \"MUTED\"\n | \"SUCCESS\"\n | \"WARNING\"\n | \"ERROR\"\n | \"UNKNOWN_COMPONENT_TEXT_COLOR\";\nexport type ComponentPlainTextSize = \"S\" | \"M\" | \"L\" | \"UNKNOWN_COMPONENT_PLAIN_TEXT_SIZE\";\nexport type ComponentPlainTextColor =\n | \"NORMAL\"\n | \"MUTED\"\n | \"SUCCESS\"\n | \"WARNING\"\n | \"ERROR\"\n | \"UNKNOWN_COMPONENT_PLAIN_TEXT_COLOR\";\nexport type ComponentSpacerSize = \"XS\" | \"S\" | \"M\" | \"L\" | \"XL\" | \"UNKNOWN_COMPONENT_SPACER_SIZE\";\nexport type ComponentDividerSpacingSize =\n | \"XS\"\n | \"S\"\n | \"M\"\n | \"L\"\n | \"XL\"\n | \"UNKNOWN_COMPONENT_DIVIDER_SPACING_SIZE\";\nexport type ComponentBadgeColor =\n | \"GREY\"\n | \"GREEN\"\n | \"YELLOW\"\n | \"RED\"\n | \"BLUE\"\n | \"UNKNOWN_COMPONENT_BADGE_COLOR\";\nexport type NullableDatetime = Datetime | null;\nexport type NullableInternalActor = InternalActor | null;\nexport type ComponentRowContent =\n | {\n type: \"UNKNOWN\";\n [k: string]: unknown;\n }\n | ComponentText\n | ComponentPlainText\n | ComponentSpacer\n | ComponentDivider\n | ComponentLinkButton\n | ComponentWorkflowButton\n | ComponentBadge\n | ComponentCopyButton\n | ComponentDateTime\n | ComponentUser;\nexport type ComponentContainerContent =\n | {\n type: \"UNKNOWN\";\n [k: string]: unknown;\n }\n | ComponentText\n | ComponentPlainText\n | ComponentSpacer\n | ComponentDivider\n | ComponentLinkButton\n | ComponentWorkflowButton\n | ComponentBadge\n | ComponentCopyButton\n | ComponentDateTime\n | ComponentUser\n | ComponentRow;\nexport type CustomerGroupChangedPayload =\n | {\n changeType: \"ADDED\";\n eventType: \"customer.customer_group_changed\";\n customerGroup: CustomerGroup;\n [k: string]: unknown;\n }\n | {\n changeType: \"UPDATED\";\n eventType: \"customer.customer_group_changed\";\n customerGroup: CustomerGroup;\n previousCustomerGroup: CustomerGroup;\n [k: string]: unknown;\n }\n | {\n changeType: \"REMOVED\";\n eventType: \"customer.customer_group_changed\";\n previousCustomerGroup: CustomerGroup;\n [k: string]: unknown;\n };\nexport type ThreadPriority = number;\nexport type ThreadStatus = \"TODO\" | \"DONE\" | \"SNOOZED\" | \"UNKNOWN_THREAD_STATUS\";\nexport type ThreadStatusDetail =\n | {\n type: \"UNKNOWN\";\n [k: string]: unknown;\n }\n | {\n type: \"CREATED\";\n createdAt: Datetime;\n [k: string]: unknown;\n }\n | {\n type: \"NEW_REPLY\";\n [k: string]: unknown;\n }\n | {\n type: \"IN_PROGRESS\";\n [k: string]: unknown;\n }\n | {\n type: \"WAITING_FOR_CUSTOMER\";\n [k: string]: unknown;\n }\n | {\n type: \"WAITING_INDEFINITELY\";\n [k: string]: unknown;\n }\n | {\n type: \"WAITING_FOR_DURATION\";\n waitingUntil: Datetime;\n durationSeconds: number;\n [k: string]: unknown;\n }\n | {\n type: \"THREAD_LINK_UPDATED\";\n linear?: {\n issueId: string;\n [k: string]: unknown;\n };\n [k: string]: unknown;\n }\n | {\n type: \"DONE_MANUALLY_SET\";\n [k: string]: unknown;\n }\n | {\n type: \"IGNORED\";\n [k: string]: unknown;\n }\n | {\n type: \"DONE_AUTOMATICALLY_SET\";\n afterSeconds?: number;\n [k: string]: unknown;\n }\n | {\n type: \"THREAD_DISCUSSION_RESOLVED\";\n threadDiscussionId?: Id;\n [k: string]: unknown;\n };\nexport type ThreadAssignee =\n | {\n type: \"UNKNOWN\";\n [k: string]: unknown;\n }\n | User\n | MachineUser\n | {\n id: string;\n [k: string]: unknown;\n };\nexport type ServiceLevelAgreement =\n | {\n type: \"UNKNOWN\";\n [k: string]: unknown;\n }\n | {\n id: Id;\n tier: Tier;\n useBusinessHoursOnly: boolean;\n threadPriorityFilter: ThreadPriorityFilter;\n createdAt: Datetime;\n createdBy: InternalActor;\n updatedAt: Datetime;\n updatedBy: InternalActor;\n type: \"FIRST_RESPONSE_TIME\";\n firstResponseTimeMinutes: number;\n [k: string]: unknown;\n }\n | {\n id: Id;\n tier: Tier;\n useBusinessHoursOnly: boolean;\n threadPriorityFilter: ThreadPriorityFilter;\n createdAt: Datetime;\n createdBy: InternalActor;\n updatedAt: Datetime;\n updatedBy: InternalActor;\n type: \"NEXT_RESPONSE_TIME\";\n nextResponseTimeMinutes: number;\n [k: string]: unknown;\n };\n/**\n * @minItems 1\n */\nexport type ThreadPriorityFilter = [ThreadPriority, ...ThreadPriority[]];\nexport type ServiceLevelAgreementStatusDetail =\n | {\n status: \"UNKNOWN\";\n [k: string]: unknown;\n }\n | {\n breachTime: Datetime;\n status: \"PENDING\";\n [k: string]: unknown;\n }\n | {\n achievedAt: Datetime;\n status: \"ACHIEVED\";\n [k: string]: unknown;\n }\n | {\n breachTime: Datetime;\n status: \"IMMINENT_BREACH\";\n [k: string]: unknown;\n }\n | {\n breachedAt: Datetime;\n status: \"BREACHING\";\n [k: string]: unknown;\n }\n | {\n breachedAt: Datetime;\n completedAt: Datetime;\n status: \"BREACHED\";\n [k: string]: unknown;\n }\n | {\n cancelledAt: Datetime;\n status: \"CANCELLED\";\n [k: string]: unknown;\n };\n\n/**\n * Webhook request\n */\nexport interface WebhooksSchemaDefinition {\n timestamp: Datetime;\n workspaceId: Id;\n payload:\n | CustomerChangedPayload\n | CustomerGroupMembershipsChangedPayload\n | TimelineEntryChangedPayload\n | CustomerGroupChangedPayload\n | ThreadCreatedPublicEventPayload\n | ThreadStatusTransitionedPublicEventPayload\n | ThreadAssignmentTransitionedPublicEventPayload\n | ThreadEmailReceivedPublicEventPayload\n | ThreadEmailSentPublicEventPayload\n | ThreadSlackMessageReceivedEventPayload\n | ThreadSlackMessageSentEventPayload\n | ThreadMSTeamsMessageReceivedEventPayload\n | ThreadMSTeamsMessageSentEventPayload\n | ThreadLabelsChangedPublicEventPayload\n | ThreadPriorityChangedPublicEventPayload\n | ThreadFieldCreatedPublicEventPayload\n | ThreadFieldUpdatedPublicEventPayload\n | ThreadFieldDeletedPublicEventPayload\n | ThreadChatSentPublicEventPayload\n | ThreadServiceLevelAgreementStatusTransitionedPayload\n | CustomerCreatedPublicEventPayload\n | CustomerUpdatedPublicEventPayload\n | CustomerDeletedPublicEventPayload\n | ThreadNoteCreatedEventPayload\n | ThreadNoteMentionCreatedPublicEventPayload\n | DiscussionMessageCreatedPublicEventPayload\n | ThreadChatReceivedPublicEventPayload\n | ThreadSlackMessageUpdatedEventPayload\n | ThreadDiscordMessageReceivedEventPayload\n | ThreadDiscordMessageSentEventPayload\n | ThreadDiscordMessageUpdatedEventPayload\n | ThreadTenantUpdatedPublicEventPayload;\n id: Id;\n type:\n | \"thread.thread_created\"\n | \"thread.thread_status_transitioned\"\n | \"thread.thread_assignment_transitioned\"\n | \"thread.email_received\"\n | \"thread.email_sent\"\n | \"thread.slack_message_received\"\n | \"thread.slack_message_sent\"\n | \"thread.slack_message_updated\"\n | \"thread.discord_message_received\"\n | \"thread.discord_message_sent\"\n | \"thread.discord_message_updated\"\n | \"thread.ms_teams_message_sent\"\n | \"thread.ms_teams_message_received\"\n | \"thread.chat_sent\"\n | \"thread.chat_received\"\n | \"thread.note_created\"\n | \"thread.note_mention_created\"\n | \"discussion.message_created\"\n | \"thread.thread_labels_changed\"\n | \"thread.thread_priority_changed\"\n | \"thread.thread_field_created\"\n | \"thread.thread_field_updated\"\n | \"thread.thread_field_deleted\"\n | \"thread.service_level_agreement_status_transitioned\"\n | \"thread.thread_tenant_updated\"\n | \"customer.customer_created\"\n | \"customer.customer_updated\"\n | \"customer.customer_deleted\"\n | \"customer.customer_changed\"\n | \"customer.customer_group_changed\"\n | \"customer.customer_group_memberships_changed\"\n | \"timeline.timeline_entry_changed\";\n webhookMetadata: WebhookMetadata;\n [k: string]: unknown;\n}\n/**\n * A customer has been created or updated\n */\nexport interface CustomerChangedPayload {\n changeType: \"ADDED\" | \"UPDATED\";\n eventType: \"customer.customer_changed\";\n customer: Customer;\n previousCustomer: Customer | null;\n [k: string]: unknown;\n}\nexport interface Customer {\n id: Id;\n email: {\n email: EmailAddress;\n isVerified: boolean;\n verifiedAt: Datetime | null;\n [k: string]: unknown;\n };\n externalId: string | null;\n fullName: string;\n shortName: string | null;\n markedAsSpamAt?: Datetime | null;\n markedAsSpamBy?: InternalActor | null;\n customerGroupMemberships: CustomerGroupMembership[];\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n [k: string]: unknown;\n}\nexport interface UserActor {\n actorType: \"user\";\n userId: Id;\n [k: string]: unknown;\n}\nexport interface MachineUserActor {\n actorType: \"machineUser\";\n machineUserId: Id;\n [k: string]: unknown;\n}\nexport interface SystemActor {\n actorType: \"system\";\n system: string;\n [k: string]: unknown;\n}\nexport interface CustomerGroupMembership {\n customerId: Id;\n customerGroupId: Id;\n workspaceId: Id;\n createdAt: Datetime;\n createdBy: InternalActor;\n updatedAt: Datetime;\n updatedBy: InternalActor;\n customerGroup: CustomerGroup;\n [k: string]: unknown;\n}\nexport interface CustomerGroup {\n id: Id;\n workspaceId: Id;\n name: string;\n key: string;\n color: string;\n createdAt: Datetime;\n createdBy: InternalActor;\n updatedAt: Datetime;\n updatedBy: InternalActor;\n [k: string]: unknown;\n}\nexport interface CustomerActor {\n actorType: \"customer\";\n customerId: Id;\n [k: string]: unknown;\n}\nexport interface CustomerGroupMembershipsChangedPayload {\n eventType: \"customer.customer_group_memberships_changed\";\n changeType: \"ADDED\" | \"REMOVED\";\n customer: Customer;\n previousCustomer: Customer;\n [k: string]: unknown;\n}\n/**\n * A timeline entry has been added, updated or removed\n */\nexport interface TimelineEntryChangedPayload {\n eventType: \"timeline.timeline_entry_changed\";\n /**\n * null if changeType=ADDED\n */\n previousTimelineEntry: TimelineEntry | null;\n /**\n * null if changeType=REMOVED\n */\n timelineEntry: TimelineEntry | null;\n changeType: \"ADDED\" | \"UPDATED\" | \"REMOVED\";\n [k: string]: unknown;\n}\nexport interface TimelineEntry {\n id: Id;\n customerId: Id;\n threadId?: Id | null;\n timestamp: Datetime;\n actor: Actor;\n entry:\n | {\n entryType: \"UNKNOWN\";\n [k: string]: unknown;\n }\n | NoteEntry\n | ChatEntry\n | EmailEntry\n | CustomEntry;\n [k: string]: unknown;\n}\nexport interface NoteEntry {\n entryType: \"note\";\n noteId: Id;\n text: string;\n markdown: string | null;\n [k: string]: unknown;\n}\nexport interface ChatEntry {\n entryType: \"chat\";\n chatId: Id;\n text: string | null;\n attachments: ChatEntryAttachment[];\n customerReadAt: Datetime | null;\n [k: string]: unknown;\n}\nexport interface ChatEntryAttachment {\n id: Id;\n fileName: string;\n fileSizeBytes: number;\n fileMimeType: string;\n fileExtension: NullableString;\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n type: \"CHAT\";\n [k: string]: unknown;\n}\nexport interface EmailEntry {\n entryType: \"email\";\n emailId: Id;\n to: EmailParticipant;\n from: EmailParticipant;\n additionalRecipients: EmailParticipant[];\n hiddenRecipients: EmailParticipant[];\n subject: string | null;\n textContent: string | null;\n hasMoreTextContent: boolean;\n markdownContent: string | null;\n hasMoreMarkdownContent: boolean;\n authenticity: EmailAuthenticity;\n sentAt: Datetime | null;\n receivedAt: Datetime | null;\n attachments: EmailEntryAttachment[];\n inReplyToEmailId: string | null;\n isStartOfThread: boolean;\n [k: string]: unknown;\n}\nexport interface EmailParticipant {\n email: string;\n name: string | null;\n emailActor: EmailActor | null;\n [k: string]: unknown;\n}\nexport interface EmailEntryAttachment {\n id: Id;\n fileName: string;\n fileSizeBytes: number;\n fileMimeType: string;\n fileExtension: NullableString;\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n type: \"EMAIL\";\n emailContentId: string;\n [k: string]: unknown;\n}\nexport interface CustomEntry {\n entryType: \"custom\";\n externalId: string | null;\n title: string;\n type: string | null;\n components: Component[];\n attachments: CustomEntryAttachment[];\n [k: string]: unknown;\n}\nexport interface ComponentText {\n type: \"text\";\n textSize: ComponentTextSize | null;\n textColor: ComponentTextColor | null;\n text: string;\n [k: string]: unknown;\n}\nexport interface ComponentPlainText {\n plainTextSize: ComponentPlainTextSize | null;\n plainTextColor: ComponentPlainTextColor | null;\n plainText: string;\n type: \"plainText\";\n [k: string]: unknown;\n}\nexport interface ComponentSpacer {\n spacerSize: ComponentSpacerSize;\n type: \"spacer\";\n [k: string]: unknown;\n}\nexport interface ComponentDivider {\n dividerSpacingSize: ComponentDividerSpacingSize | null;\n type: \"divider\";\n [k: string]: unknown;\n}\nexport interface ComponentLinkButton {\n linkButtonUrl: string;\n linkButtonLabel: string;\n type: \"linkButton\";\n [k: string]: unknown;\n}\nexport interface ComponentWorkflowButton {\n workflowButtonWorkflowIdentifier: {\n workflowId?: string;\n workflowKey?: string;\n [k: string]: unknown;\n };\n workflowButtonLabel: string;\n type: \"workflowButton\";\n [k: string]: unknown;\n}\nexport interface ComponentBadge {\n badgeLabel: string;\n badgeColor: ComponentBadgeColor | null;\n type: \"badge\";\n [k: string]: unknown;\n}\nexport interface ComponentCopyButton {\n copyButtonValue: string;\n copyButtonTooltipLabel: string | null;\n type: \"copyButton\";\n [k: string]: unknown;\n}\nexport interface ComponentDateTime {\n type: \"dateTime\";\n dateTimeIso8601: Datetime;\n [k: string]: unknown;\n}\nexport interface ComponentUser {\n type: \"user\";\n user: (User | MachineUser) | null;\n [k: string]: unknown;\n}\nexport interface User {\n id: Id;\n email: EmailAddress;\n fullName: string;\n publicName: string;\n status: \"ONLINE\" | \"OFFLINE\" | \"BREAK\" | \"AWAY\" | \"UNKNOWN_USER_STATUS\";\n statusChangedAt: Datetime;\n createdAt: Datetime;\n createdBy: InternalActor;\n updatedAt: Datetime;\n updatedBy: InternalActor;\n deletedAt: NullableDatetime;\n deletedBy: NullableInternalActor;\n [k: string]: unknown;\n}\nexport interface MachineUser {\n id: Id;\n fullName: string;\n publicName: string;\n description: string | null;\n createdAt: Datetime;\n createdBy: InternalActor;\n updatedAt: Datetime;\n updatedBy: InternalActor;\n deletedAt: NullableDatetime;\n deletedBy: NullableInternalActor;\n [k: string]: unknown;\n}\nexport interface ComponentRow {\n type: \"row\";\n rowMainContent: ComponentRowContent[];\n rowAsideContent: ComponentRowContent[];\n [k: string]: unknown;\n}\nexport interface ComponentContainer {\n type: \"container\";\n containerContent: ComponentContainerContent[];\n [k: string]: unknown;\n}\nexport interface CustomEntryAttachment {\n id: Id;\n fileName: string;\n fileSizeBytes: number;\n fileMimeType: string;\n fileExtension: NullableString;\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n type: \"CUSTOM_TIMELINE_ENTRY\";\n [k: string]: unknown;\n}\nexport interface ThreadCreatedPublicEventPayload {\n eventType: \"thread.thread_created\";\n thread: Thread;\n [k: string]: unknown;\n}\nexport interface Thread {\n id: Id;\n customer: Customer;\n title: string;\n previewText?: string | null;\n priority: ThreadPriority;\n externalId: string | null;\n status: ThreadStatus;\n statusChangedAt: Datetime;\n statusChangedBy?: Actor | null;\n statusDetail: ThreadStatusDetail | null;\n assignee: ThreadAssignee | null;\n assignedAt: Datetime | null;\n additionalAssignees?: ThreadAssignee[];\n labels: Label[];\n firstInboundMessageInfo: ThreadMessageInfo | null;\n firstOutboundMessageInfo: ThreadMessageInfo | null;\n lastInboundMessageInfo: ThreadMessageInfo | null;\n lastOutboundMessageInfo: ThreadMessageInfo | null;\n supportEmailAddresses: string[];\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n [k: string]: unknown;\n}\nexport interface Label {\n id: Id;\n labelType: LabelType;\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n [k: string]: unknown;\n}\nexport interface LabelType {\n id: Id;\n name: string;\n icon?: string | null;\n isArchived?: boolean;\n archivedAt: Datetime | null;\n archivedBy: InternalActor | null;\n externalId?: string | null;\n isExcludedFromAi?: boolean;\n createdAt: Datetime;\n createdBy: InternalActor;\n updatedAt: Datetime;\n updatedBy: InternalActor;\n [k: string]: unknown;\n}\nexport interface ThreadMessageInfo {\n timestamp: Datetime;\n messageSource:\n | \"CHAT\"\n | \"EMAIL\"\n | \"API\"\n | \"SLACK\"\n | \"MS_TEAMS\"\n | \"UNKNOWN_THREAD_MESSAGE_INFO_MESSAGE_SOURCE\";\n actorId?: string | null;\n actorType?: (\"user\" | \"machineUser\" | \"customer\" | \"system\") | null;\n [k: string]: unknown;\n}\nexport interface ThreadStatusTransitionedPublicEventPayload {\n eventType: \"thread.thread_status_transitioned\";\n previousThread: Thread;\n thread: Thread;\n [k: string]: unknown;\n}\nexport interface ThreadAssignmentTransitionedPublicEventPayload {\n eventType: \"thread.thread_assignment_transitioned\";\n previousThread: Thread;\n thread: Thread;\n [k: string]: unknown;\n}\nexport interface ThreadEmailReceivedPublicEventPayload {\n eventType: \"thread.email_received\";\n thread: Thread;\n email: Email;\n [k: string]: unknown;\n}\nexport interface Email {\n timelineEntryId: Id;\n id: Id;\n to: EmailParticipant;\n from: EmailParticipant;\n replyTo: string | null;\n additionalRecipients: EmailParticipant[];\n hiddenRecipients: EmailParticipant[];\n subject: string | null;\n textContent: string | null;\n markdownContent: string | null;\n authenticity: EmailAuthenticity;\n sentAt: Datetime | null;\n receivedAt: Datetime | null;\n attachments: Attachment[];\n inReplyToEmailId: string | null;\n isStartOfThread: boolean;\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n [k: string]: unknown;\n}\nexport interface Attachment {\n id: Id;\n fileName: string;\n fileSizeBytes: number;\n fileMimeType: string;\n fileExtension: NullableString;\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n [k: string]: unknown;\n}\nexport interface ThreadEmailSentPublicEventPayload {\n eventType: \"thread.email_sent\";\n thread: Thread;\n email: Email;\n [k: string]: unknown;\n}\nexport interface ThreadSlackMessageReceivedEventPayload {\n eventType: \"thread.slack_message_received\";\n thread: Thread;\n slackMessage: SlackMessage;\n [k: string]: unknown;\n}\nexport interface SlackMessage {\n timelineEntryId: Id;\n id: Id;\n text: string;\n resolvedText?: string;\n attachments: Attachment[];\n slackChannelId: string;\n slackChannelName: string;\n slackMessageLink: string;\n slackReactions?: Items[];\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n [k: string]: unknown;\n}\nexport interface Items {\n name: string;\n actors: {\n actorId: Id;\n actorType: \"user\" | \"machineUser\" | \"customer\" | \"system\";\n slackUserId: string;\n [k: string]: unknown;\n }[];\n imageUrl?: string | null;\n [k: string]: unknown;\n}\nexport interface ThreadSlackMessageSentEventPayload {\n eventType: \"thread.slack_message_sent\";\n thread: Thread;\n slackMessage: SlackMessage;\n [k: string]: unknown;\n}\nexport interface ThreadMSTeamsMessageReceivedEventPayload {\n eventType: \"thread.ms_teams_message_received\";\n thread: Thread;\n msTeamsMessage: MsTeamsMessage;\n [k: string]: unknown;\n}\nexport interface MsTeamsMessage {\n timelineEntryId: Id;\n threadId: Id;\n msTeamsMessageId: string;\n type: (\"INBOUND\" | \"OUTBOUND\" | \"UNKNOWN_MS_TEAMS_MESSAGE_TYPE\") | null;\n text: string;\n attachments: Attachment[];\n lastEditedOnMsTeamsAt: Datetime | null;\n deletedOnMsTeamsAt: Datetime | null;\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n [k: string]: unknown;\n}\nexport interface ThreadMSTeamsMessageSentEventPayload {\n eventType: \"thread.ms_teams_message_sent\";\n thread: Thread;\n msTeamsMessage: MsTeamsMessage;\n [k: string]: unknown;\n}\nexport interface ThreadLabelsChangedPublicEventPayload {\n eventType: \"thread.thread_labels_changed\";\n changeType: \"ADDED\" | \"REMOVED\";\n thread: Thread;\n previousThread: Thread;\n [k: string]: unknown;\n}\nexport interface ThreadPriorityChangedPublicEventPayload {\n eventType: \"thread.thread_priority_changed\";\n previousThread: Thread;\n thread: Thread;\n [k: string]: unknown;\n}\nexport interface ThreadFieldCreatedPublicEventPayload {\n eventType: \"thread.thread_field_created\";\n thread: Thread;\n threadField: ThreadField;\n [k: string]: unknown;\n}\nexport interface ThreadField {\n id: Id;\n threadId: Id;\n key: string;\n type:\n | \"STRING\"\n | \"BOOL\"\n | \"ENUM\"\n | \"NUMBER\"\n | \"CURRENCY\"\n | \"DATE\"\n | \"UNKNOWN_THREAD_FIELD_SCHEMA_TYPE\";\n stringValue: string | null;\n booleanValue: boolean | null;\n numberValue?: number | null;\n dateValue?: string | null;\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n [k: string]: unknown;\n}\nexport interface ThreadFieldUpdatedPublicEventPayload {\n eventType: \"thread.thread_field_updated\";\n thread: Thread;\n previousThreadField: ThreadField;\n threadField: ThreadField;\n [k: string]: unknown;\n}\nexport interface ThreadFieldDeletedPublicEventPayload {\n eventType: \"thread.thread_field_deleted\";\n thread: Thread;\n previousThreadField: ThreadField;\n [k: string]: unknown;\n}\nexport interface ThreadChatSentPublicEventPayload {\n eventType: \"thread.chat_sent\";\n chat: Chat;\n thread: Thread;\n [k: string]: unknown;\n}\nexport interface Chat {\n timelineEntryId: Id;\n id: Id;\n customerReadAt: Datetime | null;\n text?: string | null;\n attachments: Attachment[];\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n [k: string]: unknown;\n}\nexport interface ThreadServiceLevelAgreementStatusTransitionedPayload {\n eventType: \"thread.service_level_agreement_status_transitioned\";\n thread: Thread;\n serviceLevelAgreement: ServiceLevelAgreement;\n previousServiceLevelAgreementStatusDetail: ServiceLevelAgreementStatusDetail;\n serviceLevelAgreementStatusDetail: ServiceLevelAgreementStatusDetail;\n [k: string]: unknown;\n}\nexport interface Tier {\n id: Id;\n name: string;\n externalId: string | null;\n color: string;\n defaultThreadPriority?: number;\n isDefault: boolean;\n createdAt: Datetime;\n createdBy: InternalActor;\n updatedAt: Datetime;\n updatedBy: InternalActor;\n [k: string]: unknown;\n}\n/**\n * A customer has been created\n */\nexport interface CustomerCreatedPublicEventPayload {\n eventType: \"customer.customer_created\";\n customer: Customer;\n [k: string]: unknown;\n}\n/**\n * A customer has been updated\n */\nexport interface CustomerUpdatedPublicEventPayload {\n eventType: \"customer.customer_updated\";\n customer: Customer;\n previousCustomer: Customer;\n [k: string]: unknown;\n}\n/**\n * A customer has been deleted\n */\nexport interface CustomerDeletedPublicEventPayload {\n eventType: \"customer.customer_deleted\";\n previousCustomer: Customer;\n [k: string]: unknown;\n}\nexport interface ThreadNoteCreatedEventPayload {\n eventType: \"thread.note_created\";\n thread: Thread;\n note: Note;\n [k: string]: unknown;\n}\nexport interface Note {\n timelineEntryId: Id;\n id: Id;\n text: string;\n markdown: string | null;\n createdAt: Datetime;\n createdBy: InternalActor;\n updatedAt: Datetime;\n updatedBy: InternalActor;\n deletedAt: NullableDatetime;\n deletedBy: NullableInternalActor;\n [k: string]: unknown;\n}\nexport interface ThreadNoteMentionCreatedPublicEventPayload {\n eventType: \"thread.note_mention_created\";\n thread: Thread;\n note: Note;\n mentions: MachineUser[];\n [k: string]: unknown;\n}\nexport interface DiscussionMessageCreatedPublicEventPayload {\n eventType: \"discussion.message_created\";\n discussion: {\n id: Id;\n type: \"SLACK\" | \"EMAIL\" | \"AGENT_SESSION\" | \"UNKNOWN_DISCUSSION_TYPE\";\n agent: MachineUser | null;\n status: \"OPEN\" | \"RESOLVED\" | \"UNKNOWN_DISCUSSION_STATUS\";\n threadId: Id | null;\n [k: string]: unknown;\n };\n message: {\n id: Id;\n type: \"INBOUND\" | \"OUTBOUND\" | \"UNKNOWN_DISCUSSION_MESSAGE_TYPE\";\n markdown: string;\n createdBy: Actor;\n createdAt: Datetime;\n [k: string]: unknown;\n };\n [k: string]: unknown;\n}\nexport interface ThreadChatReceivedPublicEventPayload {\n eventType: \"thread.chat_received\";\n chat: Chat;\n thread: Thread;\n [k: string]: unknown;\n}\nexport interface ThreadSlackMessageUpdatedEventPayload {\n eventType: \"thread.slack_message_updated\";\n changeType?:\n | \"MESSAGE_EDITED\"\n | \"MESSAGE_DELETED\"\n | \"REACTIONS_CHANGED\"\n | \"UNKNOWN_SLACK_MESSAGE_CHANGE_TYPE\";\n thread: Thread;\n slackMessage: SlackMessage;\n reactionChange?: SlackReactionChange | null;\n [k: string]: unknown;\n}\nexport interface SlackReactionChange {\n changeType: \"ADDED\" | \"REMOVED\" | \"UNKNOWN_SLACK_REACTION_CHANGE_TYPE\";\n reaction: Items;\n [k: string]: unknown;\n}\nexport interface ThreadDiscordMessageReceivedEventPayload {\n eventType: \"thread.discord_message_received\";\n thread: Thread;\n discordMessage: DiscordMessage;\n [k: string]: unknown;\n}\nexport interface DiscordMessage {\n timelineEntryId: Id;\n id: Id;\n discordGuildId: string;\n discordChannelId: string;\n discordThreadId: string;\n discordId: string;\n discordTimestamp: Datetime;\n textContent: string;\n attachments?: Attachment[];\n lastEditedOnDiscordAt?: Datetime | null;\n deletedOnDiscordAt?: Datetime | null;\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n [k: string]: unknown;\n}\nexport interface ThreadDiscordMessageSentEventPayload {\n eventType: \"thread.discord_message_sent\";\n thread: Thread;\n discordMessage: DiscordMessage;\n [k: string]: unknown;\n}\nexport interface ThreadDiscordMessageUpdatedEventPayload {\n eventType: \"thread.discord_message_updated\";\n thread: Thread;\n discordMessage: DiscordMessage;\n [k: string]: unknown;\n}\nexport interface ThreadTenantUpdatedPublicEventPayload {\n eventType: \"thread.thread_tenant_updated\";\n previousThread: Thread;\n thread: Thread;\n previousTenant: {\n id: Id;\n workspaceId: Id;\n name: string;\n externalId: string;\n url: string | null;\n source?: \"api\" | \"salesforce\" | \"hubspot\" | \"attio\" | \"email_domain\" | \"UNKNOWN_TENANT_SOURCE\";\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n [k: string]: unknown;\n } | null;\n tenant: {\n id: Id;\n workspaceId: Id;\n name: string;\n externalId: string;\n url: string | null;\n source?: \"api\" | \"salesforce\" | \"hubspot\" | \"attio\" | \"email_domain\" | \"UNKNOWN_TENANT_SOURCE\";\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n [k: string]: unknown;\n } | null;\n [k: string]: unknown;\n}\nexport interface WebhookMetadata {\n webhookTargetId: Id;\n webhookTargetVersion: \"2026-08-19\";\n webhookDeliveryAttemptId: Id;\n webhookDeliveryAttemptNumber: number;\n webhookDeliveryAttemptTimestamp: Datetime;\n [k: string]: unknown;\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":["../../src/webhook-schema.ts"],"sourcesContent":["/* eslint-disable */\n/**\n * This file was automatically generated by json-schema-to-typescript.\n * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,\n * and run json-schema-to-typescript to regenerate this file.\n */\n\nexport type Datetime = string;\nexport type Id = string;\nexport type EmailAddress = string;\nexport type InternalActor =\n | {\n actorType: \"UNKNOWN\";\n [k: string]: unknown;\n }\n | UserActor\n | MachineUserActor\n | SystemActor;\nexport type Actor =\n | {\n actorType: \"UNKNOWN\";\n [k: string]: unknown;\n }\n | UserActor\n | MachineUserActor\n | SystemActor\n | CustomerActor;\nexport type NullableString = string | null;\nexport type EmailActor =\n | {\n actorType: \"UNKNOWN\";\n [k: string]: unknown;\n }\n | UserActor\n | CustomerActor\n | {\n actorType: \"supportEmailAddress\";\n supportEmailAddress: string;\n [k: string]: unknown;\n }\n | {\n actorType: \"deletedCustomer\";\n customerId: Id;\n [k: string]: unknown;\n };\nexport type EmailAuthenticity = \"PASS\" | \"FAIL\" | \"UNKNOWN\" | \"UNKNOWN_EMAIL_AUTHENTICITY\";\nexport type Component =\n | {\n type: \"UNKNOWN\";\n [k: string]: unknown;\n }\n | ComponentText\n | ComponentPlainText\n | ComponentSpacer\n | ComponentDivider\n | ComponentLinkButton\n | ComponentWorkflowButton\n | ComponentBadge\n | ComponentCopyButton\n | ComponentDateTime\n | ComponentUser\n | ComponentRow\n | ComponentContainer;\nexport type ComponentTextSize = \"S\" | \"M\" | \"L\" | \"UNKNOWN_COMPONENT_TEXT_SIZE\";\nexport type ComponentTextColor =\n | \"NORMAL\"\n | \"MUTED\"\n | \"SUCCESS\"\n | \"WARNING\"\n | \"ERROR\"\n | \"UNKNOWN_COMPONENT_TEXT_COLOR\";\nexport type ComponentPlainTextSize = \"S\" | \"M\" | \"L\" | \"UNKNOWN_COMPONENT_PLAIN_TEXT_SIZE\";\nexport type ComponentPlainTextColor =\n | \"NORMAL\"\n | \"MUTED\"\n | \"SUCCESS\"\n | \"WARNING\"\n | \"ERROR\"\n | \"UNKNOWN_COMPONENT_PLAIN_TEXT_COLOR\";\nexport type ComponentSpacerSize = \"XS\" | \"S\" | \"M\" | \"L\" | \"XL\" | \"UNKNOWN_COMPONENT_SPACER_SIZE\";\nexport type ComponentDividerSpacingSize =\n | \"XS\"\n | \"S\"\n | \"M\"\n | \"L\"\n | \"XL\"\n | \"UNKNOWN_COMPONENT_DIVIDER_SPACING_SIZE\";\nexport type ComponentBadgeColor =\n | \"GREY\"\n | \"GREEN\"\n | \"YELLOW\"\n | \"RED\"\n | \"BLUE\"\n | \"UNKNOWN_COMPONENT_BADGE_COLOR\";\nexport type NullableDatetime = Datetime | null;\nexport type NullableInternalActor = InternalActor | null;\nexport type ComponentRowContent =\n | {\n type: \"UNKNOWN\";\n [k: string]: unknown;\n }\n | ComponentText\n | ComponentPlainText\n | ComponentSpacer\n | ComponentDivider\n | ComponentLinkButton\n | ComponentWorkflowButton\n | ComponentBadge\n | ComponentCopyButton\n | ComponentDateTime\n | ComponentUser;\nexport type ComponentContainerContent =\n | {\n type: \"UNKNOWN\";\n [k: string]: unknown;\n }\n | ComponentText\n | ComponentPlainText\n | ComponentSpacer\n | ComponentDivider\n | ComponentLinkButton\n | ComponentWorkflowButton\n | ComponentBadge\n | ComponentCopyButton\n | ComponentDateTime\n | ComponentUser\n | ComponentRow;\nexport type CustomerGroupChangedPayload =\n | {\n changeType: \"ADDED\";\n eventType: \"customer.customer_group_changed\";\n customerGroup: CustomerGroup;\n [k: string]: unknown;\n }\n | {\n changeType: \"UPDATED\";\n eventType: \"customer.customer_group_changed\";\n customerGroup: CustomerGroup;\n previousCustomerGroup: CustomerGroup;\n [k: string]: unknown;\n }\n | {\n changeType: \"REMOVED\";\n eventType: \"customer.customer_group_changed\";\n previousCustomerGroup: CustomerGroup;\n [k: string]: unknown;\n };\nexport type ThreadPriority = number;\nexport type ThreadStatus = \"TODO\" | \"DONE\" | \"SNOOZED\" | \"UNKNOWN_THREAD_STATUS\";\nexport type ThreadStatusDetail =\n | {\n type: \"UNKNOWN\";\n [k: string]: unknown;\n }\n | {\n type: \"CREATED\";\n createdAt: Datetime;\n [k: string]: unknown;\n }\n | {\n type: \"NEW_REPLY\";\n [k: string]: unknown;\n }\n | {\n type: \"IN_PROGRESS\";\n [k: string]: unknown;\n }\n | {\n type: \"WAITING_FOR_CUSTOMER\";\n [k: string]: unknown;\n }\n | {\n type: \"WAITING_INDEFINITELY\";\n [k: string]: unknown;\n }\n | {\n type: \"WAITING_FOR_DURATION\";\n waitingUntil: Datetime;\n durationSeconds: number;\n [k: string]: unknown;\n }\n | {\n type: \"THREAD_LINK_UPDATED\";\n linear?: {\n issueId: string;\n [k: string]: unknown;\n };\n [k: string]: unknown;\n }\n | {\n type: \"DONE_MANUALLY_SET\";\n [k: string]: unknown;\n }\n | {\n type: \"IGNORED\";\n [k: string]: unknown;\n }\n | {\n type: \"DONE_AUTOMATICALLY_SET\";\n afterSeconds?: number;\n [k: string]: unknown;\n }\n | {\n type: \"THREAD_DISCUSSION_RESOLVED\";\n threadDiscussionId?: Id;\n [k: string]: unknown;\n };\nexport type ThreadAssignee =\n | {\n type: \"UNKNOWN\";\n [k: string]: unknown;\n }\n | User\n | MachineUser\n | {\n id: string;\n [k: string]: unknown;\n };\nexport type ServiceLevelAgreement =\n | {\n type: \"UNKNOWN\";\n [k: string]: unknown;\n }\n | {\n id: Id;\n tier: Tier;\n useBusinessHoursOnly: boolean;\n threadPriorityFilter: ThreadPriorityFilter;\n createdAt: Datetime;\n createdBy: InternalActor;\n updatedAt: Datetime;\n updatedBy: InternalActor;\n type: \"FIRST_RESPONSE_TIME\";\n firstResponseTimeMinutes: number;\n [k: string]: unknown;\n }\n | {\n id: Id;\n tier: Tier;\n useBusinessHoursOnly: boolean;\n threadPriorityFilter: ThreadPriorityFilter;\n createdAt: Datetime;\n createdBy: InternalActor;\n updatedAt: Datetime;\n updatedBy: InternalActor;\n type: \"NEXT_RESPONSE_TIME\";\n nextResponseTimeMinutes: number;\n [k: string]: unknown;\n };\n/**\n * @minItems 1\n */\nexport type ThreadPriorityFilter = [ThreadPriority, ...ThreadPriority[]];\nexport type ServiceLevelAgreementStatusDetail =\n | {\n status: \"UNKNOWN\";\n [k: string]: unknown;\n }\n | {\n breachTime: Datetime;\n status: \"PENDING\";\n [k: string]: unknown;\n }\n | {\n achievedAt: Datetime;\n status: \"ACHIEVED\";\n [k: string]: unknown;\n }\n | {\n breachTime: Datetime;\n status: \"IMMINENT_BREACH\";\n [k: string]: unknown;\n }\n | {\n breachedAt: Datetime;\n status: \"BREACHING\";\n [k: string]: unknown;\n }\n | {\n breachedAt: Datetime;\n completedAt: Datetime;\n status: \"BREACHED\";\n [k: string]: unknown;\n }\n | {\n cancelledAt: Datetime;\n status: \"CANCELLED\";\n [k: string]: unknown;\n };\n\n/**\n * Webhook request\n */\nexport interface WebhooksSchemaDefinition {\n timestamp: Datetime;\n workspaceId: Id;\n payload:\n | CustomerChangedPayload\n | CustomerGroupMembershipsChangedPayload\n | TimelineEntryChangedPayload\n | CustomerGroupChangedPayload\n | ThreadCreatedPublicEventPayload\n | ThreadStatusTransitionedPublicEventPayload\n | ThreadAssignmentTransitionedPublicEventPayload\n | ThreadEmailReceivedPublicEventPayload\n | ThreadEmailSentPublicEventPayload\n | ThreadSlackMessageReceivedEventPayload\n | ThreadSlackMessageSentEventPayload\n | ThreadMSTeamsMessageReceivedEventPayload\n | ThreadMSTeamsMessageSentEventPayload\n | ThreadLabelsChangedPublicEventPayload\n | ThreadPriorityChangedPublicEventPayload\n | ThreadFieldCreatedPublicEventPayload\n | ThreadFieldUpdatedPublicEventPayload\n | ThreadFieldDeletedPublicEventPayload\n | ThreadChatSentPublicEventPayload\n | ThreadServiceLevelAgreementStatusTransitionedPayload\n | CustomerCreatedPublicEventPayload\n | CustomerUpdatedPublicEventPayload\n | CustomerDeletedPublicEventPayload\n | ThreadNoteCreatedEventPayload\n | ThreadNoteMentionCreatedPublicEventPayload\n | DiscussionMessageCreatedPublicEventPayload\n | ThreadChatReceivedPublicEventPayload\n | ThreadSlackMessageUpdatedEventPayload\n | ThreadDiscordMessageReceivedEventPayload\n | ThreadDiscordMessageSentEventPayload\n | ThreadDiscordMessageUpdatedEventPayload\n | ThreadTenantUpdatedPublicEventPayload;\n id: Id;\n type:\n | \"thread.thread_created\"\n | \"thread.thread_status_transitioned\"\n | \"thread.thread_assignment_transitioned\"\n | \"thread.email_received\"\n | \"thread.email_sent\"\n | \"thread.slack_message_received\"\n | \"thread.slack_message_sent\"\n | \"thread.slack_message_updated\"\n | \"thread.discord_message_received\"\n | \"thread.discord_message_sent\"\n | \"thread.discord_message_updated\"\n | \"thread.ms_teams_message_sent\"\n | \"thread.ms_teams_message_received\"\n | \"thread.chat_sent\"\n | \"thread.chat_received\"\n | \"thread.note_created\"\n | \"thread.note_mention_created\"\n | \"discussion.message_created\"\n | \"thread.thread_labels_changed\"\n | \"thread.thread_priority_changed\"\n | \"thread.thread_field_created\"\n | \"thread.thread_field_updated\"\n | \"thread.thread_field_deleted\"\n | \"thread.service_level_agreement_status_transitioned\"\n | \"thread.thread_tenant_updated\"\n | \"customer.customer_created\"\n | \"customer.customer_updated\"\n | \"customer.customer_deleted\"\n | \"customer.customer_changed\"\n | \"customer.customer_group_changed\"\n | \"customer.customer_group_memberships_changed\"\n | \"timeline.timeline_entry_changed\";\n webhookMetadata: WebhookMetadata;\n [k: string]: unknown;\n}\n/**\n * A customer has been created or updated\n */\nexport interface CustomerChangedPayload {\n changeType: \"ADDED\" | \"UPDATED\";\n eventType: \"customer.customer_changed\";\n customer: Customer;\n previousCustomer: Customer | null;\n [k: string]: unknown;\n}\nexport interface Customer {\n id: Id;\n email: {\n email: EmailAddress;\n isVerified: boolean;\n verifiedAt: Datetime | null;\n [k: string]: unknown;\n };\n externalId: string | null;\n fullName: string;\n shortName: string | null;\n markedAsSpamAt?: Datetime | null;\n markedAsSpamBy?: InternalActor | null;\n customerGroupMemberships: CustomerGroupMembership[];\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n [k: string]: unknown;\n}\nexport interface UserActor {\n actorType: \"user\";\n userId: Id;\n [k: string]: unknown;\n}\nexport interface MachineUserActor {\n actorType: \"machineUser\";\n machineUserId: Id;\n [k: string]: unknown;\n}\nexport interface SystemActor {\n actorType: \"system\";\n system: string;\n [k: string]: unknown;\n}\nexport interface CustomerGroupMembership {\n customerId: Id;\n customerGroupId: Id;\n workspaceId: Id;\n createdAt: Datetime;\n createdBy: InternalActor;\n updatedAt: Datetime;\n updatedBy: InternalActor;\n customerGroup: CustomerGroup;\n [k: string]: unknown;\n}\nexport interface CustomerGroup {\n id: Id;\n workspaceId: Id;\n name: string;\n key: string;\n color: string;\n createdAt: Datetime;\n createdBy: InternalActor;\n updatedAt: Datetime;\n updatedBy: InternalActor;\n [k: string]: unknown;\n}\nexport interface CustomerActor {\n actorType: \"customer\";\n customerId: Id;\n [k: string]: unknown;\n}\nexport interface CustomerGroupMembershipsChangedPayload {\n eventType: \"customer.customer_group_memberships_changed\";\n changeType: \"ADDED\" | \"REMOVED\";\n customer: Customer;\n previousCustomer: Customer;\n [k: string]: unknown;\n}\n/**\n * A timeline entry has been added, updated or removed\n */\nexport interface TimelineEntryChangedPayload {\n eventType: \"timeline.timeline_entry_changed\";\n /**\n * null if changeType=ADDED\n */\n previousTimelineEntry: TimelineEntry | null;\n /**\n * null if changeType=REMOVED\n */\n timelineEntry: TimelineEntry | null;\n changeType: \"ADDED\" | \"UPDATED\" | \"REMOVED\";\n [k: string]: unknown;\n}\nexport interface TimelineEntry {\n id: Id;\n customerId: Id;\n threadId?: Id | null;\n timestamp: Datetime;\n actor: Actor;\n entry:\n | {\n entryType: \"UNKNOWN\";\n [k: string]: unknown;\n }\n | NoteEntry\n | ChatEntry\n | EmailEntry\n | CustomEntry;\n [k: string]: unknown;\n}\nexport interface NoteEntry {\n entryType: \"note\";\n noteId: Id;\n text: string;\n markdown: string | null;\n [k: string]: unknown;\n}\nexport interface ChatEntry {\n entryType: \"chat\";\n chatId: Id;\n text: string | null;\n attachments: ChatEntryAttachment[];\n customerReadAt: Datetime | null;\n [k: string]: unknown;\n}\nexport interface ChatEntryAttachment {\n id: Id;\n fileName: string;\n fileSizeBytes: number;\n fileMimeType: string;\n fileExtension: NullableString;\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n type: \"CHAT\";\n [k: string]: unknown;\n}\nexport interface EmailEntry {\n entryType: \"email\";\n emailId: Id;\n to: EmailParticipant;\n from: EmailParticipant;\n additionalRecipients: EmailParticipant[];\n hiddenRecipients: EmailParticipant[];\n subject: string | null;\n textContent: string | null;\n hasMoreTextContent: boolean;\n markdownContent: string | null;\n hasMoreMarkdownContent: boolean;\n authenticity: EmailAuthenticity;\n sentAt: Datetime | null;\n receivedAt: Datetime | null;\n attachments: EmailEntryAttachment[];\n inReplyToEmailId: string | null;\n isStartOfThread: boolean;\n [k: string]: unknown;\n}\nexport interface EmailParticipant {\n email: string;\n name: string | null;\n emailActor: EmailActor | null;\n [k: string]: unknown;\n}\nexport interface EmailEntryAttachment {\n id: Id;\n fileName: string;\n fileSizeBytes: number;\n fileMimeType: string;\n fileExtension: NullableString;\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n type: \"EMAIL\";\n emailContentId: string;\n [k: string]: unknown;\n}\nexport interface CustomEntry {\n entryType: \"custom\";\n externalId: string | null;\n title: string;\n type: string | null;\n components: Component[];\n attachments: CustomEntryAttachment[];\n [k: string]: unknown;\n}\nexport interface ComponentText {\n type: \"text\";\n textSize: ComponentTextSize | null;\n textColor: ComponentTextColor | null;\n text: string;\n [k: string]: unknown;\n}\nexport interface ComponentPlainText {\n plainTextSize: ComponentPlainTextSize | null;\n plainTextColor: ComponentPlainTextColor | null;\n plainText: string;\n type: \"plainText\";\n [k: string]: unknown;\n}\nexport interface ComponentSpacer {\n spacerSize: ComponentSpacerSize;\n type: \"spacer\";\n [k: string]: unknown;\n}\nexport interface ComponentDivider {\n dividerSpacingSize: ComponentDividerSpacingSize | null;\n type: \"divider\";\n [k: string]: unknown;\n}\nexport interface ComponentLinkButton {\n linkButtonUrl: string;\n linkButtonLabel: string;\n type: \"linkButton\";\n [k: string]: unknown;\n}\nexport interface ComponentWorkflowButton {\n workflowButtonWorkflowIdentifier: {\n workflowId?: string;\n workflowKey?: string;\n [k: string]: unknown;\n };\n workflowButtonLabel: string;\n type: \"workflowButton\";\n [k: string]: unknown;\n}\nexport interface ComponentBadge {\n badgeLabel: string;\n badgeColor: ComponentBadgeColor | null;\n type: \"badge\";\n [k: string]: unknown;\n}\nexport interface ComponentCopyButton {\n copyButtonValue: string;\n copyButtonTooltipLabel: string | null;\n type: \"copyButton\";\n [k: string]: unknown;\n}\nexport interface ComponentDateTime {\n type: \"dateTime\";\n dateTimeIso8601: Datetime;\n [k: string]: unknown;\n}\nexport interface ComponentUser {\n type: \"user\";\n user: (User | MachineUser) | null;\n [k: string]: unknown;\n}\nexport interface User {\n id: Id;\n email: EmailAddress;\n fullName: string;\n publicName: string;\n status: \"ONLINE\" | \"OFFLINE\" | \"BREAK\" | \"AWAY\" | \"UNKNOWN_USER_STATUS\";\n statusChangedAt: Datetime;\n createdAt: Datetime;\n createdBy: InternalActor;\n updatedAt: Datetime;\n updatedBy: InternalActor;\n deletedAt: NullableDatetime;\n deletedBy: NullableInternalActor;\n [k: string]: unknown;\n}\nexport interface MachineUser {\n id: Id;\n fullName: string;\n publicName: string;\n description: string | null;\n createdAt: Datetime;\n createdBy: InternalActor;\n updatedAt: Datetime;\n updatedBy: InternalActor;\n deletedAt: NullableDatetime;\n deletedBy: NullableInternalActor;\n [k: string]: unknown;\n}\nexport interface ComponentRow {\n type: \"row\";\n rowMainContent: ComponentRowContent[];\n rowAsideContent: ComponentRowContent[];\n [k: string]: unknown;\n}\nexport interface ComponentContainer {\n type: \"container\";\n containerContent: ComponentContainerContent[];\n [k: string]: unknown;\n}\nexport interface CustomEntryAttachment {\n id: Id;\n fileName: string;\n fileSizeBytes: number;\n fileMimeType: string;\n fileExtension: NullableString;\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n type: \"CUSTOM_TIMELINE_ENTRY\";\n [k: string]: unknown;\n}\nexport interface ThreadCreatedPublicEventPayload {\n eventType: \"thread.thread_created\";\n thread: Thread;\n [k: string]: unknown;\n}\nexport interface Thread {\n id: Id;\n customer: Customer;\n title: string;\n previewText?: string | null;\n priority: ThreadPriority;\n externalId: string | null;\n status: ThreadStatus;\n statusChangedAt: Datetime;\n statusChangedBy?: Actor | null;\n statusDetail: ThreadStatusDetail | null;\n assignee: ThreadAssignee | null;\n assignedAt: Datetime | null;\n additionalAssignees?: ThreadAssignee[];\n labels: Label[];\n firstInboundMessageInfo: ThreadMessageInfo | null;\n firstOutboundMessageInfo: ThreadMessageInfo | null;\n lastInboundMessageInfo: ThreadMessageInfo | null;\n lastOutboundMessageInfo: ThreadMessageInfo | null;\n supportEmailAddresses: string[];\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n [k: string]: unknown;\n}\nexport interface Label {\n id: Id;\n labelType: LabelType;\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n [k: string]: unknown;\n}\nexport interface LabelType {\n id: Id;\n name: string;\n icon?: string | null;\n isArchived?: boolean;\n archivedAt: Datetime | null;\n archivedBy: InternalActor | null;\n externalId?: string | null;\n isExcludedFromAi?: boolean;\n createdAt: Datetime;\n createdBy: InternalActor;\n updatedAt: Datetime;\n updatedBy: InternalActor;\n [k: string]: unknown;\n}\nexport interface ThreadMessageInfo {\n timestamp: Datetime;\n messageSource:\n | \"CHAT\"\n | \"EMAIL\"\n | \"API\"\n | \"SLACK\"\n | \"MS_TEAMS\"\n | \"UNKNOWN_THREAD_MESSAGE_INFO_MESSAGE_SOURCE\";\n actorId?: string | null;\n actorType?: (\"user\" | \"machineUser\" | \"customer\" | \"system\") | null;\n [k: string]: unknown;\n}\nexport interface ThreadStatusTransitionedPublicEventPayload {\n eventType: \"thread.thread_status_transitioned\";\n previousThread: Thread;\n thread: Thread;\n [k: string]: unknown;\n}\nexport interface ThreadAssignmentTransitionedPublicEventPayload {\n eventType: \"thread.thread_assignment_transitioned\";\n previousThread: Thread;\n thread: Thread;\n [k: string]: unknown;\n}\nexport interface ThreadEmailReceivedPublicEventPayload {\n eventType: \"thread.email_received\";\n thread: Thread;\n email: Email;\n [k: string]: unknown;\n}\nexport interface Email {\n timelineEntryId: Id;\n id: Id;\n to: EmailParticipant;\n from: EmailParticipant;\n replyTo: string | null;\n additionalRecipients: EmailParticipant[];\n hiddenRecipients: EmailParticipant[];\n subject: string | null;\n textContent: string | null;\n markdownContent: string | null;\n authenticity: EmailAuthenticity;\n sentAt: Datetime | null;\n receivedAt: Datetime | null;\n attachments: Attachment[];\n inReplyToEmailId: string | null;\n isStartOfThread: boolean;\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n [k: string]: unknown;\n}\nexport interface Attachment {\n id: Id;\n fileName: string;\n fileSizeBytes: number;\n fileMimeType: string;\n fileExtension: NullableString;\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n [k: string]: unknown;\n}\nexport interface ThreadEmailSentPublicEventPayload {\n eventType: \"thread.email_sent\";\n thread: Thread;\n email: Email;\n [k: string]: unknown;\n}\nexport interface ThreadSlackMessageReceivedEventPayload {\n eventType: \"thread.slack_message_received\";\n thread: Thread;\n slackMessage: SlackMessage;\n [k: string]: unknown;\n}\nexport interface SlackMessage {\n timelineEntryId: Id;\n id: Id;\n text: string;\n resolvedText?: string;\n attachments: Attachment[];\n slackChannelId: string;\n slackChannelName: string;\n slackMessageLink: string;\n slackReactions?: SlackReaction[];\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n [k: string]: unknown;\n}\nexport interface SlackReaction {\n name: string;\n actors: {\n actorId: Id;\n actorType: \"user\" | \"machineUser\" | \"customer\" | \"system\";\n slackUserId: string;\n [k: string]: unknown;\n }[];\n imageUrl?: string | null;\n [k: string]: unknown;\n}\nexport interface ThreadSlackMessageSentEventPayload {\n eventType: \"thread.slack_message_sent\";\n thread: Thread;\n slackMessage: SlackMessage;\n [k: string]: unknown;\n}\nexport interface ThreadMSTeamsMessageReceivedEventPayload {\n eventType: \"thread.ms_teams_message_received\";\n thread: Thread;\n msTeamsMessage: MsTeamsMessage;\n [k: string]: unknown;\n}\nexport interface MsTeamsMessage {\n timelineEntryId: Id;\n threadId: Id;\n msTeamsMessageId: string;\n type: (\"INBOUND\" | \"OUTBOUND\" | \"UNKNOWN_MS_TEAMS_MESSAGE_TYPE\") | null;\n text: string;\n attachments: Attachment[];\n lastEditedOnMsTeamsAt: Datetime | null;\n deletedOnMsTeamsAt: Datetime | null;\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n [k: string]: unknown;\n}\nexport interface ThreadMSTeamsMessageSentEventPayload {\n eventType: \"thread.ms_teams_message_sent\";\n thread: Thread;\n msTeamsMessage: MsTeamsMessage;\n [k: string]: unknown;\n}\nexport interface ThreadLabelsChangedPublicEventPayload {\n eventType: \"thread.thread_labels_changed\";\n changeType: \"ADDED\" | \"REMOVED\";\n thread: Thread;\n previousThread: Thread;\n [k: string]: unknown;\n}\nexport interface ThreadPriorityChangedPublicEventPayload {\n eventType: \"thread.thread_priority_changed\";\n previousThread: Thread;\n thread: Thread;\n [k: string]: unknown;\n}\nexport interface ThreadFieldCreatedPublicEventPayload {\n eventType: \"thread.thread_field_created\";\n thread: Thread;\n threadField: ThreadField;\n [k: string]: unknown;\n}\nexport interface ThreadField {\n id: Id;\n threadId: Id;\n key: string;\n type:\n | \"STRING\"\n | \"BOOL\"\n | \"ENUM\"\n | \"NUMBER\"\n | \"CURRENCY\"\n | \"DATE\"\n | \"UNKNOWN_THREAD_FIELD_SCHEMA_TYPE\";\n stringValue: string | null;\n booleanValue: boolean | null;\n numberValue?: number | null;\n dateValue?: string | null;\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n [k: string]: unknown;\n}\nexport interface ThreadFieldUpdatedPublicEventPayload {\n eventType: \"thread.thread_field_updated\";\n thread: Thread;\n previousThreadField: ThreadField;\n threadField: ThreadField;\n [k: string]: unknown;\n}\nexport interface ThreadFieldDeletedPublicEventPayload {\n eventType: \"thread.thread_field_deleted\";\n thread: Thread;\n previousThreadField: ThreadField;\n [k: string]: unknown;\n}\nexport interface ThreadChatSentPublicEventPayload {\n eventType: \"thread.chat_sent\";\n chat: Chat;\n thread: Thread;\n [k: string]: unknown;\n}\nexport interface Chat {\n timelineEntryId: Id;\n id: Id;\n customerReadAt: Datetime | null;\n text?: string | null;\n attachments: Attachment[];\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n [k: string]: unknown;\n}\nexport interface ThreadServiceLevelAgreementStatusTransitionedPayload {\n eventType: \"thread.service_level_agreement_status_transitioned\";\n thread: Thread;\n serviceLevelAgreement: ServiceLevelAgreement;\n previousServiceLevelAgreementStatusDetail: ServiceLevelAgreementStatusDetail;\n serviceLevelAgreementStatusDetail: ServiceLevelAgreementStatusDetail;\n [k: string]: unknown;\n}\nexport interface Tier {\n id: Id;\n name: string;\n externalId: string | null;\n color: string;\n defaultThreadPriority?: number;\n isDefault: boolean;\n createdAt: Datetime;\n createdBy: InternalActor;\n updatedAt: Datetime;\n updatedBy: InternalActor;\n [k: string]: unknown;\n}\n/**\n * A customer has been created\n */\nexport interface CustomerCreatedPublicEventPayload {\n eventType: \"customer.customer_created\";\n customer: Customer;\n [k: string]: unknown;\n}\n/**\n * A customer has been updated\n */\nexport interface CustomerUpdatedPublicEventPayload {\n eventType: \"customer.customer_updated\";\n customer: Customer;\n previousCustomer: Customer;\n [k: string]: unknown;\n}\n/**\n * A customer has been deleted\n */\nexport interface CustomerDeletedPublicEventPayload {\n eventType: \"customer.customer_deleted\";\n previousCustomer: Customer;\n [k: string]: unknown;\n}\nexport interface ThreadNoteCreatedEventPayload {\n eventType: \"thread.note_created\";\n thread: Thread;\n note: Note;\n [k: string]: unknown;\n}\nexport interface Note {\n timelineEntryId: Id;\n id: Id;\n text: string;\n markdown: string | null;\n createdAt: Datetime;\n createdBy: InternalActor;\n updatedAt: Datetime;\n updatedBy: InternalActor;\n deletedAt: NullableDatetime;\n deletedBy: NullableInternalActor;\n [k: string]: unknown;\n}\nexport interface ThreadNoteMentionCreatedPublicEventPayload {\n eventType: \"thread.note_mention_created\";\n thread: Thread;\n note: Note;\n mentions: MachineUser[];\n [k: string]: unknown;\n}\nexport interface DiscussionMessageCreatedPublicEventPayload {\n eventType: \"discussion.message_created\";\n discussion: {\n id: Id;\n type: \"SLACK\" | \"EMAIL\" | \"AGENT_SESSION\" | \"UNKNOWN_DISCUSSION_TYPE\";\n agent: MachineUser | null;\n status: \"OPEN\" | \"RESOLVED\" | \"UNKNOWN_DISCUSSION_STATUS\";\n threadId: Id | null;\n [k: string]: unknown;\n };\n message: {\n id: Id;\n type: \"INBOUND\" | \"OUTBOUND\" | \"UNKNOWN_DISCUSSION_MESSAGE_TYPE\";\n markdown: string;\n createdBy: Actor;\n createdAt: Datetime;\n [k: string]: unknown;\n };\n [k: string]: unknown;\n}\nexport interface ThreadChatReceivedPublicEventPayload {\n eventType: \"thread.chat_received\";\n chat: Chat;\n thread: Thread;\n [k: string]: unknown;\n}\nexport interface ThreadSlackMessageUpdatedEventPayload {\n eventType: \"thread.slack_message_updated\";\n changeType?:\n | \"MESSAGE_EDITED\"\n | \"MESSAGE_DELETED\"\n | \"REACTIONS_CHANGED\"\n | \"UNKNOWN_SLACK_MESSAGE_CHANGE_TYPE\";\n thread: Thread;\n slackMessage: SlackMessage;\n reactionChange?: SlackReactionChange | null;\n [k: string]: unknown;\n}\nexport interface SlackReactionChange {\n changeType: \"ADDED\" | \"REMOVED\" | \"UNKNOWN_SLACK_REACTION_CHANGE_TYPE\";\n reaction: SlackReaction;\n [k: string]: unknown;\n}\nexport interface ThreadDiscordMessageReceivedEventPayload {\n eventType: \"thread.discord_message_received\";\n thread: Thread;\n discordMessage: DiscordMessage;\n [k: string]: unknown;\n}\nexport interface DiscordMessage {\n timelineEntryId: Id;\n id: Id;\n discordGuildId: string;\n discordChannelId: string;\n discordThreadId: string;\n discordId: string;\n discordTimestamp: Datetime;\n textContent: string;\n attachments?: Attachment[];\n lastEditedOnDiscordAt?: Datetime | null;\n deletedOnDiscordAt?: Datetime | null;\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n [k: string]: unknown;\n}\nexport interface ThreadDiscordMessageSentEventPayload {\n eventType: \"thread.discord_message_sent\";\n thread: Thread;\n discordMessage: DiscordMessage;\n [k: string]: unknown;\n}\nexport interface ThreadDiscordMessageUpdatedEventPayload {\n eventType: \"thread.discord_message_updated\";\n thread: Thread;\n discordMessage: DiscordMessage;\n [k: string]: unknown;\n}\nexport interface ThreadTenantUpdatedPublicEventPayload {\n eventType: \"thread.thread_tenant_updated\";\n previousThread: Thread;\n thread: Thread;\n previousTenant: {\n id: Id;\n workspaceId: Id;\n name: string;\n externalId: string;\n url: string | null;\n source?: \"api\" | \"salesforce\" | \"hubspot\" | \"attio\" | \"email_domain\" | \"UNKNOWN_TENANT_SOURCE\";\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n [k: string]: unknown;\n } | null;\n tenant: {\n id: Id;\n workspaceId: Id;\n name: string;\n externalId: string;\n url: string | null;\n source?: \"api\" | \"salesforce\" | \"hubspot\" | \"attio\" | \"email_domain\" | \"UNKNOWN_TENANT_SOURCE\";\n createdAt: Datetime;\n createdBy: Actor;\n updatedAt: Datetime;\n updatedBy: Actor;\n [k: string]: unknown;\n } | null;\n [k: string]: unknown;\n}\nexport interface WebhookMetadata {\n webhookTargetId: Id;\n webhookTargetVersion: \"2026-08-19\";\n webhookDeliveryAttemptId: Id;\n webhookDeliveryAttemptNumber: number;\n webhookDeliveryAttemptTimestamp: Datetime;\n [k: string]: unknown;\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -2692,7 +2692,8 @@
2692
2692
  }
2693
2693
  },
2694
2694
  "required": ["name", "actors"],
2695
- "additionalProperties": true
2695
+ "additionalProperties": true,
2696
+ "title": "SlackReaction"
2696
2697
  },
2697
2698
  "default": []
2698
2699
  },
package/dist/index.d.ts CHANGED
@@ -2,5 +2,5 @@ export { PlainWebhookError, PlainWebhookPayloadError, PlainWebhookSignatureVerif
2
2
  export { parsePlainWebhook } from "./parse.js";
3
3
  export type { Result } from "./result.js";
4
4
  export { verifyPlainWebhook } from "./verify.js";
5
- export type { CustomerChangedPayload, CustomerCreatedPublicEventPayload, CustomerDeletedPublicEventPayload, CustomerGroupChangedPayload, CustomerGroupMembershipsChangedPayload, CustomerUpdatedPublicEventPayload, DiscussionMessageCreatedPublicEventPayload, ThreadAssignmentTransitionedPublicEventPayload, ThreadChatSentPublicEventPayload, ThreadCreatedPublicEventPayload, ThreadEmailReceivedPublicEventPayload, ThreadEmailSentPublicEventPayload, ThreadFieldCreatedPublicEventPayload, ThreadFieldDeletedPublicEventPayload, ThreadFieldUpdatedPublicEventPayload, ThreadLabelsChangedPublicEventPayload, ThreadPriorityChangedPublicEventPayload, ThreadServiceLevelAgreementStatusTransitionedPayload, ThreadSlackMessageReceivedEventPayload, ThreadSlackMessageSentEventPayload, ThreadStatusTransitionedPublicEventPayload, TimelineEntryChangedPayload, WebhooksSchemaDefinition, } from "./webhook-schema.js";
5
+ export type * from "./webhook-schema.js";
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,sCAAsC,EACtC,gCAAgC,GACjC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,YAAY,EACV,sBAAsB,EACtB,iCAAiC,EACjC,iCAAiC,EACjC,2BAA2B,EAC3B,sCAAsC,EACtC,iCAAiC,EACjC,0CAA0C,EAC1C,8CAA8C,EAC9C,gCAAgC,EAChC,+BAA+B,EAC/B,qCAAqC,EACrC,iCAAiC,EACjC,oCAAoC,EACpC,oCAAoC,EACpC,oCAAoC,EACpC,qCAAqC,EACrC,uCAAuC,EACvC,oDAAoD,EACpD,sCAAsC,EACtC,kCAAkC,EAClC,0CAA0C,EAC1C,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,sCAAsC,EACtC,gCAAgC,GACjC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,mBAAmB,qBAAqB,CAAC"}
package/dist/verify.js CHANGED
@@ -55,7 +55,13 @@ function verifyWebhookSignature(payload, signature, secret) {
55
55
  .createHmac("sha256", secret)
56
56
  .update(payload, "utf8")
57
57
  .digest("hex");
58
- if (signature !== expectedSignature) {
58
+ // timingSafeEqual requires both buffers to be the same length; a length mismatch definitively
59
+ // means the signature is wrong and leaks no secret. Compare the encoded byte lengths, not the
60
+ // string lengths: the signature is caller-supplied, and a multi-byte character makes those two
61
+ // disagree, which would get past a string-length check and then make timingSafeEqual throw.
62
+ const given = Buffer.from(signature, "utf8");
63
+ const expected = Buffer.from(expectedSignature, "utf8");
64
+ if (given.length !== expected.length || !crypto.timingSafeEqual(given, expected)) {
59
65
  return {
60
66
  error: new PlainWebhookSignatureVerificationError("The signature provided is invalid."),
61
67
  };
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAEL,wBAAwB,EACxB,sCAAsC,GACvC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAe,MAAM,aAAa,CAAC;AAGjD;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAChC,UAAkB,EAClB,SAAiB,EACjB,MAAc,EACd,SAAS,GAAG,GAAG;IAEf,MAAM,2BAA2B,GAAG,sBAAsB,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC1F,IAAI,KAAK,CAAC,2BAA2B,CAAC,EAAE,CAAC;QACvC,OAAO,2BAA2B,CAAC;IACrC,CAAC;IAED,MAAM,aAAa,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACpD,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QACzB,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC;IACnC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,+BAA+B,CAAC,CAAC;IAEtF,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,KAAK,EAAE,IAAI,wBAAwB,CACjC,sDAAsD,SAAS,qDAAqD,OAAO,CAAC,EAAE,IAAI,CACnI;SACF,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,GAAG,SAAS,GAAG,IAAI,EAAE,CAAC;QACzD,OAAO;YACL,KAAK,EAAE,IAAI,sCAAsC,CAC/C,2GAA2G,SAAS,WAAW,CAChI;SACF,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAAe,EACf,SAAiB,EACjB,MAAc;IAEd,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,KAAK,EAAE,IAAI,sCAAsC,CAAC,kCAAkC,CAAC;SACtF,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO;YACL,KAAK,EAAE,IAAI,sCAAsC,CAC/C,wGAAwG,CACzG;SACF,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,KAAK,EAAE,IAAI,sCAAsC,CAC/C,8FAA8F,CAC/F;SACF,CAAC;IACJ,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM;SAC7B,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC;SAC5B,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC;SACvB,MAAM,CAAC,KAAK,CAAC,CAAC;IAEjB,IAAI,SAAS,KAAK,iBAAiB,EAAE,CAAC;QACpC,OAAO;YACL,KAAK,EAAE,IAAI,sCAAsC,CAAC,oCAAoC,CAAC;SACxF,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAEL,wBAAwB,EACxB,sCAAsC,GACvC,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAe,MAAM,aAAa,CAAC;AAGjD;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAChC,UAAkB,EAClB,SAAiB,EACjB,MAAc,EACd,SAAS,GAAG,GAAG;IAEf,MAAM,2BAA2B,GAAG,sBAAsB,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC1F,IAAI,KAAK,CAAC,2BAA2B,CAAC,EAAE,CAAC;QACvC,OAAO,2BAA2B,CAAC;IACrC,CAAC;IAED,MAAM,aAAa,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACpD,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QACzB,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC;IACnC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,+BAA+B,CAAC,CAAC;IAEtF,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,KAAK,EAAE,IAAI,wBAAwB,CACjC,sDAAsD,SAAS,qDAAqD,OAAO,CAAC,EAAE,IAAI,CACnI;SACF,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,GAAG,SAAS,GAAG,IAAI,EAAE,CAAC;QACzD,OAAO;YACL,KAAK,EAAE,IAAI,sCAAsC,CAC/C,2GAA2G,SAAS,WAAW,CAChI;SACF,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAAe,EACf,SAAiB,EACjB,MAAc;IAEd,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,KAAK,EAAE,IAAI,sCAAsC,CAAC,kCAAkC,CAAC;SACtF,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO;YACL,KAAK,EAAE,IAAI,sCAAsC,CAC/C,wGAAwG,CACzG;SACF,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO;YACL,KAAK,EAAE,IAAI,sCAAsC,CAC/C,8FAA8F,CAC/F;SACF,CAAC;IACJ,CAAC;IAED,MAAM,iBAAiB,GAAG,MAAM;SAC7B,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC;SAC5B,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC;SACvB,MAAM,CAAC,KAAK,CAAC,CAAC;IAEjB,8FAA8F;IAC9F,8FAA8F;IAC9F,+FAA+F;IAC/F,4FAA4F;IAC5F,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAExD,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;QACjF,OAAO;YACL,KAAK,EAAE,IAAI,sCAAsC,CAAC,oCAAoC,CAAC;SACxF,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC"}
@@ -629,14 +629,14 @@ export interface SlackMessage {
629
629
  slackChannelId: string;
630
630
  slackChannelName: string;
631
631
  slackMessageLink: string;
632
- slackReactions?: Items[];
632
+ slackReactions?: SlackReaction[];
633
633
  createdAt: Datetime;
634
634
  createdBy: Actor;
635
635
  updatedAt: Datetime;
636
636
  updatedBy: Actor;
637
637
  [k: string]: unknown;
638
638
  }
639
- export interface Items {
639
+ export interface SlackReaction {
640
640
  name: string;
641
641
  actors: {
642
642
  actorId: Id;
@@ -853,7 +853,7 @@ export interface ThreadSlackMessageUpdatedEventPayload {
853
853
  }
854
854
  export interface SlackReactionChange {
855
855
  changeType: "ADDED" | "REMOVED" | "UNKNOWN_SLACK_REACTION_CHANGE_TYPE";
856
- reaction: Items;
856
+ reaction: SlackReaction;
857
857
  [k: string]: unknown;
858
858
  }
859
859
  export interface ThreadDiscordMessageReceivedEventPayload {
@@ -1 +1 @@
1
- {"version":3,"file":"webhook-schema.d.ts","sourceRoot":"","sources":["../src/webhook-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webhook-schema.d.ts","sourceRoot":"","sources":["../src/webhook-schema.ts"],"names":[],"mappings":"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"}
@@ -2692,7 +2692,8 @@
2692
2692
  }
2693
2693
  },
2694
2694
  "required": ["name", "actors"],
2695
- "additionalProperties": true
2695
+ "additionalProperties": true,
2696
+ "title": "SlackReaction"
2696
2697
  },
2697
2698
  "default": []
2698
2699
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@team-plain/webhooks",
3
- "version": "1.6.0",
3
+ "version": "1.7.1",
4
4
  "description": "Webhook parsing and signature verification for Plain webhooks",
5
5
  "license": "MIT",
6
6
  "author": "Plain <hello@plain.com> (https://plain.com)",