Add SPA session validation and buglist, update migration docs

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
root
2025-12-03 21:28:08 +00:00
parent 9be3dfc14e
commit cff287e870
24169 changed files with 10223 additions and 7120 deletions

31
node_modules/playwright/lib/program.js generated vendored Normal file → Executable file
View File

@@ -46,9 +46,8 @@ var testServer = __toESM(require("./runner/testServer"));
var import_watchMode = require("./runner/watchMode");
var import_testRunner = require("./runner/testRunner");
var import_reporters = require("./runner/reporters");
var import_exports = require("./mcp/sdk/exports");
var mcp = __toESM(require("./mcp/sdk/exports"));
var import_testBackend = require("./mcp/test/testBackend");
var import_seed = require("./mcp/test/seed");
var import_program3 = require("./mcp/program");
var import_watchdog = require("./mcp/browser/watchdog");
var import_generateAgents = require("./agents/generateAgents");
@@ -160,44 +159,36 @@ function addTestMCPServerCommand(program3) {
command.option("--port <port>", "port to listen on for SSE transport.");
command.action(async (options) => {
(0, import_watchdog.setupExitWatchdog)();
const backendFactory = {
const factory = {
name: "Playwright Test Runner",
nameInConfig: "playwright-test-runner",
version: packageJSON.version,
create: () => new import_testBackend.TestServerBackend(options.config, { muteConsole: options.port === void 0, headless: options.headless })
};
const mdbUrl = await (0, import_exports.runMainBackend)(
backendFactory,
{
port: options.port === void 0 ? void 0 : +options.port
}
);
if (mdbUrl)
console.error("MCP Listening on: ", mdbUrl);
await mcp.start(factory, { port: options.port === void 0 ? void 0 : +options.port, host: options.host });
});
}
function addInitAgentsCommand(program3) {
const command = program3.command("init-agents");
command.description("Initialize repository agents");
const option = command.createOption("--loop <loop>", "Agentic loop provider");
option.choices(["vscode", "claude", "opencode"]);
option.choices(["claude", "copilot", "opencode", "vscode", "vscode-legacy"]);
command.addOption(option);
command.option("-c, --config <file>", `Configuration file to find a project to use for seed test`);
command.option("--project <project>", "Project to use for seed test");
command.option("--prompts", "Whether to include prompts in the agent initialization");
command.action(async (opts) => {
const config = await (0, import_configLoader.loadConfigFromFile)(opts.config);
if (opts.loop === "opencode") {
await (0, import_generateAgents.initOpencodeRepo)();
} else if (opts.loop === "vscode") {
await (0, import_generateAgents.initVSCodeRepo)();
await import_generateAgents.OpencodeGenerator.init(config, opts.project, opts.prompts);
} else if (opts.loop === "vscode-legacy") {
await import_generateAgents.VSCodeGenerator.init(config, opts.project);
} else if (opts.loop === "claude") {
await (0, import_generateAgents.initClaudeCodeRepo)();
await import_generateAgents.ClaudeGenerator.init(config, opts.project, opts.prompts);
} else {
command.help();
await import_generateAgents.CopilotGenerator.init(config, opts.project, opts.prompts);
return;
}
const config = await (0, import_configLoader.loadConfigFromFile)(opts.config);
const project = (0, import_seed.seedProject)(config, opts.project);
await (0, import_seed.ensureSeedTest)(project, true);
});
}
async function runTests(args, opts) {