@skyramp/mcp 0.2.6 → 0.2.8-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/commands/commandLibrary.d.ts +12 -0
- package/build/commands/recommendTestsAndExecuteCommand.d.ts +2 -0
- package/build/commands/testThisEndpointCommand.d.ts +2 -0
- package/build/index.d.ts +2 -0
- package/build/index.js +6 -4
- package/build/playwright/PlaywrightTraceService.d.ts +32 -0
- package/build/playwright/index.d.ts +3 -0
- package/build/playwright/registerPlaywrightTools.d.ts +8 -0
- package/build/playwright/registerPlaywrightTools.js +12 -11
- package/build/playwright/traceRecordingPrompt.d.ts +13 -0
- package/build/playwright/traceRecordingPrompt.js +3 -11
- package/build/prompts/code-reuse.d.ts +1 -0
- package/build/prompts/enhance-assertions/contractProviderAssertionsPrompt.d.ts +2 -0
- package/build/prompts/enhance-assertions/integrationAssertionsPrompt.d.ts +2 -0
- package/build/prompts/enhance-assertions/sharedAssertionRules.d.ts +15 -0
- package/build/prompts/enhance-assertions/uiAssertionsPrompt.d.ts +2 -0
- package/build/prompts/enhance-assertions/uiAssertionsPrompt.js +24 -5
- package/build/prompts/fix-error-prompt.d.ts +1 -0
- package/build/prompts/initialize-workspace/initializeWorkspacePrompt.d.ts +1 -0
- package/build/prompts/modularization/integration-test-modularization.d.ts +1 -0
- package/build/prompts/modularization/ui-test-modularization.d.ts +1 -0
- package/build/prompts/personas.d.ts +21 -0
- package/build/prompts/pom-aware-code-reuse.d.ts +1 -0
- package/build/prompts/startTraceCollectionPrompts.d.ts +2 -0
- package/build/prompts/sut-setup/modes/adaptWorkflowPrompt.d.ts +2 -0
- package/build/prompts/sut-setup/modes/adaptWorkflowPrompt.js +114 -0
- package/build/prompts/sut-setup/modes/dockerComposePrompt.d.ts +2 -0
- package/build/prompts/sut-setup/modes/dockerComposePrompt.js +292 -0
- package/build/prompts/sut-setup/shared.d.ts +39 -0
- package/build/prompts/sut-setup/shared.js +132 -0
- package/build/prompts/test-maintenance/actionsInstructions.d.ts +35 -0
- package/build/prompts/test-maintenance/drift-analysis-prompt.d.ts +4 -0
- package/build/prompts/test-maintenance/driftAnalysisSections.d.ts +13 -0
- package/build/prompts/test-maintenance/driftAnalysisSections.js +9 -3
- package/build/prompts/test-recommendation/analysisOutputPrompt.d.ts +84 -0
- package/build/prompts/test-recommendation/analysisOutputPrompt.js +1 -1
- package/build/prompts/test-recommendation/analysisOutputPrompt.test.d.ts +1 -0
- package/build/prompts/test-recommendation/analysisOutputPrompt.test.js +1 -0
- package/build/prompts/test-recommendation/diffExecutionPlan.d.ts +17 -0
- package/build/prompts/test-recommendation/diffExecutionPlan.js +83 -18
- package/build/prompts/test-recommendation/fullRepoCatalog.d.ts +7 -0
- package/build/prompts/test-recommendation/mergeEnrichedScenarios.test.d.ts +1 -0
- package/build/prompts/test-recommendation/mergeEnrichedScenarios.test.js +1 -0
- package/build/prompts/test-recommendation/promptPlan.d.ts +203 -0
- package/build/prompts/test-recommendation/promptPlan.test.d.ts +1 -0
- package/build/prompts/test-recommendation/recommendationSections.d.ts +35 -0
- package/build/prompts/test-recommendation/recommendationShared.d.ts +31 -0
- package/build/prompts/test-recommendation/registerRecommendTestsPrompt.d.ts +7 -0
- package/build/prompts/test-recommendation/scopeAssessment.d.ts +55 -0
- package/build/prompts/test-recommendation/scopeAssessment.js +2 -2
- package/build/prompts/test-recommendation/scopeAssessment.test.d.ts +1 -0
- package/build/prompts/test-recommendation/scopeAssessment.test.js +1 -0
- package/build/prompts/test-recommendation/test-recommendation-prompt.d.ts +6 -0
- package/build/prompts/test-recommendation/test-recommendation-prompt.js +4 -4
- package/build/prompts/test-recommendation/test-recommendation-prompt.test.d.ts +1 -0
- package/build/prompts/test-recommendation/test-recommendation-prompt.test.js +97 -99
- package/build/prompts/testbot/testbot-prompts.d.ts +26 -0
- package/build/prompts/testbot/testbot-prompts.js +301 -46
- package/build/prompts/testbot/testbot-prompts.test.d.ts +1 -0
- package/build/prompts/testbot/testbot-prompts.test.js +109 -117
- package/build/resources/analysisResources.d.ts +17 -0
- package/build/resources/progressResource.d.ts +2 -0
- package/build/resources/sutSetupResource.d.ts +2 -0
- package/build/resources/sutSetupResource.js +45 -0
- package/build/resources/testbotResource.d.ts +2 -0
- package/build/resources/testbotResource.js +2 -2
- package/build/services/AnalyticsService.d.ts +13 -0
- package/build/services/AnalyticsService.test.d.ts +1 -0
- package/build/services/AnalyticsService.test.js +86 -0
- package/build/services/ModularizationService.d.ts +11 -0
- package/build/services/ScenarioGenerationService.d.ts +37 -0
- package/build/services/ScenarioGenerationService.integration.test.d.ts +1 -0
- package/build/services/ScenarioGenerationService.integration.test.js +4 -0
- package/build/services/ScenarioGenerationService.test.d.ts +1 -0
- package/build/services/TestDiscoveryService.d.ts +128 -0
- package/build/services/TestDiscoveryService.js +22 -12
- package/build/services/TestDiscoveryService.test.d.ts +1 -0
- package/build/services/TestDiscoveryService.test.js +4 -3
- package/build/services/TestExecutionService.d.ts +55 -0
- package/build/services/TestExecutionService.js +158 -26
- package/build/services/TestExecutionService.test.d.ts +1 -0
- package/build/services/TestExecutionService.test.js +339 -25
- package/build/services/TestGenerationService.d.ts +56 -0
- package/build/services/TestGenerationService.test.d.ts +1 -0
- package/build/services/TestGenerationService.test.js +10 -8
- package/build/services/containerEnv.d.ts +14 -0
- package/build/tool-phase-coverage.test.d.ts +1 -0
- package/build/tool-phase-coverage.test.js +2 -0
- package/build/tool-phases.d.ts +38 -0
- package/build/tools/auth/loginTool.d.ts +2 -0
- package/build/tools/auth/logoutTool.d.ts +2 -0
- package/build/tools/code-refactor/codeReuseTool.d.ts +2 -0
- package/build/tools/code-refactor/enhanceAssertionsTool.d.ts +2 -0
- package/build/tools/code-refactor/modularizationTool.d.ts +2 -0
- package/build/tools/executeSkyrampTestTool.d.ts +2 -0
- package/build/tools/executeSkyrampTestTool.js +26 -7
- package/build/tools/fixErrorTool.d.ts +2 -0
- package/build/tools/generate-tests/generateBatchScenarioRestTool.d.ts +45 -0
- package/build/tools/generate-tests/generateBatchScenarioRestTool.js +1 -1
- package/build/tools/generate-tests/generateBatchScenarioRestTool.test.d.ts +1 -0
- package/build/tools/generate-tests/generateBatchScenarioRestTool.test.js +11 -9
- package/build/tools/generate-tests/generateContractRestTool.d.ts +31 -0
- package/build/tools/generate-tests/generateE2ERestTool.d.ts +13 -0
- package/build/tools/generate-tests/generateFuzzRestTool.d.ts +10 -0
- package/build/tools/generate-tests/generateIntegrationRestTool.d.ts +16 -0
- package/build/tools/generate-tests/generateLoadRestTool.d.ts +18 -0
- package/build/tools/generate-tests/generateLoadRestTool.test.d.ts +1 -0
- package/build/tools/generate-tests/generateMockRestTool.d.ts +64 -0
- package/build/tools/generate-tests/generateSmokeRestTool.d.ts +8 -0
- package/build/tools/generate-tests/generateUIRestTool.d.ts +14 -0
- package/build/tools/generate-tests/generateUIRestTool.js +1 -1
- package/build/tools/generate-tests/loadTestSchema.d.ts +39 -0
- package/build/tools/one-click/oneClickTool.d.ts +11 -0
- package/build/tools/submitReportTool.d.ts +394 -0
- package/build/tools/submitReportTool.js +250 -41
- package/build/tools/submitReportTool.test.d.ts +1 -0
- package/build/tools/submitReportTool.test.js +511 -55
- package/build/tools/test-management/actionsTool.d.ts +10 -0
- package/build/tools/test-management/actionsTool.js +21 -7
- package/build/tools/test-management/analyzeChangesTool.d.ts +27 -0
- package/build/tools/test-management/analyzeChangesTool.js +150 -48
- package/build/tools/test-management/analyzeChangesTool.test.d.ts +1 -0
- package/build/tools/test-management/analyzeChangesTool.test.js +95 -78
- package/build/tools/test-management/analyzeTestHealthTool.d.ts +2 -0
- package/build/tools/test-management/analyzeTestHealthTool.js +16 -9
- package/build/tools/test-management/index.d.ts +3 -0
- package/build/tools/test-management/index.js +0 -1
- package/build/tools/trace/resolveSaveStoragePath.d.ts +7 -0
- package/build/tools/trace/resolveSaveStoragePath.test.d.ts +1 -0
- package/build/tools/trace/resolveSessionPaths.d.ts +40 -0
- package/build/tools/trace/resolveSessionPaths.test.d.ts +1 -0
- package/build/tools/trace/sessionState.d.ts +2 -0
- package/build/tools/trace/sessionState.test.d.ts +1 -0
- package/build/tools/trace/startTraceCollectionTool.d.ts +2 -0
- package/build/tools/trace/stopTraceCollectionTool.d.ts +2 -0
- package/build/tools/workspace/initScanWorkspaceTool.d.ts +4 -0
- package/build/tools/workspace/initializeWorkspaceTool.d.ts +2 -0
- package/build/tools/workspace/initializeWorkspaceTool.js +39 -22
- package/build/tools/workspace/initializeWorkspaceTool.test.d.ts +1 -0
- package/build/tools/workspace/initializeWorkspaceTool.test.js +134 -0
- package/build/tools/workspace/serviceUpsert.d.ts +12 -0
- package/build/tools/workspace/serviceUpsert.js +23 -0
- package/build/tools/workspace/serviceUpsert.test.d.ts +1 -0
- package/build/tools/workspace/serviceUpsert.test.js +50 -0
- package/build/types/OneClickCommands.d.ts +68 -0
- package/build/types/RepositoryAnalysis.d.ts +3004 -0
- package/build/types/TestAnalysis.d.ts +97 -0
- package/build/types/TestExecution.d.ts +63 -0
- package/build/types/TestExecution.js +11 -1
- package/build/types/TestRecommendation.d.ts +12 -0
- package/build/types/TestTypes.d.ts +234 -0
- package/build/types/TestbotReport.d.ts +68 -0
- package/build/types/TestbotReport.js +1 -0
- package/build/types/index.d.ts +4 -0
- package/build/types/index.js +3 -0
- package/build/utils/AnalysisStateManager.d.ts +242 -0
- package/build/utils/AnalysisStateManager.js +144 -3
- package/build/utils/AnalysisStateManager.test.d.ts +1 -0
- package/build/utils/AnalysisStateManager.test.js +98 -0
- package/build/utils/analyze-openapi.d.ts +1 -0
- package/build/utils/branchDiff.d.ts +18 -0
- package/build/utils/dartRouteExtractor.d.ts +45 -0
- package/build/utils/dartRouteExtractor.test.d.ts +1 -0
- package/build/utils/docker.d.ts +19 -0
- package/build/utils/docker.test.d.ts +1 -0
- package/build/utils/docker.test.js +10 -9
- package/build/utils/featureFlags.d.ts +37 -0
- package/build/utils/featureFlags.test.d.ts +1 -0
- package/build/utils/gitStaging.d.ts +24 -0
- package/build/utils/gitStaging.test.d.ts +1 -0
- package/build/utils/gitStaging.test.js +13 -7
- package/build/utils/httpDefaults.d.ts +10 -0
- package/build/utils/httpDefaults.test.d.ts +1 -0
- package/build/utils/initAgent.d.ts +36 -0
- package/build/utils/language-helper.d.ts +6 -0
- package/build/utils/logger.d.ts +11 -0
- package/build/utils/normalizeParams.d.ts +14 -0
- package/build/utils/normalizeSkyrampImports.d.ts +13 -0
- package/build/utils/pr-comment-parser.d.ts +31 -0
- package/build/utils/pr-comment-parser.test.d.ts +1 -0
- package/build/utils/pr-comment-parser.test.js +6 -5
- package/build/utils/projectMetadata.d.ts +15 -0
- package/build/utils/projectMetadata.test.d.ts +1 -0
- package/build/utils/proxy-terminal.d.ts +2 -0
- package/build/utils/repoScanner.d.ts +27 -0
- package/build/utils/repoScanner.test.d.ts +1 -0
- package/build/utils/routeParsers.d.ts +53 -0
- package/build/utils/routeParsers.js +31 -38
- package/build/utils/routeParsers.test.d.ts +1 -0
- package/build/utils/scenarioDrafting.d.ts +71 -0
- package/build/utils/scenarioDrafting.js +23 -1
- package/build/utils/scenarioDrafting.test.d.ts +1 -0
- package/build/utils/skyrampMdContent.d.ts +5 -0
- package/build/utils/sourceRouteExtractor.d.ts +48 -0
- package/build/utils/sourceRouteExtractor.test.d.ts +1 -0
- package/build/utils/telemetry.d.ts +32 -0
- package/build/utils/telemetry.test.d.ts +1 -0
- package/build/utils/trace-parser.d.ts +32 -0
- package/build/utils/trace-parser.test.d.ts +6 -0
- package/build/utils/uiPageEnumerator.d.ts +146 -0
- package/build/utils/uiPageEnumerator.js +58 -14
- package/build/utils/uiPageEnumerator.test.d.ts +1 -0
- package/build/utils/uiPageEnumerator.test.js +223 -43
- package/build/utils/utils.d.ts +45 -0
- package/build/utils/utils.js +10 -0
- package/build/utils/utils.test.d.ts +1 -0
- package/build/utils/versions.d.ts +3 -0
- package/build/utils/versions.js +1 -1
- package/build/utils/workspaceAuth.d.ts +127 -0
- package/build/utils/workspaceAuth.test.d.ts +1 -0
- package/build/utils/workspaceAuth.test.js +25 -25
- package/build/workspace/index.d.ts +1 -0
- package/build/workspace/workspace.d.ts +390 -0
- package/build/workspace/workspace.js +7 -7
- package/build/workspace/workspace.test.d.ts +1 -0
- package/build/workspace/workspace.test.js +6 -6
- package/node_modules/playwright/lib/mcp/skyramp/loadTraceTool.js +31 -13
- package/node_modules/playwright/lib/mcp/skyramp/traceRecordingBackend.js +88 -15
- package/node_modules/playwright/lib/mcp/test/skyRampExport.js +4 -3
- package/node_modules/playwright/node_modules/playwright-core/ThirdPartyNotices.txt +23 -126
- package/node_modules/playwright/node_modules/playwright-core/lib/generated/injectedScriptSource.js +1 -1
- package/node_modules/playwright/node_modules/playwright-core/lib/server/recorder/recorderApp.js +79 -19
- package/node_modules/playwright/node_modules/playwright-core/lib/server/recorder/skyramp/aliasRemapper.js +84 -0
- package/node_modules/playwright/node_modules/playwright-core/lib/server/recorder/skyramp/replayEngine.js +15 -4
- package/node_modules/playwright/node_modules/playwright-core/lib/vite/recorder/assets/{codeMirrorModule-CPZKmjFR.js → codeMirrorModule-D0BjbCb7.js} +1 -1
- package/node_modules/playwright/node_modules/playwright-core/lib/vite/recorder/assets/index-lvTRGFx-.js +193 -0
- package/node_modules/playwright/node_modules/playwright-core/lib/vite/recorder/index.html +1 -1
- package/node_modules/playwright/node_modules/playwright-core/lib/vite/traceViewer/assets/{codeMirrorModule-B0JOjboO.js → codeMirrorModule-Cqp3cwEJ.js} +1 -1
- package/node_modules/playwright/node_modules/playwright-core/lib/vite/traceViewer/assets/{defaultSettingsView-1anWeyDf.js → defaultSettingsView-CYf9adZh.js} +79 -79
- package/node_modules/playwright/node_modules/playwright-core/lib/vite/traceViewer/{index.Cc5029a3.js → index.B_7ywgmr.js} +1 -1
- package/node_modules/playwright/node_modules/playwright-core/lib/vite/traceViewer/index.html +2 -2
- package/node_modules/playwright/node_modules/playwright-core/lib/vite/traceViewer/uiMode.html +2 -2
- package/node_modules/playwright/node_modules/playwright-core/lib/vite/traceViewer/{uiMode.Wo5yvvVh.js → uiMode.u4_8VnCV.js} +1 -1
- package/node_modules/playwright/node_modules/playwright-core/package.json +1 -1
- package/node_modules/playwright/node_modules/playwright-core/src/generated/injectedScriptSource.ts +1 -1
- package/node_modules/playwright/node_modules/playwright-core/src/server/recorder/recorderApp.ts +129 -43
- package/node_modules/playwright/node_modules/playwright-core/src/server/recorder/skyramp/aliasRemapper.ts +119 -0
- package/node_modules/playwright/node_modules/playwright-core/src/server/recorder/skyramp/replayEngine.ts +33 -10
- package/node_modules/playwright/package.json +1 -1
- package/package.json +16 -4
- package/build/tools/test-management/uiAnalyzeChangesTool.js +0 -155
- package/build/tools/test-management/uiAnalyzeChangesTool.test.js +0 -147
- package/node_modules/playwright/node_modules/playwright-core/bundles/mcp/node_modules/.bin/node-which +0 -52
- package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/.bin/is-docker +0 -5
- package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/.bin/mime +0 -46
- package/node_modules/playwright/node_modules/playwright-core/bundles/utils/node_modules/.bin/yaml +0 -11
- package/node_modules/playwright/node_modules/playwright-core/lib/vite/recorder/assets/index-CsgPR2wy.js +0 -193
- package/node_modules/playwright/node_modules/playwright-core/lib/vite/traceViewer/index.CP3Y8Zsb.js +0 -2
|
@@ -111,6 +111,11 @@ class TraceRecordingBackend {
|
|
|
111
111
|
},
|
|
112
112
|
contextOptions: {
|
|
113
113
|
viewport: import_skyRampExport.RECORDING_VIEWPORT,
|
|
114
|
+
// Mirror `playwright codegen --load-storage`: seed the recording
|
|
115
|
+
// browser with a saved session so it records against an authenticated
|
|
116
|
+
// app. Same source (PLAYWRIGHT_MCP_STORAGE_STATE) that buildJsonlContent
|
|
117
|
+
// stamps into the export header, so load + emit stay consistent.
|
|
118
|
+
...process.env.PLAYWRIGHT_MCP_STORAGE_STATE?.trim() ? { storageState: process.env.PLAYWRIGHT_MCP_STORAGE_STATE.trim() } : {},
|
|
114
119
|
recordHar: { path: this._harPath, mode: "minimal" },
|
|
115
120
|
ignoreHTTPSErrors: true,
|
|
116
121
|
serviceWorkers: "block"
|
|
@@ -520,6 +525,9 @@ Failed to load trace from ${params.path}: ${e.message}` }], isError: true };
|
|
|
520
525
|
if (!loadedActions.length)
|
|
521
526
|
return { content: [{ type: "text", text: `### Error
|
|
522
527
|
No actions found in ${params.path}.` }], isError: true };
|
|
528
|
+
if (params.startAtStep !== void 0 && params.stopAtStep !== void 0 && params.startAtStep > params.stopAtStep)
|
|
529
|
+
return { content: [{ type: "text", text: `### Error
|
|
530
|
+
startAtStep (${params.startAtStep}) is after stopAtStep (${params.stopAtStep}).` }], isError: true };
|
|
523
531
|
if (params.dryRun) {
|
|
524
532
|
const stepList = loadedActions.map((a, i) => (0, import_loadTraceTool.describeStep)(a, i)).join("\n");
|
|
525
533
|
return {
|
|
@@ -531,7 +539,7 @@ ${loadedActions.length} steps in ${params.path}. Nothing was replayed.
|
|
|
531
539
|
Steps:
|
|
532
540
|
${stepList}
|
|
533
541
|
|
|
534
|
-
Call skyramp_load_trace again
|
|
542
|
+
Call skyramp_load_trace again to replay: set startAtStep to skip a stale prefix (e.g. an old login) and/or one of stopAtStep / stopAtUrl / stopBefore to stop early. Omit all to replay the whole trace.`
|
|
535
543
|
}]
|
|
536
544
|
};
|
|
537
545
|
}
|
|
@@ -539,17 +547,83 @@ Call skyramp_load_trace again with stopAtStep / stopAtUrl / stopBefore (or none
|
|
|
539
547
|
await this._browserBackend.context.ensureTab();
|
|
540
548
|
} catch {
|
|
541
549
|
}
|
|
550
|
+
const startIndex = params.startAtStep ? Math.max(0, Math.min(params.startAtStep - 1, loadedActions.length)) : 0;
|
|
551
|
+
let guardEnd = loadedActions.length;
|
|
552
|
+
if (params.stopAtStep) {
|
|
553
|
+
guardEnd = Math.min(guardEnd, params.stopAtStep);
|
|
554
|
+
} else if (params.stopBefore) {
|
|
555
|
+
const needle = params.stopBefore.toLowerCase();
|
|
556
|
+
const matchIndex = loadedActions.findIndex((a, i) => i >= startIndex && (0, import_loadTraceTool.describeStep)(a, i).toLowerCase().includes(needle));
|
|
557
|
+
if (matchIndex !== -1)
|
|
558
|
+
guardEnd = matchIndex;
|
|
559
|
+
}
|
|
560
|
+
const replayRange = loadedActions.slice(startIndex, guardEnd);
|
|
561
|
+
const primaryAlias = replayRange[0]?.frame.pageAlias || "page";
|
|
562
|
+
{
|
|
563
|
+
const available = /* @__PURE__ */ new Set([primaryAlias]);
|
|
564
|
+
for (const a of replayRange) {
|
|
565
|
+
if (!available.has(a.frame.pageAlias))
|
|
566
|
+
return { content: [{ type: "text", text: `### Error
|
|
567
|
+
The selected range acts on tab "${a.frame.pageAlias}" but the step that opens that tab is outside the range (skipped by startAtStep). Lower startAtStep to include the opening step, or pick a range that stays on a single tab.` }], isError: true };
|
|
568
|
+
for (const s of a.action.signals) {
|
|
569
|
+
if (s.name === "popup")
|
|
570
|
+
available.add(s.popupAlias);
|
|
571
|
+
}
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
const liveTabs = () => (this._browserBackend.context?.tabs() ?? []).map((t) => t.page);
|
|
575
|
+
const seedPage = this._browserBackend.context?.currentTab()?.page ?? liveTabs()[0];
|
|
576
|
+
const remap = /* @__PURE__ */ new Map();
|
|
577
|
+
remap.set(primaryAlias, { page: seedPage, liveAlias: this._currentPageAlias });
|
|
578
|
+
const claimedTabs = /* @__PURE__ */ new Set();
|
|
579
|
+
if (seedPage)
|
|
580
|
+
claimedTabs.add(seedPage);
|
|
581
|
+
let tabsBefore = [];
|
|
542
582
|
let result;
|
|
543
583
|
try {
|
|
544
|
-
result = await (0, import_loadTraceTool.replayActions)(loadedActions, {
|
|
584
|
+
result = await (0, import_loadTraceTool.replayActions)(loadedActions, {
|
|
585
|
+
pageForAlias: (alias) => remap.get(alias)?.page ?? this._pageForAlias(alias),
|
|
586
|
+
beforeAction: () => {
|
|
587
|
+
tabsBefore = liveTabs();
|
|
588
|
+
},
|
|
589
|
+
afterAction: async (action) => {
|
|
590
|
+
for (const signal of action.action.signals) {
|
|
591
|
+
if (signal.name !== "popup")
|
|
592
|
+
continue;
|
|
593
|
+
let fresh;
|
|
594
|
+
for (let k = 0; k < 100 && !fresh; k++) {
|
|
595
|
+
fresh = liveTabs().find((p) => !tabsBefore.includes(p) && !claimedTabs.has(p));
|
|
596
|
+
if (!fresh)
|
|
597
|
+
await new Promise((r) => setTimeout(r, 50));
|
|
598
|
+
}
|
|
599
|
+
if (!fresh) {
|
|
600
|
+
throw new Error(`Expected a popup ("${signal.popupAlias}") to open after this action, but no new tab appeared \u2014 the fragment has drifted from the live page.`);
|
|
601
|
+
}
|
|
602
|
+
claimedTabs.add(fresh);
|
|
603
|
+
remap.set(signal.popupAlias, { page: fresh, liveAlias: this._currentPageAlias });
|
|
604
|
+
}
|
|
605
|
+
}
|
|
606
|
+
}, params);
|
|
545
607
|
} catch (e) {
|
|
546
608
|
return { content: [{ type: "text", text: `### Error
|
|
547
609
|
Replay failed: ${e.message}` }], isError: true };
|
|
548
610
|
}
|
|
549
|
-
for (let i =
|
|
550
|
-
|
|
551
|
-
|
|
611
|
+
for (let i = result.startIndex; i < result.stopIndex; i++) {
|
|
612
|
+
const a = loadedActions[i];
|
|
613
|
+
const liveAlias = remap.get(a.frame.pageAlias)?.liveAlias;
|
|
614
|
+
if (liveAlias && liveAlias !== a.frame.pageAlias)
|
|
615
|
+
a.frame = { ...a.frame, pageAlias: liveAlias };
|
|
616
|
+
const before = this._trackedActions.length;
|
|
617
|
+
this._seedTrackedAction(a);
|
|
618
|
+
const popupSignal = a.action.signals.find((s) => s.name === "popup");
|
|
619
|
+
if (popupSignal && this._trackedActions.length > before)
|
|
620
|
+
this._trackedActions[this._trackedActions.length - 1].popupAlias = remap.get(popupSignal.popupAlias)?.liveAlias ?? popupSignal.popupAlias;
|
|
621
|
+
}
|
|
622
|
+
if (result.stopIndex > result.startIndex)
|
|
552
623
|
this._currentPageAlias = loadedActions[result.stopIndex - 1].frame.pageAlias || "page";
|
|
624
|
+
const replayedCount = Math.max(0, result.stopIndex - result.startIndex);
|
|
625
|
+
const clamped = params.startAtStep !== void 0 && params.startAtStep !== result.startIndex + 1;
|
|
626
|
+
const skippedNote = result.startIndex > 0 ? ` Skipped the first ${result.startIndex} step${result.startIndex === 1 ? "" : "s"} (startAtStep ${params.startAtStep}${clamped ? `, clamped \u2014 trace has ${loadedActions.length} steps` : ""}).` : "";
|
|
553
627
|
const remaining = (0, import_loadTraceTool.listStepsFrom)(loadedActions, result.stopIndex);
|
|
554
628
|
const stoppedNote = (0, import_loadTraceTool.describeStopReason)(result);
|
|
555
629
|
const errorNote = result.error ? `
|
|
@@ -560,7 +634,7 @@ You can continue recording from this point or fix the issue.` : "";
|
|
|
560
634
|
content: [{
|
|
561
635
|
type: "text",
|
|
562
636
|
text: `### Trace replayed
|
|
563
|
-
${
|
|
637
|
+
${replayedCount} of ${loadedActions.length} steps replayed from ${params.path}.${skippedNote} ${stoppedNote}${errorNote}
|
|
564
638
|
|
|
565
639
|
Remaining steps (NOT replayed):
|
|
566
640
|
${remaining}
|
|
@@ -1658,10 +1732,9 @@ Cell row ${params.row}, column ${params.column} has "${actual}", expected "${par
|
|
|
1658
1732
|
const url = page.url();
|
|
1659
1733
|
if (url.startsWith("chrome-extension://") || url.startsWith("about:") || url.startsWith("file://"))
|
|
1660
1734
|
return;
|
|
1661
|
-
const alreadyEnabled = await page.evaluate(
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
}).catch(() => false);
|
|
1735
|
+
const alreadyEnabled = await page.evaluate(
|
|
1736
|
+
() => document.querySelector("flt-semantics-placeholder") === null && document.querySelector("flt-semantics-host") !== null
|
|
1737
|
+
).catch(() => false);
|
|
1665
1738
|
if (alreadyEnabled) {
|
|
1666
1739
|
traceDebug("Flutter accessibility already enabled");
|
|
1667
1740
|
return;
|
|
@@ -1689,14 +1762,14 @@ Cell row ${params.row}, column ${params.column} has "${actual}", expected "${par
|
|
|
1689
1762
|
traceDebug("Flutter detected but placeholder click failed");
|
|
1690
1763
|
return;
|
|
1691
1764
|
}
|
|
1692
|
-
const enabled = await page.waitForFunction(
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1765
|
+
const enabled = await page.waitForFunction(
|
|
1766
|
+
() => document.querySelector("flt-semantics-placeholder") === null,
|
|
1767
|
+
{ timeout: 1e4 }
|
|
1768
|
+
).then(() => true).catch(() => false);
|
|
1696
1769
|
if (enabled)
|
|
1697
1770
|
traceDebug("Flutter accessibility mode enabled");
|
|
1698
1771
|
else
|
|
1699
|
-
traceDebug("Flutter placeholder clicked but semantics
|
|
1772
|
+
traceDebug("Flutter placeholder clicked but semantics not confirmed active");
|
|
1700
1773
|
}
|
|
1701
1774
|
/** Clean up temp directory and optionally recreate it for next session. */
|
|
1702
1775
|
_cleanupTempDir(recreate = false) {
|
|
@@ -55,12 +55,13 @@ function modifiersArrayToMask(modifiers) {
|
|
|
55
55
|
return mask;
|
|
56
56
|
}
|
|
57
57
|
const RECORDING_VIEWPORT = { width: 1280, height: 900 };
|
|
58
|
-
function jsonlHeader(browserName, harPath, viewport) {
|
|
58
|
+
function jsonlHeader(browserName, harPath, viewport, storageState) {
|
|
59
59
|
return JSON.stringify({
|
|
60
60
|
browserName,
|
|
61
61
|
launchOptions: { headless: false },
|
|
62
62
|
contextOptions: {
|
|
63
63
|
viewport,
|
|
64
|
+
...storageState ? { storageState } : {},
|
|
64
65
|
ignoreHTTPSErrors: true,
|
|
65
66
|
recordHar: { path: harPath, mode: "minimal" },
|
|
66
67
|
serviceWorkers: "block"
|
|
@@ -623,7 +624,7 @@ function mouseActionToJsonl(action, pageGuid, baseTs, alias) {
|
|
|
623
624
|
return [];
|
|
624
625
|
}
|
|
625
626
|
}
|
|
626
|
-
function buildJsonlContent(actions, browserName, harPath, viewport = RECORDING_VIEWPORT) {
|
|
627
|
+
function buildJsonlContent(actions, browserName, harPath, viewport = RECORDING_VIEWPORT, storageState = process.env.PLAYWRIGHT_MCP_STORAGE_STATE?.trim() || void 0) {
|
|
627
628
|
normalizePrimaryPageAlias(actions);
|
|
628
629
|
const deduplicated = removeRedundantClicks(deduplicateRetries(actions));
|
|
629
630
|
const startTime = deduplicated[0]?.timestamp ?? Date.now();
|
|
@@ -635,7 +636,7 @@ function buildJsonlContent(actions, browserName, harPath, viewport = RECORDING_V
|
|
|
635
636
|
};
|
|
636
637
|
const mainGuid = getPageGuid(DEFAULT_PAGE_ALIAS);
|
|
637
638
|
const lines = [
|
|
638
|
-
jsonlHeader(browserName, harPath, viewport),
|
|
639
|
+
jsonlHeader(browserName, harPath, viewport, storageState),
|
|
639
640
|
JSON.stringify({ name: "openPage", url: "about:blank", signals: [], timestamp: String(startTime - 1e3), pageGuid: mainGuid, pageAlias: DEFAULT_PAGE_ALIAS, framePath: DEFAULT_FRAME_PATH })
|
|
640
641
|
];
|
|
641
642
|
let actionCount = 0;
|
|
@@ -46,10 +46,10 @@ This project incorporates components from the projects listed below. The origina
|
|
|
46
46
|
- etag@1.8.1 (https://github.com/jshttp/etag)
|
|
47
47
|
- eventsource-parser@3.0.3 (https://github.com/rexxars/eventsource-parser)
|
|
48
48
|
- eventsource@3.0.7 (git://git@github.com/EventSource/eventsource)
|
|
49
|
-
- express-rate-limit@8.
|
|
49
|
+
- express-rate-limit@8.5.2 (https://github.com/express-rate-limit/express-rate-limit)
|
|
50
50
|
- express@5.2.1 (https://github.com/expressjs/express)
|
|
51
51
|
- fast-deep-equal@3.1.3 (https://github.com/epoberezkin/fast-deep-equal)
|
|
52
|
-
- fast-uri@3.1.
|
|
52
|
+
- fast-uri@3.1.2 (https://github.com/fastify/fast-uri)
|
|
53
53
|
- finalhandler@2.1.1 (https://github.com/pillarjs/finalhandler)
|
|
54
54
|
- forwarded@0.2.0 (https://github.com/jshttp/forwarded)
|
|
55
55
|
- fresh@2.0.0 (https://github.com/jshttp/fresh)
|
|
@@ -61,13 +61,12 @@ This project incorporates components from the projects listed below. The origina
|
|
|
61
61
|
- graceful-fs@4.2.10 (https://github.com/isaacs/node-graceful-fs)
|
|
62
62
|
- has-symbols@1.1.0 (https://github.com/inspect-js/has-symbols)
|
|
63
63
|
- hasown@2.0.3 (https://github.com/inspect-js/hasOwn)
|
|
64
|
-
- hono@4.12.
|
|
64
|
+
- hono@4.12.23 (https://github.com/honojs/hono)
|
|
65
65
|
- http-errors@2.0.1 (https://github.com/jshttp/http-errors)
|
|
66
66
|
- https-proxy-agent@7.0.6 (https://github.com/TooTallNate/proxy-agents)
|
|
67
67
|
- iconv-lite@0.7.2 (https://github.com/pillarjs/iconv-lite)
|
|
68
68
|
- inherits@2.0.4 (https://github.com/isaacs/inherits)
|
|
69
|
-
- ip-address@10.
|
|
70
|
-
- ip-address@9.0.5 (https://github.com/beaugunderson/ip-address)
|
|
69
|
+
- ip-address@10.2.0 (https://github.com/beaugunderson/ip-address)
|
|
71
70
|
- ipaddr.js@1.9.1 (https://github.com/whitequark/ipaddr.js)
|
|
72
71
|
- is-docker@2.2.1 (https://github.com/sindresorhus/is-docker)
|
|
73
72
|
- is-promise@4.0.0 (https://github.com/then/is-promise)
|
|
@@ -75,7 +74,6 @@ This project incorporates components from the projects listed below. The origina
|
|
|
75
74
|
- isexe@2.0.0 (https://github.com/isaacs/isexe)
|
|
76
75
|
- jose@6.1.3 (https://github.com/panva/jose)
|
|
77
76
|
- jpeg-js@0.4.4 (https://github.com/eugeneware/jpeg-js)
|
|
78
|
-
- jsbn@1.1.0 (https://github.com/andyperlitch/jsbn)
|
|
79
77
|
- json-schema-traverse@1.0.0 (https://github.com/epoberezkin/json-schema-traverse)
|
|
80
78
|
- json-schema-typed@8.0.2 (https://github.com/RemyRylan/json-schema-typed)
|
|
81
79
|
- math-intrinsics@1.1.0 (https://github.com/es-shims/math-intrinsics)
|
|
@@ -103,7 +101,7 @@ This project incorporates components from the projects listed below. The origina
|
|
|
103
101
|
- proxy-addr@2.0.7 (https://github.com/jshttp/proxy-addr)
|
|
104
102
|
- proxy-from-env@1.1.0 (https://github.com/Rob--W/proxy-from-env)
|
|
105
103
|
- pump@3.0.2 (https://github.com/mafintosh/pump)
|
|
106
|
-
- qs@6.15.
|
|
104
|
+
- qs@6.15.2 (https://github.com/ljharb/qs)
|
|
107
105
|
- range-parser@1.2.1 (https://github.com/jshttp/range-parser)
|
|
108
106
|
- raw-body@3.0.2 (https://github.com/stream-utils/raw-body)
|
|
109
107
|
- require-from-string@2.0.2 (https://github.com/floatdrop/require-from-string)
|
|
@@ -122,8 +120,7 @@ This project incorporates components from the projects listed below. The origina
|
|
|
122
120
|
- signal-exit@3.0.7 (https://github.com/tapjs/signal-exit)
|
|
123
121
|
- smart-buffer@4.2.0 (https://github.com/JoshGlazebrook/smart-buffer)
|
|
124
122
|
- socks-proxy-agent@8.0.5 (https://github.com/TooTallNate/proxy-agents)
|
|
125
|
-
- socks@2.8.
|
|
126
|
-
- sprintf-js@1.1.3 (https://github.com/alexei/sprintf.js)
|
|
123
|
+
- socks@2.8.9 (https://github.com/JoshGlazebrook/socks)
|
|
127
124
|
- statuses@2.0.2 (https://github.com/jshttp/statuses)
|
|
128
125
|
- toidentifier@1.0.1 (https://github.com/component/toidentifier)
|
|
129
126
|
- type-is@2.0.1 (https://github.com/jshttp/type-is)
|
|
@@ -131,7 +128,7 @@ This project incorporates components from the projects listed below. The origina
|
|
|
131
128
|
- vary@1.1.2 (https://github.com/jshttp/vary)
|
|
132
129
|
- which@2.0.2 (https://github.com/isaacs/node-which)
|
|
133
130
|
- wrappy@1.0.2 (https://github.com/npm/wrappy)
|
|
134
|
-
- ws@8.
|
|
131
|
+
- ws@8.21.0 (https://github.com/websockets/ws)
|
|
135
132
|
- yaml@2.8.3 (https://github.com/eemeli/yaml)
|
|
136
133
|
- yauzl@3.2.1 (https://github.com/thejoshwolfe/yauzl)
|
|
137
134
|
- yazl@2.5.1 (https://github.com/thejoshwolfe/yazl)
|
|
@@ -1423,7 +1420,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
1423
1420
|
=========================================
|
|
1424
1421
|
END OF eventsource@3.0.7 AND INFORMATION
|
|
1425
1422
|
|
|
1426
|
-
%% express-rate-limit@8.
|
|
1423
|
+
%% express-rate-limit@8.5.2 NOTICES AND INFORMATION BEGIN HERE
|
|
1427
1424
|
=========================================
|
|
1428
1425
|
# MIT License
|
|
1429
1426
|
|
|
@@ -1446,7 +1443,7 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
|
1446
1443
|
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
1447
1444
|
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
1448
1445
|
=========================================
|
|
1449
|
-
END OF express-rate-limit@8.
|
|
1446
|
+
END OF express-rate-limit@8.5.2 AND INFORMATION
|
|
1450
1447
|
|
|
1451
1448
|
%% express@5.2.1 NOTICES AND INFORMATION BEGIN HERE
|
|
1452
1449
|
=========================================
|
|
@@ -1503,14 +1500,12 @@ SOFTWARE.
|
|
|
1503
1500
|
=========================================
|
|
1504
1501
|
END OF fast-deep-equal@3.1.3 AND INFORMATION
|
|
1505
1502
|
|
|
1506
|
-
%% fast-uri@3.1.
|
|
1503
|
+
%% fast-uri@3.1.2 NOTICES AND INFORMATION BEGIN HERE
|
|
1507
1504
|
=========================================
|
|
1508
1505
|
Copyright (c) 2011-2021, Gary Court until https://github.com/garycourt/uri-js/commit/a1acf730b4bba3f1097c9f52e7d9d3aba8cdcaae
|
|
1509
|
-
Copyright (c) 2021-present The Fastify team
|
|
1506
|
+
Copyright (c) 2021-present The Fastify team <https://github.com/fastify/fastify#team>
|
|
1510
1507
|
All rights reserved.
|
|
1511
1508
|
|
|
1512
|
-
The Fastify team members are listed at https://github.com/fastify/fastify#team.
|
|
1513
|
-
|
|
1514
1509
|
Redistribution and use in source and binary forms, with or without
|
|
1515
1510
|
modification, are permitted provided that the following conditions are met:
|
|
1516
1511
|
* Redistributions of source code must retain the above copyright
|
|
@@ -1538,7 +1533,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
1538
1533
|
The complete list of contributors can be found at:
|
|
1539
1534
|
- https://github.com/garycourt/uri-js/graphs/contributors
|
|
1540
1535
|
=========================================
|
|
1541
|
-
END OF fast-uri@3.1.
|
|
1536
|
+
END OF fast-uri@3.1.2 AND INFORMATION
|
|
1542
1537
|
|
|
1543
1538
|
%% finalhandler@2.1.1 NOTICES AND INFORMATION BEGIN HERE
|
|
1544
1539
|
=========================================
|
|
@@ -1810,7 +1805,7 @@ SOFTWARE.
|
|
|
1810
1805
|
=========================================
|
|
1811
1806
|
END OF hasown@2.0.3 AND INFORMATION
|
|
1812
1807
|
|
|
1813
|
-
%% hono@4.12.
|
|
1808
|
+
%% hono@4.12.23 NOTICES AND INFORMATION BEGIN HERE
|
|
1814
1809
|
=========================================
|
|
1815
1810
|
MIT License
|
|
1816
1811
|
|
|
@@ -1834,7 +1829,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
1834
1829
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
1835
1830
|
SOFTWARE.
|
|
1836
1831
|
=========================================
|
|
1837
|
-
END OF hono@4.12.
|
|
1832
|
+
END OF hono@4.12.23 AND INFORMATION
|
|
1838
1833
|
|
|
1839
1834
|
%% http-errors@2.0.1 NOTICES AND INFORMATION BEGIN HERE
|
|
1840
1835
|
=========================================
|
|
@@ -1935,7 +1930,7 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
1935
1930
|
=========================================
|
|
1936
1931
|
END OF inherits@2.0.4 AND INFORMATION
|
|
1937
1932
|
|
|
1938
|
-
%% ip-address@10.
|
|
1933
|
+
%% ip-address@10.2.0 NOTICES AND INFORMATION BEGIN HERE
|
|
1939
1934
|
=========================================
|
|
1940
1935
|
Copyright (C) 2011 by Beau Gunderson
|
|
1941
1936
|
|
|
@@ -1957,31 +1952,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
1957
1952
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
1958
1953
|
THE SOFTWARE.
|
|
1959
1954
|
=========================================
|
|
1960
|
-
END OF ip-address@10.
|
|
1961
|
-
|
|
1962
|
-
%% ip-address@9.0.5 NOTICES AND INFORMATION BEGIN HERE
|
|
1963
|
-
=========================================
|
|
1964
|
-
Copyright (C) 2011 by Beau Gunderson
|
|
1965
|
-
|
|
1966
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
1967
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
1968
|
-
in the Software without restriction, including without limitation the rights
|
|
1969
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
1970
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
1971
|
-
furnished to do so, subject to the following conditions:
|
|
1972
|
-
|
|
1973
|
-
The above copyright notice and this permission notice shall be included in
|
|
1974
|
-
all copies or substantial portions of the Software.
|
|
1975
|
-
|
|
1976
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
1977
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
1978
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
1979
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
1980
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
1981
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
1982
|
-
THE SOFTWARE.
|
|
1983
|
-
=========================================
|
|
1984
|
-
END OF ip-address@9.0.5 AND INFORMATION
|
|
1955
|
+
END OF ip-address@10.2.0 AND INFORMATION
|
|
1985
1956
|
|
|
1986
1957
|
%% ipaddr.js@1.9.1 NOTICES AND INFORMATION BEGIN HERE
|
|
1987
1958
|
=========================================
|
|
@@ -2135,51 +2106,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
2135
2106
|
=========================================
|
|
2136
2107
|
END OF jpeg-js@0.4.4 AND INFORMATION
|
|
2137
2108
|
|
|
2138
|
-
%% jsbn@1.1.0 NOTICES AND INFORMATION BEGIN HERE
|
|
2139
|
-
=========================================
|
|
2140
|
-
Licensing
|
|
2141
|
-
---------
|
|
2142
|
-
|
|
2143
|
-
This software is covered under the following copyright:
|
|
2144
|
-
|
|
2145
|
-
/*
|
|
2146
|
-
* Copyright (c) 2003-2005 Tom Wu
|
|
2147
|
-
* All Rights Reserved.
|
|
2148
|
-
*
|
|
2149
|
-
* Permission is hereby granted, free of charge, to any person obtaining
|
|
2150
|
-
* a copy of this software and associated documentation files (the
|
|
2151
|
-
* "Software"), to deal in the Software without restriction, including
|
|
2152
|
-
* without limitation the rights to use, copy, modify, merge, publish,
|
|
2153
|
-
* distribute, sublicense, and/or sell copies of the Software, and to
|
|
2154
|
-
* permit persons to whom the Software is furnished to do so, subject to
|
|
2155
|
-
* the following conditions:
|
|
2156
|
-
*
|
|
2157
|
-
* The above copyright notice and this permission notice shall be
|
|
2158
|
-
* included in all copies or substantial portions of the Software.
|
|
2159
|
-
*
|
|
2160
|
-
* THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
|
|
2161
|
-
* EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
|
|
2162
|
-
* WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
|
2163
|
-
*
|
|
2164
|
-
* IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
|
|
2165
|
-
* INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER
|
|
2166
|
-
* RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF
|
|
2167
|
-
* THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT
|
|
2168
|
-
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
2169
|
-
*
|
|
2170
|
-
* In addition, the following condition applies:
|
|
2171
|
-
*
|
|
2172
|
-
* All redistributions must retain an intact copy of this copyright notice
|
|
2173
|
-
* and disclaimer.
|
|
2174
|
-
*/
|
|
2175
|
-
|
|
2176
|
-
Address all questions regarding this license to:
|
|
2177
|
-
|
|
2178
|
-
Tom Wu
|
|
2179
|
-
tjw@cs.Stanford.EDU
|
|
2180
|
-
=========================================
|
|
2181
|
-
END OF jsbn@1.1.0 AND INFORMATION
|
|
2182
|
-
|
|
2183
2109
|
%% json-schema-traverse@1.0.0 NOTICES AND INFORMATION BEGIN HERE
|
|
2184
2110
|
=========================================
|
|
2185
2111
|
MIT License
|
|
@@ -2886,7 +2812,7 @@ THE SOFTWARE.
|
|
|
2886
2812
|
=========================================
|
|
2887
2813
|
END OF pump@3.0.2 AND INFORMATION
|
|
2888
2814
|
|
|
2889
|
-
%% qs@6.15.
|
|
2815
|
+
%% qs@6.15.2 NOTICES AND INFORMATION BEGIN HERE
|
|
2890
2816
|
=========================================
|
|
2891
2817
|
BSD 3-Clause License
|
|
2892
2818
|
|
|
@@ -2918,7 +2844,7 @@ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
|
2918
2844
|
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
2919
2845
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
2920
2846
|
=========================================
|
|
2921
|
-
END OF qs@6.15.
|
|
2847
|
+
END OF qs@6.15.2 AND INFORMATION
|
|
2922
2848
|
|
|
2923
2849
|
%% range-parser@1.2.1 NOTICES AND INFORMATION BEGIN HERE
|
|
2924
2850
|
=========================================
|
|
@@ -3362,7 +3288,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
3362
3288
|
=========================================
|
|
3363
3289
|
END OF socks-proxy-agent@8.0.5 AND INFORMATION
|
|
3364
3290
|
|
|
3365
|
-
%% socks@2.8.
|
|
3291
|
+
%% socks@2.8.9 NOTICES AND INFORMATION BEGIN HERE
|
|
3366
3292
|
=========================================
|
|
3367
3293
|
The MIT License (MIT)
|
|
3368
3294
|
|
|
@@ -3385,36 +3311,7 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
|
3385
3311
|
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
3386
3312
|
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
3387
3313
|
=========================================
|
|
3388
|
-
END OF socks@2.8.
|
|
3389
|
-
|
|
3390
|
-
%% sprintf-js@1.1.3 NOTICES AND INFORMATION BEGIN HERE
|
|
3391
|
-
=========================================
|
|
3392
|
-
Copyright (c) 2007-present, Alexandru Mărășteanu <hello@alexei.ro>
|
|
3393
|
-
All rights reserved.
|
|
3394
|
-
|
|
3395
|
-
Redistribution and use in source and binary forms, with or without
|
|
3396
|
-
modification, are permitted provided that the following conditions are met:
|
|
3397
|
-
* Redistributions of source code must retain the above copyright
|
|
3398
|
-
notice, this list of conditions and the following disclaimer.
|
|
3399
|
-
* Redistributions in binary form must reproduce the above copyright
|
|
3400
|
-
notice, this list of conditions and the following disclaimer in the
|
|
3401
|
-
documentation and/or other materials provided with the distribution.
|
|
3402
|
-
* Neither the name of this software nor the names of its contributors may be
|
|
3403
|
-
used to endorse or promote products derived from this software without
|
|
3404
|
-
specific prior written permission.
|
|
3405
|
-
|
|
3406
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
3407
|
-
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
3408
|
-
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
3409
|
-
DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
|
|
3410
|
-
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
3411
|
-
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
3412
|
-
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
3413
|
-
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
3414
|
-
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
3415
|
-
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
3416
|
-
=========================================
|
|
3417
|
-
END OF sprintf-js@1.1.3 AND INFORMATION
|
|
3314
|
+
END OF socks@2.8.9 AND INFORMATION
|
|
3418
3315
|
|
|
3419
3316
|
%% statuses@2.0.2 NOTICES AND INFORMATION BEGIN HERE
|
|
3420
3317
|
=========================================
|
|
@@ -3591,7 +3488,7 @@ IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
|
3591
3488
|
=========================================
|
|
3592
3489
|
END OF wrappy@1.0.2 AND INFORMATION
|
|
3593
3490
|
|
|
3594
|
-
%% ws@8.
|
|
3491
|
+
%% ws@8.21.0 NOTICES AND INFORMATION BEGIN HERE
|
|
3595
3492
|
=========================================
|
|
3596
3493
|
Copyright (c) 2011 Einar Otto Stangvik <einaros@gmail.com>
|
|
3597
3494
|
Copyright (c) 2013 Arnout Kazemier and contributors
|
|
@@ -3614,7 +3511,7 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
|
3614
3511
|
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
3615
3512
|
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
3616
3513
|
=========================================
|
|
3617
|
-
END OF ws@8.
|
|
3514
|
+
END OF ws@8.21.0 AND INFORMATION
|
|
3618
3515
|
|
|
3619
3516
|
%% yaml@2.8.3 NOTICES AND INFORMATION BEGIN HERE
|
|
3620
3517
|
=========================================
|
|
@@ -3760,6 +3657,6 @@ END OF zod@4.3.5 AND INFORMATION
|
|
|
3760
3657
|
|
|
3761
3658
|
SUMMARY BEGIN HERE
|
|
3762
3659
|
=========================================
|
|
3763
|
-
Total Packages:
|
|
3660
|
+
Total Packages: 131
|
|
3764
3661
|
=========================================
|
|
3765
3662
|
END OF SUMMARY
|