@skyramp/mcp 0.2.0-rc.1 → 0.2.0-rc.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.
Files changed (78) hide show
  1. package/build/index.js +4 -2
  2. package/build/prompts/code-reuse.js +106 -7
  3. package/build/prompts/pom-aware-code-reuse.js +106 -7
  4. package/build/prompts/startTraceCollectionPrompts.js +37 -15
  5. package/build/prompts/test-maintenance/drift-analysis-prompt.js +26 -31
  6. package/build/prompts/test-maintenance/drift-analysis-prompt.test.js +40 -1
  7. package/build/prompts/test-maintenance/driftAnalysisSections.js +90 -86
  8. package/build/prompts/test-recommendation/analysisOutputPrompt.js +286 -163
  9. package/build/prompts/test-recommendation/analysisOutputPrompt.test.js +154 -45
  10. package/build/prompts/test-recommendation/diffExecutionPlan.js +215 -117
  11. package/build/prompts/test-recommendation/promptPlan.js +290 -0
  12. package/build/prompts/test-recommendation/promptPlan.test.js +336 -0
  13. package/build/prompts/test-recommendation/recommendationSections.js +3 -1
  14. package/build/prompts/test-recommendation/recommendationShared.js +23 -1
  15. package/build/prompts/test-recommendation/scopeAssessment.js +65 -14
  16. package/build/prompts/test-recommendation/scopeAssessment.test.js +93 -2
  17. package/build/prompts/test-recommendation/test-recommendation-prompt.js +36 -12
  18. package/build/prompts/test-recommendation/test-recommendation-prompt.test.js +222 -1
  19. package/build/prompts/testbot/testbot-prompts.js +18 -62
  20. package/build/prompts/testbot/testbot-prompts.test.js +65 -31
  21. package/build/services/ScenarioGenerationService.js +11 -1
  22. package/build/services/TestExecutionService.js +73 -15
  23. package/build/services/TestExecutionService.test.js +105 -0
  24. package/build/services/TestGenerationService.js +11 -1
  25. package/build/tools/executeSkyrampTestTool.js +1 -10
  26. package/build/tools/test-management/actionsTool.js +152 -63
  27. package/build/tools/test-management/analyzeChangesTool.js +171 -63
  28. package/build/tools/test-management/analyzeChangesTool.test.js +103 -16
  29. package/build/tools/test-management/analyzeTestHealthTool.js +30 -81
  30. package/build/tools/test-management/index.js +1 -0
  31. package/build/tools/test-management/uiAnalyzeChangesTool.js +149 -0
  32. package/build/tools/test-management/uiAnalyzeChangesTool.test.js +100 -0
  33. package/build/tools/trace/resolveSaveStoragePath.js +16 -0
  34. package/build/tools/trace/resolveSaveStoragePath.test.js +17 -0
  35. package/build/tools/trace/resolveSessionPaths.js +39 -0
  36. package/build/tools/trace/resolveSessionPaths.test.js +103 -0
  37. package/build/tools/trace/sessionState.js +14 -0
  38. package/build/tools/trace/sessionState.test.js +17 -0
  39. package/build/tools/trace/startTraceCollectionTool.js +84 -14
  40. package/build/tools/trace/stopTraceCollectionTool.js +9 -2
  41. package/build/types/TestAnalysis.js +50 -0
  42. package/build/types/TestRecommendation.js +6 -58
  43. package/build/types/TestTypes.js +1 -1
  44. package/build/utils/AnalysisStateManager.js +22 -11
  45. package/build/utils/branchDiff.js +11 -2
  46. package/build/utils/docker.test.js +1 -1
  47. package/build/utils/gitStaging.js +52 -3
  48. package/build/utils/gitStaging.test.js +19 -1
  49. package/build/utils/repoScanner.js +18 -10
  50. package/build/utils/repoScanner.test.js +92 -0
  51. package/build/utils/routeParsers.js +168 -25
  52. package/build/utils/routeParsers.test.js +180 -1
  53. package/build/utils/scenarioDrafting.js +220 -17
  54. package/build/utils/scenarioDrafting.test.js +182 -9
  55. package/build/utils/sourceRouteExtractor.js +806 -0
  56. package/build/utils/sourceRouteExtractor.test.js +565 -0
  57. package/build/utils/uiPageEnumerator.js +319 -0
  58. package/build/utils/uiPageEnumerator.test.js +422 -0
  59. package/build/utils/utils.js +27 -0
  60. package/build/utils/versions.js +1 -1
  61. package/build/utils/workspaceAuth.js +33 -4
  62. package/node_modules/playwright/lib/dom-analyzer/blueprint.js +54 -5
  63. package/node_modules/playwright/lib/dom-analyzer/blueprintDiff.js +4 -0
  64. package/node_modules/playwright/lib/dom-analyzer/blueprintDiff.test.js +6 -0
  65. package/node_modules/playwright/lib/dom-analyzer/possibleAssertions.js +150 -0
  66. package/node_modules/playwright/lib/dom-analyzer/possibleAssertions.test.js +470 -0
  67. package/node_modules/playwright/lib/mcp/browser/tab.js +1 -1
  68. package/node_modules/playwright/lib/mcp/browser/tools/pageBlueprint.js +21 -4
  69. package/node_modules/playwright/lib/mcp/browser/tools/pageBlueprint.test.js +3 -0
  70. package/node_modules/playwright/package.json +1 -1
  71. package/node_modules/playwright/skyramp-playwright-1.58.2-skyramp.8.9.4.tgz +0 -0
  72. package/node_modules/playwright/skyramp-playwright-1.58.2-skyramp.8.9.5.tgz +0 -0
  73. package/node_modules/playwright/skyramp-playwright-1.58.2-skyramp.8.9.6.tgz +0 -0
  74. package/package.json +3 -3
  75. package/build/services/TestHealthService.js +0 -694
  76. package/build/services/TestHealthService.test.js +0 -241
  77. package/build/types/TestDriftAnalysis.js +0 -1
  78. package/build/types/TestHealth.js +0 -4
