@codeyam/codeyam-cli 0.1.0-staging.eb21b2f → 0.1.0-staging.f777668
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/analyzer-template/.build-info.json +7 -7
- package/analyzer-template/log.txt +3 -3
- package/analyzer-template/package.json +21 -21
- package/analyzer-template/packages/ai/package.json +2 -2
- package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +34 -3
- package/analyzer-template/packages/ai/src/lib/completionCall.ts +114 -113
- package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +259 -5
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.ts +62 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.ts +35 -0
- package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +78 -2
- package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +0 -33
- package/analyzer-template/packages/analyze/src/lib/ProjectAnalyzer.ts +19 -7
- package/analyzer-template/packages/analyze/src/lib/asts/index.ts +7 -2
- package/analyzer-template/packages/analyze/src/lib/asts/nodes/getNodeType.ts +1 -0
- package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +9 -1
- package/analyzer-template/packages/analyze/src/lib/files/analyze/dependencyResolver.ts +0 -6
- package/analyzer-template/packages/analyze/src/lib/files/analyze/findOrCreateEntity.ts +12 -0
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/TransformationTracer.ts +65 -28
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +83 -0
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.ts +0 -98
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +23 -4
- package/analyzer-template/packages/aws/package.json +10 -10
- package/analyzer-template/packages/database/index.ts +1 -0
- package/analyzer-template/packages/database/package.json +3 -3
- package/analyzer-template/packages/database/src/lib/kysely/db.ts +8 -0
- package/analyzer-template/packages/database/src/lib/kysely/tables/editorScenariosTable.ts +68 -0
- package/analyzer-template/packages/database/src/lib/loadCommits.ts +31 -20
- package/analyzer-template/packages/database/src/lib/loadReadyToBeCapturedAnalyses.ts +0 -5
- package/analyzer-template/packages/database/src/lib/updateCommitMetadata.ts +151 -135
- package/analyzer-template/packages/database/src/lib/updateFreshAnalysisStatus.ts +58 -42
- package/analyzer-template/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.ts +81 -65
- package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.ts +29 -1
- package/analyzer-template/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.ts +33 -5
- package/analyzer-template/packages/github/dist/database/index.d.ts +1 -0
- package/analyzer-template/packages/github/dist/database/index.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/index.js +1 -0
- package/analyzer-template/packages/github/dist/database/index.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts +2 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +5 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.d.ts +22 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.js +51 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/editorScenariosTable.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts +5 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js +23 -13
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js +1 -4
- package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js +100 -89
- package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.js +41 -30
- package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.js +68 -57
- package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +29 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +33 -5
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
- package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts +1 -0
- package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts +10 -0
- package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts.map +1 -1
- package/analyzer-template/packages/github/package.json +1 -1
- package/analyzer-template/packages/types/src/types/ProjectMetadata.ts +1 -0
- package/analyzer-template/packages/types/src/types/Scenario.ts +10 -0
- package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts +1 -0
- package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts +10 -0
- package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js +6 -2
- package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js.map +1 -1
- package/analyzer-template/packages/utils/src/lib/fs/rsyncCopy.ts +14 -2
- package/analyzer-template/playwright/captureFromUrl.ts +89 -82
- package/analyzer-template/project/constructMockCode.ts +168 -48
- package/analyzer-template/project/orchestrateCapture.ts +4 -1
- package/analyzer-template/project/reconcileMockDataKeys.ts +19 -14
- package/analyzer-template/project/start.ts +3 -0
- package/analyzer-template/project/startScenarioCapture.ts +9 -0
- package/analyzer-template/project/writeClientLogRoute.ts +125 -0
- package/analyzer-template/project/writeMockDataTsx.ts +17 -0
- package/analyzer-template/project/writeScenarioComponents.ts +96 -17
- package/analyzer-template/tsconfig.json +13 -1
- package/background/src/lib/virtualized/project/constructMockCode.js +143 -39
- package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
- package/background/src/lib/virtualized/project/orchestrateCapture.js +4 -1
- package/background/src/lib/virtualized/project/orchestrateCapture.js.map +1 -1
- package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +17 -11
- package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
- package/background/src/lib/virtualized/project/start.js +2 -0
- package/background/src/lib/virtualized/project/start.js.map +1 -1
- package/background/src/lib/virtualized/project/startScenarioCapture.js +5 -0
- package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
- package/background/src/lib/virtualized/project/writeClientLogRoute.js +110 -0
- package/background/src/lib/virtualized/project/writeClientLogRoute.js.map +1 -0
- package/background/src/lib/virtualized/project/writeMockDataTsx.js +12 -0
- package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
- package/background/src/lib/virtualized/project/writeScenarioComponents.js +73 -12
- package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
- package/codeyam-cli/scripts/apply-setup.js +208 -11
- package/codeyam-cli/scripts/apply-setup.js.map +1 -1
- package/codeyam-cli/src/__tests__/memory-scripts/filter-session.test.js +196 -0
- package/codeyam-cli/src/__tests__/memory-scripts/filter-session.test.js.map +1 -0
- package/codeyam-cli/src/__tests__/memory-scripts/read-json-field.test.js +114 -0
- package/codeyam-cli/src/__tests__/memory-scripts/read-json-field.test.js.map +1 -0
- package/codeyam-cli/src/__tests__/memory-scripts/ripgrep-fallback.test.js +149 -0
- package/codeyam-cli/src/__tests__/memory-scripts/ripgrep-fallback.test.js.map +1 -0
- package/codeyam-cli/src/cli.js +32 -25
- package/codeyam-cli/src/cli.js.map +1 -1
- package/codeyam-cli/src/commands/analyze.js +17 -7
- package/codeyam-cli/src/commands/analyze.js.map +1 -1
- package/codeyam-cli/src/commands/default.js +14 -2
- package/codeyam-cli/src/commands/default.js.map +1 -1
- package/codeyam-cli/src/commands/editor.js +2607 -0
- package/codeyam-cli/src/commands/editor.js.map +1 -0
- package/codeyam-cli/src/commands/init.js +40 -11
- package/codeyam-cli/src/commands/init.js.map +1 -1
- package/codeyam-cli/src/commands/memory.js +29 -58
- package/codeyam-cli/src/commands/memory.js.map +1 -1
- package/codeyam-cli/src/utils/__tests__/devServerState.test.js +134 -0
- package/codeyam-cli/src/utils/__tests__/devServerState.test.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/editorApi.test.js +127 -0
- package/codeyam-cli/src/utils/__tests__/editorApi.test.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/editorAudit.test.js +635 -0
- package/codeyam-cli/src/utils/__tests__/editorAudit.test.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/editorCapture.test.js +93 -0
- package/codeyam-cli/src/utils/__tests__/editorCapture.test.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/editorDevServer.test.js +155 -0
- package/codeyam-cli/src/utils/__tests__/editorDevServer.test.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/editorEntityChangeStatus.test.js +121 -0
- package/codeyam-cli/src/utils/__tests__/editorEntityChangeStatus.test.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/editorImageVerifier.test.js +294 -0
- package/codeyam-cli/src/utils/__tests__/editorImageVerifier.test.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/editorJournal.test.js +542 -0
- package/codeyam-cli/src/utils/__tests__/editorJournal.test.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/editorLoaderHelpers.test.js +393 -0
- package/codeyam-cli/src/utils/__tests__/editorLoaderHelpers.test.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/editorMockState.test.js +270 -0
- package/codeyam-cli/src/utils/__tests__/editorMockState.test.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/editorPreloadHelpers.test.js +217 -0
- package/codeyam-cli/src/utils/__tests__/editorPreloadHelpers.test.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/editorPreview.test.js +266 -0
- package/codeyam-cli/src/utils/__tests__/editorPreview.test.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/editorScenarioLookup.test.js +139 -0
- package/codeyam-cli/src/utils/__tests__/editorScenarioLookup.test.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/editorScenarioSwitch.test.js +221 -0
- package/codeyam-cli/src/utils/__tests__/editorScenarioSwitch.test.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js +221 -0
- package/codeyam-cli/src/utils/__tests__/editorScenarios.test.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/editorSeedAdapter.test.js +213 -0
- package/codeyam-cli/src/utils/__tests__/editorSeedAdapter.test.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js +1686 -0
- package/codeyam-cli/src/utils/__tests__/entityChangeStatus.test.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/git.editor.test.js +134 -0
- package/codeyam-cli/src/utils/__tests__/git.editor.test.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/journalCaptureStabilization.test.js +107 -0
- package/codeyam-cli/src/utils/__tests__/journalCaptureStabilization.test.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.js +6 -0
- package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.js.map +1 -1
- package/codeyam-cli/src/utils/__tests__/parseRegisterArg.test.js +101 -0
- package/codeyam-cli/src/utils/__tests__/parseRegisterArg.test.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/pathIgnoring.test.js +9 -0
- package/codeyam-cli/src/utils/__tests__/pathIgnoring.test.js.map +1 -1
- package/codeyam-cli/src/utils/__tests__/project.test.js +65 -0
- package/codeyam-cli/src/utils/__tests__/project.test.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/scenarioMarkers.test.js +121 -0
- package/codeyam-cli/src/utils/__tests__/scenarioMarkers.test.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/scenariosManifest.test.js +246 -0
- package/codeyam-cli/src/utils/__tests__/scenariosManifest.test.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +50 -4
- package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
- package/codeyam-cli/src/utils/__tests__/templateConsistency.test.js +50 -0
- package/codeyam-cli/src/utils/__tests__/templateConsistency.test.js.map +1 -0
- package/codeyam-cli/src/utils/backgroundServer.js +21 -5
- package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
- package/codeyam-cli/src/utils/buildFlags.js +4 -0
- package/codeyam-cli/src/utils/buildFlags.js.map +1 -0
- package/codeyam-cli/src/utils/devModeEvents.js +40 -0
- package/codeyam-cli/src/utils/devModeEvents.js.map +1 -0
- package/codeyam-cli/src/utils/devServerState.js +71 -0
- package/codeyam-cli/src/utils/devServerState.js.map +1 -0
- package/codeyam-cli/src/utils/editorApi.js +73 -0
- package/codeyam-cli/src/utils/editorApi.js.map +1 -0
- package/codeyam-cli/src/utils/editorAudit.js +159 -0
- package/codeyam-cli/src/utils/editorAudit.js.map +1 -0
- package/codeyam-cli/src/utils/editorCapture.js +102 -0
- package/codeyam-cli/src/utils/editorCapture.js.map +1 -0
- package/codeyam-cli/src/utils/editorDevServer.js +109 -0
- package/codeyam-cli/src/utils/editorDevServer.js.map +1 -0
- package/codeyam-cli/src/utils/editorEntityChangeStatus.js +44 -0
- package/codeyam-cli/src/utils/editorEntityChangeStatus.js.map +1 -0
- package/codeyam-cli/src/utils/editorImageVerifier.js +155 -0
- package/codeyam-cli/src/utils/editorImageVerifier.js.map +1 -0
- package/codeyam-cli/src/utils/editorJournal.js +225 -0
- package/codeyam-cli/src/utils/editorJournal.js.map +1 -0
- package/codeyam-cli/src/utils/editorLoaderHelpers.js +81 -0
- package/codeyam-cli/src/utils/editorLoaderHelpers.js.map +1 -0
- package/codeyam-cli/src/utils/editorMockState.js +248 -0
- package/codeyam-cli/src/utils/editorMockState.js.map +1 -0
- package/codeyam-cli/src/utils/editorPreloadHelpers.js +135 -0
- package/codeyam-cli/src/utils/editorPreloadHelpers.js.map +1 -0
- package/codeyam-cli/src/utils/editorPreview.js +106 -0
- package/codeyam-cli/src/utils/editorPreview.js.map +1 -0
- package/codeyam-cli/src/utils/editorScenarioSwitch.js +112 -0
- package/codeyam-cli/src/utils/editorScenarioSwitch.js.map +1 -0
- package/codeyam-cli/src/utils/editorScenarios.js +96 -0
- package/codeyam-cli/src/utils/editorScenarios.js.map +1 -0
- package/codeyam-cli/src/utils/editorSeedAdapter.js +173 -0
- package/codeyam-cli/src/utils/editorSeedAdapter.js.map +1 -0
- package/codeyam-cli/src/utils/entityChangeStatus.js +337 -0
- package/codeyam-cli/src/utils/entityChangeStatus.js.map +1 -0
- package/codeyam-cli/src/utils/entityChangeStatus.server.js +107 -0
- package/codeyam-cli/src/utils/entityChangeStatus.server.js.map +1 -0
- package/codeyam-cli/src/utils/fileMetadata.js +5 -0
- package/codeyam-cli/src/utils/fileMetadata.js.map +1 -1
- package/codeyam-cli/src/utils/fileWatcher.js +25 -9
- package/codeyam-cli/src/utils/fileWatcher.js.map +1 -1
- package/codeyam-cli/src/utils/git.js +103 -0
- package/codeyam-cli/src/utils/git.js.map +1 -1
- package/codeyam-cli/src/utils/install-skills.js +57 -15
- package/codeyam-cli/src/utils/install-skills.js.map +1 -1
- package/codeyam-cli/src/utils/interactiveSyncWatcher.js +126 -0
- package/codeyam-cli/src/utils/interactiveSyncWatcher.js.map +1 -0
- package/codeyam-cli/src/utils/npmVersionCheck.js +2 -2
- package/codeyam-cli/src/utils/npmVersionCheck.js.map +1 -1
- package/codeyam-cli/src/utils/parseRegisterArg.js +31 -0
- package/codeyam-cli/src/utils/parseRegisterArg.js.map +1 -0
- package/codeyam-cli/src/utils/pathIgnoring.js +19 -7
- package/codeyam-cli/src/utils/pathIgnoring.js.map +1 -1
- package/codeyam-cli/src/utils/project.js +15 -5
- package/codeyam-cli/src/utils/project.js.map +1 -1
- package/codeyam-cli/src/utils/queue/__tests__/heartbeat.test.js +11 -11
- package/codeyam-cli/src/utils/queue/__tests__/heartbeat.test.js.map +1 -1
- package/codeyam-cli/src/utils/queue/__tests__/manager.test.js +22 -0
- package/codeyam-cli/src/utils/queue/__tests__/manager.test.js.map +1 -1
- package/codeyam-cli/src/utils/queue/heartbeat.js +13 -5
- package/codeyam-cli/src/utils/queue/heartbeat.js.map +1 -1
- package/codeyam-cli/src/utils/queue/job.js +70 -1
- package/codeyam-cli/src/utils/queue/job.js.map +1 -1
- package/codeyam-cli/src/utils/queue/manager.js +7 -6
- package/codeyam-cli/src/utils/queue/manager.js.map +1 -1
- package/codeyam-cli/src/utils/requireSimulations.js +1 -1
- package/codeyam-cli/src/utils/requireSimulations.js.map +1 -1
- package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js +5 -6
- package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js.map +1 -1
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js +1 -1
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js.map +1 -1
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js +0 -1
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js.map +1 -1
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js +2 -4
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js.map +1 -1
- package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js +2 -5
- package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js.map +1 -1
- package/codeyam-cli/src/utils/rules/__tests__/parser.test.js +83 -0
- package/codeyam-cli/src/utils/rules/__tests__/parser.test.js.map +1 -0
- package/codeyam-cli/src/utils/rules/__tests__/pathMatcher.test.js +118 -0
- package/codeyam-cli/src/utils/rules/__tests__/pathMatcher.test.js.map +1 -0
- package/codeyam-cli/src/utils/rules/__tests__/rulePlacement.test.js +72 -0
- package/codeyam-cli/src/utils/rules/__tests__/rulePlacement.test.js.map +1 -0
- package/codeyam-cli/src/utils/rules/__tests__/sourceFiles.test.js +76 -0
- package/codeyam-cli/src/utils/rules/__tests__/sourceFiles.test.js.map +1 -0
- package/codeyam-cli/src/utils/rules/index.js +1 -0
- package/codeyam-cli/src/utils/rules/index.js.map +1 -1
- package/codeyam-cli/src/utils/rules/parser.js +14 -4
- package/codeyam-cli/src/utils/rules/parser.js.map +1 -1
- package/codeyam-cli/src/utils/rules/pathMatcher.js +34 -3
- package/codeyam-cli/src/utils/rules/pathMatcher.js.map +1 -1
- package/codeyam-cli/src/utils/rules/rulePlacement.js +65 -0
- package/codeyam-cli/src/utils/rules/rulePlacement.js.map +1 -0
- package/codeyam-cli/src/utils/rules/sourceFiles.js +43 -0
- package/codeyam-cli/src/utils/rules/sourceFiles.js.map +1 -0
- package/codeyam-cli/src/utils/scenarioMarkers.js +134 -0
- package/codeyam-cli/src/utils/scenarioMarkers.js.map +1 -0
- package/codeyam-cli/src/utils/scenariosManifest.js +112 -0
- package/codeyam-cli/src/utils/scenariosManifest.js.map +1 -0
- package/codeyam-cli/src/utils/serverState.js +27 -2
- package/codeyam-cli/src/utils/serverState.js.map +1 -1
- package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +82 -11
- package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
- package/codeyam-cli/src/utils/simulationGateMiddleware.js +159 -0
- package/codeyam-cli/src/utils/simulationGateMiddleware.js.map +1 -0
- package/codeyam-cli/src/utils/syncMocksMiddleware.js +5 -24
- package/codeyam-cli/src/utils/syncMocksMiddleware.js.map +1 -1
- package/codeyam-cli/src/utils/testRunner.js +158 -0
- package/codeyam-cli/src/utils/testRunner.js.map +1 -0
- package/codeyam-cli/src/utils/transcriptPruning.js +67 -0
- package/codeyam-cli/src/utils/transcriptPruning.js.map +1 -0
- package/codeyam-cli/src/utils/versionInfo.js +21 -0
- package/codeyam-cli/src/utils/versionInfo.js.map +1 -1
- package/codeyam-cli/src/utils/webappDetection.js +14 -2
- package/codeyam-cli/src/utils/webappDetection.js.map +1 -1
- package/codeyam-cli/src/webserver/app/lib/database.js +41 -27
- package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
- package/codeyam-cli/src/webserver/app/lib/dbNotifier.js.map +1 -1
- package/codeyam-cli/src/webserver/app/lib/git.js +396 -0
- package/codeyam-cli/src/webserver/app/lib/git.js.map +1 -0
- package/codeyam-cli/src/webserver/backgroundServer.js +118 -18
- package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{CopyButton-jNYXRRNI.js → CopyButton-DmJveP3T.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{EntityItem-bwuHPyTa.js → EntityItem-C76mRRiF.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeBadge-CvzqMxcu.js → EntityTypeBadge-g3saevPb.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeIcon-BH0XDim7.js → EntityTypeIcon-CobE682z.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-Bu6c6aDe.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{InteractivePreview-yjIHlOGa.js → InteractivePreview-DYFW3lDD.js} +3 -3
- package/codeyam-cli/src/webserver/build/client/assets/{LibraryFunctionPreview-Cq5o8jL4.js → LibraryFunctionPreview-DLeucoVX.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{LoadingDots-BvMu2i-g.js → LoadingDots-BU_OAEMP.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-kgBTLoJD.js → LogViewer-ceAyBX-H.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{ReportIssueModal-BzPgx-xO.js → ReportIssueModal-djPLI-WV.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{SafeScreenshot-CwZrv-Ok.js → SafeScreenshot-BED4B6sP.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{ScenarioViewer-BX2Ny2Qj.js → ScenarioViewer-ZlRKbhrq.js} +3 -3
- package/codeyam-cli/src/webserver/build/client/assets/Spinner-Bb5uFQ5V.js +34 -0
- package/codeyam-cli/src/webserver/build/client/assets/{TruncatedFilePath-CDpEprKa.js → TruncatedFilePath-C8OKAR5x.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/ViewportInspectBar-oAf2Kqsf.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{_index-BRx8ZGZo.js → _index-C96V0n15.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{activity.(_tab)-4S4yPfFw.js → activity.(_tab)-BpKzcsJz.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/addon-canvas-DpzMmAy5.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/addon-fit-YJmn1quW.js +12 -0
- package/codeyam-cli/src/webserver/build/client/assets/addon-web-links-Duc5hnl7.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/addon-webgl-DI8QOUvO.js +58 -0
- package/codeyam-cli/src/webserver/build/client/assets/agent-transcripts-D9hemwl6.js +22 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.dev-mode-events-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-audit-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-capture-scenario-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-client-errors-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-commit-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-dev-server-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-entity-status-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-file-diff-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-file-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-entry-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-image._-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-screenshot-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-journal-update-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-load-commit-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-project-info-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-refresh-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-register-scenario-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-data-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenario-image._-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-scenarios-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-switch-scenario-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.editor-test-results-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.rule-path-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{book-open-D4IPYH_y.js → book-open-D_nMCFmP.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{chevron-down-CG65viiV.js → chevron-down-BH2h1Ea2.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{chunk-JZWAC4HX-DB3aFuEO.js → chunk-JZWAC4HX-C4pqxYJB.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{circle-check-igfMr5DY.js → circle-check-DyIKORY6.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{copy-Coc4o_8c.js → copy-NDbZjXao.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{createLucideIcon-D1zB-pYc.js → createLucideIcon-CMT1jU2q.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/dev.empty-CltMNppm.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/editor-DTEBHY7Z.js +10 -0
- package/codeyam-cli/src/webserver/build/client/assets/editorPreview-B7ztwLut.js +41 -0
- package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-B0h9AqE6.js → entity._sha._-DItJnD8s.js} +10 -10
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.dev-D5rYBT5x.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-CF164ouH.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-p9hhkjJM.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.edit._scenarioId-PePWg17F.js → entity._sha_.edit._scenarioId-BMvVHNXU.js} +2 -2
- package/codeyam-cli/src/webserver/build/client/assets/{entry.client-I-Wo99C_.js → entry.client-DTvKq3TY.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{fileTableUtils-9sMMAiWJ.js → fileTableUtils-cPo8LiG3.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{files-Co65J0s3.js → files-DO4CZ16O.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/git-CdN8sCqs.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/globals-JMY99HpD.css +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{index-CUM5iXwc.js → index-10oVnAAH.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{index-_417gcQW.js → index-BcvgDzbZ.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/index-yHOVb4rc.js +15 -0
- package/codeyam-cli/src/webserver/build/client/assets/labs-Zk7ryIM1.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{loader-circle-TzRHMVog.js → loader-circle-BAXYRVEO.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/manifest-7aab51c4.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/memory-Dg0mvYrI.js +96 -0
- package/codeyam-cli/src/webserver/build/client/assets/{pause-hjzB7t2z.js → pause-DTAcYxBt.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/root-FRztnN-P.js +67 -0
- package/codeyam-cli/src/webserver/build/client/assets/{search-DcAwD_Ln.js → search-fKo7v0Zo.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/settings-DfuTtcJP.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{simulations-DVNJVQgD.js → simulations-B3aOzpCZ.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{terminal-DbEAHMbA.js → terminal-BG4heKCG.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{triangle-alert-CAD5b1o_.js → triangle-alert-DtSmdtM4.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-CrAK28Bc.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-C14nCb1q.js +2 -0
- package/codeyam-cli/src/webserver/build/client/assets/{useReportContext-DZlYx2c4.js → useReportContext-O-jkvSPx.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{useToast-ihdMtlf6.js → useToast-9FIWuYfK.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/xterm-BqvuqXEL.js +27 -0
- package/codeyam-cli/src/webserver/build/server/assets/index-Cz751Dm2.js +1 -0
- package/codeyam-cli/src/webserver/build/server/assets/server-build-DSylnYVM.js +367 -0
- package/codeyam-cli/src/webserver/build/server/index.js +1 -1
- package/codeyam-cli/src/webserver/build-info.json +5 -5
- package/codeyam-cli/src/webserver/devServer.js +39 -5
- package/codeyam-cli/src/webserver/devServer.js.map +1 -1
- package/codeyam-cli/src/webserver/editorProxy.js +431 -0
- package/codeyam-cli/src/webserver/editorProxy.js.map +1 -0
- package/codeyam-cli/src/webserver/scripts/codeyam-preload.mjs +414 -0
- package/codeyam-cli/src/webserver/scripts/journalCapture.ts +230 -0
- package/codeyam-cli/src/webserver/server.js +258 -1
- package/codeyam-cli/src/webserver/server.js.map +1 -1
- package/codeyam-cli/src/webserver/terminalServer.js +706 -0
- package/codeyam-cli/src/webserver/terminalServer.js.map +1 -0
- package/codeyam-cli/templates/codeyam-editor-claude.md +68 -0
- package/codeyam-cli/templates/editor-step-hook.py +208 -0
- package/codeyam-cli/templates/hooks/staleness-check.sh +43 -0
- package/codeyam-cli/templates/isolation-route/next-app.tsx.template +80 -0
- package/codeyam-cli/templates/isolation-route/next-pages.tsx.template +79 -0
- package/codeyam-cli/templates/isolation-route/vite-react.tsx.template +78 -0
- package/codeyam-cli/templates/msw/browser-setup.ts.template +47 -0
- package/codeyam-cli/templates/msw/handler-router.ts.template +47 -0
- package/codeyam-cli/templates/msw/server-setup.ts.template +52 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/PRISMA_SETUP.md +84 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/app/api/todos/route.ts +17 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/app/codeyam-isolate/layout.tsx +12 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/app/globals.css +26 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/app/layout.tsx +34 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/app/lib/prisma.ts +19 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/app/page.tsx +10 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/eslint.config.mjs +11 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/gitignore +64 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/next.config.ts +14 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/package.json +38 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/postcss.config.mjs +7 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma/schema.prisma +27 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma/seed.ts +37 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/prisma.config.ts +12 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/seed-adapter.ts +89 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/tsconfig.json +34 -0
- package/codeyam-cli/templates/nextjs-prisma-sqlite/vitest.config.ts +13 -0
- package/codeyam-cli/templates/prompts/conversation-guidance.txt +44 -0
- package/codeyam-cli/templates/prompts/conversation-prompt.txt +28 -0
- package/codeyam-cli/templates/prompts/interruption-prompt.txt +31 -0
- package/codeyam-cli/templates/prompts/stale-rules-prompt.txt +24 -0
- package/codeyam-cli/templates/rule-notification-hook.py +44 -17
- package/codeyam-cli/templates/rule-reflection-hook.py +24 -4
- package/codeyam-cli/templates/rules-instructions.md +34 -88
- package/codeyam-cli/templates/skills/codeyam-dev-mode/SKILL.md +237 -0
- package/codeyam-cli/templates/skills/codeyam-editor/SKILL.md +136 -0
- package/codeyam-cli/templates/{codeyam-memory.md → skills/codeyam-memory/SKILL.md} +215 -0
- package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/deprecated-prompt.md +100 -0
- package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/detect-deprecated-patterns.mjs +139 -0
- package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/find-exports.mjs +52 -0
- package/codeyam-cli/templates/skills/codeyam-memory/scripts/holistic-analysis/misleading-api-prompt.md +117 -0
- package/codeyam-cli/templates/skills/codeyam-memory/scripts/lib/read-json-field.mjs +61 -0
- package/codeyam-cli/templates/skills/codeyam-memory/scripts/lib/ripgrep-fallback.mjs +155 -0
- package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/analyze-prompt.md +46 -0
- package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/cleanup.mjs +13 -0
- package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/filter-session.mjs +95 -0
- package/codeyam-cli/templates/skills/codeyam-memory/scripts/session-mining/preprocess.mjs +160 -0
- package/codeyam-cli/templates/{codeyam-new-rule.md → skills/codeyam-new-rule/SKILL.md} +0 -2
- package/package.json +21 -14
- package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +22 -4
- package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
- package/packages/ai/src/lib/completionCall.js +10 -7
- package/packages/ai/src/lib/completionCall.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +234 -3
- package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.js +54 -0
- package/packages/ai/src/lib/dataStructure/helpers/coercePrimitivesToArraysBySchema.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.js +34 -0
- package/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.js.map +1 -0
- package/packages/ai/src/lib/generateEntityScenarioData.js +57 -2
- package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
- package/packages/ai/src/lib/generateExecutionFlows.js +0 -11
- package/packages/ai/src/lib/generateExecutionFlows.js.map +1 -1
- package/packages/analyze/src/lib/ProjectAnalyzer.js +13 -4
- package/packages/analyze/src/lib/ProjectAnalyzer.js.map +1 -1
- package/packages/analyze/src/lib/asts/index.js +4 -2
- package/packages/analyze/src/lib/asts/index.js.map +1 -1
- package/packages/analyze/src/lib/asts/nodes/getNodeType.js +1 -0
- package/packages/analyze/src/lib/asts/nodes/getNodeType.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +8 -1
- package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/dependencyResolver.js +0 -5
- package/packages/analyze/src/lib/files/analyze/dependencyResolver.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js +9 -0
- package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js +54 -27
- package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +65 -0
- package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js +0 -40
- package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +18 -4
- package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
- package/packages/database/index.js +1 -0
- package/packages/database/index.js.map +1 -1
- package/packages/database/src/lib/kysely/db.js +5 -0
- package/packages/database/src/lib/kysely/db.js.map +1 -1
- package/packages/database/src/lib/kysely/tables/editorScenariosTable.js +51 -0
- package/packages/database/src/lib/kysely/tables/editorScenariosTable.js.map +1 -0
- package/packages/database/src/lib/loadCommits.js +23 -13
- package/packages/database/src/lib/loadCommits.js.map +1 -1
- package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js +1 -4
- package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
- package/packages/database/src/lib/updateCommitMetadata.js +100 -89
- package/packages/database/src/lib/updateCommitMetadata.js.map +1 -1
- package/packages/database/src/lib/updateFreshAnalysisStatus.js +41 -30
- package/packages/database/src/lib/updateFreshAnalysisStatus.js.map +1 -1
- package/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.js +68 -57
- package/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -1
- package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +29 -1
- package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -1
- package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +33 -5
- package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
- package/packages/utils/src/lib/fs/rsyncCopy.js +6 -2
- package/packages/utils/src/lib/fs/rsyncCopy.js.map +1 -1
- package/scripts/npm-post-install.cjs +34 -0
- package/codeyam-cli/src/commands/detect-universal-mocks.js +0 -120
- package/codeyam-cli/src/commands/detect-universal-mocks.js.map +0 -1
- package/codeyam-cli/src/commands/list.js +0 -31
- package/codeyam-cli/src/commands/list.js.map +0 -1
- package/codeyam-cli/src/commands/webapp-info.js +0 -146
- package/codeyam-cli/src/commands/webapp-info.js.map +0 -1
- package/codeyam-cli/src/utils/universal-mocks.js +0 -152
- package/codeyam-cli/src/utils/universal-mocks.js.map +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-EhOseatT.js +0 -34
- package/codeyam-cli/src/webserver/build/client/assets/agent-transcripts-DHKuQSmR.js +0 -17
- package/codeyam-cli/src/webserver/build/client/assets/dev.empty-JTAjQ54M.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-DjLxr2JB.js +0 -6
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-CtYowLOt.js +0 -6
- package/codeyam-cli/src/webserver/build/client/assets/git-BdHOxVfg.js +0 -15
- package/codeyam-cli/src/webserver/build/client/assets/globals-CCgBKWy4.css +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/labs-BK0C1H1T.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/manifest-390cb8fa.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/memory-CzZySbBE.js +0 -78
- package/codeyam-cli/src/webserver/build/client/assets/root-DnbDhvTU.js +0 -62
- package/codeyam-cli/src/webserver/build/client/assets/settings-CclxrcPK.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-BqgrAzs3.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-DAFqfEDH.js +0 -2
- package/codeyam-cli/src/webserver/build/server/assets/index-CXfuiwt3.js +0 -1
- package/codeyam-cli/src/webserver/build/server/assets/server-build-BSvme_Ao.js +0 -259
- package/codeyam-cli/templates/codeyam-stop-hook.sh +0 -284
- package/scripts/finalize-analyzer.cjs +0 -13
- /package/codeyam-cli/templates/{codeyam-diagnose.md → commands/codeyam-diagnose.md} +0 -0
- /package/codeyam-cli/templates/{codeyam-debug.md → skills/codeyam-debug/SKILL.md} +0 -0
- /package/codeyam-cli/templates/{codeyam-setup.md → skills/codeyam-setup/SKILL.md} +0 -0
- /package/codeyam-cli/templates/{codeyam-sim.md → skills/codeyam-sim/SKILL.md} +0 -0
- /package/codeyam-cli/templates/{codeyam-test.md → skills/codeyam-test/SKILL.md} +0 -0
- /package/codeyam-cli/templates/{codeyam-verify.md → skills/codeyam-verify/SKILL.md} +0 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import{d as P,r as t,j as y}from"./chunk-JZWAC4HX-C4pqxYJB.js";import{u as _}from"./useLastLogLine-C14nCb1q.js";function R(s){const o=s.replace(/[^a-zA-Z0-9_]+/g,"_");return o.slice(0,1).toUpperCase()+o.slice(1)}function $({analysisId:s,scenarioId:o,scenarioName:i,entityName:c,projectSlug:m,enabled:x=!0,refreshTrigger:p=0}){const k=P(),[b,E]=t.useState(null),[q,U]=t.useState(!1),[z,u]=t.useState(!1),[A,f]=t.useState(!1),v=t.useRef(!1),I=t.useRef(null),g=t.useRef(null),h=t.useRef(null),[F,w]=t.useState(0),[j,M]=t.useState(0),r=t.useRef(null),l=t.useRef(!1),{interactiveUrl:L,resetLogs:T}=_(m,x),C=t.useRef(o),B=t.useRef(p);t.useEffect(()=>{B.current!==p&&(B.current=p,b&&(console.log("[useInteractiveMode] Manual refresh triggered"),u(!0),f(!1),w(0),M(e=>e+1),l.current=!1,r.current&&(clearTimeout(r.current),r.current=null)))},[p,b]),t.useEffect(()=>{if(C.current!==o&&(C.current=o,I.current&&g.current&&i)){let e=I.current;if(h.current&&c){const a=R(h.current),d=R(c);a!==d&&(e=e.replace(a,d),h.current=c)}const n=R(g.current),S=R(i);e=e.replace(n,S),g.current=i,E(e),u(!0),f(!1),w(0),M(a=>a+1),l.current=!1,r.current&&(clearTimeout(r.current),r.current=null);return}},[o,i,c]),t.useEffect(()=>{if(L){const e=L+"?width=600px";I.current=e,i&&(g.current=i),c&&(h.current=c),E(e),U(!1),u(!0)}},[L]),t.useEffect(()=>{const e=n=>{n.data.type==="codeyam-resize"&&(l.current||(l.current=!0,r.current&&(clearTimeout(r.current),r.current=null),w(0),f(!0),requestAnimationFrame(()=>{requestAnimationFrame(()=>{u(!1)})})))};return window.addEventListener("message",e),()=>window.removeEventListener("message",e)},[]);const D=()=>{l.current=!1,r.current&&clearTimeout(r.current);const e=300*Math.pow(2,F);r.current=setTimeout(()=>{l.current||(F<2?(w(n=>n+1),M(n=>n+1),u(!0)):(console.error("[useInteractiveMode] Interactive mode failed to load after 3 attempts - showing iframe anyway"),f(!0),u(!1)))},e)};return t.useEffect(()=>{x&&!v.current&&o&&s&&(v.current=!0,U(!0),f(!1),E(null),(async()=>{if(m)try{await fetch(`/api/logs/${m}`,{method:"DELETE"})}catch(n){console.error("[useInteractiveMode] Failed to clear log file:",n)}T(),k.submit({action:"start",analysisId:s,scenarioId:o},{method:"post",action:"/api/interactive-mode"})})())},[x,o,s,T,m]),t.useEffect(()=>{const e=s,n=()=>{if(v.current&&e){const a=new URLSearchParams({action:"stop",analysisId:e});console.log("[useInteractiveMode] Sending stop request via sendBeacon");const d=navigator.sendBeacon("/api/interactive-mode",a);console.log("[useInteractiveMode] sendBeacon result:",d),d||(console.log("[useInteractiveMode] sendBeacon failed, using fetch fallback"),fetch("/api/interactive-mode",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:a,keepalive:!0}).catch(K=>console.error("Failed to stop interactive mode:",K)))}},S=()=>{n()};return window.addEventListener("beforeunload",S),()=>{window.removeEventListener("beforeunload",S),console.log("[useInteractiveMode] Cleanup running:",{hasStarted:v.current,analysisId:e}),n()}},[s]),{interactiveServerUrl:b,isStarting:q,isLoading:z,showIframe:A,iframeKey:j,onIframeLoad:D}}function G(){return y.jsxs("div",{className:"spinner-container",children:[y.jsx("span",{className:"loader"}),y.jsx("style",{children:`
|
|
2
|
+
.loader {
|
|
3
|
+
width: 48px;
|
|
4
|
+
height: 48px;
|
|
5
|
+
border: 3px solid rgba(0, 92, 117, 0.2);
|
|
6
|
+
border-radius: 50%;
|
|
7
|
+
display: inline-block;
|
|
8
|
+
position: relative;
|
|
9
|
+
box-sizing: border-box;
|
|
10
|
+
animation: rotation 1s linear infinite;
|
|
11
|
+
}
|
|
12
|
+
.loader::after {
|
|
13
|
+
content: '';
|
|
14
|
+
box-sizing: border-box;
|
|
15
|
+
position: absolute;
|
|
16
|
+
left: 50%;
|
|
17
|
+
top: 50%;
|
|
18
|
+
transform: translate(-50%, -50%);
|
|
19
|
+
width: 56px;
|
|
20
|
+
height: 56px;
|
|
21
|
+
border-radius: 50%;
|
|
22
|
+
border: 3px solid;
|
|
23
|
+
border-color: #005c75 transparent;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
@keyframes rotation {
|
|
27
|
+
0% {
|
|
28
|
+
transform: rotate(0deg);
|
|
29
|
+
}
|
|
30
|
+
100% {
|
|
31
|
+
transform: rotate(360deg);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
`})]})}export{G as S,$ as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as v}from"./chunk-JZWAC4HX-
|
|
1
|
+
import{j as v}from"./chunk-JZWAC4HX-C4pqxYJB.js";function O({filePath:n,maxLength:x=60,className:f,style:u}){const o=((t,r)=>{if(t.length<=r)return t;const a="...",c=r-a.length,i=Math.ceil(c*.4),d=Math.floor(c*.6),e=t.slice(0,i),s=t.slice(-d),h=e.lastIndexOf("/"),l=s.indexOf("/"),g=h>i*.5?e.slice(0,h+1):e,m=l!==-1&&l<d*.5?s.slice(l):s;return`${g}${a}${m}`})(n,x),p=o!==n;return v.jsx("span",{className:f||"font-normal text-gray-900 text-[14px] select-text cursor-text",style:{...u,display:"inline-block",maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:p?n:void 0,children:o})}export{O as T};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as u,j as n}from"./chunk-JZWAC4HX-C4pqxYJB.js";const g=10,W=1024;function G({currentViewportWidth:m,currentPresetName:P,onDevicePresetClick:w,devicePresets:p,onHoverChange:c,hideLabel:E=!1,lightMode:d=!1}){const[l,v]=u.useState(null),x=u.useRef(null),j=u.useMemo(()=>[...p].sort((t,s)=>t.width-s.width),[p]),{fittingPresets:o,overflowPresets:i}=u.useMemo(()=>{const t=[],s=[];for(const e of j)e.width<=W?t.push(e):s.push(e);return s.sort((e,r)=>r.width-e.width),{fittingPresets:t,overflowPresets:s}},[j]),b=u.useCallback(t=>{if(!x.current)return null;const s=x.current.getBoundingClientRect(),e=t-s.left,r=s.width,h=r/2,y=(o.length>0?o[o.length-1].width:0)/2,S=h-y,X=h+y,$=i.length>0?(i.length-1)*g:0;if(i.length>0){if(e<S){if(e<=$){const a=Math.min(Math.floor(e/g),i.length-1);return i[a]}return i[i.length-1]}if(e>X){const a=r-e;if(a<=$){const f=Math.min(Math.floor(a/g),i.length-1);return i[f]}return i[i.length-1]}}const k=Math.abs(e-h);for(let a=o.length-1;a>=0;a--){const f=o[a],F=o[a-1],B=f.width/2,T=F?F.width/2:0;if(k<=B&&k>=T)return f}return o[0]||i[i.length-1]||null},[o,i]),I=u.useCallback(t=>{const s=b(t.clientX);v(s),c==null||c(s)},[b,c]),M=u.useCallback(()=>{v(null),c==null||c(null)},[c]),R=u.useCallback(t=>{const s=b(t.clientX);s&&w(s)},[b,w]),N=l||{name:P,width:m};return n.jsxs("div",{ref:x,className:"relative h-6 shrink-0 overflow-hidden cursor-pointer",onMouseMove:I,onMouseLeave:M,onClick:R,children:[l&&n.jsx("div",{className:"absolute inset-0 flex items-center justify-center pointer-events-none",children:n.jsx("div",{className:"h-full transition-all duration-100 bg-[#005C75]",style:{width:`${l.width}px`}})}),n.jsx("div",{className:"absolute inset-0 pointer-events-none",children:o.map(t=>{const s=t.width===m,e=(l==null?void 0:l.name)===t.name,r=t.width/2;return n.jsxs("div",{children:[n.jsx("div",{className:"absolute top-0 bottom-0",style:{left:`calc(50% - ${r}px)`},children:n.jsx("div",{className:`w-0.5 h-full transition-colors duration-75 ${s||e?d?"bg-gray-900":"bg-white":d?"bg-[rgba(0,0,0,0.2)]":"bg-[rgba(255,255,255,0.3)]"}`})}),n.jsx("div",{className:"absolute top-0 bottom-0",style:{left:`calc(50% + ${r}px)`},children:n.jsx("div",{className:`w-0.5 h-full transition-colors duration-75 ${s||e?d?"bg-gray-900":"bg-white":d?"bg-[rgba(0,0,0,0.2)]":"bg-[rgba(255,255,255,0.3)]"}`})})]},t.name)})}),n.jsx("div",{className:"absolute inset-0 pointer-events-none",children:i.map((t,s)=>{const e=s*g,r=t.width===m,h=(l==null?void 0:l.name)===t.name;return n.jsxs("div",{children:[n.jsx("div",{className:"absolute top-0 bottom-0",style:{left:`${e}px`},children:n.jsx("div",{className:`w-0.5 h-full transition-colors duration-75 ${r||h?d?"bg-gray-900":"bg-white":d?"bg-[rgba(0,0,0,0.2)]":"bg-[rgba(255,255,255,0.3)]"}`})}),n.jsx("div",{className:"absolute top-0 bottom-0",style:{right:`${e}px`},children:n.jsx("div",{className:`w-0.5 h-full transition-colors duration-75 ${r||h?d?"bg-gray-900":"bg-white":d?"bg-[rgba(0,0,0,0.2)]":"bg-[rgba(255,255,255,0.3)]"}`})})]},t.name)})}),!E&&n.jsx("div",{className:"absolute inset-0 flex items-center justify-center pointer-events-none",children:n.jsxs("div",{className:`text-[10px] px-2 py-0.5 rounded shadow-sm whitespace-nowrap transition-colors ${l?"bg-[#005c75] text-white":"bg-white/90 text-[#005c75] border border-[rgba(0,92,117,0.25)]"}`,children:[N.name," - ",N.width,"px"]})})]})}export{G as V};
|
package/codeyam-cli/src/webserver/build/client/assets/{_index-BRx8ZGZo.js → _index-C96V0n15.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as u,j as e,L as p,w as se,u as te,
|
|
1
|
+
import{r as u,j as e,L as p,w as se,u as te,d as ae,f as re}from"./chunk-JZWAC4HX-C4pqxYJB.js";import{u as ne}from"./useLastLogLine-C14nCb1q.js";import{u as le}from"./useToast-9FIWuYfK.js";import{u as oe}from"./useReportContext-O-jkvSPx.js";import{L as ie}from"./LogViewer-ceAyBX-H.js";import{I as E,C as P,E as ce}from"./EntityTypeIcon-CobE682z.js";import{S as Y}from"./SafeScreenshot-BED4B6sP.js";import{g as de}from"./scenarioStatus-B_8jpV3e.js";import{c as q}from"./createLucideIcon-CMT1jU2q.js";import{C as xe}from"./circle-check-DyIKORY6.js";import{L as S}from"./loader-circle-BAXYRVEO.js";/**
|
|
2
2
|
* @license lucide-react v0.556.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as e,w as se,u as te,
|
|
1
|
+
import{j as e,w as se,u as te,k as re,r as f,L as b,f as R}from"./chunk-JZWAC4HX-C4pqxYJB.js";import{L as oe}from"./LogViewer-ceAyBX-H.js";import{u as ie}from"./useLastLogLine-C14nCb1q.js";import{u as le}from"./useReportContext-O-jkvSPx.js";import{E as q}from"./EntityTypeIcon-CobE682z.js";import{E as ee}from"./EntityTypeBadge-g3saevPb.js";import{S as Z}from"./SafeScreenshot-BED4B6sP.js";import{L as ae}from"./LoadingDots-BU_OAEMP.js";import{L as ne}from"./loader-circle-BAXYRVEO.js";import{P as ce,F as de}from"./pause-DTAcYxBt.js";import{c as X}from"./createLucideIcon-CMT1jU2q.js";/**
|
|
2
2
|
* @license lucide-react v0.556.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function De(se,ge){for(var te=0;te<ge.length;te++){const J=ge[te];if(typeof J!="string"&&!Array.isArray(J)){for(const N in J)if(N!=="default"&&!(N in se)){const ie=Object.getOwnPropertyDescriptor(J,N);ie&&Object.defineProperty(se,N,ie.get?ie:{enumerable:!0,get:()=>J[N]})}}}return Object.freeze(Object.defineProperty(se,Symbol.toStringTag,{value:"Module"}))}var Ce={exports:{}},be;function Te(){return be||(be=1,(function(se,ge){(function(te,J){se.exports=J()})(self,(()=>(()=>{var te={903:(k,e,h)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.BaseRenderLayer=void 0;const d=h(274),o=h(627),r=h(237),l=h(860),p=h(374),C=h(296),i=h(345),t=h(859),f=h(399),_=h(855);class n extends t.Disposable{get canvas(){return this._canvas}get cacheCanvas(){var s;return(s=this._charAtlas)==null?void 0:s.pages[0].canvas}constructor(s,c,g,a,x,w,m,L,b,y){super(),this._terminal=s,this._container=c,this._alpha=x,this._themeService=w,this._bufferService=m,this._optionsService=L,this._decorationService=b,this._coreBrowserService=y,this._deviceCharWidth=0,this._deviceCharHeight=0,this._deviceCellWidth=0,this._deviceCellHeight=0,this._deviceCharLeft=0,this._deviceCharTop=0,this._selectionModel=(0,C.createSelectionRenderModel)(),this._bitmapGenerator=[],this._charAtlasDisposable=this.register(new t.MutableDisposable),this._onAddTextureAtlasCanvas=this.register(new i.EventEmitter),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._cellColorResolver=new d.CellColorResolver(this._terminal,this._optionsService,this._selectionModel,this._decorationService,this._coreBrowserService,this._themeService),this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add(`xterm-${g}-layer`),this._canvas.style.zIndex=a.toString(),this._initCanvas(),this._container.appendChild(this._canvas),this._refreshCharAtlas(this._themeService.colors),this.register(this._themeService.onChangeColors((D=>{this._refreshCharAtlas(D),this.reset(),this.handleSelectionChanged(this._selectionModel.selectionStart,this._selectionModel.selectionEnd,this._selectionModel.columnSelectMode)}))),this.register((0,t.toDisposable)((()=>{this._canvas.remove()})))}_initCanvas(){this._ctx=(0,p.throwIfFalsy)(this._canvas.getContext("2d",{alpha:this._alpha})),this._alpha||this._clearAll()}handleBlur(){}handleFocus(){}handleCursorMove(){}handleGridChanged(s,c){}handleSelectionChanged(s,c,g=!1){this._selectionModel.update(this._terminal._core,s,c,g)}_setTransparency(s){if(s===this._alpha)return;const c=this._canvas;this._alpha=s,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,c),this._refreshCharAtlas(this._themeService.colors),this.handleGridChanged(0,this._bufferService.rows-1)}_refreshCharAtlas(s){if(!(this._deviceCharWidth<=0&&this._deviceCharHeight<=0)){this._charAtlas=(0,o.acquireTextureAtlas)(this._terminal,this._optionsService.rawOptions,s,this._deviceCellWidth,this._deviceCellHeight,this._deviceCharWidth,this._deviceCharHeight,this._coreBrowserService.dpr),this._charAtlasDisposable.value=(0,i.forwardEvent)(this._charAtlas.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas),this._charAtlas.warmUp();for(let c=0;c<this._charAtlas.pages.length;c++)this._bitmapGenerator[c]=new v(this._charAtlas.pages[c].canvas)}}resize(s){this._deviceCellWidth=s.device.cell.width,this._deviceCellHeight=s.device.cell.height,this._deviceCharWidth=s.device.char.width,this._deviceCharHeight=s.device.char.height,this._deviceCharLeft=s.device.char.left,this._deviceCharTop=s.device.char.top,this._canvas.width=s.device.canvas.width,this._canvas.height=s.device.canvas.height,this._canvas.style.width=`${s.css.canvas.width}px`,this._canvas.style.height=`${s.css.canvas.height}px`,this._alpha||this._clearAll(),this._refreshCharAtlas(this._themeService.colors)}clearTextureAtlas(){var s;(s=this._charAtlas)==null||s.clearTexture()}_fillCells(s,c,g,a){this._ctx.fillRect(s*this._deviceCellWidth,c*this._deviceCellHeight,g*this._deviceCellWidth,a*this._deviceCellHeight)}_fillMiddleLineAtCells(s,c,g=1){const a=Math.ceil(.5*this._deviceCellHeight);this._ctx.fillRect(s*this._deviceCellWidth,(c+1)*this._deviceCellHeight-a-this._coreBrowserService.dpr,g*this._deviceCellWidth,this._coreBrowserService.dpr)}_fillBottomLineAtCells(s,c,g=1,a=0){this._ctx.fillRect(s*this._deviceCellWidth,(c+1)*this._deviceCellHeight+a-this._coreBrowserService.dpr-1,g*this._deviceCellWidth,this._coreBrowserService.dpr)}_curlyUnderlineAtCell(s,c,g=1){this._ctx.save(),this._ctx.beginPath(),this._ctx.strokeStyle=this._ctx.fillStyle;const a=this._coreBrowserService.dpr;this._ctx.lineWidth=a;for(let x=0;x<g;x++){const w=(s+x)*this._deviceCellWidth,m=(s+x+.5)*this._deviceCellWidth,L=(s+x+1)*this._deviceCellWidth,b=(c+1)*this._deviceCellHeight-a-1,y=b-a,D=b+a;this._ctx.moveTo(w,b),this._ctx.bezierCurveTo(w,y,m,y,m,b),this._ctx.bezierCurveTo(m,D,L,D,L,b)}this._ctx.stroke(),this._ctx.restore()}_dottedUnderlineAtCell(s,c,g=1){this._ctx.save(),this._ctx.beginPath(),this._ctx.strokeStyle=this._ctx.fillStyle;const a=this._coreBrowserService.dpr;this._ctx.lineWidth=a,this._ctx.setLineDash([2*a,a]);const x=s*this._deviceCellWidth,w=(c+1)*this._deviceCellHeight-a-1;this._ctx.moveTo(x,w);for(let m=0;m<g;m++){const L=(s+g+m)*this._deviceCellWidth;this._ctx.lineTo(L,w)}this._ctx.stroke(),this._ctx.closePath(),this._ctx.restore()}_dashedUnderlineAtCell(s,c,g=1){this._ctx.save(),this._ctx.beginPath(),this._ctx.strokeStyle=this._ctx.fillStyle;const a=this._coreBrowserService.dpr;this._ctx.lineWidth=a,this._ctx.setLineDash([4*a,3*a]);const x=s*this._deviceCellWidth,w=(s+g)*this._deviceCellWidth,m=(c+1)*this._deviceCellHeight-a-1;this._ctx.moveTo(x,m),this._ctx.lineTo(w,m),this._ctx.stroke(),this._ctx.closePath(),this._ctx.restore()}_fillLeftLineAtCell(s,c,g){this._ctx.fillRect(s*this._deviceCellWidth,c*this._deviceCellHeight,this._coreBrowserService.dpr*g,this._deviceCellHeight)}_strokeRectAtCell(s,c,g,a){const x=this._coreBrowserService.dpr;this._ctx.lineWidth=x,this._ctx.strokeRect(s*this._deviceCellWidth+x/2,c*this._deviceCellHeight+x/2,g*this._deviceCellWidth-x,a*this._deviceCellHeight-x)}_clearAll(){this._alpha?this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height):(this._ctx.fillStyle=this._themeService.colors.background.css,this._ctx.fillRect(0,0,this._canvas.width,this._canvas.height))}_clearCells(s,c,g,a){this._alpha?this._ctx.clearRect(s*this._deviceCellWidth,c*this._deviceCellHeight,g*this._deviceCellWidth,a*this._deviceCellHeight):(this._ctx.fillStyle=this._themeService.colors.background.css,this._ctx.fillRect(s*this._deviceCellWidth,c*this._deviceCellHeight,g*this._deviceCellWidth,a*this._deviceCellHeight))}_fillCharTrueColor(s,c,g){this._ctx.font=this._getFont(!1,!1),this._ctx.textBaseline=r.TEXT_BASELINE,this._clipRow(g);let a=!1;this._optionsService.rawOptions.customGlyphs!==!1&&(a=(0,l.tryDrawCustomChar)(this._ctx,s.getChars(),c*this._deviceCellWidth,g*this._deviceCellHeight,this._deviceCellWidth,this._deviceCellHeight,this._optionsService.rawOptions.fontSize,this._coreBrowserService.dpr)),a||this._ctx.fillText(s.getChars(),c*this._deviceCellWidth+this._deviceCharLeft,g*this._deviceCellHeight+this._deviceCharTop+this._deviceCharHeight)}_drawChars(s,c,g){var b,y,D,S;const a=s.getChars(),x=s.getCode(),w=s.getWidth();if(this._cellColorResolver.resolve(s,c,this._bufferService.buffer.ydisp+g,this._deviceCellWidth),!this._charAtlas)return;let m;if(m=a&&a.length>1?this._charAtlas.getRasterizedGlyphCombinedChar(a,this._cellColorResolver.result.bg,this._cellColorResolver.result.fg,this._cellColorResolver.result.ext,!0):this._charAtlas.getRasterizedGlyph(s.getCode()||_.WHITESPACE_CELL_CODE,this._cellColorResolver.result.bg,this._cellColorResolver.result.fg,this._cellColorResolver.result.ext,!0),!m.size.x||!m.size.y)return;this._ctx.save(),this._clipRow(g),this._bitmapGenerator[m.texturePage]&&this._charAtlas.pages[m.texturePage].canvas!==this._bitmapGenerator[m.texturePage].canvas&&((y=(b=this._bitmapGenerator[m.texturePage])==null?void 0:b.bitmap)==null||y.close(),delete this._bitmapGenerator[m.texturePage]),this._charAtlas.pages[m.texturePage].version!==((D=this._bitmapGenerator[m.texturePage])==null?void 0:D.version)&&(this._bitmapGenerator[m.texturePage]||(this._bitmapGenerator[m.texturePage]=new v(this._charAtlas.pages[m.texturePage].canvas)),this._bitmapGenerator[m.texturePage].refresh(),this._bitmapGenerator[m.texturePage].version=this._charAtlas.pages[m.texturePage].version);let L=m.size.x;this._optionsService.rawOptions.rescaleOverlappingGlyphs&&(0,p.allowRescaling)(x,w,m.size.x,this._deviceCellWidth)&&(L=this._deviceCellWidth-1),this._ctx.drawImage(((S=this._bitmapGenerator[m.texturePage])==null?void 0:S.bitmap)||this._charAtlas.pages[m.texturePage].canvas,m.texturePosition.x,m.texturePosition.y,m.size.x,m.size.y,c*this._deviceCellWidth+this._deviceCharLeft-m.offset.x,g*this._deviceCellHeight+this._deviceCharTop-m.offset.y,L,m.size.y),this._ctx.restore()}_clipRow(s){this._ctx.beginPath(),this._ctx.rect(0,s*this._deviceCellHeight,this._bufferService.cols*this._deviceCellWidth,this._deviceCellHeight),this._ctx.clip()}_getFont(s,c){return`${c?"italic":""} ${s?this._optionsService.rawOptions.fontWeightBold:this._optionsService.rawOptions.fontWeight} ${this._optionsService.rawOptions.fontSize*this._coreBrowserService.dpr}px ${this._optionsService.rawOptions.fontFamily}`}}e.BaseRenderLayer=n;class v{get bitmap(){return this._bitmap}constructor(s){this.canvas=s,this._state=0,this._commitTimeout=void 0,this._bitmap=void 0,this.version=-1}refresh(){var s;(s=this._bitmap)==null||s.close(),this._bitmap=void 0,f.isSafari||(this._commitTimeout===void 0&&(this._commitTimeout=window.setTimeout((()=>this._generate()),100)),this._state===1&&(this._state=2))}_generate(){var s;this._state===0&&((s=this._bitmap)==null||s.close(),this._bitmap=void 0,this._state=1,window.createImageBitmap(this.canvas).then((c=>{this._state===2?this.refresh():this._bitmap=c,this._state=0})),this._commitTimeout&&(this._commitTimeout=void 0))}}},949:(k,e,h)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.CanvasRenderer=void 0;const d=h(627),o=h(56),r=h(374),l=h(345),p=h(859),C=h(873),i=h(43),t=h(630),f=h(744);class _ extends p.Disposable{constructor(v,u,s,c,g,a,x,w,m,L,b){super(),this._terminal=v,this._screenElement=u,this._bufferService=c,this._charSizeService=g,this._optionsService=a,this._coreBrowserService=m,this._themeService=b,this._observerDisposable=this.register(new p.MutableDisposable),this._onRequestRedraw=this.register(new l.EventEmitter),this.onRequestRedraw=this._onRequestRedraw.event,this._onChangeTextureAtlas=this.register(new l.EventEmitter),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this.register(new l.EventEmitter),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event;const y=this._optionsService.rawOptions.allowTransparency;this._renderLayers=[new f.TextRenderLayer(this._terminal,this._screenElement,0,y,this._bufferService,this._optionsService,x,L,this._coreBrowserService,b),new t.SelectionRenderLayer(this._terminal,this._screenElement,1,this._bufferService,this._coreBrowserService,L,this._optionsService,b),new i.LinkRenderLayer(this._terminal,this._screenElement,2,s,this._bufferService,this._optionsService,L,this._coreBrowserService,b),new C.CursorRenderLayer(this._terminal,this._screenElement,3,this._onRequestRedraw,this._bufferService,this._optionsService,w,this._coreBrowserService,L,b)];for(const D of this._renderLayers)(0,l.forwardEvent)(D.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas);this.dimensions=(0,r.createRenderDimensions)(),this._devicePixelRatio=this._coreBrowserService.dpr,this._updateDimensions(),this._observerDisposable.value=(0,o.observeDevicePixelDimensions)(this._renderLayers[0].canvas,this._coreBrowserService.window,((D,S)=>this._setCanvasDevicePixelDimensions(D,S))),this.register(this._coreBrowserService.onWindowChange((D=>{this._observerDisposable.value=(0,o.observeDevicePixelDimensions)(this._renderLayers[0].canvas,D,((S,M)=>this._setCanvasDevicePixelDimensions(S,M)))}))),this.register((0,p.toDisposable)((()=>{for(const D of this._renderLayers)D.dispose();(0,d.removeTerminalFromCache)(this._terminal)})))}get textureAtlas(){return this._renderLayers[0].cacheCanvas}handleDevicePixelRatioChange(){this._devicePixelRatio!==this._coreBrowserService.dpr&&(this._devicePixelRatio=this._coreBrowserService.dpr,this.handleResize(this._bufferService.cols,this._bufferService.rows))}handleResize(v,u){this._updateDimensions();for(const s of this._renderLayers)s.resize(this.dimensions);this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}handleCharSizeChanged(){this.handleResize(this._bufferService.cols,this._bufferService.rows)}handleBlur(){this._runOperation((v=>v.handleBlur()))}handleFocus(){this._runOperation((v=>v.handleFocus()))}handleSelectionChanged(v,u,s=!1){this._runOperation((c=>c.handleSelectionChanged(v,u,s))),this._themeService.colors.selectionForeground&&this._onRequestRedraw.fire({start:0,end:this._bufferService.rows-1})}handleCursorMove(){this._runOperation((v=>v.handleCursorMove()))}clear(){this._runOperation((v=>v.reset()))}_runOperation(v){for(const u of this._renderLayers)v(u)}renderRows(v,u){for(const s of this._renderLayers)s.handleGridChanged(v,u)}clearTextureAtlas(){for(const v of this._renderLayers)v.clearTextureAtlas()}_updateDimensions(){if(!this._charSizeService.hasValidSize)return;const v=this._coreBrowserService.dpr;this.dimensions.device.char.width=Math.floor(this._charSizeService.width*v),this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*v),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.top=this._optionsService.rawOptions.lineHeight===1?0:Math.round((this.dimensions.device.cell.height-this.dimensions.device.char.height)/2),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.char.left=Math.floor(this._optionsService.rawOptions.letterSpacing/2),this.dimensions.device.canvas.height=this._bufferService.rows*this.dimensions.device.cell.height,this.dimensions.device.canvas.width=this._bufferService.cols*this.dimensions.device.cell.width,this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/v),this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/v),this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows,this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols}_setCanvasDevicePixelDimensions(v,u){this.dimensions.device.canvas.height=u,this.dimensions.device.canvas.width=v;for(const s of this._renderLayers)s.resize(this.dimensions);this._requestRedrawViewport()}_requestRedrawViewport(){this._onRequestRedraw.fire({start:0,end:this._bufferService.rows-1})}}e.CanvasRenderer=_},873:(k,e,h)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.CursorRenderLayer=void 0;const d=h(457),o=h(859),r=h(399),l=h(782),p=h(903);class C extends p.BaseRenderLayer{constructor(t,f,_,n,v,u,s,c,g,a){super(t,f,"cursor",_,!0,a,v,u,g,c),this._onRequestRedraw=n,this._coreService=s,this._cursorBlinkStateManager=this.register(new o.MutableDisposable),this._cell=new l.CellData,this._state={x:0,y:0,isFocused:!1,style:"",width:0},this._cursorRenderers={bar:this._renderBarCursor.bind(this),block:this._renderBlockCursor.bind(this),underline:this._renderUnderlineCursor.bind(this),outline:this._renderOutlineCursor.bind(this)},this.register(u.onOptionChange((()=>this._handleOptionsChanged()))),this._handleOptionsChanged()}resize(t){super.resize(t),this._state={x:0,y:0,isFocused:!1,style:"",width:0}}reset(){var t;this._clearCursor(),(t=this._cursorBlinkStateManager.value)==null||t.restartBlinkAnimation(),this._handleOptionsChanged()}handleBlur(){var t;(t=this._cursorBlinkStateManager.value)==null||t.pause(),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})}handleFocus(){var t;(t=this._cursorBlinkStateManager.value)==null||t.resume(),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})}_handleOptionsChanged(){this._optionsService.rawOptions.cursorBlink?this._cursorBlinkStateManager.value||(this._cursorBlinkStateManager.value=new d.CursorBlinkStateManager((()=>this._render(!0)),this._coreBrowserService)):this._cursorBlinkStateManager.clear(),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})}handleCursorMove(){var t;(t=this._cursorBlinkStateManager.value)==null||t.restartBlinkAnimation()}handleGridChanged(t,f){!this._cursorBlinkStateManager.value||this._cursorBlinkStateManager.value.isPaused?this._render(!1):this._cursorBlinkStateManager.value.restartBlinkAnimation()}_render(t){if(!this._coreService.isCursorInitialized||this._coreService.isCursorHidden)return void this._clearCursor();const f=this._bufferService.buffer.ybase+this._bufferService.buffer.y,_=f-this._bufferService.buffer.ydisp;if(_<0||_>=this._bufferService.rows)return void this._clearCursor();const n=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1);if(this._bufferService.buffer.lines.get(f).loadCell(n,this._cell),this._cell.content!==void 0){if(!this._coreBrowserService.isFocused){this._clearCursor(),this._ctx.save(),this._ctx.fillStyle=this._themeService.colors.cursor.css;const v=this._optionsService.rawOptions.cursorStyle,u=this._optionsService.rawOptions.cursorInactiveStyle;return u&&u!=="none"&&this._cursorRenderers[u](n,_,this._cell),this._ctx.restore(),this._state.x=n,this._state.y=_,this._state.isFocused=!1,this._state.style=v,void(this._state.width=this._cell.getWidth())}if(!this._cursorBlinkStateManager.value||this._cursorBlinkStateManager.value.isCursorVisible){if(this._state){if(this._state.x===n&&this._state.y===_&&this._state.isFocused===this._coreBrowserService.isFocused&&this._state.style===this._optionsService.rawOptions.cursorStyle&&this._state.width===this._cell.getWidth())return;this._clearCursor()}this._ctx.save(),this._cursorRenderers[this._optionsService.rawOptions.cursorStyle||"block"](n,_,this._cell),this._ctx.restore(),this._state.x=n,this._state.y=_,this._state.isFocused=!1,this._state.style=this._optionsService.rawOptions.cursorStyle,this._state.width=this._cell.getWidth()}else this._clearCursor()}}_clearCursor(){this._state&&(r.isFirefox||this._coreBrowserService.dpr<1?this._clearAll():this._clearCells(this._state.x,this._state.y,this._state.width,1),this._state={x:0,y:0,isFocused:!1,style:"",width:0})}_renderBarCursor(t,f,_){this._ctx.save(),this._ctx.fillStyle=this._themeService.colors.cursor.css,this._fillLeftLineAtCell(t,f,this._optionsService.rawOptions.cursorWidth),this._ctx.restore()}_renderBlockCursor(t,f,_){this._ctx.save(),this._ctx.fillStyle=this._themeService.colors.cursor.css,this._fillCells(t,f,_.getWidth(),1),this._ctx.fillStyle=this._themeService.colors.cursorAccent.css,this._fillCharTrueColor(_,t,f),this._ctx.restore()}_renderUnderlineCursor(t,f,_){this._ctx.save(),this._ctx.fillStyle=this._themeService.colors.cursor.css,this._fillBottomLineAtCells(t,f),this._ctx.restore()}_renderOutlineCursor(t,f,_){this._ctx.save(),this._ctx.strokeStyle=this._themeService.colors.cursor.css,this._strokeRectAtCell(t,f,_.getWidth(),1),this._ctx.restore()}}e.CursorRenderLayer=C},574:(k,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.GridCache=void 0,e.GridCache=class{constructor(){this.cache=[]}resize(h,d){for(let o=0;o<h;o++){this.cache.length<=o&&this.cache.push([]);for(let r=this.cache[o].length;r<d;r++)this.cache[o].push(void 0);this.cache[o].length=d}this.cache.length=h}clear(){for(let h=0;h<this.cache.length;h++)for(let d=0;d<this.cache[h].length;d++)this.cache[h][d]=void 0}}},43:(k,e,h)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.LinkRenderLayer=void 0;const d=h(197),o=h(237),r=h(903);class l extends r.BaseRenderLayer{constructor(C,i,t,f,_,n,v,u,s){super(C,i,"link",t,!0,s,_,n,v,u),this.register(f.onShowLinkUnderline((c=>this._handleShowLinkUnderline(c)))),this.register(f.onHideLinkUnderline((c=>this._handleHideLinkUnderline(c))))}resize(C){super.resize(C),this._state=void 0}reset(){this._clearCurrentLink()}_clearCurrentLink(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);const C=this._state.y2-this._state.y1-1;C>0&&this._clearCells(0,this._state.y1+1,this._state.cols,C),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}}_handleShowLinkUnderline(C){if(C.fg===o.INVERTED_DEFAULT_COLOR?this._ctx.fillStyle=this._themeService.colors.background.css:C.fg&&(0,d.is256Color)(C.fg)?this._ctx.fillStyle=this._themeService.colors.ansi[C.fg].css:this._ctx.fillStyle=this._themeService.colors.foreground.css,C.y1===C.y2)this._fillBottomLineAtCells(C.x1,C.y1,C.x2-C.x1);else{this._fillBottomLineAtCells(C.x1,C.y1,C.cols-C.x1);for(let i=C.y1+1;i<C.y2;i++)this._fillBottomLineAtCells(0,i,C.cols);this._fillBottomLineAtCells(0,C.y2,C.x2)}this._state=C}_handleHideLinkUnderline(C){this._clearCurrentLink()}}e.LinkRenderLayer=l},630:(k,e,h)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SelectionRenderLayer=void 0;const d=h(903);class o extends d.BaseRenderLayer{constructor(l,p,C,i,t,f,_,n){super(l,p,"selection",C,!0,n,i,_,f,t),this._clearState()}_clearState(){this._state={start:void 0,end:void 0,columnSelectMode:void 0,ydisp:void 0}}resize(l){super.resize(l),this._selectionModel.selectionStart&&this._selectionModel.selectionEnd&&(this._clearState(),this._redrawSelection(this._selectionModel.selectionStart,this._selectionModel.selectionEnd,this._selectionModel.columnSelectMode))}reset(){this._state.start&&this._state.end&&(this._clearState(),this._clearAll())}handleBlur(){this.reset(),this._redrawSelection(this._selectionModel.selectionStart,this._selectionModel.selectionEnd,this._selectionModel.columnSelectMode)}handleFocus(){this.reset(),this._redrawSelection(this._selectionModel.selectionStart,this._selectionModel.selectionEnd,this._selectionModel.columnSelectMode)}handleSelectionChanged(l,p,C){super.handleSelectionChanged(l,p,C),this._redrawSelection(l,p,C)}_redrawSelection(l,p,C){if(!this._didStateChange(l,p,C,this._bufferService.buffer.ydisp))return;if(this._clearAll(),!l||!p)return void this._clearState();const i=l[1]-this._bufferService.buffer.ydisp,t=p[1]-this._bufferService.buffer.ydisp,f=Math.max(i,0),_=Math.min(t,this._bufferService.rows-1);if(f>=this._bufferService.rows||_<0)this._state.ydisp=this._bufferService.buffer.ydisp;else{if(this._ctx.fillStyle=(this._coreBrowserService.isFocused?this._themeService.colors.selectionBackgroundTransparent:this._themeService.colors.selectionInactiveBackgroundTransparent).css,C){const n=l[0],v=p[0]-n,u=_-f+1;this._fillCells(n,f,v,u)}else{const n=i===f?l[0]:0,v=f===t?p[0]:this._bufferService.cols;this._fillCells(n,f,v-n,1);const u=Math.max(_-f-1,0);if(this._fillCells(0,f+1,this._bufferService.cols,u),f!==_){const s=t===_?p[0]:this._bufferService.cols;this._fillCells(0,_,s,1)}}this._state.start=[l[0],l[1]],this._state.end=[p[0],p[1]],this._state.columnSelectMode=C,this._state.ydisp=this._bufferService.buffer.ydisp}}_didStateChange(l,p,C,i){return!this._areCoordinatesEqual(l,this._state.start)||!this._areCoordinatesEqual(p,this._state.end)||C!==this._state.columnSelectMode||i!==this._state.ydisp}_areCoordinatesEqual(l,p){return!(!l||!p)&&l[0]===p[0]&&l[1]===p[1]}}e.SelectionRenderLayer=o},744:(k,e,h)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TextRenderLayer=void 0;const d=h(577),o=h(147),r=h(782),l=h(855),p=h(903),C=h(574);class i extends p.BaseRenderLayer{constructor(f,_,n,v,u,s,c,g,a,x){super(f,_,"text",n,v,x,u,s,g,a),this._characterJoinerService=c,this._characterWidth=0,this._characterFont="",this._characterOverlapCache={},this._workCell=new r.CellData,this._state=new C.GridCache,this.register(s.onSpecificOptionChange("allowTransparency",(w=>this._setTransparency(w))))}resize(f){super.resize(f);const _=this._getFont(!1,!1);this._characterWidth===f.device.char.width&&this._characterFont===_||(this._characterWidth=f.device.char.width,this._characterFont=_,this._characterOverlapCache={}),this._state.clear(),this._state.resize(this._bufferService.cols,this._bufferService.rows)}reset(){this._state.clear(),this._clearAll()}_forEachCell(f,_,n){for(let v=f;v<=_;v++){const u=v+this._bufferService.buffer.ydisp,s=this._bufferService.buffer.lines.get(u),c=this._characterJoinerService.getJoinedCharacters(u);for(let g=0;g<this._bufferService.cols;g++){s.loadCell(g,this._workCell);let a=this._workCell,x=!1,w=g;if(a.getWidth()!==0){if(c.length>0&&g===c[0][0]){x=!0;const m=c.shift();a=new d.JoinedCellData(this._workCell,s.translateToString(!0,m[0],m[1]),m[1]-m[0]),w=m[1]-1}!x&&this._isOverlapping(a)&&w<s.length-1&&s.getCodePoint(w+1)===l.NULL_CELL_CODE&&(a.content&=-12582913,a.content|=8388608),n(a,g,v),g=w}}}}_drawBackground(f,_){const n=this._ctx,v=this._bufferService.cols;let u=0,s=0,c=null;n.save(),this._forEachCell(f,_,((g,a,x)=>{let w=null;g.isInverse()?w=g.isFgDefault()?this._themeService.colors.foreground.css:g.isFgRGB()?`rgb(${o.AttributeData.toColorRGB(g.getFgColor()).join(",")})`:this._themeService.colors.ansi[g.getFgColor()].css:g.isBgRGB()?w=`rgb(${o.AttributeData.toColorRGB(g.getBgColor()).join(",")})`:g.isBgPalette()&&(w=this._themeService.colors.ansi[g.getBgColor()].css);let m=!1;this._decorationService.forEachDecorationAtCell(a,this._bufferService.buffer.ydisp+x,void 0,(L=>{L.options.layer!=="top"&&m||(L.backgroundColorRGB&&(w=L.backgroundColorRGB.css),m=L.options.layer==="top")})),c===null&&(u=a,s=x),x!==s?(n.fillStyle=c||"",this._fillCells(u,s,v-u,1),u=a,s=x):c!==w&&(n.fillStyle=c||"",this._fillCells(u,s,a-u,1),u=a,s=x),c=w})),c!==null&&(n.fillStyle=c,this._fillCells(u,s,v-u,1)),n.restore()}_drawForeground(f,_){this._forEachCell(f,_,((n,v,u)=>this._drawChars(n,v,u)))}handleGridChanged(f,_){this._state.cache.length!==0&&(this._charAtlas&&this._charAtlas.beginFrame(),this._clearCells(0,f,this._bufferService.cols,_-f+1),this._drawBackground(f,_),this._drawForeground(f,_))}_isOverlapping(f){if(f.getWidth()!==1||f.getCode()<256)return!1;const _=f.getChars();if(this._characterOverlapCache.hasOwnProperty(_))return this._characterOverlapCache[_];this._ctx.save(),this._ctx.font=this._characterFont;const n=Math.floor(this._ctx.measureText(_).width)>this._characterWidth;return this._ctx.restore(),this._characterOverlapCache[_]=n,n}}e.TextRenderLayer=i},274:(k,e,h)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.CellColorResolver=void 0;const d=h(855),o=h(160),r=h(374);let l,p=0,C=0,i=!1,t=!1,f=!1,_=0;e.CellColorResolver=class{constructor(n,v,u,s,c,g){this._terminal=n,this._optionService=v,this._selectionRenderModel=u,this._decorationService=s,this._coreBrowserService=c,this._themeService=g,this.result={fg:0,bg:0,ext:0}}resolve(n,v,u,s){if(this.result.bg=n.bg,this.result.fg=n.fg,this.result.ext=268435456&n.bg?n.extended.ext:0,C=0,p=0,t=!1,i=!1,f=!1,l=this._themeService.colors,_=0,n.getCode()!==d.NULL_CELL_CODE&&n.extended.underlineStyle===4){const c=Math.max(1,Math.floor(this._optionService.rawOptions.fontSize*this._coreBrowserService.dpr/15));_=v*s%(2*Math.round(c))}if(this._decorationService.forEachDecorationAtCell(v,u,"bottom",(c=>{c.backgroundColorRGB&&(C=c.backgroundColorRGB.rgba>>8&16777215,t=!0),c.foregroundColorRGB&&(p=c.foregroundColorRGB.rgba>>8&16777215,i=!0)})),f=this._selectionRenderModel.isCellSelected(this._terminal,v,u),f){if(67108864&this.result.fg||(50331648&this.result.bg)!=0){if(67108864&this.result.fg)switch(50331648&this.result.fg){case 16777216:case 33554432:C=this._themeService.colors.ansi[255&this.result.fg].rgba;break;case 50331648:C=(16777215&this.result.fg)<<8|255;break;default:C=this._themeService.colors.foreground.rgba}else switch(50331648&this.result.bg){case 16777216:case 33554432:C=this._themeService.colors.ansi[255&this.result.bg].rgba;break;case 50331648:C=(16777215&this.result.bg)<<8|255}C=o.rgba.blend(C,4294967040&(this._coreBrowserService.isFocused?l.selectionBackgroundOpaque:l.selectionInactiveBackgroundOpaque).rgba|128)>>8&16777215}else C=(this._coreBrowserService.isFocused?l.selectionBackgroundOpaque:l.selectionInactiveBackgroundOpaque).rgba>>8&16777215;if(t=!0,l.selectionForeground&&(p=l.selectionForeground.rgba>>8&16777215,i=!0),(0,r.treatGlyphAsBackgroundColor)(n.getCode())){if(67108864&this.result.fg&&(50331648&this.result.bg)==0)p=(this._coreBrowserService.isFocused?l.selectionBackgroundOpaque:l.selectionInactiveBackgroundOpaque).rgba>>8&16777215;else{if(67108864&this.result.fg)switch(50331648&this.result.bg){case 16777216:case 33554432:p=this._themeService.colors.ansi[255&this.result.bg].rgba;break;case 50331648:p=(16777215&this.result.bg)<<8|255}else switch(50331648&this.result.fg){case 16777216:case 33554432:p=this._themeService.colors.ansi[255&this.result.fg].rgba;break;case 50331648:p=(16777215&this.result.fg)<<8|255;break;default:p=this._themeService.colors.foreground.rgba}p=o.rgba.blend(p,4294967040&(this._coreBrowserService.isFocused?l.selectionBackgroundOpaque:l.selectionInactiveBackgroundOpaque).rgba|128)>>8&16777215}i=!0}}this._decorationService.forEachDecorationAtCell(v,u,"top",(c=>{c.backgroundColorRGB&&(C=c.backgroundColorRGB.rgba>>8&16777215,t=!0),c.foregroundColorRGB&&(p=c.foregroundColorRGB.rgba>>8&16777215,i=!0)})),t&&(C=f?-16777216&n.bg&-134217729|C|50331648:-16777216&n.bg|C|50331648),i&&(p=-16777216&n.fg&-67108865|p|50331648),67108864&this.result.fg&&(t&&!i&&(p=(50331648&this.result.bg)==0?-134217728&this.result.fg|16777215&l.background.rgba>>8|50331648:-134217728&this.result.fg|67108863&this.result.bg,i=!0),!t&&i&&(C=(50331648&this.result.fg)==0?-67108864&this.result.bg|16777215&l.foreground.rgba>>8|50331648:-67108864&this.result.bg|67108863&this.result.fg,t=!0)),l=void 0,this.result.bg=t?C:this.result.bg,this.result.fg=i?p:this.result.fg,this.result.ext&=536870911,this.result.ext|=_<<29&3758096384}}},627:(k,e,h)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.removeTerminalFromCache=e.acquireTextureAtlas=void 0;const d=h(509),o=h(197),r=[];e.acquireTextureAtlas=function(l,p,C,i,t,f,_,n){const v=(0,o.generateConfig)(i,t,f,_,p,C,n);for(let c=0;c<r.length;c++){const g=r[c],a=g.ownedBy.indexOf(l);if(a>=0){if((0,o.configEquals)(g.config,v))return g.atlas;g.ownedBy.length===1?(g.atlas.dispose(),r.splice(c,1)):g.ownedBy.splice(a,1);break}}for(let c=0;c<r.length;c++){const g=r[c];if((0,o.configEquals)(g.config,v))return g.ownedBy.push(l),g.atlas}const u=l._core,s={atlas:new d.TextureAtlas(document,v,u.unicodeService),config:v,ownedBy:[l]};return r.push(s),s.atlas},e.removeTerminalFromCache=function(l){for(let p=0;p<r.length;p++){const C=r[p].ownedBy.indexOf(l);if(C!==-1){r[p].ownedBy.length===1?(r[p].atlas.dispose(),r.splice(p,1)):r[p].ownedBy.splice(C,1);break}}}},197:(k,e,h)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.is256Color=e.configEquals=e.generateConfig=void 0;const d=h(160);e.generateConfig=function(o,r,l,p,C,i,t){const f={foreground:i.foreground,background:i.background,cursor:d.NULL_COLOR,cursorAccent:d.NULL_COLOR,selectionForeground:d.NULL_COLOR,selectionBackgroundTransparent:d.NULL_COLOR,selectionBackgroundOpaque:d.NULL_COLOR,selectionInactiveBackgroundTransparent:d.NULL_COLOR,selectionInactiveBackgroundOpaque:d.NULL_COLOR,ansi:i.ansi.slice(),contrastCache:i.contrastCache,halfContrastCache:i.halfContrastCache};return{customGlyphs:C.customGlyphs,devicePixelRatio:t,letterSpacing:C.letterSpacing,lineHeight:C.lineHeight,deviceCellWidth:o,deviceCellHeight:r,deviceCharWidth:l,deviceCharHeight:p,fontFamily:C.fontFamily,fontSize:C.fontSize,fontWeight:C.fontWeight,fontWeightBold:C.fontWeightBold,allowTransparency:C.allowTransparency,drawBoldTextInBrightColors:C.drawBoldTextInBrightColors,minimumContrastRatio:C.minimumContrastRatio,colors:f}},e.configEquals=function(o,r){for(let l=0;l<o.colors.ansi.length;l++)if(o.colors.ansi[l].rgba!==r.colors.ansi[l].rgba)return!1;return o.devicePixelRatio===r.devicePixelRatio&&o.customGlyphs===r.customGlyphs&&o.lineHeight===r.lineHeight&&o.letterSpacing===r.letterSpacing&&o.fontFamily===r.fontFamily&&o.fontSize===r.fontSize&&o.fontWeight===r.fontWeight&&o.fontWeightBold===r.fontWeightBold&&o.allowTransparency===r.allowTransparency&&o.deviceCharWidth===r.deviceCharWidth&&o.deviceCharHeight===r.deviceCharHeight&&o.drawBoldTextInBrightColors===r.drawBoldTextInBrightColors&&o.minimumContrastRatio===r.minimumContrastRatio&&o.colors.foreground.rgba===r.colors.foreground.rgba&&o.colors.background.rgba===r.colors.background.rgba},e.is256Color=function(o){return(50331648&o)==16777216||(50331648&o)==33554432}},237:(k,e,h)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TEXT_BASELINE=e.DIM_OPACITY=e.INVERTED_DEFAULT_COLOR=void 0;const d=h(399);e.INVERTED_DEFAULT_COLOR=257,e.DIM_OPACITY=.5,e.TEXT_BASELINE=d.isFirefox||d.isLegacyEdge?"bottom":"ideographic"},457:(k,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.CursorBlinkStateManager=void 0,e.CursorBlinkStateManager=class{constructor(h,d){this._renderCallback=h,this._coreBrowserService=d,this.isCursorVisible=!0,this._coreBrowserService.isFocused&&this._restartInterval()}get isPaused(){return!(this._blinkStartTimeout||this._blinkInterval)}dispose(){this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(this._coreBrowserService.window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}restartBlinkAnimation(){this.isPaused||(this._animationTimeRestarted=Date.now(),this.isCursorVisible=!0,this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>{this._renderCallback(),this._animationFrame=void 0}))))}_restartInterval(h=600){this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout=this._coreBrowserService.window.setTimeout((()=>{if(this._animationTimeRestarted){const d=600-(Date.now()-this._animationTimeRestarted);if(this._animationTimeRestarted=void 0,d>0)return void this._restartInterval(d)}this.isCursorVisible=!1,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>{this._renderCallback(),this._animationFrame=void 0})),this._blinkInterval=this._coreBrowserService.window.setInterval((()=>{if(this._animationTimeRestarted){const d=600-(Date.now()-this._animationTimeRestarted);return this._animationTimeRestarted=void 0,void this._restartInterval(d)}this.isCursorVisible=!this.isCursorVisible,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>{this._renderCallback(),this._animationFrame=void 0}))}),600)}),h)}pause(){this.isCursorVisible=!0,this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(this._coreBrowserService.window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}resume(){this.pause(),this._animationTimeRestarted=void 0,this._restartInterval(),this.restartBlinkAnimation()}}},860:(k,e,h)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.tryDrawCustomChar=e.powerlineDefinitions=e.boxDrawingDefinitions=e.blockElementDefinitions=void 0;const d=h(374);e.blockElementDefinitions={"▀":[{x:0,y:0,w:8,h:4}],"▁":[{x:0,y:7,w:8,h:1}],"▂":[{x:0,y:6,w:8,h:2}],"▃":[{x:0,y:5,w:8,h:3}],"▄":[{x:0,y:4,w:8,h:4}],"▅":[{x:0,y:3,w:8,h:5}],"▆":[{x:0,y:2,w:8,h:6}],"▇":[{x:0,y:1,w:8,h:7}],"█":[{x:0,y:0,w:8,h:8}],"▉":[{x:0,y:0,w:7,h:8}],"▊":[{x:0,y:0,w:6,h:8}],"▋":[{x:0,y:0,w:5,h:8}],"▌":[{x:0,y:0,w:4,h:8}],"▍":[{x:0,y:0,w:3,h:8}],"▎":[{x:0,y:0,w:2,h:8}],"▏":[{x:0,y:0,w:1,h:8}],"▐":[{x:4,y:0,w:4,h:8}],"▔":[{x:0,y:0,w:8,h:1}],"▕":[{x:7,y:0,w:1,h:8}],"▖":[{x:0,y:4,w:4,h:4}],"▗":[{x:4,y:4,w:4,h:4}],"▘":[{x:0,y:0,w:4,h:4}],"▙":[{x:0,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}],"▚":[{x:0,y:0,w:4,h:4},{x:4,y:4,w:4,h:4}],"▛":[{x:0,y:0,w:4,h:8},{x:4,y:0,w:4,h:4}],"▜":[{x:0,y:0,w:8,h:4},{x:4,y:0,w:4,h:8}],"▝":[{x:4,y:0,w:4,h:4}],"▞":[{x:4,y:0,w:4,h:4},{x:0,y:4,w:4,h:4}],"▟":[{x:4,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}],"🭰":[{x:1,y:0,w:1,h:8}],"🭱":[{x:2,y:0,w:1,h:8}],"🭲":[{x:3,y:0,w:1,h:8}],"🭳":[{x:4,y:0,w:1,h:8}],"🭴":[{x:5,y:0,w:1,h:8}],"🭵":[{x:6,y:0,w:1,h:8}],"🭶":[{x:0,y:1,w:8,h:1}],"🭷":[{x:0,y:2,w:8,h:1}],"🭸":[{x:0,y:3,w:8,h:1}],"🭹":[{x:0,y:4,w:8,h:1}],"🭺":[{x:0,y:5,w:8,h:1}],"🭻":[{x:0,y:6,w:8,h:1}],"🭼":[{x:0,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}],"🭽":[{x:0,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}],"🭾":[{x:7,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}],"🭿":[{x:7,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}],"🮀":[{x:0,y:0,w:8,h:1},{x:0,y:7,w:8,h:1}],"🮁":[{x:0,y:0,w:8,h:1},{x:0,y:2,w:8,h:1},{x:0,y:4,w:8,h:1},{x:0,y:7,w:8,h:1}],"🮂":[{x:0,y:0,w:8,h:2}],"🮃":[{x:0,y:0,w:8,h:3}],"🮄":[{x:0,y:0,w:8,h:5}],"🮅":[{x:0,y:0,w:8,h:6}],"🮆":[{x:0,y:0,w:8,h:7}],"🮇":[{x:6,y:0,w:2,h:8}],"🮈":[{x:5,y:0,w:3,h:8}],"🮉":[{x:3,y:0,w:5,h:8}],"🮊":[{x:2,y:0,w:6,h:8}],"🮋":[{x:1,y:0,w:7,h:8}],"🮕":[{x:0,y:0,w:2,h:2},{x:4,y:0,w:2,h:2},{x:2,y:2,w:2,h:2},{x:6,y:2,w:2,h:2},{x:0,y:4,w:2,h:2},{x:4,y:4,w:2,h:2},{x:2,y:6,w:2,h:2},{x:6,y:6,w:2,h:2}],"🮖":[{x:2,y:0,w:2,h:2},{x:6,y:0,w:2,h:2},{x:0,y:2,w:2,h:2},{x:4,y:2,w:2,h:2},{x:2,y:4,w:2,h:2},{x:6,y:4,w:2,h:2},{x:0,y:6,w:2,h:2},{x:4,y:6,w:2,h:2}],"🮗":[{x:0,y:2,w:8,h:2},{x:0,y:6,w:8,h:2}]};const o={"░":[[1,0,0,0],[0,0,0,0],[0,0,1,0],[0,0,0,0]],"▒":[[1,0],[0,0],[0,1],[0,0]],"▓":[[0,1],[1,1],[1,0],[1,1]]};e.boxDrawingDefinitions={"─":{1:"M0,.5 L1,.5"},"━":{3:"M0,.5 L1,.5"},"│":{1:"M.5,0 L.5,1"},"┃":{3:"M.5,0 L.5,1"},"┌":{1:"M0.5,1 L.5,.5 L1,.5"},"┏":{3:"M0.5,1 L.5,.5 L1,.5"},"┐":{1:"M0,.5 L.5,.5 L.5,1"},"┓":{3:"M0,.5 L.5,.5 L.5,1"},"└":{1:"M.5,0 L.5,.5 L1,.5"},"┗":{3:"M.5,0 L.5,.5 L1,.5"},"┘":{1:"M.5,0 L.5,.5 L0,.5"},"┛":{3:"M.5,0 L.5,.5 L0,.5"},"├":{1:"M.5,0 L.5,1 M.5,.5 L1,.5"},"┣":{3:"M.5,0 L.5,1 M.5,.5 L1,.5"},"┤":{1:"M.5,0 L.5,1 M.5,.5 L0,.5"},"┫":{3:"M.5,0 L.5,1 M.5,.5 L0,.5"},"┬":{1:"M0,.5 L1,.5 M.5,.5 L.5,1"},"┳":{3:"M0,.5 L1,.5 M.5,.5 L.5,1"},"┴":{1:"M0,.5 L1,.5 M.5,.5 L.5,0"},"┻":{3:"M0,.5 L1,.5 M.5,.5 L.5,0"},"┼":{1:"M0,.5 L1,.5 M.5,0 L.5,1"},"╋":{3:"M0,.5 L1,.5 M.5,0 L.5,1"},"╴":{1:"M.5,.5 L0,.5"},"╸":{3:"M.5,.5 L0,.5"},"╵":{1:"M.5,.5 L.5,0"},"╹":{3:"M.5,.5 L.5,0"},"╶":{1:"M.5,.5 L1,.5"},"╺":{3:"M.5,.5 L1,.5"},"╷":{1:"M.5,.5 L.5,1"},"╻":{3:"M.5,.5 L.5,1"},"═":{1:(i,t)=>`M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t}`},"║":{1:(i,t)=>`M${.5-i},0 L${.5-i},1 M${.5+i},0 L${.5+i},1`},"╒":{1:(i,t)=>`M.5,1 L.5,${.5-t} L1,${.5-t} M.5,${.5+t} L1,${.5+t}`},"╓":{1:(i,t)=>`M${.5-i},1 L${.5-i},.5 L1,.5 M${.5+i},.5 L${.5+i},1`},"╔":{1:(i,t)=>`M1,${.5-t} L${.5-i},${.5-t} L${.5-i},1 M1,${.5+t} L${.5+i},${.5+t} L${.5+i},1`},"╕":{1:(i,t)=>`M0,${.5-t} L.5,${.5-t} L.5,1 M0,${.5+t} L.5,${.5+t}`},"╖":{1:(i,t)=>`M${.5+i},1 L${.5+i},.5 L0,.5 M${.5-i},.5 L${.5-i},1`},"╗":{1:(i,t)=>`M0,${.5+t} L${.5-i},${.5+t} L${.5-i},1 M0,${.5-t} L${.5+i},${.5-t} L${.5+i},1`},"╘":{1:(i,t)=>`M.5,0 L.5,${.5+t} L1,${.5+t} M.5,${.5-t} L1,${.5-t}`},"╙":{1:(i,t)=>`M1,.5 L${.5-i},.5 L${.5-i},0 M${.5+i},.5 L${.5+i},0`},"╚":{1:(i,t)=>`M1,${.5-t} L${.5+i},${.5-t} L${.5+i},0 M1,${.5+t} L${.5-i},${.5+t} L${.5-i},0`},"╛":{1:(i,t)=>`M0,${.5+t} L.5,${.5+t} L.5,0 M0,${.5-t} L.5,${.5-t}`},"╜":{1:(i,t)=>`M0,.5 L${.5+i},.5 L${.5+i},0 M${.5-i},.5 L${.5-i},0`},"╝":{1:(i,t)=>`M0,${.5-t} L${.5-i},${.5-t} L${.5-i},0 M0,${.5+t} L${.5+i},${.5+t} L${.5+i},0`},"╞":{1:(i,t)=>`M.5,0 L.5,1 M.5,${.5-t} L1,${.5-t} M.5,${.5+t} L1,${.5+t}`},"╟":{1:(i,t)=>`M${.5-i},0 L${.5-i},1 M${.5+i},0 L${.5+i},1 M${.5+i},.5 L1,.5`},"╠":{1:(i,t)=>`M${.5-i},0 L${.5-i},1 M1,${.5+t} L${.5+i},${.5+t} L${.5+i},1 M1,${.5-t} L${.5+i},${.5-t} L${.5+i},0`},"╡":{1:(i,t)=>`M.5,0 L.5,1 M0,${.5-t} L.5,${.5-t} M0,${.5+t} L.5,${.5+t}`},"╢":{1:(i,t)=>`M0,.5 L${.5-i},.5 M${.5-i},0 L${.5-i},1 M${.5+i},0 L${.5+i},1`},"╣":{1:(i,t)=>`M${.5+i},0 L${.5+i},1 M0,${.5+t} L${.5-i},${.5+t} L${.5-i},1 M0,${.5-t} L${.5-i},${.5-t} L${.5-i},0`},"╤":{1:(i,t)=>`M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t} M.5,${.5+t} L.5,1`},"╥":{1:(i,t)=>`M0,.5 L1,.5 M${.5-i},.5 L${.5-i},1 M${.5+i},.5 L${.5+i},1`},"╦":{1:(i,t)=>`M0,${.5-t} L1,${.5-t} M0,${.5+t} L${.5-i},${.5+t} L${.5-i},1 M1,${.5+t} L${.5+i},${.5+t} L${.5+i},1`},"╧":{1:(i,t)=>`M.5,0 L.5,${.5-t} M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t}`},"╨":{1:(i,t)=>`M0,.5 L1,.5 M${.5-i},.5 L${.5-i},0 M${.5+i},.5 L${.5+i},0`},"╩":{1:(i,t)=>`M0,${.5+t} L1,${.5+t} M0,${.5-t} L${.5-i},${.5-t} L${.5-i},0 M1,${.5-t} L${.5+i},${.5-t} L${.5+i},0`},"╪":{1:(i,t)=>`M.5,0 L.5,1 M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t}`},"╫":{1:(i,t)=>`M0,.5 L1,.5 M${.5-i},0 L${.5-i},1 M${.5+i},0 L${.5+i},1`},"╬":{1:(i,t)=>`M0,${.5+t} L${.5-i},${.5+t} L${.5-i},1 M1,${.5+t} L${.5+i},${.5+t} L${.5+i},1 M0,${.5-t} L${.5-i},${.5-t} L${.5-i},0 M1,${.5-t} L${.5+i},${.5-t} L${.5+i},0`},"╱":{1:"M1,0 L0,1"},"╲":{1:"M0,0 L1,1"},"╳":{1:"M1,0 L0,1 M0,0 L1,1"},"╼":{1:"M.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"╽":{1:"M.5,.5 L.5,0",3:"M.5,.5 L.5,1"},"╾":{1:"M.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"╿":{1:"M.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"┍":{1:"M.5,.5 L.5,1",3:"M.5,.5 L1,.5"},"┎":{1:"M.5,.5 L1,.5",3:"M.5,.5 L.5,1"},"┑":{1:"M.5,.5 L.5,1",3:"M.5,.5 L0,.5"},"┒":{1:"M.5,.5 L0,.5",3:"M.5,.5 L.5,1"},"┕":{1:"M.5,.5 L.5,0",3:"M.5,.5 L1,.5"},"┖":{1:"M.5,.5 L1,.5",3:"M.5,.5 L.5,0"},"┙":{1:"M.5,.5 L.5,0",3:"M.5,.5 L0,.5"},"┚":{1:"M.5,.5 L0,.5",3:"M.5,.5 L.5,0"},"┝":{1:"M.5,0 L.5,1",3:"M.5,.5 L1,.5"},"┞":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,.5 L.5,0"},"┟":{1:"M.5,0 L.5,.5 L1,.5",3:"M.5,.5 L.5,1"},"┠":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,1"},"┡":{1:"M.5,.5 L.5,1",3:"M.5,0 L.5,.5 L1,.5"},"┢":{1:"M.5,.5 L.5,0",3:"M0.5,1 L.5,.5 L1,.5"},"┥":{1:"M.5,0 L.5,1",3:"M.5,.5 L0,.5"},"┦":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"┧":{1:"M.5,0 L.5,.5 L0,.5",3:"M.5,.5 L.5,1"},"┨":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,1"},"┩":{1:"M.5,.5 L.5,1",3:"M.5,0 L.5,.5 L0,.5"},"┪":{1:"M.5,.5 L.5,0",3:"M0,.5 L.5,.5 L.5,1"},"┭":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"┮":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,.5 L1,.5"},"┯":{1:"M.5,.5 L.5,1",3:"M0,.5 L1,.5"},"┰":{1:"M0,.5 L1,.5",3:"M.5,.5 L.5,1"},"┱":{1:"M.5,.5 L1,.5",3:"M0,.5 L.5,.5 L.5,1"},"┲":{1:"M.5,.5 L0,.5",3:"M0.5,1 L.5,.5 L1,.5"},"┵":{1:"M.5,0 L.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"┶":{1:"M.5,0 L.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"┷":{1:"M.5,.5 L.5,0",3:"M0,.5 L1,.5"},"┸":{1:"M0,.5 L1,.5",3:"M.5,.5 L.5,0"},"┹":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,.5 L0,.5"},"┺":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,.5 L1,.5"},"┽":{1:"M.5,0 L.5,1 M.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"┾":{1:"M.5,0 L.5,1 M.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"┿":{1:"M.5,0 L.5,1",3:"M0,.5 L1,.5"},"╀":{1:"M0,.5 L1,.5 M.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"╁":{1:"M.5,.5 L.5,0 M0,.5 L1,.5",3:"M.5,.5 L.5,1"},"╂":{1:"M0,.5 L1,.5",3:"M.5,0 L.5,1"},"╃":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,0 L.5,.5 L0,.5"},"╄":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,0 L.5,.5 L1,.5"},"╅":{1:"M.5,0 L.5,.5 L1,.5",3:"M0,.5 L.5,.5 L.5,1"},"╆":{1:"M.5,0 L.5,.5 L0,.5",3:"M0.5,1 L.5,.5 L1,.5"},"╇":{1:"M.5,.5 L.5,1",3:"M.5,.5 L.5,0 M0,.5 L1,.5"},"╈":{1:"M.5,.5 L.5,0",3:"M0,.5 L1,.5 M.5,.5 L.5,1"},"╉":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,1 M.5,.5 L0,.5"},"╊":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,1 M.5,.5 L1,.5"},"╌":{1:"M.1,.5 L.4,.5 M.6,.5 L.9,.5"},"╍":{3:"M.1,.5 L.4,.5 M.6,.5 L.9,.5"},"┄":{1:"M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5"},"┅":{3:"M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5"},"┈":{1:"M.05,.5 L.2,.5 M.3,.5 L.45,.5 M.55,.5 L.7,.5 M.8,.5 L.95,.5"},"┉":{3:"M.05,.5 L.2,.5 M.3,.5 L.45,.5 M.55,.5 L.7,.5 M.8,.5 L.95,.5"},"╎":{1:"M.5,.1 L.5,.4 M.5,.6 L.5,.9"},"╏":{3:"M.5,.1 L.5,.4 M.5,.6 L.5,.9"},"┆":{1:"M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333"},"┇":{3:"M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333"},"┊":{1:"M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95"},"┋":{3:"M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95"},"╭":{1:(i,t)=>`M.5,1 L.5,${.5+t/.15*.5} C.5,${.5+t/.15*.5},.5,.5,1,.5`},"╮":{1:(i,t)=>`M.5,1 L.5,${.5+t/.15*.5} C.5,${.5+t/.15*.5},.5,.5,0,.5`},"╯":{1:(i,t)=>`M.5,0 L.5,${.5-t/.15*.5} C.5,${.5-t/.15*.5},.5,.5,0,.5`},"╰":{1:(i,t)=>`M.5,0 L.5,${.5-t/.15*.5} C.5,${.5-t/.15*.5},.5,.5,1,.5`}},e.powerlineDefinitions={"":{d:"M0,0 L1,.5 L0,1",type:0,rightPadding:2},"":{d:"M-1,-.5 L1,.5 L-1,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M1,0 L0,.5 L1,1",type:0,leftPadding:2},"":{d:"M2,-.5 L0,.5 L2,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M0,0 L0,1 C0.552,1,1,0.776,1,.5 C1,0.224,0.552,0,0,0",type:0,rightPadding:1},"":{d:"M.2,1 C.422,1,.8,.826,.78,.5 C.8,.174,0.422,0,.2,0",type:1,rightPadding:1},"":{d:"M1,0 L1,1 C0.448,1,0,0.776,0,.5 C0,0.224,0.448,0,1,0",type:0,leftPadding:1},"":{d:"M.8,1 C0.578,1,0.2,.826,.22,.5 C0.2,0.174,0.578,0,0.8,0",type:1,leftPadding:1},"":{d:"M-.5,-.5 L1.5,1.5 L-.5,1.5",type:0},"":{d:"M-.5,-.5 L1.5,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M1.5,-.5 L-.5,1.5 L1.5,1.5",type:0},"":{d:"M1.5,-.5 L-.5,1.5 L-.5,-.5",type:0},"":{d:"M1.5,-.5 L-.5,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M-.5,-.5 L1.5,1.5 L1.5,-.5",type:0}},e.powerlineDefinitions[""]=e.powerlineDefinitions[""],e.powerlineDefinitions[""]=e.powerlineDefinitions[""],e.tryDrawCustomChar=function(i,t,f,_,n,v,u,s){const c=e.blockElementDefinitions[t];if(c)return(function(w,m,L,b,y,D){for(let S=0;S<m.length;S++){const M=m[S],T=y/8,A=D/8;w.fillRect(L+M.x*T,b+M.y*A,M.w*T,M.h*A)}})(i,c,f,_,n,v),!0;const g=o[t];if(g)return(function(w,m,L,b,y,D){let S=r.get(m);S||(S=new Map,r.set(m,S));const M=w.fillStyle;if(typeof M!="string")throw new Error(`Unexpected fillStyle type "${M}"`);let T=S.get(M);if(!T){const A=m[0].length,H=m.length,z=w.canvas.ownerDocument.createElement("canvas");z.width=A,z.height=H;const U=(0,d.throwIfFalsy)(z.getContext("2d")),I=new ImageData(A,H);let Z,Q,Y,V;if(M.startsWith("#"))Z=parseInt(M.slice(1,3),16),Q=parseInt(M.slice(3,5),16),Y=parseInt(M.slice(5,7),16),V=M.length>7&&parseInt(M.slice(7,9),16)||1;else{if(!M.startsWith("rgba"))throw new Error(`Unexpected fillStyle color format "${M}" when drawing pattern glyph`);[Z,Q,Y,V]=M.substring(5,M.length-1).split(",").map((q=>parseFloat(q)))}for(let q=0;q<H;q++)for(let K=0;K<A;K++)I.data[4*(q*A+K)]=Z,I.data[4*(q*A+K)+1]=Q,I.data[4*(q*A+K)+2]=Y,I.data[4*(q*A+K)+3]=m[q][K]*(255*V);U.putImageData(I,0,0),T=(0,d.throwIfFalsy)(w.createPattern(z,null)),S.set(M,T)}w.fillStyle=T,w.fillRect(L,b,y,D)})(i,g,f,_,n,v),!0;const a=e.boxDrawingDefinitions[t];if(a)return(function(w,m,L,b,y,D,S){w.strokeStyle=w.fillStyle;for(const[M,T]of Object.entries(m)){let A;w.beginPath(),w.lineWidth=S*Number.parseInt(M),A=typeof T=="function"?T(.15,.15/D*y):T;for(const H of A.split(" ")){const z=H[0],U=p[z];if(!U){console.error(`Could not find drawing instructions for "${z}"`);continue}const I=H.substring(1).split(",");I[0]&&I[1]&&U(w,C(I,y,D,L,b,!0,S))}w.stroke(),w.closePath()}})(i,a,f,_,n,v,s),!0;const x=e.powerlineDefinitions[t];return!!x&&((function(w,m,L,b,y,D,S,M){const T=new Path2D;T.rect(L,b,y,D),w.clip(T),w.beginPath();const A=S/12;w.lineWidth=M*A;for(const H of m.d.split(" ")){const z=H[0],U=p[z];if(!U){console.error(`Could not find drawing instructions for "${z}"`);continue}const I=H.substring(1).split(",");I[0]&&I[1]&&U(w,C(I,y,D,L,b,!1,M,(m.leftPadding??0)*(A/2),(m.rightPadding??0)*(A/2)))}m.type===1?(w.strokeStyle=w.fillStyle,w.stroke()):w.fill(),w.closePath()})(i,x,f,_,n,v,u,s),!0)};const r=new Map;function l(i,t,f=0){return Math.max(Math.min(i,t),f)}const p={C:(i,t)=>i.bezierCurveTo(t[0],t[1],t[2],t[3],t[4],t[5]),L:(i,t)=>i.lineTo(t[0],t[1]),M:(i,t)=>i.moveTo(t[0],t[1])};function C(i,t,f,_,n,v,u,s=0,c=0){const g=i.map((a=>parseFloat(a)||parseInt(a)));if(g.length<2)throw new Error("Too few arguments for instruction");for(let a=0;a<g.length;a+=2)g[a]*=t-s*u-c*u,v&&g[a]!==0&&(g[a]=l(Math.round(g[a]+.5)-.5,t,0)),g[a]+=_+s*u;for(let a=1;a<g.length;a+=2)g[a]*=f,v&&g[a]!==0&&(g[a]=l(Math.round(g[a]+.5)-.5,f,0)),g[a]+=n;return g}},56:(k,e,h)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.observeDevicePixelDimensions=void 0;const d=h(859);e.observeDevicePixelDimensions=function(o,r,l){let p=new r.ResizeObserver((C=>{const i=C.find((_=>_.target===o));if(!i)return;if(!("devicePixelContentBoxSize"in i))return p==null||p.disconnect(),void(p=void 0);const t=i.devicePixelContentBoxSize[0].inlineSize,f=i.devicePixelContentBoxSize[0].blockSize;t>0&&f>0&&l(t,f)}));try{p.observe(o,{box:["device-pixel-content-box"]})}catch{p.disconnect(),p=void 0}return(0,d.toDisposable)((()=>p==null?void 0:p.disconnect()))}},374:(k,e)=>{function h(o){return 57508<=o&&o<=57558}function d(o){return o>=128512&&o<=128591||o>=127744&&o<=128511||o>=128640&&o<=128767||o>=9728&&o<=9983||o>=9984&&o<=10175||o>=65024&&o<=65039||o>=129280&&o<=129535||o>=127462&&o<=127487}Object.defineProperty(e,"__esModule",{value:!0}),e.computeNextVariantOffset=e.createRenderDimensions=e.treatGlyphAsBackgroundColor=e.allowRescaling=e.isEmoji=e.isRestrictedPowerlineGlyph=e.isPowerlineGlyph=e.throwIfFalsy=void 0,e.throwIfFalsy=function(o){if(!o)throw new Error("value must not be falsy");return o},e.isPowerlineGlyph=h,e.isRestrictedPowerlineGlyph=function(o){return 57520<=o&&o<=57527},e.isEmoji=d,e.allowRescaling=function(o,r,l,p){return r===1&&l>Math.ceil(1.5*p)&&o!==void 0&&o>255&&!d(o)&&!h(o)&&!(function(C){return 57344<=C&&C<=63743})(o)},e.treatGlyphAsBackgroundColor=function(o){return h(o)||(function(r){return 9472<=r&&r<=9631})(o)},e.createRenderDimensions=function(){return{css:{canvas:{width:0,height:0},cell:{width:0,height:0}},device:{canvas:{width:0,height:0},cell:{width:0,height:0},char:{width:0,height:0,left:0,top:0}}}},e.computeNextVariantOffset=function(o,r,l=0){return(o-(2*Math.round(r)-l))%(2*Math.round(r))}},296:(k,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.createSelectionRenderModel=void 0;class h{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(o,r,l,p=!1){if(this.selectionStart=r,this.selectionEnd=l,!r||!l||r[0]===l[0]&&r[1]===l[1])return void this.clear();const C=o.buffers.active.ydisp,i=r[1]-C,t=l[1]-C,f=Math.max(i,0),_=Math.min(t,o.rows-1);f>=o.rows||_<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=p,this.viewportStartRow=i,this.viewportEndRow=t,this.viewportCappedStartRow=f,this.viewportCappedEndRow=_,this.startCol=r[0],this.endCol=l[0])}isCellSelected(o,r,l){return!!this.hasSelection&&(l-=o.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?r>=this.startCol&&l>=this.viewportCappedStartRow&&r<this.endCol&&l<=this.viewportCappedEndRow:r<this.startCol&&l>=this.viewportCappedStartRow&&r>=this.endCol&&l<=this.viewportCappedEndRow:l>this.viewportStartRow&&l<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&l===this.viewportStartRow&&r>=this.startCol&&r<this.endCol||this.viewportStartRow<this.viewportEndRow&&l===this.viewportEndRow&&r<this.endCol||this.viewportStartRow<this.viewportEndRow&&l===this.viewportStartRow&&r>=this.startCol)}}e.createSelectionRenderModel=function(){return new h}},509:(k,e,h)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TextureAtlas=void 0;const d=h(237),o=h(860),r=h(374),l=h(160),p=h(345),C=h(485),i=h(385),t=h(147),f=h(855),_={texturePage:0,texturePosition:{x:0,y:0},texturePositionClipSpace:{x:0,y:0},offset:{x:0,y:0},size:{x:0,y:0},sizeClipSpace:{x:0,y:0}};let n;class v{get pages(){return this._pages}constructor(a,x,w){this._document=a,this._config=x,this._unicodeService=w,this._didWarmUp=!1,this._cacheMap=new C.FourKeyMap,this._cacheMapCombined=new C.FourKeyMap,this._pages=[],this._activePages=[],this._workBoundingBox={top:0,left:0,bottom:0,right:0},this._workAttributeData=new t.AttributeData,this._textureSize=512,this._onAddTextureAtlasCanvas=new p.EventEmitter,this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=new p.EventEmitter,this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._requestClearModel=!1,this._createNewPage(),this._tmpCanvas=c(a,4*this._config.deviceCellWidth+4,this._config.deviceCellHeight+4),this._tmpCtx=(0,r.throwIfFalsy)(this._tmpCanvas.getContext("2d",{alpha:this._config.allowTransparency,willReadFrequently:!0}))}dispose(){for(const a of this.pages)a.canvas.remove();this._onAddTextureAtlasCanvas.dispose()}warmUp(){this._didWarmUp||(this._doWarmUp(),this._didWarmUp=!0)}_doWarmUp(){const a=new i.IdleTaskQueue;for(let x=33;x<126;x++)a.enqueue((()=>{if(!this._cacheMap.get(x,f.DEFAULT_COLOR,f.DEFAULT_COLOR,f.DEFAULT_EXT)){const w=this._drawToCache(x,f.DEFAULT_COLOR,f.DEFAULT_COLOR,f.DEFAULT_EXT);this._cacheMap.set(x,f.DEFAULT_COLOR,f.DEFAULT_COLOR,f.DEFAULT_EXT,w)}}))}beginFrame(){return this._requestClearModel}clearTexture(){if(this._pages[0].currentRow.x!==0||this._pages[0].currentRow.y!==0){for(const a of this._pages)a.clear();this._cacheMap.clear(),this._cacheMapCombined.clear(),this._didWarmUp=!1}}_createNewPage(){if(v.maxAtlasPages&&this._pages.length>=Math.max(4,v.maxAtlasPages)){const x=this._pages.filter((S=>2*S.canvas.width<=(v.maxTextureSize||4096))).sort(((S,M)=>M.canvas.width!==S.canvas.width?M.canvas.width-S.canvas.width:M.percentageUsed-S.percentageUsed));let w=-1,m=0;for(let S=0;S<x.length;S++)if(x[S].canvas.width!==m)w=S,m=x[S].canvas.width;else if(S-w==3)break;const L=x.slice(w,w+4),b=L.map((S=>S.glyphs[0].texturePage)).sort(((S,M)=>S>M?1:-1)),y=this.pages.length-L.length,D=this._mergePages(L,y);D.version++;for(let S=b.length-1;S>=0;S--)this._deletePage(b[S]);this.pages.push(D),this._requestClearModel=!0,this._onAddTextureAtlasCanvas.fire(D.canvas)}const a=new u(this._document,this._textureSize);return this._pages.push(a),this._activePages.push(a),this._onAddTextureAtlasCanvas.fire(a.canvas),a}_mergePages(a,x){const w=2*a[0].canvas.width,m=new u(this._document,w,a);for(const[L,b]of a.entries()){const y=L*b.canvas.width%w,D=Math.floor(L/2)*b.canvas.height;m.ctx.drawImage(b.canvas,y,D);for(const M of b.glyphs)M.texturePage=x,M.sizeClipSpace.x=M.size.x/w,M.sizeClipSpace.y=M.size.y/w,M.texturePosition.x+=y,M.texturePosition.y+=D,M.texturePositionClipSpace.x=M.texturePosition.x/w,M.texturePositionClipSpace.y=M.texturePosition.y/w;this._onRemoveTextureAtlasCanvas.fire(b.canvas);const S=this._activePages.indexOf(b);S!==-1&&this._activePages.splice(S,1)}return m}_deletePage(a){this._pages.splice(a,1);for(let x=a;x<this._pages.length;x++){const w=this._pages[x];for(const m of w.glyphs)m.texturePage--;w.version++}}getRasterizedGlyphCombinedChar(a,x,w,m,L){return this._getFromCacheMap(this._cacheMapCombined,a,x,w,m,L)}getRasterizedGlyph(a,x,w,m,L){return this._getFromCacheMap(this._cacheMap,a,x,w,m,L)}_getFromCacheMap(a,x,w,m,L,b=!1){return n=a.get(x,w,m,L),n||(n=this._drawToCache(x,w,m,L,b),a.set(x,w,m,L,n)),n}_getColorFromAnsiIndex(a){if(a>=this._config.colors.ansi.length)throw new Error("No color found for idx "+a);return this._config.colors.ansi[a]}_getBackgroundColor(a,x,w,m){if(this._config.allowTransparency)return l.NULL_COLOR;let L;switch(a){case 16777216:case 33554432:L=this._getColorFromAnsiIndex(x);break;case 50331648:const b=t.AttributeData.toColorRGB(x);L=l.channels.toColor(b[0],b[1],b[2]);break;default:L=w?l.color.opaque(this._config.colors.foreground):this._config.colors.background}return L}_getForegroundColor(a,x,w,m,L,b,y,D,S,M){const T=this._getMinimumContrastColor(a,x,w,m,L,b,y,S,D,M);if(T)return T;let A;switch(L){case 16777216:case 33554432:this._config.drawBoldTextInBrightColors&&S&&b<8&&(b+=8),A=this._getColorFromAnsiIndex(b);break;case 50331648:const H=t.AttributeData.toColorRGB(b);A=l.channels.toColor(H[0],H[1],H[2]);break;default:A=y?this._config.colors.background:this._config.colors.foreground}return this._config.allowTransparency&&(A=l.color.opaque(A)),D&&(A=l.color.multiplyOpacity(A,d.DIM_OPACITY)),A}_resolveBackgroundRgba(a,x,w){switch(a){case 16777216:case 33554432:return this._getColorFromAnsiIndex(x).rgba;case 50331648:return x<<8;default:return w?this._config.colors.foreground.rgba:this._config.colors.background.rgba}}_resolveForegroundRgba(a,x,w,m){switch(a){case 16777216:case 33554432:return this._config.drawBoldTextInBrightColors&&m&&x<8&&(x+=8),this._getColorFromAnsiIndex(x).rgba;case 50331648:return x<<8;default:return w?this._config.colors.background.rgba:this._config.colors.foreground.rgba}}_getMinimumContrastColor(a,x,w,m,L,b,y,D,S,M){if(this._config.minimumContrastRatio===1||M)return;const T=this._getContrastCache(S),A=T.getColor(a,m);if(A!==void 0)return A||void 0;const H=this._resolveBackgroundRgba(x,w,y),z=this._resolveForegroundRgba(L,b,y,D),U=l.rgba.ensureContrastRatio(H,z,this._config.minimumContrastRatio/(S?2:1));if(!U)return void T.setColor(a,m,null);const I=l.channels.toColor(U>>24&255,U>>16&255,U>>8&255);return T.setColor(a,m,I),I}_getContrastCache(a){return a?this._config.colors.halfContrastCache:this._config.colors.contrastCache}_drawToCache(a,x,w,m,L=!1){const b=typeof a=="number"?String.fromCharCode(a):a,y=Math.min(this._config.deviceCellWidth*Math.max(b.length,2)+4,this._textureSize);this._tmpCanvas.width<y&&(this._tmpCanvas.width=y);const D=Math.min(this._config.deviceCellHeight+8,this._textureSize);if(this._tmpCanvas.height<D&&(this._tmpCanvas.height=D),this._tmpCtx.save(),this._workAttributeData.fg=w,this._workAttributeData.bg=x,this._workAttributeData.extended.ext=m,this._workAttributeData.isInvisible())return _;const S=!!this._workAttributeData.isBold(),M=!!this._workAttributeData.isInverse(),T=!!this._workAttributeData.isDim(),A=!!this._workAttributeData.isItalic(),H=!!this._workAttributeData.isUnderline(),z=!!this._workAttributeData.isStrikethrough(),U=!!this._workAttributeData.isOverline();let I=this._workAttributeData.getFgColor(),Z=this._workAttributeData.getFgColorMode(),Q=this._workAttributeData.getBgColor(),Y=this._workAttributeData.getBgColorMode();if(M){const R=I;I=Q,Q=R;const O=Z;Z=Y,Y=O}const V=this._getBackgroundColor(Y,Q,M,T);this._tmpCtx.globalCompositeOperation="copy",this._tmpCtx.fillStyle=V.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.globalCompositeOperation="source-over";const q=S?this._config.fontWeightBold:this._config.fontWeight,K=A?"italic":"";this._tmpCtx.font=`${K} ${q} ${this._config.fontSize*this._config.devicePixelRatio}px ${this._config.fontFamily}`,this._tmpCtx.textBaseline=d.TEXT_BASELINE;const Se=b.length===1&&(0,r.isPowerlineGlyph)(b.charCodeAt(0)),pe=b.length===1&&(0,r.isRestrictedPowerlineGlyph)(b.charCodeAt(0)),he=this._getForegroundColor(x,Y,Q,w,Z,I,M,T,S,(0,r.treatGlyphAsBackgroundColor)(b.charCodeAt(0)));this._tmpCtx.fillStyle=he.css;const P=pe?0:4;let le=!1;this._config.customGlyphs!==!1&&(le=(0,o.tryDrawCustomChar)(this._tmpCtx,b,P,P,this._config.deviceCellWidth,this._config.deviceCellHeight,this._config.fontSize,this._config.devicePixelRatio));let re,oe=!Se;if(re=typeof a=="number"?this._unicodeService.wcwidth(a):this._unicodeService.getStringCellWidth(a),H){this._tmpCtx.save();const R=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/15)),O=R%2==1?.5:0;if(this._tmpCtx.lineWidth=R,this._workAttributeData.isUnderlineColorDefault())this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle;else if(this._workAttributeData.isUnderlineColorRGB())oe=!1,this._tmpCtx.strokeStyle=`rgb(${t.AttributeData.toColorRGB(this._workAttributeData.getUnderlineColor()).join(",")})`;else{oe=!1;let X=this._workAttributeData.getUnderlineColor();this._config.drawBoldTextInBrightColors&&this._workAttributeData.isBold()&&X<8&&(X+=8),this._tmpCtx.strokeStyle=this._getColorFromAnsiIndex(X).css}this._tmpCtx.beginPath();const j=P,W=Math.ceil(P+this._config.deviceCharHeight)-O-(L?2*R:0),ne=W+R,ae=W+2*R;let ee=this._workAttributeData.getUnderlineVariantOffset();for(let X=0;X<re;X++){this._tmpCtx.save();const F=j+X*this._config.deviceCellWidth,G=j+(X+1)*this._config.deviceCellWidth,fe=F+this._config.deviceCellWidth/2;switch(this._workAttributeData.extended.underlineStyle){case 2:this._tmpCtx.moveTo(F,W),this._tmpCtx.lineTo(G,W),this._tmpCtx.moveTo(F,ae),this._tmpCtx.lineTo(G,ae);break;case 3:const de=R<=1?ae:Math.ceil(P+this._config.deviceCharHeight-R/2)-O,_e=R<=1?W:Math.ceil(P+this._config.deviceCharHeight+R/2)-O,xe=new Path2D;xe.rect(F,W,this._config.deviceCellWidth,ae-W),this._tmpCtx.clip(xe),this._tmpCtx.moveTo(F-this._config.deviceCellWidth/2,ne),this._tmpCtx.bezierCurveTo(F-this._config.deviceCellWidth/2,_e,F,_e,F,ne),this._tmpCtx.bezierCurveTo(F,de,fe,de,fe,ne),this._tmpCtx.bezierCurveTo(fe,_e,G,_e,G,ne),this._tmpCtx.bezierCurveTo(G,de,G+this._config.deviceCellWidth/2,de,G+this._config.deviceCellWidth/2,ne);break;case 4:const ue=ee===0?0:ee>=R?2*R-ee:R-ee;ee>=R||ue===0?(this._tmpCtx.setLineDash([Math.round(R),Math.round(R)]),this._tmpCtx.moveTo(F+ue,W),this._tmpCtx.lineTo(G,W)):(this._tmpCtx.setLineDash([Math.round(R),Math.round(R)]),this._tmpCtx.moveTo(F,W),this._tmpCtx.lineTo(F+ue,W),this._tmpCtx.moveTo(F+ue+R,W),this._tmpCtx.lineTo(G,W)),ee=(0,r.computeNextVariantOffset)(G-F,R,ee);break;case 5:const ye=.6,Re=.3,ve=G-F,we=Math.floor(ye*ve),Le=Math.floor(Re*ve),Ae=ve-we-Le;this._tmpCtx.setLineDash([we,Le,Ae]),this._tmpCtx.moveTo(F,W),this._tmpCtx.lineTo(G,W);break;default:this._tmpCtx.moveTo(F,W),this._tmpCtx.lineTo(G,W)}this._tmpCtx.stroke(),this._tmpCtx.restore()}if(this._tmpCtx.restore(),!le&&this._config.fontSize>=12&&!this._config.allowTransparency&&b!==" "){this._tmpCtx.save(),this._tmpCtx.textBaseline="alphabetic";const X=this._tmpCtx.measureText(b);if(this._tmpCtx.restore(),"actualBoundingBoxDescent"in X&&X.actualBoundingBoxDescent>0){this._tmpCtx.save();const F=new Path2D;F.rect(j,W-Math.ceil(R/2),this._config.deviceCellWidth*re,ae-W+Math.ceil(R/2)),this._tmpCtx.clip(F),this._tmpCtx.lineWidth=3*this._config.devicePixelRatio,this._tmpCtx.strokeStyle=V.css,this._tmpCtx.strokeText(b,P,P+this._config.deviceCharHeight),this._tmpCtx.restore()}}}if(U){const R=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/15)),O=R%2==1?.5:0;this._tmpCtx.lineWidth=R,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(P,P+O),this._tmpCtx.lineTo(P+this._config.deviceCharWidth*re,P+O),this._tmpCtx.stroke()}if(le||this._tmpCtx.fillText(b,P,P+this._config.deviceCharHeight),b==="_"&&!this._config.allowTransparency){let R=s(this._tmpCtx.getImageData(P,P,this._config.deviceCellWidth,this._config.deviceCellHeight),V,he,oe);if(R)for(let O=1;O<=5&&(this._tmpCtx.save(),this._tmpCtx.fillStyle=V.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.restore(),this._tmpCtx.fillText(b,P,P+this._config.deviceCharHeight-O),R=s(this._tmpCtx.getImageData(P,P,this._config.deviceCellWidth,this._config.deviceCellHeight),V,he,oe),R);O++);}if(z){const R=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/10)),O=this._tmpCtx.lineWidth%2==1?.5:0;this._tmpCtx.lineWidth=R,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(P,P+Math.floor(this._config.deviceCharHeight/2)-O),this._tmpCtx.lineTo(P+this._config.deviceCharWidth*re,P+Math.floor(this._config.deviceCharHeight/2)-O),this._tmpCtx.stroke()}this._tmpCtx.restore();const ce=this._tmpCtx.getImageData(0,0,this._tmpCanvas.width,this._tmpCanvas.height);let me;if(me=this._config.allowTransparency?(function(R){for(let O=0;O<R.data.length;O+=4)if(R.data[O+3]>0)return!1;return!0})(ce):s(ce,V,he,oe),me)return _;const $=this._findGlyphBoundingBox(ce,this._workBoundingBox,y,pe,le,P);let E,B;for(;;){if(this._activePages.length===0){const R=this._createNewPage();E=R,B=R.currentRow,B.height=$.size.y;break}E=this._activePages[this._activePages.length-1],B=E.currentRow;for(const R of this._activePages)$.size.y<=R.currentRow.height&&(E=R,B=R.currentRow);for(let R=this._activePages.length-1;R>=0;R--)for(const O of this._activePages[R].fixedRows)O.height<=B.height&&$.size.y<=O.height&&(E=this._activePages[R],B=O);if(B.y+$.size.y>=E.canvas.height||B.height>$.size.y+2){let R=!1;if(E.currentRow.y+E.currentRow.height+$.size.y>=E.canvas.height){let O;for(const j of this._activePages)if(j.currentRow.y+j.currentRow.height+$.size.y<j.canvas.height){O=j;break}if(O)E=O;else if(v.maxAtlasPages&&this._pages.length>=v.maxAtlasPages&&B.y+$.size.y<=E.canvas.height&&B.height>=$.size.y&&B.x+$.size.x<=E.canvas.width)R=!0;else{const j=this._createNewPage();E=j,B=j.currentRow,B.height=$.size.y,R=!0}}R||(E.currentRow.height>0&&E.fixedRows.push(E.currentRow),B={x:0,y:E.currentRow.y+E.currentRow.height,height:$.size.y},E.fixedRows.push(B),E.currentRow={x:0,y:B.y+B.height,height:0})}if(B.x+$.size.x<=E.canvas.width)break;B===E.currentRow?(B.x=0,B.y+=B.height,B.height=0):E.fixedRows.splice(E.fixedRows.indexOf(B),1)}return $.texturePage=this._pages.indexOf(E),$.texturePosition.x=B.x,$.texturePosition.y=B.y,$.texturePositionClipSpace.x=B.x/E.canvas.width,$.texturePositionClipSpace.y=B.y/E.canvas.height,$.sizeClipSpace.x/=E.canvas.width,$.sizeClipSpace.y/=E.canvas.height,B.height=Math.max(B.height,$.size.y),B.x+=$.size.x,E.ctx.putImageData(ce,$.texturePosition.x-this._workBoundingBox.left,$.texturePosition.y-this._workBoundingBox.top,this._workBoundingBox.left,this._workBoundingBox.top,$.size.x,$.size.y),E.addGlyph($),E.version++,$}_findGlyphBoundingBox(a,x,w,m,L,b){x.top=0;const y=m?this._config.deviceCellHeight:this._tmpCanvas.height,D=m?this._config.deviceCellWidth:w;let S=!1;for(let M=0;M<y;M++){for(let T=0;T<D;T++){const A=M*this._tmpCanvas.width*4+4*T+3;if(a.data[A]!==0){x.top=M,S=!0;break}}if(S)break}x.left=0,S=!1;for(let M=0;M<b+D;M++){for(let T=0;T<y;T++){const A=T*this._tmpCanvas.width*4+4*M+3;if(a.data[A]!==0){x.left=M,S=!0;break}}if(S)break}x.right=D,S=!1;for(let M=b+D-1;M>=b;M--){for(let T=0;T<y;T++){const A=T*this._tmpCanvas.width*4+4*M+3;if(a.data[A]!==0){x.right=M,S=!0;break}}if(S)break}x.bottom=y,S=!1;for(let M=y-1;M>=0;M--){for(let T=0;T<D;T++){const A=M*this._tmpCanvas.width*4+4*T+3;if(a.data[A]!==0){x.bottom=M,S=!0;break}}if(S)break}return{texturePage:0,texturePosition:{x:0,y:0},texturePositionClipSpace:{x:0,y:0},size:{x:x.right-x.left+1,y:x.bottom-x.top+1},sizeClipSpace:{x:x.right-x.left+1,y:x.bottom-x.top+1},offset:{x:-x.left+b+(m||L?Math.floor((this._config.deviceCellWidth-this._config.deviceCharWidth)/2):0),y:-x.top+b+(m||L?this._config.lineHeight===1?0:Math.round((this._config.deviceCellHeight-this._config.deviceCharHeight)/2):0)}}}}e.TextureAtlas=v;class u{get percentageUsed(){return this._usedPixels/(this.canvas.width*this.canvas.height)}get glyphs(){return this._glyphs}addGlyph(a){this._glyphs.push(a),this._usedPixels+=a.size.x*a.size.y}constructor(a,x,w){if(this._usedPixels=0,this._glyphs=[],this.version=0,this.currentRow={x:0,y:0,height:0},this.fixedRows=[],w)for(const m of w)this._glyphs.push(...m.glyphs),this._usedPixels+=m._usedPixels;this.canvas=c(a,x,x),this.ctx=(0,r.throwIfFalsy)(this.canvas.getContext("2d",{alpha:!0}))}clear(){this.ctx.clearRect(0,0,this.canvas.width,this.canvas.height),this.currentRow.x=0,this.currentRow.y=0,this.currentRow.height=0,this.fixedRows.length=0,this.version++}}function s(g,a,x,w){const m=a.rgba>>>24,L=a.rgba>>>16&255,b=a.rgba>>>8&255,y=x.rgba>>>24,D=x.rgba>>>16&255,S=x.rgba>>>8&255,M=Math.floor((Math.abs(m-y)+Math.abs(L-D)+Math.abs(b-S))/12);let T=!0;for(let A=0;A<g.data.length;A+=4)g.data[A]===m&&g.data[A+1]===L&&g.data[A+2]===b||w&&Math.abs(g.data[A]-m)+Math.abs(g.data[A+1]-L)+Math.abs(g.data[A+2]-b)<M?g.data[A+3]=0:T=!1;return T}function c(g,a,x){const w=g.createElement("canvas");return w.width=a,w.height=x,w}},577:function(k,e,h){var d=this&&this.__decorate||function(f,_,n,v){var u,s=arguments.length,c=s<3?_:v===null?v=Object.getOwnPropertyDescriptor(_,n):v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")c=Reflect.decorate(f,_,n,v);else for(var g=f.length-1;g>=0;g--)(u=f[g])&&(c=(s<3?u(c):s>3?u(_,n,c):u(_,n))||c);return s>3&&c&&Object.defineProperty(_,n,c),c},o=this&&this.__param||function(f,_){return function(n,v){_(n,v,f)}};Object.defineProperty(e,"__esModule",{value:!0}),e.CharacterJoinerService=e.JoinedCellData=void 0;const r=h(147),l=h(855),p=h(782),C=h(97);class i extends r.AttributeData{constructor(_,n,v){super(),this.content=0,this.combinedData="",this.fg=_.fg,this.bg=_.bg,this.combinedData=n,this._width=v}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(_){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}e.JoinedCellData=i;let t=e.CharacterJoinerService=class Me{constructor(_){this._bufferService=_,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new p.CellData}register(_){const n={id:this._nextCharacterJoinerId++,handler:_};return this._characterJoiners.push(n),n.id}deregister(_){for(let n=0;n<this._characterJoiners.length;n++)if(this._characterJoiners[n].id===_)return this._characterJoiners.splice(n,1),!0;return!1}getJoinedCharacters(_){if(this._characterJoiners.length===0)return[];const n=this._bufferService.buffer.lines.get(_);if(!n||n.length===0)return[];const v=[],u=n.translateToString(!0);let s=0,c=0,g=0,a=n.getFg(0),x=n.getBg(0);for(let w=0;w<n.getTrimmedLength();w++)if(n.loadCell(w,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==a||this._workCell.bg!==x){if(w-s>1){const m=this._getJoinedRanges(u,g,c,n,s);for(let L=0;L<m.length;L++)v.push(m[L])}s=w,g=c,a=this._workCell.fg,x=this._workCell.bg}c+=this._workCell.getChars().length||l.WHITESPACE_CELL_CHAR.length}if(this._bufferService.cols-s>1){const w=this._getJoinedRanges(u,g,c,n,s);for(let m=0;m<w.length;m++)v.push(w[m])}return v}_getJoinedRanges(_,n,v,u,s){const c=_.substring(n,v);let g=[];try{g=this._characterJoiners[0].handler(c)}catch(a){console.error(a)}for(let a=1;a<this._characterJoiners.length;a++)try{const x=this._characterJoiners[a].handler(c);for(let w=0;w<x.length;w++)Me._mergeRanges(g,x[w])}catch(x){console.error(x)}return this._stringRangesToCellRanges(g,u,s),g}_stringRangesToCellRanges(_,n,v){let u=0,s=!1,c=0,g=_[u];if(g){for(let a=v;a<this._bufferService.cols;a++){const x=n.getWidth(a),w=n.getString(a).length||l.WHITESPACE_CELL_CHAR.length;if(x!==0){if(!s&&g[0]<=c&&(g[0]=a,s=!0),g[1]<=c){if(g[1]=a,g=_[++u],!g)break;g[0]<=c?(g[0]=a,s=!0):s=!1}c+=w}}g&&(g[1]=this._bufferService.cols)}}static _mergeRanges(_,n){let v=!1;for(let u=0;u<_.length;u++){const s=_[u];if(v){if(n[1]<=s[0])return _[u-1][1]=n[1],_;if(n[1]<=s[1])return _[u-1][1]=Math.max(n[1],s[1]),_.splice(u,1),_;_.splice(u,1),u--}else{if(n[1]<=s[0])return _.splice(u,0,n),_;if(n[1]<=s[1])return s[0]=Math.min(n[0],s[0]),_;n[0]<s[1]&&(s[0]=Math.min(n[0],s[0]),v=!0)}}return v?_[_.length-1][1]=n[1]:_.push(n),_}};e.CharacterJoinerService=t=d([o(0,C.IBufferService)],t)},160:(k,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.contrastRatio=e.toPaddedHex=e.rgba=e.rgb=e.css=e.color=e.channels=e.NULL_COLOR=void 0;let h=0,d=0,o=0,r=0;var l,p,C,i,t;function f(n){const v=n.toString(16);return v.length<2?"0"+v:v}function _(n,v){return n<v?(v+.05)/(n+.05):(n+.05)/(v+.05)}e.NULL_COLOR={css:"#00000000",rgba:0},(function(n){n.toCss=function(v,u,s,c){return c!==void 0?`#${f(v)}${f(u)}${f(s)}${f(c)}`:`#${f(v)}${f(u)}${f(s)}`},n.toRgba=function(v,u,s,c=255){return(v<<24|u<<16|s<<8|c)>>>0},n.toColor=function(v,u,s,c){return{css:n.toCss(v,u,s,c),rgba:n.toRgba(v,u,s,c)}}})(l||(e.channels=l={})),(function(n){function v(u,s){return r=Math.round(255*s),[h,d,o]=t.toChannels(u.rgba),{css:l.toCss(h,d,o,r),rgba:l.toRgba(h,d,o,r)}}n.blend=function(u,s){if(r=(255&s.rgba)/255,r===1)return{css:s.css,rgba:s.rgba};const c=s.rgba>>24&255,g=s.rgba>>16&255,a=s.rgba>>8&255,x=u.rgba>>24&255,w=u.rgba>>16&255,m=u.rgba>>8&255;return h=x+Math.round((c-x)*r),d=w+Math.round((g-w)*r),o=m+Math.round((a-m)*r),{css:l.toCss(h,d,o),rgba:l.toRgba(h,d,o)}},n.isOpaque=function(u){return(255&u.rgba)==255},n.ensureContrastRatio=function(u,s,c){const g=t.ensureContrastRatio(u.rgba,s.rgba,c);if(g)return l.toColor(g>>24&255,g>>16&255,g>>8&255)},n.opaque=function(u){const s=(255|u.rgba)>>>0;return[h,d,o]=t.toChannels(s),{css:l.toCss(h,d,o),rgba:s}},n.opacity=v,n.multiplyOpacity=function(u,s){return r=255&u.rgba,v(u,r*s/255)},n.toColorRGB=function(u){return[u.rgba>>24&255,u.rgba>>16&255,u.rgba>>8&255]}})(p||(e.color=p={})),(function(n){let v,u;try{const s=document.createElement("canvas");s.width=1,s.height=1;const c=s.getContext("2d",{willReadFrequently:!0});c&&(v=c,v.globalCompositeOperation="copy",u=v.createLinearGradient(0,0,1,1))}catch{}n.toColor=function(s){if(s.match(/#[\da-f]{3,8}/i))switch(s.length){case 4:return h=parseInt(s.slice(1,2).repeat(2),16),d=parseInt(s.slice(2,3).repeat(2),16),o=parseInt(s.slice(3,4).repeat(2),16),l.toColor(h,d,o);case 5:return h=parseInt(s.slice(1,2).repeat(2),16),d=parseInt(s.slice(2,3).repeat(2),16),o=parseInt(s.slice(3,4).repeat(2),16),r=parseInt(s.slice(4,5).repeat(2),16),l.toColor(h,d,o,r);case 7:return{css:s,rgba:(parseInt(s.slice(1),16)<<8|255)>>>0};case 9:return{css:s,rgba:parseInt(s.slice(1),16)>>>0}}const c=s.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(c)return h=parseInt(c[1]),d=parseInt(c[2]),o=parseInt(c[3]),r=Math.round(255*(c[5]===void 0?1:parseFloat(c[5]))),l.toColor(h,d,o,r);if(!v||!u)throw new Error("css.toColor: Unsupported css format");if(v.fillStyle=u,v.fillStyle=s,typeof v.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(v.fillRect(0,0,1,1),[h,d,o,r]=v.getImageData(0,0,1,1).data,r!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:l.toRgba(h,d,o,r),css:s}}})(C||(e.css=C={})),(function(n){function v(u,s,c){const g=u/255,a=s/255,x=c/255;return .2126*(g<=.03928?g/12.92:Math.pow((g+.055)/1.055,2.4))+.7152*(a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4))+.0722*(x<=.03928?x/12.92:Math.pow((x+.055)/1.055,2.4))}n.relativeLuminance=function(u){return v(u>>16&255,u>>8&255,255&u)},n.relativeLuminance2=v})(i||(e.rgb=i={})),(function(n){function v(s,c,g){const a=s>>24&255,x=s>>16&255,w=s>>8&255;let m=c>>24&255,L=c>>16&255,b=c>>8&255,y=_(i.relativeLuminance2(m,L,b),i.relativeLuminance2(a,x,w));for(;y<g&&(m>0||L>0||b>0);)m-=Math.max(0,Math.ceil(.1*m)),L-=Math.max(0,Math.ceil(.1*L)),b-=Math.max(0,Math.ceil(.1*b)),y=_(i.relativeLuminance2(m,L,b),i.relativeLuminance2(a,x,w));return(m<<24|L<<16|b<<8|255)>>>0}function u(s,c,g){const a=s>>24&255,x=s>>16&255,w=s>>8&255;let m=c>>24&255,L=c>>16&255,b=c>>8&255,y=_(i.relativeLuminance2(m,L,b),i.relativeLuminance2(a,x,w));for(;y<g&&(m<255||L<255||b<255);)m=Math.min(255,m+Math.ceil(.1*(255-m))),L=Math.min(255,L+Math.ceil(.1*(255-L))),b=Math.min(255,b+Math.ceil(.1*(255-b))),y=_(i.relativeLuminance2(m,L,b),i.relativeLuminance2(a,x,w));return(m<<24|L<<16|b<<8|255)>>>0}n.blend=function(s,c){if(r=(255&c)/255,r===1)return c;const g=c>>24&255,a=c>>16&255,x=c>>8&255,w=s>>24&255,m=s>>16&255,L=s>>8&255;return h=w+Math.round((g-w)*r),d=m+Math.round((a-m)*r),o=L+Math.round((x-L)*r),l.toRgba(h,d,o)},n.ensureContrastRatio=function(s,c,g){const a=i.relativeLuminance(s>>8),x=i.relativeLuminance(c>>8);if(_(a,x)<g){if(x<a){const L=v(s,c,g),b=_(a,i.relativeLuminance(L>>8));if(b<g){const y=u(s,c,g);return b>_(a,i.relativeLuminance(y>>8))?L:y}return L}const w=u(s,c,g),m=_(a,i.relativeLuminance(w>>8));if(m<g){const L=v(s,c,g);return m>_(a,i.relativeLuminance(L>>8))?w:L}return w}},n.reduceLuminance=v,n.increaseLuminance=u,n.toChannels=function(s){return[s>>24&255,s>>16&255,s>>8&255,255&s]}})(t||(e.rgba=t={})),e.toPaddedHex=f,e.contrastRatio=_},345:(k,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.runAndSubscribe=e.forwardEvent=e.EventEmitter=void 0,e.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=h=>(this._listeners.push(h),{dispose:()=>{if(!this._disposed){for(let d=0;d<this._listeners.length;d++)if(this._listeners[d]===h)return void this._listeners.splice(d,1)}}})),this._event}fire(h,d){const o=[];for(let r=0;r<this._listeners.length;r++)o.push(this._listeners[r]);for(let r=0;r<o.length;r++)o[r].call(void 0,h,d)}dispose(){this.clearListeners(),this._disposed=!0}clearListeners(){this._listeners&&(this._listeners.length=0)}},e.forwardEvent=function(h,d){return h((o=>d.fire(o)))},e.runAndSubscribe=function(h,d){return d(void 0),h((o=>d(o)))}},859:(k,e)=>{function h(d){for(const o of d)o.dispose();d.length=0}Object.defineProperty(e,"__esModule",{value:!0}),e.getDisposeArrayDisposable=e.disposeArray=e.toDisposable=e.MutableDisposable=e.Disposable=void 0,e.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(const d of this._disposables)d.dispose();this._disposables.length=0}register(d){return this._disposables.push(d),d}unregister(d){const o=this._disposables.indexOf(d);o!==-1&&this._disposables.splice(o,1)}},e.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(d){var o;this._isDisposed||d===this._value||((o=this._value)==null||o.dispose(),this._value=d)}clear(){this.value=void 0}dispose(){var d;this._isDisposed=!0,(d=this._value)==null||d.dispose(),this._value=void 0}},e.toDisposable=function(d){return{dispose:d}},e.disposeArray=h,e.getDisposeArrayDisposable=function(d){return{dispose:()=>h(d)}}},485:(k,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FourKeyMap=e.TwoKeyMap=void 0;class h{constructor(){this._data={}}set(o,r,l){this._data[o]||(this._data[o]={}),this._data[o][r]=l}get(o,r){return this._data[o]?this._data[o][r]:void 0}clear(){this._data={}}}e.TwoKeyMap=h,e.FourKeyMap=class{constructor(){this._data=new h}set(d,o,r,l,p){this._data.get(d,o)||this._data.set(d,o,new h),this._data.get(d,o).set(r,l,p)}get(d,o,r,l){var p;return(p=this._data.get(d,o))==null?void 0:p.get(r,l)}clear(){this._data.clear()}}},399:(k,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.isChromeOS=e.isLinux=e.isWindows=e.isIphone=e.isIpad=e.isMac=e.getSafariVersion=e.isSafari=e.isLegacyEdge=e.isFirefox=e.isNode=void 0,e.isNode=typeof process<"u"&&"title"in process;const h=e.isNode?"node":navigator.userAgent,d=e.isNode?"node":navigator.platform;e.isFirefox=h.includes("Firefox"),e.isLegacyEdge=h.includes("Edge"),e.isSafari=/^((?!chrome|android).)*safari/i.test(h),e.getSafariVersion=function(){if(!e.isSafari)return 0;const o=h.match(/Version\/(\d+)/);return o===null||o.length<2?0:parseInt(o[1])},e.isMac=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(d),e.isIpad=d==="iPad",e.isIphone=d==="iPhone",e.isWindows=["Windows","Win16","Win32","WinCE"].includes(d),e.isLinux=d.indexOf("Linux")>=0,e.isChromeOS=/\bCrOS\b/.test(h)},385:(k,e,h)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.DebouncedIdleTask=e.IdleTaskQueue=e.PriorityTaskQueue=void 0;const d=h(399);class o{constructor(){this._tasks=[],this._i=0}enqueue(p){this._tasks.push(p),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&(this._cancelCallback(this._idleCallback),this._idleCallback=void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||(this._idleCallback=this._requestCallback(this._process.bind(this)))}_process(p){this._idleCallback=void 0;let C=0,i=0,t=p.timeRemaining(),f=0;for(;this._i<this._tasks.length;){if(C=Date.now(),this._tasks[this._i]()||this._i++,C=Math.max(1,Date.now()-C),i=Math.max(C,i),f=p.timeRemaining(),1.5*i>f)return t-C<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(t-C))}ms`),void this._start();t=f}this.clear()}}class r extends o{_requestCallback(p){return setTimeout((()=>p(this._createDeadline(16))))}_cancelCallback(p){clearTimeout(p)}_createDeadline(p){const C=Date.now()+p;return{timeRemaining:()=>Math.max(0,C-Date.now())}}}e.PriorityTaskQueue=r,e.IdleTaskQueue=!d.isNode&&"requestIdleCallback"in window?class extends o{_requestCallback(l){return requestIdleCallback(l)}_cancelCallback(l){cancelIdleCallback(l)}}:r,e.DebouncedIdleTask=class{constructor(){this._queue=new e.IdleTaskQueue}set(l){this._queue.clear(),this._queue.enqueue(l)}flush(){this._queue.flush()}}},147:(k,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ExtendedAttrs=e.AttributeData=void 0;class h{constructor(){this.fg=0,this.bg=0,this.extended=new d}static toColorRGB(r){return[r>>>16&255,r>>>8&255,255&r]}static fromColorRGB(r){return(255&r[0])<<16|(255&r[1])<<8|255&r[2]}clone(){const r=new h;return r.fg=this.fg,r.bg=this.bg,r.extended=this.extended.clone(),r}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}isOverline(){return 1073741824&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return(50331648&this.fg)==50331648}isBgRGB(){return(50331648&this.bg)==50331648}isFgPalette(){return(50331648&this.fg)==16777216||(50331648&this.fg)==33554432}isBgPalette(){return(50331648&this.bg)==16777216||(50331648&this.bg)==33554432}isFgDefault(){return(50331648&this.fg)==0}isBgDefault(){return(50331648&this.bg)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==16777216||(50331648&this.extended.underlineColor)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==0:this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}}e.AttributeData=h;class d{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(r){this._ext=r}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(r){this._ext&=-469762049,this._ext|=r<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(r){this._ext&=-67108864,this._ext|=67108863&r}get urlId(){return this._urlId}set urlId(r){this._urlId=r}get underlineVariantOffset(){const r=(3758096384&this._ext)>>29;return r<0?4294967288^r:r}set underlineVariantOffset(r){this._ext&=536870911,this._ext|=r<<29&3758096384}constructor(r=0,l=0){this._ext=0,this._urlId=0,this._ext=r,this._urlId=l}clone(){return new d(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}}e.ExtendedAttrs=d},782:(k,e,h)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.CellData=void 0;const d=h(133),o=h(855),r=h(147);class l extends r.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new r.ExtendedAttrs,this.combinedData=""}static fromCharData(C){const i=new l;return i.setFromCharData(C),i}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,d.stringFromCodePoint)(2097151&this.content):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(C){this.fg=C[o.CHAR_DATA_ATTR_INDEX],this.bg=0;let i=!1;if(C[o.CHAR_DATA_CHAR_INDEX].length>2)i=!0;else if(C[o.CHAR_DATA_CHAR_INDEX].length===2){const t=C[o.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=t&&t<=56319){const f=C[o.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=f&&f<=57343?this.content=1024*(t-55296)+f-56320+65536|C[o.CHAR_DATA_WIDTH_INDEX]<<22:i=!0}else i=!0}else this.content=C[o.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|C[o.CHAR_DATA_WIDTH_INDEX]<<22;i&&(this.combinedData=C[o.CHAR_DATA_CHAR_INDEX],this.content=2097152|C[o.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}e.CellData=l},855:(k,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.WHITESPACE_CELL_CODE=e.WHITESPACE_CELL_WIDTH=e.WHITESPACE_CELL_CHAR=e.NULL_CELL_CODE=e.NULL_CELL_WIDTH=e.NULL_CELL_CHAR=e.CHAR_DATA_CODE_INDEX=e.CHAR_DATA_WIDTH_INDEX=e.CHAR_DATA_CHAR_INDEX=e.CHAR_DATA_ATTR_INDEX=e.DEFAULT_EXT=e.DEFAULT_ATTR=e.DEFAULT_COLOR=void 0,e.DEFAULT_COLOR=0,e.DEFAULT_ATTR=256|e.DEFAULT_COLOR<<9,e.DEFAULT_EXT=0,e.CHAR_DATA_ATTR_INDEX=0,e.CHAR_DATA_CHAR_INDEX=1,e.CHAR_DATA_WIDTH_INDEX=2,e.CHAR_DATA_CODE_INDEX=3,e.NULL_CELL_CHAR="",e.NULL_CELL_WIDTH=1,e.NULL_CELL_CODE=0,e.WHITESPACE_CELL_CHAR=" ",e.WHITESPACE_CELL_WIDTH=1,e.WHITESPACE_CELL_CODE=32},133:(k,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Utf8ToUtf32=e.StringToUtf32=e.utf32ToString=e.stringFromCodePoint=void 0,e.stringFromCodePoint=function(h){return h>65535?(h-=65536,String.fromCharCode(55296+(h>>10))+String.fromCharCode(h%1024+56320)):String.fromCharCode(h)},e.utf32ToString=function(h,d=0,o=h.length){let r="";for(let l=d;l<o;++l){let p=h[l];p>65535?(p-=65536,r+=String.fromCharCode(55296+(p>>10))+String.fromCharCode(p%1024+56320)):r+=String.fromCharCode(p)}return r},e.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(h,d){const o=h.length;if(!o)return 0;let r=0,l=0;if(this._interim){const p=h.charCodeAt(l++);56320<=p&&p<=57343?d[r++]=1024*(this._interim-55296)+p-56320+65536:(d[r++]=this._interim,d[r++]=p),this._interim=0}for(let p=l;p<o;++p){const C=h.charCodeAt(p);if(55296<=C&&C<=56319){if(++p>=o)return this._interim=C,r;const i=h.charCodeAt(p);56320<=i&&i<=57343?d[r++]=1024*(C-55296)+i-56320+65536:(d[r++]=C,d[r++]=i)}else C!==65279&&(d[r++]=C)}return r}},e.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(h,d){const o=h.length;if(!o)return 0;let r,l,p,C,i=0,t=0,f=0;if(this.interim[0]){let v=!1,u=this.interim[0];u&=(224&u)==192?31:(240&u)==224?15:7;let s,c=0;for(;(s=63&this.interim[++c])&&c<4;)u<<=6,u|=s;const g=(224&this.interim[0])==192?2:(240&this.interim[0])==224?3:4,a=g-c;for(;f<a;){if(f>=o)return 0;if(s=h[f++],(192&s)!=128){f--,v=!0;break}this.interim[c++]=s,u<<=6,u|=63&s}v||(g===2?u<128?f--:d[i++]=u:g===3?u<2048||u>=55296&&u<=57343||u===65279||(d[i++]=u):u<65536||u>1114111||(d[i++]=u)),this.interim.fill(0)}const _=o-4;let n=f;for(;n<o;){for(;!(!(n<_)||128&(r=h[n])||128&(l=h[n+1])||128&(p=h[n+2])||128&(C=h[n+3]));)d[i++]=r,d[i++]=l,d[i++]=p,d[i++]=C,n+=4;if(r=h[n++],r<128)d[i++]=r;else if((224&r)==192){if(n>=o)return this.interim[0]=r,i;if(l=h[n++],(192&l)!=128){n--;continue}if(t=(31&r)<<6|63&l,t<128){n--;continue}d[i++]=t}else if((240&r)==224){if(n>=o)return this.interim[0]=r,i;if(l=h[n++],(192&l)!=128){n--;continue}if(n>=o)return this.interim[0]=r,this.interim[1]=l,i;if(p=h[n++],(192&p)!=128){n--;continue}if(t=(15&r)<<12|(63&l)<<6|63&p,t<2048||t>=55296&&t<=57343||t===65279)continue;d[i++]=t}else if((248&r)==240){if(n>=o)return this.interim[0]=r,i;if(l=h[n++],(192&l)!=128){n--;continue}if(n>=o)return this.interim[0]=r,this.interim[1]=l,i;if(p=h[n++],(192&p)!=128){n--;continue}if(n>=o)return this.interim[0]=r,this.interim[1]=l,this.interim[2]=p,i;if(C=h[n++],(192&C)!=128){n--;continue}if(t=(7&r)<<18|(63&l)<<12|(63&p)<<6|63&C,t<65536||t>1114111)continue;d[i++]=t}}return i}}},776:function(k,e,h){var d=this&&this.__decorate||function(t,f,_,n){var v,u=arguments.length,s=u<3?f:n===null?n=Object.getOwnPropertyDescriptor(f,_):n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(t,f,_,n);else for(var c=t.length-1;c>=0;c--)(v=t[c])&&(s=(u<3?v(s):u>3?v(f,_,s):v(f,_))||s);return u>3&&s&&Object.defineProperty(f,_,s),s},o=this&&this.__param||function(t,f){return function(_,n){f(_,n,t)}};Object.defineProperty(e,"__esModule",{value:!0}),e.traceCall=e.setTraceLogger=e.LogService=void 0;const r=h(859),l=h(97),p={trace:l.LogLevelEnum.TRACE,debug:l.LogLevelEnum.DEBUG,info:l.LogLevelEnum.INFO,warn:l.LogLevelEnum.WARN,error:l.LogLevelEnum.ERROR,off:l.LogLevelEnum.OFF};let C,i=e.LogService=class extends r.Disposable{get logLevel(){return this._logLevel}constructor(t){super(),this._optionsService=t,this._logLevel=l.LogLevelEnum.OFF,this._updateLogLevel(),this.register(this._optionsService.onSpecificOptionChange("logLevel",(()=>this._updateLogLevel()))),C=this}_updateLogLevel(){this._logLevel=p[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(t){for(let f=0;f<t.length;f++)typeof t[f]=="function"&&(t[f]=t[f]())}_log(t,f,_){this._evalLazyOptionalParams(_),t.call(console,(this._optionsService.options.logger?"":"xterm.js: ")+f,..._)}trace(t,...f){var _;this._logLevel<=l.LogLevelEnum.TRACE&&this._log(((_=this._optionsService.options.logger)==null?void 0:_.trace.bind(this._optionsService.options.logger))??console.log,t,f)}debug(t,...f){var _;this._logLevel<=l.LogLevelEnum.DEBUG&&this._log(((_=this._optionsService.options.logger)==null?void 0:_.debug.bind(this._optionsService.options.logger))??console.log,t,f)}info(t,...f){var _;this._logLevel<=l.LogLevelEnum.INFO&&this._log(((_=this._optionsService.options.logger)==null?void 0:_.info.bind(this._optionsService.options.logger))??console.info,t,f)}warn(t,...f){var _;this._logLevel<=l.LogLevelEnum.WARN&&this._log(((_=this._optionsService.options.logger)==null?void 0:_.warn.bind(this._optionsService.options.logger))??console.warn,t,f)}error(t,...f){var _;this._logLevel<=l.LogLevelEnum.ERROR&&this._log(((_=this._optionsService.options.logger)==null?void 0:_.error.bind(this._optionsService.options.logger))??console.error,t,f)}};e.LogService=i=d([o(0,l.IOptionsService)],i),e.setTraceLogger=function(t){C=t},e.traceCall=function(t,f,_){if(typeof _.value!="function")throw new Error("not supported");const n=_.value;_.value=function(...v){if(C.logLevel!==l.LogLevelEnum.TRACE)return n.apply(this,v);C.trace(`GlyphRenderer#${n.name}(${v.map((s=>JSON.stringify(s))).join(", ")})`);const u=n.apply(this,v);return C.trace(`GlyphRenderer#${n.name} return`,u),u}}},726:(k,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.createDecorator=e.getServiceDependencies=e.serviceRegistry=void 0;const h="di$target",d="di$dependencies";e.serviceRegistry=new Map,e.getServiceDependencies=function(o){return o[d]||[]},e.createDecorator=function(o){if(e.serviceRegistry.has(o))return e.serviceRegistry.get(o);const r=function(l,p,C){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");(function(i,t,f){t[h]===t?t[d].push({id:i,index:f}):(t[d]=[{id:i,index:f}],t[h]=t)})(r,l,C)};return r.toString=()=>o,e.serviceRegistry.set(o,r),r}},97:(k,e,h)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.IDecorationService=e.IUnicodeService=e.IOscLinkService=e.IOptionsService=e.ILogService=e.LogLevelEnum=e.IInstantiationService=e.ICharsetService=e.ICoreService=e.ICoreMouseService=e.IBufferService=void 0;const d=h(726);var o;e.IBufferService=(0,d.createDecorator)("BufferService"),e.ICoreMouseService=(0,d.createDecorator)("CoreMouseService"),e.ICoreService=(0,d.createDecorator)("CoreService"),e.ICharsetService=(0,d.createDecorator)("CharsetService"),e.IInstantiationService=(0,d.createDecorator)("InstantiationService"),(function(r){r[r.TRACE=0]="TRACE",r[r.DEBUG=1]="DEBUG",r[r.INFO=2]="INFO",r[r.WARN=3]="WARN",r[r.ERROR=4]="ERROR",r[r.OFF=5]="OFF"})(o||(e.LogLevelEnum=o={})),e.ILogService=(0,d.createDecorator)("LogService"),e.IOptionsService=(0,d.createDecorator)("OptionsService"),e.IOscLinkService=(0,d.createDecorator)("OscLinkService"),e.IUnicodeService=(0,d.createDecorator)("UnicodeService"),e.IDecorationService=(0,d.createDecorator)("DecorationService")}},J={};function N(k){var e=J[k];if(e!==void 0)return e.exports;var h=J[k]={exports:{}};return te[k].call(h.exports,h,h.exports,N),h.exports}var ie={};return(()=>{var k=ie;Object.defineProperty(k,"__esModule",{value:!0}),k.CanvasAddon=void 0;const e=N(345),h=N(859),d=N(776),o=N(949);class r extends h.Disposable{constructor(){super(...arguments),this._onChangeTextureAtlas=this.register(new e.EventEmitter),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this.register(new e.EventEmitter),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event}get textureAtlas(){var p;return(p=this._renderer)==null?void 0:p.textureAtlas}activate(p){const C=p._core;if(!p.element)return void this.register(C.onWillOpen((()=>this.activate(p))));this._terminal=p;const i=C.coreService,t=C.optionsService,f=C.screenElement,_=C.linkifier,n=C,v=n._bufferService,u=n._renderService,s=n._characterJoinerService,c=n._charSizeService,g=n._coreBrowserService,a=n._decorationService,x=n._logService,w=n._themeService;(0,d.setTraceLogger)(x),this._renderer=new o.CanvasRenderer(p,f,_,v,c,t,s,i,g,a,w),this.register((0,e.forwardEvent)(this._renderer.onChangeTextureAtlas,this._onChangeTextureAtlas)),this.register((0,e.forwardEvent)(this._renderer.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas)),u.setRenderer(this._renderer),u.handleResize(v.cols,v.rows),this.register((0,h.toDisposable)((()=>{var m;u.setRenderer(this._terminal._core._createRenderer()),u.handleResize(p.cols,p.rows),(m=this._renderer)==null||m.dispose(),this._renderer=void 0})))}clearTextureAtlas(){var p;(p=this._renderer)==null||p.clearTextureAtlas()}}k.CanvasAddon=r})(),ie})()))})(Ce)),Ce.exports}var ke=Te();const Ee=De({__proto__:null},[ke]);export{Ee as a};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2014-2024 The xterm.js authors. All rights reserved.
|
|
3
|
+
* @license MIT
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
|
|
6
|
+
* @license MIT
|
|
7
|
+
*
|
|
8
|
+
* Originally forked from (with the author's permission):
|
|
9
|
+
* Fabrice Bellard's javascript vt100 for jslinux:
|
|
10
|
+
* http://bellard.org/jslinux/
|
|
11
|
+
* Copyright (c) 2011 Fabrice Bellard
|
|
12
|
+
*/var c=2,d=1,_=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let i=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(i._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){var l;if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let i=this._terminal.options.scrollback===0?0:((l=this._terminal.options.overviewRuler)==null?void 0:l.width)||14,s=window.getComputedStyle(this._terminal.element.parentElement),o=parseInt(s.getPropertyValue("height")),a=Math.max(0,parseInt(s.getPropertyValue("width"))),t=window.getComputedStyle(this._terminal.element),r={top:parseInt(t.getPropertyValue("padding-top")),bottom:parseInt(t.getPropertyValue("padding-bottom")),right:parseInt(t.getPropertyValue("padding-right")),left:parseInt(t.getPropertyValue("padding-left"))},n=r.top+r.bottom,h=r.right+r.left,m=o-n,p=a-h-i;return{cols:Math.max(c,Math.floor(p/e.css.cell.width)),rows:Math.max(d,Math.floor(m/e.css.cell.height))}}};export{_ as FitAddon};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as O}from"./chunk-JZWAC4HX-C4pqxYJB.js";function j(b,k){for(var _=0;_<k.length;_++){const l=k[_];if(typeof l!="string"&&!Array.isArray(l)){for(const u in l)if(u!=="default"&&!(u in b)){const L=Object.getOwnPropertyDescriptor(l,u);L&&Object.defineProperty(b,u,L.get?L:{enumerable:!0,get:()=>l[u]})}}}return Object.freeze(Object.defineProperty(b,Symbol.toStringTag,{value:"Module"}))}var w={exports:{}},$;function A(){return $||($=1,(function(b,k){(function(_,l){b.exports=l()})(self,(()=>(()=>{var _={6:(p,d)=>{function h(n){try{const e=new URL(n),t=e.password&&e.username?`${e.protocol}//${e.username}:${e.password}@${e.host}`:e.username?`${e.protocol}//${e.username}@${e.host}`:`${e.protocol}//${e.host}`;return n.toLocaleLowerCase().startsWith(t.toLocaleLowerCase())}catch{return!1}}Object.defineProperty(d,"__esModule",{value:!0}),d.LinkComputer=d.WebLinkProvider=void 0,d.WebLinkProvider=class{constructor(n,e,t,r={}){this._terminal=n,this._regex=e,this._handler=t,this._options=r}provideLinks(n,e){const t=f.computeLink(n,this._regex,this._terminal,this._handler);e(this._addCallbacks(t))}_addCallbacks(n){return n.map((e=>(e.leave=this._options.leave,e.hover=(t,r)=>{if(this._options.hover){const{range:c}=e;this._options.hover(t,r,c)}},e)))}};class f{static computeLink(e,t,r,c){const g=new RegExp(t.source,(t.flags||"")+"g"),[o,s]=f._getWindowedLineStrings(e-1,r),i=o.join("");let a;const x=[];for(;a=g.exec(i);){const v=a[0];if(!h(v))continue;const[m,W]=f._mapStrIdx(r,s,0,a.index),[y,P]=f._mapStrIdx(r,m,W,v.length);if(m===-1||W===-1||y===-1||P===-1)continue;const S={start:{x:W+1,y:m+1},end:{x:P,y:y+1}};x.push({range:S,text:v,activate:c})}return x}static _getWindowedLineStrings(e,t){let r,c=e,g=e,o=0,s="";const i=[];if(r=t.buffer.active.getLine(e)){const a=r.translateToString(!0);if(r.isWrapped&&a[0]!==" "){for(o=0;(r=t.buffer.active.getLine(--c))&&o<2048&&(s=r.translateToString(!0),o+=s.length,i.push(s),r.isWrapped&&s.indexOf(" ")===-1););i.reverse()}for(i.push(a),o=0;(r=t.buffer.active.getLine(++g))&&r.isWrapped&&o<2048&&(s=r.translateToString(!0),o+=s.length,i.push(s),s.indexOf(" ")===-1););}return[i,c]}static _mapStrIdx(e,t,r,c){const g=e.buffer.active,o=g.getNullCell();let s=r;for(;c;){const i=g.getLine(t);if(!i)return[-1,-1];for(let a=s;a<i.length;++a){i.getCell(a,o);const x=o.getChars();if(o.getWidth()&&(c-=x.length||1,a===i.length-1&&x==="")){const v=g.getLine(t+1);v&&v.isWrapped&&(v.getCell(0,o),o.getWidth()===2&&(c+=1))}if(c<0)return[t,a]}t++,s=0}return[t,s]}}d.LinkComputer=f}},l={};function u(p){var d=l[p];if(d!==void 0)return d.exports;var h=l[p]={exports:{}};return _[p](h,h.exports,u),h.exports}var L={};return(()=>{var p=L;Object.defineProperty(p,"__esModule",{value:!0}),p.WebLinksAddon=void 0;const d=u(6),h=/(https?|HTTPS?):[/]{2}[^\s"'!*(){}|\\\^<>`]*[^\s"':,.!?{}|\\\^~\[\]`()<>]/;function f(n,e){const t=window.open();if(t){try{t.opener=null}catch{}t.location.href=e}else console.warn("Opening link blocked as opener could not be cleared")}p.WebLinksAddon=class{constructor(n=f,e={}){this._handler=n,this._options=e}activate(n){this._terminal=n;const e=this._options,t=e.urlRegex||h;this._linkProvider=this._terminal.registerLinkProvider(new d.WebLinkProvider(this._terminal,t,this._handler,e))}dispose(){var n;(n=this._linkProvider)==null||n.dispose()}}})(),L})()))})(w)),w.exports}var C=A();const T=O(C),E=j({__proto__:null,default:T},[C]);export{E as a};
|