@muggleai/works 4.11.1 → 4.11.2

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, getAuthService, hasApiKey, getElectronAppVersion, getElectronAppDir, getPlatformKey, isFirstRun, writePreferences, DEFAULT_PREFERENCES, getDataDir, PREFERENCES_FILE_NAME, isElectronAppInstalled, getElectronAppChecksums, getChecksumForPlatform, verifyFileChecksum, calculateFileChecksum, initTelemetry, Surface, ServiceName, track, EventName, getQaTools, getLocalQaTools, performLogout, performLogin, toolRequiresAuth, getCallerCredentials, getBundledElectronAppVersion, getElectronAppVersionSource, getCredentialsFilePath, buildElectronAppChecksumsUrl, __require } from './chunk-ZKRHFTIC.js';
1
+ import { __export, getLogger, getConfig, createChildLogger, buildElectronAppReleaseAssetUrl, getAuthService, hasApiKey, getElectronAppVersion, getElectronAppDir, getPlatformKey, isFirstRun, writePreferences, DEFAULT_PREFERENCES, getDataDir, PREFERENCES_FILE_NAME, isElectronAppInstalled, getElectronAppChecksums, getChecksumForPlatform, verifyFileChecksum, calculateFileChecksum, initTelemetry, Surface, ServiceName, track, EventName, getQaTools, getLocalQaTools, performLogout, performLogin, toolRequiresAuth, getCallerCredentials, hasShownDisclosure, getDisclosureCopy, markDisclosureShown, getBundledElectronAppVersion, getElectronAppVersionSource, getCredentialsFilePath, buildElectronAppChecksumsUrl, __require } from './chunk-AYWLYB3F.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';
@@ -731,7 +731,7 @@ async function resolveGsScreenshotUrls(report, opts) {
731
731
  if (gsUrls.length === 0) {
732
732
  return report;
733
733
  }
734
- const mcps = await import('./src-2G7ENRGI.js');
734
+ const mcps = await import('./src-NJUUHKPW.js');
735
735
  const credentials = await mcps.getCallerCredentialsAsync();
736
736
  if (!credentials.bearerToken && !credentials.apiKey) {
737
737
  stderrWrite(
@@ -1638,6 +1638,15 @@ async function statusCommand() {
1638
1638
  }
1639
1639
 
1640
1640
  // src/cli/serve.ts
1641
+ var APPLICATIONINSIGHTS_CONNECTION_STRING = "InstrumentationKey=0e28df42-b98e-4089-b3b5-6decefb99447;IngestionEndpoint=https://westus3-1.in.applicationinsights.azure.com/;LiveEndpoint=https://westus3.livediagnostics.monitor.azure.com/;ApplicationId=b64a932f-85ec-40cd-a74b-e181a3660f6c";
1642
+ function showDisclosureIfNeeded() {
1643
+ try {
1644
+ if (hasShownDisclosure()) return;
1645
+ process.stderr.write(getDisclosureCopy() + "\n");
1646
+ markDisclosureShown();
1647
+ } catch {
1648
+ }
1649
+ }
1641
1650
  var logger5 = getLogger();
1642
1651
  async function serveCommand(options) {
1643
1652
  const config = getConfig();
@@ -1650,7 +1659,12 @@ async function serveCommand(options) {
1650
1659
  transport: "stdio"
1651
1660
  });
1652
1661
  try {
1653
- initTelemetry({ serviceName: ServiceName.MuggleMcp, surface: Surface.McpLocal });
1662
+ showDisclosureIfNeeded();
1663
+ initTelemetry({
1664
+ serviceName: ServiceName.MuggleMcp,
1665
+ surface: Surface.McpLocal,
1666
+ connectionString: APPLICATIONINSIGHTS_CONNECTION_STRING
1667
+ });
1654
1668
  track({ name: EventName.SystemStartup, props: { serviceName: ServiceName.MuggleMcp } });
1655
1669
  } catch (err) {
1656
1670
  logger5.warn("Telemetry init skipped", {
@@ -94,7 +94,7 @@ __export(src_exports, {
94
94
  toolRequiresAuth: () => toolRequiresAuth,
95
95
  validatePreference: () => validatePreference,
96
96
  verifyFileChecksum: () => verifyFileChecksum,
97
- writePreferences: () => writePreferences
97
+ writePreferences: () => writePreferences2
98
98
  });
99
99
  var DATA_DIR_NAME = ".muggle-ai";
100
100
  function getDataDir() {
@@ -3198,6 +3198,19 @@ function readPreferences() {
3198
3198
  return {};
3199
3199
  }
3200
3200
  }
3201
+ function writePreferences(prefs) {
3202
+ const filePath = prefsFilePath();
3203
+ mkdirSync(dirname(filePath), { recursive: true });
3204
+ writeFileSync(filePath, JSON.stringify(prefs, null, 2) + "\n", "utf8");
3205
+ }
3206
+ function updatePreference(key, value) {
3207
+ const prefs = readPreferences();
3208
+ prefs[key] = value;
3209
+ writePreferences(prefs);
3210
+ }
3211
+ function preferencesFileExists() {
3212
+ return existsSync(prefsFilePath());
3213
+ }
3201
3214
 
3202
3215
  function isTelemetryEnabled() {
3203
3216
  if (process.env[ENV_TELEMETRY_DISABLED] === "1")
@@ -3223,6 +3236,21 @@ function track(event) {
3223
3236
  }
3224
3237
  }
3225
3238
 
3239
+ var DISCLOSURE_COPY = `Muggle Test collects anonymous usage telemetry \u2014 which features you use, how long they take, and whether they succeed \u2014 to help us improve the product. We attach an opaque install ID, your account ID (when signed in), and your IP. We do not collect file contents, OS username, hostname, or file paths. To opt out, set telemetryEnabled to false in ~/.muggle-ai/preferences.json or run \`muggle preferences set telemetryEnabled false\`.`;
3240
+
3241
+ function getDisclosureCopy() {
3242
+ return DISCLOSURE_COPY;
3243
+ }
3244
+ function hasShownDisclosure() {
3245
+ if (!preferencesFileExists())
3246
+ return false;
3247
+ const prefs = readPreferences();
3248
+ return typeof prefs.disclosureShownAt === "string" && prefs.disclosureShownAt.length > 0;
3249
+ }
3250
+ function markDisclosureShown(now = /* @__PURE__ */ new Date()) {
3251
+ updatePreference("disclosureShownAt", now.toISOString());
3252
+ }
3253
+
3226
3254
  var Trigger;
3227
3255
  (function(Trigger2) {
3228
3256
  Trigger2["UserSlash"] = "user-slash";
@@ -6018,7 +6046,7 @@ function resolvePreferences(dataDirOverride2, cwd) {
6018
6046
  const project = readProjectPreferences(cwd);
6019
6047
  return { ...global, ...project };
6020
6048
  }
6021
- function writePreferences(prefs, scope, dataDirOverride2, cwd) {
6049
+ function writePreferences2(prefs, scope, dataDirOverride2, cwd) {
6022
6050
  const dir = scope === "project" && cwd ? path2.join(cwd, PREFERENCES_PROJECT_DIR_NAME) : dataDirOverride2 ?? getDataDir();
6023
6051
  fs5.mkdirSync(dir, { recursive: true });
6024
6052
  const filePath = path2.join(dir, PREFERENCES_FILE_NAME);
@@ -6584,7 +6612,7 @@ var preferencesSetTool = {
6584
6612
  const logger6 = createChildLogger2(ctx.correlationId);
6585
6613
  logger6.info("Executing muggle-local-preferences-set");
6586
6614
  const input = PreferencesSetInputSchema.parse(ctx.input);
6587
- writePreferences(
6615
+ writePreferences2(
6588
6616
  { [input.key]: input.value },
6589
6617
  input.scope,
6590
6618
  void 0,
@@ -7056,4 +7084,4 @@ var plugins_exports = {};
7056
7084
  // packages/mcps/src/mcp/agents/index.ts
7057
7085
  var agents_exports = {};
7058
7086
 
7059
- export { DEFAULT_PREFERENCES, EventName, PREFERENCES_FILE_NAME, PREFERENCES_PROJECT_DIR_NAME, PREFERENCES_SCHEMA, PREFERENCES_VERSION, PREFERENCE_ALLOWED_VALUES, PreferenceKey, PreferenceValue, ServiceName, Surface, __export, __require, buildElectronAppChecksumsUrl, buildElectronAppReleaseAssetUrl, buildElectronAppReleaseTag, calculateFileChecksum, createApiKeyWithToken, createChildLogger, deleteApiKeyData, deleteCredentials, e2e_exports2 as e2e_exports, formatPreferencesOneLiner, getApiKey, getApiKeyFilePath, getAuthService, getBundledElectronAppVersion, getCallerCredentials, getCallerCredentialsAsync, getChecksumForPlatform, getConfig, getCredentialsFilePath, getDataDir2 as getDataDir, getDownloadBaseUrl, getElectronAppChecksums, getElectronAppDir, getElectronAppVersion, getElectronAppVersionSource, getLocalQaTools, getLogger, getPlatformKey, getQaTools, getValidApiKeyData, getValidCredentials, hasApiKey, initTelemetry, isElectronAppInstalled, isFirstRun, loadApiKeyData, loadCredentials, local_exports2 as local_exports, mcp_exports, openBrowserUrl, performLogin, performLogout, pollDeviceCode, readGlobalPreferences, readProjectPreferences, resetConfig, resetLogger, resetPreference, resolveElectronAppPathOrNull, resolvePreferences, saveApiKey, saveApiKeyData, saveCredentials, src_exports, startDeviceCodeFlow, toolRequiresAuth, track, validatePreference, verifyFileChecksum, writePreferences };
7087
+ export { DEFAULT_PREFERENCES, EventName, PREFERENCES_FILE_NAME, PREFERENCES_PROJECT_DIR_NAME, PREFERENCES_SCHEMA, PREFERENCES_VERSION, PREFERENCE_ALLOWED_VALUES, PreferenceKey, PreferenceValue, ServiceName, Surface, __export, __require, buildElectronAppChecksumsUrl, buildElectronAppReleaseAssetUrl, buildElectronAppReleaseTag, calculateFileChecksum, createApiKeyWithToken, createChildLogger, deleteApiKeyData, deleteCredentials, e2e_exports2 as e2e_exports, formatPreferencesOneLiner, getApiKey, getApiKeyFilePath, getAuthService, getBundledElectronAppVersion, getCallerCredentials, getCallerCredentialsAsync, getChecksumForPlatform, getConfig, getCredentialsFilePath, getDataDir2 as getDataDir, getDisclosureCopy, getDownloadBaseUrl, getElectronAppChecksums, getElectronAppDir, getElectronAppVersion, getElectronAppVersionSource, getLocalQaTools, getLogger, getPlatformKey, getQaTools, getValidApiKeyData, getValidCredentials, hasApiKey, hasShownDisclosure, initTelemetry, isElectronAppInstalled, isFirstRun, loadApiKeyData, loadCredentials, local_exports2 as local_exports, markDisclosureShown, mcp_exports, openBrowserUrl, performLogin, performLogout, pollDeviceCode, readGlobalPreferences, readProjectPreferences, resetConfig, resetLogger, resetPreference, resolveElectronAppPathOrNull, resolvePreferences, saveApiKey, saveApiKeyData, saveCredentials, src_exports, startDeviceCodeFlow, toolRequiresAuth, track, validatePreference, verifyFileChecksum, writePreferences2 as writePreferences };
package/dist/cli.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
- import { runCli } from './chunk-Q7WNEMN4.js';
3
- import './chunk-ZKRHFTIC.js';
2
+ import { runCli } from './chunk-7WRAMBOS.js';
3
+ import './chunk-AYWLYB3F.js';
4
4
 
5
5
  // src/cli/main.ts
6
6
  runCli().catch((error) => {
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export { src_exports as commands, createUnifiedMcpServer, server_exports as server } from './chunk-Q7WNEMN4.js';
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-ZKRHFTIC.js';
1
+ export { src_exports as commands, createUnifiedMcpServer, server_exports as server } from './chunk-7WRAMBOS.js';
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-AYWLYB3F.js';
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "release": "4.11.1",
3
- "buildId": "run-34-1",
4
- "commitSha": "09bc0bf650bd1c56171238fb0065ec3e584bb9fd",
5
- "buildTime": "2026-05-19T19:57:13Z",
3
+ "buildId": "run-35-1",
4
+ "commitSha": "91afe33fb96f46115bd399141f165832253b4809",
5
+ "buildTime": "2026-05-19T23:10:43Z",
6
6
  "serviceName": "muggle-ai-works-mcp"
7
7
  }
@@ -1 +1 @@
1
- export { DEFAULT_PREFERENCES, PREFERENCES_FILE_NAME, PREFERENCES_PROJECT_DIR_NAME, PREFERENCES_SCHEMA, PREFERENCES_VERSION, PREFERENCE_ALLOWED_VALUES, PreferenceKey, PreferenceValue, buildElectronAppChecksumsUrl, buildElectronAppReleaseAssetUrl, buildElectronAppReleaseTag, calculateFileChecksum, createApiKeyWithToken, createChildLogger, deleteApiKeyData, deleteCredentials, e2e_exports as e2e, formatPreferencesOneLiner, getApiKey, getApiKeyFilePath, getAuthService, getBundledElectronAppVersion, getCallerCredentials, getCallerCredentialsAsync, getChecksumForPlatform, getConfig, getCredentialsFilePath, getDataDir, getDownloadBaseUrl, getElectronAppChecksums, getElectronAppDir, getElectronAppVersion, getElectronAppVersionSource, getLocalQaTools, getLogger, getPlatformKey, getQaTools, getValidApiKeyData, getValidCredentials, hasApiKey, isElectronAppInstalled, isFirstRun, loadApiKeyData, loadCredentials, local_exports as localQa, mcp_exports as mcp, openBrowserUrl, performLogin, performLogout, pollDeviceCode, e2e_exports as qa, readGlobalPreferences, readProjectPreferences, resetConfig, resetLogger, resetPreference, resolveElectronAppPathOrNull, resolvePreferences, saveApiKey, saveApiKeyData, saveCredentials, startDeviceCodeFlow, toolRequiresAuth, validatePreference, verifyFileChecksum, writePreferences } from './chunk-ZKRHFTIC.js';
1
+ export { DEFAULT_PREFERENCES, PREFERENCES_FILE_NAME, PREFERENCES_PROJECT_DIR_NAME, PREFERENCES_SCHEMA, PREFERENCES_VERSION, PREFERENCE_ALLOWED_VALUES, PreferenceKey, PreferenceValue, buildElectronAppChecksumsUrl, buildElectronAppReleaseAssetUrl, buildElectronAppReleaseTag, calculateFileChecksum, createApiKeyWithToken, createChildLogger, deleteApiKeyData, deleteCredentials, e2e_exports as e2e, formatPreferencesOneLiner, getApiKey, getApiKeyFilePath, getAuthService, getBundledElectronAppVersion, getCallerCredentials, getCallerCredentialsAsync, getChecksumForPlatform, getConfig, getCredentialsFilePath, getDataDir, getDownloadBaseUrl, getElectronAppChecksums, getElectronAppDir, getElectronAppVersion, getElectronAppVersionSource, getLocalQaTools, getLogger, getPlatformKey, getQaTools, getValidApiKeyData, getValidCredentials, hasApiKey, isElectronAppInstalled, isFirstRun, loadApiKeyData, loadCredentials, local_exports as localQa, mcp_exports as mcp, openBrowserUrl, performLogin, performLogout, pollDeviceCode, e2e_exports as qa, readGlobalPreferences, readProjectPreferences, resetConfig, resetLogger, resetPreference, resolveElectronAppPathOrNull, resolvePreferences, saveApiKey, saveApiKeyData, saveCredentials, startDeviceCodeFlow, toolRequiresAuth, validatePreference, verifyFileChecksum, writePreferences } from './chunk-AYWLYB3F.js';
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": "4.11.1",
4
+ "version": "4.11.2",
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",