@skyramp/mcp 0.4.1 → 0.4.2-rc.1
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/adapters/jestAdapter.js +23 -5
- package/build/adapters/mochaAdapter.js +7 -1
- package/build/adapters/playwrightAdapter.js +3 -1
- package/build/adapters/pytestAdapter.js +14 -3
- package/build/commands/localDevTestChangesCommand.js +1 -0
- package/build/commands/recommendTestsAndExecuteCommand.js +5 -6
- package/build/commands/testThisEndpointCommand.js +16 -4
- package/build/index.js +34 -4
- package/build/playwright/blueprintDigest.js +28 -7
- package/build/playwright/registerPlaywrightTools.js +33 -28
- package/build/playwright/traceRecordingPrompt.js +9 -2
- package/build/prompts/code-reuse.js +95 -29
- 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 +3 -1
- package/build/prompts/local-dev/local-dev-prompts.d.ts +1 -1
- package/build/prompts/local-dev/local-dev-prompts.js +30 -3
- 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 +88 -2
- package/build/prompts/shared-helper-policy.js +145 -11
- package/build/prompts/sut-setup/modes/adaptWorkflowPrompt.js +1 -1
- 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 +2 -2
- 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.js +3 -2
- 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 +7 -4
- package/build/prompts/test-recommendation/recommendationSections.js +19 -8
- 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 +123 -55
- 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 +21 -5
- 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/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 -0
- package/build/tools/auth/loginTool.js +3 -1
- package/build/tools/auth/logoutTool.js +3 -1
- 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 +252 -27
- 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 +22 -1
- package/build/tools/executeSkyrampTestTool.js +571 -271
- 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/runExistingTestsTool.d.ts +1 -1
- package/build/tools/runExistingTestsTool.js +43 -21
- package/build/tools/submitReportTool.d.ts +51 -12
- package/build/tools/submitReportTool.js +860 -161
- package/build/tools/test-management/actionsTool.js +210 -51
- package/build/tools/test-management/analyzeChangesTool.d.ts +4 -5
- package/build/tools/test-management/analyzeChangesTool.js +127 -68
- package/build/tools/test-management/analyzeTestHealthTool.js +35 -13
- 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/trace/startTraceCollectionTool.js +3 -1
- package/build/tools/trace/stopTraceCollectionTool.js +41 -5
- 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/ExternalTestExecution.d.ts +2 -2
- package/build/types/RepositoryAnalysis.d.ts +0 -40
- package/build/types/ReuseOutcome.d.ts +96 -4
- 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 +13 -0
- package/build/types/TestTypes.js +34 -3
- package/build/types/TestbotPromptOptions.d.ts +9 -1
- package/build/types/TestbotReport.d.ts +45 -9
- package/build/utils/AnalysisStateManager.d.ts +137 -27
- package/build/utils/AnalysisStateManager.js +227 -43
- 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/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 +39 -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/proxy-terminal.d.ts +19 -1
- package/build/utils/proxy-terminal.js +346 -21
- 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.js +6 -2
- 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/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 +788 -0
- package/build/utils/testExecutionRecord.d.ts +90 -0
- package/build/utils/testExecutionRecord.js +267 -0
- package/build/utils/testFileClassification.js +3 -1
- package/build/utils/trace-parser.js +62 -14
- package/build/utils/urlPath.js +3 -1
- package/build/utils/utils-verify/action-key.d.ts +4 -0
- package/build/utils/utils-verify/action-key.js +2 -2
- 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 +335 -0
- package/build/utils/utils-verify/call-sites.d.ts +6 -1
- package/build/utils/utils-verify/call-sites.js +72 -8
- 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 +1 -0
- package/build/utils/utils-verify/index.js +1 -0
- package/build/utils/utils-verify/language-spec.d.ts +26 -10
- package/build/utils/utils-verify/language-spec.js +217 -20
- 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 +46 -6
- package/build/utils/utils-verify/parse.js +176 -38
- 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 +76 -1
- package/build/utils/utils-verify/verify.js +516 -44
- 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.js +7 -7
- 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 +4 -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 +44 -50
- 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/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/node_modules/playwright/node_modules/playwright-core/.DS_Store +0 -0
|
@@ -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 thrown error before the process exited (an Error-status run;
|
|
45
|
+
* see TestExecutionService's timeout and catch paths). 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
|
|
@@ -18,6 +18,12 @@ export declare enum TestType {
|
|
|
18
18
|
UNIT = "unit",
|
|
19
19
|
UNKNOWN = "unknown"
|
|
20
20
|
}
|
|
21
|
+
/** The four types the testbot can plan and deliver. `TestType`'s others are
|
|
22
|
+
* maintenance outcomes or report-only labels, so a planned test can never carry
|
|
23
|
+
* one. The plan schema, the stored plan's type and the report's join all read
|
|
24
|
+
* THIS list. */
|
|
25
|
+
export declare const TESTBOT_SUPPORTED_TEST_TYPES: readonly [TestType.CONTRACT, TestType.INTEGRATION, TestType.E2E, TestType.UI];
|
|
26
|
+
export type TestbotSupportedTestType = (typeof TESTBOT_SUPPORTED_TEST_TYPES)[number];
|
|
21
27
|
/**
|
|
22
28
|
* Mock is not a test type — mock files are deployed via apply_mock(),
|
|
23
29
|
* not executed as tests. Kept as a standalone constant for mock generation.
|
|
@@ -246,6 +252,13 @@ export declare const codeRefactoringSchema: z.ZodObject<{
|
|
|
246
252
|
codeReuse?: boolean | undefined;
|
|
247
253
|
modularizeCode?: boolean | undefined;
|
|
248
254
|
}>;
|
|
255
|
+
/** The `testName` field for a recording-driven generation tool.
|
|
256
|
+
*
|
|
257
|
+
* Single-sourced because the description is prompt text: it is the only thing
|
|
258
|
+
* steering the agent's choice of title, it gets re-tuned against eval results,
|
|
259
|
+
* and two copies would let the UI and E2E tools drift apart silently. Each
|
|
260
|
+
* tool passes the title its own generator falls back to (SKYR-4468). */
|
|
261
|
+
export declare const testNameField: (fallbackTitle: string) => z.ZodOptional<z.ZodString>;
|
|
249
262
|
/** Test types skyramp_enhance_assertions supports — single-sourced so the
|
|
250
263
|
* tool's schema enum and generation-time baseline seeding cannot drift
|
|
251
264
|
* (contract additionally requires provider mode at the seeding site). */
|
package/build/types/TestTypes.js
CHANGED
|
@@ -21,6 +21,16 @@ export var TestType;
|
|
|
21
21
|
TestType["UNIT"] = "unit";
|
|
22
22
|
TestType["UNKNOWN"] = "unknown";
|
|
23
23
|
})(TestType || (TestType = {}));
|
|
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 const TESTBOT_SUPPORTED_TEST_TYPES = [
|
|
29
|
+
TestType.CONTRACT,
|
|
30
|
+
TestType.INTEGRATION,
|
|
31
|
+
TestType.E2E,
|
|
32
|
+
TestType.UI,
|
|
33
|
+
];
|
|
24
34
|
/**
|
|
25
35
|
* Mock is not a test type — mock files are deployed via apply_mock(),
|
|
26
36
|
* not executed as tests. Kept as a standalone constant for mock generation.
|
|
@@ -123,9 +133,10 @@ export const baseSchema = z.object({
|
|
|
123
133
|
}, {
|
|
124
134
|
message: "Output file must have one of these extensions: .py, .ts, .js, .java",
|
|
125
135
|
})
|
|
126
|
-
.describe("Name of the output test file. For Playwright
|
|
127
|
-
"
|
|
128
|
-
"
|
|
136
|
+
.describe("Name of the output test file. For Playwright, name the file the way the " +
|
|
137
|
+
"repository names its tests: read the test files already in outputDir and " +
|
|
138
|
+
"match their spelling. Use *.test.ts where they use it, *.spec.ts otherwise " +
|
|
139
|
+
"(e.g. contract_math_add.spec.ts, fuzz_orders.test.ts). " +
|
|
129
140
|
"For other frameworks (pytest, junit), standard extensions are fine (.py, .java). " +
|
|
130
141
|
"Optional — when omitted, Skyramp generates a default name."),
|
|
131
142
|
outputDir: z
|
|
@@ -274,6 +285,26 @@ export const codeRefactoringSchema = z.object({
|
|
|
274
285
|
.default(false)
|
|
275
286
|
.describe("Whether to modularize the code"),
|
|
276
287
|
});
|
|
288
|
+
/** The `testName` field for a recording-driven generation tool.
|
|
289
|
+
*
|
|
290
|
+
* Single-sourced because the description is prompt text: it is the only thing
|
|
291
|
+
* steering the agent's choice of title, it gets re-tuned against eval results,
|
|
292
|
+
* and two copies would let the UI and E2E tools drift apart silently. Each
|
|
293
|
+
* tool passes the title its own generator falls back to (SKYR-4468). */
|
|
294
|
+
export const testNameField = (fallbackTitle) => z
|
|
295
|
+
.string()
|
|
296
|
+
// .trim() normalises incidental whitespace and, combined with .min(1),
|
|
297
|
+
// rejects a whitespace-only title, which would otherwise produce a
|
|
298
|
+
// meaningless test title and identifier (SKYR-4468).
|
|
299
|
+
.trim()
|
|
300
|
+
.min(1)
|
|
301
|
+
.optional()
|
|
302
|
+
.describe("Title for the generated test. Name the BEHAVIOUR this recording verifies, " +
|
|
303
|
+
"taken from the recommendation the recording came from — not the page it happens on. " +
|
|
304
|
+
'Example: "Add to cart from search results", not "Search page". ' +
|
|
305
|
+
"Skyramp emits it verbatim as the Playwright test title for TypeScript/JavaScript, " +
|
|
306
|
+
"and as a snake_case `def test_<name>` identifier for Python. " +
|
|
307
|
+
`Omit it and the test stays titled \`${fallbackTitle}\`, which claims nothing.`);
|
|
277
308
|
/** Test types skyramp_enhance_assertions supports — single-sourced so the
|
|
278
309
|
* tool's schema enum and generation-time baseline seeding cannot drift
|
|
279
310
|
* (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,12 @@
|
|
|
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
8
|
import type { ExternalTestRunRecord } from "../types/ExternalTestExecution.js";
|
|
8
|
-
import type { VideoRecord } from "../types/TestExecution.js";
|
|
9
|
+
import type { TestExecutionRecord, VideoRecord } from "../types/TestExecution.js";
|
|
9
10
|
import type { RepoCheckout } from "./reportVerification.js";
|
|
10
11
|
import type { Plan } from "../recommendation/registerPlan.js";
|
|
11
12
|
import type { Objection } from "../recommendation/types.js";
|
|
@@ -21,6 +22,24 @@ export declare function setTestsRepoDir(dir: string | undefined): void;
|
|
|
21
22
|
*/
|
|
22
23
|
export declare function rememberTestsRepoDir(dir: string | undefined): void;
|
|
23
24
|
export declare function getTestsRepoDir(): string | undefined;
|
|
25
|
+
export declare function rememberPrimaryRepository(repositoryPath: string, repo: string): void;
|
|
26
|
+
/**
|
|
27
|
+
* Test seam, and the declaration the prompt render makes at the start of a run.
|
|
28
|
+
*
|
|
29
|
+
* A render is a run boundary, so it drops the in-memory state-file anchor as well:
|
|
30
|
+
* a server that renders a second prompt is serving a second run, and the first
|
|
31
|
+
* run's file must not take the second run's analysis. The pointer file stays, since
|
|
32
|
+
* it lives in the job's own `RUNNER_TEMP` — a later STAGE of the same run renders
|
|
33
|
+
* again in a fresh process and must still find that run's file.
|
|
34
|
+
*/
|
|
35
|
+
export declare function setPrimaryRepository(primary: {
|
|
36
|
+
repositoryPath: string;
|
|
37
|
+
repo: string;
|
|
38
|
+
} | undefined): void;
|
|
39
|
+
export declare function getPrimaryRepository(): {
|
|
40
|
+
repositoryPath: string;
|
|
41
|
+
repo: string;
|
|
42
|
+
} | undefined;
|
|
24
43
|
/** Filename of the run-scoped analysis state file under `runArtifactDir()`.
|
|
25
44
|
* Single-sourced so the constructor that WRITES there and `resolveRunStatePath`
|
|
26
45
|
* which LOOKS there cannot drift apart. */
|
|
@@ -53,18 +72,37 @@ export declare function clearActiveRunStatePath(): void;
|
|
|
53
72
|
* The run's state-file path, for tools that need to read or amend it without the
|
|
54
73
|
* agent naming it.
|
|
55
74
|
*
|
|
56
|
-
* `setActiveRunStatePath` is
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
* send later stages to the wrong file.
|
|
75
|
+
* `setActiveRunStatePath` is called by skyramp_analyze_changes on every run. It is
|
|
76
|
+
* read back two ways: from memory in this process, and from the pointer file a
|
|
77
|
+
* previous stage of the same run wrote — a staged run starts a fresh server per
|
|
78
|
+
* stage, so memory alone would send later stages to the wrong file.
|
|
61
79
|
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
* to
|
|
65
|
-
* resolves to undefined — correct, since there is no run state.
|
|
80
|
+
* The path is deterministic in CI either way: the StateManager constructor above
|
|
81
|
+
* roots "analysis" state under `runArtifactDir()`, so a run whose anchor was cleared
|
|
82
|
+
* at a stage boundary resolves to the same file. Standalone/IDE usage has no
|
|
83
|
+
* RUNNER_TEMP and resolves to undefined — correct, since there is no run state.
|
|
66
84
|
*/
|
|
67
85
|
export declare function resolveRunStatePath(explicitPath?: string): string | undefined;
|
|
86
|
+
/**
|
|
87
|
+
* The state file a tool may act on, or a refusal saying why not.
|
|
88
|
+
*
|
|
89
|
+
* A run's state file holds THIS run's analysis and THIS run's plan. A path from
|
|
90
|
+
* another run carries another run's, and every check would then judge this diff
|
|
91
|
+
* against it — silently, because both files are valid state files. So a named path
|
|
92
|
+
* is accepted only when it names the file this run created.
|
|
93
|
+
*
|
|
94
|
+
* Gated on `currentRunStateFile`, never on `resolveRunStatePath`: that one builds a
|
|
95
|
+
* path out of `RUNNER_TEMP`, which GitHub Actions sets on every job including this
|
|
96
|
+
* repo's own CI, so it answers "where would the file be" and not "is there a run".
|
|
97
|
+
* Refusing on it would refuse a named path wherever that variable merely exists.
|
|
98
|
+
*
|
|
99
|
+
* With no run of its own — standalone use, an IDE, a test — the named path is the
|
|
100
|
+
* only one there is, and is taken as given.
|
|
101
|
+
*/
|
|
102
|
+
export declare function resolveOwnRunStatePath(explicitPath?: string): {
|
|
103
|
+
path?: string;
|
|
104
|
+
refusal?: string;
|
|
105
|
+
};
|
|
68
106
|
/**
|
|
69
107
|
* The run's state file if this process is actually serving a run, else undefined.
|
|
70
108
|
*
|
|
@@ -144,7 +182,13 @@ export interface ReuseHandOff {
|
|
|
144
182
|
/** The framework the hand-off named, so a refusal can hand back a call the
|
|
145
183
|
* reuse tool's schema accepts (`framework` is required there). */
|
|
146
184
|
framework: string;
|
|
185
|
+
/** Who recorded it. `generation` names a file this run wrote; `maintenance`
|
|
186
|
+
* names a pre-existing test skyramp_actions told the agent to update or
|
|
187
|
+
* regenerate, which is at HEAD by definition. Optional only so a reader can
|
|
188
|
+
* state its own default: every recorder sets it. */
|
|
189
|
+
source?: ReuseHandOffSource;
|
|
147
190
|
}
|
|
191
|
+
export type ReuseHandOffSource = "generation" | "maintenance";
|
|
148
192
|
/**
|
|
149
193
|
* Unified state data combining test discovery + endpoint scanning
|
|
150
194
|
* Used by the unified test-management workflow
|
|
@@ -190,6 +234,20 @@ export interface UnifiedAnalysisState {
|
|
|
190
234
|
* the report is accepted with the fault recorded in the row. Written by
|
|
191
235
|
* skyramp_submit_report only; never supplied by the LLM. */
|
|
192
236
|
reuseRefusals?: Record<string, number>;
|
|
237
|
+
/** Declines skyramp_submit_report removed from a delivered file, keyed by the file's
|
|
238
|
+
* ABSOLUTE PATH. The customer must not receive a comment addressed to one of our
|
|
239
|
+
* gates, but the run still has to know what it declined: without this, the next
|
|
240
|
+
* re-derivation refuses a fault the run already declined. The record is READ by a
|
|
241
|
+
* later call, never written back into the file — editing the customer's file a
|
|
242
|
+
* second time is what made a reworded or reformatted decline defeat the match. It
|
|
243
|
+
* does not outlive the run, which is the point: a later run judges the file it is
|
|
244
|
+
* given. Written by skyramp_submit_report only; never supplied by the LLM. */
|
|
245
|
+
strippedDeclines?: Record<string, {
|
|
246
|
+
kind?: string;
|
|
247
|
+
helper?: string;
|
|
248
|
+
keptInline?: string;
|
|
249
|
+
reason?: string;
|
|
250
|
+
}[]>;
|
|
193
251
|
/**
|
|
194
252
|
* SKYR-4156. Recorded video per executed browser test, keyed by test-file
|
|
195
253
|
* BASENAME (the same key `reuseOutcomes` uses, so matching needs no path
|
|
@@ -204,6 +262,17 @@ export interface UnifiedAnalysisState {
|
|
|
204
262
|
* the earlier attempt's now-stale directory.
|
|
205
263
|
*/
|
|
206
264
|
executionVideos?: Record<string, VideoRecord>;
|
|
265
|
+
/** The latest skyramp_execute_test run of each file, keyed by canonical test
|
|
266
|
+
* path — every file, not only maintained ones. Read by the post-execution
|
|
267
|
+
* assertion-alignment step; a re-run replaces the file's record. */
|
|
268
|
+
testExecutions?: Record<string, TestExecutionRecord>;
|
|
269
|
+
/** The fix-and-rerun attempt cap this run enforces (SKYR-4460), pinned by the
|
|
270
|
+
* first skyramp_execute_test call from the value the testbot prompt recorded.
|
|
271
|
+
* Run-wide, so it lives at the ROOT whichever repository's section that call
|
|
272
|
+
* writes, and is carried through later root rewrites. Once written it wins
|
|
273
|
+
* over any later prompt render or environment change, so the tool enforces
|
|
274
|
+
* the number the run's prompt stated for every file in the run. */
|
|
275
|
+
maxFixAttempts?: number;
|
|
207
276
|
/** The registered plan with its answered and open objections. Run-wide, so it
|
|
208
277
|
* lives at the ROOT whichever repository the registration names, and the newest
|
|
209
278
|
* registration REPLACES it. No fallback: no registration means no plan.
|
|
@@ -246,6 +315,24 @@ export interface UnifiedAnalysisState {
|
|
|
246
315
|
* skyramp_execute_test verifies against it server-side before executing.
|
|
247
316
|
* Never supplied by the LLM. */
|
|
248
317
|
assertionOutcomes?: Record<string, AssertionRecord>;
|
|
318
|
+
/** Every test file a generation tool wrote in this run, keyed by CANONICAL
|
|
319
|
+
* ABSOLUTE PATH — the same key `testExecutions` uses, so asking whether a
|
|
320
|
+
* generated file was run is a lookup, not a path match. Written in-process by
|
|
321
|
+
* the generators, never supplied by the LLM.
|
|
322
|
+
*
|
|
323
|
+
* The report otherwise has only the agent's `fileName`, which is a basename,
|
|
324
|
+
* so two specs of one name in different directories answer for each other.
|
|
325
|
+
* Separate from `assertionOutcomes`, which is also per-file but is written
|
|
326
|
+
* only when assertion enhancement applies to the test type. */
|
|
327
|
+
generatedTests?: Record<string, GeneratedTestRecord>;
|
|
328
|
+
}
|
|
329
|
+
/** One file a generation tool wrote. The path is the key; this is what is known
|
|
330
|
+
* about it at generation time. */
|
|
331
|
+
export interface GeneratedTestRecord {
|
|
332
|
+
testType: TestType;
|
|
333
|
+
/** Epoch milliseconds, as `Date.now()` returns them. A number so the report
|
|
334
|
+
* can compare it with a run's time directly; format it only to print it. */
|
|
335
|
+
generatedAt: number;
|
|
249
336
|
}
|
|
250
337
|
/**
|
|
251
338
|
* State file metadata
|
|
@@ -255,9 +342,8 @@ interface StateMetadata {
|
|
|
255
342
|
stateType: StateType;
|
|
256
343
|
repositoryPath?: string;
|
|
257
344
|
/** 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;
|
|
345
|
+
* can be distinguished from the primary. Every caller supplies it. */
|
|
346
|
+
repository: string;
|
|
261
347
|
createdAt: string;
|
|
262
348
|
updatedAt: string;
|
|
263
349
|
step?: string;
|
|
@@ -267,7 +353,7 @@ interface StateMetadata {
|
|
|
267
353
|
* The primary repo's analysis stays at the root for backward compatibility; each
|
|
268
354
|
* related repo's analysis is stored here keyed by its `owner/repo`.
|
|
269
355
|
*/
|
|
270
|
-
interface RepoStateSection<T> {
|
|
356
|
+
export interface RepoStateSection<T> {
|
|
271
357
|
/** Analysis payload — same shape as the root (e.g. UnifiedAnalysisState). */
|
|
272
358
|
data: T;
|
|
273
359
|
/** Absolute checkout path of this repo (used to re-absolutize test paths). */
|
|
@@ -319,19 +405,27 @@ export declare class StateManager<T = any> {
|
|
|
319
405
|
* Write data to state file
|
|
320
406
|
* Data fields are spread at root level alongside metadata
|
|
321
407
|
*/
|
|
322
|
-
writeData(data: T, options
|
|
408
|
+
writeData(data: T, options: {
|
|
323
409
|
repositoryPath?: string;
|
|
324
410
|
step?: string;
|
|
325
411
|
/** owner/repo recorded on the root metadata — identifies the PRIMARY repo
|
|
326
|
-
* so later section routing (isPrimaryRepo) can compare against it.
|
|
327
|
-
|
|
328
|
-
|
|
412
|
+
* so later section routing (isPrimaryRepo) can compare against it. */
|
|
413
|
+
repository: string;
|
|
414
|
+
}): Promise<void>;
|
|
415
|
+
/**
|
|
416
|
+
* Append to the root payload of a state file the run has already created.
|
|
417
|
+
* Takes no repository: the name the first write recorded stays, and the
|
|
418
|
+
* metadata it wrote is what these callers read back before patching it.
|
|
419
|
+
*/
|
|
420
|
+
appendData(data: T, options?: {
|
|
421
|
+
repositoryPath?: string;
|
|
422
|
+
step?: string;
|
|
329
423
|
}): Promise<void>;
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
*
|
|
333
|
-
*
|
|
334
|
-
*
|
|
424
|
+
private persist;
|
|
425
|
+
/** Is `repo` the primary section? By NAME, against the name the run declared
|
|
426
|
+
* for its primary checkout — so whichever call lands first cannot decide it
|
|
427
|
+
* (SKYR-4333: a docs-only primary diff let the related repo write first and
|
|
428
|
+
* take the root). */
|
|
335
429
|
private isPrimaryRepo;
|
|
336
430
|
/**
|
|
337
431
|
* Write one repo's analysis into the run-scoped state file. The primary repo
|
|
@@ -346,13 +440,29 @@ export declare class StateManager<T = any> {
|
|
|
346
440
|
* did so deleted the plan the agent had registered. NAMED rather than "keep
|
|
347
441
|
* everything omitted", which would resurrect fields a re-analysis clears. */
|
|
348
442
|
writeRepoData(data: T, options: {
|
|
349
|
-
repo
|
|
443
|
+
repo: string;
|
|
444
|
+
repositoryPath?: string;
|
|
445
|
+
step?: string;
|
|
446
|
+
/** The run's declared primary, resolved by the caller from the checkout
|
|
447
|
+
* the run named at its entry point. Passed on EVERY call, so a related
|
|
448
|
+
* repo arriving first writes a section and never the root. */
|
|
449
|
+
primary: {
|
|
450
|
+
repositoryPath: string;
|
|
451
|
+
repo: string;
|
|
452
|
+
};
|
|
453
|
+
}): Promise<void>;
|
|
454
|
+
/**
|
|
455
|
+
* Update one repo's section of a state file the run has already created.
|
|
456
|
+
* Takes no primary: the root records the primary's name, and these callers
|
|
457
|
+
* (execute, run-existing-tests, actions) read the section back before they
|
|
458
|
+
* patch it, so the run is already under way.
|
|
459
|
+
*/
|
|
460
|
+
updateRepoData(data: T, options: {
|
|
461
|
+
repo: string;
|
|
350
462
|
repositoryPath?: string;
|
|
351
463
|
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
464
|
}): Promise<void>;
|
|
465
|
+
private route;
|
|
356
466
|
/**
|
|
357
467
|
* Read one repo's analysis payload from the run-scoped state file. `repo`
|
|
358
468
|
* undefined → the primary (root) section (identical to readData()).
|