@skyramp/mcp 0.4.1 → 0.4.2-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 (583) hide show
  1. package/build/commands/localDevTestChangesCommand.js +2 -1
  2. package/build/commands/recommendTestsAndExecuteCommand.js +15 -7
  3. package/build/commands/testThisEndpointCommand.js +35 -6
  4. package/build/execution/wrapperConfig.d.ts +56 -0
  5. package/build/execution/wrapperConfig.js +155 -0
  6. package/build/index.js +40 -10
  7. package/build/playwright/blueprintDigest.js +28 -7
  8. package/build/playwright/registerPlaywrightTools.js +47 -28
  9. package/build/playwright/traceExportStore.d.ts +22 -0
  10. package/build/playwright/traceExportStore.js +81 -0
  11. package/build/playwright/traceRecordingPrompt.js +11 -3
  12. package/build/prompts/code-reuse.js +118 -49
  13. package/build/prompts/fix-error-prompt.d.ts +9 -1
  14. package/build/prompts/fix-error-prompt.js +31 -28
  15. package/build/prompts/local-dev/local-dev-plan.d.ts +3 -0
  16. package/build/prompts/local-dev/local-dev-plan.js +8 -23
  17. package/build/prompts/local-dev/local-dev-prompts.d.ts +1 -1
  18. package/build/prompts/local-dev/local-dev-prompts.js +31 -4
  19. package/build/prompts/modularization/integration-test-modularization.js +13 -6
  20. package/build/prompts/modularization/ui-test-modularization.js +1 -1
  21. package/build/prompts/personas.js +1 -1
  22. package/build/prompts/pom-aware-code-reuse.js +7 -9
  23. package/build/prompts/reuse-hand-off.d.ts +64 -0
  24. package/build/prompts/reuse-hand-off.js +130 -0
  25. package/build/prompts/shared-helper-policy.d.ts +124 -2
  26. package/build/prompts/shared-helper-policy.js +178 -12
  27. package/build/prompts/startTraceCollectionPrompts.js +1 -1
  28. package/build/prompts/sut-setup/modes/adaptWorkflowPrompt.js +7 -8
  29. package/build/prompts/sut-setup/modes/dockerComposePrompt.js +1 -1
  30. package/build/prompts/sut-setup/shared.d.ts +4 -1
  31. package/build/prompts/sut-setup/shared.js +6 -4
  32. package/build/prompts/test-maintenance/actionsInstructions.d.ts +19 -11
  33. package/build/prompts/test-maintenance/actionsInstructions.js +47 -26
  34. package/build/prompts/test-maintenance/drift-analysis-prompt.d.ts +16 -8
  35. package/build/prompts/test-maintenance/drift-analysis-prompt.js +93 -38
  36. package/build/prompts/test-maintenance/driftAnalysisSections.js +5 -3
  37. package/build/prompts/test-maintenance/driftAnalysisShared.js +4 -2
  38. package/build/prompts/test-maintenance/uiDriftAnalysisSections.js +8 -5
  39. package/build/prompts/test-recommendation/recommendationSections.js +19 -8
  40. package/build/prompts/test-recommendation/recommendationShared.d.ts +1 -1
  41. package/build/prompts/test-recommendation/recommendationShared.js +0 -1
  42. package/build/prompts/test-recommendation/registerRecommendTestsPrompt.js +5 -2
  43. package/build/prompts/test-recommendation/test-recommendation-prompt.js +10 -7
  44. package/build/prompts/testbot/testbot-prompts.js +133 -63
  45. package/build/recommendation/answers.js +18 -9
  46. package/build/recommendation/pullRequestText.js +1 -1
  47. package/build/recommendation/registerPlan.js +31 -17
  48. package/build/recommendation/subjectStep.d.ts +8 -10
  49. package/build/recommendation/subjectStep.js +17 -16
  50. package/build/recommendation/types.d.ts +71 -17
  51. package/build/recommendation/types.js +9 -15
  52. package/build/recommendation/verifierContracts.d.ts +7 -3
  53. package/build/recommendation/verifierContracts.js +8 -4
  54. package/build/recommendation/verifiers/changedFile.js +11 -13
  55. package/build/recommendation/verifiers/citedPath.d.ts +8 -0
  56. package/build/recommendation/verifiers/citedPath.js +16 -2
  57. package/build/recommendation/verifiers/coverage.d.ts +2 -2
  58. package/build/recommendation/verifiers/coverage.js +190 -134
  59. package/build/recommendation/verifiers/defects.js +56 -16
  60. package/build/recommendation/verifiers/deliveredMatchesPlan.d.ts +7 -1
  61. package/build/recommendation/verifiers/deliveredMatchesPlan.js +28 -14
  62. package/build/recommendation/verifiers/endpointGrounded.js +14 -8
  63. package/build/recommendation/verifiers/existingCoverage.d.ts +6 -0
  64. package/build/recommendation/verifiers/existingCoverage.js +30 -21
  65. package/build/recommendation/verifiers/expectedOutcome.js +17 -8
  66. package/build/recommendation/verifiers/expectedValueSourced.js +54 -43
  67. package/build/recommendation/verifiers/issueTraceability.d.ts +5 -0
  68. package/build/recommendation/verifiers/issueTraceability.js +64 -7
  69. package/build/recommendation/verifiers/removedElementGuarded.js +19 -11
  70. package/build/recommendation/verifiers/reportedCategory.js +9 -4
  71. package/build/recommendation/verifiers/requirementSourced.js +34 -21
  72. package/build/recommendation/verifiers/screenRoute.js +15 -10
  73. package/build/recommendation/verifiers/statedDifference.js +15 -8
  74. package/build/recommendation/verifiers/uiElementGrounded.js +50 -16
  75. package/build/resources/analysisResources.js +7 -3
  76. package/build/resources/progressResource.js +4 -2
  77. package/build/resources/sutSetupResource.js +20 -2
  78. package/build/resources/testbotResource.js +19 -1
  79. package/build/services/AnalyticsService.js +3 -1
  80. package/build/services/ScenarioGenerationService.js +5 -5
  81. package/build/services/TestDiscoveryService.js +53 -9
  82. package/build/services/TestExecutionService.js +63 -21
  83. package/build/services/TestGenerationService.d.ts +1 -1
  84. package/build/services/TestGenerationService.js +43 -24
  85. package/build/skills/enhanceAssertionsSkill.d.ts +45 -0
  86. package/build/skills/enhanceAssertionsSkill.js +103 -0
  87. package/build/skills/fixTestImportErrorsSkill.d.ts +2 -2
  88. package/build/skills/fixTestImportErrorsSkill.js +2 -2
  89. package/build/skills/runTestSkill.d.ts +6 -0
  90. package/build/skills/runTestSkill.js +17 -0
  91. package/build/skills/skillFiles.d.ts +38 -0
  92. package/build/skills/skillFiles.js +94 -0
  93. package/build/skills/validateAssertionAlignmentSkill.d.ts +34 -0
  94. package/build/skills/validateAssertionAlignmentSkill.js +59 -0
  95. package/build/tool-phases.js +4 -1
  96. package/build/tools/auth/loginTool.js +3 -1
  97. package/build/tools/auth/logoutTool.js +3 -1
  98. package/build/tools/budgetExcuse.d.ts +15 -0
  99. package/build/tools/budgetExcuse.js +113 -0
  100. package/build/tools/code-refactor/alignAssertionsTool.d.ts +2 -0
  101. package/build/tools/code-refactor/alignAssertionsTool.js +51 -0
  102. package/build/tools/code-refactor/assertion-state.d.ts +1 -1
  103. package/build/tools/code-refactor/assertion-state.js +1 -1
  104. package/build/tools/code-refactor/assertionOperations.d.ts +44 -0
  105. package/build/tools/code-refactor/assertionOperations.js +82 -0
  106. package/build/tools/code-refactor/assertionSkillTools.d.ts +3 -0
  107. package/build/tools/code-refactor/assertionSkillTools.js +86 -0
  108. package/build/tools/code-refactor/codeReuseTool.js +27 -3
  109. package/build/tools/code-refactor/enhanceAssertionsTool.js +19 -83
  110. package/build/tools/code-refactor/gate-markers.d.ts +51 -0
  111. package/build/tools/code-refactor/gate-markers.js +95 -0
  112. package/build/tools/code-refactor/retrofit-state.d.ts +3 -1
  113. package/build/tools/code-refactor/retrofit-state.js +44 -2
  114. package/build/tools/code-refactor/reuse-outcome.d.ts +23 -1
  115. package/build/tools/code-refactor/reuse-outcome.js +36 -13
  116. package/build/tools/code-refactor/reuse-state.d.ts +90 -16
  117. package/build/tools/code-refactor/reuse-state.js +191 -61
  118. package/build/tools/code-refactor/utils-verify-gates.d.ts +4 -0
  119. package/build/tools/code-refactor/utils-verify-gates.js +269 -30
  120. package/build/tools/code-refactor/verify-gates.d.ts +15 -1
  121. package/build/tools/code-refactor/verify-gates.js +36 -4
  122. package/build/tools/enrichTestWithMocksTool.d.ts +1 -1
  123. package/build/tools/enrichTestWithMocksTool.js +9 -5
  124. package/build/tools/executeSkyrampTestTool.d.ts +118 -48
  125. package/build/tools/executeSkyrampTestTool.js +998 -372
  126. package/build/tools/execution-video-state.js +1 -1
  127. package/build/tools/fixErrorTool.js +5 -6
  128. package/build/tools/generate-tests/batchMockGenerationTool.js +1 -1
  129. package/build/tools/generate-tests/generateBatchScenarioRestTool.js +114 -73
  130. package/build/tools/generate-tests/generateContractRestTool.js +34 -16
  131. package/build/tools/generate-tests/generateE2ERestTool.d.ts +1 -0
  132. package/build/tools/generate-tests/generateE2ERestTool.js +9 -1
  133. package/build/tools/generate-tests/generateIntegrationRestTool.js +22 -7
  134. package/build/tools/generate-tests/generateMockRestTool.js +3 -1
  135. package/build/tools/generate-tests/generateUIRestTool.d.ts +2 -0
  136. package/build/tools/generate-tests/generateUIRestTool.js +11 -2
  137. package/build/tools/generate-tests/loadTestSchema.js +1 -3
  138. package/build/tools/generate-tests/planGuard.js +6 -3
  139. package/build/tools/generate-tests/scenarioFileIdentity.js +4 -1
  140. package/build/tools/generate-tests/scenarioLint.js +17 -5
  141. package/build/tools/generate-tests/trace-reuse-guard.js +5 -2
  142. package/build/tools/generateEnrichedIntegrationTestTool.js +9 -3
  143. package/build/tools/one-click/oneClickTool.js +3 -1
  144. package/build/tools/preflightMockCheckTool.js +23 -7
  145. package/build/tools/submitReportTool.d.ts +51 -12
  146. package/build/tools/submitReportTool.js +988 -161
  147. package/build/tools/test-management/actionsTool.js +241 -51
  148. package/build/tools/test-management/analyzeChangesTool.d.ts +8 -9
  149. package/build/tools/test-management/analyzeChangesTool.js +127 -68
  150. package/build/tools/test-management/analyzeTestHealthTool.d.ts +0 -11
  151. package/build/tools/test-management/analyzeTestHealthTool.js +42 -76
  152. package/build/tools/test-management/registerTestPlanTool.d.ts +44 -34
  153. package/build/tools/test-management/registerTestPlanTool.js +255 -111
  154. package/build/tools/test-management/resolveScreenTool.js +33 -9
  155. package/build/tools/test-management/testsOwedBeforeRun.d.ts +28 -0
  156. package/build/tools/test-management/testsOwedBeforeRun.js +53 -0
  157. package/build/tools/trace/startTraceCollectionTool.js +3 -1
  158. package/build/tools/trace/stopTraceCollectionTool.js +42 -6
  159. package/build/tools/verifyTestDependenciesTool.d.ts +3 -0
  160. package/build/tools/verifyTestDependenciesTool.js +54 -0
  161. package/build/tools/workspace/initScanWorkspaceTool.js +9 -3
  162. package/build/tools/workspace/initializeWorkspaceTool.js +3 -1
  163. package/build/types/AssertionOutcome.d.ts +1 -1
  164. package/build/types/EnhanceType.d.ts +6 -0
  165. package/build/types/EnhanceType.js +1 -0
  166. package/build/types/RepositoryAnalysis.d.ts +32 -72
  167. package/build/types/ReuseOutcome.d.ts +100 -7
  168. package/build/types/ReuseOutcome.js +16 -0
  169. package/build/types/StepMethod.js +20 -6
  170. package/build/types/TestAnalysis.d.ts +10 -2
  171. package/build/types/TestExecution.d.ts +45 -0
  172. package/build/types/TestRecommendation.d.ts +1 -1
  173. package/build/types/TestRecommendation.js +4 -1
  174. package/build/types/TestTypes.d.ts +16 -0
  175. package/build/types/TestTypes.js +40 -3
  176. package/build/types/TestbotPromptOptions.d.ts +9 -1
  177. package/build/types/TestbotReport.d.ts +45 -9
  178. package/build/utils/AnalysisStateManager.d.ts +137 -34
  179. package/build/utils/AnalysisStateManager.js +228 -44
  180. package/build/utils/assertion-verify/api-shared-lints.js +34 -16
  181. package/build/utils/assertion-verify/metrics.js +39 -6
  182. package/build/utils/assertion-verify/ui-lints.js +4 -2
  183. package/build/utils/branchDiff.js +47 -12
  184. package/build/utils/canonicalJson.js +3 -1
  185. package/build/utils/connectionErrors.d.ts +10 -0
  186. package/build/utils/connectionErrors.js +10 -0
  187. package/build/utils/dartRouteExtractor.js +36 -7
  188. package/build/utils/fixAttempts.d.ts +26 -0
  189. package/build/utils/fixAttempts.js +109 -0
  190. package/build/utils/frontendSelectors.js +23 -4
  191. package/build/utils/generatedTestRecord.d.ts +19 -0
  192. package/build/utils/generatedTestRecord.js +61 -0
  193. package/build/utils/gitStaging.js +7 -2
  194. package/build/utils/initAgent.js +26 -6
  195. package/build/utils/language-helper.js +60 -45
  196. package/build/utils/pathMatching.js +2 -1
  197. package/build/utils/pathSignatures.js +6 -2
  198. package/build/utils/planMatchKeys.d.ts +2 -2
  199. package/build/utils/planMatchKeys.js +20 -14
  200. package/build/utils/pom-catalog-parse.js +7 -2
  201. package/build/utils/pom-scope/import-expansion.js +6 -1
  202. package/build/utils/pom-scope/index.js +50 -12
  203. package/build/utils/pom-scope/scoring.js +13 -3
  204. package/build/utils/pom-scope/selector-extractor.js +16 -3
  205. package/build/utils/pom-scope/strip.d.ts +8 -0
  206. package/build/utils/pom-scope/strip.js +238 -0
  207. package/build/utils/pom-scope/testIdDiscovery.js +14 -2
  208. package/build/utils/pom-verify/__fixtures__/af-style/asset-list.page.d.ts +1 -1
  209. package/build/utils/pom-verify/__fixtures__/af-style/asset-list.page.js +4 -2
  210. package/build/utils/pom-verify/__fixtures__/af-style/report.iframe.page.js +3 -1
  211. package/build/utils/pom-verify/__fixtures__/af-style/workflow-footer.page.js +3 -1
  212. package/build/utils/pom-verify/bindings.js +5 -1
  213. package/build/utils/pom-verify/calls.js +9 -2
  214. package/build/utils/pom-verify/verify.js +27 -5
  215. package/build/utils/pr-comment-parser.js +20 -7
  216. package/build/utils/progress.d.ts +1 -1
  217. package/build/utils/progress.js +1 -1
  218. package/build/utils/proxy-terminal.d.ts +19 -1
  219. package/build/utils/proxy-terminal.js +346 -21
  220. package/build/utils/rebaselineSnapshots.d.ts +1 -1
  221. package/build/utils/rebaselineSnapshots.js +6 -16
  222. package/build/utils/removedUiElements.js +1 -1
  223. package/build/utils/reportLanguage.js +35 -7
  224. package/build/utils/reportVerification.d.ts +14 -8
  225. package/build/utils/reportVerification.js +19 -19
  226. package/build/utils/repositorySlug.d.ts +32 -0
  227. package/build/utils/repositorySlug.js +77 -0
  228. package/build/utils/reuseRouting.d.ts +10 -0
  229. package/build/utils/reuseRouting.js +21 -2
  230. package/build/utils/runContextGauge.d.ts +27 -0
  231. package/build/utils/runContextGauge.js +181 -0
  232. package/build/utils/runSerialized.d.ts +3 -0
  233. package/build/utils/runSerialized.js +39 -0
  234. package/build/utils/screenRoutes.js +74 -18
  235. package/build/utils/skyrampMdContent.d.ts +1 -1
  236. package/build/utils/skyrampMdContent.js +1 -1
  237. package/build/utils/skyrampSdkVersion.d.ts +9 -0
  238. package/build/utils/skyrampSdkVersion.js +16 -0
  239. package/build/utils/sourceRouteExtractor.js +13 -6
  240. package/build/utils/telemetry.d.ts +1 -0
  241. package/build/utils/telemetry.js +8 -5
  242. package/build/utils/testDependencyPolicy.d.ts +9 -0
  243. package/build/utils/testDependencyPolicy.js +809 -0
  244. package/build/utils/testExecutionRecord.d.ts +94 -0
  245. package/build/utils/testExecutionRecord.js +269 -0
  246. package/build/utils/testFileClassification.d.ts +8 -0
  247. package/build/utils/testFileClassification.js +39 -4
  248. package/build/utils/trace-parser.js +62 -14
  249. package/build/utils/urlPath.js +3 -1
  250. package/build/utils/utils-verify/action-key.d.ts +46 -0
  251. package/build/utils/utils-verify/action-key.js +120 -38
  252. package/build/utils/utils-verify/action-sites.d.ts +32 -0
  253. package/build/utils/utils-verify/action-sites.js +202 -0
  254. package/build/utils/utils-verify/allow.d.ts +122 -3
  255. package/build/utils/utils-verify/allow.js +146 -21
  256. package/build/utils/utils-verify/body-reach.d.ts +120 -0
  257. package/build/utils/utils-verify/body-reach.js +333 -0
  258. package/build/utils/utils-verify/call-sites.d.ts +31 -7
  259. package/build/utils/utils-verify/call-sites.js +80 -13
  260. package/build/utils/utils-verify/delivered-imports.d.ts +43 -0
  261. package/build/utils/utils-verify/delivered-imports.js +84 -0
  262. package/build/utils/utils-verify/fixed-sleep.d.ts +96 -0
  263. package/build/utils/utils-verify/fixed-sleep.js +461 -0
  264. package/build/utils/utils-verify/in-house.d.ts +93 -0
  265. package/build/utils/utils-verify/in-house.js +719 -0
  266. package/build/utils/utils-verify/incumbent.d.ts +3 -0
  267. package/build/utils/utils-verify/incumbent.js +75 -0
  268. package/build/utils/utils-verify/index.d.ts +2 -0
  269. package/build/utils/utils-verify/index.js +2 -0
  270. package/build/utils/utils-verify/language-spec.d.ts +51 -10
  271. package/build/utils/utils-verify/language-spec.js +232 -21
  272. package/build/utils/utils-verify/locate.d.ts +26 -0
  273. package/build/utils/utils-verify/locate.js +125 -23
  274. package/build/utils/utils-verify/module-name.d.ts +40 -0
  275. package/build/utils/utils-verify/module-name.js +98 -0
  276. package/build/utils/utils-verify/parse.d.ts +56 -7
  277. package/build/utils/utils-verify/parse.js +195 -40
  278. package/build/utils/utils-verify/retrofit-equivalence.d.ts +5 -0
  279. package/build/utils/utils-verify/retrofit-equivalence.js +4 -2
  280. package/build/utils/utils-verify/stage.d.ts +5 -0
  281. package/build/utils/utils-verify/stage.js +47 -2
  282. package/build/utils/utils-verify/status-once.d.ts +62 -0
  283. package/build/utils/utils-verify/status-once.js +207 -0
  284. package/build/utils/utils-verify/typecheck.d.ts +61 -0
  285. package/build/utils/utils-verify/typecheck.js +338 -0
  286. package/build/utils/utils-verify/verify.d.ts +79 -3
  287. package/build/utils/utils-verify/verify.js +531 -61
  288. package/build/utils/versions.d.ts +3 -3
  289. package/build/utils/versions.js +1 -1
  290. package/build/utils/workspaceAuth.js +107 -37
  291. package/build/workspace/queryParamResolution.js +11 -4
  292. package/build/workspace/workspace.d.ts +72 -52
  293. package/build/workspace/workspace.js +19 -15
  294. package/node_modules/playwright/ThirdPartyNotices.txt +19 -19
  295. package/node_modules/playwright/lib/mcp/skyramp/assertTool.js +8 -2
  296. package/node_modules/playwright/lib/mcp/skyramp/common/cssValue.js +87 -0
  297. package/node_modules/playwright/lib/mcp/skyramp/loadTraceTool.js +31 -0
  298. package/node_modules/playwright/lib/mcp/skyramp/skyRampImport.js +3 -0
  299. package/node_modules/playwright/lib/mcp/skyramp/traceRecordingBackend.js +181 -15
  300. package/node_modules/playwright/lib/mcp/test/skyRampExport.js +24 -0
  301. package/node_modules/playwright/lib/transform/babelBundleImpl.js +2353 -190
  302. package/node_modules/playwright/node_modules/playwright-core/ThirdPartyNotices.txt +62 -34
  303. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/.package-lock.json +72 -41
  304. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/@hono/node-server/dist/serve-static.js +1 -1
  305. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/@hono/node-server/dist/serve-static.mjs +1 -1
  306. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/@hono/node-server/package.json +2 -2
  307. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/README.md +16 -1
  308. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/index.js +4 -20
  309. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/lib/read.js +17 -17
  310. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/lib/types/json.js +60 -32
  311. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/lib/types/raw.js +3 -3
  312. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/lib/types/text.js +3 -3
  313. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/lib/types/urlencoded.js +16 -20
  314. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/lib/utils.js +18 -16
  315. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/node_modules/content-type/LICENSE +22 -0
  316. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/node_modules/content-type/README.md +71 -0
  317. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/node_modules/content-type/dist/index.d.ts +46 -0
  318. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/node_modules/content-type/dist/index.js +176 -0
  319. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/node_modules/content-type/dist/index.js.map +1 -0
  320. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/node_modules/content-type/package.json +52 -0
  321. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/package.json +23 -10
  322. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/es-object-atoms/CHANGELOG.md +21 -14
  323. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/es-object-atoms/isObject.d.ts +1 -1
  324. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/es-object-atoms/package.json +6 -7
  325. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/es-object-atoms/tsconfig.json +1 -0
  326. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/index.js +266 -45
  327. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/lib/schemes.js +9 -4
  328. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/lib/utils.js +396 -92
  329. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/package.json +1 -1
  330. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/component-safe-serialization.test.js +163 -0
  331. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/equal.test.js +31 -3
  332. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/fixtures/uri-js-parse.json +2 -0
  333. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/ipv6-canonical.test.js +34 -0
  334. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/ipv6-validation.test.js +124 -0
  335. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/malformed-percent.test.js +77 -0
  336. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/malformed-urn.test.js +61 -0
  337. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/parse.test.js +7 -3
  338. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/query-fragment-normalization.test.js +33 -0
  339. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/reserved-path-normalization.test.js +109 -0
  340. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/scheme-validation.test.js +124 -0
  341. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/security-normalization.test.js +101 -0
  342. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/security.test.js +301 -3
  343. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/urn-full-input.test.js +29 -0
  344. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/websocket-query-preservation.test.js +24 -0
  345. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hasown/CHANGELOG.md +7 -0
  346. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hasown/index.d.ts +0 -1
  347. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hasown/package.json +4 -5
  348. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/client/client.js +30 -16
  349. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/client/utils.js +4 -1
  350. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/context.js +32 -13
  351. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/helper/accepts/accepts.js +36 -2
  352. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/helper/proxy/index.js +4 -0
  353. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/helper/ssg/ssg.js +1 -1
  354. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/helper/ssg/utils.js +30 -10
  355. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/helper/streaming/sse.js +5 -4
  356. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/hono-base.js +10 -8
  357. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/jsx/base.js +44 -23
  358. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/jsx/components.js +25 -26
  359. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/jsx/context.js +5 -5
  360. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/jsx/dom/render.js +2 -0
  361. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/jsx/dom/server.js +5 -1
  362. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/jsx/hooks/index.js +16 -13
  363. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/jsx/intrinsic-element/components.js +3 -3
  364. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/jsx/streaming.js +4 -5
  365. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/cache/index.js +103 -8
  366. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/compress/index.js +5 -0
  367. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/cors/index.js +17 -14
  368. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/csrf/index.js +1 -1
  369. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/etag/digest.js +47 -1
  370. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/etag/index.js +7 -4
  371. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/jwk/jwk.js +9 -4
  372. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/jwt/jwt.js +9 -4
  373. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/language/language.js +10 -6
  374. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/method-not-allowed/index.js +90 -0
  375. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/pretty-json/index.js +3 -1
  376. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/secure-headers/secure-headers.js +16 -7
  377. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/request.js +20 -13
  378. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/router/linear-router/router.js +7 -2
  379. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/router/pattern-router/router.js +3 -9
  380. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/router/reg-exp-router/node.js +65 -59
  381. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/router/reg-exp-router/router.js +71 -128
  382. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/router/reg-exp-router/trie.js +14 -5
  383. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/router/trie-router/node.js +47 -70
  384. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/router/trie-router/router.js +3 -11
  385. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/router/utils.js +27 -0
  386. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/router.js +1 -1
  387. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/utils/accept.js +1 -1
  388. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/utils/body.js +21 -3
  389. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/utils/cookie.js +4 -3
  390. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/utils/ipaddr.js +5 -3
  391. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/utils/stream.js +12 -3
  392. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/utils/url.js +19 -11
  393. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/client/client.js +30 -16
  394. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/client/utils.js +4 -1
  395. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/context.js +32 -13
  396. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/helper/accepts/accepts.js +36 -2
  397. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/helper/proxy/index.js +4 -0
  398. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/helper/ssg/ssg.js +1 -1
  399. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/helper/ssg/utils.js +30 -10
  400. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/helper/streaming/sse.js +5 -4
  401. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/hono-base.js +10 -8
  402. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/jsx/base.js +41 -23
  403. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/jsx/components.js +26 -27
  404. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/jsx/context.js +6 -6
  405. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/jsx/dom/render.js +2 -0
  406. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/jsx/dom/server.js +5 -1
  407. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/jsx/hooks/index.js +16 -13
  408. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/jsx/intrinsic-element/components.js +4 -4
  409. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/jsx/streaming.js +5 -6
  410. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/cache/index.js +103 -8
  411. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/compress/index.js +5 -0
  412. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/cors/index.js +17 -14
  413. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/csrf/index.js +1 -1
  414. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/etag/digest.js +47 -1
  415. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/etag/index.js +7 -4
  416. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/jwk/jwk.js +9 -4
  417. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/jwt/jwt.js +9 -4
  418. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/language/language.js +10 -6
  419. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/method-not-allowed/index.js +68 -0
  420. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/pretty-json/index.js +3 -1
  421. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/secure-headers/secure-headers.js +16 -7
  422. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/request.js +21 -14
  423. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/router/linear-router/router.js +7 -2
  424. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/router/pattern-router/router.js +3 -9
  425. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/router/reg-exp-router/node.js +61 -58
  426. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/router/reg-exp-router/router.js +77 -129
  427. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/router/reg-exp-router/trie.js +14 -5
  428. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/router/trie-router/node.js +47 -70
  429. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/router/trie-router/router.js +3 -11
  430. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/router/utils.js +5 -0
  431. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/router.js +1 -1
  432. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/adapter/aws-lambda/types.d.ts +9 -0
  433. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/client/types.d.ts +1 -1
  434. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/context.d.ts +6 -2
  435. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/hono-base.d.ts +4 -3
  436. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/jsx/base.d.ts +7 -2
  437. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/jsx/dom/index.d.ts +5 -5
  438. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/jsx/dom/intrinsic-element/components.d.ts +2 -2
  439. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/jsx/dom/server.d.ts +5 -5
  440. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/jsx/hooks/index.d.ts +8 -6
  441. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/jsx/index.d.ts +5 -5
  442. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/middleware/cache/index.d.ts +6 -4
  443. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/middleware/combine/index.d.ts +1 -1
  444. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/middleware/cors/index.d.ts +1 -1
  445. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/middleware/jsx-renderer/index.d.ts +2 -2
  446. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/middleware/jwk/jwk.d.ts +2 -0
  447. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/middleware/jwt/jwt.d.ts +2 -0
  448. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/middleware/method-not-allowed/index.d.ts +49 -0
  449. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/middleware/secure-headers/permissions-policy.d.ts +3 -3
  450. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/router/reg-exp-router/node.d.ts +4 -1
  451. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/router/reg-exp-router/trie.d.ts +2 -1
  452. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/router/trie-router/node.d.ts +1 -2
  453. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/router/trie-router/router.d.ts +0 -1
  454. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/router/utils.d.ts +1 -0
  455. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/router.d.ts +1 -1
  456. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/utils/headers.d.ts +2 -2
  457. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/utils/url.d.ts +5 -0
  458. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/utils/accept.js +1 -1
  459. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/utils/body.js +21 -3
  460. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/utils/cookie.js +5 -4
  461. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/utils/ipaddr.js +5 -3
  462. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/utils/stream.js +12 -3
  463. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/utils/url.js +17 -10
  464. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/package.json +11 -4
  465. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/README.md +173 -143
  466. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/address-error.d.ts +11 -0
  467. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/address-error.js.map +1 -1
  468. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/common.d.ts +49 -0
  469. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/common.js +79 -4
  470. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/common.js.map +1 -1
  471. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/ipv4.d.ts +78 -5
  472. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/ipv4.js +119 -24
  473. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/ipv4.js.map +1 -1
  474. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/ipv6.d.ts +151 -10
  475. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/ipv6.js +316 -90
  476. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/ipv6.js.map +1 -1
  477. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/v4/constants.d.ts +12 -0
  478. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/v4/constants.js +45 -2
  479. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/v4/constants.js.map +1 -1
  480. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/v6/constants.d.ts +14 -0
  481. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/v6/constants.js +50 -3
  482. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/v6/constants.js.map +1 -1
  483. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/package.json +6 -4
  484. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/qs/.github/THREAT_MODEL.md +3 -3
  485. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/qs/CHANGELOG.md +26 -0
  486. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/qs/README.md +19 -1
  487. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/qs/dist/qs.js +25 -25
  488. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/qs/eslint.config.mjs +1 -1
  489. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/qs/lib/parse.js +16 -6
  490. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/qs/lib/stringify.js +23 -8
  491. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/qs/lib/utils.js +57 -11
  492. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/qs/package.json +8 -7
  493. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/qs/test/parse.js +419 -0
  494. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/qs/test/stringify.js +317 -0
  495. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/qs/test/utils.js +206 -0
  496. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/side-channel/CHANGELOG.md +10 -0
  497. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/side-channel/README.md +1 -1
  498. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/side-channel/index.js +5 -2
  499. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/side-channel/package.json +10 -10
  500. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/side-channel/test/index.js +16 -0
  501. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/type-is/index.js +8 -18
  502. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/type-is/node_modules/content-type/LICENSE +22 -0
  503. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/type-is/node_modules/content-type/README.md +71 -0
  504. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/type-is/node_modules/content-type/dist/index.d.ts +46 -0
  505. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/type-is/node_modules/content-type/dist/index.js +176 -0
  506. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/type-is/node_modules/content-type/dist/index.js.map +1 -0
  507. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/type-is/node_modules/content-type/package.json +52 -0
  508. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/type-is/package.json +9 -5
  509. package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/package-lock.json +72 -41
  510. package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/.package-lock.json +6 -6
  511. package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/brace-expansion/README.md +23 -1
  512. package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/brace-expansion/index.js +265 -86
  513. package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/brace-expansion/package.json +1 -1
  514. package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/README.md +173 -143
  515. package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/address-error.d.ts +11 -0
  516. package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/address-error.js.map +1 -1
  517. package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/common.d.ts +49 -0
  518. package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/common.js +79 -4
  519. package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/common.js.map +1 -1
  520. package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/ipv4.d.ts +78 -5
  521. package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/ipv4.js +119 -24
  522. package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/ipv4.js.map +1 -1
  523. package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/ipv6.d.ts +151 -10
  524. package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/ipv6.js +316 -90
  525. package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/ipv6.js.map +1 -1
  526. package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/v4/constants.d.ts +12 -0
  527. package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/v4/constants.js +45 -2
  528. package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/v4/constants.js.map +1 -1
  529. package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/v6/constants.d.ts +14 -0
  530. package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/v6/constants.js +50 -3
  531. package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/v6/constants.js.map +1 -1
  532. package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/package.json +6 -4
  533. package/node_modules/playwright/node_modules/playwright-core/bundles/utils/package-lock.json +6 -6
  534. package/node_modules/playwright/node_modules/playwright-core/lib/cli/program.js +18 -9
  535. package/node_modules/playwright/node_modules/playwright-core/lib/mcpBundleImpl/index.js +47 -47
  536. package/node_modules/playwright/node_modules/playwright-core/lib/server/codegen/skyramp/jsonlReader.js +3 -0
  537. package/node_modules/playwright/node_modules/playwright-core/lib/server/recorder/recorderRunner.js +42 -0
  538. package/node_modules/playwright/node_modules/playwright-core/lib/utilsBundleImpl/index.js +121 -121
  539. package/node_modules/playwright/node_modules/playwright-core/lib/vite/traceViewer/{index.B7KbSQcC.js → index.BAkLd5DX.js} +1 -1
  540. package/node_modules/playwright/node_modules/playwright-core/lib/vite/traceViewer/index.html +1 -1
  541. package/node_modules/playwright/node_modules/playwright-core/package.json +1 -1
  542. package/node_modules/playwright/node_modules/playwright-core/src/cli/program.ts +31 -9
  543. package/node_modules/playwright/node_modules/playwright-core/src/server/codegen/skyramp/jsonlReader.ts +1 -0
  544. package/node_modules/playwright/node_modules/playwright-core/src/server/recorder/recorderRunner.ts +57 -1
  545. package/node_modules/playwright/package.json +2 -2
  546. package/package.json +7 -6
  547. package/plugin/prompts/code-reuse/hand-off.md +30 -0
  548. package/plugin/prompts/generate-tests/generation.md +1 -1
  549. package/plugin/prompts/plan-tests.md +14 -14
  550. package/plugin/prompts/testbot-task1.md +2 -2
  551. package/plugin/skills/enhance-assertions/SKILL.md +25 -0
  552. package/plugin/skills/enhance-assertions/reference/contract.md +51 -0
  553. package/plugin/skills/enhance-assertions/reference/integration.md +58 -0
  554. package/plugin/skills/enhance-assertions/reference/shared-rules.md +220 -0
  555. package/plugin/skills/enhance-assertions/reference/ui.md +373 -0
  556. package/plugin/skills/fix-test-import-errors/SKILL.md +45 -50
  557. package/plugin/skills/run-test/SKILL.md +16 -0
  558. package/plugin/skills/validate-assertion-alignment-post-execution/SKILL.md +32 -0
  559. package/plugin/skills/validate-assertion-alignment-post-execution/reference/checks.md +44 -0
  560. package/plugin/skills/validate-assertion-alignment-post-execution/reference/evidence.md +47 -0
  561. package/build/adapters/jestAdapter.d.ts +0 -14
  562. package/build/adapters/jestAdapter.js +0 -113
  563. package/build/adapters/mochaAdapter.d.ts +0 -13
  564. package/build/adapters/mochaAdapter.js +0 -87
  565. package/build/adapters/playwrightAdapter.d.ts +0 -17
  566. package/build/adapters/playwrightAdapter.js +0 -182
  567. package/build/adapters/pytestAdapter.d.ts +0 -15
  568. package/build/adapters/pytestAdapter.js +0 -108
  569. package/build/prompts/enhance-assertions/contractProviderAssertionsPrompt.d.ts +0 -2
  570. package/build/prompts/enhance-assertions/contractProviderAssertionsPrompt.js +0 -29
  571. package/build/prompts/enhance-assertions/integrationAssertionsPrompt.d.ts +0 -2
  572. package/build/prompts/enhance-assertions/integrationAssertionsPrompt.js +0 -36
  573. package/build/prompts/enhance-assertions/sharedAssertionRules.d.ts +0 -16
  574. package/build/prompts/enhance-assertions/sharedAssertionRules.js +0 -284
  575. package/build/prompts/enhance-assertions/uiAssertionsPrompt.d.ts +0 -2
  576. package/build/prompts/enhance-assertions/uiAssertionsPrompt.js +0 -388
  577. package/build/tools/runExistingTestsTool.d.ts +0 -138
  578. package/build/tools/runExistingTestsTool.js +0 -644
  579. package/build/types/ExternalTestExecution.d.ts +0 -67
  580. package/build/types/ExternalTestExecution.js +0 -8
  581. package/build/workspace/testSuites.d.ts +0 -20
  582. package/build/workspace/testSuites.js +0 -17
  583. package/node_modules/playwright/node_modules/playwright-core/.DS_Store +0 -0
