@skyramp/mcp 0.0.51 → 0.0.53

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.
@@ -6,7 +6,7 @@ import { stripVTControlCharacters } from "util";
6
6
  import { logger } from "../utils/logger.js";
7
7
  const DEFAULT_TIMEOUT = 300000; // 5 minutes
8
8
  const MAX_CONCURRENT_EXECUTIONS = 5;
9
- const EXECUTOR_DOCKER_IMAGE = "skyramp/executor:v1.3.3";
9
+ const EXECUTOR_DOCKER_IMAGE = "skyramp/executor:v1.3.5";
10
10
  const DOCKER_PLATFORM = "linux/amd64";
11
11
  const EXECUTION_PROGRESS_INTERVAL = 10000; // 10 seconds between progress updates during execution
12
12
  // Files and directories to exclude when mounting workspace to Docker container
@@ -3,7 +3,7 @@ import { SkyrampClient } from "@skyramp/skyramp";
3
3
  import openProxyTerminalTracked from "../../utils/proxy-terminal.js";
4
4
  import { TELEMETRY_entrypoint_FIELD_NAME } from "../../utils/utils.js";
5
5
  import { logger } from "../../utils/logger.js";
6
- import { basePlaywrightSchema, baseSchema, DEFAULT_SESSION_STORAGE_PATH, SESSION_STORAGE_FILENAME, } from "../../types/TestTypes.js";
6
+ import { basePlaywrightSchema, baseSchema, } from "../../types/TestTypes.js";
7
7
  import { AnalyticsService } from "../../services/AnalyticsService.js";
8
8
  import path from "path";
9
9
  const TOOL_NAME = "skyramp_start_trace_collection";
@@ -94,11 +94,13 @@ For detailed documentation visit: https://www.skyramp.dev/docs/load-test/advance
94
94
  outputDir: params.outputDir,
95
95
  prompt: params.prompt,
96
96
  });
97
- // Resolve playwrightSaveStoragePath to outputDir if it's the default relative path
98
97
  let saveStoragePath = params.playwrightSaveStoragePath;
99
- if (params.outputDir &&
100
- saveStoragePath === DEFAULT_SESSION_STORAGE_PATH) {
101
- saveStoragePath = path.join(params.outputDir, SESSION_STORAGE_FILENAME);
98
+ if (saveStoragePath) {
99
+ // If saveStoragePath is just a filename (no directory separators), use outputDir
100
+ if (params.outputDir && !saveStoragePath.includes(path.sep) && !path.isAbsolute(saveStoragePath)) {
101
+ saveStoragePath = path.join(params.outputDir, saveStoragePath);
102
+ }
103
+ logger.info("Session storage will be saved to:", { saveStoragePath });
102
104
  }
103
105
  try {
104
106
  // Send initial progress
@@ -118,6 +120,9 @@ For detailed documentation visit: https://www.skyramp.dev/docs/load-test/advance
118
120
  playwrightViewportSize: params.playwrightViewportSize,
119
121
  entrypoint: TELEMETRY_entrypoint_FIELD_NAME,
120
122
  };
123
+ if (saveStoragePath) {
124
+ generateOptions.playwrightSaveStoragePath = saveStoragePath;
125
+ }
121
126
  // Send progress for configuration
122
127
  const traceMode = params.playwright ? "UI + Backend" : "Backend-only";
123
128
  await sendProgress(30, 100, `Configuring ${traceMode} trace collection...`);
@@ -1,6 +1,5 @@
1
1
  import { z } from "zod";
2
2
  export const SESSION_STORAGE_FILENAME = "skyramp_session_storage.json";
3
- export const DEFAULT_SESSION_STORAGE_PATH = `./${SESSION_STORAGE_FILENAME}`;
4
3
  export var TestType;
5
4
  (function (TestType) {
6
5
  TestType["SMOKE"] = "smoke";
@@ -88,11 +87,11 @@ export const basePlaywrightSchema = z.object({
88
87
  playwrightStoragePath: z
89
88
  .string()
90
89
  .optional()
91
- .describe("Path to playwright session storage to load for trace collection with playwright enabled. THE PATH MUST BE AN ABSOLUTE PATH LIKE /Users/<path>/<filename>.json"),
90
+ .describe("Path to LOAD existing playwright session storage for trace collection with playwright enabled. THE PATH MUST BE AN ABSOLUTE PATH LIKE /Users/<path>/<filename>.json"),
92
91
  playwrightSaveStoragePath: z
93
92
  .string()
94
- .default(DEFAULT_SESSION_STORAGE_PATH)
95
- .describe(`Path to SAVE Playwright session storage after trace collection. When user says 'with session storage' or 'save session' without specifying a path, use the default '${DEFAULT_SESSION_STORAGE_PATH}'. This SAVES authentication state (cookies, localStorage, sessionStorage) when the browser closes. To LOAD existing auth state, use playwrightStoragePath instead. Can be relative (e.g., 'auth.json') or absolute path.`),
93
+ .optional()
94
+ .describe(`Path to SAVE Playwright session storage after trace collection. ONLY provide this when user explicitly says 'with session storage', 'save session', or similar. If user specifies this without a path, defaults to '${SESSION_STORAGE_FILENAME}' in the outputDir. This SAVES authentication state (cookies, localStorage, sessionStorage) when the browser closes. To LOAD existing auth state, use playwrightStoragePath instead. Can be relative (e.g., 'auth.json') or absolute path.`),
96
95
  playwrightViewportSize: z
97
96
  .string()
98
97
  .default("")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyramp/mcp",
3
- "version": "0.0.51",
3
+ "version": "0.0.53",
4
4
  "main": "build/index.js",
5
5
  "type": "module",
6
6
  "bin": {
@@ -45,7 +45,7 @@
45
45
  },
46
46
  "dependencies": {
47
47
  "@modelcontextprotocol/sdk": "^1.24.3",
48
- "@skyramp/skyramp": "^1.3.3",
48
+ "@skyramp/skyramp": "1.3.5",
49
49
  "@playwright/test": "^1.55.0",
50
50
  "dockerode": "^4.0.6",
51
51
  "fast-glob": "^3.3.3",