@@ -82,6 +82,7 @@ function mkResponse() {
82
82
  (0, import_vitest.expect)(out.isFullCapture).toBe(true);
83
83
  (0, import_vitest.expect)(out.pageHash).toBe("h1");
84
84
  (0, import_vitest.expect)(out.blueprint).toEqual(bp);
85
+ (0, import_vitest.expect)(out.possibleAssertions).toEqual(import_vitest.expect.any(Array));
85
86
  });
86
87
  (0, import_vitest.it)("second call at same URL returns isFullCapture: false with a delta", async () => {
87
88
  const tab = mkTab("http://a/orders/1");
@@ -103,6 +104,7 @@ function mkResponse() {
103
104
  elementsRemoved: import_vitest.expect.any(Array),
104
105
  textChanges: import_vitest.expect.any(Array)
105
106
  });
107
+ (0, import_vitest.expect)(out2.possibleAssertions).toEqual(import_vitest.expect.any(Array));
106
108
  });
107
109
  (0, import_vitest.it)("updates stored entry so third call diffs against second", async () => {
108
110
  const tab = mkTab("http://a/orders/1");
@@ -119,6 +121,7 @@ function mkResponse() {
119
121
  (0, import_vitest.expect)(out3.isFullCapture).toBe(false);
120
122
  (0, import_vitest.expect)(out3.previousPageHash).toBe("h2");
121
123
  (0, import_vitest.expect)(out3.pageHash).toBe("h3");
124
+ (0, import_vitest.expect)(out3.possibleAssertions).toEqual(import_vitest.expect.any(Array));
122
125
  });
123
126
  (0, import_vitest.it)("different URL gets its own full capture", async () => {
124
127
  const tab = mkTab("http://a/orders/1");
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyramp/playwright",
3
- "version": "1.58.2-skyramp.8.9.4",
3
+ "version": "1.58.2-skyramp.8.9.6",
4
4
  "description": "Skyramp's fork of Playwright with trace recording for UI test generation",
5
5
  "publishConfig": {
6
6
  "access": "public"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyramp/mcp",
3
- "version": "0.2.0-rc.1",
3
+ "version": "0.2.0-rc.2",
4
4
  "main": "build/index.js",
5
5
  "exports": {
6
6
  ".": "./build/index.js",
@@ -55,11 +55,11 @@
55
55
  "dependencies": {
56
56
  "@modelcontextprotocol/sdk": "^1.24.3",
57
57
  "@playwright/test": "^1.55.0",
58
- "@skyramp/skyramp": "1.3.24",
58
+ "@skyramp/skyramp": "1.3.25",
59
59
  "dockerode": "^5.0.0",
60
60
  "fast-glob": "^3.3.3",
61
61
  "js-yaml": "^4.1.1",
62
- "playwright": "file:vendor/skyramp-playwright-1.58.2-skyramp.8.9.4.tgz",
62
+ "playwright": "file:vendor/skyramp-playwright-1.58.2-skyramp.8.9.6.tgz",
63
63
  "simple-git": "^3.30.0",
64
64
  "zod": "^3.25.3"
65
65
  },