@@ -1,6 +1,4 @@
1
1
  import { z } from "zod";
2
- import { ScenarioCategory } from "./TestRecommendation.js";
3
- import { TestType } from "./TestTypes.js";
4
2
  import type { ProjectType, DeploymentPattern } from "../utils/projectMetadata.js";
5
3
  /**
6
4
  * Repository Analysis Types
@@ -98,44 +96,6 @@ export declare enum ScenarioSource {
98
96
  Documentation = "documentation",
99
97
  AgentEnriched = "agent-enriched"
100
98
  }
101
- export interface PlanScenario {
102
- scenarioName: string;
103
- description: string;
104
- category: ScenarioCategory;
105
- priority: "high" | "medium" | "low";
106
- steps: ScenarioStep[];
107
- chainingKeys: string[];
108
- requiresAuth: boolean;
109
- estimatedComplexity: "simple" | "moderate" | "complex";
110
- source?: ScenarioSource;
111
- /** Only integration, contract, e2e, and ui are valid for drafted scenarios. */
112
- testType?: TestType;
113
- /** Internal marker for destructive sibling auth-boundary scenarios. */
114
- isAttackSurfaceSecurityBoundary?: boolean;
115
- /**
116
- * The specific bug or formula this test is designed to catch.
117
- * Written during scenario drafting when source code is read.
118
- * Examples:
119
- * "discount formula: total_amount = subtotal * (1 - discount_value / 100)"
120
- * "items not recalculated after PATCH — total_amount stays at old value"
121
- * "missing 404 guard on non-existent order_id"
122
- * Used by the testbot to compute exact assertion values instead of null-checks.
123
- */
124
- bugCatchingTarget?: string;
125
- /**
126
- * The endpoints this test is about, resolved one time by
127
- * `resolveSubjectEndpoints` where the PR diff is available. Every dedup
128
- * reader keys off this list rather than deriving a subject again from
129
- * `steps[]` — SKYR-4214: two stages derived different subjects for one
130
- * candidate, so whether a candidate deduped depended on whether the model
131
- * happened to append a cleanup step.
132
- *
133
- * Absent on a scenario from an older state file; readers then fall back to
134
- * the last-mutating-step rule. An EMPTY list means "no information" and must
135
- * never be read as "covered".
136
- */
137
- subjectEndpoints?: SubjectEndpoint[];
138
- }
139
99
  export interface BranchDiffContext {
140
100
  currentBranch: string;
141
101
  baseBranch: string;
@@ -967,15 +927,15 @@ export declare const chainingRefSchema: z.ZodObject<{
967
927
  }, "strip", z.ZodTypeAny, {
968
928
  sourceStep: number;
969
929
  sourceField: string;
970
- sourceLocation: "body" | "header" | "cookie";
930
+ sourceLocation: "cookie" | "body" | "header";
971
931
  targetParam: string;
972
- targetLocation: "path" | "body" | "header" | "cookie" | "query";
932
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
973
933
  }, {
974
934
  sourceStep: number;
975
935
  sourceField: string;
976
- sourceLocation: "body" | "header" | "cookie";
936
+ sourceLocation: "cookie" | "body" | "header";
977
937
  targetParam: string;
978
- targetLocation: "path" | "body" | "header" | "cookie" | "query";
938
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
979
939
  }>;
980
940
  export declare const scenarioStepSchema: z.ZodObject<{
981
941
  order: z.ZodNumber;
@@ -997,15 +957,15 @@ export declare const scenarioStepSchema: z.ZodObject<{
997
957
  }, "strip", z.ZodTypeAny, {
998
958
  sourceStep: number;
999
959
  sourceField: string;
1000
- sourceLocation: "body" | "header" | "cookie";
960
+ sourceLocation: "cookie" | "body" | "header";
1001
961
  targetParam: string;
1002
- targetLocation: "path" | "body" | "header" | "cookie" | "query";
962
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1003
963
  }, {
1004
964
  sourceStep: number;
1005
965
  sourceField: string;
1006
- sourceLocation: "body" | "header" | "cookie";
966
+ sourceLocation: "cookie" | "body" | "header";
1007
967
  targetParam: string;
1008
- targetLocation: "path" | "body" | "header" | "cookie" | "query";
968
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1009
969
  }>, z.ZodArray<z.ZodObject<{
1010
970
  sourceStep: z.ZodNumber;
1011
971
  sourceField: z.ZodString;
@@ -1015,15 +975,15 @@ export declare const scenarioStepSchema: z.ZodObject<{
1015
975
  }, "strip", z.ZodTypeAny, {
1016
976
  sourceStep: number;
1017
977
  sourceField: string;
1018
- sourceLocation: "body" | "header" | "cookie";
978
+ sourceLocation: "cookie" | "body" | "header";
1019
979
  targetParam: string;
1020
- targetLocation: "path" | "body" | "header" | "cookie" | "query";
980
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1021
981
  }, {
1022
982
  sourceStep: number;
1023
983
  sourceField: string;
1024
- sourceLocation: "body" | "header" | "cookie";
984
+ sourceLocation: "cookie" | "body" | "header";
1025
985
  targetParam: string;
1026
- targetLocation: "path" | "body" | "header" | "cookie" | "query";
986
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1027
987
  }>, "many">]>>;
1028
988
  bodyMustInclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1029
989
  }, "strip", z.ZodTypeAny, {
@@ -1040,15 +1000,15 @@ export declare const scenarioStepSchema: z.ZodObject<{
1040
1000
  chainsFrom?: {
1041
1001
  sourceStep: number;
1042
1002
  sourceField: string;
1043
- sourceLocation: "body" | "header" | "cookie";
1003
+ sourceLocation: "cookie" | "body" | "header";
1044
1004
  targetParam: string;
1045
- targetLocation: "path" | "body" | "header" | "cookie" | "query";
1005
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1046
1006
  } | {
1047
1007
  sourceStep: number;
1048
1008
  sourceField: string;
1049
- sourceLocation: "body" | "header" | "cookie";
1009
+ sourceLocation: "cookie" | "body" | "header";
1050
1010
  targetParam: string;
1051
- targetLocation: "path" | "body" | "header" | "cookie" | "query";
1011
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1052
1012
  }[] | undefined;
1053
1013
  bodyMustInclude?: string[] | undefined;
1054
1014
  }, {
@@ -1065,15 +1025,15 @@ export declare const scenarioStepSchema: z.ZodObject<{
1065
1025
  chainsFrom?: {
1066
1026
  sourceStep: number;
1067
1027
  sourceField: string;
1068
- sourceLocation: "body" | "header" | "cookie";
1028
+ sourceLocation: "cookie" | "body" | "header";
1069
1029
  targetParam: string;
1070
- targetLocation: "path" | "body" | "header" | "cookie" | "query";
1030
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1071
1031
  } | {
1072
1032
  sourceStep: number;
1073
1033
  sourceField: string;
1074
- sourceLocation: "body" | "header" | "cookie";
1034
+ sourceLocation: "cookie" | "body" | "header";
1075
1035
  targetParam: string;
1076
- targetLocation: "path" | "body" | "header" | "cookie" | "query";
1036
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1077
1037
  }[] | undefined;
1078
1038
  bodyMustInclude?: string[] | undefined;
1079
1039
  }>;
@@ -1224,14 +1184,14 @@ export declare const repositoryAnalysisSchema: z.ZodObject<{
1224
1184
  path: string;
1225
1185
  version: string;
1226
1186
  authType: string;
1227
- endpointCount: number;
1228
1187
  baseUrl: string;
1188
+ endpointCount: number;
1229
1189
  }, {
1230
1190
  path: string;
1231
1191
  version: string;
1232
1192
  authType: string;
1233
- endpointCount: number;
1234
1193
  baseUrl: string;
1194
+ endpointCount: number;
1235
1195
  }>, "many">;
1236
1196
  playwrightRecordings: z.ZodArray<z.ZodObject<{
1237
1197
  path: z.ZodString;
@@ -1265,8 +1225,8 @@ export declare const repositoryAnalysisSchema: z.ZodObject<{
1265
1225
  path: string;
1266
1226
  version: string;
1267
1227
  authType: string;
1268
- endpointCount: number;
1269
1228
  baseUrl: string;
1229
+ endpointCount: number;
1270
1230
  }[];
1271
1231
  playwrightRecordings: {
1272
1232
  path: string;
@@ -1284,8 +1244,8 @@ export declare const repositoryAnalysisSchema: z.ZodObject<{
1284
1244
  path: string;
1285
1245
  version: string;
1286
1246
  authType: string;
1287
- endpointCount: number;
1288
1247
  baseUrl: string;
1248
+ endpointCount: number;
1289
1249
  }[];
1290
1250
  playwrightRecordings: {
1291
1251
  path: string;
@@ -1429,6 +1389,9 @@ export declare const repositoryAnalysisSchema: z.ZodObject<{
1429
1389
  scanDepth: "quick" | "full";
1430
1390
  analysisScope?: AnalysisScope | undefined;
1431
1391
  };
1392
+ workspace: {
1393
+ baseUrl: string;
1394
+ };
1432
1395
  projectClassification: {
1433
1396
  projectType: "rest-api" | "frontend" | "full-stack" | "microservices" | "library" | "cli" | "other";
1434
1397
  primaryLanguage: string;
@@ -1456,8 +1419,8 @@ export declare const repositoryAnalysisSchema: z.ZodObject<{
1456
1419
  path: string;
1457
1420
  version: string;
1458
1421
  authType: string;
1459
- endpointCount: number;
1460
1422
  baseUrl: string;
1423
+ endpointCount: number;
1461
1424
  }[];
1462
1425
  playwrightRecordings: {
1463
1426
  path: string;
@@ -1471,9 +1434,6 @@ export declare const repositoryAnalysisSchema: z.ZodObject<{
1471
1434
  }[];
1472
1435
  notFound: string[];
1473
1436
  };
1474
- workspace: {
1475
- baseUrl: string;
1476
- };
1477
1437
  authentication: {
1478
1438
  method: string;
1479
1439
  configLocation: string;
@@ -1517,6 +1477,9 @@ export declare const repositoryAnalysisSchema: z.ZodObject<{
1517
1477
  scanDepth: "quick" | "full";
1518
1478
  analysisScope?: AnalysisScope | undefined;
1519
1479
  };
1480
+ workspace: {
1481
+ baseUrl: string;
1482
+ };
1520
1483
  projectClassification: {
1521
1484
  projectType: "rest-api" | "frontend" | "full-stack" | "microservices" | "library" | "cli" | "other";
1522
1485
  primaryLanguage: string;
@@ -1544,8 +1507,8 @@ export declare const repositoryAnalysisSchema: z.ZodObject<{
1544
1507
  path: string;
1545
1508
  version: string;
1546
1509
  authType: string;
1547
- endpointCount: number;
1548
1510
  baseUrl: string;
1511
+ endpointCount: number;
1549
1512
  }[];
1550
1513
  playwrightRecordings: {
1551
1514
  path: string;
@@ -1559,9 +1522,6 @@ export declare const repositoryAnalysisSchema: z.ZodObject<{
1559
1522
  }[];
1560
1523
  notFound: string[];
1561
1524
  };
1562
- workspace: {
1563
- baseUrl: string;
1564
- };
1565
1525
  authentication: {
1566
1526
  method: string;
1567
1527
  configLocation: string;
@@ -17,6 +17,22 @@ import type { UtilsViolationKind } from "../utils/utils-verify/allow.js";
17
17
  * The internal record that run state keeps between the verify pass and the report
18
18
  * step (`ReuseRecord`) deliberately stays private to the derivation module — it is
19
19
  * not part of this contract and must never reach a report.
20
+ *
21
+ * ABSENCE MEANS NOT MEASURED — the one invariant every member here obeys, and the
22
+ * one a producer is most likely to break. An optional member is omitted when this
23
+ * run did not establish its value, NEVER to mean `false`, `0` or "no": a `boolean?`
24
+ * left off says the check did not run, not that it failed, and a count left off says
25
+ * nothing was counted, not that the count was zero. So a producer that cannot
26
+ * measure something omits it rather than defaulting it, and a consumer renders an
27
+ * absent member as unknown rather than as a negative result.
28
+ *
29
+ * It is what lets a field be added without re-reading every row ever written, and
30
+ * what keeps a row from asserting more than the run established — the failure this
31
+ * whole shape exists to prevent, and the one that has recurred: a `reuse` of `null`
32
+ * over a test that demonstrably reused was read as "did not reuse" for four cohorts
33
+ * (see {@link ReuseOutcome.notDerived}). Where the distinction has to be visible in
34
+ * the report rather than inferred, the shape says so explicitly instead of relying
35
+ * on an omission.
20
36
  */
21
37
  /** Which gate declined a POM member. */
22
38
  export declare enum ReuseDeclinedBy {
@@ -138,9 +154,10 @@ export interface HelperReuseOutcome {
138
154
  * TODO: remove `helpersImported` once the testbot renderer reads this field. The
139
155
  * two carry one fact; the count stays only because testbot#349 reads it today. */
140
156
  helperNames: string[];
141
- /** Inline request calls in OTHER Skyramp-generated tests beside this one that a
142
- * helper in `utilsFile` already wraps — reuse that was available and not taken.
143
- * Omitted at zero. Informational, like {@link ReuseOutcome.missedReuse}. */
157
+ /** Inline request calls (integration) or inline action sequences (UI) in OTHER
158
+ * Skyramp-generated tests beside this one that a helper in `utilsFile` already
159
+ * wraps — reuse that was available and not taken. Omitted at zero. Informational,
160
+ * like {@link ReuseOutcome.missedReuse}. */
144
161
  siblingInlineCallSites?: number;
145
162
  /** Whether the delivered utils file holds the shared-helper invariants: one helper
146
163
  * per method+path, status-code-only assertions, method+resource names — with
@@ -158,8 +175,17 @@ export interface HelperReuseOutcome {
158
175
  * row ships with this field set, so the fault is disclosed rather than delivered
159
176
  * in silence — or not delivered at all. */
160
177
  verificationFailures?: ReuseVerificationFailure[];
161
- /** Pre-existing generated tests this spec's reuse pass rewired onto the utils
162
- * file, each with its recorded execution. Omitted when none. */
178
+ /** Pre-existing generated tests rewired onto the utils file by this run, each with
179
+ * its recorded execution. Omitted when none.
180
+ *
181
+ * Normally these are the siblings THIS spec's reuse pass reached. A row may also
182
+ * name its OWN file: where two specs on one module were each edited by their own
183
+ * chain, each claimed the other as its retrofit, and a claim that cannot be true
184
+ * in both directions is reported against neither. The rewiring is still disclosed,
185
+ * on the row for the file it happened to.
186
+ *
187
+ * Across the rows of one report every file appears at most once, so the lists stay
188
+ * disjoint and summable. */
163
189
  retrofits?: RetrofitOutcome[];
164
190
  /** Whether the delivered test plus the helpers it imports and calls still hold at
165
191
  * least as many assertions as when modularization was handed out. A measured
@@ -172,10 +198,58 @@ export interface HelperReuseOutcome {
172
198
  /** Whether the `page.on('pageerror', …)` guard present at the modularization
173
199
  * hand-out is still registered, in the test or in a shared helper it imports and
174
200
  * calls. `true` when the hand-out had no guard to lose. Present whenever the
175
- * baseline exists, absent otherwise — like every optional member here, absent
176
- * means "not measured", never "false". */
201
+ * baseline exists, absent otherwise — by the absence rule in this file's header. */
177
202
  pageErrorGuardPreserved?: boolean;
178
203
  }
204
+ /** One of the repository's own helpers, and the module it lives in. */
205
+ export interface InHouseHelperRef {
206
+ /** REPOSITORY-RELATIVE PATH (posix) of the customer's module. */
207
+ module: string;
208
+ helper: string;
209
+ }
210
+ /** A helper the run read in an in-house module and did not use. DECLARED by the
211
+ * agent — recorded, never measured. */
212
+ export interface InHouseDeclinedEntry {
213
+ file: string;
214
+ helper: string;
215
+ reason: string;
216
+ }
217
+ /**
218
+ * Reuse of the repository's OWN helper modules — files the customer wrote — by a
219
+ * browser test. Two kinds of field, and the report must label them apart:
220
+ *
221
+ * - MEASURED, re-derived from the delivered files at report time: which of the
222
+ * customer's modules the spec imports, which helpers resolve, what this run added
223
+ * to or widened in those modules (against HEAD), whether the additive gate ran.
224
+ * - DECLARED by the agent, recorded as testimony: the files its search read, and
225
+ * the helpers it read and declined with the reason. A file list the agent produced
226
+ * is not evidence the agent read everything, and the report says so.
227
+ *
228
+ * Absent when the spec imports no in-house module.
229
+ */
230
+ export interface InHouseReuseOutcome {
231
+ /** MEASURED. Repository-relative paths of the customer's modules the spec imports. */
232
+ modules: string[];
233
+ /** MEASURED. Helpers the spec imports from those modules that resolve there. */
234
+ helpersUsed: string[];
235
+ /** MEASURED. Helpers this run added to a customer's module. */
236
+ helpersAdded: InHouseHelperRef[];
237
+ /** MEASURED. Existing helpers this run gave a defaulted parameter, and nothing else. */
238
+ helpersWidened: InHouseHelperRef[];
239
+ /** MEASURED. Whether every module was compared against HEAD. `false` is a gate
240
+ * that could not run, never one that found nothing. */
241
+ additiveGateRan: boolean;
242
+ /** DECLARED. The files the agent's search read. Omitted when nothing was declared. */
243
+ filesRead?: string[];
244
+ /** DECLARED. Helpers the agent read and did not use, with its reason for each. */
245
+ declined?: InHouseDeclinedEntry[];
246
+ /** The in-house verdict, present only when no `helpers` row carries one — a spec
247
+ * calling only in-house helpers has no Skyramp utils file, and "no utils file"
248
+ * must not read as "nothing verified". */
249
+ verification?: HelperVerificationOutcome;
250
+ /** See {@link HelperReuseOutcome.verificationFailures}; present only on `failed`. */
251
+ verificationFailures?: ReuseVerificationFailure[];
252
+ }
179
253
  /**
180
254
  * What lands in a report's `reuse` field for a generated test. Every member is
181
255
  * optional: consumers must render from whatever subset is present, and omit the
@@ -231,6 +305,25 @@ export interface ReuseOutcome {
231
305
  skipped?: ReuseSkippedEntry[];
232
306
  /** Shared-helper (SkyrampUtils) reuse. See {@link HelperReuseOutcome}. */
233
307
  helpers?: HelperReuseOutcome;
308
+ /** Reuse of the repository's own helper modules. See {@link InHouseReuseOutcome}. */
309
+ inHouse?: InHouseReuseOutcome;
310
+ /** Why no reuse record could be derived for this row, in a reader's words.
311
+ *
312
+ * Present only when nothing else here is: no `helpers`, no `inHouse`, no POM
313
+ * fields. It exists because their absence alone is ambiguous — a row with no
314
+ * reuse summary reads identically to a row whose test reused nothing, and
315
+ * consumers and reviewers have read it as the latter. A stated reason ("the
316
+ * delivered file could not be read", "no shared helper module was located for
317
+ * this test") separates the two.
318
+ *
319
+ * The one place the absence rule above is not enough, and so the one member that
320
+ * states what an omission cannot: every other member is absent when unmeasured,
321
+ * and this says WHY the whole row is.
322
+ *
323
+ * Never a verdict and never a fault: a run that legitimately had nothing to reuse
324
+ * says so here. Additive and optional like every other member, so a consumer that
325
+ * does not know it renders exactly what it rendered before. */
326
+ notDerived?: string;
234
327
  /** Present — and only ever `true` — when generation handed off a modularize→reuse
235
328
  * step for this test and no reuse pass was recorded for it. Since the execution
236
329
  * checkpoint refuses to run such a test until reuse is called, this can only
@@ -15,6 +15,22 @@
15
15
  * The internal record that run state keeps between the verify pass and the report
16
16
  * step (`ReuseRecord`) deliberately stays private to the derivation module — it is
17
17
  * not part of this contract and must never reach a report.
18
+ *
19
+ * ABSENCE MEANS NOT MEASURED — the one invariant every member here obeys, and the
20
+ * one a producer is most likely to break. An optional member is omitted when this
21
+ * run did not establish its value, NEVER to mean `false`, `0` or "no": a `boolean?`
22
+ * left off says the check did not run, not that it failed, and a count left off says
23
+ * nothing was counted, not that the count was zero. So a producer that cannot
24
+ * measure something omits it rather than defaulting it, and a consumer renders an
25
+ * absent member as unknown rather than as a negative result.
26
+ *
27
+ * It is what lets a field be added without re-reading every row ever written, and
28
+ * what keeps a row from asserting more than the run established — the failure this
29
+ * whole shape exists to prevent, and the one that has recurred: a `reuse` of `null`
30
+ * over a test that demonstrably reused was read as "did not reuse" for four cohorts
31
+ * (see {@link ReuseOutcome.notDerived}). Where the distinction has to be visible in
32
+ * the report rather than inferred, the shape says so explicitly instead of relying
33
+ * on an omission.
18
34
  */
19
35
  /** Which gate declined a POM member. */
20
36
  export var ReuseDeclinedBy;
@@ -37,7 +37,11 @@ export const UI_STEP_VERBS = [
37
37
  /** A call to something with no HTTP verb — a GraphQL operation, a Thrift or gRPC
38
38
  * method. The operation's own name goes in `path`, and in `routes.operation`. */
39
39
  export const OPERATION_STEP_METHOD = "OPERATION";
40
- export const STEP_METHODS = [...HTTP_STEP_METHODS, ...UI_STEP_VERBS, OPERATION_STEP_METHOD];
40
+ export const STEP_METHODS = [
41
+ ...HTTP_STEP_METHODS,
42
+ ...UI_STEP_VERBS,
43
+ OPERATION_STEP_METHOD,
44
+ ];
41
45
  const HTTP_BY_SPELLING = new Map(HTTP_STEP_METHODS.map((m) => [m.toLowerCase(), m]));
42
46
  const UI_BY_SPELLING = new Map(UI_STEP_VERBS.map((v) => [v, v]));
43
47
  /** One spelling of a method reduced to the canonical one, or `undefined` when it is
@@ -45,21 +49,27 @@ const UI_BY_SPELLING = new Map(UI_STEP_VERBS.map((v) => [v, v]));
45
49
  * fixed on store, so `" post"` and `"Click"` are the same step as `POST` and
46
50
  * `click`. Without the trim, one trailing space decided which checks ran. */
47
51
  export function normalizeStepMethod(raw) {
48
- const spelling = String(raw ?? "").trim().toLowerCase();
52
+ const spelling = String(raw ?? "")
53
+ .trim()
54
+ .toLowerCase();
49
55
  if (!spelling)
50
56
  return undefined;
51
- return HTTP_BY_SPELLING.get(spelling) ?? UI_BY_SPELLING.get(spelling) ?? (spelling === "operation" ? OPERATION_STEP_METHOD : undefined);
57
+ return (HTTP_BY_SPELLING.get(spelling) ??
58
+ UI_BY_SPELLING.get(spelling) ??
59
+ (spelling === "operation" ? OPERATION_STEP_METHOD : undefined));
52
60
  }
53
61
  /** Whether a method names a page interaction. Read off the canonical spelling,
54
62
  * so a step that never went through the schema is judged the same way. */
55
63
  export function isUiStepVerb(raw) {
56
64
  const method = normalizeStepMethod(raw);
57
- return method !== undefined && UI_STEP_VERBS.includes(method);
65
+ return (method !== undefined &&
66
+ UI_STEP_VERBS.includes(method));
58
67
  }
59
68
  /** Whether a method names an HTTP request. */
60
69
  export function isHttpStepMethod(raw) {
61
70
  const method = normalizeStepMethod(raw);
62
- return method !== undefined && HTTP_STEP_METHODS.includes(method);
71
+ return (method !== undefined &&
72
+ HTTP_STEP_METHODS.includes(method));
63
73
  }
64
74
  const STEP_METHOD_HELP = `must be an HTTP method (${HTTP_STEP_METHODS.join(", ")}), a page interaction ` +
65
75
  `(${UI_STEP_VERBS.join(", ")}), or "${OPERATION_STEP_METHOD}" for a call with no HTTP verb — ` +
@@ -74,4 +84,8 @@ export const STEP_METHOD_DESCRIPTION = "What this step does to the system: an HT
74
84
  * The field itself: normalised first, then checked, so a rejection is about the
75
85
  * verb and never about its capitalisation.
76
86
  */
77
- export const stepMethodSchema = z.preprocess((value) => (typeof value === "string" ? (normalizeStepMethod(value) ?? value.trim()) : value), z.enum(STEP_METHODS, { errorMap: () => ({ message: `method ${STEP_METHOD_HELP}` }) }));
87
+ export const stepMethodSchema = z.preprocess((value) => typeof value === "string"
88
+ ? (normalizeStepMethod(value) ?? value.trim())
89
+ : value, z.enum(STEP_METHODS, {
90
+ errorMap: () => ({ message: `method ${STEP_METHOD_HELP}` }),
91
+ }));
@@ -59,6 +59,13 @@ export interface MaintenanceActionCore {
59
59
  * without this a downstream stage cannot tell a regeneration that rewrote a file from
60
60
  * one that only advised it — and maintenance coverage would credit the advice. */
61
61
  reportOnly?: boolean;
62
+ /** Computed during instruction building — the path this UPDATE renames the spec TO,
63
+ * when the endpoint rename implies one. Part of the core shape because the report
64
+ * stage needs it: the rename lands before the test is executed, so the run is
65
+ * recorded under THIS path while `testFilePath` still holds the old name, and a
66
+ * stage that joins runs to files by `testFilePath` alone looks for a file that is
67
+ * no longer there. */
68
+ _suggestedNewFile?: string;
62
69
  }
63
70
  /** Normalized internal recommendation built from LLM-supplied args.recommendations. */
64
71
  export interface DriftRecommendation extends MaintenanceActionCore {
@@ -78,8 +85,9 @@ export interface DriftRecommendation extends MaintenanceActionCore {
78
85
  anchor: string;
79
86
  change?: string;
80
87
  }>;
81
- /** Computed during instruction building — suggested renamed file path if applicable. */
82
- _suggestedNewFile?: string;
88
+ /** Computed during instruction building — the modularize reuse steps this UPDATE's
89
+ * file owes, when its language and test type are a modularize-first target. */
90
+ _postEditSteps?: string;
83
91
  /** REGENERATE/DELETE on an external (user-authored) test is report-only: the verdict is
84
92
  * recorded and rendered in the report so the developer sees the recommendation, but the
85
93
  * file is never touched (the apply loops skip reportOnly entries). Lets the report keep
@@ -3,6 +3,7 @@
3
3
  *
4
4
  * These types define the structure for test execution results
5
5
  */
6
+ import type { TestType } from "./TestTypes.js";
6
7
  /** Execution outcome for a test run recorded in the maintenance report. */
7
8
  export declare enum TestExecutionStatus {
8
9
  Pass = "Pass",
@@ -26,6 +27,50 @@ export interface TestExecutionResult extends TestExecutionData {
26
27
  testFile: string;
27
28
  videoPath?: string;
28
29
  }
30
+ /**
31
+ * The latest skyramp_execute_test run of one file, persisted in run state for
32
+ * the post-execution steps (assertion alignment, the report) — every file, not
33
+ * only the maintained ones that have an `existingTests` row. `output` is
34
+ * bounded (head and tail around a marker); the tool response keeps the full
35
+ * text. A re-run of the file replaces the record and bumps `runs`.
36
+ */
37
+ export interface TestExecutionRecord {
38
+ testType: TestType;
39
+ phase: "before" | "after";
40
+ status: TestExecutionStatus;
41
+ executedAt: string;
42
+ duration: number;
43
+ /** The process's real exit code, or -1 when none was produced — a timeout
44
+ * kill or a spawn error before the process exited (an Error-status run;
45
+ * see runTest in skyramp_execute_test). Never a real exit
46
+ * code, which is always 0-255. */
47
+ exitCode: number;
48
+ errors: string[];
49
+ output: string;
50
+ outputTruncated: boolean;
51
+ /** Runs of this file recorded so far in this run, re-runs included. */
52
+ runs: number;
53
+ /** Runs recorded in the final ("after") phase only — the count the
54
+ * fix-and-rerun attempt cap is measured against (SKYR-4460). A maintained
55
+ * test's `phase: "before"` baseline run is not one of them. Absent on a
56
+ * record written before the field existed; readers treat that as 0. */
57
+ afterRuns?: number;
58
+ /** sha256 of the test file's contents when this run was reserved (SKYR-4460).
59
+ * Lets the next run tell an unchanged re-run from a fixed one: when the hash
60
+ * has not moved, the tool withholds the unchanged-re-run allowances so one
61
+ * of them cannot be regenerated run after run. Absent on older records. */
62
+ fileHash?: string;
63
+ /** Set on the placeholder a reservation writes while a run is in flight
64
+ * (SKYR-4460): what the file's last COMPLETED run was, so a process that
65
+ * dies mid-run leaves a record that still says what the file last did. A
66
+ * completed result replaces the whole record and carries no previousRun. */
67
+ previousRun?: {
68
+ status: TestExecutionStatus;
69
+ phase: "before" | "after";
70
+ executedAt: string;
71
+ exitCode: number;
72
+ };
73
+ }
29
74
  /**
30
75
  * One browser execution's recorded video, as persisted in run state by
31
76
  * skyramp_execute_test and read back by skyramp_submit_report (SKYR-4156).
@@ -8,7 +8,7 @@ export declare enum Novelty {
8
8
  * against this one: the report used to take a shorter list and rename the three
9
9
  * above into it, which meant one test carried two category names. */
10
10
  export declare const SCENARIO_CATEGORIES: readonly ["new_endpoint", "bug_caught", "requirement_conflict", "business_rule", "security_boundary", "data_integrity", "breaking_change", "auth", "error_handling", "workflow", "data_validation", "crud"];
11
- export type ScenarioCategory = typeof SCENARIO_CATEGORIES[number];
11
+ export type ScenarioCategory = (typeof SCENARIO_CATEGORIES)[number];
12
12
  /** What each category means, and whether it expects a failing test. The plan
13
13
  * tool renders its `category` description from this, so the agent reads these
14
14
  * sentences as it picks one. `expectsRed` is true only for the two naming a
@@ -31,7 +31,10 @@ const CATEGORIES = [
31
31
  /** Every category, and the only list there is. The plan and the report validate
32
32
  * against this one: the report used to take a shorter list and rename the three
33
33
  * above into it, which meant one test carried two category names. */
34
- export const SCENARIO_CATEGORIES = [...INTERNAL_CATEGORIES, ...CATEGORIES];
34
+ export const SCENARIO_CATEGORIES = [
35
+ ...INTERNAL_CATEGORIES,
36
+ ...CATEGORIES,
37
+ ];
35
38
  /** What each category means, and whether it expects a failing test. The plan
36
39
  * tool renders its `category` description from this, so the agent reads these
37
40
  * sentences as it picks one. `expectsRed` is true only for the two naming a
@@ -7,6 +7,9 @@ export declare enum ProgrammingLanguage {
7
7
  JAVASCRIPT = "javascript",
8
8
  JAVA = "java"
9
9
  }
10
+ /** The languages skyramp_execute_test accepts, as prose for a prompt. Rendered from
11
+ * the enum so the text and the gate that reads it cannot disagree. */
12
+ export declare function runnableLanguagesText(): string;
10
13
  export declare enum TestType {
11
14
  SMOKE = "smoke",
12
15
  FUZZ = "fuzz",
@@ -18,6 +21,12 @@ export declare enum TestType {
18
21
  UNIT = "unit",
19
22
  UNKNOWN = "unknown"
20
23
  }
24
+ /** The four types the testbot can plan and deliver. `TestType`'s others are
25
+ * maintenance outcomes or report-only labels, so a planned test can never carry
26
+ * one. The plan schema, the stored plan's type and the report's join all read
27
+ * THIS list. */
28
+ export declare const TESTBOT_SUPPORTED_TEST_TYPES: readonly [TestType.CONTRACT, TestType.INTEGRATION, TestType.E2E, TestType.UI];
29
+ export type TestbotSupportedTestType = (typeof TESTBOT_SUPPORTED_TEST_TYPES)[number];
21
30
  /**
22
31
  * Mock is not a test type — mock files are deployed via apply_mock(),
23
32
  * not executed as tests. Kept as a standalone constant for mock generation.
@@ -246,6 +255,13 @@ export declare const codeRefactoringSchema: z.ZodObject<{
246
255
  codeReuse?: boolean | undefined;
247
256
  modularizeCode?: boolean | undefined;
248
257
  }>;
258
+ /** The `testName` field for a recording-driven generation tool.
259
+ *
260
+ * Single-sourced because the description is prompt text: it is the only thing
261
+ * steering the agent's choice of title, it gets re-tuned against eval results,
262
+ * and two copies would let the UI and E2E tools drift apart silently. Each
263
+ * tool passes the title its own generator falls back to (SKYR-4468). */
264
+ export declare const testNameField: (fallbackTitle: string) => z.ZodOptional<z.ZodString>;
249
265
  /** Test types skyramp_enhance_assertions supports — single-sourced so the
250
266
  * tool's schema enum and generation-time baseline seeding cannot drift
251
267
  * (contract additionally requires provider mode at the seeding site). */