@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.
- package/build/commands/localDevTestChangesCommand.js +2 -1
- package/build/commands/recommendTestsAndExecuteCommand.js +15 -7
- package/build/commands/testThisEndpointCommand.js +35 -6
- package/build/execution/wrapperConfig.d.ts +56 -0
- package/build/execution/wrapperConfig.js +155 -0
- package/build/index.js +40 -10
- package/build/playwright/blueprintDigest.js +28 -7
- package/build/playwright/registerPlaywrightTools.js +47 -28
- package/build/playwright/traceExportStore.d.ts +22 -0
- package/build/playwright/traceExportStore.js +81 -0
- package/build/playwright/traceRecordingPrompt.js +11 -3
- package/build/prompts/code-reuse.js +118 -49
- package/build/prompts/fix-error-prompt.d.ts +9 -1
- package/build/prompts/fix-error-prompt.js +31 -28
- package/build/prompts/local-dev/local-dev-plan.d.ts +3 -0
- package/build/prompts/local-dev/local-dev-plan.js +8 -23
- package/build/prompts/local-dev/local-dev-prompts.d.ts +1 -1
- package/build/prompts/local-dev/local-dev-prompts.js +31 -4
- package/build/prompts/modularization/integration-test-modularization.js +13 -6
- package/build/prompts/modularization/ui-test-modularization.js +1 -1
- package/build/prompts/personas.js +1 -1
- package/build/prompts/pom-aware-code-reuse.js +7 -9
- package/build/prompts/reuse-hand-off.d.ts +64 -0
- package/build/prompts/reuse-hand-off.js +130 -0
- package/build/prompts/shared-helper-policy.d.ts +124 -2
- package/build/prompts/shared-helper-policy.js +178 -12
- package/build/prompts/startTraceCollectionPrompts.js +1 -1
- package/build/prompts/sut-setup/modes/adaptWorkflowPrompt.js +7 -8
- package/build/prompts/sut-setup/modes/dockerComposePrompt.js +1 -1
- package/build/prompts/sut-setup/shared.d.ts +4 -1
- package/build/prompts/sut-setup/shared.js +6 -4
- package/build/prompts/test-maintenance/actionsInstructions.d.ts +19 -11
- package/build/prompts/test-maintenance/actionsInstructions.js +47 -26
- package/build/prompts/test-maintenance/drift-analysis-prompt.d.ts +16 -8
- package/build/prompts/test-maintenance/drift-analysis-prompt.js +93 -38
- package/build/prompts/test-maintenance/driftAnalysisSections.js +5 -3
- package/build/prompts/test-maintenance/driftAnalysisShared.js +4 -2
- package/build/prompts/test-maintenance/uiDriftAnalysisSections.js +8 -5
- package/build/prompts/test-recommendation/recommendationSections.js +19 -8
- package/build/prompts/test-recommendation/recommendationShared.d.ts +1 -1
- package/build/prompts/test-recommendation/recommendationShared.js +0 -1
- package/build/prompts/test-recommendation/registerRecommendTestsPrompt.js +5 -2
- package/build/prompts/test-recommendation/test-recommendation-prompt.js +10 -7
- package/build/prompts/testbot/testbot-prompts.js +133 -63
- package/build/recommendation/answers.js +18 -9
- package/build/recommendation/pullRequestText.js +1 -1
- package/build/recommendation/registerPlan.js +31 -17
- package/build/recommendation/subjectStep.d.ts +8 -10
- package/build/recommendation/subjectStep.js +17 -16
- package/build/recommendation/types.d.ts +71 -17
- package/build/recommendation/types.js +9 -15
- package/build/recommendation/verifierContracts.d.ts +7 -3
- package/build/recommendation/verifierContracts.js +8 -4
- package/build/recommendation/verifiers/changedFile.js +11 -13
- package/build/recommendation/verifiers/citedPath.d.ts +8 -0
- package/build/recommendation/verifiers/citedPath.js +16 -2
- package/build/recommendation/verifiers/coverage.d.ts +2 -2
- package/build/recommendation/verifiers/coverage.js +190 -134
- package/build/recommendation/verifiers/defects.js +56 -16
- package/build/recommendation/verifiers/deliveredMatchesPlan.d.ts +7 -1
- package/build/recommendation/verifiers/deliveredMatchesPlan.js +28 -14
- package/build/recommendation/verifiers/endpointGrounded.js +14 -8
- package/build/recommendation/verifiers/existingCoverage.d.ts +6 -0
- package/build/recommendation/verifiers/existingCoverage.js +30 -21
- package/build/recommendation/verifiers/expectedOutcome.js +17 -8
- package/build/recommendation/verifiers/expectedValueSourced.js +54 -43
- package/build/recommendation/verifiers/issueTraceability.d.ts +5 -0
- package/build/recommendation/verifiers/issueTraceability.js +64 -7
- package/build/recommendation/verifiers/removedElementGuarded.js +19 -11
- package/build/recommendation/verifiers/reportedCategory.js +9 -4
- package/build/recommendation/verifiers/requirementSourced.js +34 -21
- package/build/recommendation/verifiers/screenRoute.js +15 -10
- package/build/recommendation/verifiers/statedDifference.js +15 -8
- package/build/recommendation/verifiers/uiElementGrounded.js +50 -16
- package/build/resources/analysisResources.js +7 -3
- package/build/resources/progressResource.js +4 -2
- package/build/resources/sutSetupResource.js +20 -2
- package/build/resources/testbotResource.js +19 -1
- package/build/services/AnalyticsService.js +3 -1
- package/build/services/ScenarioGenerationService.js +5 -5
- package/build/services/TestDiscoveryService.js +53 -9
- package/build/services/TestExecutionService.js +63 -21
- package/build/services/TestGenerationService.d.ts +1 -1
- package/build/services/TestGenerationService.js +43 -24
- package/build/skills/enhanceAssertionsSkill.d.ts +45 -0
- package/build/skills/enhanceAssertionsSkill.js +103 -0
- package/build/skills/fixTestImportErrorsSkill.d.ts +2 -2
- package/build/skills/fixTestImportErrorsSkill.js +2 -2
- package/build/skills/runTestSkill.d.ts +6 -0
- package/build/skills/runTestSkill.js +17 -0
- package/build/skills/skillFiles.d.ts +38 -0
- package/build/skills/skillFiles.js +94 -0
- package/build/skills/validateAssertionAlignmentSkill.d.ts +34 -0
- package/build/skills/validateAssertionAlignmentSkill.js +59 -0
- package/build/tool-phases.js +4 -1
- package/build/tools/auth/loginTool.js +3 -1
- package/build/tools/auth/logoutTool.js +3 -1
- package/build/tools/budgetExcuse.d.ts +15 -0
- package/build/tools/budgetExcuse.js +113 -0
- package/build/tools/code-refactor/alignAssertionsTool.d.ts +2 -0
- package/build/tools/code-refactor/alignAssertionsTool.js +51 -0
- package/build/tools/code-refactor/assertion-state.d.ts +1 -1
- package/build/tools/code-refactor/assertion-state.js +1 -1
- package/build/tools/code-refactor/assertionOperations.d.ts +44 -0
- package/build/tools/code-refactor/assertionOperations.js +82 -0
- package/build/tools/code-refactor/assertionSkillTools.d.ts +3 -0
- package/build/tools/code-refactor/assertionSkillTools.js +86 -0
- package/build/tools/code-refactor/codeReuseTool.js +27 -3
- package/build/tools/code-refactor/enhanceAssertionsTool.js +19 -83
- package/build/tools/code-refactor/gate-markers.d.ts +51 -0
- package/build/tools/code-refactor/gate-markers.js +95 -0
- package/build/tools/code-refactor/retrofit-state.d.ts +3 -1
- package/build/tools/code-refactor/retrofit-state.js +44 -2
- package/build/tools/code-refactor/reuse-outcome.d.ts +23 -1
- package/build/tools/code-refactor/reuse-outcome.js +36 -13
- package/build/tools/code-refactor/reuse-state.d.ts +90 -16
- package/build/tools/code-refactor/reuse-state.js +191 -61
- package/build/tools/code-refactor/utils-verify-gates.d.ts +4 -0
- package/build/tools/code-refactor/utils-verify-gates.js +269 -30
- package/build/tools/code-refactor/verify-gates.d.ts +15 -1
- package/build/tools/code-refactor/verify-gates.js +36 -4
- package/build/tools/enrichTestWithMocksTool.d.ts +1 -1
- package/build/tools/enrichTestWithMocksTool.js +9 -5
- package/build/tools/executeSkyrampTestTool.d.ts +118 -48
- package/build/tools/executeSkyrampTestTool.js +998 -372
- package/build/tools/execution-video-state.js +1 -1
- package/build/tools/fixErrorTool.js +5 -6
- package/build/tools/generate-tests/batchMockGenerationTool.js +1 -1
- package/build/tools/generate-tests/generateBatchScenarioRestTool.js +114 -73
- package/build/tools/generate-tests/generateContractRestTool.js +34 -16
- package/build/tools/generate-tests/generateE2ERestTool.d.ts +1 -0
- package/build/tools/generate-tests/generateE2ERestTool.js +9 -1
- package/build/tools/generate-tests/generateIntegrationRestTool.js +22 -7
- package/build/tools/generate-tests/generateMockRestTool.js +3 -1
- package/build/tools/generate-tests/generateUIRestTool.d.ts +2 -0
- package/build/tools/generate-tests/generateUIRestTool.js +11 -2
- package/build/tools/generate-tests/loadTestSchema.js +1 -3
- package/build/tools/generate-tests/planGuard.js +6 -3
- package/build/tools/generate-tests/scenarioFileIdentity.js +4 -1
- package/build/tools/generate-tests/scenarioLint.js +17 -5
- package/build/tools/generate-tests/trace-reuse-guard.js +5 -2
- package/build/tools/generateEnrichedIntegrationTestTool.js +9 -3
- package/build/tools/one-click/oneClickTool.js +3 -1
- package/build/tools/preflightMockCheckTool.js +23 -7
- package/build/tools/submitReportTool.d.ts +51 -12
- package/build/tools/submitReportTool.js +988 -161
- package/build/tools/test-management/actionsTool.js +241 -51
- package/build/tools/test-management/analyzeChangesTool.d.ts +8 -9
- package/build/tools/test-management/analyzeChangesTool.js +127 -68
- package/build/tools/test-management/analyzeTestHealthTool.d.ts +0 -11
- package/build/tools/test-management/analyzeTestHealthTool.js +42 -76
- package/build/tools/test-management/registerTestPlanTool.d.ts +44 -34
- package/build/tools/test-management/registerTestPlanTool.js +255 -111
- package/build/tools/test-management/resolveScreenTool.js +33 -9
- package/build/tools/test-management/testsOwedBeforeRun.d.ts +28 -0
- package/build/tools/test-management/testsOwedBeforeRun.js +53 -0
- package/build/tools/trace/startTraceCollectionTool.js +3 -1
- package/build/tools/trace/stopTraceCollectionTool.js +42 -6
- package/build/tools/verifyTestDependenciesTool.d.ts +3 -0
- package/build/tools/verifyTestDependenciesTool.js +54 -0
- package/build/tools/workspace/initScanWorkspaceTool.js +9 -3
- package/build/tools/workspace/initializeWorkspaceTool.js +3 -1
- package/build/types/AssertionOutcome.d.ts +1 -1
- package/build/types/EnhanceType.d.ts +6 -0
- package/build/types/EnhanceType.js +1 -0
- package/build/types/RepositoryAnalysis.d.ts +32 -72
- package/build/types/ReuseOutcome.d.ts +100 -7
- package/build/types/ReuseOutcome.js +16 -0
- package/build/types/StepMethod.js +20 -6
- package/build/types/TestAnalysis.d.ts +10 -2
- package/build/types/TestExecution.d.ts +45 -0
- package/build/types/TestRecommendation.d.ts +1 -1
- package/build/types/TestRecommendation.js +4 -1
- package/build/types/TestTypes.d.ts +16 -0
- package/build/types/TestTypes.js +40 -3
- package/build/types/TestbotPromptOptions.d.ts +9 -1
- package/build/types/TestbotReport.d.ts +45 -9
- package/build/utils/AnalysisStateManager.d.ts +137 -34
- package/build/utils/AnalysisStateManager.js +228 -44
- package/build/utils/assertion-verify/api-shared-lints.js +34 -16
- package/build/utils/assertion-verify/metrics.js +39 -6
- package/build/utils/assertion-verify/ui-lints.js +4 -2
- package/build/utils/branchDiff.js +47 -12
- package/build/utils/canonicalJson.js +3 -1
- package/build/utils/connectionErrors.d.ts +10 -0
- package/build/utils/connectionErrors.js +10 -0
- package/build/utils/dartRouteExtractor.js +36 -7
- package/build/utils/fixAttempts.d.ts +26 -0
- package/build/utils/fixAttempts.js +109 -0
- package/build/utils/frontendSelectors.js +23 -4
- package/build/utils/generatedTestRecord.d.ts +19 -0
- package/build/utils/generatedTestRecord.js +61 -0
- package/build/utils/gitStaging.js +7 -2
- package/build/utils/initAgent.js +26 -6
- package/build/utils/language-helper.js +60 -45
- package/build/utils/pathMatching.js +2 -1
- package/build/utils/pathSignatures.js +6 -2
- package/build/utils/planMatchKeys.d.ts +2 -2
- package/build/utils/planMatchKeys.js +20 -14
- package/build/utils/pom-catalog-parse.js +7 -2
- package/build/utils/pom-scope/import-expansion.js +6 -1
- package/build/utils/pom-scope/index.js +50 -12
- package/build/utils/pom-scope/scoring.js +13 -3
- package/build/utils/pom-scope/selector-extractor.js +16 -3
- package/build/utils/pom-scope/strip.d.ts +8 -0
- package/build/utils/pom-scope/strip.js +238 -0
- package/build/utils/pom-scope/testIdDiscovery.js +14 -2
- package/build/utils/pom-verify/__fixtures__/af-style/asset-list.page.d.ts +1 -1
- package/build/utils/pom-verify/__fixtures__/af-style/asset-list.page.js +4 -2
- package/build/utils/pom-verify/__fixtures__/af-style/report.iframe.page.js +3 -1
- package/build/utils/pom-verify/__fixtures__/af-style/workflow-footer.page.js +3 -1
- package/build/utils/pom-verify/bindings.js +5 -1
- package/build/utils/pom-verify/calls.js +9 -2
- package/build/utils/pom-verify/verify.js +27 -5
- package/build/utils/pr-comment-parser.js +20 -7
- package/build/utils/progress.d.ts +1 -1
- package/build/utils/progress.js +1 -1
- package/build/utils/proxy-terminal.d.ts +19 -1
- package/build/utils/proxy-terminal.js +346 -21
- package/build/utils/rebaselineSnapshots.d.ts +1 -1
- package/build/utils/rebaselineSnapshots.js +6 -16
- package/build/utils/removedUiElements.js +1 -1
- package/build/utils/reportLanguage.js +35 -7
- package/build/utils/reportVerification.d.ts +14 -8
- package/build/utils/reportVerification.js +19 -19
- package/build/utils/repositorySlug.d.ts +32 -0
- package/build/utils/repositorySlug.js +77 -0
- package/build/utils/reuseRouting.d.ts +10 -0
- package/build/utils/reuseRouting.js +21 -2
- package/build/utils/runContextGauge.d.ts +27 -0
- package/build/utils/runContextGauge.js +181 -0
- package/build/utils/runSerialized.d.ts +3 -0
- package/build/utils/runSerialized.js +39 -0
- package/build/utils/screenRoutes.js +74 -18
- package/build/utils/skyrampMdContent.d.ts +1 -1
- package/build/utils/skyrampMdContent.js +1 -1
- package/build/utils/skyrampSdkVersion.d.ts +9 -0
- package/build/utils/skyrampSdkVersion.js +16 -0
- package/build/utils/sourceRouteExtractor.js +13 -6
- package/build/utils/telemetry.d.ts +1 -0
- package/build/utils/telemetry.js +8 -5
- package/build/utils/testDependencyPolicy.d.ts +9 -0
- package/build/utils/testDependencyPolicy.js +809 -0
- package/build/utils/testExecutionRecord.d.ts +94 -0
- package/build/utils/testExecutionRecord.js +269 -0
- package/build/utils/testFileClassification.d.ts +8 -0
- package/build/utils/testFileClassification.js +39 -4
- package/build/utils/trace-parser.js +62 -14
- package/build/utils/urlPath.js +3 -1
- package/build/utils/utils-verify/action-key.d.ts +46 -0
- package/build/utils/utils-verify/action-key.js +120 -38
- package/build/utils/utils-verify/action-sites.d.ts +32 -0
- package/build/utils/utils-verify/action-sites.js +202 -0
- package/build/utils/utils-verify/allow.d.ts +122 -3
- package/build/utils/utils-verify/allow.js +146 -21
- package/build/utils/utils-verify/body-reach.d.ts +120 -0
- package/build/utils/utils-verify/body-reach.js +333 -0
- package/build/utils/utils-verify/call-sites.d.ts +31 -7
- package/build/utils/utils-verify/call-sites.js +80 -13
- package/build/utils/utils-verify/delivered-imports.d.ts +43 -0
- package/build/utils/utils-verify/delivered-imports.js +84 -0
- package/build/utils/utils-verify/fixed-sleep.d.ts +96 -0
- package/build/utils/utils-verify/fixed-sleep.js +461 -0
- package/build/utils/utils-verify/in-house.d.ts +93 -0
- package/build/utils/utils-verify/in-house.js +719 -0
- package/build/utils/utils-verify/incumbent.d.ts +3 -0
- package/build/utils/utils-verify/incumbent.js +75 -0
- package/build/utils/utils-verify/index.d.ts +2 -0
- package/build/utils/utils-verify/index.js +2 -0
- package/build/utils/utils-verify/language-spec.d.ts +51 -10
- package/build/utils/utils-verify/language-spec.js +232 -21
- package/build/utils/utils-verify/locate.d.ts +26 -0
- package/build/utils/utils-verify/locate.js +125 -23
- package/build/utils/utils-verify/module-name.d.ts +40 -0
- package/build/utils/utils-verify/module-name.js +98 -0
- package/build/utils/utils-verify/parse.d.ts +56 -7
- package/build/utils/utils-verify/parse.js +195 -40
- package/build/utils/utils-verify/retrofit-equivalence.d.ts +5 -0
- package/build/utils/utils-verify/retrofit-equivalence.js +4 -2
- package/build/utils/utils-verify/stage.d.ts +5 -0
- package/build/utils/utils-verify/stage.js +47 -2
- package/build/utils/utils-verify/status-once.d.ts +62 -0
- package/build/utils/utils-verify/status-once.js +207 -0
- package/build/utils/utils-verify/typecheck.d.ts +61 -0
- package/build/utils/utils-verify/typecheck.js +338 -0
- package/build/utils/utils-verify/verify.d.ts +79 -3
- package/build/utils/utils-verify/verify.js +531 -61
- package/build/utils/versions.d.ts +3 -3
- package/build/utils/versions.js +1 -1
- package/build/utils/workspaceAuth.js +107 -37
- package/build/workspace/queryParamResolution.js +11 -4
- package/build/workspace/workspace.d.ts +72 -52
- package/build/workspace/workspace.js +19 -15
- package/node_modules/playwright/ThirdPartyNotices.txt +19 -19
- package/node_modules/playwright/lib/mcp/skyramp/assertTool.js +8 -2
- package/node_modules/playwright/lib/mcp/skyramp/common/cssValue.js +87 -0
- package/node_modules/playwright/lib/mcp/skyramp/loadTraceTool.js +31 -0
- package/node_modules/playwright/lib/mcp/skyramp/skyRampImport.js +3 -0
- package/node_modules/playwright/lib/mcp/skyramp/traceRecordingBackend.js +181 -15
- package/node_modules/playwright/lib/mcp/test/skyRampExport.js +24 -0
- package/node_modules/playwright/lib/transform/babelBundleImpl.js +2353 -190
- package/node_modules/playwright/node_modules/playwright-core/ThirdPartyNotices.txt +62 -34
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/.package-lock.json +72 -41
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/@hono/node-server/dist/serve-static.js +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/@hono/node-server/dist/serve-static.mjs +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/@hono/node-server/package.json +2 -2
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/README.md +16 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/index.js +4 -20
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/lib/read.js +17 -17
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/lib/types/json.js +60 -32
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/lib/types/raw.js +3 -3
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/lib/types/text.js +3 -3
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/lib/types/urlencoded.js +16 -20
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/lib/utils.js +18 -16
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/node_modules/content-type/LICENSE +22 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/node_modules/content-type/README.md +71 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/node_modules/content-type/dist/index.d.ts +46 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/node_modules/content-type/dist/index.js +176 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/node_modules/content-type/dist/index.js.map +1 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/node_modules/content-type/package.json +52 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/body-parser/package.json +23 -10
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/es-object-atoms/CHANGELOG.md +21 -14
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/es-object-atoms/isObject.d.ts +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/es-object-atoms/package.json +6 -7
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/es-object-atoms/tsconfig.json +1 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/index.js +266 -45
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/lib/schemes.js +9 -4
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/lib/utils.js +396 -92
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/package.json +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/component-safe-serialization.test.js +163 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/equal.test.js +31 -3
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/fixtures/uri-js-parse.json +2 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/ipv6-canonical.test.js +34 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/ipv6-validation.test.js +124 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/malformed-percent.test.js +77 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/malformed-urn.test.js +61 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/parse.test.js +7 -3
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/query-fragment-normalization.test.js +33 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/reserved-path-normalization.test.js +109 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/scheme-validation.test.js +124 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/security-normalization.test.js +101 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/security.test.js +301 -3
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/urn-full-input.test.js +29 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/fast-uri/test/websocket-query-preservation.test.js +24 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hasown/CHANGELOG.md +7 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hasown/index.d.ts +0 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hasown/package.json +4 -5
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/client/client.js +30 -16
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/client/utils.js +4 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/context.js +32 -13
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/helper/accepts/accepts.js +36 -2
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/helper/proxy/index.js +4 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/helper/ssg/ssg.js +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/helper/ssg/utils.js +30 -10
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/helper/streaming/sse.js +5 -4
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/hono-base.js +10 -8
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/jsx/base.js +44 -23
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/jsx/components.js +25 -26
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/jsx/context.js +5 -5
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/jsx/dom/render.js +2 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/jsx/dom/server.js +5 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/jsx/hooks/index.js +16 -13
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/jsx/intrinsic-element/components.js +3 -3
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/jsx/streaming.js +4 -5
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/cache/index.js +103 -8
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/compress/index.js +5 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/cors/index.js +17 -14
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/csrf/index.js +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/etag/digest.js +47 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/etag/index.js +7 -4
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/jwk/jwk.js +9 -4
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/jwt/jwt.js +9 -4
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/language/language.js +10 -6
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/method-not-allowed/index.js +90 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/pretty-json/index.js +3 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/middleware/secure-headers/secure-headers.js +16 -7
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/request.js +20 -13
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/router/linear-router/router.js +7 -2
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/router/pattern-router/router.js +3 -9
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/router/reg-exp-router/node.js +65 -59
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/router/reg-exp-router/router.js +71 -128
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/router/reg-exp-router/trie.js +14 -5
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/router/trie-router/node.js +47 -70
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/router/trie-router/router.js +3 -11
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/router/utils.js +27 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/router.js +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/utils/accept.js +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/utils/body.js +21 -3
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/utils/cookie.js +4 -3
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/utils/ipaddr.js +5 -3
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/utils/stream.js +12 -3
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/cjs/utils/url.js +19 -11
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/client/client.js +30 -16
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/client/utils.js +4 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/context.js +32 -13
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/helper/accepts/accepts.js +36 -2
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/helper/proxy/index.js +4 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/helper/ssg/ssg.js +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/helper/ssg/utils.js +30 -10
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/helper/streaming/sse.js +5 -4
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/hono-base.js +10 -8
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/jsx/base.js +41 -23
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/jsx/components.js +26 -27
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/jsx/context.js +6 -6
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/jsx/dom/render.js +2 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/jsx/dom/server.js +5 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/jsx/hooks/index.js +16 -13
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/jsx/intrinsic-element/components.js +4 -4
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/jsx/streaming.js +5 -6
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/cache/index.js +103 -8
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/compress/index.js +5 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/cors/index.js +17 -14
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/csrf/index.js +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/etag/digest.js +47 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/etag/index.js +7 -4
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/jwk/jwk.js +9 -4
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/jwt/jwt.js +9 -4
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/language/language.js +10 -6
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/method-not-allowed/index.js +68 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/pretty-json/index.js +3 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/middleware/secure-headers/secure-headers.js +16 -7
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/request.js +21 -14
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/router/linear-router/router.js +7 -2
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/router/pattern-router/router.js +3 -9
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/router/reg-exp-router/node.js +61 -58
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/router/reg-exp-router/router.js +77 -129
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/router/reg-exp-router/trie.js +14 -5
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/router/trie-router/node.js +47 -70
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/router/trie-router/router.js +3 -11
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/router/utils.js +5 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/router.js +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/adapter/aws-lambda/types.d.ts +9 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/client/types.d.ts +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/context.d.ts +6 -2
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/hono-base.d.ts +4 -3
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/jsx/base.d.ts +7 -2
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/jsx/dom/index.d.ts +5 -5
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/jsx/dom/intrinsic-element/components.d.ts +2 -2
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/jsx/dom/server.d.ts +5 -5
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/jsx/hooks/index.d.ts +8 -6
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/jsx/index.d.ts +5 -5
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/middleware/cache/index.d.ts +6 -4
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/middleware/combine/index.d.ts +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/middleware/cors/index.d.ts +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/middleware/jsx-renderer/index.d.ts +2 -2
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/middleware/jwk/jwk.d.ts +2 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/middleware/jwt/jwt.d.ts +2 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/middleware/method-not-allowed/index.d.ts +49 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/middleware/secure-headers/permissions-policy.d.ts +3 -3
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/router/reg-exp-router/node.d.ts +4 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/router/reg-exp-router/trie.d.ts +2 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/router/trie-router/node.d.ts +1 -2
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/router/trie-router/router.d.ts +0 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/router/utils.d.ts +1 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/router.d.ts +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/utils/headers.d.ts +2 -2
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/types/utils/url.d.ts +5 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/utils/accept.js +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/utils/body.js +21 -3
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/utils/cookie.js +5 -4
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/utils/ipaddr.js +5 -3
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/utils/stream.js +12 -3
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/dist/utils/url.js +17 -10
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/hono/package.json +11 -4
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/README.md +173 -143
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/address-error.d.ts +11 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/address-error.js.map +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/common.d.ts +49 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/common.js +79 -4
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/common.js.map +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/ipv4.d.ts +78 -5
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/ipv4.js +119 -24
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/ipv4.js.map +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/ipv6.d.ts +151 -10
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/ipv6.js +316 -90
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/ipv6.js.map +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/v4/constants.d.ts +12 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/v4/constants.js +45 -2
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/v4/constants.js.map +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/v6/constants.d.ts +14 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/v6/constants.js +50 -3
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/dist/v6/constants.js.map +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/ip-address/package.json +6 -4
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/qs/.github/THREAT_MODEL.md +3 -3
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/qs/CHANGELOG.md +26 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/qs/README.md +19 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/qs/dist/qs.js +25 -25
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/qs/eslint.config.mjs +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/qs/lib/parse.js +16 -6
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/qs/lib/stringify.js +23 -8
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/qs/lib/utils.js +57 -11
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/qs/package.json +8 -7
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/qs/test/parse.js +419 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/qs/test/stringify.js +317 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/qs/test/utils.js +206 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/side-channel/CHANGELOG.md +10 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/side-channel/README.md +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/side-channel/index.js +5 -2
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/side-channel/package.json +10 -10
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/side-channel/test/index.js +16 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/type-is/index.js +8 -18
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/type-is/node_modules/content-type/LICENSE +22 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/type-is/node_modules/content-type/README.md +71 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/type-is/node_modules/content-type/dist/index.d.ts +46 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/type-is/node_modules/content-type/dist/index.js +176 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/type-is/node_modules/content-type/dist/index.js.map +1 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/type-is/node_modules/content-type/package.json +52 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/type-is/package.json +9 -5
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/package-lock.json +72 -41
- package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/.package-lock.json +6 -6
- package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/brace-expansion/README.md +23 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/brace-expansion/index.js +265 -86
- package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/brace-expansion/package.json +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/README.md +173 -143
- package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/address-error.d.ts +11 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/address-error.js.map +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/common.d.ts +49 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/common.js +79 -4
- package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/common.js.map +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/ipv4.d.ts +78 -5
- package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/ipv4.js +119 -24
- package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/ipv4.js.map +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/ipv6.d.ts +151 -10
- package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/ipv6.js +316 -90
- package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/ipv6.js.map +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/v4/constants.d.ts +12 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/v4/constants.js +45 -2
- package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/v4/constants.js.map +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/v6/constants.d.ts +14 -0
- package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/v6/constants.js +50 -3
- package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/dist/v6/constants.js.map +1 -1
- package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/ip-address/package.json +6 -4
- package/node_modules/playwright/node_modules/playwright-core/bundles/utils/package-lock.json +6 -6
- package/node_modules/playwright/node_modules/playwright-core/lib/cli/program.js +18 -9
- package/node_modules/playwright/node_modules/playwright-core/lib/mcpBundleImpl/index.js +47 -47
- package/node_modules/playwright/node_modules/playwright-core/lib/server/codegen/skyramp/jsonlReader.js +3 -0
- package/node_modules/playwright/node_modules/playwright-core/lib/server/recorder/recorderRunner.js +42 -0
- package/node_modules/playwright/node_modules/playwright-core/lib/utilsBundleImpl/index.js +121 -121
- package/node_modules/playwright/node_modules/playwright-core/lib/vite/traceViewer/{index.B7KbSQcC.js → index.BAkLd5DX.js} +1 -1
- package/node_modules/playwright/node_modules/playwright-core/lib/vite/traceViewer/index.html +1 -1
- package/node_modules/playwright/node_modules/playwright-core/package.json +1 -1
- package/node_modules/playwright/node_modules/playwright-core/src/cli/program.ts +31 -9
- package/node_modules/playwright/node_modules/playwright-core/src/server/codegen/skyramp/jsonlReader.ts +1 -0
- package/node_modules/playwright/node_modules/playwright-core/src/server/recorder/recorderRunner.ts +57 -1
- package/node_modules/playwright/package.json +2 -2
- package/package.json +7 -6
- package/plugin/prompts/code-reuse/hand-off.md +30 -0
- package/plugin/prompts/generate-tests/generation.md +1 -1
- package/plugin/prompts/plan-tests.md +14 -14
- package/plugin/prompts/testbot-task1.md +2 -2
- package/plugin/skills/enhance-assertions/SKILL.md +25 -0
- package/plugin/skills/enhance-assertions/reference/contract.md +51 -0
- package/plugin/skills/enhance-assertions/reference/integration.md +58 -0
- package/plugin/skills/enhance-assertions/reference/shared-rules.md +220 -0
- package/plugin/skills/enhance-assertions/reference/ui.md +373 -0
- package/plugin/skills/fix-test-import-errors/SKILL.md +45 -50
- package/plugin/skills/run-test/SKILL.md +16 -0
- package/plugin/skills/validate-assertion-alignment-post-execution/SKILL.md +32 -0
- package/plugin/skills/validate-assertion-alignment-post-execution/reference/checks.md +44 -0
- package/plugin/skills/validate-assertion-alignment-post-execution/reference/evidence.md +47 -0
- package/build/adapters/jestAdapter.d.ts +0 -14
- package/build/adapters/jestAdapter.js +0 -113
- package/build/adapters/mochaAdapter.d.ts +0 -13
- package/build/adapters/mochaAdapter.js +0 -87
- package/build/adapters/playwrightAdapter.d.ts +0 -17
- package/build/adapters/playwrightAdapter.js +0 -182
- package/build/adapters/pytestAdapter.d.ts +0 -15
- package/build/adapters/pytestAdapter.js +0 -108
- package/build/prompts/enhance-assertions/contractProviderAssertionsPrompt.d.ts +0 -2
- package/build/prompts/enhance-assertions/contractProviderAssertionsPrompt.js +0 -29
- package/build/prompts/enhance-assertions/integrationAssertionsPrompt.d.ts +0 -2
- package/build/prompts/enhance-assertions/integrationAssertionsPrompt.js +0 -36
- package/build/prompts/enhance-assertions/sharedAssertionRules.d.ts +0 -16
- package/build/prompts/enhance-assertions/sharedAssertionRules.js +0 -284
- package/build/prompts/enhance-assertions/uiAssertionsPrompt.d.ts +0 -2
- package/build/prompts/enhance-assertions/uiAssertionsPrompt.js +0 -388
- package/build/tools/runExistingTestsTool.d.ts +0 -138
- package/build/tools/runExistingTestsTool.js +0 -644
- package/build/types/ExternalTestExecution.d.ts +0 -67
- package/build/types/ExternalTestExecution.js +0 -8
- package/build/workspace/testSuites.d.ts +0 -20
- package/build/workspace/testSuites.js +0 -17
- 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: "
|
|
930
|
+
sourceLocation: "cookie" | "body" | "header";
|
|
971
931
|
targetParam: string;
|
|
972
|
-
targetLocation: "path" | "
|
|
932
|
+
targetLocation: "path" | "cookie" | "body" | "header" | "query";
|
|
973
933
|
}, {
|
|
974
934
|
sourceStep: number;
|
|
975
935
|
sourceField: string;
|
|
976
|
-
sourceLocation: "
|
|
936
|
+
sourceLocation: "cookie" | "body" | "header";
|
|
977
937
|
targetParam: string;
|
|
978
|
-
targetLocation: "path" | "
|
|
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: "
|
|
960
|
+
sourceLocation: "cookie" | "body" | "header";
|
|
1001
961
|
targetParam: string;
|
|
1002
|
-
targetLocation: "path" | "
|
|
962
|
+
targetLocation: "path" | "cookie" | "body" | "header" | "query";
|
|
1003
963
|
}, {
|
|
1004
964
|
sourceStep: number;
|
|
1005
965
|
sourceField: string;
|
|
1006
|
-
sourceLocation: "
|
|
966
|
+
sourceLocation: "cookie" | "body" | "header";
|
|
1007
967
|
targetParam: string;
|
|
1008
|
-
targetLocation: "path" | "
|
|
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: "
|
|
978
|
+
sourceLocation: "cookie" | "body" | "header";
|
|
1019
979
|
targetParam: string;
|
|
1020
|
-
targetLocation: "path" | "
|
|
980
|
+
targetLocation: "path" | "cookie" | "body" | "header" | "query";
|
|
1021
981
|
}, {
|
|
1022
982
|
sourceStep: number;
|
|
1023
983
|
sourceField: string;
|
|
1024
|
-
sourceLocation: "
|
|
984
|
+
sourceLocation: "cookie" | "body" | "header";
|
|
1025
985
|
targetParam: string;
|
|
1026
|
-
targetLocation: "path" | "
|
|
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: "
|
|
1003
|
+
sourceLocation: "cookie" | "body" | "header";
|
|
1044
1004
|
targetParam: string;
|
|
1045
|
-
targetLocation: "path" | "
|
|
1005
|
+
targetLocation: "path" | "cookie" | "body" | "header" | "query";
|
|
1046
1006
|
} | {
|
|
1047
1007
|
sourceStep: number;
|
|
1048
1008
|
sourceField: string;
|
|
1049
|
-
sourceLocation: "
|
|
1009
|
+
sourceLocation: "cookie" | "body" | "header";
|
|
1050
1010
|
targetParam: string;
|
|
1051
|
-
targetLocation: "path" | "
|
|
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: "
|
|
1028
|
+
sourceLocation: "cookie" | "body" | "header";
|
|
1069
1029
|
targetParam: string;
|
|
1070
|
-
targetLocation: "path" | "
|
|
1030
|
+
targetLocation: "path" | "cookie" | "body" | "header" | "query";
|
|
1071
1031
|
} | {
|
|
1072
1032
|
sourceStep: number;
|
|
1073
1033
|
sourceField: string;
|
|
1074
|
-
sourceLocation: "
|
|
1034
|
+
sourceLocation: "cookie" | "body" | "header";
|
|
1075
1035
|
targetParam: string;
|
|
1076
|
-
targetLocation: "path" | "
|
|
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
|
|
142
|
-
*
|
|
143
|
-
* Omitted at zero. Informational,
|
|
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
|
|
162
|
-
*
|
|
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 —
|
|
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 = [
|
|
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 ?? "")
|
|
52
|
+
const spelling = String(raw ?? "")
|
|
53
|
+
.trim()
|
|
54
|
+
.toLowerCase();
|
|
49
55
|
if (!spelling)
|
|
50
56
|
return undefined;
|
|
51
|
-
return HTTP_BY_SPELLING.get(spelling) ??
|
|
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 &&
|
|
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 &&
|
|
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) =>
|
|
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 —
|
|
82
|
-
|
|
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 = [
|
|
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). */
|