@codeyam/codeyam-cli 0.1.0-staging.1 → 0.1.0-staging.28f73cf
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 +8 -7
- package/analyzer-template/packages/ai/index.ts +2 -1
- package/analyzer-template/packages/ai/package.json +2 -2
- package/analyzer-template/packages/ai/scripts/ai-test-matrix.mjs +424 -0
- package/analyzer-template/packages/ai/src/lib/analyzeScope.ts +24 -0
- package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +6 -16
- package/analyzer-template/packages/ai/src/lib/astScopes/methodSemantics.ts +197 -0
- package/analyzer-template/packages/ai/src/lib/astScopes/paths.ts +28 -2
- package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +127 -4
- package/analyzer-template/packages/ai/src/lib/checkAllAttributes.ts +1 -3
- package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +1821 -542
- package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.ts +138 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.ts +1 -1
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.ts +139 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/DebugTracer.ts +224 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/PathManager.ts +203 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/README.md +294 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.ts +161 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/VisitedTracker.ts +235 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts +14 -6
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/selectBestValue.ts +70 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.ts +113 -0
- package/analyzer-template/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.ts +36 -0
- package/analyzer-template/packages/ai/src/lib/generateChangesEntityDocumentation.ts +20 -2
- package/analyzer-template/packages/ai/src/lib/generateChangesEntityKeyAttributes.ts +51 -107
- package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarioData.ts +56 -160
- package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarios.ts +79 -265
- package/analyzer-template/packages/ai/src/lib/generateEntityDocumentation.ts +16 -2
- package/analyzer-template/packages/ai/src/lib/generateEntityKeyAttributes.ts +53 -176
- package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +53 -154
- package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +84 -254
- package/analyzer-template/packages/ai/src/lib/generateStatementAnalysis.ts +48 -71
- package/analyzer-template/packages/ai/src/lib/getConditionalUsagesFromCode.ts +27 -6
- package/analyzer-template/packages/ai/src/lib/getLLMCallStats.ts +0 -14
- package/analyzer-template/packages/ai/src/lib/modelInfo.ts +15 -0
- package/analyzer-template/packages/ai/src/lib/promptGenerators/gatherAttributesMap.ts +42 -4
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityDocumentationGenerator.ts +8 -33
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.ts +54 -62
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.ts +93 -109
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityDocumentationGenerator.ts +8 -27
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.ts +33 -38
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.ts +30 -30
- package/analyzer-template/packages/ai/src/lib/types/index.ts +2 -0
- package/analyzer-template/packages/ai/src/lib/worker/SerializableDataStructure.ts +39 -0
- package/analyzer-template/packages/analyze/src/lib/FileAnalyzer.ts +52 -6
- package/analyzer-template/packages/analyze/src/lib/asts/nodes/index.ts +2 -1
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.ts +238 -0
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getDeclaredEntityNode.ts +25 -0
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/index.ts +2 -0
- package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +8 -10
- package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +6 -1
- package/analyzer-template/packages/analyze/src/lib/files/analyze/gatherEntityMap.ts +8 -6
- package/analyzer-template/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.ts +5 -13
- package/analyzer-template/packages/analyze/src/lib/files/analyzeChange.ts +34 -15
- package/analyzer-template/packages/analyze/src/lib/files/analyzeEntity.ts +17 -3
- package/analyzer-template/packages/analyze/src/lib/files/analyzeInitial.ts +35 -16
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +7 -1
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.ts +9 -1
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarioData.ts +6 -1
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarios.ts +9 -1
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +15 -7
- package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.d.ts +23 -0
- package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.d.ts.map +1 -0
- package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.js +30 -0
- package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.js.map +1 -0
- package/analyzer-template/packages/aws/package.json +5 -4
- package/analyzer-template/packages/aws/s3/index.ts +4 -0
- package/analyzer-template/packages/aws/src/lib/s3/getPresignedUrl.ts +62 -0
- package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.ts +28 -21
- package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.ts +18 -11
- package/analyzer-template/packages/generate/src/lib/scenarioComponent.ts +6 -3
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +28 -21
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js +18 -11
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.js +5 -3
- package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.js.map +1 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.d.ts +2 -0
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.js +3 -0
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.js.map +1 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelations.d.ts +2 -0
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelations.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/debugReportsTable.d.ts +37 -0
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/debugReportsTable.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/debugReportsTable.js +27 -0
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/debugReportsTable.js.map +1 -0
- package/analyzer-template/packages/github/dist/utils/index.d.ts +2 -0
- package/analyzer-template/packages/github/dist/utils/index.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/utils/index.js +2 -0
- package/analyzer-template/packages/github/dist/utils/index.js.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.d.ts +25 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.js +40 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.js.map +1 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getNextRoutePath.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getNextRoutePath.js +5 -3
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getNextRoutePath.js.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getRemixRoutePath.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getRemixRoutePath.js +2 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getRemixRoutePath.js.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +2 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts +12 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +32 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
- package/analyzer-template/packages/supabase/src/lib/kysely/db.ts +6 -0
- package/analyzer-template/packages/supabase/src/lib/kysely/tableRelations.ts +3 -0
- package/analyzer-template/packages/supabase/src/lib/kysely/tables/debugReportsTable.ts +61 -0
- package/analyzer-template/packages/ui-components/src/scenario-editor/components/DataItemEditor.tsx +1 -1
- package/analyzer-template/packages/utils/dist/utils/index.d.ts +2 -0
- package/analyzer-template/packages/utils/dist/utils/index.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/index.js +2 -0
- package/analyzer-template/packages/utils/dist/utils/index.js.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.d.ts +25 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.d.ts.map +1 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.js +40 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.js.map +1 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getNextRoutePath.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getNextRoutePath.js +5 -3
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getNextRoutePath.js.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getRemixRoutePath.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getRemixRoutePath.js +2 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getRemixRoutePath.js.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +2 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts +12 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts.map +1 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +32 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
- package/analyzer-template/packages/utils/index.ts +2 -0
- package/analyzer-template/packages/utils/src/lib/Semaphore.ts +42 -0
- package/analyzer-template/packages/utils/src/lib/frameworks/getNextRoutePath.ts +8 -3
- package/analyzer-template/packages/utils/src/lib/frameworks/getRemixRoutePath.ts +2 -1
- package/analyzer-template/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.ts +2 -1
- package/analyzer-template/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.ts +1 -0
- package/analyzer-template/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.ts +33 -0
- package/analyzer-template/project/constructMockCode.ts +170 -6
- package/analyzer-template/project/reconcileMockDataKeys.ts +13 -0
- package/analyzer-template/project/start.ts +1 -11
- package/analyzer-template/project/startScenarioCapture.ts +24 -0
- package/analyzer-template/project/trackGeneratedFiles.ts +41 -0
- package/analyzer-template/project/writeMockDataTsx.ts +125 -4
- package/analyzer-template/project/writeScenarioComponents.ts +199 -45
- package/analyzer-template/project/writeUniversalMocks.ts +72 -10
- package/background/src/lib/virtualized/project/constructMockCode.js +158 -7
- package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
- package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +12 -0
- package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
- package/background/src/lib/virtualized/project/start.js +1 -8
- package/background/src/lib/virtualized/project/start.js.map +1 -1
- package/background/src/lib/virtualized/project/startScenarioCapture.js +18 -0
- package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
- package/background/src/lib/virtualized/project/trackGeneratedFiles.js +30 -0
- package/background/src/lib/virtualized/project/trackGeneratedFiles.js.map +1 -0
- package/background/src/lib/virtualized/project/writeMockDataTsx.js +95 -3
- package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
- package/background/src/lib/virtualized/project/writeScenarioComponents.js +144 -28
- package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
- package/background/src/lib/virtualized/project/writeUniversalMocks.js +59 -9
- package/background/src/lib/virtualized/project/writeUniversalMocks.js.map +1 -1
- package/codeyam-cli/scripts/apply-setup.js +288 -0
- package/codeyam-cli/scripts/apply-setup.js.map +1 -0
- package/codeyam-cli/scripts/extract-setup.js +130 -0
- package/codeyam-cli/scripts/extract-setup.js.map +1 -0
- package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js +238 -0
- package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js.map +1 -0
- package/codeyam-cli/src/cli.js +6 -0
- package/codeyam-cli/src/cli.js.map +1 -1
- package/codeyam-cli/src/codeyam-cli.js +0 -0
- package/codeyam-cli/src/commands/debug.js +221 -0
- package/codeyam-cli/src/commands/debug.js.map +1 -0
- package/codeyam-cli/src/commands/init.js +4 -23
- package/codeyam-cli/src/commands/init.js.map +1 -1
- package/codeyam-cli/src/commands/report.js +102 -0
- package/codeyam-cli/src/commands/report.js.map +1 -0
- package/codeyam-cli/src/commands/setup-sandbox.js +164 -0
- package/codeyam-cli/src/commands/setup-sandbox.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/cleanupAnalysisFiles.test.js +6 -6
- package/codeyam-cli/src/utils/__tests__/cleanupAnalysisFiles.test.js.map +1 -1
- package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +8 -0
- package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
- package/codeyam-cli/src/utils/analysisRunner.js +4 -3
- package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
- package/codeyam-cli/src/utils/analyzer.js +30 -0
- package/codeyam-cli/src/utils/analyzer.js.map +1 -1
- package/codeyam-cli/src/utils/backgroundServer.js +25 -5
- package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
- package/codeyam-cli/src/utils/cleanupAnalysisFiles.js +2 -2
- package/codeyam-cli/src/utils/cleanupAnalysisFiles.js.map +1 -1
- package/codeyam-cli/src/utils/fileWatcher.js +75 -5
- package/codeyam-cli/src/utils/fileWatcher.js.map +1 -1
- package/codeyam-cli/src/utils/generateReport.js +219 -0
- package/codeyam-cli/src/utils/generateReport.js.map +1 -0
- package/codeyam-cli/src/utils/install-skills.js +7 -0
- package/codeyam-cli/src/utils/install-skills.js.map +1 -1
- package/codeyam-cli/src/utils/queue/__tests__/job.pidTracking.test.js +1 -0
- package/codeyam-cli/src/utils/queue/__tests__/job.pidTracking.test.js.map +1 -1
- package/codeyam-cli/src/utils/queue/job.js +8 -3
- package/codeyam-cli/src/utils/queue/job.js.map +1 -1
- package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +4 -0
- package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
- package/codeyam-cli/src/utils/webappDetection.js +2 -1
- package/codeyam-cli/src/utils/webappDetection.js.map +1 -1
- package/codeyam-cli/src/webserver/app/lib/database.js +63 -2
- package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
- package/codeyam-cli/src/webserver/backgroundServer.js +15 -35
- package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-D5ZHFomX.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{InteractivePreview-Dh-FldQK.js → InteractivePreview-XDSzQLOY.js} +3 -3
- package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-BYVx9KFp.js +3 -0
- package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-Dp6DC845.js → LogViewer-CRcT5fOZ.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-BORLgi0X.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-Bual6h18.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/ScenarioPreview-Bi-YUMa-.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-4D2vLLJz.js +5 -0
- package/codeyam-cli/src/webserver/build/client/assets/_index-BC200mfN.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-CxvZPkCv.js +10 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.generate-report-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{chart-column-B2I7jQx2.js → chart-column-B8fb6wnw.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/chunk-WWGJGFF6-De6i8FUT.js +26 -0
- package/codeyam-cli/src/webserver/build/client/assets/{circle-alert-GwwOAbhw.js → circle-alert-IdsgAK39.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/circle-check-BACUUf75.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/clock-vWeoCemX.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-CS7XDrKv.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/dev.empty-DIOEw_3i.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-1Z6D0fLM.js → entity._sha._-8Els_3Wb.js} +10 -10
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-C3FZJx1w.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-YJz_igar.js +5 -0
- package/codeyam-cli/src/webserver/build/client/assets/entityStatus-BEqj2qBy.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{entityVersioning-DO2gCvXv.js → entityVersioning-Bk_YB1jM.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/entry.client-DiP0q291.js +5 -0
- package/codeyam-cli/src/webserver/build/client/assets/file-text-LM0mgxXE.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/files-Dxh9CcaV.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/git-BXmqrWCH.js +12 -0
- package/codeyam-cli/src/webserver/build/client/assets/globals-BGS74ED-.css +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/html2canvas-pro.esm-XQCGvadH.js +5 -0
- package/codeyam-cli/src/webserver/build/client/assets/index-D-zYbzFZ.js +8 -0
- package/codeyam-cli/src/webserver/build/client/assets/{loader-circle-DN7Vr40D.js → loader-circle-BXPKbHEb.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/manifest-1af162d4.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/root-DB7VgjCY.js +16 -0
- package/codeyam-cli/src/webserver/build/client/assets/{settings-MZc4XdmE.js → settings-5zF_GOcS.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/settings-Dc4MlMpK.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/simulations-BQ-02-jB.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/triangle-alert-D7k-ArFa.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{useLastLogLine-BBlyqxij.js → useLastLogLine-AlhS7g5F.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/useToast-Ddo4UQv7.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{zap-B4gsLUZQ.js → zap-_jw-9DCp.js} +1 -1
- package/codeyam-cli/src/webserver/build/server/assets/index-D4JpXSIO.js +1 -0
- package/codeyam-cli/src/webserver/build/server/assets/server-build-vwbN7n65.js +169 -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/server.js +1 -1
- package/codeyam-cli/src/webserver/server.js.map +1 -1
- package/codeyam-cli/templates/codeyam-setup-skill.md +85 -94
- package/codeyam-cli/templates/debug-command.md +125 -0
- package/package.json +9 -11
- package/packages/ai/index.js +1 -2
- package/packages/ai/index.js.map +1 -1
- package/packages/ai/src/lib/analyzeScope.js +13 -0
- package/packages/ai/src/lib/analyzeScope.js.map +1 -1
- package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +6 -15
- package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
- package/packages/ai/src/lib/astScopes/methodSemantics.js +134 -0
- package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
- package/packages/ai/src/lib/astScopes/paths.js +28 -3
- package/packages/ai/src/lib/astScopes/paths.js.map +1 -1
- package/packages/ai/src/lib/astScopes/processExpression.js +111 -3
- package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
- package/packages/ai/src/lib/checkAllAttributes.js +1 -3
- package/packages/ai/src/lib/checkAllAttributes.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +1320 -396
- package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.js +137 -1
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js +1 -1
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js +112 -0
- package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/DebugTracer.js +176 -0
- package/packages/ai/src/lib/dataStructure/helpers/DebugTracer.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/PathManager.js +178 -0
- package/packages/ai/src/lib/dataStructure/helpers/PathManager.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js +138 -0
- package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/VisitedTracker.js +199 -0
- package/packages/ai/src/lib/dataStructure/helpers/VisitedTracker.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +14 -6
- package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/selectBestValue.js +62 -0
- package/packages/ai/src/lib/dataStructure/helpers/selectBestValue.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.js +90 -0
- package/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.js.map +1 -0
- package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js +22 -0
- package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js.map +1 -1
- package/packages/ai/src/lib/generateChangesEntityDocumentation.js +19 -1
- package/packages/ai/src/lib/generateChangesEntityDocumentation.js.map +1 -1
- package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js +51 -107
- package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js.map +1 -1
- package/packages/ai/src/lib/generateChangesEntityScenarioData.js +55 -156
- package/packages/ai/src/lib/generateChangesEntityScenarioData.js.map +1 -1
- package/packages/ai/src/lib/generateChangesEntityScenarios.js +79 -262
- package/packages/ai/src/lib/generateChangesEntityScenarios.js.map +1 -1
- package/packages/ai/src/lib/generateEntityDocumentation.js +15 -1
- package/packages/ai/src/lib/generateEntityDocumentation.js.map +1 -1
- package/packages/ai/src/lib/generateEntityKeyAttributes.js +53 -176
- package/packages/ai/src/lib/generateEntityKeyAttributes.js.map +1 -1
- package/packages/ai/src/lib/generateEntityScenarioData.js +52 -152
- package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
- package/packages/ai/src/lib/generateEntityScenarios.js +88 -258
- package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
- package/packages/ai/src/lib/generateStatementAnalysis.js +46 -71
- package/packages/ai/src/lib/generateStatementAnalysis.js.map +1 -1
- package/packages/ai/src/lib/getConditionalUsagesFromCode.js +13 -8
- package/packages/ai/src/lib/getConditionalUsagesFromCode.js.map +1 -1
- package/packages/ai/src/lib/getLLMCallStats.js +0 -14
- package/packages/ai/src/lib/getLLMCallStats.js.map +1 -1
- package/packages/ai/src/lib/modelInfo.js +15 -0
- package/packages/ai/src/lib/modelInfo.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js +36 -3
- package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityDocumentationGenerator.js +8 -33
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityDocumentationGenerator.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js +35 -41
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js +59 -72
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateEntityDocumentationGenerator.js +8 -27
- package/packages/ai/src/lib/promptGenerators/generateEntityDocumentationGenerator.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js +24 -27
- package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js +21 -22
- package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js.map +1 -1
- package/packages/ai/src/lib/types/index.js +2 -0
- package/packages/ai/src/lib/types/index.js.map +1 -1
- package/packages/ai/src/lib/worker/SerializableDataStructure.js +7 -0
- package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
- package/packages/analyze/src/lib/FileAnalyzer.js +45 -5
- package/packages/analyze/src/lib/FileAnalyzer.js.map +1 -1
- package/packages/analyze/src/lib/asts/nodes/index.js +2 -1
- package/packages/analyze/src/lib/asts/nodes/index.js.map +1 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js +191 -0
- package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js.map +1 -0
- package/packages/analyze/src/lib/asts/sourceFiles/getDeclaredEntityNode.js +16 -0
- package/packages/analyze/src/lib/asts/sourceFiles/getDeclaredEntityNode.js.map +1 -0
- package/packages/analyze/src/lib/asts/sourceFiles/index.js +2 -0
- package/packages/analyze/src/lib/asts/sourceFiles/index.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +6 -8
- package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +5 -1
- package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +8 -2
- package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js +5 -8
- package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js.map +1 -1
- package/packages/analyze/src/lib/files/analyzeChange.js +21 -9
- package/packages/analyze/src/lib/files/analyzeChange.js.map +1 -1
- package/packages/analyze/src/lib/files/analyzeEntity.js +10 -4
- package/packages/analyze/src/lib/files/analyzeEntity.js.map +1 -1
- package/packages/analyze/src/lib/files/analyzeInitial.js +21 -9
- package/packages/analyze/src/lib/files/analyzeInitial.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +6 -1
- package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js +9 -1
- package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js +5 -1
- package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateScenarios.js +9 -1
- package/packages/analyze/src/lib/files/scenarios/generateScenarios.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +16 -7
- package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
- package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +28 -21
- package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
- package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js +18 -11
- package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js.map +1 -1
- package/packages/generate/src/lib/scenarioComponent.js +5 -3
- package/packages/generate/src/lib/scenarioComponent.js.map +1 -1
- package/packages/supabase/src/lib/kysely/db.js +3 -0
- package/packages/supabase/src/lib/kysely/db.js.map +1 -1
- package/packages/supabase/src/lib/kysely/tables/debugReportsTable.js +27 -0
- package/packages/supabase/src/lib/kysely/tables/debugReportsTable.js.map +1 -0
- package/packages/utils/index.js +2 -0
- package/packages/utils/index.js.map +1 -1
- package/packages/utils/src/lib/Semaphore.js +40 -0
- package/packages/utils/src/lib/Semaphore.js.map +1 -0
- package/packages/utils/src/lib/frameworks/getNextRoutePath.js +5 -3
- package/packages/utils/src/lib/frameworks/getNextRoutePath.js.map +1 -1
- package/packages/utils/src/lib/frameworks/getRemixRoutePath.js +2 -1
- package/packages/utils/src/lib/frameworks/getRemixRoutePath.js.map +1 -1
- package/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +2 -1
- package/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
- package/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
- package/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
- package/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +32 -0
- package/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
- package/analyzer-template/packages/ai/src/lib/generateEntityDataMap.ts +0 -375
- package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-GqWwt5wG.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-p0fuyqGQ.js +0 -3
- package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-xwuhwsZH.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/ScenarioPreview-Bl2IRh55.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-M2QuSHKC.js +0 -5
- package/codeyam-cli/src/webserver/build/client/assets/_index-CAVtep9Q.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-CLmzsLsT.js +0 -10
- package/codeyam-cli/src/webserver/build/client/assets/components-CAx5ONX_.js +0 -40
- package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-CgyOwWip.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/dev.empty-DGy3zrli.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-ChAdTrrU.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-D9L7267w.js +0 -5
- package/codeyam-cli/src/webserver/build/client/assets/entry.client-C6FRgjPr.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/files-C3-cQjgv.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/git-Dp4EB9nv.js +0 -12
- package/codeyam-cli/src/webserver/build/client/assets/globals-Da3jt49-.css +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/manifest-172a4629.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/root-COyVTsPq.js +0 -16
- package/codeyam-cli/src/webserver/build/client/assets/search-CvyP_1Lo.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/settings-Hbf8b7J_.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/simulations-BMBi0VzO.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/useToast-C_VxoXTh.js +0 -1
- package/codeyam-cli/src/webserver/build/client/cy-logo-cli.svg +0 -13
- package/codeyam-cli/src/webserver/build/server/assets/index-eAULANMV.js +0 -1
- package/codeyam-cli/src/webserver/build/server/assets/server-build-lutv16q5.js +0 -161
- package/codeyam-cli/src/webserver/public/cy-logo-cli.svg +0 -13
- package/packages/ai/src/lib/generateEntityDataMap.js +0 -335
- package/packages/ai/src/lib/generateEntityDataMap.js.map +0 -1
- package/packages/ai/src/lib/promptGenerators/generateEntityDataMapGenerator.js +0 -17
- package/packages/ai/src/lib/promptGenerators/generateEntityDataMapGenerator.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../../../../../src/webserver/app/lib/database.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../../../../../src/webserver/app/lib/database.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,6 @@
|
|
|
2
2
|
// This script runs the Remix server in the background
|
|
3
3
|
import { startRemixServer } from "./server.js";
|
|
4
4
|
import { createFileWatcher } from "../utils/fileWatcher.js";
|
|
5
|
-
import { syncUncommittedEntities } from "../utils/syncUncommittedEntities.js";
|
|
6
|
-
import { loadProject } from "../../../packages/supabase/index.js";
|
|
7
|
-
import { ProjectAnalyzer } from "../../../packages/analyze/index.js";
|
|
8
5
|
import { setProjectRoot } from "../state.js";
|
|
9
6
|
import { AnalysisQueue } from "../utils/queue/manager.js";
|
|
10
7
|
import { checkForStaleProcesses } from "../utils/queue/heartbeat.js";
|
|
@@ -65,39 +62,10 @@ async function main() {
|
|
|
65
62
|
});
|
|
66
63
|
await analysisQueue.start();
|
|
67
64
|
console.log('📋 Analysis queue initialized');
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
analysisQueue,
|
|
71
|
-
dbNotifier, // Pass the SAME dbNotifier instance to Remix routes
|
|
72
|
-
});
|
|
73
|
-
console.log(`✅ CodeYam server running at ${url}`);
|
|
74
|
-
// Start file watcher if we have project and branch info
|
|
65
|
+
// Start file watcher BEFORE the server if we have project and branch info
|
|
66
|
+
// This ensures the database is in sync with the filesystem before accepting requests
|
|
75
67
|
if (project?.id && branch?.id) {
|
|
76
68
|
try {
|
|
77
|
-
// Sync uncommitted entities before starting the file watcher
|
|
78
|
-
// This catches any changes that happened while the server was off
|
|
79
|
-
console.log('🔄 Syncing uncommitted entities...');
|
|
80
|
-
const fullProject = await loadProject({
|
|
81
|
-
id: project.id,
|
|
82
|
-
withFiles: true,
|
|
83
|
-
});
|
|
84
|
-
if (fullProject) {
|
|
85
|
-
// Ensure files array exists (loadProject with withFiles: true should populate it, but be defensive)
|
|
86
|
-
if (!fullProject.files) {
|
|
87
|
-
fullProject.files = [];
|
|
88
|
-
}
|
|
89
|
-
const projectAnalyzer = await ProjectAnalyzer.from({
|
|
90
|
-
project: fullProject,
|
|
91
|
-
dirPath: rootPath,
|
|
92
|
-
});
|
|
93
|
-
await syncUncommittedEntities({
|
|
94
|
-
projectId: project.id,
|
|
95
|
-
branchId: branch.id,
|
|
96
|
-
projectRootPath: rootPath,
|
|
97
|
-
projectAnalyzer,
|
|
98
|
-
});
|
|
99
|
-
console.log('✅ Sync complete');
|
|
100
|
-
}
|
|
101
69
|
// Load project config to get pathsToIgnore
|
|
102
70
|
let customIgnorePatterns = [];
|
|
103
71
|
try {
|
|
@@ -113,7 +81,11 @@ async function main() {
|
|
|
113
81
|
catch (error) {
|
|
114
82
|
console.warn('⚠️ Failed to load pathsToIgnore from config:', error);
|
|
115
83
|
}
|
|
116
|
-
|
|
84
|
+
// createFileWatcher now awaits start() which includes initial sync
|
|
85
|
+
// This replaces the old syncUncommittedEntities call with a more complete sync
|
|
86
|
+
// that also compares code SHAs and creates new entity versions if needed
|
|
87
|
+
console.log('🔄 Starting file watcher with initial sync...');
|
|
88
|
+
fileWatcher = await createFileWatcher({
|
|
117
89
|
projectId: project.id,
|
|
118
90
|
branchId: branch.id,
|
|
119
91
|
projectRootPath: rootPath,
|
|
@@ -126,6 +98,14 @@ async function main() {
|
|
|
126
98
|
console.error('Failed to start file watcher:', error);
|
|
127
99
|
}
|
|
128
100
|
}
|
|
101
|
+
// Start server AFTER file watcher is fully initialized
|
|
102
|
+
// This ensures /api/health only returns 200 when the system is truly ready
|
|
103
|
+
const { url } = await startRemixServer({
|
|
104
|
+
port,
|
|
105
|
+
analysisQueue,
|
|
106
|
+
dbNotifier, // Pass the SAME dbNotifier instance to Remix routes
|
|
107
|
+
});
|
|
108
|
+
console.log(`✅ CodeYam server running at ${url}`);
|
|
129
109
|
}
|
|
130
110
|
main().catch((error) => {
|
|
131
111
|
console.error('❌ Failed to start CodeYam server:', error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backgroundServer.js","sourceRoot":"","sources":["../../../../src/webserver/backgroundServer.ts"],"names":[],"mappings":";AAEA,sDAAsD;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAe,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"backgroundServer.js","sourceRoot":"","sources":["../../../../src/webserver/backgroundServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as e}from"./chunk-WWGJGFF6-De6i8FUT.js";import{F as n}from"./file-text-LM0mgxXE.js";import{c as r}from"./createLucideIcon-CS7XDrKv.js";import{C as i}from"./chart-column-B8fb6wnw.js";const s=[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]],d=r("box",s);const g=[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]],b=r("code-xml",g);const f=[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]],a=r("code",f);const C=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],h=r("image",C);const x=[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]],p=r("list",x);const y=[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]],m=r("tag",y);function _({type:c}){const t={visual:{iconColor:"#7c3aed",bgColor:"bg-purple-100",bgHex:"#f3e8ff"},library:{iconColor:"#06b6d5",bgColor:"bg-[#e6fbff]",bgHex:"#e6fbff"},type:{iconColor:"#db2627",bgColor:"bg-[#ffe1e1]",bgHex:"#ffe1e1"},data:{iconColor:"#2563eb",bgColor:"bg-blue-100",bgHex:"#dbeafe"},index:{iconColor:"#ea580c",bgColor:"bg-orange-100",bgHex:"#ffedd5"},functionCall:{iconColor:"#7c3aed",bgColor:"bg-purple-100",bgHex:"#f3e8ff"},class:{iconColor:"#059669",bgColor:"bg-emerald-100",bgHex:"#d1fae5"},method:{iconColor:"#0891b2",bgColor:"bg-cyan-100",bgHex:"#cffafe"},other:{iconColor:"#6b7280",bgColor:"bg-gray-100",bgHex:"#f3f4f6"}},o=t[c]||t.other,l=()=>{switch(c){case"library":return e.jsx(b,{size:14,color:o.iconColor});case"visual":return e.jsx(h,{size:14,color:o.iconColor});case"type":return e.jsx(m,{size:14,color:o.iconColor});case"data":return e.jsx(i,{size:14,color:o.iconColor});case"index":return e.jsx(p,{size:14,color:o.iconColor});case"functionCall":return e.jsx(a,{size:14,color:o.iconColor});case"class":return e.jsx(d,{size:14,color:o.iconColor});case"method":return e.jsx(a,{size:14,color:o.iconColor});case"other":return e.jsx(n,{size:14,color:o.iconColor});default:return e.jsx(n,{size:14,color:o.iconColor})}};return e.jsx("span",{className:`flex items-center justify-center w-5 h-5 rounded ${o.bgColor}`,children:l()})}export{b as C,_ as E,h as I};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{r as _,j as z,
|
|
1
|
+
import{r as _,j as z,A as Z,b as He}from"./chunk-WWGJGFF6-De6i8FUT.js";import{u as ze}from"./useLastLogLine-AlhS7g5F.js";import{r as Ee}from"./index-D-zYbzFZ.js";const Te=_.createContext({dimensions:{height:720,width:1200},updateDimensions:()=>{},iframeRef:{current:null},scale:1,updateScale:()=>{},maxWidth:1200,updateMaxWidth:()=>{}}),Ie=()=>{const i=_.useContext(Te);if(!i)throw new Error("useWebContainer must be used within a WebContainerProvider");return i},at=({children:i})=>{const[m,f]=_.useState({height:720,width:1200}),[c,w]=_.useState(1),[u,y]=_.useState(1200),R=_.useRef(null),h=_.useCallback(({height:d,width:D})=>{f(x=>({height:d??x.height,width:D??x.width}))},[]),v=_.useCallback(d=>{w(d)},[]),O=_.useCallback(d=>{y(d)},[]);return z.jsx(Te.Provider,{value:{dimensions:m,updateDimensions:h,iframeRef:R,scale:c,updateScale:v,maxWidth:u,updateMaxWidth:O},children:i})};var U={exports:{}},X={},$={exports:{}},ie={},se={exports:{}},le,fe;function Le(){if(fe)return le;fe=1;var i="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return le=i,le}var ue,de;function Fe(){if(de)return ue;de=1;var i=Le();function m(){}function f(){}return f.resetWarningCache=m,ue=function(){function c(y,R,h,v,O,d){if(d!==i){var D=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw D.name="Invariant Violation",D}}c.isRequired=c;function w(){return c}var u={array:c,bigint:c,bool:c,func:c,number:c,object:c,string:c,symbol:c,any:c,arrayOf:w,element:c,elementType:c,instanceOf:w,node:c,objectOf:w,oneOf:w,oneOfType:w,shape:w,exact:w,checkPropTypes:f,resetWarningCache:m};return u.PropTypes=u,u},ue}var pe;function re(){return pe||(pe=1,se.exports=Fe()()),se.exports}var Q={exports:{}},he;function Be(){if(he)return Q.exports;he=1;function i(f){var c,w,u="";if(typeof f=="string"||typeof f=="number")u+=f;else if(typeof f=="object")if(Array.isArray(f)){var y=f.length;for(c=0;c<y;c++)f[c]&&(w=i(f[c]))&&(u&&(u+=" "),u+=w)}else for(w in f)f[w]&&(u&&(u+=" "),u+=w);return u}function m(){for(var f,c,w=0,u="",y=arguments.length;w<y;w++)(f=arguments[w])&&(c=i(f))&&(u&&(u+=" "),u+=c);return u}return Q.exports=m,Q.exports.clsx=m,Q.exports}var N={},B={},ge;function ne(){if(ge)return B;ge=1,Object.defineProperty(B,"__esModule",{value:!0}),B.dontSetMe=w,B.findInArray=i,B.int=c,B.isFunction=m,B.isNum=f;function i(u,y){for(let R=0,h=u.length;R<h;R++)if(y.apply(y,[u[R],R,u]))return u[R]}function m(u){return typeof u=="function"||Object.prototype.toString.call(u)==="[object Function]"}function f(u){return typeof u=="number"&&!isNaN(u)}function c(u){return parseInt(u,10)}function w(u,y,R){if(u[y])return new Error(`Invalid prop ${y} passed to ${R} - do not set this, set it on the child.`)}return B}var Y={},me;function Ye(){if(me)return Y;me=1,Object.defineProperty(Y,"__esModule",{value:!0}),Y.browserPrefixToKey=f,Y.browserPrefixToStyle=c,Y.default=void 0,Y.getPrefix=m;const i=["Moz","Webkit","O","ms"];function m(){let u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"transform";if(typeof window>"u")return"";const y=window.document?.documentElement?.style;if(!y||u in y)return"";for(let R=0;R<i.length;R++)if(f(u,i[R])in y)return i[R];return""}function f(u,y){return y?`${y}${w(u)}`:u}function c(u,y){return y?`-${y.toLowerCase()}-${u}`:u}function w(u){let y="",R=!0;for(let h=0;h<u.length;h++)R?(y+=u[h].toUpperCase(),R=!1):u[h]==="-"?R=!0:y+=u[h];return y}return Y.default=m(),Y}var ve;function ce(){if(ve)return N;ve=1,Object.defineProperty(N,"__esModule",{value:!0}),N.addClassName=r,N.addEvent=y,N.addUserSelectStyles=t,N.createCSSTransform=x,N.createSVGTransform=P,N.getTouch=g,N.getTouchIdentifier=s,N.getTranslation=S,N.innerHeight=O,N.innerWidth=d,N.matchesSelector=w,N.matchesSelectorAndParentsTo=u,N.offsetXYFromParent=D,N.outerHeight=h,N.outerWidth=v,N.removeClassName=n,N.removeEvent=R,N.scheduleRemoveUserSelectStyles=a;var i=ne(),m=f(Ye());function f(e,l){if(typeof WeakMap=="function")var p=new WeakMap,M=new WeakMap;return(f=function(b,C){if(!C&&b&&b.__esModule)return b;var E,T,q={__proto__:null,default:b};if(b===null||typeof b!="object"&&typeof b!="function")return q;if(E=C?M:p){if(E.has(b))return E.get(b);E.set(b,q)}for(const j in b)j!=="default"&&{}.hasOwnProperty.call(b,j)&&((T=(E=Object.defineProperty)&&Object.getOwnPropertyDescriptor(b,j))&&(T.get||T.set)?E(q,j,T):q[j]=b[j]);return q})(e,l)}let c="";function w(e,l){return c||(c=(0,i.findInArray)(["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"],function(p){return(0,i.isFunction)(e[p])})),(0,i.isFunction)(e[c])?e[c](l):!1}function u(e,l,p){let M=e;do{if(w(M,l))return!0;if(M===p)return!1;M=M.parentNode}while(M);return!1}function y(e,l,p,M){if(!e)return;const b={capture:!0,...M};e.addEventListener?e.addEventListener(l,p,b):e.attachEvent?e.attachEvent("on"+l,p):e["on"+l]=p}function R(e,l,p,M){if(!e)return;const b={capture:!0,...M};e.removeEventListener?e.removeEventListener(l,p,b):e.detachEvent?e.detachEvent("on"+l,p):e["on"+l]=null}function h(e){let l=e.clientHeight;const p=e.ownerDocument.defaultView.getComputedStyle(e);return l+=(0,i.int)(p.borderTopWidth),l+=(0,i.int)(p.borderBottomWidth),l}function v(e){let l=e.clientWidth;const p=e.ownerDocument.defaultView.getComputedStyle(e);return l+=(0,i.int)(p.borderLeftWidth),l+=(0,i.int)(p.borderRightWidth),l}function O(e){let l=e.clientHeight;const p=e.ownerDocument.defaultView.getComputedStyle(e);return l-=(0,i.int)(p.paddingTop),l-=(0,i.int)(p.paddingBottom),l}function d(e){let l=e.clientWidth;const p=e.ownerDocument.defaultView.getComputedStyle(e);return l-=(0,i.int)(p.paddingLeft),l-=(0,i.int)(p.paddingRight),l}function D(e,l,p){const b=l===l.ownerDocument.body?{left:0,top:0}:l.getBoundingClientRect(),C=(e.clientX+l.scrollLeft-b.left)/p,E=(e.clientY+l.scrollTop-b.top)/p;return{x:C,y:E}}function x(e,l){const p=S(e,l,"px");return{[(0,m.browserPrefixToKey)("transform",m.default)]:p}}function P(e,l){return S(e,l,"")}function S(e,l,p){let{x:M,y:b}=e,C=`translate(${M}${p},${b}${p})`;if(l){const E=`${typeof l.x=="string"?l.x:l.x+p}`,T=`${typeof l.y=="string"?l.y:l.y+p}`;C=`translate(${E}, ${T})`+C}return C}function g(e,l){return e.targetTouches&&(0,i.findInArray)(e.targetTouches,p=>l===p.identifier)||e.changedTouches&&(0,i.findInArray)(e.changedTouches,p=>l===p.identifier)}function s(e){if(e.targetTouches&&e.targetTouches[0])return e.targetTouches[0].identifier;if(e.changedTouches&&e.changedTouches[0])return e.changedTouches[0].identifier}function t(e){if(!e)return;let l=e.getElementById("react-draggable-style-el");l||(l=e.createElement("style"),l.type="text/css",l.id="react-draggable-style-el",l.innerHTML=`.react-draggable-transparent-selection *::-moz-selection {all: inherit;}
|
|
2
2
|
`,l.innerHTML+=`.react-draggable-transparent-selection *::selection {all: inherit;}
|
|
3
|
-
`,e.getElementsByTagName("head")[0].appendChild(l)),e.body&&r(e.body,"react-draggable-transparent-selection")}function a(e){window.requestAnimationFrame?window.requestAnimationFrame(()=>{o(e)}):o(e)}function o(e){if(e)try{if(e.body&&n(e.body,"react-draggable-transparent-selection"),e.selection)e.selection.empty();else{const l=(e.defaultView||window).getSelection();l&&l.type!=="Caret"&&l.removeAllRanges()}}catch{}}function r(e,l){e.classList?e.classList.add(l):e.className.match(new RegExp(`(?:^|\\s)${l}(?!\\S)`))||(e.className+=` ${l}`)}function n(e,l){e.classList?e.classList.remove(l):e.className=e.className.replace(new RegExp(`(?:^|\\s)${l}(?!\\S)`,"g"),"")}return N}var L={},ye;function je(){if(ye)return L;ye=1,Object.defineProperty(L,"__esModule",{value:!0}),L.canDragX=w,L.canDragY=u,L.createCoreData=R,L.createDraggableData=h,L.getBoundPosition=f,L.getControlPosition=y,L.snapToGrid=c;var i=ne(),m=ce();function f(d,D,x){if(!d.props.bounds)return[D,x];let{bounds:P}=d.props;P=typeof P=="string"?P:v(P);const S=O(d);if(typeof P=="string"){const{ownerDocument:g}=S,s=g.defaultView;let t;if(P==="parent"?t=S.parentNode:t=S.getRootNode().querySelector(P),!(t instanceof s.HTMLElement))throw new Error('Bounds selector "'+P+'" could not find an element.');const a=t,o=s.getComputedStyle(S),r=s.getComputedStyle(a);P={left:-S.offsetLeft+(0,i.int)(r.paddingLeft)+(0,i.int)(o.marginLeft),top:-S.offsetTop+(0,i.int)(r.paddingTop)+(0,i.int)(o.marginTop),right:(0,m.innerWidth)(a)-(0,m.outerWidth)(S)-S.offsetLeft+(0,i.int)(r.paddingRight)-(0,i.int)(o.marginRight),bottom:(0,m.innerHeight)(a)-(0,m.outerHeight)(S)-S.offsetTop+(0,i.int)(r.paddingBottom)-(0,i.int)(o.marginBottom)}}return(0,i.isNum)(P.right)&&(D=Math.min(D,P.right)),(0,i.isNum)(P.bottom)&&(x=Math.min(x,P.bottom)),(0,i.isNum)(P.left)&&(D=Math.max(D,P.left)),(0,i.isNum)(P.top)&&(x=Math.max(x,P.top)),[D,x]}function c(d,D,x){const P=Math.round(D/d[0])*d[0],S=Math.round(x/d[1])*d[1];return[P,S]}function w(d){return d.props.axis==="both"||d.props.axis==="x"}function u(d){return d.props.axis==="both"||d.props.axis==="y"}function y(d,D,x){const P=typeof D=="number"?(0,m.getTouch)(d,D):null;if(typeof D=="number"&&!P)return null;const S=O(x),g=x.props.offsetParent||S.offsetParent||S.ownerDocument.body;return(0,m.offsetXYFromParent)(P||d,g,x.props.scale)}function R(d,D,x){const P=!(0,i.isNum)(d.lastX),S=O(d);return P?{node:S,deltaX:0,deltaY:0,lastX:D,lastY:x,x:D,y:x}:{node:S,deltaX:D-d.lastX,deltaY:x-d.lastY,lastX:d.lastX,lastY:d.lastY,x:D,y:x}}function h(d,D){const x=d.props.scale;return{node:D.node,x:d.state.x+D.deltaX/x,y:d.state.y+D.deltaY/x,deltaX:D.deltaX/x,deltaY:D.deltaY/x,lastX:d.state.x,lastY:d.state.y}}function v(d){return{left:d.left,top:d.top,right:d.right,bottom:d.bottom}}function O(d){const D=d.findDOMNode();if(!D)throw new Error("<DraggableCore>: Unmounted during event!");return D}return L}var V={},ee={},be;function Ne(){if(be)return ee;be=1,Object.defineProperty(ee,"__esModule",{value:!0}),ee.default=i;function i(){}return ee}var Se;function Ue(){if(Se)return V;Se=1,Object.defineProperty(V,"__esModule",{value:!0}),V.default=void 0;var i=h(Z()),m=R(re()),f=R(ze()),c=ce(),w=je(),u=ne(),y=R(Ne());function R(S){return S&&S.__esModule?S:{default:S}}function h(S,g){if(typeof WeakMap=="function")var s=new WeakMap,t=new WeakMap;return(h=function(a,o){if(!o&&a&&a.__esModule)return a;var r,n,e={__proto__:null,default:a};if(a===null||typeof a!="object"&&typeof a!="function")return e;if(r=o?t:s){if(r.has(a))return r.get(a);r.set(a,e)}for(const l in a)l!=="default"&&{}.hasOwnProperty.call(a,l)&&((n=(r=Object.defineProperty)&&Object.getOwnPropertyDescriptor(a,l))&&(n.get||n.set)?r(e,l,n):e[l]=a[l]);return e})(S,g)}function v(S,g,s){return(g=O(g))in S?Object.defineProperty(S,g,{value:s,enumerable:!0,configurable:!0,writable:!0}):S[g]=s,S}function O(S){var g=d(S,"string");return typeof g=="symbol"?g:g+""}function d(S,g){if(typeof S!="object"||!S)return S;var s=S[Symbol.toPrimitive];if(s!==void 0){var t=s.call(S,g);if(typeof t!="object")return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return(g==="string"?String:Number)(S)}const D={touch:{start:"touchstart",move:"touchmove",stop:"touchend"},mouse:{start:"mousedown",move:"mousemove",stop:"mouseup"}};let x=D.mouse,P=class extends i.Component{constructor(){super(...arguments),v(this,"dragging",!1),v(this,"lastX",NaN),v(this,"lastY",NaN),v(this,"touchIdentifier",null),v(this,"mounted",!1),v(this,"handleDragStart",g=>{if(this.props.onMouseDown(g),!this.props.allowAnyClick&&typeof g.button=="number"&&g.button!==0)return!1;const s=this.findDOMNode();if(!s||!s.ownerDocument||!s.ownerDocument.body)throw new Error("<DraggableCore> not mounted on DragStart!");const{ownerDocument:t}=s;if(this.props.disabled||!(g.target instanceof t.defaultView.Node)||this.props.handle&&!(0,c.matchesSelectorAndParentsTo)(g.target,this.props.handle,s)||this.props.cancel&&(0,c.matchesSelectorAndParentsTo)(g.target,this.props.cancel,s))return;g.type==="touchstart"&&!this.props.allowMobileScroll&&g.preventDefault();const a=(0,c.getTouchIdentifier)(g);this.touchIdentifier=a;const o=(0,w.getControlPosition)(g,a,this);if(o==null)return;const{x:r,y:n}=o,e=(0,w.createCoreData)(this,r,n);(0,y.default)("DraggableCore: handleDragStart: %j",e),(0,y.default)("calling",this.props.onStart),!(this.props.onStart(g,e)===!1||this.mounted===!1)&&(this.props.enableUserSelectHack&&(0,c.addUserSelectStyles)(t),this.dragging=!0,this.lastX=r,this.lastY=n,(0,c.addEvent)(t,x.move,this.handleDrag),(0,c.addEvent)(t,x.stop,this.handleDragStop))}),v(this,"handleDrag",g=>{const s=(0,w.getControlPosition)(g,this.touchIdentifier,this);if(s==null)return;let{x:t,y:a}=s;if(Array.isArray(this.props.grid)){let n=t-this.lastX,e=a-this.lastY;if([n,e]=(0,w.snapToGrid)(this.props.grid,n,e),!n&&!e)return;t=this.lastX+n,a=this.lastY+e}const o=(0,w.createCoreData)(this,t,a);if((0,y.default)("DraggableCore: handleDrag: %j",o),this.props.onDrag(g,o)===!1||this.mounted===!1){try{this.handleDragStop(new MouseEvent("mouseup"))}catch{const e=document.createEvent("MouseEvents");e.initMouseEvent("mouseup",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),this.handleDragStop(e)}return}this.lastX=t,this.lastY=a}),v(this,"handleDragStop",g=>{if(!this.dragging)return;const s=(0,w.getControlPosition)(g,this.touchIdentifier,this);if(s==null)return;let{x:t,y:a}=s;if(Array.isArray(this.props.grid)){let e=t-this.lastX||0,l=a-this.lastY||0;[e,l]=(0,w.snapToGrid)(this.props.grid,e,l),t=this.lastX+e,a=this.lastY+l}const o=(0,w.createCoreData)(this,t,a);if(this.props.onStop(g,o)===!1||this.mounted===!1)return!1;const n=this.findDOMNode();n&&this.props.enableUserSelectHack&&(0,c.scheduleRemoveUserSelectStyles)(n.ownerDocument),(0,y.default)("DraggableCore: handleDragStop: %j",o),this.dragging=!1,this.lastX=NaN,this.lastY=NaN,n&&((0,y.default)("DraggableCore: Removing handlers"),(0,c.removeEvent)(n.ownerDocument,x.move,this.handleDrag),(0,c.removeEvent)(n.ownerDocument,x.stop,this.handleDragStop))}),v(this,"onMouseDown",g=>(x=D.mouse,this.handleDragStart(g))),v(this,"onMouseUp",g=>(x=D.mouse,this.handleDragStop(g))),v(this,"onTouchStart",g=>(x=D.touch,this.handleDragStart(g))),v(this,"onTouchEnd",g=>(x=D.touch,this.handleDragStop(g)))}componentDidMount(){this.mounted=!0;const g=this.findDOMNode();g&&(0,c.addEvent)(g,D.touch.start,this.onTouchStart,{passive:!1})}componentWillUnmount(){this.mounted=!1;const g=this.findDOMNode();if(g){const{ownerDocument:s}=g;(0,c.removeEvent)(s,D.mouse.move,this.handleDrag),(0,c.removeEvent)(s,D.touch.move,this.handleDrag),(0,c.removeEvent)(s,D.mouse.stop,this.handleDragStop),(0,c.removeEvent)(s,D.touch.stop,this.handleDragStop),(0,c.removeEvent)(g,D.touch.start,this.onTouchStart,{passive:!1}),this.props.enableUserSelectHack&&(0,c.scheduleRemoveUserSelectStyles)(s)}}findDOMNode(){return this.props?.nodeRef?this.props?.nodeRef?.current:f.default.findDOMNode(this)}render(){return i.cloneElement(i.Children.only(this.props.children),{onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}};return V.default=P,v(P,"displayName","DraggableCore"),v(P,"propTypes",{allowAnyClick:m.default.bool,allowMobileScroll:m.default.bool,children:m.default.node.isRequired,disabled:m.default.bool,enableUserSelectHack:m.default.bool,offsetParent:function(S,g){if(S[g]&&S[g].nodeType!==1)throw new Error("Draggable's offsetParent must be a DOM Node.")},grid:m.default.arrayOf(m.default.number),handle:m.default.string,cancel:m.default.string,nodeRef:m.default.object,onStart:m.default.func,onDrag:m.default.func,onStop:m.default.func,onMouseDown:m.default.func,scale:m.default.number,className:u.dontSetMe,style:u.dontSetMe,transform:u.dontSetMe}),v(P,"defaultProps",{allowAnyClick:!1,allowMobileScroll:!1,disabled:!1,enableUserSelectHack:!0,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){},scale:1}),V}var we;function Xe(){return we||(we=1,(function(i){Object.defineProperty(i,"__esModule",{value:!0}),Object.defineProperty(i,"DraggableCore",{enumerable:!0,get:function(){return h.default}}),i.default=void 0;var m=d(Z()),f=O(re()),c=O(ze()),w=Be(),u=ce(),y=je(),R=ne(),h=O(Ue()),v=O(Ne());function O(s){return s&&s.__esModule?s:{default:s}}function d(s,t){if(typeof WeakMap=="function")var a=new WeakMap,o=new WeakMap;return(d=function(r,n){if(!n&&r&&r.__esModule)return r;var e,l,p={__proto__:null,default:r};if(r===null||typeof r!="object"&&typeof r!="function")return p;if(e=n?o:a){if(e.has(r))return e.get(r);e.set(r,p)}for(const M in r)M!=="default"&&{}.hasOwnProperty.call(r,M)&&((l=(e=Object.defineProperty)&&Object.getOwnPropertyDescriptor(r,M))&&(l.get||l.set)?e(p,M,l):p[M]=r[M]);return p})(s,t)}function D(){return D=Object.assign?Object.assign.bind():function(s){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)({}).hasOwnProperty.call(a,o)&&(s[o]=a[o])}return s},D.apply(null,arguments)}function x(s,t,a){return(t=P(t))in s?Object.defineProperty(s,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):s[t]=a,s}function P(s){var t=S(s,"string");return typeof t=="symbol"?t:t+""}function S(s,t){if(typeof s!="object"||!s)return s;var a=s[Symbol.toPrimitive];if(a!==void 0){var o=a.call(s,t);if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(s)}class g extends m.Component{static getDerivedStateFromProps(t,a){let{position:o}=t,{prevPropsPosition:r}=a;return o&&(!r||o.x!==r.x||o.y!==r.y)?((0,v.default)("Draggable: getDerivedStateFromProps %j",{position:o,prevPropsPosition:r}),{x:o.x,y:o.y,prevPropsPosition:{...o}}):null}constructor(t){super(t),x(this,"onDragStart",(a,o)=>{if((0,v.default)("Draggable: onDragStart: %j",o),this.props.onStart(a,(0,y.createDraggableData)(this,o))===!1)return!1;this.setState({dragging:!0,dragged:!0})}),x(this,"onDrag",(a,o)=>{if(!this.state.dragging)return!1;(0,v.default)("Draggable: onDrag: %j",o);const r=(0,y.createDraggableData)(this,o),n={x:r.x,y:r.y,slackX:0,slackY:0};if(this.props.bounds){const{x:l,y:p}=n;n.x+=this.state.slackX,n.y+=this.state.slackY;const[M,b]=(0,y.getBoundPosition)(this,n.x,n.y);n.x=M,n.y=b,n.slackX=this.state.slackX+(l-n.x),n.slackY=this.state.slackY+(p-n.y),r.x=n.x,r.y=n.y,r.deltaX=n.x-this.state.x,r.deltaY=n.y-this.state.y}if(this.props.onDrag(a,r)===!1)return!1;this.setState(n)}),x(this,"onDragStop",(a,o)=>{if(!this.state.dragging||this.props.onStop(a,(0,y.createDraggableData)(this,o))===!1)return!1;(0,v.default)("Draggable: onDragStop: %j",o);const n={dragging:!1,slackX:0,slackY:0};if(!!this.props.position){const{x:l,y:p}=this.props.position;n.x=l,n.y=p}this.setState(n)}),this.state={dragging:!1,dragged:!1,x:t.position?t.position.x:t.defaultPosition.x,y:t.position?t.position.y:t.defaultPosition.y,prevPropsPosition:{...t.position},slackX:0,slackY:0,isElementSVG:!1},t.position&&!(t.onDrag||t.onStop)&&console.warn("A `position` was applied to this <Draggable>, without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element.")}componentDidMount(){typeof window.SVGElement<"u"&&this.findDOMNode()instanceof window.SVGElement&&this.setState({isElementSVG:!0})}componentWillUnmount(){this.state.dragging&&this.setState({dragging:!1})}findDOMNode(){return this.props?.nodeRef?.current??c.default.findDOMNode(this)}render(){const{axis:t,bounds:a,children:o,defaultPosition:r,defaultClassName:n,defaultClassNameDragging:e,defaultClassNameDragged:l,position:p,positionOffset:M,scale:b,...C}=this.props;let E={},T=null;const j=!!!p||this.state.dragging,H=p||r,I={x:(0,y.canDragX)(this)&&j?this.state.x:H.x,y:(0,y.canDragY)(this)&&j?this.state.y:H.y};this.state.isElementSVG?T=(0,u.createSVGTransform)(I,M):E=(0,u.createCSSTransform)(I,M);const W=(0,w.clsx)(o.props.className||"",n,{[e]:this.state.dragging,[l]:this.state.dragged});return m.createElement(h.default,D({},C,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),m.cloneElement(m.Children.only(o),{className:W,style:{...o.props.style,...E},transform:T}))}}i.default=g,x(g,"displayName","Draggable"),x(g,"propTypes",{...h.default.propTypes,axis:f.default.oneOf(["both","x","y","none"]),bounds:f.default.oneOfType([f.default.shape({left:f.default.number,right:f.default.number,top:f.default.number,bottom:f.default.number}),f.default.string,f.default.oneOf([!1])]),defaultClassName:f.default.string,defaultClassNameDragging:f.default.string,defaultClassNameDragged:f.default.string,defaultPosition:f.default.shape({x:f.default.number,y:f.default.number}),positionOffset:f.default.shape({x:f.default.oneOfType([f.default.number,f.default.string]),y:f.default.oneOfType([f.default.number,f.default.string])}),position:f.default.shape({x:f.default.number,y:f.default.number}),className:R.dontSetMe,style:R.dontSetMe,transform:R.dontSetMe}),x(g,"defaultProps",{...h.default.defaultProps,axis:"both",bounds:!1,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},scale:1})})(ie)),ie}var xe;function We(){if(xe)return $.exports;xe=1;const{default:i,DraggableCore:m}=Xe();return $.exports=i,$.exports.default=i,$.exports.DraggableCore=m,$.exports}var te={},De;function Ae(){if(De)return te;De=1,te.__esModule=!0,te.cloneElement=R;var i=m(Z());function m(h){return h&&h.__esModule?h:{default:h}}function f(h,v){var O=Object.keys(h);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(h);v&&(d=d.filter(function(D){return Object.getOwnPropertyDescriptor(h,D).enumerable})),O.push.apply(O,d)}return O}function c(h){for(var v=1;v<arguments.length;v++){var O=arguments[v]!=null?arguments[v]:{};v%2?f(Object(O),!0).forEach(function(d){w(h,d,O[d])}):Object.getOwnPropertyDescriptors?Object.defineProperties(h,Object.getOwnPropertyDescriptors(O)):f(Object(O)).forEach(function(d){Object.defineProperty(h,d,Object.getOwnPropertyDescriptor(O,d))})}return h}function w(h,v,O){return v=u(v),v in h?Object.defineProperty(h,v,{value:O,enumerable:!0,configurable:!0,writable:!0}):h[v]=O,h}function u(h){var v=y(h,"string");return typeof v=="symbol"?v:String(v)}function y(h,v){if(typeof h!="object"||h===null)return h;var O=h[Symbol.toPrimitive];if(O!==void 0){var d=O.call(h,v);if(typeof d!="object")return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return(v==="string"?String:Number)(h)}function R(h,v){return v.style&&h.props.style&&(v.style=c(c({},h.props.style),v.style)),v.className&&h.props.className&&(v.className=h.props.className+" "+v.className),i.default.cloneElement(h,v)}return te}var G={},Re;function ke(){if(Re)return G;Re=1,G.__esModule=!0,G.resizableProps=void 0;var i=m(re());We();function m(c){return c&&c.__esModule?c:{default:c}}var f={axis:i.default.oneOf(["both","x","y","none"]),className:i.default.string,children:i.default.element.isRequired,draggableOpts:i.default.shape({allowAnyClick:i.default.bool,cancel:i.default.string,children:i.default.node,disabled:i.default.bool,enableUserSelectHack:i.default.bool,offsetParent:i.default.node,grid:i.default.arrayOf(i.default.number),handle:i.default.string,nodeRef:i.default.object,onStart:i.default.func,onDrag:i.default.func,onStop:i.default.func,onMouseDown:i.default.func,scale:i.default.number}),height:function(){for(var w=arguments.length,u=new Array(w),y=0;y<w;y++)u[y]=arguments[y];var R=u[0];if(R.axis==="both"||R.axis==="y"){var h;return(h=i.default.number).isRequired.apply(h,u)}return i.default.number.apply(i.default,u)},handle:i.default.oneOfType([i.default.node,i.default.func]),handleSize:i.default.arrayOf(i.default.number),lockAspectRatio:i.default.bool,maxConstraints:i.default.arrayOf(i.default.number),minConstraints:i.default.arrayOf(i.default.number),onResizeStop:i.default.func,onResizeStart:i.default.func,onResize:i.default.func,resizeHandles:i.default.arrayOf(i.default.oneOf(["s","w","e","n","sw","nw","se","ne"])),transformScale:i.default.number,width:function(){for(var w=arguments.length,u=new Array(w),y=0;y<w;y++)u[y]=arguments[y];var R=u[0];if(R.axis==="both"||R.axis==="x"){var h;return(h=i.default.number).isRequired.apply(h,u)}return i.default.number.apply(i.default,u)}};return G.resizableProps=f,G}var Pe;function qe(){if(Pe)return A;Pe=1,A.__esModule=!0,A.default=void 0;var i=y(Z()),m=We(),f=Ae(),c=ke(),w=["children","className","draggableOpts","width","height","handle","handleSize","lockAspectRatio","axis","minConstraints","maxConstraints","onResize","onResizeStop","onResizeStart","resizeHandles","transformScale"];function u(s){if(typeof WeakMap!="function")return null;var t=new WeakMap,a=new WeakMap;return(u=function(r){return r?a:t})(s)}function y(s,t){if(s&&s.__esModule)return s;if(s===null||typeof s!="object"&&typeof s!="function")return{default:s};var a=u(t);if(a&&a.has(s))return a.get(s);var o={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in s)if(n!=="default"&&Object.prototype.hasOwnProperty.call(s,n)){var e=r?Object.getOwnPropertyDescriptor(s,n):null;e&&(e.get||e.set)?Object.defineProperty(o,n,e):o[n]=s[n]}return o.default=s,a&&a.set(s,o),o}function R(){return R=Object.assign?Object.assign.bind():function(s){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(s[o]=a[o])}return s},R.apply(this,arguments)}function h(s,t){if(s==null)return{};var a={},o=Object.keys(s),r,n;for(n=0;n<o.length;n++)r=o[n],!(t.indexOf(r)>=0)&&(a[r]=s[r]);return a}function v(s,t){var a=Object.keys(s);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(s);t&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(s,r).enumerable})),a.push.apply(a,o)}return a}function O(s){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?v(Object(a),!0).forEach(function(o){d(s,o,a[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(a)):v(Object(a)).forEach(function(o){Object.defineProperty(s,o,Object.getOwnPropertyDescriptor(a,o))})}return s}function d(s,t,a){return t=D(t),t in s?Object.defineProperty(s,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):s[t]=a,s}function D(s){var t=x(s,"string");return typeof t=="symbol"?t:String(t)}function x(s,t){if(typeof s!="object"||s===null)return s;var a=s[Symbol.toPrimitive];if(a!==void 0){var o=a.call(s,t);if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(s)}function P(s,t){s.prototype=Object.create(t.prototype),s.prototype.constructor=s,S(s,t)}function S(s,t){return S=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(o,r){return o.__proto__=r,o},S(s,t)}var g=(function(s){P(t,s);function t(){for(var o,r=arguments.length,n=new Array(r),e=0;e<r;e++)n[e]=arguments[e];return o=s.call.apply(s,[this].concat(n))||this,o.handleRefs={},o.lastHandleRect=null,o.slack=null,o}var a=t.prototype;return a.componentWillUnmount=function(){this.resetData()},a.resetData=function(){this.lastHandleRect=this.slack=null},a.runConstraints=function(r,n){var e=this.props,l=e.minConstraints,p=e.maxConstraints,M=e.lockAspectRatio;if(!l&&!p&&!M)return[r,n];if(M){var b=this.props.width/this.props.height,C=r-this.props.width,E=n-this.props.height;Math.abs(C)>Math.abs(E*b)?n=r/b:r=n*b}var T=r,q=n,j=this.slack||[0,0],H=j[0],I=j[1];return r+=H,n+=I,l&&(r=Math.max(l[0],r),n=Math.max(l[1],n)),p&&(r=Math.min(p[0],r),n=Math.min(p[1],n)),this.slack=[H+(T-r),I+(q-n)],[r,n]},a.resizeHandler=function(r,n){var e=this;return function(l,p){var M=p.node,b=p.deltaX,C=p.deltaY;r==="onResizeStart"&&e.resetData();var E=(e.props.axis==="both"||e.props.axis==="x")&&n!=="n"&&n!=="s",T=(e.props.axis==="both"||e.props.axis==="y")&&n!=="e"&&n!=="w";if(!(!E&&!T)){var q=n[0],j=n[n.length-1],H=M.getBoundingClientRect();if(e.lastHandleRect!=null){if(j==="w"){var I=H.left-e.lastHandleRect.left;b+=I}if(q==="n"){var W=H.top-e.lastHandleRect.top;C+=W}}e.lastHandleRect=H,j==="w"&&(b=-b),q==="n"&&(C=-C);var k=e.props.width+(E?b/e.props.transformScale:0),F=e.props.height+(T?C/e.props.transformScale:0),U=e.runConstraints(k,F);k=U[0],F=U[1];var ae=k!==e.props.width||F!==e.props.height,J=typeof e.props[r]=="function"?e.props[r]:null,oe=r==="onResize"&&!ae;J&&!oe&&(l.persist==null||l.persist(),J(l,{node:M,size:{width:k,height:F},handle:n})),r==="onResizeStop"&&e.resetData()}}},a.renderResizeHandle=function(r,n){var e=this.props.handle;if(!e)return i.createElement("span",{className:"react-resizable-handle react-resizable-handle-"+r,ref:n});if(typeof e=="function")return e(r,n);var l=typeof e.type=="string",p=O({ref:n},l?{}:{handleAxis:r});return i.cloneElement(e,p)},a.render=function(){var r=this,n=this.props,e=n.children,l=n.className,p=n.draggableOpts;n.width,n.height,n.handle,n.handleSize,n.lockAspectRatio,n.axis,n.minConstraints,n.maxConstraints,n.onResize,n.onResizeStop,n.onResizeStart;var M=n.resizeHandles;n.transformScale;var b=h(n,w);return(0,f.cloneElement)(e,O(O({},b),{},{className:(l?l+" ":"")+"react-resizable",children:[].concat(e.props.children,M.map(function(C){var E,T=(E=r.handleRefs[C])!=null?E:r.handleRefs[C]=i.createRef();return i.createElement(m.DraggableCore,R({},p,{nodeRef:T,key:"resizableHandle-"+C,onStop:r.resizeHandler("onResizeStop",C),onStart:r.resizeHandler("onResizeStart",C),onDrag:r.resizeHandler("onResize",C)}),r.renderResizeHandle(C,T))}))}))},t})(i.Component);return A.default=g,g.propTypes=c.resizableProps,g.defaultProps={axis:"both",handleSize:[20,20],lockAspectRatio:!1,minConstraints:[20,20],maxConstraints:[1/0,1/0],resizeHandles:["se"],transformScale:1},A}var K={},Oe;function $e(){if(Oe)return K;Oe=1,K.__esModule=!0,K.default=void 0;var i=R(Z()),m=u(re()),f=u(qe()),c=ke(),w=["handle","handleSize","onResize","onResizeStart","onResizeStop","draggableOpts","minConstraints","maxConstraints","lockAspectRatio","axis","width","height","resizeHandles","style","transformScale"];function u(t){return t&&t.__esModule?t:{default:t}}function y(t){if(typeof WeakMap!="function")return null;var a=new WeakMap,o=new WeakMap;return(y=function(n){return n?o:a})(t)}function R(t,a){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var o=y(a);if(o&&o.has(t))return o.get(t);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var e in t)if(e!=="default"&&Object.prototype.hasOwnProperty.call(t,e)){var l=n?Object.getOwnPropertyDescriptor(t,e):null;l&&(l.get||l.set)?Object.defineProperty(r,e,l):r[e]=t[e]}return r.default=t,o&&o.set(t,r),r}function h(){return h=Object.assign?Object.assign.bind():function(t){for(var a=1;a<arguments.length;a++){var o=arguments[a];for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&(t[r]=o[r])}return t},h.apply(this,arguments)}function v(t,a){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);a&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,r)}return o}function O(t){for(var a=1;a<arguments.length;a++){var o=arguments[a]!=null?arguments[a]:{};a%2?v(Object(o),!0).forEach(function(r){d(t,r,o[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):v(Object(o)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(o,r))})}return t}function d(t,a,o){return a=D(a),a in t?Object.defineProperty(t,a,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[a]=o,t}function D(t){var a=x(t,"string");return typeof a=="symbol"?a:String(a)}function x(t,a){if(typeof t!="object"||t===null)return t;var o=t[Symbol.toPrimitive];if(o!==void 0){var r=o.call(t,a);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(t)}function P(t,a){if(t==null)return{};var o={},r=Object.keys(t),n,e;for(e=0;e<r.length;e++)n=r[e],!(a.indexOf(n)>=0)&&(o[n]=t[n]);return o}function S(t,a){t.prototype=Object.create(a.prototype),t.prototype.constructor=t,g(t,a)}function g(t,a){return g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},g(t,a)}var s=(function(t){S(a,t);function a(){for(var r,n=arguments.length,e=new Array(n),l=0;l<n;l++)e[l]=arguments[l];return r=t.call.apply(t,[this].concat(e))||this,r.state={width:r.props.width,height:r.props.height,propsWidth:r.props.width,propsHeight:r.props.height},r.onResize=function(p,M){var b=M.size;r.props.onResize?(p.persist==null||p.persist(),r.setState(b,function(){return r.props.onResize&&r.props.onResize(p,M)})):r.setState(b)},r}a.getDerivedStateFromProps=function(n,e){return e.propsWidth!==n.width||e.propsHeight!==n.height?{width:n.width,height:n.height,propsWidth:n.width,propsHeight:n.height}:null};var o=a.prototype;return o.render=function(){var n=this.props,e=n.handle,l=n.handleSize;n.onResize;var p=n.onResizeStart,M=n.onResizeStop,b=n.draggableOpts,C=n.minConstraints,E=n.maxConstraints,T=n.lockAspectRatio,q=n.axis;n.width,n.height;var j=n.resizeHandles,H=n.style,I=n.transformScale,W=P(n,w);return i.createElement(f.default,{axis:q,draggableOpts:b,handle:e,handleSize:l,height:this.state.height,lockAspectRatio:T,maxConstraints:E,minConstraints:C,onResizeStart:p,onResize:this.onResize,onResizeStop:M,resizeHandles:j,transformScale:I,width:this.state.width},i.createElement("div",h({},W,{style:O(O({},H),{},{width:this.state.width+"px",height:this.state.height+"px"})})))},a})(i.Component);return K.default=s,s.propTypes=O(O({},c.resizableProps),{},{children:m.default.element}),K}var _e;function Ve(){return _e||(_e=1,X.exports=function(){throw new Error("Don't instantiate Resizable directly! Use require('react-resizable').Resizable")},X.exports.Resizable=qe().default,X.exports.ResizableBox=$e().default),X.exports}var Ge=Ve();const Ke=Ge.ResizableBox,Ze=typeof window<"u",Je=1200,Qe=720,Me=30,et=({id:i,scenarioName:m,iframeUrl:f,defaultWidth:c=1440,defaultHeight:w=900,onDataOverride:u,onIframeLoad:y,onScaleChange:R,onDimensionChange:h})=>{const[v,O]=_.useState(!1),[d,D]=_.useState(!1),[x,P]=_.useState(Je),[S,g]=_.useState(Qe),[s,t]=_.useState(null),[a,o]=_.useState(null),{dimensions:r,updateDimensions:n,iframeRef:e,updateScale:l,updateMaxWidth:p}=Ie(),M=_.useMemo(()=>Math.min(1,x/r.width),[x,r.width]),b=a!==null?a:M;_.useEffect(()=>{v||(l(b),R?.(b))},[b,l,R,v]),_.useEffect(()=>{p(x)},[x,p]);const C=_.useCallback(()=>{O(!0),o(M)},[M]),E=_.useCallback(()=>{O(!1),o(null)},[]),T=_.useCallback((W,k)=>{const F=a!==null?a:1,U=Math.round(k.size.width/F);n({width:U}),h?.(U,r.height)},[n,a,h,r.height]),q=_.useCallback(()=>{setTimeout(()=>{D(!0)},100),y&&y()},[y]);_.useEffect(()=>{const W=k=>{if(k.data.type==="codeyam-resize"){if(m&&k.data.name!==m||r.height===k.data.height||k.data.height===0)return;n({height:k.data.height})}};return window.addEventListener("message",W),()=>{window.removeEventListener("message",W)}},[e,m,c,r,n]),_.useEffect(()=>{d&&u&&u(e.current)},[d,u,e]),_.useEffect(()=>{if(!m)return;const W=setInterval(()=>{e?.current?.contentWindow?.postMessage({type:"codeyam-respond",name:m},"*")},1e3);return()=>clearInterval(W)},[m,e]),_.useEffect(()=>{const W=()=>{const k=document.getElementById("scenario-container");if(!k)return;const F=k.getBoundingClientRect(),U=k.clientWidth-Me*2,ae=window.innerHeight-F.top-Me*2,J=Math.max(ae,400),oe=window.innerHeight-F.top;P(U),g(J),t(oe)};return W(),window.addEventListener("resize",W),()=>window.removeEventListener("resize",W)},[]),_.useEffect(()=>{n({width:c,height:w})},[c,w,n]);const j=_.useMemo(()=>r.width*b,[r.width,b]),H=_.useMemo(()=>{const W=r.height,k=W*b;return W&&W!==720&&W!==900&&k<S?k:S},[r.height,S,b]),I=_.useCallback(()=>{window.history.back()},[]);return Ze?z.jsxs("div",{id:"scenario-container",className:"relative bg-gray-100 w-full flex items-center justify-center",style:s?{height:`${s}px`}:{},children:[v&&z.jsx("div",{className:"fixed inset-0 z-50 bg-transparent"}),z.jsx("style",{children:`
|
|
3
|
+
`,e.getElementsByTagName("head")[0].appendChild(l)),e.body&&r(e.body,"react-draggable-transparent-selection")}function a(e){window.requestAnimationFrame?window.requestAnimationFrame(()=>{o(e)}):o(e)}function o(e){if(e)try{if(e.body&&n(e.body,"react-draggable-transparent-selection"),e.selection)e.selection.empty();else{const l=(e.defaultView||window).getSelection();l&&l.type!=="Caret"&&l.removeAllRanges()}}catch{}}function r(e,l){e.classList?e.classList.add(l):e.className.match(new RegExp(`(?:^|\\s)${l}(?!\\S)`))||(e.className+=` ${l}`)}function n(e,l){e.classList?e.classList.remove(l):e.className=e.className.replace(new RegExp(`(?:^|\\s)${l}(?!\\S)`,"g"),"")}return N}var L={},ye;function je(){if(ye)return L;ye=1,Object.defineProperty(L,"__esModule",{value:!0}),L.canDragX=w,L.canDragY=u,L.createCoreData=R,L.createDraggableData=h,L.getBoundPosition=f,L.getControlPosition=y,L.snapToGrid=c;var i=ne(),m=ce();function f(d,D,x){if(!d.props.bounds)return[D,x];let{bounds:P}=d.props;P=typeof P=="string"?P:v(P);const S=O(d);if(typeof P=="string"){const{ownerDocument:g}=S,s=g.defaultView;let t;if(P==="parent"?t=S.parentNode:t=S.getRootNode().querySelector(P),!(t instanceof s.HTMLElement))throw new Error('Bounds selector "'+P+'" could not find an element.');const a=t,o=s.getComputedStyle(S),r=s.getComputedStyle(a);P={left:-S.offsetLeft+(0,i.int)(r.paddingLeft)+(0,i.int)(o.marginLeft),top:-S.offsetTop+(0,i.int)(r.paddingTop)+(0,i.int)(o.marginTop),right:(0,m.innerWidth)(a)-(0,m.outerWidth)(S)-S.offsetLeft+(0,i.int)(r.paddingRight)-(0,i.int)(o.marginRight),bottom:(0,m.innerHeight)(a)-(0,m.outerHeight)(S)-S.offsetTop+(0,i.int)(r.paddingBottom)-(0,i.int)(o.marginBottom)}}return(0,i.isNum)(P.right)&&(D=Math.min(D,P.right)),(0,i.isNum)(P.bottom)&&(x=Math.min(x,P.bottom)),(0,i.isNum)(P.left)&&(D=Math.max(D,P.left)),(0,i.isNum)(P.top)&&(x=Math.max(x,P.top)),[D,x]}function c(d,D,x){const P=Math.round(D/d[0])*d[0],S=Math.round(x/d[1])*d[1];return[P,S]}function w(d){return d.props.axis==="both"||d.props.axis==="x"}function u(d){return d.props.axis==="both"||d.props.axis==="y"}function y(d,D,x){const P=typeof D=="number"?(0,m.getTouch)(d,D):null;if(typeof D=="number"&&!P)return null;const S=O(x),g=x.props.offsetParent||S.offsetParent||S.ownerDocument.body;return(0,m.offsetXYFromParent)(P||d,g,x.props.scale)}function R(d,D,x){const P=!(0,i.isNum)(d.lastX),S=O(d);return P?{node:S,deltaX:0,deltaY:0,lastX:D,lastY:x,x:D,y:x}:{node:S,deltaX:D-d.lastX,deltaY:x-d.lastY,lastX:d.lastX,lastY:d.lastY,x:D,y:x}}function h(d,D){const x=d.props.scale;return{node:D.node,x:d.state.x+D.deltaX/x,y:d.state.y+D.deltaY/x,deltaX:D.deltaX/x,deltaY:D.deltaY/x,lastX:d.state.x,lastY:d.state.y}}function v(d){return{left:d.left,top:d.top,right:d.right,bottom:d.bottom}}function O(d){const D=d.findDOMNode();if(!D)throw new Error("<DraggableCore>: Unmounted during event!");return D}return L}var V={},ee={},be;function Ne(){if(be)return ee;be=1,Object.defineProperty(ee,"__esModule",{value:!0}),ee.default=i;function i(){}return ee}var Se;function Ae(){if(Se)return V;Se=1,Object.defineProperty(V,"__esModule",{value:!0}),V.default=void 0;var i=h(Z()),m=R(re()),f=R(Ee()),c=ce(),w=je(),u=ne(),y=R(Ne());function R(S){return S&&S.__esModule?S:{default:S}}function h(S,g){if(typeof WeakMap=="function")var s=new WeakMap,t=new WeakMap;return(h=function(a,o){if(!o&&a&&a.__esModule)return a;var r,n,e={__proto__:null,default:a};if(a===null||typeof a!="object"&&typeof a!="function")return e;if(r=o?t:s){if(r.has(a))return r.get(a);r.set(a,e)}for(const l in a)l!=="default"&&{}.hasOwnProperty.call(a,l)&&((n=(r=Object.defineProperty)&&Object.getOwnPropertyDescriptor(a,l))&&(n.get||n.set)?r(e,l,n):e[l]=a[l]);return e})(S,g)}function v(S,g,s){return(g=O(g))in S?Object.defineProperty(S,g,{value:s,enumerable:!0,configurable:!0,writable:!0}):S[g]=s,S}function O(S){var g=d(S,"string");return typeof g=="symbol"?g:g+""}function d(S,g){if(typeof S!="object"||!S)return S;var s=S[Symbol.toPrimitive];if(s!==void 0){var t=s.call(S,g);if(typeof t!="object")return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return(g==="string"?String:Number)(S)}const D={touch:{start:"touchstart",move:"touchmove",stop:"touchend"},mouse:{start:"mousedown",move:"mousemove",stop:"mouseup"}};let x=D.mouse,P=class extends i.Component{constructor(){super(...arguments),v(this,"dragging",!1),v(this,"lastX",NaN),v(this,"lastY",NaN),v(this,"touchIdentifier",null),v(this,"mounted",!1),v(this,"handleDragStart",g=>{if(this.props.onMouseDown(g),!this.props.allowAnyClick&&typeof g.button=="number"&&g.button!==0)return!1;const s=this.findDOMNode();if(!s||!s.ownerDocument||!s.ownerDocument.body)throw new Error("<DraggableCore> not mounted on DragStart!");const{ownerDocument:t}=s;if(this.props.disabled||!(g.target instanceof t.defaultView.Node)||this.props.handle&&!(0,c.matchesSelectorAndParentsTo)(g.target,this.props.handle,s)||this.props.cancel&&(0,c.matchesSelectorAndParentsTo)(g.target,this.props.cancel,s))return;g.type==="touchstart"&&!this.props.allowMobileScroll&&g.preventDefault();const a=(0,c.getTouchIdentifier)(g);this.touchIdentifier=a;const o=(0,w.getControlPosition)(g,a,this);if(o==null)return;const{x:r,y:n}=o,e=(0,w.createCoreData)(this,r,n);(0,y.default)("DraggableCore: handleDragStart: %j",e),(0,y.default)("calling",this.props.onStart),!(this.props.onStart(g,e)===!1||this.mounted===!1)&&(this.props.enableUserSelectHack&&(0,c.addUserSelectStyles)(t),this.dragging=!0,this.lastX=r,this.lastY=n,(0,c.addEvent)(t,x.move,this.handleDrag),(0,c.addEvent)(t,x.stop,this.handleDragStop))}),v(this,"handleDrag",g=>{const s=(0,w.getControlPosition)(g,this.touchIdentifier,this);if(s==null)return;let{x:t,y:a}=s;if(Array.isArray(this.props.grid)){let n=t-this.lastX,e=a-this.lastY;if([n,e]=(0,w.snapToGrid)(this.props.grid,n,e),!n&&!e)return;t=this.lastX+n,a=this.lastY+e}const o=(0,w.createCoreData)(this,t,a);if((0,y.default)("DraggableCore: handleDrag: %j",o),this.props.onDrag(g,o)===!1||this.mounted===!1){try{this.handleDragStop(new MouseEvent("mouseup"))}catch{const e=document.createEvent("MouseEvents");e.initMouseEvent("mouseup",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),this.handleDragStop(e)}return}this.lastX=t,this.lastY=a}),v(this,"handleDragStop",g=>{if(!this.dragging)return;const s=(0,w.getControlPosition)(g,this.touchIdentifier,this);if(s==null)return;let{x:t,y:a}=s;if(Array.isArray(this.props.grid)){let e=t-this.lastX||0,l=a-this.lastY||0;[e,l]=(0,w.snapToGrid)(this.props.grid,e,l),t=this.lastX+e,a=this.lastY+l}const o=(0,w.createCoreData)(this,t,a);if(this.props.onStop(g,o)===!1||this.mounted===!1)return!1;const n=this.findDOMNode();n&&this.props.enableUserSelectHack&&(0,c.scheduleRemoveUserSelectStyles)(n.ownerDocument),(0,y.default)("DraggableCore: handleDragStop: %j",o),this.dragging=!1,this.lastX=NaN,this.lastY=NaN,n&&((0,y.default)("DraggableCore: Removing handlers"),(0,c.removeEvent)(n.ownerDocument,x.move,this.handleDrag),(0,c.removeEvent)(n.ownerDocument,x.stop,this.handleDragStop))}),v(this,"onMouseDown",g=>(x=D.mouse,this.handleDragStart(g))),v(this,"onMouseUp",g=>(x=D.mouse,this.handleDragStop(g))),v(this,"onTouchStart",g=>(x=D.touch,this.handleDragStart(g))),v(this,"onTouchEnd",g=>(x=D.touch,this.handleDragStop(g)))}componentDidMount(){this.mounted=!0;const g=this.findDOMNode();g&&(0,c.addEvent)(g,D.touch.start,this.onTouchStart,{passive:!1})}componentWillUnmount(){this.mounted=!1;const g=this.findDOMNode();if(g){const{ownerDocument:s}=g;(0,c.removeEvent)(s,D.mouse.move,this.handleDrag),(0,c.removeEvent)(s,D.touch.move,this.handleDrag),(0,c.removeEvent)(s,D.mouse.stop,this.handleDragStop),(0,c.removeEvent)(s,D.touch.stop,this.handleDragStop),(0,c.removeEvent)(g,D.touch.start,this.onTouchStart,{passive:!1}),this.props.enableUserSelectHack&&(0,c.scheduleRemoveUserSelectStyles)(s)}}findDOMNode(){return this.props?.nodeRef?this.props?.nodeRef?.current:f.default.findDOMNode(this)}render(){return i.cloneElement(i.Children.only(this.props.children),{onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}};return V.default=P,v(P,"displayName","DraggableCore"),v(P,"propTypes",{allowAnyClick:m.default.bool,allowMobileScroll:m.default.bool,children:m.default.node.isRequired,disabled:m.default.bool,enableUserSelectHack:m.default.bool,offsetParent:function(S,g){if(S[g]&&S[g].nodeType!==1)throw new Error("Draggable's offsetParent must be a DOM Node.")},grid:m.default.arrayOf(m.default.number),handle:m.default.string,cancel:m.default.string,nodeRef:m.default.object,onStart:m.default.func,onDrag:m.default.func,onStop:m.default.func,onMouseDown:m.default.func,scale:m.default.number,className:u.dontSetMe,style:u.dontSetMe,transform:u.dontSetMe}),v(P,"defaultProps",{allowAnyClick:!1,allowMobileScroll:!1,disabled:!1,enableUserSelectHack:!0,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){},scale:1}),V}var we;function Ue(){return we||(we=1,(function(i){Object.defineProperty(i,"__esModule",{value:!0}),Object.defineProperty(i,"DraggableCore",{enumerable:!0,get:function(){return h.default}}),i.default=void 0;var m=d(Z()),f=O(re()),c=O(Ee()),w=Be(),u=ce(),y=je(),R=ne(),h=O(Ae()),v=O(Ne());function O(s){return s&&s.__esModule?s:{default:s}}function d(s,t){if(typeof WeakMap=="function")var a=new WeakMap,o=new WeakMap;return(d=function(r,n){if(!n&&r&&r.__esModule)return r;var e,l,p={__proto__:null,default:r};if(r===null||typeof r!="object"&&typeof r!="function")return p;if(e=n?o:a){if(e.has(r))return e.get(r);e.set(r,p)}for(const M in r)M!=="default"&&{}.hasOwnProperty.call(r,M)&&((l=(e=Object.defineProperty)&&Object.getOwnPropertyDescriptor(r,M))&&(l.get||l.set)?e(p,M,l):p[M]=r[M]);return p})(s,t)}function D(){return D=Object.assign?Object.assign.bind():function(s){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)({}).hasOwnProperty.call(a,o)&&(s[o]=a[o])}return s},D.apply(null,arguments)}function x(s,t,a){return(t=P(t))in s?Object.defineProperty(s,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):s[t]=a,s}function P(s){var t=S(s,"string");return typeof t=="symbol"?t:t+""}function S(s,t){if(typeof s!="object"||!s)return s;var a=s[Symbol.toPrimitive];if(a!==void 0){var o=a.call(s,t);if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(s)}class g extends m.Component{static getDerivedStateFromProps(t,a){let{position:o}=t,{prevPropsPosition:r}=a;return o&&(!r||o.x!==r.x||o.y!==r.y)?((0,v.default)("Draggable: getDerivedStateFromProps %j",{position:o,prevPropsPosition:r}),{x:o.x,y:o.y,prevPropsPosition:{...o}}):null}constructor(t){super(t),x(this,"onDragStart",(a,o)=>{if((0,v.default)("Draggable: onDragStart: %j",o),this.props.onStart(a,(0,y.createDraggableData)(this,o))===!1)return!1;this.setState({dragging:!0,dragged:!0})}),x(this,"onDrag",(a,o)=>{if(!this.state.dragging)return!1;(0,v.default)("Draggable: onDrag: %j",o);const r=(0,y.createDraggableData)(this,o),n={x:r.x,y:r.y,slackX:0,slackY:0};if(this.props.bounds){const{x:l,y:p}=n;n.x+=this.state.slackX,n.y+=this.state.slackY;const[M,b]=(0,y.getBoundPosition)(this,n.x,n.y);n.x=M,n.y=b,n.slackX=this.state.slackX+(l-n.x),n.slackY=this.state.slackY+(p-n.y),r.x=n.x,r.y=n.y,r.deltaX=n.x-this.state.x,r.deltaY=n.y-this.state.y}if(this.props.onDrag(a,r)===!1)return!1;this.setState(n)}),x(this,"onDragStop",(a,o)=>{if(!this.state.dragging||this.props.onStop(a,(0,y.createDraggableData)(this,o))===!1)return!1;(0,v.default)("Draggable: onDragStop: %j",o);const n={dragging:!1,slackX:0,slackY:0};if(!!this.props.position){const{x:l,y:p}=this.props.position;n.x=l,n.y=p}this.setState(n)}),this.state={dragging:!1,dragged:!1,x:t.position?t.position.x:t.defaultPosition.x,y:t.position?t.position.y:t.defaultPosition.y,prevPropsPosition:{...t.position},slackX:0,slackY:0,isElementSVG:!1},t.position&&!(t.onDrag||t.onStop)&&console.warn("A `position` was applied to this <Draggable>, without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element.")}componentDidMount(){typeof window.SVGElement<"u"&&this.findDOMNode()instanceof window.SVGElement&&this.setState({isElementSVG:!0})}componentWillUnmount(){this.state.dragging&&this.setState({dragging:!1})}findDOMNode(){return this.props?.nodeRef?.current??c.default.findDOMNode(this)}render(){const{axis:t,bounds:a,children:o,defaultPosition:r,defaultClassName:n,defaultClassNameDragging:e,defaultClassNameDragged:l,position:p,positionOffset:M,scale:b,...C}=this.props;let E={},T=null;const j=!!!p||this.state.dragging,H=p||r,I={x:(0,y.canDragX)(this)&&j?this.state.x:H.x,y:(0,y.canDragY)(this)&&j?this.state.y:H.y};this.state.isElementSVG?T=(0,u.createSVGTransform)(I,M):E=(0,u.createCSSTransform)(I,M);const W=(0,w.clsx)(o.props.className||"",n,{[e]:this.state.dragging,[l]:this.state.dragged});return m.createElement(h.default,D({},C,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),m.cloneElement(m.Children.only(o),{className:W,style:{...o.props.style,...E},transform:T}))}}i.default=g,x(g,"displayName","Draggable"),x(g,"propTypes",{...h.default.propTypes,axis:f.default.oneOf(["both","x","y","none"]),bounds:f.default.oneOfType([f.default.shape({left:f.default.number,right:f.default.number,top:f.default.number,bottom:f.default.number}),f.default.string,f.default.oneOf([!1])]),defaultClassName:f.default.string,defaultClassNameDragging:f.default.string,defaultClassNameDragged:f.default.string,defaultPosition:f.default.shape({x:f.default.number,y:f.default.number}),positionOffset:f.default.shape({x:f.default.oneOfType([f.default.number,f.default.string]),y:f.default.oneOfType([f.default.number,f.default.string])}),position:f.default.shape({x:f.default.number,y:f.default.number}),className:R.dontSetMe,style:R.dontSetMe,transform:R.dontSetMe}),x(g,"defaultProps",{...h.default.defaultProps,axis:"both",bounds:!1,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},scale:1})})(ie)),ie}var xe;function We(){if(xe)return $.exports;xe=1;const{default:i,DraggableCore:m}=Ue();return $.exports=i,$.exports.default=i,$.exports.DraggableCore=m,$.exports}var te={},De;function Xe(){if(De)return te;De=1,te.__esModule=!0,te.cloneElement=R;var i=m(Z());function m(h){return h&&h.__esModule?h:{default:h}}function f(h,v){var O=Object.keys(h);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(h);v&&(d=d.filter(function(D){return Object.getOwnPropertyDescriptor(h,D).enumerable})),O.push.apply(O,d)}return O}function c(h){for(var v=1;v<arguments.length;v++){var O=arguments[v]!=null?arguments[v]:{};v%2?f(Object(O),!0).forEach(function(d){w(h,d,O[d])}):Object.getOwnPropertyDescriptors?Object.defineProperties(h,Object.getOwnPropertyDescriptors(O)):f(Object(O)).forEach(function(d){Object.defineProperty(h,d,Object.getOwnPropertyDescriptor(O,d))})}return h}function w(h,v,O){return v=u(v),v in h?Object.defineProperty(h,v,{value:O,enumerable:!0,configurable:!0,writable:!0}):h[v]=O,h}function u(h){var v=y(h,"string");return typeof v=="symbol"?v:String(v)}function y(h,v){if(typeof h!="object"||h===null)return h;var O=h[Symbol.toPrimitive];if(O!==void 0){var d=O.call(h,v);if(typeof d!="object")return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return(v==="string"?String:Number)(h)}function R(h,v){return v.style&&h.props.style&&(v.style=c(c({},h.props.style),v.style)),v.className&&h.props.className&&(v.className=h.props.className+" "+v.className),i.default.cloneElement(h,v)}return te}var G={},Re;function ke(){if(Re)return G;Re=1,G.__esModule=!0,G.resizableProps=void 0;var i=m(re());We();function m(c){return c&&c.__esModule?c:{default:c}}var f={axis:i.default.oneOf(["both","x","y","none"]),className:i.default.string,children:i.default.element.isRequired,draggableOpts:i.default.shape({allowAnyClick:i.default.bool,cancel:i.default.string,children:i.default.node,disabled:i.default.bool,enableUserSelectHack:i.default.bool,offsetParent:i.default.node,grid:i.default.arrayOf(i.default.number),handle:i.default.string,nodeRef:i.default.object,onStart:i.default.func,onDrag:i.default.func,onStop:i.default.func,onMouseDown:i.default.func,scale:i.default.number}),height:function(){for(var w=arguments.length,u=new Array(w),y=0;y<w;y++)u[y]=arguments[y];var R=u[0];if(R.axis==="both"||R.axis==="y"){var h;return(h=i.default.number).isRequired.apply(h,u)}return i.default.number.apply(i.default,u)},handle:i.default.oneOfType([i.default.node,i.default.func]),handleSize:i.default.arrayOf(i.default.number),lockAspectRatio:i.default.bool,maxConstraints:i.default.arrayOf(i.default.number),minConstraints:i.default.arrayOf(i.default.number),onResizeStop:i.default.func,onResizeStart:i.default.func,onResize:i.default.func,resizeHandles:i.default.arrayOf(i.default.oneOf(["s","w","e","n","sw","nw","se","ne"])),transformScale:i.default.number,width:function(){for(var w=arguments.length,u=new Array(w),y=0;y<w;y++)u[y]=arguments[y];var R=u[0];if(R.axis==="both"||R.axis==="x"){var h;return(h=i.default.number).isRequired.apply(h,u)}return i.default.number.apply(i.default,u)}};return G.resizableProps=f,G}var Pe;function qe(){if(Pe)return X;Pe=1,X.__esModule=!0,X.default=void 0;var i=y(Z()),m=We(),f=Xe(),c=ke(),w=["children","className","draggableOpts","width","height","handle","handleSize","lockAspectRatio","axis","minConstraints","maxConstraints","onResize","onResizeStop","onResizeStart","resizeHandles","transformScale"];function u(s){if(typeof WeakMap!="function")return null;var t=new WeakMap,a=new WeakMap;return(u=function(r){return r?a:t})(s)}function y(s,t){if(s&&s.__esModule)return s;if(s===null||typeof s!="object"&&typeof s!="function")return{default:s};var a=u(t);if(a&&a.has(s))return a.get(s);var o={},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in s)if(n!=="default"&&Object.prototype.hasOwnProperty.call(s,n)){var e=r?Object.getOwnPropertyDescriptor(s,n):null;e&&(e.get||e.set)?Object.defineProperty(o,n,e):o[n]=s[n]}return o.default=s,a&&a.set(s,o),o}function R(){return R=Object.assign?Object.assign.bind():function(s){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(s[o]=a[o])}return s},R.apply(this,arguments)}function h(s,t){if(s==null)return{};var a={},o=Object.keys(s),r,n;for(n=0;n<o.length;n++)r=o[n],!(t.indexOf(r)>=0)&&(a[r]=s[r]);return a}function v(s,t){var a=Object.keys(s);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(s);t&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(s,r).enumerable})),a.push.apply(a,o)}return a}function O(s){for(var t=1;t<arguments.length;t++){var a=arguments[t]!=null?arguments[t]:{};t%2?v(Object(a),!0).forEach(function(o){d(s,o,a[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(a)):v(Object(a)).forEach(function(o){Object.defineProperty(s,o,Object.getOwnPropertyDescriptor(a,o))})}return s}function d(s,t,a){return t=D(t),t in s?Object.defineProperty(s,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):s[t]=a,s}function D(s){var t=x(s,"string");return typeof t=="symbol"?t:String(t)}function x(s,t){if(typeof s!="object"||s===null)return s;var a=s[Symbol.toPrimitive];if(a!==void 0){var o=a.call(s,t);if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(s)}function P(s,t){s.prototype=Object.create(t.prototype),s.prototype.constructor=s,S(s,t)}function S(s,t){return S=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(o,r){return o.__proto__=r,o},S(s,t)}var g=(function(s){P(t,s);function t(){for(var o,r=arguments.length,n=new Array(r),e=0;e<r;e++)n[e]=arguments[e];return o=s.call.apply(s,[this].concat(n))||this,o.handleRefs={},o.lastHandleRect=null,o.slack=null,o}var a=t.prototype;return a.componentWillUnmount=function(){this.resetData()},a.resetData=function(){this.lastHandleRect=this.slack=null},a.runConstraints=function(r,n){var e=this.props,l=e.minConstraints,p=e.maxConstraints,M=e.lockAspectRatio;if(!l&&!p&&!M)return[r,n];if(M){var b=this.props.width/this.props.height,C=r-this.props.width,E=n-this.props.height;Math.abs(C)>Math.abs(E*b)?n=r/b:r=n*b}var T=r,q=n,j=this.slack||[0,0],H=j[0],I=j[1];return r+=H,n+=I,l&&(r=Math.max(l[0],r),n=Math.max(l[1],n)),p&&(r=Math.min(p[0],r),n=Math.min(p[1],n)),this.slack=[H+(T-r),I+(q-n)],[r,n]},a.resizeHandler=function(r,n){var e=this;return function(l,p){var M=p.node,b=p.deltaX,C=p.deltaY;r==="onResizeStart"&&e.resetData();var E=(e.props.axis==="both"||e.props.axis==="x")&&n!=="n"&&n!=="s",T=(e.props.axis==="both"||e.props.axis==="y")&&n!=="e"&&n!=="w";if(!(!E&&!T)){var q=n[0],j=n[n.length-1],H=M.getBoundingClientRect();if(e.lastHandleRect!=null){if(j==="w"){var I=H.left-e.lastHandleRect.left;b+=I}if(q==="n"){var W=H.top-e.lastHandleRect.top;C+=W}}e.lastHandleRect=H,j==="w"&&(b=-b),q==="n"&&(C=-C);var k=e.props.width+(E?b/e.props.transformScale:0),F=e.props.height+(T?C/e.props.transformScale:0),A=e.runConstraints(k,F);k=A[0],F=A[1];var ae=k!==e.props.width||F!==e.props.height,J=typeof e.props[r]=="function"?e.props[r]:null,oe=r==="onResize"&&!ae;J&&!oe&&(l.persist==null||l.persist(),J(l,{node:M,size:{width:k,height:F},handle:n})),r==="onResizeStop"&&e.resetData()}}},a.renderResizeHandle=function(r,n){var e=this.props.handle;if(!e)return i.createElement("span",{className:"react-resizable-handle react-resizable-handle-"+r,ref:n});if(typeof e=="function")return e(r,n);var l=typeof e.type=="string",p=O({ref:n},l?{}:{handleAxis:r});return i.cloneElement(e,p)},a.render=function(){var r=this,n=this.props,e=n.children,l=n.className,p=n.draggableOpts;n.width,n.height,n.handle,n.handleSize,n.lockAspectRatio,n.axis,n.minConstraints,n.maxConstraints,n.onResize,n.onResizeStop,n.onResizeStart;var M=n.resizeHandles;n.transformScale;var b=h(n,w);return(0,f.cloneElement)(e,O(O({},b),{},{className:(l?l+" ":"")+"react-resizable",children:[].concat(e.props.children,M.map(function(C){var E,T=(E=r.handleRefs[C])!=null?E:r.handleRefs[C]=i.createRef();return i.createElement(m.DraggableCore,R({},p,{nodeRef:T,key:"resizableHandle-"+C,onStop:r.resizeHandler("onResizeStop",C),onStart:r.resizeHandler("onResizeStart",C),onDrag:r.resizeHandler("onResize",C)}),r.renderResizeHandle(C,T))}))}))},t})(i.Component);return X.default=g,g.propTypes=c.resizableProps,g.defaultProps={axis:"both",handleSize:[20,20],lockAspectRatio:!1,minConstraints:[20,20],maxConstraints:[1/0,1/0],resizeHandles:["se"],transformScale:1},X}var K={},Oe;function $e(){if(Oe)return K;Oe=1,K.__esModule=!0,K.default=void 0;var i=R(Z()),m=u(re()),f=u(qe()),c=ke(),w=["handle","handleSize","onResize","onResizeStart","onResizeStop","draggableOpts","minConstraints","maxConstraints","lockAspectRatio","axis","width","height","resizeHandles","style","transformScale"];function u(t){return t&&t.__esModule?t:{default:t}}function y(t){if(typeof WeakMap!="function")return null;var a=new WeakMap,o=new WeakMap;return(y=function(n){return n?o:a})(t)}function R(t,a){if(t&&t.__esModule)return t;if(t===null||typeof t!="object"&&typeof t!="function")return{default:t};var o=y(a);if(o&&o.has(t))return o.get(t);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var e in t)if(e!=="default"&&Object.prototype.hasOwnProperty.call(t,e)){var l=n?Object.getOwnPropertyDescriptor(t,e):null;l&&(l.get||l.set)?Object.defineProperty(r,e,l):r[e]=t[e]}return r.default=t,o&&o.set(t,r),r}function h(){return h=Object.assign?Object.assign.bind():function(t){for(var a=1;a<arguments.length;a++){var o=arguments[a];for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&(t[r]=o[r])}return t},h.apply(this,arguments)}function v(t,a){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);a&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable})),o.push.apply(o,r)}return o}function O(t){for(var a=1;a<arguments.length;a++){var o=arguments[a]!=null?arguments[a]:{};a%2?v(Object(o),!0).forEach(function(r){d(t,r,o[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):v(Object(o)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(o,r))})}return t}function d(t,a,o){return a=D(a),a in t?Object.defineProperty(t,a,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[a]=o,t}function D(t){var a=x(t,"string");return typeof a=="symbol"?a:String(a)}function x(t,a){if(typeof t!="object"||t===null)return t;var o=t[Symbol.toPrimitive];if(o!==void 0){var r=o.call(t,a);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(t)}function P(t,a){if(t==null)return{};var o={},r=Object.keys(t),n,e;for(e=0;e<r.length;e++)n=r[e],!(a.indexOf(n)>=0)&&(o[n]=t[n]);return o}function S(t,a){t.prototype=Object.create(a.prototype),t.prototype.constructor=t,g(t,a)}function g(t,a){return g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},g(t,a)}var s=(function(t){S(a,t);function a(){for(var r,n=arguments.length,e=new Array(n),l=0;l<n;l++)e[l]=arguments[l];return r=t.call.apply(t,[this].concat(e))||this,r.state={width:r.props.width,height:r.props.height,propsWidth:r.props.width,propsHeight:r.props.height},r.onResize=function(p,M){var b=M.size;r.props.onResize?(p.persist==null||p.persist(),r.setState(b,function(){return r.props.onResize&&r.props.onResize(p,M)})):r.setState(b)},r}a.getDerivedStateFromProps=function(n,e){return e.propsWidth!==n.width||e.propsHeight!==n.height?{width:n.width,height:n.height,propsWidth:n.width,propsHeight:n.height}:null};var o=a.prototype;return o.render=function(){var n=this.props,e=n.handle,l=n.handleSize;n.onResize;var p=n.onResizeStart,M=n.onResizeStop,b=n.draggableOpts,C=n.minConstraints,E=n.maxConstraints,T=n.lockAspectRatio,q=n.axis;n.width,n.height;var j=n.resizeHandles,H=n.style,I=n.transformScale,W=P(n,w);return i.createElement(f.default,{axis:q,draggableOpts:b,handle:e,handleSize:l,height:this.state.height,lockAspectRatio:T,maxConstraints:E,minConstraints:C,onResizeStart:p,onResize:this.onResize,onResizeStop:M,resizeHandles:j,transformScale:I,width:this.state.width},i.createElement("div",h({},W,{style:O(O({},H),{},{width:this.state.width+"px",height:this.state.height+"px"})})))},a})(i.Component);return K.default=s,s.propTypes=O(O({},c.resizableProps),{},{children:m.default.element}),K}var _e;function Ve(){return _e||(_e=1,U.exports=function(){throw new Error("Don't instantiate Resizable directly! Use require('react-resizable').Resizable")},U.exports.Resizable=qe().default,U.exports.ResizableBox=$e().default),U.exports}var Ge=Ve();const Ke=Ge.ResizableBox,Ze=typeof window<"u",Je=1200,Qe=720,Me=30,et=({id:i,scenarioName:m,iframeUrl:f,defaultWidth:c=1440,defaultHeight:w=900,onDataOverride:u,onIframeLoad:y,onScaleChange:R,onDimensionChange:h})=>{const[v,O]=_.useState(!1),[d,D]=_.useState(!1),[x,P]=_.useState(Je),[S,g]=_.useState(Qe),[s,t]=_.useState(null),[a,o]=_.useState(null),{dimensions:r,updateDimensions:n,iframeRef:e,updateScale:l,updateMaxWidth:p}=Ie(),M=_.useMemo(()=>Math.min(1,x/r.width),[x,r.width]),b=a!==null?a:M;_.useEffect(()=>{v||(l(b),R?.(b))},[b,l,R,v]),_.useEffect(()=>{p(x)},[x,p]);const C=_.useCallback(()=>{O(!0),o(M)},[M]),E=_.useCallback(()=>{O(!1),o(null)},[]),T=_.useCallback((W,k)=>{const F=a!==null?a:1,A=Math.round(k.size.width/F);n({width:A}),h?.(A,r.height)},[n,a,h,r.height]),q=_.useCallback(()=>{setTimeout(()=>{D(!0)},100),y&&y()},[y]);_.useEffect(()=>{const W=k=>{if(k.data.type==="codeyam-resize"){if(m&&k.data.name!==m||r.height===k.data.height||k.data.height===0)return;n({height:k.data.height})}};return window.addEventListener("message",W),()=>{window.removeEventListener("message",W)}},[e,m,c,r,n]),_.useEffect(()=>{d&&u&&u(e.current)},[d,u,e]),_.useEffect(()=>{if(!m)return;const W=setInterval(()=>{e?.current?.contentWindow?.postMessage({type:"codeyam-respond",name:m},"*")},1e3);return()=>clearInterval(W)},[m,e]),_.useEffect(()=>{const W=()=>{const k=document.getElementById("scenario-container");if(!k)return;const F=k.getBoundingClientRect(),A=k.clientWidth-Me*2,ae=window.innerHeight-F.top-Me*2,J=Math.max(ae,400),oe=window.innerHeight-F.top;P(A),g(J),t(oe)};return W(),window.addEventListener("resize",W),()=>window.removeEventListener("resize",W)},[]),_.useEffect(()=>{n({width:c,height:w})},[c,w,n]);const j=_.useMemo(()=>r.width*b,[r.width,b]),H=_.useMemo(()=>{const W=r.height,k=W*b;return W&&W!==720&&W!==900&&k<S?k:S},[r.height,S,b]),I=_.useCallback(()=>{window.history.back()},[]);return Ze?z.jsxs("div",{id:"scenario-container",className:"relative bg-gray-100 w-full flex items-center justify-center",style:s?{height:`${s}px`}:{},children:[v&&z.jsx("div",{className:"fixed inset-0 z-50 bg-transparent"}),z.jsx("style",{children:`
|
|
4
4
|
.react-resizable-handle-e {
|
|
5
5
|
display: flex !important;
|
|
6
6
|
align-items: center !important;
|
|
@@ -23,4 +23,4 @@ import{r as _,j as z,F as Z,x as ze,b as He}from"./components-CAx5ONX_.js";impor
|
|
|
23
23
|
.react-resizable:hover .react-resizable-handle-e {
|
|
24
24
|
opacity: 0.4 !important;
|
|
25
25
|
}
|
|
26
|
-
`}),z.jsx(Ke,{width:j,height:H,minConstraints:[300,200],maxConstraints:[x,S],className:"relative bg-white rounded-lg shadow-md",resizeHandles:["e"],onResizeStart:C,onResizeStop:E,onResize:T,children:z.jsx("div",{className:"overflow-auto",style:{width:`${j}px`,height:`${H}px`},children:z.jsx("div",{style:{width:`${r.width}px`,height:`${r.height}px`,transform:`scale(${b})`,transformOrigin:"top left"},children:f?z.jsx("iframe",{ref:e,className:"w-full h-full rounded-lg",src:f,onLoad:q,sandbox:"allow-scripts allow-same-origin"}):z.jsxs("p",{className:"w-full h-full flex flex-col gap-3 items-center justify-center",children:[z.jsx("span",{className:"text-xl font-light",children:"Oops! Looks like this scenario is not available yet. Please check back later."}),z.jsx("span",{className:"text-blue-600 cursor-pointer",onClick:I,children:"Go back"})]})})})},`resizable-box-${i}`)]}):z.jsx("div",{className:"relative bg-gray-100 w-full h-full flex items-center justify-center",children:z.jsx("p",{className:"text-gray-500",children:"Loading interactive view..."})})};function Ce(i){const m=i.replace(/[^a-zA-Z0-9_]+/g,"_");return m.slice(0,1).toUpperCase()+m.slice(1)}function
|
|
26
|
+
`}),z.jsx(Ke,{width:j,height:H,minConstraints:[300,200],maxConstraints:[x,S],className:"relative bg-white rounded-lg shadow-md",resizeHandles:["e"],onResizeStart:C,onResizeStop:E,onResize:T,children:z.jsx("div",{className:"overflow-auto",style:{width:`${j}px`,height:`${H}px`},children:z.jsx("div",{style:{width:`${r.width}px`,height:`${r.height}px`,transform:`scale(${b})`,transformOrigin:"top left"},children:f?z.jsx("iframe",{ref:e,className:"w-full h-full rounded-lg",src:f,onLoad:q,sandbox:"allow-scripts allow-same-origin"}):z.jsxs("p",{className:"w-full h-full flex flex-col gap-3 items-center justify-center",children:[z.jsx("span",{className:"text-xl font-light",children:"Oops! Looks like this scenario is not available yet. Please check back later."}),z.jsx("span",{className:"text-blue-600 cursor-pointer",onClick:I,children:"Go back"})]})})})},`resizable-box-${i}`)]}):z.jsx("div",{className:"relative bg-gray-100 w-full h-full flex items-center justify-center",children:z.jsx("p",{className:"text-gray-500",children:"Loading interactive view..."})})};function Ce(i){const m=i.replace(/[^a-zA-Z0-9_]+/g,"_");return m.slice(0,1).toUpperCase()+m.slice(1)}function it({analysisId:i,scenarioId:m,scenarioName:f,projectSlug:c,enabled:w=!0}){const u=He(),[y,R]=_.useState(null),[h,v]=_.useState(!1),[O,d]=_.useState(!1),[D,x]=_.useState(!1),P=_.useRef(!1),S=_.useRef(null),g=_.useRef(null),[s,t]=_.useState(0),[a,o]=_.useState(0),r=_.useRef(null),n=_.useRef(!1),{interactiveUrl:e,resetLogs:l}=ze(c,w),p=_.useRef(m);_.useEffect(()=>{if(p.current!==m&&(p.current=m,S.current&&g.current&&f)){const b=Ce(g.current),C=Ce(f),E=S.current.replace(b,C);R(E),d(!0),x(!1),t(0),o(T=>T+1),n.current=!1,r.current&&(clearTimeout(r.current),r.current=null);return}},[m,f]),_.useEffect(()=>{if(e){const b=e+"?width=600px";S.current=b,f&&(g.current=f),R(b),v(!1),d(!0)}},[e]),_.useEffect(()=>{const b=C=>{C.data.type==="codeyam-resize"&&(n.current||(n.current=!0,r.current&&(clearTimeout(r.current),r.current=null),t(0),x(!0),requestAnimationFrame(()=>{requestAnimationFrame(()=>{d(!1)})})))};return window.addEventListener("message",b),()=>window.removeEventListener("message",b)},[]);const M=()=>{n.current=!1,r.current&&clearTimeout(r.current);const b=500*Math.pow(2,s);r.current=setTimeout(()=>{n.current||(s<2?(t(C=>C+1),o(C=>C+1),d(!0)):(console.error("[useInteractiveMode] Interactive mode failed to load after 3 attempts - showing iframe anyway"),x(!0),d(!1)))},b)};return _.useEffect(()=>{w&&!P.current&&m&&i&&(P.current=!0,v(!0),x(!1),R(null),(async()=>{if(c)try{await fetch(`/api/logs/${c}`,{method:"DELETE"})}catch(C){console.error("[useInteractiveMode] Failed to clear log file:",C)}l(),u.submit({action:"start",analysisId:i,scenarioId:m},{method:"post",action:"/api/interactive-mode"})})())},[w,m,i,l,c]),_.useEffect(()=>{const b=i,C=()=>{if(P.current&&b){const T=new URLSearchParams({action:"stop",analysisId:b});console.log("[useInteractiveMode] Sending stop request via sendBeacon");const q=navigator.sendBeacon("/api/interactive-mode",T);console.log("[useInteractiveMode] sendBeacon result:",q),q||(console.log("[useInteractiveMode] sendBeacon failed, using fetch fallback"),fetch("/api/interactive-mode",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:T,keepalive:!0}).catch(j=>console.error("Failed to stop interactive mode:",j)))}},E=()=>{C()};return window.addEventListener("beforeunload",E),()=>{window.removeEventListener("beforeunload",E),console.log("[useInteractiveMode] Cleanup running:",{hasStarted:P.current,analysisId:b}),C()}},[i]),{interactiveServerUrl:y,isStarting:h,isLoading:O,showIframe:D,iframeKey:a,onIframeLoad:M}}function st({scenarioId:i,scenarioName:m,iframeUrl:f,isStarting:c,isLoading:w,showIframe:u,iframeKey:y,onIframeLoad:R,onScaleChange:h,onDimensionChange:v,projectSlug:O,defaultWidth:d=1440,defaultHeight:D=900,retryCount:x=0}){const{lastLine:P}=ze(O??null,c||w);return f?z.jsxs("div",{className:"flex-1 min-h-0 relative",children:[z.jsx("div",{style:{opacity:u?1:0},children:z.jsx(et,{id:i,scenarioName:m,iframeUrl:f,defaultWidth:d,defaultHeight:D,onIframeLoad:R,onScaleChange:h,onDimensionChange:v},y)}),!u&&(c||w)&&z.jsx("div",{className:"absolute inset-0 flex items-center justify-center z-10",children:z.jsxs("div",{className:"flex flex-col items-center gap-3",children:[z.jsx("div",{className:"w-12 h-12",children:z.jsx("svg",{className:"animate-spin",viewBox:"0 0 50 50",children:z.jsx("circle",{cx:"25",cy:"25",r:"20",fill:"none",stroke:"#005c75",strokeWidth:"4",strokeDasharray:"31.4 31.4",strokeLinecap:"round"})})}),z.jsxs("div",{className:"text-center",children:[z.jsx("p",{className:"text-base font-semibold text-[#005c75] mb-1",children:c&&!f?"Starting interactive mode...":`Checking server stability. Attempt #${x+1}..`}),P&&!f&&z.jsx("p",{className:"text-xs font-mono text-[#666] leading-relaxed",children:P}),f&&x>0&&z.jsxs("p",{className:"text-xs font-mono text-[#666] leading-relaxed",children:["Waiting for application to initialize... (attempt"," ",x+1,")"]})]})]})})]}):z.jsx("div",{className:"flex-1 flex flex-col items-center justify-center p-12 text-center bg-[#f6f9fc]",children:z.jsxs("div",{className:"flex flex-col items-center gap-6 max-w-2xl",children:[z.jsx("div",{className:"w-12 h-12 mb-2",children:z.jsx("svg",{className:"animate-spin",viewBox:"0 0 50 50",children:z.jsx("circle",{cx:"25",cy:"25",r:"20",fill:"none",stroke:"#005c75",strokeWidth:"4",strokeDasharray:"31.4 31.4",strokeLinecap:"round"})})}),z.jsx("h2",{className:"text-2xl font-semibold text-[#005c75] leading-[30px] m-0 font-['IBM_Plex_Sans']",children:w?"Interactive mode ready: launching...":"Starting Interactive Mode..."}),P&&z.jsx("p",{className:"text-xs font-mono text-[#005c75] text-center leading-5 m-0 max-w-xl font-['IBM_Plex_Mono']",children:P}),z.jsx("p",{className:"text-xs text-[#8e8e8e] text-center leading-5 m-0 font-['IBM_Plex_Mono']",children:w?"Loading the page in the background...":"Setting up the dev server for this scenario..."})]})})}export{st as I,at as W,it as a,Ie as u};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{j as l,L as D}from"./chunk-WWGJGFF6-De6i8FUT.js";function F(t,d,x,y,E){const e=d?.scenarios?.find(r=>r.name===t.name),u=!!e?.startedAt,n=!!e?.screenshotStartedAt,k=!!e?.screenshotFinishedAt,p=!!e?.finishedAt,v=1800*1e3,g=n&&!k&&e?.screenshotStartedAt&&Date.now()-new Date(e.screenshotStartedAt).getTime()>v,o=!!t.metadata?.screenshotPaths?.[0]||!!t.metadata?.executionResult,s=n&&!k,c=e?.error,S=t.metadata?.executionResult?.error,a=[];if(d?.errors&&d.errors.length>0)for(const r of d.errors)a.push({source:`${r.phase} phase`,message:r.message});if(d?.steps)for(const r of d.steps)r.error&&a.push({source:r.name,message:r.error});const w=!o&&!c&&!S&&a.length>0,i=!!(c||S||g||w),j=g?"Capture timed out after 30 minutes":(typeof c=="string"?c:null)||S?.message||(w?`Analysis error: ${a[0].message}`:null),L=g?"The capture process has been running for more than 30 minutes and likely got stuck. Consider re-running the analysis.":e?.errorStack||S?.stack||null,A=(y&&E?E.jobs.some(r=>r.entityShas?.includes(y)||r.type==="analysis"&&r.entityShas&&r.entityShas.length===0)||E.currentlyExecuting?.entityShas?.includes(y):!1)&&!u&&!i||!!e?.analyzing&&!u&&!i,C=u&&!n&&!p&&!i,M=(A||C||s)&&!i,h=(A||C)&&x===!1&&!o;let m;h?m="crashed":i?m="error":o||p?m="completed":s?m="capturing":C?m="starting":A?m="queued":m="pending";let b="📷",f="pending",T=!1,$=`Not captured: ${t.name}`;const R="border-gray-300",z=i||h?"bg-red-50":"bg-white";return i||h?(b="⚠️",f="error",$=`Error: ${h?"Analysis process crashed":j||"Unknown error"}`):A?(b="⋯",f="queued",$=`Queued: ${t.name}`):C?(b="⋯",f="starting",T=!0,$=`Starting server for ${t.name}...`):s&&!i?(b="⋯",f="capturing",T=!0,$=`Capturing ${t.name}...`):o&&(b="✓",f="completed",$=t.name),{hasError:i||h,errorMessage:h?"Analysis process crashed":j,errorStack:h?"Process terminated unexpectedly before completing analysis":L,isCapturing:s,isCaptured:o,hasCrashed:h,isAnalyzing:M,isQueued:A,isServerStarting:C,status:m,icon:b,iconType:f,shouldSpin:T,title:$,borderColor:R,bgColor:z}}function P({scenario:t,entitySha:d,size:x="medium",showBorder:y=!0,isOutdated:E=!1}){const e=F(t,void 0,void 0,d,void 0),u=t.metadata?.executionResult,n=!!u,p=(t.metadata?.data?.argumentsData||[]).length,v=u?.returnValue!==void 0&&u?.returnValue!==null,g=u?.sideEffects?.consoleOutput?.length||0,o=u?.timing?.duration||0;let s=0;p>0&&s++,p>2&&s++,v&&s++,g>0&&s++,s=Math.min(3,s);const c=x==="small"?{width:"w-[50px]",height:"h-[38px]",iconSize:"text-base",textSize:"text-[8px]"}:{width:"w-20",height:"h-15",iconSize:"text-xl",textSize:"text-[10px]"},a=e.hasError?{border:"border-red-400",bg:"bg-red-50",icon:"text-red-600",badge:"bg-red-100 text-red-700"}:n?E?{border:"border-amber-500",bg:"bg-amber-50",icon:"text-amber-700",badge:"bg-amber-100 text-amber-700"}:{border:"border-blue-400",bg:"bg-blue-50",icon:"text-blue-600",badge:"bg-blue-100 text-blue-700"}:{border:"border-gray-300 border-dashed",bg:"bg-gray-50",icon:"text-gray-400",badge:"bg-gray-100 text-gray-600"},w=y?`border-2 ${a.border}`:"",i=Array.from({length:3},(L,N)=>l.jsx("div",{className:`w-1 h-1 rounded-full ${N<s?a.icon.replace("text-","bg-"):"bg-gray-300"}`},N)),j=e.hasError?`Error: ${e.errorMessage||"Unknown error"}`:n?`${t.name}
|
|
2
|
+
${p} args → ${v?"value":"void"}${g>0?` (${g} logs)`:""}
|
|
3
|
+
${o}ms`:`Not executed: ${t.name}`;return l.jsxs(D,{to:`/entity/${d}/scenarios/${t.id}`,className:`relative ${c.width} ${c.height} ${w} rounded ${a.bg} flex flex-col items-center justify-center gap-0.5 cursor-pointer transition-all hover:scale-105 hover:shadow-md`,title:j,children:[l.jsx("div",{className:`${a.icon} ${c.iconSize} font-mono font-bold`,children:e.hasError?"⚠":n?"ƒ":"○"}),n&&!e.hasError&&l.jsxs("div",{className:`flex items-center gap-0.5 ${c.textSize} ${a.badge} px-1 rounded`,children:[l.jsx("span",{children:p}),l.jsx("span",{children:"→"}),l.jsx("span",{children:v?"✓":"∅"})]}),n&&!e.hasError&&x==="medium"&&l.jsx("div",{className:"flex gap-0.5 mt-0.5",children:i}),n&&!e.hasError&&o>100&&x==="medium"&&l.jsx("div",{className:`absolute top-0.5 right-0.5 ${c.textSize} ${a.badge} px-1 rounded`,children:o>1e3?`${Math.round(o/1e3)}s`:`${o}ms`}),n&&!e.hasError&&g>0&&x==="medium"&&l.jsxs("div",{className:"absolute bottom-0.5 left-0.5 text-[8px] text-gray-500",children:["📝",g]})]})}export{P as L,F as g};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{r,j as e}from"./
|
|
1
|
+
import{r,j as e}from"./chunk-WWGJGFF6-De6i8FUT.js";function w({projectSlug:i,onClose:l}){const[p,o]=r.useState("Loading logs..."),[x,m]=r.useState(!0),[u,g]=r.useState(!0),[n,f]=r.useState("all"),a=r.useRef(null);return r.useEffect(()=>{const t=async()=>{try{const s=await fetch(`/api/logs/${i}`);if(s.ok){const d=await s.text();if(n==="all")o(d);else{const b=d.trim().split(`
|
|
2
2
|
`).filter(c=>{if(c.length===0)return!1;const h=c.match(/^.*CodeYam Log Level (\d+):/);return!!h&&Number(h[1])<=n});o(b.map(c=>c.replace(/^.*CodeYam Log Level \d+:\s*/,"")).join(`
|
|
3
3
|
`))}u&&a.current&&setTimeout(()=>{a.current?.scrollTo({top:a.current.scrollHeight,behavior:"smooth"})},100)}else o(`Error: ${s.status} - ${await s.text()}`)}catch(s){o(`Error fetching logs: ${s.message}`)}};if(t().catch(()=>{}),x){const s=setInterval(()=>{t().catch(()=>{})},2e3);return()=>clearInterval(s)}},[i,x,u,n]),r.useEffect(()=>{const t=s=>{s.key==="Escape"&&l()};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)},[l]),e.jsx("div",{className:"fixed inset-0 bg-black/70 flex items-center justify-center z-9999 p-5",onClick:l,children:e.jsxs("div",{className:"bg-[#1e1e1e] rounded-lg shadow-2xl flex flex-col max-w-[1200px] w-full max-h-[90vh] overflow-hidden",onClick:t=>t.stopPropagation(),children:[e.jsxs("div",{className:"flex justify-between items-center px-5 py-4 border-b border-[#333] bg-[#252525]",children:[e.jsxs("h3",{className:"m-0 text-lg font-semibold text-white",children:["Analysis Logs - ",i]}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs("label",{className:"flex items-center gap-2 text-sm text-[#ccc] select-none",children:[e.jsx("span",{children:"Log Level:"}),e.jsxs("select",{value:n,onChange:t=>f(t.target.value==="all"?"all":Number(t.target.value)),className:"bg-[#333] text-white border border-[#555] rounded px-2 py-1 text-sm cursor-pointer outline-none transition-all hover:border-[#777] hover:bg-[#3a3a3a] focus:border-blue-600",children:[e.jsx("option",{value:"1",children:"1"}),e.jsx("option",{value:"2",children:"2"}),e.jsx("option",{value:"3",children:"3"}),e.jsx("option",{value:"4",children:"4"}),e.jsx("option",{value:"all",children:"All"})]})]}),e.jsxs("label",{className:"flex items-center gap-1.5 text-sm text-[#ccc] cursor-pointer select-none group",children:[e.jsx("input",{type:"checkbox",checked:x,onChange:t=>m(t.target.checked),className:"cursor-pointer"}),e.jsx("span",{className:"group-hover:text-white",children:"Auto-refresh"})]}),e.jsxs("label",{className:"flex items-center gap-1.5 text-sm text-[#ccc] cursor-pointer select-none group",children:[e.jsx("input",{type:"checkbox",checked:u,onChange:t=>g(t.target.checked),className:"cursor-pointer"}),e.jsx("span",{className:"group-hover:text-white",children:"Auto-scroll"})]}),e.jsx("button",{onClick:l,className:"bg-transparent border-none text-[#999] text-2xl cursor-pointer p-0 w-8 h-8 flex items-center justify-center rounded transition-all hover:bg-[#333] hover:text-white",title:"Close (Esc)",children:"✕"})]})]}),e.jsx("pre",{className:"flex-1 m-0 px-5 py-4 overflow-auto font-mono text-[13px] leading-relaxed text-[#d4d4d4] bg-[#1e1e1e] whitespace-pre-wrap wrap-break-word scrollbar-thin scrollbar-thumb-[#424242] scrollbar-track-[#1e1e1e] hover:scrollbar-thumb-[#4f4f4f]",ref:a,children:p})]})})}export{w as L};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as m,b as T,j as e}from"./chunk-WWGJGFF6-De6i8FUT.js";import{S as w}from"./settings-5zF_GOcS.js";import{C as z}from"./circle-check-BACUUf75.js";import{c as P}from"./createLucideIcon-CS7XDrKv.js";import{T as S}from"./triangle-alert-D7k-ArFa.js";const R="modulepreload",D=function(i){return"/"+i},C={},$=function(y,o,N){let d=Promise.resolve();if(o&&o.length>0){let x=function(t){return Promise.all(t.map(c=>Promise.resolve(c).then(l=>({status:"fulfilled",value:l}),l=>({status:"rejected",reason:l}))))};document.getElementsByTagName("link");const n=document.querySelector("meta[property=csp-nonce]"),r=n?.nonce||n?.getAttribute("nonce");d=x(o.map(t=>{if(t=D(t),t in C)return;C[t]=!0;const c=t.endsWith(".css"),l=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${t}"]${l}`))return;const a=document.createElement("link");if(a.rel=c?"stylesheet":R,c||(a.as="script"),a.crossOrigin="",a.href=t,r&&a.setAttribute("nonce",r),document.head.appendChild(a),c)return new Promise((j,f)=>{a.addEventListener("load",j),a.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${t}`)))})}))}function u(n){const r=new Event("vite:preloadError",{cancelable:!0});if(r.payload=n,window.dispatchEvent(r),!r.defaultPrevented)throw n}return d.then(n=>{for(const r of n||[])r.status==="rejected"&&u(r.reason);return y().catch(u)})};const F=[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]],L=P("bug",F),W=[{value:"analysis-failed",label:"Analysis failed or incomplete"},{value:"screenshot-wrong",label:"Screenshot looks wrong"},{value:"app-crashed",label:"App crashed or froze"},{value:"other",label:"Other issue"}];function _(i){return i.scenarioId?`Scenario: ${i.scenarioId.slice(0,8)}...`:i.entitySha?`Entity: ${i.entitySha.slice(0,8)}...`:"General feedback"}function q({isOpen:i,onClose:y,context:o,defaultEmail:N="",screenshotDataUrl:d}){const[u,n]=m.useState("other"),[r,x]=m.useState(""),[t,c]=m.useState(N),[l,a]=m.useState(!1),[j,f]=m.useState(null),[b,v]=m.useState(null),p=T(),h=p.state!=="idle";if(p.data&&!l&&!b){const s=p.data;s.success&&s.reportId?(a(!0),f(s.reportId)):s.error&&v(s.error)}const I=async()=>{v(null);const s=new FormData;if(s.append("issueType",u),s.append("description",r),s.append("email",t),s.append("source",o.source),s.append("entitySha",o.entitySha||""),s.append("scenarioId",o.scenarioId||""),s.append("analysisId",o.analysisId||""),s.append("currentUrl",o.currentUrl),d)try{const M=await(await fetch(d)).blob();s.append("screenshot",M,"screenshot.jpg")}catch(k){console.error("Failed to convert screenshot:",k)}p.submit(s,{method:"post",action:"/api/generate-report",encType:"multipart/form-data"})},g=()=>{n("other"),x(""),a(!1),f(null),v(null),y()},E=s=>{s.key==="Escape"&&g()};return i?e.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center p-4 z-50",onKeyDown:E,children:e.jsxs("div",{className:"bg-white rounded-lg max-w-lg w-full p-6 shadow-xl",children:[e.jsxs("div",{className:"flex items-center justify-between mb-6",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[h?e.jsx("div",{className:"animate-spin",children:e.jsx(w,{size:24,style:{strokeWidth:1.5}})}):l?e.jsx(z,{size:24,style:{color:"#10B981",strokeWidth:1.5}}):e.jsx(L,{size:24,style:{color:"#005C75",strokeWidth:1.5}}),e.jsx("h2",{className:"text-xl font-semibold text-gray-900",children:l?"Report Submitted":"Report Issue"})]}),e.jsx("button",{onClick:g,className:"text-gray-400 hover:text-gray-600 transition-colors","aria-label":"Close",children:e.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),l?e.jsxs("div",{children:[e.jsxs("div",{className:"mb-6 p-4 bg-green-50 rounded-lg border border-green-200",children:[e.jsx("p",{className:"text-sm text-green-800 font-medium mb-1",children:"Thank you for your feedback!"}),e.jsxs("p",{className:"text-xs text-green-700",children:["Report ID:"," ",e.jsx("code",{className:"bg-green-100 px-1 rounded",children:j})]})]}),e.jsx("p",{className:"text-sm text-gray-600 mb-6",children:"The CodeYam team will investigate and may reach out if you provided an email address."}),e.jsx("div",{className:"flex justify-end",children:e.jsx("button",{onClick:g,className:"px-4 py-2 bg-[#005c75] text-white text-sm font-medium rounded-md hover:bg-[#004a5c] transition-colors",children:"Done"})})]}):e.jsxs("div",{children:[e.jsxs("div",{className:"mb-4 p-3 bg-gray-50 rounded-lg border border-gray-200",children:[e.jsx("div",{className:"text-xs text-gray-500 mb-1",children:"Context"}),e.jsx("div",{className:"text-sm font-medium text-gray-900",children:_(o)})]}),d&&e.jsxs("div",{className:"mb-4 p-3 bg-gray-50 rounded-lg border border-gray-200",children:[e.jsx("div",{className:"text-xs text-gray-500 mb-2",children:"Screenshot (will be included in report)"}),e.jsx("img",{src:d,alt:"Page screenshot",className:"w-full max-h-[150px] object-contain rounded border border-gray-300"})]}),e.jsxs("div",{className:"mb-4",children:[e.jsx("label",{htmlFor:"issue-type",className:"block text-sm font-medium text-gray-700 mb-2",children:"What went wrong?"}),e.jsx("select",{id:"issue-type",value:u,onChange:s=>n(s.target.value),className:"w-full px-3 py-2 border border-gray-300 rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-[#005c75] focus:border-[#005c75]",children:W.map(s=>e.jsx("option",{value:s.value,children:s.label},s.value))})]}),e.jsxs("div",{className:"mb-4",children:[e.jsx("label",{htmlFor:"description",className:"block text-sm font-medium text-gray-700 mb-2",children:"Tell us more (optional)"}),e.jsx("textarea",{id:"description",value:r,onChange:s=>x(s.target.value),placeholder:"Describe what you expected vs what happened...",rows:3,className:"w-full px-3 py-2 border border-gray-300 rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-[#005c75] focus:border-[#005c75] resize-none"})]}),e.jsxs("div",{className:"mb-4",children:[e.jsx("label",{htmlFor:"email",className:"block text-sm font-medium text-gray-700 mb-2",children:"Your email (optional, for follow-up)"}),e.jsx("input",{id:"email",type:"email",value:t,onChange:s=>c(s.target.value),placeholder:"you@example.com",className:"w-full px-3 py-2 border border-gray-300 rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-[#005c75] focus:border-[#005c75]"})]}),e.jsxs("div",{className:"mb-6 p-3 bg-amber-50 rounded-lg border border-amber-200 flex gap-2",children:[e.jsx(S,{size:16,className:"flex-shrink-0 mt-0.5",style:{color:"#D97706"}}),e.jsxs("div",{className:"text-xs text-amber-800",children:[e.jsx("p",{className:"font-medium mb-1",children:"Source code will be uploaded"}),e.jsx("p",{children:"This report includes your project source code, git history, and CodeYam logs. Only submit if you're comfortable sharing this with the CodeYam team."})]})]}),h&&e.jsx("div",{className:"mb-4 text-center",children:e.jsx("p",{className:"text-sm text-gray-600",children:p.formData?"Uploading report...":"Creating archive..."})}),b&&e.jsxs("div",{className:"mb-4 p-3 bg-red-50 rounded-lg border border-red-200 flex gap-2",children:[e.jsx(S,{size:16,className:"flex-shrink-0 mt-0.5",style:{color:"#DC2626"}}),e.jsxs("div",{className:"text-xs text-red-800",children:[e.jsx("p",{className:"font-medium mb-1",children:"Upload failed"}),e.jsx("p",{children:b})]})]}),e.jsxs("div",{className:"flex gap-3 justify-end",children:[e.jsx("button",{onClick:g,disabled:h,className:"px-4 py-2 bg-gray-100 text-gray-700 text-sm font-medium rounded-md hover:bg-gray-200 focus:outline-none focus:ring-2 focus:ring-gray-300 transition-colors disabled:opacity-50",children:"Cancel"}),e.jsx("button",{onClick:()=>{I()},disabled:h,className:"px-4 py-2 bg-[#005c75] text-white text-sm font-medium rounded-md hover:bg-[#004a5c] focus:outline-none focus:ring-2 focus:ring-[#005c75] focus:ring-offset-1 transition-colors disabled:bg-gray-300 disabled:cursor-not-allowed flex items-center gap-2",children:h?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"animate-spin",children:e.jsx(w,{size:16,style:{strokeWidth:1.5}})}),"Submitting..."]}):b?"Try Again":"Submit Report"})]})]})]})}):null}export{L as B,q as R,$ as _};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as t,j as e}from"./chunk-WWGJGFF6-De6i8FUT.js";function j({screenshotPath:a,cacheBuster:l,alt:x,className:f="",title:o}){const[n,s]=t.useState("loading"),[i,r]=t.useState(!1),c=t.useRef(null),d=l?`/api/screenshot/${a}?cb=${l}`:`/api/screenshot/${a}`,m=()=>{s("success"),r(!0)},g=()=>{s("error"),r(!1)};return t.useEffect(()=>{s("loading"),r(!1);const u=c.current;u?.complete&&(u.naturalHeight!==0?(s("success"),r(!0)):(s("error"),r(!1)))},[d]),a?e.jsxs("div",{className:"relative w-full h-full flex items-center justify-center",title:o,children:[e.jsx("img",{ref:c,src:d,alt:x,onLoad:m,onError:g,className:f||"max-w-full max-h-full object-contain",style:{visibility:i?"visible":"hidden",position:i?"relative":"absolute"}}),n==="loading"&&e.jsx("div",{className:"absolute inset-0 bg-gray-100 animate-pulse rounded flex items-center justify-center",children:e.jsx("svg",{className:"w-8 h-8 text-gray-300",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"})})}),n==="error"&&e.jsxs("div",{className:"absolute inset-0 border-2 border-dashed border-gray-300 bg-gray-50 rounded flex flex-col items-center justify-center text-xs gap-1",children:[e.jsx("span",{className:"text-2xl text-gray-400",children:"📷"}),e.jsx("span",{className:"text-gray-400 whitespace-nowrap",children:"No Screenshot"})]})]}):e.jsx("div",{className:"w-full h-full border-2 border-dashed border-gray-300 bg-gray-50 rounded flex flex-col items-center justify-center text-xs gap-1",title:o,children:e.jsx("span",{className:"text-2xl text-gray-400",children:"📷"})})}export{j as S};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{j as e,L as u}from"./chunk-WWGJGFF6-De6i8FUT.js";import{S as j}from"./SafeScreenshot-Bual6h18.js";import{L as S,g as b}from"./LibraryFunctionPreview-BYVx9KFp.js";import{c as C}from"./createLucideIcon-CS7XDrKv.js";import{C as w}from"./circle-alert-IdsgAK39.js";const $=[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]],v=C("circle-check-big",$);function A({scenario:a,entity:i,analysisStatus:d,queueState:h,processIsRunning:x,size:t="medium",cacheBuster:p,className:f="",viewMode:o}){if(i.entityType==="library")return e.jsx(S,{scenario:a,entitySha:i.sha,size:t==="small"?"small":"medium"});const s=b(a,d,x,i.sha,h),l=t==="small"?{containerClass:"w-16 h-12",iconSize:"text-xl"}:t==="large"?{containerClass:"w-full h-[67px]",iconSize:"text-2xl"}:{containerClass:"w-20 h-15",iconSize:"text-2xl"},c=`relative ${l.containerClass} ${f}`,m=()=>{const n=`/entity/${i.sha}/scenarios/${a.id}`;return o?`${n}/${o}`:n};if(s.isCaptured){const n=a.metadata?.screenshotPaths?.[0];return e.jsx(u,{to:m(),className:`${c} overflow-hidden bg-gray-50 cursor-pointer transition-all flex items-center justify-center hover:scale-105 hover:shadow-md`,children:e.jsx(j,{screenshotPath:n,cacheBuster:p,alt:a.name,title:a.name,className:"max-w-full max-h-full object-contain object-center"})})}const y=()=>{const n={size:t==="small"?16:t==="large"?24:20,strokeWidth:2},g=t==="small"?"text-base":t==="large"?"text-2xl":"text-xl",r=e.jsxs(e.Fragment,{children:[e.jsx("style",{children:`
|
|
2
|
+
@keyframes strongPulse {
|
|
3
|
+
0%, 100% { opacity: 0.2; }
|
|
4
|
+
50% { opacity: 1; }
|
|
5
|
+
}
|
|
6
|
+
`}),e.jsxs("div",{className:`${g} font-bold tracking-widest flex items-center justify-center text-gray-600`,children:[e.jsx("span",{style:{animation:"strongPulse 1.5s ease-in-out infinite"},children:"."}),e.jsx("span",{style:{animation:"strongPulse 1.5s ease-in-out infinite",animationDelay:"0.3s"},children:"."}),e.jsx("span",{style:{animation:"strongPulse 1.5s ease-in-out infinite",animationDelay:"0.6s"},children:"."})]})]});if(s.shouldSpin||s.iconType==="queued"||s.iconType==="pending")return r;switch(s.iconType){case"starting":case"capturing":return r;case"error":return e.jsx(w,{...n});case"completed":return e.jsx(v,{...n});default:return r}};return e.jsx(u,{to:m(),className:`${c} ${s.bgColor} flex flex-col items-center justify-center cursor-pointer transition-all hover:scale-105 hover:shadow-md`,title:s.title,children:e.jsx("div",{className:l.iconSize,children:y()})})}export{v as C,A as S};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{r as o,j as e,b as ee,L as se}from"./chunk-WWGJGFF6-De6i8FUT.js";import{a as te,I as re}from"./InteractivePreview-XDSzQLOY.js";import{L as ae}from"./LogViewer-CRcT5fOZ.js";import{S as ne}from"./SafeScreenshot-Bual6h18.js";import{u as oe}from"./useLastLogLine-AlhS7g5F.js";import{R as ie,_ as le}from"./ReportIssueModal-BORLgi0X.js";function ce({presets:t,customSizes:i,currentWidth:l,currentHeight:n,scale:f,onSizeChange:w,onSaveCustomSize:m,onRemoveCustomSize:r,className:c=""}){const[a,x]=o.useState(!1),[h,C]=o.useState(String(l)),[y,j]=o.useState(String(n)),[u,g]=o.useState(!1),[p,k]=o.useState(!1),I=o.useRef(null);o.useEffect(()=>{u||C(String(l))},[l,u]),o.useEffect(()=>{p||j(String(n))},[n,p]),o.useEffect(()=>{const s=N=>{I.current&&!I.current.contains(N.target)&&x(!1)};return document.addEventListener("mousedown",s),()=>document.removeEventListener("mousedown",s)},[]);const P=o.useMemo(()=>{const s=t.find(b=>b.width===l&&b.height===n);if(s)return s.name;const N=i.find(b=>b.width===l&&b.height===n);return N?N.name:"Custom"},[t,i,l,n]),z=P==="Custom",A=s=>{w(s.width,s.height),x(!1)},E=s=>{const N=s.target.value;C(N);const b=parseInt(N,10);!isNaN(b)&&b>0&&w(b,n)},R=s=>{const N=s.target.value;j(N);const b=parseInt(N,10);!isNaN(b)&&b>0&&w(l,b)},D=()=>{g(!1);const s=parseInt(h,10);(isNaN(s)||s<=0)&&C(String(l))},S=()=>{k(!1);const s=parseInt(y,10);(isNaN(s)||s<=0)&&j(String(n))},$=s=>{(s.key==="Enter"||s.key==="Escape")&&s.target.blur()};return e.jsxs("div",{className:`flex items-center gap-3 ${c}`,children:[e.jsxs("div",{className:"relative",ref:I,children:[e.jsxs("button",{onClick:()=>x(!a),className:"flex items-center gap-2 px-3 py-1.5 bg-white border border-gray-300 rounded-md text-sm font-medium text-gray-700 hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-[#005c75] focus:ring-offset-1 min-w-[120px] justify-between",children:[e.jsx("span",{children:P}),e.jsx("svg",{className:`w-4 h-4 transition-transform ${a?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),a&&e.jsx("div",{className:"absolute top-full left-0 mt-1 min-w-full bg-white border border-gray-200 rounded-md shadow-lg z-50",children:e.jsxs("div",{className:"py-1",children:[t.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"px-3 py-1 text-xs font-semibold text-gray-500 uppercase tracking-wider whitespace-nowrap",children:"Presets"}),t.map(s=>e.jsxs("button",{onClick:()=>A(s),className:`w-full text-left px-3 py-2 text-sm hover:bg-gray-100 flex justify-between items-center gap-4 whitespace-nowrap ${P===s.name?"bg-[#f0f7f9] text-[#005c75]":"text-gray-700"}`,children:[e.jsx("span",{children:s.name}),e.jsxs("span",{className:"text-xs text-gray-500",children:[s.width," x ",s.height]})]},s.name))]}),i.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"border-t border-gray-100 my-1"}),e.jsx("div",{className:"px-3 py-1 text-xs font-semibold text-gray-500 uppercase tracking-wider whitespace-nowrap",children:"Custom"}),[...i].sort((s,N)=>s.width-N.width).map(s=>e.jsxs("div",{className:`flex items-center gap-1 hover:bg-gray-100 ${P===s.name?"bg-[#f0f7f9] text-[#005c75]":"text-gray-700"}`,children:[e.jsxs("button",{onClick:()=>A(s),className:"flex-1 text-left px-3 py-2 text-sm flex justify-between items-center gap-4 whitespace-nowrap cursor-pointer",children:[e.jsx("span",{children:s.name}),e.jsxs("span",{className:"text-xs text-gray-500",children:[s.width," x ",s.height]})]}),r&&e.jsx("button",{onClick:N=>{N.stopPropagation(),P===s.name&&t.length>0&&w(t[0].width,t[0].height),r(s.name)},className:"p-1.5 mr-1 text-gray-400 hover:text-red-500 hover:bg-red-50 rounded cursor-pointer transition-colors",title:"Remove custom size",children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]},s.name))]})]})})]}),e.jsxs("div",{className:"flex items-center gap-1 text-sm",children:[e.jsxs("div",{className:"flex items-center",children:[e.jsx("input",{type:"text",value:h,onChange:E,onFocus:()=>g(!0),onBlur:D,onKeyDown:$,className:"w-16 px-2 py-1 text-right border border-gray-300 rounded-l-md text-sm focus:outline-none focus:ring-2 focus:ring-[#005c75] focus:border-[#005c75]"}),e.jsx("span",{className:"px-2 py-1 bg-gray-100 border border-l-0 border-gray-300 rounded-r-md text-gray-500 text-sm",children:"px"})]}),e.jsx("span",{className:"text-gray-400 mx-1",children:"×"}),e.jsxs("div",{className:"flex items-center",children:[e.jsx("input",{type:"text",value:y,onChange:R,onFocus:()=>k(!0),onBlur:S,onKeyDown:$,className:"w-16 px-2 py-1 text-right border border-gray-300 rounded-l-md text-sm focus:outline-none focus:ring-2 focus:ring-[#005c75] focus:border-[#005c75]"}),e.jsx("span",{className:"px-2 py-1 bg-gray-100 border border-l-0 border-gray-300 rounded-r-md text-gray-500 text-sm",children:"px"})]}),f!==void 0&&f<1&&e.jsxs("span",{className:"text-xs text-gray-500 ml-1",children:["(",Math.round(f*100),"%)"]})]}),z&&e.jsx("button",{onClick:m,className:"px-3 py-1.5 bg-[#005c75] text-white text-sm font-medium rounded-md hover:bg-[#004a5c] focus:outline-none focus:ring-2 focus:ring-[#005c75] focus:ring-offset-1 transition-colors",children:"Save Custom Size"})]})}function de({scenario:t,analysis:i,entity:l}){const n=t.metadata?.executionResult||null,f=t.metadata?.data?.argumentsData||[],w=m=>{if(!m)return"No execution results available yet. Run the function to capture side effects including console output, file operations, and API calls.";const r=[],c=m.sideEffects?.consoleOutput||[];c.length>0&&(r.push(`Console Output: ${c.length} log ${c.length===1?"entry":"entries"} captured`),c.forEach(h=>{r.push(` [${h.level.toUpperCase()}] ${h.args.join(" ")}`)}));const a=m.sideEffects?.fileWrites||[];a.length>0&&(r.push(`
|
|
2
|
+
File System Operations: ${a.length} ${a.length===1?"operation":"operations"} detected`),a.forEach(h=>{r.push(` ${h.operation}: ${h.path}${h.size?` (${h.size} bytes)`:""}`)}));const x=m.sideEffects?.apiCalls||[];return x.length>0&&(r.push(`
|
|
3
|
+
API Calls: ${x.length} ${x.length===1?"call":"calls"} made`),x.forEach(h=>{r.push(` ${h.method} ${h.url}${h.status?` → ${h.status}`:""}${h.duration?` (${h.duration}ms)`:""}`)})),m.error&&r.push(`
|
|
4
|
+
Error: ${m.error.name||"Error"}: ${m.error.message}`),r.length===0?"No side effects detected. The function executed without console output, file operations, or API calls.":r.join(`
|
|
5
|
+
`)};return e.jsxs("div",{className:"flex w-full h-full gap-0",children:[e.jsxs("div",{className:"flex-1 border border-gray-200 bg-white rounded flex flex-col",children:[e.jsx("div",{className:"px-4 pt-3.5 pb-2.5",children:e.jsx("h3",{className:"text-[9px] font-semibold text-[#005c75] uppercase tracking-wide text-center m-0",children:"Input Data"})}),e.jsx("div",{className:"flex-1 overflow-auto px-4 pb-0",children:e.jsx("pre",{className:"text-xs font-mono text-gray-800 whitespace-pre-wrap break-words m-0",children:JSON.stringify(f,null,2)})})]}),e.jsxs("div",{className:"flex-1 border border-gray-200 bg-white rounded flex flex-col ml-[-1px]",children:[e.jsx("div",{className:"px-4 pt-3.5 pb-2.5",children:e.jsx("h3",{className:"text-[9px] font-semibold text-[#005c75] uppercase tracking-wide text-center m-0",children:"Returned Data"})}),e.jsx("div",{className:"flex-1 overflow-auto px-4 pb-0",children:n?e.jsx("pre",{className:"text-xs font-mono text-gray-800 whitespace-pre-wrap break-words m-0",children:n.returnValue!==void 0?JSON.stringify(n.returnValue,null,2):"undefined"}):e.jsx("div",{className:"text-sm text-gray-500 italic",children:"No execution results yet"})})]}),e.jsxs("div",{className:"flex-1 border border-gray-200 bg-white rounded flex flex-col ml-[-1px]",children:[e.jsx("div",{className:"px-4 pt-3.5 pb-2.5",children:e.jsx("h3",{className:"text-[9px] font-semibold text-[#005c75] uppercase tracking-wide text-center m-0",children:"Side Effects"})}),e.jsx("div",{className:"flex-1 overflow-auto px-4 pb-4",children:e.jsx("p",{className:"text-sm text-gray-700 leading-[22px] m-0 whitespace-pre-wrap",children:w(n)})})]})]})}const V=10,me=1024;function xe({currentViewportWidth:t,currentPresetName:i,onDevicePresetClick:l,devicePresets:n}){const[f,w]=o.useState(null),m=o.useRef(null),r=o.useMemo(()=>[...n].sort((u,g)=>u.width-g.width),[n]),{fittingPresets:c,overflowPresets:a}=o.useMemo(()=>{const u=[],g=[];for(const p of r)p.width<=me?u.push(p):g.push(p);return g.sort((p,k)=>k.width-p.width),{fittingPresets:u,overflowPresets:g}},[r]),x=o.useCallback(u=>{if(!m.current)return null;const g=m.current.getBoundingClientRect(),p=u-g.left,k=g.width,I=k/2,z=(c.length>0?c[c.length-1].width:0)/2,A=I-z,E=I+z,R=a.length>0?(a.length-1)*V:0;if(a.length>0){if(p<A){if(p<=R){const S=Math.min(Math.floor(p/V),a.length-1);return a[S]}return a[a.length-1]}if(p>E){const S=k-p;if(S<=R){const $=Math.min(Math.floor(S/V),a.length-1);return a[$]}return a[a.length-1]}}const D=Math.abs(p-I);for(let S=c.length-1;S>=0;S--){const $=c[S],s=c[S-1],N=$.width/2,b=s?s.width/2:0;if(D<=N&&D>=b)return $}return c[0]||a[a.length-1]||null},[c,a]),h=o.useCallback(u=>{const g=x(u.clientX);w(g)},[x]),C=o.useCallback(()=>{w(null)},[]),y=o.useCallback(u=>{const g=x(u.clientX);g&&l(g)},[x,l]),j=f||{name:i,width:t};return e.jsxs("div",{ref:m,className:"relative h-6 bg-[#f6f9fc] shrink-0 overflow-hidden cursor-pointer",onMouseMove:h,onMouseLeave:C,onClick:y,children:[e.jsx("div",{className:"absolute inset-0 flex items-center justify-center pointer-events-none",children:e.jsx("div",{className:"h-full transition-all duration-100 bg-[rgba(0,92,117,0.15)]",style:{width:`${t}px`}})}),e.jsx("div",{className:"absolute inset-0 pointer-events-none",children:c.map(u=>{const g=u.width===t,p=f?.name===u.name,k=u.width/2;return e.jsxs("div",{children:[e.jsx("div",{className:"absolute top-0 bottom-0",style:{left:`calc(50% - ${k}px)`},children:e.jsx("div",{className:`w-0.5 h-full transition-colors duration-75 ${g||p?"bg-[#005c75]":"bg-[rgba(0,92,117,0.25)]"}`})}),e.jsx("div",{className:"absolute top-0 bottom-0",style:{left:`calc(50% + ${k}px)`},children:e.jsx("div",{className:`w-0.5 h-full transition-colors duration-75 ${g||p?"bg-[#005c75]":"bg-[rgba(0,92,117,0.25)]"}`})})]},u.name)})}),e.jsx("div",{className:"absolute inset-0 pointer-events-none",children:a.map((u,g)=>{const p=g*V,k=u.width===t,I=f?.name===u.name;return e.jsxs("div",{children:[e.jsx("div",{className:"absolute top-0 bottom-0",style:{left:`${p}px`},children:e.jsx("div",{className:`w-0.5 h-full transition-colors duration-75 ${k||I?"bg-[#005c75]":"bg-[rgba(0,92,117,0.25)]"}`})}),e.jsx("div",{className:"absolute top-0 bottom-0",style:{right:`${p}px`},children:e.jsx("div",{className:`w-0.5 h-full transition-colors duration-75 ${k||I?"bg-[#005c75]":"bg-[rgba(0,92,117,0.25)]"}`})})]},u.name)})}),e.jsx("div",{className:"absolute inset-0 flex items-center justify-center pointer-events-none",children:e.jsxs("div",{className:`text-[10px] px-2 py-0.5 rounded shadow-sm whitespace-nowrap transition-colors ${f?"bg-[#005c75] text-white":"bg-white/90 text-[#005c75] border border-[rgba(0,92,117,0.25)]"}`,children:[j.name," - ",j.width,"px"]})})]})}function he({width:t,height:i,onSave:l,onCancel:n}){const[f,w]=o.useState(""),[m,r]=o.useState(""),c=()=>{const x=f.trim();if(!x){r("Please enter a name for this custom size");return}l(x)},a=x=>{x.key==="Enter"&&f.trim()&&c(),x.key==="Escape"&&n()};return e.jsx("div",{className:"fixed inset-0 bg-black/50 flex items-center justify-center p-4 z-50",children:e.jsxs("div",{className:"bg-white rounded-lg max-w-md w-full p-6 shadow-xl",children:[e.jsxs("div",{className:"flex items-center justify-between mb-6",children:[e.jsx("h2",{className:"text-xl font-semibold text-gray-900",children:"Save Custom Size"}),e.jsx("button",{onClick:n,className:"text-gray-400 hover:text-gray-600 transition-colors","aria-label":"Close",children:e.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]}),e.jsxs("div",{className:"mb-6 p-4 bg-gray-50 rounded-lg border border-gray-200",children:[e.jsx("div",{className:"text-sm text-gray-500 mb-1",children:"Dimensions"}),e.jsxs("div",{className:"text-lg font-medium text-gray-900",children:[t,"px × ",i,"px"]})]}),e.jsxs("div",{className:"mb-6",children:[e.jsx("label",{htmlFor:"custom-size-name",className:"block text-sm font-medium text-gray-700 mb-2",children:"Name"}),e.jsx("input",{id:"custom-size-name",type:"text",value:f,onChange:x=>{w(x.target.value),r("")},onKeyDown:a,placeholder:"e.g., iPhone 15 Pro",className:`w-full px-3 py-2 border rounded-md text-sm focus:outline-none focus:ring-2 focus:ring-[#005c75] focus:border-[#005c75] ${m?"border-red-300":"border-gray-300"}`,autoFocus:!0}),m&&e.jsx("p",{className:"mt-1 text-sm text-red-600",children:m})]}),e.jsxs("div",{className:"flex gap-3 justify-end",children:[e.jsx("button",{onClick:n,className:"px-4 py-2 bg-gray-100 text-gray-700 text-sm font-medium rounded-md hover:bg-gray-200 focus:outline-none focus:ring-2 focus:ring-gray-300 transition-colors",children:"Cancel"}),e.jsx("button",{onClick:c,disabled:!f.trim(),className:"px-4 py-2 bg-[#005c75] text-white text-sm font-medium rounded-md hover:bg-[#004a5c] focus:outline-none focus:ring-2 focus:ring-[#005c75] focus:ring-offset-1 transition-colors disabled:bg-gray-300 disabled:cursor-not-allowed",children:"Save"})]})]})})}function ue(t){const[i,l]=o.useState([]),n=t?`codeyam-custom-sizes-${t}`:null;o.useEffect(()=>{if(!n||typeof window>"u"){l([]);return}try{const r=localStorage.getItem(n);if(r){const c=JSON.parse(r);Array.isArray(c)&&l(c)}}catch(r){console.error("[useCustomSizes] Failed to load custom sizes:",r),l([])}},[n]);const f=o.useCallback(r=>{if(!(!n||typeof window>"u"))try{localStorage.setItem(n,JSON.stringify(r))}catch(c){console.error("[useCustomSizes] Failed to save custom sizes:",c)}},[n]),w=o.useCallback((r,c,a)=>{l(x=>{const h=x.findIndex(j=>j.name===r),C={name:r,width:c,height:a};let y;return h>=0?(y=[...x],y[h]=C):y=[...x,C],f(y),y})},[f]),m=o.useCallback(r=>{l(c=>{const a=c.filter(x=>x.name!==r);return f(a),a})},[f]);return{customSizes:i,addCustomSize:w,removeCustomSize:m}}function fe({content:t,label:i="Copy",copiedLabel:l="✓ Copied!",className:n="",duration:f=2e3,ariaLabel:w}){const[m,r]=o.useState(!1),c=o.useCallback(()=>{navigator.clipboard.writeText(t).then(()=>{r(!0),setTimeout(()=>r(!1),f)}).catch(a=>{console.error("Failed to copy:",a)})},[t,f]);return e.jsx("button",{onClick:c,className:`cursor-pointer ${n}`,disabled:m,"aria-label":w||(m?"Copied to clipboard":"Copy to clipboard"),"aria-live":"polite",children:m?l:i})}function W({scenarioId:t,analysisId:i}){const[l,n]=o.useState(!1),[f,w]=o.useState(!1),[m,r]=o.useState(null),c=t||i;if(!c)return null;const a=`/debug ${c}`,x=async()=>{w(!0);try{const{default:C}=await le(async()=>{const{default:u}=await import("./html2canvas-pro.esm-XQCGvadH.js");return{default:u}},[]),j=(await C(document.body,{scale:.5})).toDataURL("image/jpeg",.8);r(j),n(!0)}catch(C){console.error("Screenshot capture failed:",C),n(!0)}finally{w(!1)}},h=()=>{n(!1),r(null)};return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"mt-4 p-4 bg-blue-50 border border-blue-200 rounded-lg",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("span",{className:"text-blue-600 text-xl shrink-0",children:"🤖"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("h4",{className:"text-sm font-semibold text-blue-800 m-0 mb-2",children:"Claude can help debug this error"}),e.jsx("p",{className:"text-sm text-blue-700 m-0 mb-3",children:"Simply run this command in Claude Code:"}),e.jsxs("div",{className:"flex items-center gap-2 bg-white border border-blue-200 rounded p-3 mb-4",children:[e.jsx("code",{className:"text-sm text-blue-900 font-mono flex-1 wrap-break-word",children:a}),e.jsx(fe,{content:a,label:"Copy",copiedLabel:"Copied!",className:"px-3 py-1 bg-blue-600 text-white text-xs font-medium rounded hover:bg-blue-700 transition-colors shrink-0"})]}),e.jsxs("div",{className:"pt-3 border-t border-blue-200",children:[e.jsx("p",{className:"text-xs text-blue-700 m-0 mb-2",children:"If Claude is unable to address this issue or suggests reporting it, please do so."}),e.jsx("button",{onClick:()=>{x()},disabled:f,className:"cursor-pointer px-3 py-1.5 bg-white border border-blue-300 text-blue-700 text-xs font-medium rounded hover:bg-blue-50 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",children:f?"Capturing...":"Report Issue"})]})]})]})}),e.jsx(ie,{isOpen:l,onClose:h,context:{source:t?"scenario-page":"entity-page",entitySha:void 0,scenarioId:t,analysisId:i,currentUrl:typeof window<"u"?window.location.pathname:"/"},screenshotDataUrl:m??void 0})]})}const X=1440,O=[{name:"Mobile",width:375,height:667},{name:"Tablet",width:768,height:1024},{name:"Laptop",width:1024,height:768},{name:"Desktop",width:1440,height:900}];function ve({selectedScenario:t,analysis:i,entity:l,viewMode:n,cacheBuster:f,hasScenarios:w,isAnalyzing:m=!1,projectSlug:r,hasAnApiKey:c=!0}){const a=ee(),[x,h]=o.useState(!1),[C,y]=o.useState(!1),[j,u]=o.useState({name:"Desktop",width:X,height:900}),[g,p]=o.useState(X),[k,I]=o.useState(1),{customSizes:P,addCustomSize:z,removeCustomSize:A}=ue(r),E=o.useMemo(()=>[...O,...P],[P]),R=(d,v)=>{p(d);const U=E.find(M=>M.width===d&&M.height===v);u({name:U?.name||"Custom",width:d,height:v})},D=d=>{p(d.width),u({name:d.name,width:d.width,height:d.height})},S=d=>{z(d,j.width,j.height??900),y(!1),u(v=>({...v,name:d}))},$=(d,v)=>{p(d);const U=E.find(M=>M.width===d&&M.height===v);u(M=>({name:U?.name||"Custom",width:d,height:M.height}))},s=t?.metadata?.screenshotPaths?.[0],N=o.useMemo(()=>!t||!i?.status?.scenarios?null:i.status.scenarios.find(d=>d.name===t.name),[t,i?.status?.scenarios]),b=o.useMemo(()=>{const d=[];if(i?.status?.errors&&i.status.errors.length>0)for(const v of i.status.errors)d.push({source:`${v.phase} phase`,message:v.message,stack:v.stack});if(i?.status?.steps)for(const v of i.status.steps)v.error&&d.push({source:v.name,message:v.error,stack:v.errorStack});return d},[i?.status?.errors,i?.status?.steps]),L=N?.error||(t?.metadata?.error?"Error during capture":null),T=N?.errorStack,{interactiveServerUrl:K,isStarting:H,isLoading:J,showIframe:G,iframeKey:q,onIframeLoad:Y}=te({analysisId:i?.id,scenarioId:t?.id,scenarioName:t?.name,projectSlug:r,enabled:n==="interactive"}),B=o.useMemo(()=>K||null,[K]),_=!m&&w&&t&&!t.metadata?.screenshotPaths?.[0]&&i?.status?.scenarios?.some(d=>d.name===t.name&&d.screenshotStartedAt&&!d.screenshotFinishedAt),{lastLine:F}=oe(r,m||n==="interactive"||_||!1);if(!t)return!w&&l?m?e.jsx("div",{className:"flex-1 flex flex-col items-center justify-center p-12 text-center bg-[#f6f9fc]",children:e.jsxs("div",{className:"flex flex-col items-center gap-6 max-w-2xl",children:[e.jsx("div",{className:"w-12 h-12 mb-2",children:e.jsx("svg",{className:"animate-spin",viewBox:"0 0 50 50",children:e.jsx("circle",{cx:"25",cy:"25",r:"20",fill:"none",stroke:"#005c75",strokeWidth:"4",strokeDasharray:"31.4 31.4",strokeLinecap:"round"})})}),e.jsx("h2",{className:"text-2xl font-semibold text-[#005c75] leading-[30px] m-0 font-['IBM_Plex_Sans']",children:_?"Capturing screenshots...":"Analyzing..."}),e.jsx("p",{className:"text-xs text-[#8e8e8e] text-center leading-5 m-0 font-['IBM_Plex_Mono']",children:"This may take a few minutes."}),F&&e.jsx("p",{className:"text-xs font-mono text-[#005c75] text-center leading-5 m-0 max-w-xl",children:F}),r&&e.jsx("button",{onClick:()=>h(!0),className:"w-[148px] px-2.5 py-[5px] bg-[#005c75] text-white border-none rounded-sm text-xs font-medium cursor-pointer transition-colors hover:bg-[#004a5c] font-['IBM_Plex_Sans']",children:"View full logs"})]})}):b.length>0?e.jsx("div",{className:"flex-1 flex flex-col items-center justify-center p-6 bg-[#f6f9fc] overflow-auto",children:e.jsxs("div",{className:"bg-red-50 border-2 border-red-300 rounded-lg p-8 w-full max-w-4xl",children:[e.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[e.jsx("span",{className:"text-red-500 text-4xl shrink-0",children:"⚠️"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("h3",{className:"text-xl font-semibold text-red-800 m-0 mb-3",children:"Analysis Failed"}),e.jsx("p",{className:"text-sm text-red-700 m-0 mb-4",children:b.length===1?"An error occurred during analysis. No scenarios were generated.":`${b.length} errors occurred during analysis. No scenarios were generated.`}),b.map((d,v)=>e.jsxs("div",{className:"bg-white border border-red-200 rounded p-4 mb-4 last:mb-0",children:[e.jsx("h4",{className:"text-xs font-semibold text-red-800 m-0 mb-2 uppercase tracking-wide",children:d.source}),e.jsx("div",{className:"max-h-[200px] overflow-auto",children:e.jsx("p",{className:"text-sm text-red-900 m-0 font-mono whitespace-pre-wrap wrap-break-word",children:d.message})}),d.stack&&e.jsxs("details",{className:"mt-2",children:[e.jsx("summary",{className:"text-xs text-red-700 cursor-pointer hover:text-red-900 font-semibold",children:"View stack trace"}),e.jsx("div",{className:"mt-2 bg-red-50 border border-red-200 rounded p-3 max-h-[200px] overflow-auto",children:e.jsx("pre",{className:"text-xs text-red-900 font-mono whitespace-pre-wrap wrap-break-word m-0",children:d.stack})})]})]},v))]})]}),l.filePath&&e.jsx("div",{className:"flex justify-center mt-4",children:e.jsx("button",{onClick:()=>{a.submit({entitySha:l.sha,filePath:l.filePath},{method:"post",action:"/api/analyze"})},disabled:a.state!=="idle",className:"h-[42px] px-6 py-2 bg-[#005c75] text-white border-none rounded-lg text-sm font-medium cursor-pointer transition-all hover:bg-[#004a5e] disabled:bg-gray-400 disabled:cursor-not-allowed",children:a.state!=="idle"?"Retrying...":"Retry Analysis"})}),e.jsx(W,{analysisId:i?.id})]})}):e.jsx("div",{className:"flex-1 flex flex-col items-center justify-center p-6 text-center bg-[#f6f9fc]",children:e.jsxs("div",{className:"max-w-[600px]",children:[e.jsx("h2",{className:"text-[28px] font-semibold text-[#343434] mb-4 m-0 leading-10",children:"No simulations yet"}),e.jsx("p",{className:"text-base font-normal text-[#3e3e3e] mb-8 leading-6 m-0",children:"Analyze the code to create simulations and create test scenarios automatically."}),l.filePath&&e.jsx("button",{onClick:()=>{a.submit({entitySha:l.sha,filePath:l.filePath},{method:"post",action:"/api/analyze"})},disabled:a.state!=="idle",className:"h-[54px] w-[183px] px-2.5 py-[5px] bg-[#005c75] text-white border-none rounded-lg text-base font-medium cursor-pointer transition-all hover:bg-[#004a5e] disabled:bg-gray-400 disabled:cursor-not-allowed",children:a.state!=="idle"?"Analyzing...":"Analyze"})]})}):e.jsx("div",{className:"flex-1 flex flex-col items-center justify-center p-6 text-center",children:e.jsx("p",{className:"text-base text-gray-500 m-0",children:"Select a scenario to view its screenshot"})});const Q=n==="screenshot"&&(s||L)||n==="interactive"&&(B||H)||n==="data",Z=(m||_)&&!s&&!L&&n==="screenshot";return e.jsxs(e.Fragment,{children:[e.jsx("main",{className:"flex-1 bg-[#f9f9f9] overflow-auto flex flex-col min-w-0",children:Z?e.jsx("div",{className:"flex-1 flex flex-col items-center justify-center p-6 text-center bg-linear-to-br from-blue-50 to-indigo-50",children:e.jsxs("div",{className:"max-w-2xl w-full bg-white rounded-t-2xl shadow-xl p-8",children:[e.jsxs("div",{className:"mb-8",children:[e.jsx("div",{className:"inline-flex items-center justify-center w-24 h-24 bg-blue-100 rounded-full mb-6",children:e.jsx("span",{className:"text-5xl animate-spin",children:"⚙️"})}),e.jsx("h2",{className:"text-3xl font-bold text-gray-900 mb-4 m-0",children:_?`Capturing ${l?.name}`:`Analyzing ${l?.name}`}),e.jsx("p",{className:"text-base text-gray-600 leading-relaxed m-0 mb-2",children:_?`Taking screenshots for ${i?.scenarios?.length||0} scenario${i?.scenarios?.length!==1?"s":""}...`:`Generating simulations and scenarios for this ${l?.entityType} entity...`}),t&&e.jsxs("p",{className:"text-sm text-blue-600 font-semibold m-0",children:["Currently processing: ",t.name]})]}),F&&e.jsx("div",{className:"bg-[#f6f9fc] border-2 border-[#e1e1e1] rounded-lg p-6 mb-6",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("span",{className:"text-xl shrink-0",children:"📝"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("h3",{className:"text-xs font-semibold text-gray-700 uppercase tracking-wide mb-2 m-0",children:"Current Progress"}),e.jsx("p",{className:"text-sm text-gray-900 font-mono wrap-break-word m-0",title:F,children:F})]})]})}),r&&e.jsx("button",{onClick:()=>h(!0),className:"px-6 py-3 bg-[#005c75] text-white border-none rounded-lg text-base font-semibold cursor-pointer transition-all hover:bg-[#004a5e] hover:shadow-lg",children:"📋 View Full Logs"}),e.jsx("p",{className:"text-xs text-gray-500 mt-8 m-0",children:"Screenshots will appear here as they are captured. This may take a few minutes."})]})}):Q?e.jsxs(e.Fragment,{children:[L&&!s&&e.jsx("div",{className:"bg-red-50 border-l-4 border-red-500 mx-5 mt-4 p-4 rounded-r overflow-auto",role:"alert",children:e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx("span",{className:"text-red-500 text-xl shrink-0","aria-hidden":"true",children:"⚠️"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("h3",{className:"text-sm font-semibold text-red-800 m-0 mb-2",children:"Capture Error"}),e.jsx("div",{className:"max-h-[200px] overflow-auto",children:e.jsx("p",{className:"text-sm text-red-700 m-0 mb-2 font-mono whitespace-pre-wrap wrap-break-word",children:L})}),T&&e.jsxs("details",{className:"mt-2",children:[e.jsx("summary",{className:"text-xs text-red-600 cursor-pointer hover:text-red-800 font-medium",children:"View stack trace"}),e.jsx("div",{className:"mt-2 p-3 bg-red-100 rounded max-h-[300px] overflow-auto",children:e.jsx("pre",{className:"text-xs text-red-900 font-mono whitespace-pre-wrap wrap-break-word m-0",children:T})})]}),e.jsx(W,{scenarioId:t?.id,analysisId:i?.id})]})]})}),n==="interactive"?e.jsxs("div",{className:"flex-1 flex flex-col min-h-0",children:[B&&e.jsx("div",{className:"bg-gray-50 border-b border-gray-200 px-6 py-3 shrink-0 flex justify-center",children:e.jsx(ce,{presets:[...O],customSizes:P,currentWidth:j.width,currentHeight:j.height??900,scale:k,onSizeChange:R,onSaveCustomSize:()=>y(!0),onRemoveCustomSize:A})}),B&&e.jsx("div",{className:"bg-[#f6f9fc] border-b border-[rgba(0,92,117,0.25)] flex justify-center",children:e.jsx("div",{style:{maxWidth:`${O[O.length-1].width}px`,width:"100%"},children:e.jsx(xe,{currentViewportWidth:g,currentPresetName:j.name,onDevicePresetClick:D,devicePresets:E})})}),e.jsx(re,{scenarioId:t.id,scenarioName:t.name,iframeUrl:B,isStarting:H,isLoading:J,showIframe:G,iframeKey:q,onIframeLoad:Y,onScaleChange:I,onDimensionChange:$,projectSlug:r,defaultWidth:j.width,defaultHeight:j.height})]}):n==="data"?e.jsx("div",{className:"flex-1 min-h-0",children:e.jsx(de,{scenario:t,analysis:i,entity:l})}):e.jsx("div",{className:"flex-1 flex flex-col",children:e.jsx("div",{className:"flex-1 p-6 flex items-center justify-center",children:e.jsx("div",{className:"transition-all duration-300",style:{maxWidth:`${g}px`},children:(s||!L)&&e.jsx(ne,{screenshotPath:s,cacheBuster:f,alt:t.name,className:"w-full rounded-lg shadow-[0_10px_25px_rgba(0,0,0,0.1)] bg-white"})})})})]}):e.jsx("div",{className:"flex-1 flex flex-col",children:e.jsx("div",{className:"flex-1 flex flex-col items-center justify-center p-6 overflow-auto w-full",children:m&&!s?e.jsx("div",{className:"w-full h-full flex items-center justify-center",children:e.jsx("div",{className:"bg-blue-50 border-2 border-blue-200 rounded-lg p-8",children:e.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[e.jsx("span",{className:"animate-spin text-4xl shrink-0",children:"⚙️"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("h3",{className:"text-xl font-semibold text-blue-900 m-0 mb-3",children:"Capturing Screenshot"}),e.jsxs("p",{className:"text-sm text-blue-800 m-0 mb-4",children:["Analysis is in progress for"," ",e.jsx("strong",{children:t.name}),". The screenshot will appear here once capture is complete."]}),F&&e.jsxs("div",{className:"bg-white border border-blue-200 rounded p-4 mt-4",children:[e.jsx("h4",{className:"text-xs font-semibold text-blue-800 m-0 mb-2 uppercase tracking-wide",children:"Current Progress"}),e.jsx("p",{className:"text-sm text-blue-900 m-0 font-mono wrap-break-word",children:F})]}),r&&e.jsx("button",{onClick:()=>h(!0),className:"mt-4 px-4 py-2 bg-[#005c75] text-white border-none rounded-md text-sm font-semibold cursor-pointer transition-colors hover:bg-[#004a5e]",children:"📋 View Full Logs"})]})]})})}):L?e.jsxs("div",{className:"w-full h-full flex flex-col items-center justify-center overflow-auto gap-6",children:[!c&&e.jsx("div",{className:"bg-blue-50 border-2 border-blue-300 rounded-lg p-8",children:e.jsxs("div",{className:"flex-1 flex flex-col gap-4 items-center justify-center",children:[e.jsxs("div",{className:"flex items-start gap-4",children:[e.jsx("span",{className:"text-blue-600 text-2xl shrink-0",children:"🔑"}),e.jsx("h3",{className:"text-xl font-semibold text-blue-900 m-0 mb-3",children:"Improve Analysis Quality with an API Key"})]}),e.jsxs("div",{className:"bg-white border border-blue-200 rounded p-4",children:[e.jsx("h4",{className:"text-xs font-semibold text-blue-900 m-0 mb-2 uppercase tracking-wide",children:"CodeYam requires an AI API key for reliable analysis."}),e.jsxs("ul",{className:"text-sm text-blue-800 m-0 space-y-1 pl-5 list-disc",children:[e.jsx("li",{children:"You can use API keys for a variety of models"}),e.jsx("li",{children:"Faster analysis processing"}),e.jsx("li",{children:"Better handling of complex code structures"}),e.jsx("li",{children:"Improved scenario generation quality"})]})]}),e.jsx(se,{to:"/settings",className:"inline-block px-4 py-2 bg-blue-600 text-white border-none rounded-md text-sm font-semibold cursor-pointer transition-colors hover:bg-blue-700",children:"🔐 Configure API Keys"})]})}),e.jsx("div",{className:"bg-red-50 border-2 border-red-300 rounded-lg p-8 w-full max-w-4xl my-auto",children:e.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[e.jsx("span",{className:"text-red-500 text-4xl shrink-0",children:"⚠️"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("h3",{className:"text-xl font-semibold text-red-800 m-0 mb-3",children:"Capture Failed"}),e.jsx("p",{className:"text-sm text-red-700 m-0 mb-4",children:"An error occurred while capturing this scenario. No screenshot is available."}),e.jsxs("div",{className:"bg-white border border-red-200 rounded p-4",children:[e.jsx("h4",{className:"text-xs font-semibold text-red-800 m-0 mb-2 uppercase tracking-wide",children:"Error Message"}),e.jsx("div",{className:"max-h-[300px] overflow-auto",children:e.jsx("p",{className:"text-sm text-red-900 m-0 font-mono whitespace-pre-wrap wrap-break-word",children:L})})]}),T&&e.jsxs("details",{className:"mt-4",children:[e.jsx("summary",{className:"text-sm text-red-700 cursor-pointer hover:text-red-900 font-semibold",children:"📋 View full stack trace"}),e.jsx("div",{className:"mt-3 bg-white border border-red-200 rounded p-4 overflow-auto",children:e.jsx("pre",{className:"text-xs text-red-900 font-mono whitespace-pre-wrap wrap-break-word m-0",children:T})})]}),e.jsx(W,{scenarioId:t?.id,analysisId:i?.id})]})]})})]}):b.length>0?e.jsx("div",{className:"w-full h-full flex items-center justify-center overflow-auto",children:e.jsx("div",{className:"bg-red-50 border-2 border-red-300 rounded-lg p-8 w-full max-w-4xl my-auto",children:e.jsxs("div",{className:"flex items-start gap-4 mb-6",children:[e.jsx("span",{className:"text-red-500 text-4xl shrink-0",children:"⚠️"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("h3",{className:"text-xl font-semibold text-red-800 m-0 mb-3",children:"Analysis Error"}),e.jsx("p",{className:"text-sm text-red-700 m-0 mb-4",children:b.length===1?"An error occurred during analysis. Screenshot capture was not completed.":`${b.length} errors occurred during analysis. Screenshot capture was not completed.`}),b.map((d,v)=>e.jsxs("div",{className:"bg-white border border-red-200 rounded p-4 mb-4 last:mb-0",children:[e.jsx("h4",{className:"text-xs font-semibold text-red-800 m-0 mb-2 uppercase tracking-wide",children:d.source}),e.jsx("div",{className:"max-h-[200px] overflow-auto",children:e.jsx("p",{className:"text-sm text-red-900 m-0 font-mono whitespace-pre-wrap wrap-break-word",children:d.message})}),d.stack&&e.jsxs("details",{className:"mt-2",children:[e.jsx("summary",{className:"text-xs text-red-700 cursor-pointer hover:text-red-900 font-semibold",children:"View stack trace"}),e.jsx("div",{className:"mt-2 bg-red-50 border border-red-200 rounded p-3 max-h-[200px] overflow-auto",children:e.jsx("pre",{className:"text-xs text-red-900 font-mono whitespace-pre-wrap wrap-break-word m-0",children:d.stack})})]})]},v)),e.jsx(W,{scenarioId:t?.id,analysisId:i?.id})]})]})})}):e.jsxs("div",{className:"flex flex-col items-center gap-4 text-center",children:[e.jsx("span",{className:"text-6xl text-gray-300",children:"📷"}),e.jsx("p",{className:"text-lg text-gray-500 m-0",children:"No screenshot available for this scenario"}),e.jsx("p",{className:"text-sm text-gray-400 m-0",children:"Try recapturing or debugging this scenario"})]})})})}),x&&r&&e.jsx(ae,{projectSlug:r,onClose:()=>h(!1)}),C&&e.jsx(he,{width:j.width,height:j.height??900,onSave:S,onCancel:()=>y(!1)})]})}export{fe as C,ve as S};
|