chore: migrate to oxlint and oxfmt

Co-authored-by: Christoph Nakazawa <christoph.pojer@gmail.com>
This commit is contained in:
Peter Steinberger
2026-01-14 14:31:43 +00:00
parent 912ebffc63
commit c379191f80
1480 changed files with 28608 additions and 43547 deletions

View File

@@ -5,14 +5,9 @@ import { enqueueSystemEvent } from "../../../infra/system-events.js";
import { resolveSlackChannelLabel } from "../channel-config.js";
import type { SlackMonitorContext } from "../context.js";
import type {
SlackChannelCreatedEvent,
SlackChannelRenamedEvent,
} from "../types.js";
import type { SlackChannelCreatedEvent, SlackChannelRenamedEvent } from "../types.js";
export function registerSlackChannelEvents(params: {
ctx: SlackMonitorContext;
}) {
export function registerSlackChannelEvents(params: { ctx: SlackMonitorContext }) {
const { ctx } = params;
ctx.app.event(
@@ -41,44 +36,36 @@ export function registerSlackChannelEvents(params: {
contextKey: `slack:channel:created:${channelId ?? channelName ?? "unknown"}`,
});
} catch (err) {
ctx.runtime.error?.(
danger(`slack channel created handler failed: ${String(err)}`),
);
ctx.runtime.error?.(danger(`slack channel created handler failed: ${String(err)}`));
}
},
);
ctx.app.event(
"channel_rename",
async ({ event }: SlackEventMiddlewareArgs<"channel_rename">) => {
try {
const payload = event as SlackChannelRenamedEvent;
const channelId = payload.channel?.id;
const channelName =
payload.channel?.name_normalized ?? payload.channel?.name;
if (
!ctx.isChannelAllowed({
channelId,
channelName,
channelType: "channel",
})
) {
return;
}
const label = resolveSlackChannelLabel({ channelId, channelName });
const sessionKey = ctx.resolveSlackSystemEventSessionKey({
ctx.app.event("channel_rename", async ({ event }: SlackEventMiddlewareArgs<"channel_rename">) => {
try {
const payload = event as SlackChannelRenamedEvent;
const channelId = payload.channel?.id;
const channelName = payload.channel?.name_normalized ?? payload.channel?.name;
if (
!ctx.isChannelAllowed({
channelId,
channelName,
channelType: "channel",
});
enqueueSystemEvent(`Slack channel renamed: ${label}.`, {
sessionKey,
contextKey: `slack:channel:renamed:${channelId ?? channelName ?? "unknown"}`,
});
} catch (err) {
ctx.runtime.error?.(
danger(`slack channel rename handler failed: ${String(err)}`),
);
})
) {
return;
}
},
);
const label = resolveSlackChannelLabel({ channelId, channelName });
const sessionKey = ctx.resolveSlackSystemEventSessionKey({
channelId,
channelType: "channel",
});
enqueueSystemEvent(`Slack channel renamed: ${label}.`, {
sessionKey,
contextKey: `slack:channel:renamed:${channelId ?? channelName ?? "unknown"}`,
});
} catch (err) {
ctx.runtime.error?.(danger(`slack channel rename handler failed: ${String(err)}`));
}
});
}

View File

