@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
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
}
|
|
16
16
|
},
|
|
17
17
|
"node_modules/@hono/node-server": {
|
|
18
|
-
"version": "1.19.
|
|
19
|
-
"resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.
|
|
20
|
-
"integrity": "sha512-
|
|
18
|
+
"version": "1.19.17",
|
|
19
|
+
"resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.17.tgz",
|
|
20
|
+
"integrity": "sha512-dSneS5qhiauZWGDCeK4o695Xd9nUNjviSZCMQrj10eetr8Uln1ucn6bbphOM6UynAMMtNIzZNSpL9vnASJwrPQ==",
|
|
21
21
|
"license": "MIT",
|
|
22
22
|
"engines": {
|
|
23
23
|
"node": ">=18.14.1"
|
|
@@ -122,20 +122,20 @@
|
|
|
122
122
|
}
|
|
123
123
|
},
|
|
124
124
|
"node_modules/body-parser": {
|
|
125
|
-
"version": "2.
|
|
126
|
-
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.
|
|
127
|
-
"integrity": "sha512-
|
|
125
|
+
"version": "2.3.0",
|
|
126
|
+
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.3.0.tgz",
|
|
127
|
+
"integrity": "sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==",
|
|
128
128
|
"license": "MIT",
|
|
129
129
|
"dependencies": {
|
|
130
130
|
"bytes": "^3.1.2",
|
|
131
|
-
"content-type": "^
|
|
131
|
+
"content-type": "^2.0.0",
|
|
132
132
|
"debug": "^4.4.3",
|
|
133
|
-
"http-errors": "^2.0.
|
|
134
|
-
"iconv-lite": "^0.7.
|
|
133
|
+
"http-errors": "^2.0.1",
|
|
134
|
+
"iconv-lite": "^0.7.2",
|
|
135
135
|
"on-finished": "^2.4.1",
|
|
136
|
-
"qs": "^6.
|
|
137
|
-
"raw-body": "^3.0.
|
|
138
|
-
"type-is": "^2.0
|
|
136
|
+
"qs": "^6.15.2",
|
|
137
|
+
"raw-body": "^3.0.2",
|
|
138
|
+
"type-is": "^2.1.0"
|
|
139
139
|
},
|
|
140
140
|
"engines": {
|
|
141
141
|
"node": ">=18"
|
|
@@ -145,6 +145,19 @@
|
|
|
145
145
|
"url": "https://opencollective.com/express"
|
|
146
146
|
}
|
|
147
147
|
},
|
|
148
|
+
"node_modules/body-parser/node_modules/content-type": {
|
|
149
|
+
"version": "2.1.0",
|
|
150
|
+
"resolved": "https://registry.npmjs.org/content-type/-/content-type-2.1.0.tgz",
|
|
151
|
+
"integrity": "sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag==",
|
|
152
|
+
"license": "MIT",
|
|
153
|
+
"engines": {
|
|
154
|
+
"node": ">=18"
|
|
155
|
+
},
|
|
156
|
+
"funding": {
|
|
157
|
+
"type": "opencollective",
|
|
158
|
+
"url": "https://opencollective.com/express"
|
|
159
|
+
}
|
|
160
|
+
},
|
|
148
161
|
"node_modules/bytes": {
|
|
149
162
|
"version": "3.1.2",
|
|
150
163
|
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
|
|
@@ -324,9 +337,9 @@
|
|
|
324
337
|
}
|
|
325
338
|
},
|
|
326
339
|
"node_modules/es-object-atoms": {
|
|
327
|
-
"version": "1.1.
|
|
328
|
-
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.
|
|
329
|
-
"integrity": "sha512-
|
|
340
|
+
"version": "1.1.2",
|
|
341
|
+
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz",
|
|
342
|
+
"integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==",
|
|
330
343
|
"license": "MIT",
|
|
331
344
|
"dependencies": {
|
|
332
345
|
"es-errors": "^1.3.0"
|
|
@@ -439,9 +452,9 @@
|
|
|
439
452
|
"license": "MIT"
|
|
440
453
|
},
|
|
441
454
|
"node_modules/fast-uri": {
|
|
442
|
-
"version": "3.1.
|
|
443
|
-
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.
|
|
444
|
-
"integrity": "sha512-
|
|
455
|
+
"version": "3.1.7",
|
|
456
|
+
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.7.tgz",
|
|
457
|
+
"integrity": "sha512-dOvZVzjdZdz7phd9v6jCbwxrBW3fK6n8Rc0CtdmM4bumzMnxywBYhuph6J819RRw/ku+rLbelwfMunktuzVVHg==",
|
|
445
458
|
"funding": [
|
|
446
459
|
{
|
|
447
460
|
"type": "github",
|
|
@@ -564,9 +577,9 @@
|
|
|
564
577
|
}
|
|
565
578
|
},
|
|
566
579
|
"node_modules/hasown": {
|
|
567
|
-
"version": "2.0.
|
|
568
|
-
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.
|
|
569
|
-
"integrity": "sha512-
|
|
580
|
+
"version": "2.0.4",
|
|
581
|
+
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz",
|
|
582
|
+
"integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==",
|
|
570
583
|
"license": "MIT",
|
|
571
584
|
"dependencies": {
|
|
572
585
|
"function-bind": "^1.1.2"
|
|
@@ -576,9 +589,9 @@
|
|
|
576
589
|
}
|
|
577
590
|
},
|
|
578
591
|
"node_modules/hono": {
|
|
579
|
-
"version": "4.
|
|
580
|
-
"resolved": "https://registry.npmjs.org/hono/-/hono-4.
|
|
581
|
-
"integrity": "sha512-
|
|
592
|
+
"version": "4.13.7",
|
|
593
|
+
"resolved": "https://registry.npmjs.org/hono/-/hono-4.13.7.tgz",
|
|
594
|
+
"integrity": "sha512-c8/gF9ac8Y78/agExVocyLevgR+JlpNB444Py0FSX8pJoPdYUfUzRcXtYEYGwt6l19qIlVZPN5Mfsw9jFShmQQ==",
|
|
582
595
|
"license": "MIT",
|
|
583
596
|
"engines": {
|
|
584
597
|
"node": ">=16.9.0"
|
|
@@ -627,9 +640,9 @@
|
|
|
627
640
|
"license": "ISC"
|
|
628
641
|
},
|
|
629
642
|
"node_modules/ip-address": {
|
|
630
|
-
"version": "10.
|
|
631
|
-
"resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.
|
|
632
|
-
"integrity": "sha512
|
|
643
|
+
"version": "10.7.0",
|
|
644
|
+
"resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.7.0.tgz",
|
|
645
|
+
"integrity": "sha512-BGFsyJd5mpXp3rK6jIdADLNgpJUK1jnjzvYF8lK+VyDab9JAmqN0YOKDdP17HlgKb2+ehPgDc8EtnRLbGCAMhA==",
|
|
633
646
|
"license": "MIT",
|
|
634
647
|
"engines": {
|
|
635
648
|
"node": ">= 12"
|
|
@@ -840,12 +853,13 @@
|
|
|
840
853
|
}
|
|
841
854
|
},
|
|
842
855
|
"node_modules/qs": {
|
|
843
|
-
"version": "6.
|
|
844
|
-
"resolved": "https://registry.npmjs.org/qs/-/qs-6.
|
|
845
|
-
"integrity": "sha512-
|
|
856
|
+
"version": "6.16.0",
|
|
857
|
+
"resolved": "https://registry.npmjs.org/qs/-/qs-6.16.0.tgz",
|
|
858
|
+
"integrity": "sha512-h6fhOIaRrID2CbEY2fqs+7t+UXZo+MLAnU5gRIq85uFtdiUPCdsApMlHhXogKVM4HM2DVbIjGNTTYH2OcmP1vA==",
|
|
846
859
|
"license": "BSD-3-Clause",
|
|
847
860
|
"dependencies": {
|
|
848
|
-
"
|
|
861
|
+
"es-define-property": "^1.0.1",
|
|
862
|
+
"side-channel": "^1.1.1"
|
|
849
863
|
},
|
|
850
864
|
"engines": {
|
|
851
865
|
"node": ">=0.6"
|
|
@@ -982,14 +996,14 @@
|
|
|
982
996
|
}
|
|
983
997
|
},
|
|
984
998
|
"node_modules/side-channel": {
|
|
985
|
-
"version": "1.1.
|
|
986
|
-
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.
|
|
987
|
-
"integrity": "sha512-
|
|
999
|
+
"version": "1.1.1",
|
|
1000
|
+
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz",
|
|
1001
|
+
"integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==",
|
|
988
1002
|
"license": "MIT",
|
|
989
1003
|
"dependencies": {
|
|
990
1004
|
"es-errors": "^1.3.0",
|
|
991
|
-
"object-inspect": "^1.13.
|
|
992
|
-
"side-channel-list": "^1.0.
|
|
1005
|
+
"object-inspect": "^1.13.4",
|
|
1006
|
+
"side-channel-list": "^1.0.1",
|
|
993
1007
|
"side-channel-map": "^1.0.1",
|
|
994
1008
|
"side-channel-weakmap": "^1.0.2"
|
|
995
1009
|
},
|
|
@@ -1072,17 +1086,34 @@
|
|
|
1072
1086
|
}
|
|
1073
1087
|
},
|
|
1074
1088
|
"node_modules/type-is": {
|
|
1075
|
-
"version": "2.0
|
|
1076
|
-
"resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.
|
|
1077
|
-
"integrity": "sha512-
|
|
1089
|
+
"version": "2.1.0",
|
|
1090
|
+
"resolved": "https://registry.npmjs.org/type-is/-/type-is-2.1.0.tgz",
|
|
1091
|
+
"integrity": "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==",
|
|
1078
1092
|
"license": "MIT",
|
|
1079
1093
|
"dependencies": {
|
|
1080
|
-
"content-type": "^
|
|
1094
|
+
"content-type": "^2.0.0",
|
|
1081
1095
|
"media-typer": "^1.1.0",
|
|
1082
1096
|
"mime-types": "^3.0.0"
|
|
1083
1097
|
},
|
|
1084
1098
|
"engines": {
|
|
1085
|
-
"node": ">=
|
|
1099
|
+
"node": ">= 18"
|
|
1100
|
+
},
|
|
1101
|
+
"funding": {
|
|
1102
|
+
"type": "opencollective",
|
|
1103
|
+
"url": "https://opencollective.com/express"
|
|
1104
|
+
}
|
|
1105
|
+
},
|
|
1106
|
+
"node_modules/type-is/node_modules/content-type": {
|
|
1107
|
+
"version": "2.1.0",
|
|
1108
|
+
"resolved": "https://registry.npmjs.org/content-type/-/content-type-2.1.0.tgz",
|
|
1109
|
+
"integrity": "sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag==",
|
|
1110
|
+
"license": "MIT",
|
|
1111
|
+
"engines": {
|
|
1112
|
+
"node": ">=18"
|
|
1113
|
+
},
|
|
1114
|
+
"funding": {
|
|
1115
|
+
"type": "opencollective",
|
|
1116
|
+
"url": "https://opencollective.com/express"
|
|
1086
1117
|
}
|
|
1087
1118
|
},
|
|
1088
1119
|
"node_modules/unpipe": {
|
|
@@ -116,9 +116,9 @@
|
|
|
116
116
|
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
|
|
117
117
|
},
|
|
118
118
|
"node_modules/brace-expansion": {
|
|
119
|
-
"version": "1.1.
|
|
120
|
-
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.
|
|
121
|
-
"integrity": "sha512-
|
|
119
|
+
"version": "1.1.18",
|
|
120
|
+
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.18.tgz",
|
|
121
|
+
"integrity": "sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw==",
|
|
122
122
|
"license": "MIT",
|
|
123
123
|
"dependencies": {
|
|
124
124
|
"balanced-match": "^1.0.0",
|
|
@@ -211,9 +211,9 @@
|
|
|
211
211
|
}
|
|
212
212
|
},
|
|
213
213
|
"node_modules/ip-address": {
|
|
214
|
-
"version": "10.
|
|
215
|
-
"resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.
|
|
216
|
-
"integrity": "sha512
|
|
214
|
+
"version": "10.7.0",
|
|
215
|
+
"resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.7.0.tgz",
|
|
216
|
+
"integrity": "sha512-BGFsyJd5mpXp3rK6jIdADLNgpJUK1jnjzvYF8lK+VyDab9JAmqN0YOKDdP17HlgKb2+ehPgDc8EtnRLbGCAMhA==",
|
|
217
217
|
"license": "MIT",
|
|
218
218
|
"engines": {
|
|
219
219
|
"node": ">= 12"
|
|
@@ -51,11 +51,33 @@ expand('ppp{,config,oe{,conf}}')
|
|
|
51
51
|
var expand = require('brace-expansion');
|
|
52
52
|
```
|
|
53
53
|
|
|
54
|
-
### var expanded = expand(str)
|
|
54
|
+
### var expanded = expand(str, [options])
|
|
55
55
|
|
|
56
56
|
Return an array of all possible and valid expansions of `str`. If none are
|
|
57
57
|
found, `[str]` is returned.
|
|
58
58
|
|
|
59
|
+
The `options` object can provide a `max` value to cap the number
|
|
60
|
+
of expansions allowed. This is limited to `100_000` by default,
|
|
61
|
+
to prevent DoS attacks.
|
|
62
|
+
|
|
63
|
+
```js
|
|
64
|
+
const expansions = expand('{1..100}'.repeat(5), {
|
|
65
|
+
max: 100,
|
|
66
|
+
})
|
|
67
|
+
// expansions.length will be 100, not 100^5
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
The `options` object can also provide a `maxLength` value to cap the
|
|
71
|
+
total number of characters across all expansions. This is limited to
|
|
72
|
+
`4_000_000` by default, to prevent memory exhaustion from inputs whose
|
|
73
|
+
result count stays under `max` while each result grows very long.
|
|
74
|
+
|
|
75
|
+
```js
|
|
76
|
+
const expansions = expand('{a,b}'.repeat(1500), {
|
|
77
|
+
maxLength: 10_000,
|
|
78
|
+
})
|
|
79
|
+
```
|
|
80
|
+
|
|
59
81
|
Valid expansions are:
|
|
60
82
|
|
|
61
83
|
```js
|
|
@@ -9,6 +9,20 @@ var escClose = '\0CLOSE'+Math.random()+'\0';
|
|
|
9
9
|
var escComma = '\0COMMA'+Math.random()+'\0';
|
|
10
10
|
var escPeriod = '\0PERIOD'+Math.random()+'\0';
|
|
11
11
|
|
|
12
|
+
var EXPANSION_MAX = 100000
|
|
13
|
+
|
|
14
|
+
// `EXPANSION_MAX` caps the *number* of expansions, but not their length. An
|
|
15
|
+
// input like `'{a,b}'.repeat(1500)` stays under that count - its output is
|
|
16
|
+
// truncated to 100k results - while making every result ~1500 characters
|
|
17
|
+
// long. The result set, and the intermediate arrays built while combining
|
|
18
|
+
// brace sets, then grow large enough to exhaust memory and crash the process
|
|
19
|
+
// (CVE-2026-14257). `EXPANSION_MAX_LENGTH` bounds the total number of
|
|
20
|
+
// characters the accumulator may hold at any point, so memory stays flat no
|
|
21
|
+
// matter how many brace groups are chained. The limit sits well above any
|
|
22
|
+
// realistic expansion (100k results hitting `EXPANSION_MAX` measure ~1M
|
|
23
|
+
// characters) so legitimate input is unaffected.
|
|
24
|
+
var EXPANSION_MAX_LENGTH = 4000000
|
|
25
|
+
|
|
12
26
|
function numeric(str) {
|
|
13
27
|
return parseInt(str, 10) == str
|
|
14
28
|
? parseInt(str, 10)
|
|
@@ -67,7 +81,8 @@ function expandTop(str, options) {
|
|
|
67
81
|
return [];
|
|
68
82
|
|
|
69
83
|
options = options || {};
|
|
70
|
-
var max = options.max == null ?
|
|
84
|
+
var max = options.max == null ? EXPANSION_MAX : options.max;
|
|
85
|
+
var maxLength = options.maxLength == null ? EXPANSION_MAX_LENGTH : options.maxLength;
|
|
71
86
|
|
|
72
87
|
// I don't know why Bash 4.3 does this, but it does.
|
|
73
88
|
// Anything starting with {} will have the first two bytes preserved
|
|
@@ -79,7 +94,7 @@ function expandTop(str, options) {
|
|
|
79
94
|
str = '\\{\\}' + str.substr(2);
|
|
80
95
|
}
|
|
81
96
|
|
|
82
|
-
return expand(escapeBraces(str), max, true).map(unescapeBraces);
|
|
97
|
+
return expand(escapeBraces(str), max, maxLength, true).map(unescapeBraces);
|
|
83
98
|
}
|
|
84
99
|
|
|
85
100
|
function identity(e) {
|
|
@@ -100,104 +115,268 @@ function gte(i, y) {
|
|
|
100
115
|
return i >= y;
|
|
101
116
|
}
|
|
102
117
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
+
// Build `{ acc[a] + pre + values[v] }` for every combination, capping the
|
|
119
|
+
// number of results at `max` and the total number of characters at `maxLength`.
|
|
120
|
+
// This is the one place output grows, so bounding it here keeps the single
|
|
121
|
+
// accumulator - and therefore memory - flat regardless of how many brace groups
|
|
122
|
+
// are combined (CVE-2026-14257).
|
|
123
|
+
//
|
|
124
|
+
// `base[a]` is the length of the part of `acc[a]` that predates the current
|
|
125
|
+
// empty-drop baseline (see `expand`). The matching baselines for the results
|
|
126
|
+
// are appended to `outBase`, which the caller carries forward alongside them.
|
|
127
|
+
function combine(
|
|
128
|
+
acc,
|
|
129
|
+
base,
|
|
130
|
+
pre,
|
|
131
|
+
values,
|
|
132
|
+
max,
|
|
133
|
+
maxLength,
|
|
134
|
+
dropEmpties,
|
|
135
|
+
outBase
|
|
136
|
+
) {
|
|
137
|
+
var out = []
|
|
138
|
+
var length = 0
|
|
139
|
+
for (var a = 0; a < acc.length; a++) {
|
|
140
|
+
for (var v = 0; v < values.length; v++) {
|
|
141
|
+
if (out.length >= max) return out
|
|
142
|
+
var expansion = acc[a] + pre + values[v]
|
|
143
|
+
// Bash drops empty results at the top level. Skip them before they count
|
|
144
|
+
// against `max`, so `max` bounds the number of *kept* results. "Empty"
|
|
145
|
+
// means "adds nothing past the baseline", not "empty overall".
|
|
146
|
+
if (dropEmpties && expansion.length === base[a]) continue
|
|
147
|
+
if (length + expansion.length > maxLength) return out
|
|
148
|
+
out.push(expansion)
|
|
149
|
+
outBase.push(base[a])
|
|
150
|
+
length += expansion.length
|
|
118
151
|
}
|
|
119
|
-
return [str];
|
|
120
152
|
}
|
|
153
|
+
return out
|
|
154
|
+
}
|
|
121
155
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
156
|
+
// The expansion values of a single numeric (`1..5`) or alphabetic (`a..e..2`)
|
|
157
|
+
// sequence body.
|
|
158
|
+
function expandSequence(
|
|
159
|
+
body,
|
|
160
|
+
isAlphaSequence,
|
|
161
|
+
max,
|
|
162
|
+
maxLength
|
|
163
|
+
) {
|
|
164
|
+
var n = body.split(/\.\./)
|
|
165
|
+
var N = []
|
|
166
|
+
// A sequence body always splits into two or three parts, but the compiler
|
|
167
|
+
// can't know that.
|
|
168
|
+
/* c8 ignore start */
|
|
169
|
+
if (n[0] === undefined || n[1] === undefined) {
|
|
170
|
+
return N
|
|
171
|
+
}
|
|
172
|
+
/* c8 ignore stop */
|
|
173
|
+
var x = numeric(n[0])
|
|
174
|
+
var y = numeric(n[1])
|
|
175
|
+
var width = Math.max(n[0].length, n[1].length)
|
|
176
|
+
var incr =
|
|
177
|
+
n.length === 3 && n[2] !== undefined ?
|
|
178
|
+
Math.max(Math.abs(numeric(n[2])), 1)
|
|
179
|
+
: 1
|
|
180
|
+
var test = lte
|
|
181
|
+
var reverse = y < x
|
|
182
|
+
if (reverse) {
|
|
183
|
+
incr *= -1
|
|
184
|
+
test = gte
|
|
185
|
+
}
|
|
186
|
+
var pad = n.some(isPadded)
|
|
187
|
+
|
|
188
|
+
var length = 0
|
|
189
|
+
for (var i = x; test(i, y) && N.length < max; i += incr) {
|
|
190
|
+
var c
|
|
191
|
+
if (isAlphaSequence) {
|
|
192
|
+
c = String.fromCharCode(i)
|
|
193
|
+
if (c === '\\') {
|
|
194
|
+
c = ''
|
|
195
|
+
}
|
|
196
|
+
} else {
|
|
197
|
+
c = String(i)
|
|
198
|
+
if (pad) {
|
|
199
|
+
var need = width - c.length
|
|
200
|
+
if (need > 0) {
|
|
201
|
+
var z = new Array(need + 1).join('0')
|
|
202
|
+
if (i < 0) {
|
|
203
|
+
c = '-' + z + c.slice(1)
|
|
204
|
+
} else {
|
|
205
|
+
c = z + c
|
|
206
|
+
}
|
|
207
|
+
}
|
|
137
208
|
}
|
|
138
209
|
}
|
|
210
|
+
if (length + c.length > maxLength) break
|
|
211
|
+
N.push(c)
|
|
212
|
+
length += c.length
|
|
139
213
|
}
|
|
214
|
+
return N
|
|
215
|
+
}
|
|
140
216
|
|
|
141
|
-
|
|
142
|
-
|
|
217
|
+
function expand(
|
|
218
|
+
str,
|
|
219
|
+
max,
|
|
220
|
+
maxLength,
|
|
221
|
+
isTop
|
|
222
|
+
) {
|
|
223
|
+
// Consume the string's top-level brace groups left to right, threading a
|
|
224
|
+
// running set of combined prefixes (`acc`). Expanding the tail iteratively -
|
|
225
|
+
// rather than recursing on `m.post` once per group - keeps the native stack
|
|
226
|
+
// depth constant, so deeply chained input (`'{a,b}'.repeat(3000)`) can no
|
|
227
|
+
// longer overflow the stack, and leaves a single accumulator whose size
|
|
228
|
+
// `maxLength` bounds directly (CVE-2026-14257).
|
|
229
|
+
var acc = ['']
|
|
230
|
+
|
|
231
|
+
// Bash drops empty results, but only when the *first* group of the run is a
|
|
232
|
+
// comma set - a sequence like `{a..\}` may legitimately yield ''. The drop
|
|
233
|
+
// is on the final strings, so it is applied to whichever `combine` produces
|
|
234
|
+
// them (the one with no brace set left in the tail).
|
|
235
|
+
//
|
|
236
|
+
// The old implementation recursed on `m.post`, so the drop tested only the
|
|
237
|
+
// expansion of the current call's substring. The `{a},b}` rewrite below turns
|
|
238
|
+
// `isTop` back on part-way through a string, starting a fresh such run, so
|
|
239
|
+
// the drop must ignore whatever `acc` already holds from earlier groups.
|
|
240
|
+
// `accBase[a]` records how much of `acc[a]` predates the current run;
|
|
241
|
+
// `combine` treats an expansion as empty when it adds nothing past that.
|
|
242
|
+
var accBase = [0]
|
|
243
|
+
var dropEmpties = false
|
|
244
|
+
var firstGroup = true
|
|
245
|
+
var nextBase
|
|
246
|
+
|
|
247
|
+
for (;;) {
|
|
248
|
+
var m = balanced('{', '}', str);
|
|
249
|
+
|
|
250
|
+
// No brace set left: the rest of the string is literal.
|
|
251
|
+
if (!m) {
|
|
252
|
+
return combine(acc, accBase, str, [''], max, maxLength, dropEmpties, [])
|
|
253
|
+
}
|
|
143
254
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
:
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
var width = Math.max(n[0].length, n[1].length)
|
|
156
|
-
var incr = n.length == 3
|
|
157
|
-
? Math.max(Math.abs(numeric(n[2])), 1)
|
|
158
|
-
: 1;
|
|
159
|
-
var test = lte;
|
|
160
|
-
var reverse = y < x;
|
|
161
|
-
if (reverse) {
|
|
162
|
-
incr *= -1;
|
|
163
|
-
test = gte;
|
|
255
|
+
// no need to expand pre, since it is guaranteed to be free of brace-sets
|
|
256
|
+
var pre = m.pre;
|
|
257
|
+
|
|
258
|
+
// For compatibility reasons, `${` is not eligible for brace expansion, and
|
|
259
|
+
// on the 1.x line it suppresses expansion of the rest of the string too:
|
|
260
|
+
// the whole remainder is literal. The 2.x and 5.x lines instead keep
|
|
261
|
+
// expanding the tail, which is what bash does, but changing that here would
|
|
262
|
+
// be a breaking change for 1.x consumers. Routed through `combine` so the
|
|
263
|
+
// result is still bounded by `max` and `maxLength`.
|
|
264
|
+
if (/\$$/.test(pre)) {
|
|
265
|
+
return combine(acc, accBase, str, [''], max, maxLength, dropEmpties, [])
|
|
164
266
|
}
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
else
|
|
184
|
-
c = z + c;
|
|
185
|
-
}
|
|
267
|
+
|
|
268
|
+
var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
|
|
269
|
+
var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
|
|
270
|
+
var isSequence = isNumericSequence || isAlphaSequence;
|
|
271
|
+
var isOptions = m.body.indexOf(',') >= 0;
|
|
272
|
+
if (!isSequence && !isOptions) {
|
|
273
|
+
// {a},b}
|
|
274
|
+
if (m.post.match(/,(?!,).*\}/)) {
|
|
275
|
+
str = m.pre + '{' + m.body + escClose + m.post;
|
|
276
|
+
// The rewritten string is expanded as if it were a fresh top-level one,
|
|
277
|
+
// so start a new empty-drop run: anchor the baseline at what `acc`
|
|
278
|
+
// holds now, and let the next expanding group decide whether to drop.
|
|
279
|
+
isTop = true
|
|
280
|
+
firstGroup = true
|
|
281
|
+
dropEmpties = false
|
|
282
|
+
accBase = []
|
|
283
|
+
for (var b = 0; b < acc.length; b++) {
|
|
284
|
+
accBase.push(acc[b].length)
|
|
186
285
|
}
|
|
286
|
+
continue
|
|
187
287
|
}
|
|
188
|
-
|
|
288
|
+
// Nothing here expands, so the whole remaining string is literal.
|
|
289
|
+
return combine(
|
|
290
|
+
acc,
|
|
291
|
+
accBase,
|
|
292
|
+
pre + '{' + m.body + '}' + m.post,
|
|
293
|
+
[''],
|
|
294
|
+
max,
|
|
295
|
+
maxLength,
|
|
296
|
+
dropEmpties,
|
|
297
|
+
[]
|
|
298
|
+
)
|
|
189
299
|
}
|
|
190
|
-
} else {
|
|
191
|
-
N = concatMap(n, function(el) { return expand(el, max, false) });
|
|
192
|
-
}
|
|
193
300
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
if (!isTop || isSequence || expansion)
|
|
198
|
-
expansions.push(expansion);
|
|
301
|
+
if (firstGroup) {
|
|
302
|
+
dropEmpties = isTop && !isSequence
|
|
303
|
+
firstGroup = false
|
|
199
304
|
}
|
|
305
|
+
|
|
306
|
+
var values;
|
|
307
|
+
if (isSequence) {
|
|
308
|
+
values = expandSequence(m.body, isAlphaSequence, max, maxLength);
|
|
309
|
+
} else {
|
|
310
|
+
var n = parseCommaParts(m.body);
|
|
311
|
+
if (n.length === 1 && n[0] !== undefined) {
|
|
312
|
+
// x{{a,b}}y ==> x{a}y x{b}y
|
|
313
|
+
n = expand(n[0], max, maxLength, false).map(embrace);
|
|
314
|
+
//XXX is this necessary? Can't seem to hit it in tests.
|
|
315
|
+
/* c8 ignore start */
|
|
316
|
+
if (n.length === 1) {
|
|
317
|
+
nextBase = []
|
|
318
|
+
acc = combine(
|
|
319
|
+
acc,
|
|
320
|
+
accBase,
|
|
321
|
+
pre + n[0],
|
|
322
|
+
[''],
|
|
323
|
+
max,
|
|
324
|
+
maxLength,
|
|
325
|
+
dropEmpties && !m.post.length,
|
|
326
|
+
nextBase
|
|
327
|
+
)
|
|
328
|
+
accBase = nextBase
|
|
329
|
+
if (!m.post.length) break
|
|
330
|
+
str = m.post
|
|
331
|
+
continue
|
|
332
|
+
}
|
|
333
|
+
/* c8 ignore stop */
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
// Values that `combine` is going to drop as empty produce no result, so
|
|
337
|
+
// they must not count against `max` - otherwise `{a,,b}` with `max: 2`
|
|
338
|
+
// would stop at `['a', '']` and yield one result instead of two. Skipping
|
|
339
|
+
// them outright keeps `values` bounded while leaving `max` a bound on
|
|
340
|
+
// *kept* results. A value is dropped when it adds nothing past the
|
|
341
|
+
// baseline, which is what `combine` tests.
|
|
342
|
+
var dropsEmpties = dropEmpties && !m.post.length && !pre
|
|
343
|
+
for (var d = 0; dropsEmpties && d < acc.length; d++) {
|
|
344
|
+
if (acc[d].length !== accBase[d]) {
|
|
345
|
+
dropsEmpties = false
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
values = []
|
|
350
|
+
var valuesLength = 0
|
|
351
|
+
outer: for (var j = 0; j < n.length; j++) {
|
|
352
|
+
var expanded = expand(n[j], max, maxLength, false)
|
|
353
|
+
for (var k = 0; k < expanded.length; k++) {
|
|
354
|
+
var v = expanded[k]
|
|
355
|
+
if (dropsEmpties && !v) continue
|
|
356
|
+
if (values.length >= max || valuesLength + v.length > maxLength) {
|
|
357
|
+
break outer
|
|
358
|
+
}
|
|
359
|
+
values.push(v)
|
|
360
|
+
valuesLength += v.length
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
nextBase = []
|
|
366
|
+
acc = combine(
|
|
367
|
+
acc,
|
|
368
|
+
accBase,
|
|
369
|
+
pre,
|
|
370
|
+
values,
|
|
371
|
+
max,
|
|
372
|
+
maxLength,
|
|
373
|
+
dropEmpties && !m.post.length,
|
|
374
|
+
nextBase
|
|
375
|
+
)
|
|
376
|
+
accBase = nextBase
|
|
377
|
+
if (!m.post.length) break
|
|
378
|
+
str = m.post
|
|
200
379
|
}
|
|
201
380
|
|
|
202
|
-
return
|
|
381
|
+
return acc
|
|
203
382
|
}
|