diff --git a/scripts/e2e/kitchen-sink-rpc-walk.mjs b/scripts/e2e/kitchen-sink-rpc-walk.mjs index 563de9db557a..6c9f3e826fed 100644 --- a/scripts/e2e/kitchen-sink-rpc-walk.mjs +++ b/scripts/e2e/kitchen-sink-rpc-walk.mjs @@ -1,3 +1,4 @@ +// Walks the kitchen-sink gateway RPC scenario for E2E smoke coverage. import childProcess from "node:child_process"; import fs from "node:fs"; import os from "node:os"; diff --git a/scripts/e2e/lib/agent-turn-output.mjs b/scripts/e2e/lib/agent-turn-output.mjs index 14d6bc70a358..2fd16b9ca594 100644 --- a/scripts/e2e/lib/agent-turn-output.mjs +++ b/scripts/e2e/lib/agent-turn-output.mjs @@ -1,3 +1,4 @@ +// Helpers for extracting agent turn output from E2E protocol events. import fs from "node:fs"; import { readTextFileTail, tailText } from "./text-file-utils.mjs"; diff --git a/scripts/e2e/lib/bounded-response-text.mjs b/scripts/e2e/lib/bounded-response-text.mjs index d9e5f5a724c5..5256040a1ce5 100644 --- a/scripts/e2e/lib/bounded-response-text.mjs +++ b/scripts/e2e/lib/bounded-response-text.mjs @@ -1,3 +1,4 @@ +// Bounded response body reader used by E2E HTTP fixture clients. function bodyTooLargeError(label, byteLimit) { return Object.assign(new Error(`${label} response body exceeded ${byteLimit} bytes`), { code: "ETOOBIG", diff --git a/scripts/e2e/lib/browser-cdp-snapshot/assert-snapshot.mjs b/scripts/e2e/lib/browser-cdp-snapshot/assert-snapshot.mjs index 1cf13405b584..fbc2f03cbf07 100644 --- a/scripts/e2e/lib/browser-cdp-snapshot/assert-snapshot.mjs +++ b/scripts/e2e/lib/browser-cdp-snapshot/assert-snapshot.mjs @@ -1,3 +1,4 @@ +// Assertions for browser CDP snapshot E2E fixtures. import fs from "node:fs"; const snapshotPath = process.argv[2] ?? "/tmp/browser-cdp-snapshot.txt"; diff --git a/scripts/e2e/lib/browser-cdp-snapshot/fixture-server.mjs b/scripts/e2e/lib/browser-cdp-snapshot/fixture-server.mjs index 9b59b33cc794..1e5d90e2235e 100644 --- a/scripts/e2e/lib/browser-cdp-snapshot/fixture-server.mjs +++ b/scripts/e2e/lib/browser-cdp-snapshot/fixture-server.mjs @@ -1,3 +1,4 @@ +// Fixture HTTP server for browser CDP snapshot E2E scenarios. import http from "node:http"; import { readPositiveIntEnv } from "../env-limits.mjs"; diff --git a/scripts/e2e/lib/bun-global-install/assertions.mjs b/scripts/e2e/lib/bun-global-install/assertions.mjs index 9934528c8a91..ef0fce30939f 100644 --- a/scripts/e2e/lib/bun-global-install/assertions.mjs +++ b/scripts/e2e/lib/bun-global-install/assertions.mjs @@ -1,3 +1,4 @@ +// Assertions for Bun global install E2E validation. import { spawn } from "node:child_process"; const DEFAULT_TIMEOUT_KILL_GRACE_MS = 30_000; diff --git a/scripts/e2e/lib/bundled-plugin-install-uninstall/probe.mjs b/scripts/e2e/lib/bundled-plugin-install-uninstall/probe.mjs index f0f763e46d48..82d22fb927f1 100644 --- a/scripts/e2e/lib/bundled-plugin-install-uninstall/probe.mjs +++ b/scripts/e2e/lib/bundled-plugin-install-uninstall/probe.mjs @@ -1,3 +1,4 @@ +// Probe script for bundled plugin install/uninstall E2E scenarios. import { spawnSync } from "node:child_process"; import fs from "node:fs"; import os from "node:os"; diff --git a/scripts/e2e/lib/bundled-plugin-install-uninstall/runtime-smoke.mjs b/scripts/e2e/lib/bundled-plugin-install-uninstall/runtime-smoke.mjs index 77aa970a75df..a4a577a65db5 100644 --- a/scripts/e2e/lib/bundled-plugin-install-uninstall/runtime-smoke.mjs +++ b/scripts/e2e/lib/bundled-plugin-install-uninstall/runtime-smoke.mjs @@ -1,3 +1,4 @@ +// Runtime smoke script for bundled plugin install/uninstall E2E validation. import childProcess from "node:child_process"; import fs from "node:fs"; import os from "node:os"; diff --git a/scripts/e2e/lib/clawhub-fixture-server.cjs b/scripts/e2e/lib/clawhub-fixture-server.cjs index ca8d5df9ba10..8b4adb359c60 100644 --- a/scripts/e2e/lib/clawhub-fixture-server.cjs +++ b/scripts/e2e/lib/clawhub-fixture-server.cjs @@ -1,3 +1,4 @@ +// CommonJS fixture server for ClawHub package/install E2E scenarios. const crypto = require("node:crypto"); const fs = require("node:fs"); const http = require("node:http"); diff --git a/scripts/e2e/lib/codex-install-utils.mjs b/scripts/e2e/lib/codex-install-utils.mjs index 9040fa138c50..fdd68a4d5a84 100644 --- a/scripts/e2e/lib/codex-install-utils.mjs +++ b/scripts/e2e/lib/codex-install-utils.mjs @@ -1,3 +1,4 @@ +// Shared Codex plugin install helpers for E2E scenarios. import fs from "node:fs"; import path from "node:path"; import { readJson } from "./fixtures/common.mjs"; diff --git a/scripts/e2e/lib/codex-media-path/client.mjs b/scripts/e2e/lib/codex-media-path/client.mjs index 19bc2ad01d31..9e25d518f73b 100644 --- a/scripts/e2e/lib/codex-media-path/client.mjs +++ b/scripts/e2e/lib/codex-media-path/client.mjs @@ -1,3 +1,4 @@ +// Client helpers for Codex media-path E2E fixtures. import { createHash, randomBytes, randomUUID } from "node:crypto"; import { setTimeout as delay } from "node:timers/promises"; import { PROTOCOL_VERSION } from "../../../../dist/gateway/protocol/index.js"; diff --git a/scripts/e2e/lib/codex-media-path/fake-codex-app-server.mjs b/scripts/e2e/lib/codex-media-path/fake-codex-app-server.mjs index daf2bb3f12e1..38053df23954 100644 --- a/scripts/e2e/lib/codex-media-path/fake-codex-app-server.mjs +++ b/scripts/e2e/lib/codex-media-path/fake-codex-app-server.mjs @@ -1,3 +1,4 @@ +// Fake Codex app server used by media-path E2E scenarios. import fs from "node:fs"; import readline from "node:readline"; diff --git a/scripts/e2e/lib/codex-media-path/jsonl-request-tail.mjs b/scripts/e2e/lib/codex-media-path/jsonl-request-tail.mjs index f552c00b1eab..84fea566734e 100644 --- a/scripts/e2e/lib/codex-media-path/jsonl-request-tail.mjs +++ b/scripts/e2e/lib/codex-media-path/jsonl-request-tail.mjs @@ -1,3 +1,4 @@ +// Tails JSONL request logs for Codex media-path E2E assertions. import { createIncrementalLineReader, resolvePositiveInteger, diff --git a/scripts/e2e/lib/codex-media-path/limits.mjs b/scripts/e2e/lib/codex-media-path/limits.mjs index 5da8849dd71b..ff0f2e6d4fb0 100644 --- a/scripts/e2e/lib/codex-media-path/limits.mjs +++ b/scripts/e2e/lib/codex-media-path/limits.mjs @@ -1,3 +1,4 @@ +// Limits shared by Codex media-path E2E fixtures. export function readPositiveIntEnv(name, fallback, env = process.env) { const text = String(env[name] ?? fallback).trim(); if (!/^\d+$/u.test(text)) { diff --git a/scripts/e2e/lib/codex-media-path/write-config.mjs b/scripts/e2e/lib/codex-media-path/write-config.mjs index 2a25f06f26d9..a7a5e9df15a7 100644 --- a/scripts/e2e/lib/codex-media-path/write-config.mjs +++ b/scripts/e2e/lib/codex-media-path/write-config.mjs @@ -1,3 +1,4 @@ +// Writes config fixtures for Codex media-path E2E scenarios. import fs from "node:fs"; import path from "node:path"; import { readPositiveIntEnv } from "./limits.mjs"; diff --git a/scripts/e2e/lib/codex-npm-plugin-live/assertions.mjs b/scripts/e2e/lib/codex-npm-plugin-live/assertions.mjs index 116a1223cd34..87f1df14fc2b 100644 --- a/scripts/e2e/lib/codex-npm-plugin-live/assertions.mjs +++ b/scripts/e2e/lib/codex-npm-plugin-live/assertions.mjs @@ -1,3 +1,4 @@ +// Assertions for Codex npm plugin live E2E scenarios. import fs from "node:fs"; import path from "node:path"; import { diff --git a/scripts/e2e/lib/codex-on-demand/assertions.mjs b/scripts/e2e/lib/codex-on-demand/assertions.mjs index 21b41487e517..5750f6d0fb5b 100644 --- a/scripts/e2e/lib/codex-on-demand/assertions.mjs +++ b/scripts/e2e/lib/codex-on-demand/assertions.mjs @@ -1,3 +1,4 @@ +// Assertions for Codex on-demand plugin E2E scenarios. import fs from "node:fs"; import path from "node:path"; import { DatabaseSync } from "node:sqlite"; diff --git a/scripts/e2e/lib/config-reload/assert-log.mjs b/scripts/e2e/lib/config-reload/assert-log.mjs index fe60df49006d..c702364b8f10 100644 --- a/scripts/e2e/lib/config-reload/assert-log.mjs +++ b/scripts/e2e/lib/config-reload/assert-log.mjs @@ -1,3 +1,4 @@ +// Log assertions for config reload E2E scenarios. import { readPositiveIntEnv } from "../env-limits.mjs"; import { createConfigReloadLogScanner } from "./log-scanner.mjs"; diff --git a/scripts/e2e/lib/config-reload/log-scanner.mjs b/scripts/e2e/lib/config-reload/log-scanner.mjs index 4c38c3563138..6a658ca63fff 100644 --- a/scripts/e2e/lib/config-reload/log-scanner.mjs +++ b/scripts/e2e/lib/config-reload/log-scanner.mjs @@ -1,3 +1,4 @@ +// Streaming log scanner for config reload E2E scenarios. import { createIncrementalLineReader, resolvePositiveInteger, diff --git a/scripts/e2e/lib/config-reload/mutate-metadata.mjs b/scripts/e2e/lib/config-reload/mutate-metadata.mjs index bf90bd60d609..4f39855554a1 100644 --- a/scripts/e2e/lib/config-reload/mutate-metadata.mjs +++ b/scripts/e2e/lib/config-reload/mutate-metadata.mjs @@ -1,3 +1,4 @@ +// Mutates plugin metadata fixtures for config reload E2E scenarios. import fs from "node:fs"; const configPath = process.env.OPENCLAW_CONFIG_PATH; diff --git a/scripts/e2e/lib/docker-stats/assert-resource-ceiling.mjs b/scripts/e2e/lib/docker-stats/assert-resource-ceiling.mjs index 4e9e56b62021..710d80e0394a 100644 --- a/scripts/e2e/lib/docker-stats/assert-resource-ceiling.mjs +++ b/scripts/e2e/lib/docker-stats/assert-resource-ceiling.mjs @@ -1,3 +1,4 @@ +// Resource ceiling assertions for Docker E2E stats output. import fs from "node:fs"; import { createInterface } from "node:readline"; diff --git a/scripts/e2e/lib/doctor-install-switch/write-wrapper.mjs b/scripts/e2e/lib/doctor-install-switch/write-wrapper.mjs index 265abc72f5fb..167bbec52a93 100644 --- a/scripts/e2e/lib/doctor-install-switch/write-wrapper.mjs +++ b/scripts/e2e/lib/doctor-install-switch/write-wrapper.mjs @@ -1,4 +1,5 @@ #!/usr/bin/env node +// Writes wrapper scripts for doctor install-switch E2E scenarios. import fs from "node:fs"; const [wrapperPath, npmBin, logPath = `${process.env.HOME}/openclaw-wrapper-argv.log`] = diff --git a/scripts/e2e/lib/env-limits.mjs b/scripts/e2e/lib/env-limits.mjs index 92ce5a855afc..bf4f3c14c991 100644 --- a/scripts/e2e/lib/env-limits.mjs +++ b/scripts/e2e/lib/env-limits.mjs @@ -1,3 +1,4 @@ +// Environment limit helpers for E2E subprocess scenarios. export function readPositiveIntEnv(name, fallback, env = process.env) { const raw = env[name] ?? fallback; const text = raw == null ? "unset" : String(raw).trim(); diff --git a/scripts/e2e/lib/fixture.mjs b/scripts/e2e/lib/fixture.mjs index 4cb8a9a91bc8..7307b66b9a08 100644 --- a/scripts/e2e/lib/fixture.mjs +++ b/scripts/e2e/lib/fixture.mjs @@ -1,3 +1,4 @@ +// Shared command fixture dispatcher for E2E scripts. import { configCommands } from "./fixtures/config.mjs"; import { pluginCommands } from "./fixtures/plugins.mjs"; import { workspaceCommands } from "./fixtures/workspace.mjs"; diff --git a/scripts/e2e/lib/fixtures/common.mjs b/scripts/e2e/lib/fixtures/common.mjs index dd7113baa8ec..9673d044ca83 100644 --- a/scripts/e2e/lib/fixtures/common.mjs +++ b/scripts/e2e/lib/fixtures/common.mjs @@ -1,3 +1,4 @@ +// Common file/assertion helpers for E2E fixture writers. import fs from "node:fs"; import path from "node:path"; diff --git a/scripts/e2e/lib/fixtures/config.mjs b/scripts/e2e/lib/fixtures/config.mjs index 80180aac4bad..0582773a9ec9 100644 --- a/scripts/e2e/lib/fixtures/config.mjs +++ b/scripts/e2e/lib/fixtures/config.mjs @@ -1,3 +1,4 @@ +// Config fixture writer commands for E2E scenarios. import path from "node:path"; import { requireArg, writeJson } from "./common.mjs"; diff --git a/scripts/e2e/lib/fixtures/mock-openai-config.mjs b/scripts/e2e/lib/fixtures/mock-openai-config.mjs index 1908a121eff0..b55520505ed6 100644 --- a/scripts/e2e/lib/fixtures/mock-openai-config.mjs +++ b/scripts/e2e/lib/fixtures/mock-openai-config.mjs @@ -1,3 +1,4 @@ +// Mock OpenAI model config helpers for E2E fixture generation. export function applyMockOpenAiModelConfig(cfg, params) { const modelRef = params.modelRef ?? "openai/gpt-5.5"; const modelId = modelRef.split("/").at(-1) ?? "gpt-5.5"; diff --git a/scripts/e2e/lib/fixtures/plugins.mjs b/scripts/e2e/lib/fixtures/plugins.mjs index 0217d7e6c436..7f212712455e 100644 --- a/scripts/e2e/lib/fixtures/plugins.mjs +++ b/scripts/e2e/lib/fixtures/plugins.mjs @@ -1,3 +1,4 @@ +// Plugin fixture writer commands for E2E scenarios. import path from "node:path"; import { requireArg, write, writeJson } from "./common.mjs"; diff --git a/scripts/e2e/lib/fixtures/workspace.mjs b/scripts/e2e/lib/fixtures/workspace.mjs index 712a90fc0a25..eb6f27913518 100644 --- a/scripts/e2e/lib/fixtures/workspace.mjs +++ b/scripts/e2e/lib/fixtures/workspace.mjs @@ -1,3 +1,4 @@ +// Workspace fixture writer commands for E2E scenarios. import fs from "node:fs"; import path from "node:path"; import { assert, readJson, requireArg, write, writeJson } from "./common.mjs"; diff --git a/scripts/e2e/lib/gateway-frame-payload.mjs b/scripts/e2e/lib/gateway-frame-payload.mjs index 6668ebe7ab01..a20cd2b9d7e0 100644 --- a/scripts/e2e/lib/gateway-frame-payload.mjs +++ b/scripts/e2e/lib/gateway-frame-payload.mjs @@ -1,3 +1,4 @@ +// Gateway frame payload helpers for E2E WebSocket assertions. function hasOwnEnvelopeField(frame, field) { return ( ((typeof frame === "object" && frame !== null) || typeof frame === "function") && diff --git a/scripts/e2e/lib/gateway-network/client.mjs b/scripts/e2e/lib/gateway-network/client.mjs index 0ff784dd063b..27e2b3d8b512 100644 --- a/scripts/e2e/lib/gateway-network/client.mjs +++ b/scripts/e2e/lib/gateway-network/client.mjs @@ -1,3 +1,4 @@ +// WebSocket client helpers for gateway network E2E scenarios. import { WebSocket } from "ws"; import { PROTOCOL_VERSION } from "../../../../dist/gateway/protocol/index.js"; import { waitForWebSocketOpen } from "../websocket-open.mjs"; diff --git a/scripts/e2e/lib/gateway-network/limits.mjs b/scripts/e2e/lib/gateway-network/limits.mjs index 12fa2392829c..8489bf80d295 100644 --- a/scripts/e2e/lib/gateway-network/limits.mjs +++ b/scripts/e2e/lib/gateway-network/limits.mjs @@ -1,3 +1,4 @@ +// Limits shared by gateway network E2E fixtures. function readPositiveIntEnv(name, fallback, env) { const text = String(env[name] ?? fallback).trim(); if (!/^\d+$/u.test(text)) { diff --git a/scripts/e2e/lib/gateway-network/ws-frames.mjs b/scripts/e2e/lib/gateway-network/ws-frames.mjs index 95c6b579f85f..e581c03097ee 100644 --- a/scripts/e2e/lib/gateway-network/ws-frames.mjs +++ b/scripts/e2e/lib/gateway-network/ws-frames.mjs @@ -1,3 +1,4 @@ +// WebSocket frame helpers for gateway network E2E fixtures. function formatCloseValue(value) { if (value === undefined || value === null) { return ""; diff --git a/scripts/e2e/lib/incremental-line-reader.mjs b/scripts/e2e/lib/incremental-line-reader.mjs index 427b162cc061..0e4c513f0d9d 100644 --- a/scripts/e2e/lib/incremental-line-reader.mjs +++ b/scripts/e2e/lib/incremental-line-reader.mjs @@ -1,3 +1,4 @@ +// Incremental line reader for streaming E2E logs. import { createHash } from "node:crypto"; import fs from "node:fs"; diff --git a/scripts/e2e/lib/kitchen-sink-plugin/assertions.mjs b/scripts/e2e/lib/kitchen-sink-plugin/assertions.mjs index 129670f69226..7c710e23b73b 100644 --- a/scripts/e2e/lib/kitchen-sink-plugin/assertions.mjs +++ b/scripts/e2e/lib/kitchen-sink-plugin/assertions.mjs @@ -1,3 +1,4 @@ +// Assertions for kitchen-sink plugin E2E scenarios. import fs from "node:fs"; import os from "node:os"; import path from "node:path"; diff --git a/scripts/e2e/lib/live-plugin-tool/assertions.mjs b/scripts/e2e/lib/live-plugin-tool/assertions.mjs index 9ba6650f6673..5e9338388259 100644 --- a/scripts/e2e/lib/live-plugin-tool/assertions.mjs +++ b/scripts/e2e/lib/live-plugin-tool/assertions.mjs @@ -1,3 +1,4 @@ +// Assertions for live plugin tool E2E scenarios. import fs from "node:fs"; import path from "node:path"; import { readPluginInstallRecords } from "../plugin-index-sqlite.mjs"; diff --git a/scripts/e2e/lib/mock-openai-http.mjs b/scripts/e2e/lib/mock-openai-http.mjs index 59a9dfa4a2c3..be1c64394cb1 100644 --- a/scripts/e2e/lib/mock-openai-http.mjs +++ b/scripts/e2e/lib/mock-openai-http.mjs @@ -1,3 +1,4 @@ +// Mock OpenAI-compatible HTTP server helpers for E2E scenarios. import fs from "node:fs"; import { readPositiveIntEnv } from "./env-limits.mjs"; diff --git a/scripts/e2e/lib/npm-onboard-channel-agent/assertions.mjs b/scripts/e2e/lib/npm-onboard-channel-agent/assertions.mjs index b753a096e7a3..7c5c00e41d7a 100644 --- a/scripts/e2e/lib/npm-onboard-channel-agent/assertions.mjs +++ b/scripts/e2e/lib/npm-onboard-channel-agent/assertions.mjs @@ -1,3 +1,4 @@ +// Assertions for npm onboard channel-agent E2E scenarios. import fs from "node:fs"; import path from "node:path"; import { DatabaseSync } from "node:sqlite"; diff --git a/scripts/e2e/lib/npm-telegram-live/prepare-package.mjs b/scripts/e2e/lib/npm-telegram-live/prepare-package.mjs index 7b9c7825f3b8..318ff7d76365 100644 --- a/scripts/e2e/lib/npm-telegram-live/prepare-package.mjs +++ b/scripts/e2e/lib/npm-telegram-live/prepare-package.mjs @@ -1,3 +1,4 @@ +// Prepares package manifests for npm Telegram live E2E scenarios. import fs from "node:fs"; for (const packageJsonPath of process.argv.slice(2)) { diff --git a/scripts/e2e/lib/onboard/assert-config.mjs b/scripts/e2e/lib/onboard/assert-config.mjs index 0484a3cb60d2..442948c4bbbc 100644 --- a/scripts/e2e/lib/onboard/assert-config.mjs +++ b/scripts/e2e/lib/onboard/assert-config.mjs @@ -1,3 +1,4 @@ +// Config assertions for onboard E2E scenarios. import fs from "node:fs"; import JSON5 from "json5"; diff --git a/scripts/e2e/lib/onboard/log-contains.mjs b/scripts/e2e/lib/onboard/log-contains.mjs index f8e34ef9dcc5..3fc79fc82a12 100644 --- a/scripts/e2e/lib/onboard/log-contains.mjs +++ b/scripts/e2e/lib/onboard/log-contains.mjs @@ -1,3 +1,4 @@ +// Log substring assertion helper for onboard E2E scenarios. import fs from "node:fs"; const [file, needle] = process.argv.slice(2); diff --git a/scripts/e2e/lib/onboard/write-config.mjs b/scripts/e2e/lib/onboard/write-config.mjs index f4c8cea29d1b..d77996b4fd4d 100644 --- a/scripts/e2e/lib/onboard/write-config.mjs +++ b/scripts/e2e/lib/onboard/write-config.mjs @@ -1,3 +1,4 @@ +// Config writer helper for onboard E2E scenarios. import fs from "node:fs"; const [scenario, configPath] = process.argv.slice(2); diff --git a/scripts/e2e/lib/openai-chat-tools/client.mjs b/scripts/e2e/lib/openai-chat-tools/client.mjs index 428f7d380bcb..d7cb7dd82995 100644 --- a/scripts/e2e/lib/openai-chat-tools/client.mjs +++ b/scripts/e2e/lib/openai-chat-tools/client.mjs @@ -1,3 +1,4 @@ +// Gateway client for OpenAI chat tools E2E scenarios. const port = process.env.PORT; const token = process.env.OPENCLAW_GATEWAY_TOKEN; const backendModel = process.env.MODEL_REF || "openai/gpt-5.4-mini"; diff --git a/scripts/e2e/lib/openai-chat-tools/write-config.mjs b/scripts/e2e/lib/openai-chat-tools/write-config.mjs index 3a4e9f455ce6..c7f0e81cdd1d 100644 --- a/scripts/e2e/lib/openai-chat-tools/write-config.mjs +++ b/scripts/e2e/lib/openai-chat-tools/write-config.mjs @@ -1,3 +1,4 @@ +// Config writer for OpenAI chat tools E2E scenarios. import fs from "node:fs"; import path from "node:path"; diff --git a/scripts/e2e/lib/openai-web-search-minimal/assertions.mjs b/scripts/e2e/lib/openai-web-search-minimal/assertions.mjs index 2427715270c4..8ac4a8add17c 100644 --- a/scripts/e2e/lib/openai-web-search-minimal/assertions.mjs +++ b/scripts/e2e/lib/openai-web-search-minimal/assertions.mjs @@ -1,3 +1,4 @@ +// Assertions for minimal OpenAI web-search E2E scenarios. import fs from "node:fs"; import { readTextFileTail, tailText } from "../text-file-utils.mjs"; diff --git a/scripts/e2e/lib/openai-web-search-minimal/client.mjs b/scripts/e2e/lib/openai-web-search-minimal/client.mjs index f05dbeaaf91b..952b07a3a4c5 100644 --- a/scripts/e2e/lib/openai-web-search-minimal/client.mjs +++ b/scripts/e2e/lib/openai-web-search-minimal/client.mjs @@ -1,3 +1,4 @@ +// Client script for minimal OpenAI web-search E2E scenarios. import { readdirSync } from "node:fs"; import { pathToFileURL } from "node:url"; diff --git a/scripts/e2e/lib/openai-web-search-minimal/mock-server.mjs b/scripts/e2e/lib/openai-web-search-minimal/mock-server.mjs index ca5c88b33ef6..c6070c1da671 100644 --- a/scripts/e2e/lib/openai-web-search-minimal/mock-server.mjs +++ b/scripts/e2e/lib/openai-web-search-minimal/mock-server.mjs @@ -1,3 +1,4 @@ +// Mock server for minimal OpenAI web-search E2E scenarios. import http from "node:http"; import { readPositiveIntEnv } from "../env-limits.mjs"; import { diff --git a/scripts/e2e/lib/openwebui/http-probe.mjs b/scripts/e2e/lib/openwebui/http-probe.mjs index 7b8f67295499..c8f666d3a6f5 100644 --- a/scripts/e2e/lib/openwebui/http-probe.mjs +++ b/scripts/e2e/lib/openwebui/http-probe.mjs @@ -1,3 +1,4 @@ +// HTTP probe for OpenWebUI E2E scenarios. import { readPositiveIntEnv } from "../env-limits.mjs"; const [url, expectedRaw = "200"] = process.argv.slice(2); diff --git a/scripts/e2e/lib/package-compat.mjs b/scripts/e2e/lib/package-compat.mjs index 1063f2e3a946..f1a6064a9dcd 100644 --- a/scripts/e2e/lib/package-compat.mjs +++ b/scripts/e2e/lib/package-compat.mjs @@ -1,3 +1,4 @@ +// Package-version compatibility helpers for E2E acceptance scripts. export function legacyPackageAcceptanceCompat(version) { const match = /^(\d{4})\.(\d{1,2})\.(\d{1,2})(?:[-+].*)?/.exec(version || ""); const [year, month, day] = match?.slice(1, 4).map(Number) ?? []; diff --git a/scripts/e2e/lib/parallels-package/build-info-commit.mjs b/scripts/e2e/lib/parallels-package/build-info-commit.mjs index 851e9f391cbe..603b1e0f65b6 100644 --- a/scripts/e2e/lib/parallels-package/build-info-commit.mjs +++ b/scripts/e2e/lib/parallels-package/build-info-commit.mjs @@ -1,3 +1,4 @@ +// Validates build-info commit metadata for Parallels package E2E scenarios. import fs from "node:fs"; const path = "dist/build-info.json"; diff --git a/scripts/e2e/lib/parallels-package/log-progress-extract.mjs b/scripts/e2e/lib/parallels-package/log-progress-extract.mjs index 6849ca78ecb2..a2523a308840 100644 --- a/scripts/e2e/lib/parallels-package/log-progress-extract.mjs +++ b/scripts/e2e/lib/parallels-package/log-progress-extract.mjs @@ -1,3 +1,4 @@ +// Extracts progress markers from Parallels package E2E logs. import fs from "node:fs"; import { readTextFileTail } from "../text-file-utils.mjs"; diff --git a/scripts/e2e/lib/plugin-index-sqlite.mjs b/scripts/e2e/lib/plugin-index-sqlite.mjs index 47e6a45d2cd2..61ab765b94d9 100644 --- a/scripts/e2e/lib/plugin-index-sqlite.mjs +++ b/scripts/e2e/lib/plugin-index-sqlite.mjs @@ -1,3 +1,4 @@ +// SQLite readers for plugin install indexes produced during E2E scenarios. import fs from "node:fs"; import path from "node:path"; import { DatabaseSync } from "node:sqlite"; diff --git a/scripts/e2e/lib/plugin-lifecycle-matrix/measure.mjs b/scripts/e2e/lib/plugin-lifecycle-matrix/measure.mjs index 6f3975aa1192..3d1c060fb7db 100644 --- a/scripts/e2e/lib/plugin-lifecycle-matrix/measure.mjs +++ b/scripts/e2e/lib/plugin-lifecycle-matrix/measure.mjs @@ -1,3 +1,4 @@ +// Measures plugin lifecycle matrix E2E command timings. import { spawn } from "node:child_process"; import fs from "node:fs"; import path from "node:path"; diff --git a/scripts/e2e/lib/plugin-lifecycle-matrix/probe.mjs b/scripts/e2e/lib/plugin-lifecycle-matrix/probe.mjs index 9ac055e1971d..919f3518d16f 100644 --- a/scripts/e2e/lib/plugin-lifecycle-matrix/probe.mjs +++ b/scripts/e2e/lib/plugin-lifecycle-matrix/probe.mjs @@ -1,3 +1,4 @@ +// Probe script for plugin lifecycle matrix E2E scenarios. import fs from "node:fs"; import os from "node:os"; import path from "node:path"; diff --git a/scripts/e2e/lib/plugin-update/probe.mjs b/scripts/e2e/lib/plugin-update/probe.mjs index 7e9c8461b82c..1e2b86638b63 100644 --- a/scripts/e2e/lib/plugin-update/probe.mjs +++ b/scripts/e2e/lib/plugin-update/probe.mjs @@ -1,3 +1,4 @@ +// Probe script for plugin update E2E scenarios. import fs from "node:fs"; import http from "node:http"; import os from "node:os"; diff --git a/scripts/e2e/lib/plugin-update/registry-server.mjs b/scripts/e2e/lib/plugin-update/registry-server.mjs index 5c33649d54d6..0716dacbe483 100644 --- a/scripts/e2e/lib/plugin-update/registry-server.mjs +++ b/scripts/e2e/lib/plugin-update/registry-server.mjs @@ -1,3 +1,4 @@ +// Fixture npm registry server for plugin update E2E scenarios. import http from "node:http"; const metadata = { diff --git a/scripts/e2e/lib/plugins/assertions.mjs b/scripts/e2e/lib/plugins/assertions.mjs index b75136b522c5..d9f7dd7f6c77 100644 --- a/scripts/e2e/lib/plugins/assertions.mjs +++ b/scripts/e2e/lib/plugins/assertions.mjs @@ -1,3 +1,4 @@ +// Assertions for plugin install/runtime E2E scenarios. import fs from "node:fs"; import os from "node:os"; import path from "node:path"; diff --git a/scripts/e2e/lib/plugins/npm-registry-server.mjs b/scripts/e2e/lib/plugins/npm-registry-server.mjs index 190b778ca1af..c908212955c4 100644 --- a/scripts/e2e/lib/plugins/npm-registry-server.mjs +++ b/scripts/e2e/lib/plugins/npm-registry-server.mjs @@ -1,3 +1,4 @@ +// Fixture npm registry server for plugin E2E scenarios. import crypto from "node:crypto"; import fs from "node:fs"; import http from "node:http"; diff --git a/scripts/e2e/lib/release-scenarios/assertions.mjs b/scripts/e2e/lib/release-scenarios/assertions.mjs index 9cca70817988..72f5ca3f1746 100644 --- a/scripts/e2e/lib/release-scenarios/assertions.mjs +++ b/scripts/e2e/lib/release-scenarios/assertions.mjs @@ -1,3 +1,4 @@ +// Assertions for release scenario E2E packages and plugin state. import fs from "node:fs"; import path from "node:path"; import { DatabaseSync } from "node:sqlite"; diff --git a/scripts/e2e/lib/release-scenarios/write-cli-plugin.mjs b/scripts/e2e/lib/release-scenarios/write-cli-plugin.mjs index 65096685447b..ddbe780551ef 100644 --- a/scripts/e2e/lib/release-scenarios/write-cli-plugin.mjs +++ b/scripts/e2e/lib/release-scenarios/write-cli-plugin.mjs @@ -1,3 +1,4 @@ +// Writes a CLI plugin fixture for release scenario E2E tests. import fs from "node:fs"; import path from "node:path"; diff --git a/scripts/e2e/lib/release-scenarios/write-marketplace.mjs b/scripts/e2e/lib/release-scenarios/write-marketplace.mjs index bcbae4691831..c0795d8f009c 100644 --- a/scripts/e2e/lib/release-scenarios/write-marketplace.mjs +++ b/scripts/e2e/lib/release-scenarios/write-marketplace.mjs @@ -1,3 +1,4 @@ +// Writes a marketplace fixture for release scenario E2E tests. import fs from "node:fs"; import path from "node:path"; diff --git a/scripts/e2e/lib/release-user-journey/assertions.mjs b/scripts/e2e/lib/release-user-journey/assertions.mjs index 85143bdc6e84..da53e3c482aa 100644 --- a/scripts/e2e/lib/release-user-journey/assertions.mjs +++ b/scripts/e2e/lib/release-user-journey/assertions.mjs @@ -1,3 +1,4 @@ +// Assertions for release user-journey E2E scenarios. import fs from "node:fs"; import path from "node:path"; import { fileURLToPath } from "node:url"; diff --git a/scripts/e2e/lib/release-user-journey/clickclack-fixture.mjs b/scripts/e2e/lib/release-user-journey/clickclack-fixture.mjs index 3aece08a3182..d8d6a810e1e5 100644 --- a/scripts/e2e/lib/release-user-journey/clickclack-fixture.mjs +++ b/scripts/e2e/lib/release-user-journey/clickclack-fixture.mjs @@ -1,3 +1,4 @@ +// ClickClack fixture server for release user-journey E2E scenarios. import crypto from "node:crypto"; import fs from "node:fs"; import http from "node:http"; diff --git a/scripts/e2e/lib/run-with-pty.mjs b/scripts/e2e/lib/run-with-pty.mjs index 14a668f65d84..2842ad577d69 100644 --- a/scripts/e2e/lib/run-with-pty.mjs +++ b/scripts/e2e/lib/run-with-pty.mjs @@ -1,4 +1,5 @@ #!/usr/bin/env node +// Runs an E2E command under a pseudo-terminal. import fs from "node:fs"; import process from "node:process"; import { spawn } from "@lydell/node-pty"; diff --git a/scripts/e2e/lib/text-file-utils.mjs b/scripts/e2e/lib/text-file-utils.mjs index 29387f70b373..8eb70210f59c 100644 --- a/scripts/e2e/lib/text-file-utils.mjs +++ b/scripts/e2e/lib/text-file-utils.mjs @@ -1,3 +1,4 @@ +// Text file tail helpers for E2E assertions. import fs from "node:fs"; export function tailText(text, maxBytes) { diff --git a/scripts/e2e/lib/update-channel-switch/assertions.mjs b/scripts/e2e/lib/update-channel-switch/assertions.mjs index 7e3dbec977c7..b022e3a4142e 100644 --- a/scripts/e2e/lib/update-channel-switch/assertions.mjs +++ b/scripts/e2e/lib/update-channel-switch/assertions.mjs @@ -1,3 +1,4 @@ +// Assertions for update-channel switch E2E scenarios. import fs from "node:fs"; import path from "node:path"; import { legacyPackageAcceptanceCompat } from "../package-compat.mjs"; diff --git a/scripts/e2e/lib/upgrade-survivor/assertions.mjs b/scripts/e2e/lib/upgrade-survivor/assertions.mjs index 33d5155ba32f..25fd7c96ee42 100644 --- a/scripts/e2e/lib/upgrade-survivor/assertions.mjs +++ b/scripts/e2e/lib/upgrade-survivor/assertions.mjs @@ -1,3 +1,4 @@ +// Assertions for upgrade-survivor E2E scenarios. import fs from "node:fs"; import path from "node:path"; import { readPluginInstallIndex } from "../plugin-index-sqlite.mjs"; diff --git a/scripts/e2e/lib/upgrade-survivor/config-recipe.mjs b/scripts/e2e/lib/upgrade-survivor/config-recipe.mjs index a00c7dd6ed33..1aa47bfd36b1 100644 --- a/scripts/e2e/lib/upgrade-survivor/config-recipe.mjs +++ b/scripts/e2e/lib/upgrade-survivor/config-recipe.mjs @@ -1,4 +1,5 @@ #!/usr/bin/env node +// Builds config recipes for upgrade-survivor E2E scenarios. import { spawnSync } from "node:child_process"; import fs from "node:fs"; import path from "node:path"; diff --git a/scripts/e2e/lib/upgrade-survivor/probe-gateway.mjs b/scripts/e2e/lib/upgrade-survivor/probe-gateway.mjs index 01208f01fea2..e23ead7a77bf 100644 --- a/scripts/e2e/lib/upgrade-survivor/probe-gateway.mjs +++ b/scripts/e2e/lib/upgrade-survivor/probe-gateway.mjs @@ -1,5 +1,6 @@ #!/usr/bin/env node +// Probes gateway state for upgrade-survivor E2E scenarios. import fs from "node:fs"; import path from "node:path"; diff --git a/scripts/e2e/lib/websocket-open.mjs b/scripts/e2e/lib/websocket-open.mjs index 2b01ddc99861..eee35e7caa75 100644 --- a/scripts/e2e/lib/websocket-open.mjs +++ b/scripts/e2e/lib/websocket-open.mjs @@ -1,3 +1,4 @@ +// WebSocket open/close wait helper for E2E clients. function formatCloseValue(value) { if (value === undefined || value === null) { return ""; diff --git a/scripts/e2e/mock-openai-server.mjs b/scripts/e2e/mock-openai-server.mjs index ba478b4d8841..2fe1e74974b6 100644 --- a/scripts/e2e/mock-openai-server.mjs +++ b/scripts/e2e/mock-openai-server.mjs @@ -1,3 +1,4 @@ +// Mock OpenAI-compatible server for broader E2E scenarios. import { createHash } from "node:crypto"; import http from "node:http"; import { readPositiveIntEnv } from "./lib/env-limits.mjs"; diff --git a/scripts/e2e/npm-telegram-rtt-config.mjs b/scripts/e2e/npm-telegram-rtt-config.mjs index a6b1b618c445..a5db6896da4a 100755 --- a/scripts/e2e/npm-telegram-rtt-config.mjs +++ b/scripts/e2e/npm-telegram-rtt-config.mjs @@ -1,4 +1,5 @@ #!/usr/bin/env node +// Writes npm Telegram RTT config fixtures. import fs from "node:fs"; const [configPath, mockPort, groupId, driverToken, sutToken, packageVersion] = diff --git a/scripts/e2e/npm-telegram-rtt-credentials.mjs b/scripts/e2e/npm-telegram-rtt-credentials.mjs index 86278b923237..d6b4f5dc826c 100755 --- a/scripts/e2e/npm-telegram-rtt-credentials.mjs +++ b/scripts/e2e/npm-telegram-rtt-credentials.mjs @@ -1,4 +1,5 @@ #!/usr/bin/env node +// Issues and writes npm Telegram RTT credential fixtures. import fs from "node:fs/promises"; import { readBoundedResponseText } from "./lib/bounded-response-text.mjs"; diff --git a/scripts/e2e/npm-telegram-rtt-driver.mjs b/scripts/e2e/npm-telegram-rtt-driver.mjs index 172777c3b5d2..fd82be54cf60 100755 --- a/scripts/e2e/npm-telegram-rtt-driver.mjs +++ b/scripts/e2e/npm-telegram-rtt-driver.mjs @@ -1,4 +1,5 @@ #!/usr/bin/env node +// Drives npm Telegram RTT test messages through the fixture server. import fs from "node:fs/promises"; import path from "node:path"; import { readBoundedResponseText } from "./lib/bounded-response-text.mjs"; diff --git a/scripts/e2e/openwebui-probe.mjs b/scripts/e2e/openwebui-probe.mjs index 56d647d1a147..14a946340d8b 100644 --- a/scripts/e2e/openwebui-probe.mjs +++ b/scripts/e2e/openwebui-probe.mjs @@ -1,3 +1,4 @@ +// Probe script for OpenWebUI E2E connectivity. import { Agent, setGlobalDispatcher } from "undici"; import { readBoundedResponseText as readBoundedResponseTextWithLimit } from "./lib/bounded-response-text.mjs"; diff --git a/scripts/e2e/secret-provider-integrations.mjs b/scripts/e2e/secret-provider-integrations.mjs index 69926701a2ae..567c9661a5da 100644 --- a/scripts/e2e/secret-provider-integrations.mjs +++ b/scripts/e2e/secret-provider-integrations.mjs @@ -1,4 +1,5 @@ #!/usr/bin/env node +// Runs secret-provider integration E2E checks with fixture processes. import childProcess from "node:child_process"; import fs from "node:fs"; import net from "node:net";