@@ -7,9 +7,7 @@ import { resolveSlackChannelLabel } from "../channel-config.js";
import type { SlackMonitorContext } from "../context.js";
import type { SlackMemberChannelEvent } from "../types.js";
export function registerSlackMemberEvents(params: {
ctx: SlackMonitorContext;
}) {
export function registerSlackMemberEvents(params: { ctx: SlackMonitorContext }) {
const { ctx } = params;
ctx.app.event(
@@ -18,9 +16,7 @@ export function registerSlackMemberEvents(params: {
try {
const payload = event as SlackMemberChannelEvent;
const channelId = payload.channel;
const channelInfo = channelId
? await ctx.resolveChannelName(channelId)
: {};
const channelInfo = channelId ? await ctx.resolveChannelName(channelId) : {};
const channelType = payload.channel_type ?? channelInfo?.type;
if (
!ctx.isChannelAllowed({
@@ -31,9 +27,7 @@ export function registerSlackMemberEvents(params: {
) {
return;
}
const userInfo = payload.user
? await ctx.resolveUserName(payload.user)
: {};
const userInfo = payload.user ? await ctx.resolveUserName(payload.user) : {};
const userLabel = userInfo?.name ?? payload.user ?? "someone";
const label = resolveSlackChannelLabel({
channelId,
@@ -48,9 +42,7 @@ export function registerSlackMemberEvents(params: {
contextKey: `slack:member:joined:${channelId ?? "unknown"}:${payload.user ?? "unknown"}`,
});
} catch (err) {
ctx.runtime.error?.(
danger(`slack join handler failed: ${String(err)}`),
);
ctx.runtime.error?.(danger(`slack join handler failed: ${String(err)}`));
}
},
);
@@ -61,9 +53,7 @@ export function registerSlackMemberEvents(params: {
try {
const payload = event as SlackMemberChannelEvent;
const channelId = payload.channel;
const channelInfo = channelId
? await ctx.resolveChannelName(channelId)
: {};
const channelInfo = channelId ? await ctx.resolveChannelName(channelId) : {};
const channelType = payload.channel_type ?? channelInfo?.type;
if (
!ctx.isChannelAllowed({
@@ -74,9 +64,7 @@ export function registerSlackMemberEvents(params: {
) {
return;
}
const userInfo = payload.user
? await ctx.resolveUserName(payload.user)
: {};
const userInfo = payload.user ? await ctx.resolveUserName(payload.user) : {};
const userLabel = userInfo?.name ?? payload.user ?? "someone";
const label = resolveSlackChannelLabel({
channelId,
@@ -91,9 +79,7 @@ export function registerSlackMemberEvents(params: {
contextKey: `slack:member:left:${channelId ?? "unknown"}:${payload.user ?? "unknown"}`,
});
} catch (err) {
ctx.runtime.error?.(
danger(`slack leave handler failed: ${String(err)}`),
);
ctx.runtime.error?.(danger(`slack leave handler failed: ${String(err)}`));
}
},
);

View File

@@ -19,124 +19,110 @@ export function registerSlackMessageEvents(params: {
}) {
const { ctx, handleSlackMessage } = params;
ctx.app.event(
"message",
async ({ event }: SlackEventMiddlewareArgs<"message">) => {
try {
const message = event as SlackMessageEvent;
if (message.subtype === "message_changed") {
const changed = event as SlackMessageChangedEvent;
const channelId = changed.channel;
const channelInfo = channelId
? await ctx.resolveChannelName(channelId)
: {};
const channelType = channelInfo?.type;
if (
!ctx.isChannelAllowed({
channelId,
channelName: channelInfo?.name,
channelType,
})
) {
return;
}
const messageId = changed.message?.ts ?? changed.previous_message?.ts;
const label = resolveSlackChannelLabel({
ctx.app.event("message", async ({ event }: SlackEventMiddlewareArgs<"message">) => {
try {
const message = event as SlackMessageEvent;
if (message.subtype === "message_changed") {
const changed = event as SlackMessageChangedEvent;
const channelId = changed.channel;
const channelInfo = channelId ? await ctx.resolveChannelName(channelId) : {};
const channelType = channelInfo?.type;
if (
!ctx.isChannelAllowed({
channelId,
channelName: channelInfo?.name,
});
const sessionKey = ctx.resolveSlackSystemEventSessionKey({
channelId,
channelType,
});
enqueueSystemEvent(`Slack message edited in ${label}.`, {
sessionKey,
contextKey: `slack:message:changed:${channelId ?? "unknown"}:${messageId ?? changed.event_ts ?? "unknown"}`,
});
})
) {
return;
}
if (message.subtype === "message_deleted") {
const deleted = event as SlackMessageDeletedEvent;
const channelId = deleted.channel;
const channelInfo = channelId
? await ctx.resolveChannelName(channelId)
: {};
const channelType = channelInfo?.type;
if (
!ctx.isChannelAllowed({
channelId,
channelName: channelInfo?.name,
channelType,
})
) {
return;
}
const label = resolveSlackChannelLabel({
channelId,
channelName: channelInfo?.name,
});
const sessionKey = ctx.resolveSlackSystemEventSessionKey({
channelId,
channelType,
});
enqueueSystemEvent(`Slack message deleted in ${label}.`, {
sessionKey,
contextKey: `slack:message:deleted:${channelId ?? "unknown"}:${deleted.deleted_ts ?? deleted.event_ts ?? "unknown"}`,
});
return;
}
if (message.subtype === "thread_broadcast") {
const thread = event as SlackThreadBroadcastEvent;
const channelId = thread.channel;
const channelInfo = channelId
? await ctx.resolveChannelName(channelId)
: {};
const channelType = channelInfo?.type;
if (
!ctx.isChannelAllowed({
channelId,
channelName: channelInfo?.name,
channelType,
})
) {
return;
}
const label = resolveSlackChannelLabel({
channelId,
channelName: channelInfo?.name,
});
const messageId = thread.message?.ts ?? thread.event_ts;
const sessionKey = ctx.resolveSlackSystemEventSessionKey({
channelId,
channelType,
});
enqueueSystemEvent(`Slack thread reply broadcast in ${label}.`, {
sessionKey,
contextKey: `slack:thread:broadcast:${channelId ?? "unknown"}:${messageId ?? "unknown"}`,
});
return;
}
await handleSlackMessage(message, { source: "message" });
} catch (err) {
ctx.runtime.error?.(danger(`slack handler failed: ${String(err)}`));
}
},
);
ctx.app.event(
"app_mention",
async ({ event }: SlackEventMiddlewareArgs<"app_mention">) => {
try {
const mention = event as SlackAppMentionEvent;
await handleSlackMessage(mention as unknown as SlackMessageEvent, {
source: "app_mention",
wasMentioned: true,
const messageId = changed.message?.ts ?? changed.previous_message?.ts;
const label = resolveSlackChannelLabel({
channelId,
channelName: channelInfo?.name,
});
} catch (err) {
ctx.runtime.error?.(
danger(`slack mention handler failed: ${String(err)}`),
);
const sessionKey = ctx.resolveSlackSystemEventSessionKey({
channelId,
channelType,
});
enqueueSystemEvent(`Slack message edited in ${label}.`, {
sessionKey,
contextKey: `slack:message:changed:${channelId ?? "unknown"}:${messageId ?? changed.event_ts ?? "unknown"}`,
});
return;
}
},
);
if (message.subtype === "message_deleted") {
const deleted = event as SlackMessageDeletedEvent;
const channelId = deleted.channel;
const channelInfo = channelId ? await ctx.resolveChannelName(channelId) : {};
const channelType = channelInfo?.type;
if (
!ctx.isChannelAllowed({
channelId,
channelName: channelInfo?.name,
channelType,
})
) {
return;
}
const label = resolveSlackChannelLabel({
channelId,
channelName: channelInfo?.name,
});
const sessionKey = ctx.resolveSlackSystemEventSessionKey({
channelId,
channelType,
});
enqueueSystemEvent(`Slack message deleted in ${label}.`, {
sessionKey,
contextKey: `slack:message:deleted:${channelId ?? "unknown"}:${deleted.deleted_ts ?? deleted.event_ts ?? "unknown"}`,
});
return;
}
if (message.subtype === "thread_broadcast") {
const thread = event as SlackThreadBroadcastEvent;
const channelId = thread.channel;
const channelInfo = channelId ? await ctx.resolveChannelName(channelId) : {};
const channelType = channelInfo?.type;
if (
!ctx.isChannelAllowed({
channelId,
channelName: channelInfo?.name,
channelType,
})
) {
return;
}
const label = resolveSlackChannelLabel({
channelId,
channelName: channelInfo?.name,
});
const messageId = thread.message?.ts ?? thread.event_ts;
const sessionKey = ctx.resolveSlackSystemEventSessionKey({
channelId,
channelType,
});
enqueueSystemEvent(`Slack thread reply broadcast in ${label}.`, {
sessionKey,
contextKey: `slack:thread:broadcast:${channelId ?? "unknown"}:${messageId ?? "unknown"}`,
});
return;
}
await handleSlackMessage(message, { source: "message" });
} catch (err) {
ctx.runtime.error?.(danger(`slack handler failed: ${String(err)}`));
}
});
ctx.app.event("app_mention", async ({ event }: SlackEventMiddlewareArgs<"app_mention">) => {
try {
const mention = event as SlackAppMentionEvent;
await handleSlackMessage(mention as unknown as SlackMessageEvent, {
source: "app_mention",
wasMentioned: true,
});
} catch (err) {
ctx.runtime.error?.(danger(`slack mention handler failed: ${String(err)}`));
}
});
}

View File

@@ -10,97 +10,73 @@ import type { SlackPinEvent } from "../types.js";
export function registerSlackPinEvents(params: { ctx: SlackMonitorContext }) {
const { ctx } = params;
ctx.app.event(
"pin_added",
async ({ event }: SlackEventMiddlewareArgs<"pin_added">) => {
try {
const payload = event as SlackPinEvent;
const channelId = payload.channel_id;
const channelInfo = channelId
? await ctx.resolveChannelName(channelId)
: {};
if (
!ctx.isChannelAllowed({
channelId,
channelName: channelInfo?.name,
channelType: channelInfo?.type,
})
) {
return;
}
const label = resolveSlackChannelLabel({
ctx.app.event("pin_added", async ({ event }: SlackEventMiddlewareArgs<"pin_added">) => {
try {
const payload = event as SlackPinEvent;
const channelId = payload.channel_id;
const channelInfo = channelId ? await ctx.resolveChannelName(channelId) : {};
if (
!ctx.isChannelAllowed({
channelId,
channelName: channelInfo?.name,
});
const userInfo = payload.user
? await ctx.resolveUserName(payload.user)
: {};
const userLabel = userInfo?.name ?? payload.user ?? "someone";
const itemType = payload.item?.type ?? "item";
const messageId = payload.item?.message?.ts ?? payload.event_ts;
const sessionKey = ctx.resolveSlackSystemEventSessionKey({
channelId,
channelType: channelInfo?.type ?? undefined,
});
enqueueSystemEvent(
`Slack: ${userLabel} pinned a ${itemType} in ${label}.`,
{
sessionKey,
contextKey: `slack:pin:added:${channelId ?? "unknown"}:${messageId ?? "unknown"}`,
},
);
} catch (err) {
ctx.runtime.error?.(
danger(`slack pin added handler failed: ${String(err)}`),
);
channelType: channelInfo?.type,
})
) {
return;
}
},
);
const label = resolveSlackChannelLabel({
channelId,
channelName: channelInfo?.name,
});
const userInfo = payload.user ? await ctx.resolveUserName(payload.user) : {};
const userLabel = userInfo?.name ?? payload.user ?? "someone";
const itemType = payload.item?.type ?? "item";
const messageId = payload.item?.message?.ts ?? payload.event_ts;
const sessionKey = ctx.resolveSlackSystemEventSessionKey({
channelId,
channelType: channelInfo?.type ?? undefined,
});
enqueueSystemEvent(`Slack: ${userLabel} pinned a ${itemType} in ${label}.`, {
sessionKey,
contextKey: `slack:pin:added:${channelId ?? "unknown"}:${messageId ?? "unknown"}`,
});
} catch (err) {
ctx.runtime.error?.(danger(`slack pin added handler failed: ${String(err)}`));
}
});
ctx.app.event(
"pin_removed",
async ({ event }: SlackEventMiddlewareArgs<"pin_removed">) => {
try {
const payload = event as SlackPinEvent;
const channelId = payload.channel_id;
const channelInfo = channelId
? await ctx.resolveChannelName(channelId)
: {};
if (
!ctx.isChannelAllowed({
channelId,
channelName: channelInfo?.name,
channelType: channelInfo?.type,
})
) {
return;
}
const label = resolveSlackChannelLabel({
ctx.app.event("pin_removed", async ({ event }: SlackEventMiddlewareArgs<"pin_removed">) => {
try {
const payload = event as SlackPinEvent;
const channelId = payload.channel_id;
const channelInfo = channelId ? await ctx.resolveChannelName(channelId) : {};
if (
!ctx.isChannelAllowed({
channelId,
channelName: channelInfo?.name,
});
const userInfo = payload.user
? await ctx.resolveUserName(payload.user)
: {};
const userLabel = userInfo?.name ?? payload.user ?? "someone";
const itemType = payload.item?.type ?? "item";
const messageId = payload.item?.message?.ts ?? payload.event_ts;
const sessionKey = ctx.resolveSlackSystemEventSessionKey({
channelId,
channelType: channelInfo?.type ?? undefined,
});
enqueueSystemEvent(
`Slack: ${userLabel} unpinned a ${itemType} in ${label}.`,
{
sessionKey,
contextKey: `slack:pin:removed:${channelId ?? "unknown"}:${messageId ?? "unknown"}`,
},
);
} catch (err) {
ctx.runtime.error?.(
danger(`slack pin removed handler failed: ${String(err)}`),
);
channelType: channelInfo?.type,
})
) {
return;
}
},
);
const label = resolveSlackChannelLabel({
channelId,
channelName: channelInfo?.name,
});
const userInfo = payload.user ? await ctx.resolveUserName(payload.user) : {};
const userLabel = userInfo?.name ?? payload.user ?? "someone";
const itemType = payload.item?.type ?? "item";
const messageId = payload.item?.message?.ts ?? payload.event_ts;
const sessionKey = ctx.resolveSlackSystemEventSessionKey({
channelId,
channelType: channelInfo?.type ?? undefined,
});
enqueueSystemEvent(`Slack: ${userLabel} unpinned a ${itemType} in ${label}.`, {
sessionKey,
contextKey: `slack:pin:removed:${channelId ?? "unknown"}:${messageId ?? "unknown"}`,
});
} catch (err) {
ctx.runtime.error?.(danger(`slack pin removed handler failed: ${String(err)}`));
}
});
}

View File

@@ -11,15 +11,10 @@ import {
import type { SlackMonitorContext } from "../context.js";
import type { SlackReactionEvent } from "../types.js";
export function registerSlackReactionEvents(params: {
ctx: SlackMonitorContext;
}) {
export function registerSlackReactionEvents(params: { ctx: SlackMonitorContext }) {
const { ctx } = params;
const handleReactionEvent = async (
event: SlackReactionEvent,
action: "added" | "removed",
) => {
const handleReactionEvent = async (event: SlackReactionEvent, action: "added" | "removed") => {
try {
const item = event.item;
if (!event.user) return;
@@ -67,9 +62,7 @@ export function registerSlackReactionEvents(params: {
const channelLabel = channelName
? `#${normalizeSlackSlug(channelName) || channelName}`
: `#${item.channel}`;
const authorInfo = event.item_user
? await ctx.resolveUserName(event.item_user)
: undefined;
const authorInfo = event.item_user ? await ctx.resolveUserName(event.item_user) : undefined;
const authorLabel = authorInfo?.name ?? event.item_user;
const baseText = `Slack reaction ${action}: :${emojiLabel}: by ${actorLabel} in ${channelLabel} msg ${item.ts}`;
const text = authorLabel ? `${baseText} from ${authorLabel}` : baseText;
@@ -82,18 +75,13 @@ export function registerSlackReactionEvents(params: {
contextKey: `slack:reaction:${action}:${item.channel}:${item.ts}:${event.user}:${emojiLabel}`,
});
} catch (err) {
ctx.runtime.error?.(
danger(`slack reaction handler failed: ${String(err)}`),
);
ctx.runtime.error?.(danger(`slack reaction handler failed: ${String(err)}`));
}
};
ctx.app.event(
"reaction_added",
async ({ event }: SlackEventMiddlewareArgs<"reaction_added">) => {
await handleReactionEvent(event as SlackReactionEvent, "added");
},
);
ctx.app.event("reaction_added", async ({ event }: SlackEventMiddlewareArgs<"reaction_added">) => {
await handleReactionEvent(event as SlackReactionEvent, "added");
});
ctx.app.event(
"reaction_removed",