@codeyam/codeyam-cli 0.1.0-staging.596f0eb → 0.1.0-staging.6e699e5
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 +8 -8
- package/analyzer-template/common/execAsync.ts +1 -1
- package/analyzer-template/log.txt +3 -3
- package/analyzer-template/package.json +10 -6
- package/analyzer-template/packages/ai/index.ts +10 -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 +128 -6
- package/analyzer-template/packages/ai/src/lib/astScopes/arrayDerivationDetector.ts +199 -0
- package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +138 -1
- package/analyzer-template/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.ts +644 -0
- package/analyzer-template/packages/ai/src/lib/astScopes/methodSemantics.ts +140 -6
- 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 +181 -1
- package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +1239 -104
- package/analyzer-template/packages/ai/src/lib/astScopes/types.ts +304 -0
- package/analyzer-template/packages/ai/src/lib/checkAllAttributes.ts +29 -10
- package/analyzer-template/packages/ai/src/lib/completionCall.ts +216 -36
- package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +1501 -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 +976 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.ts +243 -77
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.ts +19 -1
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts +103 -6
- 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/dataStructure/helpers/fixNullIdsBySchema.ts +129 -0
- package/analyzer-template/packages/ai/src/lib/dataStructureChunking.ts +156 -0
- package/analyzer-template/packages/ai/src/lib/deepEqual.ts +30 -0
- package/analyzer-template/packages/ai/src/lib/e2eDataTracking.ts +334 -0
- package/analyzer-template/packages/ai/src/lib/extractCriticalDataKeys.ts +120 -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 +1111 -91
- package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +207 -104
- package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +570 -0
- package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.ts +528 -0
- package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionals.ts +1977 -0
- package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.ts +239 -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/generateChunkPrompt.ts +82 -0
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateCriticalKeysPrompt.ts +103 -0
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.ts +90 -6
- 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/promptGenerators/simplifyKeysForLLM.ts +391 -0
- package/analyzer-template/packages/ai/src/lib/resolvePathToControllable.ts +812 -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 +123 -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/analysisContext.ts +44 -4
- 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 +455 -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/analyze/validateDependencyAnalyses.ts +33 -7
- 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 +265 -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 +336 -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 +461 -94
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.ts +56 -11
- 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 +3 -3
- 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 +87 -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 +196 -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/dist/utils/src/lib/lightweightEntityExtractor.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.js +25 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts +9 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js +29 -3
- package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js.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 +5 -0
- package/analyzer-template/packages/types/src/types/Analysis.ts +104 -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 +224 -0
- package/analyzer-template/packages/types/src/types/StatementInfo.ts +2 -0
- package/analyzer-template/packages/ui-components/src/components/ScenarioDetailInteractiveView.tsx +23 -7
- 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 +87 -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 +196 -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/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.js +25 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts +9 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js +29 -3
- package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js.map +1 -1
- package/analyzer-template/packages/utils/src/lib/lightweightEntityExtractor.ts +27 -0
- package/analyzer-template/packages/utils/src/lib/safeFileName.ts +48 -3
- 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/takeScreenshot.ts +9 -7
- 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 +1181 -160
- 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 +82 -36
- package/analyzer-template/project/orchestrateCapture.ts +36 -3
- package/analyzer-template/project/reconcileMockDataKeys.ts +245 -2
- package/analyzer-template/project/runAnalysis.ts +11 -0
- package/analyzer-template/project/runMultiScenarioServer.ts +11 -10
- package/analyzer-template/project/serverOnlyModules.ts +194 -21
- package/analyzer-template/project/start.ts +26 -4
- package/analyzer-template/project/startScenarioCapture.ts +79 -41
- package/analyzer-template/project/writeMockDataTsx.ts +232 -57
- package/analyzer-template/project/writeScenarioClientWrapper.ts +21 -0
- package/analyzer-template/project/writeScenarioComponents.ts +769 -181
- 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 +1053 -124
- 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 +69 -32
- package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js.map +1 -1
- package/background/src/lib/virtualized/project/orchestrateCapture.js +27 -4
- package/background/src/lib/virtualized/project/orchestrateCapture.js.map +1 -1
- package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +204 -2
- package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
- package/background/src/lib/virtualized/project/runAnalysis.js +9 -0
- package/background/src/lib/virtualized/project/runAnalysis.js.map +1 -1
- package/background/src/lib/virtualized/project/runMultiScenarioServer.js +11 -9
- package/background/src/lib/virtualized/project/runMultiScenarioServer.js.map +1 -1
- package/background/src/lib/virtualized/project/serverOnlyModules.js +163 -23
- 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 +61 -31
- package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
- package/background/src/lib/virtualized/project/writeMockDataTsx.js +199 -50
- 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 +552 -125
- 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 +7 -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 +40 -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 +226 -0
- package/codeyam-cli/src/commands/recapture.js.map +1 -0
- 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 +31 -27
- package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
- 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 +14 -4
- 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 +31 -17
- 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 +245 -16
- package/codeyam-cli/src/utils/queue/job.js.map +1 -1
- package/codeyam-cli/src/utils/queue/manager.js +25 -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 +7 -5
- package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
- 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 +98 -1
- 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 +5 -10
- package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
- package/codeyam-cli/src/webserver/bootstrap.js +49 -0
- package/codeyam-cli/src/webserver/bootstrap.js.map +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/EntityItem-BXhEawa3.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeBadge-efWKDYMr.js → EntityTypeBadge-DLqD3qNt.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-Ba2JVPzP.js +41 -0
- package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-C8lyxW9k.js +34 -0
- package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-aht4aafF.js +25 -0
- package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-CVtiBnY5.js +3 -0
- package/codeyam-cli/src/webserver/build/client/assets/LoadingDots-B0GLXMsr.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/LogViewer-xgeCVgSM.js +3 -0
- package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-D4TZhLuw.js +21 -0
- package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-DuDvi0jm.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-DEx02QDa.js +10 -0
- package/codeyam-cli/src/webserver/build/client/assets/{TruncatedFilePath-COPstp9J.js → TruncatedFilePath-DyFZkK0l.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/_index-BwqWJOgH.js +11 -0
- package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-DoLIqZX2.js +37 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.health-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.restart-server-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.rules-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/chevron-down-Cx24_aWc.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/chunk-EPOLDU6W-CXRTFQ3F.js +51 -0
- package/codeyam-cli/src/webserver/build/client/assets/circle-check-BOARzkeR.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-BdhJEx6B.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-BRb-0kQl.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha._-C2N4Op8e.js +23 -0
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-DavjRmOY.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-D1T4TGjf.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-CTBG2mmz.js +5 -0
- package/codeyam-cli/src/webserver/build/client/assets/entry.client-CS2cb_eZ.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-DMJ7zii9.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/files-Cs4MdYtv.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/git-B4RJRvYB.js +15 -0
- package/codeyam-cli/src/webserver/build/client/assets/git-commit-horizontal-CysbcZxi.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/globals-DMUaGAqV.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-B1h680n5.js +9 -0
- package/codeyam-cli/src/webserver/build/client/assets/index-lzqtyFU8.js +3 -0
- package/codeyam-cli/src/webserver/build/client/assets/loader-circle-B7B9V-bu.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/manifest-f874c610.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-Bz5TunQg.js +57 -0
- package/codeyam-cli/src/webserver/build/client/assets/rules-hEkvVw2-.js +97 -0
- package/codeyam-cli/src/webserver/build/client/assets/scenarioStatus-B_8jpV3e.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/search-CxXUmBSd.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/settings-CS5f3WzT.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/simulations-DwFIBT09.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/triangle-alert-B6LgvRJg.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-C1v1PQzo.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{useLastLogLine-3pmpUQB-.js → useLastLogLine-aSv48UbS.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/useReportContext-DYxHZQuP.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{useToast-DEyawJ8r.js → useToast-mBRpZPiu.js} +1 -1
- package/codeyam-cli/src/webserver/build/server/assets/index-967OuJoF.js +1 -0
- package/codeyam-cli/src/webserver/build/server/assets/server-build-DRTmerg9.js +257 -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-power-rules-hook.sh +200 -0
- package/codeyam-cli/templates/{codeyam-debug-skill.md → codeyam:debug.md} +48 -4
- package/codeyam-cli/templates/codeyam:diagnose.md +650 -0
- package/codeyam-cli/templates/codeyam:new-rule.md +13 -0
- package/codeyam-cli/templates/codeyam:power-rules.md +447 -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 +17 -16
- package/packages/ai/index.js +5 -4
- package/packages/ai/index.js.map +1 -1
- package/packages/ai/src/lib/analyzeScope.js +99 -0
- package/packages/ai/src/lib/analyzeScope.js.map +1 -1
- package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js +150 -0
- package/packages/ai/src/lib/astScopes/arrayDerivationDetector.js.map +1 -0
- package/packages/ai/src/lib/astScopes/astScopeAnalyzer.js +100 -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 +97 -6
- 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 +138 -1
- package/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.js.map +1 -1
- package/packages/ai/src/lib/astScopes/processExpression.js +945 -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 +178 -31
- package/packages/ai/src/lib/completionCall.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +1198 -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 +661 -0
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js +180 -56
- 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 +86 -4
- 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/dataStructure/helpers/fixNullIdsBySchema.js +107 -0
- package/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.js.map +1 -0
- package/packages/ai/src/lib/dataStructureChunking.js +111 -0
- package/packages/ai/src/lib/dataStructureChunking.js.map +1 -0
- package/packages/ai/src/lib/deepEqual.js +32 -0
- package/packages/ai/src/lib/deepEqual.js.map +1 -0
- package/packages/ai/src/lib/e2eDataTracking.js +241 -0
- package/packages/ai/src/lib/e2eDataTracking.js.map +1 -0
- package/packages/ai/src/lib/extractCriticalDataKeys.js +96 -0
- package/packages/ai/src/lib/extractCriticalDataKeys.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 +904 -84
- package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
- package/packages/ai/src/lib/generateEntityScenarios.js +186 -82
- package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
- package/packages/ai/src/lib/generateExecutionFlows.js +392 -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 +1440 -0
- package/packages/ai/src/lib/generateExecutionFlowsFromConditionals.js.map +1 -0
- package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.js +194 -0
- package/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.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/generateChunkPrompt.js +54 -0
- package/packages/ai/src/lib/promptGenerators/generateChunkPrompt.js.map +1 -0
- package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js +68 -6
- 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/promptGenerators/simplifyKeysForLLM.js +335 -0
- package/packages/ai/src/lib/promptGenerators/simplifyKeysForLLM.js.map +1 -0
- package/packages/ai/src/lib/resolvePathToControllable.js +667 -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 +29 -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/analysisContext.js +30 -5
- package/packages/analyze/src/lib/analysisContext.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 +218 -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/analyze/validateDependencyAnalyses.js +31 -7
- package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.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 +209 -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 +264 -78
- 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 +372 -89
- package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js +46 -9
- package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.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/packages/utils/src/lib/lightweightEntityExtractor.js +25 -0
- package/packages/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
- package/packages/utils/src/lib/safeFileName.js +29 -3
- package/packages/utils/src/lib/safeFileName.js.map +1 -1
- package/scripts/finalize-analyzer.cjs +6 -4
- 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-CVbSvOjo.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-DcwcHyl5.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-WgwC1GfJ.js +0 -26
- package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-IEKom9O2.js +0 -3
- package/codeyam-cli/src/webserver/build/client/assets/LogViewer-BYnfxbUG.js +0 -3
- package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-_lBPJCzG.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-lHVhvsu_.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-d_TBk4GQ.js +0 -5
- package/codeyam-cli/src/webserver/build/client/assets/_index-kGT7VUqj.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-DDGmhu7P.js +0 -7
- package/codeyam-cli/src/webserver/build/client/assets/chevron-down-n_HPRfM_.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/chunk-WWGJGFF6-CbVoyx1U.js +0 -26
- package/codeyam-cli/src/webserver/build/client/assets/circle-check-D1VOYveA.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-YR8jjAlu.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/dev.empty-B8vP3V_s.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha._-CN6aLCT1.js +0 -16
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-DA5Jeu2P.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-BTeitalf.js +0 -5
- package/codeyam-cli/src/webserver/build/client/assets/entry.client-du6UEYD-.js +0 -13
- package/codeyam-cli/src/webserver/build/client/assets/fileTableUtils-BpjkhMoi.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/files-BQGvk4lJ.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/git-DVdYRT-I.js +0 -12
- package/codeyam-cli/src/webserver/build/client/assets/globals-CO-U8Bpo.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-DCG-vks0.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/loader-circle-GazdNeLl.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/manifest-0b694d28.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/root-D3tQP7hx.js +0 -16
- package/codeyam-cli/src/webserver/build/client/assets/search-CIY6XmtE.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/server-build-CMKNK2uU.css +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/settings-CoMDgElu.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/simulations-agkniXp2.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/triangle-alert-B2VUcygF.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/useReportContext-EvdK-zXP.js +0 -1
- package/codeyam-cli/src/webserver/build/server/assets/index-DGVHQEXD.js +0 -1
- package/codeyam-cli/src/webserver/build/server/assets/server-build-CghkTkIL.js +0 -166
- package/codeyam-cli/templates/debug-command.md +0 -303
- 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/codeyam-cli/src/webserver/build/client/assets/{InteractivePreview-CMKNK2uU.css → styles-CMKNK2uU.css} +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
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
import * as readline from 'readline';
|
|
4
|
+
import { error, header, info, ProgressReporter, success, warn, withoutSpinner, } from "../utils/progress.js";
|
|
5
|
+
import { testEnvironment, requireBranchAndProject, createBaselineCommit, } from "../utils/database.js";
|
|
6
|
+
import { getWipeStats, wipeProject, formatWipeStats, hasExistingAnalyses, } from "../utils/wipe.js";
|
|
7
|
+
import { checkGitClean, getHeadSha, isGitRepo } from "../utils/git.js";
|
|
8
|
+
import { getProjectRoot } from "../state.js";
|
|
9
|
+
import { startBackgroundServer } from "../utils/backgroundServer.js";
|
|
10
|
+
/**
|
|
11
|
+
* Prompt user for confirmation.
|
|
12
|
+
*/
|
|
13
|
+
async function confirm(message) {
|
|
14
|
+
const rl = readline.createInterface({
|
|
15
|
+
input: process.stdin,
|
|
16
|
+
output: process.stdout,
|
|
17
|
+
});
|
|
18
|
+
return new Promise((resolve) => {
|
|
19
|
+
rl.question(`${message} [y/N] `, (answer) => {
|
|
20
|
+
rl.close();
|
|
21
|
+
resolve(answer.toLowerCase() === 'y' || answer.toLowerCase() === 'yes');
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
const baselineCommand = {
|
|
26
|
+
command: 'baseline',
|
|
27
|
+
describe: 'Run a complete baseline analysis of all entities in the repository',
|
|
28
|
+
builder: {
|
|
29
|
+
yes: {
|
|
30
|
+
type: 'boolean',
|
|
31
|
+
alias: 'y',
|
|
32
|
+
describe: 'Skip confirmation prompts',
|
|
33
|
+
default: false,
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
handler: async (argv) => {
|
|
37
|
+
header('CodeYam Baseline');
|
|
38
|
+
const progress = new ProgressReporter();
|
|
39
|
+
// Find project root directory
|
|
40
|
+
const projectRoot = getProjectRoot();
|
|
41
|
+
if (!projectRoot) {
|
|
42
|
+
error('Not in a CodeYam project. Run: codeyam init');
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const configPath = path.join(projectRoot, '.codeyam', 'config.json');
|
|
46
|
+
try {
|
|
47
|
+
// Check if we're in a git repo
|
|
48
|
+
if (!isGitRepo(projectRoot)) {
|
|
49
|
+
error('Not in a git repository. Baseline requires a git repository.');
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
// Check git status - require clean working directory
|
|
53
|
+
progress.start('Checking git status...');
|
|
54
|
+
const gitStatus = checkGitClean(projectRoot);
|
|
55
|
+
if (!gitStatus.clean) {
|
|
56
|
+
progress.fail('Uncommitted changes detected');
|
|
57
|
+
console.log();
|
|
58
|
+
error('Baseline requires a clean git state.');
|
|
59
|
+
console.log();
|
|
60
|
+
info('Uncommitted files:');
|
|
61
|
+
for (const file of gitStatus.files.slice(0, 10)) {
|
|
62
|
+
info(` ${file}`);
|
|
63
|
+
}
|
|
64
|
+
if (gitStatus.files.length > 10) {
|
|
65
|
+
info(` ... and ${gitStatus.files.length - 10} more`);
|
|
66
|
+
}
|
|
67
|
+
console.log();
|
|
68
|
+
info('Options:');
|
|
69
|
+
info(' • Commit your changes: git commit -am "WIP"');
|
|
70
|
+
info(' • Stash your changes: git stash');
|
|
71
|
+
info(' • Or run regular analysis: codeyam analyze <files>');
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
progress.succeed('Git working directory is clean');
|
|
75
|
+
// Get the real HEAD SHA
|
|
76
|
+
const headSha = getHeadSha(projectRoot);
|
|
77
|
+
info(`HEAD commit: ${headSha.substring(0, 8)}`);
|
|
78
|
+
// Load project configuration
|
|
79
|
+
progress.start('Loading project configuration...');
|
|
80
|
+
const config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
|
|
81
|
+
const { projectSlug } = config;
|
|
82
|
+
if (!projectSlug) {
|
|
83
|
+
progress.fail('Invalid project configuration');
|
|
84
|
+
error('Missing project slug. Try reinitializing with: codeyam init --force');
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
progress.succeed('Loaded project configuration');
|
|
88
|
+
// Test database connection
|
|
89
|
+
progress.start('Validating environment...');
|
|
90
|
+
const connectionOk = await withoutSpinner(() => testEnvironment());
|
|
91
|
+
if (!connectionOk) {
|
|
92
|
+
progress.fail('Environment validation failed');
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
progress.succeed('Environment validated');
|
|
96
|
+
// Load project and branch
|
|
97
|
+
progress.start('Loading project...');
|
|
98
|
+
const { project, branch } = await requireBranchAndProject(projectSlug);
|
|
99
|
+
progress.succeed('Project loaded');
|
|
100
|
+
// Check for existing analyses
|
|
101
|
+
progress.start('Checking for existing analyses...');
|
|
102
|
+
const hasAnalyses = await hasExistingAnalyses(project.id);
|
|
103
|
+
progress.succeed('Analysis check complete');
|
|
104
|
+
if (hasAnalyses) {
|
|
105
|
+
const stats = await getWipeStats(project.id);
|
|
106
|
+
console.log();
|
|
107
|
+
warn('⚠️ Existing analyses found:');
|
|
108
|
+
console.log(formatWipeStats(stats));
|
|
109
|
+
console.log();
|
|
110
|
+
info('Running baseline will wipe all existing data and start fresh.');
|
|
111
|
+
console.log();
|
|
112
|
+
if (!argv.yes) {
|
|
113
|
+
const confirmed = await confirm('Continue?');
|
|
114
|
+
if (!confirmed) {
|
|
115
|
+
info('Baseline cancelled');
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
console.log();
|
|
120
|
+
// Execute wipe
|
|
121
|
+
progress.start('Wiping existing data...');
|
|
122
|
+
await wipeProject(project.id);
|
|
123
|
+
progress.succeed('Existing data wiped');
|
|
124
|
+
}
|
|
125
|
+
// Create baseline commit using real git SHA
|
|
126
|
+
progress.start('Creating baseline commit...');
|
|
127
|
+
const baselineCommit = await createBaselineCommit(project, branch, headSha);
|
|
128
|
+
progress.succeed(`Baseline commit created: ${headSha.substring(0, 8)}`);
|
|
129
|
+
// Start background server if not running (also handles version mismatch detection)
|
|
130
|
+
const { wasAlreadyRunning } = await startBackgroundServer({
|
|
131
|
+
port: 3111,
|
|
132
|
+
rootPath: projectRoot,
|
|
133
|
+
project,
|
|
134
|
+
branch,
|
|
135
|
+
});
|
|
136
|
+
if (!wasAlreadyRunning) {
|
|
137
|
+
progress.succeed('Background server started');
|
|
138
|
+
}
|
|
139
|
+
// Enqueue baseline job via HTTP
|
|
140
|
+
progress.start('Enqueuing baseline job...');
|
|
141
|
+
const response = await fetch('http://localhost:3111/api/queue', {
|
|
142
|
+
method: 'POST',
|
|
143
|
+
headers: { 'Content-Type': 'application/json' },
|
|
144
|
+
body: JSON.stringify({
|
|
145
|
+
action: 'enqueue',
|
|
146
|
+
type: 'baseline',
|
|
147
|
+
projectSlug,
|
|
148
|
+
commitSha: headSha,
|
|
149
|
+
}),
|
|
150
|
+
});
|
|
151
|
+
if (!response.ok) {
|
|
152
|
+
const text = await response.text();
|
|
153
|
+
throw new Error(`Failed to enqueue baseline job: ${text}`);
|
|
154
|
+
}
|
|
155
|
+
const result = await response.json();
|
|
156
|
+
progress.succeed('Baseline job enqueued');
|
|
157
|
+
console.log();
|
|
158
|
+
success('Baseline analysis started!');
|
|
159
|
+
console.log();
|
|
160
|
+
info('This may take a while depending on repository size.');
|
|
161
|
+
info('Monitor progress at: http://localhost:3111');
|
|
162
|
+
console.log();
|
|
163
|
+
info(`Job ID: ${result.jobId}`);
|
|
164
|
+
info('Run "codeyam status" to check progress');
|
|
165
|
+
}
|
|
166
|
+
catch (err) {
|
|
167
|
+
progress.fail('Baseline failed');
|
|
168
|
+
error(err.message);
|
|
169
|
+
process.exit(1);
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
};
|
|
173
|
+
export default baselineCommand;
|
|
174
|
+
//# sourceMappingURL=baseline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseline.js","sourceRoot":"","sources":["../../../../src/commands/baseline.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,8 @@ import { error, header, info, success } from "../utils/progress.js";
|
|
|
4
4
|
import { getProjectRoot } from "../state.js";
|
|
5
5
|
import { initializeEnvironment, requireBranchAndProject, } from "../utils/database.js";
|
|
6
6
|
import { getDatabase, loadAnalysis, updateFreshAnalysisStatus, } from "../../../packages/database/index.js";
|
|
7
|
-
import { getWebappInfo } from "../../../packages/utils/index.js";
|
|
8
|
-
import
|
|
7
|
+
import { getWebappInfo, safeFileName, isFrameworkRoute, frameworkRouteFileNameToRoute, } from "../../../packages/utils/index.js";
|
|
8
|
+
import getFrameworkForFile from "../../../packages/utils/src/lib/getFrameworkForFile.js";
|
|
9
9
|
import { startBackgroundServer } from "../utils/backgroundServer.js";
|
|
10
10
|
import { ensureFreshAnalyzer, resetProject } from "../utils/analyzer.js";
|
|
11
11
|
import { getLogPath, getProjectPath } from "../utils/sandbox.js";
|
|
@@ -68,6 +68,7 @@ const debugCommand = {
|
|
|
68
68
|
id: analysisId,
|
|
69
69
|
includeScenarios: true,
|
|
70
70
|
includeCommitAndBranch: true,
|
|
71
|
+
includeFile: true,
|
|
71
72
|
});
|
|
72
73
|
if (!analysis) {
|
|
73
74
|
error(`Analysis ${analysisId} not found`);
|
|
@@ -103,7 +104,7 @@ const debugCommand = {
|
|
|
103
104
|
catch {
|
|
104
105
|
// Log file might not exist yet, that's fine
|
|
105
106
|
}
|
|
106
|
-
const { project } = await requireBranchAndProject(projectSlug);
|
|
107
|
+
const { project, branch } = await requireBranchAndProject(projectSlug);
|
|
107
108
|
const packageManager = project.metadata?.packageManager || 'npm';
|
|
108
109
|
const port = 3112;
|
|
109
110
|
const projectPath = getProjectPath(projectSlug);
|
|
@@ -126,23 +127,17 @@ const debugCommand = {
|
|
|
126
127
|
}
|
|
127
128
|
}
|
|
128
129
|
});
|
|
129
|
-
// Ensure web server is running
|
|
130
|
-
const {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
130
|
+
// Ensure web server is running (also handles version mismatch detection)
|
|
131
|
+
const { url: serverUrl, wasAlreadyRunning } = await startBackgroundServer({
|
|
132
|
+
port: 3111,
|
|
133
|
+
rootPath: projectRoot,
|
|
134
|
+
project,
|
|
135
|
+
branch,
|
|
136
|
+
});
|
|
137
|
+
if (wasAlreadyRunning) {
|
|
134
138
|
info(`Using web server at ${serverUrl}`);
|
|
135
139
|
}
|
|
136
140
|
else {
|
|
137
|
-
info('Starting web server...');
|
|
138
|
-
const { project: dbProject, branch } = await requireBranchAndProject(projectSlug);
|
|
139
|
-
const { url } = await startBackgroundServer({
|
|
140
|
-
port: 3111,
|
|
141
|
-
rootPath: projectRoot,
|
|
142
|
-
project: dbProject,
|
|
143
|
-
branch,
|
|
144
|
-
});
|
|
145
|
-
serverUrl = url;
|
|
146
141
|
info(`Web server started at ${serverUrl}`);
|
|
147
142
|
}
|
|
148
143
|
info('Queueing debug setup job...');
|
|
@@ -212,7 +207,34 @@ const debugCommand = {
|
|
|
212
207
|
});
|
|
213
208
|
info(` cd ${projectPath} && ${webappInfo.startCommand}`);
|
|
214
209
|
info('');
|
|
215
|
-
info(`4. View in browser
|
|
210
|
+
info(`4. View in browser:`);
|
|
211
|
+
info(` Sample page: http://localhost:${port}/static/codeyam-sample`);
|
|
212
|
+
info('');
|
|
213
|
+
// Output actual scenario URLs
|
|
214
|
+
const entitySlug = safeFileName(analysis.entityName);
|
|
215
|
+
if (analysis.scenarios && analysis.scenarios.length > 0) {
|
|
216
|
+
info(' Scenario URLs:');
|
|
217
|
+
// Determine if this is a framework route to generate correct URLs
|
|
218
|
+
const framework = getFrameworkForFile(analysis.filePath, webapps);
|
|
219
|
+
const isRoute = framework &&
|
|
220
|
+
analysis.file &&
|
|
221
|
+
analysis.entity &&
|
|
222
|
+
isFrameworkRoute(analysis.file, analysis.entity, framework);
|
|
223
|
+
for (const scenario of analysis.scenarios) {
|
|
224
|
+
const scenarioSlug = safeFileName(scenario.name);
|
|
225
|
+
let scenarioPath;
|
|
226
|
+
if (isRoute && analysis.file && framework) {
|
|
227
|
+
// For framework routes, use the full route path generation
|
|
228
|
+
scenarioPath = frameworkRouteFileNameToRoute(projectSlug, analysis.file, analysis, framework, scenario.name);
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
// For regular components, use the simple path
|
|
232
|
+
scenarioPath = `static/${projectSlug}/${analysisId}/${entitySlug}/${scenarioSlug}/default`;
|
|
233
|
+
}
|
|
234
|
+
const scenarioUrl = `http://localhost:${port}/${scenarioPath}`;
|
|
235
|
+
info(` - ${scenario.name}: ${scenarioUrl}`);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
216
238
|
info('');
|
|
217
239
|
info('5. Check logs for errors:');
|
|
218
240
|
info(` tail -f ${logPath}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../../src/commands/debug.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EACL,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,WAAW,EACX,YAAY,EACZ,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,
|
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../../src/commands/debug.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,6 @@ import * as path from 'path';
|
|
|
3
3
|
import { error, withoutSpinner } from "../utils/progress.js";
|
|
4
4
|
import { requireBranchAndProject, testEnvironment } from "../utils/database.js";
|
|
5
5
|
import { startBackgroundServer } from "../utils/backgroundServer.js";
|
|
6
|
-
import { isServerRunning } from "../utils/serverState.js";
|
|
7
6
|
import { getProjectRoot } from "../state.js";
|
|
8
7
|
function logStartMessage(state) {
|
|
9
8
|
console.log();
|
|
@@ -36,20 +35,6 @@ const defaultCommand = {
|
|
|
36
35
|
error('Not in a CodeYam project. Run: codeyam init');
|
|
37
36
|
return;
|
|
38
37
|
}
|
|
39
|
-
// Check if server is already running
|
|
40
|
-
const { running, state } = isServerRunning();
|
|
41
|
-
if (running && state) {
|
|
42
|
-
logStartMessage(state);
|
|
43
|
-
// Auto-open browser
|
|
44
|
-
try {
|
|
45
|
-
const { execSync } = await import('child_process');
|
|
46
|
-
execSync(`open "${state.url}"`, { stdio: 'ignore' });
|
|
47
|
-
}
|
|
48
|
-
catch (e) {
|
|
49
|
-
// Silently fail if open command doesn't work
|
|
50
|
-
}
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
38
|
const configPath = path.join(projectRoot, '.codeyam', 'config.json');
|
|
54
39
|
try {
|
|
55
40
|
// Load project configuration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.js","sourceRoot":"","sources":["../../../../src/commands/default.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"default.js","sourceRoot":"","sources":["../../../../src/commands/default.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
import * as path from 'path';
|
|
2
|
+
import * as fs from 'fs';
|
|
3
|
+
import { error, header, info, success } from "../utils/progress.js";
|
|
4
|
+
import { getProjectRoot } from "../state.js";
|
|
5
|
+
import { initializeEnvironment, requireBranchAndProject, } from "../utils/database.js";
|
|
6
|
+
import { getDatabase, loadAnalysis } from "../../../packages/database/index.js";
|
|
7
|
+
import { safeFileName, isFrameworkRoute, frameworkRouteFileNameToRoute, } from "../../../packages/utils/index.js";
|
|
8
|
+
import getFrameworkForFile from "../../../packages/utils/src/lib/getFrameworkForFile.js";
|
|
9
|
+
import { startBackgroundServer } from "../utils/backgroundServer.js";
|
|
10
|
+
import { ensureFreshAnalyzer, resetProject } from "../utils/analyzer.js";
|
|
11
|
+
import { getLogPath } from "../utils/sandbox.js";
|
|
12
|
+
const recaptureCommand = {
|
|
13
|
+
command: 'recapture <id>',
|
|
14
|
+
describe: 'Re-run capture for a specific analysis or scenario (auto-detects ID type)',
|
|
15
|
+
builder: {
|
|
16
|
+
id: {
|
|
17
|
+
type: 'string',
|
|
18
|
+
describe: 'The analysis ID or scenario ID to recapture',
|
|
19
|
+
demandOption: true,
|
|
20
|
+
},
|
|
21
|
+
width: {
|
|
22
|
+
type: 'number',
|
|
23
|
+
describe: 'Override the default viewport width for screenshots',
|
|
24
|
+
},
|
|
25
|
+
'capture-only': {
|
|
26
|
+
type: 'boolean',
|
|
27
|
+
describe: 'Skip file regeneration, only capture screenshots (use after manual fixes in tmp folder)',
|
|
28
|
+
default: false,
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
handler: async (argv) => {
|
|
32
|
+
header('CodeYam Recapture');
|
|
33
|
+
const { id, width, captureOnly } = argv;
|
|
34
|
+
let analysisId;
|
|
35
|
+
let scenarioId;
|
|
36
|
+
// Find project root directory
|
|
37
|
+
const projectRoot = getProjectRoot();
|
|
38
|
+
if (!projectRoot) {
|
|
39
|
+
error('Not in a CodeYam project. Run: codeyam init');
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
try {
|
|
43
|
+
await initializeEnvironment();
|
|
44
|
+
// Auto-detect whether the ID is a scenario or analysis
|
|
45
|
+
info(`Detecting ID type for ${id}...`);
|
|
46
|
+
const db = getDatabase();
|
|
47
|
+
// First check if it's a scenario ID
|
|
48
|
+
const scenarioRow = await db
|
|
49
|
+
.selectFrom('scenarios')
|
|
50
|
+
.select(['id', 'analysis_id', 'name'])
|
|
51
|
+
.where('id', '=', id)
|
|
52
|
+
.executeTakeFirst();
|
|
53
|
+
if (scenarioRow) {
|
|
54
|
+
// Use the scenario name for the reset logic (status.scenarios uses name, not id)
|
|
55
|
+
scenarioId = scenarioRow.name;
|
|
56
|
+
analysisId = scenarioRow.analysis_id;
|
|
57
|
+
info(`Found scenario "${scenarioId}", using analysis ${analysisId}`);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
// Check if it's an analysis ID
|
|
61
|
+
const analysisRow = await db
|
|
62
|
+
.selectFrom('analyses')
|
|
63
|
+
.select(['id'])
|
|
64
|
+
.where('id', '=', id)
|
|
65
|
+
.executeTakeFirst();
|
|
66
|
+
if (analysisRow) {
|
|
67
|
+
analysisId = id;
|
|
68
|
+
info(`Found analysis ${analysisId}`);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
error(`ID ${id} not found as either a scenario or analysis`);
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
// Load the analysis
|
|
76
|
+
info(`Loading analysis ${analysisId}...`);
|
|
77
|
+
const analysis = await loadAnalysis({
|
|
78
|
+
id: analysisId,
|
|
79
|
+
includeScenarios: true,
|
|
80
|
+
includeCommitAndBranch: true,
|
|
81
|
+
includeFile: true,
|
|
82
|
+
});
|
|
83
|
+
if (!analysis) {
|
|
84
|
+
error(`Analysis ${analysisId} not found`);
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
if (!analysis.commit) {
|
|
88
|
+
error(`Commit not found for analysis ${analysisId}`);
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
info(`Found analysis for entity: ${analysis.entityName}`);
|
|
92
|
+
info(`File: ${analysis.filePath}`);
|
|
93
|
+
// Get project configuration
|
|
94
|
+
const configPath = path.join(projectRoot, '.codeyam', 'config.json');
|
|
95
|
+
const config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
|
|
96
|
+
const { projectSlug } = config;
|
|
97
|
+
if (!projectSlug) {
|
|
98
|
+
error('Project slug not found in config');
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
// Reset project cache to ensure clean state (unless capture-only mode)
|
|
102
|
+
if (!captureOnly) {
|
|
103
|
+
info('Resetting project cache...');
|
|
104
|
+
await resetProject(projectSlug);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
info('Capture-only mode: preserving existing project files...');
|
|
108
|
+
}
|
|
109
|
+
// Ensure analyzer is up-to-date
|
|
110
|
+
info('Checking analyzer...');
|
|
111
|
+
await ensureFreshAnalyzer(projectSlug, {
|
|
112
|
+
update: (message) => info(message),
|
|
113
|
+
});
|
|
114
|
+
// Clear log file before starting recapture
|
|
115
|
+
const logPath = getLogPath(projectSlug);
|
|
116
|
+
try {
|
|
117
|
+
fs.writeFileSync(logPath, '', 'utf8');
|
|
118
|
+
}
|
|
119
|
+
catch {
|
|
120
|
+
// Log file might not exist yet, that's fine
|
|
121
|
+
}
|
|
122
|
+
const { project, branch } = await requireBranchAndProject(projectSlug);
|
|
123
|
+
// Ensure web server is running (also handles version mismatch detection)
|
|
124
|
+
const { url: serverUrl, wasAlreadyRunning } = await startBackgroundServer({
|
|
125
|
+
port: 3111,
|
|
126
|
+
rootPath: projectRoot,
|
|
127
|
+
project,
|
|
128
|
+
branch,
|
|
129
|
+
});
|
|
130
|
+
if (wasAlreadyRunning) {
|
|
131
|
+
info(`Using web server at ${serverUrl}`);
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
info(`Web server started at ${serverUrl}`);
|
|
135
|
+
}
|
|
136
|
+
info('Queueing recapture job...');
|
|
137
|
+
// Enqueue the recapture job via HTTP API
|
|
138
|
+
const enqueueResponse = await fetch(`${serverUrl}/api/queue`, {
|
|
139
|
+
method: 'POST',
|
|
140
|
+
headers: { 'Content-Type': 'application/json' },
|
|
141
|
+
body: JSON.stringify({
|
|
142
|
+
action: 'enqueue',
|
|
143
|
+
type: captureOnly ? 'capture-only' : 'recapture',
|
|
144
|
+
commitSha: analysis.commit.sha,
|
|
145
|
+
projectSlug,
|
|
146
|
+
analysisId,
|
|
147
|
+
scenarioId,
|
|
148
|
+
defaultWidth: width,
|
|
149
|
+
}),
|
|
150
|
+
});
|
|
151
|
+
if (!enqueueResponse.ok) {
|
|
152
|
+
const errData = await enqueueResponse.json();
|
|
153
|
+
error(`Failed to enqueue job: ${errData.error || enqueueResponse.statusText}`);
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
const { jobId } = await enqueueResponse.json();
|
|
157
|
+
info(`Job queued: ${jobId.substring(0, 8)}`);
|
|
158
|
+
info('');
|
|
159
|
+
info('Waiting for capture to complete...');
|
|
160
|
+
info('(This may take a few minutes)');
|
|
161
|
+
info('');
|
|
162
|
+
// Poll for job completion via HTTP API
|
|
163
|
+
const pollInterval = 2000;
|
|
164
|
+
let completed = false;
|
|
165
|
+
while (!completed) {
|
|
166
|
+
await new Promise((resolve) => setTimeout(resolve, pollInterval));
|
|
167
|
+
const statusResponse = await fetch(`${serverUrl}/api/queue?queryType=job&jobId=${encodeURIComponent(jobId)}`);
|
|
168
|
+
if (!statusResponse.ok) {
|
|
169
|
+
error(`Failed to check job status: ${statusResponse.statusText}`);
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
const statusData = await statusResponse.json();
|
|
173
|
+
if (statusData.status === 'failed') {
|
|
174
|
+
error(`Recapture failed: ${statusData.error || 'Unknown error'}`);
|
|
175
|
+
info('');
|
|
176
|
+
info('Check logs for details:');
|
|
177
|
+
info(` tail -f ${logPath}`);
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
if (statusData.status === 'completed') {
|
|
181
|
+
completed = true;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
success('Recapture completed!');
|
|
185
|
+
info('');
|
|
186
|
+
// Output scenario URLs
|
|
187
|
+
const port = 3112;
|
|
188
|
+
const entitySlug = safeFileName(analysis.entityName);
|
|
189
|
+
if (analysis.scenarios && analysis.scenarios.length > 0) {
|
|
190
|
+
info('Scenario URLs:');
|
|
191
|
+
// Determine if this is a framework route to generate correct URLs
|
|
192
|
+
const webapps = project.metadata?.webapps || [];
|
|
193
|
+
const framework = getFrameworkForFile(analysis.filePath, webapps);
|
|
194
|
+
const isRoute = framework &&
|
|
195
|
+
analysis.file &&
|
|
196
|
+
analysis.entity &&
|
|
197
|
+
isFrameworkRoute(analysis.file, analysis.entity, framework);
|
|
198
|
+
for (const scenario of analysis.scenarios) {
|
|
199
|
+
if (!scenarioId || scenario.id === scenarioId) {
|
|
200
|
+
const scenarioSlug = safeFileName(scenario.name);
|
|
201
|
+
let scenarioPath;
|
|
202
|
+
if (isRoute && analysis.file && framework) {
|
|
203
|
+
// For framework routes, use the full route path generation
|
|
204
|
+
scenarioPath = frameworkRouteFileNameToRoute(projectSlug, analysis.file, analysis, framework, scenario.name);
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
// For regular components, use the simple path
|
|
208
|
+
scenarioPath = `static/${projectSlug}/${analysisId}/${entitySlug}/${scenarioSlug}/default`;
|
|
209
|
+
}
|
|
210
|
+
const scenarioUrl = `http://localhost:${port}/${scenarioPath}`;
|
|
211
|
+
info(` - ${scenario.name}: ${scenarioUrl}`);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
info('');
|
|
216
|
+
info('View results in the CodeYam dashboard:');
|
|
217
|
+
info(` ${serverUrl}/analysis/${analysisId}`);
|
|
218
|
+
}
|
|
219
|
+
catch (err) {
|
|
220
|
+
error(`Recapture failed: ${err.message}`);
|
|
221
|
+
console.error(err);
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
};
|
|
225
|
+
export default recaptureCommand;
|
|
226
|
+
//# sourceMappingURL=recapture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recapture.js","sourceRoot":"","sources":["../../../../src/commands/recapture.ts"],"names":[],"mappings":"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"}
|