MCPcopy Create free account
hub / github.com/HKUDS/AgentSpace / buildFeishuBotAddedPayloadVerificationOutput

Function buildFeishuBotAddedPayloadVerificationOutput

scripts/feishu/smoke.ts:1768–1812  ·  view source on GitHub ↗
(input: {
  payloadPath: string;
  payload: Record<string, unknown>;
  issues: string[];
})

Source from the content-addressed store, hash-verified

1766}
1767
1768function buildFeishuBotAddedPayloadVerificationOutput(input: {
1769 payloadPath: string;
1770 payload: Record<string, unknown>;
1771 issues: string[];
1772}): FeishuBotAddedPayloadVerificationOutput {
1773 const descriptor = resolveFeishuChatDescriptor(input.payload);
1774 const eventSummary = summarizeFeishuInboundEventPayload(input.payload);
1775 const externalEventReference = readString(eventSummary.externalEventReference);
1776 const externalEventIdRedacted = eventSummary.externalEventIdRedacted === true;
1777 const payloadHash = readString(eventSummary.payloadHash) ?? sha256Json(input.payload);
1778 const chatName = descriptor?.externalChatName?.trim();
1779 const appId = resolveFeishuBotAddedPayloadAppId(input.payload);
1780 const tenantKey = resolveFeishuBotAddedPayloadTenantKey(input.payload);
1781 const createTimeState = readFeishuBotAddedPayloadCreateTimeState(input.payload);
1782 return {
1783 generatedAt: new Date().toISOString(),
1784 payloadPath: sanitizeSmokeOutputText(input.payloadPath),
1785 valid: input.issues.length === 0,
1786 issues: [...input.issues],
1787 summary: {
1788 eventType: sanitizeSmokeOutputText(resolveFeishuEventType(input.payload)).slice(0, 160),
1789 botAddedEvent: isFeishuBotAddedToChatPayload(input.payload),
1790 appIdPresent: Boolean(appId),
1791 ...(appId ? { appIdHash: sha256Text(appId) } : {}),
1792 tenantKeyPresent: Boolean(tenantKey),
1793 ...(tenantKey ? { tenantKeyHash: sha256Text(tenantKey) } : {}),
1794 chatDescriptorPresent: Boolean(descriptor),
1795 ...(descriptor ? { chatIdSource: resolveFeishuChatIdSource(input.payload) } : {}),
1796 ...(descriptor ? { chatReference: buildSafeReference("chat", descriptor.externalChatId) } : {}),
1797 chatIdRedacted: Boolean(descriptor?.externalChatId),
1798 ...(descriptor?.externalChatType
1799 ? { chatType: sanitizeSmokeOutputText(descriptor.externalChatType).slice(0, 80) }
1800 : {}),
1801 chatNamePresent: Boolean(chatName),
1802 ...(chatName ? { chatNameHash: sha256Text(chatName) } : {}),
1803 ...(chatName ? { chatNameLength: Buffer.byteLength(chatName, "utf8") } : {}),
1804 ...(externalEventReference ? { externalEventReference } : {}),
1805 externalEventIdRedacted,
1806 eventCreateTimePresent: createTimeState.present,
1807 eventCreateTimeFresh: createTimeState.fresh,
1808 payloadHash,
1809 rawPayloadStored: false,
1810 },
1811 };
1812}
1813
1814function readFeishuBotAddedPayloadCreateTimeState(payload: Record<string, unknown>): {
1815 present: boolean;

Callers 1

Tested by

no test coverage detected