@muggleai/works 5.20.0-staging.138 → 5.20.0-staging.139

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { __export, getLogger, getConfig, createChildLogger, buildElectronAppReleaseAssetUrl, getActiveRuntimeTarget, getAuthService, hasApiKey, getElectronAppVersion, getElectronAppDir, getPlatformKey, reconcileProjectPreferences, getDataDir, PREFERENCES_FILE_NAME, isFirstRun, writePreferences, DEFAULT_PREFERENCES, isElectronAppInstalled, getElectronAppChecksums, getChecksumForPlatform, getElectronAppSignedFromVersion, getReleaseSignerIdentityUri, verifyFileChecksum, calculateFileChecksum, initTelemetry, Surface, ServiceName, track, EventName, getQaTools, getLocalQaTools, performLogout, assertDeviceCodeClientProvisioned, performLogin, toolRequiresAuth, getCallerCredentials, hasShownDisclosure, markDisclosureShown, getBundledElectronAppVersion, getElectronAppVersionSource, getCredentialsFilePath, buildElectronAppChecksumsUrl, __require, getDisclosureCopy, buildOnboardingPlan, applyOnboardingAnswers, needsOnboarding, readRunView, RunViewError, renderRunViewText, writeRunViewHtml, openBrowserUrl, OnboardingBlanketChoice, PreferenceKey } from './chunk-ZA5KHVX5.js';
1
+ import { __export, getLogger, getConfig, createChildLogger, buildElectronAppReleaseAssetUrl, getActiveRuntimeTarget, getAuthService, hasApiKey, getElectronAppVersion, getElectronAppDir, getPlatformKey, reconcileProjectPreferences, getDataDir, PREFERENCES_FILE_NAME, isFirstRun, writePreferences, DEFAULT_PREFERENCES, isElectronAppInstalled, getElectronAppChecksums, getChecksumForPlatform, getElectronAppSignedFromVersion, getReleaseSignerIdentityUri, verifyFileChecksum, calculateFileChecksum, initTelemetry, Surface, ServiceName, track, EventName, getQaTools, getLocalQaTools, performLogout, assertDeviceCodeClientProvisioned, performLogin, toolRequiresAuth, getCallerCredentials, getElectronAppReleaseTagPrefix, hasShownDisclosure, markDisclosureShown, getBundledElectronAppVersion, getElectronAppVersionSource, getCredentialsFilePath, buildElectronAppChecksumsUrl, __require, getDisclosureCopy, buildOnboardingPlan, applyOnboardingAnswers, needsOnboarding, readRunView, RunViewError, renderRunViewText, writeRunViewHtml, openBrowserUrl, OnboardingBlanketChoice, PreferenceKey } from './chunk-ZA5KHVX5.js';
2
2
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
3
3
  import { ListToolsRequestSchema, CallToolRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema } from '@modelcontextprotocol/sdk/types.js';
4
4
  import { v4 } from 'uuid';
