@codeyam/codeyam-cli 0.1.0-staging.15d0f46 → 0.1.0-staging.1669d45
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/common/execAsync.ts +1 -1
- package/analyzer-template/log.txt +3 -3
- package/analyzer-template/package.json +9 -5
- package/analyzer-template/packages/ai/index.ts +5 -3
- package/analyzer-template/packages/ai/package.json +1 -1
- package/analyzer-template/packages/ai/src/lib/__mocks__/completionCall.ts +122 -0
- package/analyzer-template/packages/ai/src/lib/analyzeScope.ts +152 -6
- package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +107 -1
- package/analyzer-template/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.ts +644 -0
- package/analyzer-template/packages/ai/src/lib/astScopes/methodSemantics.ts +42 -0
- package/analyzer-template/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.ts +18 -0
- package/analyzer-template/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.ts +38 -1
- package/analyzer-template/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.ts +301 -1
- package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +972 -106
- package/analyzer-template/packages/ai/src/lib/astScopes/types.ts +232 -0
- package/analyzer-template/packages/ai/src/lib/checkAllAttributes.ts +29 -10
- package/analyzer-template/packages/ai/src/lib/completionCall.ts +18 -2
- package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +1409 -138
- package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.ts +2 -1
- package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.ts +771 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.ts +233 -75
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.ts +19 -1
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts +39 -4
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.ts +23 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.ts +98 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts +42 -2
- package/analyzer-template/packages/ai/src/lib/deepEqual.ts +30 -0
- package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarioData.ts +74 -7
- package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarios.ts +89 -112
- package/analyzer-template/packages/ai/src/lib/generateEntityDataStructure.ts +6 -0
- package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +486 -86
- package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +182 -104
- package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +201 -0
- package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.ts +528 -0
- package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionals.ts +1019 -0
- package/analyzer-template/packages/ai/src/lib/getConditionalUsagesFromCode.ts +143 -31
- package/analyzer-template/packages/ai/src/lib/guessScenarioDataFromDescription.ts +8 -2
- package/analyzer-template/packages/ai/src/lib/isolateScopes.ts +276 -3
- package/analyzer-template/packages/ai/src/lib/mergeStatements.ts +33 -3
- package/analyzer-template/packages/ai/src/lib/promptGenerators/gatherAttributesMap.ts +7 -0
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.ts +1 -1
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.ts +32 -102
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.ts +71 -4
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.ts +14 -53
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.ts +58 -0
- package/analyzer-template/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.ts +28 -2
- package/analyzer-template/packages/ai/src/lib/resolvePathToControllable.ts +690 -0
- package/analyzer-template/packages/ai/src/lib/splitOutsideParentheses.ts +5 -1
- package/analyzer-template/packages/ai/src/lib/validateExecutionFlowPaths.ts +531 -0
- package/analyzer-template/packages/ai/src/lib/worker/SerializableDataStructure.ts +102 -0
- package/analyzer-template/packages/ai/src/lib/worker/analyzeScopeWorker.ts +8 -1
- package/analyzer-template/packages/analyze/src/lib/FileAnalyzer.ts +14 -0
- package/analyzer-template/packages/analyze/src/lib/asts/nodes/index.ts +1 -0
- package/analyzer-template/packages/analyze/src/lib/asts/nodes/isAsyncFunction.ts +67 -0
- package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +458 -267
- package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +18 -0
- package/analyzer-template/packages/analyze/src/lib/files/analyze/findOrCreateEntity.ts +3 -0
- package/analyzer-template/packages/analyze/src/lib/files/analyzeChange.ts +31 -15
- package/analyzer-template/packages/analyze/src/lib/files/analyzeEntity.ts +11 -7
- package/analyzer-template/packages/analyze/src/lib/files/analyzeInitial.ts +11 -12
- package/analyzer-template/packages/analyze/src/lib/files/enums/steps.ts +1 -1
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.ts +196 -0
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.ts +102 -0
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.ts +588 -52
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.ts +1 -1
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.ts +28 -62
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +299 -133
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.ts +156 -0
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarioData.ts +78 -83
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarios.ts +4 -8
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +384 -94
- package/analyzer-template/packages/aws/codebuild/index.ts +1 -0
- package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.d.ts +11 -1
- package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.d.ts.map +1 -1
- package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.js +29 -18
- package/analyzer-template/packages/aws/dist/src/lib/codebuild/waitForBuild.js.map +1 -1
- package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.d.ts +2 -2
- package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.d.ts.map +1 -1
- package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.js +2 -2
- package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsDefineContainer.js.map +1 -1
- package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.d.ts +8 -18
- package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.d.ts.map +1 -1
- package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.js +17 -61
- package/analyzer-template/packages/aws/dist/src/lib/ecs/ecsTaskFactory.js.map +1 -1
- package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.d.ts +15 -0
- package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.d.ts.map +1 -0
- package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.js +31 -0
- package/analyzer-template/packages/aws/dist/src/lib/s3/checkS3ObjectExists.js.map +1 -0
- package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.d.ts.map +1 -1
- package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.js +8 -1
- package/analyzer-template/packages/aws/dist/src/lib/s3/uploadFileToS3.js.map +1 -1
- package/analyzer-template/packages/aws/package.json +2 -2
- package/analyzer-template/packages/aws/s3/index.ts +1 -0
- package/analyzer-template/packages/aws/src/lib/codebuild/waitForBuild.ts +43 -19
- package/analyzer-template/packages/aws/src/lib/ecs/ecsDefineContainer.ts +3 -3
- package/analyzer-template/packages/aws/src/lib/ecs/ecsTaskFactory.ts +17 -69
- package/analyzer-template/packages/aws/src/lib/s3/checkS3ObjectExists.ts +47 -0
- package/analyzer-template/packages/aws/src/lib/s3/uploadFileToS3.ts +8 -1
- package/analyzer-template/packages/database/src/lib/kysely/db.ts +4 -4
- package/analyzer-template/packages/database/src/lib/kysely/tableRelations.ts +2 -2
- package/analyzer-template/packages/database/src/lib/kysely/tables/debugReportsTable.ts +36 -9
- package/analyzer-template/packages/database/src/lib/loadReadyToBeCapturedAnalyses.ts +7 -3
- package/analyzer-template/packages/generate/index.ts +3 -0
- package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.ts +17 -1
- package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.ts +193 -0
- package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.ts +73 -0
- package/analyzer-template/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.ts +9 -4
- package/analyzer-template/packages/generate/src/lib/deepMerge.ts +26 -1
- package/analyzer-template/packages/generate/src/lib/scenarioComponentForServer.ts +114 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts +2 -2
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +2 -2
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tableRelations.d.ts +2 -2
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts +1 -11
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts +30 -7
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.js +9 -3
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.d.ts +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts +2 -6
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js +7 -4
- package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
- package/analyzer-template/packages/github/dist/generate/index.d.ts +3 -0
- package/analyzer-template/packages/github/dist/generate/index.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/generate/index.js +3 -0
- package/analyzer-template/packages/github/dist/generate/index.js.map +1 -1
- 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 +16 -1
- 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/generateScenarioClientWrapper.d.ts +9 -0
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +189 -0
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -0
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.d.ts +20 -0
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js +53 -0
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js.map +1 -0
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +8 -4
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.js +27 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.js.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.d.ts +8 -0
- package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.js +89 -0
- package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.js.map +1 -0
- package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.js +10 -0
- package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.js.map +1 -1
- package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.js +3 -0
- package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.js.map +1 -1
- package/analyzer-template/packages/github/dist/types/index.d.ts +2 -2
- package/analyzer-template/packages/github/dist/types/index.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/types/index.js.map +1 -1
- package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts +63 -13
- package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/types/src/types/Entity.d.ts +2 -0
- package/analyzer-template/packages/github/dist/types/src/types/Entity.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts +11 -6
- package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts +146 -0
- package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/types/src/types/StatementInfo.d.ts +2 -0
- package/analyzer-template/packages/github/dist/types/src/types/StatementInfo.d.ts.map +1 -1
- package/analyzer-template/packages/github/src/lib/loadOrCreateCommit.ts +14 -0
- package/analyzer-template/packages/github/src/lib/syncPrimaryBranch.ts +2 -0
- package/analyzer-template/packages/process/index.ts +2 -0
- package/analyzer-template/packages/process/package.json +12 -0
- package/analyzer-template/packages/process/tsconfig.json +8 -0
- package/analyzer-template/packages/types/index.ts +4 -0
- package/analyzer-template/packages/types/src/types/Analysis.ts +79 -13
- package/analyzer-template/packages/types/src/types/Entity.ts +2 -0
- package/analyzer-template/packages/types/src/types/Scenario.ts +11 -10
- package/analyzer-template/packages/types/src/types/ScenariosDataStructure.ts +161 -0
- package/analyzer-template/packages/types/src/types/StatementInfo.ts +2 -0
- package/analyzer-template/packages/utils/dist/types/index.d.ts +2 -2
- package/analyzer-template/packages/utils/dist/types/index.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/types/index.js.map +1 -1
- package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts +63 -13
- package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/types/src/types/Entity.d.ts +2 -0
- package/analyzer-template/packages/utils/dist/types/src/types/Entity.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts +11 -6
- package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts +146 -0
- package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/types/src/types/StatementInfo.d.ts +2 -0
- package/analyzer-template/packages/utils/dist/types/src/types/StatementInfo.d.ts.map +1 -1
- package/analyzer-template/playwright/capture.ts +37 -18
- package/analyzer-template/playwright/getCodeYamInfo.ts +12 -7
- package/analyzer-template/playwright/takeElementScreenshot.ts +26 -11
- package/analyzer-template/playwright/waitForServer.ts +21 -6
- package/analyzer-template/project/analyzeBaselineCommit.ts +4 -0
- package/analyzer-template/project/analyzeBranchCommit.ts +4 -0
- package/analyzer-template/project/analyzeFileEntities.ts +4 -0
- package/analyzer-template/project/analyzeRegularCommit.ts +4 -0
- package/analyzer-template/project/constructMockCode.ts +868 -132
- package/analyzer-template/project/controller/startController.ts +16 -1
- package/analyzer-template/project/executeLibraryFunctionDirect.ts +7 -3
- package/analyzer-template/project/mocks/analyzeFileMock.ts +8 -7
- package/analyzer-template/project/orchestrateCapture/KyselyAnalysisLoader.ts +3 -6
- package/analyzer-template/project/orchestrateCapture/SequentialCaptureTaskRunner.ts +49 -33
- package/analyzer-template/project/orchestrateCapture.ts +10 -3
- package/analyzer-template/project/reconcileMockDataKeys.ts +102 -2
- package/analyzer-template/project/runAnalysis.ts +7 -0
- package/analyzer-template/project/serverOnlyModules.ts +127 -2
- package/analyzer-template/project/start.ts +26 -4
- package/analyzer-template/project/startScenarioCapture.ts +72 -40
- package/analyzer-template/project/writeMockDataTsx.ts +118 -55
- package/analyzer-template/project/writeScenarioClientWrapper.ts +21 -0
- package/analyzer-template/project/writeScenarioComponents.ts +263 -92
- package/analyzer-template/project/writeScenarioFiles.ts +26 -0
- package/analyzer-template/project/writeSimpleRoot.ts +13 -15
- package/analyzer-template/scripts/comboWorkerLoop.cjs +1 -0
- package/analyzer-template/scripts/defaultCmd.sh +9 -0
- package/analyzer-template/tsconfig.json +2 -1
- package/background/src/lib/local/createLocalAnalyzer.js +1 -29
- package/background/src/lib/local/createLocalAnalyzer.js.map +1 -1
- package/background/src/lib/local/execAsync.js +1 -1
- package/background/src/lib/local/execAsync.js.map +1 -1
- package/background/src/lib/virtualized/common/execAsync.js +1 -1
- package/background/src/lib/virtualized/common/execAsync.js.map +1 -1
- package/background/src/lib/virtualized/project/analyzeBaselineCommit.js +2 -1
- package/background/src/lib/virtualized/project/analyzeBaselineCommit.js.map +1 -1
- package/background/src/lib/virtualized/project/analyzeBranchCommit.js +2 -1
- package/background/src/lib/virtualized/project/analyzeBranchCommit.js.map +1 -1
- package/background/src/lib/virtualized/project/analyzeFileEntities.js +2 -1
- package/background/src/lib/virtualized/project/analyzeFileEntities.js.map +1 -1
- package/background/src/lib/virtualized/project/analyzeRegularCommit.js +2 -1
- package/background/src/lib/virtualized/project/analyzeRegularCommit.js.map +1 -1
- package/background/src/lib/virtualized/project/constructMockCode.js +799 -121
- package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
- package/background/src/lib/virtualized/project/controller/startController.js +11 -1
- package/background/src/lib/virtualized/project/controller/startController.js.map +1 -1
- package/background/src/lib/virtualized/project/executeLibraryFunctionDirect.js +6 -3
- package/background/src/lib/virtualized/project/executeLibraryFunctionDirect.js.map +1 -1
- package/background/src/lib/virtualized/project/mocks/analyzeFileMock.js +7 -7
- package/background/src/lib/virtualized/project/mocks/analyzeFileMock.js.map +1 -1
- package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js +3 -2
- package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js.map +1 -1
- package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js +42 -28
- package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js.map +1 -1
- package/background/src/lib/virtualized/project/orchestrateCapture.js +7 -4
- package/background/src/lib/virtualized/project/orchestrateCapture.js.map +1 -1
- package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +87 -2
- package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
- package/background/src/lib/virtualized/project/runAnalysis.js +6 -0
- package/background/src/lib/virtualized/project/runAnalysis.js.map +1 -1
- package/background/src/lib/virtualized/project/serverOnlyModules.js +106 -3
- package/background/src/lib/virtualized/project/serverOnlyModules.js.map +1 -1
- package/background/src/lib/virtualized/project/start.js +21 -4
- package/background/src/lib/virtualized/project/start.js.map +1 -1
- package/background/src/lib/virtualized/project/startScenarioCapture.js +56 -30
- package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
- package/background/src/lib/virtualized/project/writeMockDataTsx.js +110 -48
- package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
- package/background/src/lib/virtualized/project/writeScenarioClientWrapper.js +15 -0
- package/background/src/lib/virtualized/project/writeScenarioClientWrapper.js.map +1 -0
- package/background/src/lib/virtualized/project/writeScenarioComponents.js +211 -75
- package/background/src/lib/virtualized/project/writeScenarioComponents.js.map +1 -1
- package/background/src/lib/virtualized/project/writeScenarioFiles.js +19 -0
- package/background/src/lib/virtualized/project/writeScenarioFiles.js.map +1 -1
- package/background/src/lib/virtualized/project/writeSimpleRoot.js +13 -13
- package/background/src/lib/virtualized/project/writeSimpleRoot.js.map +1 -1
- package/codeyam-cli/src/cli.js +5 -1
- package/codeyam-cli/src/cli.js.map +1 -1
- package/codeyam-cli/src/commands/analyze.js +1 -1
- package/codeyam-cli/src/commands/analyze.js.map +1 -1
- package/codeyam-cli/src/commands/baseline.js +174 -0
- package/codeyam-cli/src/commands/baseline.js.map +1 -0
- package/codeyam-cli/src/commands/debug.js +28 -18
- package/codeyam-cli/src/commands/debug.js.map +1 -1
- package/codeyam-cli/src/commands/default.js +0 -15
- package/codeyam-cli/src/commands/default.js.map +1 -1
- package/codeyam-cli/src/commands/recapture.js +44 -23
- package/codeyam-cli/src/commands/recapture.js.map +1 -1
- package/codeyam-cli/src/commands/report.js +72 -24
- package/codeyam-cli/src/commands/report.js.map +1 -1
- package/codeyam-cli/src/commands/start.js +8 -12
- package/codeyam-cli/src/commands/start.js.map +1 -1
- package/codeyam-cli/src/commands/status.js +23 -1
- package/codeyam-cli/src/commands/status.js.map +1 -1
- package/codeyam-cli/src/commands/test-startup.js +1 -1
- package/codeyam-cli/src/commands/test-startup.js.map +1 -1
- package/codeyam-cli/src/commands/wipe.js +108 -0
- package/codeyam-cli/src/commands/wipe.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/serverVersionStaleness.test.js +81 -0
- package/codeyam-cli/src/utils/__tests__/serverVersionStaleness.test.js.map +1 -0
- package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js +27 -27
- package/codeyam-cli/src/utils/analysisRunner.js +8 -13
- package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
- package/codeyam-cli/src/utils/backgroundServer.js +12 -2
- package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
- package/codeyam-cli/src/utils/database.js +91 -5
- package/codeyam-cli/src/utils/database.js.map +1 -1
- package/codeyam-cli/src/utils/generateReport.js +253 -106
- package/codeyam-cli/src/utils/generateReport.js.map +1 -1
- package/codeyam-cli/src/utils/git.js +79 -0
- package/codeyam-cli/src/utils/git.js.map +1 -0
- package/codeyam-cli/src/utils/install-skills.js +11 -11
- package/codeyam-cli/src/utils/install-skills.js.map +1 -1
- package/codeyam-cli/src/utils/queue/__tests__/manager.test.js +38 -0
- package/codeyam-cli/src/utils/queue/__tests__/manager.test.js.map +1 -1
- package/codeyam-cli/src/utils/queue/job.js +239 -16
- package/codeyam-cli/src/utils/queue/job.js.map +1 -1
- package/codeyam-cli/src/utils/queue/manager.js +19 -7
- package/codeyam-cli/src/utils/queue/manager.js.map +1 -1
- package/codeyam-cli/src/utils/queue/persistence.js.map +1 -1
- package/codeyam-cli/src/utils/serverState.js.map +1 -1
- package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +5 -5
- package/codeyam-cli/src/utils/versionInfo.js +25 -19
- package/codeyam-cli/src/utils/versionInfo.js.map +1 -1
- package/codeyam-cli/src/utils/wipe.js +128 -0
- package/codeyam-cli/src/utils/wipe.js.map +1 -0
- package/codeyam-cli/src/webserver/app/lib/database.js +96 -0
- package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
- package/codeyam-cli/src/webserver/app/lib/dbNotifier.js.map +1 -1
- package/codeyam-cli/src/webserver/backgroundServer.js +2 -5
- package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/EntityItem-vauWK972.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeBadge-DKdsUF7Y.js → EntityTypeBadge-COi5OvsN.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-BwdQv49w.js +41 -0
- package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-CEleMv_j.js +34 -0
- package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-D68KarMg.js +25 -0
- package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-L75Wvqgw.js +3 -0
- package/codeyam-cli/src/webserver/build/client/assets/LoadingDots-C53WM8qn.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/LogViewer-CrNkmy4i.js +3 -0
- package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-DzJRkCkr.js +11 -0
- package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-CQifa1n-.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-CyaBFX7l.js +20 -0
- package/codeyam-cli/src/webserver/build/client/assets/{TruncatedFilePath-CWjSsLqY.js → TruncatedFilePath-D36O1rzU.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/_index-Be83mo_j.js +11 -0
- package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-BN6wu6Y-.js +37 -0
- package/codeyam-cli/src/webserver/build/client/assets/chevron-down-DgTPh8H-.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/chunk-EPOLDU6W-DdQKK6on.js +51 -0
- package/codeyam-cli/src/webserver/build/client/assets/circle-check-Dmr2bb1R.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-Do4ZLUYa.js +21 -0
- package/codeyam-cli/src/webserver/build/client/assets/{cy-logo-cli-C1gnJVOL.svg → cy-logo-cli-CCKUIm0S.svg} +2 -2
- package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-DcX-ZS3p.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/dev.empty-Bn6aCAy_.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha._-CbdFyxZh.js +23 -0
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-B4iCfs5M.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-wDWZZO1W.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-BMbl7MeQ.js +5 -0
- package/codeyam-cli/src/webserver/build/client/assets/entry.client-5wRKRIH9.js +29 -0
- package/codeyam-cli/src/webserver/build/client/assets/executionFlowCoverage-BWhdfn70.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-DD3SDH7t.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/files-DKyMFI90.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/git-zXjT7J0G.js +15 -0
- package/codeyam-cli/src/webserver/build/client/assets/globals-DTTQ3gY7.css +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/html2canvas-pro.esm-fmIEn3Bc.js +9 -0
- package/codeyam-cli/src/webserver/build/client/assets/index-DLbXwndH.js +9 -0
- package/codeyam-cli/src/webserver/build/client/assets/index-gPZ-lad1.js +3 -0
- package/codeyam-cli/src/webserver/build/client/assets/loader-circle-BsPXJ81F.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/manifest-22590fcf.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/preload-helper-ckwbz45p.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/root-BsAarjAM.js +57 -0
- package/codeyam-cli/src/webserver/build/client/assets/scenarioStatus-B_8jpV3e.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/search-P2FKIUql.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/settings-B2eDuBj8.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/simulations-L18M6-kN.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/triangle-alert-BDz7kbVA.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-29dDmbH8.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{useLastLogLine-CmrTPlIB.js → useLastLogLine-BUm0UVJm.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/useReportContext-CkIOKTrZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{useToast-C1ig_BmP.js → useToast-KKw5kTn-.js} +1 -1
- package/codeyam-cli/src/webserver/build/server/assets/index-BND5I5fv.js +1 -0
- package/codeyam-cli/src/webserver/build/server/assets/server-build-CFXnd7MG.js +228 -0
- package/codeyam-cli/src/webserver/build/server/index.js +1 -1
- package/codeyam-cli/src/webserver/build-info.json +5 -5
- package/codeyam-cli/src/webserver/devServer.js +1 -3
- package/codeyam-cli/src/webserver/devServer.js.map +1 -1
- package/codeyam-cli/src/webserver/server.js +35 -25
- package/codeyam-cli/src/webserver/server.js.map +1 -1
- package/codeyam-cli/templates/{codeyam-debug-skill.md → codeyam:debug.md} +1 -1
- package/codeyam-cli/templates/codeyam:diagnose.md +625 -0
- package/codeyam-cli/templates/{codeyam-setup-skill.md → codeyam:setup.md} +139 -4
- package/codeyam-cli/templates/{codeyam-sim-skill.md → codeyam:sim.md} +1 -1
- package/codeyam-cli/templates/{codeyam-test-skill.md → codeyam:test.md} +1 -1
- package/codeyam-cli/templates/{codeyam-verify-skill.md → codeyam:verify.md} +1 -1
- package/package.json +8 -8
- package/packages/ai/index.js +2 -4
- package/packages/ai/index.js.map +1 -1
- package/packages/ai/src/lib/analyzeScope.js +107 -0
- package/packages/ai/src/lib/analyzeScope.js.map +1 -1
- package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +76 -1
- package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js.map +1 -1
- package/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.js +435 -0
- package/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.js.map +1 -0
- package/packages/ai/src/lib/astScopes/methodSemantics.js +29 -0
- package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
- package/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.js +8 -0
- package/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.js.map +1 -1
- package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js +23 -0
- package/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.js.map +1 -1
- package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js +239 -1
- package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js.map +1 -1
- package/packages/ai/src/lib/astScopes/processExpression.js +728 -87
- package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
- package/packages/ai/src/lib/checkAllAttributes.js +24 -9
- package/packages/ai/src/lib/checkAllAttributes.js.map +1 -1
- package/packages/ai/src/lib/completionCall.js +17 -1
- package/packages/ai/src/lib/completionCall.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +1126 -82
- package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js +2 -1
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js +482 -0
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js +173 -55
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +16 -1
- package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js +35 -2
- package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js +20 -0
- package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.js +86 -0
- package/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +34 -3
- package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js.map +1 -1
- package/packages/ai/src/lib/deepEqual.js +32 -0
- package/packages/ai/src/lib/deepEqual.js.map +1 -0
- package/packages/ai/src/lib/generateChangesEntityScenarioData.js +62 -5
- package/packages/ai/src/lib/generateChangesEntityScenarioData.js.map +1 -1
- package/packages/ai/src/lib/generateChangesEntityScenarios.js +81 -90
- package/packages/ai/src/lib/generateChangesEntityScenarios.js.map +1 -1
- package/packages/ai/src/lib/generateEntityDataStructure.js +5 -0
- package/packages/ai/src/lib/generateEntityDataStructure.js.map +1 -1
- package/packages/ai/src/lib/generateEntityScenarioData.js +398 -81
- package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
- package/packages/ai/src/lib/generateEntityScenarios.js +168 -82
- package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
- package/packages/ai/src/lib/generateExecutionFlows.js +123 -0
- package/packages/ai/src/lib/generateExecutionFlows.js.map +1 -0
- package/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.js +380 -0
- package/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.js.map +1 -0
- package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js +742 -0
- package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js.map +1 -0
- package/packages/ai/src/lib/getConditionalUsagesFromCode.js +84 -14
- package/packages/ai/src/lib/getConditionalUsagesFromCode.js.map +1 -1
- package/packages/ai/src/lib/guessScenarioDataFromDescription.js +2 -1
- package/packages/ai/src/lib/guessScenarioDataFromDescription.js.map +1 -1
- package/packages/ai/src/lib/isolateScopes.js +231 -4
- package/packages/ai/src/lib/isolateScopes.js.map +1 -1
- package/packages/ai/src/lib/mergeStatements.js +26 -3
- package/packages/ai/src/lib/mergeStatements.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js +6 -0
- package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js +1 -1
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js +21 -64
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js +58 -4
- package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js +10 -34
- package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.js +45 -0
- package/packages/ai/src/lib/promptGenerators/generateMissingKeysPrompt.js.map +1 -0
- package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js +16 -3
- package/packages/ai/src/lib/promptGenerators/guessNewScenarioDataFromDescriptionGenerator.js.map +1 -1
- package/packages/ai/src/lib/resolvePathToControllable.js +563 -0
- package/packages/ai/src/lib/resolvePathToControllable.js.map +1 -0
- package/packages/ai/src/lib/splitOutsideParentheses.js +3 -1
- package/packages/ai/src/lib/splitOutsideParentheses.js.map +1 -1
- package/packages/ai/src/lib/worker/SerializableDataStructure.js +22 -0
- package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
- package/packages/ai/src/lib/worker/analyzeScopeWorker.js +4 -0
- package/packages/ai/src/lib/worker/analyzeScopeWorker.js.map +1 -1
- package/packages/analyze/src/lib/FileAnalyzer.js +15 -0
- package/packages/analyze/src/lib/FileAnalyzer.js.map +1 -1
- package/packages/analyze/src/lib/asts/nodes/index.js +1 -0
- package/packages/analyze/src/lib/asts/nodes/index.js.map +1 -1
- package/packages/analyze/src/lib/asts/nodes/isAsyncFunction.js +52 -0
- package/packages/analyze/src/lib/asts/nodes/isAsyncFunction.js.map +1 -0
- package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +214 -50
- package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +10 -0
- package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js +2 -0
- package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js.map +1 -1
- package/packages/analyze/src/lib/files/analyzeChange.js +21 -11
- package/packages/analyze/src/lib/files/analyzeChange.js.map +1 -1
- package/packages/analyze/src/lib/files/analyzeEntity.js +9 -8
- package/packages/analyze/src/lib/files/analyzeEntity.js.map +1 -1
- package/packages/analyze/src/lib/files/analyzeInitial.js +9 -10
- package/packages/analyze/src/lib/files/analyzeInitial.js.map +1 -1
- package/packages/analyze/src/lib/files/enums/steps.js +1 -1
- package/packages/analyze/src/lib/files/enums/steps.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js +159 -0
- package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js.map +1 -0
- package/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.js +85 -0
- package/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.js.map +1 -0
- package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js +458 -48
- package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.js +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateChangesScenarioData.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.js +29 -34
- package/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +235 -81
- package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js +96 -0
- package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js.map +1 -0
- package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js +56 -69
- package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateScenarios.js +4 -8
- package/packages/analyze/src/lib/files/scenarios/generateScenarios.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +307 -89
- package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
- package/packages/aws/src/lib/ecs/ecsDefineContainer.js +2 -2
- package/packages/aws/src/lib/ecs/ecsDefineContainer.js.map +1 -1
- package/packages/aws/src/lib/ecs/ecsTaskFactory.js +17 -61
- package/packages/aws/src/lib/ecs/ecsTaskFactory.js.map +1 -1
- package/packages/database/src/lib/kysely/db.js +2 -2
- package/packages/database/src/lib/kysely/tables/debugReportsTable.js +9 -3
- package/packages/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -1
- package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js +7 -4
- package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -1
- package/packages/generate/index.js +3 -0
- package/packages/generate/index.js.map +1 -1
- package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +16 -1
- package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
- package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +189 -0
- package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -0
- package/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js +53 -0
- package/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js.map +1 -0
- package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js +8 -4
- package/packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.js.map +1 -1
- package/packages/generate/src/lib/deepMerge.js +27 -1
- package/packages/generate/src/lib/deepMerge.js.map +1 -1
- package/packages/generate/src/lib/scenarioComponentForServer.js +89 -0
- package/packages/generate/src/lib/scenarioComponentForServer.js.map +1 -0
- package/packages/github/src/lib/loadOrCreateCommit.js +10 -0
- package/packages/github/src/lib/loadOrCreateCommit.js.map +1 -1
- package/packages/github/src/lib/syncPrimaryBranch.js +3 -0
- package/packages/github/src/lib/syncPrimaryBranch.js.map +1 -1
- package/packages/process/index.js +3 -0
- package/packages/process/index.js.map +1 -0
- package/packages/process/src/GlobalProcessManager.js.map +1 -0
- package/{background/src/lib/process → packages/process/src}/ProcessManager.js +1 -1
- package/packages/process/src/ProcessManager.js.map +1 -0
- package/packages/process/src/index.js.map +1 -0
- package/packages/process/src/managedExecAsync.js.map +1 -0
- package/packages/types/index.js.map +1 -1
- package/scripts/finalize-analyzer.cjs +3 -1
- package/analyzer-template/packages/ai/src/lib/findMatchingAttribute.ts +0 -102
- package/analyzer-template/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.ts +0 -197
- package/analyzer-template/packages/ai/src/lib/generateChangesEntityKeyAttributes.ts +0 -271
- package/analyzer-template/packages/ai/src/lib/generateEntityKeyAttributes.ts +0 -294
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.ts +0 -67
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.ts +0 -115
- package/analyzer-template/process/INTEGRATION_COMPLETE.md +0 -333
- package/analyzer-template/process/INTEGRATION_EXAMPLE.md +0 -525
- package/analyzer-template/process/README.md +0 -507
- package/background/src/lib/process/GlobalProcessManager.js.map +0 -1
- package/background/src/lib/process/ProcessManager.js.map +0 -1
- package/background/src/lib/process/index.js.map +0 -1
- package/background/src/lib/process/managedExecAsync.js.map +0 -1
- package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js +0 -238
- package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js.map +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/EntityItem-D0VW1-W7.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-BAk4S4pI.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-Y756iZxZ.js +0 -25
- package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-zzrrjW1p.js +0 -3
- package/codeyam-cli/src/webserver/build/client/assets/LogViewer-QMn7bJg6.js +0 -3
- package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-DmP5mRxX.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-BXwvsbLw.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-DAmUX_1y.js +0 -5
- package/codeyam-cli/src/webserver/build/client/assets/_index-Df-nk4J5.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-_ZUyFdie.js +0 -7
- package/codeyam-cli/src/webserver/build/client/assets/chevron-down-Eoh0PhcW.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/chunk-WWGJGFF6-CZgPLy5i.js +0 -26
- package/codeyam-cli/src/webserver/build/client/assets/circle-check-DI-p9ZLZ.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-DvyV2x6y.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/dev.empty-DURu2qlF.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha._-DDobn9Xh.js +0 -16
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-CGdWnLD_.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-DgMmzrKs.js +0 -5
- package/codeyam-cli/src/webserver/build/client/assets/entry.client-DEVXuhkn.js +0 -13
- package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-WPRQyc68.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/files-B9u3lJer.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/git-YGnKIuHU.js +0 -11
- package/codeyam-cli/src/webserver/build/client/assets/globals-28lrWTTo.css +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/html2canvas-pro.esm-XQCGvadH.js +0 -5
- package/codeyam-cli/src/webserver/build/client/assets/index-CJ0uPJjV.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/index-CfqeA2XG.js +0 -3
- package/codeyam-cli/src/webserver/build/client/assets/loader-circle-DIjSvh6B.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/manifest-8125c15c.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/preload-helper-BXl3LOEh.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/root-C-g286WP.js +0 -16
- package/codeyam-cli/src/webserver/build/client/assets/search-xBKWfOxd.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/settings-DVY_wGOx.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/simulations-Be1pJo5A.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/triangle-alert-CR-FkSvx.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/useReportContext-DABetnSj.js +0 -1
- package/codeyam-cli/src/webserver/build/server/assets/index-DcR7DH9q.js +0 -1
- package/codeyam-cli/src/webserver/build/server/assets/server-build-BDBrfp7e.js +0 -175
- package/codeyam-cli/templates/debug-codeyam.md +0 -527
- package/packages/ai/src/lib/findMatchingAttribute.js +0 -77
- package/packages/ai/src/lib/findMatchingAttribute.js.map +0 -1
- package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js +0 -136
- package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js.map +0 -1
- package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js +0 -220
- package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js.map +0 -1
- package/packages/ai/src/lib/generateEntityKeyAttributes.js +0 -241
- package/packages/ai/src/lib/generateEntityKeyAttributes.js.map +0 -1
- package/packages/ai/src/lib/isFrontend.js +0 -5
- package/packages/ai/src/lib/isFrontend.js.map +0 -1
- package/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.js +0 -40
- package/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.js.map +0 -1
- package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js +0 -72
- package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js.map +0 -1
- /package/analyzer-template/{process → packages/process/src}/GlobalProcessManager.ts +0 -0
- /package/analyzer-template/{process → packages/process/src}/ProcessManager.ts +0 -0
- /package/analyzer-template/{process → packages/process/src}/index.ts +0 -0
- /package/analyzer-template/{process → packages/process/src}/managedExecAsync.ts +0 -0
- /package/{background/src/lib/process → packages/process/src}/GlobalProcessManager.js +0 -0
- /package/{background/src/lib/process → packages/process/src}/index.js +0 -0
- /package/{background/src/lib/process → packages/process/src}/managedExecAsync.js +0 -0
|
@@ -1,87 +1,43 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Prepare to run an ECS task for
|
|
3
|
-
*
|
|
2
|
+
* Prepare to run an ECS task for analysis with distributed capture orchestration.
|
|
3
|
+
* Uses the unified 'combo' image which includes both analysis and capture capabilities.
|
|
4
4
|
*/
|
|
5
|
-
export function
|
|
5
|
+
export function getEcsStartConfigForAnalysis(environmentVariables) {
|
|
6
6
|
return {
|
|
7
|
-
taskDefinition: getEcsTaskDefinitionName(EcsTaskDefinitionUse.
|
|
8
|
-
containerEnvironmentVariables: [
|
|
9
|
-
[
|
|
10
|
-
getEcsImageNameForType(EcsImageType.Project),
|
|
11
|
-
projectEnvironmentVariables,
|
|
12
|
-
],
|
|
13
|
-
[
|
|
14
|
-
getEcsImageNameForType(EcsImageType.Playwright),
|
|
15
|
-
playwrightEnvironmentVariables,
|
|
16
|
-
],
|
|
17
|
-
],
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Prepare to run an ECS task for the new analysis flow with distributed capture
|
|
22
|
-
* tasks orchestrated from only a 'project' image.
|
|
23
|
-
*/
|
|
24
|
-
export function getEcsStartConfigFoAnalysisWithOrchestration(environmentVariables) {
|
|
25
|
-
return {
|
|
26
|
-
taskDefinition: getEcsTaskDefinitionName(EcsTaskDefinitionUse.AnalyzeWithOrchestration),
|
|
27
|
-
containerEnvironmentVariables: [
|
|
28
|
-
[getEcsImageNameForType(EcsImageType.Project), environmentVariables],
|
|
29
|
-
],
|
|
7
|
+
taskDefinition: getEcsTaskDefinitionName(EcsTaskDefinitionUse.Analysis),
|
|
8
|
+
containerEnvironmentVariables: [[getEcsImageName(), environmentVariables]],
|
|
30
9
|
};
|
|
31
10
|
}
|
|
32
11
|
/**
|
|
33
12
|
* Prepare to run an ECS worker task that implements the capture portion of the
|
|
34
|
-
* distributed orchestration
|
|
35
|
-
* from a task created with `
|
|
13
|
+
* distributed orchestration. Uses the same unified 'combo' image.
|
|
14
|
+
* This task is launched from a task created with `getEcsStartConfigForAnalysis()`
|
|
36
15
|
*/
|
|
37
16
|
export function getEcsStartConfigForOrchestrationTask(environmentVariables) {
|
|
38
17
|
return {
|
|
39
18
|
taskDefinition: getEcsTaskDefinitionName(EcsTaskDefinitionUse.OrchestrationTask),
|
|
40
|
-
containerEnvironmentVariables: [
|
|
41
|
-
[getEcsImageNameForType(EcsImageType.Combo), environmentVariables],
|
|
42
|
-
],
|
|
19
|
+
containerEnvironmentVariables: [[getEcsImageName(), environmentVariables]],
|
|
43
20
|
};
|
|
44
21
|
}
|
|
45
22
|
export var EcsTaskDefinitionUse;
|
|
46
23
|
(function (EcsTaskDefinitionUse) {
|
|
47
|
-
/*
|
|
48
|
-
EcsTaskDefinitionUse["
|
|
49
|
-
/* A
|
|
50
|
-
EcsTaskDefinitionUse["AnalyzeWithOrchestration"] = "analyze-with-orchestration";
|
|
51
|
-
/* A worker task that combines 'project' and 'playwright' code, launched by orchestration. */
|
|
24
|
+
/* Main analysis task - runs analysis and fires up distributed capture orchestration. */
|
|
25
|
+
EcsTaskDefinitionUse["Analysis"] = "analysis";
|
|
26
|
+
/* A worker task launched by orchestration to capture scenarios. */
|
|
52
27
|
EcsTaskDefinitionUse["OrchestrationTask"] = "orchestration-task";
|
|
53
28
|
})(EcsTaskDefinitionUse || (EcsTaskDefinitionUse = {}));
|
|
54
29
|
export function getEcsTaskDefinitionName(forUse) {
|
|
55
30
|
switch (forUse) {
|
|
56
|
-
case EcsTaskDefinitionUse.
|
|
57
|
-
return `${process.env.ECR_REPOSITORY_NAME}-
|
|
58
|
-
case EcsTaskDefinitionUse.AnalyzeWithOrchestration:
|
|
59
|
-
return `${process.env.ECR_REPOSITORY_NAME}-project`;
|
|
31
|
+
case EcsTaskDefinitionUse.Analysis:
|
|
32
|
+
return `${process.env.ECR_REPOSITORY_NAME}-analysis`;
|
|
60
33
|
case EcsTaskDefinitionUse.OrchestrationTask:
|
|
61
|
-
return `${process.env.ECR_REPOSITORY_NAME}-
|
|
34
|
+
return `${process.env.ECR_REPOSITORY_NAME}-orchestration`;
|
|
62
35
|
default:
|
|
63
36
|
throw new Error(`Unknown task definition use: ${forUse}`);
|
|
64
37
|
}
|
|
65
38
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
EcsImageType["Project"] = "project";
|
|
70
|
-
/* The playwright capture process which waits for the project to be ready. */
|
|
71
|
-
EcsImageType["Playwright"] = "playwright";
|
|
72
|
-
/* A combo image that combines both project and playwright code, used by orchestration. */
|
|
73
|
-
EcsImageType["Combo"] = "combo";
|
|
74
|
-
})(EcsImageType || (EcsImageType = {}));
|
|
75
|
-
export function getEcsImageNameForType(type) {
|
|
76
|
-
switch (type) {
|
|
77
|
-
case EcsImageType.Project:
|
|
78
|
-
return `${process.env.ECR_REPOSITORY_NAME}-project`;
|
|
79
|
-
case EcsImageType.Playwright:
|
|
80
|
-
return `${process.env.ECR_REPOSITORY_NAME}-playwright`;
|
|
81
|
-
case EcsImageType.Combo:
|
|
82
|
-
return `${process.env.ECR_REPOSITORY_NAME}-combo`;
|
|
83
|
-
default:
|
|
84
|
-
throw new Error(`Unknown image type: ${type}`);
|
|
85
|
-
}
|
|
39
|
+
/** Returns the name of the unified Docker image used for all ECS tasks. */
|
|
40
|
+
export function getEcsImageName() {
|
|
41
|
+
return `${process.env.ECR_REPOSITORY_NAME}-combo`;
|
|
86
42
|
}
|
|
87
43
|
//# sourceMappingURL=ecsTaskFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ecsTaskFactory.js","sourceRoot":"","sources":["../../../../../../../packages/aws/src/lib/ecs/ecsTaskFactory.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"ecsTaskFactory.js","sourceRoot":"","sources":["../../../../../../../packages/aws/src/lib/ecs/ecsTaskFactory.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAC1C,oBAA4C;IAE5C,OAAO;QACL,cAAc,EAAE,wBAAwB,CAAC,oBAAoB,CAAC,QAAQ,CAAC;QACvE,6BAA6B,EAAE,CAAC,CAAC,eAAe,EAAE,EAAE,oBAAoB,CAAC,CAAC;KAC3E,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qCAAqC,CACnD,oBAA4C;IAE5C,OAAO;QACL,cAAc,EAAE,wBAAwB,CACtC,oBAAoB,CAAC,iBAAiB,CACvC;QACD,6BAA6B,EAAE,CAAC,CAAC,eAAe,EAAE,EAAE,oBAAoB,CAAC,CAAC;KAC3E,CAAC;AACJ,CAAC;AAED,MAAM,CAAN,IAAY,oBAKX;AALD,WAAY,oBAAoB;IAC9B,wFAAwF;IACxF,6CAAqB,CAAA;IACrB,mEAAmE;IACnE,gEAAwC,CAAA;AAC1C,CAAC,EALW,oBAAoB,KAApB,oBAAoB,QAK/B;AAED,MAAM,UAAU,wBAAwB,CAAC,MAA4B;IACnE,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,oBAAoB,CAAC,QAAQ;YAChC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,CAAC;QACvD,KAAK,oBAAoB,CAAC,iBAAiB;YACzC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,gBAAgB,CAAC;QAC5D;YACE,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,eAAe;IAC7B,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,QAAQ,CAAC;AACpD,CAAC"}
|
|
@@ -13,7 +13,7 @@ import { createBackgroundJobsTable, } from "./tables/backgroundJobsTable.js";
|
|
|
13
13
|
import { createBranchesTable } from "./tables/branchesTable.js";
|
|
14
14
|
import { createCommitBranchesTable, } from "./tables/commitBranchesTable.js";
|
|
15
15
|
import { createCommitsTable } from "./tables/commitsTable.js";
|
|
16
|
-
import {
|
|
16
|
+
import { createDebugBundlesTable, } from "./tables/debugReportsTable.js";
|
|
17
17
|
import { createEntitiesTable } from "./tables/entitiesTable.js";
|
|
18
18
|
import { createEntityBranchesTable, } from "./tables/entityBranchesTable.js";
|
|
19
19
|
import { createEntityStatementsTable, } from "./tables/entityStatementsTable.js";
|
|
@@ -274,7 +274,7 @@ export async function createSqliteSchema(db) {
|
|
|
274
274
|
await createBranchesTable(db);
|
|
275
275
|
await createCommitBranchesTable(db);
|
|
276
276
|
await createCommitsTable(db);
|
|
277
|
-
await
|
|
277
|
+
await createDebugBundlesTable(db);
|
|
278
278
|
await createEntitiesTable(db);
|
|
279
279
|
await createEntityBranchesTable(db);
|
|
280
280
|
await createEntityStatementsTable(db);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { schemaField, defaultNow } from "../schemaHelpers.js";
|
|
2
|
-
|
|
2
|
+
// Table name remains 'debug_reports' in the database for backwards compatibility
|
|
3
|
+
const debugBundlesSchema = {
|
|
3
4
|
id: schemaField(),
|
|
4
5
|
project_slug: schemaField(),
|
|
5
6
|
s3_key: schemaField(),
|
|
@@ -8,9 +9,12 @@ const debugReportsSchema = {
|
|
|
8
9
|
status: schemaField(),
|
|
9
10
|
created_at: schemaField(),
|
|
10
11
|
uploaded_at: schemaField(),
|
|
12
|
+
base_sha: schemaField(),
|
|
13
|
+
delta_size_bytes: schemaField(),
|
|
11
14
|
};
|
|
12
|
-
export const
|
|
13
|
-
export async function
|
|
15
|
+
export const DebugBundlesTableColumns = Object.keys(debugBundlesSchema);
|
|
16
|
+
export async function createDebugBundlesTable(db) {
|
|
17
|
+
// Table name remains 'debug_reports' for backwards compatibility
|
|
14
18
|
await db.schema
|
|
15
19
|
.createTable('debug_reports')
|
|
16
20
|
.addColumn('id', 'uuid', (col) => col.primaryKey())
|
|
@@ -21,6 +25,8 @@ export async function createDebugReportsTable(db) {
|
|
|
21
25
|
.addColumn('status', 'varchar')
|
|
22
26
|
.addColumn('created_at', 'datetime', defaultNow(true))
|
|
23
27
|
.addColumn('uploaded_at', 'datetime')
|
|
28
|
+
.addColumn('base_sha', 'varchar')
|
|
29
|
+
.addColumn('delta_size_bytes', 'bigint')
|
|
24
30
|
.ifNotExists()
|
|
25
31
|
.execute();
|
|
26
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debugReportsTable.js","sourceRoot":"","sources":["../../../../../../../../packages/database/src/lib/kysely/tables/debugReportsTable.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"debugReportsTable.js","sourceRoot":"","sources":["../../../../../../../../packages/database/src/lib/kysely/tables/debugReportsTable.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AA0C3D,iFAAiF;AACjF,MAAM,kBAAkB,GAAG;IACzB,EAAE,EAAE,WAAW,EAAqB;IACpC,YAAY,EAAE,WAAW,EAAU;IACnC,MAAM,EAAE,WAAW,EAAU;IAC7B,eAAe,EAAE,WAAW,EAAiB;IAC7C,QAAQ,EAAE,WAAW,EAA8C;IACnE,MAAM,EAAE,WAAW,EAAiB;IACpC,UAAU,EAAE,WAAW,EAAqB;IAC5C,WAAW,EAAE,WAAW,EAAiB;IACzC,QAAQ,EAAE,WAAW,EAAiB;IACtC,gBAAgB,EAAE,WAAW,EAAiB;CACtC,CAAC;AAMX,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC,IAAI,CACjD,kBAAkB,CACY,CAAC;AAEjC,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,EAAe;IAC3D,iEAAiE;IACjE,MAAM,EAAE,CAAC,MAAM;SACZ,WAAW,CAAC,eAAe,CAAC;SAC5B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,GAA4B,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;SAC3E,SAAS,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC,GAA4B,EAAE,EAAE,CACrE,GAAG,CAAC,OAAO,EAAE,CACd;SACA,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,GAA4B,EAAE,EAAE,CAC/D,GAAG,CAAC,OAAO,EAAE,CACd;SACA,SAAS,CAAC,iBAAiB,EAAE,QAAQ,CAAC;SACtC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,gCAAgC;SAC9D,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC;SAC9B,SAAS,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;SACrD,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC;SACpC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC;SAChC,SAAS,CAAC,kBAAkB,EAAE,QAAQ,CAAC;SACvC,WAAW,EAAE;SACb,OAAO,EAAE,CAAC;AACf,CAAC"}
|
|
@@ -23,11 +23,14 @@ export default async function loadReadyToBeCapturedAnalyses(params) {
|
|
|
23
23
|
.select(aliasedTableColumns('scenarios', ScenariosTableColumns))
|
|
24
24
|
.whereRef('scenarios.analysis_id', '=', 'analyses.id')).as('scenarios'),
|
|
25
25
|
])
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
// Cross-database compatible: use -> (not ->>) for boolean JSON fields
|
|
27
|
+
// PostgreSQL: jsonb `true` auto-casts to string 'true' for comparison
|
|
28
|
+
// SQLite: -> returns text 'true' which equals string 'true'
|
|
29
|
+
// (Note: ->> returns integer 1 in SQLite for booleans, breaking string comparisons)
|
|
30
|
+
.where(sql `${sql.ref('analyses.status')} -> 'readyToBeCaptured'`, '=', 'true')
|
|
29
31
|
// Exclude entities that are not exported - they cannot be captured because they can't be imported
|
|
30
|
-
|
|
32
|
+
// Use -> operator for cross-database boolean comparison
|
|
33
|
+
.where(sql `(${sql.ref('entities.metadata')} -> 'notExported') IS NULL OR (${sql.ref('entities.metadata')} -> 'notExported') != 'true'`);
|
|
31
34
|
if (projectId) {
|
|
32
35
|
query = query.where('analyses.project_id', '=', projectId);
|
|
33
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadReadyToBeCapturedAnalyses.js","sourceRoot":"","sources":["../../../../../../packages/database/src/lib/loadReadyToBeCapturedAnalyses.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,GAAG,EAAqB,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AASvE,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,6BAA6B,CACzD,MAAyC;IAEzC,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAEnD,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAAC;IAE1D,IAAI,KAAK,GAAG,EAAE;SACX,UAAU,CAAC,UAAU,CAAC;SACtB,SAAS,CAAC,UAAU,EAAE,cAAc,EAAE,qBAAqB,CAAC;SAC5D,SAAS,CAAC,UAAU,CAAC;SACrB,MAAM,CAAC,CAAC,EAA+B,EAAE,EAAE,CAAC;QAC3C,cAAc,CACZ,EAAE;aACC,UAAU,CAAC,UAAU,CAAC;aACtB,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;aAC7D,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE,qBAAqB,CAAC;aACpD,KAAK,CAAC,CAAC,CAAC,CACZ,CAAC,EAAE,CAAC,QAAQ,CAAC;QACd,aAAa,CACX,EAAE;aACC,UAAU,CAAC,WAAW,CAAC;aACvB,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;aAC/D,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE,aAAa,CAAC,CACzD,CAAC,EAAE,CAAC,WAAW,CAAC;KAClB,CAAC;
|
|
1
|
+
{"version":3,"file":"loadReadyToBeCapturedAnalyses.js","sourceRoot":"","sources":["../../../../../../packages/database/src/lib/loadReadyToBeCapturedAnalyses.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,GAAG,EAAqB,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AASvE,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,6BAA6B,CACzD,MAAyC;IAEzC,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAEnD,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAAC;IAE1D,IAAI,KAAK,GAAG,EAAE;SACX,UAAU,CAAC,UAAU,CAAC;SACtB,SAAS,CAAC,UAAU,EAAE,cAAc,EAAE,qBAAqB,CAAC;SAC5D,SAAS,CAAC,UAAU,CAAC;SACrB,MAAM,CAAC,CAAC,EAA+B,EAAE,EAAE,CAAC;QAC3C,cAAc,CACZ,EAAE;aACC,UAAU,CAAC,UAAU,CAAC;aACtB,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;aAC7D,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE,qBAAqB,CAAC;aACpD,KAAK,CAAC,CAAC,CAAC,CACZ,CAAC,EAAE,CAAC,QAAQ,CAAC;QACd,aAAa,CACX,EAAE;aACC,UAAU,CAAC,WAAW,CAAC;aACvB,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;aAC/D,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE,aAAa,CAAC,CACzD,CAAC,EAAE,CAAC,WAAW,CAAC;KAClB,CAAC;QACF,sEAAsE;QACtE,sEAAsE;QACtE,4DAA4D;QAC5D,oFAAoF;SACnF,KAAK,CACJ,GAAG,CAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,yBAAyB,EACjE,GAAG,EACH,MAAM,CACP;QACD,kGAAkG;QAClG,wDAAwD;SACvD,KAAK,CACJ,GAAG,CAAS,IAAI,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,kCAAkC,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,8BAA8B,CACzI,CAAC;IAEJ,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;IAED,kEAAkE;IAClE,iGAAiG;IACjG,6EAA6E;IAC7E,IAAI,eAAe,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAClD,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;IAEtC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,kDAAkD,EAAE;YAC9D,SAAS;YACT,eAAe;YACf,GAAG,EAAE,GAAG,EAAE,MAAM;SACjB,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,QAAQ,GAAG,OAAuB,CAAC;IACzC,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAElD,+DAA+D;IAC/D,OAAO,CAAC,GAAG,CACT,0FAA0F,EAC1F;QACE,KAAK,EAAE,cAAc,CAAC,MAAM;QAC5B,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnC,IAAI,EAAE,CAAC,CAAC,UAAU;YAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,IAAI,KAAK;SACtD,CAAC,CAAC;KACJ,CACF,CAAC;IAEF,OAAO,cAAc,CAAC;AACxB,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export { default as getComponentImportStatements } from "./src/lib/getComponentImportStatements.js";
|
|
2
2
|
export { default as componentScenarioPageRemix } from "./src/lib/componentScenarioPage/componentScenarioPageRemix.js";
|
|
3
3
|
export { default as componentScenarioPageNext } from "./src/lib/componentScenarioPage/componentScenarioPageNext.js";
|
|
4
|
+
export { default as generateScenarioServerComponent } from "./src/lib/componentScenarioPage/generateScenarioServerComponent.js";
|
|
5
|
+
export { default as generateScenarioClientWrapper } from "./src/lib/componentScenarioPage/generateScenarioClientWrapper.js";
|
|
4
6
|
export { default as getComponentScenarioPath } from "./src/lib/getComponentScenarioPath.js";
|
|
5
7
|
export { default as libDemoComponent } from "./src/lib/libDemoComponent.js";
|
|
6
8
|
export { default as directExecutionScript } from "./src/lib/directExecutionScript.js";
|
|
@@ -9,5 +11,6 @@ export { default as safeFolder } from "./src/lib/safeFolder.js";
|
|
|
9
11
|
export { default as deepMerge } from "./src/lib/deepMerge.js";
|
|
10
12
|
export { default as simpleRootRemix } from "./src/lib/simpleRootRemix.js";
|
|
11
13
|
export { default as mergeRootRemix } from "./src/lib/mergeRootRemix.js";
|
|
14
|
+
export { default as scenarioComponentForServer } from "./src/lib/scenarioComponentForServer.js";
|
|
12
15
|
export { PLACEHOLDER_IMAGE_SRC } from "./src/lib/constants.js";
|
|
13
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/generate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AACjG,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,4DAA4D,CAAC;AACnH,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,2DAA2D,CAAC;AACjH,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/generate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AACjG,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,4DAA4D,CAAC;AACnH,OAAO,EAAE,OAAO,IAAI,yBAAyB,EAAE,MAAM,2DAA2D,CAAC;AACjH,OAAO,EAAE,OAAO,IAAI,+BAA+B,EAAE,MAAM,iEAAiE,CAAC;AAC7H,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,+DAA+D,CAAC;AACzH,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -5,9 +5,24 @@ import escapeQuotes from "../escapeQuotes.js";
|
|
|
5
5
|
import getIFrameMessageListenerCode from "./getIFrameMessageListenerCode.js";
|
|
6
6
|
import getImageReplacementCode from "./getImageReplacementCode.js";
|
|
7
7
|
import getNextJsErrorClosingCode from "./getNextJsErrorClosingCode.js";
|
|
8
|
+
import generateScenarioServerComponent from "./generateScenarioServerComponent.js";
|
|
8
9
|
const VERSION = '0.5.1';
|
|
9
10
|
export default function componentScenarioPageNext({ file, entity, analysis, currentPath, appPath, scenario, relativeMocksDir, }) {
|
|
10
11
|
const fileName = file.name.split('.')[0];
|
|
12
|
+
// For async components (Server Components), generate a Server Component page
|
|
13
|
+
// that uses a separate client wrapper for interactive features
|
|
14
|
+
if (entity.metadata?.isAsync) {
|
|
15
|
+
return generateScenarioServerComponent({
|
|
16
|
+
file,
|
|
17
|
+
entity,
|
|
18
|
+
analysis,
|
|
19
|
+
currentPath,
|
|
20
|
+
appPath,
|
|
21
|
+
scenario,
|
|
22
|
+
relativeMocksDir,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
// For non-async components, use the existing client component approach
|
|
11
26
|
return `/* eslint-disable */
|
|
12
27
|
"use client";
|
|
13
28
|
import {
|
|
@@ -37,7 +52,7 @@ ${getComponentImportStatement({
|
|
|
37
52
|
${getImageReplacementCode()}
|
|
38
53
|
|
|
39
54
|
function Scenario({ name, width, height, children }: { name: string, width: string, height: string, children: ReactNode }) {
|
|
40
|
-
|
|
55
|
+
|
|
41
56
|
useEffect(() => {
|
|
42
57
|
if (typeof window === 'undefined') return;
|
|
43
58
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"componentScenarioPageNext.js","sourceRoot":"","sources":["../../../../../../../packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,2BAA2B,MAAM,gCAAgC,CAAC;AACzE,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAC1E,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"componentScenarioPageNext.js","sourceRoot":"","sources":["../../../../../../../packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,2BAA2B,MAAM,gCAAgC,CAAC;AACzE,OAAO,iBAAiB,MAAM,sBAAsB,CAAC;AACrD,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAC3C,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAC1E,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AACpE,OAAO,+BAA+B,MAAM,mCAAmC,CAAC;AAEhF,MAAM,OAAO,GAAG,OAAO,CAAC;AAExB,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,EAChD,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,WAAW,EACX,OAAO,EACP,QAAQ,EACR,gBAAgB,GASjB;IACC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzC,6EAA6E;IAC7E,+DAA+D;IAC/D,IAAI,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;QAC7B,OAAO,+BAA+B,CAAC;YACrC,IAAI;YACJ,MAAM;YACN,QAAQ;YACR,WAAW;YACX,OAAO;YACP,QAAQ;YACR,gBAAgB;SACjB,CAAC,CAAC;IACL,CAAC;IAED,uEAAuE;IACvE,OAAO;;;;;;;;;;;EAWP,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,IAAI,8BAA8B,gBAAgB,aAAa,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI;EAC5H,2BAA2B,CAAC;QAC5B,IAAI;QACJ,MAAM;QACN,QAAQ;QACR,WAAW;QACX,OAAO;QACP,QAAQ;QACR,OAAO,EAAE,IAAI;QACb,WAAW,EACT,MAAM,CAAC,IAAI,KAAK,SAAS;YACzB,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,IAAI,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC;YAC7D,MAAM,CAAC,UAAU,KAAK,SAAS;KAClC,CAAC;;;EAGA,uBAAuB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAgEH,QAAQ,KAAK,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,OAAO;;;;;;;8DAO3B,QAAQ;;;IAGlE,4BAA4B,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC7D,yBAAyB,EAAE;;;;QAIvB,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;;;EAG3E,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { safeFileName } from "../../../../../packages/utils/index.js";
|
|
2
|
+
import getImageReplacementCode from "./getImageReplacementCode.js";
|
|
3
|
+
import getNextJsErrorClosingCode from "./getNextJsErrorClosingCode.js";
|
|
4
|
+
/**
|
|
5
|
+
* Generates the ScenarioClientWrapper component code.
|
|
6
|
+
* This is a Client Component that handles all the interactive features
|
|
7
|
+
* (iframe messaging, console interception, error closing, etc.)
|
|
8
|
+
* while allowing the actual page to be a Server Component.
|
|
9
|
+
*/
|
|
10
|
+
export default function generateScenarioClientWrapper(scenario) {
|
|
11
|
+
const safeScenarioName = safeFileName(scenario.name);
|
|
12
|
+
return `"use client";
|
|
13
|
+
/* eslint-disable */
|
|
14
|
+
// ScenarioClientWrapper - Client Component for interactive features
|
|
15
|
+
// This wraps Server Components to add client-side interactivity
|
|
16
|
+
|
|
17
|
+
import {
|
|
18
|
+
useCallback,
|
|
19
|
+
useEffect,
|
|
20
|
+
useState,
|
|
21
|
+
type ReactNode,
|
|
22
|
+
} from 'react';
|
|
23
|
+
import { scenarios } from "./MockData_${safeScenarioName}.js";
|
|
24
|
+
|
|
25
|
+
// Inject image interception code at module level
|
|
26
|
+
${getImageReplacementCode()}
|
|
27
|
+
|
|
28
|
+
interface ScenarioClientWrapperProps {
|
|
29
|
+
scenarioName: string;
|
|
30
|
+
fileName: string;
|
|
31
|
+
version: string;
|
|
32
|
+
children: ReactNode;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export function ScenarioClientWrapper({
|
|
36
|
+
scenarioName,
|
|
37
|
+
fileName,
|
|
38
|
+
version,
|
|
39
|
+
children,
|
|
40
|
+
}: ScenarioClientWrapperProps) {
|
|
41
|
+
const [internalVersion, setInternalVersion] = useState(1);
|
|
42
|
+
const [searchParams] = useState(() =>
|
|
43
|
+
typeof window !== 'undefined'
|
|
44
|
+
? new URLSearchParams(window.location.search)
|
|
45
|
+
: new URLSearchParams()
|
|
46
|
+
);
|
|
47
|
+
const widthOverride = searchParams.get('width');
|
|
48
|
+
const heightOverride = searchParams.get('height') || 'auto';
|
|
49
|
+
|
|
50
|
+
// Set page metadata
|
|
51
|
+
useEffect(() => {
|
|
52
|
+
document.title = \`\${fileName}: \${scenarioName} CodeYam Demo v\${version}\`;
|
|
53
|
+
let metaDesc = document.querySelector('meta[name="description"]');
|
|
54
|
+
if (!metaDesc) {
|
|
55
|
+
metaDesc = document.createElement('meta');
|
|
56
|
+
metaDesc.setAttribute('name', 'description');
|
|
57
|
+
document.head.appendChild(metaDesc);
|
|
58
|
+
}
|
|
59
|
+
metaDesc.setAttribute('content', \`This is a demo of the \${fileName} component\`);
|
|
60
|
+
}, [fileName, scenarioName, version]);
|
|
61
|
+
|
|
62
|
+
// Message posting helper
|
|
63
|
+
const respond = useCallback((message: any) => {
|
|
64
|
+
try {
|
|
65
|
+
window.parent.postMessage({
|
|
66
|
+
type: 'codeyam-update',
|
|
67
|
+
name: scenarioName,
|
|
68
|
+
message,
|
|
69
|
+
}, '*');
|
|
70
|
+
} catch (e) {
|
|
71
|
+
console.warn('Error posting message to parent', message, e);
|
|
72
|
+
}
|
|
73
|
+
}, [scenarioName]);
|
|
74
|
+
|
|
75
|
+
// Handle data override messages from parent
|
|
76
|
+
useEffect(() => {
|
|
77
|
+
const eventListener = (event: MessageEvent) => {
|
|
78
|
+
if (event.data.type === 'codeyam-override-data') {
|
|
79
|
+
const parsedData = JSON.parse(event.data.data);
|
|
80
|
+
console.log("Override data received");
|
|
81
|
+
respond("Set override data to " + JSON.stringify(parsedData, null, 2));
|
|
82
|
+
scenarios().updateData(scenarioName, parsedData);
|
|
83
|
+
setInternalVersion(prev => prev + 1);
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
window.addEventListener('message', eventListener);
|
|
87
|
+
return () => window.removeEventListener('message', eventListener);
|
|
88
|
+
}, [respond, scenarioName]);
|
|
89
|
+
|
|
90
|
+
// Console interception
|
|
91
|
+
useEffect(() => {
|
|
92
|
+
const oldConsoleLog = console.log;
|
|
93
|
+
console.log = function(...args: any[]) {
|
|
94
|
+
oldConsoleLog(...args);
|
|
95
|
+
try {
|
|
96
|
+
window.parent.postMessage({
|
|
97
|
+
type: 'codeyam-log',
|
|
98
|
+
name: scenarioName,
|
|
99
|
+
data: {
|
|
100
|
+
log: {
|
|
101
|
+
name: "console.log",
|
|
102
|
+
args
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}, '*');
|
|
106
|
+
} catch (e) {
|
|
107
|
+
oldConsoleLog('Error posting message to parent', e);
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
const oldConsoleError = console.error;
|
|
112
|
+
console.error = function(...args: any[]) {
|
|
113
|
+
oldConsoleError(...args);
|
|
114
|
+
window.parent.postMessage({
|
|
115
|
+
type: 'codeyam-log',
|
|
116
|
+
name: scenarioName,
|
|
117
|
+
data: {
|
|
118
|
+
log: {
|
|
119
|
+
name: "console.error",
|
|
120
|
+
args
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}, '*');
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
return () => {
|
|
127
|
+
console.log = oldConsoleLog;
|
|
128
|
+
console.error = oldConsoleError;
|
|
129
|
+
};
|
|
130
|
+
}, [scenarioName]);
|
|
131
|
+
|
|
132
|
+
// Next.js error closing
|
|
133
|
+
${getNextJsErrorClosingCode()}
|
|
134
|
+
|
|
135
|
+
// Height calculation and resize messaging
|
|
136
|
+
useEffect(() => {
|
|
137
|
+
if (typeof window === 'undefined') return;
|
|
138
|
+
|
|
139
|
+
const calculateHeight = () => {
|
|
140
|
+
const bodyHeight = document.body.offsetHeight;
|
|
141
|
+
const htmlHeight = document.documentElement.offsetHeight;
|
|
142
|
+
const scrollHeight = Math.max(
|
|
143
|
+
document.body.scrollHeight,
|
|
144
|
+
document.documentElement.scrollHeight,
|
|
145
|
+
document.body.offsetHeight,
|
|
146
|
+
document.documentElement.offsetHeight,
|
|
147
|
+
document.body.clientHeight,
|
|
148
|
+
document.documentElement.clientHeight
|
|
149
|
+
);
|
|
150
|
+
return Math.max(100, bodyHeight, htmlHeight, scrollHeight);
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
const calculatedHeight = calculateHeight();
|
|
154
|
+
parent.postMessage({ type: 'codeyam-resize', name: scenarioName, height: calculatedHeight }, '*');
|
|
155
|
+
|
|
156
|
+
const eventListener = (event: MessageEvent) => {
|
|
157
|
+
if (event.data.name === scenarioName) {
|
|
158
|
+
if (event.data.type === 'codeyam-respond') {
|
|
159
|
+
const calculatedHeight = calculateHeight();
|
|
160
|
+
parent.postMessage({ type: 'codeyam-resize', name: scenarioName, height: calculatedHeight }, '*');
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
window.addEventListener('message', eventListener);
|
|
166
|
+
return () => window.removeEventListener('message', eventListener);
|
|
167
|
+
}, [scenarioName]);
|
|
168
|
+
|
|
169
|
+
const width = widthOverride || 'auto';
|
|
170
|
+
|
|
171
|
+
return (
|
|
172
|
+
<div className='flex flex-col justify-center items-center h-screen' data-version={internalVersion}>
|
|
173
|
+
<div className='w-full flex items-center justify-center'>
|
|
174
|
+
<div id='component' style={{
|
|
175
|
+
minWidth: width !== 'auto' ? \`min(\${width}, 100vw)\` : undefined,
|
|
176
|
+
height: heightOverride !== 'auto' ? heightOverride : undefined,
|
|
177
|
+
minHeight: heightOverride !== 'auto' ? heightOverride : undefined,
|
|
178
|
+
display: 'block',
|
|
179
|
+
padding: '6px'
|
|
180
|
+
}}>
|
|
181
|
+
{children}
|
|
182
|
+
</div>
|
|
183
|
+
</div>
|
|
184
|
+
</div>
|
|
185
|
+
);
|
|
186
|
+
}
|
|
187
|
+
`;
|
|
188
|
+
}
|
|
189
|
+
//# sourceMappingURL=generateScenarioClientWrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateScenarioClientWrapper.js","sourceRoot":"","sources":["../../../../../../../packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,6BAA6B,CACnD,QAAkB;IAElB,MAAM,gBAAgB,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAErD,OAAO;;;;;;;;;;;wCAW+B,gBAAgB;;;EAGtD,uBAAuB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2GvB,yBAAyB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsD9B,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { safeFileName } from "../../../../../packages/utils/index.js";
|
|
2
|
+
import getComponentImportStatement from "../getComponentImportStatement.js";
|
|
3
|
+
import scenarioComponentForServer from "../scenarioComponentForServer.js";
|
|
4
|
+
const VERSION = '0.5.1';
|
|
5
|
+
/**
|
|
6
|
+
* Generates a Server Component page for async components (Server Components in Next.js).
|
|
7
|
+
*
|
|
8
|
+
* This is needed because:
|
|
9
|
+
* 1. Async components use await, which only works in Server Components
|
|
10
|
+
* 2. Client Components ("use client") don't support async/await in the component body
|
|
11
|
+
* 3. We use Next.js composition pattern: Server Component page renders the async component,
|
|
12
|
+
* then wraps it in a Client Component (ScenarioClientWrapper) for interactive features
|
|
13
|
+
*/
|
|
14
|
+
export default function generateScenarioServerComponent({ file, entity, analysis, currentPath, appPath, scenario, relativeMocksDir, }) {
|
|
15
|
+
const fileName = file.name.split('.')[0];
|
|
16
|
+
const safeScenarioName = safeFileName(scenario.name);
|
|
17
|
+
return `/* eslint-disable */
|
|
18
|
+
// Server Component page for async component: ${entity.name}
|
|
19
|
+
// This page does NOT have "use client" - it runs on the server
|
|
20
|
+
import { ScenarioClientWrapper } from "${relativeMocksDir}/ScenarioClientWrapper";
|
|
21
|
+
${analysis.scenarios?.length > 0 ? `import { scenarios } from "${relativeMocksDir}/MockData_${safeScenarioName}";` : ''}
|
|
22
|
+
${getComponentImportStatement({
|
|
23
|
+
file,
|
|
24
|
+
entity,
|
|
25
|
+
analysis,
|
|
26
|
+
currentPath,
|
|
27
|
+
appPath,
|
|
28
|
+
scenario,
|
|
29
|
+
primary: true,
|
|
30
|
+
namedExport: entity.name !== 'default' &&
|
|
31
|
+
(entity.metadata?.notExported || entity.metadata?.namedExport) &&
|
|
32
|
+
entity.entityType !== 'library',
|
|
33
|
+
})}
|
|
34
|
+
|
|
35
|
+
function getScenarioProps({ argumentIndex, propName }: { argumentIndex: number, propName?: string }) {
|
|
36
|
+
const data = scenarios().data();
|
|
37
|
+
const argument = data['arguments'][argumentIndex];
|
|
38
|
+
return propName ? argument[propName] : argument;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export default async function Index() {
|
|
42
|
+
return (
|
|
43
|
+
<ScenarioClientWrapper
|
|
44
|
+
scenarioName="${scenario.name}"
|
|
45
|
+
fileName="${fileName}"
|
|
46
|
+
version="${VERSION}"
|
|
47
|
+
>
|
|
48
|
+
${scenarioComponentForServer(entity, analysis, scenario)}
|
|
49
|
+
</ScenarioClientWrapper>
|
|
50
|
+
);
|
|
51
|
+
}`;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=generateScenarioServerComponent.js.map
|
package/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateScenarioServerComponent.js","sourceRoot":"","sources":["../../../../../../../packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,2BAA2B,MAAM,gCAAgC,CAAC;AACzE,OAAO,0BAA0B,MAAM,+BAA+B,CAAC;AAEvE,MAAM,OAAO,GAAG,OAAO,CAAC;AAExB;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,+BAA+B,CAAC,EACtD,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,WAAW,EACX,OAAO,EACP,QAAQ,EACR,gBAAgB,GASjB;IACC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,gBAAgB,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAErD,OAAO;gDACuC,MAAM,CAAC,IAAI;;yCAElB,gBAAgB;EACvD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,8BAA8B,gBAAgB,aAAa,gBAAgB,IAAI,CAAC,CAAC,CAAC,EAAE;EACrH,2BAA2B,CAAC;QAC5B,IAAI;QACJ,MAAM;QACN,QAAQ;QACR,WAAW;QACX,OAAO;QACP,QAAQ;QACR,OAAO,EAAE,IAAI;QACb,WAAW,EACT,MAAM,CAAC,IAAI,KAAK,SAAS;YACzB,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,IAAI,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC;YAC9D,MAAM,CAAC,UAAU,KAAK,SAAS;KAClC,CAAC;;;;;;;;;;;sBAWoB,QAAQ,CAAC,IAAI;kBACjB,QAAQ;iBACT,OAAO;;QAEhB,0BAA0B,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;;;EAG5D,CAAC;AACH,CAAC"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
export default function getIFrameMessageListenerCode({ scenarioName, }) {
|
|
2
|
+
// Escape backslashes first, then single quotes to produce valid JS string literals
|
|
3
|
+
const escapedScenarioName = scenarioName
|
|
4
|
+
.replace(/\\/g, '\\\\')
|
|
5
|
+
.replace(/'/g, "\\'");
|
|
2
6
|
return `const [version, setVersion] = useState(1);
|
|
3
7
|
|
|
4
8
|
function _getScenarioProps({ argumentIndex, propName }: { argumentIndex: number, propName?: string }) {
|
|
@@ -10,7 +14,7 @@ export default function getIFrameMessageListenerCode({ scenarioName, }) {
|
|
|
10
14
|
try {
|
|
11
15
|
window.parent.postMessage({
|
|
12
16
|
type: 'codeyam-update',
|
|
13
|
-
name: '${
|
|
17
|
+
name: '${escapedScenarioName}',
|
|
14
18
|
message,
|
|
15
19
|
}, '*');
|
|
16
20
|
} catch (e) {
|
|
@@ -24,7 +28,7 @@ export default function getIFrameMessageListenerCode({ scenarioName, }) {
|
|
|
24
28
|
const parsedData = JSON.parse(event.data.data);
|
|
25
29
|
console.log("Override data received");
|
|
26
30
|
respond("Set override data to " + JSON.stringify(parsedData, null, 2));
|
|
27
|
-
scenarios().updateData('${
|
|
31
|
+
scenarios().updateData('${escapedScenarioName}', parsedData);
|
|
28
32
|
setVersion(prev => prev + 1);
|
|
29
33
|
}
|
|
30
34
|
}
|
|
@@ -40,7 +44,7 @@ export default function getIFrameMessageListenerCode({ scenarioName, }) {
|
|
|
40
44
|
try {
|
|
41
45
|
window.parent.postMessage({
|
|
42
46
|
type: 'codeyam-log',
|
|
43
|
-
name: '${
|
|
47
|
+
name: '${escapedScenarioName}',
|
|
44
48
|
data: {
|
|
45
49
|
log: {
|
|
46
50
|
name: "console.log",
|
|
@@ -58,7 +62,7 @@ export default function getIFrameMessageListenerCode({ scenarioName, }) {
|
|
|
58
62
|
oldConsoleError(...args);
|
|
59
63
|
window.parent.postMessage({
|
|
60
64
|
type: 'codeyam-log',
|
|
61
|
-
name: '${
|
|
65
|
+
name: '${escapedScenarioName}',
|
|
62
66
|
data: {
|
|
63
67
|
log: {
|
|
64
68
|
name: "console.log",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getIFrameMessageListenerCode.js","sourceRoot":"","sources":["../../../../../../../packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,4BAA4B,CAAC,EACnD,YAAY,GAGb;IACC,OAAO;;;;;;;;;;;iBAWQ,
|
|
1
|
+
{"version":3,"file":"getIFrameMessageListenerCode.js","sourceRoot":"","sources":["../../../../../../../packages/generate/src/lib/componentScenarioPage/getIFrameMessageListenerCode.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,4BAA4B,CAAC,EACnD,YAAY,GAGb;IACC,mFAAmF;IACnF,MAAM,mBAAmB,GAAG,YAAY;SACrC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAExB,OAAO;;;;;;;;;;;iBAWQ,mBAAmB;;;;;;;;;;;;;;kCAcF,mBAAmB;;;;;;;;;;;;;;;;mBAgBlC,mBAAmB;;;;;;;;;;;;;;;;;;iBAkBrB,mBAAmB;;;;;;;;;;;;;;;CAenC,CAAC;AACF,CAAC"}
|
|
@@ -10,6 +10,27 @@ export default function deepMerge(defaultData, changes, seen = new WeakSet()) {
|
|
|
10
10
|
}
|
|
11
11
|
seen.add(changes);
|
|
12
12
|
}
|
|
13
|
+
// Handle arrays at the top level - this is critical for nested arrays (tuples)
|
|
14
|
+
// like [["path", { data }]] which should NOT be converted to objects
|
|
15
|
+
if (Array.isArray(changes)) {
|
|
16
|
+
const defaultArray = Array.isArray(defaultData) ? defaultData : [];
|
|
17
|
+
const result = [];
|
|
18
|
+
for (let i = 0; i < changes.length; i++) {
|
|
19
|
+
const item = changes[i];
|
|
20
|
+
if (item && typeof item === 'object' && !Array.isArray(item)) {
|
|
21
|
+
// Merge object items with corresponding default array item
|
|
22
|
+
result[i] = deepMerge(defaultArray[i], item, seen);
|
|
23
|
+
}
|
|
24
|
+
else if (Array.isArray(item)) {
|
|
25
|
+
// Recursively handle nested arrays (tuples)
|
|
26
|
+
result[i] = deepMerge(defaultArray[i], item, seen);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
result[i] = item;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return result;
|
|
33
|
+
}
|
|
13
34
|
const merge = { ...defaultData };
|
|
14
35
|
for (const key in changes) {
|
|
15
36
|
if (changes[key] === null) {
|
|
@@ -18,11 +39,16 @@ export default function deepMerge(defaultData, changes, seen = new WeakSet()) {
|
|
|
18
39
|
merge[key] = null;
|
|
19
40
|
}
|
|
20
41
|
else if (Array.isArray(changes[key])) {
|
|
42
|
+
// Get the original default array BEFORE we replace it
|
|
43
|
+
const defaultArray = Array.isArray(defaultData[key])
|
|
44
|
+
? defaultData[key]
|
|
45
|
+
: [];
|
|
21
46
|
merge[key] = [];
|
|
22
47
|
for (let i = 0; i < changes[key].length; i++) {
|
|
23
48
|
const item = changes[key][i];
|
|
24
49
|
if (typeof item === 'object' && item !== null) {
|
|
25
|
-
|
|
50
|
+
// Merge with corresponding item from default array by index position
|
|
51
|
+
merge[key][i] = deepMerge(defaultArray[i], item, seen);
|
|
26
52
|
}
|
|
27
53
|
else {
|
|
28
54
|
merge[key][i] = item;
|