diff --git a/extensions/feishu/api.ts b/extensions/feishu/api.ts index 2b5ca711ea10..59f6d52f7e28 100644 --- a/extensions/feishu/api.ts +++ b/extensions/feishu/api.ts @@ -1,3 +1,4 @@ +// Feishu API module exposes the plugin public contract. export { feishuPlugin } from "./src/channel.js"; export { registerFeishuDocTools } from "./src/docx.js"; export { registerFeishuChatTools } from "./src/chat.js"; diff --git a/extensions/feishu/channel-entry.ts b/extensions/feishu/channel-entry.ts index 07b4a52c9090..2623eb406c47 100644 --- a/extensions/feishu/channel-entry.ts +++ b/extensions/feishu/channel-entry.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements channel entry behavior. import { defineBundledChannelEntry } from "openclaw/plugin-sdk/channel-entry-contract"; export default defineBundledChannelEntry({ diff --git a/extensions/feishu/channel-plugin-api.ts b/extensions/feishu/channel-plugin-api.ts index 66cb83be0249..611d78348314 100644 --- a/extensions/feishu/channel-plugin-api.ts +++ b/extensions/feishu/channel-plugin-api.ts @@ -1 +1,2 @@ +// Feishu API module exposes the plugin public contract. export { feishuPlugin } from "./src/channel.js"; diff --git a/extensions/feishu/contract-api.ts b/extensions/feishu/contract-api.ts index dc4ece20a68f..db45043a8a99 100644 --- a/extensions/feishu/contract-api.ts +++ b/extensions/feishu/contract-api.ts @@ -1,3 +1,4 @@ +// Feishu API module exposes the plugin public contract. export { createFeishuThreadBindingManager } from "./src/thread-bindings.js"; export { testing as feishuThreadBindingTesting } from "./src/thread-bindings.js"; export { diff --git a/extensions/feishu/index.ts b/extensions/feishu/index.ts index cd004c37effc..6174129852c9 100644 --- a/extensions/feishu/index.ts +++ b/extensions/feishu/index.ts @@ -1,3 +1,4 @@ +// Feishu plugin entrypoint registers its OpenClaw integration. import { defineBundledChannelEntry, loadBundledEntryExportSync, diff --git a/extensions/feishu/legacy-state-migrations-api.ts b/extensions/feishu/legacy-state-migrations-api.ts index 0648be423559..2bfc9adb5925 100644 --- a/extensions/feishu/legacy-state-migrations-api.ts +++ b/extensions/feishu/legacy-state-migrations-api.ts @@ -1 +1,2 @@ +// Feishu API module exposes the plugin public contract. export { detectFeishuLegacyStateMigrations } from "./src/dedup-migrations.js"; diff --git a/extensions/feishu/secret-contract-api.ts b/extensions/feishu/secret-contract-api.ts index 9f44ef28569c..6daa267778c8 100644 --- a/extensions/feishu/secret-contract-api.ts +++ b/extensions/feishu/secret-contract-api.ts @@ -1,3 +1,4 @@ +// Feishu API module exposes the plugin public contract. export { channelSecrets, collectRuntimeConfigAssignments, diff --git a/extensions/feishu/security-contract-api.ts b/extensions/feishu/security-contract-api.ts index 4b008192bcc5..d332fddc5057 100644 --- a/extensions/feishu/security-contract-api.ts +++ b/extensions/feishu/security-contract-api.ts @@ -1 +1,2 @@ +// Feishu API module exposes the plugin public contract. export { collectFeishuSecurityAuditFindings } from "./src/security-audit-shared.js"; diff --git a/extensions/feishu/session-key-api.ts b/extensions/feishu/session-key-api.ts index 53cff005b634..5e603e27c192 100644 --- a/extensions/feishu/session-key-api.ts +++ b/extensions/feishu/session-key-api.ts @@ -1 +1,2 @@ +// Feishu API module exposes the plugin public contract. export { resolveFeishuSessionConversation as resolveSessionConversation } from "./src/session-conversation.js"; diff --git a/extensions/feishu/setup-api.ts b/extensions/feishu/setup-api.ts index 6ccdd8f17e45..c76562dc5e54 100644 --- a/extensions/feishu/setup-api.ts +++ b/extensions/feishu/setup-api.ts @@ -1,3 +1,4 @@ +// Feishu API module exposes the plugin public contract. export { feishuPlugin } from "./src/channel.js"; export { feishuSetupAdapter } from "./src/setup-core.js"; export { feishuSetupWizard } from "./src/setup-surface.js"; diff --git a/extensions/feishu/setup-entry.test.ts b/extensions/feishu/setup-entry.test.ts index 8082f6e929d1..718248be9077 100644 --- a/extensions/feishu/setup-entry.test.ts +++ b/extensions/feishu/setup-entry.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover setup entry plugin behavior. import { afterAll, describe, expect, it, vi } from "vitest"; vi.mock("@larksuiteoapi/node-sdk", () => { diff --git a/extensions/feishu/setup-entry.ts b/extensions/feishu/setup-entry.ts index fbdc23483a9e..143ff61cdc06 100644 --- a/extensions/feishu/setup-entry.ts +++ b/extensions/feishu/setup-entry.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements setup entry behavior. import { defineBundledChannelSetupEntry } from "openclaw/plugin-sdk/channel-entry-contract"; export default defineBundledChannelSetupEntry({ diff --git a/extensions/feishu/src/accounts.test.ts b/extensions/feishu/src/accounts.test.ts index b0f0ed307798..14a12eb9b298 100644 --- a/extensions/feishu/src/accounts.test.ts +++ b/extensions/feishu/src/accounts.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover accounts plugin behavior. import { describe, expect, it } from "vitest"; import { FeishuSecretRefUnavailableError, diff --git a/extensions/feishu/src/accounts.ts b/extensions/feishu/src/accounts.ts index 793e87e88711..cb531285277e 100644 --- a/extensions/feishu/src/accounts.ts +++ b/extensions/feishu/src/accounts.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements accounts behavior. import { DEFAULT_ACCOUNT_ID, type OpenClawConfig as ClawdbotConfig, diff --git a/extensions/feishu/src/agent-config.ts b/extensions/feishu/src/agent-config.ts index ca5ab8ea8105..65b096a842fa 100644 --- a/extensions/feishu/src/agent-config.ts +++ b/extensions/feishu/src/agent-config.ts @@ -1,3 +1,4 @@ +// Feishu helper module supports agent config behavior. import type { ClawdbotConfig } from "./bot-runtime-api.js"; type ReasoningDefault = "on" | "stream" | "off"; diff --git a/extensions/feishu/src/app-registration.test.ts b/extensions/feishu/src/app-registration.test.ts index e3e6357b1d7a..1f8a8e88a440 100644 --- a/extensions/feishu/src/app-registration.test.ts +++ b/extensions/feishu/src/app-registration.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover app registration plugin behavior. import { MAX_TIMER_TIMEOUT_MS } from "openclaw/plugin-sdk/number-runtime"; import { afterEach, describe, expect, it, vi } from "vitest"; import { beginAppRegistration, pollAppRegistration } from "./app-registration.js"; diff --git a/extensions/feishu/src/app-registration.ts b/extensions/feishu/src/app-registration.ts index ef0535111c0c..5528525b2446 100644 --- a/extensions/feishu/src/app-registration.ts +++ b/extensions/feishu/src/app-registration.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements app registration behavior. import { finiteSecondsToTimerSafeMilliseconds } from "openclaw/plugin-sdk/number-runtime"; /** * Feishu app registration via OAuth device-code flow. diff --git a/extensions/feishu/src/approval-auth.test.ts b/extensions/feishu/src/approval-auth.test.ts index 8406f88a87ac..44d1f5ae7c03 100644 --- a/extensions/feishu/src/approval-auth.test.ts +++ b/extensions/feishu/src/approval-auth.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover approval auth plugin behavior. import { describe, expect, it } from "vitest"; import { feishuApprovalAuth } from "./approval-auth.js"; diff --git a/extensions/feishu/src/approval-auth.ts b/extensions/feishu/src/approval-auth.ts index 88271a23dc60..ca6a730153df 100644 --- a/extensions/feishu/src/approval-auth.ts +++ b/extensions/feishu/src/approval-auth.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements approval auth behavior. import { createResolvedApproverActionAuthAdapter, resolveApprovalApprovers, diff --git a/extensions/feishu/src/async.test.ts b/extensions/feishu/src/async.test.ts index 352f4b64946d..554de85849f8 100644 --- a/extensions/feishu/src/async.test.ts +++ b/extensions/feishu/src/async.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover async plugin behavior. import { MAX_TIMER_TIMEOUT_MS } from "openclaw/plugin-sdk/number-runtime"; import { afterEach, describe, expect, it, vi } from "vitest"; import { raceWithTimeoutAndAbort, waitForAbortableDelay } from "./async.js"; diff --git a/extensions/feishu/src/async.ts b/extensions/feishu/src/async.ts index b37e30f19704..3f03289be40c 100644 --- a/extensions/feishu/src/async.ts +++ b/extensions/feishu/src/async.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements async behavior. import { resolveTimerTimeoutMs } from "openclaw/plugin-sdk/number-runtime"; const RACE_TIMEOUT = Symbol("race-timeout"); diff --git a/extensions/feishu/src/audio-preflight.runtime.ts b/extensions/feishu/src/audio-preflight.runtime.ts index 7e7f111d1045..4f59c119d504 100644 --- a/extensions/feishu/src/audio-preflight.runtime.ts +++ b/extensions/feishu/src/audio-preflight.runtime.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements audio preflight behavior. import { transcribeFirstAudio as transcribeFirstAudioImpl } from "openclaw/plugin-sdk/media-runtime"; type TranscribeFirstAudio = typeof import("openclaw/plugin-sdk/media-runtime").transcribeFirstAudio; diff --git a/extensions/feishu/src/bitable.test.ts b/extensions/feishu/src/bitable.test.ts index 26a6a2ee2cfa..eb8a168112ff 100644 --- a/extensions/feishu/src/bitable.test.ts +++ b/extensions/feishu/src/bitable.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover bitable plugin behavior. import type * as Lark from "@larksuiteoapi/node-sdk"; import { afterAll, beforeEach, describe, expect, it, vi } from "vitest"; import type { OpenClawPluginApi } from "../runtime-api.js"; diff --git a/extensions/feishu/src/bitable.ts b/extensions/feishu/src/bitable.ts index 5686477d422c..94f9b96e61af 100644 --- a/extensions/feishu/src/bitable.ts +++ b/extensions/feishu/src/bitable.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements bitable behavior. import type * as Lark from "@larksuiteoapi/node-sdk"; import { optionalPositiveIntegerSchema } from "openclaw/plugin-sdk/channel-actions"; import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime"; diff --git a/extensions/feishu/src/bot-content.ts b/extensions/feishu/src/bot-content.ts index 0e0fb906b6f8..9123632e78d4 100644 --- a/extensions/feishu/src/bot-content.ts +++ b/extensions/feishu/src/bot-content.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements bot content behavior. import { parseStrictNonNegativeInteger } from "openclaw/plugin-sdk/number-runtime"; import type { ClawdbotConfig } from "../runtime-api.js"; import { buildFeishuConversationId } from "./conversation-id.js"; diff --git a/extensions/feishu/src/bot-group-name.test.ts b/extensions/feishu/src/bot-group-name.test.ts index 31e8157102ff..135dfa8eb0a0 100644 --- a/extensions/feishu/src/bot-group-name.test.ts +++ b/extensions/feishu/src/bot-group-name.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover bot group name plugin behavior. import { afterAll, describe, it, expect, vi, beforeEach } from "vitest"; import { resolveGroupName, clearGroupNameCache } from "./bot.js"; import type { ResolvedFeishuAccount } from "./types.js"; diff --git a/extensions/feishu/src/bot-runtime-api.ts b/extensions/feishu/src/bot-runtime-api.ts index 4f17b61c2d9c..e65c1f7e7024 100644 --- a/extensions/feishu/src/bot-runtime-api.ts +++ b/extensions/feishu/src/bot-runtime-api.ts @@ -1,3 +1,4 @@ +// Feishu API module exposes the plugin public contract. export { buildAgentMediaPayload, resolveChannelContextVisibilityMode, diff --git a/extensions/feishu/src/bot-sender-name.test.ts b/extensions/feishu/src/bot-sender-name.test.ts index 07be94816752..81cd842b7fa6 100644 --- a/extensions/feishu/src/bot-sender-name.test.ts +++ b/extensions/feishu/src/bot-sender-name.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover bot sender name plugin behavior. import { afterEach, describe, expect, it, vi } from "vitest"; import { resolveFeishuSenderName } from "./bot-sender-name.js"; import { FeishuConfigSchema } from "./config-schema.js"; diff --git a/extensions/feishu/src/bot-sender-name.ts b/extensions/feishu/src/bot-sender-name.ts index 523da5b93cb4..8b3fa626fda7 100644 --- a/extensions/feishu/src/bot-sender-name.ts +++ b/extensions/feishu/src/bot-sender-name.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements bot sender name behavior. import { asDateTimestampMs, resolveExpiresAtMsFromDurationMs, diff --git a/extensions/feishu/src/bot.broadcast.test.ts b/extensions/feishu/src/bot.broadcast.test.ts index 82602712ec71..8d1d227e6331 100644 --- a/extensions/feishu/src/bot.broadcast.test.ts +++ b/extensions/feishu/src/bot.broadcast.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover bot.broadcast plugin behavior. import type { EnvelopeFormatOptions } from "openclaw/plugin-sdk/channel-inbound"; import { afterAll, beforeEach, describe, expect, it, vi } from "vitest"; import type { ClawdbotConfig, PluginRuntime } from "../runtime-api.js"; diff --git a/extensions/feishu/src/bot.card-action.test.ts b/extensions/feishu/src/bot.card-action.test.ts index 062ac5cb373f..8e0d4a3d36cf 100644 --- a/extensions/feishu/src/bot.card-action.test.ts +++ b/extensions/feishu/src/bot.card-action.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover bot.card action plugin behavior. import { createRuntimeEnv } from "openclaw/plugin-sdk/plugin-test-runtime"; import { afterAll, afterEach, describe, it, expect, vi, beforeEach } from "vitest"; import type { ClawdbotConfig, RuntimeEnv } from "../runtime-api.js"; diff --git a/extensions/feishu/src/bot.checkBotMentioned.test.ts b/extensions/feishu/src/bot.checkBotMentioned.test.ts index 342121a53822..197e5ba5aa23 100644 --- a/extensions/feishu/src/bot.checkBotMentioned.test.ts +++ b/extensions/feishu/src/bot.checkBotMentioned.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover bot.checkBotMentioned plugin behavior. import { describe, it, expect } from "vitest"; import { parseFeishuMessageEvent, type FeishuMessageEvent } from "./bot.js"; diff --git a/extensions/feishu/src/bot.helpers.test.ts b/extensions/feishu/src/bot.helpers.test.ts index 80b32acf5ea1..ff58ba79b42c 100644 --- a/extensions/feishu/src/bot.helpers.test.ts +++ b/extensions/feishu/src/bot.helpers.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover bot.helpers plugin behavior. import { describe, expect, it } from "vitest"; import type { ClawdbotConfig } from "../runtime-api.js"; import { parseMessageContent } from "./bot-content.js"; diff --git a/extensions/feishu/src/bot.stripBotMention.test.ts b/extensions/feishu/src/bot.stripBotMention.test.ts index 902effa0f51e..94360445083d 100644 --- a/extensions/feishu/src/bot.stripBotMention.test.ts +++ b/extensions/feishu/src/bot.stripBotMention.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover bot.stripBotMention plugin behavior. import { describe, expect, it } from "vitest"; import { parseFeishuMessageEvent, type FeishuMessageEvent } from "./bot.js"; diff --git a/extensions/feishu/src/bot.test.ts b/extensions/feishu/src/bot.test.ts index 97616b43c627..a28d12ba60d0 100644 --- a/extensions/feishu/src/bot.test.ts +++ b/extensions/feishu/src/bot.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover bot plugin behavior. import type * as ConversationRuntime from "openclaw/plugin-sdk/conversation-runtime"; import { createRuntimeEnv } from "openclaw/plugin-sdk/plugin-test-runtime"; import type { ResolvedAgentRoute } from "openclaw/plugin-sdk/routing"; diff --git a/extensions/feishu/src/bot.ts b/extensions/feishu/src/bot.ts index 2ce55d6c4050..86f0ba0a0471 100644 --- a/extensions/feishu/src/bot.ts +++ b/extensions/feishu/src/bot.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements bot behavior. import { resolveChannelConfigWrites } from "openclaw/plugin-sdk/channel-config-writes"; import { buildChannelInboundEventContext, diff --git a/extensions/feishu/src/card-action.ts b/extensions/feishu/src/card-action.ts index 99ff832e0269..3d47c3848a61 100644 --- a/extensions/feishu/src/card-action.ts +++ b/extensions/feishu/src/card-action.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements card action behavior. import { asDateTimestampMs, isFutureDateTimestampMs, diff --git a/extensions/feishu/src/card-interaction.test.ts b/extensions/feishu/src/card-interaction.test.ts index 8dc2b448e66a..545cfa68b9f2 100644 --- a/extensions/feishu/src/card-interaction.test.ts +++ b/extensions/feishu/src/card-interaction.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover card interaction plugin behavior. import { describe, expect, it } from "vitest"; import { buildFeishuCardActionTextFallback, diff --git a/extensions/feishu/src/card-interaction.ts b/extensions/feishu/src/card-interaction.ts index 7731cd2bae40..67d9726b7542 100644 --- a/extensions/feishu/src/card-interaction.ts +++ b/extensions/feishu/src/card-interaction.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements card interaction behavior. import { isRecord } from "./comment-shared.js"; export const FEISHU_CARD_INTERACTION_VERSION = "ocf1"; diff --git a/extensions/feishu/src/card-test-helpers.ts b/extensions/feishu/src/card-test-helpers.ts index add7215f1610..2b10cf2768f5 100644 --- a/extensions/feishu/src/card-test-helpers.ts +++ b/extensions/feishu/src/card-test-helpers.ts @@ -1,3 +1,4 @@ +// Feishu helper module supports card test helpers behavior. import { expect } from "vitest"; type MockCalls = { diff --git a/extensions/feishu/src/card-ux-approval.ts b/extensions/feishu/src/card-ux-approval.ts index 17ec2ddc872b..7f3bb0fcd1c3 100644 --- a/extensions/feishu/src/card-ux-approval.ts +++ b/extensions/feishu/src/card-ux-approval.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements card ux approval behavior. import { createFeishuCardInteractionEnvelope } from "./card-interaction.js"; import { buildFeishuCardButton, buildFeishuCardInteractionContext } from "./card-ux-shared.js"; diff --git a/extensions/feishu/src/card-ux-launcher.test.ts b/extensions/feishu/src/card-ux-launcher.test.ts index c2278f4948a3..1d1122b5a224 100644 --- a/extensions/feishu/src/card-ux-launcher.test.ts +++ b/extensions/feishu/src/card-ux-launcher.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover card ux launcher plugin behavior. import { createRuntimeEnv } from "openclaw/plugin-sdk/plugin-test-runtime"; import { afterAll, describe, expect, it, vi, beforeEach } from "vitest"; import type { ClawdbotConfig, RuntimeEnv } from "../runtime-api.js"; diff --git a/extensions/feishu/src/card-ux-launcher.ts b/extensions/feishu/src/card-ux-launcher.ts index 44c87e090745..34849e1d1482 100644 --- a/extensions/feishu/src/card-ux-launcher.ts +++ b/extensions/feishu/src/card-ux-launcher.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements card ux launcher behavior. import { asDateTimestampMs, resolveExpiresAtMsFromDurationMs, diff --git a/extensions/feishu/src/card-ux-shared.ts b/extensions/feishu/src/card-ux-shared.ts index 02133c39a5cd..b76d726838f3 100644 --- a/extensions/feishu/src/card-ux-shared.ts +++ b/extensions/feishu/src/card-ux-shared.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements card ux shared behavior. import type { FeishuCardInteractionEnvelope } from "./card-interaction.js"; export function buildFeishuCardButton(params: { diff --git a/extensions/feishu/src/channel-runtime-api.ts b/extensions/feishu/src/channel-runtime-api.ts index e3c3c456298c..d09aa7ee101d 100644 --- a/extensions/feishu/src/channel-runtime-api.ts +++ b/extensions/feishu/src/channel-runtime-api.ts @@ -1,3 +1,4 @@ +// Feishu API module exposes the plugin public contract. export type { ChannelMessageActionName, ChannelMeta, diff --git a/extensions/feishu/src/channel.runtime.ts b/extensions/feishu/src/channel.runtime.ts index ef13b721a4ec..5a451cab5e00 100644 --- a/extensions/feishu/src/channel.runtime.ts +++ b/extensions/feishu/src/channel.runtime.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements channel behavior. import { getChatInfo as getChatInfoImpl, getChatMembers as getChatMembersImpl, diff --git a/extensions/feishu/src/channel.test.ts b/extensions/feishu/src/channel.test.ts index f457270e827d..c2a921a4df07 100644 --- a/extensions/feishu/src/channel.test.ts +++ b/extensions/feishu/src/channel.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover channel plugin behavior. import { afterAll, beforeEach, describe, expect, it, vi } from "vitest"; import type { OpenClawConfig } from "../runtime-api.js"; import { feishuPlugin } from "./channel.js"; diff --git a/extensions/feishu/src/channel.ts b/extensions/feishu/src/channel.ts index fa9a51c760de..d1a700bc9708 100644 --- a/extensions/feishu/src/channel.ts +++ b/extensions/feishu/src/channel.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements channel behavior. import { describeAccountSnapshot } from "openclaw/plugin-sdk/account-helpers"; import { formatAllowFromLowercase } from "openclaw/plugin-sdk/allow-from"; import { diff --git a/extensions/feishu/src/chat-schema.ts b/extensions/feishu/src/chat-schema.ts index 5ec3399244fe..4ffcc2d02e20 100644 --- a/extensions/feishu/src/chat-schema.ts +++ b/extensions/feishu/src/chat-schema.ts @@ -1,3 +1,4 @@ +// Feishu helper module supports chat schema behavior. import { optionalPositiveIntegerSchema } from "openclaw/plugin-sdk/channel-actions"; import { Type, type Static } from "typebox"; diff --git a/extensions/feishu/src/chat.test.ts b/extensions/feishu/src/chat.test.ts index 174dcf60c881..67563dcc62da 100644 --- a/extensions/feishu/src/chat.test.ts +++ b/extensions/feishu/src/chat.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover chat plugin behavior. import { createTestPluginApi } from "openclaw/plugin-sdk/plugin-test-api"; import { afterAll, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import type { OpenClawPluginApi, PluginRuntime } from "../runtime-api.js"; diff --git a/extensions/feishu/src/chat.ts b/extensions/feishu/src/chat.ts index 1ef85d2a3b3a..51fba809eda8 100644 --- a/extensions/feishu/src/chat.ts +++ b/extensions/feishu/src/chat.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements chat behavior. import type * as Lark from "@larksuiteoapi/node-sdk"; import { readPositiveIntegerParam } from "openclaw/plugin-sdk/param-readers"; import type { OpenClawPluginApi } from "../runtime-api.js"; diff --git a/extensions/feishu/src/client-timeout.ts b/extensions/feishu/src/client-timeout.ts index 46163c913c4e..c27d7221927f 100644 --- a/extensions/feishu/src/client-timeout.ts +++ b/extensions/feishu/src/client-timeout.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements client timeout behavior. import { parseStrictPositiveInteger } from "openclaw/plugin-sdk/number-runtime"; import type { FeishuConfig } from "./types.js"; diff --git a/extensions/feishu/src/client.test.ts b/extensions/feishu/src/client.test.ts index 965c75eb5b62..8a4ba4f2ebf0 100644 --- a/extensions/feishu/src/client.test.ts +++ b/extensions/feishu/src/client.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover client plugin behavior. import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { FeishuConfigSchema } from "./config-schema.js"; import type { ResolvedFeishuAccount } from "./types.js"; diff --git a/extensions/feishu/src/client.ts b/extensions/feishu/src/client.ts index 8060096b1a28..22b091920c2c 100644 --- a/extensions/feishu/src/client.ts +++ b/extensions/feishu/src/client.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements client behavior. import type { Agent } from "node:https"; import { createRequire } from "node:module"; import * as Lark from "@larksuiteoapi/node-sdk"; diff --git a/extensions/feishu/src/comment-dispatcher-runtime-api.ts b/extensions/feishu/src/comment-dispatcher-runtime-api.ts index 02d9cdec3872..b551c3ac891f 100644 --- a/extensions/feishu/src/comment-dispatcher-runtime-api.ts +++ b/extensions/feishu/src/comment-dispatcher-runtime-api.ts @@ -1,3 +1,4 @@ +// Feishu API module exposes the plugin public contract. export { createReplyPrefixContext, type ClawdbotConfig, diff --git a/extensions/feishu/src/comment-dispatcher.test.ts b/extensions/feishu/src/comment-dispatcher.test.ts index 8c2521f70112..9530e20542ee 100644 --- a/extensions/feishu/src/comment-dispatcher.test.ts +++ b/extensions/feishu/src/comment-dispatcher.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover comment dispatcher plugin behavior. import { afterAll, beforeEach, describe, expect, it, vi } from "vitest"; const resolveFeishuRuntimeAccountMock = vi.hoisted(() => vi.fn()); diff --git a/extensions/feishu/src/comment-dispatcher.ts b/extensions/feishu/src/comment-dispatcher.ts index f4415e3eff82..28e536417986 100644 --- a/extensions/feishu/src/comment-dispatcher.ts +++ b/extensions/feishu/src/comment-dispatcher.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements comment dispatcher behavior. import { resolveSendableOutboundReplyParts } from "openclaw/plugin-sdk/reply-payload"; import { resolveFeishuRuntimeAccount } from "./accounts.js"; import { createFeishuClient } from "./client.js"; diff --git a/extensions/feishu/src/comment-handler-runtime-api.ts b/extensions/feishu/src/comment-handler-runtime-api.ts index d8095ced566f..270a697a88d3 100644 --- a/extensions/feishu/src/comment-handler-runtime-api.ts +++ b/extensions/feishu/src/comment-handler-runtime-api.ts @@ -1,3 +1,4 @@ +// Feishu API module exposes the plugin public contract. export type { OpenClawConfig as ClawdbotConfig } from "openclaw/plugin-sdk/config-contracts"; export type { RuntimeEnv } from "openclaw/plugin-sdk/runtime"; export { createChannelPairingController } from "openclaw/plugin-sdk/channel-pairing"; diff --git a/extensions/feishu/src/comment-handler.test.ts b/extensions/feishu/src/comment-handler.test.ts index 48ba431c6252..68607b855aef 100644 --- a/extensions/feishu/src/comment-handler.test.ts +++ b/extensions/feishu/src/comment-handler.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover comment handler plugin behavior. import type { PreparedInboundReply } from "openclaw/plugin-sdk/channel-inbound"; import { afterAll, beforeEach, describe, expect, it, vi } from "vitest"; import type { ClawdbotConfig, PluginRuntime } from "../runtime-api.js"; diff --git a/extensions/feishu/src/comment-handler.ts b/extensions/feishu/src/comment-handler.ts index e6daa4252950..e27716a4ce1f 100644 --- a/extensions/feishu/src/comment-handler.ts +++ b/extensions/feishu/src/comment-handler.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements comment handler behavior. import { resolveChannelConfigWrites } from "openclaw/plugin-sdk/channel-config-writes"; import { parseStrictNonNegativeInteger } from "openclaw/plugin-sdk/number-runtime"; import type { ResolvedAgentRoute } from "openclaw/plugin-sdk/routing"; diff --git a/extensions/feishu/src/comment-reaction.test.ts b/extensions/feishu/src/comment-reaction.test.ts index 30c77028b2c5..21d2bb3e6bba 100644 --- a/extensions/feishu/src/comment-reaction.test.ts +++ b/extensions/feishu/src/comment-reaction.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover comment reaction plugin behavior. import { afterAll, beforeEach, describe, expect, it, vi } from "vitest"; import type { ClawdbotConfig } from "../runtime-api.js"; import { diff --git a/extensions/feishu/src/comment-reaction.ts b/extensions/feishu/src/comment-reaction.ts index 8725522a0b06..5bb990fa2da2 100644 --- a/extensions/feishu/src/comment-reaction.ts +++ b/extensions/feishu/src/comment-reaction.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements comment reaction behavior. import type { ClawdbotConfig, RuntimeEnv } from "../runtime-api.js"; import { resolveFeishuRuntimeAccount } from "./accounts.js"; import { createFeishuClient } from "./client.js"; diff --git a/extensions/feishu/src/comment-shared.test.ts b/extensions/feishu/src/comment-shared.test.ts index 66a8daffc07e..c44e3db14ce6 100644 --- a/extensions/feishu/src/comment-shared.test.ts +++ b/extensions/feishu/src/comment-shared.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover comment shared plugin behavior. import { describe, expect, it } from "vitest"; import { parseCommentContentElements, diff --git a/extensions/feishu/src/comment-shared.ts b/extensions/feishu/src/comment-shared.ts index 31b67f3b8f3f..6cadb9b03440 100644 --- a/extensions/feishu/src/comment-shared.ts +++ b/extensions/feishu/src/comment-shared.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements comment shared behavior. import { isRecord as sharedIsRecord, normalizeOptionalString, diff --git a/extensions/feishu/src/comment-target.ts b/extensions/feishu/src/comment-target.ts index bde952d8e21e..332afa84d8f1 100644 --- a/extensions/feishu/src/comment-target.ts +++ b/extensions/feishu/src/comment-target.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements comment target behavior. export const FEISHU_COMMENT_FILE_TYPES = ["doc", "docx", "file", "sheet", "slides"] as const; export type CommentFileType = (typeof FEISHU_COMMENT_FILE_TYPES)[number]; diff --git a/extensions/feishu/src/config-schema.test.ts b/extensions/feishu/src/config-schema.test.ts index 7714d5d0b760..8bbf9340e45f 100644 --- a/extensions/feishu/src/config-schema.test.ts +++ b/extensions/feishu/src/config-schema.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover config schema plugin behavior. import { describe, expect, it } from "vitest"; import { FeishuConfigSchema, FeishuGroupSchema } from "./config-schema.js"; diff --git a/extensions/feishu/src/config-schema.ts b/extensions/feishu/src/config-schema.ts index 8de938931059..5cffd984eb4b 100644 --- a/extensions/feishu/src/config-schema.ts +++ b/extensions/feishu/src/config-schema.ts @@ -1,3 +1,4 @@ +// Feishu helper module supports config schema behavior. import { normalizeAccountId } from "openclaw/plugin-sdk/account-id"; import { z } from "zod"; export { z }; diff --git a/extensions/feishu/src/conversation-id.test.ts b/extensions/feishu/src/conversation-id.test.ts index 2411d884610e..3607e950789c 100644 --- a/extensions/feishu/src/conversation-id.test.ts +++ b/extensions/feishu/src/conversation-id.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover conversation id plugin behavior. import { describe, expect, it } from "vitest"; import { buildFeishuModelOverrideParentCandidates } from "./conversation-id.js"; diff --git a/extensions/feishu/src/conversation-id.ts b/extensions/feishu/src/conversation-id.ts index 29217347c2bb..574df43767fb 100644 --- a/extensions/feishu/src/conversation-id.ts +++ b/extensions/feishu/src/conversation-id.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements conversation id behavior. import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime"; export type FeishuGroupSessionScope = diff --git a/extensions/feishu/src/dedup-migrations.test.ts b/extensions/feishu/src/dedup-migrations.test.ts index 5c1e6819bab9..711abfb36586 100644 --- a/extensions/feishu/src/dedup-migrations.test.ts +++ b/extensions/feishu/src/dedup-migrations.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover dedup migrations plugin behavior. import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/feishu/src/dedup-migrations.ts b/extensions/feishu/src/dedup-migrations.ts index 6e7b1ccc1b9a..14b674f4cb31 100644 --- a/extensions/feishu/src/dedup-migrations.ts +++ b/extensions/feishu/src/dedup-migrations.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements dedup migrations behavior. import { createHash } from "node:crypto"; import fs from "node:fs"; import path from "node:path"; diff --git a/extensions/feishu/src/dedup.test.ts b/extensions/feishu/src/dedup.test.ts index 6fc57f4ef4d3..152592fac8ce 100644 --- a/extensions/feishu/src/dedup.test.ts +++ b/extensions/feishu/src/dedup.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover dedup plugin behavior. import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/feishu/src/dedup.ts b/extensions/feishu/src/dedup.ts index dc9bf1486343..a5296e85aaaa 100644 --- a/extensions/feishu/src/dedup.ts +++ b/extensions/feishu/src/dedup.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements dedup behavior. import { createHash } from "node:crypto"; import type { PluginStateSyncKeyedStore } from "openclaw/plugin-sdk/plugin-state-runtime"; import { diff --git a/extensions/feishu/src/dedupe-key.ts b/extensions/feishu/src/dedupe-key.ts index 663fe6fedf0d..0b61d616bc39 100644 --- a/extensions/feishu/src/dedupe-key.ts +++ b/extensions/feishu/src/dedupe-key.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements dedupe key behavior. import { asNullableRecord as readRecord } from "openclaw/plugin-sdk/string-coerce-runtime"; import type { FeishuMessageEvent } from "./event-types.js"; import { normalizeFeishuExternalKey } from "./external-keys.js"; diff --git a/extensions/feishu/src/directory.static.ts b/extensions/feishu/src/directory.static.ts index 643d12ae6bc0..8ed87d6ddc39 100644 --- a/extensions/feishu/src/directory.static.ts +++ b/extensions/feishu/src/directory.static.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements directory.static behavior. import { listDirectoryGroupEntriesFromMapKeysAndAllowFrom, listDirectoryUserEntriesFromAllowFromAndMapKeys, diff --git a/extensions/feishu/src/directory.test.ts b/extensions/feishu/src/directory.test.ts index d8a3432bcdcc..094f08387a1c 100644 --- a/extensions/feishu/src/directory.test.ts +++ b/extensions/feishu/src/directory.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover directory plugin behavior. import { importFreshModule } from "openclaw/plugin-sdk/test-fixtures"; import { afterAll, beforeEach, describe, expect, it, vi } from "vitest"; import type { ClawdbotConfig } from "../runtime-api.js"; diff --git a/extensions/feishu/src/directory.ts b/extensions/feishu/src/directory.ts index 8d9945c7dcdb..880b0ad1a26f 100644 --- a/extensions/feishu/src/directory.ts +++ b/extensions/feishu/src/directory.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements directory behavior. import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime"; import type { ClawdbotConfig } from "../runtime-api.js"; import { resolveFeishuAccount } from "./accounts.js"; diff --git a/extensions/feishu/src/doc-schema.ts b/extensions/feishu/src/doc-schema.ts index 837b281f369c..88a8e0a9cdc3 100644 --- a/extensions/feishu/src/doc-schema.ts +++ b/extensions/feishu/src/doc-schema.ts @@ -1,3 +1,4 @@ +// Feishu helper module supports doc schema behavior. import { Type, type Static } from "typebox"; const tableCreationProperties = { diff --git a/extensions/feishu/src/doctor.test.ts b/extensions/feishu/src/doctor.test.ts index 0dc562f09561..558cd712cbb9 100644 --- a/extensions/feishu/src/doctor.test.ts +++ b/extensions/feishu/src/doctor.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover doctor plugin behavior. import fs from "node:fs"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/feishu/src/doctor.ts b/extensions/feishu/src/doctor.ts index 1c27e2575acb..48c7880713ce 100644 --- a/extensions/feishu/src/doctor.ts +++ b/extensions/feishu/src/doctor.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements doctor behavior. import fs from "node:fs"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/feishu/src/docx-batch-insert.test.ts b/extensions/feishu/src/docx-batch-insert.test.ts index 605ffccdcc42..d87f434c7cab 100644 --- a/extensions/feishu/src/docx-batch-insert.test.ts +++ b/extensions/feishu/src/docx-batch-insert.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover docx batch insert plugin behavior. import type * as Lark from "@larksuiteoapi/node-sdk"; import { describe, expect, it, vi } from "vitest"; import { BATCH_SIZE, insertBlocksInBatches } from "./docx-batch-insert.js"; diff --git a/extensions/feishu/src/docx-table-ops.test.ts b/extensions/feishu/src/docx-table-ops.test.ts index 1b1432bef749..2a23eeda5594 100644 --- a/extensions/feishu/src/docx-table-ops.test.ts +++ b/extensions/feishu/src/docx-table-ops.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover docx table ops plugin behavior. import { describe, expect, it } from "vitest"; import { cleanBlocksForDescendant } from "./docx-table-ops.js"; diff --git a/extensions/feishu/src/docx-types.ts b/extensions/feishu/src/docx-types.ts index 686f48d558c7..c79feb49eaed 100644 --- a/extensions/feishu/src/docx-types.ts +++ b/extensions/feishu/src/docx-types.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements docx types behavior. type FeishuBlockText = { elements?: Array<{ text_run?: { diff --git a/extensions/feishu/src/docx.account-selection.test.ts b/extensions/feishu/src/docx.account-selection.test.ts index b21c0ae739d3..5b4aac0a4d11 100644 --- a/extensions/feishu/src/docx.account-selection.test.ts +++ b/extensions/feishu/src/docx.account-selection.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover docx.account selection plugin behavior. import { afterAll, beforeAll, beforeEach, describe, expect, test, vi } from "vitest"; import type { OpenClawPluginApi } from "../runtime-api.js"; import { createToolFactoryHarness } from "./tool-factory-test-harness.js"; diff --git a/extensions/feishu/src/docx.test.ts b/extensions/feishu/src/docx.test.ts index 446a4a343740..65ef287e8aff 100644 --- a/extensions/feishu/src/docx.test.ts +++ b/extensions/feishu/src/docx.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover docx plugin behavior. import { mkdirSync, rmSync, writeFileSync } from "node:fs"; import path from "node:path"; import { afterAll, beforeEach, describe, expect, it, vi } from "vitest"; diff --git a/extensions/feishu/src/docx.ts b/extensions/feishu/src/docx.ts index 744ed0d2ee4e..3ac3104143f8 100644 --- a/extensions/feishu/src/docx.ts +++ b/extensions/feishu/src/docx.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements docx behavior. import { existsSync } from "node:fs"; import { homedir } from "node:os"; import { isAbsolute, resolve } from "node:path"; diff --git a/extensions/feishu/src/drive-schema.ts b/extensions/feishu/src/drive-schema.ts index 9a468cb04dc8..3173477e6ef4 100644 --- a/extensions/feishu/src/drive-schema.ts +++ b/extensions/feishu/src/drive-schema.ts @@ -1,3 +1,4 @@ +// Feishu helper module supports drive schema behavior. import { Type, type Static } from "typebox"; const FileType = Type.Union([ diff --git a/extensions/feishu/src/drive.test.ts b/extensions/feishu/src/drive.test.ts index 0e9dcb00cceb..99a041ed8a1a 100644 --- a/extensions/feishu/src/drive.test.ts +++ b/extensions/feishu/src/drive.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover drive plugin behavior. import { createTestPluginApi } from "openclaw/plugin-sdk/plugin-test-api"; import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import type { OpenClawPluginApi, PluginRuntime } from "../runtime-api.js"; diff --git a/extensions/feishu/src/drive.ts b/extensions/feishu/src/drive.ts index 0d0606b10cf0..4c5ae0b4cfe2 100644 --- a/extensions/feishu/src/drive.ts +++ b/extensions/feishu/src/drive.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements drive behavior. import type * as Lark from "@larksuiteoapi/node-sdk"; import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime"; import type { OpenClawPluginApi } from "../runtime-api.js"; diff --git a/extensions/feishu/src/dynamic-agent.test.ts b/extensions/feishu/src/dynamic-agent.test.ts index dc1da1fe4460..4b6f5896e3d0 100644 --- a/extensions/feishu/src/dynamic-agent.test.ts +++ b/extensions/feishu/src/dynamic-agent.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover dynamic agent plugin behavior. import fs from "node:fs"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/feishu/src/dynamic-agent.ts b/extensions/feishu/src/dynamic-agent.ts index 76afb12990dc..530d5c6e5346 100644 --- a/extensions/feishu/src/dynamic-agent.ts +++ b/extensions/feishu/src/dynamic-agent.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements dynamic agent behavior. import fs from "node:fs"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/feishu/src/event-types.ts b/extensions/feishu/src/event-types.ts index c806335b315f..924e0538635c 100644 --- a/extensions/feishu/src/event-types.ts +++ b/extensions/feishu/src/event-types.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements event types behavior. export type FeishuMessageEvent = { sender: { sender_id: { diff --git a/extensions/feishu/src/external-keys.test.ts b/extensions/feishu/src/external-keys.test.ts index 69acdcb0d7bd..43436bb308b9 100644 --- a/extensions/feishu/src/external-keys.test.ts +++ b/extensions/feishu/src/external-keys.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover external keys plugin behavior. import { describe, expect, it } from "vitest"; import { normalizeFeishuExternalKey } from "./external-keys.js"; diff --git a/extensions/feishu/src/external-keys.ts b/extensions/feishu/src/external-keys.ts index 79e861aabb95..43e6750762f6 100644 --- a/extensions/feishu/src/external-keys.ts +++ b/extensions/feishu/src/external-keys.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements external keys behavior. const CONTROL_CHARS_RE = /\p{Cc}/u; const MAX_EXTERNAL_KEY_LENGTH = 512; diff --git a/extensions/feishu/src/lifecycle.test-support.ts b/extensions/feishu/src/lifecycle.test-support.ts index 1767abde5448..a48a9634ccdc 100644 --- a/extensions/feishu/src/lifecycle.test-support.ts +++ b/extensions/feishu/src/lifecycle.test-support.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements lifecycle support behavior. import { vi, type Mock } from "vitest"; type BoundConversation = { diff --git a/extensions/feishu/src/media.test.ts b/extensions/feishu/src/media.test.ts index dca52ee73c1a..9d74bd16379f 100644 --- a/extensions/feishu/src/media.test.ts +++ b/extensions/feishu/src/media.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover media plugin behavior. import { realpathSync } from "node:fs"; import fs from "node:fs/promises"; import os from "node:os"; diff --git a/extensions/feishu/src/media.ts b/extensions/feishu/src/media.ts index 0e95319c2dc8..c40e86b30832 100644 --- a/extensions/feishu/src/media.ts +++ b/extensions/feishu/src/media.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements media behavior. import fs from "node:fs"; import path from "node:path"; import { Readable } from "node:stream"; diff --git a/extensions/feishu/src/mention-target.types.ts b/extensions/feishu/src/mention-target.types.ts index b87f8b09938c..8a39933c387f 100644 --- a/extensions/feishu/src/mention-target.types.ts +++ b/extensions/feishu/src/mention-target.types.ts @@ -1,3 +1,4 @@ +// Feishu type declarations define plugin contracts. export type MentionTarget = { openId: string; name: string; diff --git a/extensions/feishu/src/mention.ts b/extensions/feishu/src/mention.ts index 1b7de953e543..9f1e7f7eac24 100644 --- a/extensions/feishu/src/mention.ts +++ b/extensions/feishu/src/mention.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements mention behavior. import type { FeishuMessageEvent } from "./event-types.js"; import type { MentionTarget } from "./mention-target.types.js"; import { isFeishuGroupChatType } from "./types.js"; diff --git a/extensions/feishu/src/message-action-contract.ts b/extensions/feishu/src/message-action-contract.ts index c8efe69a6e9d..cda2185cd50c 100644 --- a/extensions/feishu/src/message-action-contract.ts +++ b/extensions/feishu/src/message-action-contract.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements message action contract behavior. import type { ChannelMessageActionName } from "openclaw/plugin-sdk/channel-contract"; type MessageActionTargetAliasSpec = { diff --git a/extensions/feishu/src/monitor-state-runtime-api.ts b/extensions/feishu/src/monitor-state-runtime-api.ts index 90d7eacec18d..a945e3f4f6e0 100644 --- a/extensions/feishu/src/monitor-state-runtime-api.ts +++ b/extensions/feishu/src/monitor-state-runtime-api.ts @@ -1,3 +1,4 @@ +// Feishu API module exposes the plugin public contract. export type { RuntimeEnv } from "../runtime-api.js"; export { createFixedWindowRateLimiter, diff --git a/extensions/feishu/src/monitor-transport-runtime-api.ts b/extensions/feishu/src/monitor-transport-runtime-api.ts index 9aa2efa9c2f4..ca62b202b3f5 100644 --- a/extensions/feishu/src/monitor-transport-runtime-api.ts +++ b/extensions/feishu/src/monitor-transport-runtime-api.ts @@ -1,3 +1,4 @@ +// Feishu API module exposes the plugin public contract. export type { RuntimeEnv } from "../runtime-api.js"; export { safeEqualSecret } from "openclaw/plugin-sdk/security-runtime"; export { diff --git a/extensions/feishu/src/monitor.account.ts b/extensions/feishu/src/monitor.account.ts index 927cae0665cf..169c36e65d6f 100644 --- a/extensions/feishu/src/monitor.account.ts +++ b/extensions/feishu/src/monitor.account.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements monitor.account behavior. import * as crypto from "node:crypto"; import type * as Lark from "@larksuiteoapi/node-sdk"; import type { ClawdbotConfig, PluginRuntime, RuntimeEnv, HistoryEntry } from "../runtime-api.js"; diff --git a/extensions/feishu/src/monitor.acp-init-failure.lifecycle.test-support.ts b/extensions/feishu/src/monitor.acp-init-failure.lifecycle.test-support.ts index e429113db4ba..dbee704f5fa9 100644 --- a/extensions/feishu/src/monitor.acp-init-failure.lifecycle.test-support.ts +++ b/extensions/feishu/src/monitor.acp-init-failure.lifecycle.test-support.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements monitor.acp init failure.lifecycle support behavior. import "./lifecycle.test-support.js"; import { createRuntimeEnv } from "openclaw/plugin-sdk/plugin-test-runtime"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; diff --git a/extensions/feishu/src/monitor.bot-identity.ts b/extensions/feishu/src/monitor.bot-identity.ts index 61fc3bf18357..feced5083adb 100644 --- a/extensions/feishu/src/monitor.bot-identity.ts +++ b/extensions/feishu/src/monitor.bot-identity.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements monitor.bot identity behavior. import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime"; import type { RuntimeEnv } from "../runtime-api.js"; import { waitForAbortableDelay } from "./async.js"; diff --git a/extensions/feishu/src/monitor.bot-menu-handler.ts b/extensions/feishu/src/monitor.bot-menu-handler.ts index 3ce392ae15b6..1dbc91f15ab2 100644 --- a/extensions/feishu/src/monitor.bot-menu-handler.ts +++ b/extensions/feishu/src/monitor.bot-menu-handler.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements monitor.bot menu handler behavior. import { isRecord, readStringValue as readString } from "openclaw/plugin-sdk/string-coerce-runtime"; import type { ClawdbotConfig, HistoryEntry, PluginRuntime, RuntimeEnv } from "../runtime-api.js"; import { handleFeishuMessage, type FeishuMessageEvent } from "./bot.js"; diff --git a/extensions/feishu/src/monitor.bot-menu.lifecycle.test-support.ts b/extensions/feishu/src/monitor.bot-menu.lifecycle.test-support.ts index 5e50671b1953..f5a569f60057 100644 --- a/extensions/feishu/src/monitor.bot-menu.lifecycle.test-support.ts +++ b/extensions/feishu/src/monitor.bot-menu.lifecycle.test-support.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements monitor.bot menu.lifecycle support behavior. import { createRuntimeEnv } from "openclaw/plugin-sdk/plugin-test-runtime"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import "./lifecycle.test-support.js"; diff --git a/extensions/feishu/src/monitor.bot-menu.test.ts b/extensions/feishu/src/monitor.bot-menu.test.ts index 8fca3e3d6a8a..05c7df3491a9 100644 --- a/extensions/feishu/src/monitor.bot-menu.test.ts +++ b/extensions/feishu/src/monitor.bot-menu.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover monitor.bot menu plugin behavior. import { afterAll, afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import type { ClawdbotConfig, RuntimeEnv } from "../runtime-api.js"; import { expectFirstSentCardUsesFillWidthOnly } from "./card-test-helpers.js"; diff --git a/extensions/feishu/src/monitor.broadcast.reply-once.lifecycle.test-support.ts b/extensions/feishu/src/monitor.broadcast.reply-once.lifecycle.test-support.ts index 75539db2a160..0fabbc12647c 100644 --- a/extensions/feishu/src/monitor.broadcast.reply-once.lifecycle.test-support.ts +++ b/extensions/feishu/src/monitor.broadcast.reply-once.lifecycle.test-support.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements monitor.broadcast.reply once.lifecycle support behavior. import "./lifecycle.test-support.js"; import { createNonExitingRuntimeEnv } from "openclaw/plugin-sdk/plugin-test-runtime"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; diff --git a/extensions/feishu/src/monitor.card-action.lifecycle.test-support.ts b/extensions/feishu/src/monitor.card-action.lifecycle.test-support.ts index 58d464d8f938..53b57fc50432 100644 --- a/extensions/feishu/src/monitor.card-action.lifecycle.test-support.ts +++ b/extensions/feishu/src/monitor.card-action.lifecycle.test-support.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements monitor.card action.lifecycle support behavior. import { createRuntimeEnv } from "openclaw/plugin-sdk/plugin-test-runtime"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import "./lifecycle.test-support.js"; diff --git a/extensions/feishu/src/monitor.cleanup.test.ts b/extensions/feishu/src/monitor.cleanup.test.ts index da3e8652dbab..bca10f4668f6 100644 --- a/extensions/feishu/src/monitor.cleanup.test.ts +++ b/extensions/feishu/src/monitor.cleanup.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover monitor.cleanup plugin behavior. import { afterAll, afterEach, describe, expect, it, vi } from "vitest"; import { botNames, botOpenIds, stopFeishuMonitorState, wsClients } from "./monitor.state.js"; import type { ResolvedFeishuAccount } from "./types.js"; diff --git a/extensions/feishu/src/monitor.comment-notice-handler.ts b/extensions/feishu/src/monitor.comment-notice-handler.ts index ed4ab6a43209..413a3da51a07 100644 --- a/extensions/feishu/src/monitor.comment-notice-handler.ts +++ b/extensions/feishu/src/monitor.comment-notice-handler.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements monitor.comment notice handler behavior. import type { ClawdbotConfig, RuntimeEnv } from "../runtime-api.js"; import { handleFeishuCommentEvent } from "./comment-handler.js"; import { diff --git a/extensions/feishu/src/monitor.comment.test.ts b/extensions/feishu/src/monitor.comment.test.ts index 03e8ddd0d51a..4af189add8c2 100644 --- a/extensions/feishu/src/monitor.comment.test.ts +++ b/extensions/feishu/src/monitor.comment.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover monitor.comment plugin behavior. import { createNonExitingRuntimeEnv } from "openclaw/plugin-sdk/plugin-test-runtime"; import { afterAll, afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import type { ClawdbotConfig } from "../runtime-api.js"; diff --git a/extensions/feishu/src/monitor.comment.ts b/extensions/feishu/src/monitor.comment.ts index ec8eddcd921c..7faaede296e3 100644 --- a/extensions/feishu/src/monitor.comment.ts +++ b/extensions/feishu/src/monitor.comment.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements monitor.comment behavior. import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime"; import { asBoolean as readBoolean } from "openclaw/plugin-sdk/string-coerce-runtime"; import type { ClawdbotConfig } from "../runtime-api.js"; diff --git a/extensions/feishu/src/monitor.lifecycle.test.ts b/extensions/feishu/src/monitor.lifecycle.test.ts index 29eed91abcf1..07cf97f2ded5 100644 --- a/extensions/feishu/src/monitor.lifecycle.test.ts +++ b/extensions/feishu/src/monitor.lifecycle.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover monitor.lifecycle plugin behavior. import "./monitor.acp-init-failure.lifecycle.test-support.js"; import "./monitor.bot-menu.lifecycle.test-support.js"; import "./monitor.broadcast.reply-once.lifecycle.test-support.js"; diff --git a/extensions/feishu/src/monitor.message-handler.ts b/extensions/feishu/src/monitor.message-handler.ts index 6bd43f0db9dd..624f40673cbd 100644 --- a/extensions/feishu/src/monitor.message-handler.ts +++ b/extensions/feishu/src/monitor.message-handler.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements monitor.message handler behavior. import { isRecord, readStringValue as readString } from "openclaw/plugin-sdk/string-coerce-runtime"; import type { ClawdbotConfig, HistoryEntry, PluginRuntime, RuntimeEnv } from "../runtime-api.js"; import { resolveFeishuMessageDedupeKey } from "./dedupe-key.js"; diff --git a/extensions/feishu/src/monitor.reaction.test.ts b/extensions/feishu/src/monitor.reaction.test.ts index 99a35bdc0cbe..505da2fa804d 100644 --- a/extensions/feishu/src/monitor.reaction.test.ts +++ b/extensions/feishu/src/monitor.reaction.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover monitor.reaction plugin behavior. import { createInboundDebouncer, resolveInboundDebounceMs, diff --git a/extensions/feishu/src/monitor.startup.test.ts b/extensions/feishu/src/monitor.startup.test.ts index c921200b6f42..bb130f18d398 100644 --- a/extensions/feishu/src/monitor.startup.test.ts +++ b/extensions/feishu/src/monitor.startup.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover monitor.startup plugin behavior. import { createNonExitingRuntimeEnv } from "openclaw/plugin-sdk/plugin-test-runtime"; import { afterAll, afterEach, beforeAll, describe, expect, it, vi } from "vitest"; import type { ClawdbotConfig } from "../runtime-api.js"; diff --git a/extensions/feishu/src/monitor.startup.ts b/extensions/feishu/src/monitor.startup.ts index eeaf417fb05b..345bd4f5a534 100644 --- a/extensions/feishu/src/monitor.startup.ts +++ b/extensions/feishu/src/monitor.startup.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements monitor.startup behavior. import { parseStrictPositiveInteger } from "openclaw/plugin-sdk/number-runtime"; import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime"; import type { RuntimeEnv } from "../runtime-api.js"; diff --git a/extensions/feishu/src/monitor.state.defaults.test.ts b/extensions/feishu/src/monitor.state.defaults.test.ts index 1fa4be409477..9593cc1bbe8d 100644 --- a/extensions/feishu/src/monitor.state.defaults.test.ts +++ b/extensions/feishu/src/monitor.state.defaults.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover monitor.stateefaults plugin behavior. import { describe, expect, it } from "vitest"; import { resolveFeishuWebhookAnomalyDefaultsForTest, diff --git a/extensions/feishu/src/monitor.state.ts b/extensions/feishu/src/monitor.state.ts index 63a439554c74..645737ce5a7b 100644 --- a/extensions/feishu/src/monitor.state.ts +++ b/extensions/feishu/src/monitor.state.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements monitor.state behavior. import * as http from "node:http"; import type * as Lark from "@larksuiteoapi/node-sdk"; import { diff --git a/extensions/feishu/src/monitor.synthetic-error.ts b/extensions/feishu/src/monitor.synthetic-error.ts index 873adb14cfd8..b9ff0e098786 100644 --- a/extensions/feishu/src/monitor.synthetic-error.ts +++ b/extensions/feishu/src/monitor.synthetic-error.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements monitor.synthetic error behavior. export class FeishuRetryableSyntheticEventError extends Error { constructor(message: string, options?: ErrorOptions) { super(message, options); diff --git a/extensions/feishu/src/monitor.test-mocks.ts b/extensions/feishu/src/monitor.test-mocks.ts index f15dabea0877..894a3f1a76a6 100644 --- a/extensions/feishu/src/monitor.test-mocks.ts +++ b/extensions/feishu/src/monitor.test-mocks.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements monitor mocks behavior. import { vi } from "vitest"; export function createFeishuClientMockModule(): { diff --git a/extensions/feishu/src/monitor.transport.ts b/extensions/feishu/src/monitor.transport.ts index 438066e393a6..0ebfb0d45fc7 100644 --- a/extensions/feishu/src/monitor.transport.ts +++ b/extensions/feishu/src/monitor.transport.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements monitor.transport behavior. import crypto from "node:crypto"; import * as http from "node:http"; import * as Lark from "@larksuiteoapi/node-sdk"; diff --git a/extensions/feishu/src/monitor.ts b/extensions/feishu/src/monitor.ts index f75839c75650..c22d48e35f64 100644 --- a/extensions/feishu/src/monitor.ts +++ b/extensions/feishu/src/monitor.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements monitor behavior. import type { ClawdbotConfig, PluginRuntime, RuntimeEnv } from "../runtime-api.js"; import { listEnabledFeishuAccounts, resolveFeishuRuntimeAccount } from "./accounts.js"; import { fetchBotIdentityForMonitor } from "./monitor.startup.js"; diff --git a/extensions/feishu/src/monitor.webhook-e2e.test.ts b/extensions/feishu/src/monitor.webhook-e2e.test.ts index 80a6f8cc7005..df0e63b70e97 100644 --- a/extensions/feishu/src/monitor.webhook-e2e.test.ts +++ b/extensions/feishu/src/monitor.webhook-e2e.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover monitor.webhook e2e plugin behavior. import crypto from "node:crypto"; import { afterAll, afterEach, beforeAll, describe, expect, it, vi } from "vitest"; import { createFeishuRuntimeMockModule } from "./monitor.test-mocks.js"; diff --git a/extensions/feishu/src/monitor.webhook-security.test.ts b/extensions/feishu/src/monitor.webhook-security.test.ts index 528d4f146cd7..21a0c2f81ca1 100644 --- a/extensions/feishu/src/monitor.webhook-security.test.ts +++ b/extensions/feishu/src/monitor.webhook-security.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover monitor.webhook security plugin behavior. import type { IncomingMessage } from "node:http"; import { createConnection } from "node:net"; import { afterAll, afterEach, beforeAll, describe, expect, it, vi } from "vitest"; diff --git a/extensions/feishu/src/monitor.webhook.test-helpers.ts b/extensions/feishu/src/monitor.webhook.test-helpers.ts index 6edfd76304b7..2943f038ad85 100644 --- a/extensions/feishu/src/monitor.webhook.test-helpers.ts +++ b/extensions/feishu/src/monitor.webhook.test-helpers.ts @@ -1,3 +1,4 @@ +// Feishu helper module supports monitor.webhook helpers behavior. import { createServer } from "node:http"; import type { AddressInfo } from "node:net"; import { diff --git a/extensions/feishu/src/outbound-runtime-api.ts b/extensions/feishu/src/outbound-runtime-api.ts index a22f29964f1d..2f46051b729e 100644 --- a/extensions/feishu/src/outbound-runtime-api.ts +++ b/extensions/feishu/src/outbound-runtime-api.ts @@ -1 +1,2 @@ +// Feishu API module exposes the plugin public contract. export { chunkTextForOutbound, type ChannelOutboundAdapter } from "../runtime-api.js"; diff --git a/extensions/feishu/src/outbound.test.ts b/extensions/feishu/src/outbound.test.ts index f55fae964ab6..005c264b8aad 100644 --- a/extensions/feishu/src/outbound.test.ts +++ b/extensions/feishu/src/outbound.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover outbound plugin behavior. import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/feishu/src/outbound.ts b/extensions/feishu/src/outbound.ts index 873b8b158591..7ce5d3ddba68 100644 --- a/extensions/feishu/src/outbound.ts +++ b/extensions/feishu/src/outbound.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements outbound behavior. import path from "node:path"; import { attachChannelToResult, diff --git a/extensions/feishu/src/perm-schema.ts b/extensions/feishu/src/perm-schema.ts index 9724a7ac9af1..6982142da00c 100644 --- a/extensions/feishu/src/perm-schema.ts +++ b/extensions/feishu/src/perm-schema.ts @@ -1,3 +1,4 @@ +// Feishu helper module supports perm schema behavior. import { Type, type Static } from "typebox"; const TokenType = Type.Union([ diff --git a/extensions/feishu/src/perm.ts b/extensions/feishu/src/perm.ts index 4d7019e757ee..53698c8790b3 100644 --- a/extensions/feishu/src/perm.ts +++ b/extensions/feishu/src/perm.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements perm behavior. import type * as Lark from "@larksuiteoapi/node-sdk"; import type { OpenClawPluginApi } from "../runtime-api.js"; import { listEnabledFeishuAccounts } from "./accounts.js"; diff --git a/extensions/feishu/src/pins.ts b/extensions/feishu/src/pins.ts index ed465d1b3dbb..72086484cbf3 100644 --- a/extensions/feishu/src/pins.ts +++ b/extensions/feishu/src/pins.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements pins behavior. import type { ClawdbotConfig } from "../runtime-api.js"; import { resolveFeishuRuntimeAccount } from "./accounts.js"; import { createFeishuClient } from "./client.js"; diff --git a/extensions/feishu/src/policy.test.ts b/extensions/feishu/src/policy.test.ts index ff4579d0bb91..1ab849324405 100644 --- a/extensions/feishu/src/policy.test.ts +++ b/extensions/feishu/src/policy.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover policy plugin behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/core"; import { describe, expect, it } from "vitest"; import { FeishuConfigSchema } from "./config-schema.js"; diff --git a/extensions/feishu/src/policy.ts b/extensions/feishu/src/policy.ts index 65dbfa52d3c5..ebbed2b9213b 100644 --- a/extensions/feishu/src/policy.ts +++ b/extensions/feishu/src/policy.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements policy behavior. import { normalizeAccountId, resolveMergedAccountConfig, diff --git a/extensions/feishu/src/post.test.ts b/extensions/feishu/src/post.test.ts index 5b3995468207..ccd974c1610c 100644 --- a/extensions/feishu/src/post.test.ts +++ b/extensions/feishu/src/post.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover post plugin behavior. import { describe, expect, it } from "vitest"; import { parsePostContent } from "./post.js"; diff --git a/extensions/feishu/src/post.ts b/extensions/feishu/src/post.ts index 721881962fce..ad102ecbbb0b 100644 --- a/extensions/feishu/src/post.ts +++ b/extensions/feishu/src/post.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements post behavior. import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime"; import { isRecord } from "./comment-shared.js"; import { normalizeFeishuExternalKey } from "./external-keys.js"; diff --git a/extensions/feishu/src/presentation-card.ts b/extensions/feishu/src/presentation-card.ts index f1662044c59d..e9b918218fef 100644 --- a/extensions/feishu/src/presentation-card.ts +++ b/extensions/feishu/src/presentation-card.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements presentation card behavior. import { normalizeMessagePresentation, renderMessagePresentationFallbackText, diff --git a/extensions/feishu/src/probe.test.ts b/extensions/feishu/src/probe.test.ts index 787048aeea73..384125418b0d 100644 --- a/extensions/feishu/src/probe.test.ts +++ b/extensions/feishu/src/probe.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover probe plugin behavior. import { afterAll, afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import { clearProbeCache, FEISHU_PROBE_REQUEST_TIMEOUT_MS, probeFeishu } from "./probe.js"; diff --git a/extensions/feishu/src/probe.ts b/extensions/feishu/src/probe.ts index 7a4ec424015f..5b1ddcb7a06b 100644 --- a/extensions/feishu/src/probe.ts +++ b/extensions/feishu/src/probe.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements probe behavior. import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime"; import { asDateTimestampMs, diff --git a/extensions/feishu/src/processing-claims.ts b/extensions/feishu/src/processing-claims.ts index f718622bf5e7..0ee8c8c46a98 100644 --- a/extensions/feishu/src/processing-claims.ts +++ b/extensions/feishu/src/processing-claims.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements processing claims behavior. const EVENT_DEDUP_TTL_MS = 5 * 60 * 1000; const EVENT_MEMORY_MAX_SIZE = 2_000; diff --git a/extensions/feishu/src/qr-terminal.ts b/extensions/feishu/src/qr-terminal.ts index f8aa1b9b6c1d..b2fa209b2d21 100644 --- a/extensions/feishu/src/qr-terminal.ts +++ b/extensions/feishu/src/qr-terminal.ts @@ -1 +1,2 @@ +// Feishu plugin module implements qr terminal behavior. export { renderQrTerminal } from "openclaw/plugin-sdk/media-runtime"; diff --git a/extensions/feishu/src/reactions.ts b/extensions/feishu/src/reactions.ts index 863471b24396..b5de88ed508d 100644 --- a/extensions/feishu/src/reactions.ts +++ b/extensions/feishu/src/reactions.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements reactions behavior. import type { ClawdbotConfig } from "../runtime-api.js"; import { resolveFeishuRuntimeAccount } from "./accounts.js"; import { createFeishuClient } from "./client.js"; diff --git a/extensions/feishu/src/reasoning-preview.test.ts b/extensions/feishu/src/reasoning-preview.test.ts index 49f6b8e798c1..5ef967918ff9 100644 --- a/extensions/feishu/src/reasoning-preview.test.ts +++ b/extensions/feishu/src/reasoning-preview.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover reasoning preview plugin behavior. import { afterAll, beforeEach, describe, expect, it, vi } from "vitest"; import type { ClawdbotConfig } from "./bot-runtime-api.js"; import { resolveFeishuReasoningPreviewEnabled } from "./reasoning-preview.js"; diff --git a/extensions/feishu/src/reasoning-preview.ts b/extensions/feishu/src/reasoning-preview.ts index 93ecccc4591a..e38e49a7f82f 100644 --- a/extensions/feishu/src/reasoning-preview.ts +++ b/extensions/feishu/src/reasoning-preview.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements reasoning preview behavior. import { resolveFeishuConfigReasoningDefault } from "./agent-config.js"; import { loadSessionStore, resolveSessionStoreEntry } from "./bot-runtime-api.js"; import type { ClawdbotConfig } from "./bot-runtime-api.js"; diff --git a/extensions/feishu/src/reply-dispatcher-runtime-api.ts b/extensions/feishu/src/reply-dispatcher-runtime-api.ts index 90a5b1b94e6e..b58eba1425bb 100644 --- a/extensions/feishu/src/reply-dispatcher-runtime-api.ts +++ b/extensions/feishu/src/reply-dispatcher-runtime-api.ts @@ -1,3 +1,4 @@ +// Feishu API module exposes the plugin public contract. export { createReplyPrefixContext, type ClawdbotConfig, diff --git a/extensions/feishu/src/reply-dispatcher.test.ts b/extensions/feishu/src/reply-dispatcher.test.ts index 228dd46905e9..74317ff48948 100644 --- a/extensions/feishu/src/reply-dispatcher.test.ts +++ b/extensions/feishu/src/reply-dispatcher.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover reply dispatcher plugin behavior. import { afterAll, beforeEach, describe, expect, it, vi } from "vitest"; type StreamingSessionStub = { diff --git a/extensions/feishu/src/reply-dispatcher.ts b/extensions/feishu/src/reply-dispatcher.ts index 2a365d74ed22..1e13e1b6b946 100644 --- a/extensions/feishu/src/reply-dispatcher.ts +++ b/extensions/feishu/src/reply-dispatcher.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements reply dispatcher behavior. import { formatReasoningMessage } from "openclaw/plugin-sdk/agent-runtime"; import { logTypingFailure } from "openclaw/plugin-sdk/channel-feedback"; import { createChannelMessageReplyPipeline } from "openclaw/plugin-sdk/channel-outbound"; diff --git a/extensions/feishu/src/runtime.ts b/extensions/feishu/src/runtime.ts index 01b0dbb80bc1..18d11dfd8450 100644 --- a/extensions/feishu/src/runtime.ts +++ b/extensions/feishu/src/runtime.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements runtime behavior. import type { PluginRuntime } from "openclaw/plugin-sdk/core"; import { createPluginRuntimeStore } from "openclaw/plugin-sdk/runtime-store"; diff --git a/extensions/feishu/src/secret-contract.ts b/extensions/feishu/src/secret-contract.ts index 2c413d262186..da55e45291d6 100644 --- a/extensions/feishu/src/secret-contract.ts +++ b/extensions/feishu/src/secret-contract.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements secret contract behavior. import { collectConditionalChannelFieldAssignments, collectSimpleChannelFieldAssignments, diff --git a/extensions/feishu/src/secret-input.ts b/extensions/feishu/src/secret-input.ts index dc31994d183c..17fd650d7ced 100644 --- a/extensions/feishu/src/secret-input.ts +++ b/extensions/feishu/src/secret-input.ts @@ -1 +1,2 @@ +// Feishu plugin module implements secret input behavior. export { buildSecretInputSchema, hasConfiguredSecretInput } from "openclaw/plugin-sdk/secret-input"; diff --git a/extensions/feishu/src/security-audit-shared.ts b/extensions/feishu/src/security-audit-shared.ts index af7d7de4ae19..30999e13316f 100644 --- a/extensions/feishu/src/security-audit-shared.ts +++ b/extensions/feishu/src/security-audit-shared.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements security audit shared behavior. import { hasConfiguredSecretInput } from "openclaw/plugin-sdk/secret-input"; import type { OpenClawConfig } from "../runtime-api.js"; diff --git a/extensions/feishu/src/security-audit.test.ts b/extensions/feishu/src/security-audit.test.ts index e6109a72cfee..d55107f73e3c 100644 --- a/extensions/feishu/src/security-audit.test.ts +++ b/extensions/feishu/src/security-audit.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover security audit plugin behavior. import { describe, expect, it } from "vitest"; import type { OpenClawConfig } from "../runtime-api.js"; import { collectFeishuSecurityAuditFindings } from "./security-audit.js"; diff --git a/extensions/feishu/src/security-audit.ts b/extensions/feishu/src/security-audit.ts index 8a5e46964e5d..175ce04fd449 100644 --- a/extensions/feishu/src/security-audit.ts +++ b/extensions/feishu/src/security-audit.ts @@ -1 +1,2 @@ +// Feishu plugin module implements security audit behavior. export { collectFeishuSecurityAuditFindings } from "./security-audit-shared.js"; diff --git a/extensions/feishu/src/send-result.ts b/extensions/feishu/src/send-result.ts index aae3329b955b..09dc712518ce 100644 --- a/extensions/feishu/src/send-result.ts +++ b/extensions/feishu/src/send-result.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements send result behavior. import { createMessageReceiptFromOutboundResults, type MessageReceipt, diff --git a/extensions/feishu/src/send-target.test.ts b/extensions/feishu/src/send-target.test.ts index db00786d4f3c..c28639269e61 100644 --- a/extensions/feishu/src/send-target.test.ts +++ b/extensions/feishu/src/send-target.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover send target plugin behavior. import { afterAll, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import type { ClawdbotConfig } from "../runtime-api.js"; diff --git a/extensions/feishu/src/send-target.ts b/extensions/feishu/src/send-target.ts index 58b9c85eebbf..a222c1f90690 100644 --- a/extensions/feishu/src/send-target.ts +++ b/extensions/feishu/src/send-target.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements send target behavior. import type { ClawdbotConfig } from "../runtime-api.js"; import { resolveFeishuRuntimeAccount } from "./accounts.js"; import { createFeishuClient } from "./client.js"; diff --git a/extensions/feishu/src/send.reply-fallback.test.ts b/extensions/feishu/src/send.reply-fallback.test.ts index 3f8877b12e55..79af3934302b 100644 --- a/extensions/feishu/src/send.reply-fallback.test.ts +++ b/extensions/feishu/src/send.reply-fallback.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover send.reply fallback plugin behavior. import { afterAll, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; const resolveFeishuSendTargetMock = vi.hoisted(() => vi.fn()); diff --git a/extensions/feishu/src/send.test.ts b/extensions/feishu/src/send.test.ts index e9ac45cb0985..34f6e593af10 100644 --- a/extensions/feishu/src/send.test.ts +++ b/extensions/feishu/src/send.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover send plugin behavior. import { afterAll, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import type { ClawdbotConfig } from "../runtime-api.js"; import { buildMarkdownCard } from "./send.js"; diff --git a/extensions/feishu/src/send.ts b/extensions/feishu/src/send.ts index 61ebfe830c1c..8e69aa5051a5 100644 --- a/extensions/feishu/src/send.ts +++ b/extensions/feishu/src/send.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements send behavior. import { resolveMarkdownTableMode } from "openclaw/plugin-sdk/markdown-table-runtime"; import { parseStrictNonNegativeInteger } from "openclaw/plugin-sdk/number-runtime"; import { diff --git a/extensions/feishu/src/sequential-key.test.ts b/extensions/feishu/src/sequential-key.test.ts index 542f199c4a8f..84b6afebf6ba 100644 --- a/extensions/feishu/src/sequential-key.test.ts +++ b/extensions/feishu/src/sequential-key.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover sequential key plugin behavior. import { describe, expect, it } from "vitest"; import type { FeishuMessageEvent } from "./bot.js"; import { getFeishuSequentialKey } from "./sequential-key.js"; diff --git a/extensions/feishu/src/sequential-key.ts b/extensions/feishu/src/sequential-key.ts index 3f6a0a17bf2c..cb374a82dcb4 100644 --- a/extensions/feishu/src/sequential-key.ts +++ b/extensions/feishu/src/sequential-key.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements sequential key behavior. import { isAbortRequestText, isBtwRequestText, diff --git a/extensions/feishu/src/sequential-queue.test.ts b/extensions/feishu/src/sequential-queue.test.ts index cf487b50bb2b..071c29b20f89 100644 --- a/extensions/feishu/src/sequential-queue.test.ts +++ b/extensions/feishu/src/sequential-queue.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover sequential queue plugin behavior. import { MAX_TIMER_TIMEOUT_MS } from "openclaw/plugin-sdk/number-runtime"; import { afterEach, describe, expect, it, vi } from "vitest"; import { createSequentialQueue } from "./sequential-queue.js"; diff --git a/extensions/feishu/src/sequential-queue.ts b/extensions/feishu/src/sequential-queue.ts index 0affec66f58c..591ac35a8633 100644 --- a/extensions/feishu/src/sequential-queue.ts +++ b/extensions/feishu/src/sequential-queue.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements sequential queue behavior. import { resolveTimerTimeoutMs } from "openclaw/plugin-sdk/number-runtime"; /** diff --git a/extensions/feishu/src/session-conversation.ts b/extensions/feishu/src/session-conversation.ts index babf7b71bdfb..90bb36357f49 100644 --- a/extensions/feishu/src/session-conversation.ts +++ b/extensions/feishu/src/session-conversation.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements session conversation behavior. import { buildFeishuConversationId, parseFeishuConversationId } from "./conversation-id.js"; function resolveFeishuParentConversationCandidates(rawId: string): string[] { diff --git a/extensions/feishu/src/session-route.ts b/extensions/feishu/src/session-route.ts index 3480d05f8f3c..6e7978fb3646 100644 --- a/extensions/feishu/src/session-route.ts +++ b/extensions/feishu/src/session-route.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements session route behavior. import { buildChannelOutboundSessionRoute, stripChannelTargetPrefix, diff --git a/extensions/feishu/src/setup-core.ts b/extensions/feishu/src/setup-core.ts index 2fdaa650ea1a..9020a9db0e1e 100644 --- a/extensions/feishu/src/setup-core.ts +++ b/extensions/feishu/src/setup-core.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements setup core behavior. import { DEFAULT_ACCOUNT_ID, type ChannelSetupAdapter, diff --git a/extensions/feishu/src/setup-surface.test.ts b/extensions/feishu/src/setup-surface.test.ts index fd2a57f9f91a..77b4ac3fed2b 100644 --- a/extensions/feishu/src/setup-surface.test.ts +++ b/extensions/feishu/src/setup-surface.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover setup surface plugin behavior. import { createNonExitingRuntimeEnv, createPluginSetupWizardConfigure, diff --git a/extensions/feishu/src/setup-surface.ts b/extensions/feishu/src/setup-surface.ts index 713830d98373..5a69d1f4cc6d 100644 --- a/extensions/feishu/src/setup-surface.ts +++ b/extensions/feishu/src/setup-surface.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements setup surface behavior. import { DEFAULT_ACCOUNT_ID, formatDocsLink, diff --git a/extensions/feishu/src/streaming-card.test.ts b/extensions/feishu/src/streaming-card.test.ts index 191bdeb2c313..557456b29165 100644 --- a/extensions/feishu/src/streaming-card.test.ts +++ b/extensions/feishu/src/streaming-card.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover streaming card plugin behavior. import { afterAll, afterEach, beforeEach, describe, expect, it, vi } from "vitest"; const fetchWithSsrFGuardMock = vi.hoisted(() => vi.fn()); diff --git a/extensions/feishu/src/subagent-hooks.test.ts b/extensions/feishu/src/subagent-hooks.test.ts index 2b0fb36d12ef..dfc067eb2a56 100644 --- a/extensions/feishu/src/subagent-hooks.test.ts +++ b/extensions/feishu/src/subagent-hooks.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover subagent hooks plugin behavior. import { getRequiredHookHandler, registerHookHandlersForTest, diff --git a/extensions/feishu/src/subagent-hooks.ts b/extensions/feishu/src/subagent-hooks.ts index 4e07c6cdd5e1..a5d9fc638730 100644 --- a/extensions/feishu/src/subagent-hooks.ts +++ b/extensions/feishu/src/subagent-hooks.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements subagent hooks behavior. import { normalizeOptionalLowercaseString, normalizeOptionalString, diff --git a/extensions/feishu/src/targets.ts b/extensions/feishu/src/targets.ts index c79e28c85851..fa55258f12e1 100644 --- a/extensions/feishu/src/targets.ts +++ b/extensions/feishu/src/targets.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements targets behavior. import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime"; import type { FeishuIdType } from "./types.js"; diff --git a/extensions/feishu/src/test-support/lifecycle-test-support.ts b/extensions/feishu/src/test-support/lifecycle-test-support.ts index 4a2ffca1f284..beb926ccb867 100644 --- a/extensions/feishu/src/test-support/lifecycle-test-support.ts +++ b/extensions/feishu/src/test-support/lifecycle-test-support.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements lifecycle test support behavior. import { randomUUID } from "node:crypto"; import { createPluginRuntimeMock } from "openclaw/plugin-sdk/channel-test-helpers"; import { expect, vi, type Mock } from "vitest"; diff --git a/extensions/feishu/src/thread-bindings.test.ts b/extensions/feishu/src/thread-bindings.test.ts index c94ccb29e167..11ad687eecd7 100644 --- a/extensions/feishu/src/thread-bindings.test.ts +++ b/extensions/feishu/src/thread-bindings.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover thread bindings plugin behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { getSessionBindingService } from "openclaw/plugin-sdk/conversation-runtime"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; diff --git a/extensions/feishu/src/thread-bindings.ts b/extensions/feishu/src/thread-bindings.ts index 505fabcc4266..c6415961b7c4 100644 --- a/extensions/feishu/src/thread-bindings.ts +++ b/extensions/feishu/src/thread-bindings.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements thread bindings behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { resolveThreadBindingIdleTimeoutMsForChannel, diff --git a/extensions/feishu/src/tool-account-routing.test.ts b/extensions/feishu/src/tool-account-routing.test.ts index 884680b3135c..464737a3eb9a 100644 --- a/extensions/feishu/src/tool-account-routing.test.ts +++ b/extensions/feishu/src/tool-account-routing.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover tool account routing plugin behavior. import { afterAll, beforeAll, beforeEach, describe, expect, test, vi } from "vitest"; import type { OpenClawPluginApi } from "../runtime-api.js"; import { createToolFactoryHarness } from "./tool-factory-test-harness.js"; diff --git a/extensions/feishu/src/tool-account.test.ts b/extensions/feishu/src/tool-account.test.ts index 208215e6e790..4a6c0877f22c 100644 --- a/extensions/feishu/src/tool-account.test.ts +++ b/extensions/feishu/src/tool-account.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover tool account plugin behavior. import { describe, expect, it } from "vitest"; import { resolveFeishuToolAccount } from "./tool-account.js"; diff --git a/extensions/feishu/src/tool-account.ts b/extensions/feishu/src/tool-account.ts index a1e897218713..e6d35aff8ba0 100644 --- a/extensions/feishu/src/tool-account.ts +++ b/extensions/feishu/src/tool-account.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements tool account behavior. import type * as Lark from "@larksuiteoapi/node-sdk"; import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime"; import type { OpenClawPluginApi } from "../runtime-api.js"; diff --git a/extensions/feishu/src/tool-factory-test-harness.ts b/extensions/feishu/src/tool-factory-test-harness.ts index a9a41266838e..1b4e2cc192fc 100644 --- a/extensions/feishu/src/tool-factory-test-harness.ts +++ b/extensions/feishu/src/tool-factory-test-harness.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements tool factory test harness behavior. import type { OpenClawPluginApi } from "../runtime-api.js"; type ToolContextLike = { diff --git a/extensions/feishu/src/tool-result.test.ts b/extensions/feishu/src/tool-result.test.ts index d45381338728..05a1de4f61c4 100644 --- a/extensions/feishu/src/tool-result.test.ts +++ b/extensions/feishu/src/tool-result.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover tool result plugin behavior. import { describe, expect, it } from "vitest"; import { jsonToolResult, diff --git a/extensions/feishu/src/tool-result.ts b/extensions/feishu/src/tool-result.ts index 6a0cb6270e7c..029147964105 100644 --- a/extensions/feishu/src/tool-result.ts +++ b/extensions/feishu/src/tool-result.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements tool result behavior. import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime"; export function jsonToolResult(data: unknown) { diff --git a/extensions/feishu/src/tools-config.test.ts b/extensions/feishu/src/tools-config.test.ts index 9f28eb42562a..58ec05bf60f9 100644 --- a/extensions/feishu/src/tools-config.test.ts +++ b/extensions/feishu/src/tools-config.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover tools config plugin behavior. import { describe, expect, it } from "vitest"; import { FeishuConfigSchema } from "./config-schema.js"; import { resolveToolsConfig } from "./tools-config.js"; diff --git a/extensions/feishu/src/tools-config.ts b/extensions/feishu/src/tools-config.ts index 29db898846ca..d88cf30c19c4 100644 --- a/extensions/feishu/src/tools-config.ts +++ b/extensions/feishu/src/tools-config.ts @@ -1,3 +1,4 @@ +// Feishu helper module supports tools config behavior. import type { FeishuToolsConfig } from "./types.js"; /** diff --git a/extensions/feishu/src/types.ts b/extensions/feishu/src/types.ts index c793d7c9520b..23e321940160 100644 --- a/extensions/feishu/src/types.ts +++ b/extensions/feishu/src/types.ts @@ -1,3 +1,4 @@ +// Feishu type declarations define plugin contracts. import type { MessageReceipt } from "openclaw/plugin-sdk/channel-outbound"; import type { BaseProbeResult } from "openclaw/plugin-sdk/core"; import type { FeishuConfigSchema, FeishuAccountConfigSchema, z } from "./config-schema.js"; diff --git a/extensions/feishu/src/typing.test.ts b/extensions/feishu/src/typing.test.ts index 437677f4b760..31b8da8182b9 100644 --- a/extensions/feishu/src/typing.test.ts +++ b/extensions/feishu/src/typing.test.ts @@ -1,3 +1,4 @@ +// Feishu tests cover typing plugin behavior. import { describe, expect, it } from "vitest"; import { isFeishuBackoffError, getBackoffCodeFromResponse, FeishuBackoffError } from "./typing.js"; diff --git a/extensions/feishu/src/typing.ts b/extensions/feishu/src/typing.ts index c9da414c2ec2..87b74f19e8c9 100644 --- a/extensions/feishu/src/typing.ts +++ b/extensions/feishu/src/typing.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements typing behavior. import type { ClawdbotConfig, RuntimeEnv } from "../runtime-api.js"; import { resolveFeishuRuntimeAccount } from "./accounts.js"; import { createFeishuClient } from "./client.js"; diff --git a/extensions/feishu/src/wiki-schema.ts b/extensions/feishu/src/wiki-schema.ts index 439d1b28f1c4..06da020dcfab 100644 --- a/extensions/feishu/src/wiki-schema.ts +++ b/extensions/feishu/src/wiki-schema.ts @@ -1,3 +1,4 @@ +// Feishu helper module supports wiki schema behavior. import { Type, type Static } from "typebox"; const WIKI_SPACE_ID_DESCRIPTION = diff --git a/extensions/feishu/src/wiki.ts b/extensions/feishu/src/wiki.ts index d4e275a1dcd6..37d6ca6d30a5 100644 --- a/extensions/feishu/src/wiki.ts +++ b/extensions/feishu/src/wiki.ts @@ -1,3 +1,4 @@ +// Feishu plugin module implements wiki behavior. import type * as Lark from "@larksuiteoapi/node-sdk"; import type { OpenClawPluginApi } from "../runtime-api.js"; import { listEnabledFeishuAccounts } from "./accounts.js"; diff --git a/extensions/feishu/subagent-hooks-api.ts b/extensions/feishu/subagent-hooks-api.ts index bcb05bca6a25..9d8737050f20 100644 --- a/extensions/feishu/subagent-hooks-api.ts +++ b/extensions/feishu/subagent-hooks-api.ts @@ -1,3 +1,4 @@ +// Feishu API module exposes the plugin public contract. import type { OpenClawPluginApi } from "openclaw/plugin-sdk/channel-entry-contract"; type FeishuSubagentHooksModule = typeof import("./src/subagent-hooks.js"); diff --git a/extensions/msteams/api.ts b/extensions/msteams/api.ts index 5070773e8c84..b10034a85a1c 100644 --- a/extensions/msteams/api.ts +++ b/extensions/msteams/api.ts @@ -1,3 +1,4 @@ +// Msteams API module exposes the plugin public contract. export { msteamsPlugin } from "./src/channel.js"; export { createMSTeamsSetupWizardBase, msteamsSetupAdapter } from "./src/setup-core.js"; export { msteamsSetupWizard, openDelegatedOAuthUrl } from "./src/setup-surface.js"; diff --git a/extensions/msteams/channel-config-api.ts b/extensions/msteams/channel-config-api.ts index 12f6ae4e6f5d..569803c667f7 100644 --- a/extensions/msteams/channel-config-api.ts +++ b/extensions/msteams/channel-config-api.ts @@ -1 +1,2 @@ +// Msteams API module exposes the plugin public contract. export { MSTeamsChannelConfigSchema } from "./src/config-schema.js"; diff --git a/extensions/msteams/channel-plugin-api.ts b/extensions/msteams/channel-plugin-api.ts index 87d8a04cd3fb..2365f459c833 100644 --- a/extensions/msteams/channel-plugin-api.ts +++ b/extensions/msteams/channel-plugin-api.ts @@ -1,2 +1,3 @@ +// Msteams API module exposes the plugin public contract. export { msteamsPlugin } from "./src/channel.js"; export type { ChannelPlugin } from "./src/channel-api.js"; diff --git a/extensions/msteams/config-api.ts b/extensions/msteams/config-api.ts index 277ec5b49381..c995afbcf0fa 100644 --- a/extensions/msteams/config-api.ts +++ b/extensions/msteams/config-api.ts @@ -1,3 +1,4 @@ +// Msteams API module exposes the plugin public contract. export { buildChannelConfigSchema, MSTeamsConfigSchema, diff --git a/extensions/msteams/contract-api.ts b/extensions/msteams/contract-api.ts index bc8f64f050fc..00736b0b503d 100644 --- a/extensions/msteams/contract-api.ts +++ b/extensions/msteams/contract-api.ts @@ -1,3 +1,4 @@ +// Msteams API module exposes the plugin public contract. export { collectRuntimeConfigAssignments, secretTargetRegistryEntries, diff --git a/extensions/msteams/directory-contract-api.ts b/extensions/msteams/directory-contract-api.ts index 542e1b04df7d..9b5cd27328e6 100644 --- a/extensions/msteams/directory-contract-api.ts +++ b/extensions/msteams/directory-contract-api.ts @@ -1,3 +1,4 @@ +// Msteams API module exposes the plugin public contract. import type { ChannelDirectoryAdapter } from "openclaw/plugin-sdk/channel-contract"; import { listDirectoryEntriesFromSources } from "openclaw/plugin-sdk/directory-runtime"; import { normalizeMSTeamsMessagingTarget } from "./src/resolve-allowlist.js"; diff --git a/extensions/msteams/doctor-contract-api.test.ts b/extensions/msteams/doctor-contract-api.test.ts index 03d4b5a33944..991b6ae8d567 100644 --- a/extensions/msteams/doctor-contract-api.test.ts +++ b/extensions/msteams/doctor-contract-api.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover doctor contract api plugin behavior. import { createHash } from "node:crypto"; import fs from "node:fs/promises"; import os from "node:os"; diff --git a/extensions/msteams/doctor-contract-api.ts b/extensions/msteams/doctor-contract-api.ts index 3706bd9df2ca..944ddb861f08 100644 --- a/extensions/msteams/doctor-contract-api.ts +++ b/extensions/msteams/doctor-contract-api.ts @@ -1,3 +1,4 @@ +// Msteams API module exposes the plugin public contract. import crypto from "node:crypto"; import type { Dirent } from "node:fs"; import fs from "node:fs/promises"; diff --git a/extensions/msteams/index.ts b/extensions/msteams/index.ts index b259d7d9c049..9c63d790354b 100644 --- a/extensions/msteams/index.ts +++ b/extensions/msteams/index.ts @@ -1,3 +1,4 @@ +// Msteams plugin entrypoint registers its OpenClaw integration. import { defineBundledChannelEntry } from "openclaw/plugin-sdk/channel-entry-contract"; export default defineBundledChannelEntry({ diff --git a/extensions/msteams/secret-contract-api.ts b/extensions/msteams/secret-contract-api.ts index 9f44ef28569c..0e483cd8424e 100644 --- a/extensions/msteams/secret-contract-api.ts +++ b/extensions/msteams/secret-contract-api.ts @@ -1,3 +1,4 @@ +// Msteams API module exposes the plugin public contract. export { channelSecrets, collectRuntimeConfigAssignments, diff --git a/extensions/msteams/setup-entry.ts b/extensions/msteams/setup-entry.ts index e120f6384272..54599f75de74 100644 --- a/extensions/msteams/setup-entry.ts +++ b/extensions/msteams/setup-entry.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements setup entry behavior. import { defineBundledChannelSetupEntry } from "openclaw/plugin-sdk/channel-entry-contract"; export default defineBundledChannelSetupEntry({ diff --git a/extensions/msteams/src/approval-auth.ts b/extensions/msteams/src/approval-auth.ts index 976722e1dc7c..7c65b8e44609 100644 --- a/extensions/msteams/src/approval-auth.ts +++ b/extensions/msteams/src/approval-auth.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements approval auth behavior. import { createResolvedApproverActionAuthAdapter, resolveApprovalApprovers, diff --git a/extensions/msteams/src/attachments.graph.test.ts b/extensions/msteams/src/attachments.graph.test.ts index 9722f33d976d..df55f6385204 100644 --- a/extensions/msteams/src/attachments.graph.test.ts +++ b/extensions/msteams/src/attachments.graph.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover attachments.graph plugin behavior. import { mockPinnedHostnameResolution } from "openclaw/plugin-sdk/test-env"; import { beforeEach, describe, expect, it, vi } from "vitest"; import type { PluginRuntime } from "../runtime-api.js"; diff --git a/extensions/msteams/src/attachments.helpers.test.ts b/extensions/msteams/src/attachments.helpers.test.ts index 9639e15189bc..323be29003e2 100644 --- a/extensions/msteams/src/attachments.helpers.test.ts +++ b/extensions/msteams/src/attachments.helpers.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover attachments.helpers plugin behavior. import { beforeEach, describe, expect, it } from "vitest"; import type { PluginRuntime } from "../runtime-api.js"; import { diff --git a/extensions/msteams/src/attachments.test-helpers.ts b/extensions/msteams/src/attachments.test-helpers.ts index 6db8e053cfdc..5017db81a4ea 100644 --- a/extensions/msteams/src/attachments.test-helpers.ts +++ b/extensions/msteams/src/attachments.test-helpers.ts @@ -1,3 +1,4 @@ +// Msteams helper module supports attachments helpers behavior. export async function readRemoteMediaResponse( res: Response, params: { maxBytes?: number; filePathHint?: string }, diff --git a/extensions/msteams/src/attachments.test.ts b/extensions/msteams/src/attachments.test.ts index 5464c5505f03..0f14f8470fe4 100644 --- a/extensions/msteams/src/attachments.test.ts +++ b/extensions/msteams/src/attachments.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover attachments plugin behavior. import { beforeEach, describe, expect, it, vi } from "vitest"; import type { PluginRuntime, SsrFPolicy } from "../runtime-api.js"; import { readRemoteMediaResponse } from "./attachments.test-helpers.js"; diff --git a/extensions/msteams/src/attachments.ts b/extensions/msteams/src/attachments.ts index 880102ac2c62..af4ae162810c 100644 --- a/extensions/msteams/src/attachments.ts +++ b/extensions/msteams/src/attachments.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements attachments behavior. export { downloadMSTeamsBotFrameworkAttachments, isBotFrameworkPersonalChatId, diff --git a/extensions/msteams/src/attachments/bot-framework.test.ts b/extensions/msteams/src/attachments/bot-framework.test.ts index 6e26d323078f..16dfda13541a 100644 --- a/extensions/msteams/src/attachments/bot-framework.test.ts +++ b/extensions/msteams/src/attachments/bot-framework.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover bot framework plugin behavior. import { beforeEach, describe, expect, it, vi } from "vitest"; import { setMSTeamsRuntime } from "../runtime.js"; import { diff --git a/extensions/msteams/src/attachments/bot-framework.ts b/extensions/msteams/src/attachments/bot-framework.ts index f70a26b3793e..988059ec3329 100644 --- a/extensions/msteams/src/attachments/bot-framework.ts +++ b/extensions/msteams/src/attachments/bot-framework.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements bot framework behavior. import { parseMediaContentLength } from "openclaw/plugin-sdk/media-runtime"; import { getMSTeamsRuntime } from "../runtime.js"; import { ensureUserAgentHeader } from "../user-agent.js"; diff --git a/extensions/msteams/src/attachments/download.ts b/extensions/msteams/src/attachments/download.ts index c33c313d4678..d84603b5fea4 100644 --- a/extensions/msteams/src/attachments/download.ts +++ b/extensions/msteams/src/attachments/download.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements download behavior. import { normalizeLowercaseStringOrEmpty, normalizeOptionalLowercaseString, diff --git a/extensions/msteams/src/attachments/graph.test.ts b/extensions/msteams/src/attachments/graph.test.ts index 3dd9a3555d54..bf6d7cb0cdb4 100644 --- a/extensions/msteams/src/attachments/graph.test.ts +++ b/extensions/msteams/src/attachments/graph.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover graph plugin behavior. import { beforeEach, describe, expect, it, vi } from "vitest"; // Mock shared.js to avoid transitive runtime-api imports that pull in uninstalled packages. diff --git a/extensions/msteams/src/attachments/graph.ts b/extensions/msteams/src/attachments/graph.ts index fea789d909fb..ed929911c7a5 100644 --- a/extensions/msteams/src/attachments/graph.ts +++ b/extensions/msteams/src/attachments/graph.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements graph behavior. import { fetchWithSsrFGuard, type SsrFPolicy } from "openclaw/plugin-sdk/ssrf-runtime"; import { normalizeLowercaseStringOrEmpty, diff --git a/extensions/msteams/src/attachments/html.ts b/extensions/msteams/src/attachments/html.ts index 7a334e89b820..f68f748fc649 100644 --- a/extensions/msteams/src/attachments/html.ts +++ b/extensions/msteams/src/attachments/html.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements html behavior. import { ATTACHMENT_TAG_RE, extractHtmlFromAttachment, diff --git a/extensions/msteams/src/attachments/payload.ts b/extensions/msteams/src/attachments/payload.ts index c400b365d0dd..8988486f505c 100644 --- a/extensions/msteams/src/attachments/payload.ts +++ b/extensions/msteams/src/attachments/payload.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements payload behavior. import { buildMediaPayload } from "../../runtime-api.js"; export function buildMSTeamsMediaPayload( diff --git a/extensions/msteams/src/attachments/remote-media.test.ts b/extensions/msteams/src/attachments/remote-media.test.ts index 4bfa83d1d738..34055f4bec46 100644 --- a/extensions/msteams/src/attachments/remote-media.test.ts +++ b/extensions/msteams/src/attachments/remote-media.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover remote media plugin behavior. import { beforeEach, describe, expect, it, vi } from "vitest"; // Mock the runtime so we can assert whether the strict-dispatcher path diff --git a/extensions/msteams/src/attachments/remote-media.ts b/extensions/msteams/src/attachments/remote-media.ts index 6bcaaeb153ea..978ba5aae75e 100644 --- a/extensions/msteams/src/attachments/remote-media.ts +++ b/extensions/msteams/src/attachments/remote-media.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements remote media behavior. import { saveResponseMedia, type SavedRemoteMedia } from "openclaw/plugin-sdk/media-runtime"; import type { SsrFPolicy } from "../../runtime-api.js"; import { getMSTeamsRuntime } from "../runtime.js"; diff --git a/extensions/msteams/src/attachments/shared.test.ts b/extensions/msteams/src/attachments/shared.test.ts index b2a6e7168b3e..6122ca5788f7 100644 --- a/extensions/msteams/src/attachments/shared.test.ts +++ b/extensions/msteams/src/attachments/shared.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover shared plugin behavior. import { describe, expect, it, vi } from "vitest"; import { applyAuthorizationHeaderForUrl, diff --git a/extensions/msteams/src/attachments/shared.ts b/extensions/msteams/src/attachments/shared.ts index 8ce3b20ea411..53f86c85ae31 100644 --- a/extensions/msteams/src/attachments/shared.ts +++ b/extensions/msteams/src/attachments/shared.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements shared behavior. import { Buffer } from "node:buffer"; import { lookup } from "node:dns/promises"; import { diff --git a/extensions/msteams/src/attachments/types.ts b/extensions/msteams/src/attachments/types.ts index ccf00ac1a180..34626886d4bb 100644 --- a/extensions/msteams/src/attachments/types.ts +++ b/extensions/msteams/src/attachments/types.ts @@ -1,3 +1,4 @@ +// Msteams type declarations define plugin contracts. export type MSTeamsAttachmentLike = { contentType?: string | null; contentUrl?: string | null; diff --git a/extensions/msteams/src/block-streaming-config.test.ts b/extensions/msteams/src/block-streaming-config.test.ts index 903ccd171ca2..39cdc37f2d9c 100644 --- a/extensions/msteams/src/block-streaming-config.test.ts +++ b/extensions/msteams/src/block-streaming-config.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover block streaming config plugin behavior. import { describe, expect, it } from "vitest"; import { MSTeamsConfigSchema } from "../config-api.js"; diff --git a/extensions/msteams/src/bot-framework-service-url.ts b/extensions/msteams/src/bot-framework-service-url.ts index b962ae3b0f3e..7cbec5f3fca4 100644 --- a/extensions/msteams/src/bot-framework-service-url.ts +++ b/extensions/msteams/src/bot-framework-service-url.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements bot framework service url behavior. import { buildHostnameAllowlistPolicyFromSuffixAllowlist, isHttpsUrlAllowedByHostnameSuffixAllowlist, diff --git a/extensions/msteams/src/channel-api.ts b/extensions/msteams/src/channel-api.ts index 3ef39a737d2f..89fb3e40d5b3 100644 --- a/extensions/msteams/src/channel-api.ts +++ b/extensions/msteams/src/channel-api.ts @@ -1 +1,2 @@ +// Msteams API module exposes the plugin public contract. export type { ChannelPlugin } from "openclaw/plugin-sdk/channel-core"; diff --git a/extensions/msteams/src/channel.actions.test.ts b/extensions/msteams/src/channel.actions.test.ts index 17f202970f39..9c7e5fcde299 100644 --- a/extensions/msteams/src/channel.actions.test.ts +++ b/extensions/msteams/src/channel.actions.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover channel.actions plugin behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { beforeEach, describe, expect, it, vi } from "vitest"; import { msteamsPlugin } from "./channel.js"; diff --git a/extensions/msteams/src/channel.directory.test.ts b/extensions/msteams/src/channel.directory.test.ts index 8f4a00af7a4d..aabcd64949cc 100644 --- a/extensions/msteams/src/channel.directory.test.ts +++ b/extensions/msteams/src/channel.directory.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover channelirectory plugin behavior. import { createDirectoryTestRuntime, expectDirectorySurface, diff --git a/extensions/msteams/src/channel.message-adapter.test.ts b/extensions/msteams/src/channel.message-adapter.test.ts index 5367cecd87b6..99b10e4cba76 100644 --- a/extensions/msteams/src/channel.message-adapter.test.ts +++ b/extensions/msteams/src/channel.message-adapter.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover channel.message adapter plugin behavior. import { verifyChannelMessageAdapterCapabilityProofs, verifyChannelMessageLiveCapabilityAdapterProofs, diff --git a/extensions/msteams/src/channel.runtime.ts b/extensions/msteams/src/channel.runtime.ts index f670fd94d545..206d59e5da85 100644 --- a/extensions/msteams/src/channel.runtime.ts +++ b/extensions/msteams/src/channel.runtime.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements channel behavior. import { listMSTeamsDirectoryGroupsLive as listMSTeamsDirectoryGroupsLiveImpl, listMSTeamsDirectoryPeersLive as listMSTeamsDirectoryPeersLiveImpl, diff --git a/extensions/msteams/src/channel.setup.ts b/extensions/msteams/src/channel.setup.ts index 5e7b743471a9..0e5153113df2 100644 --- a/extensions/msteams/src/channel.setup.ts +++ b/extensions/msteams/src/channel.setup.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements channel.setup behavior. import { describeAccountSnapshot } from "openclaw/plugin-sdk/account-helpers"; import { formatAllowFromLowercase } from "openclaw/plugin-sdk/allow-from"; import { createTopLevelChannelConfigAdapter } from "openclaw/plugin-sdk/channel-config-helpers"; diff --git a/extensions/msteams/src/channel.test.ts b/extensions/msteams/src/channel.test.ts index 6d5ee173992f..469af7c201f7 100644 --- a/extensions/msteams/src/channel.test.ts +++ b/extensions/msteams/src/channel.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover channel plugin behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { describe, expect, it } from "vitest"; import { MSTeamsConfigSchema } from "../config-api.js"; diff --git a/extensions/msteams/src/channel.ts b/extensions/msteams/src/channel.ts index 84c06ede6fad..b7d7fbf4a342 100644 --- a/extensions/msteams/src/channel.ts +++ b/extensions/msteams/src/channel.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements channel behavior. import { describeAccountSnapshot } from "openclaw/plugin-sdk/account-helpers"; import { formatAllowFromLowercase } from "openclaw/plugin-sdk/allow-from"; import { createTopLevelChannelConfigAdapter } from "openclaw/plugin-sdk/channel-config-helpers"; diff --git a/extensions/msteams/src/cloud.test.ts b/extensions/msteams/src/cloud.test.ts index 56b0355f50fb..351fe6d08f3d 100644 --- a/extensions/msteams/src/cloud.test.ts +++ b/extensions/msteams/src/cloud.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover cloud plugin behavior. import { describe, expect, it } from "vitest"; import { resolveMSTeamsSdkCloudOptions, diff --git a/extensions/msteams/src/cloud.ts b/extensions/msteams/src/cloud.ts index e5188185272e..30bd9d6dcb32 100644 --- a/extensions/msteams/src/cloud.ts +++ b/extensions/msteams/src/cloud.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements cloud behavior. import type { MSTeamsConfig } from "../runtime-api.js"; export type MSTeamsCloudName = "Public" | "USGov" | "USGovDoD" | "China"; diff --git a/extensions/msteams/src/config-schema.ts b/extensions/msteams/src/config-schema.ts index a47578040c91..68b76df9a483 100644 --- a/extensions/msteams/src/config-schema.ts +++ b/extensions/msteams/src/config-schema.ts @@ -1,3 +1,4 @@ +// Msteams helper module supports config schema behavior. import { buildChannelConfigSchema, MSTeamsConfigSchema } from "../config-api.js"; import { msTeamsChannelConfigUiHints } from "./config-ui-hints.js"; diff --git a/extensions/msteams/src/config-ui-hints.ts b/extensions/msteams/src/config-ui-hints.ts index 263dbb0a7659..0a8c77b1342b 100644 --- a/extensions/msteams/src/config-ui-hints.ts +++ b/extensions/msteams/src/config-ui-hints.ts @@ -1,3 +1,4 @@ +// Msteams helper module supports config ui hints behavior. import type { ChannelConfigUiHint } from "openclaw/plugin-sdk/channel-core"; export const msTeamsChannelConfigUiHints = { diff --git a/extensions/msteams/src/conversation-store-helpers.test.ts b/extensions/msteams/src/conversation-store-helpers.test.ts index d4342103953f..031208b3fe38 100644 --- a/extensions/msteams/src/conversation-store-helpers.test.ts +++ b/extensions/msteams/src/conversation-store-helpers.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover conversation store helpers plugin behavior. import { describe, expect, it } from "vitest"; import { findPreferredDmConversationByUserId } from "./conversation-store-helpers.js"; import type { MSTeamsConversationStoreEntry } from "./conversation-store.js"; diff --git a/extensions/msteams/src/conversation-store-helpers.ts b/extensions/msteams/src/conversation-store-helpers.ts index cd89ef153ee3..c96395ccaff1 100644 --- a/extensions/msteams/src/conversation-store-helpers.ts +++ b/extensions/msteams/src/conversation-store-helpers.ts @@ -1,3 +1,4 @@ +// Msteams helper module supports conversation store helpers behavior. import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime"; import type { MSTeamsConversationStoreEntry, diff --git a/extensions/msteams/src/conversation-store-memory.ts b/extensions/msteams/src/conversation-store-memory.ts index 24164b601283..d8c57fe64e91 100644 --- a/extensions/msteams/src/conversation-store-memory.ts +++ b/extensions/msteams/src/conversation-store-memory.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements conversation store memory behavior. import { findPreferredDmConversationByUserId, mergeStoredConversationReference, diff --git a/extensions/msteams/src/conversation-store-state.test.ts b/extensions/msteams/src/conversation-store-state.test.ts index be8399107202..473a47227d1d 100644 --- a/extensions/msteams/src/conversation-store-state.test.ts +++ b/extensions/msteams/src/conversation-store-state.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover conversation store state plugin behavior. import crypto from "node:crypto"; import fs from "node:fs"; import os from "node:os"; diff --git a/extensions/msteams/src/conversation-store-state.ts b/extensions/msteams/src/conversation-store-state.ts index 91096ff11b2a..8fcadf1d7aa9 100644 --- a/extensions/msteams/src/conversation-store-state.ts +++ b/extensions/msteams/src/conversation-store-state.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements conversation store state behavior. import crypto from "node:crypto"; import { findPreferredDmConversationByUserId, diff --git a/extensions/msteams/src/conversation-store.shared.test.ts b/extensions/msteams/src/conversation-store.shared.test.ts index f0b46617ab57..1e0fce03b7b4 100644 --- a/extensions/msteams/src/conversation-store.shared.test.ts +++ b/extensions/msteams/src/conversation-store.shared.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover conversation store.shared plugin behavior. import fs from "node:fs"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/msteams/src/directory-live.test.ts b/extensions/msteams/src/directory-live.test.ts index b2cbecae39ac..fadd01c0c8b4 100644 --- a/extensions/msteams/src/directory-live.test.ts +++ b/extensions/msteams/src/directory-live.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover directory live plugin behavior. import { beforeEach, describe, expect, it, vi } from "vitest"; const { diff --git a/extensions/msteams/src/directory-live.ts b/extensions/msteams/src/directory-live.ts index 26c0589ff46f..e2b525da8fea 100644 --- a/extensions/msteams/src/directory-live.ts +++ b/extensions/msteams/src/directory-live.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements directory live behavior. import { normalizeLowercaseStringOrEmpty, normalizeStringEntries, diff --git a/extensions/msteams/src/doctor.ts b/extensions/msteams/src/doctor.ts index fe595e75f2b5..11765c30e883 100644 --- a/extensions/msteams/src/doctor.ts +++ b/extensions/msteams/src/doctor.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements doctor behavior. import { createDangerousNameMatchingMutableAllowlistWarningCollector } from "openclaw/plugin-sdk/channel-policy"; function isMSTeamsMutableAllowEntry(raw: string): boolean { diff --git a/extensions/msteams/src/errors.test.ts b/extensions/msteams/src/errors.test.ts index 9b88c60b194d..2c49a7b1f87d 100644 --- a/extensions/msteams/src/errors.test.ts +++ b/extensions/msteams/src/errors.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover errors plugin behavior. import { describe, expect, it, vi } from "vitest"; import { classifyMSTeamsSendError, diff --git a/extensions/msteams/src/errors.ts b/extensions/msteams/src/errors.ts index 56ba62833aaf..56aec2ea4174 100644 --- a/extensions/msteams/src/errors.ts +++ b/extensions/msteams/src/errors.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements errors behavior. import { asFiniteNumberInRange, parseStrictFiniteNumber } from "openclaw/plugin-sdk/number-runtime"; import { isRecord } from "openclaw/plugin-sdk/string-coerce-runtime"; diff --git a/extensions/msteams/src/feedback-invoke.ts b/extensions/msteams/src/feedback-invoke.ts index 29abfecba7fa..0f65cd8cdf7a 100644 --- a/extensions/msteams/src/feedback-invoke.ts +++ b/extensions/msteams/src/feedback-invoke.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements feedback invoke behavior. import path from "node:path"; import { resolveThreadSessionKeys } from "openclaw/plugin-sdk/routing"; import { appendRegularFile } from "openclaw/plugin-sdk/security-runtime"; diff --git a/extensions/msteams/src/feedback-reflection-prompt.ts b/extensions/msteams/src/feedback-reflection-prompt.ts index cfca4e328556..ae0173a05385 100644 --- a/extensions/msteams/src/feedback-reflection-prompt.ts +++ b/extensions/msteams/src/feedback-reflection-prompt.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements feedback reflection prompt behavior. import { normalizeOptionalLowercaseString } from "openclaw/plugin-sdk/string-coerce-runtime"; /** Max chars of the thumbed-down response to include in the reflection prompt. */ diff --git a/extensions/msteams/src/feedback-reflection-store.ts b/extensions/msteams/src/feedback-reflection-store.ts index 9ad934263976..6ea5376b74ab 100644 --- a/extensions/msteams/src/feedback-reflection-store.ts +++ b/extensions/msteams/src/feedback-reflection-store.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements feedback reflection store behavior. import crypto from "node:crypto"; import { getMSTeamsRuntime } from "./runtime.js"; diff --git a/extensions/msteams/src/feedback-reflection.test.ts b/extensions/msteams/src/feedback-reflection.test.ts index 3e8a37113786..de94866b7460 100644 --- a/extensions/msteams/src/feedback-reflection.test.ts +++ b/extensions/msteams/src/feedback-reflection.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover feedback reflection plugin behavior. import { mkdtemp, rm } from "node:fs/promises"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/msteams/src/feedback-reflection.ts b/extensions/msteams/src/feedback-reflection.ts index 1e33b7032f15..4beba5d2738d 100644 --- a/extensions/msteams/src/feedback-reflection.ts +++ b/extensions/msteams/src/feedback-reflection.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements feedback reflection behavior. import { normalizeOptionalLowercaseString } from "openclaw/plugin-sdk/string-coerce-runtime"; import { dispatchReplyFromConfigWithSettledDispatcher, diff --git a/extensions/msteams/src/file-consent-helpers.test.ts b/extensions/msteams/src/file-consent-helpers.test.ts index 2b6d9353a9eb..a10bbfb9564b 100644 --- a/extensions/msteams/src/file-consent-helpers.test.ts +++ b/extensions/msteams/src/file-consent-helpers.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover file consent helpers plugin behavior. import { describe, expect, it, vi, beforeEach, afterEach } from "vitest"; import { prepareFileConsentActivity, requiresFileConsent } from "./file-consent-helpers.js"; import { diff --git a/extensions/msteams/src/file-consent-helpers.ts b/extensions/msteams/src/file-consent-helpers.ts index 2efd944e6465..5b7c0a71da16 100644 --- a/extensions/msteams/src/file-consent-helpers.ts +++ b/extensions/msteams/src/file-consent-helpers.ts @@ -1,3 +1,4 @@ +// Msteams helper module supports file consent helpers behavior. import { normalizeOptionalLowercaseString } from "openclaw/plugin-sdk/string-coerce-runtime"; import { buildFileConsentCard } from "./file-consent.js"; import { storePendingUploadFs } from "./pending-uploads-fs.js"; diff --git a/extensions/msteams/src/file-consent-invoke.ts b/extensions/msteams/src/file-consent-invoke.ts index 79e0a38984fe..29985be5e3ca 100644 --- a/extensions/msteams/src/file-consent-invoke.ts +++ b/extensions/msteams/src/file-consent-invoke.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements file consent invoke behavior. import { formatUnknownError } from "./errors.js"; import { buildFileInfoCard, parseFileConsentInvoke, uploadToConsentUrl } from "./file-consent.js"; import { normalizeMSTeamsConversationId } from "./inbound.js"; diff --git a/extensions/msteams/src/file-consent.test.ts b/extensions/msteams/src/file-consent.test.ts index 7a17ce6beb91..e3c685662591 100644 --- a/extensions/msteams/src/file-consent.test.ts +++ b/extensions/msteams/src/file-consent.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover file consent plugin behavior. import { describe, expect, it, vi } from "vitest"; import { CONSENT_UPLOAD_HOST_ALLOWLIST, diff --git a/extensions/msteams/src/graph-chat.ts b/extensions/msteams/src/graph-chat.ts index 762f7ce5fd4f..baef4d7e138a 100644 --- a/extensions/msteams/src/graph-chat.ts +++ b/extensions/msteams/src/graph-chat.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements graph chat behavior. import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime"; import type { DriveItemProperties } from "./graph-upload.js"; diff --git a/extensions/msteams/src/graph-group-management.test.ts b/extensions/msteams/src/graph-group-management.test.ts index 4039c2cc94fb..51f0655605d3 100644 --- a/extensions/msteams/src/graph-group-management.test.ts +++ b/extensions/msteams/src/graph-group-management.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover graph group management plugin behavior. import { beforeEach, describe, expect, it, vi } from "vitest"; import type { OpenClawConfig } from "../runtime-api.js"; import { diff --git a/extensions/msteams/src/graph-group-management.ts b/extensions/msteams/src/graph-group-management.ts index db5493e90a23..7dafe6043b86 100644 --- a/extensions/msteams/src/graph-group-management.ts +++ b/extensions/msteams/src/graph-group-management.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements graph group management behavior. import type { OpenClawConfig } from "../runtime-api.js"; import { resolveConversationPath, resolveGraphConversationId } from "./graph-messages.js"; import { diff --git a/extensions/msteams/src/graph-members.test.ts b/extensions/msteams/src/graph-members.test.ts index 01fa96ab0ca9..4de3540d938c 100644 --- a/extensions/msteams/src/graph-members.test.ts +++ b/extensions/msteams/src/graph-members.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover graph members plugin behavior. import { beforeEach, describe, expect, it, vi } from "vitest"; import type { OpenClawConfig } from "../runtime-api.js"; import { getMemberInfoMSTeams } from "./graph-members.js"; diff --git a/extensions/msteams/src/graph-members.ts b/extensions/msteams/src/graph-members.ts index 3390245d91d5..03969e871be6 100644 --- a/extensions/msteams/src/graph-members.ts +++ b/extensions/msteams/src/graph-members.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements graph members behavior. import type { OpenClawConfig } from "../runtime-api.js"; import { fetchGraphJson, resolveGraphToken } from "./graph.js"; diff --git a/extensions/msteams/src/graph-messages.actions.test.ts b/extensions/msteams/src/graph-messages.actions.test.ts index a9fd80d71a7f..984090a1db8d 100644 --- a/extensions/msteams/src/graph-messages.actions.test.ts +++ b/extensions/msteams/src/graph-messages.actions.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover graph messages.actions plugin behavior. import { beforeAll, describe, expect, it } from "vitest"; import type { OpenClawConfig } from "../runtime-api.js"; import { diff --git a/extensions/msteams/src/graph-messages.read.test.ts b/extensions/msteams/src/graph-messages.read.test.ts index e2ccf108aa44..8e9fa62d9caf 100644 --- a/extensions/msteams/src/graph-messages.read.test.ts +++ b/extensions/msteams/src/graph-messages.read.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover graph messages.read plugin behavior. import { beforeAll, describe, expect, it } from "vitest"; import type { OpenClawConfig } from "../runtime-api.js"; import { diff --git a/extensions/msteams/src/graph-messages.search.test.ts b/extensions/msteams/src/graph-messages.search.test.ts index 832f5eb7b6b1..d27ee7749cf0 100644 --- a/extensions/msteams/src/graph-messages.search.test.ts +++ b/extensions/msteams/src/graph-messages.search.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover graph messages.search plugin behavior. import { beforeAll, describe, expect, it } from "vitest"; import type { OpenClawConfig } from "../runtime-api.js"; import { diff --git a/extensions/msteams/src/graph-messages.test-helpers.ts b/extensions/msteams/src/graph-messages.test-helpers.ts index ba7be1515fe4..8b5e61b5c527 100644 --- a/extensions/msteams/src/graph-messages.test-helpers.ts +++ b/extensions/msteams/src/graph-messages.test-helpers.ts @@ -1,3 +1,4 @@ +// Msteams helper module supports graph messages helpers behavior. import { beforeEach, vi } from "vitest"; const graphMessagesMockState = vi.hoisted(() => ({ diff --git a/extensions/msteams/src/graph-messages.ts b/extensions/msteams/src/graph-messages.ts index ad445def6f3c..dd71f5fac4ea 100644 --- a/extensions/msteams/src/graph-messages.ts +++ b/extensions/msteams/src/graph-messages.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements graph messages behavior. import type { OpenClawConfig } from "../runtime-api.js"; import { createMSTeamsConversationStoreState } from "./conversation-store-state.js"; import { diff --git a/extensions/msteams/src/graph-teams.test.ts b/extensions/msteams/src/graph-teams.test.ts index 75dd4797d1a1..8be8e174fa8d 100644 --- a/extensions/msteams/src/graph-teams.test.ts +++ b/extensions/msteams/src/graph-teams.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover graph teams plugin behavior. import { beforeEach, describe, expect, it, vi } from "vitest"; import type { OpenClawConfig } from "../runtime-api.js"; import { getChannelInfoMSTeams, listChannelsMSTeams } from "./graph-teams.js"; diff --git a/extensions/msteams/src/graph-teams.ts b/extensions/msteams/src/graph-teams.ts index e6105caa4a81..6a49033f2aef 100644 --- a/extensions/msteams/src/graph-teams.ts +++ b/extensions/msteams/src/graph-teams.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements graph teams behavior. import type { OpenClawConfig } from "../runtime-api.js"; import { type GraphResponse, fetchGraphJson, resolveGraphToken } from "./graph.js"; diff --git a/extensions/msteams/src/graph-thread.test.ts b/extensions/msteams/src/graph-thread.test.ts index a7bc97e5973d..b34b76ccc958 100644 --- a/extensions/msteams/src/graph-thread.test.ts +++ b/extensions/msteams/src/graph-thread.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover graph thread plugin behavior. import { beforeEach, describe, expect, it, vi } from "vitest"; import { _teamGroupIdCacheForTest, diff --git a/extensions/msteams/src/graph-thread.ts b/extensions/msteams/src/graph-thread.ts index cd2a49687a32..88b37311991c 100644 --- a/extensions/msteams/src/graph-thread.ts +++ b/extensions/msteams/src/graph-thread.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements graph thread behavior. import { asDateTimestampMs, resolveExpiresAtMsFromDurationMs, diff --git a/extensions/msteams/src/graph-upload.test.ts b/extensions/msteams/src/graph-upload.test.ts index 1289bf5e61c5..8ea828d26455 100644 --- a/extensions/msteams/src/graph-upload.test.ts +++ b/extensions/msteams/src/graph-upload.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover graph upload plugin behavior. import { withFetchPreconnect } from "openclaw/plugin-sdk/test-env"; import { describe, expect, it, vi } from "vitest"; import { buildTeamsFileInfoCard } from "./graph-chat.js"; diff --git a/extensions/msteams/src/graph-users.ts b/extensions/msteams/src/graph-users.ts index 965e83296fff..56a6e3314ed1 100644 --- a/extensions/msteams/src/graph-users.ts +++ b/extensions/msteams/src/graph-users.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements graph users behavior. import { escapeOData, fetchGraphJson, type GraphResponse, type GraphUser } from "./graph.js"; export async function searchGraphUsers(params: { diff --git a/extensions/msteams/src/graph.test.ts b/extensions/msteams/src/graph.test.ts index 9acb79b3bb6e..ff69e61857d9 100644 --- a/extensions/msteams/src/graph.test.ts +++ b/extensions/msteams/src/graph.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover graph plugin behavior. import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; const { diff --git a/extensions/msteams/src/graph.ts b/extensions/msteams/src/graph.ts index abfa64d470c0..03898654fb5f 100644 --- a/extensions/msteams/src/graph.ts +++ b/extensions/msteams/src/graph.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements graph behavior. import { readProviderJsonResponse } from "openclaw/plugin-sdk/provider-http"; import { fetchWithSsrFGuard, type MSTeamsConfig } from "../runtime-api.js"; import { GRAPH_ROOT } from "./attachments/shared.js"; diff --git a/extensions/msteams/src/http-error.test.ts b/extensions/msteams/src/http-error.test.ts index f64d14f001ef..4bcf72cb29e5 100644 --- a/extensions/msteams/src/http-error.test.ts +++ b/extensions/msteams/src/http-error.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover http error plugin behavior. import { describe, expect, it } from "vitest"; import { createMSTeamsHttpError, readMSTeamsHttpErrorDetail } from "./http-error.js"; diff --git a/extensions/msteams/src/http-error.ts b/extensions/msteams/src/http-error.ts index 298ce239a552..ac80101f759f 100644 --- a/extensions/msteams/src/http-error.ts +++ b/extensions/msteams/src/http-error.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements http error behavior. import { createProviderHttpError, extractProviderErrorDetail, diff --git a/extensions/msteams/src/inbound.test.ts b/extensions/msteams/src/inbound.test.ts index 23d4a4f18a32..f1a40ff59093 100644 --- a/extensions/msteams/src/inbound.test.ts +++ b/extensions/msteams/src/inbound.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover inbound plugin behavior. import { describe, expect, it } from "vitest"; import { decodeHtmlEntities, diff --git a/extensions/msteams/src/inbound.ts b/extensions/msteams/src/inbound.ts index 5b5681bbe2cf..4eb2312a6332 100644 --- a/extensions/msteams/src/inbound.ts +++ b/extensions/msteams/src/inbound.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements inbound behavior. type MSTeamsQuoteInfo = { sender: string; body: string; diff --git a/extensions/msteams/src/index.ts b/extensions/msteams/src/index.ts index 375a2bbd7afd..66020df778f5 100644 --- a/extensions/msteams/src/index.ts +++ b/extensions/msteams/src/index.ts @@ -1,3 +1,4 @@ +// Msteams plugin entrypoint registers its OpenClaw integration. export { monitorMSTeamsProvider } from "./monitor.js"; export { probeMSTeams } from "./probe.js"; export { sendMessageMSTeams, sendPollMSTeams } from "./send.js"; diff --git a/extensions/msteams/src/media-helpers.test.ts b/extensions/msteams/src/media-helpers.test.ts index 9deed70e124f..dffb932560f7 100644 --- a/extensions/msteams/src/media-helpers.test.ts +++ b/extensions/msteams/src/media-helpers.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover media helpers plugin behavior. import { describe, expect, it } from "vitest"; import { extractFilename, extractMessageId, getMimeType, isLocalPath } from "./media-helpers.js"; diff --git a/extensions/msteams/src/mentions.test.ts b/extensions/msteams/src/mentions.test.ts index 0f4046bfe386..b042c25f5e69 100644 --- a/extensions/msteams/src/mentions.test.ts +++ b/extensions/msteams/src/mentions.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover mentions plugin behavior. import { describe, expect, it } from "vitest"; import { buildMentionEntities, formatMentionText, parseMentions } from "./mentions.js"; diff --git a/extensions/msteams/src/messenger.test.ts b/extensions/msteams/src/messenger.test.ts index 177aa3f17112..09091b7f5867 100644 --- a/extensions/msteams/src/messenger.test.ts +++ b/extensions/msteams/src/messenger.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover messenger plugin behavior. import { mkdtemp, rm, writeFile } from "node:fs/promises"; import path from "node:path"; import { SILENT_REPLY_TOKEN } from "openclaw/plugin-sdk/reply-chunking"; diff --git a/extensions/msteams/src/messenger.ts b/extensions/msteams/src/messenger.ts index 4ce95cc7f9c9..030dc0d1b23e 100644 --- a/extensions/msteams/src/messenger.ts +++ b/extensions/msteams/src/messenger.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements messenger behavior. import { isSilentReplyText, SILENT_REPLY_TOKEN, diff --git a/extensions/msteams/src/monitor-handler.adaptive-card.test.ts b/extensions/msteams/src/monitor-handler.adaptive-card.test.ts index 2b6e71ec1d74..4df9857ca8cd 100644 --- a/extensions/msteams/src/monitor-handler.adaptive-card.test.ts +++ b/extensions/msteams/src/monitor-handler.adaptive-card.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover monitor handler.adaptive card plugin behavior. import { beforeEach, describe, expect, it, vi } from "vitest"; import type { OpenClawConfig, RuntimeEnv } from "../runtime-api.js"; import type { MSTeamsConversationStore } from "./conversation-store.js"; diff --git a/extensions/msteams/src/monitor-handler.feedback-authz.test.ts b/extensions/msteams/src/monitor-handler.feedback-authz.test.ts index 540f4b0bf3e7..3a9c306fe75d 100644 --- a/extensions/msteams/src/monitor-handler.feedback-authz.test.ts +++ b/extensions/msteams/src/monitor-handler.feedback-authz.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover monitor handler.feedback authz plugin behavior. import { access, mkdtemp, readFile, rm } from "node:fs/promises"; import { tmpdir } from "node:os"; import path from "node:path"; diff --git a/extensions/msteams/src/monitor-handler.file-consent.test.ts b/extensions/msteams/src/monitor-handler.file-consent.test.ts index 05380bc09203..e7e877e20d10 100644 --- a/extensions/msteams/src/monitor-handler.file-consent.test.ts +++ b/extensions/msteams/src/monitor-handler.file-consent.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover monitor handler.file consent plugin behavior. import fs from "node:fs"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/msteams/src/monitor-handler.sso.test.ts b/extensions/msteams/src/monitor-handler.sso.test.ts index 24a61429c5d4..054f7123b114 100644 --- a/extensions/msteams/src/monitor-handler.sso.test.ts +++ b/extensions/msteams/src/monitor-handler.sso.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover monitor handler.sso plugin behavior. import { describe, expect, it, vi } from "vitest"; import { createMSTeamsSsoTokenStoreMemory } from "./sso-token-store.js"; import { diff --git a/extensions/msteams/src/monitor-handler.test-helpers.ts b/extensions/msteams/src/monitor-handler.test-helpers.ts index 03e143f3501c..7cd537ebad4c 100644 --- a/extensions/msteams/src/monitor-handler.test-helpers.ts +++ b/extensions/msteams/src/monitor-handler.test-helpers.ts @@ -1,3 +1,4 @@ +// Msteams helper module supports monitor handler helpers behavior. import type { PreparedInboundReply } from "openclaw/plugin-sdk/channel-inbound"; import { vi } from "vitest"; import type { OpenClawConfig, PluginRuntime, RuntimeEnv } from "../runtime-api.js"; diff --git a/extensions/msteams/src/monitor-handler.ts b/extensions/msteams/src/monitor-handler.ts index 3db3ce24e269..13122d474e25 100644 --- a/extensions/msteams/src/monitor-handler.ts +++ b/extensions/msteams/src/monitor-handler.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements monitor handler behavior. import { normalizeOptionalLowercaseString } from "openclaw/plugin-sdk/string-coerce-runtime"; import { formatUnknownError } from "./errors.js"; import { resolveMSTeamsSenderAccess } from "./monitor-handler/access.js"; diff --git a/extensions/msteams/src/monitor-handler.types.ts b/extensions/msteams/src/monitor-handler.types.ts index 5b3bbd1bd184..75143fe8afea 100644 --- a/extensions/msteams/src/monitor-handler.types.ts +++ b/extensions/msteams/src/monitor-handler.types.ts @@ -1,3 +1,4 @@ +// Msteams type declarations define plugin contracts. import type { OpenClawConfig, RuntimeEnv } from "../runtime-api.js"; import type { MSTeamsConversationStore } from "./conversation-store.js"; import type { MSTeamsMonitorLogger } from "./monitor-types.js"; diff --git a/extensions/msteams/src/monitor-handler/access.ts b/extensions/msteams/src/monitor-handler/access.ts index 27af1e7066e2..dcdd2ae96e5a 100644 --- a/extensions/msteams/src/monitor-handler/access.ts +++ b/extensions/msteams/src/monitor-handler/access.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements access behavior. import { channelIngressRoutes, resolveStableChannelMessageIngress, diff --git a/extensions/msteams/src/monitor-handler/inbound-media.test.ts b/extensions/msteams/src/monitor-handler/inbound-media.test.ts index 98afe4f05ea1..b1e933432871 100644 --- a/extensions/msteams/src/monitor-handler/inbound-media.test.ts +++ b/extensions/msteams/src/monitor-handler/inbound-media.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover inbound media plugin behavior. import { describe, expect, it, vi } from "vitest"; vi.mock("../attachments.js", () => ({ diff --git a/extensions/msteams/src/monitor-handler/inbound-media.ts b/extensions/msteams/src/monitor-handler/inbound-media.ts index 0ae868e95e73..4e52d947ae8a 100644 --- a/extensions/msteams/src/monitor-handler/inbound-media.ts +++ b/extensions/msteams/src/monitor-handler/inbound-media.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements inbound media behavior. import { buildMSTeamsGraphMessageUrls, downloadMSTeamsAttachments, diff --git a/extensions/msteams/src/monitor-handler/message-handler-mock-support.test-support.ts b/extensions/msteams/src/monitor-handler/message-handler-mock-support.test-support.ts index 0ab7fad9eab1..094e4d13d8e0 100644 --- a/extensions/msteams/src/monitor-handler/message-handler-mock-support.test-support.ts +++ b/extensions/msteams/src/monitor-handler/message-handler-mock-support.test-support.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements message handler mock support support behavior. import { vi } from "vitest"; const runtimeApiMockState = vi.hoisted(() => ({ diff --git a/extensions/msteams/src/monitor-handler/message-handler.authz.test.ts b/extensions/msteams/src/monitor-handler/message-handler.authz.test.ts index a76cd6ad85e2..9bc7f48793c8 100644 --- a/extensions/msteams/src/monitor-handler/message-handler.authz.test.ts +++ b/extensions/msteams/src/monitor-handler/message-handler.authz.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover message handler.authz plugin behavior. import { createInboundDebouncer } from "openclaw/plugin-sdk/channel-inbound-debounce"; import { describe, expect, it, vi } from "vitest"; import type { OpenClawConfig, PluginRuntime } from "../../runtime-api.js"; diff --git a/extensions/msteams/src/monitor-handler/message-handler.dm-media.test.ts b/extensions/msteams/src/monitor-handler/message-handler.dm-media.test.ts index bfeabd9cb71d..a0115b739920 100644 --- a/extensions/msteams/src/monitor-handler/message-handler.dm-media.test.ts +++ b/extensions/msteams/src/monitor-handler/message-handler.dm-media.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover message handlerm media plugin behavior. import { describe, expect, it } from "vitest"; import { translateMSTeamsDmConversationIdForGraph } from "../inbound.js"; diff --git a/extensions/msteams/src/monitor-handler/message-handler.test-support.ts b/extensions/msteams/src/monitor-handler/message-handler.test-support.ts index cd5b3b7b3650..f3806cc05143 100644 --- a/extensions/msteams/src/monitor-handler/message-handler.test-support.ts +++ b/extensions/msteams/src/monitor-handler/message-handler.test-support.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements message handler support behavior. import { vi } from "vitest"; import type { OpenClawConfig, PluginRuntime, RuntimeEnv } from "../../runtime-api.js"; import type { MSTeamsMessageHandlerDeps } from "../monitor-handler.js"; diff --git a/extensions/msteams/src/monitor-handler/message-handler.thread-parent.test.ts b/extensions/msteams/src/monitor-handler/message-handler.thread-parent.test.ts index 5a0b989955f2..c0f5ecc063df 100644 --- a/extensions/msteams/src/monitor-handler/message-handler.thread-parent.test.ts +++ b/extensions/msteams/src/monitor-handler/message-handler.thread-parent.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover message handler.thread parent plugin behavior. import { beforeEach, describe, expect, it, vi } from "vitest"; import type { OpenClawConfig } from "../../runtime-api.js"; import { resetThreadParentContextCachesForTest } from "../thread-parent-context.js"; diff --git a/extensions/msteams/src/monitor-handler/message-handler.thread-session.test.ts b/extensions/msteams/src/monitor-handler/message-handler.thread-session.test.ts index 4ea442ffc8c4..7f04e0a377e6 100644 --- a/extensions/msteams/src/monitor-handler/message-handler.thread-session.test.ts +++ b/extensions/msteams/src/monitor-handler/message-handler.thread-session.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover message handler.thread session plugin behavior. import { describe, expect, it } from "vitest"; import { resolveMSTeamsRouteSessionKey } from "./thread-session.js"; diff --git a/extensions/msteams/src/monitor-handler/message-handler.ts b/extensions/msteams/src/monitor-handler/message-handler.ts index 4b0969b3472a..66c02a3b2e95 100644 --- a/extensions/msteams/src/monitor-handler/message-handler.ts +++ b/extensions/msteams/src/monitor-handler/message-handler.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements message handler behavior. import { formatAllowlistMatchMeta } from "openclaw/plugin-sdk/allow-from"; import { buildChannelInboundEventContext, diff --git a/extensions/msteams/src/monitor-handler/reaction-handler.test.ts b/extensions/msteams/src/monitor-handler/reaction-handler.test.ts index d1dd50216883..43e3746c0519 100644 --- a/extensions/msteams/src/monitor-handler/reaction-handler.test.ts +++ b/extensions/msteams/src/monitor-handler/reaction-handler.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover reaction handler plugin behavior. import { describe, expect, it, vi } from "vitest"; import type { OpenClawConfig, PluginRuntime } from "../../runtime-api.js"; import type { MSTeamsMessageHandlerDeps } from "../monitor-handler.js"; diff --git a/extensions/msteams/src/monitor-handler/reaction-handler.ts b/extensions/msteams/src/monitor-handler/reaction-handler.ts index 2490c89149cc..328c1815caa6 100644 --- a/extensions/msteams/src/monitor-handler/reaction-handler.ts +++ b/extensions/msteams/src/monitor-handler/reaction-handler.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements reaction handler behavior. import { normalizeMSTeamsConversationId } from "../inbound.js"; import type { MSTeamsMessageHandlerDeps } from "../monitor-handler.types.js"; import { getMSTeamsRuntime } from "../runtime.js"; diff --git a/extensions/msteams/src/monitor-handler/thread-session.ts b/extensions/msteams/src/monitor-handler/thread-session.ts index b28f06226cc0..68976a41e09f 100644 --- a/extensions/msteams/src/monitor-handler/thread-session.ts +++ b/extensions/msteams/src/monitor-handler/thread-session.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements thread session behavior. import { resolveThreadSessionKeys } from "openclaw/plugin-sdk/routing"; // Strip any trailing `:thread:` segments from a session key. Thread ids are diff --git a/extensions/msteams/src/monitor-types.ts b/extensions/msteams/src/monitor-types.ts index c8674c2dce59..8555dbfd45a7 100644 --- a/extensions/msteams/src/monitor-types.ts +++ b/extensions/msteams/src/monitor-types.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements monitor types behavior. export type MSTeamsMonitorLogger = { debug?: (message: string, meta?: Record) => void; info: (message: string, meta?: Record) => void; diff --git a/extensions/msteams/src/monitor.lifecycle.test.ts b/extensions/msteams/src/monitor.lifecycle.test.ts index 93827c7417d1..e8b3528d19e7 100644 --- a/extensions/msteams/src/monitor.lifecycle.test.ts +++ b/extensions/msteams/src/monitor.lifecycle.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover monitor.lifecycle plugin behavior. import { EventEmitter } from "node:events"; import type { Request, Response } from "express"; import { afterEach, describe, expect, it, vi } from "vitest"; diff --git a/extensions/msteams/src/monitor.test.ts b/extensions/msteams/src/monitor.test.ts index 0d21bf2758f5..298d35d33a7b 100644 --- a/extensions/msteams/src/monitor.test.ts +++ b/extensions/msteams/src/monitor.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover monitor plugin behavior. import { once } from "node:events"; import type { Server } from "node:http"; import { createConnection, type AddressInfo } from "node:net"; diff --git a/extensions/msteams/src/monitor.ts b/extensions/msteams/src/monitor.ts index f621f09b53bf..7d9b2f5ea1e8 100644 --- a/extensions/msteams/src/monitor.ts +++ b/extensions/msteams/src/monitor.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements monitor behavior. import type { Request, Response } from "express"; import { DEFAULT_WEBHOOK_MAX_BODY_BYTES, diff --git a/extensions/msteams/src/oauth.flow.ts b/extensions/msteams/src/oauth.flow.ts index a5d4ad49fcff..794e642668f4 100644 --- a/extensions/msteams/src/oauth.flow.ts +++ b/extensions/msteams/src/oauth.flow.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements oauth.flow behavior. import { generateHexPkceVerifierChallenge } from "openclaw/plugin-sdk/provider-auth"; import { generateOAuthState, diff --git a/extensions/msteams/src/oauth.shared.ts b/extensions/msteams/src/oauth.shared.ts index 3c06158ff81c..b3c1617d7735 100644 --- a/extensions/msteams/src/oauth.shared.ts +++ b/extensions/msteams/src/oauth.shared.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements oauth.shared behavior. export const MSTEAMS_OAUTH_REDIRECT_URI = "http://localhost:8086/oauth2callback"; export const MSTEAMS_OAUTH_CALLBACK_PORT = 8086; export const MSTEAMS_OAUTH_CALLBACK_PATH = "/oauth2callback"; diff --git a/extensions/msteams/src/oauth.test.ts b/extensions/msteams/src/oauth.test.ts index 7b8e02cce6da..39135a87187e 100644 --- a/extensions/msteams/src/oauth.test.ts +++ b/extensions/msteams/src/oauth.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover oauth plugin behavior. import { createHash } from "node:crypto"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; diff --git a/extensions/msteams/src/oauth.token.ts b/extensions/msteams/src/oauth.token.ts index 1e8446863b27..ca5d38759b84 100644 --- a/extensions/msteams/src/oauth.token.ts +++ b/extensions/msteams/src/oauth.token.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements oauth.token behavior. import { resolveExpiresAtMsFromDurationSeconds } from "openclaw/plugin-sdk/number-runtime"; import { readProviderJsonResponse } from "openclaw/plugin-sdk/provider-http"; import { fetchWithSsrFGuard } from "openclaw/plugin-sdk/ssrf-runtime"; diff --git a/extensions/msteams/src/oauth.ts b/extensions/msteams/src/oauth.ts index 293fc3904cab..4cd01bf03404 100644 --- a/extensions/msteams/src/oauth.ts +++ b/extensions/msteams/src/oauth.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements oauth behavior. import { buildMSTeamsAuthUrl, generateOAuthState, diff --git a/extensions/msteams/src/outbound.test.ts b/extensions/msteams/src/outbound.test.ts index 4dea824c2123..4466626fa923 100644 --- a/extensions/msteams/src/outbound.test.ts +++ b/extensions/msteams/src/outbound.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover outbound plugin behavior. import { beforeEach, describe, expect, it, vi } from "vitest"; import type { OpenClawConfig } from "../runtime-api.js"; diff --git a/extensions/msteams/src/outbound.ts b/extensions/msteams/src/outbound.ts index 023120674570..f991250229e5 100644 --- a/extensions/msteams/src/outbound.ts +++ b/extensions/msteams/src/outbound.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements outbound behavior. import { resolveOutboundSendDep, type OutboundSendDeps, diff --git a/extensions/msteams/src/pending-uploads-fs.test.ts b/extensions/msteams/src/pending-uploads-fs.test.ts index d81f4c012f27..4e8dc3261e51 100644 --- a/extensions/msteams/src/pending-uploads-fs.test.ts +++ b/extensions/msteams/src/pending-uploads-fs.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover pending uploads fs plugin behavior. import fs from "node:fs"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/msteams/src/pending-uploads-fs.ts b/extensions/msteams/src/pending-uploads-fs.ts index 1a3ade1341a2..b82e91724b46 100644 --- a/extensions/msteams/src/pending-uploads-fs.ts +++ b/extensions/msteams/src/pending-uploads-fs.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements pending uploads fs behavior. import { createHash } from "node:crypto"; import type { PluginStateKeyedStore } from "openclaw/plugin-sdk/plugin-state-runtime"; import { getMSTeamsRuntime } from "./runtime.js"; diff --git a/extensions/msteams/src/pending-uploads.test.ts b/extensions/msteams/src/pending-uploads.test.ts index 2bfc67bec1e9..da971f404cec 100644 --- a/extensions/msteams/src/pending-uploads.test.ts +++ b/extensions/msteams/src/pending-uploads.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover pending uploads plugin behavior. import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import { clearPendingUploads, diff --git a/extensions/msteams/src/policy.test.ts b/extensions/msteams/src/policy.test.ts index 314a02b731c3..fb65fb3dd3fc 100644 --- a/extensions/msteams/src/policy.test.ts +++ b/extensions/msteams/src/policy.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover policy plugin behavior. import { describe, expect, it } from "vitest"; import type { MSTeamsConfig } from "../runtime-api.js"; import { resolveMSTeamsReplyPolicy, resolveMSTeamsRouteConfig } from "./policy.js"; diff --git a/extensions/msteams/src/policy.ts b/extensions/msteams/src/policy.ts index 19d133289180..18736d7857f2 100644 --- a/extensions/msteams/src/policy.ts +++ b/extensions/msteams/src/policy.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements policy behavior. import type { AllowlistMatch, ChannelGroupContext, diff --git a/extensions/msteams/src/polls-store-memory.ts b/extensions/msteams/src/polls-store-memory.ts index d3fc7b11a5d8..3b75c1e8854e 100644 --- a/extensions/msteams/src/polls-store-memory.ts +++ b/extensions/msteams/src/polls-store-memory.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements polls store memory behavior. import { type MSTeamsPoll, type MSTeamsPollStore, diff --git a/extensions/msteams/src/polls.test.ts b/extensions/msteams/src/polls.test.ts index 269b5ea3b29d..452b545037c1 100644 --- a/extensions/msteams/src/polls.test.ts +++ b/extensions/msteams/src/polls.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover polls plugin behavior. import crypto from "node:crypto"; import fs from "node:fs"; import os from "node:os"; diff --git a/extensions/msteams/src/polls.ts b/extensions/msteams/src/polls.ts index 82b93e03b2cd..9c046c513955 100644 --- a/extensions/msteams/src/polls.ts +++ b/extensions/msteams/src/polls.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements polls behavior. import crypto from "node:crypto"; import { parseStrictNonNegativeInteger } from "openclaw/plugin-sdk/number-runtime"; import { diff --git a/extensions/msteams/src/presentation.ts b/extensions/msteams/src/presentation.ts index aaef36adcb59..b0449cbde461 100644 --- a/extensions/msteams/src/presentation.ts +++ b/extensions/msteams/src/presentation.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements presentation behavior. import { adaptMessagePresentationForChannel, resolveMessagePresentationControlValue, diff --git a/extensions/msteams/src/probe.test.ts b/extensions/msteams/src/probe.test.ts index a63bffef0051..0bbe7b8c19e3 100644 --- a/extensions/msteams/src/probe.test.ts +++ b/extensions/msteams/src/probe.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover probe plugin behavior. import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import type { MSTeamsConfig } from "../runtime-api.js"; diff --git a/extensions/msteams/src/probe.ts b/extensions/msteams/src/probe.ts index d30e3f9c4159..e9df811b63ef 100644 --- a/extensions/msteams/src/probe.ts +++ b/extensions/msteams/src/probe.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements probe behavior. import { isFutureDateTimestampMs } from "openclaw/plugin-sdk/number-runtime"; import { normalizeStringEntries, diff --git a/extensions/msteams/src/reply-dispatcher.test.ts b/extensions/msteams/src/reply-dispatcher.test.ts index d61b5bf13dcf..065caae0f1c5 100644 --- a/extensions/msteams/src/reply-dispatcher.test.ts +++ b/extensions/msteams/src/reply-dispatcher.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover reply dispatcher plugin behavior. import { beforeEach, describe, expect, it, vi } from "vitest"; const createChannelMessageReplyPipelineMock = vi.hoisted(() => vi.fn()); diff --git a/extensions/msteams/src/reply-dispatcher.ts b/extensions/msteams/src/reply-dispatcher.ts index 80bfce031d12..9dfe2ff8d9ff 100644 --- a/extensions/msteams/src/reply-dispatcher.ts +++ b/extensions/msteams/src/reply-dispatcher.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements reply dispatcher behavior. import { buildChannelProgressDraftLine, buildChannelProgressDraftLineForEntry, diff --git a/extensions/msteams/src/reply-stream-controller.test.ts b/extensions/msteams/src/reply-stream-controller.test.ts index 3d697abc1ed7..cf5c7380f874 100644 --- a/extensions/msteams/src/reply-stream-controller.test.ts +++ b/extensions/msteams/src/reply-stream-controller.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover reply stream controller plugin behavior. import { describe, expect, it, vi } from "vitest"; import { createTeamsReplyStreamController } from "./reply-stream-controller.js"; diff --git a/extensions/msteams/src/reply-stream-controller.ts b/extensions/msteams/src/reply-stream-controller.ts index 27c886ddb91e..219f5f809e77 100644 --- a/extensions/msteams/src/reply-stream-controller.ts +++ b/extensions/msteams/src/reply-stream-controller.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements reply stream controller behavior. import { createChannelProgressDraftGate, type ChannelProgressDraftLine, diff --git a/extensions/msteams/src/resolve-allowlist.test.ts b/extensions/msteams/src/resolve-allowlist.test.ts index a88d7857be89..221092bf74d2 100644 --- a/extensions/msteams/src/resolve-allowlist.test.ts +++ b/extensions/msteams/src/resolve-allowlist.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover resolve allowlist plugin behavior. import { beforeEach, describe, expect, it, vi } from "vitest"; const { diff --git a/extensions/msteams/src/resolve-allowlist.ts b/extensions/msteams/src/resolve-allowlist.ts index 4efedfacacfd..74435f1ffdbc 100644 --- a/extensions/msteams/src/resolve-allowlist.ts +++ b/extensions/msteams/src/resolve-allowlist.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements resolve allowlist behavior. import { mapAllowlistResolutionInputs } from "openclaw/plugin-sdk/allow-from"; import { normalizeLowercaseStringOrEmpty, diff --git a/extensions/msteams/src/revoked-context.ts b/extensions/msteams/src/revoked-context.ts index a8ac18594349..c3b0eb8c23ee 100644 --- a/extensions/msteams/src/revoked-context.ts +++ b/extensions/msteams/src/revoked-context.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements revoked context behavior. import { isRevokedProxyError } from "./errors.js"; export async function withRevokedProxyFallback(params: { diff --git a/extensions/msteams/src/runtime.ts b/extensions/msteams/src/runtime.ts index 52370e2a037f..5501301c1ec8 100644 --- a/extensions/msteams/src/runtime.ts +++ b/extensions/msteams/src/runtime.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements runtime behavior. import { createPluginRuntimeStore } from "openclaw/plugin-sdk/runtime-store"; import type { PluginRuntime } from "openclaw/plugin-sdk/runtime-store"; diff --git a/extensions/msteams/src/sdk-proactive.test.ts b/extensions/msteams/src/sdk-proactive.test.ts index 48ed5046b200..ce1a4a7b73e1 100644 --- a/extensions/msteams/src/sdk-proactive.test.ts +++ b/extensions/msteams/src/sdk-proactive.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover sdk proactive plugin behavior. import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import { sendMSTeamsActivityWithReference } from "./sdk-proactive.js"; import type { MSTeamsApp } from "./sdk.js"; diff --git a/extensions/msteams/src/sdk-proactive.ts b/extensions/msteams/src/sdk-proactive.ts index df27211798a7..df70e1d3158c 100644 --- a/extensions/msteams/src/sdk-proactive.ts +++ b/extensions/msteams/src/sdk-proactive.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements sdk proactive behavior. import { normalizeBotFrameworkServiceUrl } from "./bot-framework-service-url.js"; import { validateMSTeamsProactiveServiceUrlBoundary, diff --git a/extensions/msteams/src/sdk.test.ts b/extensions/msteams/src/sdk.test.ts index 37e04be981ee..c6c08bd74be3 100644 --- a/extensions/msteams/src/sdk.test.ts +++ b/extensions/msteams/src/sdk.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover sdk plugin behavior. import * as fs from "node:fs"; import { afterEach, describe, expect, it, vi } from "vitest"; import { createMSTeamsApp, createMSTeamsTokenProvider } from "./sdk.js"; diff --git a/extensions/msteams/src/sdk.ts b/extensions/msteams/src/sdk.ts index 84e97c50669c..7bd7bd2353ce 100644 --- a/extensions/msteams/src/sdk.ts +++ b/extensions/msteams/src/sdk.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements sdk behavior. import * as fs from "node:fs"; import { normalizeBotFrameworkServiceUrl } from "./bot-framework-service-url.js"; import type { MSTeamsCloudName } from "./cloud.js"; diff --git a/extensions/msteams/src/secret-contract.ts b/extensions/msteams/src/secret-contract.ts index 3a28367a8b64..6465f7b1f95f 100644 --- a/extensions/msteams/src/secret-contract.ts +++ b/extensions/msteams/src/secret-contract.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements secret contract behavior. import { collectSecretInputAssignment, getChannelRecord, diff --git a/extensions/msteams/src/secret-input.ts b/extensions/msteams/src/secret-input.ts index 7fd9bc2aa335..9c27a999d687 100644 --- a/extensions/msteams/src/secret-input.ts +++ b/extensions/msteams/src/secret-input.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements secret input behavior. import { hasConfiguredSecretInput, normalizeResolvedSecretInputString, diff --git a/extensions/msteams/src/send-context.test.ts b/extensions/msteams/src/send-context.test.ts index 533b43ea6d52..60e17f0dd905 100644 --- a/extensions/msteams/src/send-context.test.ts +++ b/extensions/msteams/src/send-context.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover send context plugin behavior. import { beforeEach, describe, expect, it, vi } from "vitest"; import type { MSTeamsConfig, OpenClawConfig } from "../runtime-api.js"; import type { StoredConversationReference } from "./conversation-store.js"; diff --git a/extensions/msteams/src/send-context.ts b/extensions/msteams/src/send-context.ts index 494f61437af4..f59263e50e98 100644 --- a/extensions/msteams/src/send-context.ts +++ b/extensions/msteams/src/send-context.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements send context behavior. import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime"; import { resolveChannelMediaMaxBytes, diff --git a/extensions/msteams/src/send.test.ts b/extensions/msteams/src/send.test.ts index ff15f35eead1..a236509bac16 100644 --- a/extensions/msteams/src/send.test.ts +++ b/extensions/msteams/src/send.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover send plugin behavior. import { beforeEach, describe, expect, it, vi } from "vitest"; import type { OpenClawConfig } from "../runtime-api.js"; import { deleteMessageMSTeams, editMessageMSTeams, sendMessageMSTeams } from "./send.js"; diff --git a/extensions/msteams/src/send.ts b/extensions/msteams/src/send.ts index ef0d004654c8..c3c660936dc5 100644 --- a/extensions/msteams/src/send.ts +++ b/extensions/msteams/src/send.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements send behavior. import { createMessageReceiptFromOutboundResults, type MessageReceipt, diff --git a/extensions/msteams/src/sent-message-cache.test.ts b/extensions/msteams/src/sent-message-cache.test.ts index 772539db0dc1..c4030bac6d62 100644 --- a/extensions/msteams/src/sent-message-cache.test.ts +++ b/extensions/msteams/src/sent-message-cache.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover sent message cache plugin behavior. import { afterEach, describe, expect, it, vi } from "vitest"; import { setMSTeamsRuntime } from "./runtime.js"; import { diff --git a/extensions/msteams/src/sent-message-cache.ts b/extensions/msteams/src/sent-message-cache.ts index 12d0483e909c..4ff25602a420 100644 --- a/extensions/msteams/src/sent-message-cache.ts +++ b/extensions/msteams/src/sent-message-cache.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements sent message cache behavior. import { getOptionalMSTeamsRuntime } from "./runtime.js"; const TTL_MS = 24 * 60 * 60 * 1000; diff --git a/extensions/msteams/src/session-route.ts b/extensions/msteams/src/session-route.ts index 80c95cc5d6ff..158ba35dfd72 100644 --- a/extensions/msteams/src/session-route.ts +++ b/extensions/msteams/src/session-route.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements session route behavior. import { buildChannelOutboundSessionRoute, stripChannelTargetPrefix, diff --git a/extensions/msteams/src/setup-core.ts b/extensions/msteams/src/setup-core.ts index 436761efd4f7..24d291daaccc 100644 --- a/extensions/msteams/src/setup-core.ts +++ b/extensions/msteams/src/setup-core.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements setup core behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { createStandardChannelSetupStatus, diff --git a/extensions/msteams/src/setup-surface.test.ts b/extensions/msteams/src/setup-surface.test.ts index c50e27946ff6..d3ce9c42416f 100644 --- a/extensions/msteams/src/setup-surface.test.ts +++ b/extensions/msteams/src/setup-surface.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover setup surface plugin behavior. import { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/setup"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import { createMSTeamsSetupWizardBase, msteamsSetupAdapter } from "./setup-core.js"; diff --git a/extensions/msteams/src/setup-surface.ts b/extensions/msteams/src/setup-surface.ts index c5a958d7a883..276db654a8be 100644 --- a/extensions/msteams/src/setup-surface.ts +++ b/extensions/msteams/src/setup-surface.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements setup surface behavior. import { createTopLevelChannelAllowFromSetter, createTopLevelChannelDmPolicy, diff --git a/extensions/msteams/src/sqlite-state.ts b/extensions/msteams/src/sqlite-state.ts index 5c552030c2b8..7e9086d5a8c9 100644 --- a/extensions/msteams/src/sqlite-state.ts +++ b/extensions/msteams/src/sqlite-state.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements sqlite state behavior. import path from "node:path"; import { getMSTeamsRuntime } from "./runtime.js"; import { withFileLock } from "./store-fs.js"; diff --git a/extensions/msteams/src/sso-token-store.test.ts b/extensions/msteams/src/sso-token-store.test.ts index a4a6ec3ff3ad..2fba3705b15b 100644 --- a/extensions/msteams/src/sso-token-store.test.ts +++ b/extensions/msteams/src/sso-token-store.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover sso token store plugin behavior. import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/msteams/src/storage.ts b/extensions/msteams/src/storage.ts index 70a97f468d73..09b79434b654 100644 --- a/extensions/msteams/src/storage.ts +++ b/extensions/msteams/src/storage.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements storage behavior. import path from "node:path"; import { getMSTeamsRuntime } from "./runtime.js"; diff --git a/extensions/msteams/src/store-fs.ts b/extensions/msteams/src/store-fs.ts index a256a2912abb..a81c86088eec 100644 --- a/extensions/msteams/src/store-fs.ts +++ b/extensions/msteams/src/store-fs.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements store fs behavior. import { withFileLock as withPathLock } from "openclaw/plugin-sdk/file-lock"; import { writeJsonFileAtomically } from "openclaw/plugin-sdk/json-store"; import { pathExists } from "openclaw/plugin-sdk/security-runtime"; diff --git a/extensions/msteams/src/test-support/runtime.ts b/extensions/msteams/src/test-support/runtime.ts index 8b475e5fd693..6607634c57c2 100644 --- a/extensions/msteams/src/test-support/runtime.ts +++ b/extensions/msteams/src/test-support/runtime.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements runtime behavior. import os from "node:os"; import path from "node:path"; import type { OpenKeyedStoreOptions } from "openclaw/plugin-sdk/plugin-state-runtime"; diff --git a/extensions/msteams/src/thread-parent-context.test.ts b/extensions/msteams/src/thread-parent-context.test.ts index b142db38ef10..c52d24c5618d 100644 --- a/extensions/msteams/src/thread-parent-context.test.ts +++ b/extensions/msteams/src/thread-parent-context.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover thread parent context plugin behavior. import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import type { GraphThreadMessage } from "./graph-thread.js"; import { diff --git a/extensions/msteams/src/token-response.ts b/extensions/msteams/src/token-response.ts index b08804b1c45d..f5c5c46ad452 100644 --- a/extensions/msteams/src/token-response.ts +++ b/extensions/msteams/src/token-response.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements token response behavior. export function readAccessToken(value: unknown): string | null { if (typeof value === "string") { return value; diff --git a/extensions/msteams/src/token.test.ts b/extensions/msteams/src/token.test.ts index dfb176e1a174..efde22498550 100644 --- a/extensions/msteams/src/token.test.ts +++ b/extensions/msteams/src/token.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover token plugin behavior. import { mkdtempSync, rmSync, writeFileSync } from "node:fs"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/msteams/src/token.ts b/extensions/msteams/src/token.ts index e0692118f42c..ad496c2d74b9 100644 --- a/extensions/msteams/src/token.ts +++ b/extensions/msteams/src/token.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements token behavior. import { readFileSync } from "node:fs"; import { basename, dirname } from "node:path"; import { isFutureDateTimestampMs } from "openclaw/plugin-sdk/number-runtime"; diff --git a/extensions/msteams/src/user-agent.test.ts b/extensions/msteams/src/user-agent.test.ts index b4a696420624..a770cc171b56 100644 --- a/extensions/msteams/src/user-agent.test.ts +++ b/extensions/msteams/src/user-agent.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover user agent plugin behavior. import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; // Mock the runtime before importing buildUserAgent diff --git a/extensions/msteams/src/user-agent.ts b/extensions/msteams/src/user-agent.ts index 1fed877dc53f..7bd400af4d2c 100644 --- a/extensions/msteams/src/user-agent.ts +++ b/extensions/msteams/src/user-agent.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements user agent behavior. import { createRequire } from "node:module"; import { getMSTeamsRuntime } from "./runtime.js"; diff --git a/extensions/msteams/src/webhook-timeouts.ts b/extensions/msteams/src/webhook-timeouts.ts index 4576ad54c343..9ef60571e1f0 100644 --- a/extensions/msteams/src/webhook-timeouts.ts +++ b/extensions/msteams/src/webhook-timeouts.ts @@ -1,3 +1,4 @@ +// Msteams plugin module implements webhook timeouts behavior. import type { Server } from "node:http"; const MSTEAMS_WEBHOOK_INACTIVITY_TIMEOUT_MS = 30_000; diff --git a/extensions/msteams/src/welcome-card.test.ts b/extensions/msteams/src/welcome-card.test.ts index 1ce318d3cc4e..b9e068be029c 100644 --- a/extensions/msteams/src/welcome-card.test.ts +++ b/extensions/msteams/src/welcome-card.test.ts @@ -1,3 +1,4 @@ +// Msteams tests cover welcome card plugin behavior. import { describe, expect, it } from "vitest"; import { buildMSTeamsPresentationCard } from "./presentation.js"; import { buildGroupWelcomeText, buildWelcomeCard } from "./welcome-card.js"; diff --git a/extensions/msteams/test-api.ts b/extensions/msteams/test-api.ts index 36c93f4ea871..761777f53ced 100644 --- a/extensions/msteams/test-api.ts +++ b/extensions/msteams/test-api.ts @@ -1 +1,2 @@ +// Msteams API module exposes the plugin public contract. export { msteamsPlugin } from "./src/channel.js"; diff --git a/extensions/qa-lab/api.ts b/extensions/qa-lab/api.ts index fdf7e82342f6..438389cb2e21 100644 --- a/extensions/qa-lab/api.ts +++ b/extensions/qa-lab/api.ts @@ -1,3 +1,4 @@ +// Qa Lab API module exposes the plugin public contract. export { buildQaBusSnapshot, cloneEvent, diff --git a/extensions/qa-lab/bus-api.ts b/extensions/qa-lab/bus-api.ts index 5194941d3f21..0f83a981031b 100644 --- a/extensions/qa-lab/bus-api.ts +++ b/extensions/qa-lab/bus-api.ts @@ -1,2 +1,3 @@ +// Qa Lab API module exposes the plugin public contract. export { startQaBusServer } from "./src/bus-server.js"; export { createQaBusState } from "./src/bus-state.js"; diff --git a/extensions/qa-lab/cli-metadata.ts b/extensions/qa-lab/cli-metadata.ts index 30be0bf9da06..26456478d760 100644 --- a/extensions/qa-lab/cli-metadata.ts +++ b/extensions/qa-lab/cli-metadata.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements cli metadata behavior. import { definePluginEntry } from "openclaw/plugin-sdk/core"; export default definePluginEntry({ diff --git a/extensions/qa-lab/cli.ts b/extensions/qa-lab/cli.ts index 417b26d38bda..c8c600526324 100644 --- a/extensions/qa-lab/cli.ts +++ b/extensions/qa-lab/cli.ts @@ -1 +1,2 @@ +// Qa Lab plugin module implements cli behavior. export { isQaLabCliAvailable, registerQaLabCli } from "./src/cli.js"; diff --git a/extensions/qa-lab/index.ts b/extensions/qa-lab/index.ts index 4ade2a4e87f3..501f5ac0e057 100644 --- a/extensions/qa-lab/index.ts +++ b/extensions/qa-lab/index.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin entrypoint registers its OpenClaw integration. import { definePluginEntry } from "./runtime-api.js"; import { registerQaLabCli } from "./src/cli.js"; diff --git a/extensions/qa-lab/model-selection.ts b/extensions/qa-lab/model-selection.ts index 5673fa2aec40..dc1830036625 100644 --- a/extensions/qa-lab/model-selection.ts +++ b/extensions/qa-lab/model-selection.ts @@ -1 +1,2 @@ +// Qa Lab plugin module implements model selection behavior. export * from "./src/model-selection.js"; diff --git a/extensions/qa-lab/runtime-api.ts b/extensions/qa-lab/runtime-api.ts index fd5e39eb35e1..13546c2177f7 100644 --- a/extensions/qa-lab/runtime-api.ts +++ b/extensions/qa-lab/runtime-api.ts @@ -1,3 +1,4 @@ +// Qa Lab API module exposes the plugin public contract. export { buildQaTarget, callGatewayFromCli, diff --git a/extensions/qa-lab/src/agentic-parity-report.test.ts b/extensions/qa-lab/src/agentic-parity-report.test.ts index 39b87b3c33ef..ed3644d681f7 100644 --- a/extensions/qa-lab/src/agentic-parity-report.test.ts +++ b/extensions/qa-lab/src/agentic-parity-report.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover agentic parity report plugin behavior. import { describe, expect, it } from "vitest"; import { buildQaAgenticParityComparison, diff --git a/extensions/qa-lab/src/agentic-parity-report.ts b/extensions/qa-lab/src/agentic-parity-report.ts index 9f3a54642a64..11e95a764287 100644 --- a/extensions/qa-lab/src/agentic-parity-report.ts +++ b/extensions/qa-lab/src/agentic-parity-report.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements agentic parity report behavior. import { QA_AGENTIC_PARITY_SCENARIO_TITLES, QA_AGENTIC_PARITY_TOOL_BACKED_SCENARIO_TITLES, diff --git a/extensions/qa-lab/src/agentic-parity.ts b/extensions/qa-lab/src/agentic-parity.ts index 7d5c467cef3b..a55abeb5bb69 100644 --- a/extensions/qa-lab/src/agentic-parity.ts +++ b/extensions/qa-lab/src/agentic-parity.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements agentic parity behavior. import { uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime"; const QA_AGENTIC_PARITY_PACK = "agentic"; diff --git a/extensions/qa-lab/src/auth-profile.fixture.ts b/extensions/qa-lab/src/auth-profile.fixture.ts index 5abd30478442..3975741883fa 100644 --- a/extensions/qa-lab/src/auth-profile.fixture.ts +++ b/extensions/qa-lab/src/auth-profile.fixture.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements auth profile.fixture behavior. import fs from "node:fs/promises"; import path from "node:path"; diff --git a/extensions/qa-lab/src/browser-runtime.test.ts b/extensions/qa-lab/src/browser-runtime.test.ts index 074ec77b91fb..8a06b8d58f8f 100644 --- a/extensions/qa-lab/src/browser-runtime.test.ts +++ b/extensions/qa-lab/src/browser-runtime.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover browser runtime plugin behavior. import { MAX_TIMER_TIMEOUT_MS } from "openclaw/plugin-sdk/number-runtime"; import { beforeEach, describe, expect, it, vi } from "vitest"; import { diff --git a/extensions/qa-lab/src/browser-runtime.ts b/extensions/qa-lab/src/browser-runtime.ts index c27625e743c0..74cae2a2fea9 100644 --- a/extensions/qa-lab/src/browser-runtime.ts +++ b/extensions/qa-lab/src/browser-runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements browser runtime behavior. import { resolvePositiveTimerTimeoutMs } from "openclaw/plugin-sdk/number-runtime"; import { sleep } from "openclaw/plugin-sdk/runtime-env"; diff --git a/extensions/qa-lab/src/bundled-plugin-staging.ts b/extensions/qa-lab/src/bundled-plugin-staging.ts index 5ec3d8c041da..3007054f5997 100644 --- a/extensions/qa-lab/src/bundled-plugin-staging.ts +++ b/extensions/qa-lab/src/bundled-plugin-staging.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements bundled plugin staging behavior. import { existsSync, readdirSync, readFileSync } from "node:fs"; import fs from "node:fs/promises"; import path from "node:path"; diff --git a/extensions/qa-lab/src/bus-queries.ts b/extensions/qa-lab/src/bus-queries.ts index f515d897993b..3181ac140cce 100644 --- a/extensions/qa-lab/src/bus-queries.ts +++ b/extensions/qa-lab/src/bus-queries.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements bus queries behavior. import { normalizeOptionalLowercaseString } from "openclaw/plugin-sdk/string-coerce-runtime"; import type { QaBusAttachment, diff --git a/extensions/qa-lab/src/bus-server.test.ts b/extensions/qa-lab/src/bus-server.test.ts index 4488b3c61892..08c714dc6008 100644 --- a/extensions/qa-lab/src/bus-server.test.ts +++ b/extensions/qa-lab/src/bus-server.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover bus server plugin behavior. import { Agent, createServer, request } from "node:http"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import { closeQaHttpServer, handleQaBusRequest, startQaBusServer } from "./bus-server.js"; diff --git a/extensions/qa-lab/src/bus-server.ts b/extensions/qa-lab/src/bus-server.ts index cfceea1086e7..e44dfacaf665 100644 --- a/extensions/qa-lab/src/bus-server.ts +++ b/extensions/qa-lab/src/bus-server.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements bus server behavior. import { createServer, type IncomingMessage, type Server, type ServerResponse } from "node:http"; import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime"; import { diff --git a/extensions/qa-lab/src/bus-state.test.ts b/extensions/qa-lab/src/bus-state.test.ts index 36616ebeacee..df77d2f30867 100644 --- a/extensions/qa-lab/src/bus-state.test.ts +++ b/extensions/qa-lab/src/bus-state.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover bus state plugin behavior. import { MAX_TIMER_TIMEOUT_MS } from "openclaw/plugin-sdk/number-runtime"; import { describe, expect, it, vi } from "vitest"; import { createQaBusState } from "./bus-state.js"; diff --git a/extensions/qa-lab/src/bus-state.ts b/extensions/qa-lab/src/bus-state.ts index f89eef2293d8..e1a17019843f 100644 --- a/extensions/qa-lab/src/bus-state.ts +++ b/extensions/qa-lab/src/bus-state.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements bus state behavior. import { randomUUID } from "node:crypto"; import { sanitizeQaBusToolCalls } from "openclaw/plugin-sdk/qa-channel-protocol"; import { diff --git a/extensions/qa-lab/src/bus-waiters.ts b/extensions/qa-lab/src/bus-waiters.ts index 231abddd0605..f38b285d14e6 100644 --- a/extensions/qa-lab/src/bus-waiters.ts +++ b/extensions/qa-lab/src/bus-waiters.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements bus waiters behavior. import { resolveTimerTimeoutMs } from "openclaw/plugin-sdk/number-runtime"; import type { QaBusEvent, diff --git a/extensions/qa-lab/src/character-eval.test.ts b/extensions/qa-lab/src/character-eval.test.ts index e5db5a2ccfb2..e9d7f93c6b0f 100644 --- a/extensions/qa-lab/src/character-eval.test.ts +++ b/extensions/qa-lab/src/character-eval.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover character eval plugin behavior. import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/qa-lab/src/character-eval.ts b/extensions/qa-lab/src/character-eval.ts index 5f867ebfde2e..be1bc47c84d2 100644 --- a/extensions/qa-lab/src/character-eval.ts +++ b/extensions/qa-lab/src/character-eval.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements character eval behavior. import fs from "node:fs/promises"; import path from "node:path"; import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime"; diff --git a/extensions/qa-lab/src/child-output.ts b/extensions/qa-lab/src/child-output.ts index 3b9a20925376..5d75ff374a20 100644 --- a/extensions/qa-lab/src/child-output.ts +++ b/extensions/qa-lab/src/child-output.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements child output behavior. export const QA_CHILD_STDOUT_MAX_BYTES = 1024 * 1024; export const QA_CHILD_STDERR_TAIL_BYTES = 64 * 1024; diff --git a/extensions/qa-lab/src/cli-options.ts b/extensions/qa-lab/src/cli-options.ts index 1576d43291f1..c167e9c7550f 100644 --- a/extensions/qa-lab/src/cli-options.ts +++ b/extensions/qa-lab/src/cli-options.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements cli options behavior. export function collectString(value: string, previous: string[]) { const trimmed = value.trim(); return trimmed ? [...previous, trimmed] : previous; diff --git a/extensions/qa-lab/src/cli-paths.ts b/extensions/qa-lab/src/cli-paths.ts index bacf0ebf541e..544fce0bba77 100644 --- a/extensions/qa-lab/src/cli-paths.ts +++ b/extensions/qa-lab/src/cli-paths.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements cli paths behavior. import fs from "node:fs/promises"; import path from "node:path"; import { assertNoSymlinkParents, pathScope } from "openclaw/plugin-sdk/security-runtime"; diff --git a/extensions/qa-lab/src/cli.runtime.test.ts b/extensions/qa-lab/src/cli.runtime.test.ts index 77bbb2948f4a..decbbb470211 100644 --- a/extensions/qa-lab/src/cli.runtime.test.ts +++ b/extensions/qa-lab/src/cli.runtime.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover cli plugin behavior. import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/qa-lab/src/cli.runtime.ts b/extensions/qa-lab/src/cli.runtime.ts index f6b5b54b1894..8c3d7ea05837 100644 --- a/extensions/qa-lab/src/cli.runtime.ts +++ b/extensions/qa-lab/src/cli.runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements cli behavior. import fs from "node:fs/promises"; import path from "node:path"; import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime"; diff --git a/extensions/qa-lab/src/cli.test.ts b/extensions/qa-lab/src/cli.test.ts index 8be4e2ad7b1a..d06bbb93bf8e 100644 --- a/extensions/qa-lab/src/cli.test.ts +++ b/extensions/qa-lab/src/cli.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover cli plugin behavior. import { Command } from "commander"; import type { QaRunnerCliContribution } from "openclaw/plugin-sdk/qa-runner-runtime"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; diff --git a/extensions/qa-lab/src/cli.ts b/extensions/qa-lab/src/cli.ts index ac08f65a0afc..75018683fa87 100644 --- a/extensions/qa-lab/src/cli.ts +++ b/extensions/qa-lab/src/cli.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements cli behavior. import type { Command } from "commander"; import { parseStrictPositiveInteger } from "openclaw/plugin-sdk/number-runtime"; import { collectString } from "./cli-options.js"; diff --git a/extensions/qa-lab/src/codex-plugin-lifecycle.test.ts b/extensions/qa-lab/src/codex-plugin-lifecycle.test.ts index a0f1d62d75c7..3cc9fab11d46 100644 --- a/extensions/qa-lab/src/codex-plugin-lifecycle.test.ts +++ b/extensions/qa-lab/src/codex-plugin-lifecycle.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover codex plugin lifecycle plugin behavior. import fs from "node:fs/promises"; import path from "node:path"; import { afterEach, describe, expect, it } from "vitest"; diff --git a/extensions/qa-lab/src/codex-plugin.fixture.ts b/extensions/qa-lab/src/codex-plugin.fixture.ts index 19ac00d6d62a..228247047b08 100644 --- a/extensions/qa-lab/src/codex-plugin.fixture.ts +++ b/extensions/qa-lab/src/codex-plugin.fixture.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements codex plugin.fixture behavior. import fs from "node:fs/promises"; import path from "node:path"; import { resolveCodexAuthProfile, type QaAuthProfileSnapshot } from "./auth-profile.fixture.js"; diff --git a/extensions/qa-lab/src/confidence-report.test.ts b/extensions/qa-lab/src/confidence-report.test.ts index 47cbcdadc9f5..0dacf70e4c45 100644 --- a/extensions/qa-lab/src/confidence-report.test.ts +++ b/extensions/qa-lab/src/confidence-report.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover confidence report plugin behavior. import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/qa-lab/src/confidence-report.ts b/extensions/qa-lab/src/confidence-report.ts index d28c83737318..1e9ba9b98559 100644 --- a/extensions/qa-lab/src/confidence-report.ts +++ b/extensions/qa-lab/src/confidence-report.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements confidence report behavior. import fs from "node:fs/promises"; import path from "node:path"; import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime"; diff --git a/extensions/qa-lab/src/coverage-report.test.ts b/extensions/qa-lab/src/coverage-report.test.ts index 5e232a4ec3c7..960924605b8a 100644 --- a/extensions/qa-lab/src/coverage-report.test.ts +++ b/extensions/qa-lab/src/coverage-report.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover coverage report plugin behavior. import { describe, expect, it } from "vitest"; import { buildQaCoverageInventory, renderQaCoverageMarkdownReport } from "./coverage-report.js"; import { readQaScenarioPack } from "./scenario-catalog.js"; @@ -25,16 +26,11 @@ describe("qa coverage report", () => { const personalPack = inventory.scenarioPacks.find((pack) => pack.id === "personal-agent"); const observabilityPack = inventory.scenarioPacks.find((pack) => pack.id === "observability"); expect(personalPack?.missingScenarioIds).toStrictEqual([]); - expect(personalPack?.scenarioIds).toContain( - "personal-share-safe-diagnostics-artifact", - ); + expect(personalPack?.scenarioIds).toContain("personal-share-safe-diagnostics-artifact"); expect(personalPack?.coverageIds).toContain("personal.redaction"); expect(personalPack?.coverageIds).toContain("qa.artifact-safety"); expect(observabilityPack?.missingScenarioIds).toStrictEqual([]); - expect(observabilityPack?.scenarioIds).toEqual([ - "otel-trace-smoke", - "docker-prometheus-smoke", - ]); + expect(observabilityPack?.scenarioIds).toEqual(["otel-trace-smoke", "docker-prometheus-smoke"]); expect(observabilityPack?.coverageIds).toContain("telemetry.otel"); expect(observabilityPack?.coverageIds).toContain("telemetry.prometheus"); expect(inventory.byTheme.memory.map((feature) => feature.id)).toContain("memory.recall"); @@ -56,9 +52,7 @@ describe("qa coverage report", () => { expect(report).toContain( "- personal-agent (Personal Agent Benchmark Pack): 10 scenarios; coverage:", ); - expect(report).toContain( - "- observability (Observability Smoke Pack): 2 scenarios; coverage:", - ); + expect(report).toContain("- observability (Observability Smoke Pack): 2 scenarios; coverage:"); expect(report).toContain("otel-trace-smoke, docker-prometheus-smoke"); expect(report).toContain("personal-share-safe-diagnostics-artifact"); expect(report).toContain("## Live Transport Lanes"); diff --git a/extensions/qa-lab/src/coverage-report.ts b/extensions/qa-lab/src/coverage-report.ts index 254f795eefdc..bde99124a163 100644 --- a/extensions/qa-lab/src/coverage-report.ts +++ b/extensions/qa-lab/src/coverage-report.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements coverage report behavior. import { normalizeStringEntriesLower } from "openclaw/plugin-sdk/string-coerce-runtime"; import { buildLiveTransportCoverageLaneSummaries, diff --git a/extensions/qa-lab/src/cron-run-wait.test.ts b/extensions/qa-lab/src/cron-run-wait.test.ts index 1d7f98a08408..8bc6874042a2 100644 --- a/extensions/qa-lab/src/cron-run-wait.test.ts +++ b/extensions/qa-lab/src/cron-run-wait.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover cron run wait plugin behavior. import { MAX_TIMER_TIMEOUT_MS } from "openclaw/plugin-sdk/number-runtime"; import { describe, expect, it, vi } from "vitest"; import { resolveCronRunPollIntervalMs, waitForCronRunCompletion } from "./cron-run-wait.js"; diff --git a/extensions/qa-lab/src/cron-run-wait.ts b/extensions/qa-lab/src/cron-run-wait.ts index 8bba57af37f1..5ce1fadca619 100644 --- a/extensions/qa-lab/src/cron-run-wait.ts +++ b/extensions/qa-lab/src/cron-run-wait.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements cron run wait behavior. import { setTimeout as sleep } from "node:timers/promises"; import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime"; import { resolveTimerTimeoutMs } from "openclaw/plugin-sdk/number-runtime"; diff --git a/extensions/qa-lab/src/discovery-eval.test.ts b/extensions/qa-lab/src/discovery-eval.test.ts index ec596be57884..645517103cdf 100644 --- a/extensions/qa-lab/src/discovery-eval.test.ts +++ b/extensions/qa-lab/src/discovery-eval.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover discovery eval plugin behavior. import { describe, expect, it } from "vitest"; import { hasDiscoveryLabels, diff --git a/extensions/qa-lab/src/discovery-eval.ts b/extensions/qa-lab/src/discovery-eval.ts index 1955c22008d7..d29d44bdef65 100644 --- a/extensions/qa-lab/src/discovery-eval.ts +++ b/extensions/qa-lab/src/discovery-eval.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements discovery eval behavior. import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime"; import { readQaScenarioExecutionConfig } from "./scenario-catalog.js"; diff --git a/extensions/qa-lab/src/docker-harness.test.ts b/extensions/qa-lab/src/docker-harness.test.ts index 670ebe963c17..6e897dd6dd17 100644 --- a/extensions/qa-lab/src/docker-harness.test.ts +++ b/extensions/qa-lab/src/docker-harness.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover docker harness plugin behavior. import { mkdtemp, readFile, rm } from "node:fs/promises"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/qa-lab/src/docker-harness.ts b/extensions/qa-lab/src/docker-harness.ts index 8e293d1270d9..2959747639a8 100644 --- a/extensions/qa-lab/src/docker-harness.ts +++ b/extensions/qa-lab/src/docker-harness.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements docker harness behavior. import { execFile } from "node:child_process"; import { randomUUID } from "node:crypto"; import fs from "node:fs/promises"; diff --git a/extensions/qa-lab/src/docker-runtime.ts b/extensions/qa-lab/src/docker-runtime.ts index 2990d25882c6..2c50d22c4b03 100644 --- a/extensions/qa-lab/src/docker-runtime.ts +++ b/extensions/qa-lab/src/docker-runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements docker runtime behavior. import { createQaDockerRuntime, type QaDockerFetchLike as FetchLike, diff --git a/extensions/qa-lab/src/docker-up.runtime.test.ts b/extensions/qa-lab/src/docker-up.runtime.test.ts index 4e9cb8eed951..ccbb15cc5136 100644 --- a/extensions/qa-lab/src/docker-up.runtime.test.ts +++ b/extensions/qa-lab/src/docker-up.runtime.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover docker up plugin behavior. import { mkdtemp, readFile, rm } from "node:fs/promises"; import { createServer } from "node:net"; import os from "node:os"; diff --git a/extensions/qa-lab/src/docker-up.runtime.ts b/extensions/qa-lab/src/docker-up.runtime.ts index 3a1c272689a6..3de952654b1a 100644 --- a/extensions/qa-lab/src/docker-up.runtime.ts +++ b/extensions/qa-lab/src/docker-up.runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements docker up behavior. import path from "node:path"; import { setTimeout as sleep } from "node:timers/promises"; import { writeQaDockerHarnessFiles } from "./docker-harness.js"; diff --git a/extensions/qa-lab/src/extract-tool-payload.ts b/extensions/qa-lab/src/extract-tool-payload.ts index 916303c63229..16d1c973b8f3 100644 --- a/extensions/qa-lab/src/extract-tool-payload.ts +++ b/extensions/qa-lab/src/extract-tool-payload.ts @@ -1 +1,2 @@ +// Qa Lab plugin module implements extract tool payload behavior. export { extractToolPayload as extractQaToolPayload } from "openclaw/plugin-sdk/tool-payload"; diff --git a/extensions/qa-lab/src/gateway-child.test.ts b/extensions/qa-lab/src/gateway-child.test.ts index 5159f58ac271..fd0c9dbe1583 100644 --- a/extensions/qa-lab/src/gateway-child.test.ts +++ b/extensions/qa-lab/src/gateway-child.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover gateway child plugin behavior. import { EventEmitter } from "node:events"; import { lstat, mkdir, mkdtemp, readFile, readdir, rm, symlink, writeFile } from "node:fs/promises"; import os from "node:os"; diff --git a/extensions/qa-lab/src/gateway-child.ts b/extensions/qa-lab/src/gateway-child.ts index a8997afb168a..66d7f72676fe 100644 --- a/extensions/qa-lab/src/gateway-child.ts +++ b/extensions/qa-lab/src/gateway-child.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements gateway child behavior. import { spawn, type ChildProcess } from "node:child_process"; import { randomUUID } from "node:crypto"; import { createWriteStream, existsSync, type WriteStream } from "node:fs"; diff --git a/extensions/qa-lab/src/gateway-log-redaction.ts b/extensions/qa-lab/src/gateway-log-redaction.ts index 7c66ebe4d944..40689db5c636 100644 --- a/extensions/qa-lab/src/gateway-log-redaction.ts +++ b/extensions/qa-lab/src/gateway-log-redaction.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements gateway log redaction behavior. import { escapeRegExp } from "openclaw/plugin-sdk/text-utility-runtime"; import { QA_PROVIDER_SECRET_ENV_KEY_PATTERNS, diff --git a/extensions/qa-lab/src/gateway-log-sentinel.test.ts b/extensions/qa-lab/src/gateway-log-sentinel.test.ts index 8f7d77ae9a98..08c47eec28b7 100644 --- a/extensions/qa-lab/src/gateway-log-sentinel.test.ts +++ b/extensions/qa-lab/src/gateway-log-sentinel.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover gateway log sentinel plugin behavior. import { describe, expect, it } from "vitest"; import { assertNoGatewayLogSentinels, diff --git a/extensions/qa-lab/src/gateway-log-sentinel.ts b/extensions/qa-lab/src/gateway-log-sentinel.ts index ba5e2cd0ed69..c8dd1aa354e7 100644 --- a/extensions/qa-lab/src/gateway-log-sentinel.ts +++ b/extensions/qa-lab/src/gateway-log-sentinel.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements gateway log sentinel behavior. import { isRecord, normalizeOptionalString as readNonEmptyString, diff --git a/extensions/qa-lab/src/gateway-rpc-client.test.ts b/extensions/qa-lab/src/gateway-rpc-client.test.ts index 027140d995bf..f361a6d9ad41 100644 --- a/extensions/qa-lab/src/gateway-rpc-client.test.ts +++ b/extensions/qa-lab/src/gateway-rpc-client.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover gateway rpc client plugin behavior. import { beforeEach, describe, expect, it, vi } from "vitest"; const gatewayRpcMock = vi.hoisted(() => { diff --git a/extensions/qa-lab/src/gateway-rpc-client.ts b/extensions/qa-lab/src/gateway-rpc-client.ts index a5c7c6595efb..d6f727ec2efb 100644 --- a/extensions/qa-lab/src/gateway-rpc-client.ts +++ b/extensions/qa-lab/src/gateway-rpc-client.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements gateway rpc client behavior. import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime"; import { callGatewayFromCli } from "openclaw/plugin-sdk/gateway-runtime"; import { formatQaGatewayLogsForError } from "./gateway-log-redaction.js"; diff --git a/extensions/qa-lab/src/harness-parity.test.ts b/extensions/qa-lab/src/harness-parity.test.ts index a332cfd14ba3..ed8a3337327c 100644 --- a/extensions/qa-lab/src/harness-parity.test.ts +++ b/extensions/qa-lab/src/harness-parity.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover harness parity plugin behavior. import { describe, expect, it } from "vitest"; import { buildHarnessParityCell, diff --git a/extensions/qa-lab/src/harness-parity.ts b/extensions/qa-lab/src/harness-parity.ts index 449c492aa895..02b8e20b56f0 100644 --- a/extensions/qa-lab/src/harness-parity.ts +++ b/extensions/qa-lab/src/harness-parity.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements harness parity behavior. import { createHash } from "node:crypto"; import type { RuntimeId, diff --git a/extensions/qa-lab/src/harness-runtime.ts b/extensions/qa-lab/src/harness-runtime.ts index 63e2a27b6e97..789efc400b22 100644 --- a/extensions/qa-lab/src/harness-runtime.ts +++ b/extensions/qa-lab/src/harness-runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements harness runtime behavior. import { buildMentionRegexes, implicitMentionKindWhen, diff --git a/extensions/qa-lab/src/jsonl-replay.test.ts b/extensions/qa-lab/src/jsonl-replay.test.ts index 68075b429c91..c090f1300cbc 100644 --- a/extensions/qa-lab/src/jsonl-replay.test.ts +++ b/extensions/qa-lab/src/jsonl-replay.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover jsonl replay plugin behavior. import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/qa-lab/src/jsonl-replay.ts b/extensions/qa-lab/src/jsonl-replay.ts index ca0b8f3d9985..ed41f7de8da1 100644 --- a/extensions/qa-lab/src/jsonl-replay.ts +++ b/extensions/qa-lab/src/jsonl-replay.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements jsonl replay behavior. import fs from "node:fs/promises"; import path from "node:path"; import { diff --git a/extensions/qa-lab/src/lab-server-capture.test.ts b/extensions/qa-lab/src/lab-server-capture.test.ts index aae9e535b504..b8ced2cfcb7d 100644 --- a/extensions/qa-lab/src/lab-server-capture.test.ts +++ b/extensions/qa-lab/src/lab-server-capture.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover lab server capture plugin behavior. import { createServer } from "node:http"; import { afterEach, describe, expect, it } from "vitest"; import { mapCaptureEventForQa, probeTcpReachability } from "./lab-server-capture.js"; diff --git a/extensions/qa-lab/src/lab-server-capture.ts b/extensions/qa-lab/src/lab-server-capture.ts index 1a9846a27b1d..c439d77e418c 100644 --- a/extensions/qa-lab/src/lab-server-capture.ts +++ b/extensions/qa-lab/src/lab-server-capture.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements lab server capture behavior. import net from "node:net"; import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime"; diff --git a/extensions/qa-lab/src/lab-server-ui.test.ts b/extensions/qa-lab/src/lab-server-ui.test.ts index 47748e6d261f..65743863d511 100644 --- a/extensions/qa-lab/src/lab-server-ui.test.ts +++ b/extensions/qa-lab/src/lab-server-ui.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover lab server ui plugin behavior. import { mkdir, mkdtemp, rm, writeFile } from "node:fs/promises"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/qa-lab/src/lab-server-ui.ts b/extensions/qa-lab/src/lab-server-ui.ts index 86d7cf41f247..e210a6735a2e 100644 --- a/extensions/qa-lab/src/lab-server-ui.ts +++ b/extensions/qa-lab/src/lab-server-ui.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements lab server ui behavior. import { createHash } from "node:crypto"; import fs from "node:fs"; import { request as httpRequest, type IncomingMessage, type ServerResponse } from "node:http"; diff --git a/extensions/qa-lab/src/lab-server.test.ts b/extensions/qa-lab/src/lab-server.test.ts index 79854513093e..64f13bef73af 100644 --- a/extensions/qa-lab/src/lab-server.test.ts +++ b/extensions/qa-lab/src/lab-server.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover lab server plugin behavior. import { mkdir, mkdtemp, readFile, rm, writeFile } from "node:fs/promises"; import { createServer } from "node:http"; import os from "node:os"; diff --git a/extensions/qa-lab/src/lab-server.ts b/extensions/qa-lab/src/lab-server.ts index 898d292d983b..9b79baa09727 100644 --- a/extensions/qa-lab/src/lab-server.ts +++ b/extensions/qa-lab/src/lab-server.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements lab server behavior. import fs from "node:fs"; import { createServer } from "node:http"; import path from "node:path"; diff --git a/extensions/qa-lab/src/lab-server.types.ts b/extensions/qa-lab/src/lab-server.types.ts index 1a4c6806d386..e2f308deaa71 100644 --- a/extensions/qa-lab/src/lab-server.types.ts +++ b/extensions/qa-lab/src/lab-server.types.ts @@ -1,3 +1,4 @@ +// Qa Lab type declarations define plugin contracts. import type { QaBusState } from "./bus-state.js"; import type { QaSelfCheckResult } from "./self-check.js"; diff --git a/extensions/qa-lab/src/live-timeout.test.ts b/extensions/qa-lab/src/live-timeout.test.ts index bf3050a7a752..51621bb39cd5 100644 --- a/extensions/qa-lab/src/live-timeout.test.ts +++ b/extensions/qa-lab/src/live-timeout.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover live timeout plugin behavior. import { describe, expect, it } from "vitest"; import { resolveQaLiveTurnTimeoutMs } from "./live-timeout.js"; diff --git a/extensions/qa-lab/src/live-timeout.ts b/extensions/qa-lab/src/live-timeout.ts index 58c2a4824d76..412c2f8d8737 100644 --- a/extensions/qa-lab/src/live-timeout.ts +++ b/extensions/qa-lab/src/live-timeout.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements live timeout behavior. import type { QaProviderMode } from "./model-selection.js"; import { getQaProvider } from "./providers/index.js"; diff --git a/extensions/qa-lab/src/live-transports/cli.ts b/extensions/qa-lab/src/live-transports/cli.ts index b36b4423fae0..5d48759ccc9f 100644 --- a/extensions/qa-lab/src/live-transports/cli.ts +++ b/extensions/qa-lab/src/live-transports/cli.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements cli behavior. import { listQaRunnerCliContributions } from "openclaw/plugin-sdk/qa-runner-runtime"; import { discordQaCliRegistration } from "./discord/cli.js"; import type { LiveTransportQaCliRegistration } from "./shared/live-transport-cli.js"; diff --git a/extensions/qa-lab/src/live-transports/discord/cli.runtime.ts b/extensions/qa-lab/src/live-transports/discord/cli.runtime.ts index 56eaa89a1440..ea7240eb024f 100644 --- a/extensions/qa-lab/src/live-transports/discord/cli.runtime.ts +++ b/extensions/qa-lab/src/live-transports/discord/cli.runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements cli behavior. import { printLiveTransportQaArtifacts } from "../shared/live-artifacts.js"; import type { LiveTransportQaCommandOptions } from "../shared/live-transport-cli.js"; import { resolveLiveTransportQaRunOptions } from "../shared/live-transport-cli.runtime.js"; diff --git a/extensions/qa-lab/src/live-transports/discord/cli.ts b/extensions/qa-lab/src/live-transports/discord/cli.ts index e59987a48e8e..879d87ddf8c2 100644 --- a/extensions/qa-lab/src/live-transports/discord/cli.ts +++ b/extensions/qa-lab/src/live-transports/discord/cli.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements cli behavior. import { createLazyCliRuntimeLoader, createLiveTransportQaCliRegistration, diff --git a/extensions/qa-lab/src/live-transports/discord/discord-live.runtime.test.ts b/extensions/qa-lab/src/live-transports/discord/discord-live.runtime.test.ts index 1bb4c963bfd6..7394e58cb38e 100644 --- a/extensions/qa-lab/src/live-transports/discord/discord-live.runtime.test.ts +++ b/extensions/qa-lab/src/live-transports/discord/discord-live.runtime.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover discord live plugin behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { afterEach, describe, expect, it, vi } from "vitest"; import { diff --git a/extensions/qa-lab/src/live-transports/discord/discord-live.runtime.ts b/extensions/qa-lab/src/live-transports/discord/discord-live.runtime.ts index 425e154ea7f2..c8fa1beed0de 100644 --- a/extensions/qa-lab/src/live-transports/discord/discord-live.runtime.ts +++ b/extensions/qa-lab/src/live-transports/discord/discord-live.runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements discord live behavior. import { randomUUID } from "node:crypto"; import fs from "node:fs/promises"; import path from "node:path"; diff --git a/extensions/qa-lab/src/live-transports/shared/credential-lease.runtime.test.ts b/extensions/qa-lab/src/live-transports/shared/credential-lease.runtime.test.ts index 165b7c13ee8d..e7031b6d4ac1 100644 --- a/extensions/qa-lab/src/live-transports/shared/credential-lease.runtime.test.ts +++ b/extensions/qa-lab/src/live-transports/shared/credential-lease.runtime.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover credential lease plugin behavior. import { MAX_TIMER_TIMEOUT_MS } from "openclaw/plugin-sdk/number-runtime"; import { afterEach, describe, expect, it, vi } from "vitest"; import { diff --git a/extensions/qa-lab/src/live-transports/shared/credential-lease.runtime.ts b/extensions/qa-lab/src/live-transports/shared/credential-lease.runtime.ts index 762374f4fa3a..95b7bbb7b3ef 100644 --- a/extensions/qa-lab/src/live-transports/shared/credential-lease.runtime.ts +++ b/extensions/qa-lab/src/live-transports/shared/credential-lease.runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements credential lease behavior. import { randomUUID } from "node:crypto"; import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime"; import { resolveTimerTimeoutMs } from "openclaw/plugin-sdk/number-runtime"; diff --git a/extensions/qa-lab/src/live-transports/shared/live-artifacts.test.ts b/extensions/qa-lab/src/live-transports/shared/live-artifacts.test.ts index 5a0e33c6f2d0..b3f2075c07d7 100644 --- a/extensions/qa-lab/src/live-transports/shared/live-artifacts.test.ts +++ b/extensions/qa-lab/src/live-transports/shared/live-artifacts.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover live artifacts plugin behavior. import { describe, expect, it } from "vitest"; import { redactQaLiveLaneIssues } from "./live-artifacts.js"; diff --git a/extensions/qa-lab/src/live-transports/shared/live-artifacts.ts b/extensions/qa-lab/src/live-transports/shared/live-artifacts.ts index 8b0e1253ae30..f75bcc823314 100644 --- a/extensions/qa-lab/src/live-transports/shared/live-artifacts.ts +++ b/extensions/qa-lab/src/live-transports/shared/live-artifacts.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements live artifacts behavior. import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime"; const REDACTED_QA_LIVE_LANE_ISSUE_DETAILS = diff --git a/extensions/qa-lab/src/live-transports/shared/live-gateway.runtime.test.ts b/extensions/qa-lab/src/live-transports/shared/live-gateway.runtime.test.ts index 4ec759c50c92..63726e31b25f 100644 --- a/extensions/qa-lab/src/live-transports/shared/live-gateway.runtime.test.ts +++ b/extensions/qa-lab/src/live-transports/shared/live-gateway.runtime.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover live gateway plugin behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; diff --git a/extensions/qa-lab/src/live-transports/shared/live-gateway.runtime.ts b/extensions/qa-lab/src/live-transports/shared/live-gateway.runtime.ts index 5561c0264bae..264c454fc487 100644 --- a/extensions/qa-lab/src/live-transports/shared/live-gateway.runtime.ts +++ b/extensions/qa-lab/src/live-transports/shared/live-gateway.runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements live gateway behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { startQaGatewayChild, diff --git a/extensions/qa-lab/src/live-transports/shared/live-transport-cli.runtime.test.ts b/extensions/qa-lab/src/live-transports/shared/live-transport-cli.runtime.test.ts index cc2a1f554576..9fdad094a3ad 100644 --- a/extensions/qa-lab/src/live-transports/shared/live-transport-cli.runtime.test.ts +++ b/extensions/qa-lab/src/live-transports/shared/live-transport-cli.runtime.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover live transport cli plugin behavior. import path from "node:path"; import { describe, expect, it } from "vitest"; import { resolveLiveTransportQaRunOptions } from "./live-transport-cli.runtime.js"; diff --git a/extensions/qa-lab/src/live-transports/shared/live-transport-cli.runtime.ts b/extensions/qa-lab/src/live-transports/shared/live-transport-cli.runtime.ts index d92f76049829..7e571bed512a 100644 --- a/extensions/qa-lab/src/live-transports/shared/live-transport-cli.runtime.ts +++ b/extensions/qa-lab/src/live-transports/shared/live-transport-cli.runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements live transport cli behavior. import path from "node:path"; import { resolveRepoRelativeOutputDir } from "../../cli-paths.js"; import { DEFAULT_QA_LIVE_PROVIDER_MODE } from "../../providers/index.js"; diff --git a/extensions/qa-lab/src/live-transports/shared/live-transport-cli.ts b/extensions/qa-lab/src/live-transports/shared/live-transport-cli.ts index 2c7ea30a07bd..d8cf2d77b972 100644 --- a/extensions/qa-lab/src/live-transports/shared/live-transport-cli.ts +++ b/extensions/qa-lab/src/live-transports/shared/live-transport-cli.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements live transport cli behavior. import { createLiveTransportQaCliRegistration as createSharedLiveTransportQaCliRegistration, type LiveTransportQaCliRegistrationOptions, diff --git a/extensions/qa-lab/src/live-transports/shared/live-transport-scenarios.test.ts b/extensions/qa-lab/src/live-transports/shared/live-transport-scenarios.test.ts index 59ea801df8d9..a8920711f681 100644 --- a/extensions/qa-lab/src/live-transports/shared/live-transport-scenarios.test.ts +++ b/extensions/qa-lab/src/live-transports/shared/live-transport-scenarios.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover live transport scenarios plugin behavior. import fs from "node:fs"; import { fileURLToPath } from "node:url"; import { describe, expect, it } from "vitest"; diff --git a/extensions/qa-lab/src/live-transports/shared/live-transport-scenarios.ts b/extensions/qa-lab/src/live-transports/shared/live-transport-scenarios.ts index 8a79dc708b7c..748fa7c66f6b 100644 --- a/extensions/qa-lab/src/live-transports/shared/live-transport-scenarios.ts +++ b/extensions/qa-lab/src/live-transports/shared/live-transport-scenarios.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements live transport scenarios behavior. import { LIVE_TRANSPORT_BASELINE_STANDARD_SCENARIO_IDS, collectLiveTransportStandardScenarioCoverage, diff --git a/extensions/qa-lab/src/live-transports/slack/cli.runtime.ts b/extensions/qa-lab/src/live-transports/slack/cli.runtime.ts index 63ca4b10cebc..1673f9c1631b 100644 --- a/extensions/qa-lab/src/live-transports/slack/cli.runtime.ts +++ b/extensions/qa-lab/src/live-transports/slack/cli.runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements cli behavior. import { printLiveTransportQaArtifacts } from "../shared/live-artifacts.js"; import type { LiveTransportQaCommandOptions } from "../shared/live-transport-cli.js"; import { resolveLiveTransportQaRunOptions } from "../shared/live-transport-cli.runtime.js"; diff --git a/extensions/qa-lab/src/live-transports/slack/cli.ts b/extensions/qa-lab/src/live-transports/slack/cli.ts index 91e9b54ce02b..2935ddc54986 100644 --- a/extensions/qa-lab/src/live-transports/slack/cli.ts +++ b/extensions/qa-lab/src/live-transports/slack/cli.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements cli behavior. import { createLazyCliRuntimeLoader, createLiveTransportQaCliRegistration, diff --git a/extensions/qa-lab/src/live-transports/slack/slack-live.runtime.test.ts b/extensions/qa-lab/src/live-transports/slack/slack-live.runtime.test.ts index 3fa0a42d2a26..82f11fc9b488 100644 --- a/extensions/qa-lab/src/live-transports/slack/slack-live.runtime.test.ts +++ b/extensions/qa-lab/src/live-transports/slack/slack-live.runtime.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover slack live plugin behavior. import fs from "node:fs/promises"; import { tmpdir } from "node:os"; import path from "node:path"; diff --git a/extensions/qa-lab/src/live-transports/slack/slack-live.runtime.ts b/extensions/qa-lab/src/live-transports/slack/slack-live.runtime.ts index 3cdcd5a1004a..691e71d837ce 100644 --- a/extensions/qa-lab/src/live-transports/slack/slack-live.runtime.ts +++ b/extensions/qa-lab/src/live-transports/slack/slack-live.runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements slack live behavior. import { randomUUID } from "node:crypto"; import fs from "node:fs/promises"; import path from "node:path"; diff --git a/extensions/qa-lab/src/live-transports/telegram/cli.runtime.ts b/extensions/qa-lab/src/live-transports/telegram/cli.runtime.ts index e93abeb031b6..1b981ebb0cd4 100644 --- a/extensions/qa-lab/src/live-transports/telegram/cli.runtime.ts +++ b/extensions/qa-lab/src/live-transports/telegram/cli.runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements cli behavior. import { printLiveTransportQaArtifacts } from "../shared/live-artifacts.js"; import type { LiveTransportQaCommandOptions } from "../shared/live-transport-cli.js"; import { resolveLiveTransportQaRunOptions } from "../shared/live-transport-cli.runtime.js"; diff --git a/extensions/qa-lab/src/live-transports/telegram/cli.ts b/extensions/qa-lab/src/live-transports/telegram/cli.ts index d7638a25945b..550901fb7178 100644 --- a/extensions/qa-lab/src/live-transports/telegram/cli.ts +++ b/extensions/qa-lab/src/live-transports/telegram/cli.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements cli behavior. import { createLazyCliRuntimeLoader, createLiveTransportQaCliRegistration, diff --git a/extensions/qa-lab/src/live-transports/telegram/telegram-live.runtime.test.ts b/extensions/qa-lab/src/live-transports/telegram/telegram-live.runtime.test.ts index a059551c934a..88e2491511f8 100644 --- a/extensions/qa-lab/src/live-transports/telegram/telegram-live.runtime.test.ts +++ b/extensions/qa-lab/src/live-transports/telegram/telegram-live.runtime.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover telegram live plugin behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { MAX_TIMER_TIMEOUT_MS } from "openclaw/plugin-sdk/number-runtime"; import { afterEach, describe, expect, it, vi } from "vitest"; diff --git a/extensions/qa-lab/src/live-transports/telegram/telegram-live.runtime.ts b/extensions/qa-lab/src/live-transports/telegram/telegram-live.runtime.ts index 9e55bde18df3..1df212643cbc 100644 --- a/extensions/qa-lab/src/live-transports/telegram/telegram-live.runtime.ts +++ b/extensions/qa-lab/src/live-transports/telegram/telegram-live.runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements telegram live behavior. import { execFile } from "node:child_process"; import { randomUUID } from "node:crypto"; import fs from "node:fs/promises"; diff --git a/extensions/qa-lab/src/live-transports/whatsapp/cli.runtime.ts b/extensions/qa-lab/src/live-transports/whatsapp/cli.runtime.ts index 2b92d79d6211..6be0c2ab53c8 100644 --- a/extensions/qa-lab/src/live-transports/whatsapp/cli.runtime.ts +++ b/extensions/qa-lab/src/live-transports/whatsapp/cli.runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements cli behavior. import { printLiveTransportQaArtifacts } from "../shared/live-artifacts.js"; import type { LiveTransportQaCommandOptions } from "../shared/live-transport-cli.js"; import { resolveLiveTransportQaRunOptions } from "../shared/live-transport-cli.runtime.js"; diff --git a/extensions/qa-lab/src/live-transports/whatsapp/cli.ts b/extensions/qa-lab/src/live-transports/whatsapp/cli.ts index 6d1a5db88660..9f13a7627149 100644 --- a/extensions/qa-lab/src/live-transports/whatsapp/cli.ts +++ b/extensions/qa-lab/src/live-transports/whatsapp/cli.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements cli behavior. import { createLazyCliRuntimeLoader, createLiveTransportQaCliRegistration, diff --git a/extensions/qa-lab/src/live-transports/whatsapp/whatsapp-boundary.test.ts b/extensions/qa-lab/src/live-transports/whatsapp/whatsapp-boundary.test.ts index a7d7ed292a56..79c0573c6948 100644 --- a/extensions/qa-lab/src/live-transports/whatsapp/whatsapp-boundary.test.ts +++ b/extensions/qa-lab/src/live-transports/whatsapp/whatsapp-boundary.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover whatsapp boundary plugin behavior. import { readdir, readFile } from "node:fs/promises"; import path from "node:path"; import { describe, expect, it } from "vitest"; diff --git a/extensions/qa-lab/src/live-transports/whatsapp/whatsapp-live.runtime.test.ts b/extensions/qa-lab/src/live-transports/whatsapp/whatsapp-live.runtime.test.ts index 32c4a14027af..b86f9a8ab54a 100644 --- a/extensions/qa-lab/src/live-transports/whatsapp/whatsapp-live.runtime.test.ts +++ b/extensions/qa-lab/src/live-transports/whatsapp/whatsapp-live.runtime.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover whatsapp live plugin behavior. import { execFile } from "node:child_process"; import fs from "node:fs/promises"; import os from "node:os"; diff --git a/extensions/qa-lab/src/live-transports/whatsapp/whatsapp-live.runtime.ts b/extensions/qa-lab/src/live-transports/whatsapp/whatsapp-live.runtime.ts index 5b40a596f50a..2189b79a8c89 100644 --- a/extensions/qa-lab/src/live-transports/whatsapp/whatsapp-live.runtime.ts +++ b/extensions/qa-lab/src/live-transports/whatsapp/whatsapp-live.runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements whatsapp live behavior. import { execFile } from "node:child_process"; import { randomUUID } from "node:crypto"; import fs from "node:fs/promises"; diff --git a/extensions/qa-lab/src/mantis/cli.runtime.ts b/extensions/qa-lab/src/mantis/cli.runtime.ts index 82277b504145..4a8263855a6a 100644 --- a/extensions/qa-lab/src/mantis/cli.runtime.ts +++ b/extensions/qa-lab/src/mantis/cli.runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements cli behavior. import { runMantisDesktopBrowserSmoke, type MantisDesktopBrowserSmokeOptions, diff --git a/extensions/qa-lab/src/mantis/cli.ts b/extensions/qa-lab/src/mantis/cli.ts index 62987f3e4250..c407d5a14e0f 100644 --- a/extensions/qa-lab/src/mantis/cli.ts +++ b/extensions/qa-lab/src/mantis/cli.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements cli behavior. import type { Command } from "commander"; import { createLazyCliRuntimeLoader } from "../live-transports/shared/live-transport-cli.js"; import type { MantisDesktopBrowserSmokeOptions } from "./desktop-browser-smoke.runtime.js"; diff --git a/extensions/qa-lab/src/mantis/crabbox-runtime.ts b/extensions/qa-lab/src/mantis/crabbox-runtime.ts index a1ab3622efb2..ff04f01f91c7 100644 --- a/extensions/qa-lab/src/mantis/crabbox-runtime.ts +++ b/extensions/qa-lab/src/mantis/crabbox-runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements crabbox runtime behavior. import { spawn, type SpawnOptions } from "node:child_process"; import path from "node:path"; import { pathExists } from "openclaw/plugin-sdk/security-runtime"; diff --git a/extensions/qa-lab/src/mantis/desktop-browser-smoke.runtime.test.ts b/extensions/qa-lab/src/mantis/desktop-browser-smoke.runtime.test.ts index 04468f0d99ff..922958e49ec7 100644 --- a/extensions/qa-lab/src/mantis/desktop-browser-smoke.runtime.test.ts +++ b/extensions/qa-lab/src/mantis/desktop-browser-smoke.runtime.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover desktop browser smoke plugin behavior. import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/qa-lab/src/mantis/desktop-browser-smoke.runtime.ts b/extensions/qa-lab/src/mantis/desktop-browser-smoke.runtime.ts index 74a710aa8ebd..fb244e8a3def 100644 --- a/extensions/qa-lab/src/mantis/desktop-browser-smoke.runtime.ts +++ b/extensions/qa-lab/src/mantis/desktop-browser-smoke.runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements desktop browser smoke behavior. import fs from "node:fs/promises"; import path from "node:path"; import { pathToFileURL } from "node:url"; diff --git a/extensions/qa-lab/src/mantis/discord-smoke.runtime.test.ts b/extensions/qa-lab/src/mantis/discord-smoke.runtime.test.ts index 2c240604ff49..f2e0a7cf234c 100644 --- a/extensions/qa-lab/src/mantis/discord-smoke.runtime.test.ts +++ b/extensions/qa-lab/src/mantis/discord-smoke.runtime.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover discord smoke plugin behavior. import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/qa-lab/src/mantis/discord-smoke.runtime.ts b/extensions/qa-lab/src/mantis/discord-smoke.runtime.ts index fc35ebf5ccaa..c8546e4d9528 100644 --- a/extensions/qa-lab/src/mantis/discord-smoke.runtime.ts +++ b/extensions/qa-lab/src/mantis/discord-smoke.runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements discord smoke behavior. import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/qa-lab/src/mantis/run.runtime.test.ts b/extensions/qa-lab/src/mantis/run.runtime.test.ts index 92b542f56671..ad7f79ff2254 100644 --- a/extensions/qa-lab/src/mantis/run.runtime.test.ts +++ b/extensions/qa-lab/src/mantis/run.runtime.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover run plugin behavior. import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/qa-lab/src/mantis/run.runtime.ts b/extensions/qa-lab/src/mantis/run.runtime.ts index 01b5422820da..af3c26637740 100644 --- a/extensions/qa-lab/src/mantis/run.runtime.ts +++ b/extensions/qa-lab/src/mantis/run.runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements run behavior. import { spawn, type SpawnOptions } from "node:child_process"; import fs from "node:fs/promises"; import path from "node:path"; diff --git a/extensions/qa-lab/src/mantis/slack-desktop-smoke.runtime.test.ts b/extensions/qa-lab/src/mantis/slack-desktop-smoke.runtime.test.ts index 20a48b7be393..048dfcd575c5 100644 --- a/extensions/qa-lab/src/mantis/slack-desktop-smoke.runtime.test.ts +++ b/extensions/qa-lab/src/mantis/slack-desktop-smoke.runtime.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover slack desktop smoke plugin behavior. import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/qa-lab/src/mantis/slack-desktop-smoke.runtime.ts b/extensions/qa-lab/src/mantis/slack-desktop-smoke.runtime.ts index 5987a5cc0b2a..6f307c26a232 100644 --- a/extensions/qa-lab/src/mantis/slack-desktop-smoke.runtime.ts +++ b/extensions/qa-lab/src/mantis/slack-desktop-smoke.runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements slack desktop smoke behavior. import fs from "node:fs/promises"; import path from "node:path"; import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime"; diff --git a/extensions/qa-lab/src/mantis/telegram-desktop-builder.runtime.test.ts b/extensions/qa-lab/src/mantis/telegram-desktop-builder.runtime.test.ts index 59ed0ba4cc44..465ed2da54b9 100644 --- a/extensions/qa-lab/src/mantis/telegram-desktop-builder.runtime.test.ts +++ b/extensions/qa-lab/src/mantis/telegram-desktop-builder.runtime.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover telegram desktop builder plugin behavior. import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/qa-lab/src/mantis/telegram-desktop-builder.runtime.ts b/extensions/qa-lab/src/mantis/telegram-desktop-builder.runtime.ts index 43acdce39b93..44f13a336081 100644 --- a/extensions/qa-lab/src/mantis/telegram-desktop-builder.runtime.ts +++ b/extensions/qa-lab/src/mantis/telegram-desktop-builder.runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements telegram desktop builder behavior. import fs from "node:fs/promises"; import path from "node:path"; import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime"; diff --git a/extensions/qa-lab/src/mantis/visual-task.runtime.test.ts b/extensions/qa-lab/src/mantis/visual-task.runtime.test.ts index cc2ce792622f..87db24772aaa 100644 --- a/extensions/qa-lab/src/mantis/visual-task.runtime.test.ts +++ b/extensions/qa-lab/src/mantis/visual-task.runtime.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover visual task plugin behavior. import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/qa-lab/src/mantis/visual-task.runtime.ts b/extensions/qa-lab/src/mantis/visual-task.runtime.ts index ac40fc3089b9..e6b7c0b905f9 100644 --- a/extensions/qa-lab/src/mantis/visual-task.runtime.ts +++ b/extensions/qa-lab/src/mantis/visual-task.runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements visual task behavior. import fs from "node:fs/promises"; import path from "node:path"; import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime"; diff --git a/extensions/qa-lab/src/manual-lane.runtime.test.ts b/extensions/qa-lab/src/manual-lane.runtime.test.ts index ae5ed2c2f491..342f643698c1 100644 --- a/extensions/qa-lab/src/manual-lane.runtime.test.ts +++ b/extensions/qa-lab/src/manual-lane.runtime.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover manual lane plugin behavior. import { MAX_TIMER_TIMEOUT_MS } from "openclaw/plugin-sdk/number-runtime"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; diff --git a/extensions/qa-lab/src/manual-lane.runtime.ts b/extensions/qa-lab/src/manual-lane.runtime.ts index f3a4d97e6c3b..c10032f62d0d 100644 --- a/extensions/qa-lab/src/manual-lane.runtime.ts +++ b/extensions/qa-lab/src/manual-lane.runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements manual lane behavior. import { randomUUID } from "node:crypto"; import { setTimeout as sleep } from "node:timers/promises"; import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime"; diff --git a/extensions/qa-lab/src/model-catalog.runtime.test.ts b/extensions/qa-lab/src/model-catalog.runtime.test.ts index 67fb2b34343a..d786dd1b0d3a 100644 --- a/extensions/qa-lab/src/model-catalog.runtime.test.ts +++ b/extensions/qa-lab/src/model-catalog.runtime.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover model catalog plugin behavior. import { describe, expect, it } from "vitest"; import { parseQaRunnerModelOptionsOutput, diff --git a/extensions/qa-lab/src/model-catalog.runtime.ts b/extensions/qa-lab/src/model-catalog.runtime.ts index 807435d986ce..5dd0516f67be 100644 --- a/extensions/qa-lab/src/model-catalog.runtime.ts +++ b/extensions/qa-lab/src/model-catalog.runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements model catalog behavior. import { spawn } from "node:child_process"; import fs from "node:fs/promises"; import path from "node:path"; diff --git a/extensions/qa-lab/src/model-selection.runtime.test.ts b/extensions/qa-lab/src/model-selection.runtime.test.ts index bad3eab899cd..ab737776da99 100644 --- a/extensions/qa-lab/src/model-selection.runtime.test.ts +++ b/extensions/qa-lab/src/model-selection.runtime.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover model selection plugin behavior. import { beforeEach, describe, expect, it, vi } from "vitest"; const { resolveEnvApiKey, loadAuthProfileStoreForRuntime, listProfilesForProvider } = vi.hoisted( diff --git a/extensions/qa-lab/src/model-selection.runtime.ts b/extensions/qa-lab/src/model-selection.runtime.ts index 8706dc9f1110..e9cc28e6f681 100644 --- a/extensions/qa-lab/src/model-selection.runtime.ts +++ b/extensions/qa-lab/src/model-selection.runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements model selection behavior. import { defaultQaModelForMode, normalizeQaProviderMode, diff --git a/extensions/qa-lab/src/model-selection.ts b/extensions/qa-lab/src/model-selection.ts index e16118304c7a..9772ceafb794 100644 --- a/extensions/qa-lab/src/model-selection.ts +++ b/extensions/qa-lab/src/model-selection.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements model selection behavior. import { DEFAULT_QA_LIVE_PROVIDER_MODE, getQaProvider, diff --git a/extensions/qa-lab/src/model-switch-eval.test.ts b/extensions/qa-lab/src/model-switch-eval.test.ts index ee3af0e2e671..69460f62106f 100644 --- a/extensions/qa-lab/src/model-switch-eval.test.ts +++ b/extensions/qa-lab/src/model-switch-eval.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover model switch eval plugin behavior. import { describe, expect, it } from "vitest"; import { hasModelSwitchContinuitySignal } from "./model-switch-eval.js"; diff --git a/extensions/qa-lab/src/model-switch-eval.ts b/extensions/qa-lab/src/model-switch-eval.ts index 7cf030d7ae9a..ab6a4caf1e78 100644 --- a/extensions/qa-lab/src/model-switch-eval.ts +++ b/extensions/qa-lab/src/model-switch-eval.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements model switch eval behavior. import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime"; export function hasModelSwitchContinuitySignal(text: string) { diff --git a/extensions/qa-lab/src/multipass.runtime.test.ts b/extensions/qa-lab/src/multipass.runtime.test.ts index 015255e87cb3..60dbf59cefc6 100644 --- a/extensions/qa-lab/src/multipass.runtime.test.ts +++ b/extensions/qa-lab/src/multipass.runtime.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover multipass plugin behavior. import fs from "node:fs"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/qa-lab/src/multipass.runtime.ts b/extensions/qa-lab/src/multipass.runtime.ts index f87d343e6203..88425b18e205 100644 --- a/extensions/qa-lab/src/multipass.runtime.ts +++ b/extensions/qa-lab/src/multipass.runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements multipass behavior. import { execFile } from "node:child_process"; import { randomUUID } from "node:crypto"; import fs from "node:fs"; diff --git a/extensions/qa-lab/src/node-exec.test.ts b/extensions/qa-lab/src/node-exec.test.ts index fcd87bb481fd..2284561f32d9 100644 --- a/extensions/qa-lab/src/node-exec.test.ts +++ b/extensions/qa-lab/src/node-exec.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover node exec plugin behavior. import { describe, expect, it } from "vitest"; import { resolveQaNodeExecPath } from "./node-exec.js"; diff --git a/extensions/qa-lab/src/node-exec.ts b/extensions/qa-lab/src/node-exec.ts index 1128a3448cf3..e83ed2d7b752 100644 --- a/extensions/qa-lab/src/node-exec.ts +++ b/extensions/qa-lab/src/node-exec.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements node exec behavior. import { execFile } from "node:child_process"; import path from "node:path"; import { promisify } from "node:util"; diff --git a/extensions/qa-lab/src/process-tree-cpu.test.ts b/extensions/qa-lab/src/process-tree-cpu.test.ts index 9827853d5eb7..e6db946c2a16 100644 --- a/extensions/qa-lab/src/process-tree-cpu.test.ts +++ b/extensions/qa-lab/src/process-tree-cpu.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover process tree cpu plugin behavior. import { describe, expect, it } from "vitest"; import { parsePsCpuTimeMs, diff --git a/extensions/qa-lab/src/process-tree-cpu.ts b/extensions/qa-lab/src/process-tree-cpu.ts index a7ca39c55351..317f4facabf4 100644 --- a/extensions/qa-lab/src/process-tree-cpu.ts +++ b/extensions/qa-lab/src/process-tree-cpu.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements process tree cpu behavior. import { spawnSync } from "node:child_process"; import { parseStrictFiniteNumber, parseStrictInteger } from "openclaw/plugin-sdk/number-runtime"; diff --git a/extensions/qa-lab/src/protocol.ts b/extensions/qa-lab/src/protocol.ts index 8be30daea7fc..4a2299138780 100644 --- a/extensions/qa-lab/src/protocol.ts +++ b/extensions/qa-lab/src/protocol.ts @@ -1 +1,2 @@ +// Qa Lab plugin module implements protocol behavior. export type * from "openclaw/plugin-sdk/qa-channel-protocol"; diff --git a/extensions/qa-lab/src/providers/aimock/index.ts b/extensions/qa-lab/src/providers/aimock/index.ts index 2622d8ef299b..dc56a8e49524 100644 --- a/extensions/qa-lab/src/providers/aimock/index.ts +++ b/extensions/qa-lab/src/providers/aimock/index.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin entrypoint registers its OpenClaw integration. import { createMockQaProviderDefinition } from "../shared/mock-provider-definition.js"; export const aimockProviderDefinition = createMockQaProviderDefinition({ diff --git a/extensions/qa-lab/src/providers/aimock/server.test.ts b/extensions/qa-lab/src/providers/aimock/server.test.ts index 821092457e5a..eab3a93e4d05 100644 --- a/extensions/qa-lab/src/providers/aimock/server.test.ts +++ b/extensions/qa-lab/src/providers/aimock/server.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover server plugin behavior. import { describe, expect, it } from "vitest"; import { startQaAimockServer } from "./server.js"; diff --git a/extensions/qa-lab/src/providers/aimock/server.ts b/extensions/qa-lab/src/providers/aimock/server.ts index 487829aaff81..355d7e92dfa6 100644 --- a/extensions/qa-lab/src/providers/aimock/server.ts +++ b/extensions/qa-lab/src/providers/aimock/server.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements server behavior. import type { IncomingMessage, ServerResponse } from "node:http"; import { LLMock, diff --git a/extensions/qa-lab/src/providers/env.ts b/extensions/qa-lab/src/providers/env.ts index ae6af468a1da..7c0a1e4a986e 100644 --- a/extensions/qa-lab/src/providers/env.ts +++ b/extensions/qa-lab/src/providers/env.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements env behavior. import { existsSync } from "node:fs"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/qa-lab/src/providers/image-generation.test.ts b/extensions/qa-lab/src/providers/image-generation.test.ts index 51f934c0bd26..6f06fbdb0430 100644 --- a/extensions/qa-lab/src/providers/image-generation.test.ts +++ b/extensions/qa-lab/src/providers/image-generation.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover image generation plugin behavior. import { describe, expect, it } from "vitest"; import { buildQaImageGenerationConfigPatch } from "./image-generation.js"; diff --git a/extensions/qa-lab/src/providers/image-generation.ts b/extensions/qa-lab/src/providers/image-generation.ts index 7258da6d987b..4220990deeb1 100644 --- a/extensions/qa-lab/src/providers/image-generation.ts +++ b/extensions/qa-lab/src/providers/image-generation.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements image generation behavior. import { normalizeTrimmedStringList, uniqueStrings, diff --git a/extensions/qa-lab/src/providers/index.ts b/extensions/qa-lab/src/providers/index.ts index 3f538c949e47..89d34ade8e34 100644 --- a/extensions/qa-lab/src/providers/index.ts +++ b/extensions/qa-lab/src/providers/index.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin entrypoint registers its OpenClaw integration. import { aimockProviderDefinition } from "./aimock/index.js"; import { liveFrontierProviderDefinition } from "./live-frontier/index.js"; import { mockOpenAiProviderDefinition } from "./mock-openai/index.js"; diff --git a/extensions/qa-lab/src/providers/live-frontier/auth.ts b/extensions/qa-lab/src/providers/live-frontier/auth.ts index c34b342706c4..ed61a4fc582f 100644 --- a/extensions/qa-lab/src/providers/live-frontier/auth.ts +++ b/extensions/qa-lab/src/providers/live-frontier/auth.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements auth behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { applyAuthProfileConfig, diff --git a/extensions/qa-lab/src/providers/live-frontier/catalog.ts b/extensions/qa-lab/src/providers/live-frontier/catalog.ts index f31f6a9e8541..bd30e87f7ae7 100644 --- a/extensions/qa-lab/src/providers/live-frontier/catalog.ts +++ b/extensions/qa-lab/src/providers/live-frontier/catalog.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements catalog behavior. export const QA_FRONTIER_PROVIDER_IDS = ["anthropic", "google", "openai"] as const; export const QA_FRONTIER_CATALOG_PRIMARY_MODEL = "openai/gpt-5.5"; export const QA_FRONTIER_CATALOG_ALTERNATE_MODEL = "anthropic/claude-sonnet-4-6"; diff --git a/extensions/qa-lab/src/providers/live-frontier/character-eval.ts b/extensions/qa-lab/src/providers/live-frontier/character-eval.ts index 00d38ca07eeb..d96a33da04ab 100644 --- a/extensions/qa-lab/src/providers/live-frontier/character-eval.ts +++ b/extensions/qa-lab/src/providers/live-frontier/character-eval.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements character eval behavior. import type { QaThinkingLevel } from "../../qa-thinking.js"; type QaFrontierCharacterModelOptions = { diff --git a/extensions/qa-lab/src/providers/live-frontier/index.ts b/extensions/qa-lab/src/providers/live-frontier/index.ts index 0613f7f96c65..b6f881fec2f9 100644 --- a/extensions/qa-lab/src/providers/live-frontier/index.ts +++ b/extensions/qa-lab/src/providers/live-frontier/index.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin entrypoint registers its OpenClaw integration. import type { QaProviderDefinition } from "../shared/types.js"; function isOpenAiModel(modelRef: string) { diff --git a/extensions/qa-lab/src/providers/live-frontier/model-selection.runtime.ts b/extensions/qa-lab/src/providers/live-frontier/model-selection.runtime.ts index ae010fee524a..8444d7868ca2 100644 --- a/extensions/qa-lab/src/providers/live-frontier/model-selection.runtime.ts +++ b/extensions/qa-lab/src/providers/live-frontier/model-selection.runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements model selection behavior. import { listProfilesForProvider, loadAuthProfileStoreForRuntime, diff --git a/extensions/qa-lab/src/providers/live-frontier/parity.ts b/extensions/qa-lab/src/providers/live-frontier/parity.ts index 53127848c697..daaabd5f2f91 100644 --- a/extensions/qa-lab/src/providers/live-frontier/parity.ts +++ b/extensions/qa-lab/src/providers/live-frontier/parity.ts @@ -1,2 +1,3 @@ +// Qa Lab plugin module implements parity behavior. export const QA_FRONTIER_PARITY_CANDIDATE_LABEL = "openai/gpt-5.5"; export const QA_FRONTIER_PARITY_BASELINE_LABEL = "anthropic/claude-opus-4-8"; diff --git a/extensions/qa-lab/src/providers/mock-openai/index.ts b/extensions/qa-lab/src/providers/mock-openai/index.ts index 8c569d490dd9..9e11f2c827f5 100644 --- a/extensions/qa-lab/src/providers/mock-openai/index.ts +++ b/extensions/qa-lab/src/providers/mock-openai/index.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin entrypoint registers its OpenClaw integration. import { createMockQaProviderDefinition } from "../shared/mock-provider-definition.js"; export const mockOpenAiProviderDefinition = createMockQaProviderDefinition({ diff --git a/extensions/qa-lab/src/providers/mock-openai/server.test.ts b/extensions/qa-lab/src/providers/mock-openai/server.test.ts index 109cbb1ef30e..c8f64af6a43e 100644 --- a/extensions/qa-lab/src/providers/mock-openai/server.test.ts +++ b/extensions/qa-lab/src/providers/mock-openai/server.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover server plugin behavior. import { afterEach, describe, expect, it } from "vitest"; import { resolveProviderVariant, startQaMockOpenAiServer } from "./server.js"; diff --git a/extensions/qa-lab/src/providers/mock-openai/server.ts b/extensions/qa-lab/src/providers/mock-openai/server.ts index 2e16b9dbc1b1..dc1378c94f6a 100644 --- a/extensions/qa-lab/src/providers/mock-openai/server.ts +++ b/extensions/qa-lab/src/providers/mock-openai/server.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements server behavior. import { createHash } from "node:crypto"; import { createServer, type IncomingMessage, type ServerResponse } from "node:http"; import { setTimeout as sleep } from "node:timers/promises"; diff --git a/extensions/qa-lab/src/providers/server-runtime.ts b/extensions/qa-lab/src/providers/server-runtime.ts index cb5590aff5aa..f05fff8d9d21 100644 --- a/extensions/qa-lab/src/providers/server-runtime.ts +++ b/extensions/qa-lab/src/providers/server-runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements server runtime behavior. import { getQaProvider, type QaMockProviderServer, type QaProviderModeInput } from "./index.js"; type QaProviderServerParams = { diff --git a/extensions/qa-lab/src/providers/shared/auth-store.test.ts b/extensions/qa-lab/src/providers/shared/auth-store.test.ts index fdb31183b514..7c9a03339f00 100644 --- a/extensions/qa-lab/src/providers/shared/auth-store.test.ts +++ b/extensions/qa-lab/src/providers/shared/auth-store.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover auth store plugin behavior. import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/qa-lab/src/providers/shared/auth-store.ts b/extensions/qa-lab/src/providers/shared/auth-store.ts index ca1b75ac3c09..230c5e7a9f4b 100644 --- a/extensions/qa-lab/src/providers/shared/auth-store.ts +++ b/extensions/qa-lab/src/providers/shared/auth-store.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements auth store behavior. import fs from "node:fs/promises"; import path from "node:path"; diff --git a/extensions/qa-lab/src/providers/shared/mock-auth.ts b/extensions/qa-lab/src/providers/shared/mock-auth.ts index 380acf3ec2ce..b7873623c76f 100644 --- a/extensions/qa-lab/src/providers/shared/mock-auth.ts +++ b/extensions/qa-lab/src/providers/shared/mock-auth.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements mock auth behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { applyAuthProfileConfig } from "openclaw/plugin-sdk/provider-auth-api-key"; import { uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime"; diff --git a/extensions/qa-lab/src/providers/shared/mock-model-config.ts b/extensions/qa-lab/src/providers/shared/mock-model-config.ts index 667046f74908..d08985792fd9 100644 --- a/extensions/qa-lab/src/providers/shared/mock-model-config.ts +++ b/extensions/qa-lab/src/providers/shared/mock-model-config.ts @@ -1,3 +1,4 @@ +// Qa Lab helper module supports mock model config behavior. import type { ModelProviderConfig } from "openclaw/plugin-sdk/provider-model-shared"; const ZERO_COST = Object.freeze({ diff --git a/extensions/qa-lab/src/providers/shared/mock-provider-definition.ts b/extensions/qa-lab/src/providers/shared/mock-provider-definition.ts index 445181431d07..8c25daffa6e0 100644 --- a/extensions/qa-lab/src/providers/shared/mock-provider-definition.ts +++ b/extensions/qa-lab/src/providers/shared/mock-provider-definition.ts @@ -1,3 +1,4 @@ +// Qa Lab provider module implements model/runtime integration. import { createMockProviderMap } from "./mock-model-config.js"; import type { QaProviderDefinition, QaProviderMode } from "./types.js"; diff --git a/extensions/qa-lab/src/providers/shared/types.ts b/extensions/qa-lab/src/providers/shared/types.ts index 95f98fbee8c8..dd52d60b32fe 100644 --- a/extensions/qa-lab/src/providers/shared/types.ts +++ b/extensions/qa-lab/src/providers/shared/types.ts @@ -1,3 +1,4 @@ +// Qa Lab type declarations define plugin contracts. import type { ModelProviderConfig } from "openclaw/plugin-sdk/provider-model-shared"; import type { QaThinkingLevel } from "../../qa-thinking.js"; diff --git a/extensions/qa-lab/src/qa-agent-bootstrap.ts b/extensions/qa-lab/src/qa-agent-bootstrap.ts index 682e8a8e3dc4..39030175e27f 100644 --- a/extensions/qa-lab/src/qa-agent-bootstrap.ts +++ b/extensions/qa-lab/src/qa-agent-bootstrap.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements qa agent bootstrap behavior. import { DEFAULT_QA_AGENT_IDENTITY_MARKDOWN, readQaBootstrapScenarioCatalog, diff --git a/extensions/qa-lab/src/qa-agent-workspace.test.ts b/extensions/qa-lab/src/qa-agent-workspace.test.ts index 2567baa3cd74..7afdca3f7c60 100644 --- a/extensions/qa-lab/src/qa-agent-workspace.test.ts +++ b/extensions/qa-lab/src/qa-agent-workspace.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover qa agent workspace plugin behavior. import fs from "node:fs/promises"; import path from "node:path"; import { afterEach, describe, expect, it } from "vitest"; diff --git a/extensions/qa-lab/src/qa-agent-workspace.ts b/extensions/qa-lab/src/qa-agent-workspace.ts index 73d9b340b999..d98f180931cf 100644 --- a/extensions/qa-lab/src/qa-agent-workspace.ts +++ b/extensions/qa-lab/src/qa-agent-workspace.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements qa agent workspace behavior. import fs from "node:fs/promises"; import path from "node:path"; import { buildQaScenarioPlanMarkdown, readQaAgentIdentityMarkdown } from "./qa-agent-bootstrap.js"; diff --git a/extensions/qa-lab/src/qa-channel-transport.test.ts b/extensions/qa-lab/src/qa-channel-transport.test.ts index 684fc75f23dd..ab896cbb32e1 100644 --- a/extensions/qa-lab/src/qa-channel-transport.test.ts +++ b/extensions/qa-lab/src/qa-channel-transport.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover qa channel transport plugin behavior. import { describe, expect, it, vi } from "vitest"; import { createQaBusState } from "./bus-state.js"; import { createQaChannelTransport } from "./qa-channel-transport.js"; diff --git a/extensions/qa-lab/src/qa-channel-transport.ts b/extensions/qa-lab/src/qa-channel-transport.ts index 552a0adc811a..5ae19195000a 100644 --- a/extensions/qa-lab/src/qa-channel-transport.ts +++ b/extensions/qa-lab/src/qa-channel-transport.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements qa channel transport behavior. import { setTimeout as sleep } from "node:timers/promises"; import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime"; diff --git a/extensions/qa-lab/src/qa-credentials-admin.runtime.test.ts b/extensions/qa-lab/src/qa-credentials-admin.runtime.test.ts index a40223c97499..5608c112aa3c 100644 --- a/extensions/qa-lab/src/qa-credentials-admin.runtime.test.ts +++ b/extensions/qa-lab/src/qa-credentials-admin.runtime.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover qa credentials admin plugin behavior. import { MAX_TIMER_TIMEOUT_MS } from "openclaw/plugin-sdk/number-runtime"; import { afterEach, describe, expect, it, vi } from "vitest"; import { diff --git a/extensions/qa-lab/src/qa-credentials-admin.runtime.ts b/extensions/qa-lab/src/qa-credentials-admin.runtime.ts index a7f4cf704508..bbfd7e492f5b 100644 --- a/extensions/qa-lab/src/qa-credentials-admin.runtime.ts +++ b/extensions/qa-lab/src/qa-credentials-admin.runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements qa credentials admin behavior. import { randomUUID } from "node:crypto"; import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime"; import { resolveTimerTimeoutMs } from "openclaw/plugin-sdk/number-runtime"; diff --git a/extensions/qa-lab/src/qa-credentials-common.runtime.test.ts b/extensions/qa-lab/src/qa-credentials-common.runtime.test.ts index 8e37ae6e2662..8f38f6048576 100644 --- a/extensions/qa-lab/src/qa-credentials-common.runtime.test.ts +++ b/extensions/qa-lab/src/qa-credentials-common.runtime.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover qa credentials common plugin behavior. import { describe, expect, it } from "vitest"; import { parseQaCredentialPositiveIntegerEnv } from "./qa-credentials-common.runtime.js"; diff --git a/extensions/qa-lab/src/qa-credentials-common.runtime.ts b/extensions/qa-lab/src/qa-credentials-common.runtime.ts index 994d113fd300..c067a4970609 100644 --- a/extensions/qa-lab/src/qa-credentials-common.runtime.ts +++ b/extensions/qa-lab/src/qa-credentials-common.runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements qa credentials common behavior. import { isLoopbackHost } from "openclaw/plugin-sdk/gateway-runtime"; import { parseStrictPositiveInteger } from "openclaw/plugin-sdk/number-runtime"; diff --git a/extensions/qa-lab/src/qa-credentials-fingerprint.runtime.ts b/extensions/qa-lab/src/qa-credentials-fingerprint.runtime.ts index 27bbb78634be..bce1bd04a915 100644 --- a/extensions/qa-lab/src/qa-credentials-fingerprint.runtime.ts +++ b/extensions/qa-lab/src/qa-credentials-fingerprint.runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements qa credentials fingerprint behavior. import { createHash } from "node:crypto"; export function fingerprintQaCredentialId(credentialId: string | undefined) { diff --git a/extensions/qa-lab/src/qa-gateway-config.test.ts b/extensions/qa-lab/src/qa-gateway-config.test.ts index b4e55ffa6340..d495ad983379 100644 --- a/extensions/qa-lab/src/qa-gateway-config.test.ts +++ b/extensions/qa-lab/src/qa-gateway-config.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover qa gateway config plugin behavior. import { describe, expect, it } from "vitest"; import { buildQaGatewayConfig, diff --git a/extensions/qa-lab/src/qa-gateway-config.ts b/extensions/qa-lab/src/qa-gateway-config.ts index fb91b79ec679..d149a40b6457 100644 --- a/extensions/qa-lab/src/qa-gateway-config.ts +++ b/extensions/qa-lab/src/qa-gateway-config.ts @@ -1,3 +1,4 @@ +// Qa Lab helper module supports qa gateway config behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import type { ModelProviderConfig } from "openclaw/plugin-sdk/provider-model-shared"; import { uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime"; diff --git a/extensions/qa-lab/src/qa-thinking.ts b/extensions/qa-lab/src/qa-thinking.ts index 74527ebc089a..8507f3f4e111 100644 --- a/extensions/qa-lab/src/qa-thinking.ts +++ b/extensions/qa-lab/src/qa-thinking.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements qa thinking behavior. export type QaThinkingLevel = | "off" | "minimal" diff --git a/extensions/qa-lab/src/qa-transport-registry.test.ts b/extensions/qa-lab/src/qa-transport-registry.test.ts index df6ce160efca..abe9dd4ce327 100644 --- a/extensions/qa-lab/src/qa-transport-registry.test.ts +++ b/extensions/qa-lab/src/qa-transport-registry.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover qa transport registry plugin behavior. import { describe, expect, it } from "vitest"; import { normalizeQaTransportId } from "./qa-transport-registry.js"; diff --git a/extensions/qa-lab/src/qa-transport-registry.ts b/extensions/qa-lab/src/qa-transport-registry.ts index d64337646188..7e084f96f8b8 100644 --- a/extensions/qa-lab/src/qa-transport-registry.ts +++ b/extensions/qa-lab/src/qa-transport-registry.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements qa transport registry behavior. import type { QaBusState } from "./bus-state.js"; import { createQaChannelTransport, diff --git a/extensions/qa-lab/src/qa-transport.ts b/extensions/qa-lab/src/qa-transport.ts index d07e4cd814b8..8aa7bd7baaf7 100644 --- a/extensions/qa-lab/src/qa-transport.ts +++ b/extensions/qa-lab/src/qa-transport.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements qa transport behavior. import { setTimeout as sleep } from "node:timers/promises"; import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { resolveTimerTimeoutMs } from "openclaw/plugin-sdk/number-runtime"; diff --git a/extensions/qa-lab/src/reply-failure.test.ts b/extensions/qa-lab/src/reply-failure.test.ts index 84e303dcc1a6..121363c4bb80 100644 --- a/extensions/qa-lab/src/reply-failure.test.ts +++ b/extensions/qa-lab/src/reply-failure.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover reply failure plugin behavior. import { describe, expect, it } from "vitest"; import { extractQaFailureReplyText, extractQaVisibleReplyLeakText } from "./reply-failure.js"; diff --git a/extensions/qa-lab/src/reply-failure.ts b/extensions/qa-lab/src/reply-failure.ts index 8d47717633e8..1c49dabfd5c9 100644 --- a/extensions/qa-lab/src/reply-failure.ts +++ b/extensions/qa-lab/src/reply-failure.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements reply failure behavior. import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime"; const FAILURE_REPLY_PREFIXES = [ diff --git a/extensions/qa-lab/src/run-config.test.ts b/extensions/qa-lab/src/run-config.test.ts index da6a81793193..f8ecd2a0a8b0 100644 --- a/extensions/qa-lab/src/run-config.test.ts +++ b/extensions/qa-lab/src/run-config.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover run config plugin behavior. import path from "node:path"; import { beforeEach, describe, expect, it, vi } from "vitest"; diff --git a/extensions/qa-lab/src/run-config.ts b/extensions/qa-lab/src/run-config.ts index 3ad381e8c073..d6927a5667bb 100644 --- a/extensions/qa-lab/src/run-config.ts +++ b/extensions/qa-lab/src/run-config.ts @@ -1,3 +1,4 @@ +// Qa Lab helper module supports run config behavior. import path from "node:path"; import { uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime"; import { defaultQaModelForMode as defaultStaticQaModelForMode } from "./model-selection.js"; diff --git a/extensions/qa-lab/src/runtime-api.ts b/extensions/qa-lab/src/runtime-api.ts index c967598b6469..d47d45f68d61 100644 --- a/extensions/qa-lab/src/runtime-api.ts +++ b/extensions/qa-lab/src/runtime-api.ts @@ -1,3 +1,4 @@ +// Qa Lab API module exposes the plugin public contract. export type { Command } from "commander"; export type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; export { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry"; diff --git a/extensions/qa-lab/src/runtime-parity.ts b/extensions/qa-lab/src/runtime-parity.ts index 869384c05208..7a519ea87a02 100644 --- a/extensions/qa-lab/src/runtime-parity.ts +++ b/extensions/qa-lab/src/runtime-parity.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements runtime parity behavior. import { createHash } from "node:crypto"; import fs from "node:fs/promises"; import path from "node:path"; diff --git a/extensions/qa-lab/src/runtime-tool-fixture.test.ts b/extensions/qa-lab/src/runtime-tool-fixture.test.ts index d15628604826..80a5a2c4db83 100644 --- a/extensions/qa-lab/src/runtime-tool-fixture.test.ts +++ b/extensions/qa-lab/src/runtime-tool-fixture.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover runtime tool fixture plugin behavior. import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/qa-lab/src/runtime-tool-fixture.ts b/extensions/qa-lab/src/runtime-tool-fixture.ts index a60625f597bc..a6cfd5dbb9bf 100644 --- a/extensions/qa-lab/src/runtime-tool-fixture.ts +++ b/extensions/qa-lab/src/runtime-tool-fixture.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements runtime tool fixture behavior. import fs from "node:fs/promises"; import path from "node:path"; import { readRuntimeToolCoverageMetadata } from "./runtime-tool-metadata.js"; diff --git a/extensions/qa-lab/src/runtime-tool-metadata.ts b/extensions/qa-lab/src/runtime-tool-metadata.ts index 306d1ba94f20..f0f0ba151ef1 100644 --- a/extensions/qa-lab/src/runtime-tool-metadata.ts +++ b/extensions/qa-lab/src/runtime-tool-metadata.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements runtime tool metadata behavior. import { asBoolean as readBoolean, isRecord, diff --git a/extensions/qa-lab/src/scenario-catalog.test.ts b/extensions/qa-lab/src/scenario-catalog.test.ts index 8388a1d4528e..f806426d2c3f 100644 --- a/extensions/qa-lab/src/scenario-catalog.test.ts +++ b/extensions/qa-lab/src/scenario-catalog.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover scenario catalog plugin behavior. import { describe, expect, it } from "vitest"; import { QA_AGENTIC_PARITY_SCENARIO_IDS } from "./agentic-parity.js"; import { diff --git a/extensions/qa-lab/src/scenario-catalog.ts b/extensions/qa-lab/src/scenario-catalog.ts index a3e4fd971e3c..65d4593fe6e4 100644 --- a/extensions/qa-lab/src/scenario-catalog.ts +++ b/extensions/qa-lab/src/scenario-catalog.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements scenario catalog behavior. import fs from "node:fs"; import path from "node:path"; import YAML from "yaml"; diff --git a/extensions/qa-lab/src/scenario-flow-runner.test.ts b/extensions/qa-lab/src/scenario-flow-runner.test.ts index 60227e85911f..46d9547d481d 100644 --- a/extensions/qa-lab/src/scenario-flow-runner.test.ts +++ b/extensions/qa-lab/src/scenario-flow-runner.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover scenario flow runner plugin behavior. import { describe, expect, it } from "vitest"; import { createQaBusState } from "./bus-state.js"; import { readQaScenarioById } from "./scenario-catalog.js"; diff --git a/extensions/qa-lab/src/scenario-flow-runner.ts b/extensions/qa-lab/src/scenario-flow-runner.ts index a5a5024ee3f5..a74b9abb6d2e 100644 --- a/extensions/qa-lab/src/scenario-flow-runner.ts +++ b/extensions/qa-lab/src/scenario-flow-runner.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements scenario flow runner behavior. import { isRecord as isPlainObject } from "openclaw/plugin-sdk/string-coerce-runtime"; import type { QaTransportState } from "./qa-transport.js"; import type { QaScenarioFlow, QaSeedScenarioWithSource } from "./scenario-catalog.js"; diff --git a/extensions/qa-lab/src/scenario-packs.test.ts b/extensions/qa-lab/src/scenario-packs.test.ts index 20622a94de12..0e5a9feb3e3f 100644 --- a/extensions/qa-lab/src/scenario-packs.test.ts +++ b/extensions/qa-lab/src/scenario-packs.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover scenario packs plugin behavior. import { describe, expect, it } from "vitest"; import { QA_OBSERVABILITY_SCENARIO_IDS, diff --git a/extensions/qa-lab/src/scenario-packs.ts b/extensions/qa-lab/src/scenario-packs.ts index 7195e60003b8..b6c039a5b83e 100644 --- a/extensions/qa-lab/src/scenario-packs.ts +++ b/extensions/qa-lab/src/scenario-packs.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements scenario packs behavior. import { uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime"; export type QaScenarioPackDefinition = { diff --git a/extensions/qa-lab/src/scenario-runtime-api.test.ts b/extensions/qa-lab/src/scenario-runtime-api.test.ts index 9f15cc68dd4f..91999b134b96 100644 --- a/extensions/qa-lab/src/scenario-runtime-api.test.ts +++ b/extensions/qa-lab/src/scenario-runtime-api.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover scenario runtime api plugin behavior. import { randomUUID } from "node:crypto"; import * as fs from "node:fs/promises"; import path from "node:path"; diff --git a/extensions/qa-lab/src/scenario-runtime-api.ts b/extensions/qa-lab/src/scenario-runtime-api.ts index f607b14cce6d..0e6073448139 100644 --- a/extensions/qa-lab/src/scenario-runtime-api.ts +++ b/extensions/qa-lab/src/scenario-runtime-api.ts @@ -1,3 +1,4 @@ +// Qa Lab API module exposes the plugin public contract. import type * as NodeFs from "node:fs/promises"; import type * as NodePath from "node:path"; import type { QaTransportState } from "./qa-transport.js"; diff --git a/extensions/qa-lab/src/scenario.ts b/extensions/qa-lab/src/scenario.ts index 3d89a4948859..d1ca639efba5 100644 --- a/extensions/qa-lab/src/scenario.ts +++ b/extensions/qa-lab/src/scenario.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements scenario behavior. import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime"; import type { QaTransportActionName, QaTransportState } from "./qa-transport.js"; diff --git a/extensions/qa-lab/src/self-check-runner.ts b/extensions/qa-lab/src/self-check-runner.ts index 669ce769ee43..db0fdd71a522 100644 --- a/extensions/qa-lab/src/self-check-runner.ts +++ b/extensions/qa-lab/src/self-check-runner.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements self check runner behavior. import { startQaLabServer } from "./lab-server.js"; export async function runQaLabSelfCheck(params?: { repoRoot?: string; outputPath?: string }) { diff --git a/extensions/qa-lab/src/self-check-scenario.ts b/extensions/qa-lab/src/self-check-scenario.ts index 45c2e0761cc9..564a2ffd9412 100644 --- a/extensions/qa-lab/src/self-check-scenario.ts +++ b/extensions/qa-lab/src/self-check-scenario.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements self check scenario behavior. import { extractQaToolPayload } from "./extract-tool-payload.js"; import type { QaScenarioDefinition } from "./scenario.js"; diff --git a/extensions/qa-lab/src/self-check.test.ts b/extensions/qa-lab/src/self-check.test.ts index e3c316eddd39..cf558c28f664 100644 --- a/extensions/qa-lab/src/self-check.test.ts +++ b/extensions/qa-lab/src/self-check.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover self check plugin behavior. import path from "node:path"; import { describe, expect, it } from "vitest"; import { resolveQaSelfCheckOutputPath } from "./self-check.js"; diff --git a/extensions/qa-lab/src/self-check.ts b/extensions/qa-lab/src/self-check.ts index 8dcee83bac52..376b30998d32 100644 --- a/extensions/qa-lab/src/self-check.ts +++ b/extensions/qa-lab/src/self-check.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements self check behavior. import fs from "node:fs/promises"; import path from "node:path"; import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; diff --git a/extensions/qa-lab/src/suite-launch.runtime.ts b/extensions/qa-lab/src/suite-launch.runtime.ts index 67b083d2efa8..fbc777d0da12 100644 --- a/extensions/qa-lab/src/suite-launch.runtime.ts +++ b/extensions/qa-lab/src/suite-launch.runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements suite launch behavior. import type { QaSuiteRunParams } from "./suite.js"; async function loadQaLabServerRuntime() { diff --git a/extensions/qa-lab/src/suite-merge-patch.test.ts b/extensions/qa-lab/src/suite-merge-patch.test.ts index 14733e75fdc6..8cc70a207c5f 100644 --- a/extensions/qa-lab/src/suite-merge-patch.test.ts +++ b/extensions/qa-lab/src/suite-merge-patch.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover suite merge patch plugin behavior. import { describe, expect, it } from "vitest"; import { applyQaMergePatch } from "./suite-merge-patch.js"; diff --git a/extensions/qa-lab/src/suite-merge-patch.ts b/extensions/qa-lab/src/suite-merge-patch.ts index e3d04341dbb4..26159cc281b1 100644 --- a/extensions/qa-lab/src/suite-merge-patch.ts +++ b/extensions/qa-lab/src/suite-merge-patch.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements suite merge patch behavior. import { isRecord as isPlainObject } from "openclaw/plugin-sdk/string-coerce-runtime"; const QA_MERGE_PATCH_BLOCKED_KEYS = new Set(["__proto__", "constructor", "prototype"]); diff --git a/extensions/qa-lab/src/suite-planning.test.ts b/extensions/qa-lab/src/suite-planning.test.ts index 021f21697ca0..0c373b5bea50 100644 --- a/extensions/qa-lab/src/suite-planning.test.ts +++ b/extensions/qa-lab/src/suite-planning.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover suite planning plugin behavior. import { lstat, mkdir, mkdtemp, rm, symlink } from "node:fs/promises"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/qa-lab/src/suite-planning.ts b/extensions/qa-lab/src/suite-planning.ts index dbd0507e27e9..e64442a7d2fc 100644 --- a/extensions/qa-lab/src/suite-planning.ts +++ b/extensions/qa-lab/src/suite-planning.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements suite planning behavior. import path from "node:path"; import { parseStrictNonNegativeInteger } from "openclaw/plugin-sdk/number-runtime"; import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime"; diff --git a/extensions/qa-lab/src/suite-runtime-agent-common.ts b/extensions/qa-lab/src/suite-runtime-agent-common.ts index 7f783c2fdcbd..5aa3e14c6797 100644 --- a/extensions/qa-lab/src/suite-runtime-agent-common.ts +++ b/extensions/qa-lab/src/suite-runtime-agent-common.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements suite runtime agent common behavior. import { resolveQaLiveTurnTimeoutMs } from "./live-timeout.js"; import type { QaProviderMode } from "./model-selection.js"; diff --git a/extensions/qa-lab/src/suite-runtime-agent-media.test.ts b/extensions/qa-lab/src/suite-runtime-agent-media.test.ts index a001fe6d0596..a705c234249e 100644 --- a/extensions/qa-lab/src/suite-runtime-agent-media.test.ts +++ b/extensions/qa-lab/src/suite-runtime-agent-media.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover suite runtime agent media plugin behavior. import fs from "node:fs/promises"; import path from "node:path"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; diff --git a/extensions/qa-lab/src/suite-runtime-agent-media.ts b/extensions/qa-lab/src/suite-runtime-agent-media.ts index b9eb30674618..97893dfef6a0 100644 --- a/extensions/qa-lab/src/suite-runtime-agent-media.ts +++ b/extensions/qa-lab/src/suite-runtime-agent-media.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements suite runtime agent media behavior. import fs from "node:fs/promises"; import path from "node:path"; import { buildQaImageGenerationConfigPatch } from "./providers/image-generation.js"; diff --git a/extensions/qa-lab/src/suite-runtime-agent-process.integration.test.ts b/extensions/qa-lab/src/suite-runtime-agent-process.integration.test.ts index 58a4ee085130..395f19f445af 100644 --- a/extensions/qa-lab/src/suite-runtime-agent-process.integration.test.ts +++ b/extensions/qa-lab/src/suite-runtime-agent-process.integration.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover suite runtime agent process.integration plugin behavior. import { mkdir, mkdtemp, rm, writeFile } from "node:fs/promises"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/qa-lab/src/suite-runtime-agent-process.test.ts b/extensions/qa-lab/src/suite-runtime-agent-process.test.ts index aacb2755e16b..2ea7e0cc013a 100644 --- a/extensions/qa-lab/src/suite-runtime-agent-process.test.ts +++ b/extensions/qa-lab/src/suite-runtime-agent-process.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover suite runtime agent process plugin behavior. import { EventEmitter } from "node:events"; import path from "node:path"; import { MAX_TIMER_TIMEOUT_MS } from "openclaw/plugin-sdk/number-runtime"; diff --git a/extensions/qa-lab/src/suite-runtime-agent-process.ts b/extensions/qa-lab/src/suite-runtime-agent-process.ts index cb5216807152..b09860e70907 100644 --- a/extensions/qa-lab/src/suite-runtime-agent-process.ts +++ b/extensions/qa-lab/src/suite-runtime-agent-process.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements suite runtime agent process behavior. import { spawn } from "node:child_process"; import { randomUUID } from "node:crypto"; import path from "node:path"; diff --git a/extensions/qa-lab/src/suite-runtime-agent-session.test.ts b/extensions/qa-lab/src/suite-runtime-agent-session.test.ts index 92438e361bd1..b43e772b7969 100644 --- a/extensions/qa-lab/src/suite-runtime-agent-session.test.ts +++ b/extensions/qa-lab/src/suite-runtime-agent-session.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover suite runtime agent session plugin behavior. import fs from "node:fs/promises"; import path from "node:path"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; diff --git a/extensions/qa-lab/src/suite-runtime-agent-session.ts b/extensions/qa-lab/src/suite-runtime-agent-session.ts index 8a29e53cefef..d4cd2ab552ec 100644 --- a/extensions/qa-lab/src/suite-runtime-agent-session.ts +++ b/extensions/qa-lab/src/suite-runtime-agent-session.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements suite runtime agent session behavior. import fs from "node:fs/promises"; import path from "node:path"; import { setTimeout as sleep } from "node:timers/promises"; diff --git a/extensions/qa-lab/src/suite-runtime-agent-tools.test.ts b/extensions/qa-lab/src/suite-runtime-agent-tools.test.ts index a9cfc0ef1b4a..ee0ebcecdc2e 100644 --- a/extensions/qa-lab/src/suite-runtime-agent-tools.test.ts +++ b/extensions/qa-lab/src/suite-runtime-agent-tools.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover suite runtime agent tools plugin behavior. import fs from "node:fs/promises"; import { createRequire } from "node:module"; import path from "node:path"; diff --git a/extensions/qa-lab/src/suite-runtime-agent-tools.ts b/extensions/qa-lab/src/suite-runtime-agent-tools.ts index 265da46632d9..f92974b1a2b9 100644 --- a/extensions/qa-lab/src/suite-runtime-agent-tools.ts +++ b/extensions/qa-lab/src/suite-runtime-agent-tools.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements suite runtime agent tools behavior. import fs from "node:fs/promises"; import { createRequire } from "node:module"; import path from "node:path"; diff --git a/extensions/qa-lab/src/suite-runtime-agent.ts b/extensions/qa-lab/src/suite-runtime-agent.ts index 6b1b0ae10eba..7fd7f86a18e1 100644 --- a/extensions/qa-lab/src/suite-runtime-agent.ts +++ b/extensions/qa-lab/src/suite-runtime-agent.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements suite runtime agent behavior. export { createSession, readEffectiveTools, diff --git a/extensions/qa-lab/src/suite-runtime-flow.test.ts b/extensions/qa-lab/src/suite-runtime-flow.test.ts index 611fc838026b..98596b75cbf9 100644 --- a/extensions/qa-lab/src/suite-runtime-flow.test.ts +++ b/extensions/qa-lab/src/suite-runtime-flow.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover suite runtime flow plugin behavior. import { describe, expect, it, vi } from "vitest"; const createQaScenarioRuntimeApi = vi.hoisted(() => vi.fn()); diff --git a/extensions/qa-lab/src/suite-runtime-flow.ts b/extensions/qa-lab/src/suite-runtime-flow.ts index 21f1139b8ed6..65db97410292 100644 --- a/extensions/qa-lab/src/suite-runtime-flow.ts +++ b/extensions/qa-lab/src/suite-runtime-flow.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements suite runtime flow behavior. import { randomUUID } from "node:crypto"; import fs from "node:fs/promises"; import path from "node:path"; diff --git a/extensions/qa-lab/src/suite-runtime-gateway.test.ts b/extensions/qa-lab/src/suite-runtime-gateway.test.ts index 38e50e15da21..321917bb9530 100644 --- a/extensions/qa-lab/src/suite-runtime-gateway.test.ts +++ b/extensions/qa-lab/src/suite-runtime-gateway.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover suite runtime gateway plugin behavior. import { afterEach, describe, expect, it, vi } from "vitest"; import { getGatewayRetryAfterMs, diff --git a/extensions/qa-lab/src/suite-runtime-gateway.ts b/extensions/qa-lab/src/suite-runtime-gateway.ts index 0527064a365a..6d944f832f1e 100644 --- a/extensions/qa-lab/src/suite-runtime-gateway.ts +++ b/extensions/qa-lab/src/suite-runtime-gateway.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements suite runtime gateway behavior. import { setTimeout as sleep } from "node:timers/promises"; import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime"; import { fetchWithSsrFGuard } from "openclaw/plugin-sdk/ssrf-runtime"; diff --git a/extensions/qa-lab/src/suite-runtime-transport.test.ts b/extensions/qa-lab/src/suite-runtime-transport.test.ts index 62e803561889..5b4283e5363f 100644 --- a/extensions/qa-lab/src/suite-runtime-transport.test.ts +++ b/extensions/qa-lab/src/suite-runtime-transport.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover suite runtime transport plugin behavior. import { describe, expect, it } from "vitest"; import { createQaBusState } from "./bus-state.js"; import { diff --git a/extensions/qa-lab/src/suite-runtime-transport.ts b/extensions/qa-lab/src/suite-runtime-transport.ts index bdbb8a4a76ec..a470f199fb18 100644 --- a/extensions/qa-lab/src/suite-runtime-transport.ts +++ b/extensions/qa-lab/src/suite-runtime-transport.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements suite runtime transport behavior. import { setTimeout as sleep } from "node:timers/promises"; import { createFailureAwareTransportWaitForCondition, diff --git a/extensions/qa-lab/src/suite-runtime-types.ts b/extensions/qa-lab/src/suite-runtime-types.ts index 04a34fcef6ef..5fe0fc9b8ebb 100644 --- a/extensions/qa-lab/src/suite-runtime-types.ts +++ b/extensions/qa-lab/src/suite-runtime-types.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements suite runtime types behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import type { QaProviderMode } from "./model-selection.js"; import type { QaTransportActionName, QaTransportAdapter } from "./qa-transport.js"; diff --git a/extensions/qa-lab/src/suite-summary.test.ts b/extensions/qa-lab/src/suite-summary.test.ts index 39357a6ee370..20673ed6b454 100644 --- a/extensions/qa-lab/src/suite-summary.test.ts +++ b/extensions/qa-lab/src/suite-summary.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover suite summary plugin behavior. import { describe, expect, it } from "vitest"; import { countQaSuiteFailedScenarios, diff --git a/extensions/qa-lab/src/suite-summary.ts b/extensions/qa-lab/src/suite-summary.ts index 3a2429e1b576..f5c0e0dbba26 100644 --- a/extensions/qa-lab/src/suite-summary.ts +++ b/extensions/qa-lab/src/suite-summary.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements suite summary behavior. import type { QaProviderMode } from "./model-selection.js"; import type { RuntimeId, RuntimeParityResult } from "./runtime-parity.js"; diff --git a/extensions/qa-lab/src/suite-test-helpers.ts b/extensions/qa-lab/src/suite-test-helpers.ts index 0db66416ace4..1e2e524e2559 100644 --- a/extensions/qa-lab/src/suite-test-helpers.ts +++ b/extensions/qa-lab/src/suite-test-helpers.ts @@ -1,3 +1,4 @@ +// Qa Lab helper module supports suite test helpers behavior. import { readQaBootstrapScenarioCatalog } from "./scenario-catalog.js"; type QaSuiteTestScenario = ReturnType["scenarios"][number]; diff --git a/extensions/qa-lab/src/suite.summary-json.test.ts b/extensions/qa-lab/src/suite.summary-json.test.ts index 6ea40baadfb5..f1d9b608844b 100644 --- a/extensions/qa-lab/src/suite.summary-json.test.ts +++ b/extensions/qa-lab/src/suite.summary-json.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover suite.summary json plugin behavior. import { describe, expect, it } from "vitest"; import { buildQaSuiteSummaryJson } from "./suite.js"; diff --git a/extensions/qa-lab/src/suite.test.ts b/extensions/qa-lab/src/suite.test.ts index ed64814d2029..147144e88070 100644 --- a/extensions/qa-lab/src/suite.test.ts +++ b/extensions/qa-lab/src/suite.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover suite plugin behavior. import { afterEach, describe, expect, it, vi } from "vitest"; import type { QaLabServerHandle } from "./lab-server.types.js"; import { makeQaSuiteTestScenario } from "./suite-test-helpers.js"; diff --git a/extensions/qa-lab/src/suite.ts b/extensions/qa-lab/src/suite.ts index e280e8ee81f5..8f3bc069cfd7 100644 --- a/extensions/qa-lab/src/suite.ts +++ b/extensions/qa-lab/src/suite.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements suite behavior. import fs from "node:fs/promises"; import path from "node:path"; import { setTimeout as sleep } from "node:timers/promises"; diff --git a/extensions/qa-lab/src/temp-dir.test-helper.ts b/extensions/qa-lab/src/temp-dir.test-helper.ts index 2b596e3331e6..aca56d3fc803 100644 --- a/extensions/qa-lab/src/temp-dir.test-helper.ts +++ b/extensions/qa-lab/src/temp-dir.test-helper.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements temp dir helper behavior. import { tempWorkspace, resolvePreferredOpenClawTmpDir, diff --git a/extensions/qa-lab/src/timer-timeouts.test.ts b/extensions/qa-lab/src/timer-timeouts.test.ts index a0cbacce73d3..cc0cbf12d7d8 100644 --- a/extensions/qa-lab/src/timer-timeouts.test.ts +++ b/extensions/qa-lab/src/timer-timeouts.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover timer timeouts plugin behavior. import { MAX_TIMER_TIMEOUT_MS } from "openclaw/plugin-sdk/number-runtime"; import { describe, expect, it } from "vitest"; import { resolveQaGatewayTimeoutWithGraceMs } from "./timer-timeouts.js"; diff --git a/extensions/qa-lab/src/timer-timeouts.ts b/extensions/qa-lab/src/timer-timeouts.ts index fd941865a452..d3d688e45fcc 100644 --- a/extensions/qa-lab/src/timer-timeouts.ts +++ b/extensions/qa-lab/src/timer-timeouts.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements timer timeouts behavior. import { addTimerTimeoutGraceMs, clampPositiveTimerTimeoutMs, diff --git a/extensions/qa-lab/src/token-efficiency-report.test.ts b/extensions/qa-lab/src/token-efficiency-report.test.ts index afc9a578745a..803bd21642b1 100644 --- a/extensions/qa-lab/src/token-efficiency-report.test.ts +++ b/extensions/qa-lab/src/token-efficiency-report.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover token efficiency report plugin behavior. import { describe, expect, it } from "vitest"; import type { RuntimeId, diff --git a/extensions/qa-lab/src/token-efficiency-report.ts b/extensions/qa-lab/src/token-efficiency-report.ts index 5733f5842263..6c276551c751 100644 --- a/extensions/qa-lab/src/token-efficiency-report.ts +++ b/extensions/qa-lab/src/token-efficiency-report.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements token efficiency report behavior. import type { RuntimeId, RuntimeParityCell, RuntimeParityResult } from "./runtime-parity.js"; export type TokenEfficiencyRuntimeUsage = { diff --git a/extensions/qa-lab/src/tool-coverage-report.test.ts b/extensions/qa-lab/src/tool-coverage-report.test.ts index fca3dc141182..cc2583b6d400 100644 --- a/extensions/qa-lab/src/tool-coverage-report.test.ts +++ b/extensions/qa-lab/src/tool-coverage-report.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover tool coverage report plugin behavior. import { describe, expect, it } from "vitest"; import { readQaScenarioPack, type QaSeedScenarioWithSource } from "./scenario-catalog.js"; import { diff --git a/extensions/qa-lab/src/tool-coverage-report.ts b/extensions/qa-lab/src/tool-coverage-report.ts index 99df33862ba2..4b90034ff550 100644 --- a/extensions/qa-lab/src/tool-coverage-report.ts +++ b/extensions/qa-lab/src/tool-coverage-report.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements tool coverage report behavior. import { isRecord, normalizeOptionalString as readString, diff --git a/extensions/qa-lab/src/web-runtime.test.ts b/extensions/qa-lab/src/web-runtime.test.ts index e4e3f43f0189..00191eb65f43 100644 --- a/extensions/qa-lab/src/web-runtime.test.ts +++ b/extensions/qa-lab/src/web-runtime.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover web runtime plugin behavior. import { MAX_TIMER_TIMEOUT_MS } from "openclaw/plugin-sdk/number-runtime"; import { beforeEach, describe, expect, it, vi } from "vitest"; diff --git a/extensions/qa-lab/src/web-runtime.ts b/extensions/qa-lab/src/web-runtime.ts index 5bdcaa6ce915..80f4f93c883d 100644 --- a/extensions/qa-lab/src/web-runtime.ts +++ b/extensions/qa-lab/src/web-runtime.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements web runtime behavior. import { randomUUID } from "node:crypto"; import { resolvePositiveTimerTimeoutMs } from "openclaw/plugin-sdk/number-runtime"; import { chromium, type Browser, type BrowserContext, type Page } from "playwright-core"; diff --git a/extensions/qa-lab/web/src/app.ts b/extensions/qa-lab/web/src/app.ts index 78c64d635a26..613f37a03780 100644 --- a/extensions/qa-lab/web/src/app.ts +++ b/extensions/qa-lab/web/src/app.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements app behavior. import { defaultQaModelForMode, isQaFastModeEnabled } from "../../model-selection.js"; import { normalizeCaptureSavedView, normalizeCaptureSavedViews } from "./capture-saved-view.js"; import { formatErrorMessage } from "./errors.js"; diff --git a/extensions/qa-lab/web/src/assets.d.ts b/extensions/qa-lab/web/src/assets.d.ts index cbe652dbe00b..859b3b017726 100644 --- a/extensions/qa-lab/web/src/assets.d.ts +++ b/extensions/qa-lab/web/src/assets.d.ts @@ -1 +1,2 @@ +// Qa Lab type declarations define plugin contracts. declare module "*.css"; diff --git a/extensions/qa-lab/web/src/capture-saved-view.test.ts b/extensions/qa-lab/web/src/capture-saved-view.test.ts index 572cfb131a3b..bad88981d38f 100644 --- a/extensions/qa-lab/web/src/capture-saved-view.test.ts +++ b/extensions/qa-lab/web/src/capture-saved-view.test.ts @@ -1,3 +1,4 @@ +// Qa Lab tests cover capture saved view plugin behavior. import { describe, expect, it } from "vitest"; import { normalizeCaptureSavedView, normalizeCaptureSavedViews } from "./capture-saved-view.js"; diff --git a/extensions/qa-lab/web/src/capture-saved-view.ts b/extensions/qa-lab/web/src/capture-saved-view.ts index 992d4a8e416e..c9b5f9bfaab2 100644 --- a/extensions/qa-lab/web/src/capture-saved-view.ts +++ b/extensions/qa-lab/web/src/capture-saved-view.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements capture saved view behavior. import type { CaptureSavedView } from "./ui-render.js"; const MAX_SAVED_VIEWS = 12; diff --git a/extensions/qa-lab/web/src/errors.ts b/extensions/qa-lab/web/src/errors.ts index 1087fb2488d7..448c46f811f5 100644 --- a/extensions/qa-lab/web/src/errors.ts +++ b/extensions/qa-lab/web/src/errors.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements errors behavior. export function formatErrorMessage(err: unknown): string { if (err instanceof Error) { let formatted = err.message || err.name || "Error"; diff --git a/extensions/qa-lab/web/src/main.ts b/extensions/qa-lab/web/src/main.ts index d562ebc34390..b94d3392249c 100644 --- a/extensions/qa-lab/web/src/main.ts +++ b/extensions/qa-lab/web/src/main.ts @@ -1,3 +1,4 @@ +// Qa Lab plugin module implements main behavior. import "./styles.css"; import { createQaLabApp } from "./app.js"; diff --git a/extensions/qa-lab/web/vite.config.ts b/extensions/qa-lab/web/vite.config.ts index b6f958cc6fb2..0b595707e068 100644 --- a/extensions/qa-lab/web/vite.config.ts +++ b/extensions/qa-lab/web/vite.config.ts @@ -1,3 +1,4 @@ +// Qa Lab helper module supports vite behavior. import path from "node:path"; import { defineConfig } from "vite"; diff --git a/extensions/whatsapp/action-runtime-api.ts b/extensions/whatsapp/action-runtime-api.ts index aeb44fc866b1..d70eec1621d8 100644 --- a/extensions/whatsapp/action-runtime-api.ts +++ b/extensions/whatsapp/action-runtime-api.ts @@ -1 +1,2 @@ +// Whatsapp API module exposes the plugin public contract. export { handleWhatsAppAction } from "./src/action-runtime.js"; diff --git a/extensions/whatsapp/action-runtime.runtime.ts b/extensions/whatsapp/action-runtime.runtime.ts index aeb44fc866b1..f26e5d8c5e13 100644 --- a/extensions/whatsapp/action-runtime.runtime.ts +++ b/extensions/whatsapp/action-runtime.runtime.ts @@ -1 +1,2 @@ +// Whatsapp plugin module implements action runtime behavior. export { handleWhatsAppAction } from "./src/action-runtime.js"; diff --git a/extensions/whatsapp/api.ts b/extensions/whatsapp/api.ts index ca5a3dc5c54b..0e2e4b3137b0 100644 --- a/extensions/whatsapp/api.ts +++ b/extensions/whatsapp/api.ts @@ -1,3 +1,4 @@ +// Whatsapp API module exposes the plugin public contract. export { whatsappPlugin } from "./src/channel.js"; export { whatsappSetupPlugin } from "./src/channel.setup.js"; export { diff --git a/extensions/whatsapp/auth-presence.ts b/extensions/whatsapp/auth-presence.ts index 583bd2693fe4..58a1525c504f 100644 --- a/extensions/whatsapp/auth-presence.ts +++ b/extensions/whatsapp/auth-presence.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements auth presence behavior. import fs from "node:fs"; import path from "node:path"; import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "openclaw/plugin-sdk/account-id"; diff --git a/extensions/whatsapp/channel-config-api.ts b/extensions/whatsapp/channel-config-api.ts index 009263050b66..5de70c576f03 100644 --- a/extensions/whatsapp/channel-config-api.ts +++ b/extensions/whatsapp/channel-config-api.ts @@ -1 +1,2 @@ +// Whatsapp API module exposes the plugin public contract. export { WhatsAppChannelConfigSchema } from "./src/config-schema.js"; diff --git a/extensions/whatsapp/config-api.ts b/extensions/whatsapp/config-api.ts index c41d5c085841..4ea6d76eaff2 100644 --- a/extensions/whatsapp/config-api.ts +++ b/extensions/whatsapp/config-api.ts @@ -1,3 +1,4 @@ +// Whatsapp API module exposes the plugin public contract. export { buildChannelConfigSchema, WhatsAppConfigSchema, diff --git a/extensions/whatsapp/constants.ts b/extensions/whatsapp/constants.ts index 58128e15e6e3..8ddc5eac140d 100644 --- a/extensions/whatsapp/constants.ts +++ b/extensions/whatsapp/constants.ts @@ -1 +1,2 @@ +// Whatsapp plugin module implements constants behavior. export { DEFAULT_WEB_MEDIA_BYTES } from "./src/auto-reply/constants.js"; diff --git a/extensions/whatsapp/contract-api.ts b/extensions/whatsapp/contract-api.ts index 9398f938ac55..bf76a63c2004 100644 --- a/extensions/whatsapp/contract-api.ts +++ b/extensions/whatsapp/contract-api.ts @@ -1,3 +1,4 @@ +// Whatsapp API module exposes the plugin public contract. import { whatsappCommandPolicy as whatsappCommandPolicyImpl } from "./src/command-policy.js"; import { resolveLegacyGroupSessionKey as resolveLegacyGroupSessionKeyImpl } from "./src/group-session-contract.js"; import { testing as whatsappAccessControlTestingImpl } from "./src/inbound/access-control.js"; diff --git a/extensions/whatsapp/directory-contract-api.ts b/extensions/whatsapp/directory-contract-api.ts index ee3a69f9b38e..9274b8f0c7ec 100644 --- a/extensions/whatsapp/directory-contract-api.ts +++ b/extensions/whatsapp/directory-contract-api.ts @@ -1,12 +1,10 @@ +// Whatsapp API module exposes the plugin public contract. import { listWhatsAppDirectoryGroupsFromConfig, listWhatsAppDirectoryPeersFromConfig, } from "./src/directory-config.js"; -export { - listWhatsAppDirectoryGroupsFromConfig, - listWhatsAppDirectoryPeersFromConfig, -}; +export { listWhatsAppDirectoryGroupsFromConfig, listWhatsAppDirectoryPeersFromConfig }; export const whatsappDirectoryContractPlugin = { id: "whatsapp", diff --git a/extensions/whatsapp/doctor-contract-api.ts b/extensions/whatsapp/doctor-contract-api.ts index b7bd10f049b8..64eb8ac539dc 100644 --- a/extensions/whatsapp/doctor-contract-api.ts +++ b/extensions/whatsapp/doctor-contract-api.ts @@ -1,3 +1,4 @@ +// Whatsapp API module exposes the plugin public contract. import type { ChannelDoctorLegacyConfigRule } from "openclaw/plugin-sdk/channel-contract"; export { normalizeCompatibilityConfig } from "./src/doctor-contract.js"; diff --git a/extensions/whatsapp/index.test.ts b/extensions/whatsapp/index.test.ts index 0a67f2ff8859..81e697d8eaa1 100644 --- a/extensions/whatsapp/index.test.ts +++ b/extensions/whatsapp/index.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover index plugin behavior. import { assertBundledChannelEntries } from "openclaw/plugin-sdk/channel-test-helpers"; import { describe, expect, it } from "vitest"; import { whatsappPlugin } from "./channel-plugin-api.js"; diff --git a/extensions/whatsapp/index.ts b/extensions/whatsapp/index.ts index 980e8477867a..31bb87c7dd54 100644 --- a/extensions/whatsapp/index.ts +++ b/extensions/whatsapp/index.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin entrypoint registers its OpenClaw integration. import { defineBundledChannelEntry } from "openclaw/plugin-sdk/channel-entry-contract"; export default defineBundledChannelEntry({ diff --git a/extensions/whatsapp/legacy-session-surface-api.ts b/extensions/whatsapp/legacy-session-surface-api.ts index ed94357bd4d4..9cd2e613b072 100644 --- a/extensions/whatsapp/legacy-session-surface-api.ts +++ b/extensions/whatsapp/legacy-session-surface-api.ts @@ -1,3 +1,4 @@ +// Whatsapp API module exposes the plugin public contract. import { canonicalizeLegacySessionKey, isLegacyGroupSessionKey } from "./src/session-contract.js"; export const whatsappLegacySessionSurface = { diff --git a/extensions/whatsapp/legacy-state-migrations-api.ts b/extensions/whatsapp/legacy-state-migrations-api.ts index 2b228f175ecd..e8a57390d88e 100644 --- a/extensions/whatsapp/legacy-state-migrations-api.ts +++ b/extensions/whatsapp/legacy-state-migrations-api.ts @@ -1 +1,2 @@ +// Whatsapp API module exposes the plugin public contract. export { detectWhatsAppLegacyStateMigrations } from "./src/state-migrations.js"; diff --git a/extensions/whatsapp/light-runtime-api.ts b/extensions/whatsapp/light-runtime-api.ts index 8282bdc039a2..fa927cb6a02e 100644 --- a/extensions/whatsapp/light-runtime-api.ts +++ b/extensions/whatsapp/light-runtime-api.ts @@ -1,3 +1,4 @@ +// Whatsapp API module exposes the plugin public contract. export { getActiveWebListener } from "./src/active-listener.js"; export { getWebAuthAgeMs, diff --git a/extensions/whatsapp/login-qr-api.ts b/extensions/whatsapp/login-qr-api.ts index c26b81ac8bea..ca1ea70ae1a5 100644 --- a/extensions/whatsapp/login-qr-api.ts +++ b/extensions/whatsapp/login-qr-api.ts @@ -1 +1,2 @@ +// Whatsapp API module exposes the plugin public contract. export { startWebLoginWithQr, waitForWebLogin } from "./login-qr-runtime.js"; diff --git a/extensions/whatsapp/login-qr-runtime.ts b/extensions/whatsapp/login-qr-runtime.ts index 5dd2c16306ea..666c86d42fbf 100644 --- a/extensions/whatsapp/login-qr-runtime.ts +++ b/extensions/whatsapp/login-qr-runtime.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements login qr runtime behavior. type StartWebLoginWithQr = typeof import("./src/login-qr.js").startWebLoginWithQr; type WaitForWebLogin = typeof import("./src/login-qr.js").waitForWebLogin; diff --git a/extensions/whatsapp/outbound-payload-test-api.ts b/extensions/whatsapp/outbound-payload-test-api.ts index 49ea8ff67b45..76d4f09d858f 100644 --- a/extensions/whatsapp/outbound-payload-test-api.ts +++ b/extensions/whatsapp/outbound-payload-test-api.ts @@ -1 +1,2 @@ +// Whatsapp API module exposes the plugin public contract. export { whatsappOutbound } from "./src/outbound-adapter.js"; diff --git a/extensions/whatsapp/runtime-api.ts b/extensions/whatsapp/runtime-api.ts index e701b85dff86..2becc2ea8886 100644 --- a/extensions/whatsapp/runtime-api.ts +++ b/extensions/whatsapp/runtime-api.ts @@ -1,3 +1,4 @@ +// Whatsapp API module exposes the plugin public contract. export { getActiveWebListener, resolveWebAccountId, diff --git a/extensions/whatsapp/security-contract-api.ts b/extensions/whatsapp/security-contract-api.ts index be23026c5a6e..2698699e4650 100644 --- a/extensions/whatsapp/security-contract-api.ts +++ b/extensions/whatsapp/security-contract-api.ts @@ -1,3 +1,4 @@ +// Whatsapp API module exposes the plugin public contract. export { collectUnsupportedSecretRefConfigCandidates, unsupportedSecretRefSurfacePatterns, diff --git a/extensions/whatsapp/setup-entry.test.ts b/extensions/whatsapp/setup-entry.test.ts index 04d733cfc72b..4c0de0b07469 100644 --- a/extensions/whatsapp/setup-entry.test.ts +++ b/extensions/whatsapp/setup-entry.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover setup entry plugin behavior. import { describe, expect, it, vi } from "vitest"; import * as legacySessionSurfaceApi from "./legacy-session-surface-api.js"; import * as legacyStateMigrationsApi from "./legacy-state-migrations-api.js"; diff --git a/extensions/whatsapp/setup-entry.ts b/extensions/whatsapp/setup-entry.ts index f7f88662785b..3e70157e46bc 100644 --- a/extensions/whatsapp/setup-entry.ts +++ b/extensions/whatsapp/setup-entry.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements setup entry behavior. import { defineBundledChannelSetupEntry } from "openclaw/plugin-sdk/channel-entry-contract"; export default defineBundledChannelSetupEntry({ diff --git a/extensions/whatsapp/src/account-config.ts b/extensions/whatsapp/src/account-config.ts index 8d3a56e40639..b86410b767e4 100644 --- a/extensions/whatsapp/src/account-config.ts +++ b/extensions/whatsapp/src/account-config.ts @@ -1,3 +1,4 @@ +// Whatsapp helper module supports account config behavior. import { DEFAULT_ACCOUNT_ID, mergeAccountConfig, diff --git a/extensions/whatsapp/src/account-ids.ts b/extensions/whatsapp/src/account-ids.ts index 96664f3a2ac2..9a81a7ac7d6b 100644 --- a/extensions/whatsapp/src/account-ids.ts +++ b/extensions/whatsapp/src/account-ids.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements account ids behavior. import { createAccountListHelpers } from "openclaw/plugin-sdk/account-core"; const { diff --git a/extensions/whatsapp/src/account-types.ts b/extensions/whatsapp/src/account-types.ts index 64e17351b757..afdac928f4ac 100644 --- a/extensions/whatsapp/src/account-types.ts +++ b/extensions/whatsapp/src/account-types.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements account types behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; export type WhatsAppAccountConfig = NonNullable< diff --git a/extensions/whatsapp/src/accounts.test.ts b/extensions/whatsapp/src/accounts.test.ts index ce00399eac9b..70ee6b27b29a 100644 --- a/extensions/whatsapp/src/accounts.test.ts +++ b/extensions/whatsapp/src/accounts.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover accounts plugin behavior. import path from "node:path"; import { describe, expect, it } from "vitest"; import { diff --git a/extensions/whatsapp/src/accounts.ts b/extensions/whatsapp/src/accounts.ts index 10fd3e6bafd2..527bd6fac7d4 100644 --- a/extensions/whatsapp/src/accounts.ts +++ b/extensions/whatsapp/src/accounts.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements accounts behavior. import fs from "node:fs"; import path from "node:path"; import { diff --git a/extensions/whatsapp/src/accounts.whatsapp-auth.test.ts b/extensions/whatsapp/src/accounts.whatsapp-auth.test.ts index ca70a85fdb42..5d55c4962540 100644 --- a/extensions/whatsapp/src/accounts.whatsapp-auth.test.ts +++ b/extensions/whatsapp/src/accounts.whatsapp-auth.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover accounts.whatsapp auth plugin behavior. import fs from "node:fs"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/whatsapp/src/action-runtime-target-auth.ts b/extensions/whatsapp/src/action-runtime-target-auth.ts index aba1f0cbdacf..f22320fe2db9 100644 --- a/extensions/whatsapp/src/action-runtime-target-auth.ts +++ b/extensions/whatsapp/src/action-runtime-target-auth.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements action runtime target auth behavior. import { ToolAuthorizationError } from "openclaw/plugin-sdk/channel-actions"; import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { resolveWhatsAppAccount } from "./accounts.js"; diff --git a/extensions/whatsapp/src/action-runtime.test.ts b/extensions/whatsapp/src/action-runtime.test.ts index bd3b19e4a2f3..f973f3ba8e8b 100644 --- a/extensions/whatsapp/src/action-runtime.test.ts +++ b/extensions/whatsapp/src/action-runtime.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover action runtime plugin behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/routing"; import { beforeEach, describe, expect, it, vi } from "vitest"; diff --git a/extensions/whatsapp/src/action-runtime.ts b/extensions/whatsapp/src/action-runtime.ts index 75259d1c65c2..638c5d049802 100644 --- a/extensions/whatsapp/src/action-runtime.ts +++ b/extensions/whatsapp/src/action-runtime.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements action runtime behavior. import type { AgentToolResult } from "openclaw/plugin-sdk/agent-core"; import { createActionGate, diff --git a/extensions/whatsapp/src/active-listener.test.ts b/extensions/whatsapp/src/active-listener.test.ts index 5720982d93f8..0912a98fef05 100644 --- a/extensions/whatsapp/src/active-listener.test.ts +++ b/extensions/whatsapp/src/active-listener.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover active listener plugin behavior. import { beforeEach, describe, expect, it, vi } from "vitest"; import { getActiveWebListener, resolveWebAccountId } from "./active-listener.js"; diff --git a/extensions/whatsapp/src/active-listener.ts b/extensions/whatsapp/src/active-listener.ts index 5f01ec56aab1..94906ffadfd2 100644 --- a/extensions/whatsapp/src/active-listener.ts +++ b/extensions/whatsapp/src/active-listener.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements active listener behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { resolveDefaultWhatsAppAccountId } from "./account-ids.js"; import { getRegisteredWhatsAppConnectionController } from "./connection-controller-registry.js"; diff --git a/extensions/whatsapp/src/agent-tools-login.test.ts b/extensions/whatsapp/src/agent-tools-login.test.ts index 3862000b8799..ce7d4bb9d92b 100644 --- a/extensions/whatsapp/src/agent-tools-login.test.ts +++ b/extensions/whatsapp/src/agent-tools-login.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover agent tools login plugin behavior. import { beforeEach, describe, expect, it, vi } from "vitest"; import { startWebLoginWithQr, waitForWebLogin } from "../login-qr-api.js"; import { createWhatsAppLoginTool } from "./agent-tools-login.js"; diff --git a/extensions/whatsapp/src/agent-tools-login.ts b/extensions/whatsapp/src/agent-tools-login.ts index da6a5ab7b05a..4ee988c3a569 100644 --- a/extensions/whatsapp/src/agent-tools-login.ts +++ b/extensions/whatsapp/src/agent-tools-login.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements agent tools login behavior. import { optionalPositiveIntegerSchema, readPositiveIntegerParam, diff --git a/extensions/whatsapp/src/approval-auth.test.ts b/extensions/whatsapp/src/approval-auth.test.ts index 577b401f7762..7e2e7e52e4a8 100644 --- a/extensions/whatsapp/src/approval-auth.test.ts +++ b/extensions/whatsapp/src/approval-auth.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover approval auth plugin behavior. import { describe, expect, it } from "vitest"; import { getWhatsAppApprovalApprovers, whatsappApprovalAuth } from "./approval-auth.js"; diff --git a/extensions/whatsapp/src/approval-auth.ts b/extensions/whatsapp/src/approval-auth.ts index 40874ca492eb..4729641da5a1 100644 --- a/extensions/whatsapp/src/approval-auth.ts +++ b/extensions/whatsapp/src/approval-auth.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements approval auth behavior. import { createResolvedApproverActionAuthAdapter, resolveApprovalApprovers, diff --git a/extensions/whatsapp/src/approval-handler.runtime.test.ts b/extensions/whatsapp/src/approval-handler.runtime.test.ts index f759ec2d030a..053de78f8b2f 100644 --- a/extensions/whatsapp/src/approval-handler.runtime.test.ts +++ b/extensions/whatsapp/src/approval-handler.runtime.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover approval handler plugin behavior. import { describe, expect, it } from "vitest"; import { whatsappApprovalNativeRuntime } from "./approval-handler.runtime.js"; diff --git a/extensions/whatsapp/src/approval-handler.runtime.ts b/extensions/whatsapp/src/approval-handler.runtime.ts index 06c81a7eeb3c..c6a48fdfaecc 100644 --- a/extensions/whatsapp/src/approval-handler.runtime.ts +++ b/extensions/whatsapp/src/approval-handler.runtime.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements approval handler behavior. import { buildChannelApprovalExpiredText, buildChannelApprovalResolvedText, diff --git a/extensions/whatsapp/src/approval-native.test.ts b/extensions/whatsapp/src/approval-native.test.ts index 8cb072ee7d86..7c53c81fc248 100644 --- a/extensions/whatsapp/src/approval-native.test.ts +++ b/extensions/whatsapp/src/approval-native.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover approval native plugin behavior. import type { ExecApprovalRequest, PluginApprovalRequest, diff --git a/extensions/whatsapp/src/approval-native.ts b/extensions/whatsapp/src/approval-native.ts index 56228290533c..c50462bfa53a 100644 --- a/extensions/whatsapp/src/approval-native.ts +++ b/extensions/whatsapp/src/approval-native.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements approval native behavior. import { createChannelApprovalCapability, splitChannelApprovalCapability, diff --git a/extensions/whatsapp/src/approval-reactions.test.ts b/extensions/whatsapp/src/approval-reactions.test.ts index bf3bf1b4024d..29118111189a 100644 --- a/extensions/whatsapp/src/approval-reactions.test.ts +++ b/extensions/whatsapp/src/approval-reactions.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover approval reactions plugin behavior. import { beforeEach, describe, expect, it, vi } from "vitest"; import { buildWhatsAppApprovalReactionHint, diff --git a/extensions/whatsapp/src/approval-reactions.ts b/extensions/whatsapp/src/approval-reactions.ts index 0debeb753967..80cc2f163f87 100644 --- a/extensions/whatsapp/src/approval-reactions.ts +++ b/extensions/whatsapp/src/approval-reactions.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements approval reactions behavior. import type { WAMessage } from "baileys"; import { buildApprovalReactionHint, diff --git a/extensions/whatsapp/src/approval-resolver.ts b/extensions/whatsapp/src/approval-resolver.ts index a1e3f47f658f..0d23d2b53cdd 100644 --- a/extensions/whatsapp/src/approval-resolver.ts +++ b/extensions/whatsapp/src/approval-resolver.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements approval resolver behavior. import { resolveApprovalOverGateway } from "openclaw/plugin-sdk/approval-gateway-runtime"; import type { ExecApprovalReplyDecision } from "openclaw/plugin-sdk/approval-reply-runtime"; import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; diff --git a/extensions/whatsapp/src/auth-store.lazy-dir.test.ts b/extensions/whatsapp/src/auth-store.lazy-dir.test.ts index a51a7e83d651..e25c4a09d3d3 100644 --- a/extensions/whatsapp/src/auth-store.lazy-dir.test.ts +++ b/extensions/whatsapp/src/auth-store.lazy-dir.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover auth store.lazy dir plugin behavior. import fs from "node:fs"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/whatsapp/src/auth-store.runtime.ts b/extensions/whatsapp/src/auth-store.runtime.ts index c2bf24c3b271..7b701e2a4603 100644 --- a/extensions/whatsapp/src/auth-store.runtime.ts +++ b/extensions/whatsapp/src/auth-store.runtime.ts @@ -1 +1,2 @@ +// Whatsapp plugin module implements auth store behavior. export { resolveOAuthDir } from "openclaw/plugin-sdk/state-paths"; diff --git a/extensions/whatsapp/src/auth-store.test.ts b/extensions/whatsapp/src/auth-store.test.ts index 993ccd05db07..d3079d8ae931 100644 --- a/extensions/whatsapp/src/auth-store.test.ts +++ b/extensions/whatsapp/src/auth-store.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover auth store plugin behavior. import fsSync from "node:fs"; import fs from "node:fs/promises"; import path from "node:path"; diff --git a/extensions/whatsapp/src/auth-store.ts b/extensions/whatsapp/src/auth-store.ts index a0115baa18c3..19781bcdfea0 100644 --- a/extensions/whatsapp/src/auth-store.ts +++ b/extensions/whatsapp/src/auth-store.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements auth store behavior. import fs from "node:fs/promises"; import path from "node:path"; import { formatCliCommand } from "openclaw/plugin-sdk/cli-runtime"; diff --git a/extensions/whatsapp/src/auto-reply.broadcast-groups.combined.test.ts b/extensions/whatsapp/src/auto-reply.broadcast-groups.combined.test.ts index a53105f27079..3b68ee178436 100644 --- a/extensions/whatsapp/src/auto-reply.broadcast-groups.combined.test.ts +++ b/extensions/whatsapp/src/auto-reply.broadcast-groups.combined.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover auto reply.broadcast groups.combined plugin behavior. import "./test-helpers.js"; import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { describe, expect, it, vi } from "vitest"; diff --git a/extensions/whatsapp/src/auto-reply.broadcast-groups.test-harness.ts b/extensions/whatsapp/src/auto-reply.broadcast-groups.test-harness.ts index 0161080099b0..419fe966e9c6 100644 --- a/extensions/whatsapp/src/auto-reply.broadcast-groups.test-harness.ts +++ b/extensions/whatsapp/src/auto-reply.broadcast-groups.test-harness.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements auto reply.broadcast groups harness behavior. import { vi } from "vitest"; import { createWebInboundDeliverySpies, diff --git a/extensions/whatsapp/src/auto-reply.impl.ts b/extensions/whatsapp/src/auto-reply.impl.ts index 13b7d59d094e..aafa8093abe0 100644 --- a/extensions/whatsapp/src/auto-reply.impl.ts +++ b/extensions/whatsapp/src/auto-reply.impl.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements auto reply.impl behavior. export { HEARTBEAT_PROMPT, stripHeartbeatToken } from "openclaw/plugin-sdk/reply-runtime"; export { HEARTBEAT_TOKEN, SILENT_REPLY_TOKEN } from "openclaw/plugin-sdk/reply-runtime"; diff --git a/extensions/whatsapp/src/auto-reply.test-harness.ts b/extensions/whatsapp/src/auto-reply.test-harness.ts index 07b45dd9011c..f077fdd507dc 100644 --- a/extensions/whatsapp/src/auto-reply.test-harness.ts +++ b/extensions/whatsapp/src/auto-reply.test-harness.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements auto reply harness behavior. import "./test-helpers.js"; import { EventEmitter } from "node:events"; import fs from "node:fs/promises"; diff --git a/extensions/whatsapp/src/auto-reply.ts b/extensions/whatsapp/src/auto-reply.ts index 2bcd6e805a6b..a635ab27f779 100644 --- a/extensions/whatsapp/src/auto-reply.ts +++ b/extensions/whatsapp/src/auto-reply.ts @@ -1 +1,2 @@ +// Whatsapp plugin module implements auto reply behavior. export * from "./auto-reply.impl.js"; diff --git a/extensions/whatsapp/src/auto-reply.web-auto-reply.compresses-common-formats-jpeg-cap.test.ts b/extensions/whatsapp/src/auto-reply.web-auto-reply.compresses-common-formats-jpeg-cap.test.ts index c72abd71e6e0..16c66986fc6b 100644 --- a/extensions/whatsapp/src/auto-reply.web-auto-reply.compresses-common-formats-jpeg-cap.test.ts +++ b/extensions/whatsapp/src/auto-reply.web-auto-reply.compresses-common-formats-jpeg-cap.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover auto reply.web auto reply.compresses common formats jpeg cap plugin behavior. import fs from "node:fs/promises"; import { createNoisyPngBuffer, createSolidPngBuffer } from "openclaw/plugin-sdk/test-fixtures"; import { beforeAll, describe, expect, it, vi } from "vitest"; diff --git a/extensions/whatsapp/src/auto-reply.web-auto-reply.connection-and-logging.e2e.test.ts b/extensions/whatsapp/src/auto-reply.web-auto-reply.connection-and-logging.e2e.test.ts index cf731bb11dc8..fa35ac85c326 100644 --- a/extensions/whatsapp/src/auto-reply.web-auto-reply.connection-and-logging.e2e.test.ts +++ b/extensions/whatsapp/src/auto-reply.web-auto-reply.connection-and-logging.e2e.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover auto reply.web auto reply.connection and logging plugin behavior. import "./test-helpers.js"; import crypto from "node:crypto"; import fs from "node:fs/promises"; diff --git a/extensions/whatsapp/src/auto-reply.web-auto-reply.last-route.test.ts b/extensions/whatsapp/src/auto-reply.web-auto-reply.last-route.test.ts index 8d4e123a2dff..7e1483c104a4 100644 --- a/extensions/whatsapp/src/auto-reply.web-auto-reply.last-route.test.ts +++ b/extensions/whatsapp/src/auto-reply.web-auto-reply.last-route.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover auto reply.web auto reply.last route plugin behavior. import "./test-helpers.js"; import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { beforeEach, describe, expect, it, vi } from "vitest"; diff --git a/extensions/whatsapp/src/auto-reply/config.runtime.ts b/extensions/whatsapp/src/auto-reply/config.runtime.ts index 818a9833638e..080f30c73573 100644 --- a/extensions/whatsapp/src/auto-reply/config.runtime.ts +++ b/extensions/whatsapp/src/auto-reply/config.runtime.ts @@ -1,3 +1,4 @@ +// Whatsapp helper module supports config behavior. export { evaluateSessionFreshness, loadSessionStore, diff --git a/extensions/whatsapp/src/auto-reply/constants.ts b/extensions/whatsapp/src/auto-reply/constants.ts index c1ff89fd7184..c595cb917350 100644 --- a/extensions/whatsapp/src/auto-reply/constants.ts +++ b/extensions/whatsapp/src/auto-reply/constants.ts @@ -1 +1,2 @@ +// Whatsapp plugin module implements constants behavior. export const DEFAULT_WEB_MEDIA_BYTES = 5 * 1024 * 1024; diff --git a/extensions/whatsapp/src/auto-reply/deliver-reply.test.ts b/extensions/whatsapp/src/auto-reply/deliver-reply.test.ts index 28f5b9472391..7133e96d33e6 100644 --- a/extensions/whatsapp/src/auto-reply/deliver-reply.test.ts +++ b/extensions/whatsapp/src/auto-reply/deliver-reply.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover deliver reply plugin behavior. import fsSync from "node:fs"; import { createMessageReceiptFromOutboundResults, diff --git a/extensions/whatsapp/src/auto-reply/deliver-reply.ts b/extensions/whatsapp/src/auto-reply/deliver-reply.ts index b4c0c11bb93d..8c3ec7bfbe5b 100644 --- a/extensions/whatsapp/src/auto-reply/deliver-reply.ts +++ b/extensions/whatsapp/src/auto-reply/deliver-reply.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements deliver reply behavior. import { createMessageReceiptFromOutboundResults, type MessageReceipt, diff --git a/extensions/whatsapp/src/auto-reply/loggers.ts b/extensions/whatsapp/src/auto-reply/loggers.ts index 1201a412a591..76c0c76b5cbf 100644 --- a/extensions/whatsapp/src/auto-reply/loggers.ts +++ b/extensions/whatsapp/src/auto-reply/loggers.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements loggers behavior. import { createSubsystemLogger } from "openclaw/plugin-sdk/runtime-env"; export const whatsappLog = createSubsystemLogger("gateway/channels/whatsapp"); diff --git a/extensions/whatsapp/src/auto-reply/mentions.ts b/extensions/whatsapp/src/auto-reply/mentions.ts index a785beeb10c7..26d5b234e9bf 100644 --- a/extensions/whatsapp/src/auto-reply/mentions.ts +++ b/extensions/whatsapp/src/auto-reply/mentions.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements mentions behavior. import { buildMentionRegexes, normalizeMentionText, diff --git a/extensions/whatsapp/src/auto-reply/monitor-state.test.ts b/extensions/whatsapp/src/auto-reply/monitor-state.test.ts index 8491289fa565..b915f98fccf0 100644 --- a/extensions/whatsapp/src/auto-reply/monitor-state.test.ts +++ b/extensions/whatsapp/src/auto-reply/monitor-state.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover monitor state plugin behavior. import { describe, expect, it } from "vitest"; import { createWebChannelStatusController } from "./monitor-state.js"; diff --git a/extensions/whatsapp/src/auto-reply/monitor-state.ts b/extensions/whatsapp/src/auto-reply/monitor-state.ts index a501ffc37d49..dece18b91d56 100644 --- a/extensions/whatsapp/src/auto-reply/monitor-state.ts +++ b/extensions/whatsapp/src/auto-reply/monitor-state.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements monitor state behavior. import { createConnectedChannelStatusPatch, createTransportActivityStatusPatch, diff --git a/extensions/whatsapp/src/auto-reply/monitor.ts b/extensions/whatsapp/src/auto-reply/monitor.ts index 651ca30f141c..c04d283673a8 100644 --- a/extensions/whatsapp/src/auto-reply/monitor.ts +++ b/extensions/whatsapp/src/auto-reply/monitor.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements monitor behavior. import { resolveAccountEntry } from "openclaw/plugin-sdk/account-core"; import { CHANNEL_APPROVAL_NATIVE_RUNTIME_CONTEXT_CAPABILITY } from "openclaw/plugin-sdk/approval-handler-runtime"; import { resolveInboundDebounceMs } from "openclaw/plugin-sdk/channel-inbound-debounce"; diff --git a/extensions/whatsapp/src/auto-reply/monitor/ack-emoji.test.ts b/extensions/whatsapp/src/auto-reply/monitor/ack-emoji.test.ts index f314e798bb51..b30e57465dee 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/ack-emoji.test.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/ack-emoji.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover ack emoji plugin behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { describe, expect, it } from "vitest"; import { resolveWhatsAppAckEmoji } from "./ack-emoji.js"; diff --git a/extensions/whatsapp/src/auto-reply/monitor/ack-emoji.ts b/extensions/whatsapp/src/auto-reply/monitor/ack-emoji.ts index 83a2d5f67b11..e9eaa238eebd 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/ack-emoji.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/ack-emoji.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements ack emoji behavior. import { resolveAgentIdentity } from "openclaw/plugin-sdk/agent-runtime"; import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; diff --git a/extensions/whatsapp/src/auto-reply/monitor/ack-reaction.test.ts b/extensions/whatsapp/src/auto-reply/monitor/ack-reaction.test.ts index c5f4baa5ad9d..ccbb82028dfe 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/ack-reaction.test.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/ack-reaction.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover ack reaction plugin behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { beforeEach, describe, expect, it, vi } from "vitest"; import type { WhatsAppSendResult } from "../../inbound/send-result.js"; diff --git a/extensions/whatsapp/src/auto-reply/monitor/ack-reaction.ts b/extensions/whatsapp/src/auto-reply/monitor/ack-reaction.ts index fbd863d93320..391a2226f326 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/ack-reaction.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/ack-reaction.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements ack reaction behavior. import { createAckReactionHandle, shouldAckReactionForWhatsApp, diff --git a/extensions/whatsapp/src/auto-reply/monitor/audio-preflight.runtime.ts b/extensions/whatsapp/src/auto-reply/monitor/audio-preflight.runtime.ts index 7e7f111d1045..f5f68e8ee663 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/audio-preflight.runtime.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/audio-preflight.runtime.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements audio preflight behavior. import { transcribeFirstAudio as transcribeFirstAudioImpl } from "openclaw/plugin-sdk/media-runtime"; type TranscribeFirstAudio = typeof import("openclaw/plugin-sdk/media-runtime").transcribeFirstAudio; diff --git a/extensions/whatsapp/src/auto-reply/monitor/broadcast.ts b/extensions/whatsapp/src/auto-reply/monitor/broadcast.ts index 8ab242dd1584..c822540f2479 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/broadcast.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/broadcast.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements broadcast behavior. import type { AckReactionHandle } from "openclaw/plugin-sdk/channel-feedback"; import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import type { resolveAgentRoute } from "openclaw/plugin-sdk/routing"; diff --git a/extensions/whatsapp/src/auto-reply/monitor/commands.ts b/extensions/whatsapp/src/auto-reply/monitor/commands.ts index 54adb501940f..6111ac80f3e9 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/commands.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/commands.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements commands behavior. export function stripMentionsForCommand( text: string, mentionRegexes: RegExp[], diff --git a/extensions/whatsapp/src/auto-reply/monitor/echo.ts b/extensions/whatsapp/src/auto-reply/monitor/echo.ts index 25b2708d8e8d..9d09f55b1302 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/echo.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/echo.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements echo behavior. export type EchoTracker = { rememberText: ( text: string | undefined, diff --git a/extensions/whatsapp/src/auto-reply/monitor/group-activation.runtime.ts b/extensions/whatsapp/src/auto-reply/monitor/group-activation.runtime.ts index fc739e666edd..0b4e6ef29e5c 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/group-activation.runtime.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/group-activation.runtime.ts @@ -1 +1,2 @@ +// Whatsapp plugin module implements group activation behavior. export { normalizeGroupActivation } from "openclaw/plugin-sdk/group-activation"; diff --git a/extensions/whatsapp/src/auto-reply/monitor/group-activation.test.ts b/extensions/whatsapp/src/auto-reply/monitor/group-activation.test.ts index 1d4597d014a8..cc14aa488733 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/group-activation.test.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/group-activation.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover group activation plugin behavior. import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/whatsapp/src/auto-reply/monitor/group-activation.ts b/extensions/whatsapp/src/auto-reply/monitor/group-activation.ts index 1df416de0115..87d887717ebe 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/group-activation.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/group-activation.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements group activation behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "openclaw/plugin-sdk/routing"; import { updateSessionStore } from "openclaw/plugin-sdk/session-store-runtime"; diff --git a/extensions/whatsapp/src/auto-reply/monitor/group-gating.allowlist-warn.test.ts b/extensions/whatsapp/src/auto-reply/monitor/group-gating.allowlist-warn.test.ts index 21d1875776d3..6b735e031529 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/group-gating.allowlist-warn.test.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/group-gating.allowlist-warn.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover group gating.allowlist warn plugin behavior. import { beforeEach, describe, expect, it, vi } from "vitest"; vi.mock("./group-activation.js", () => ({ diff --git a/extensions/whatsapp/src/auto-reply/monitor/group-gating.audio-preflight.test.ts b/extensions/whatsapp/src/auto-reply/monitor/group-gating.audio-preflight.test.ts index 6cf74fdced86..92e5164dc105 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/group-gating.audio-preflight.test.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/group-gating.audio-preflight.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover group gating.audio preflight plugin behavior. import { beforeEach, describe, expect, it, vi } from "vitest"; vi.mock("./group-activation.js", () => ({ diff --git a/extensions/whatsapp/src/auto-reply/monitor/group-gating.runtime.ts b/extensions/whatsapp/src/auto-reply/monitor/group-gating.runtime.ts index e20d56450347..d0433ae7ce7d 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/group-gating.runtime.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/group-gating.runtime.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements group gating behavior. export { implicitMentionKindWhen, resolveInboundMentionDecision, diff --git a/extensions/whatsapp/src/auto-reply/monitor/group-gating.ts b/extensions/whatsapp/src/auto-reply/monitor/group-gating.ts index 51c4423b6309..4ce9734a5328 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/group-gating.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/group-gating.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements group gating behavior. import type { BuildMentionRegexesOptions } from "openclaw/plugin-sdk/channel-mention-gating"; import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { resolveWhatsAppGroupsConfigPath } from "../../group-config-path.js"; diff --git a/extensions/whatsapp/src/auto-reply/monitor/group-members.test.ts b/extensions/whatsapp/src/auto-reply/monitor/group-members.test.ts index 2ed33780bc51..6fb4bcf2773f 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/group-members.test.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/group-members.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover group members plugin behavior. import { describe, expect, it } from "vitest"; import { formatGroupMembers, noteGroupMember } from "./group-members.js"; diff --git a/extensions/whatsapp/src/auto-reply/monitor/group-members.ts b/extensions/whatsapp/src/auto-reply/monitor/group-members.ts index ca8787af9a56..54034d7cdacd 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/group-members.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/group-members.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements group members behavior. import { normalizeE164 } from "../../text-runtime.js"; function appendNormalizedUnique(entries: Iterable, seen: Set, ordered: string[]) { diff --git a/extensions/whatsapp/src/auto-reply/monitor/inbound-context.test.ts b/extensions/whatsapp/src/auto-reply/monitor/inbound-context.test.ts index 05af959ae5f6..1d712d89d06c 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/inbound-context.test.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/inbound-context.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover inbound context plugin behavior. import { describe, expect, it } from "vitest"; import type { WhatsAppSendResult } from "../../inbound/send-result.js"; import { diff --git a/extensions/whatsapp/src/auto-reply/monitor/inbound-context.ts b/extensions/whatsapp/src/auto-reply/monitor/inbound-context.ts index 59815ed4a4b4..2873761865d7 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/inbound-context.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/inbound-context.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements inbound context behavior. import { filterChannelInboundQuoteContext } from "openclaw/plugin-sdk/channel-inbound"; import { filterSupplementalContextItems } from "openclaw/plugin-sdk/security-runtime"; import { diff --git a/extensions/whatsapp/src/auto-reply/monitor/inbound-dispatch.runtime.ts b/extensions/whatsapp/src/auto-reply/monitor/inbound-dispatch.runtime.ts index 2d85d33eeceb..43f858e08724 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/inbound-dispatch.runtime.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/inbound-dispatch.runtime.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements inbound dispatch behavior. export { createChannelMessageReplyPipeline, dispatchReplyWithBufferedBlockDispatcher, diff --git a/extensions/whatsapp/src/auto-reply/monitor/inbound-dispatch.test.ts b/extensions/whatsapp/src/auto-reply/monitor/inbound-dispatch.test.ts index 743979a3dc3a..a16f33eb0abb 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/inbound-dispatch.test.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/inbound-dispatch.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover inbound dispatch plugin behavior. import { describe, expect, it, vi, beforeEach } from "vitest"; import type { WhatsAppSendResult } from "../../inbound/send-result.js"; diff --git a/extensions/whatsapp/src/auto-reply/monitor/inbound-dispatch.ts b/extensions/whatsapp/src/auto-reply/monitor/inbound-dispatch.ts index e2fd5e07e39a..29c087d877e6 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/inbound-dispatch.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/inbound-dispatch.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements inbound dispatch behavior. import { DEFAULT_TIMING, type StatusReactionController, diff --git a/extensions/whatsapp/src/auto-reply/monitor/last-route.test.ts b/extensions/whatsapp/src/auto-reply/monitor/last-route.test.ts index 933e9d808b8f..aae5757e4019 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/last-route.test.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/last-route.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover last route plugin behavior. import { afterEach, describe, expect, it } from "vitest"; import { trackBackgroundTask } from "./last-route.js"; diff --git a/extensions/whatsapp/src/auto-reply/monitor/last-route.ts b/extensions/whatsapp/src/auto-reply/monitor/last-route.ts index 95a42aa17a27..2346fbffda7d 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/last-route.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/last-route.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements last route behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import type { MsgContext } from "openclaw/plugin-sdk/reply-runtime"; import { formatError } from "../../session.js"; diff --git a/extensions/whatsapp/src/auto-reply/monitor/listener-log.ts b/extensions/whatsapp/src/auto-reply/monitor/listener-log.ts index f9b116bbc2de..af5fd339e365 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/listener-log.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/listener-log.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements listener log behavior. export function formatWhatsAppInboundListeningLog(account: { groups?: Record; groupPolicy: "open" | "allowlist" | "disabled"; diff --git a/extensions/whatsapp/src/auto-reply/monitor/message-line.runtime.ts b/extensions/whatsapp/src/auto-reply/monitor/message-line.runtime.ts index c050fe4e3eac..6287f4d6700c 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/message-line.runtime.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/message-line.runtime.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements message line behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; export { diff --git a/extensions/whatsapp/src/auto-reply/monitor/message-line.ts b/extensions/whatsapp/src/auto-reply/monitor/message-line.ts index a2f4dc372ad3..f792f86b5686 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/message-line.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/message-line.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements message line behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { getPrimaryIdentityId, getReplyContext, getSenderIdentity } from "../../identity.js"; import type { WebInboundMsg } from "../types.js"; diff --git a/extensions/whatsapp/src/auto-reply/monitor/on-message.audio-preflight.test.ts b/extensions/whatsapp/src/auto-reply/monitor/on-message.audio-preflight.test.ts index 43145204f229..af661d9233de 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/on-message.audio-preflight.test.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/on-message.audio-preflight.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover on message.audio preflight plugin behavior. import { beforeEach, describe, expect, it, vi } from "vitest"; const events: string[] = []; diff --git a/extensions/whatsapp/src/auto-reply/monitor/on-message.ts b/extensions/whatsapp/src/auto-reply/monitor/on-message.ts index 320a43fb1bb2..1e1ef56ecb43 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/on-message.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/on-message.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements on message behavior. import type { AckReactionHandle } from "openclaw/plugin-sdk/channel-feedback"; import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import type { getReplyFromConfig } from "openclaw/plugin-sdk/reply-runtime"; diff --git a/extensions/whatsapp/src/auto-reply/monitor/peer.ts b/extensions/whatsapp/src/auto-reply/monitor/peer.ts index 8437eb8b6f81..6f486147f48c 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/peer.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/peer.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements peer behavior. import { getSenderIdentity } from "../../identity.js"; import { jidToE164, normalizeE164 } from "../../text-runtime.js"; import type { WebInboundMsg } from "../types.js"; diff --git a/extensions/whatsapp/src/auto-reply/monitor/process-message.audio-preflight.test.ts b/extensions/whatsapp/src/auto-reply/monitor/process-message.audio-preflight.test.ts index 47671be5bdaa..67a68001d277 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/process-message.audio-preflight.test.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/process-message.audio-preflight.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover process message.audio preflight plugin behavior. import { beforeEach, describe, expect, it, vi } from "vitest"; // Mock the lazy-loaded audio preflight runtime boundary diff --git a/extensions/whatsapp/src/auto-reply/monitor/process-message.test.ts b/extensions/whatsapp/src/auto-reply/monitor/process-message.test.ts index df365cd3635e..7fab1b56f95d 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/process-message.test.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/process-message.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover process message plugin behavior. import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import type { WhatsAppSendResult } from "../../inbound/send-result.js"; diff --git a/extensions/whatsapp/src/auto-reply/monitor/process-message.ts b/extensions/whatsapp/src/auto-reply/monitor/process-message.ts index 798aece49abe..efc21c8ad839 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/process-message.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/process-message.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements process message behavior. import { logAckFailure, removeAckReactionHandleAfterReply, diff --git a/extensions/whatsapp/src/auto-reply/monitor/runtime-api.ts b/extensions/whatsapp/src/auto-reply/monitor/runtime-api.ts index 213f43001ebc..9146b8985ee6 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/runtime-api.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/runtime-api.ts @@ -1,3 +1,4 @@ +// Whatsapp API module exposes the plugin public contract. export { resolveIdentityNamePrefix } from "openclaw/plugin-sdk/agent-runtime"; export { formatInboundEnvelope } from "openclaw/plugin-sdk/channel-inbound"; export { resolveInboundSessionEnvelopeContext } from "openclaw/plugin-sdk/channel-inbound"; diff --git a/extensions/whatsapp/src/auto-reply/monitor/status-reaction.test.ts b/extensions/whatsapp/src/auto-reply/monitor/status-reaction.test.ts index 742c77126d8c..eace2d5f6e1d 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/status-reaction.test.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/status-reaction.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover status reaction plugin behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { beforeEach, describe, expect, it, vi } from "vitest"; import type { WhatsAppSendResult } from "../../inbound/send-result.js"; diff --git a/extensions/whatsapp/src/auto-reply/monitor/status-reaction.ts b/extensions/whatsapp/src/auto-reply/monitor/status-reaction.ts index 9a130b5f3227..0283dff9e998 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/status-reaction.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/status-reaction.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements status reaction behavior. import { createStatusReactionController, shouldAckReactionForWhatsApp, diff --git a/extensions/whatsapp/src/auto-reply/reply-resolver.runtime.ts b/extensions/whatsapp/src/auto-reply/reply-resolver.runtime.ts index a2dd0e1055a5..88efeabf5d90 100644 --- a/extensions/whatsapp/src/auto-reply/reply-resolver.runtime.ts +++ b/extensions/whatsapp/src/auto-reply/reply-resolver.runtime.ts @@ -1 +1,2 @@ +// Whatsapp plugin module implements reply resolver behavior. export { getReplyFromConfig } from "openclaw/plugin-sdk/reply-runtime"; diff --git a/extensions/whatsapp/src/auto-reply/types.ts b/extensions/whatsapp/src/auto-reply/types.ts index adedf8ae9778..4bbdddc4d661 100644 --- a/extensions/whatsapp/src/auto-reply/types.ts +++ b/extensions/whatsapp/src/auto-reply/types.ts @@ -1,3 +1,4 @@ +// Whatsapp type declarations define plugin contracts. import type { ChannelRuntimeSurface } from "openclaw/plugin-sdk/channel-contract"; import type { WebInboundMessage } from "../inbound/types.js"; import type { ReconnectPolicy } from "../reconnect.js"; diff --git a/extensions/whatsapp/src/auto-reply/util.ts b/extensions/whatsapp/src/auto-reply/util.ts index a121f7a62bb5..c390b010163f 100644 --- a/extensions/whatsapp/src/auto-reply/util.ts +++ b/extensions/whatsapp/src/auto-reply/util.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements util behavior. import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime"; export function elide(text?: string, limit = 400) { diff --git a/extensions/whatsapp/src/auto-reply/web-auto-reply-monitor.test.ts b/extensions/whatsapp/src/auto-reply/web-auto-reply-monitor.test.ts index 23300af30644..cc5844d7fcf6 100644 --- a/extensions/whatsapp/src/auto-reply/web-auto-reply-monitor.test.ts +++ b/extensions/whatsapp/src/auto-reply/web-auto-reply-monitor.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover web auto reply monitor plugin behavior. import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/whatsapp/src/auto-reply/web-auto-reply-utils.test.ts b/extensions/whatsapp/src/auto-reply/web-auto-reply-utils.test.ts index a6107ad8daa0..9c1ae70eb446 100644 --- a/extensions/whatsapp/src/auto-reply/web-auto-reply-utils.test.ts +++ b/extensions/whatsapp/src/auto-reply/web-auto-reply-utils.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover web auto reply utils plugin behavior. import fs from "node:fs/promises"; import path from "node:path"; import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; diff --git a/extensions/whatsapp/src/channel-actions.runtime.ts b/extensions/whatsapp/src/channel-actions.runtime.ts index d0d9e4ceb072..07ae2e6d31e3 100644 --- a/extensions/whatsapp/src/channel-actions.runtime.ts +++ b/extensions/whatsapp/src/channel-actions.runtime.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements channel actions behavior. import { createActionGate } from "openclaw/plugin-sdk/channel-actions"; import type { ChannelMessageActionName } from "openclaw/plugin-sdk/channel-contract"; import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; diff --git a/extensions/whatsapp/src/channel-actions.test.ts b/extensions/whatsapp/src/channel-actions.test.ts index 85cee550783b..c50bd2e4b228 100644 --- a/extensions/whatsapp/src/channel-actions.test.ts +++ b/extensions/whatsapp/src/channel-actions.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover channel actions plugin behavior. import { beforeEach, describe, expect, it, vi } from "vitest"; import { describeWhatsAppMessageActions, diff --git a/extensions/whatsapp/src/channel-actions.ts b/extensions/whatsapp/src/channel-actions.ts index e318a5bb6a81..7c31420e9ec4 100644 --- a/extensions/whatsapp/src/channel-actions.ts +++ b/extensions/whatsapp/src/channel-actions.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements channel actions behavior. import { listWhatsAppAccountIds, resolveWhatsAppAccount, diff --git a/extensions/whatsapp/src/channel-outbound.test.ts b/extensions/whatsapp/src/channel-outbound.test.ts index 270590b356e5..57ffe5f19a84 100644 --- a/extensions/whatsapp/src/channel-outbound.test.ts +++ b/extensions/whatsapp/src/channel-outbound.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover channel outbound plugin behavior. import { beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; const hoisted = vi.hoisted(() => ({ diff --git a/extensions/whatsapp/src/channel-outbound.ts b/extensions/whatsapp/src/channel-outbound.ts index 61d42817d1b9..45bcc29ef356 100644 --- a/extensions/whatsapp/src/channel-outbound.ts +++ b/extensions/whatsapp/src/channel-outbound.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements channel outbound behavior. import { createMessageReceiptFromOutboundResults, defineChannelMessageAdapter, diff --git a/extensions/whatsapp/src/channel-react-action.runtime.ts b/extensions/whatsapp/src/channel-react-action.runtime.ts index 1e3ae9f6860e..142696ef00ab 100644 --- a/extensions/whatsapp/src/channel-react-action.runtime.ts +++ b/extensions/whatsapp/src/channel-react-action.runtime.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements channel react action behavior. import { readStringOrNumberParam, readStringParam } from "openclaw/plugin-sdk/channel-actions"; import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; diff --git a/extensions/whatsapp/src/channel-react-action.test.ts b/extensions/whatsapp/src/channel-react-action.test.ts index 95008cc00806..5cd5cf947127 100644 --- a/extensions/whatsapp/src/channel-react-action.test.ts +++ b/extensions/whatsapp/src/channel-react-action.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover channel react action plugin behavior. import { beforeEach, describe, expect, it, vi } from "vitest"; import { handleWhatsAppReactAction } from "./channel-react-action.js"; import type { OpenClawConfig } from "./runtime-api.js"; diff --git a/extensions/whatsapp/src/channel-react-action.ts b/extensions/whatsapp/src/channel-react-action.ts index 140cddd7ddc7..3ed2d5549c33 100644 --- a/extensions/whatsapp/src/channel-react-action.ts +++ b/extensions/whatsapp/src/channel-react-action.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements channel react action behavior. import { jsonResult } from "openclaw/plugin-sdk/channel-actions"; import { isWhatsAppGroupJid, diff --git a/extensions/whatsapp/src/channel.runtime.ts b/extensions/whatsapp/src/channel.runtime.ts index 13978d8c652b..c73048fbc376 100644 --- a/extensions/whatsapp/src/channel.runtime.ts +++ b/extensions/whatsapp/src/channel.runtime.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements channel behavior. import { startWebLoginWithQr as startWebLoginWithQrImpl, waitForWebLogin as waitForWebLoginImpl, diff --git a/extensions/whatsapp/src/channel.setup.test.ts b/extensions/whatsapp/src/channel.setup.test.ts index c2d683871e07..25a9ade9f696 100644 --- a/extensions/whatsapp/src/channel.setup.test.ts +++ b/extensions/whatsapp/src/channel.setup.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover channel.setup plugin behavior. import { createQueuedWizardPrompter } from "openclaw/plugin-sdk/plugin-test-runtime"; import { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/routing"; import type { RuntimeEnv } from "openclaw/plugin-sdk/runtime-env"; diff --git a/extensions/whatsapp/src/channel.setup.ts b/extensions/whatsapp/src/channel.setup.ts index 9ab0175c06a4..d25ec9182ede 100644 --- a/extensions/whatsapp/src/channel.setup.ts +++ b/extensions/whatsapp/src/channel.setup.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements channel.setup behavior. import type { ChannelPlugin } from "openclaw/plugin-sdk/core"; import type { ResolvedWhatsAppAccount } from "./accounts.js"; import { resolveWhatsAppGroupIntroHint } from "./group-intro.js"; diff --git a/extensions/whatsapp/src/channel.ts b/extensions/whatsapp/src/channel.ts index 4acef05969f4..38f6da3e5d26 100644 --- a/extensions/whatsapp/src/channel.ts +++ b/extensions/whatsapp/src/channel.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements channel behavior. import { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/account-id"; import { buildDmGroupAccountAllowlistAdapter } from "openclaw/plugin-sdk/allowlist-config-edit"; import { createChatChannelPlugin, type ChannelPlugin } from "openclaw/plugin-sdk/channel-core"; diff --git a/extensions/whatsapp/src/command-policy.ts b/extensions/whatsapp/src/command-policy.ts index 70e5f28ca7af..e588a1e3c20a 100644 --- a/extensions/whatsapp/src/command-policy.ts +++ b/extensions/whatsapp/src/command-policy.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements command policy behavior. import type { ChannelPlugin } from "openclaw/plugin-sdk/core"; export const whatsappCommandPolicy: NonNullable = { diff --git a/extensions/whatsapp/src/config-accessors.test.ts b/extensions/whatsapp/src/config-accessors.test.ts index d0b33f924e65..3f2fe5e96fe2 100644 --- a/extensions/whatsapp/src/config-accessors.test.ts +++ b/extensions/whatsapp/src/config-accessors.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover config accessors plugin behavior. import { describe, expect, it } from "vitest"; import { formatWhatsAppConfigAllowFromEntries, diff --git a/extensions/whatsapp/src/config-accessors.ts b/extensions/whatsapp/src/config-accessors.ts index af6c2a2cb5d8..80f117b5538f 100644 --- a/extensions/whatsapp/src/config-accessors.ts +++ b/extensions/whatsapp/src/config-accessors.ts @@ -1,3 +1,4 @@ +// Whatsapp helper module supports config accessors behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { resolveWhatsAppAccount } from "./accounts.js"; import { normalizeWhatsAppAllowFromEntries } from "./normalize-target.js"; diff --git a/extensions/whatsapp/src/config-schema.test.ts b/extensions/whatsapp/src/config-schema.test.ts index ce1e089866ea..bae52d38e011 100644 --- a/extensions/whatsapp/src/config-schema.test.ts +++ b/extensions/whatsapp/src/config-schema.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover config schema plugin behavior. import { describe, expect, it } from "vitest"; import { WhatsAppConfigSchema } from "../config-api.js"; diff --git a/extensions/whatsapp/src/config-schema.ts b/extensions/whatsapp/src/config-schema.ts index bc7a704cd059..1858243ed4f1 100644 --- a/extensions/whatsapp/src/config-schema.ts +++ b/extensions/whatsapp/src/config-schema.ts @@ -1,3 +1,4 @@ +// Whatsapp helper module supports config schema behavior. import { buildChannelConfigSchema, WhatsAppConfigSchema } from "../config-api.js"; import { whatsAppChannelConfigUiHints } from "./config-ui-hints.js"; diff --git a/extensions/whatsapp/src/config-ui-hints.ts b/extensions/whatsapp/src/config-ui-hints.ts index a061daff1651..ed977740dbc1 100644 --- a/extensions/whatsapp/src/config-ui-hints.ts +++ b/extensions/whatsapp/src/config-ui-hints.ts @@ -1,3 +1,4 @@ +// Whatsapp helper module supports config ui hints behavior. import type { ChannelConfigUiHint } from "openclaw/plugin-sdk/core"; export const whatsAppChannelConfigUiHints = { diff --git a/extensions/whatsapp/src/connection-controller-registry.test.ts b/extensions/whatsapp/src/connection-controller-registry.test.ts index 1ae5778bb6bf..9542d4a1b1c3 100644 --- a/extensions/whatsapp/src/connection-controller-registry.test.ts +++ b/extensions/whatsapp/src/connection-controller-registry.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover connection controller registry plugin behavior. import { describe, expect, it, vi } from "vitest"; type RegistryModule = typeof import("./connection-controller-registry.js"); diff --git a/extensions/whatsapp/src/connection-controller-registry.ts b/extensions/whatsapp/src/connection-controller-registry.ts index 20ad82dec610..9e65de3c202c 100644 --- a/extensions/whatsapp/src/connection-controller-registry.ts +++ b/extensions/whatsapp/src/connection-controller-registry.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements connection controller registry behavior. import type { ActiveWebListener } from "./inbound/types.js"; type WhatsAppConnectionControllerHandle = { diff --git a/extensions/whatsapp/src/connection-controller.test.ts b/extensions/whatsapp/src/connection-controller.test.ts index 874be5be2730..105d930a381c 100644 --- a/extensions/whatsapp/src/connection-controller.test.ts +++ b/extensions/whatsapp/src/connection-controller.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover connection controller plugin behavior. import { EventEmitter } from "node:events"; import { DisconnectReason } from "baileys"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; diff --git a/extensions/whatsapp/src/connection-controller.ts b/extensions/whatsapp/src/connection-controller.ts index 6d56963f6e59..91beb693f35d 100644 --- a/extensions/whatsapp/src/connection-controller.ts +++ b/extensions/whatsapp/src/connection-controller.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements connection controller behavior. import type { WASocket } from "baileys"; import { info } from "openclaw/plugin-sdk/runtime-env"; import type { RuntimeEnv } from "openclaw/plugin-sdk/runtime-env"; diff --git a/extensions/whatsapp/src/creds-files.ts b/extensions/whatsapp/src/creds-files.ts index a48c0f226ff1..cf41011a450c 100644 --- a/extensions/whatsapp/src/creds-files.ts +++ b/extensions/whatsapp/src/creds-files.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements creds files behavior. import path from "node:path"; import { assertNoSymlinkParents, diff --git a/extensions/whatsapp/src/creds-persistence.test.ts b/extensions/whatsapp/src/creds-persistence.test.ts index 6db058e24561..823b950cf458 100644 --- a/extensions/whatsapp/src/creds-persistence.test.ts +++ b/extensions/whatsapp/src/creds-persistence.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover creds persistence plugin behavior. import { MAX_TIMER_TIMEOUT_MS } from "openclaw/plugin-sdk/number-runtime"; import { afterEach, describe, expect, it, vi } from "vitest"; import { enqueueCredsSave, waitForCredsSaveQueueWithTimeout } from "./creds-persistence.js"; diff --git a/extensions/whatsapp/src/creds-persistence.ts b/extensions/whatsapp/src/creds-persistence.ts index 9a4de79bb466..668de15a0ce9 100644 --- a/extensions/whatsapp/src/creds-persistence.ts +++ b/extensions/whatsapp/src/creds-persistence.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements creds persistence behavior. import { resolveTimerTimeoutMs } from "openclaw/plugin-sdk/number-runtime"; import { replaceFileAtomic } from "openclaw/plugin-sdk/security-runtime"; import { assertWebCredsPathRegularFileOrMissing, resolveWebCredsPath } from "./creds-files.js"; diff --git a/extensions/whatsapp/src/directory-config.test.ts b/extensions/whatsapp/src/directory-config.test.ts index 63fa9cca68a3..534c761aab93 100644 --- a/extensions/whatsapp/src/directory-config.test.ts +++ b/extensions/whatsapp/src/directory-config.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover directory config plugin behavior. import { createDirectoryTestRuntime } from "openclaw/plugin-sdk/channel-test-helpers"; import { describe, expect, it } from "vitest"; import { diff --git a/extensions/whatsapp/src/directory-config.ts b/extensions/whatsapp/src/directory-config.ts index 16faf276f483..2afab47aac37 100644 --- a/extensions/whatsapp/src/directory-config.ts +++ b/extensions/whatsapp/src/directory-config.ts @@ -1,3 +1,4 @@ +// Whatsapp helper module supports directory config behavior. import { listResolvedDirectoryGroupEntriesFromMapKeys, listResolvedDirectoryUserEntriesFromAllowFrom, diff --git a/extensions/whatsapp/src/directory-contract.test.ts b/extensions/whatsapp/src/directory-contract.test.ts index d88d454ed88e..5ff1fbd083ab 100644 --- a/extensions/whatsapp/src/directory-contract.test.ts +++ b/extensions/whatsapp/src/directory-contract.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover directory contract plugin behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { describe, expect, it } from "vitest"; import { diff --git a/extensions/whatsapp/src/doctor-contract.ts b/extensions/whatsapp/src/doctor-contract.ts index ddd82dad13ee..e6df5dae3956 100644 --- a/extensions/whatsapp/src/doctor-contract.ts +++ b/extensions/whatsapp/src/doctor-contract.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements doctor contract behavior. import type { ChannelDoctorConfigMutation } from "openclaw/plugin-sdk/channel-contract"; import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { normalizeCompatibilityConfig as normalizeCompatibilityConfigImpl } from "./doctor.js"; diff --git a/extensions/whatsapp/src/doctor.test.ts b/extensions/whatsapp/src/doctor.test.ts index ef04bc19fa8f..29269b3b11aa 100644 --- a/extensions/whatsapp/src/doctor.test.ts +++ b/extensions/whatsapp/src/doctor.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover doctor plugin behavior. import { describe, expect, it } from "vitest"; import { normalizeCompatibilityConfig } from "./doctor.js"; diff --git a/extensions/whatsapp/src/doctor.ts b/extensions/whatsapp/src/doctor.ts index 05ef4040cd89..86731175f30a 100644 --- a/extensions/whatsapp/src/doctor.ts +++ b/extensions/whatsapp/src/doctor.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements doctor behavior. import type { ChannelDoctorAdapter, ChannelDoctorConfigMutation, diff --git a/extensions/whatsapp/src/document-filename.test.ts b/extensions/whatsapp/src/document-filename.test.ts index c7221344eb4f..7a8f4566b713 100644 --- a/extensions/whatsapp/src/document-filename.test.ts +++ b/extensions/whatsapp/src/document-filename.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover document filename plugin behavior. import { describe, expect, it } from "vitest"; import { resolveWhatsAppDocumentFileName } from "./document-filename.js"; diff --git a/extensions/whatsapp/src/document-filename.ts b/extensions/whatsapp/src/document-filename.ts index 9919721b318c..66e480f6e749 100644 --- a/extensions/whatsapp/src/document-filename.ts +++ b/extensions/whatsapp/src/document-filename.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements document filename behavior. import { extensionForMime } from "openclaw/plugin-sdk/media-mime"; const WHATSAPP_DEFAULT_DOCUMENT_FILE_NAME = "file"; diff --git a/extensions/whatsapp/src/group-config-path.ts b/extensions/whatsapp/src/group-config-path.ts index f361f37d9bd9..dc40b601eab8 100644 --- a/extensions/whatsapp/src/group-config-path.ts +++ b/extensions/whatsapp/src/group-config-path.ts @@ -1,3 +1,4 @@ +// Whatsapp helper module supports group config path behavior. import { DEFAULT_ACCOUNT_ID, type OpenClawConfig } from "openclaw/plugin-sdk/account-core"; const WHATSAPP_GROUP_SCOPE_FIELDS = ["groupPolicy", "groupAllowFrom", "groups"] as const; diff --git a/extensions/whatsapp/src/group-intro.ts b/extensions/whatsapp/src/group-intro.ts index a4db1e87557f..d52c22039b3b 100644 --- a/extensions/whatsapp/src/group-intro.ts +++ b/extensions/whatsapp/src/group-intro.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements group intro behavior. const WHATSAPP_GROUP_INTRO_HINT = "WhatsApp IDs: SenderId is the participant JID (group participant id)."; diff --git a/extensions/whatsapp/src/group-policy.test.ts b/extensions/whatsapp/src/group-policy.test.ts index afe9a338782e..aa51c48fd933 100644 --- a/extensions/whatsapp/src/group-policy.test.ts +++ b/extensions/whatsapp/src/group-policy.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover group policy plugin behavior. import { describe, expect, it } from "vitest"; import { resolveWhatsAppGroupRequireMention, diff --git a/extensions/whatsapp/src/group-policy.ts b/extensions/whatsapp/src/group-policy.ts index 69b0613ef899..286ea5ac4403 100644 --- a/extensions/whatsapp/src/group-policy.ts +++ b/extensions/whatsapp/src/group-policy.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements group policy behavior. import { resolveChannelGroupRequireMention, resolveChannelGroupToolsPolicy, diff --git a/extensions/whatsapp/src/group-session-contract.ts b/extensions/whatsapp/src/group-session-contract.ts index 00c9cf5f5f0b..f71e03b952c0 100644 --- a/extensions/whatsapp/src/group-session-contract.ts +++ b/extensions/whatsapp/src/group-session-contract.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements group session contract behavior. import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime"; export function resolveLegacyGroupSessionKey(ctx: { From?: string }): { diff --git a/extensions/whatsapp/src/group-session-key.test.ts b/extensions/whatsapp/src/group-session-key.test.ts index 71cd134adc1e..66034dece409 100644 --- a/extensions/whatsapp/src/group-session-key.test.ts +++ b/extensions/whatsapp/src/group-session-key.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover group session key plugin behavior. import { describe, expect, it } from "vitest"; import { resolveWhatsAppGroupSessionRoute, testing } from "./group-session-key.js"; diff --git a/extensions/whatsapp/src/group-session-key.ts b/extensions/whatsapp/src/group-session-key.ts index ce20df01b65c..08e9cc056bdd 100644 --- a/extensions/whatsapp/src/group-session-key.ts +++ b/extensions/whatsapp/src/group-session-key.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements group session key behavior. import { DEFAULT_ACCOUNT_ID, normalizeAccountId, diff --git a/extensions/whatsapp/src/heartbeat.ts b/extensions/whatsapp/src/heartbeat.ts index 38745e1f840b..81122c41bd8e 100644 --- a/extensions/whatsapp/src/heartbeat.ts +++ b/extensions/whatsapp/src/heartbeat.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements heartbeat behavior. import { resolveWhatsAppAccount } from "./accounts.js"; import { readWebAuthExistsForDecision, WHATSAPP_AUTH_UNSTABLE_CODE } from "./auth-store.js"; import type { OpenClawConfig } from "./runtime-api.js"; diff --git a/extensions/whatsapp/src/identity.ts b/extensions/whatsapp/src/identity.ts index 6a7af35ff967..c278c8bb092f 100644 --- a/extensions/whatsapp/src/identity.ts +++ b/extensions/whatsapp/src/identity.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements identity behavior. import { jidToE164, normalizeE164 } from "./text-runtime.js"; const WHATSAPP_LID_RE = /@(lid|hosted\.lid)$/i; diff --git a/extensions/whatsapp/src/image-preview.ts b/extensions/whatsapp/src/image-preview.ts index e3065b2af489..7276b7b356ad 100644 --- a/extensions/whatsapp/src/image-preview.ts +++ b/extensions/whatsapp/src/image-preview.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements image preview behavior. import type { AnyMessageContent } from "baileys"; import { getImageMetadata, resizeToJpeg } from "openclaw/plugin-sdk/media-runtime"; diff --git a/extensions/whatsapp/src/inbound-context.contract.test.ts b/extensions/whatsapp/src/inbound-context.contract.test.ts index 6f6315082178..cbd651b0f518 100644 --- a/extensions/whatsapp/src/inbound-context.contract.test.ts +++ b/extensions/whatsapp/src/inbound-context.contract.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover inbound context.contract plugin behavior. import { expectChannelInboundContextContract } from "openclaw/plugin-sdk/channel-contract-testing"; import { describe, it } from "vitest"; diff --git a/extensions/whatsapp/src/inbound-policy.ts b/extensions/whatsapp/src/inbound-policy.ts index d757388618f4..a508a42e3b54 100644 --- a/extensions/whatsapp/src/inbound-policy.ts +++ b/extensions/whatsapp/src/inbound-policy.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements inbound policy behavior. import { resolveStableChannelMessageIngress } from "openclaw/plugin-sdk/channel-ingress-runtime"; import { resolveChannelGroupPolicy, diff --git a/extensions/whatsapp/src/inbound.media.test.ts b/extensions/whatsapp/src/inbound.media.test.ts index 26fb0d6476a0..8846d80ffe07 100644 --- a/extensions/whatsapp/src/inbound.media.test.ts +++ b/extensions/whatsapp/src/inbound.media.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover inbound.media plugin behavior. import crypto from "node:crypto"; import fs from "node:fs/promises"; import os from "node:os"; diff --git a/extensions/whatsapp/src/inbound.test.ts b/extensions/whatsapp/src/inbound.test.ts index 6255474a1dfa..9018b6c248a9 100644 --- a/extensions/whatsapp/src/inbound.test.ts +++ b/extensions/whatsapp/src/inbound.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover inbound plugin behavior. import { describe, expect, it } from "vitest"; import { extractContactContext, diff --git a/extensions/whatsapp/src/inbound.ts b/extensions/whatsapp/src/inbound.ts index b8844ee4e7a2..73417010c961 100644 --- a/extensions/whatsapp/src/inbound.ts +++ b/extensions/whatsapp/src/inbound.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements inbound behavior. export { resetWebInboundDedupe } from "./inbound/dedupe.js"; export { extractContactContext, diff --git a/extensions/whatsapp/src/inbound/access-control.test-harness.ts b/extensions/whatsapp/src/inbound/access-control.test-harness.ts index 4d678e69e0a0..c26954e21479 100644 --- a/extensions/whatsapp/src/inbound/access-control.test-harness.ts +++ b/extensions/whatsapp/src/inbound/access-control.test-harness.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements access control harness behavior. import { beforeEach, vi } from "vitest"; import { type AsyncMock, diff --git a/extensions/whatsapp/src/inbound/access-control.test.ts b/extensions/whatsapp/src/inbound/access-control.test.ts index 6abd6771b94f..b8ee593bfdfe 100644 --- a/extensions/whatsapp/src/inbound/access-control.test.ts +++ b/extensions/whatsapp/src/inbound/access-control.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover access control plugin behavior. import { beforeAll, describe, expect, it } from "vitest"; import { readAllowFromStoreMock, diff --git a/extensions/whatsapp/src/inbound/access-control.ts b/extensions/whatsapp/src/inbound/access-control.ts index b08da5e5205c..d39cf80014d6 100644 --- a/extensions/whatsapp/src/inbound/access-control.ts +++ b/extensions/whatsapp/src/inbound/access-control.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements access control behavior. import { createChannelPairingChallengeIssuer } from "openclaw/plugin-sdk/channel-pairing"; import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { upsertChannelPairingRequest } from "openclaw/plugin-sdk/conversation-runtime"; diff --git a/extensions/whatsapp/src/inbound/dedupe.ts b/extensions/whatsapp/src/inbound/dedupe.ts index 3969b37bdafa..6880f5897db3 100644 --- a/extensions/whatsapp/src/inbound/dedupe.ts +++ b/extensions/whatsapp/src/inbound/dedupe.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements dedupe behavior. import { createClaimableDedupe } from "openclaw/plugin-sdk/persistent-dedupe"; const RECENT_WEB_MESSAGE_TTL_MS = 20 * 60_000; diff --git a/extensions/whatsapp/src/inbound/durable-receive.ts b/extensions/whatsapp/src/inbound/durable-receive.ts index 67f53c177199..87123eabecf1 100644 --- a/extensions/whatsapp/src/inbound/durable-receive.ts +++ b/extensions/whatsapp/src/inbound/durable-receive.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements durable receive behavior. import { createHash } from "node:crypto"; import type { WAMessage } from "baileys"; import { createDurableInboundReceiveJournalFromQueue } from "openclaw/plugin-sdk/channel-outbound"; diff --git a/extensions/whatsapp/src/inbound/extract.test.ts b/extensions/whatsapp/src/inbound/extract.test.ts index fb30b0fad11c..ceb3d534ab14 100644 --- a/extensions/whatsapp/src/inbound/extract.test.ts +++ b/extensions/whatsapp/src/inbound/extract.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover extract plugin behavior. import type { proto } from "baileys"; import { describe, expect, it } from "vitest"; import { extractMentionedJids, hasInboundUserContent } from "./extract.js"; diff --git a/extensions/whatsapp/src/inbound/extract.ts b/extensions/whatsapp/src/inbound/extract.ts index 3075086c50cf..6c75df7895e3 100644 --- a/extensions/whatsapp/src/inbound/extract.ts +++ b/extensions/whatsapp/src/inbound/extract.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements extract behavior. import type { proto } from "baileys"; import { extractMessageContent, getContentType, normalizeMessageContent } from "baileys"; import { formatLocationText, type NormalizedLocation } from "openclaw/plugin-sdk/channel-inbound"; diff --git a/extensions/whatsapp/src/inbound/lifecycle.ts b/extensions/whatsapp/src/inbound/lifecycle.ts index ef7b60bd95cb..f70696f1c941 100644 --- a/extensions/whatsapp/src/inbound/lifecycle.ts +++ b/extensions/whatsapp/src/inbound/lifecycle.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements lifecycle behavior. type Listener = (...args: unknown[]) => void; type OffCapableEmitter = { diff --git a/extensions/whatsapp/src/inbound/media.node.test.ts b/extensions/whatsapp/src/inbound/media.node.test.ts index 1ba806caa478..f1a62aff21c3 100644 --- a/extensions/whatsapp/src/inbound/media.node.test.ts +++ b/extensions/whatsapp/src/inbound/media.node.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover media plugin behavior. import { Readable } from "node:stream"; import { beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; import { mockNormalizeMessageContent } from "../../../../test/mocks/baileys.js"; diff --git a/extensions/whatsapp/src/inbound/media.ts b/extensions/whatsapp/src/inbound/media.ts index 19f2af13bd0c..3cb3c77b5c0b 100644 --- a/extensions/whatsapp/src/inbound/media.ts +++ b/extensions/whatsapp/src/inbound/media.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements media behavior. import type { proto, WAMessage } from "baileys"; import { saveMediaStream, type SavedMedia } from "openclaw/plugin-sdk/media-store"; import { logVerbose } from "openclaw/plugin-sdk/runtime-env"; diff --git a/extensions/whatsapp/src/inbound/monitor.ts b/extensions/whatsapp/src/inbound/monitor.ts index b4706cf9ca6f..3f60e977a5ac 100644 --- a/extensions/whatsapp/src/inbound/monitor.ts +++ b/extensions/whatsapp/src/inbound/monitor.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements monitor behavior. import type { AnyMessageContent, MiscMessageGenerationOptions, diff --git a/extensions/whatsapp/src/inbound/outbound-mentions.test.ts b/extensions/whatsapp/src/inbound/outbound-mentions.test.ts index 8f605210519c..88d0b31a01bd 100644 --- a/extensions/whatsapp/src/inbound/outbound-mentions.test.ts +++ b/extensions/whatsapp/src/inbound/outbound-mentions.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover outbound mentions plugin behavior. import { describe, expect, it } from "vitest"; import { resolveWhatsAppOutboundMentions } from "./outbound-mentions.js"; diff --git a/extensions/whatsapp/src/inbound/outbound-mentions.ts b/extensions/whatsapp/src/inbound/outbound-mentions.ts index fbaa081d9fe3..73470c7e1358 100644 --- a/extensions/whatsapp/src/inbound/outbound-mentions.ts +++ b/extensions/whatsapp/src/inbound/outbound-mentions.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements outbound mentions behavior. import type { AnyMessageContent } from "baileys"; export type WhatsAppOutboundMentionParticipant = diff --git a/extensions/whatsapp/src/inbound/runtime-api.ts b/extensions/whatsapp/src/inbound/runtime-api.ts index abbb624f5fe2..bce3e570a20a 100644 --- a/extensions/whatsapp/src/inbound/runtime-api.ts +++ b/extensions/whatsapp/src/inbound/runtime-api.ts @@ -1,3 +1,4 @@ +// Whatsapp API module exposes the plugin public contract. export { DisconnectReason, downloadMediaMessage, diff --git a/extensions/whatsapp/src/inbound/save-media.runtime.ts b/extensions/whatsapp/src/inbound/save-media.runtime.ts index cace8a847a26..c75e9e2eb7f0 100644 --- a/extensions/whatsapp/src/inbound/save-media.runtime.ts +++ b/extensions/whatsapp/src/inbound/save-media.runtime.ts @@ -1 +1,2 @@ +// Whatsapp plugin module implements save media behavior. export { saveMediaBuffer } from "openclaw/plugin-sdk/media-store"; diff --git a/extensions/whatsapp/src/inbound/send-api.test.ts b/extensions/whatsapp/src/inbound/send-api.test.ts index 39a101a7ff2f..4d172c6e67e4 100644 --- a/extensions/whatsapp/src/inbound/send-api.test.ts +++ b/extensions/whatsapp/src/inbound/send-api.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover send api plugin behavior. import fs from "node:fs"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/whatsapp/src/inbound/send-api.ts b/extensions/whatsapp/src/inbound/send-api.ts index c5caee6803c7..64cd3b5b01f9 100644 --- a/extensions/whatsapp/src/inbound/send-api.ts +++ b/extensions/whatsapp/src/inbound/send-api.ts @@ -1,3 +1,4 @@ +// Whatsapp API module exposes the plugin public contract. import type { AnyMessageContent, MiscMessageGenerationOptions, diff --git a/extensions/whatsapp/src/inbound/send-result.test.ts b/extensions/whatsapp/src/inbound/send-result.test.ts index 7881d2be8176..af2428c19dc2 100644 --- a/extensions/whatsapp/src/inbound/send-result.test.ts +++ b/extensions/whatsapp/src/inbound/send-result.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover send result plugin behavior. import type { WAMessage } from "baileys"; import { describe, expect, it } from "vitest"; import { combineWhatsAppSendResults, normalizeWhatsAppSendResult } from "./send-result.js"; diff --git a/extensions/whatsapp/src/inbound/send-result.ts b/extensions/whatsapp/src/inbound/send-result.ts index 3e2a7f39267f..231d2800524c 100644 --- a/extensions/whatsapp/src/inbound/send-result.ts +++ b/extensions/whatsapp/src/inbound/send-result.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements send result behavior. import type { WAMessage, WAMessageKey } from "baileys"; import { createMessageReceiptFromOutboundResults, diff --git a/extensions/whatsapp/src/inbound/types.ts b/extensions/whatsapp/src/inbound/types.ts index 31c122877d75..a657ea166500 100644 --- a/extensions/whatsapp/src/inbound/types.ts +++ b/extensions/whatsapp/src/inbound/types.ts @@ -1,3 +1,4 @@ +// Whatsapp type declarations define plugin contracts. import type { AnyMessageContent, MiscMessageGenerationOptions } from "baileys"; import type { NormalizedLocation } from "openclaw/plugin-sdk/channel-inbound"; import type { PollInput } from "openclaw/plugin-sdk/poll-runtime"; diff --git a/extensions/whatsapp/src/login-qr.test.ts b/extensions/whatsapp/src/login-qr.test.ts index fbaeb5c9b931..abab4b1644c4 100644 --- a/extensions/whatsapp/src/login-qr.test.ts +++ b/extensions/whatsapp/src/login-qr.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover login qr plugin behavior. import { MAX_TIMER_TIMEOUT_MS } from "openclaw/plugin-sdk/number-runtime"; import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import { startWebLoginWithQr, waitForWebLogin } from "./login-qr.js"; diff --git a/extensions/whatsapp/src/login-qr.ts b/extensions/whatsapp/src/login-qr.ts index 7376cf7b29a8..fdb06f7a3b7c 100644 --- a/extensions/whatsapp/src/login-qr.ts +++ b/extensions/whatsapp/src/login-qr.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements login qr behavior. import { randomUUID } from "node:crypto"; import { logInfo } from "openclaw/plugin-sdk/logging-core"; import { resolveTimerTimeoutMs } from "openclaw/plugin-sdk/number-runtime"; diff --git a/extensions/whatsapp/src/login.coverage.test.ts b/extensions/whatsapp/src/login.coverage.test.ts index 30ec5ef1fa47..2b0acb2fbb8b 100644 --- a/extensions/whatsapp/src/login.coverage.test.ts +++ b/extensions/whatsapp/src/login.coverage.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover login.coverage plugin behavior. import { rmSync } from "node:fs"; import fs from "node:fs/promises"; import path from "node:path"; diff --git a/extensions/whatsapp/src/login.test.ts b/extensions/whatsapp/src/login.test.ts index 5a85c53bb4a4..d05ec67efde3 100644 --- a/extensions/whatsapp/src/login.test.ts +++ b/extensions/whatsapp/src/login.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover login plugin behavior. import { EventEmitter } from "node:events"; import { resetLogger, setLoggerOverride, success } from "openclaw/plugin-sdk/runtime-env"; import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; diff --git a/extensions/whatsapp/src/login.ts b/extensions/whatsapp/src/login.ts index 1a81e2be992c..1add6b20c7ac 100644 --- a/extensions/whatsapp/src/login.ts +++ b/extensions/whatsapp/src/login.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements login behavior. import { formatCliCommand } from "openclaw/plugin-sdk/cli-runtime"; import { logInfo } from "openclaw/plugin-sdk/logging-core"; import { getRuntimeConfig } from "openclaw/plugin-sdk/runtime-config-snapshot"; diff --git a/extensions/whatsapp/src/logout.test.ts b/extensions/whatsapp/src/logout.test.ts index 6b78c2a3aaa3..fb252c0fccc6 100644 --- a/extensions/whatsapp/src/logout.test.ts +++ b/extensions/whatsapp/src/logout.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover logout plugin behavior. import fs from "node:fs"; import fsPromises from "node:fs/promises"; import os from "node:os"; diff --git a/extensions/whatsapp/src/media.test.ts b/extensions/whatsapp/src/media.test.ts index f55a974550ec..d27a6680f271 100644 --- a/extensions/whatsapp/src/media.test.ts +++ b/extensions/whatsapp/src/media.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover media plugin behavior. import fs from "node:fs/promises"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/whatsapp/src/media.ts b/extensions/whatsapp/src/media.ts index 24e6c6f2b71a..4c5503f008b2 100644 --- a/extensions/whatsapp/src/media.ts +++ b/extensions/whatsapp/src/media.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements media behavior. export { getDefaultLocalRoots, LocalMediaAccessError, diff --git a/extensions/whatsapp/src/monitor-inbox.allows-messages-from-senders-allowfrom-list.test-support.ts b/extensions/whatsapp/src/monitor-inbox.allows-messages-from-senders-allowfrom-list.test-support.ts index a56481f6ecaa..bd4f041661a1 100644 --- a/extensions/whatsapp/src/monitor-inbox.allows-messages-from-senders-allowfrom-list.test-support.ts +++ b/extensions/whatsapp/src/monitor-inbox.allows-messages-from-senders-allowfrom-list.test-support.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements monitor inbox.allows messages from senders allowfrom list support behavior. import "./monitor-inbox.test-harness.js"; import { describe, expect, it, vi } from "vitest"; import { diff --git a/extensions/whatsapp/src/monitor-inbox.append-upsert.test-support.ts b/extensions/whatsapp/src/monitor-inbox.append-upsert.test-support.ts index 4fcd9eb57ac2..ba4d49a4d709 100644 --- a/extensions/whatsapp/src/monitor-inbox.append-upsert.test-support.ts +++ b/extensions/whatsapp/src/monitor-inbox.append-upsert.test-support.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements monitor inbox.append upsert support behavior. import "./monitor-inbox.test-harness.js"; import { describe, expect, it, vi } from "vitest"; import { diff --git a/extensions/whatsapp/src/monitor-inbox.behavior.test.ts b/extensions/whatsapp/src/monitor-inbox.behavior.test.ts index 7c9ab5fb5e4b..1b2488da6bbf 100644 --- a/extensions/whatsapp/src/monitor-inbox.behavior.test.ts +++ b/extensions/whatsapp/src/monitor-inbox.behavior.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover monitor inbox.behavior plugin behavior. import "./monitor-inbox.allows-messages-from-senders-allowfrom-list.test-support.js"; import "./monitor-inbox.append-upsert.test-support.js"; import "./monitor-inbox.blocks-messages-from-unauthorized-senders-not-allowfrom.test-support.js"; diff --git a/extensions/whatsapp/src/monitor-inbox.blocks-messages-from-unauthorized-senders-not-allowfrom.test-support.ts b/extensions/whatsapp/src/monitor-inbox.blocks-messages-from-unauthorized-senders-not-allowfrom.test-support.ts index 1a5a7db5aaa6..6796bba1460c 100644 --- a/extensions/whatsapp/src/monitor-inbox.blocks-messages-from-unauthorized-senders-not-allowfrom.test-support.ts +++ b/extensions/whatsapp/src/monitor-inbox.blocks-messages-from-unauthorized-senders-not-allowfrom.test-support.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements monitor inbox.blocks messages from unauthorized senders not allowfrom support behavior. import "./monitor-inbox.test-harness.js"; import { describe, expect, it, vi } from "vitest"; import { diff --git a/extensions/whatsapp/src/monitor-inbox.captures-media-path-image-messages.test-support.ts b/extensions/whatsapp/src/monitor-inbox.captures-media-path-image-messages.test-support.ts index 9805cb7fb5ad..a1c8a1b529bb 100644 --- a/extensions/whatsapp/src/monitor-inbox.captures-media-path-image-messages.test-support.ts +++ b/extensions/whatsapp/src/monitor-inbox.captures-media-path-image-messages.test-support.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements monitor inbox.captures media path image messages support behavior. import "./monitor-inbox.test-harness.js"; import { beforeEach, describe, expect, it, vi } from "vitest"; import { diff --git a/extensions/whatsapp/src/monitor-inbox.streams-inbound-messages.test-support.ts b/extensions/whatsapp/src/monitor-inbox.streams-inbound-messages.test-support.ts index 8f7cb60ca942..656f70da74a0 100644 --- a/extensions/whatsapp/src/monitor-inbox.streams-inbound-messages.test-support.ts +++ b/extensions/whatsapp/src/monitor-inbox.streams-inbound-messages.test-support.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements monitor inbox.streams inbound messages support behavior. import fsSync from "node:fs"; import path from "node:path"; import "./monitor-inbox.test-harness.js"; diff --git a/extensions/whatsapp/src/monitor-inbox.test-harness.ts b/extensions/whatsapp/src/monitor-inbox.test-harness.ts index f3e05096897a..b67f84317bca 100644 --- a/extensions/whatsapp/src/monitor-inbox.test-harness.ts +++ b/extensions/whatsapp/src/monitor-inbox.test-harness.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements monitor inbox harness behavior. import { EventEmitter } from "node:events"; import fsSync from "node:fs"; import os from "node:os"; diff --git a/extensions/whatsapp/src/normalize-target.ts b/extensions/whatsapp/src/normalize-target.ts index d11d32893610..cfb0fe4d1738 100644 --- a/extensions/whatsapp/src/normalize-target.ts +++ b/extensions/whatsapp/src/normalize-target.ts @@ -1,3 +1,4 @@ +// Whatsapp helper module supports normalize target behavior. import { normalizeE164 } from "openclaw/plugin-sdk/account-resolution"; import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime"; diff --git a/extensions/whatsapp/src/normalize.ts b/extensions/whatsapp/src/normalize.ts index e4bc35a3a3fc..bdd2584fd2cf 100644 --- a/extensions/whatsapp/src/normalize.ts +++ b/extensions/whatsapp/src/normalize.ts @@ -1,3 +1,4 @@ +// Whatsapp helper module supports normalize behavior. export { looksLikeWhatsAppTargetId, normalizeWhatsAppAllowFromEntry, diff --git a/extensions/whatsapp/src/outbound-adapter.poll.test.ts b/extensions/whatsapp/src/outbound-adapter.poll.test.ts index 7e2836725e43..cf45e2418a8b 100644 --- a/extensions/whatsapp/src/outbound-adapter.poll.test.ts +++ b/extensions/whatsapp/src/outbound-adapter.poll.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover outbound adapter.poll plugin behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { beforeAll, beforeEach, describe, expect, it, vi } from "vitest"; diff --git a/extensions/whatsapp/src/outbound-adapter.sendpayload.test.ts b/extensions/whatsapp/src/outbound-adapter.sendpayload.test.ts index 7df90f8e5309..dfd6febe3b66 100644 --- a/extensions/whatsapp/src/outbound-adapter.sendpayload.test.ts +++ b/extensions/whatsapp/src/outbound-adapter.sendpayload.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover outbound adapter.sendpayload plugin behavior. import { describe, expect, it, vi } from "vitest"; import { whatsappOutbound } from "./outbound-adapter.js"; diff --git a/extensions/whatsapp/src/outbound-adapter.ts b/extensions/whatsapp/src/outbound-adapter.ts index cfbfbbd2e8ef..5a6779da8d2f 100644 --- a/extensions/whatsapp/src/outbound-adapter.ts +++ b/extensions/whatsapp/src/outbound-adapter.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements outbound adapter behavior. import type { ChannelOutboundAdapter } from "openclaw/plugin-sdk/channel-send-result"; import { chunkText } from "openclaw/plugin-sdk/reply-chunking"; import { shouldLogVerbose } from "openclaw/plugin-sdk/runtime-env"; diff --git a/extensions/whatsapp/src/outbound-base.test.ts b/extensions/whatsapp/src/outbound-base.test.ts index 7aff2aae4c8d..702f09e75f9c 100644 --- a/extensions/whatsapp/src/outbound-base.test.ts +++ b/extensions/whatsapp/src/outbound-base.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover outbound base plugin behavior. import { describe, expect, it, vi } from "vitest"; import { createWhatsAppOutboundBase } from "./outbound-base.js"; import { createWhatsAppPollFixture } from "./outbound-test-support.js"; diff --git a/extensions/whatsapp/src/outbound-base.ts b/extensions/whatsapp/src/outbound-base.ts index 1d8d3201f626..2f9f0d989e1a 100644 --- a/extensions/whatsapp/src/outbound-base.ts +++ b/extensions/whatsapp/src/outbound-base.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements outbound base behavior. import { DEFAULT_ACCOUNT_ID, listCombinedAccountIds, diff --git a/extensions/whatsapp/src/outbound-media-contract.ts b/extensions/whatsapp/src/outbound-media-contract.ts index 11c5411eaeac..e0a8dc94d910 100644 --- a/extensions/whatsapp/src/outbound-media-contract.ts +++ b/extensions/whatsapp/src/outbound-media-contract.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements outbound media contract behavior. import path from "node:path"; import { sanitizeForPlainText } from "openclaw/plugin-sdk/channel-outbound"; import { MEDIA_FFMPEG_MAX_AUDIO_DURATION_SECS, runFfmpeg } from "openclaw/plugin-sdk/media-runtime"; diff --git a/extensions/whatsapp/src/outbound-media.runtime.ts b/extensions/whatsapp/src/outbound-media.runtime.ts index 3530e0483467..e042fdf2371c 100644 --- a/extensions/whatsapp/src/outbound-media.runtime.ts +++ b/extensions/whatsapp/src/outbound-media.runtime.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements outbound media behavior. import { loadWebMedia } from "openclaw/plugin-sdk/web-media"; export async function loadOutboundMediaFromUrl( diff --git a/extensions/whatsapp/src/outbound-payload.contract.test.ts b/extensions/whatsapp/src/outbound-payload.contract.test.ts index 15dc96ea41f5..01d99de6244b 100644 --- a/extensions/whatsapp/src/outbound-payload.contract.test.ts +++ b/extensions/whatsapp/src/outbound-payload.contract.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover outbound payload.contract plugin behavior. import { installChannelOutboundPayloadContractSuite, primeChannelOutboundSendMock, diff --git a/extensions/whatsapp/src/outbound-send-deps.ts b/extensions/whatsapp/src/outbound-send-deps.ts index ad877de4ce0f..8a4c9ab452bc 100644 --- a/extensions/whatsapp/src/outbound-send-deps.ts +++ b/extensions/whatsapp/src/outbound-send-deps.ts @@ -1 +1,2 @@ +// Whatsapp plugin module implements outbound send deps behavior. export const WHATSAPP_LEGACY_OUTBOUND_SEND_DEP_KEYS = ["sendWhatsApp"] as const; diff --git a/extensions/whatsapp/src/outbound-test-support.ts b/extensions/whatsapp/src/outbound-test-support.ts index e04e7edd9f10..55dc56c63f59 100644 --- a/extensions/whatsapp/src/outbound-test-support.ts +++ b/extensions/whatsapp/src/outbound-test-support.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements outbound test support behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; export function createWhatsAppPollFixture() { diff --git a/extensions/whatsapp/src/pairing-security.test-harness.ts b/extensions/whatsapp/src/pairing-security.test-harness.ts index b45eb670cd62..7e4c50c7dcab 100644 --- a/extensions/whatsapp/src/pairing-security.test-harness.ts +++ b/extensions/whatsapp/src/pairing-security.test-harness.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements pairing security harness behavior. import { vi, type Mock } from "vitest"; export type AsyncMock = { diff --git a/extensions/whatsapp/src/qa-driver.runtime.test.ts b/extensions/whatsapp/src/qa-driver.runtime.test.ts index e16a6a5e0d64..37434964aaa0 100644 --- a/extensions/whatsapp/src/qa-driver.runtime.test.ts +++ b/extensions/whatsapp/src/qa-driver.runtime.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover qa driver plugin behavior. import { EventEmitter } from "node:events"; import type { WAMessage } from "baileys"; import { afterEach, describe, expect, it, vi } from "vitest"; diff --git a/extensions/whatsapp/src/qa-driver.runtime.ts b/extensions/whatsapp/src/qa-driver.runtime.ts index 305bbc62d0c5..0d4d1464e644 100644 --- a/extensions/whatsapp/src/qa-driver.runtime.ts +++ b/extensions/whatsapp/src/qa-driver.runtime.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements qa driver behavior. import type { WAMessage } from "baileys"; import { extractText } from "./inbound/extract.js"; import { createWebSendApi } from "./inbound/send-api.js"; diff --git a/extensions/whatsapp/src/qr-image.ts b/extensions/whatsapp/src/qr-image.ts index 2fc757f645d1..0534a6ee823f 100644 --- a/extensions/whatsapp/src/qr-image.ts +++ b/extensions/whatsapp/src/qr-image.ts @@ -1 +1,2 @@ +// Whatsapp plugin module implements qr image behavior. export { renderQrPngBase64, renderQrPngDataUrl } from "openclaw/plugin-sdk/media-runtime"; diff --git a/extensions/whatsapp/src/qr-terminal.ts b/extensions/whatsapp/src/qr-terminal.ts index f8aa1b9b6c1d..c70968cfbd64 100644 --- a/extensions/whatsapp/src/qr-terminal.ts +++ b/extensions/whatsapp/src/qr-terminal.ts @@ -1 +1,2 @@ +// Whatsapp plugin module implements qr terminal behavior. export { renderQrTerminal } from "openclaw/plugin-sdk/media-runtime"; diff --git a/extensions/whatsapp/src/quoted-message.test.ts b/extensions/whatsapp/src/quoted-message.test.ts index 7905be00e05d..2467d973c7e5 100644 --- a/extensions/whatsapp/src/quoted-message.test.ts +++ b/extensions/whatsapp/src/quoted-message.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover quoted message plugin behavior. import { describe, expect, it } from "vitest"; import { cacheInboundMessageMeta, diff --git a/extensions/whatsapp/src/quoted-message.ts b/extensions/whatsapp/src/quoted-message.ts index e21b983b9011..4102826be575 100644 --- a/extensions/whatsapp/src/quoted-message.ts +++ b/extensions/whatsapp/src/quoted-message.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements quoted message behavior. import type { MiscMessageGenerationOptions } from "baileys"; import { jidToE164 } from "./text-runtime.js"; diff --git a/extensions/whatsapp/src/reaction-level.test.ts b/extensions/whatsapp/src/reaction-level.test.ts index 72871d959882..8e3002e6950f 100644 --- a/extensions/whatsapp/src/reaction-level.test.ts +++ b/extensions/whatsapp/src/reaction-level.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover reaction level plugin behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { describe, expect, it } from "vitest"; import { resolveWhatsAppReactionLevel } from "./reaction-level.js"; diff --git a/extensions/whatsapp/src/reaction-level.ts b/extensions/whatsapp/src/reaction-level.ts index a778c3f56b0e..33eeac40a482 100644 --- a/extensions/whatsapp/src/reaction-level.ts +++ b/extensions/whatsapp/src/reaction-level.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements reaction level behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { resolveReactionLevel, diff --git a/extensions/whatsapp/src/reconnect.test.ts b/extensions/whatsapp/src/reconnect.test.ts index b10ae7efd276..a2270160f5d4 100644 --- a/extensions/whatsapp/src/reconnect.test.ts +++ b/extensions/whatsapp/src/reconnect.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover reconnect plugin behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { describe, expect, it } from "vitest"; import { diff --git a/extensions/whatsapp/src/reconnect.ts b/extensions/whatsapp/src/reconnect.ts index e41bc9cdf0b5..4a87f3bb3efe 100644 --- a/extensions/whatsapp/src/reconnect.ts +++ b/extensions/whatsapp/src/reconnect.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements reconnect behavior. import { randomUUID } from "node:crypto"; import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { diff --git a/extensions/whatsapp/src/resolve-outbound-target.test.ts b/extensions/whatsapp/src/resolve-outbound-target.test.ts index 3028bb09452c..255e83e8e5a3 100644 --- a/extensions/whatsapp/src/resolve-outbound-target.test.ts +++ b/extensions/whatsapp/src/resolve-outbound-target.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover resolve outbound target plugin behavior. import { beforeEach, describe, expect, it, vi } from "vitest"; import * as normalize from "./normalize-target.js"; diff --git a/extensions/whatsapp/src/resolve-outbound-target.ts b/extensions/whatsapp/src/resolve-outbound-target.ts index ce5bbf4149b3..82204a63a8d1 100644 --- a/extensions/whatsapp/src/resolve-outbound-target.ts +++ b/extensions/whatsapp/src/resolve-outbound-target.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements resolve outbound target behavior. import { missingTargetError } from "openclaw/plugin-sdk/channel-feedback"; import { normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime"; import { diff --git a/extensions/whatsapp/src/resolve-target.test.ts b/extensions/whatsapp/src/resolve-target.test.ts index ae7c15d00597..112c6ae8dbd4 100644 --- a/extensions/whatsapp/src/resolve-target.test.ts +++ b/extensions/whatsapp/src/resolve-target.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover resolve target plugin behavior. import { describe, expect, it } from "vitest"; import { isWhatsAppGroupJid, diff --git a/extensions/whatsapp/src/runtime-api.ts b/extensions/whatsapp/src/runtime-api.ts index ccfed16c7981..f4fd1fc0e350 100644 --- a/extensions/whatsapp/src/runtime-api.ts +++ b/extensions/whatsapp/src/runtime-api.ts @@ -1,3 +1,4 @@ +// Whatsapp API module exposes the plugin public contract. export { getChatChannelMeta, type ChannelPlugin } from "openclaw/plugin-sdk/core"; export { buildChannelConfigSchema, WhatsAppConfigSchema } from "../config-api.js"; export { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/account-id"; diff --git a/extensions/whatsapp/src/runtime-group-policy.ts b/extensions/whatsapp/src/runtime-group-policy.ts index ddf2ef86fe68..15ddee126644 100644 --- a/extensions/whatsapp/src/runtime-group-policy.ts +++ b/extensions/whatsapp/src/runtime-group-policy.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements runtime group policy behavior. import { resolveOpenProviderRuntimeGroupPolicy } from "openclaw/plugin-sdk/runtime-group-policy"; export function resolveWhatsAppRuntimeGroupPolicy(params: { diff --git a/extensions/whatsapp/src/runtime.ts b/extensions/whatsapp/src/runtime.ts index af7266bc3fe5..217534972a31 100644 --- a/extensions/whatsapp/src/runtime.ts +++ b/extensions/whatsapp/src/runtime.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements runtime behavior. import type { PluginRuntime } from "openclaw/plugin-sdk/core"; import { createPluginRuntimeStore } from "openclaw/plugin-sdk/runtime-store"; diff --git a/extensions/whatsapp/src/security-contract.ts b/extensions/whatsapp/src/security-contract.ts index b890591bfb2e..e4e4fffede2d 100644 --- a/extensions/whatsapp/src/security-contract.ts +++ b/extensions/whatsapp/src/security-contract.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements security contract behavior. import { isRecord } from "openclaw/plugin-sdk/string-coerce-runtime"; type UnsupportedSecretRefConfigCandidate = { diff --git a/extensions/whatsapp/src/security-fix.ts b/extensions/whatsapp/src/security-fix.ts index 7a9b587acbdf..6c165f49a66a 100644 --- a/extensions/whatsapp/src/security-fix.ts +++ b/extensions/whatsapp/src/security-fix.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements security fix behavior. import { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/account-id"; import type { ChannelDoctorConfigMutation } from "openclaw/plugin-sdk/channel-contract"; import { readChannelAllowFromStore } from "openclaw/plugin-sdk/channel-pairing"; diff --git a/extensions/whatsapp/src/send.test.ts b/extensions/whatsapp/src/send.test.ts index e3997bafd90a..371e15b3ecf7 100644 --- a/extensions/whatsapp/src/send.test.ts +++ b/extensions/whatsapp/src/send.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover send plugin behavior. import crypto from "node:crypto"; import fsSync from "node:fs"; import os from "node:os"; diff --git a/extensions/whatsapp/src/send.ts b/extensions/whatsapp/src/send.ts index 4f6db4e94b3b..b2b5c3c1ac10 100644 --- a/extensions/whatsapp/src/send.ts +++ b/extensions/whatsapp/src/send.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements send behavior. import { formatCliCommand } from "openclaw/plugin-sdk/cli-runtime"; import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; import { generateSecureUuid } from "openclaw/plugin-sdk/core"; diff --git a/extensions/whatsapp/src/session-contract.test.ts b/extensions/whatsapp/src/session-contract.test.ts index 03fe2be8675f..06dc2e345892 100644 --- a/extensions/whatsapp/src/session-contract.test.ts +++ b/extensions/whatsapp/src/session-contract.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover session contract plugin behavior. import { describe, expect, it } from "vitest"; import { canonicalizeLegacySessionKey, diff --git a/extensions/whatsapp/src/session-contract.ts b/extensions/whatsapp/src/session-contract.ts index e5c3d4fc7514..a382b62fbc79 100644 --- a/extensions/whatsapp/src/session-contract.ts +++ b/extensions/whatsapp/src/session-contract.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements session contract behavior. import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime"; function extractLegacyWhatsAppGroupId(key: string): string | null { diff --git a/extensions/whatsapp/src/session-errors.ts b/extensions/whatsapp/src/session-errors.ts index 6ab13e129e44..5898190ce444 100644 --- a/extensions/whatsapp/src/session-errors.ts +++ b/extensions/whatsapp/src/session-errors.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements session errors behavior. function safeStringify(value: unknown, limit = 800): string { try { const seen = new WeakSet(); diff --git a/extensions/whatsapp/src/session-route.test.ts b/extensions/whatsapp/src/session-route.test.ts index f2be88627b5b..27e94f353af9 100644 --- a/extensions/whatsapp/src/session-route.test.ts +++ b/extensions/whatsapp/src/session-route.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover session route plugin behavior. import { describe, expect, it } from "vitest"; import { resolveWhatsAppOutboundSessionRoute } from "./session-route.js"; diff --git a/extensions/whatsapp/src/session-route.ts b/extensions/whatsapp/src/session-route.ts index 85460cb0e693..3fcd68d643e1 100644 --- a/extensions/whatsapp/src/session-route.ts +++ b/extensions/whatsapp/src/session-route.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements session route behavior. import { buildChannelOutboundSessionRoute, type ChannelOutboundSessionRouteParams, diff --git a/extensions/whatsapp/src/session.runtime.ts b/extensions/whatsapp/src/session.runtime.ts index d0bc9801b978..d43fd4326d87 100644 --- a/extensions/whatsapp/src/session.runtime.ts +++ b/extensions/whatsapp/src/session.runtime.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements session behavior. export { BufferJSON, DisconnectReason, diff --git a/extensions/whatsapp/src/session.test.ts b/extensions/whatsapp/src/session.test.ts index 7cc29b7a1435..92613cf19f51 100644 --- a/extensions/whatsapp/src/session.test.ts +++ b/extensions/whatsapp/src/session.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover session plugin behavior. import { EventEmitter } from "node:events"; import fsSync from "node:fs"; import fs from "node:fs/promises"; diff --git a/extensions/whatsapp/src/session.ts b/extensions/whatsapp/src/session.ts index 98b6aaa5b653..7f8101165cd8 100644 --- a/extensions/whatsapp/src/session.ts +++ b/extensions/whatsapp/src/session.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements session behavior. import { randomUUID } from "node:crypto"; import type { Agent } from "node:https"; import { formatCliCommand } from "openclaw/plugin-sdk/cli-runtime"; diff --git a/extensions/whatsapp/src/setup-core.ts b/extensions/whatsapp/src/setup-core.ts index e7a11eedbf6b..7b31ee248f4f 100644 --- a/extensions/whatsapp/src/setup-core.ts +++ b/extensions/whatsapp/src/setup-core.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements setup core behavior. import { applyAccountNameToChannelSection, type ChannelSetupAdapter, diff --git a/extensions/whatsapp/src/setup-finalize.ts b/extensions/whatsapp/src/setup-finalize.ts index 9449565ab06d..20c739b033fe 100644 --- a/extensions/whatsapp/src/setup-finalize.ts +++ b/extensions/whatsapp/src/setup-finalize.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements setup finalize behavior. import { DEFAULT_ACCOUNT_ID, splitSetupEntries, diff --git a/extensions/whatsapp/src/setup-surface.test.ts b/extensions/whatsapp/src/setup-surface.test.ts index 967f64145554..bdd714e68760 100644 --- a/extensions/whatsapp/src/setup-surface.test.ts +++ b/extensions/whatsapp/src/setup-surface.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover setup surface plugin behavior. import { createPluginSetupWizardStatus, createQueuedWizardPrompter, diff --git a/extensions/whatsapp/src/setup-surface.ts b/extensions/whatsapp/src/setup-surface.ts index 3f72f8c38615..8f2d094f46e0 100644 --- a/extensions/whatsapp/src/setup-surface.ts +++ b/extensions/whatsapp/src/setup-surface.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements setup surface behavior. import type { ChannelSetupWizard } from "openclaw/plugin-sdk/setup"; import { DEFAULT_ACCOUNT_ID, diff --git a/extensions/whatsapp/src/setup-test-helpers.ts b/extensions/whatsapp/src/setup-test-helpers.ts index 23d2c9959ab4..d59730cae2d7 100644 --- a/extensions/whatsapp/src/setup-test-helpers.ts +++ b/extensions/whatsapp/src/setup-test-helpers.ts @@ -1,3 +1,4 @@ +// Whatsapp helper module supports setup test helpers behavior. import { expect } from "vitest"; type WhatsAppSetupConfig = { diff --git a/extensions/whatsapp/src/shared.ts b/extensions/whatsapp/src/shared.ts index 02082c177d32..c0b8591be2de 100644 --- a/extensions/whatsapp/src/shared.ts +++ b/extensions/whatsapp/src/shared.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements shared behavior. import { describeAccountSnapshot } from "openclaw/plugin-sdk/account-helpers"; import { normalizeE164 } from "openclaw/plugin-sdk/account-resolution"; import { diff --git a/extensions/whatsapp/src/socket-timing.test.ts b/extensions/whatsapp/src/socket-timing.test.ts index 691fe69b20e5..7da06e0c9b89 100644 --- a/extensions/whatsapp/src/socket-timing.test.ts +++ b/extensions/whatsapp/src/socket-timing.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover socket timing plugin behavior. import { describe, expect, it } from "vitest"; import { DEFAULT_WHATSAPP_SOCKET_TIMING, resolveWhatsAppSocketTiming } from "./socket-timing.js"; diff --git a/extensions/whatsapp/src/socket-timing.ts b/extensions/whatsapp/src/socket-timing.ts index eff84a5950a8..7c89748ddda9 100644 --- a/extensions/whatsapp/src/socket-timing.ts +++ b/extensions/whatsapp/src/socket-timing.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements socket timing behavior. import type { OpenClawConfig } from "openclaw/plugin-sdk/config-contracts"; export type WhatsAppSocketTimingOptions = { diff --git a/extensions/whatsapp/src/state-migrations.ts b/extensions/whatsapp/src/state-migrations.ts index 3c869bc4fd14..6e76531253bf 100644 --- a/extensions/whatsapp/src/state-migrations.ts +++ b/extensions/whatsapp/src/state-migrations.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements state migrations behavior. import fs from "node:fs"; import path from "node:path"; import { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/account-id"; diff --git a/extensions/whatsapp/src/status-issues.test.ts b/extensions/whatsapp/src/status-issues.test.ts index b4bcd92551be..8e158e7ac337 100644 --- a/extensions/whatsapp/src/status-issues.test.ts +++ b/extensions/whatsapp/src/status-issues.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover status issues plugin behavior. import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; import { collectWhatsAppStatusIssues } from "./status-issues.js"; diff --git a/extensions/whatsapp/src/status-issues.ts b/extensions/whatsapp/src/status-issues.ts index 1511ca10dfee..5fc62937f3d5 100644 --- a/extensions/whatsapp/src/status-issues.ts +++ b/extensions/whatsapp/src/status-issues.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements status issues behavior. import type { ChannelAccountSnapshot, ChannelStatusIssue, diff --git a/extensions/whatsapp/src/system-prompt.test.ts b/extensions/whatsapp/src/system-prompt.test.ts index a225429df8c9..b6b465829b6f 100644 --- a/extensions/whatsapp/src/system-prompt.test.ts +++ b/extensions/whatsapp/src/system-prompt.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover system prompt plugin behavior. import { describe, expect, it } from "vitest"; import { resolveWhatsAppDirectSystemPrompt, diff --git a/extensions/whatsapp/src/system-prompt.ts b/extensions/whatsapp/src/system-prompt.ts index da8584a3d969..2cd3a9e79592 100644 --- a/extensions/whatsapp/src/system-prompt.ts +++ b/extensions/whatsapp/src/system-prompt.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements system prompt behavior. export function resolveWhatsAppGroupSystemPrompt(params: { accountConfig?: { groups?: Record } | null; groupId?: string | null; diff --git a/extensions/whatsapp/src/targets-runtime.ts b/extensions/whatsapp/src/targets-runtime.ts index 04ba8a216b64..5a476bcf448e 100644 --- a/extensions/whatsapp/src/targets-runtime.ts +++ b/extensions/whatsapp/src/targets-runtime.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements targets runtime behavior. import fs from "node:fs"; import path from "node:path"; import { normalizeE164 } from "openclaw/plugin-sdk/account-resolution"; diff --git a/extensions/whatsapp/src/test-helpers.ts b/extensions/whatsapp/src/test-helpers.ts index 4514bdefb5db..8f67afbeed59 100644 --- a/extensions/whatsapp/src/test-helpers.ts +++ b/extensions/whatsapp/src/test-helpers.ts @@ -1,3 +1,4 @@ +// Whatsapp helper module supports test helpers behavior. import fsSync from "node:fs"; import fs from "node:fs/promises"; import path from "node:path"; diff --git a/extensions/whatsapp/src/text-runtime.test.ts b/extensions/whatsapp/src/text-runtime.test.ts index 1539c2a856a9..f1e48623e72f 100644 --- a/extensions/whatsapp/src/text-runtime.test.ts +++ b/extensions/whatsapp/src/text-runtime.test.ts @@ -1,3 +1,4 @@ +// Whatsapp tests cover text runtime plugin behavior. import fs from "node:fs"; import os from "node:os"; import path from "node:path"; diff --git a/extensions/whatsapp/src/text-runtime.ts b/extensions/whatsapp/src/text-runtime.ts index 44a1feee9cca..3c7dac32d44c 100644 --- a/extensions/whatsapp/src/text-runtime.ts +++ b/extensions/whatsapp/src/text-runtime.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements text runtime behavior. export { convertMarkdownTables, sanitizeAssistantVisibleText, diff --git a/extensions/whatsapp/src/vcard.ts b/extensions/whatsapp/src/vcard.ts index d5f46c06b926..9a7f2ed0582c 100644 --- a/extensions/whatsapp/src/vcard.ts +++ b/extensions/whatsapp/src/vcard.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements vcard behavior. import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime"; type ParsedVcard = { diff --git a/extensions/whatsapp/targets.ts b/extensions/whatsapp/targets.ts index b2c52015fbff..0ad1f94a94e4 100644 --- a/extensions/whatsapp/targets.ts +++ b/extensions/whatsapp/targets.ts @@ -1,3 +1,4 @@ +// Whatsapp plugin module implements targets behavior. export { isWhatsAppGroupJid, isWhatsAppUserTarget, diff --git a/extensions/whatsapp/test-api.ts b/extensions/whatsapp/test-api.ts index bfea8434f957..d70be9de47c1 100644 --- a/extensions/whatsapp/test-api.ts +++ b/extensions/whatsapp/test-api.ts @@ -1,2 +1,3 @@ +// Whatsapp API module exposes the plugin public contract. export { whatsappOutbound } from "./src/outbound-adapter.js"; export { resolveWhatsAppRuntimeGroupPolicy } from "./src/runtime-group-policy.js";