@codeyam/codeyam-cli 0.1.0-staging.8aea589 → 0.1.0-staging.8df382d
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 +2 -2
- package/analyzer-template/log.txt +3 -3
- package/analyzer-template/package.json +35 -30
- package/analyzer-template/packages/ai/index.ts +27 -7
- package/analyzer-template/packages/ai/package.json +6 -6
- package/analyzer-template/packages/ai/scripts/ai-test-matrix.mjs +424 -0
- package/analyzer-template/packages/ai/src/lib/__mocks__/completionCall.ts +122 -0
- package/analyzer-template/packages/ai/src/lib/analyzeScope.ts +274 -8
- package/analyzer-template/packages/ai/src/lib/astScopes/arrayDerivationDetector.ts +199 -0
- package/analyzer-template/packages/ai/src/lib/astScopes/astScopeAnalyzer.ts +245 -40
- package/analyzer-template/packages/ai/src/lib/astScopes/conditionalEffectsExtractor.ts +644 -0
- package/analyzer-template/packages/ai/src/lib/astScopes/methodSemantics.ts +426 -20
- package/analyzer-template/packages/ai/src/lib/astScopes/paths.ts +42 -3
- package/analyzer-template/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.ts +10 -17
- package/analyzer-template/packages/ai/src/lib/astScopes/patterns/ifStatementHandler.ts +18 -0
- package/analyzer-template/packages/ai/src/lib/astScopes/patterns/switchStatementHandler.ts +48 -2
- package/analyzer-template/packages/ai/src/lib/astScopes/patterns/variableDeclarationHandler.ts +181 -1
- package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +1836 -142
- package/analyzer-template/packages/ai/src/lib/astScopes/sharedPatterns.ts +28 -0
- package/analyzer-template/packages/ai/src/lib/astScopes/types.ts +328 -5
- package/analyzer-template/packages/ai/src/lib/checkAllAttributes.ts +28 -11
- package/analyzer-template/packages/ai/src/lib/completionCall.ts +235 -66
- package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +4669 -732
- package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.ts +175 -7
- package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.ts +21 -4
- 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 +249 -81
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.ts +152 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/DebugTracer.ts +224 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/PathManager.ts +203 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/README.md +294 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.ts +163 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/VisitedTracker.ts +235 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.ts +71 -2
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts +229 -21
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.ts +70 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.ts +166 -17
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.ts +98 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.ts +179 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.ts +40 -30
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.ts +455 -88
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/fixNullIdsBySchema.ts +129 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/getFunctionCallRoot.ts +33 -3
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/selectBestValue.ts +70 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/stripNullableMarkers.ts +35 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.ts +113 -0
- package/analyzer-template/packages/ai/src/lib/dataStructureChunking.ts +183 -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/generateChangesEntityDocumentation.ts +20 -2
- package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarioData.ts +124 -158
- package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarios.ts +139 -346
- package/analyzer-template/packages/ai/src/lib/generateEntityDataStructure.ts +70 -7
- package/analyzer-template/packages/ai/src/lib/generateEntityDocumentation.ts +16 -2
- package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +1437 -195
- package/analyzer-template/packages/ai/src/lib/generateEntityScenarios.ts +232 -295
- package/analyzer-template/packages/ai/src/lib/generateExecutionFlows.ts +710 -0
- package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionalEffects.ts +528 -0
- package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromConditionals.ts +2484 -0
- package/analyzer-template/packages/ai/src/lib/generateExecutionFlowsFromJsxUsages.ts +239 -0
- package/analyzer-template/packages/ai/src/lib/generateStatementAnalysis.ts +49 -72
- package/analyzer-template/packages/ai/src/lib/getConditionalUsagesFromCode.ts +170 -37
- package/analyzer-template/packages/ai/src/lib/getLLMCallStats.ts +0 -14
- package/analyzer-template/packages/ai/src/lib/guessScenarioDataFromDescription.ts +8 -2
- package/analyzer-template/packages/ai/src/lib/isolateScopes.ts +328 -7
- package/analyzer-template/packages/ai/src/lib/mergeJsonTypeDefinitions.ts +5 -0
- package/analyzer-template/packages/ai/src/lib/mergeStatements.ts +135 -7
- package/analyzer-template/packages/ai/src/lib/modelInfo.ts +15 -0
- package/analyzer-template/packages/ai/src/lib/promptGenerators/collapseNullableObjects.ts +118 -0
- package/analyzer-template/packages/ai/src/lib/promptGenerators/gatherAttributesMap.ts +150 -31
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityDocumentationGenerator.ts +8 -33
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.ts +54 -62
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.ts +77 -150
- 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/generateEntityDocumentationGenerator.ts +8 -27
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.ts +139 -40
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.ts +16 -49
- 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 +824 -0
- package/analyzer-template/packages/ai/src/lib/splitOutsideParentheses.ts +5 -1
- package/analyzer-template/packages/ai/src/lib/types/index.ts +2 -0
- package/analyzer-template/packages/ai/src/lib/validateExecutionFlowPaths.ts +531 -0
- package/analyzer-template/packages/ai/src/lib/worker/SerializableDataStructure.ts +171 -2
- package/analyzer-template/packages/ai/src/lib/worker/analyzeScopeWorker.ts +121 -2
- package/analyzer-template/packages/analyze/index.ts +2 -0
- package/analyzer-template/packages/analyze/src/lib/FileAnalyzer.ts +230 -54
- package/analyzer-template/packages/analyze/src/lib/ProjectAnalyzer.ts +113 -26
- package/analyzer-template/packages/analyze/src/lib/analysisContext.ts +44 -4
- package/analyzer-template/packages/analyze/src/lib/asts/nodes/getNodeType.ts +2 -1
- package/analyzer-template/packages/analyze/src/lib/asts/nodes/index.ts +3 -1
- package/analyzer-template/packages/analyze/src/lib/asts/nodes/isAsyncFunction.ts +67 -0
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.ts +19 -0
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.ts +19 -0
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllExportedNodes.ts +4 -2
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getAllExports.ts +49 -9
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.ts +8 -0
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.ts +49 -1
- package/analyzer-template/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.ts +2 -1
- package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +762 -153
- package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +61 -3
- package/analyzer-template/packages/analyze/src/lib/files/analyze/dependencyResolver.ts +6 -0
- package/analyzer-template/packages/analyze/src/lib/files/analyze/findOrCreateEntity.ts +4 -1
- package/analyzer-template/packages/analyze/src/lib/files/analyze/findPreviousAnalysis.ts +1 -1
- package/analyzer-template/packages/analyze/src/lib/files/analyze/findValidExistingAnalysis.ts +1 -1
- package/analyzer-template/packages/analyze/src/lib/files/analyze/gatherEntityMap.ts +20 -10
- package/analyzer-template/packages/analyze/src/lib/files/analyze/setActiveAnalysisBranches.ts +1 -1
- package/analyzer-template/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.ts +5 -13
- package/analyzer-template/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.ts +33 -10
- package/analyzer-template/packages/analyze/src/lib/files/analyzeChange.ts +65 -30
- package/analyzer-template/packages/analyze/src/lib/files/analyzeEntity.ts +29 -11
- package/analyzer-template/packages/analyze/src/lib/files/analyzeInitial.ts +46 -28
- package/analyzer-template/packages/analyze/src/lib/files/analyzeNextRoute.ts +1 -1
- package/analyzer-template/packages/analyze/src/lib/files/analyzeRemixRoute.ts +26 -39
- package/analyzer-template/packages/analyze/src/lib/files/enums/steps.ts +1 -1
- package/analyzer-template/packages/analyze/src/lib/files/getImportedExports.ts +135 -16
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/TransformationTracer.ts +1315 -0
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.ts +313 -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 +837 -99
- 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 +619 -31
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.ts +264 -0
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarioData.ts +84 -80
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarios.ts +8 -4
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +1144 -129
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.ts +61 -6
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/propagateArrayItemSchemas.ts +474 -0
- package/analyzer-template/packages/analyze/src/lib/files/setImportedExports.ts +3 -2
- package/analyzer-template/packages/analyze/src/lib/index.ts +1 -0
- package/analyzer-template/packages/analyze/src/lib/utils/getFileByPath.ts +19 -0
- 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/getPresignedUrl.d.ts +23 -0
- package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.d.ts.map +1 -0
- package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.js +30 -0
- package/analyzer-template/packages/aws/dist/src/lib/s3/getPresignedUrl.js.map +1 -0
- package/analyzer-template/packages/aws/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 +10 -9
- package/analyzer-template/packages/aws/s3/index.ts +5 -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/getPresignedUrl.ts +62 -0
- package/analyzer-template/packages/aws/src/lib/s3/uploadFileToS3.ts +8 -1
- package/analyzer-template/packages/database/client.ts +35 -0
- package/analyzer-template/packages/database/package.json +31 -0
- package/analyzer-template/packages/database/src/lib/analysisBranchToDb.ts +28 -0
- package/analyzer-template/packages/database/src/lib/analysisToDb.ts +59 -0
- package/analyzer-template/packages/database/src/lib/branchToDb.ts +24 -0
- package/analyzer-template/packages/database/src/lib/commitBranchToDb.ts +20 -0
- package/analyzer-template/packages/database/src/lib/commitToDb.ts +47 -0
- package/analyzer-template/packages/database/src/lib/fileToDb.ts +17 -0
- package/analyzer-template/packages/database/src/lib/kysely/db.ts +495 -0
- package/analyzer-template/packages/database/src/lib/kysely/tableRelations.ts +108 -0
- package/analyzer-template/packages/database/src/lib/kysely/tables/commitsTable.ts +67 -0
- package/analyzer-template/packages/database/src/lib/kysely/tables/debugReportsTable.ts +88 -0
- package/analyzer-template/packages/database/src/lib/kysely/tables/labsRequestsTable.ts +52 -0
- package/analyzer-template/packages/database/src/lib/loadAnalyses.ts +275 -0
- package/analyzer-template/packages/database/src/lib/loadAnalysis.ts +223 -0
- package/analyzer-template/packages/database/src/lib/loadBranch.ts +137 -0
- package/analyzer-template/packages/database/src/lib/loadCommit.ts +173 -0
- package/analyzer-template/packages/database/src/lib/loadCommits.ts +279 -0
- package/analyzer-template/packages/database/src/lib/loadEntities.ts +117 -0
- package/analyzer-template/packages/database/src/lib/loadEntity.ts +105 -0
- package/analyzer-template/packages/database/src/lib/loadEntityBranches.ts +178 -0
- package/analyzer-template/packages/database/src/lib/loadFile.ts +42 -0
- package/analyzer-template/packages/database/src/lib/loadFiles.ts +134 -0
- package/analyzer-template/packages/database/src/lib/loadReadyToBeCapturedAnalyses.ts +101 -0
- package/analyzer-template/packages/database/src/lib/loadStatement.ts +23 -0
- package/analyzer-template/packages/database/src/lib/projectToDb.ts +35 -0
- package/analyzer-template/packages/database/src/lib/saveEntityStatements.ts +27 -0
- package/analyzer-template/packages/database/src/lib/saveFiles.ts +43 -0
- package/analyzer-template/packages/database/src/lib/scenarioToDb.ts +35 -0
- package/analyzer-template/packages/database/src/lib/updateCommitMetadata.ts +180 -0
- package/analyzer-template/packages/database/src/lib/updateProjectMetadata.ts +95 -0
- package/analyzer-template/packages/database/src/lib/userScenarioToDb.ts +18 -0
- package/analyzer-template/packages/generate/index.ts +3 -0
- package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.ts +44 -21
- package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.ts +18 -11
- 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 +29 -2
- package/analyzer-template/packages/generate/src/lib/directExecutionScript.ts +17 -2
- package/analyzer-template/packages/generate/src/lib/getComponentScenarioPath.ts +8 -3
- package/analyzer-template/packages/generate/src/lib/scenarioComponent.ts +6 -3
- package/analyzer-template/packages/generate/src/lib/scenarioComponentForServer.ts +114 -0
- package/analyzer-template/packages/github/dist/database/index.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/index.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.js +19 -0
- package/analyzer-template/packages/github/dist/database/src/lib/analysisBranchToDb.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.js +26 -0
- package/analyzer-template/packages/github/dist/database/src/lib/analysisToDb.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/backgroundJobToDb.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/backgroundJobToDb.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.js +18 -0
- package/analyzer-template/packages/github/dist/database/src/lib/branchToDb.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.js +13 -0
- package/analyzer-template/packages/github/dist/database/src/lib/commitBranchToDb.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.js +26 -0
- package/analyzer-template/packages/github/dist/database/src/lib/commitToDb.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/createOrUpdateBranchCommitStats.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/createOrUpdateBranchCommitStats.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/createProject.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/createProject.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/createRetryFetch.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/createRetryFetch.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/dbToAnalysis.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/dbToAnalysis.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/dbToAnalysisBranch.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/dbToAnalysisBranch.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/dbToBackgroundJob.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/dbToBackgroundJob.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/dbToBranch.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/dbToBranch.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/dbToCommit.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/dbToCommit.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/dbToCommitBranch.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/dbToCommitBranch.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/dbToEntity.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/dbToEntity.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/dbToEntityBranch.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/dbToEntityBranch.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/dbToFile.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/dbToFile.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/dbToProject.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/dbToProject.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/dbToScenario.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/dbToScenario.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/dbToScenarioComment.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/dbToScenarioComment.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/dbToUserScenario.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/dbToUserScenario.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/deleteBranch.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/deleteBranch.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/deleteEntities.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/deleteEntities.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/deleteFile.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/deleteFile.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/deleteScenarios.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/deleteScenarios.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/entityToDb.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/entityToDb.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.js +14 -0
- package/analyzer-template/packages/github/dist/database/src/lib/fileToDb.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/generateSha.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/generateSha.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/jsonUpdateUtils.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/jsonUpdateUtils.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/aggregationHelpers.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/aggregationHelpers.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts +71 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js +373 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/db.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/schemaHelpers.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/schemaHelpers.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/sqliteBooleanPlugin.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/sqliteBooleanPlugin.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tableRelations.d.ts +89 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tableRelations.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tableRelations.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tableRelationsTypes.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tableRelationsTypes.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts +97 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysesTable.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysisBranchesTable.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/analysisBranchesTable.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/backgroundJobsTable.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/backgroundJobsTable.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/branchesTable.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/branchesTable.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitBranchesTable.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitBranchesTable.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts +48 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js +47 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/commitsTable.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts +60 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.js +33 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.d.ts +68 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entityBranchesTable.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entityBranchesTable.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entityStatementsTable.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entityStatementsTable.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/filesTable.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/filesTable.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/githubPayloadsTable.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/githubPayloadsTable.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/githubUsersTable.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/githubUsersTable.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.d.ts +23 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.js +35 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/labsRequestsTable.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/projectsTable.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/projectsTable.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenarioCommentsTable.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenarioCommentsTable.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts +61 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/statementsTable.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/statementsTable.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/teamsTable.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/teamsTable.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/userScenariosTable.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/userScenariosTable.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/userTeamsTable.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/userTeamsTable.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/usersTable.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/usersTable.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/upsertHelpers.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/upsertHelpers.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts +16 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js +174 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadAnalyses.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js +138 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysis.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysisBranches.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadAnalysisBranches.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadBackgroundJob.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadBackgroundJob.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js +100 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadBranch.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadBranches.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadBranches.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js +118 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommit.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommitBranches.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommitBranches.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommitMetadata.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommitMetadata.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts +15 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js +209 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadCommits.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts +13 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js +82 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadEntities.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadEntity.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js +123 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadEntityBranches.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadFile.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadFile.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadFiles.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadFiles.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadMostRecentPreviousAnalysis.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadMostRecentPreviousAnalysis.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadProject.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadProject.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js +68 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadScenario.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadScenario.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadStatement.d.ts +3 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadStatement.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/loadStatement.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/nullsToUndefines.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/nullsToUndefines.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.js +18 -0
- package/analyzer-template/packages/github/dist/database/src/lib/projectToDb.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/saveBackgroundEvent.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/saveBackgroundEvent.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/saveEntityStatements.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/saveEntityStatements.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.js +33 -0
- package/analyzer-template/packages/github/dist/database/src/lib/saveFiles.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/saveStatement.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/saveStatement.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js +18 -0
- package/analyzer-template/packages/github/dist/database/src/lib/scenarioToDb.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/supabase.d.ts +4 -0
- package/analyzer-template/packages/github/dist/database/src/lib/supabase.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/supabase.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/updateBackgroundJobProgress.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/updateBackgroundJobProgress.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts +13 -0
- package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js +101 -0
- package/analyzer-template/packages/github/dist/database/src/lib/updateCommitMetadata.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/updateEntityBranch.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/updateEntityBranch.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisMetadata.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisMetadata.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatus.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/updateProjectMetadata.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/updateProjectMetadata.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/upsertAnalyses.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/upsertAnalyses.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/upsertAnalysesWithScenarios.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/upsertAnalysesWithScenarios.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/upsertAnalysisBranches.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/upsertAnalysisBranches.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/upsertBackgroundJob.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/upsertBackgroundJob.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/upsertBranches.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/upsertBranches.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/upsertCommitBranches.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/upsertCommitBranches.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/upsertCommits.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/upsertCommits.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/upsertEntities.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/upsertEntities.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/upsertEntityBranches.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/upsertEntityBranches.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/upsertFiles.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/upsertFiles.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/upsertGithubUser.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/upsertGithubUser.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/upsertProjects.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/upsertProjects.js.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/upsertScenarios.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/upsertScenarios.js.map +1 -0
- 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 +43 -21
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js +18 -11
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/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 +30 -2
- package/analyzer-template/packages/github/dist/generate/src/lib/deepMerge.js.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/directExecutionScript.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/directExecutionScript.js +10 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/directExecutionScript.js.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/getComponentScenarioPath.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/getComponentScenarioPath.js +7 -3
- package/analyzer-template/packages/github/dist/generate/src/lib/getComponentScenarioPath.js.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.js +5 -3
- package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponent.js.map +1 -1
- package/analyzer-template/packages/github/dist/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/getCommitsFromGithub.js +1 -1
- 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 +11 -1
- package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.js.map +1 -1
- package/analyzer-template/packages/github/dist/github/src/lib/syncBranches.js +1 -1
- package/analyzer-template/packages/github/dist/github/src/lib/syncHeadBranches.js +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 +4 -1
- package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.js.map +1 -1
- package/analyzer-template/packages/github/dist/github/src/lib/syncPullRequest.js +1 -1
- package/analyzer-template/packages/github/dist/github/src/lib/updateCommitBranchesInDb.js +1 -1
- package/analyzer-template/packages/github/dist/github/src/lib/updateFilesInDb.js +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 -9
- package/analyzer-template/packages/github/dist/types/src/types/Analysis.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts +2 -0
- package/analyzer-template/packages/github/dist/types/src/types/Commit.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/types/src/types/Entity.d.ts +4 -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/ProjectMetadata.d.ts +7 -0
- package/analyzer-template/packages/github/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts +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 +199 -3
- package/analyzer-template/packages/github/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
- package/analyzer-template/packages/github/dist/types/src/types/ScopeAnalysis.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/index.d.ts +3 -0
- package/analyzer-template/packages/github/dist/utils/index.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/utils/index.js +4 -0
- package/analyzer-template/packages/github/dist/utils/index.js.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.d.ts +25 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.js +40 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/Semaphore.js.map +1 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/applyUniversalMocks.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/applyUniversalMocks.js +65 -7
- package/analyzer-template/packages/github/dist/utils/src/lib/applyUniversalMocks.js.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.d.ts +13 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.js +14 -2
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.js.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getNextRoutePath.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getNextRoutePath.js +2 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getNextRoutePath.js.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getRemixRoutePath.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getRemixRoutePath.js +2 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/getRemixRoutePath.js.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.d.ts +12 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +14 -2
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts +21 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +62 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
- 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 +42 -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 +32 -3
- package/analyzer-template/packages/github/dist/utils/src/lib/safeFileName.js.map +1 -1
- package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/buildStartCommand.d.ts +18 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/buildStartCommand.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/buildStartCommand.js +45 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/buildStartCommand.js.map +1 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/getWebappInfo.d.ts +26 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/getWebappInfo.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/getWebappInfo.js +67 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/getWebappInfo.js.map +1 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/index.d.ts +3 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/index.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/index.js +3 -0
- package/analyzer-template/packages/github/dist/utils/src/lib/startCommand/index.js.map +1 -0
- package/analyzer-template/packages/github/package.json +1 -1
- package/analyzer-template/packages/github/src/lib/getCommitsFromGithub.ts +1 -1
- package/analyzer-template/packages/github/src/lib/loadOrCreateCommit.ts +15 -1
- package/analyzer-template/packages/github/src/lib/syncBranches.ts +1 -1
- package/analyzer-template/packages/github/src/lib/syncHeadBranches.ts +1 -1
- package/analyzer-template/packages/github/src/lib/syncPrimaryBranch.ts +3 -1
- package/analyzer-template/packages/github/src/lib/syncPullRequest.ts +1 -1
- package/analyzer-template/packages/github/src/lib/updateCommitBranchesInDb.ts +1 -1
- package/analyzer-template/packages/github/src/lib/updateFilesInDb.ts +1 -1
- 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 -9
- package/analyzer-template/packages/types/src/types/Commit.ts +2 -0
- package/analyzer-template/packages/types/src/types/Entity.ts +4 -0
- package/analyzer-template/packages/types/src/types/ProjectMetadata.ts +7 -0
- package/analyzer-template/packages/types/src/types/Scenario.ts +11 -10
- package/analyzer-template/packages/types/src/types/ScenariosDataStructure.ts +228 -3
- package/analyzer-template/packages/types/src/types/ScopeAnalysis.ts +6 -1
- package/analyzer-template/packages/types/src/types/StatementInfo.ts +2 -0
- package/analyzer-template/packages/ui-components/package.json +4 -4
- package/analyzer-template/packages/ui-components/src/components/ScenarioDetailInteractiveView.tsx +23 -7
- package/analyzer-template/packages/ui-components/src/scenario-editor/components/DataItemEditor.tsx +1 -1
- 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 -9
- package/analyzer-template/packages/utils/dist/types/src/types/Analysis.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts +2 -0
- package/analyzer-template/packages/utils/dist/types/src/types/Commit.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/types/src/types/Entity.d.ts +4 -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/ProjectMetadata.d.ts +7 -0
- package/analyzer-template/packages/utils/dist/types/src/types/ProjectMetadata.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts +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 +199 -3
- package/analyzer-template/packages/utils/dist/types/src/types/ScenariosDataStructure.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.d.ts +6 -1
- package/analyzer-template/packages/utils/dist/types/src/types/ScopeAnalysis.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/index.d.ts +3 -0
- package/analyzer-template/packages/utils/dist/utils/index.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/index.js +4 -0
- package/analyzer-template/packages/utils/dist/utils/index.js.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.d.ts +25 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.d.ts.map +1 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.js +40 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/Semaphore.js.map +1 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/applyUniversalMocks.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/applyUniversalMocks.js +65 -7
- package/analyzer-template/packages/utils/dist/utils/src/lib/applyUniversalMocks.js.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.d.ts +13 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.js +14 -2
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.js.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getNextRoutePath.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getNextRoutePath.js +2 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getNextRoutePath.js.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getRemixRoutePath.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getRemixRoutePath.js +2 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/getRemixRoutePath.js.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.d.ts +12 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +14 -2
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts +21 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.d.ts.map +1 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +62 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js +98 -3
- package/analyzer-template/packages/utils/dist/utils/src/lib/fs/rsyncCopy.js.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 +42 -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 +32 -3
- package/analyzer-template/packages/utils/dist/utils/src/lib/safeFileName.js.map +1 -1
- package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/buildStartCommand.d.ts +18 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/buildStartCommand.d.ts.map +1 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/buildStartCommand.js +45 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/buildStartCommand.js.map +1 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/getWebappInfo.d.ts +26 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/getWebappInfo.d.ts.map +1 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/getWebappInfo.js +67 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/getWebappInfo.js.map +1 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/index.d.ts +3 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/index.d.ts.map +1 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/index.js +3 -0
- package/analyzer-template/packages/utils/dist/utils/src/lib/startCommand/index.js.map +1 -0
- package/analyzer-template/packages/utils/index.ts +11 -0
- package/analyzer-template/packages/utils/src/lib/Semaphore.ts +42 -0
- package/analyzer-template/packages/utils/src/lib/applyUniversalMocks.ts +74 -9
- package/analyzer-template/packages/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.ts +20 -1
- package/analyzer-template/packages/utils/src/lib/frameworks/getNextRoutePath.ts +2 -1
- package/analyzer-template/packages/utils/src/lib/frameworks/getRemixRoutePath.ts +2 -1
- package/analyzer-template/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.ts +17 -1
- package/analyzer-template/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.ts +1 -0
- package/analyzer-template/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.ts +67 -0
- package/analyzer-template/packages/utils/src/lib/fs/rsyncCopy.ts +121 -3
- package/analyzer-template/packages/utils/src/lib/lightweightEntityExtractor.ts +43 -0
- package/analyzer-template/packages/utils/src/lib/safeFileName.ts +51 -3
- package/analyzer-template/packages/utils/src/lib/startCommand/buildStartCommand.ts +63 -0
- package/analyzer-template/packages/utils/src/lib/startCommand/getWebappInfo.ts +108 -0
- package/analyzer-template/packages/utils/src/lib/startCommand/index.ts +10 -0
- package/analyzer-template/playwright/capture.ts +103 -93
- package/analyzer-template/playwright/captureFromUrl.ts +48 -17
- package/analyzer-template/playwright/captureStatic.ts +2 -2
- package/analyzer-template/playwright/getCodeYamInfo.ts +12 -7
- package/analyzer-template/playwright/takeElementScreenshot.ts +48 -11
- package/analyzer-template/playwright/takeScreenshot.ts +38 -10
- package/analyzer-template/playwright/updateBackgroundJob.ts +1 -1
- package/analyzer-template/playwright/waitForServer.ts +21 -6
- package/analyzer-template/project/LazyFileStore.ts +1 -1
- package/analyzer-template/project/TESTING.md +83 -0
- package/analyzer-template/project/analyzeBaselineCommit.ts +10 -1
- package/analyzer-template/project/analyzeBranchCommit.ts +5 -1
- package/analyzer-template/project/analyzeFileEntities.ts +5 -1
- package/analyzer-template/project/analyzeRegularCommit.ts +10 -1
- package/analyzer-template/project/captureLibraryFunctionDirect.ts +30 -27
- package/analyzer-template/project/constructMockCode.ts +1739 -92
- package/analyzer-template/project/controller/startController.ts +16 -1
- package/analyzer-template/project/createEntitiesAndSortFiles.ts +98 -7
- package/analyzer-template/project/executeLibraryFunctionDirect.ts +7 -3
- package/analyzer-template/project/getFilesWithEntitiesFromRepo.ts +1 -1
- package/analyzer-template/project/getScenarioUrl.ts +73 -5
- package/analyzer-template/project/loadReadyToBeCaptured.ts +198 -38
- package/analyzer-template/project/mocks/analyzeFileMock.ts +8 -7
- package/analyzer-template/project/orchestrateCapture/AwsCaptureTaskRunner.ts +12 -4
- package/analyzer-template/project/orchestrateCapture/KyselyAnalysisLoader.ts +15 -15
- package/analyzer-template/project/orchestrateCapture/SequentialCaptureTaskRunner.ts +97 -67
- package/analyzer-template/project/orchestrateCapture/SupabaseAnalysisLoader.ts +6 -6
- package/analyzer-template/project/orchestrateCapture/taskRunner.ts +4 -2
- package/analyzer-template/project/orchestrateCapture.ts +93 -14
- package/analyzer-template/project/prepareRepo.ts +1 -1
- package/analyzer-template/project/reconcileMockDataKeys.ts +258 -2
- package/analyzer-template/project/runAnalysis.ts +12 -1
- package/analyzer-template/project/runMultiScenarioServer.ts +13 -16
- package/analyzer-template/project/runScenarioServer.ts +1 -5
- package/analyzer-template/project/serverOnlyModules.ts +413 -0
- package/analyzer-template/project/start.ts +94 -33
- package/analyzer-template/project/startScenarioCapture.ts +103 -41
- package/analyzer-template/project/startServer.ts +50 -70
- package/analyzer-template/project/trackGeneratedFiles.ts +41 -0
- package/analyzer-template/project/updateCommitBackgroundJob.ts +1 -1
- package/analyzer-template/project/utils/errorHandling.ts +1 -1
- package/analyzer-template/project/writeMockDataTsx.ts +748 -69
- package/analyzer-template/project/writeScenario.ts +1 -1
- package/analyzer-template/project/writeScenarioClientWrapper.ts +21 -0
- package/analyzer-template/project/writeScenarioComponents.ts +2352 -179
- package/analyzer-template/project/writeScenarioFiles.ts +26 -0
- package/analyzer-template/project/writeSimpleRoot.ts +125 -2
- package/analyzer-template/project/writeUniversalMocks.ts +88 -9
- package/analyzer-template/scripts/comboWorkerLoop.cjs +99 -50
- package/analyzer-template/scripts/defaultCmd.sh +9 -0
- package/analyzer-template/scripts/postbuild.cjs +12 -1
- package/analyzer-template/tsconfig.json +2 -1
- package/background/src/lib/local/createLocalAnalyzer.js +2 -30
- 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 +2 -2
- package/background/src/lib/virtualized/common/execAsync.js.map +1 -1
- package/background/src/lib/virtualized/project/LazyFileStore.js +1 -1
- package/background/src/lib/virtualized/project/analyzeBaselineCommit.js +8 -2
- package/background/src/lib/virtualized/project/analyzeBaselineCommit.js.map +1 -1
- package/background/src/lib/virtualized/project/analyzeBranchCommit.js +3 -2
- package/background/src/lib/virtualized/project/analyzeBranchCommit.js.map +1 -1
- package/background/src/lib/virtualized/project/analyzeFileEntities.js +3 -2
- package/background/src/lib/virtualized/project/analyzeFileEntities.js.map +1 -1
- package/background/src/lib/virtualized/project/analyzeRegularCommit.js +8 -2
- package/background/src/lib/virtualized/project/analyzeRegularCommit.js.map +1 -1
- package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js +4 -4
- package/background/src/lib/virtualized/project/captureLibraryFunctionDirect.js.map +1 -1
- package/background/src/lib/virtualized/project/constructMockCode.js +1518 -64
- 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/createEntitiesAndSortFiles.js +83 -4
- package/background/src/lib/virtualized/project/createEntitiesAndSortFiles.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/getFilesWithEntitiesFromRepo.js +1 -1
- package/background/src/lib/virtualized/project/getScenarioUrl.js +38 -3
- package/background/src/lib/virtualized/project/getScenarioUrl.js.map +1 -1
- package/background/src/lib/virtualized/project/loadReadyToBeCaptured.js +108 -6
- package/background/src/lib/virtualized/project/loadReadyToBeCaptured.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/AwsCaptureTaskRunner.js +2 -2
- package/background/src/lib/virtualized/project/orchestrateCapture/AwsCaptureTaskRunner.js.map +1 -1
- package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js +13 -7
- package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js.map +1 -1
- package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js +73 -49
- package/background/src/lib/virtualized/project/orchestrateCapture/SequentialCaptureTaskRunner.js.map +1 -1
- package/background/src/lib/virtualized/project/orchestrateCapture.js +77 -15
- package/background/src/lib/virtualized/project/orchestrateCapture.js.map +1 -1
- package/background/src/lib/virtualized/project/prepareRepo.js +1 -1
- package/background/src/lib/virtualized/project/prepareRepo.js.map +1 -1
- package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +216 -2
- package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
- package/background/src/lib/virtualized/project/runAnalysis.js +10 -1
- package/background/src/lib/virtualized/project/runAnalysis.js.map +1 -1
- package/background/src/lib/virtualized/project/runMultiScenarioServer.js +13 -14
- package/background/src/lib/virtualized/project/runMultiScenarioServer.js.map +1 -1
- package/background/src/lib/virtualized/project/serverOnlyModules.js +338 -0
- package/background/src/lib/virtualized/project/serverOnlyModules.js.map +1 -0
- package/background/src/lib/virtualized/project/start.js +81 -30
- package/background/src/lib/virtualized/project/start.js.map +1 -1
- package/background/src/lib/virtualized/project/startScenarioCapture.js +79 -31
- package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
- package/background/src/lib/virtualized/project/startServer.js +40 -68
- package/background/src/lib/virtualized/project/startServer.js.map +1 -1
- package/background/src/lib/virtualized/project/trackGeneratedFiles.js +30 -0
- package/background/src/lib/virtualized/project/trackGeneratedFiles.js.map +1 -0
- package/background/src/lib/virtualized/project/updateCommitBackgroundJob.js +1 -1
- package/background/src/lib/virtualized/project/utils/errorHandling.js +1 -1
- package/background/src/lib/virtualized/project/writeMockDataTsx.js +640 -60
- package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
- package/background/src/lib/virtualized/project/writeScenario.js +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 +1721 -117
- 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 +113 -2
- package/background/src/lib/virtualized/project/writeSimpleRoot.js.map +1 -1
- package/background/src/lib/virtualized/project/writeUniversalMocks.js +72 -8
- package/background/src/lib/virtualized/project/writeUniversalMocks.js.map +1 -1
- package/codeyam-cli/scripts/apply-setup.js +181 -1
- package/codeyam-cli/scripts/apply-setup.js.map +1 -1
- package/codeyam-cli/scripts/extract-setup.js +1 -1
- package/codeyam-cli/scripts/populateEntityTimestamps.js +1 -1
- package/codeyam-cli/scripts/populateEntityTimestamps.js.map +1 -1
- package/codeyam-cli/src/cli.js +40 -17
- package/codeyam-cli/src/cli.js.map +1 -1
- package/codeyam-cli/src/codeyam-cli.js +18 -2
- package/codeyam-cli/src/codeyam-cli.js.map +1 -1
- package/codeyam-cli/src/commands/analyze.js +5 -3
- package/codeyam-cli/src/commands/analyze.js.map +1 -1
- package/codeyam-cli/src/commands/baseline.js +176 -0
- package/codeyam-cli/src/commands/baseline.js.map +1 -0
- package/codeyam-cli/src/commands/debug.js +253 -0
- package/codeyam-cli/src/commands/debug.js.map +1 -0
- package/codeyam-cli/src/commands/default.js +30 -34
- package/codeyam-cli/src/commands/default.js.map +1 -1
- package/codeyam-cli/src/commands/entities.js +1 -1
- package/codeyam-cli/src/commands/generate-data-structure.js +17 -8
- package/codeyam-cli/src/commands/generate-data-structure.js.map +1 -1
- package/codeyam-cli/src/commands/init.js +50 -277
- package/codeyam-cli/src/commands/init.js.map +1 -1
- package/codeyam-cli/src/commands/memory.js +254 -0
- package/codeyam-cli/src/commands/memory.js.map +1 -0
- package/codeyam-cli/src/commands/recapture.js +228 -0
- package/codeyam-cli/src/commands/recapture.js.map +1 -0
- package/codeyam-cli/src/commands/report.js +150 -0
- package/codeyam-cli/src/commands/report.js.map +1 -0
- package/codeyam-cli/src/commands/setup-sandbox.js +167 -0
- package/codeyam-cli/src/commands/setup-sandbox.js.map +1 -0
- package/codeyam-cli/src/commands/setup-simulations.js +284 -0
- package/codeyam-cli/src/commands/setup-simulations.js.map +1 -0
- 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/suggest.js +1 -1
- package/codeyam-cli/src/commands/test-startup.js +17 -6
- package/codeyam-cli/src/commands/test-startup.js.map +1 -1
- package/codeyam-cli/src/commands/verify.js +14 -2
- package/codeyam-cli/src/commands/verify.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__/cleanupAnalysisFiles.test.js +6 -6
- package/codeyam-cli/src/utils/__tests__/cleanupAnalysisFiles.test.js.map +1 -1
- package/codeyam-cli/src/utils/__tests__/entityVersioning.test.js +2 -2
- package/codeyam-cli/src/utils/__tests__/fileWatcher.batch.test.js +2 -2
- package/codeyam-cli/src/utils/__tests__/fileWatcher.multiversion.test.js +58 -30
- package/codeyam-cli/src/utils/__tests__/fileWatcher.multiversion.test.js.map +1 -1
- package/codeyam-cli/src/utils/__tests__/fileWatcher.optimization.test.js +2 -2
- package/codeyam-cli/src/utils/__tests__/fileWatcher.versioning.test.js +2 -2
- package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.js +185 -0
- package/codeyam-cli/src/utils/__tests__/npmVersionCheck.test.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 +128 -74
- package/codeyam-cli/src/utils/__tests__/setupClaudeCodeSettings.test.js.map +1 -1
- package/codeyam-cli/src/utils/analysisRunner.js +32 -17
- package/codeyam-cli/src/utils/analysisRunner.js.map +1 -1
- package/codeyam-cli/src/utils/analyzer.js +31 -2
- package/codeyam-cli/src/utils/analyzer.js.map +1 -1
- package/codeyam-cli/src/utils/backgroundServer.js +104 -23
- package/codeyam-cli/src/utils/backgroundServer.js.map +1 -1
- package/codeyam-cli/src/utils/changeDetection.js +1 -1
- package/codeyam-cli/src/utils/cleanupAnalysisFiles.js +2 -2
- package/codeyam-cli/src/utils/cleanupAnalysisFiles.js.map +1 -1
- package/codeyam-cli/src/utils/database.js +92 -6
- package/codeyam-cli/src/utils/database.js.map +1 -1
- package/codeyam-cli/src/utils/entityCache.js +1 -1
- package/codeyam-cli/src/utils/entityMetadata.js +1 -1
- package/codeyam-cli/src/utils/entityVersioning.js +1 -1
- package/codeyam-cli/src/utils/fileWatcher.js +2 -2
- package/codeyam-cli/src/utils/generateReport.js +366 -0
- package/codeyam-cli/src/utils/generateReport.js.map +1 -0
- 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 +78 -37
- package/codeyam-cli/src/utils/install-skills.js.map +1 -1
- package/codeyam-cli/src/utils/labsAutoCheck.js +19 -0
- package/codeyam-cli/src/utils/labsAutoCheck.js.map +1 -0
- package/codeyam-cli/src/utils/npmVersionCheck.js +76 -0
- package/codeyam-cli/src/utils/npmVersionCheck.js.map +1 -0
- package/codeyam-cli/src/utils/progress.js +7 -0
- package/codeyam-cli/src/utils/progress.js.map +1 -1
- package/codeyam-cli/src/utils/queue/__tests__/heartbeat.test.js +3 -3
- package/codeyam-cli/src/utils/queue/__tests__/job.pidTracking.test.js +3 -2
- package/codeyam-cli/src/utils/queue/__tests__/job.pidTracking.test.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/heartbeat.js +1 -1
- package/codeyam-cli/src/utils/queue/heartbeat.js.map +1 -1
- package/codeyam-cli/src/utils/queue/job.js +264 -26
- package/codeyam-cli/src/utils/queue/job.js.map +1 -1
- package/codeyam-cli/src/utils/queue/manager.js +103 -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/requireSimulations.js +10 -0
- package/codeyam-cli/src/utils/requireSimulations.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/confusionDetector.test.js +82 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/confusionDetector.test.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js +229 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/contextBuilder.test.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js +67 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/assertRules.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/captureFixture.js +105 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/captureFixture.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/loadCapturedFixture.js +34 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/loadCapturedFixture.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/runClaude.js +162 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/runClaude.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js +74 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/helpers/setupTempProject.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js +376 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/integration/ruleReflectionE2E.test.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js +113 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/promptBuilder.test.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/transcriptParser.test.js +127 -0
- package/codeyam-cli/src/utils/ruleReflection/__tests__/transcriptParser.test.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/confusionDetector.js +50 -0
- package/codeyam-cli/src/utils/ruleReflection/confusionDetector.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js +116 -0
- package/codeyam-cli/src/utils/ruleReflection/contextBuilder.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/index.js +5 -0
- package/codeyam-cli/src/utils/ruleReflection/index.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/promptBuilder.js +44 -0
- package/codeyam-cli/src/utils/ruleReflection/promptBuilder.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/transcriptParser.js +85 -0
- package/codeyam-cli/src/utils/ruleReflection/transcriptParser.js.map +1 -0
- package/codeyam-cli/src/utils/ruleReflection/types.js +5 -0
- package/codeyam-cli/src/utils/ruleReflection/types.js.map +1 -0
- package/codeyam-cli/src/utils/rules/__tests__/parser.test.js +83 -0
- package/codeyam-cli/src/utils/rules/__tests__/parser.test.js.map +1 -0
- package/codeyam-cli/src/utils/rules/__tests__/pathMatcher.test.js +118 -0
- package/codeyam-cli/src/utils/rules/__tests__/pathMatcher.test.js.map +1 -0
- package/codeyam-cli/src/utils/rules/__tests__/rulePlacement.test.js +72 -0
- package/codeyam-cli/src/utils/rules/__tests__/rulePlacement.test.js.map +1 -0
- package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js +293 -0
- package/codeyam-cli/src/utils/rules/__tests__/ruleState.test.js.map +1 -0
- package/codeyam-cli/src/utils/rules/__tests__/sourceFiles.test.js +76 -0
- package/codeyam-cli/src/utils/rules/__tests__/sourceFiles.test.js.map +1 -0
- package/codeyam-cli/src/utils/rules/index.js +7 -0
- package/codeyam-cli/src/utils/rules/index.js.map +1 -0
- package/codeyam-cli/src/utils/rules/parser.js +93 -0
- package/codeyam-cli/src/utils/rules/parser.js.map +1 -0
- package/codeyam-cli/src/utils/rules/pathMatcher.js +49 -0
- package/codeyam-cli/src/utils/rules/pathMatcher.js.map +1 -0
- package/codeyam-cli/src/utils/rules/rulePlacement.js +65 -0
- package/codeyam-cli/src/utils/rules/rulePlacement.js.map +1 -0
- package/codeyam-cli/src/utils/rules/ruleState.js +150 -0
- package/codeyam-cli/src/utils/rules/ruleState.js.map +1 -0
- package/codeyam-cli/src/utils/rules/sourceFiles.js +43 -0
- package/codeyam-cli/src/utils/rules/sourceFiles.js.map +1 -0
- package/codeyam-cli/src/utils/rules/staleness.js +137 -0
- package/codeyam-cli/src/utils/rules/staleness.js.map +1 -0
- package/codeyam-cli/src/utils/sandbox.js +190 -0
- package/codeyam-cli/src/utils/sandbox.js.map +1 -0
- package/codeyam-cli/src/utils/serverState.js +37 -10
- package/codeyam-cli/src/utils/serverState.js.map +1 -1
- package/codeyam-cli/src/utils/setupClaudeCodeSettings.js +25 -42
- package/codeyam-cli/src/utils/setupClaudeCodeSettings.js.map +1 -1
- package/codeyam-cli/src/utils/simulationGateMiddleware.js +159 -0
- package/codeyam-cli/src/utils/simulationGateMiddleware.js.map +1 -0
- package/codeyam-cli/src/utils/syncMocksMiddleware.js +5 -24
- package/codeyam-cli/src/utils/syncMocksMiddleware.js.map +1 -1
- package/codeyam-cli/src/utils/syncUncommittedEntities.js +1 -1
- package/codeyam-cli/src/utils/syncUniversalMocks.js +1 -1
- package/codeyam-cli/src/utils/versionInfo.js +67 -15
- package/codeyam-cli/src/utils/versionInfo.js.map +1 -1
- package/codeyam-cli/src/utils/webappDetection.js +2 -1
- package/codeyam-cli/src/utils/webappDetection.js.map +1 -1
- package/codeyam-cli/src/utils/wipe.js +128 -0
- package/codeyam-cli/src/utils/wipe.js.map +1 -0
- package/codeyam-cli/src/webserver/__tests__/dependency-smoke.test.js +66 -0
- package/codeyam-cli/src/webserver/__tests__/dependency-smoke.test.js.map +1 -0
- package/codeyam-cli/src/webserver/app/lib/database.js +169 -9
- package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
- package/codeyam-cli/src/webserver/app/lib/dbNotifier.js +3 -1
- package/codeyam-cli/src/webserver/app/lib/dbNotifier.js.map +1 -1
- package/codeyam-cli/src/webserver/app/routes/api.agent-transcripts.js +486 -0
- package/codeyam-cli/src/webserver/app/routes/api.agent-transcripts.js.map +1 -0
- package/codeyam-cli/src/webserver/backgroundServer.js +65 -10
- package/codeyam-cli/src/webserver/backgroundServer.js.map +1 -1
- package/codeyam-cli/src/webserver/bootstrap.js +60 -0
- package/codeyam-cli/src/webserver/bootstrap.js.map +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/CopyButton-CtmbP4Gl.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/EntityItem-DlMph_Hm.js +11 -0
- package/codeyam-cli/src/webserver/build/client/assets/EntityTypeBadge-B-0PjGOU.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-DN9eiJAO.js +41 -0
- package/codeyam-cli/src/webserver/build/client/assets/InlineSpinner-C1rIyZdV.js +34 -0
- package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-rE_fI2h2.js +25 -0
- package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-CnatsCw2.js +3 -0
- package/codeyam-cli/src/webserver/build/client/assets/LoadingDots-CSP6DZrh.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/LogViewer-CMK8Q7yk.js +3 -0
- package/codeyam-cli/src/webserver/build/client/assets/ReportIssueModal-TCV_HBjy.js +11 -0
- package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-CG2uh31y.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-CU_TDYd8.js +10 -0
- package/codeyam-cli/src/webserver/build/client/assets/TruncatedFilePath-D7IoaWUW.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/_index-B8z7mjR-.js +11 -0
- package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-DZu78RI1.js +27 -0
- package/codeyam-cli/src/webserver/build/client/assets/agent-transcripts-DxCa1oBt.js +23 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.agent-transcripts-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.generate-report-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.health-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.labs-unlock-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.memory-profile-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.rule-path-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/api.save-fixture-l0sNRNKZ.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/book-open-Bp5FLkd4.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/chevron-down-DQJA9f4o.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/chunk-JZWAC4HX-7VptmeIr.js +51 -0
- package/codeyam-cli/src/webserver/build/client/assets/circle-check-B6C4LY9o.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/codeyam-name-logo-CvKwUgHo.svg +9 -0
- package/codeyam-cli/src/webserver/build/client/assets/copy-6nzYCu0G.js +11 -0
- package/codeyam-cli/src/webserver/build/client/assets/createLucideIcon-D-QUFOwe.js +21 -0
- package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-CCKUIm0S.svg +4 -0
- 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-DmzSmblj.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha._--zvFJ4OH.js +23 -0
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-DVTcUnur.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-BVgNO76F.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-C7ysA4Jq.js +5 -0
- package/codeyam-cli/src/webserver/build/client/assets/entry.client-CU6EUArK.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-EWpfFU4X.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/files-CrxAoWIL.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/git-BldHtKeW.js +15 -0
- package/codeyam-cli/src/webserver/build/client/assets/globals-B4MPiL7S.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-7-1FmlHo.js +9 -0
- package/codeyam-cli/src/webserver/build/client/assets/index-DuYcwYp_.js +3 -0
- package/codeyam-cli/src/webserver/build/client/assets/labs-CPPVOSWB.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/loader-circle-BnDcD54R.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/manifest-c1fc3656.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/memory-CfpYxpNu.js +93 -0
- package/codeyam-cli/src/webserver/build/client/assets/pause-DhQX2g22.js +11 -0
- package/codeyam-cli/src/webserver/build/client/assets/preload-helper-ckwbz45p.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/root-CAAbm4U5.js +62 -0
- package/codeyam-cli/src/webserver/build/client/assets/scenarioStatus-B_8jpV3e.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/search-DborVoKD.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/settings-BpLDWmGh.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/simulations-BtrtCYJg.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/terminal-Bs4NC-VZ.js +11 -0
- package/codeyam-cli/src/webserver/build/client/assets/triangle-alert-DTf3Jojp.js +6 -0
- package/codeyam-cli/src/webserver/build/client/assets/useCustomSizes-D_bDZyDU.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-DZp6rrQD.js +2 -0
- package/codeyam-cli/src/webserver/build/client/assets/useReportContext-BsQb6rFd.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/useToast-BOur3mUv.js +1 -0
- package/codeyam-cli/src/webserver/build/server/assets/index-B8A_aaGG.js +1 -0
- package/codeyam-cli/src/webserver/build/server/assets/server-build-69rRZnZo.js +286 -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.md +601 -0
- package/codeyam-cli/templates/codeyam-diagnose.md +481 -0
- package/codeyam-cli/templates/codeyam-memory-hook.sh +199 -0
- package/codeyam-cli/templates/codeyam-memory.md +396 -0
- package/codeyam-cli/templates/codeyam-new-rule.md +11 -0
- package/codeyam-cli/templates/codeyam-setup.md +600 -0
- package/codeyam-cli/templates/codeyam-sim.md +222 -0
- package/codeyam-cli/templates/codeyam-test.md +178 -0
- package/codeyam-cli/templates/codeyam-verify.md +179 -0
- package/codeyam-cli/templates/hooks/staleness-check.sh +43 -0
- package/codeyam-cli/templates/prompts/conversation-guidance.txt +32 -0
- package/codeyam-cli/templates/prompts/conversation-prompt.txt +28 -0
- package/codeyam-cli/templates/prompts/interruption-prompt.txt +31 -0
- package/codeyam-cli/templates/prompts/stale-rules-prompt.txt +24 -0
- package/codeyam-cli/templates/rule-notification-hook.py +56 -0
- package/codeyam-cli/templates/rule-reflection-hook.py +627 -0
- package/codeyam-cli/templates/rules-instructions.md +77 -0
- package/package.json +29 -28
- package/packages/ai/index.js +9 -8
- package/packages/ai/index.js.map +1 -1
- package/packages/ai/src/lib/analyzeScope.js +211 -6
- 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 +185 -36
- 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 +308 -20
- package/packages/ai/src/lib/astScopes/methodSemantics.js.map +1 -1
- package/packages/ai/src/lib/astScopes/paths.js +39 -4
- package/packages/ai/src/lib/astScopes/paths.js.map +1 -1
- package/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.js +10 -14
- package/packages/ai/src/lib/astScopes/patterns/forInStatementHandler.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 +31 -1
- 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 +1401 -102
- package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
- package/packages/ai/src/lib/astScopes/sharedPatterns.js +25 -0
- package/packages/ai/src/lib/astScopes/sharedPatterns.js.map +1 -1
- package/packages/ai/src/lib/checkAllAttributes.js +23 -10
- package/packages/ai/src/lib/checkAllAttributes.js.map +1 -1
- package/packages/ai/src/lib/completionCall.js +178 -36
- package/packages/ai/src/lib/completionCall.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +3590 -522
- package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.js +164 -2
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/FunctionCallManager.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js +19 -4
- 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 +184 -58
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js +122 -0
- package/packages/ai/src/lib/dataStructure/helpers/BatchSchemaProcessor.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/DebugTracer.js +176 -0
- package/packages/ai/src/lib/dataStructure/helpers/DebugTracer.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/PathManager.js +178 -0
- package/packages/ai/src/lib/dataStructure/helpers/PathManager.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js +140 -0
- package/packages/ai/src/lib/dataStructure/helpers/ScopeTreeManager.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/VisitedTracker.js +199 -0
- package/packages/ai/src/lib/dataStructure/helpers/VisitedTracker.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js +66 -2
- package/packages/ai/src/lib/dataStructure/helpers/cleanKnownObjectFunctions.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js +198 -15
- package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.js +63 -0
- package/packages/ai/src/lib/dataStructure/helpers/coerceObjectsToPrimitivesBySchema.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/convertDotNotation.js +145 -15
- 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/convertTypeAnnotationsToValues.js +173 -0
- package/packages/ai/src/lib/dataStructure/helpers/convertTypeAnnotationsToValues.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js +37 -20
- package/packages/ai/src/lib/dataStructure/helpers/deduplicateFunctionSchemas.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/fillInSchemaGapsAndUnknowns.js +385 -79
- 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/dataStructure/helpers/getFunctionCallRoot.js +28 -3
- package/packages/ai/src/lib/dataStructure/helpers/getFunctionCallRoot.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/selectBestValue.js +62 -0
- package/packages/ai/src/lib/dataStructure/helpers/selectBestValue.js.map +1 -0
- package/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.js +90 -0
- package/packages/ai/src/lib/dataStructure/helpers/uniqueIdUtils.js.map +1 -0
- package/packages/ai/src/lib/dataStructureChunking.js +130 -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/generateChangesEntityDocumentation.js +19 -1
- package/packages/ai/src/lib/generateChangesEntityDocumentation.js.map +1 -1
- package/packages/ai/src/lib/generateChangesEntityScenarioData.js +111 -152
- package/packages/ai/src/lib/generateChangesEntityScenarioData.js.map +1 -1
- package/packages/ai/src/lib/generateChangesEntityScenarios.js +131 -322
- package/packages/ai/src/lib/generateChangesEntityScenarios.js.map +1 -1
- package/packages/ai/src/lib/generateEntityDataStructure.js +56 -6
- package/packages/ai/src/lib/generateEntityDataStructure.js.map +1 -1
- package/packages/ai/src/lib/generateEntityDocumentation.js +15 -1
- package/packages/ai/src/lib/generateEntityDocumentation.js.map +1 -1
- package/packages/ai/src/lib/generateEntityScenarioData.js +1138 -181
- package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
- package/packages/ai/src/lib/generateEntityScenarios.js +209 -269
- package/packages/ai/src/lib/generateEntityScenarios.js.map +1 -1
- package/packages/ai/src/lib/generateExecutionFlows.js +495 -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 +1807 -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/generateStatementAnalysis.js +47 -72
- package/packages/ai/src/lib/generateStatementAnalysis.js.map +1 -1
- package/packages/ai/src/lib/getConditionalUsagesFromCode.js +97 -22
- package/packages/ai/src/lib/getConditionalUsagesFromCode.js.map +1 -1
- package/packages/ai/src/lib/getLLMCallStats.js +0 -14
- package/packages/ai/src/lib/getLLMCallStats.js.map +1 -1
- package/packages/ai/src/lib/guessScenarioDataFromDescription.js +2 -1
- package/packages/ai/src/lib/guessScenarioDataFromDescription.js.map +1 -1
- package/packages/ai/src/lib/isolateScopes.js +270 -7
- package/packages/ai/src/lib/isolateScopes.js.map +1 -1
- package/packages/ai/src/lib/mergeJsonTypeDefinitions.js +5 -0
- package/packages/ai/src/lib/mergeJsonTypeDefinitions.js.map +1 -1
- package/packages/ai/src/lib/mergeStatements.js +104 -6
- package/packages/ai/src/lib/mergeStatements.js.map +1 -1
- package/packages/ai/src/lib/modelInfo.js +15 -0
- package/packages/ai/src/lib/modelInfo.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/collapseNullableObjects.js +97 -0
- package/packages/ai/src/lib/promptGenerators/collapseNullableObjects.js.map +1 -0
- package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js +118 -23
- package/packages/ai/src/lib/promptGenerators/gatherAttributesMap.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityDocumentationGenerator.js +8 -33
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityDocumentationGenerator.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js +36 -42
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenarioDataGenerator.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js +49 -99
- 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/generateEntityDocumentationGenerator.js +8 -27
- package/packages/ai/src/lib/promptGenerators/generateEntityDocumentationGenerator.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js +103 -29
- package/packages/ai/src/lib/promptGenerators/generateEntityScenarioDataGenerator.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateEntityScenariosGenerator.js +12 -31
- 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 +677 -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/types/index.js +2 -0
- package/packages/ai/src/lib/types/index.js.map +1 -1
- package/packages/ai/src/lib/worker/SerializableDataStructure.js +36 -0
- package/packages/ai/src/lib/worker/SerializableDataStructure.js.map +1 -1
- package/packages/ai/src/lib/worker/analyzeScopeWorker.js +98 -1
- package/packages/ai/src/lib/worker/analyzeScopeWorker.js.map +1 -1
- package/packages/analyze/index.js +1 -0
- package/packages/analyze/index.js.map +1 -1
- package/packages/analyze/src/lib/FileAnalyzer.js +196 -41
- package/packages/analyze/src/lib/FileAnalyzer.js.map +1 -1
- package/packages/analyze/src/lib/ProjectAnalyzer.js +96 -26
- package/packages/analyze/src/lib/ProjectAnalyzer.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/getNodeType.js +2 -1
- package/packages/analyze/src/lib/asts/nodes/getNodeType.js.map +1 -1
- package/packages/analyze/src/lib/asts/nodes/index.js +3 -1
- 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/asts/sourceFiles/getAllDeclaredEntityNodes.js +14 -0
- package/packages/analyze/src/lib/asts/sourceFiles/getAllDeclaredEntityNodes.js.map +1 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js +14 -0
- package/packages/analyze/src/lib/asts/sourceFiles/getAllEntityNodes.js.map +1 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getAllExportedNodes.js +3 -2
- package/packages/analyze/src/lib/asts/sourceFiles/getAllExportedNodes.js.map +1 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js +41 -9
- package/packages/analyze/src/lib/asts/sourceFiles/getAllExports.js.map +1 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js +6 -0
- package/packages/analyze/src/lib/asts/sourceFiles/getImportsAnalysis.js.map +1 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js +39 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getResolvedModule.js.map +1 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js +2 -1
- package/packages/analyze/src/lib/asts/sourceFiles/getSourceFilesForAllImports.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +594 -105
- package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +48 -3
- package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/dependencyResolver.js +5 -0
- package/packages/analyze/src/lib/files/analyze/dependencyResolver.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js +3 -1
- package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/findPreviousAnalysis.js +1 -1
- package/packages/analyze/src/lib/files/analyze/findValidExistingAnalysis.js +1 -1
- package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js +15 -3
- package/packages/analyze/src/lib/files/analyze/gatherEntityMap.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/setActiveAnalysisBranches.js +1 -1
- package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js +5 -8
- package/packages/analyze/src/lib/files/analyze/trackEntityCircularDependencies.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js +31 -10
- package/packages/analyze/src/lib/files/analyze/validateDependencyAnalyses.js.map +1 -1
- package/packages/analyze/src/lib/files/analyzeChange.js +42 -20
- package/packages/analyze/src/lib/files/analyzeChange.js.map +1 -1
- package/packages/analyze/src/lib/files/analyzeEntity.js +20 -13
- package/packages/analyze/src/lib/files/analyzeEntity.js.map +1 -1
- package/packages/analyze/src/lib/files/analyzeInitial.js +30 -19
- package/packages/analyze/src/lib/files/analyzeInitial.js.map +1 -1
- package/packages/analyze/src/lib/files/analyzeNextRoute.js +1 -1
- package/packages/analyze/src/lib/files/analyzeRemixRoute.js +22 -26
- package/packages/analyze/src/lib/files/analyzeRemixRoute.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/getImportedExports.js +103 -8
- package/packages/analyze/src/lib/files/getImportedExports.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js +880 -0
- package/packages/analyze/src/lib/files/scenarios/TransformationTracer.js.map +1 -0
- package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js +255 -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 +646 -72
- 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 +454 -30
- package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js +144 -0
- package/packages/analyze/src/lib/files/scenarios/generateExecutionFlows.js.map +1 -0
- package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js +61 -67
- package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateScenarios.js +8 -4
- package/packages/analyze/src/lib/files/scenarios/generateScenarios.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +936 -105
- package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js +49 -6
- package/packages/analyze/src/lib/files/scenarios/mergeValidatedDataStructures.js.map +1 -1
- package/packages/analyze/src/lib/files/setImportedExports.js +3 -2
- package/packages/analyze/src/lib/files/setImportedExports.js.map +1 -1
- package/packages/analyze/src/lib/index.js +1 -0
- package/packages/analyze/src/lib/index.js.map +1 -1
- package/packages/analyze/src/lib/utils/getFileByPath.js +12 -0
- package/packages/analyze/src/lib/utils/getFileByPath.js.map +1 -0
- 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/index.js.map +1 -0
- package/packages/database/src/lib/analysisBranchToDb.js +19 -0
- package/packages/database/src/lib/analysisBranchToDb.js.map +1 -0
- package/packages/database/src/lib/analysisToDb.js +26 -0
- package/packages/database/src/lib/analysisToDb.js.map +1 -0
- package/packages/database/src/lib/backgroundJobToDb.js.map +1 -0
- package/packages/database/src/lib/branchToDb.js +18 -0
- package/packages/database/src/lib/branchToDb.js.map +1 -0
- package/packages/database/src/lib/commitBranchToDb.js +13 -0
- package/packages/database/src/lib/commitBranchToDb.js.map +1 -0
- package/packages/database/src/lib/commitToDb.js +26 -0
- package/packages/database/src/lib/commitToDb.js.map +1 -0
- package/packages/database/src/lib/createOrUpdateBranchCommitStats.js.map +1 -0
- package/packages/database/src/lib/createProject.js.map +1 -0
- package/packages/database/src/lib/createRetryFetch.js.map +1 -0
- package/packages/database/src/lib/dbToAnalysis.js.map +1 -0
- package/packages/database/src/lib/dbToAnalysisBranch.js.map +1 -0
- package/packages/database/src/lib/dbToBackgroundJob.js.map +1 -0
- package/packages/database/src/lib/dbToBranch.js.map +1 -0
- package/packages/database/src/lib/dbToCommit.js.map +1 -0
- package/packages/database/src/lib/dbToCommitBranch.js.map +1 -0
- package/packages/database/src/lib/dbToEntity.js.map +1 -0
- package/packages/database/src/lib/dbToEntityBranch.js.map +1 -0
- package/packages/database/src/lib/dbToFile.js.map +1 -0
- package/packages/database/src/lib/dbToProject.js.map +1 -0
- package/packages/database/src/lib/dbToScenario.js.map +1 -0
- package/packages/database/src/lib/dbToScenarioComment.js.map +1 -0
- package/packages/database/src/lib/dbToUserScenario.js.map +1 -0
- package/packages/database/src/lib/deleteBranch.js.map +1 -0
- package/packages/database/src/lib/deleteEntities.js.map +1 -0
- package/packages/database/src/lib/deleteFile.js.map +1 -0
- package/packages/database/src/lib/deleteScenarios.js.map +1 -0
- package/packages/database/src/lib/entityToDb.js.map +1 -0
- package/packages/database/src/lib/fileToDb.js +14 -0
- package/packages/database/src/lib/fileToDb.js.map +1 -0
- package/packages/database/src/lib/generateSha.js.map +1 -0
- package/packages/database/src/lib/jsonUpdateUtils.js.map +1 -0
- package/packages/database/src/lib/kysely/aggregationHelpers.js.map +1 -0
- package/packages/database/src/lib/kysely/db.js +373 -0
- package/packages/database/src/lib/kysely/db.js.map +1 -0
- package/packages/database/src/lib/kysely/schemaHelpers.js.map +1 -0
- package/packages/database/src/lib/kysely/sqliteBooleanPlugin.js.map +1 -0
- package/packages/database/src/lib/kysely/tableRelations.js.map +1 -0
- package/packages/database/src/lib/kysely/tableRelationsTypes.js.map +1 -0
- package/packages/database/src/lib/kysely/tables/analysesTable.js.map +1 -0
- package/packages/database/src/lib/kysely/tables/analysisBranchesTable.js.map +1 -0
- package/packages/database/src/lib/kysely/tables/backgroundJobsTable.js.map +1 -0
- package/packages/database/src/lib/kysely/tables/branchesTable.js.map +1 -0
- package/packages/database/src/lib/kysely/tables/commitBranchesTable.js.map +1 -0
- package/packages/database/src/lib/kysely/tables/commitsTable.js +47 -0
- package/packages/database/src/lib/kysely/tables/commitsTable.js.map +1 -0
- package/packages/database/src/lib/kysely/tables/debugReportsTable.js +33 -0
- package/packages/database/src/lib/kysely/tables/debugReportsTable.js.map +1 -0
- package/packages/database/src/lib/kysely/tables/entitiesTable.js.map +1 -0
- package/packages/database/src/lib/kysely/tables/entityBranchesTable.js.map +1 -0
- package/packages/database/src/lib/kysely/tables/entityStatementsTable.js.map +1 -0
- package/packages/database/src/lib/kysely/tables/filesTable.js.map +1 -0
- package/packages/database/src/lib/kysely/tables/githubPayloadsTable.js.map +1 -0
- package/packages/database/src/lib/kysely/tables/githubUsersTable.js.map +1 -0
- package/packages/database/src/lib/kysely/tables/labsRequestsTable.js +35 -0
- package/packages/database/src/lib/kysely/tables/labsRequestsTable.js.map +1 -0
- package/packages/database/src/lib/kysely/tables/projectsTable.js.map +1 -0
- package/packages/database/src/lib/kysely/tables/scenarioCommentsTable.js.map +1 -0
- package/packages/database/src/lib/kysely/tables/scenariosTable.js.map +1 -0
- package/packages/database/src/lib/kysely/tables/statementsTable.js.map +1 -0
- package/packages/database/src/lib/kysely/tables/teamsTable.js.map +1 -0
- package/packages/database/src/lib/kysely/tables/userScenariosTable.js.map +1 -0
- package/packages/database/src/lib/kysely/tables/userTeamsTable.js.map +1 -0
- package/packages/database/src/lib/kysely/tables/usersTable.js.map +1 -0
- package/packages/database/src/lib/kysely/upsertHelpers.js.map +1 -0
- package/packages/database/src/lib/loadAnalyses.js +174 -0
- package/packages/database/src/lib/loadAnalyses.js.map +1 -0
- package/packages/database/src/lib/loadAnalysis.js +138 -0
- package/packages/database/src/lib/loadAnalysis.js.map +1 -0
- package/packages/database/src/lib/loadAnalysisBranches.js.map +1 -0
- package/packages/database/src/lib/loadBackgroundJob.js.map +1 -0
- package/packages/database/src/lib/loadBranch.js +100 -0
- package/packages/database/src/lib/loadBranch.js.map +1 -0
- package/packages/database/src/lib/loadBranches.js.map +1 -0
- package/packages/database/src/lib/loadCommit.js +118 -0
- package/packages/database/src/lib/loadCommit.js.map +1 -0
- package/packages/database/src/lib/loadCommitBranches.js.map +1 -0
- package/packages/database/src/lib/loadCommitMetadata.js.map +1 -0
- package/packages/database/src/lib/loadCommits.js +209 -0
- package/packages/database/src/lib/loadCommits.js.map +1 -0
- package/packages/database/src/lib/loadEntities.js +82 -0
- package/packages/database/src/lib/loadEntities.js.map +1 -0
- package/packages/database/src/lib/loadEntity.js.map +1 -0
- package/packages/database/src/lib/loadEntityBranches.js +123 -0
- package/packages/database/src/lib/loadEntityBranches.js.map +1 -0
- package/packages/database/src/lib/loadFile.js.map +1 -0
- package/packages/database/src/lib/loadFiles.js.map +1 -0
- package/packages/database/src/lib/loadMostRecentPreviousAnalysis.js.map +1 -0
- package/packages/database/src/lib/loadProject.js.map +1 -0
- package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js +68 -0
- package/packages/database/src/lib/loadReadyToBeCapturedAnalyses.js.map +1 -0
- package/packages/database/src/lib/loadScenario.js.map +1 -0
- package/packages/database/src/lib/loadStatement.js.map +1 -0
- package/packages/database/src/lib/nullsToUndefines.js.map +1 -0
- package/packages/database/src/lib/projectToDb.js +18 -0
- package/packages/database/src/lib/projectToDb.js.map +1 -0
- package/packages/database/src/lib/saveBackgroundEvent.js.map +1 -0
- package/packages/database/src/lib/saveEntityStatements.js.map +1 -0
- package/packages/database/src/lib/saveFiles.js +33 -0
- package/packages/database/src/lib/saveFiles.js.map +1 -0
- package/packages/database/src/lib/saveStatement.js.map +1 -0
- package/packages/database/src/lib/scenarioToDb.js +18 -0
- package/packages/database/src/lib/scenarioToDb.js.map +1 -0
- package/packages/database/src/lib/supabase.js.map +1 -0
- package/packages/database/src/lib/updateBackgroundJobProgress.js.map +1 -0
- package/packages/database/src/lib/updateCommitMetadata.js +101 -0
- package/packages/database/src/lib/updateCommitMetadata.js.map +1 -0
- package/packages/database/src/lib/updateEntityBranch.js.map +1 -0
- package/packages/database/src/lib/updateFreshAnalysisMetadata.js.map +1 -0
- package/packages/database/src/lib/updateFreshAnalysisStatus.js.map +1 -0
- package/packages/database/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +1 -0
- package/packages/database/src/lib/updateProjectMetadata.js.map +1 -0
- package/packages/database/src/lib/upsertAnalyses.js.map +1 -0
- package/packages/database/src/lib/upsertAnalysesWithScenarios.js.map +1 -0
- package/packages/database/src/lib/upsertAnalysisBranches.js.map +1 -0
- package/packages/database/src/lib/upsertBackgroundJob.js.map +1 -0
- package/packages/database/src/lib/upsertBranches.js.map +1 -0
- package/packages/database/src/lib/upsertCommitBranches.js.map +1 -0
- package/packages/database/src/lib/upsertCommits.js.map +1 -0
- package/packages/database/src/lib/upsertEntities.js.map +1 -0
- package/packages/database/src/lib/upsertEntityBranches.js.map +1 -0
- package/packages/database/src/lib/upsertFiles.js.map +1 -0
- package/packages/database/src/lib/upsertGithubUser.js.map +1 -0
- package/packages/database/src/lib/upsertProjects.js.map +1 -0
- package/packages/database/src/lib/upsertScenarios.js.map +1 -0
- package/packages/generate/index.js +3 -0
- package/packages/generate/index.js.map +1 -1
- package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +43 -21
- package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
- package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js +18 -11
- package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageRemix.js.map +1 -1
- package/packages/generate/src/lib/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 +30 -2
- package/packages/generate/src/lib/deepMerge.js.map +1 -1
- package/packages/generate/src/lib/directExecutionScript.js +10 -1
- package/packages/generate/src/lib/directExecutionScript.js.map +1 -1
- package/packages/generate/src/lib/getComponentScenarioPath.js +7 -3
- package/packages/generate/src/lib/getComponentScenarioPath.js.map +1 -1
- package/packages/generate/src/lib/scenarioComponent.js +5 -3
- package/packages/generate/src/lib/scenarioComponent.js.map +1 -1
- package/packages/generate/src/lib/scenarioComponentForServer.js +89 -0
- package/packages/generate/src/lib/scenarioComponentForServer.js.map +1 -0
- package/packages/github/src/lib/getCommitsFromGithub.js +1 -1
- package/packages/github/src/lib/loadOrCreateCommit.js +11 -1
- package/packages/github/src/lib/loadOrCreateCommit.js.map +1 -1
- package/packages/github/src/lib/syncHeadBranches.js +1 -1
- package/packages/github/src/lib/syncPrimaryBranch.js +4 -1
- package/packages/github/src/lib/syncPrimaryBranch.js.map +1 -1
- package/packages/github/src/lib/syncPullRequest.js +1 -1
- package/packages/github/src/lib/updateCommitBranchesInDb.js +1 -1
- package/packages/github/src/lib/updateFilesInDb.js +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/packages/process/src/ProcessManager.js +244 -0
- 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/index.js +4 -0
- package/packages/utils/index.js.map +1 -1
- package/packages/utils/src/lib/Semaphore.js +40 -0
- package/packages/utils/src/lib/Semaphore.js.map +1 -0
- package/packages/utils/src/lib/applyUniversalMocks.js +65 -7
- package/packages/utils/src/lib/applyUniversalMocks.js.map +1 -1
- package/packages/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.js +14 -2
- package/packages/utils/src/lib/frameworks/frameworkRouteFileNameToRoute.js.map +1 -1
- package/packages/utils/src/lib/frameworks/getNextRoutePath.js +2 -1
- package/packages/utils/src/lib/frameworks/getNextRoutePath.js.map +1 -1
- package/packages/utils/src/lib/frameworks/getRemixRoutePath.js +2 -1
- package/packages/utils/src/lib/frameworks/getRemixRoutePath.js.map +1 -1
- package/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.js +14 -2
- package/packages/utils/src/lib/frameworks/nextRouteFileNameToRoute.js.map +1 -1
- package/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.js +1 -0
- package/packages/utils/src/lib/frameworks/remixRouteFileNameToRoute.js.map +1 -1
- package/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.js +62 -0
- package/packages/utils/src/lib/frameworks/sanitizeNextRouteSegments.js.map +1 -0
- package/packages/utils/src/lib/fs/rsyncCopy.js +98 -3
- package/packages/utils/src/lib/fs/rsyncCopy.js.map +1 -1
- package/packages/utils/src/lib/lightweightEntityExtractor.js +42 -0
- package/packages/utils/src/lib/lightweightEntityExtractor.js.map +1 -1
- package/packages/utils/src/lib/safeFileName.js +32 -3
- package/packages/utils/src/lib/safeFileName.js.map +1 -1
- package/packages/utils/src/lib/startCommand/buildStartCommand.js +45 -0
- package/packages/utils/src/lib/startCommand/buildStartCommand.js.map +1 -0
- package/packages/utils/src/lib/startCommand/getWebappInfo.js +67 -0
- package/packages/utils/src/lib/startCommand/getWebappInfo.js.map +1 -0
- package/packages/utils/src/lib/startCommand/index.js +3 -0
- package/packages/utils/src/lib/startCommand/index.js.map +1 -0
- package/scripts/finalize-analyzer.cjs +8 -74
- package/analyzer-template/packages/ai/src/lib/findMatchingAttribute.ts +0 -102
- package/analyzer-template/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.ts +0 -149
- package/analyzer-template/packages/ai/src/lib/generateChangesEntityKeyAttributes.ts +0 -235
- package/analyzer-template/packages/ai/src/lib/generateEntityDataMap.ts +0 -375
- package/analyzer-template/packages/ai/src/lib/generateEntityKeyAttributes.ts +0 -227
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateEntityKeyAttributesGenerator.ts +0 -67
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.ts +0 -101
- package/analyzer-template/packages/github/dist/supabase/index.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/index.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/analysisBranchToDb.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/analysisBranchToDb.js +0 -19
- package/analyzer-template/packages/github/dist/supabase/src/lib/analysisBranchToDb.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/analysisToDb.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/analysisToDb.js +0 -26
- package/analyzer-template/packages/github/dist/supabase/src/lib/analysisToDb.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/backgroundJobToDb.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/backgroundJobToDb.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/branchToDb.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/branchToDb.js +0 -18
- package/analyzer-template/packages/github/dist/supabase/src/lib/branchToDb.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/commitBranchToDb.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/commitBranchToDb.js +0 -13
- package/analyzer-template/packages/github/dist/supabase/src/lib/commitBranchToDb.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/commitToDb.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/commitToDb.js +0 -26
- package/analyzer-template/packages/github/dist/supabase/src/lib/commitToDb.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/createOrUpdateBranchCommitStats.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/createOrUpdateBranchCommitStats.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/createProject.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/createProject.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/createRetryFetch.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/createRetryFetch.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/dbToAnalysis.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/dbToAnalysis.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/dbToAnalysisBranch.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/dbToAnalysisBranch.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/dbToBackgroundJob.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/dbToBackgroundJob.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/dbToBranch.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/dbToBranch.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/dbToCommit.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/dbToCommit.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/dbToCommitBranch.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/dbToCommitBranch.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/dbToEntity.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/dbToEntity.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/dbToEntityBranch.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/dbToEntityBranch.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/dbToFile.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/dbToFile.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/dbToProject.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/dbToProject.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/dbToScenario.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/dbToScenario.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/dbToScenarioComment.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/dbToScenarioComment.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/dbToUserScenario.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/dbToUserScenario.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/deleteBranch.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/deleteBranch.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/deleteEntities.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/deleteEntities.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/deleteFile.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/deleteFile.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/deleteScenarios.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/deleteScenarios.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/entityToDb.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/entityToDb.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/fileToDb.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/fileToDb.js +0 -14
- package/analyzer-template/packages/github/dist/supabase/src/lib/fileToDb.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/generateSha.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/generateSha.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/jsonUpdateUtils.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/jsonUpdateUtils.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/aggregationHelpers.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/aggregationHelpers.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.d.ts +0 -67
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.js +0 -360
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/db.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/schemaHelpers.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/schemaHelpers.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/sqliteBooleanPlugin.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/sqliteBooleanPlugin.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelations.d.ts +0 -87
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelations.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelations.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelationsTypes.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tableRelationsTypes.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/analysesTable.d.ts +0 -105
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/analysesTable.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/analysesTable.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/analysisBranchesTable.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/analysisBranchesTable.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/backgroundJobsTable.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/backgroundJobsTable.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/branchesTable.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/branchesTable.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/commitBranchesTable.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/commitBranchesTable.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/commitsTable.d.ts +0 -47
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/commitsTable.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/commitsTable.js +0 -44
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/commitsTable.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/entitiesTable.d.ts +0 -65
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/entitiesTable.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/entitiesTable.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/entityBranchesTable.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/entityBranchesTable.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/entityStatementsTable.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/entityStatementsTable.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/filesTable.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/filesTable.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/githubPayloadsTable.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/githubPayloadsTable.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/githubUsersTable.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/githubUsersTable.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/projectsTable.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/projectsTable.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/scenarioCommentsTable.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/scenarioCommentsTable.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/scenariosTable.d.ts +0 -65
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/scenariosTable.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/scenariosTable.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/statementsTable.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/statementsTable.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/teamsTable.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/teamsTable.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/userScenariosTable.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/userScenariosTable.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/userTeamsTable.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/userTeamsTable.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/usersTable.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/tables/usersTable.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/upsertHelpers.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/kysely/upsertHelpers.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalyses.d.ts +0 -14
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalyses.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalyses.js +0 -131
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalyses.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalysis.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalysis.js +0 -130
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalysis.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalysisBranches.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadAnalysisBranches.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadBackgroundJob.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadBackgroundJob.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadBranch.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadBranch.js +0 -90
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadBranch.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadBranches.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadBranches.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommit.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommit.js +0 -111
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommit.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommitBranches.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommitBranches.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommitMetadata.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommitMetadata.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommits.d.ts +0 -13
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommits.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommits.js +0 -188
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadCommits.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntities.d.ts +0 -11
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntities.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntities.js +0 -63
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntities.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntity.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntity.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntityBranches.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntityBranches.js +0 -114
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadEntityBranches.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadFile.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadFile.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadFiles.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadFiles.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadMostRecentPreviousAnalysis.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadMostRecentPreviousAnalysis.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadProject.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadProject.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadReadyToBeCapturedAnalyses.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadReadyToBeCapturedAnalyses.js +0 -50
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadReadyToBeCapturedAnalyses.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadScenario.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadScenario.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadStatement.d.ts +0 -3
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadStatement.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/loadStatement.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/nullsToUndefines.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/nullsToUndefines.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/projectToDb.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/projectToDb.js +0 -18
- package/analyzer-template/packages/github/dist/supabase/src/lib/projectToDb.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/saveBackgroundEvent.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/saveBackgroundEvent.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/saveEntityStatements.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/saveEntityStatements.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/saveFiles.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/saveFiles.js +0 -33
- package/analyzer-template/packages/github/dist/supabase/src/lib/saveFiles.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/saveStatement.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/saveStatement.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/scenarioToDb.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/scenarioToDb.js +0 -18
- package/analyzer-template/packages/github/dist/supabase/src/lib/scenarioToDb.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/supabase.d.ts +0 -4
- package/analyzer-template/packages/github/dist/supabase/src/lib/supabase.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/supabase.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/updateBackgroundJobProgress.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/updateBackgroundJobProgress.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/updateCommitMetadata.d.ts +0 -13
- package/analyzer-template/packages/github/dist/supabase/src/lib/updateCommitMetadata.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/updateCommitMetadata.js +0 -100
- package/analyzer-template/packages/github/dist/supabase/src/lib/updateCommitMetadata.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/updateEntityBranch.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/updateEntityBranch.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/updateFreshAnalysisMetadata.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/updateFreshAnalysisMetadata.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/updateFreshAnalysisStatus.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/updateFreshAnalysisStatus.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/updateFreshAnalysisStatusWithScenarios.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/updateProjectMetadata.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/updateProjectMetadata.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/upsertAnalyses.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/upsertAnalyses.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/upsertAnalysesWithScenarios.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/upsertAnalysesWithScenarios.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/upsertAnalysisBranches.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/upsertAnalysisBranches.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/upsertBackgroundJob.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/upsertBackgroundJob.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/upsertBranches.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/upsertBranches.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/upsertCommitBranches.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/upsertCommitBranches.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/upsertCommits.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/upsertCommits.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/upsertEntities.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/upsertEntities.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/upsertEntityBranches.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/upsertEntityBranches.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/upsertFiles.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/upsertFiles.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/upsertGithubUser.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/upsertGithubUser.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/upsertProjects.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/upsertProjects.js.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/upsertScenarios.d.ts.map +0 -1
- package/analyzer-template/packages/github/dist/supabase/src/lib/upsertScenarios.js.map +0 -1
- package/analyzer-template/packages/supabase/client.ts +0 -35
- package/analyzer-template/packages/supabase/package.json +0 -31
- package/analyzer-template/packages/supabase/src/lib/analysisBranchToDb.ts +0 -28
- package/analyzer-template/packages/supabase/src/lib/analysisToDb.ts +0 -59
- package/analyzer-template/packages/supabase/src/lib/branchToDb.ts +0 -24
- package/analyzer-template/packages/supabase/src/lib/commitBranchToDb.ts +0 -20
- package/analyzer-template/packages/supabase/src/lib/commitToDb.ts +0 -47
- package/analyzer-template/packages/supabase/src/lib/fileToDb.ts +0 -17
- package/analyzer-template/packages/supabase/src/lib/kysely/db.ts +0 -476
- package/analyzer-template/packages/supabase/src/lib/kysely/tableRelations.ts +0 -105
- package/analyzer-template/packages/supabase/src/lib/kysely/tables/commitsTable.ts +0 -61
- package/analyzer-template/packages/supabase/src/lib/loadAnalyses.ts +0 -218
- package/analyzer-template/packages/supabase/src/lib/loadAnalysis.ts +0 -210
- package/analyzer-template/packages/supabase/src/lib/loadBranch.ts +0 -122
- package/analyzer-template/packages/supabase/src/lib/loadCommit.ts +0 -163
- package/analyzer-template/packages/supabase/src/lib/loadCommits.ts +0 -251
- package/analyzer-template/packages/supabase/src/lib/loadEntities.ts +0 -94
- package/analyzer-template/packages/supabase/src/lib/loadEntity.ts +0 -110
- package/analyzer-template/packages/supabase/src/lib/loadEntityBranches.ts +0 -166
- package/analyzer-template/packages/supabase/src/lib/loadFile.ts +0 -47
- package/analyzer-template/packages/supabase/src/lib/loadFiles.ts +0 -137
- package/analyzer-template/packages/supabase/src/lib/loadReadyToBeCapturedAnalyses.ts +0 -76
- package/analyzer-template/packages/supabase/src/lib/loadStatement.ts +0 -23
- package/analyzer-template/packages/supabase/src/lib/projectToDb.ts +0 -35
- package/analyzer-template/packages/supabase/src/lib/saveEntityStatements.ts +0 -28
- package/analyzer-template/packages/supabase/src/lib/saveFiles.ts +0 -43
- package/analyzer-template/packages/supabase/src/lib/scenarioToDb.ts +0 -34
- package/analyzer-template/packages/supabase/src/lib/updateCommitMetadata.ts +0 -188
- package/analyzer-template/packages/supabase/src/lib/updateProjectMetadata.ts +0 -96
- package/analyzer-template/packages/supabase/src/lib/userScenarioToDb.ts +0 -18
- 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 +0 -244
- 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/commands/detect-universal-mocks.js +0 -118
- package/codeyam-cli/src/commands/detect-universal-mocks.js.map +0 -1
- package/codeyam-cli/src/commands/list.js +0 -31
- package/codeyam-cli/src/commands/list.js.map +0 -1
- package/codeyam-cli/src/utils/universal-mocks.js +0 -152
- package/codeyam-cli/src/utils/universal-mocks.js.map +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/EntityTypeIcon-rqv54FUY.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/InteractivePreview-B0oiPem-.js +0 -26
- package/codeyam-cli/src/webserver/build/client/assets/LibraryFunctionPreview-DqXXjAJ7.js +0 -3
- package/codeyam-cli/src/webserver/build/client/assets/LogViewer-BKKG1s2B.js +0 -3
- package/codeyam-cli/src/webserver/build/client/assets/SafeScreenshot-DU_jxCPD.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/ScenarioPreview-5DY-YIxu.js +0 -6
- package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-DmjXUj6m.js +0 -5
- package/codeyam-cli/src/webserver/build/client/assets/_index-DvSrcxsk.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-CsaMd9mb.js +0 -10
- package/codeyam-cli/src/webserver/build/client/assets/chart-column-VXBS6qOn.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/circle-alert-n5GUC2AS.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/clock-DKqtX8js.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/components-Dj-Ggnl2.js +0 -40
- package/codeyam-cli/src/webserver/build/client/assets/cy-logo-cli-C1gnJVOL.svg +0 -4
- package/codeyam-cli/src/webserver/build/client/assets/dev.empty-BbR3FwNc.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha._-BHiWkb_W.js +0 -11
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.create-scenario-L7M9Vr5z.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha_.edit._scenarioId-C9w-q7P3.js +0 -5
- package/codeyam-cli/src/webserver/build/client/assets/entityVersioning-Bk_YB1jM.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/entry.client-CdGoUs8A.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/file-text-B6Er7j5k.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/files-KcDVw1FY.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/git-B9uZ8eSJ.js +0 -12
- package/codeyam-cli/src/webserver/build/client/assets/globals-B0f88RTV.css +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/loader-circle-v3c6DFp4.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/manifest-fca08d7e.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/root-Cf8VBqIb.js +0 -16
- package/codeyam-cli/src/webserver/build/client/assets/search-DA14wXpu.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-COJUrwGu.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/settings-NU_ZquhK.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/simulations-CNaMJ-nR.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/useLastLogLine-Lumm1t01.js +0 -2
- package/codeyam-cli/src/webserver/build/client/assets/useToast-BRShB17p.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/zap-BvukH0eN.js +0 -1
- package/codeyam-cli/src/webserver/build/client/cy-logo-cli.svg +0 -13
- package/codeyam-cli/src/webserver/build/client/favicon.svg +0 -13
- package/codeyam-cli/src/webserver/build/server/assets/index-DHr4rT4u.js +0 -1
- package/codeyam-cli/src/webserver/build/server/assets/server-build-Bi1mj14J.js +0 -166
- package/codeyam-cli/src/webserver/public/cy-logo-cli.svg +0 -13
- package/codeyam-cli/src/webserver/public/favicon.svg +0 -13
- package/codeyam-cli/templates/codeyam-debug-skill.md +0 -557
- package/codeyam-cli/templates/codeyam-setup-skill.md +0 -468
- package/codeyam-cli/templates/codeyam-sim-skill.md +0 -222
- package/codeyam-cli/templates/codeyam-stop-hook.sh +0 -284
- package/codeyam-cli/templates/codeyam-test-skill.md +0 -178
- package/codeyam-cli/templates/codeyam-verify-skill.md +0 -179
- 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 -112
- package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js.map +0 -1
- package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js +0 -190
- package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js.map +0 -1
- package/packages/ai/src/lib/generateEntityDataMap.js +0 -335
- package/packages/ai/src/lib/generateEntityDataMap.js.map +0 -1
- package/packages/ai/src/lib/generateEntityKeyAttributes.js +0 -182
- 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/generateEntityDataMapGenerator.js +0 -17
- package/packages/ai/src/lib/promptGenerators/generateEntityDataMapGenerator.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 -59
- package/packages/analyze/src/lib/files/scenarios/generateKeyAttributes.js.map +0 -1
- package/packages/supabase/index.js.map +0 -1
- package/packages/supabase/src/lib/analysisBranchToDb.js +0 -19
- package/packages/supabase/src/lib/analysisBranchToDb.js.map +0 -1
- package/packages/supabase/src/lib/analysisToDb.js +0 -26
- package/packages/supabase/src/lib/analysisToDb.js.map +0 -1
- package/packages/supabase/src/lib/backgroundJobToDb.js.map +0 -1
- package/packages/supabase/src/lib/branchToDb.js +0 -18
- package/packages/supabase/src/lib/branchToDb.js.map +0 -1
- package/packages/supabase/src/lib/commitBranchToDb.js +0 -13
- package/packages/supabase/src/lib/commitBranchToDb.js.map +0 -1
- package/packages/supabase/src/lib/commitToDb.js +0 -26
- package/packages/supabase/src/lib/commitToDb.js.map +0 -1
- package/packages/supabase/src/lib/createOrUpdateBranchCommitStats.js.map +0 -1
- package/packages/supabase/src/lib/createProject.js.map +0 -1
- package/packages/supabase/src/lib/createRetryFetch.js.map +0 -1
- package/packages/supabase/src/lib/dbToAnalysis.js.map +0 -1
- package/packages/supabase/src/lib/dbToAnalysisBranch.js.map +0 -1
- package/packages/supabase/src/lib/dbToBackgroundJob.js.map +0 -1
- package/packages/supabase/src/lib/dbToBranch.js.map +0 -1
- package/packages/supabase/src/lib/dbToCommit.js.map +0 -1
- package/packages/supabase/src/lib/dbToCommitBranch.js.map +0 -1
- package/packages/supabase/src/lib/dbToEntity.js.map +0 -1
- package/packages/supabase/src/lib/dbToEntityBranch.js.map +0 -1
- package/packages/supabase/src/lib/dbToFile.js.map +0 -1
- package/packages/supabase/src/lib/dbToProject.js.map +0 -1
- package/packages/supabase/src/lib/dbToScenario.js.map +0 -1
- package/packages/supabase/src/lib/dbToScenarioComment.js.map +0 -1
- package/packages/supabase/src/lib/dbToUserScenario.js.map +0 -1
- package/packages/supabase/src/lib/deleteBranch.js.map +0 -1
- package/packages/supabase/src/lib/deleteEntities.js.map +0 -1
- package/packages/supabase/src/lib/deleteFile.js.map +0 -1
- package/packages/supabase/src/lib/deleteScenarios.js.map +0 -1
- package/packages/supabase/src/lib/entityToDb.js.map +0 -1
- package/packages/supabase/src/lib/fileToDb.js +0 -14
- package/packages/supabase/src/lib/fileToDb.js.map +0 -1
- package/packages/supabase/src/lib/generateSha.js.map +0 -1
- package/packages/supabase/src/lib/jsonUpdateUtils.js.map +0 -1
- package/packages/supabase/src/lib/kysely/aggregationHelpers.js.map +0 -1
- package/packages/supabase/src/lib/kysely/db.js +0 -360
- package/packages/supabase/src/lib/kysely/db.js.map +0 -1
- package/packages/supabase/src/lib/kysely/schemaHelpers.js.map +0 -1
- package/packages/supabase/src/lib/kysely/sqliteBooleanPlugin.js.map +0 -1
- package/packages/supabase/src/lib/kysely/tableRelations.js.map +0 -1
- package/packages/supabase/src/lib/kysely/tableRelationsTypes.js.map +0 -1
- package/packages/supabase/src/lib/kysely/tables/analysesTable.js.map +0 -1
- package/packages/supabase/src/lib/kysely/tables/analysisBranchesTable.js.map +0 -1
- package/packages/supabase/src/lib/kysely/tables/backgroundJobsTable.js.map +0 -1
- package/packages/supabase/src/lib/kysely/tables/branchesTable.js.map +0 -1
- package/packages/supabase/src/lib/kysely/tables/commitBranchesTable.js.map +0 -1
- package/packages/supabase/src/lib/kysely/tables/commitsTable.js +0 -44
- package/packages/supabase/src/lib/kysely/tables/commitsTable.js.map +0 -1
- package/packages/supabase/src/lib/kysely/tables/entitiesTable.js.map +0 -1
- package/packages/supabase/src/lib/kysely/tables/entityBranchesTable.js.map +0 -1
- package/packages/supabase/src/lib/kysely/tables/entityStatementsTable.js.map +0 -1
- package/packages/supabase/src/lib/kysely/tables/filesTable.js.map +0 -1
- package/packages/supabase/src/lib/kysely/tables/githubPayloadsTable.js.map +0 -1
- package/packages/supabase/src/lib/kysely/tables/githubUsersTable.js.map +0 -1
- package/packages/supabase/src/lib/kysely/tables/projectsTable.js.map +0 -1
- package/packages/supabase/src/lib/kysely/tables/scenarioCommentsTable.js.map +0 -1
- package/packages/supabase/src/lib/kysely/tables/scenariosTable.js.map +0 -1
- package/packages/supabase/src/lib/kysely/tables/statementsTable.js.map +0 -1
- package/packages/supabase/src/lib/kysely/tables/teamsTable.js.map +0 -1
- package/packages/supabase/src/lib/kysely/tables/userScenariosTable.js.map +0 -1
- package/packages/supabase/src/lib/kysely/tables/userTeamsTable.js.map +0 -1
- package/packages/supabase/src/lib/kysely/tables/usersTable.js.map +0 -1
- package/packages/supabase/src/lib/kysely/upsertHelpers.js.map +0 -1
- package/packages/supabase/src/lib/loadAnalyses.js +0 -131
- package/packages/supabase/src/lib/loadAnalyses.js.map +0 -1
- package/packages/supabase/src/lib/loadAnalysis.js +0 -130
- package/packages/supabase/src/lib/loadAnalysis.js.map +0 -1
- package/packages/supabase/src/lib/loadAnalysisBranches.js.map +0 -1
- package/packages/supabase/src/lib/loadBackgroundJob.js.map +0 -1
- package/packages/supabase/src/lib/loadBranch.js +0 -90
- package/packages/supabase/src/lib/loadBranch.js.map +0 -1
- package/packages/supabase/src/lib/loadBranches.js.map +0 -1
- package/packages/supabase/src/lib/loadCommit.js +0 -111
- package/packages/supabase/src/lib/loadCommit.js.map +0 -1
- package/packages/supabase/src/lib/loadCommitBranches.js.map +0 -1
- package/packages/supabase/src/lib/loadCommitMetadata.js.map +0 -1
- package/packages/supabase/src/lib/loadCommits.js +0 -188
- package/packages/supabase/src/lib/loadCommits.js.map +0 -1
- package/packages/supabase/src/lib/loadEntities.js +0 -63
- package/packages/supabase/src/lib/loadEntities.js.map +0 -1
- package/packages/supabase/src/lib/loadEntity.js.map +0 -1
- package/packages/supabase/src/lib/loadEntityBranches.js +0 -114
- package/packages/supabase/src/lib/loadEntityBranches.js.map +0 -1
- package/packages/supabase/src/lib/loadFile.js.map +0 -1
- package/packages/supabase/src/lib/loadFiles.js.map +0 -1
- package/packages/supabase/src/lib/loadMostRecentPreviousAnalysis.js.map +0 -1
- package/packages/supabase/src/lib/loadProject.js.map +0 -1
- package/packages/supabase/src/lib/loadReadyToBeCapturedAnalyses.js +0 -50
- package/packages/supabase/src/lib/loadReadyToBeCapturedAnalyses.js.map +0 -1
- package/packages/supabase/src/lib/loadScenario.js.map +0 -1
- package/packages/supabase/src/lib/loadStatement.js.map +0 -1
- package/packages/supabase/src/lib/nullsToUndefines.js.map +0 -1
- package/packages/supabase/src/lib/projectToDb.js +0 -18
- package/packages/supabase/src/lib/projectToDb.js.map +0 -1
- package/packages/supabase/src/lib/saveBackgroundEvent.js.map +0 -1
- package/packages/supabase/src/lib/saveEntityStatements.js.map +0 -1
- package/packages/supabase/src/lib/saveFiles.js +0 -33
- package/packages/supabase/src/lib/saveFiles.js.map +0 -1
- package/packages/supabase/src/lib/saveStatement.js.map +0 -1
- package/packages/supabase/src/lib/scenarioToDb.js +0 -18
- package/packages/supabase/src/lib/scenarioToDb.js.map +0 -1
- package/packages/supabase/src/lib/supabase.js.map +0 -1
- package/packages/supabase/src/lib/updateBackgroundJobProgress.js.map +0 -1
- package/packages/supabase/src/lib/updateCommitMetadata.js +0 -100
- package/packages/supabase/src/lib/updateCommitMetadata.js.map +0 -1
- package/packages/supabase/src/lib/updateEntityBranch.js.map +0 -1
- package/packages/supabase/src/lib/updateFreshAnalysisMetadata.js.map +0 -1
- package/packages/supabase/src/lib/updateFreshAnalysisStatus.js.map +0 -1
- package/packages/supabase/src/lib/updateFreshAnalysisStatusWithScenarios.js.map +0 -1
- package/packages/supabase/src/lib/updateProjectMetadata.js.map +0 -1
- package/packages/supabase/src/lib/upsertAnalyses.js.map +0 -1
- package/packages/supabase/src/lib/upsertAnalysesWithScenarios.js.map +0 -1
- package/packages/supabase/src/lib/upsertAnalysisBranches.js.map +0 -1
- package/packages/supabase/src/lib/upsertBackgroundJob.js.map +0 -1
- package/packages/supabase/src/lib/upsertBranches.js.map +0 -1
- package/packages/supabase/src/lib/upsertCommitBranches.js.map +0 -1
- package/packages/supabase/src/lib/upsertCommits.js.map +0 -1
- package/packages/supabase/src/lib/upsertEntities.js.map +0 -1
- package/packages/supabase/src/lib/upsertEntityBranches.js.map +0 -1
- package/packages/supabase/src/lib/upsertFiles.js.map +0 -1
- package/packages/supabase/src/lib/upsertGithubUser.js.map +0 -1
- package/packages/supabase/src/lib/upsertProjects.js.map +0 -1
- package/packages/supabase/src/lib/upsertScenarios.js.map +0 -1
- /package/analyzer-template/packages/{supabase → database}/__mocks__/index.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/index.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/backgroundJobToDb.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/client/listenForCommits_Client.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/client/loadAnalysesInClient.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/client/loadAnalysis_Client.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/client/loadBranches_Client.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/client/loadCommit_Client.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/client/upsertFiles_Client.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/createOrUpdateBranchCommitStats.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/createProject.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/createRetryFetch.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/dbToAnalysis.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/dbToAnalysisBranch.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/dbToBackgroundJob.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/dbToBranch.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/dbToCommit.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/dbToCommitBranch.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/dbToEntity.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/dbToEntityBranch.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/dbToFile.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/dbToProject.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/dbToScenario.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/dbToScenarioComment.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/dbToUserScenario.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/deleteBranch.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/deleteEntities.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/deleteFile.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/deleteScenarios.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/entityToDb.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/generateSha.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/jsonUpdateUtils.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/aggregationHelpers.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/schemaHelpers.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/sqliteBooleanPlugin.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tableRelationsTypes.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/analysesTable.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/analysisBranchesTable.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/backgroundJobsTable.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/branchesTable.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/commitBranchesTable.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/entitiesTable.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/entityBranchesTable.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/entityStatementsTable.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/filesTable.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/githubPayloadsTable.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/githubUsersTable.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/projectsTable.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/scenarioCommentsTable.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/scenariosTable.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/statementsTable.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/teamsTable.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/userScenariosTable.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/userTeamsTable.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/tables/usersTable.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/kysely/upsertHelpers.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/kysely.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/loadAnalysisBranches.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/loadBackgroundJob.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/loadBranches.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/loadCommitBranches.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/loadCommitMetadata.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/loadMostRecentPreviousAnalysis.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/loadProject.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/loadScenario.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/nullsToUndefines.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/saveBackgroundEvent.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/saveStatement.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/scenarioCommentToDb.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/supabase.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/updateBackgroundJobProgress.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/updateEntityBranch.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/updateFreshAnalysisMetadata.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/updateFreshAnalysisStatus.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/updateFreshAnalysisStatusWithScenarios.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/upsertAnalyses.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/upsertAnalysesWithScenarios.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/upsertAnalysisBranches.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/upsertBackgroundJob.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/upsertBranches.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/upsertCommitBranches.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/upsertCommits.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/upsertEntities.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/upsertEntityBranches.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/upsertFiles.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/upsertGithubUser.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/upsertProjects.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/src/lib/upsertScenarios.ts +0 -0
- /package/analyzer-template/packages/{supabase → database}/tsconfig.json +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/index.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/index.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/analysisBranchToDb.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/analysisToDb.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/backgroundJobToDb.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/backgroundJobToDb.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/branchToDb.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/commitBranchToDb.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/commitToDb.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/createOrUpdateBranchCommitStats.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/createOrUpdateBranchCommitStats.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/createProject.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/createProject.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/createRetryFetch.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/createRetryFetch.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToAnalysis.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToAnalysis.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToAnalysisBranch.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToAnalysisBranch.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToBackgroundJob.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToBackgroundJob.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToBranch.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToBranch.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToCommit.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToCommit.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToCommitBranch.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToCommitBranch.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToEntity.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToEntity.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToEntityBranch.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToEntityBranch.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToFile.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToFile.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToProject.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToProject.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToScenario.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToScenario.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToScenarioComment.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToScenarioComment.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToUserScenario.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/dbToUserScenario.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteBranch.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteBranch.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteEntities.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteEntities.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteFile.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteFile.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteScenarios.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/deleteScenarios.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/entityToDb.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/entityToDb.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/fileToDb.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/generateSha.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/generateSha.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/jsonUpdateUtils.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/jsonUpdateUtils.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/aggregationHelpers.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/aggregationHelpers.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/schemaHelpers.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/schemaHelpers.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/sqliteBooleanPlugin.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/sqliteBooleanPlugin.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tableRelations.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tableRelationsTypes.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tableRelationsTypes.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/analysesTable.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/analysisBranchesTable.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/analysisBranchesTable.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/backgroundJobsTable.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/backgroundJobsTable.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/branchesTable.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/branchesTable.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/commitBranchesTable.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/commitBranchesTable.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/entitiesTable.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/entityBranchesTable.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/entityBranchesTable.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/entityStatementsTable.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/entityStatementsTable.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/filesTable.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/filesTable.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/githubPayloadsTable.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/githubPayloadsTable.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/githubUsersTable.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/githubUsersTable.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/projectsTable.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/projectsTable.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/scenarioCommentsTable.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/scenarioCommentsTable.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/scenariosTable.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/statementsTable.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/statementsTable.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/teamsTable.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/teamsTable.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/userScenariosTable.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/userScenariosTable.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/userTeamsTable.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/userTeamsTable.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/usersTable.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/tables/usersTable.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/upsertHelpers.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/kysely/upsertHelpers.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadAnalysis.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadAnalysisBranches.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadAnalysisBranches.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadBackgroundJob.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadBackgroundJob.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadBranch.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadBranches.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadBranches.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadCommit.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadCommitBranches.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadCommitBranches.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadCommitMetadata.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadCommitMetadata.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadEntity.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadEntity.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadEntityBranches.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadFile.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadFile.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadFiles.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadFiles.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadMostRecentPreviousAnalysis.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadMostRecentPreviousAnalysis.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadProject.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadProject.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadReadyToBeCapturedAnalyses.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadScenario.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadScenario.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/loadStatement.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/nullsToUndefines.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/nullsToUndefines.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/projectToDb.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveBackgroundEvent.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveBackgroundEvent.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveEntityStatements.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveEntityStatements.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveFiles.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveStatement.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/saveStatement.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/scenarioToDb.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/supabase.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateBackgroundJobProgress.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateBackgroundJobProgress.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateEntityBranch.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateEntityBranch.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateFreshAnalysisMetadata.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateFreshAnalysisMetadata.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateFreshAnalysisStatus.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateFreshAnalysisStatus.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateFreshAnalysisStatusWithScenarios.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateFreshAnalysisStatusWithScenarios.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateProjectMetadata.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/updateProjectMetadata.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertAnalyses.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertAnalyses.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertAnalysesWithScenarios.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertAnalysesWithScenarios.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertAnalysisBranches.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertAnalysisBranches.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertBackgroundJob.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertBackgroundJob.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertBranches.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertBranches.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertCommitBranches.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertCommitBranches.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertCommits.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertCommits.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertEntities.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertEntities.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertEntityBranches.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertEntityBranches.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertFiles.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertFiles.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertGithubUser.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertGithubUser.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertProjects.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertProjects.js +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertScenarios.d.ts +0 -0
- /package/analyzer-template/packages/github/dist/{supabase → database}/src/lib/upsertScenarios.js +0 -0
- /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/packages/{supabase → database}/index.js +0 -0
- /package/packages/{supabase → database}/src/lib/backgroundJobToDb.js +0 -0
- /package/packages/{supabase → database}/src/lib/createOrUpdateBranchCommitStats.js +0 -0
- /package/packages/{supabase → database}/src/lib/createProject.js +0 -0
- /package/packages/{supabase → database}/src/lib/createRetryFetch.js +0 -0
- /package/packages/{supabase → database}/src/lib/dbToAnalysis.js +0 -0
- /package/packages/{supabase → database}/src/lib/dbToAnalysisBranch.js +0 -0
- /package/packages/{supabase → database}/src/lib/dbToBackgroundJob.js +0 -0
- /package/packages/{supabase → database}/src/lib/dbToBranch.js +0 -0
- /package/packages/{supabase → database}/src/lib/dbToCommit.js +0 -0
- /package/packages/{supabase → database}/src/lib/dbToCommitBranch.js +0 -0
- /package/packages/{supabase → database}/src/lib/dbToEntity.js +0 -0
- /package/packages/{supabase → database}/src/lib/dbToEntityBranch.js +0 -0
- /package/packages/{supabase → database}/src/lib/dbToFile.js +0 -0
- /package/packages/{supabase → database}/src/lib/dbToProject.js +0 -0
- /package/packages/{supabase → database}/src/lib/dbToScenario.js +0 -0
- /package/packages/{supabase → database}/src/lib/dbToScenarioComment.js +0 -0
- /package/packages/{supabase → database}/src/lib/dbToUserScenario.js +0 -0
- /package/packages/{supabase → database}/src/lib/deleteBranch.js +0 -0
- /package/packages/{supabase → database}/src/lib/deleteEntities.js +0 -0
- /package/packages/{supabase → database}/src/lib/deleteFile.js +0 -0
- /package/packages/{supabase → database}/src/lib/deleteScenarios.js +0 -0
- /package/packages/{supabase → database}/src/lib/entityToDb.js +0 -0
- /package/packages/{supabase → database}/src/lib/generateSha.js +0 -0
- /package/packages/{supabase → database}/src/lib/jsonUpdateUtils.js +0 -0
- /package/packages/{supabase → database}/src/lib/kysely/aggregationHelpers.js +0 -0
- /package/packages/{supabase → database}/src/lib/kysely/schemaHelpers.js +0 -0
- /package/packages/{supabase → database}/src/lib/kysely/sqliteBooleanPlugin.js +0 -0
- /package/packages/{supabase → database}/src/lib/kysely/tableRelations.js +0 -0
- /package/packages/{supabase → database}/src/lib/kysely/tableRelationsTypes.js +0 -0
- /package/packages/{supabase → database}/src/lib/kysely/tables/analysesTable.js +0 -0
- /package/packages/{supabase → database}/src/lib/kysely/tables/analysisBranchesTable.js +0 -0
- /package/packages/{supabase → database}/src/lib/kysely/tables/backgroundJobsTable.js +0 -0
- /package/packages/{supabase → database}/src/lib/kysely/tables/branchesTable.js +0 -0
- /package/packages/{supabase → database}/src/lib/kysely/tables/commitBranchesTable.js +0 -0
- /package/packages/{supabase → database}/src/lib/kysely/tables/entitiesTable.js +0 -0
- /package/packages/{supabase → database}/src/lib/kysely/tables/entityBranchesTable.js +0 -0
- /package/packages/{supabase → database}/src/lib/kysely/tables/entityStatementsTable.js +0 -0
- /package/packages/{supabase → database}/src/lib/kysely/tables/filesTable.js +0 -0
- /package/packages/{supabase → database}/src/lib/kysely/tables/githubPayloadsTable.js +0 -0
- /package/packages/{supabase → database}/src/lib/kysely/tables/githubUsersTable.js +0 -0
- /package/packages/{supabase → database}/src/lib/kysely/tables/projectsTable.js +0 -0
- /package/packages/{supabase → database}/src/lib/kysely/tables/scenarioCommentsTable.js +0 -0
- /package/packages/{supabase → database}/src/lib/kysely/tables/scenariosTable.js +0 -0
- /package/packages/{supabase → database}/src/lib/kysely/tables/statementsTable.js +0 -0
- /package/packages/{supabase → database}/src/lib/kysely/tables/teamsTable.js +0 -0
- /package/packages/{supabase → database}/src/lib/kysely/tables/userScenariosTable.js +0 -0
- /package/packages/{supabase → database}/src/lib/kysely/tables/userTeamsTable.js +0 -0
- /package/packages/{supabase → database}/src/lib/kysely/tables/usersTable.js +0 -0
- /package/packages/{supabase → database}/src/lib/kysely/upsertHelpers.js +0 -0
- /package/packages/{supabase → database}/src/lib/loadAnalysisBranches.js +0 -0
- /package/packages/{supabase → database}/src/lib/loadBackgroundJob.js +0 -0
- /package/packages/{supabase → database}/src/lib/loadBranches.js +0 -0
- /package/packages/{supabase → database}/src/lib/loadCommitBranches.js +0 -0
- /package/packages/{supabase → database}/src/lib/loadCommitMetadata.js +0 -0
- /package/packages/{supabase → database}/src/lib/loadEntity.js +0 -0
- /package/packages/{supabase → database}/src/lib/loadFile.js +0 -0
- /package/packages/{supabase → database}/src/lib/loadFiles.js +0 -0
- /package/packages/{supabase → database}/src/lib/loadMostRecentPreviousAnalysis.js +0 -0
- /package/packages/{supabase → database}/src/lib/loadProject.js +0 -0
- /package/packages/{supabase → database}/src/lib/loadScenario.js +0 -0
- /package/packages/{supabase → database}/src/lib/loadStatement.js +0 -0
- /package/packages/{supabase → database}/src/lib/nullsToUndefines.js +0 -0
- /package/packages/{supabase → database}/src/lib/saveBackgroundEvent.js +0 -0
- /package/packages/{supabase → database}/src/lib/saveEntityStatements.js +0 -0
- /package/packages/{supabase → database}/src/lib/saveStatement.js +0 -0
- /package/packages/{supabase → database}/src/lib/supabase.js +0 -0
- /package/packages/{supabase → database}/src/lib/updateBackgroundJobProgress.js +0 -0
- /package/packages/{supabase → database}/src/lib/updateEntityBranch.js +0 -0
- /package/packages/{supabase → database}/src/lib/updateFreshAnalysisMetadata.js +0 -0
- /package/packages/{supabase → database}/src/lib/updateFreshAnalysisStatus.js +0 -0
- /package/packages/{supabase → database}/src/lib/updateFreshAnalysisStatusWithScenarios.js +0 -0
- /package/packages/{supabase → database}/src/lib/updateProjectMetadata.js +0 -0
- /package/packages/{supabase → database}/src/lib/upsertAnalyses.js +0 -0
- /package/packages/{supabase → database}/src/lib/upsertAnalysesWithScenarios.js +0 -0
- /package/packages/{supabase → database}/src/lib/upsertAnalysisBranches.js +0 -0
- /package/packages/{supabase → database}/src/lib/upsertBackgroundJob.js +0 -0
- /package/packages/{supabase → database}/src/lib/upsertBranches.js +0 -0
- /package/packages/{supabase → database}/src/lib/upsertCommitBranches.js +0 -0
- /package/packages/{supabase → database}/src/lib/upsertCommits.js +0 -0
- /package/packages/{supabase → database}/src/lib/upsertEntities.js +0 -0
- /package/packages/{supabase → database}/src/lib/upsertEntityBranches.js +0 -0
- /package/packages/{supabase → database}/src/lib/upsertFiles.js +0 -0
- /package/packages/{supabase → database}/src/lib/upsertGithubUser.js +0 -0
- /package/packages/{supabase → database}/src/lib/upsertProjects.js +0 -0
- /package/packages/{supabase → database}/src/lib/upsertScenarios.js +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,4 +1,116 @@
|
|
|
1
|
-
import { joinParenthesesAndArrays, splitOutsideParenthesesAndArrays, functionArguments, cleanOutBoundary, fillInDirectSchemaGapsAndUnknowns, } from "../../../../../packages/ai/index.js";
|
|
1
|
+
import { joinParenthesesAndArrays, splitOutsideParenthesesAndArrays, functionArguments, cleanOutBoundary, fillInDirectSchemaGapsAndUnknowns, removeDuplicateFunctionCalls, } from "../../../../../packages/ai/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* Converts a call signature to a valid JavaScript identifier (function name).
|
|
4
|
+
* The original signature is preserved for data access - this only creates the function name.
|
|
5
|
+
*
|
|
6
|
+
* Examples:
|
|
7
|
+
* - "useAuth()" → "useAuth"
|
|
8
|
+
* - "db.select(usersQuery)" → "db_select_usersQuery"
|
|
9
|
+
* - "db.select(postsQuery)" → "db_select_postsQuery"
|
|
10
|
+
* - "useFetcher<User>()" → "useFetcher_User"
|
|
11
|
+
* - "useFetcher<{ data: UserData | null }>()" → "useFetcher_data_UserData_null"
|
|
12
|
+
* - "eq('user_id', value)" → "eq_user_id_value"
|
|
13
|
+
* - "from('workouts')" → "from_workouts"
|
|
14
|
+
*/
|
|
15
|
+
function callSignatureToFunctionName(signature) {
|
|
16
|
+
// Extract components from the signature
|
|
17
|
+
const components = [];
|
|
18
|
+
// 1. Extract function path (parts separated by dots outside parens/brackets)
|
|
19
|
+
const pathMatch = signature.match(/^([^<(]+)/);
|
|
20
|
+
if (pathMatch) {
|
|
21
|
+
const path = pathMatch[1];
|
|
22
|
+
// Split on dots but preserve the parts
|
|
23
|
+
components.push(...path.split('.').filter(Boolean));
|
|
24
|
+
}
|
|
25
|
+
// 2. Extract generic type parameters (content between < and >)
|
|
26
|
+
const genericMatch = signature.match(/<([^>]+)>/);
|
|
27
|
+
if (genericMatch) {
|
|
28
|
+
const genericContent = genericMatch[1];
|
|
29
|
+
// Extract meaningful identifiers from generic type
|
|
30
|
+
// Handle complex types like "{ data: UserData | null }"
|
|
31
|
+
const typeIdentifiers = genericContent
|
|
32
|
+
.replace(/[{}:;,]/g, ' ') // Remove structural chars
|
|
33
|
+
.replace(/\|/g, ' ') // Handle union types
|
|
34
|
+
.split(/\s+/)
|
|
35
|
+
.filter(Boolean)
|
|
36
|
+
.filter((s) => /^[A-Za-z_][A-Za-z0-9_]*$/.test(s)) // Only valid identifiers
|
|
37
|
+
.filter((s) => ![
|
|
38
|
+
'null',
|
|
39
|
+
'undefined',
|
|
40
|
+
'void',
|
|
41
|
+
'never',
|
|
42
|
+
'any',
|
|
43
|
+
'unknown',
|
|
44
|
+
'data',
|
|
45
|
+
'typeof',
|
|
46
|
+
].includes(s)); // Skip common non-meaningful keywords
|
|
47
|
+
if (typeIdentifiers.length > 0) {
|
|
48
|
+
components.push(...typeIdentifiers.slice(0, 2)); // Limit to first 2 for reasonable length
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
// 3. Extract function arguments (first 2 for disambiguation)
|
|
52
|
+
const argsMatch = signature.match(/\(([^)]*)\)/);
|
|
53
|
+
if (argsMatch && argsMatch[1]) {
|
|
54
|
+
const argsContent = argsMatch[1].trim();
|
|
55
|
+
if (argsContent) {
|
|
56
|
+
const args = argsContent.split(',').map((arg) => arg.trim());
|
|
57
|
+
for (const arg of args.slice(0, 2)) {
|
|
58
|
+
// For quoted strings, extract the content
|
|
59
|
+
const stringMatch = arg.match(/^['"`](.+)['"`]$/);
|
|
60
|
+
if (stringMatch) {
|
|
61
|
+
// Split on dots for string paths like 'users.id'
|
|
62
|
+
const parts = stringMatch[1].split('.').filter(Boolean);
|
|
63
|
+
components.push(...parts);
|
|
64
|
+
}
|
|
65
|
+
else if (/^[A-Za-z_][A-Za-z0-9_]*$/.test(arg)) {
|
|
66
|
+
// Valid identifier - use as-is
|
|
67
|
+
components.push(arg);
|
|
68
|
+
}
|
|
69
|
+
else if (/^\d+$/.test(arg)) {
|
|
70
|
+
// Number - use as-is
|
|
71
|
+
components.push(arg);
|
|
72
|
+
}
|
|
73
|
+
// Skip complex expressions
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
// Build the function name from components
|
|
78
|
+
const functionName = components
|
|
79
|
+
.join('_')
|
|
80
|
+
.replace(/[^a-zA-Z0-9_]/g, '_') // Sanitize special chars
|
|
81
|
+
.replace(/_+/g, '_') // Collapse multiple underscores
|
|
82
|
+
.replace(/^_|_$/g, ''); // Trim underscores
|
|
83
|
+
return functionName || 'mock';
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Check if a mock name is a call signature (e.g., "useFetcher<User>()", "db.select(query)")
|
|
87
|
+
*/
|
|
88
|
+
function isCallSignature(mockName) {
|
|
89
|
+
// Call signatures contain parentheses (function calls)
|
|
90
|
+
return mockName.includes('(');
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Extract property names that are jsx-components and should be preserved from original.
|
|
94
|
+
* These are paths like "MockName.Provider()" where the value or functionCallReturnValue is 'jsx-component'.
|
|
95
|
+
*/
|
|
96
|
+
function getJsxComponentProperties(mockName, schema) {
|
|
97
|
+
const jsxProperties = [];
|
|
98
|
+
for (const [path, value] of Object.entries(schema ?? {})) {
|
|
99
|
+
// Look for paths like "MockName.PropertyName()" that are jsx-components
|
|
100
|
+
// Skip paths that have deeper nesting (e.g., "MockName.Foo.Bar()")
|
|
101
|
+
const match = path.match(new RegExp(`^${mockName}\\.([^.()]+)\\(\\)$`));
|
|
102
|
+
if (!match)
|
|
103
|
+
continue;
|
|
104
|
+
const propertyName = match[1];
|
|
105
|
+
// Check if this is a jsx-component (either directly or via functionCallReturnValue)
|
|
106
|
+
const isJsxComponent = value === 'jsx-component' ||
|
|
107
|
+
schema[path + '.functionCallReturnValue'] === 'jsx-component';
|
|
108
|
+
if (isJsxComponent && !jsxProperties.includes(propertyName)) {
|
|
109
|
+
jsxProperties.push(propertyName);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return jsxProperties;
|
|
113
|
+
}
|
|
2
114
|
/**
|
|
3
115
|
* Check if a string is a literal (quoted string or number).
|
|
4
116
|
* Returns the unquoted value if it's a literal, null otherwise.
|
|
@@ -103,21 +215,62 @@ function funcArgs(functionSignature) {
|
|
|
103
215
|
}
|
|
104
216
|
// isValidKey ensures that the key does not contain any characters that would make it invalid in a JavaScript object.
|
|
105
217
|
// For example, it should not contain spaces, special characters, or start with a number.
|
|
218
|
+
// Also rejects keys that are pure function calls like "()" or "(args)" - these aren't property names.
|
|
106
219
|
function isValidKey(key) {
|
|
107
220
|
if (!key || key.length === 0)
|
|
108
221
|
return false;
|
|
109
222
|
const keyWithOutArguments = key.split('(')[0];
|
|
223
|
+
// Reject empty keys (happens when key is "()" or "(args)") - these are function calls, not property names
|
|
224
|
+
if (!keyWithOutArguments || keyWithOutArguments.length === 0)
|
|
225
|
+
return false;
|
|
110
226
|
return !/\s/.test(keyWithOutArguments);
|
|
111
227
|
}
|
|
112
|
-
|
|
113
|
-
|
|
228
|
+
/**
|
|
229
|
+
* Known hooks that return tuples [value, setter] instead of arrays.
|
|
230
|
+
* These should NOT use the .map() pattern even when the schema has generic array access ([]).
|
|
231
|
+
* Instead, they should return [data, () => {}] where data is from scenarios().
|
|
232
|
+
*/
|
|
233
|
+
const TUPLE_RETURNING_HOOKS = new Set([
|
|
234
|
+
'useAtom', // Jotai
|
|
235
|
+
'useState', // React
|
|
236
|
+
'useReducer', // React
|
|
237
|
+
'useRecoilState', // Recoil
|
|
238
|
+
'useImmerAtom', // Jotai with Immer
|
|
239
|
+
]);
|
|
240
|
+
export default function constructMockCode(mockName, dependencySchemas, entityType, _canonicalKey, // DEPRECATED: No longer used, kept for API compatibility
|
|
241
|
+
options) {
|
|
242
|
+
// Check if mockName is a call signature (e.g., "useFetcher<User>()", "db.select(query)")
|
|
243
|
+
const mockNameIsCallSignature = isCallSignature(mockName);
|
|
244
|
+
// For call signatures, use the original signature for data access but generate
|
|
245
|
+
// a valid JS function name from it
|
|
246
|
+
const derivedFunctionName = mockNameIsCallSignature
|
|
247
|
+
? callSignatureToFunctionName(mockName)
|
|
248
|
+
: null;
|
|
249
|
+
// The baseMockName is the function name without type params and args
|
|
250
|
+
// e.g., "useFetcher<User>()" -> "useFetcher", "db.select(query)" -> "db"
|
|
251
|
+
const baseMockName = mockName.split(/[<(]/)[0];
|
|
252
|
+
// The data key is the mockName (call signature) for data access
|
|
253
|
+
let dataKey;
|
|
254
|
+
const mockNameParts = splitOutsideParenthesesAndArrays(baseMockName);
|
|
114
255
|
let relevantReturnValueSchema;
|
|
115
256
|
let dataStructurePath;
|
|
116
257
|
let dataStructureValue;
|
|
117
|
-
|
|
258
|
+
let foundEntityWithSignature = false;
|
|
259
|
+
let signatureSchema;
|
|
260
|
+
entitySearch: for (const filePath in dependencySchemas) {
|
|
118
261
|
for (const entityName in dependencySchemas[filePath]) {
|
|
119
|
-
|
|
262
|
+
// Match entity by base name (without generics/args)
|
|
263
|
+
const entityBaseName = entityName.split(/[<(]/)[0];
|
|
264
|
+
const matches = entityBaseName === baseMockName || entityName === mockNameParts[0];
|
|
265
|
+
if (!matches)
|
|
120
266
|
continue;
|
|
267
|
+
// Track if we found the entity and it has a signature (is a function)
|
|
268
|
+
const entitySchema = dependencySchemas[filePath][entityName];
|
|
269
|
+
if (entitySchema?.signatureSchema &&
|
|
270
|
+
Object.keys(entitySchema.signatureSchema).length > 0) {
|
|
271
|
+
foundEntityWithSignature = true;
|
|
272
|
+
signatureSchema = entitySchema.signatureSchema;
|
|
273
|
+
}
|
|
121
274
|
dataStructurePath = Object.keys(dependencySchemas[filePath][entityName]?.returnValueSchema ?? {}).find((path) => {
|
|
122
275
|
if (path === 'returnValue')
|
|
123
276
|
return true;
|
|
@@ -131,16 +284,122 @@ export default function constructMockCode(mockName, dependencySchemas) {
|
|
|
131
284
|
relevantReturnValueSchema = fillInDirectSchemaGapsAndUnknowns({
|
|
132
285
|
schema: dependencySchemas[filePath][entityName]?.returnValueSchema,
|
|
133
286
|
});
|
|
134
|
-
// NOTE:
|
|
287
|
+
// NOTE: clearAttributesFromMapping is disabled because it deletes
|
|
135
288
|
// method calls on arrays (like .eq() after functionCallReturnValue: 'array')
|
|
136
|
-
//
|
|
289
|
+
// However, we still need to remove duplicate function calls that create invalid syntax
|
|
290
|
+
removeDuplicateFunctionCalls(relevantReturnValueSchema);
|
|
137
291
|
dataStructureValue = relevantReturnValueSchema?.[dataStructurePath];
|
|
138
|
-
break;
|
|
292
|
+
break entitySearch;
|
|
139
293
|
}
|
|
140
294
|
}
|
|
141
295
|
}
|
|
142
|
-
if (
|
|
296
|
+
// Check if the entity is used as a function (called with ()) vs an object/namespace.
|
|
297
|
+
// Look for paths in the schema that start with "baseMockName(" or "baseMockName<" indicating function calls.
|
|
298
|
+
// The "<" handles generic type parameters like useLoaderData<T>().
|
|
299
|
+
// Also check dataStructurePath === 'returnValue' which indicates a function return value.
|
|
300
|
+
const entityIsFunction = foundEntityWithSignature ||
|
|
301
|
+
dataStructurePath === 'returnValue' ||
|
|
302
|
+
Object.keys(relevantReturnValueSchema ?? {}).some((key) => key.startsWith(`${baseMockName}(`) ||
|
|
303
|
+
key.startsWith(`${baseMockName}<`));
|
|
304
|
+
// Calculate the data key - use the call signature (mockName) for data access
|
|
305
|
+
// For simple names without parentheses:
|
|
306
|
+
// - Append () ONLY if the entity is a function/hook (detected above)
|
|
307
|
+
// - Don't append () for object/namespace mocks like "supabase"
|
|
308
|
+
if (mockNameIsCallSignature || mockName.includes('(')) {
|
|
309
|
+
dataKey = mockName;
|
|
310
|
+
}
|
|
311
|
+
else if (entityIsFunction) {
|
|
312
|
+
// Entity is a function/hook - append () to match call signature format
|
|
313
|
+
dataKey = `${mockName}()`;
|
|
314
|
+
}
|
|
315
|
+
else {
|
|
316
|
+
// Entity is an object/namespace - use bare name as key
|
|
317
|
+
dataKey = mockName;
|
|
318
|
+
}
|
|
319
|
+
// Helper to wrap key in appropriate quotes for computed property access
|
|
320
|
+
// Use single quotes when key contains double quotes to avoid syntax errors
|
|
321
|
+
const quotePropertyKey = (key) => {
|
|
322
|
+
const escaped = key.replace(/\n/g, '\\n');
|
|
323
|
+
if (escaped.includes('"')) {
|
|
324
|
+
// Use single quotes, escaping any single quotes in the key
|
|
325
|
+
return `['${escaped.replace(/'/g, "\\'")}']`;
|
|
326
|
+
}
|
|
327
|
+
return `["${escaped}"]`;
|
|
328
|
+
};
|
|
329
|
+
// Check if the return value schema only contains function type markers
|
|
330
|
+
// (e.g., "validateInputs()": "function") without actual return data
|
|
331
|
+
// (no functionCallReturnValue entries)
|
|
332
|
+
const hasMeaningfulReturnData = (schema) => {
|
|
333
|
+
if (!schema)
|
|
334
|
+
return false;
|
|
335
|
+
const keys = Object.keys(schema);
|
|
336
|
+
// Check if there are any functionCallReturnValue entries
|
|
337
|
+
// which indicate actual mock data, not just type markers
|
|
338
|
+
return keys.some((key) => key.includes('functionCallReturnValue') || key === 'returnValue');
|
|
339
|
+
};
|
|
340
|
+
// If we found the entity with a signature but no return value schema,
|
|
341
|
+
// OR the schema only has function type markers without actual return data,
|
|
342
|
+
// generate an empty mock function. This handles validation functions like
|
|
343
|
+
// validateInputs that are marked for mocking but have no meaningful return value.
|
|
344
|
+
// EXCEPTION: If entityType is 'class', we still need to generate the class.
|
|
345
|
+
// EXCEPTION: If no signature was found, let the normal code path handle it.
|
|
346
|
+
if (!relevantReturnValueSchema || !dataStructurePath) {
|
|
347
|
+
if (foundEntityWithSignature && signatureSchema) {
|
|
348
|
+
// Count the number of arguments from signature schema
|
|
349
|
+
const argCount = Object.keys(signatureSchema).filter((key) => key.startsWith('signature[')).length;
|
|
350
|
+
const args = Array.from({ length: argCount }, (_, i) => `arg${i + 1}`);
|
|
351
|
+
// Always add ...rest to accept extra arguments beyond the signature
|
|
352
|
+
args.push('...rest');
|
|
353
|
+
const argsString = args.join(', ');
|
|
354
|
+
// Generate empty mock function
|
|
355
|
+
return `function ${mockName}(${argsString}) {
|
|
356
|
+
// Empty mock - original function mocked out
|
|
357
|
+
}`;
|
|
358
|
+
}
|
|
143
359
|
return;
|
|
360
|
+
}
|
|
361
|
+
// Check if the schema only has function type markers without actual return data.
|
|
362
|
+
// Only apply this when we have a signature (i.e., it's explicitly a function)
|
|
363
|
+
// and it's not a class. This handles validation functions that should be
|
|
364
|
+
// empty mocks rather than returning meaningless "function" strings.
|
|
365
|
+
if (foundEntityWithSignature &&
|
|
366
|
+
signatureSchema &&
|
|
367
|
+
entityType !== 'class' &&
|
|
368
|
+
!hasMeaningfulReturnData(relevantReturnValueSchema)) {
|
|
369
|
+
const argCount = Object.keys(signatureSchema).filter((key) => key.startsWith('signature[')).length;
|
|
370
|
+
const args = Array.from({ length: argCount }, (_, i) => `arg${i + 1}`);
|
|
371
|
+
// Always add ...rest to accept extra arguments beyond the signature
|
|
372
|
+
args.push('...rest');
|
|
373
|
+
const argsString = args.join(', ');
|
|
374
|
+
// Check for Higher-Order Component (HOC) pattern:
|
|
375
|
+
// - First argument is a function (component) or unknown (couldn't trace type)
|
|
376
|
+
// - Returns a function
|
|
377
|
+
// HOCs like memo, forwardRef, createContext should return their first argument
|
|
378
|
+
//
|
|
379
|
+
// The return value key can be either:
|
|
380
|
+
// - 'memo()' (clean format)
|
|
381
|
+
// - 'memo(({ value, width }: Props) => { ... })' (full component code format)
|
|
382
|
+
const firstArgIsFunctionOrUnknown = signatureSchema['signature[0]'] === 'function' ||
|
|
383
|
+
signatureSchema['signature[0]'] === 'unknown';
|
|
384
|
+
const returnsFunction = relevantReturnValueSchema
|
|
385
|
+
? Object.entries(relevantReturnValueSchema).some(([key, value]) => {
|
|
386
|
+
// Check if key represents a function call that returns a function
|
|
387
|
+
// Key should start with the mock name, contain '(', end with ')', and have value 'function'
|
|
388
|
+
const isFunctionCall = key.startsWith(mockName + '(') && key.endsWith(')');
|
|
389
|
+
return isFunctionCall && value === 'function';
|
|
390
|
+
})
|
|
391
|
+
: false;
|
|
392
|
+
if (firstArgIsFunctionOrUnknown && returnsFunction) {
|
|
393
|
+
// HOC pattern detected - return the first argument
|
|
394
|
+
return `function ${mockName}(${argsString}) {
|
|
395
|
+
return arg1;
|
|
396
|
+
}`;
|
|
397
|
+
}
|
|
398
|
+
// Generate empty mock function
|
|
399
|
+
return `function ${mockName}(${argsString}) {
|
|
400
|
+
// Empty mock - original function mocked out
|
|
401
|
+
}`;
|
|
402
|
+
}
|
|
144
403
|
const dataStructureName = dataStructurePath === 'returnValue'
|
|
145
404
|
? mockName
|
|
146
405
|
: joinParenthesesAndArrays(splitOutsideParenthesesAndArrays(dataStructurePath).slice(0, mockNameParts.length));
|
|
@@ -152,6 +411,87 @@ export default function constructMockCode(mockName, dependencySchemas) {
|
|
|
152
411
|
const pathDepth = splitOutsideParenthesesAndArrays(dataStructurePath).length;
|
|
153
412
|
const isRootArray = dataStructureValue === 'array' &&
|
|
154
413
|
(dataStructurePath === 'returnValue' || pathDepth <= mockNameParts.length);
|
|
414
|
+
// OPTIMIZATION: Early return for tuple-returning hooks (useAtom, useState, etc.)
|
|
415
|
+
// These hooks have simple [value, setter] return patterns that don't need the full
|
|
416
|
+
// 9216-key schema processing. Check if this is a tuple-returning hook and generate
|
|
417
|
+
// the mock code directly without iterating over all schema keys.
|
|
418
|
+
if (TUPLE_RETURNING_HOOKS.has(baseMockName) && isFunction) {
|
|
419
|
+
// Check if schema has generic array pattern (indicates tuple return like [value, setter])
|
|
420
|
+
const schemaKeys = Object.keys(relevantReturnValueSchema ?? {});
|
|
421
|
+
const hasGenericArrayInSchema = schemaKeys.some((k) => k.includes('.functionCallReturnValue[]') ||
|
|
422
|
+
k === `${dataKey}.functionCallReturnValue[]` ||
|
|
423
|
+
k === 'returnValue[]');
|
|
424
|
+
// Check for differentiated tuple indices (e.g., functionCallReturnValue[2], [3]) which would NOT be a standard tuple
|
|
425
|
+
// We only check indices immediately after functionCallReturnValue, not nested indices like signature[2]
|
|
426
|
+
const tupleHasDifferentiatedIndices = schemaKeys.some((k) => {
|
|
427
|
+
// Look for .functionCallReturnValue[N] where N >= 2
|
|
428
|
+
const match = k.match(/\.functionCallReturnValue\[(\d+)\]/);
|
|
429
|
+
if (!match)
|
|
430
|
+
return false;
|
|
431
|
+
const idx = parseInt(match[1], 10);
|
|
432
|
+
return idx >= 2;
|
|
433
|
+
});
|
|
434
|
+
const isTupleReturningHook = hasGenericArrayInSchema && !tupleHasDifferentiatedIndices;
|
|
435
|
+
if (isTupleReturningHook) {
|
|
436
|
+
// Find all call patterns for this hook (e.g., useAtom(quoteFilterAtom), useAtom(supplierAtom))
|
|
437
|
+
const hookCallPatterns = Object.keys(relevantReturnValueSchema ?? {})
|
|
438
|
+
.filter((k) => {
|
|
439
|
+
const regex = new RegExp(`^${baseMockName}\\([^)]+\\)$`);
|
|
440
|
+
return regex.test(k);
|
|
441
|
+
})
|
|
442
|
+
.map((k) => {
|
|
443
|
+
const match = k.match(/\(([^)]+)\)/);
|
|
444
|
+
return { key: k, arg: match?.[1] ?? '' };
|
|
445
|
+
});
|
|
446
|
+
let tupleReturnCode;
|
|
447
|
+
if (hookCallPatterns.length > 1) {
|
|
448
|
+
// Multiple patterns - generate conditional dispatch
|
|
449
|
+
const conditions = hookCallPatterns
|
|
450
|
+
.map(({ key, arg }) => `if (argLabel === '${arg}' || argStr.includes('${arg}')) {\n return [scenarios().data()?.["${key}"]?.[0] ?? [], () => {}];\n }`)
|
|
451
|
+
.join('\n ');
|
|
452
|
+
const fallbackKey = hookCallPatterns[0]?.key ?? dataKey;
|
|
453
|
+
tupleReturnCode = `(() => {
|
|
454
|
+
// Dynamic dispatch for tuple-returning hook with multiple argument patterns
|
|
455
|
+
const argLabel = args[0]?.debugLabel ?? '';
|
|
456
|
+
const argStr = args[0]?.toString?.() ?? String(args[0] ?? '');
|
|
457
|
+
${conditions}
|
|
458
|
+
return [scenarios().data()?.["${fallbackKey}"]?.[0] ?? [], () => {}];
|
|
459
|
+
})()`;
|
|
460
|
+
}
|
|
461
|
+
else {
|
|
462
|
+
// Single or no patterns - use dynamic dispatch
|
|
463
|
+
const fallbackKey = hookCallPatterns[0]?.key ?? `${baseMockName}()`;
|
|
464
|
+
tupleReturnCode = `(() => {
|
|
465
|
+
// Dynamic dispatch for tuple-returning hook
|
|
466
|
+
const argLabel = args[0]?.debugLabel ?? '';
|
|
467
|
+
const argStr = args[0]?.toString?.() ?? '';
|
|
468
|
+
const allData = scenarios().data() ?? {};
|
|
469
|
+
if (argLabel) {
|
|
470
|
+
const labelKey = '${baseMockName}(' + argLabel + ')';
|
|
471
|
+
if (allData[labelKey]) {
|
|
472
|
+
return [allData[labelKey]?.[0] ?? [], () => {}];
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
const keys = Object.keys(allData).filter(k => k.startsWith('${baseMockName}('));
|
|
476
|
+
for (const key of keys) {
|
|
477
|
+
const keyArg = key.slice(${baseMockName.length + 1}, -1);
|
|
478
|
+
if (argStr.includes(keyArg)) {
|
|
479
|
+
return [allData[key]?.[0] ?? [], () => {}];
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
return [allData[keys[0] ?? '${fallbackKey}']?.[0] ?? [], () => {}];
|
|
483
|
+
})()`;
|
|
484
|
+
}
|
|
485
|
+
const safeFunctionName = options?.uniqueFunctionSuffix
|
|
486
|
+
? `${baseMockName}_${options.uniqueFunctionSuffix}`
|
|
487
|
+
: options?.keepOriginalFunctionName
|
|
488
|
+
? baseMockName
|
|
489
|
+
: mockNameIsCallSignature && derivedFunctionName
|
|
490
|
+
? derivedFunctionName
|
|
491
|
+
: baseMockName;
|
|
492
|
+
return `function ${safeFunctionName}(...args) {\n return ${tupleReturnCode};\n}`;
|
|
493
|
+
}
|
|
494
|
+
}
|
|
155
495
|
const returnValueParts = {
|
|
156
496
|
name: dataStructureName,
|
|
157
497
|
isArray: isRootArray,
|
|
@@ -165,17 +505,26 @@ export default function constructMockCode(mockName, dependencySchemas) {
|
|
|
165
505
|
if (root) {
|
|
166
506
|
basePaths[0] = 'scenarios().data()';
|
|
167
507
|
}
|
|
168
|
-
const optionalAccess = (name, stripArguments = false) => {
|
|
508
|
+
const optionalAccess = (name, stripArguments = false, isRootAccess = false) => {
|
|
169
509
|
if (stripArguments && name.includes('(')) {
|
|
170
510
|
name = name.split('(')[0] + '()';
|
|
171
511
|
}
|
|
172
512
|
// Strip type parameters like <typeof loader> from function names
|
|
173
513
|
// so "useLoaderData<typeof loader>()" becomes "useLoaderData()"
|
|
174
514
|
name = cleanOutTypes(name);
|
|
175
|
-
|
|
515
|
+
// For root data access, use the dataKey (original call signature or canonical key)
|
|
516
|
+
// This preserves the original call signature for LLM clarity
|
|
517
|
+
if (isRootAccess) {
|
|
518
|
+
// For call signature format, use the original mockName as the data key
|
|
519
|
+
// e.g., scenarios().data()?.["useFetcher<User>()"]
|
|
520
|
+
// e.g., scenarios().data()?.["db.select(usersQuery)"]
|
|
521
|
+
return `?.${quotePropertyKey(dataKey)}`;
|
|
522
|
+
}
|
|
523
|
+
// Only use unquoted array access syntax for pure array indices like [0], [1]
|
|
524
|
+
if (name.match(/^\[\d+\]$/)) {
|
|
176
525
|
return `?.${name}`;
|
|
177
526
|
}
|
|
178
|
-
return
|
|
527
|
+
return `?.${quotePropertyKey(name)}`;
|
|
179
528
|
};
|
|
180
529
|
const constructDataPaths = () => {
|
|
181
530
|
// For structural elements, return modified base paths for children
|
|
@@ -187,7 +536,13 @@ export default function constructMockCode(mockName, dependencySchemas) {
|
|
|
187
536
|
return [];
|
|
188
537
|
}
|
|
189
538
|
const addReturnValueFunctionAccessor = (dataPath) => {
|
|
190
|
-
|
|
539
|
+
// Add function call accessor if:
|
|
540
|
+
// - There are actual arguments, OR
|
|
541
|
+
// - This is a callable (not a method that returns an array directly)
|
|
542
|
+
// For methods like getAll() that return arrays, the data is at ["getAll()"] not ["getAll()"]["()"]
|
|
543
|
+
if (returnValue.returnsFunctionArgs &&
|
|
544
|
+
(returnValue.returnsFunctionArgs.length > 0 ||
|
|
545
|
+
!returnValue.returnsFunctionArray)) {
|
|
191
546
|
if (returnValue.isArray) {
|
|
192
547
|
dataPath = `${dataPath}${optionalAccess('[0]')}`;
|
|
193
548
|
}
|
|
@@ -198,7 +553,8 @@ export default function constructMockCode(mockName, dependencySchemas) {
|
|
|
198
553
|
return basePaths
|
|
199
554
|
.flatMap((basePath) => {
|
|
200
555
|
if (!returnValue.args) {
|
|
201
|
-
|
|
556
|
+
// Pass root as both stripArguments and isRootAccess for non-function paths
|
|
557
|
+
let dataPath = `${basePath}${optionalAccess(safeString(returnValue.name), false, root)}`;
|
|
202
558
|
dataPath = addReturnValueFunctionAccessor(dataPath);
|
|
203
559
|
return dataPath;
|
|
204
560
|
}
|
|
@@ -206,7 +562,8 @@ export default function constructMockCode(mockName, dependencySchemas) {
|
|
|
206
562
|
const signature = returnValue.name.match(/\[\d*\]$/)
|
|
207
563
|
? returnValue.name
|
|
208
564
|
: `${returnValue.name}(${argSet.join(', ')})`;
|
|
209
|
-
|
|
565
|
+
// Pass root as both stripArguments and isRootAccess
|
|
566
|
+
let dataPath = `${basePath}${optionalAccess(safeString(signature), root, root)}`;
|
|
210
567
|
dataPath = addReturnValueFunctionAccessor(dataPath);
|
|
211
568
|
return dataPath;
|
|
212
569
|
});
|
|
@@ -214,14 +571,67 @@ export default function constructMockCode(mockName, dependencySchemas) {
|
|
|
214
571
|
.filter(Boolean);
|
|
215
572
|
};
|
|
216
573
|
const constructContent = (dataPaths) => {
|
|
217
|
-
const { name, args, nested, isArray, isGenericArray, returnsFunctionArgs, returnsFunctionArray, isAsyncFunction, } = returnValue;
|
|
218
|
-
|
|
574
|
+
const { name, args, nested, isArray, isGenericArray, returnsFunctionArgs, returnsFunctionArray, isAsyncFunction, hasNoReturnData, } = returnValue;
|
|
575
|
+
// When an array has differentiated indices ([0], [1], etc.), filter out any
|
|
576
|
+
// non-index items from nested. These non-index items come from generic [] paths
|
|
577
|
+
// like [].filter or [].sort, which describe element properties, not array elements.
|
|
578
|
+
// Including them would generate invalid syntax like "sort: ..." inside an array literal.
|
|
579
|
+
const hasDifferentiatedIndices = isArray &&
|
|
580
|
+
nested &&
|
|
581
|
+
nested.some((n) => n.name.match(/^\[\d+\]$/) && n.name !== '[0]');
|
|
582
|
+
const filteredNested = hasDifferentiatedIndices && nested
|
|
583
|
+
? nested.filter((n) => n.name.match(/^\[\d+\]$/))
|
|
584
|
+
: nested;
|
|
585
|
+
const nestedContent = (filteredNested ?? []).map((nestedItem) => {
|
|
219
586
|
const nestedContent = constructReturnValueString(nestedItem, dataPaths);
|
|
220
587
|
return nestedContent;
|
|
221
588
|
});
|
|
589
|
+
// Array prototype methods that should be ignored when building mocks
|
|
590
|
+
// (these work on any array - we don't need to mock them)
|
|
591
|
+
const ARRAY_PROTOTYPE_METHODS = new Set([
|
|
592
|
+
'at',
|
|
593
|
+
'concat',
|
|
594
|
+
'copyWithin',
|
|
595
|
+
'entries',
|
|
596
|
+
'every',
|
|
597
|
+
'fill',
|
|
598
|
+
'filter',
|
|
599
|
+
'find',
|
|
600
|
+
'findIndex',
|
|
601
|
+
'findLast',
|
|
602
|
+
'findLastIndex',
|
|
603
|
+
'flat',
|
|
604
|
+
'flatMap',
|
|
605
|
+
'forEach',
|
|
606
|
+
'includes',
|
|
607
|
+
'indexOf',
|
|
608
|
+
'join',
|
|
609
|
+
'keys',
|
|
610
|
+
'lastIndexOf',
|
|
611
|
+
'map',
|
|
612
|
+
'pop',
|
|
613
|
+
'push',
|
|
614
|
+
'reduce',
|
|
615
|
+
'reduceRight',
|
|
616
|
+
'reverse',
|
|
617
|
+
'shift',
|
|
618
|
+
'slice',
|
|
619
|
+
'some',
|
|
620
|
+
'sort',
|
|
621
|
+
'splice',
|
|
622
|
+
'toLocaleString',
|
|
623
|
+
'toReversed',
|
|
624
|
+
'toSorted',
|
|
625
|
+
'toSpliced',
|
|
626
|
+
'toString',
|
|
627
|
+
'unshift',
|
|
628
|
+
'values',
|
|
629
|
+
'with',
|
|
630
|
+
'length',
|
|
631
|
+
]);
|
|
222
632
|
const levelContentItems = [];
|
|
223
633
|
// Add spread for data paths when:
|
|
224
|
-
// - Not a function returning an array
|
|
634
|
+
// - Not a function returning an array, OR function returns array with custom methods
|
|
225
635
|
// - Has function args OR not an array
|
|
226
636
|
// - Not structural, OR is a structural [0] element with nested content
|
|
227
637
|
// (array elements with nested functions need their other properties spread)
|
|
@@ -229,64 +639,615 @@ export default function constructMockCode(mockName, dependencySchemas) {
|
|
|
229
639
|
returnValue.name === '[0]' &&
|
|
230
640
|
nested &&
|
|
231
641
|
nested.length > 0;
|
|
232
|
-
if (
|
|
642
|
+
// Check if function returns array but has custom methods (not just array prototype methods)
|
|
643
|
+
// Excludes array indices like [0], [1], [] which are not methods
|
|
644
|
+
const hasCustomMethodsOnArrayReturn = returnsFunctionArray &&
|
|
645
|
+
nested &&
|
|
646
|
+
nested.length > 0 &&
|
|
647
|
+
nested.some((n) => {
|
|
648
|
+
// Skip array indices - they're not methods
|
|
649
|
+
if (n.name.match(/^\[\d*\]$/))
|
|
650
|
+
return false;
|
|
651
|
+
const methodName = n.name.replace(/[<(].*$/, '');
|
|
652
|
+
return !ARRAY_PROTOTYPE_METHODS.has(methodName);
|
|
653
|
+
});
|
|
654
|
+
if ((!returnsFunctionArray || hasCustomMethodsOnArrayReturn) &&
|
|
233
655
|
(returnsFunctionArgs || !isArray) &&
|
|
234
656
|
(!returnValue.isStructural || isStructuralArrayElementWithNested)) {
|
|
235
657
|
levelContentItems.push(...dataPaths.map((path) => `...${path}`));
|
|
236
658
|
}
|
|
237
|
-
|
|
659
|
+
// Filter out nested content that would be invalid as object properties
|
|
660
|
+
// (e.g., bare arrow functions like "() => {...}" without a property name)
|
|
661
|
+
// Only apply this filter when building object content, not array content.
|
|
662
|
+
// Bare arrow functions ARE valid as array elements (like [0] = {...}, [1] = () => {...})
|
|
663
|
+
// Check both isArray (item IS an array) and returnsFunctionArray (item returns an array)
|
|
664
|
+
const inArrayContext = isArray || returnsFunctionArray;
|
|
665
|
+
const validNestedContent = nestedContent.filter((content) => {
|
|
666
|
+
if (!content)
|
|
667
|
+
return false;
|
|
668
|
+
// Only filter bare arrow functions when NOT in array context
|
|
669
|
+
// In arrays, bare arrow functions are valid elements
|
|
670
|
+
if (!inArrayContext && content.match(/^\s*\([^)]*\)\s*=>/)) {
|
|
671
|
+
return false;
|
|
672
|
+
}
|
|
673
|
+
return true;
|
|
674
|
+
});
|
|
675
|
+
levelContentItems.push(...validNestedContent);
|
|
238
676
|
let levelContents = levelContentItems.filter(Boolean).join(',\n');
|
|
239
677
|
if (returnsFunctionArgs) {
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
678
|
+
// When returnsFunctionArgs is empty [] OR has a single literal string argument,
|
|
679
|
+
// the function returns a callable function (e.g., getTranslate() returns t,
|
|
680
|
+
// where t('key') looks up translations)
|
|
681
|
+
// Generate a dispatch function that looks up keys based on the argument
|
|
682
|
+
//
|
|
683
|
+
// Detect translation-like pattern:
|
|
684
|
+
// - Data path ends with ["('some.literal')"] - a literal string key
|
|
685
|
+
// - This means the mock data has keys like "('common.surveys')": "Surveys"
|
|
686
|
+
// - Exclude ["()"] which is an empty function call (not a translation pattern)
|
|
687
|
+
const dataPath = dataPaths[0];
|
|
688
|
+
// Pattern matches ?.["('...')"] at end of path, but NOT ?.["()"] (empty args)
|
|
689
|
+
const literalKeyPattern = dataPath?.match(/\?\.\["\('.+'\)"\]$/);
|
|
690
|
+
if (!returnsFunctionArray &&
|
|
691
|
+
dataPaths.length === 1 &&
|
|
692
|
+
literalKeyPattern // Only dispatch when there's a literal key pattern
|
|
693
|
+
) {
|
|
694
|
+
// Function returns a function - generate dispatch function
|
|
695
|
+
// Strip the literal key from the path and use dynamic lookup
|
|
696
|
+
const dataPathBase = literalKeyPattern
|
|
697
|
+
? dataPath.replace(/\?\.\["\('.+'\)"\]$/, '')
|
|
698
|
+
: dataPath;
|
|
699
|
+
const funcContents = `return ${dataPathBase}?.[\`('\${arg1}')\`]`;
|
|
700
|
+
levelContents = `(arg1) => {\n${indent(funcContents)}\n}`;
|
|
701
|
+
if (!isArray) {
|
|
702
|
+
return levelContents;
|
|
250
703
|
}
|
|
251
704
|
}
|
|
252
705
|
else {
|
|
253
|
-
|
|
254
|
-
|
|
706
|
+
const argsString = returnsFunctionArgs
|
|
707
|
+
.map((_, index) => `arg${index + 1}`)
|
|
708
|
+
.join(', ');
|
|
709
|
+
let funcContents = '';
|
|
710
|
+
if (returnsFunctionArray) {
|
|
711
|
+
if (hasNoReturnData) {
|
|
712
|
+
// Function has no return data (only signatures) - return empty array
|
|
713
|
+
funcContents = 'return []';
|
|
714
|
+
}
|
|
715
|
+
else if (levelContents.length === 0 && dataPaths.length === 1) {
|
|
716
|
+
// When returning an array with no nested content, return the data path directly
|
|
717
|
+
// (the data path points to the array in scenario data)
|
|
718
|
+
funcContents = `return ${dataPaths[0]}`;
|
|
719
|
+
}
|
|
720
|
+
else if (levelContents.length === 0) {
|
|
721
|
+
funcContents = 'return []';
|
|
722
|
+
}
|
|
723
|
+
else {
|
|
724
|
+
funcContents = `return [\n${indent(levelContents)}\n]`;
|
|
725
|
+
}
|
|
255
726
|
}
|
|
256
727
|
else {
|
|
257
|
-
|
|
728
|
+
// Check if function has no actual return data (only signatures)
|
|
729
|
+
const hasNestedItems = nested && nested.length > 0;
|
|
730
|
+
const hasActualNestedContent = nestedContent.filter(Boolean).length > 0;
|
|
731
|
+
if (levelContentItems.length === 1 && dataPaths.length === 1) {
|
|
732
|
+
if (hasNoReturnData ||
|
|
733
|
+
(hasNestedItems && !hasActualNestedContent)) {
|
|
734
|
+
// Function has no return data (only signatures) - return empty array
|
|
735
|
+
funcContents = 'return []';
|
|
736
|
+
}
|
|
737
|
+
else {
|
|
738
|
+
// Has return data - return data path
|
|
739
|
+
funcContents = `return ${dataPaths[0]}`;
|
|
740
|
+
}
|
|
741
|
+
}
|
|
742
|
+
else {
|
|
743
|
+
funcContents = `return {\n${indent(levelContents)}\n}`;
|
|
744
|
+
}
|
|
745
|
+
}
|
|
746
|
+
levelContents = `(${argsString}) => {\n${indent(funcContents)}\n}`;
|
|
747
|
+
if (!isArray) {
|
|
748
|
+
return levelContents;
|
|
258
749
|
}
|
|
259
750
|
}
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
751
|
+
// For generic arrays of functions WITH nested properties (e.g., functionCallReturnValue[] = "function"
|
|
752
|
+
// with nested .filter, .sort, etc.), the levelContents would be a bare arrow function "() => {...}"
|
|
753
|
+
// that wraps object content. Using this in a .map(({...})) creates invalid syntax like "({ () => {...} })".
|
|
754
|
+
// When isGenericArray is true AND there are nested properties, we're accessing data from the elements,
|
|
755
|
+
// not calling them - so skip the function wrapping.
|
|
756
|
+
// But if there are NO nested properties, keep the wrapper because callers may want to call the elements.
|
|
757
|
+
const hasNonStructuralNestedItems = nested &&
|
|
758
|
+
nested.length > 0 &&
|
|
759
|
+
nested.some((n) => !n.name.match(/^\[\d*\]$/));
|
|
760
|
+
if (isGenericArray && hasNonStructuralNestedItems) {
|
|
761
|
+
// Skip the arrow function wrapper - just use the nested content directly
|
|
762
|
+
levelContents = levelContentItems.filter(Boolean).join(',\n');
|
|
263
763
|
}
|
|
264
764
|
}
|
|
765
|
+
// Check if all nested items are array prototype methods
|
|
766
|
+
const hasOnlyArrayPrototypeMethods = returnsFunctionArray &&
|
|
767
|
+
nested &&
|
|
768
|
+
nested.length > 0 &&
|
|
769
|
+
nested.every((n) => {
|
|
770
|
+
// Extract method name before type params and args (e.g., "reduce<...>(...)" -> "reduce")
|
|
771
|
+
const methodName = n.name.replace(/[<(].*$/, '');
|
|
772
|
+
return ARRAY_PROTOTYPE_METHODS.has(methodName);
|
|
773
|
+
});
|
|
265
774
|
let returnValueContents = '';
|
|
266
|
-
if (
|
|
775
|
+
// Check if this is a known tuple-returning hook (useAtom, useState, etc.)
|
|
776
|
+
// These should return [value, setter] tuples, not arrays or data paths
|
|
777
|
+
// Check isGenericArray from current context OR from schema for root level calls
|
|
778
|
+
// (at root level, isGenericArray might not be set yet but the schema contains [] pattern)
|
|
779
|
+
const hasGenericArrayInSchema = root &&
|
|
780
|
+
TUPLE_RETURNING_HOOKS.has(baseMockName) &&
|
|
781
|
+
Object.keys(relevantReturnValueSchema ?? {}).some((k) => k.includes('.functionCallReturnValue[]'));
|
|
782
|
+
// Check if there are array indices beyond what a standard 2-element tuple would have
|
|
783
|
+
// For tuple-returning hooks, [0] and [1] are expected (value and setter)
|
|
784
|
+
// Only consider it "differentiated" if there are indices >= 2 (e.g., [2], [3])
|
|
785
|
+
const tupleHasDifferentiatedIndices = nested?.some((n) => {
|
|
786
|
+
const indexMatch = n.name.match(/^\[(\d+)\]$/);
|
|
787
|
+
if (!indexMatch)
|
|
788
|
+
return false;
|
|
789
|
+
const index = parseInt(indexMatch[1], 10);
|
|
790
|
+
return index >= 2;
|
|
791
|
+
});
|
|
792
|
+
const isTupleReturningHook = TUPLE_RETURNING_HOOKS.has(baseMockName) &&
|
|
793
|
+
(isGenericArray || hasGenericArrayInSchema) &&
|
|
794
|
+
!tupleHasDifferentiatedIndices;
|
|
795
|
+
// Debug logging for tuple-returning hooks
|
|
796
|
+
if (TUPLE_RETURNING_HOOKS.has(baseMockName) && root) {
|
|
797
|
+
const schemaKeys = Object.keys(relevantReturnValueSchema ?? {});
|
|
798
|
+
const hasArrayPattern = schemaKeys.some((k) => k.includes('.functionCallReturnValue[]'));
|
|
799
|
+
console.log(`CodeYam: Tuple hook check for ${baseMockName} (root):`, `hasGenericArrayInSchema=${hasGenericArrayInSchema}`, `hasArrayPattern=${hasArrayPattern}`, `tupleHasDifferentiatedIndices=${tupleHasDifferentiatedIndices}`, `isTupleReturningHook=${isTupleReturningHook}`, `schemaKeysSample=${schemaKeys.slice(0, 5).join(', ')}`);
|
|
800
|
+
}
|
|
801
|
+
if (isTupleReturningHook) {
|
|
802
|
+
// Tuple-returning hooks should return [value, setter] tuple
|
|
803
|
+
// The value is the first element from scenarios data, setter is a no-op
|
|
804
|
+
// Default to [] when data is undefined to prevent errors like ".includes is not a function"
|
|
805
|
+
// Check if there are multiple call patterns for this hook in the schema
|
|
806
|
+
// (e.g., useAtom(quoteFilterAtom) and useAtom(supplierAtom))
|
|
807
|
+
const hookCallPatterns = Object.keys(relevantReturnValueSchema ?? {})
|
|
808
|
+
.filter((k) => {
|
|
809
|
+
// Match patterns like "useAtom(someArg)" but not nested paths like "useAtom(x).foo"
|
|
810
|
+
const regex = new RegExp(`^${baseMockName}\\([^)]+\\)$`);
|
|
811
|
+
return regex.test(k);
|
|
812
|
+
})
|
|
813
|
+
.map((k) => {
|
|
814
|
+
// Extract the argument from the key like "useAtom(quoteFilterAtom)" -> "quoteFilterAtom"
|
|
815
|
+
const match = k.match(/\(([^)]+)\)/);
|
|
816
|
+
return { key: k, arg: match?.[1] ?? '' };
|
|
817
|
+
});
|
|
818
|
+
if (hookCallPatterns.length > 1) {
|
|
819
|
+
// Multiple patterns - generate conditional dispatch based on first argument
|
|
820
|
+
// For Jotai atoms, we use debugLabel; for others, we try to match the argument string
|
|
821
|
+
const conditions = hookCallPatterns
|
|
822
|
+
.map(({ key, arg }) => `if (argLabel === '${arg}' || argStr.includes('${arg}')) {\n return [scenarios().data()?.["${key}"]?.[0] ?? [], () => {}];\n }`)
|
|
823
|
+
.join('\n ');
|
|
824
|
+
// Use the first pattern as fallback
|
|
825
|
+
const fallbackKey = hookCallPatterns[0]?.key ?? dataKey;
|
|
826
|
+
returnValueContents = `(() => {
|
|
827
|
+
// Dynamic dispatch for tuple-returning hook with multiple argument patterns
|
|
828
|
+
const argLabel = args[0]?.debugLabel ?? '';
|
|
829
|
+
const argStr = args[0]?.toString?.() ?? String(args[0] ?? '');
|
|
830
|
+
${conditions}
|
|
831
|
+
// Fallback to first pattern
|
|
832
|
+
return [scenarios().data()?.["${fallbackKey}"]?.[0] ?? [], () => {}];
|
|
833
|
+
})()`;
|
|
834
|
+
}
|
|
835
|
+
else {
|
|
836
|
+
// Single pattern or no patterns - use dynamic dispatch to handle case where
|
|
837
|
+
// the mock is used with different atoms than what was captured in the schema.
|
|
838
|
+
// Use the first argument to construct the data key dynamically.
|
|
839
|
+
const fallbackKey = hookCallPatterns[0]?.key ?? `${baseMockName}()`;
|
|
840
|
+
returnValueContents = `(() => {
|
|
841
|
+
// Dynamic dispatch for tuple-returning hook
|
|
842
|
+
// Try to construct key from argument's debugLabel (Jotai atoms) or toString
|
|
843
|
+
const argLabel = args[0]?.debugLabel ?? '';
|
|
844
|
+
const argStr = args[0]?.toString?.() ?? '';
|
|
845
|
+
const allData = scenarios().data() ?? {};
|
|
846
|
+
|
|
847
|
+
// Try to find a matching key using debugLabel first
|
|
848
|
+
if (argLabel) {
|
|
849
|
+
const labelKey = '${baseMockName}(' + argLabel + ')';
|
|
850
|
+
if (allData[labelKey]) {
|
|
851
|
+
return [allData[labelKey]?.[0] ?? [], () => {}];
|
|
852
|
+
}
|
|
853
|
+
}
|
|
854
|
+
|
|
855
|
+
// Try to find any matching key that contains part of the argument string
|
|
856
|
+
const keys = Object.keys(allData).filter(k => k.startsWith('${baseMockName}('));
|
|
857
|
+
for (const key of keys) {
|
|
858
|
+
const keyArg = key.slice(${baseMockName.length + 1}, -1);
|
|
859
|
+
if (argStr.includes(keyArg)) {
|
|
860
|
+
return [allData[key]?.[0] ?? [], () => {}];
|
|
861
|
+
}
|
|
862
|
+
}
|
|
863
|
+
|
|
864
|
+
// Fallback to first matching key or default
|
|
865
|
+
const fallback = keys[0] ?? '${fallbackKey}';
|
|
866
|
+
return [allData[fallback]?.[0] ?? [], () => {}];
|
|
867
|
+
})()`;
|
|
868
|
+
}
|
|
869
|
+
}
|
|
870
|
+
else if (!returnsFunctionArgs &&
|
|
267
871
|
nestedContent.length === 0 &&
|
|
268
872
|
dataPaths.length === 1) {
|
|
269
873
|
returnValueContents = dataPaths[0];
|
|
270
874
|
}
|
|
875
|
+
else if (returnsFunctionArray &&
|
|
876
|
+
dataPaths.length === 1 &&
|
|
877
|
+
!root &&
|
|
878
|
+
(!nested || nested.length === 0 || hasOnlyArrayPrototypeMethods)) {
|
|
879
|
+
// Nested method returns an array - return the data path directly
|
|
880
|
+
// Only if nested content is empty or only contains array prototype methods
|
|
881
|
+
// (like .reduce() which work on any array - we don't need to mock them)
|
|
882
|
+
returnValueContents = dataPaths[0];
|
|
883
|
+
}
|
|
271
884
|
else {
|
|
272
885
|
if (isArray) {
|
|
273
886
|
// When GENERIC array (using []) has nested content (like functions that need wrapping),
|
|
274
887
|
// use .map() to transform ALL elements instead of just creating [0]
|
|
275
888
|
// For DIFFERENTIATED arrays (using [0], [1], etc.), keep the static array structure
|
|
889
|
+
//
|
|
890
|
+
// IMPORTANT: If the nested content contains differentiated indices like [0], [1],
|
|
891
|
+
// we MUST use static array pattern, not .map(). The presence of differentiated
|
|
892
|
+
// indices means the array elements have different types/structures, so .map()
|
|
893
|
+
// would generate invalid code trying to treat them uniformly.
|
|
894
|
+
const hasDifferentiatedIndices = nested &&
|
|
895
|
+
nested.some((n) => n.name.match(/^\[\d+\]$/) && n.name !== '[0]');
|
|
276
896
|
if (isGenericArray &&
|
|
277
897
|
nestedContent.length > 0 &&
|
|
278
|
-
dataPaths.length > 0
|
|
898
|
+
dataPaths.length > 0 &&
|
|
899
|
+
!hasDifferentiatedIndices) {
|
|
279
900
|
// Get the array base path (without the [0])
|
|
280
901
|
const arrayBasePath = dataPaths[0].replace(/\?\.\[0\]$/, '');
|
|
281
902
|
// Replace [0] references with [__idx__] in level contents
|
|
282
|
-
|
|
903
|
+
let mappedContents = levelContents.replace(/\?\.\[0\]/g, '?.[__idx__]');
|
|
283
904
|
// levelContents may already be wrapped in {...} from structural [0] element,
|
|
284
905
|
// so check if we need to add the wrapper or not
|
|
285
906
|
const needsWrapper = !mappedContents.trim().startsWith('{');
|
|
907
|
+
// Helper to check if a position is inside a string literal
|
|
908
|
+
// Returns the end position of the string if inside one, -1 otherwise
|
|
909
|
+
// Defined here so it's accessible in both needsWrapper branches
|
|
910
|
+
const skipStringLiteral = (content, pos) => {
|
|
911
|
+
const char = content[pos];
|
|
912
|
+
if (char !== '"' && char !== "'" && char !== '`')
|
|
913
|
+
return -1;
|
|
914
|
+
// Find the matching closing quote
|
|
915
|
+
let j = pos + 1;
|
|
916
|
+
while (j < content.length) {
|
|
917
|
+
if (content[j] === '\\') {
|
|
918
|
+
j += 2; // Skip escaped character
|
|
919
|
+
continue;
|
|
920
|
+
}
|
|
921
|
+
if (content[j] === char) {
|
|
922
|
+
return j + 1; // Return position after closing quote
|
|
923
|
+
}
|
|
924
|
+
j++;
|
|
925
|
+
}
|
|
926
|
+
return content.length; // Unclosed string, skip to end
|
|
927
|
+
};
|
|
928
|
+
// Filter out bare arrow functions which are invalid as object properties.
|
|
929
|
+
// Arrow functions can be multi-line, so we need to match the entire function body, not just the first line.
|
|
930
|
+
// Pattern: starts with "(args) =>", followed by either:
|
|
931
|
+
// - A single-line body: "() => expression"
|
|
932
|
+
// - A multi-line body: "() => { ... }" (with matching braces)
|
|
933
|
+
// IMPORTANT: Only filter BARE arrow functions (without property names).
|
|
934
|
+
// "() => {...}" is invalid, but "get: (arg1) => {...}" is valid.
|
|
935
|
+
// We use a function to properly handle nested braces.
|
|
936
|
+
// Defined here so it's accessible in both needsWrapper branches
|
|
937
|
+
const filterOutArrowFunctions = (content) => {
|
|
938
|
+
const result = [];
|
|
939
|
+
let i = 0;
|
|
940
|
+
while (i < content.length) {
|
|
941
|
+
// Skip over string literals entirely
|
|
942
|
+
const stringEnd = skipStringLiteral(content, i);
|
|
943
|
+
if (stringEnd !== -1) {
|
|
944
|
+
result.push(content.slice(i, stringEnd));
|
|
945
|
+
i = stringEnd;
|
|
946
|
+
continue;
|
|
947
|
+
}
|
|
948
|
+
// Check if we're at the start of an arrow function (with optional leading whitespace)
|
|
949
|
+
const arrowMatch = content
|
|
950
|
+
.slice(i)
|
|
951
|
+
.match(/^(\s*)\([^)]*\)\s*=>\s*/);
|
|
952
|
+
if (arrowMatch) {
|
|
953
|
+
// Check if this is a bare arrow function or a named property with arrow function value
|
|
954
|
+
// Look back to see if there's a "key:" pattern before this position
|
|
955
|
+
const before = content.slice(0, i);
|
|
956
|
+
const beforeTrimmed = before.trim();
|
|
957
|
+
// Valid patterns where arrow function is NOT bare:
|
|
958
|
+
// 1. Property value: "key: (arg) => ..." - ends with ':'
|
|
959
|
+
// 2. Function argument: ".map((arg) => ..." - ends with '('
|
|
960
|
+
// 3. Method call: "?.map" followed directly by the arrow function
|
|
961
|
+
// In this case, the '(' is consumed by the arrow function regex match,
|
|
962
|
+
// so beforeTrimmed ends with the method name (e.g., 'map'), not '('.
|
|
963
|
+
// We detect this by checking if beforeTrimmed ends with an identifier
|
|
964
|
+
// that could be a method name (preceded by '.' or '?.').
|
|
965
|
+
// NOTE: We don't include ',' because "{ prop, () => {} }" is invalid
|
|
966
|
+
// (can't distinguish function argument from object property context)
|
|
967
|
+
const isPropertyValue = beforeTrimmed.endsWith(':');
|
|
968
|
+
const isFunctionArg = beforeTrimmed.endsWith('(');
|
|
969
|
+
// Check if before ends with a method call pattern like ".map" or "?.map"
|
|
970
|
+
// The '(' after the method name is consumed by the arrow function regex
|
|
971
|
+
const isMethodCallArg = /\??\.\w+$/.test(beforeTrimmed);
|
|
972
|
+
const hasPropertyName = isPropertyValue || isFunctionArg || isMethodCallArg;
|
|
973
|
+
if (!hasPropertyName) {
|
|
974
|
+
// This is a bare arrow function - filter it out
|
|
975
|
+
// Found arrow function start, need to find its end
|
|
976
|
+
const afterArrow = i + arrowMatch[0].length;
|
|
977
|
+
if (content[afterArrow] === '{') {
|
|
978
|
+
// Multi-line arrow function - find matching closing brace
|
|
979
|
+
// Must respect string literals when counting braces
|
|
980
|
+
let braceCount = 1;
|
|
981
|
+
let j = afterArrow + 1;
|
|
982
|
+
while (j < content.length && braceCount > 0) {
|
|
983
|
+
const strEnd = skipStringLiteral(content, j);
|
|
984
|
+
if (strEnd !== -1) {
|
|
985
|
+
j = strEnd;
|
|
986
|
+
continue;
|
|
987
|
+
}
|
|
988
|
+
if (content[j] === '{')
|
|
989
|
+
braceCount++;
|
|
990
|
+
if (content[j] === '}')
|
|
991
|
+
braceCount--;
|
|
992
|
+
j++;
|
|
993
|
+
}
|
|
994
|
+
// Skip past the arrow function
|
|
995
|
+
i = j;
|
|
996
|
+
// Only skip trailing comma, keep newlines
|
|
997
|
+
while (i < content.length && content[i] === ' ') {
|
|
998
|
+
i++;
|
|
999
|
+
}
|
|
1000
|
+
if (content[i] === ',') {
|
|
1001
|
+
i++; // Skip the comma after the arrow function
|
|
1002
|
+
}
|
|
1003
|
+
}
|
|
1004
|
+
else {
|
|
1005
|
+
// Single expression arrow function - skip to next comma or newline
|
|
1006
|
+
let j = afterArrow;
|
|
1007
|
+
while (j < content.length &&
|
|
1008
|
+
content[j] !== ',' &&
|
|
1009
|
+
content[j] !== '\n') {
|
|
1010
|
+
j++;
|
|
1011
|
+
}
|
|
1012
|
+
i = j;
|
|
1013
|
+
if (content[i] === ',')
|
|
1014
|
+
i++; // Skip the comma
|
|
1015
|
+
}
|
|
1016
|
+
continue;
|
|
1017
|
+
}
|
|
1018
|
+
}
|
|
1019
|
+
// Not a bare arrow function, keep this character
|
|
1020
|
+
result.push(content[i]);
|
|
1021
|
+
i++;
|
|
1022
|
+
}
|
|
1023
|
+
return result.join('');
|
|
1024
|
+
};
|
|
1025
|
+
// Filter out bare object blocks (e.g., "{ ...spread, props }," without a property name)
|
|
1026
|
+
// These are invalid in object literal context - you need "key: { ... }" not just "{ ... }"
|
|
1027
|
+
// Defined here so it's accessible in both needsWrapper branches
|
|
1028
|
+
// The skipFirstBrace parameter allows the else branch to preserve the outer object
|
|
1029
|
+
const filterOutBareObjects = (content, skipFirstBrace = false) => {
|
|
1030
|
+
const result = [];
|
|
1031
|
+
let i = 0;
|
|
1032
|
+
let firstBraceSkipped = false;
|
|
1033
|
+
while (i < content.length) {
|
|
1034
|
+
// Skip over string literals entirely - braces inside strings should not be processed
|
|
1035
|
+
const stringEnd = skipStringLiteral(content, i);
|
|
1036
|
+
if (stringEnd !== -1) {
|
|
1037
|
+
result.push(content.slice(i, stringEnd));
|
|
1038
|
+
i = stringEnd;
|
|
1039
|
+
continue;
|
|
1040
|
+
}
|
|
1041
|
+
// Check if we're at a bare object start (newline/comma followed by { without : before it)
|
|
1042
|
+
// Look back to see if there's a colon (property assignment) before this brace
|
|
1043
|
+
const isStartOfLine = i === 0 ||
|
|
1044
|
+
content[i - 1] === '\n' ||
|
|
1045
|
+
content.slice(0, i).trim().endsWith(',');
|
|
1046
|
+
if (content[i] === '{' && isStartOfLine) {
|
|
1047
|
+
// Check if this is actually a bare object (not "key: {")
|
|
1048
|
+
const beforeTrimmed = content.slice(0, i).trim();
|
|
1049
|
+
const isBareObject = beforeTrimmed.endsWith(',') ||
|
|
1050
|
+
beforeTrimmed === '' ||
|
|
1051
|
+
beforeTrimmed.endsWith('(');
|
|
1052
|
+
if (isBareObject) {
|
|
1053
|
+
// If skipFirstBrace is true and this is the first bare brace at position 0,
|
|
1054
|
+
// don't filter it - it's the intentional outer object wrapper
|
|
1055
|
+
if (skipFirstBrace && !firstBraceSkipped && i === 0) {
|
|
1056
|
+
firstBraceSkipped = true;
|
|
1057
|
+
result.push(content[i]);
|
|
1058
|
+
i++;
|
|
1059
|
+
continue;
|
|
1060
|
+
}
|
|
1061
|
+
// Find matching closing brace, respecting string literals
|
|
1062
|
+
let braceCount = 1;
|
|
1063
|
+
let j = i + 1;
|
|
1064
|
+
while (j < content.length && braceCount > 0) {
|
|
1065
|
+
const strEnd = skipStringLiteral(content, j);
|
|
1066
|
+
if (strEnd !== -1) {
|
|
1067
|
+
j = strEnd;
|
|
1068
|
+
continue;
|
|
1069
|
+
}
|
|
1070
|
+
if (content[j] === '{')
|
|
1071
|
+
braceCount++;
|
|
1072
|
+
if (content[j] === '}')
|
|
1073
|
+
braceCount--;
|
|
1074
|
+
j++;
|
|
1075
|
+
}
|
|
1076
|
+
// Skip past the object
|
|
1077
|
+
i = j;
|
|
1078
|
+
// Skip trailing comma
|
|
1079
|
+
while (i < content.length && content[i] === ' ') {
|
|
1080
|
+
i++;
|
|
1081
|
+
}
|
|
1082
|
+
if (content[i] === ',') {
|
|
1083
|
+
i++;
|
|
1084
|
+
}
|
|
1085
|
+
continue;
|
|
1086
|
+
}
|
|
1087
|
+
}
|
|
1088
|
+
result.push(content[i]);
|
|
1089
|
+
i++;
|
|
1090
|
+
}
|
|
1091
|
+
return result.join('');
|
|
1092
|
+
};
|
|
1093
|
+
// Helper to clean up formatting issues after filtering
|
|
1094
|
+
const cleanupContent = (content) => {
|
|
1095
|
+
return (content
|
|
1096
|
+
.replace(/,\s*,/g, ',') // Double commas
|
|
1097
|
+
.replace(/,(\s*\n\s*\})/g, '$1') // Trailing comma before closing brace
|
|
1098
|
+
.replace(/\{\s*\n\s*,/g, '{\n') // Leading comma after opening brace
|
|
1099
|
+
// Remove incomplete .map calls where callback was filtered out
|
|
1100
|
+
// Pattern: ".map" followed by newline/whitespace without "(" for args
|
|
1101
|
+
.replace(/\?\.map(?=\s*[\n\r,}\]])/g, '')
|
|
1102
|
+
.replace(/\.map(?=\s*[\n\r,}\]])/g, '')
|
|
1103
|
+
// Clean up orphan })) sequences (from nested filtered map callbacks)
|
|
1104
|
+
.replace(/\s*\}\)\)\s*\n\s*\}/g, '\n}')
|
|
1105
|
+
.replace(/^\s*\n/gm, '') // Empty lines
|
|
1106
|
+
.trim());
|
|
1107
|
+
};
|
|
286
1108
|
if (needsWrapper) {
|
|
287
|
-
|
|
1109
|
+
// Apply filters to remove invalid content
|
|
1110
|
+
mappedContents = filterOutArrowFunctions(mappedContents);
|
|
1111
|
+
mappedContents = filterOutBareObjects(mappedContents);
|
|
1112
|
+
mappedContents = cleanupContent(mappedContents);
|
|
1113
|
+
// If mappedContents is empty after filtering, don't generate .map() at all
|
|
1114
|
+
// Just use the array path directly with spread or as-is
|
|
1115
|
+
// This prevents orphan )) from empty .map() callbacks
|
|
1116
|
+
const cleanedForEmptyCheck = mappedContents
|
|
1117
|
+
.replace(/\s+/g, '')
|
|
1118
|
+
.replace(/,+/g, '');
|
|
1119
|
+
if (cleanedForEmptyCheck.length === 0) {
|
|
1120
|
+
// Content is empty - just return the array directly
|
|
1121
|
+
returnValueContents = arrayBasePath;
|
|
1122
|
+
}
|
|
1123
|
+
else {
|
|
1124
|
+
// Check if mappedContents is just a bare expression (no property names)
|
|
1125
|
+
// A bare expression like "scenarios().data()?.["key"]?.[__idx__]," cannot be
|
|
1126
|
+
// wrapped in ({ }) because it's not a valid object property.
|
|
1127
|
+
// Pattern: content has no ":" that's not inside brackets/parens/strings
|
|
1128
|
+
const hasBareExpression = (() => {
|
|
1129
|
+
const trimmed = mappedContents.trim().replace(/,\s*$/, ''); // Remove trailing comma
|
|
1130
|
+
let depth = 0;
|
|
1131
|
+
let inString = false;
|
|
1132
|
+
let stringChar = '';
|
|
1133
|
+
for (let i = 0; i < trimmed.length; i++) {
|
|
1134
|
+
const char = trimmed[i];
|
|
1135
|
+
if (inString) {
|
|
1136
|
+
if (char === '\\') {
|
|
1137
|
+
i++; // Skip escaped char
|
|
1138
|
+
continue;
|
|
1139
|
+
}
|
|
1140
|
+
if (char === stringChar) {
|
|
1141
|
+
inString = false;
|
|
1142
|
+
}
|
|
1143
|
+
continue;
|
|
1144
|
+
}
|
|
1145
|
+
if (char === '"' || char === "'" || char === '`') {
|
|
1146
|
+
inString = true;
|
|
1147
|
+
stringChar = char;
|
|
1148
|
+
continue;
|
|
1149
|
+
}
|
|
1150
|
+
if (char === '(' || char === '[' || char === '{') {
|
|
1151
|
+
depth++;
|
|
1152
|
+
continue;
|
|
1153
|
+
}
|
|
1154
|
+
if (char === ')' || char === ']' || char === '}') {
|
|
1155
|
+
depth--;
|
|
1156
|
+
continue;
|
|
1157
|
+
}
|
|
1158
|
+
// Found a colon at depth 0 = has property name
|
|
1159
|
+
if (char === ':' && depth === 0) {
|
|
1160
|
+
return false;
|
|
1161
|
+
}
|
|
1162
|
+
}
|
|
1163
|
+
return true;
|
|
1164
|
+
})();
|
|
1165
|
+
if (hasBareExpression) {
|
|
1166
|
+
// Content is just an expression - return it directly without object wrapper
|
|
1167
|
+
const trimmedContent = mappedContents
|
|
1168
|
+
.trim()
|
|
1169
|
+
.replace(/,\s*$/, '');
|
|
1170
|
+
returnValueContents = `${arrayBasePath}?.map((__item__, __idx__) => (\n${indent(trimmedContent)}\n))`;
|
|
1171
|
+
}
|
|
1172
|
+
else {
|
|
1173
|
+
// When generating object-wrapped .map(), ensure original item data is preserved.
|
|
1174
|
+
// If no data spread was included (e.g., because this is a plain array property,
|
|
1175
|
+
// not a function return), add ...__item__ to spread the original item properties.
|
|
1176
|
+
// Without this, the .map() would create new objects with only nested function
|
|
1177
|
+
// properties, losing data like filePath, frontmatter, body, etc.
|
|
1178
|
+
const hasDataSpread = mappedContents.includes('...scenarios()') ||
|
|
1179
|
+
mappedContents.includes('...__item__');
|
|
1180
|
+
if (!hasDataSpread) {
|
|
1181
|
+
mappedContents = `...__item__,\n${mappedContents}`;
|
|
1182
|
+
}
|
|
1183
|
+
returnValueContents = `${arrayBasePath}?.map((__item__, __idx__) => ({\n${indent(mappedContents)}\n}))`;
|
|
1184
|
+
}
|
|
1185
|
+
} // Close the empty content check else block
|
|
288
1186
|
}
|
|
289
1187
|
else {
|
|
1188
|
+
// Content already starts with '{'. Check if there are additional properties after the inner object.
|
|
1189
|
+
// If so, we need to merge them INTO the object, not leave them outside.
|
|
1190
|
+
// Pattern: "{ ...spread, props },\nfilter: ...,\nsort: ..."
|
|
1191
|
+
// Should become: "{ ...spread, props, filter: ..., sort: ... }"
|
|
1192
|
+
const trimmed = mappedContents.trim();
|
|
1193
|
+
// Find first }, at depth 0 that is NOT inside a string literal
|
|
1194
|
+
// This prevents splitting keys like ?.["useQuery({ id }, { enabled })"]
|
|
1195
|
+
// and also prevents finding }, inside nested arrow functions
|
|
1196
|
+
const findBraceCommaOutsideStrings = (content) => {
|
|
1197
|
+
let i = 0;
|
|
1198
|
+
let depth = 0; // Track brace depth to find the outer object's },
|
|
1199
|
+
while (i < content.length - 1) {
|
|
1200
|
+
// Skip over string literals
|
|
1201
|
+
const strEnd = skipStringLiteral(content, i);
|
|
1202
|
+
if (strEnd !== -1) {
|
|
1203
|
+
i = strEnd;
|
|
1204
|
+
continue;
|
|
1205
|
+
}
|
|
1206
|
+
// Track brace depth
|
|
1207
|
+
if (content[i] === '{') {
|
|
1208
|
+
depth++;
|
|
1209
|
+
i++;
|
|
1210
|
+
continue;
|
|
1211
|
+
}
|
|
1212
|
+
// Check for }, pattern at depth 1 (the outer object level)
|
|
1213
|
+
// We're looking for the outer object's closing brace, which is at depth 1
|
|
1214
|
+
// (we started at depth 0, opened { at depth 0 -> 1)
|
|
1215
|
+
if (content[i] === '}') {
|
|
1216
|
+
depth--;
|
|
1217
|
+
if (depth === 0 &&
|
|
1218
|
+
i + 1 < content.length &&
|
|
1219
|
+
content[i + 1] === ',') {
|
|
1220
|
+
return i;
|
|
1221
|
+
}
|
|
1222
|
+
}
|
|
1223
|
+
i++;
|
|
1224
|
+
}
|
|
1225
|
+
return -1;
|
|
1226
|
+
};
|
|
1227
|
+
const firstBraceEnd = findBraceCommaOutsideStrings(trimmed);
|
|
1228
|
+
if (firstBraceEnd !== -1) {
|
|
1229
|
+
// Found pattern "{ ... }," followed by more content
|
|
1230
|
+
// Extract the inner object and the trailing properties
|
|
1231
|
+
const innerObject = trimmed.slice(0, firstBraceEnd);
|
|
1232
|
+
const trailingContent = trimmed.slice(firstBraceEnd + 2).trim();
|
|
1233
|
+
if (trailingContent) {
|
|
1234
|
+
// Merge trailing properties into the inner object
|
|
1235
|
+
mappedContents = `${innerObject},\n${trailingContent}\n}`;
|
|
1236
|
+
}
|
|
1237
|
+
}
|
|
1238
|
+
// Even when content starts with {, we need to filter out invalid properties inside
|
|
1239
|
+
// (arrow functions and bare objects that were generated from the schema)
|
|
1240
|
+
// Pass skipFirstBrace=true because the content's outer { is the intentional wrapper
|
|
1241
|
+
mappedContents = filterOutArrowFunctions(mappedContents);
|
|
1242
|
+
mappedContents = filterOutBareObjects(mappedContents, true);
|
|
1243
|
+
mappedContents = cleanupContent(mappedContents);
|
|
1244
|
+
// Same as needsWrapper branch: ensure item data is preserved in .map()
|
|
1245
|
+
const hasDataSpreadInner = mappedContents.includes('...scenarios()') ||
|
|
1246
|
+
mappedContents.includes('...__item__');
|
|
1247
|
+
if (!hasDataSpreadInner && mappedContents.trim().length > 0) {
|
|
1248
|
+
// Insert ...__item__ after the opening brace
|
|
1249
|
+
mappedContents = mappedContents.replace(/^\s*\{/, '{\n...__item__,');
|
|
1250
|
+
}
|
|
290
1251
|
returnValueContents = `${arrayBasePath}?.map((__item__, __idx__) => (\n${indent(mappedContents)}\n))`;
|
|
291
1252
|
}
|
|
292
1253
|
}
|
|
@@ -295,7 +1256,36 @@ export default function constructMockCode(mockName, dependencySchemas) {
|
|
|
295
1256
|
}
|
|
296
1257
|
}
|
|
297
1258
|
else {
|
|
298
|
-
|
|
1259
|
+
// When we have a single data path and nested content that creates an object structure,
|
|
1260
|
+
// and we're NOT at the root level, we need to handle the case where the parent data
|
|
1261
|
+
// value is null or undefined. Without this check, `{ ...null, prop: null?.["prop"] }`
|
|
1262
|
+
// creates `{ prop: undefined }` instead of `null`, causing errors like
|
|
1263
|
+
// "Cannot read properties of undefined (reading 'some')" when code does
|
|
1264
|
+
// data?.prop.some(...) because data is an object with prop: undefined, not null.
|
|
1265
|
+
// We only apply this to non-root cases because root-level mocks are expected to exist.
|
|
1266
|
+
// We also skip structural elements (like [0] inside arrays) because the null check
|
|
1267
|
+
// syntax doesn't work inside .map() callbacks where structural elements are used.
|
|
1268
|
+
// We also skip array index elements ([0], [1], etc.) because they represent tuple/array
|
|
1269
|
+
// elements, not properties that could be null.
|
|
1270
|
+
// We also only apply this when we're inside a function return value context - i.e.,
|
|
1271
|
+
// when the data path contains a function call pattern like ?.["someFunction(...)"].
|
|
1272
|
+
// This prevents adding null checks to intermediate objects in chains like supabase.auth.
|
|
1273
|
+
const hasNestedContent = nestedContent.filter(Boolean).length > 0;
|
|
1274
|
+
const isArrayIndexElement = name.match(/^\[\d*\]$/);
|
|
1275
|
+
// Check if data path contains a function call pattern, indicating we're inside a function return value
|
|
1276
|
+
const isInsideFunctionReturnValue = dataPaths.length === 1 &&
|
|
1277
|
+
dataPaths[0].match(/\?\.\["\w+\([^"]*\)"\]/);
|
|
1278
|
+
if (!root &&
|
|
1279
|
+
!returnValue.isStructural &&
|
|
1280
|
+
!isArrayIndexElement &&
|
|
1281
|
+
isInsideFunctionReturnValue &&
|
|
1282
|
+
hasNestedContent) {
|
|
1283
|
+
// Wrap with null check: if parent is null/undefined, return it directly; otherwise create object
|
|
1284
|
+
returnValueContents = `${dataPaths[0]} == null ? ${dataPaths[0]} : {\n${indent(levelContents)}\n}`;
|
|
1285
|
+
}
|
|
1286
|
+
else {
|
|
1287
|
+
returnValueContents = `{\n${indent(levelContents)}\n}`;
|
|
1288
|
+
}
|
|
299
1289
|
}
|
|
300
1290
|
}
|
|
301
1291
|
if (root) {
|
|
@@ -305,6 +1295,12 @@ export default function constructMockCode(mockName, dependencySchemas) {
|
|
|
305
1295
|
if (args && args.length > 0) {
|
|
306
1296
|
if (!isValidKey(name))
|
|
307
1297
|
return;
|
|
1298
|
+
// Skip array index patterns like [], [0], [1] when they have args
|
|
1299
|
+
// These represent function calls on array elements, not property keys
|
|
1300
|
+
// e.g., customSizes[].(args) means each array element is callable, not a property named "[]"
|
|
1301
|
+
if (name.match(/^\[\d*\]$/)) {
|
|
1302
|
+
return;
|
|
1303
|
+
}
|
|
308
1304
|
const mostArgs = args.sort((a, b) => b.length - a.length)[0];
|
|
309
1305
|
const argsString = mostArgs
|
|
310
1306
|
.map((_, index) => `arg${index + 1}`)
|
|
@@ -344,8 +1340,19 @@ export default function constructMockCode(mockName, dependencySchemas) {
|
|
|
344
1340
|
fallbackContent = `return ${returnValueContents}`;
|
|
345
1341
|
}
|
|
346
1342
|
else {
|
|
347
|
-
//
|
|
348
|
-
|
|
1343
|
+
// No explicit fallback paths - return the first literal's value as default
|
|
1344
|
+
// Returning spread of all values is dangerous because if values are primitives (strings),
|
|
1345
|
+
// spreading them creates objects with numeric keys like {0:'a', 1:'b', ...}
|
|
1346
|
+
// which causes "Objects are not valid as React child" errors
|
|
1347
|
+
const firstLiteralValue = literalKeys[0];
|
|
1348
|
+
const firstGroupPaths = argGroups.get(firstLiteralValue);
|
|
1349
|
+
if (firstGroupPaths && firstGroupPaths.length === 1) {
|
|
1350
|
+
fallbackContent = `return ${firstGroupPaths[0]}`;
|
|
1351
|
+
}
|
|
1352
|
+
else {
|
|
1353
|
+
// Multiple paths for first literal - return undefined as safe fallback
|
|
1354
|
+
fallbackContent = `return undefined`;
|
|
1355
|
+
}
|
|
349
1356
|
}
|
|
350
1357
|
const funcContents = conditionalBranches.join('\n') +
|
|
351
1358
|
'\n// Fallback for unmatched arguments\n' +
|
|
@@ -354,7 +1361,18 @@ export default function constructMockCode(mockName, dependencySchemas) {
|
|
|
354
1361
|
}
|
|
355
1362
|
else {
|
|
356
1363
|
// No argument variants - use existing behavior
|
|
357
|
-
|
|
1364
|
+
// But if there's nested content, we need to include it in the return object
|
|
1365
|
+
// (similar to how argument variant branches handle this at line 1070-1072)
|
|
1366
|
+
const hasNestedContent = validNestedContent.length > 0;
|
|
1367
|
+
let funcReturnContents;
|
|
1368
|
+
if (hasNestedContent && levelContentItems.length > 1) {
|
|
1369
|
+
// Include both spread and nested content in the return
|
|
1370
|
+
funcReturnContents = `{\n${indent(levelContents)}\n}`;
|
|
1371
|
+
}
|
|
1372
|
+
else {
|
|
1373
|
+
funcReturnContents = returnValueContents;
|
|
1374
|
+
}
|
|
1375
|
+
const funcContents = `return ${funcReturnContents}`;
|
|
358
1376
|
content = `${cleanOutTypes(name)}: ${isAsyncFunction ? 'async ' : ''}(${argsString}) => {\n${indent(funcContents)}\n}`;
|
|
359
1377
|
}
|
|
360
1378
|
}
|
|
@@ -363,8 +1381,14 @@ export default function constructMockCode(mockName, dependencySchemas) {
|
|
|
363
1381
|
return;
|
|
364
1382
|
}
|
|
365
1383
|
else if (name.match(/\[\d*\]/)) {
|
|
1384
|
+
// Numeric array index like [0], [1] - can be used as computed property
|
|
366
1385
|
content = returnValueContents;
|
|
367
1386
|
}
|
|
1387
|
+
else if (name.match(/^\[[a-zA-Z_]\w*\]$/)) {
|
|
1388
|
+
// Variable-based index like [currentItemIndex] - must be quoted string key
|
|
1389
|
+
// Otherwise JavaScript would try to evaluate the variable name
|
|
1390
|
+
content = `"${safeString(name)}": ${returnValueContents}`;
|
|
1391
|
+
}
|
|
368
1392
|
else {
|
|
369
1393
|
content = `${safeString(name)}: ${returnValueContents}`;
|
|
370
1394
|
}
|
|
@@ -376,7 +1400,31 @@ export default function constructMockCode(mockName, dependencySchemas) {
|
|
|
376
1400
|
return content;
|
|
377
1401
|
};
|
|
378
1402
|
// Create the return value structure
|
|
379
|
-
|
|
1403
|
+
// OPTIMIZATION: Filter keys to only those starting with baseMockName before sorting.
|
|
1404
|
+
// This dramatically reduces processing time for large schemas (e.g., 9216 keys -> ~100 relevant keys).
|
|
1405
|
+
// Without this filter, the loop would call splitOutsideParenthesesAndArrays on every key
|
|
1406
|
+
// even though most are filtered out later by the baseMockName check.
|
|
1407
|
+
const allSchemaKeys = Object.keys(relevantReturnValueSchema ?? {});
|
|
1408
|
+
const relevantKeys = allSchemaKeys.filter((key) => {
|
|
1409
|
+
// Fast prefix check - key must start with baseMockName followed by ( or < or .
|
|
1410
|
+
// This matches: "useAtom()", "useAtom<T>()", "useAtom.something", but not "useAtomValue()"
|
|
1411
|
+
if (key === baseMockName)
|
|
1412
|
+
return true;
|
|
1413
|
+
if (key.startsWith(baseMockName + '('))
|
|
1414
|
+
return true;
|
|
1415
|
+
if (key.startsWith(baseMockName + '<'))
|
|
1416
|
+
return true;
|
|
1417
|
+
if (key.startsWith(baseMockName + '.'))
|
|
1418
|
+
return true;
|
|
1419
|
+
// Also include 'returnValue' paths which are normalized later
|
|
1420
|
+
if (key === 'returnValue' ||
|
|
1421
|
+
key.startsWith('returnValue.') ||
|
|
1422
|
+
key.startsWith('returnValue['))
|
|
1423
|
+
return true;
|
|
1424
|
+
return false;
|
|
1425
|
+
});
|
|
1426
|
+
const schemaKeyCount = relevantKeys.length;
|
|
1427
|
+
const sortedKeys = relevantKeys.sort((a, b) => {
|
|
380
1428
|
const aParts = splitOutsideParenthesesAndArrays(a);
|
|
381
1429
|
const bParts = splitOutsideParenthesesAndArrays(b);
|
|
382
1430
|
const maxLength = Math.max(aParts.length, bParts.length);
|
|
@@ -400,6 +1448,36 @@ export default function constructMockCode(mockName, dependencySchemas) {
|
|
|
400
1448
|
}
|
|
401
1449
|
return 0;
|
|
402
1450
|
});
|
|
1451
|
+
// OPTIMIZATION: Pre-compute prefix indexes for O(1) lookups instead of O(n) scans.
|
|
1452
|
+
// This reduces complexity from O(n²) to O(n) for large schemas (9k+ keys).
|
|
1453
|
+
//
|
|
1454
|
+
// 1. extendedReturnValuePrefixes: Set of all path prefixes that have a .functionCallReturnValue extension
|
|
1455
|
+
// Used by hasExtendedFunctionCallReturnValue check at line ~1754
|
|
1456
|
+
// 2. functionCallsWithReturnValue: Set of function call paths where .functionCallReturnValue IMMEDIATELY follows
|
|
1457
|
+
// Used by hasProperFunctionCallPath check at line ~1787
|
|
1458
|
+
// IMPORTANT: Only includes paths where the function call is directly followed by .functionCallReturnValue
|
|
1459
|
+
// e.g., "a.b().functionCallReturnValue" -> adds "a.b()" but NOT "a" even if "a" ends with ")"
|
|
1460
|
+
const extendedReturnValuePrefixes = new Set();
|
|
1461
|
+
const functionCallsWithReturnValue = new Set();
|
|
1462
|
+
for (const k of relevantKeys) {
|
|
1463
|
+
const parts = splitOutsideParenthesesAndArrays(k);
|
|
1464
|
+
const returnValueIndex = parts.findIndex((part) => part.startsWith(RETURN_VALUE));
|
|
1465
|
+
if (returnValueIndex !== -1) {
|
|
1466
|
+
// Add all prefixes of k up to (but not including) functionCallReturnValue
|
|
1467
|
+
const prefix = joinParenthesesAndArrays(parts.slice(0, returnValueIndex));
|
|
1468
|
+
extendedReturnValuePrefixes.add(prefix);
|
|
1469
|
+
// ONLY add to functionCallsWithReturnValue if functionCallReturnValue IMMEDIATELY follows
|
|
1470
|
+
if (prefix.endsWith(')')) {
|
|
1471
|
+
functionCallsWithReturnValue.add(prefix);
|
|
1472
|
+
}
|
|
1473
|
+
// Also add intermediate prefixes for nested paths to extendedReturnValuePrefixes
|
|
1474
|
+
// This helps hasExtendedFunctionCallReturnValue which checks key + '.'
|
|
1475
|
+
for (let i = 1; i < returnValueIndex; i++) {
|
|
1476
|
+
const partialPrefix = joinParenthesesAndArrays(parts.slice(0, i));
|
|
1477
|
+
extendedReturnValuePrefixes.add(partialPrefix);
|
|
1478
|
+
}
|
|
1479
|
+
}
|
|
1480
|
+
}
|
|
403
1481
|
for (const key of sortedKeys) {
|
|
404
1482
|
const value = relevantReturnValueSchema[key];
|
|
405
1483
|
const parts = splitOutsideParenthesesAndArrays(key);
|
|
@@ -427,7 +1505,9 @@ export default function constructMockCode(mockName, dependencySchemas) {
|
|
|
427
1505
|
parts.splice(i, 1);
|
|
428
1506
|
}
|
|
429
1507
|
}
|
|
430
|
-
|
|
1508
|
+
// Compare against baseMockName (without generics/args), not the full mockName
|
|
1509
|
+
// e.g., for "useFetcher<User>()", baseMockName is "useFetcher"
|
|
1510
|
+
if (parts[0].split('(')[0] !== baseMockName)
|
|
431
1511
|
continue;
|
|
432
1512
|
// Include paths with functionCallReturnValue OR function-typed paths that need mocking
|
|
433
1513
|
const hasFunctionCallReturnValue = parts.some((p) => isFunctionCallReturnValue(p));
|
|
@@ -438,10 +1518,53 @@ export default function constructMockCode(mockName, dependencySchemas) {
|
|
|
438
1518
|
// Exclude paths with functionCallReturnValue - those are handled by existing logic
|
|
439
1519
|
// Also check if there's a functionCallReturnValue path that extends this path
|
|
440
1520
|
const hasSignaturePath = parts.some((p) => p.startsWith('signature['));
|
|
441
|
-
|
|
1521
|
+
// Skip signature paths entirely - they describe INPUT structure (function arguments),
|
|
1522
|
+
// not OUTPUT (return values). This applies even if they contain functionCallReturnValue
|
|
1523
|
+
// nested inside (e.g., methods on array elements passed as arguments).
|
|
1524
|
+
if (hasSignaturePath)
|
|
1525
|
+
continue;
|
|
1526
|
+
// OPTIMIZATION: Use pre-computed index instead of O(n) scan
|
|
1527
|
+
// Old code: Object.keys(relevantReturnValueSchema).some((k) => k.startsWith(key + '.') && k.includes('.functionCallReturnValue'))
|
|
1528
|
+
const hasExtendedFunctionCallReturnValue = extendedReturnValuePrefixes.has(key);
|
|
1529
|
+
// Skip JSX components - they look like function calls (e.g., Context.Provider())
|
|
1530
|
+
// but they're React components used in JSX, not functions that need mocking
|
|
1531
|
+
// Check both the value type and whether the functionCallReturnValue is jsx-component
|
|
1532
|
+
const isJsxComponent = value === 'jsx-component' ||
|
|
1533
|
+
relevantReturnValueSchema[key + '.functionCallReturnValue'] ===
|
|
1534
|
+
'jsx-component';
|
|
1535
|
+
if (isJsxComponent)
|
|
1536
|
+
continue;
|
|
1537
|
+
// Skip paths that bypass .functionCallReturnValue when there's a corresponding path with it.
|
|
1538
|
+
// Example: If we have both:
|
|
1539
|
+
// - trpc.customer.useQuery(...).data (incorrect - no .functionCallReturnValue)
|
|
1540
|
+
// - trpc.customer.useQuery(...).functionCallReturnValue.data (correct)
|
|
1541
|
+
// We should skip the first path because the second one properly captures the return value.
|
|
1542
|
+
// This can happen when the analyzer sees both the raw property access and the return value structure.
|
|
1543
|
+
if (!hasFunctionCallReturnValue) {
|
|
1544
|
+
// This path has no .functionCallReturnValue. Check if any function call in this path
|
|
1545
|
+
// has a corresponding .functionCallReturnValue path in the schema.
|
|
1546
|
+
let shouldSkipKey = false;
|
|
1547
|
+
for (let i = 0; i < parts.length - 1; i++) {
|
|
1548
|
+
const part = parts[i];
|
|
1549
|
+
if (part.endsWith(')') && !isFunctionCallReturnValue(parts[i + 1])) {
|
|
1550
|
+
// This part is a function call, and the next part is NOT .functionCallReturnValue
|
|
1551
|
+
// Check if there's any path with .functionCallReturnValue for this function call
|
|
1552
|
+
const functionCallPath = joinParenthesesAndArrays(parts.slice(0, i + 1));
|
|
1553
|
+
// OPTIMIZATION: Use pre-computed index instead of O(n) scan
|
|
1554
|
+
// Old code: Object.keys(relevantReturnValueSchema).some((k) => k.startsWith(functionCallPath + '.functionCallReturnValue'))
|
|
1555
|
+
const hasProperFunctionCallPath = functionCallsWithReturnValue.has(functionCallPath);
|
|
1556
|
+
if (hasProperFunctionCallPath) {
|
|
1557
|
+
// Skip this path - the .functionCallReturnValue path will handle it correctly
|
|
1558
|
+
shouldSkipKey = true;
|
|
1559
|
+
break;
|
|
1560
|
+
}
|
|
1561
|
+
}
|
|
1562
|
+
}
|
|
1563
|
+
if (shouldSkipKey)
|
|
1564
|
+
continue;
|
|
1565
|
+
}
|
|
442
1566
|
const isFunctionPath = ['function', 'async-function'].includes(value) &&
|
|
443
1567
|
parts[parts.length - 1].endsWith(')') &&
|
|
444
|
-
!hasSignaturePath &&
|
|
445
1568
|
!hasAnyFunctionCallReturnValue &&
|
|
446
1569
|
!hasExtendedFunctionCallReturnValue;
|
|
447
1570
|
if (!hasFunctionCallReturnValue && !isFunctionPath)
|
|
@@ -483,6 +1606,16 @@ export default function constructMockCode(mockName, dependencySchemas) {
|
|
|
483
1606
|
const nextIsArray = !!nextPart?.match(/^\[\d*\]/);
|
|
484
1607
|
const isDifferentiatedArray = !!part?.match(/^\[\d+\]/);
|
|
485
1608
|
const nextIsDifferentiatedArray = !!nextPart?.match(/^\[\d+\]/);
|
|
1609
|
+
// Variable index patterns like [currentItemIndex] or [targetIndex] indicate array access
|
|
1610
|
+
// but don't represent actual data structure - they're markers from variable-based index tracking.
|
|
1611
|
+
// Skip them AND all remaining parts to avoid creating spurious nested structure that breaks array iteration.
|
|
1612
|
+
// The remaining parts (e.g., .missing_attributes) describe properties of array elements, which are
|
|
1613
|
+
// already handled by the generic [] accessor path.
|
|
1614
|
+
const isVariableIndex = !!part?.match(/^\[[a-zA-Z_]\w*\]$/);
|
|
1615
|
+
if (isVariableIndex) {
|
|
1616
|
+
// Break out of the loop entirely - don't process any remaining parts
|
|
1617
|
+
break;
|
|
1618
|
+
}
|
|
486
1619
|
// Find the correct value for the current part being processed
|
|
487
1620
|
let partValue = value; // default to the final value
|
|
488
1621
|
if (isFunctionCallReturnValue(part) && nextIsArray) {
|
|
@@ -523,6 +1656,23 @@ export default function constructMockCode(mockName, dependencySchemas) {
|
|
|
523
1656
|
if (returnValueSection.returnsFunctionArgs && value === 'array') {
|
|
524
1657
|
returnValueSection.returnsFunctionArray = true;
|
|
525
1658
|
}
|
|
1659
|
+
// Check if this function call has actual return data in the schema
|
|
1660
|
+
// If the path only has .signature entries (no .functionCallReturnValue), mark as no return data
|
|
1661
|
+
// Use parts[i] (original part) instead of modified 'part' to include array indices like [1]
|
|
1662
|
+
const functionCallPath = joinParenthesesAndArrays([
|
|
1663
|
+
...parts.slice(0, i),
|
|
1664
|
+
parts[i], // Use original part which may include [1](args) together
|
|
1665
|
+
]);
|
|
1666
|
+
// Check if there's a .functionCallReturnValue AFTER this function call path
|
|
1667
|
+
const hasFunctionCallReturnValue = Object.keys(relevantReturnValueSchema).some((k) => {
|
|
1668
|
+
if (!k.startsWith(functionCallPath))
|
|
1669
|
+
return false;
|
|
1670
|
+
const afterPath = k.slice(functionCallPath.length);
|
|
1671
|
+
return afterPath.startsWith('.functionCallReturnValue');
|
|
1672
|
+
});
|
|
1673
|
+
if (!hasFunctionCallReturnValue) {
|
|
1674
|
+
returnValueSection.hasNoReturnData = true;
|
|
1675
|
+
}
|
|
526
1676
|
}
|
|
527
1677
|
if (nextIsDifferentiatedArray || hasNestedFunction) {
|
|
528
1678
|
continue;
|
|
@@ -557,7 +1707,35 @@ export default function constructMockCode(mockName, dependencySchemas) {
|
|
|
557
1707
|
}
|
|
558
1708
|
}
|
|
559
1709
|
else {
|
|
560
|
-
|
|
1710
|
+
// Before setting returnsFunctionArgs on the parent (for generic [] = function),
|
|
1711
|
+
// check if there are specific array indices (like [0], [1]) that are NOT functions.
|
|
1712
|
+
// If so, don't set returnsFunctionArgs because those specific indices take precedence.
|
|
1713
|
+
// This prevents adding ["()"] to paths like [0] when [0] is 'unknown' but [] is 'function'.
|
|
1714
|
+
//
|
|
1715
|
+
// Use parts.slice(0, i + 1) to get the current path INCLUDING functionCallReturnValue.
|
|
1716
|
+
// For example, if parts = ['useAtom()','functionCallReturnValue','[]']
|
|
1717
|
+
// and i = 1, we want to check 'useAtom().functionCallReturnValue[0]' etc.
|
|
1718
|
+
const arrayContainerPath = joinParenthesesAndArrays(parts.slice(0, i + 1));
|
|
1719
|
+
const hasNonFunctionSpecificIndices = Object.entries(relevantReturnValueSchema).some(([k, v]) => {
|
|
1720
|
+
// Look for paths like "arrayContainerPath[0]", "arrayContainerPath[1]" etc.
|
|
1721
|
+
const indexMatch = k.match(new RegExp(`^${arrayContainerPath.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}\\[(\\d+)\\]$`));
|
|
1722
|
+
// If found and it's NOT a function type, we have a conflict
|
|
1723
|
+
return (indexMatch &&
|
|
1724
|
+
!['function', 'async-function'].includes(v));
|
|
1725
|
+
});
|
|
1726
|
+
// Also check if [] has nested object properties (like [].filter, [].name)
|
|
1727
|
+
// If so, [] items are objects with properties, not pure functions to be called
|
|
1728
|
+
// This handles cases where the schema shows [].filter = object but doesn't
|
|
1729
|
+
// have explicit [0] entries
|
|
1730
|
+
const genericArrayPath = `${arrayContainerPath}[]`;
|
|
1731
|
+
const hasNestedProperties = Object.keys(relevantReturnValueSchema).some((k) => {
|
|
1732
|
+
// Check for paths like "arrayContainerPath[].propertyName" (not [].())
|
|
1733
|
+
return (k.startsWith(genericArrayPath + '.') &&
|
|
1734
|
+
!k.startsWith(genericArrayPath + '.('));
|
|
1735
|
+
});
|
|
1736
|
+
if (!hasNonFunctionSpecificIndices && !hasNestedProperties) {
|
|
1737
|
+
returnValueSection.returnsFunctionArgs = [];
|
|
1738
|
+
}
|
|
561
1739
|
}
|
|
562
1740
|
}
|
|
563
1741
|
}
|
|
@@ -576,6 +1754,12 @@ export default function constructMockCode(mockName, dependencySchemas) {
|
|
|
576
1754
|
if (['function', 'async-function'].includes(nextValue)) {
|
|
577
1755
|
continue; // Continue to process the function property
|
|
578
1756
|
}
|
|
1757
|
+
// If the next part is an object with nested content, continue processing
|
|
1758
|
+
// This handles paths like functionCallReturnValue.selectedOptions.elementOptions[]
|
|
1759
|
+
// Also handles union types like 'array | undefined' or 'object | undefined'
|
|
1760
|
+
if (nextValue?.includes('object') || nextValue?.includes('array')) {
|
|
1761
|
+
continue;
|
|
1762
|
+
}
|
|
579
1763
|
}
|
|
580
1764
|
break;
|
|
581
1765
|
}
|
|
@@ -583,8 +1767,29 @@ export default function constructMockCode(mockName, dependencySchemas) {
|
|
|
583
1767
|
else if (isKeyWord) {
|
|
584
1768
|
continue;
|
|
585
1769
|
}
|
|
1770
|
+
// Handle parts that end with [] (e.g., "elementOptions[]")
|
|
1771
|
+
// These should be treated as the base part + array accessor
|
|
1772
|
+
const endsWithArrayAccessor = part.endsWith('[]') && part !== '[]';
|
|
1773
|
+
const basePart = endsWithArrayAccessor ? part.slice(0, -2) : part;
|
|
586
1774
|
const withoutArgs = (p) => p.name.split('(')[0];
|
|
587
|
-
let relevantPart = returnValueSection.nested?.find((p) => withoutArgs(p) === withoutArgs({ name:
|
|
1775
|
+
let relevantPart = returnValueSection.nested?.find((p) => withoutArgs(p) === withoutArgs({ name: basePart }));
|
|
1776
|
+
// If part ends with [], update the existing part to be an array
|
|
1777
|
+
if (endsWithArrayAccessor && relevantPart) {
|
|
1778
|
+
relevantPart.isArray = true;
|
|
1779
|
+
relevantPart.isGenericArray = true;
|
|
1780
|
+
// Create structural [0] element for nested content
|
|
1781
|
+
relevantPart.nested || (relevantPart.nested = []);
|
|
1782
|
+
if (!relevantPart.nested.find((p) => p.name === '[0]')) {
|
|
1783
|
+
relevantPart.nested.push({
|
|
1784
|
+
name: '[0]',
|
|
1785
|
+
nested: [],
|
|
1786
|
+
isStructural: true,
|
|
1787
|
+
});
|
|
1788
|
+
}
|
|
1789
|
+
// Move to the [0] element for processing subsequent parts
|
|
1790
|
+
returnValueSection = relevantPart.nested.find((p) => p.name === '[0]');
|
|
1791
|
+
continue;
|
|
1792
|
+
}
|
|
588
1793
|
if (!relevantPart) {
|
|
589
1794
|
const hasArguments = part.includes('(') && part.endsWith(')');
|
|
590
1795
|
if (part === '[]') {
|
|
@@ -605,6 +1810,29 @@ export default function constructMockCode(mockName, dependencySchemas) {
|
|
|
605
1810
|
}
|
|
606
1811
|
continue;
|
|
607
1812
|
}
|
|
1813
|
+
// Handle parts that end with [] (e.g., "elementOptions[]") when base part doesn't exist
|
|
1814
|
+
if (endsWithArrayAccessor) {
|
|
1815
|
+
// Create the base part with array properties
|
|
1816
|
+
relevantPart = {
|
|
1817
|
+
name: basePart,
|
|
1818
|
+
isArray: true,
|
|
1819
|
+
isGenericArray: true,
|
|
1820
|
+
nested: [],
|
|
1821
|
+
};
|
|
1822
|
+
returnValueSection.nested || (returnValueSection.nested = []);
|
|
1823
|
+
returnValueSection.nested.push(relevantPart);
|
|
1824
|
+
// Create structural [0] element for nested content
|
|
1825
|
+
if (partValue === 'object' && !isLastPart) {
|
|
1826
|
+
relevantPart.nested.push({
|
|
1827
|
+
name: '[0]',
|
|
1828
|
+
nested: [],
|
|
1829
|
+
isStructural: true,
|
|
1830
|
+
});
|
|
1831
|
+
// Move to the [0] element for processing subsequent parts
|
|
1832
|
+
returnValueSection = relevantPart.nested.find((p) => p.name === '[0]');
|
|
1833
|
+
}
|
|
1834
|
+
continue;
|
|
1835
|
+
}
|
|
608
1836
|
if (isLastPart &&
|
|
609
1837
|
['function', 'async-function'].includes(value) &&
|
|
610
1838
|
!hasArguments) {
|
|
@@ -640,22 +1868,73 @@ export default function constructMockCode(mockName, dependencySchemas) {
|
|
|
640
1868
|
returnValueSection.nested.push(relevantPart);
|
|
641
1869
|
}
|
|
642
1870
|
}
|
|
643
|
-
else
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
1871
|
+
else {
|
|
1872
|
+
// Add args to existing entry if current part has function arguments
|
|
1873
|
+
// This handles the case where bare `t` is processed first (creating {name: 't', args: undefined})
|
|
1874
|
+
// and then `t("common.close")` is processed - we need to add its args to the existing entry
|
|
1875
|
+
const currentArgs = funcArgs(part);
|
|
1876
|
+
const hasNewArgs = currentArgs.length > 0 || part.includes('(');
|
|
1877
|
+
if (hasNewArgs) {
|
|
1878
|
+
const existingArgs = relevantPart.args?.find((args) => args.join(',') === currentArgs.join(','));
|
|
1879
|
+
if (!existingArgs) {
|
|
1880
|
+
relevantPart.args || (relevantPart.args = []);
|
|
1881
|
+
relevantPart.args.push(currentArgs);
|
|
1882
|
+
}
|
|
648
1883
|
}
|
|
649
1884
|
}
|
|
650
|
-
|
|
1885
|
+
// If nextPart is [], update existing part to be a generic array
|
|
1886
|
+
if (relevantPart && nextPart === '[]') {
|
|
1887
|
+
relevantPart.isArray = true;
|
|
1888
|
+
relevantPart.isGenericArray = true;
|
|
1889
|
+
}
|
|
1890
|
+
// Check if there are remaining parts after functionCallReturnValue that need processing
|
|
1891
|
+
// (e.g., data properties like useQuery().functionCallReturnValue.data)
|
|
1892
|
+
const hasRemainingPartsAfterReturnValue = nextPart &&
|
|
1893
|
+
(isFunctionCallReturnValue(nextPart) ||
|
|
1894
|
+
(isFunctionCallReturnValue(parts[i]) && i < parts.length - 1));
|
|
1895
|
+
if (!hasNestedFunction && !hasRemainingPartsAfterReturnValue) {
|
|
1896
|
+
// Before breaking, check if this function returns an array
|
|
1897
|
+
// by looking for a functionCallReturnValue: 'array' entry in the schema
|
|
1898
|
+
if (relevantPart && part.endsWith(')')) {
|
|
1899
|
+
const functionReturnPath = joinParenthesesAndArrays([
|
|
1900
|
+
...parts.slice(0, i + 1),
|
|
1901
|
+
RETURN_VALUE,
|
|
1902
|
+
]);
|
|
1903
|
+
const returnType = relevantReturnValueSchema[functionReturnPath];
|
|
1904
|
+
if (returnType === 'array') {
|
|
1905
|
+
// Only set returnsFunctionArray if the array contains plain data,
|
|
1906
|
+
// NOT if it contains functions (which need wrapping)
|
|
1907
|
+
const arrayElementPath = `${functionReturnPath}[]`;
|
|
1908
|
+
const arrayElementType = relevantReturnValueSchema[arrayElementPath];
|
|
1909
|
+
// If array element is a function, we need to wrap it - don't set returnsFunctionArray
|
|
1910
|
+
if (arrayElementType !== 'function') {
|
|
1911
|
+
relevantPart.returnsFunctionArray = true;
|
|
1912
|
+
}
|
|
1913
|
+
}
|
|
1914
|
+
}
|
|
651
1915
|
break;
|
|
652
1916
|
}
|
|
653
1917
|
returnValueSection = relevantPart;
|
|
654
1918
|
}
|
|
655
1919
|
}
|
|
1920
|
+
// Post-processing: When the root functionCallReturnValue is typed as "function" but the
|
|
1921
|
+
// return value also has nested properties (methods like .from(), .auth, etc.), it's actually
|
|
1922
|
+
// an object, not a function to be called. Clear returnsFunctionArgs to prevent double-wrapping
|
|
1923
|
+
// (adding an extra () => { return { ... } } wrapper and ["()"] data paths).
|
|
1924
|
+
// This handles cases like Supabase's createClient() which returns an object with methods.
|
|
1925
|
+
// Only applied to the root level - nested parts that are functions with methods (like
|
|
1926
|
+
// useSearchParams()[1] which is a setter function with .set() and .delete()) should keep
|
|
1927
|
+
// their returnsFunctionArgs since they genuinely ARE functions.
|
|
1928
|
+
if (returnValueParts.returnsFunctionArgs &&
|
|
1929
|
+
returnValueParts.returnsFunctionArgs.length === 0 &&
|
|
1930
|
+
returnValueParts.nested &&
|
|
1931
|
+
returnValueParts.nested.length > 0) {
|
|
1932
|
+
returnValueParts.returnsFunctionArgs = undefined;
|
|
1933
|
+
}
|
|
656
1934
|
const contents = constructReturnValueString(returnValueParts);
|
|
657
1935
|
if (mockNameParts.length > 1) {
|
|
658
1936
|
const originalLib = `${mockNameParts[0]}__cyOriginal`;
|
|
1937
|
+
const skipOriginalSpread = options?.skipOriginalSpread;
|
|
659
1938
|
const subPart = (parts, originalLib) => {
|
|
660
1939
|
const part = parts.shift();
|
|
661
1940
|
if (!isValidKey(part))
|
|
@@ -663,7 +1942,9 @@ export default function constructMockCode(mockName, dependencySchemas) {
|
|
|
663
1942
|
const isLast = parts.length === 0;
|
|
664
1943
|
const partContents = isLast
|
|
665
1944
|
? contents
|
|
666
|
-
:
|
|
1945
|
+
: skipOriginalSpread
|
|
1946
|
+
? subPart(parts, originalLib)
|
|
1947
|
+
: `...${originalLib}.${part},\n${subPart(parts, originalLib)}`;
|
|
667
1948
|
let code = `${part}: {\n${indent(partContents)}\n}`;
|
|
668
1949
|
if (part.includes('(') || (isFunction && isLast)) {
|
|
669
1950
|
const args = funcArgs(part)
|
|
@@ -673,17 +1954,190 @@ export default function constructMockCode(mockName, dependencySchemas) {
|
|
|
673
1954
|
}
|
|
674
1955
|
return code;
|
|
675
1956
|
};
|
|
676
|
-
const returnParts =
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
1957
|
+
const returnParts = skipOriginalSpread
|
|
1958
|
+
? [subPart(mockNameParts.slice(1), originalLib)]
|
|
1959
|
+
: [
|
|
1960
|
+
`...${mockNameParts[0]}__cyOriginal`,
|
|
1961
|
+
subPart(mockNameParts.slice(1), originalLib),
|
|
1962
|
+
];
|
|
1963
|
+
return `const ${mockNameParts[0]} = {\n${indent(returnParts.filter(Boolean).join(',\n'))}\n};`;
|
|
681
1964
|
}
|
|
682
1965
|
else if (isFunction) {
|
|
683
|
-
|
|
1966
|
+
// For headers() and cookies() from next/headers, add common iterator methods
|
|
1967
|
+
// These are needed when the mock is passed to functions that use .entries(), .keys(), etc.
|
|
1968
|
+
// (e.g., Object.fromEntries(headers.entries()) in buildLegacyHeaders)
|
|
1969
|
+
const needsIteratorMethods = baseMockName === 'headers' || baseMockName === 'cookies';
|
|
1970
|
+
let enhancedContents = contents;
|
|
1971
|
+
if (needsIteratorMethods && contents.trim().startsWith('{')) {
|
|
1972
|
+
// Add iterator methods that operate on the scenario data
|
|
1973
|
+
// Use the dataKey (original call signature or canonical key)
|
|
1974
|
+
const quotedDataKey = quotePropertyKey(dataKey);
|
|
1975
|
+
const iteratorMethods = `,
|
|
1976
|
+
entries: () => Object.entries(scenarios().data()?.${quotedDataKey} || {}),
|
|
1977
|
+
keys: () => Object.keys(scenarios().data()?.${quotedDataKey} || {}),
|
|
1978
|
+
values: () => Object.values(scenarios().data()?.${quotedDataKey} || {}),
|
|
1979
|
+
forEach: (fn) => Object.entries(scenarios().data()?.${quotedDataKey} || {}).forEach(([k, v]) => fn(v, k)),
|
|
1980
|
+
has: (key) => Object.prototype.hasOwnProperty.call(scenarios().data()?.${quotedDataKey} || {}, key)`;
|
|
1981
|
+
// Insert before the closing brace (handle trailing whitespace)
|
|
1982
|
+
enhancedContents = contents.replace(/\}\s*$/, iteratorMethods + '\n}');
|
|
1983
|
+
}
|
|
1984
|
+
// Classes need to be mocked as classes, not functions.
|
|
1985
|
+
// They're used with `new ClassName(args)` which requires a proper constructor.
|
|
1986
|
+
// A function mock like `function ClassName() { return value; }` doesn't work because
|
|
1987
|
+
// `new ClassName("arg")` wouldn't create the expected instance.
|
|
1988
|
+
// For Error subclasses (detected by name ending in "Error"), extend Error for proper error handling.
|
|
1989
|
+
if (entityType === 'class') {
|
|
1990
|
+
const isErrorSubclass = baseMockName.endsWith('Error');
|
|
1991
|
+
const superCall = isErrorSubclass ? 'super(message);' : '';
|
|
1992
|
+
const nameAssignment = isErrorSubclass
|
|
1993
|
+
? `this.name = '${baseMockName}';`
|
|
1994
|
+
: '';
|
|
1995
|
+
// Use the base class name for the class definition, not the call-signature-derived name.
|
|
1996
|
+
// When mockName is "StatsCalculator(supabase)", baseMockName is "StatsCalculator"
|
|
1997
|
+
// and derivedFunctionName would be "StatsCalculator_supabase" which is wrong.
|
|
1998
|
+
// Classes are instantiated with `new ClassName(args)` so the name must match the original.
|
|
1999
|
+
const className = baseMockName;
|
|
2000
|
+
// Use the already-generated contents (which has proper function wrappers for methods)
|
|
2001
|
+
// instead of raw scenarios().data() which would create non-callable string-keyed properties.
|
|
2002
|
+
// For classes with methods like calculateStats(), the contents will have:
|
|
2003
|
+
// { calculateStats: (...args) => scenarios().data()?.["key"]?.["calculateStats(...)"], ... }
|
|
2004
|
+
// which makes methods callable on the instance.
|
|
2005
|
+
const classContents = enhancedContents.trim().startsWith('{')
|
|
2006
|
+
? enhancedContents
|
|
2007
|
+
: `scenarios().data()?.${quotePropertyKey(dataKey)} || {}`;
|
|
2008
|
+
return `class ${className}${isErrorSubclass ? ' extends Error' : ''} {
|
|
2009
|
+
constructor(message) {
|
|
2010
|
+
${superCall}
|
|
2011
|
+
${nameAssignment}
|
|
2012
|
+
Object.assign(this, ${classContents});
|
|
2013
|
+
}
|
|
2014
|
+
}`;
|
|
2015
|
+
}
|
|
2016
|
+
// Generate safe function name:
|
|
2017
|
+
// 1. For call signatures: use derivedFunctionName
|
|
2018
|
+
// e.g., "useFetcher<User>()" becomes "useFetcher_User"
|
|
2019
|
+
// e.g., "db.select(usersQuery)" becomes "db_select_usersQuery"
|
|
2020
|
+
// 2. With uniqueFunctionSuffix option: append suffix for unique naming
|
|
2021
|
+
// e.g., baseMockName = "useFetcher", suffix = "entityDiffFetcher" -> "useFetcher_entityDiffFetcher"
|
|
2022
|
+
// 3. EXCEPTION: When keepOriginalFunctionName is true (for single-call cases), use the base name
|
|
2023
|
+
let safeFunctionName;
|
|
2024
|
+
if (options?.keepOriginalFunctionName) {
|
|
2025
|
+
safeFunctionName = baseMockName;
|
|
2026
|
+
}
|
|
2027
|
+
else if (options?.uniqueFunctionSuffix) {
|
|
2028
|
+
safeFunctionName = `${baseMockName}_${options.uniqueFunctionSuffix}`;
|
|
2029
|
+
}
|
|
2030
|
+
else if (mockNameIsCallSignature && derivedFunctionName) {
|
|
2031
|
+
safeFunctionName = derivedFunctionName;
|
|
2032
|
+
}
|
|
2033
|
+
else {
|
|
2034
|
+
safeFunctionName = baseMockName;
|
|
2035
|
+
}
|
|
2036
|
+
// Check if this function returns a function (detected by double-call pattern: mockName(args)())
|
|
2037
|
+
// This happens when the schema has keys like "wrapThrows(() => JSON.parse(savedFilters))()"
|
|
2038
|
+
// where the function call is immediately followed by another call.
|
|
2039
|
+
// Example usage: const result = wrapThrows(() => JSON.parse(x))(); // double call
|
|
2040
|
+
const isHigherOrderFunction = Object.keys(relevantReturnValueSchema ?? {}).some((key) => {
|
|
2041
|
+
if (!key.startsWith(baseMockName))
|
|
2042
|
+
return false;
|
|
2043
|
+
// Find the first ( after baseMockName (the start of the function call)
|
|
2044
|
+
const firstOpenParen = key.indexOf('(', baseMockName.length);
|
|
2045
|
+
if (firstOpenParen === -1)
|
|
2046
|
+
return false;
|
|
2047
|
+
// Skip if the ( is not immediately after the mock name
|
|
2048
|
+
// (there might be type params like func<T>() - handle by checking for < or ()
|
|
2049
|
+
const between = key.slice(baseMockName.length, firstOpenParen);
|
|
2050
|
+
if (between.length > 0 && !between.startsWith('<'))
|
|
2051
|
+
return false;
|
|
2052
|
+
// Find the matching ) for the first ( using depth counting
|
|
2053
|
+
let depth = 1;
|
|
2054
|
+
let i = firstOpenParen + 1;
|
|
2055
|
+
while (i < key.length && depth > 0) {
|
|
2056
|
+
if (key[i] === '(')
|
|
2057
|
+
depth++;
|
|
2058
|
+
if (key[i] === ')')
|
|
2059
|
+
depth--;
|
|
2060
|
+
i++;
|
|
2061
|
+
}
|
|
2062
|
+
if (depth !== 0)
|
|
2063
|
+
return false; // Unbalanced parentheses
|
|
2064
|
+
// Now i points just after the matching )
|
|
2065
|
+
// Check if there's another ( immediately (indicating double call)
|
|
2066
|
+
const remaining = key.slice(i);
|
|
2067
|
+
if (remaining.startsWith('('))
|
|
2068
|
+
return true;
|
|
2069
|
+
return false;
|
|
2070
|
+
});
|
|
2071
|
+
// Use ...args to accept any number of arguments - prevents TypeScript errors
|
|
2072
|
+
// like "Expected 0 arguments, but got X" when caller passes arguments
|
|
2073
|
+
// For higher-order functions, wrap the return in an arrow function
|
|
2074
|
+
// so that mockFunc(arg)() works correctly (outer call returns a function, inner call gets the data)
|
|
2075
|
+
const returnValue = isHigherOrderFunction
|
|
2076
|
+
? `() => (${enhancedContents})`
|
|
2077
|
+
: enhancedContents;
|
|
2078
|
+
// Inline the return value directly in the function to avoid module-level const
|
|
2079
|
+
// that would be evaluated before scenario context is ready
|
|
2080
|
+
// Add fallback for simple data path returns to prevent undefined errors (e.g., createTheme)
|
|
2081
|
+
// Only add fallback if returnValue is a simple data accessor (starts with scenarios().data())
|
|
2082
|
+
// and doesn't already have nested structure (object literal, array, or method chains like .map())
|
|
2083
|
+
const isSimpleDataPath = returnValue.startsWith('scenarios().data()') &&
|
|
2084
|
+
!returnValue.trim().startsWith('{') &&
|
|
2085
|
+
!returnValue.trim().startsWith('[') &&
|
|
2086
|
+
!returnValue.includes('.map('); // Exclude method chains
|
|
2087
|
+
const safeReturnValue = isSimpleDataPath
|
|
2088
|
+
? `${returnValue} ?? {}`
|
|
2089
|
+
: returnValue;
|
|
2090
|
+
const refName = `_${safeFunctionName}Ref`;
|
|
2091
|
+
const assignment = `${refName}.current = ${safeReturnValue};`;
|
|
2092
|
+
const ifBlock = `if (!${refName}.current) {\n${indent(assignment)}\n}`;
|
|
2093
|
+
const body = `${ifBlock}\nreturn ${refName}.current;`;
|
|
2094
|
+
return [
|
|
2095
|
+
`// PATCHED: memoize to return stable reference (prevents infinite useEffect re-triggers)`,
|
|
2096
|
+
`const ${refName} = {`,
|
|
2097
|
+
` current: null,`,
|
|
2098
|
+
`};`,
|
|
2099
|
+
`${isRootAsyncFunction ? 'async ' : ''}function ${safeFunctionName}(...args) {`,
|
|
2100
|
+
indent(body),
|
|
2101
|
+
`}`,
|
|
2102
|
+
].join('\n');
|
|
684
2103
|
}
|
|
685
2104
|
else {
|
|
686
|
-
|
|
2105
|
+
// Generate safe const name:
|
|
2106
|
+
// 1. For call signatures: use derivedFunctionName
|
|
2107
|
+
// 2. With uniqueFunctionSuffix option: append suffix for unique naming
|
|
2108
|
+
// 3. EXCEPTION: When keepOriginalFunctionName is true (for single-call cases), use the base name
|
|
2109
|
+
let safeName;
|
|
2110
|
+
if (options?.keepOriginalFunctionName) {
|
|
2111
|
+
safeName = baseMockName;
|
|
2112
|
+
}
|
|
2113
|
+
else if (options?.uniqueFunctionSuffix) {
|
|
2114
|
+
safeName = `${baseMockName}_${options.uniqueFunctionSuffix}`;
|
|
2115
|
+
}
|
|
2116
|
+
else if (mockNameIsCallSignature && derivedFunctionName) {
|
|
2117
|
+
safeName = derivedFunctionName;
|
|
2118
|
+
}
|
|
2119
|
+
else {
|
|
2120
|
+
safeName = baseMockName;
|
|
2121
|
+
}
|
|
2122
|
+
// Get any jsx-component properties that need to be preserved from the original
|
|
2123
|
+
const jsxProperties = getJsxComponentProperties(mockName, relevantReturnValueSchema);
|
|
2124
|
+
// If there are jsx-component properties, add them as references to the original
|
|
2125
|
+
if (jsxProperties.length > 0) {
|
|
2126
|
+
const jsxPreservations = jsxProperties
|
|
2127
|
+
.map((prop) => `${prop}: ${mockName}__cyOriginal.${prop}`)
|
|
2128
|
+
.join(',\n');
|
|
2129
|
+
if (contents.trim().startsWith('{')) {
|
|
2130
|
+
// Contents is already an object - insert jsx preservations before the closing brace
|
|
2131
|
+
const enhancedContents = contents.replace(/\}\s*$/, `,\n${indent(jsxPreservations)}\n}`);
|
|
2132
|
+
return `const ${safeName} = ${enhancedContents}`;
|
|
2133
|
+
}
|
|
2134
|
+
else {
|
|
2135
|
+
// Contents is a simple accessor (e.g., scenarios().data()?.["MockName"])
|
|
2136
|
+
// Wrap it in an object with the jsx preservations
|
|
2137
|
+
return `const ${safeName} = {\n${indent(`...${contents}`)},\n${indent(jsxPreservations)}\n}`;
|
|
2138
|
+
}
|
|
2139
|
+
}
|
|
2140
|
+
return `const ${safeName} = ${contents}`;
|
|
687
2141
|
}
|
|
688
2142
|
}
|
|
689
2143
|
//# sourceMappingURL=constructMockCode.js.map
|