@@ -2657,7 +2657,7 @@ The archive may be corrupted or in an unexpected format.`
2657
2657
  }
2658
2658
  }
2659
2659
  var logger7 = getLogger();
2660
- var GITHUB_RELEASES_API = "https://api.github.com/repos/multiplex-ai/muggle-ai-works/releases";
2660
+ var GITHUB_RELEASES_API = "https://api.github.com/repos/multiplex-ai/muggle-ai-works/releases?per_page=100";
2661
2661
  var INSTALL_METADATA_FILE_NAME2 = ".install-metadata.json";
2662
2662
  var VERSION_OVERRIDE_FILE = "electron-app-version-override.json";
2663
2663
  function getBinaryName2() {
@@ -2674,8 +2674,11 @@ function getBinaryName2() {
2674
2674
  throw new Error(`Unsupported platform: ${os}`);
2675
2675
  }
2676
2676
  }
2677
- function extractVersionFromTag(tag) {
2678
- const match = tag.match(/^(?:electron-app-)?v(\d+\.\d+\.\d+)$/);
2677
+ function extractVersionFromTag(tag, releaseTagPrefix) {
2678
+ if (!tag.startsWith(releaseTagPrefix)) {
2679
+ return null;
2680
+ }
2681
+ const match = tag.slice(releaseTagPrefix.length).match(/^(\d+\.\d+\.\d+)$/);
2679
2682
  return match ? match[1] : null;
2680
2683
  }
2681
2684
  function getVersionOverridePath() {
@@ -2718,11 +2721,12 @@ async function checkForUpdates() {
2718
2721
  throw new Error(`GitHub API error: ${response.status} ${response.statusText}`);
2719
2722
  }
2720
2723
  const releases = await response.json();
2724
+ const releaseTagPrefix = getElectronAppReleaseTagPrefix();
2721
2725
  for (const release of releases) {
2722
- if (release.prerelease || release.draft) {
2726
+ if (release.draft) {
2723
2727
  continue;
2724
2728
  }
2725
- const version = extractVersionFromTag(release.tag_name);
2729
+ const version = extractVersionFromTag(release.tag_name, releaseTagPrefix);
2726
2730
  if (version) {
2727
2731
  const updateAvailable = compareVersions2(version, currentVersion) > 0;
2728
2732
  const binaryName = getBinaryName2();
@@ -2962,26 +2966,26 @@ Cleaned up ${cleanupResult2.removed.length} old version(s), freed ${formatBytes(
2962
2966
  return;
2963
2967
  }
2964
2968
  console.log("Checking for updates...");
2965
- const result = await checkForUpdates();
2966
- console.log(`Current version: ${result.currentVersion}`);
2967
- console.log(`Latest version: ${result.latestVersion}`);
2969
+ const updateCheckResult = await checkForUpdates();
2970
+ console.log(`Current version: ${updateCheckResult.currentVersion}`);
2971
+ console.log(`Latest version: ${updateCheckResult.latestVersion}`);
2968
2972
  if (options.check) {
2969
- if (result.updateAvailable) {
2973
+ if (updateCheckResult.updateAvailable) {
2970
2974
  console.log("\nUpdate available! Run 'muggle upgrade' to install.");
2971
2975
  } else {
2972
2976
  console.log("\nYou are on the latest version.");
2973
2977
  }
2974
2978
  return;
2975
2979
  }
2976
- if (!result.updateAvailable && !options.force) {
2980
+ if (!updateCheckResult.updateAvailable && !options.force) {
2977
2981
  console.log("\nYou are already on the latest version.");
2978
2982
  console.log("Use --force to re-download the current version.");
2979
2983
  return;
2980
2984
  }
2981
- if (!result.downloadUrl) {
2985
+ if (!updateCheckResult.downloadUrl) {
2982
2986
  throw new Error("No download URL available");
2983
2987
  }
2984
- await downloadAndInstall(result.latestVersion, result.downloadUrl);
2988
+ await downloadAndInstall(updateCheckResult.latestVersion, updateCheckResult.downloadUrl);
2985
2989
  const cleanupResult = cleanupOldVersions({ all: false });
2986
2990
  if (cleanupResult.removed.length > 0) {
2987
2991
  console.log(
package/dist/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { runCli } from './chunk-BA6EYJRB.js';
2
+ import { runCli } from './chunk-OS2WXIPB.js';
3
3
  import './chunk-ZA5KHVX5.js';
4
4
 
5
5
  // src/cli/main.ts
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export { src_exports as commands, createUnifiedMcpServer, server_exports as server } from './chunk-BA6EYJRB.js';
1
+ export { src_exports as commands, createUnifiedMcpServer, server_exports as server } from './chunk-OS2WXIPB.js';
2
2
  export { createChildLogger, e2e_exports as e2e, getConfig, getLocalQaTools, getLogger, getQaTools, local_exports as localQa, mcp_exports as mcp, e2e_exports as qa, src_exports as shared } from './chunk-ZA5KHVX5.js';
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "muggle",
3
3
  "description": "Run real-browser end-to-end (E2E) acceptance tests on your web app from any AI coding agent. Generate test scripts from plain English, replay them on localhost, capture screenshots, and validate user flows like signup, checkout, and dashboards. Works across Claude Code, Cursor, Codex, and Windsurf.",
4
- "version": "5.20.0-staging.138",
4
+ "version": "5.20.0-staging.139",
5
5
  "author": {
6
6
  "name": "Muggle AI",
7
7
  "email": "support@muggle-ai.com"
@@ -2,7 +2,7 @@
2
2
  "name": "muggle",
3
3
  "displayName": "Muggle AI",
4
4
  "description": "Ship quality products with AI-powered end-to-end (E2E) acceptance testing that validates your web app like a real user — from Claude Code and Cursor to PR.",
5
- "version": "5.20.0-staging.138",
5
+ "version": "5.20.0-staging.139",
6
6
  "author": {
7
7
  "name": "Muggle AI",
8
8
  "email": "support@muggle-ai.com"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "release": "5.18.0",
3
- "buildId": "run-138-1",
4
- "commitSha": "d9d30288cea9ec67478b3b283828d67e5bfb6932",
5
- "buildTime": "2026-09-27T01:03:01Z",
3
+ "buildId": "run-139-1",
4
+ "commitSha": "319a4296a38bb2bad8dfb77cb45d5884fc5434ac",
5
+ "buildTime": "2026-09-30T20:06:26Z",
6
6
  "serviceName": "muggle-ai-works-mcp"
7
7
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@muggleai/works",
3
3
  "mcpName": "io.github.multiplex-ai/muggle",
4
- "version": "5.20.0-staging.138",
4
+ "version": "5.20.0-staging.139",
5
5
  "description": "Ship quality products with AI-powered E2E acceptance testing that validates your web app like a real user — from Claude Code and Cursor to PR.",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "muggle",
3
3
  "description": "Run real-browser end-to-end (E2E) acceptance tests on your web app from any AI coding agent. Generate test scripts from plain English, replay them on localhost, capture screenshots, and validate user flows like signup, checkout, and dashboards. Works across Claude Code, Cursor, Codex, and Windsurf.",
4
- "version": "5.20.0-staging.138",
4
+ "version": "5.20.0-staging.139",
5
5
  "author": {
6
6
  "name": "Muggle AI",
7
7
  "email": "support@muggle-ai.com"
@@ -2,7 +2,7 @@
2
2
  "name": "muggle",
3
3
  "displayName": "Muggle AI",
4
4
  "description": "Ship quality products with AI-powered end-to-end (E2E) acceptance testing that validates your web app like a real user — from Claude Code and Cursor to PR.",
5
- "version": "5.20.0-staging.138",
5
+ "version": "5.20.0-staging.139",
6
6
  "author": {
7
7
  "name": "Muggle AI",
8
8
  "email": "support@muggle-ai.com"