@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
package/build/types/TestTypes.js
CHANGED
|
@@ -9,6 +9,12 @@ export var ProgrammingLanguage;
|
|
|
9
9
|
ProgrammingLanguage["JAVASCRIPT"] = "javascript";
|
|
10
10
|
ProgrammingLanguage["JAVA"] = "java";
|
|
11
11
|
})(ProgrammingLanguage || (ProgrammingLanguage = {}));
|
|
12
|
+
/** The languages skyramp_execute_test accepts, as prose for a prompt. Rendered from
|
|
13
|
+
* the enum so the text and the gate that reads it cannot disagree. */
|
|
14
|
+
export function runnableLanguagesText() {
|
|
15
|
+
const names = Object.values(ProgrammingLanguage);
|
|
16
|
+
return `${names.slice(0, -1).join(", ")} or ${names[names.length - 1]}`;
|
|
17
|
+
}
|
|
12
18
|
export var TestType;
|
|
13
19
|
(function (TestType) {
|
|
14
20
|
TestType["SMOKE"] = "smoke";
|
|
@@ -21,6 +27,16 @@ export var TestType;
|
|
|
21
27
|
TestType["UNIT"] = "unit";
|
|
22
28
|
TestType["UNKNOWN"] = "unknown";
|
|
23
29
|
})(TestType || (TestType = {}));
|
|
30
|
+
/** The four types the testbot can plan and deliver. `TestType`'s others are
|
|
31
|
+
* maintenance outcomes or report-only labels, so a planned test can never carry
|
|
32
|
+
* one. The plan schema, the stored plan's type and the report's join all read
|
|
33
|
+
* THIS list. */
|
|
34
|
+
export const TESTBOT_SUPPORTED_TEST_TYPES = [
|
|
35
|
+
TestType.CONTRACT,
|
|
36
|
+
TestType.INTEGRATION,
|
|
37
|
+
TestType.E2E,
|
|
38
|
+
TestType.UI,
|
|
39
|
+
];
|
|
24
40
|
/**
|
|
25
41
|
* Mock is not a test type — mock files are deployed via apply_mock(),
|
|
26
42
|
* not executed as tests. Kept as a standalone constant for mock generation.
|
|
@@ -123,9 +139,10 @@ export const baseSchema = z.object({
|
|
|
123
139
|
}, {
|
|
124
140
|
message: "Output file must have one of these extensions: .py, .ts, .js, .java",
|
|
125
141
|
})
|
|
126
|
-
.describe("Name of the output test file. For Playwright
|
|
127
|
-
"
|
|
128
|
-
"
|
|
142
|
+
.describe("Name of the output test file. For Playwright, name the file the way the " +
|
|
143
|
+
"repository names its tests: read the test files already in outputDir and " +
|
|
144
|
+
"match their spelling. Use *.test.ts where they use it, *.spec.ts otherwise " +
|
|
145
|
+
"(e.g. contract_math_add.spec.ts, fuzz_orders.test.ts). " +
|
|
129
146
|
"For other frameworks (pytest, junit), standard extensions are fine (.py, .java). " +
|
|
130
147
|
"Optional — when omitted, Skyramp generates a default name."),
|
|
131
148
|
outputDir: z
|
|
@@ -274,6 +291,26 @@ export const codeRefactoringSchema = z.object({
|
|
|
274
291
|
.default(false)
|
|
275
292
|
.describe("Whether to modularize the code"),
|
|
276
293
|
});
|
|
294
|
+
/** The `testName` field for a recording-driven generation tool.
|
|
295
|
+
*
|
|
296
|
+
* Single-sourced because the description is prompt text: it is the only thing
|
|
297
|
+
* steering the agent's choice of title, it gets re-tuned against eval results,
|
|
298
|
+
* and two copies would let the UI and E2E tools drift apart silently. Each
|
|
299
|
+
* tool passes the title its own generator falls back to (SKYR-4468). */
|
|
300
|
+
export const testNameField = (fallbackTitle) => z
|
|
301
|
+
.string()
|
|
302
|
+
// .trim() normalises incidental whitespace and, combined with .min(1),
|
|
303
|
+
// rejects a whitespace-only title, which would otherwise produce a
|
|
304
|
+
// meaningless test title and identifier (SKYR-4468).
|
|
305
|
+
.trim()
|
|
306
|
+
.min(1)
|
|
307
|
+
.optional()
|
|
308
|
+
.describe("Title for the generated test. Name the BEHAVIOUR this recording verifies, " +
|
|
309
|
+
"taken from the recommendation the recording came from — not the page it happens on. " +
|
|
310
|
+
'Example: "Add to cart from search results", not "Search page". ' +
|
|
311
|
+
"Skyramp emits it verbatim as the Playwright test title for TypeScript/JavaScript, " +
|
|
312
|
+
"and as a snake_case `def test_<name>` identifier for Python. " +
|
|
313
|
+
`Omit it and the test stays titled \`${fallbackTitle}\`, which claims nothing.`);
|
|
277
314
|
/** Test types skyramp_enhance_assertions supports — single-sourced so the
|
|
278
315
|
* tool's schema enum and generation-time baseline seeding cannot drift
|
|
279
316
|
* (contract additionally requires provider mode at the seeding site). */
|
|
@@ -24,7 +24,15 @@ export interface TestbotPromptOptions {
|
|
|
24
24
|
uiCredentials?: string;
|
|
25
25
|
testsRepoDir?: string;
|
|
26
26
|
relatedRepositories?: RelatedRepository[];
|
|
27
|
-
|
|
27
|
+
/** `owner/repo` of the PRIMARY checkout, resolved by the action off the same
|
|
28
|
+
* origin remote it reads for every sibling in `relatedRepositories`. Passed
|
|
29
|
+
* rather than re-read here: the action already has it. */
|
|
30
|
+
primaryRepo: string;
|
|
28
31
|
planOnly?: boolean;
|
|
29
32
|
language?: string;
|
|
33
|
+
/** Per-file cap on `skyramp_execute_test` calls in the final phase — the first
|
|
34
|
+
* run plus the fix-and-rerun iterations (SKYR-4460). Unset, out of range or
|
|
35
|
+
* not a whole number falls back to SKYRAMP_MAX_FIX_ATTEMPTS, then the default
|
|
36
|
+
* in utils/fixAttempts.ts. */
|
|
37
|
+
maxFixAttempts?: number;
|
|
30
38
|
}
|
|
@@ -16,9 +16,14 @@ export declare enum IssueFoundCategory {
|
|
|
16
16
|
/**
|
|
17
17
|
* Shape of the JSON report written by skyramp_submit_report and read by testbot
|
|
18
18
|
* for rendering as Markdown. All fields mirror the corresponding Zod schemas in
|
|
19
|
-
* submitReportTool.ts — keep the two in sync.
|
|
20
|
-
*
|
|
21
|
-
*
|
|
19
|
+
* submitReportTool.ts — keep the two in sync.
|
|
20
|
+
*
|
|
21
|
+
* Required here means required on submit. Testbot's renderer extends this type,
|
|
22
|
+
* and a pinned older mcp could hand it a report missing a field this one calls
|
|
23
|
+
* required — but the common skew runs the other way (the version input defaults
|
|
24
|
+
* to `latest`, so a NEW mcp meets an older renderer, which simply ignores what
|
|
25
|
+
* it does not read). An optional field would have to be a real one the producer
|
|
26
|
+
* may omit, not a hedge against that pin.
|
|
22
27
|
*/
|
|
23
28
|
export interface TestbotReport {
|
|
24
29
|
businessCaseAnalysis: string;
|
|
@@ -34,9 +39,9 @@ export interface TestbotReport {
|
|
|
34
39
|
fileName: string;
|
|
35
40
|
reasoning: string;
|
|
36
41
|
description: string;
|
|
37
|
-
/** `owner/repo`
|
|
38
|
-
*
|
|
39
|
-
repository
|
|
42
|
+
/** `owner/repo` this item pertains to. Set on every item, in single-repo
|
|
43
|
+
* runs too. */
|
|
44
|
+
repository: string;
|
|
40
45
|
scenarioFile?: string;
|
|
41
46
|
traceFile?: string;
|
|
42
47
|
frontendTrace?: string;
|
|
@@ -80,10 +85,19 @@ export interface TestbotReport {
|
|
|
80
85
|
beforeDetails: string;
|
|
81
86
|
afterStatus: TestExecutionStatus;
|
|
82
87
|
afterDetails: string;
|
|
88
|
+
/** The plan defect ids this test's own run proves, as the agent recorded them
|
|
89
|
+
* after executing it. Empty on a row whose run proved none. A defect named
|
|
90
|
+
* here may also be proved by a delivered test: the two are recorded
|
|
91
|
+
* independently, and naming one never stands in for the other. */
|
|
92
|
+
defects: string[];
|
|
83
93
|
/** See newTestsCreated[].assertions — maintenance rows are matched by
|
|
84
94
|
* exact canonical path, so this carries the maintenance honesty labels
|
|
85
95
|
* (nothing-to-verify vs verified) into the report. */
|
|
86
96
|
assertions?: AssertionOutcome;
|
|
97
|
+
/** See newTestsCreated[].reuse — an updated or regenerated test goes
|
|
98
|
+
* through the same modularize → reuse chain, so its row carries the same
|
|
99
|
+
* server-derived outcome. Absent in reports from MCP versions predating it. */
|
|
100
|
+
reuse?: ReuseOutcome;
|
|
87
101
|
}[];
|
|
88
102
|
testResults: {
|
|
89
103
|
testType: TestType;
|
|
@@ -92,7 +106,7 @@ export interface TestbotReport {
|
|
|
92
106
|
details: string;
|
|
93
107
|
videoPath?: string;
|
|
94
108
|
/** See newTestsCreated[].repository. */
|
|
95
|
-
repository
|
|
109
|
+
repository: string;
|
|
96
110
|
}[];
|
|
97
111
|
additionalRecommendations?: {
|
|
98
112
|
testId: string;
|
|
@@ -119,7 +133,7 @@ export interface TestbotReport {
|
|
|
119
133
|
backendTrace?: string;
|
|
120
134
|
frontendTrace?: string;
|
|
121
135
|
/** See newTestsCreated[].repository. */
|
|
122
|
-
repository
|
|
136
|
+
repository: string;
|
|
123
137
|
}[];
|
|
124
138
|
issuesFound: {
|
|
125
139
|
description: string;
|
|
@@ -145,7 +159,7 @@ export interface TestbotReport {
|
|
|
145
159
|
sourceSymbol?: string;
|
|
146
160
|
sourceLine?: number;
|
|
147
161
|
/** See newTestsCreated[].repository. */
|
|
148
|
-
repository
|
|
162
|
+
repository: string;
|
|
149
163
|
}[];
|
|
150
164
|
nextSteps: string[];
|
|
151
165
|
/** Recommendation v2 only. Every change the plan declared, with the tests
|
|
@@ -196,5 +210,27 @@ export interface TestbotReport {
|
|
|
196
210
|
* objection still raised, answered or not — the two are different outcomes. */
|
|
197
211
|
resolvedBy?: string;
|
|
198
212
|
}[];
|
|
213
|
+
/** How many test files this run wrote, and how many of them this server ran.
|
|
214
|
+
* `generated + updated` equals `executed` when every file was run; a
|
|
215
|
+
* shortfall is the same shortfall the `testRanOnThisServer` objections name
|
|
216
|
+
* one file at a time.
|
|
217
|
+
*
|
|
218
|
+
* Every number is per FILE and comes from the server's own records, not from
|
|
219
|
+
* the arrays beside it: the generators record what they wrote and
|
|
220
|
+
* skyramp_execute_test records what it ran, both keyed by canonical path. So
|
|
221
|
+
* these do not equal the array lengths — `testMaintenance` also carries rows
|
|
222
|
+
* that were never edited (VERIFY, IGNORE) or whose file is gone (DELETE), and
|
|
223
|
+
* `testResults` is the agent's own claim and can hold several rows per file. */
|
|
224
|
+
executionCoverage: {
|
|
225
|
+
/** Files a generation tool wrote. */
|
|
226
|
+
generated: number;
|
|
227
|
+
/** Files an UPDATE or REGENERATE verdict edited, minus any already counted as
|
|
228
|
+
* generated — one file owes one run however it was written. */
|
|
229
|
+
updated: number;
|
|
230
|
+
/** How many of those `generated + updated` files were passed to
|
|
231
|
+
* skyramp_execute_test. The file reached the runner; that is not proof a test
|
|
232
|
+
* ran, because a runner can exit 0 having executed nothing. */
|
|
233
|
+
executed: number;
|
|
234
|
+
};
|
|
199
235
|
commitMessage: string;
|
|
200
236
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { ReuseRecord } from "../tools/code-refactor/reuse-outcome.js";
|
|
2
2
|
import type { AssertionRecord } from "../types/AssertionOutcome.js";
|
|
3
|
+
import type { TestType } from "../types/TestTypes.js";
|
|
3
4
|
import { TestAnalysisResult, MaintenanceActionCore } from "../types/TestAnalysis.js";
|
|
4
5
|
import { RepositoryAnalysis, AnalysisScope } from "../types/RepositoryAnalysis.js";
|
|
5
6
|
import { PRTestContext } from "./pr-comment-parser.js";
|
|
6
7
|
import type { RemovedUiElement } from "./removedUiElements.js";
|
|
7
|
-
import type {
|
|
8
|
-
import type { VideoRecord } from "../types/TestExecution.js";
|
|
8
|
+
import type { TestExecutionRecord, VideoRecord } from "../types/TestExecution.js";
|
|
9
9
|
import type { RepoCheckout } from "./reportVerification.js";
|
|
10
10
|
import type { Plan } from "../recommendation/registerPlan.js";
|
|
11
11
|
import type { Objection } from "../recommendation/types.js";
|
|
@@ -21,6 +21,24 @@ export declare function setTestsRepoDir(dir: string | undefined): void;
|
|
|
21
21
|
*/
|
|
22
22
|
export declare function rememberTestsRepoDir(dir: string | undefined): void;
|
|
23
23
|
export declare function getTestsRepoDir(): string | undefined;
|
|
24
|
+
export declare function rememberPrimaryRepository(repositoryPath: string, repo: string): void;
|
|
25
|
+
/**
|
|
26
|
+
* Test seam, and the declaration the prompt render makes at the start of a run.
|
|
27
|
+
*
|
|
28
|
+
* A render is a run boundary, so it drops the in-memory state-file anchor as well:
|
|
29
|
+
* a server that renders a second prompt is serving a second run, and the first
|
|
30
|
+
* run's file must not take the second run's analysis. The pointer file stays, since
|
|
31
|
+
* it lives in the job's own `RUNNER_TEMP` — a later STAGE of the same run renders
|
|
32
|
+
* again in a fresh process and must still find that run's file.
|
|
33
|
+
*/
|
|
34
|
+
export declare function setPrimaryRepository(primary: {
|
|
35
|
+
repositoryPath: string;
|
|
36
|
+
repo: string;
|
|
37
|
+
} | undefined): void;
|
|
38
|
+
export declare function getPrimaryRepository(): {
|
|
39
|
+
repositoryPath: string;
|
|
40
|
+
repo: string;
|
|
41
|
+
} | undefined;
|
|
24
42
|
/** Filename of the run-scoped analysis state file under `runArtifactDir()`.
|
|
25
43
|
* Single-sourced so the constructor that WRITES there and `resolveRunStatePath`
|
|
26
44
|
* which LOOKS there cannot drift apart. */
|
|
@@ -53,18 +71,37 @@ export declare function clearActiveRunStatePath(): void;
|
|
|
53
71
|
* The run's state-file path, for tools that need to read or amend it without the
|
|
54
72
|
* agent naming it.
|
|
55
73
|
*
|
|
56
|
-
* `setActiveRunStatePath` is
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
* send later stages to the wrong file.
|
|
74
|
+
* `setActiveRunStatePath` is called by skyramp_analyze_changes on every run. It is
|
|
75
|
+
* read back two ways: from memory in this process, and from the pointer file a
|
|
76
|
+
* previous stage of the same run wrote — a staged run starts a fresh server per
|
|
77
|
+
* stage, so memory alone would send later stages to the wrong file.
|
|
61
78
|
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
* to
|
|
65
|
-
* resolves to undefined — correct, since there is no run state.
|
|
79
|
+
* The path is deterministic in CI either way: the StateManager constructor above
|
|
80
|
+
* roots "analysis" state under `runArtifactDir()`, so a run whose anchor was cleared
|
|
81
|
+
* at a stage boundary resolves to the same file. Standalone/IDE usage has no
|
|
82
|
+
* RUNNER_TEMP and resolves to undefined — correct, since there is no run state.
|
|
66
83
|
*/
|
|
67
84
|
export declare function resolveRunStatePath(explicitPath?: string): string | undefined;
|
|
85
|
+
/**
|
|
86
|
+
* The state file a tool may act on, or a refusal saying why not.
|
|
87
|
+
*
|
|
88
|
+
* A run's state file holds THIS run's analysis and THIS run's plan. A path from
|
|
89
|
+
* another run carries another run's, and every check would then judge this diff
|
|
90
|
+
* against it — silently, because both files are valid state files. So a named path
|
|
91
|
+
* is accepted only when it names the file this run created.
|
|
92
|
+
*
|
|
93
|
+
* Gated on `currentRunStateFile`, never on `resolveRunStatePath`: that one builds a
|
|
94
|
+
* path out of `RUNNER_TEMP`, which GitHub Actions sets on every job including this
|
|
95
|
+
* repo's own CI, so it answers "where would the file be" and not "is there a run".
|
|
96
|
+
* Refusing on it would refuse a named path wherever that variable merely exists.
|
|
97
|
+
*
|
|
98
|
+
* With no run of its own — standalone use, an IDE, a test — the named path is the
|
|
99
|
+
* only one there is, and is taken as given.
|
|
100
|
+
*/
|
|
101
|
+
export declare function resolveOwnRunStatePath(explicitPath?: string): {
|
|
102
|
+
path?: string;
|
|
103
|
+
refusal?: string;
|
|
104
|
+
};
|
|
68
105
|
/**
|
|
69
106
|
* The run's state file if this process is actually serving a run, else undefined.
|
|
70
107
|
*
|
|
@@ -144,7 +181,13 @@ export interface ReuseHandOff {
|
|
|
144
181
|
/** The framework the hand-off named, so a refusal can hand back a call the
|
|
145
182
|
* reuse tool's schema accepts (`framework` is required there). */
|
|
146
183
|
framework: string;
|
|
184
|
+
/** Who recorded it. `generation` names a file this run wrote; `maintenance`
|
|
185
|
+
* names a pre-existing test skyramp_actions told the agent to update or
|
|
186
|
+
* regenerate, which is at HEAD by definition. Optional only so a reader can
|
|
187
|
+
* state its own default: every recorder sets it. */
|
|
188
|
+
source?: ReuseHandOffSource;
|
|
147
189
|
}
|
|
190
|
+
export type ReuseHandOffSource = "generation" | "maintenance";
|
|
148
191
|
/**
|
|
149
192
|
* Unified state data combining test discovery + endpoint scanning
|
|
150
193
|
* Used by the unified test-management workflow
|
|
@@ -165,12 +208,6 @@ export interface UnifiedAnalysisState {
|
|
|
165
208
|
/** Maintenance actions applied via skyramp_actions — skyramp_submit_report derives
|
|
166
209
|
* testMaintenance from this. */
|
|
167
210
|
maintenanceVerdicts?: MaintenanceActionCore[];
|
|
168
|
-
/**
|
|
169
|
-
* External (repo-owned) test runs recorded by skyramp_run_existing_tests, one
|
|
170
|
-
* record per confirm/verify invocation. Drift analysis and the report fold in
|
|
171
|
-
* CONFIRMED failures from here instead of guessing. Absent until the tool runs.
|
|
172
|
-
*/
|
|
173
|
-
externalTestResults?: ExternalTestRunRecord[];
|
|
174
211
|
/** POM code-reuse outcome per generated UI spec, keyed by test-file BASENAME
|
|
175
212
|
* (what `newTestsCreated[].fileName` carries). Written by skyramp_reuse_code,
|
|
176
213
|
* which computes every value in-process; skyramp_submit_report merges it into
|
|
@@ -190,6 +227,20 @@ export interface UnifiedAnalysisState {
|
|
|
190
227
|
* the report is accepted with the fault recorded in the row. Written by
|
|
191
228
|
* skyramp_submit_report only; never supplied by the LLM. */
|
|
192
229
|
reuseRefusals?: Record<string, number>;
|
|
230
|
+
/** Declines skyramp_submit_report removed from a delivered file, keyed by the file's
|
|
231
|
+
* ABSOLUTE PATH. The customer must not receive a comment addressed to one of our
|
|
232
|
+
* gates, but the run still has to know what it declined: without this, the next
|
|
233
|
+
* re-derivation refuses a fault the run already declined. The record is READ by a
|
|
234
|
+
* later call, never written back into the file — editing the customer's file a
|
|
235
|
+
* second time is what made a reworded or reformatted decline defeat the match. It
|
|
236
|
+
* does not outlive the run, which is the point: a later run judges the file it is
|
|
237
|
+
* given. Written by skyramp_submit_report only; never supplied by the LLM. */
|
|
238
|
+
strippedDeclines?: Record<string, {
|
|
239
|
+
kind?: string;
|
|
240
|
+
helper?: string;
|
|
241
|
+
keptInline?: string;
|
|
242
|
+
reason?: string;
|
|
243
|
+
}[]>;
|
|
193
244
|
/**
|
|
194
245
|
* SKYR-4156. Recorded video per executed browser test, keyed by test-file
|
|
195
246
|
* BASENAME (the same key `reuseOutcomes` uses, so matching needs no path
|
|
@@ -204,6 +255,17 @@ export interface UnifiedAnalysisState {
|
|
|
204
255
|
* the earlier attempt's now-stale directory.
|
|
205
256
|
*/
|
|
206
257
|
executionVideos?: Record<string, VideoRecord>;
|
|
258
|
+
/** The latest skyramp_execute_test run of each file, keyed by canonical test
|
|
259
|
+
* path — every file, not only maintained ones. Read by the post-execution
|
|
260
|
+
* assertion-alignment step; a re-run replaces the file's record. */
|
|
261
|
+
testExecutions?: Record<string, TestExecutionRecord>;
|
|
262
|
+
/** The fix-and-rerun attempt cap this run enforces (SKYR-4460), pinned by the
|
|
263
|
+
* first skyramp_execute_test call from the value the testbot prompt recorded.
|
|
264
|
+
* Run-wide, so it lives at the ROOT whichever repository's section that call
|
|
265
|
+
* writes, and is carried through later root rewrites. Once written it wins
|
|
266
|
+
* over any later prompt render or environment change, so the tool enforces
|
|
267
|
+
* the number the run's prompt stated for every file in the run. */
|
|
268
|
+
maxFixAttempts?: number;
|
|
207
269
|
/** The registered plan with its answered and open objections. Run-wide, so it
|
|
208
270
|
* lives at the ROOT whichever repository the registration names, and the newest
|
|
209
271
|
* registration REPLACES it. No fallback: no registration means no plan.
|
|
@@ -246,6 +308,24 @@ export interface UnifiedAnalysisState {
|
|
|
246
308
|
* skyramp_execute_test verifies against it server-side before executing.
|
|
247
309
|
* Never supplied by the LLM. */
|
|
248
310
|
assertionOutcomes?: Record<string, AssertionRecord>;
|
|
311
|
+
/** Every test file a generation tool wrote in this run, keyed by CANONICAL
|
|
312
|
+
* ABSOLUTE PATH — the same key `testExecutions` uses, so asking whether a
|
|
313
|
+
* generated file was run is a lookup, not a path match. Written in-process by
|
|
314
|
+
* the generators, never supplied by the LLM.
|
|
315
|
+
*
|
|
316
|
+
* The report otherwise has only the agent's `fileName`, which is a basename,
|
|
317
|
+
* so two specs of one name in different directories answer for each other.
|
|
318
|
+
* Separate from `assertionOutcomes`, which is also per-file but is written
|
|
319
|
+
* only when assertion enhancement applies to the test type. */
|
|
320
|
+
generatedTests?: Record<string, GeneratedTestRecord>;
|
|
321
|
+
}
|
|
322
|
+
/** One file a generation tool wrote. The path is the key; this is what is known
|
|
323
|
+
* about it at generation time. */
|
|
324
|
+
export interface GeneratedTestRecord {
|
|
325
|
+
testType: TestType;
|
|
326
|
+
/** Epoch milliseconds, as `Date.now()` returns them. A number so the report
|
|
327
|
+
* can compare it with a run's time directly; format it only to print it. */
|
|
328
|
+
generatedAt: number;
|
|
249
329
|
}
|
|
250
330
|
/**
|
|
251
331
|
* State file metadata
|
|
@@ -255,9 +335,8 @@ interface StateMetadata {
|
|
|
255
335
|
stateType: StateType;
|
|
256
336
|
repositoryPath?: string;
|
|
257
337
|
/** owner/repo of the PRIMARY repo, recorded on the root so related-repo writes
|
|
258
|
-
* can be distinguished from the primary.
|
|
259
|
-
|
|
260
|
-
repository?: string;
|
|
338
|
+
* can be distinguished from the primary. Every caller supplies it. */
|
|
339
|
+
repository: string;
|
|
261
340
|
createdAt: string;
|
|
262
341
|
updatedAt: string;
|
|
263
342
|
step?: string;
|
|
@@ -267,7 +346,7 @@ interface StateMetadata {
|
|
|
267
346
|
* The primary repo's analysis stays at the root for backward compatibility; each
|
|
268
347
|
* related repo's analysis is stored here keyed by its `owner/repo`.
|
|
269
348
|
*/
|
|
270
|
-
interface RepoStateSection<T> {
|
|
349
|
+
export interface RepoStateSection<T> {
|
|
271
350
|
/** Analysis payload — same shape as the root (e.g. UnifiedAnalysisState). */
|
|
272
351
|
data: T;
|
|
273
352
|
/** Absolute checkout path of this repo (used to re-absolutize test paths). */
|
|
@@ -319,19 +398,27 @@ export declare class StateManager<T = any> {
|
|
|
319
398
|
* Write data to state file
|
|
320
399
|
* Data fields are spread at root level alongside metadata
|
|
321
400
|
*/
|
|
322
|
-
writeData(data: T, options
|
|
401
|
+
writeData(data: T, options: {
|
|
323
402
|
repositoryPath?: string;
|
|
324
403
|
step?: string;
|
|
325
404
|
/** owner/repo recorded on the root metadata — identifies the PRIMARY repo
|
|
326
|
-
* so later section routing (isPrimaryRepo) can compare against it.
|
|
327
|
-
|
|
328
|
-
|
|
405
|
+
* so later section routing (isPrimaryRepo) can compare against it. */
|
|
406
|
+
repository: string;
|
|
407
|
+
}): Promise<void>;
|
|
408
|
+
/**
|
|
409
|
+
* Append to the root payload of a state file the run has already created.
|
|
410
|
+
* Takes no repository: the name the first write recorded stays, and the
|
|
411
|
+
* metadata it wrote is what these callers read back before patching it.
|
|
412
|
+
*/
|
|
413
|
+
appendData(data: T, options?: {
|
|
414
|
+
repositoryPath?: string;
|
|
415
|
+
step?: string;
|
|
329
416
|
}): Promise<void>;
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
*
|
|
333
|
-
*
|
|
334
|
-
*
|
|
417
|
+
private persist;
|
|
418
|
+
/** Is `repo` the primary section? By NAME, against the name the run declared
|
|
419
|
+
* for its primary checkout — so whichever call lands first cannot decide it
|
|
420
|
+
* (SKYR-4333: a docs-only primary diff let the related repo write first and
|
|
421
|
+
* take the root). */
|
|
335
422
|
private isPrimaryRepo;
|
|
336
423
|
/**
|
|
337
424
|
* Write one repo's analysis into the run-scoped state file. The primary repo
|
|
@@ -346,13 +433,29 @@ export declare class StateManager<T = any> {
|
|
|
346
433
|
* did so deleted the plan the agent had registered. NAMED rather than "keep
|
|
347
434
|
* everything omitted", which would resurrect fields a re-analysis clears. */
|
|
348
435
|
writeRepoData(data: T, options: {
|
|
349
|
-
repo
|
|
436
|
+
repo: string;
|
|
437
|
+
repositoryPath?: string;
|
|
438
|
+
step?: string;
|
|
439
|
+
/** The run's declared primary, resolved by the caller from the checkout
|
|
440
|
+
* the run named at its entry point. Passed on EVERY call, so a related
|
|
441
|
+
* repo arriving first writes a section and never the root. */
|
|
442
|
+
primary: {
|
|
443
|
+
repositoryPath: string;
|
|
444
|
+
repo: string;
|
|
445
|
+
};
|
|
446
|
+
}): Promise<void>;
|
|
447
|
+
/**
|
|
448
|
+
* Update one repo's section of a state file the run has already created.
|
|
449
|
+
* Takes no primary: the root records the primary's name, and these callers
|
|
450
|
+
* (execute, run-existing-tests, actions) read the section back before they
|
|
451
|
+
* patch it, so the run is already under way.
|
|
452
|
+
*/
|
|
453
|
+
updateRepoData(data: T, options: {
|
|
454
|
+
repo: string;
|
|
350
455
|
repositoryPath?: string;
|
|
351
456
|
step?: string;
|
|
352
|
-
/** The run's declared primary, passed on EVERY call of a multi-repo run.
|
|
353
|
-
* Given it, write order decides nothing. */
|
|
354
|
-
primaryRepo?: string;
|
|
355
457
|
}): Promise<void>;
|
|
458
|
+
private route;
|
|
356
459
|
/**
|
|
357
460
|
* Read one repo's analysis payload from the run-scoped state file. `repo`
|
|
358
461
|
* undefined → the primary (root) section (identical to readData()).
|