@codeyam/codeyam-cli 0.1.0-staging.b8a55ba → 0.1.0-staging.d0ad4ae
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/analyzer-template/.build-info.json +7 -7
- package/analyzer-template/common/execAsync.ts +1 -1
- package/analyzer-template/log.txt +3 -3
- package/analyzer-template/package.json +7 -4
- package/analyzer-template/packages/ai/package.json +1 -1
- package/analyzer-template/packages/ai/src/lib/astScopes/processExpression.ts +14 -1
- package/analyzer-template/packages/ai/src/lib/checkAllAttributes.ts +29 -10
- package/analyzer-template/packages/ai/src/lib/dataStructure/ScopeDataStructure.ts +120 -19
- package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.ts +2 -1
- package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.ts +91 -35
- package/analyzer-template/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.ts +110 -74
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.ts +11 -0
- package/analyzer-template/packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.ts +98 -0
- package/analyzer-template/packages/ai/src/lib/deepEqual.ts +30 -0
- package/analyzer-template/packages/ai/src/lib/findMatchingAttribute.ts +24 -17
- package/analyzer-template/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.ts +214 -39
- package/analyzer-template/packages/ai/src/lib/generateChangesEntityKeyAttributes.ts +54 -1
- package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarioData.ts +72 -6
- package/analyzer-template/packages/ai/src/lib/generateChangesEntityScenarios.ts +12 -5
- package/analyzer-template/packages/ai/src/lib/generateEntityScenarioData.ts +39 -23
- package/analyzer-template/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.ts +32 -0
- package/analyzer-template/packages/analyze/src/lib/FileAnalyzer.ts +14 -0
- package/analyzer-template/packages/analyze/src/lib/asts/nodes/index.ts +1 -0
- package/analyzer-template/packages/analyze/src/lib/asts/nodes/isAsyncFunction.ts +67 -0
- package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.ts +73 -69
- package/analyzer-template/packages/analyze/src/lib/files/analyze/analyzeEntities.ts +6 -0
- package/analyzer-template/packages/analyze/src/lib/files/analyze/findOrCreateEntity.ts +3 -0
- package/analyzer-template/packages/analyze/src/lib/files/analyzeChange.ts +22 -6
- package/analyzer-template/packages/analyze/src/lib/files/analyzeEntity.ts +9 -5
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.ts +49 -11
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/enrichUnknownTypesFromSourceEquivalencies.ts +102 -0
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.ts +399 -52
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.ts +128 -2
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateDataStructure.ts +114 -70
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/generateScenarioData.ts +34 -129
- package/analyzer-template/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.ts +155 -79
- 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/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 +1 -1
- 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/uploadFileToS3.ts +8 -1
- package/analyzer-template/packages/generate/index.ts +3 -0
- package/analyzer-template/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.ts +17 -1
- package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.ts +193 -0
- package/analyzer-template/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.ts +73 -0
- package/analyzer-template/packages/generate/src/lib/scenarioComponentForServer.ts +114 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.d.ts +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/entitiesTable.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts +1 -0
- package/analyzer-template/packages/github/dist/database/src/lib/kysely/tables/scenariosTable.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/generate/index.d.ts +3 -0
- package/analyzer-template/packages/github/dist/generate/index.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/generate/index.js +3 -0
- package/analyzer-template/packages/github/dist/generate/index.js.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +16 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts +9 -0
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +189 -0
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -0
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.d.ts +20 -0
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js +53 -0
- package/analyzer-template/packages/github/dist/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js.map +1 -0
- package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.d.ts +8 -0
- package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.d.ts.map +1 -0
- package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.js +89 -0
- package/analyzer-template/packages/github/dist/generate/src/lib/scenarioComponentForServer.js.map +1 -0
- package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.js +10 -0
- package/analyzer-template/packages/github/dist/github/src/lib/loadOrCreateCommit.js.map +1 -1
- package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.js +3 -0
- package/analyzer-template/packages/github/dist/github/src/lib/syncPrimaryBranch.js.map +1 -1
- package/analyzer-template/packages/github/dist/types/src/types/Entity.d.ts +2 -0
- package/analyzer-template/packages/github/dist/types/src/types/Entity.d.ts.map +1 -1
- package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts +6 -0
- package/analyzer-template/packages/github/dist/types/src/types/Scenario.d.ts.map +1 -1
- package/analyzer-template/packages/github/src/lib/loadOrCreateCommit.ts +14 -0
- package/analyzer-template/packages/github/src/lib/syncPrimaryBranch.ts +2 -0
- package/analyzer-template/packages/process/index.ts +2 -0
- package/analyzer-template/packages/process/package.json +12 -0
- package/analyzer-template/packages/process/tsconfig.json +8 -0
- package/analyzer-template/packages/types/src/types/Entity.ts +2 -0
- package/analyzer-template/packages/types/src/types/Scenario.ts +6 -0
- package/analyzer-template/packages/utils/dist/types/src/types/Entity.d.ts +2 -0
- package/analyzer-template/packages/utils/dist/types/src/types/Entity.d.ts.map +1 -1
- package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts +6 -0
- package/analyzer-template/packages/utils/dist/types/src/types/Scenario.d.ts.map +1 -1
- package/analyzer-template/playwright/capture.ts +37 -18
- package/analyzer-template/playwright/waitForServer.ts +21 -6
- package/analyzer-template/project/constructMockCode.ts +781 -140
- package/analyzer-template/project/orchestrateCapture/KyselyAnalysisLoader.ts +3 -6
- package/analyzer-template/project/orchestrateCapture.ts +10 -3
- package/analyzer-template/project/reconcileMockDataKeys.ts +28 -100
- package/analyzer-template/project/runAnalysis.ts +5 -0
- package/analyzer-template/project/serverOnlyModules.ts +127 -2
- package/analyzer-template/project/start.ts +5 -3
- package/analyzer-template/project/startScenarioCapture.ts +6 -0
- package/analyzer-template/project/writeMockDataTsx.ts +50 -22
- package/analyzer-template/project/writeScenarioClientWrapper.ts +21 -0
- package/analyzer-template/project/writeScenarioComponents.ts +162 -100
- package/analyzer-template/project/writeScenarioFiles.ts +26 -0
- package/analyzer-template/project/writeSimpleRoot.ts +11 -35
- package/analyzer-template/scripts/comboWorkerLoop.cjs +1 -0
- package/analyzer-template/scripts/defaultCmd.sh +9 -0
- package/background/src/lib/local/createLocalAnalyzer.js +1 -29
- package/background/src/lib/local/createLocalAnalyzer.js.map +1 -1
- package/background/src/lib/local/execAsync.js +1 -1
- package/background/src/lib/local/execAsync.js.map +1 -1
- package/background/src/lib/virtualized/common/execAsync.js +1 -1
- package/background/src/lib/virtualized/common/execAsync.js.map +1 -1
- package/background/src/lib/virtualized/project/constructMockCode.js +718 -127
- package/background/src/lib/virtualized/project/constructMockCode.js.map +1 -1
- package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js +3 -2
- package/background/src/lib/virtualized/project/orchestrateCapture/KyselyAnalysisLoader.js.map +1 -1
- package/background/src/lib/virtualized/project/orchestrateCapture.js +7 -4
- package/background/src/lib/virtualized/project/orchestrateCapture.js.map +1 -1
- package/background/src/lib/virtualized/project/reconcileMockDataKeys.js +25 -61
- package/background/src/lib/virtualized/project/reconcileMockDataKeys.js.map +1 -1
- package/background/src/lib/virtualized/project/runAnalysis.js +4 -0
- package/background/src/lib/virtualized/project/runAnalysis.js.map +1 -1
- package/background/src/lib/virtualized/project/serverOnlyModules.js +106 -3
- package/background/src/lib/virtualized/project/serverOnlyModules.js.map +1 -1
- package/background/src/lib/virtualized/project/start.js +5 -3
- package/background/src/lib/virtualized/project/start.js.map +1 -1
- package/background/src/lib/virtualized/project/startScenarioCapture.js +7 -0
- package/background/src/lib/virtualized/project/startScenarioCapture.js.map +1 -1
- package/background/src/lib/virtualized/project/writeMockDataTsx.js +52 -23
- package/background/src/lib/virtualized/project/writeMockDataTsx.js.map +1 -1
- package/background/src/lib/virtualized/project/writeScenarioClientWrapper.js +15 -0
- package/background/src/lib/virtualized/project/writeScenarioClientWrapper.js.map +1 -0
- package/background/src/lib/virtualized/project/writeScenarioComponents.js +136 -83
- 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 +11 -34
- package/background/src/lib/virtualized/project/writeSimpleRoot.js.map +1 -1
- package/codeyam-cli/src/cli.js +5 -1
- package/codeyam-cli/src/cli.js.map +1 -1
- package/codeyam-cli/src/commands/analyze.js +1 -1
- package/codeyam-cli/src/commands/analyze.js.map +1 -1
- package/codeyam-cli/src/commands/baseline.js +177 -0
- package/codeyam-cli/src/commands/baseline.js.map +1 -0
- package/codeyam-cli/src/commands/status.js +23 -1
- package/codeyam-cli/src/commands/status.js.map +1 -1
- package/codeyam-cli/src/commands/test-startup.js +1 -1
- package/codeyam-cli/src/commands/test-startup.js.map +1 -1
- package/codeyam-cli/src/commands/wipe.js +108 -0
- package/codeyam-cli/src/commands/wipe.js.map +1 -0
- package/codeyam-cli/src/utils/database.js +91 -5
- package/codeyam-cli/src/utils/database.js.map +1 -1
- package/codeyam-cli/src/utils/git.js +79 -0
- package/codeyam-cli/src/utils/git.js.map +1 -0
- package/codeyam-cli/src/utils/queue/job.js +104 -0
- package/codeyam-cli/src/utils/queue/job.js.map +1 -1
- package/codeyam-cli/src/utils/queue/persistence.js.map +1 -1
- package/codeyam-cli/src/utils/wipe.js +128 -0
- package/codeyam-cli/src/utils/wipe.js.map +1 -0
- package/codeyam-cli/src/webserver/app/lib/database.js +66 -17
- package/codeyam-cli/src/webserver/app/lib/database.js.map +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{EntityItem-wXL1Z2Aq.js → EntityItem-Cmysw5OP.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeBadge-CzGX-miz.js → EntityTypeBadge-DLqD3qNt.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{EntityTypeIcon-CXFKsCOD.js → EntityTypeIcon-CAneekK2.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{InteractivePreview-D-9pXIaY.js → InteractivePreview-Cu16OUmx.js} +2 -2
- package/codeyam-cli/src/webserver/build/client/assets/{LibraryFunctionPreview-CBQPrpT0.js → LibraryFunctionPreview-CVtiBnY5.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{LoadingDots-D1CdlbrV.js → LoadingDots-B0GLXMsr.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{LogViewer-wDPcZNKx.js → LogViewer-xgeCVgSM.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{ReportIssueModal-4lcOlid-.js → ReportIssueModal-DcAUIpD_.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{SafeScreenshot-BfmDgXxG.js → SafeScreenshot-DuDvi0jm.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-BMKg0SAF.js +15 -0
- package/codeyam-cli/src/webserver/build/client/assets/{TruncatedFilePath-6J7zDUD5.js → TruncatedFilePath-DyFZkK0l.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/_index-DSmTpjmK.js +11 -0
- package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-BF_aK4y6.js +32 -0
- package/codeyam-cli/src/webserver/build/client/assets/{chevron-down-BYimnrHg.js → chevron-down-Cx24_aWc.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/chunk-EPOLDU6W-CXRTFQ3F.js +51 -0
- package/codeyam-cli/src/webserver/build/client/assets/{circle-check-CaVsIRxt.js → circle-check-BOARzkeR.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{createLucideIcon-CgUsG7ib.js → createLucideIcon-BdhJEx6B.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{dev.empty-DW_hdGUc.js → dev.empty-RJCf3Tvw.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{entity._sha._-zUEpfPsu.js → entity._sha._-D0-YwkBh.js} +12 -12
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-EylcgScH.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.create-scenario-D_3ero5o.js → entity._sha_.create-scenario-DMe7kvgo.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{entity._sha_.edit._scenarioId-CfLCUi9S.js → entity._sha_.edit._scenarioId-C1H_a_Y3.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{entry.client-DKJyZfAY.js → entry.client-CS2cb_eZ.js} +6 -6
- package/codeyam-cli/src/webserver/build/client/assets/{fileTableUtils-DAtOlaWE.js → fileTableUtils-DMJ7zii9.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{files-ClR0d32A.js → files-BW7Cyeyi.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{git-D62Lxxmv.js → git-CZu4fif0.js} +2 -2
- package/codeyam-cli/src/webserver/build/client/assets/globals-wHVy_II5.css +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{index-CzNNiTkw.js → index-B1h680n5.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{index-BosqDOlH.js → index-lzqtyFU8.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{loader-circle-CNp9QFCX.js → loader-circle-B7B9V-bu.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{manifest-09d684be.js → manifest-2d191949.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/root-FHgpM6gc.js +56 -0
- package/codeyam-cli/src/webserver/build/client/assets/{search-DDGjYAMJ.js → search-CxXUmBSd.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{settings-DgTyB-Wg.js → settings-6D8k8Jp5.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/simulations-CDJZnWhN.js +1 -0
- package/codeyam-cli/src/webserver/build/client/assets/{triangle-alert-CBc5dE1s.js → triangle-alert-B6LgvRJg.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{useCustomSizes-BMIGFP-m.js → useCustomSizes-Dv18q8LD.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{useInteractiveMode-Dk_FQqWJ.js → useInteractiveMode-0ToGk4K3.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{useLastLogLine-BqPPNjAl.js → useLastLogLine-aSv48UbS.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{useReportContext-DsJbgMY9.js → useReportContext-1BX144Eg.js} +1 -1
- package/codeyam-cli/src/webserver/build/client/assets/{useToast-DWHcCcl1.js → useToast-mBRpZPiu.js} +1 -1
- package/codeyam-cli/src/webserver/build/server/assets/{index-CV6i1S1A.js → index-pU0o5t1o.js} +1 -1
- package/codeyam-cli/src/webserver/build/server/assets/server-build-YzfkRwdn.js +178 -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/templates/codeyam-setup-skill.md +138 -3
- package/codeyam-cli/templates/debug-codeyam.md +7 -2
- package/package.json +5 -5
- package/packages/ai/src/lib/astScopes/processExpression.js +13 -1
- package/packages/ai/src/lib/astScopes/processExpression.js.map +1 -1
- package/packages/ai/src/lib/checkAllAttributes.js +24 -9
- package/packages/ai/src/lib/checkAllAttributes.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js +94 -18
- package/packages/ai/src/lib/dataStructure/ScopeDataStructure.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js +2 -1
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/JavascriptFrameworkManager.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js +51 -23
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/MuiManager.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js +70 -54
- package/packages/ai/src/lib/dataStructure/equivalencyManagers/frameworks/ReactFrameworkManager.js.map +1 -1
- package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.js +11 -0
- package/packages/ai/src/lib/dataStructure/helpers/cleanNonObjectFunctions.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/deepEqual.js +32 -0
- package/packages/ai/src/lib/deepEqual.js.map +1 -0
- package/packages/ai/src/lib/findMatchingAttribute.js +20 -16
- package/packages/ai/src/lib/findMatchingAttribute.js.map +1 -1
- package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js +168 -41
- package/packages/ai/src/lib/gatherRelevantDependentKeyAttributes.js.map +1 -1
- package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js +42 -1
- package/packages/ai/src/lib/generateChangesEntityKeyAttributes.js.map +1 -1
- package/packages/ai/src/lib/generateChangesEntityScenarioData.js +59 -3
- package/packages/ai/src/lib/generateChangesEntityScenarioData.js.map +1 -1
- package/packages/ai/src/lib/generateChangesEntityScenarios.js +6 -6
- package/packages/ai/src/lib/generateChangesEntityScenarios.js.map +1 -1
- package/packages/ai/src/lib/generateEntityScenarioData.js +32 -23
- package/packages/ai/src/lib/generateEntityScenarioData.js.map +1 -1
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js +20 -1
- package/packages/ai/src/lib/promptGenerators/generateChangesEntityScenariosGenerator.js.map +1 -1
- package/packages/analyze/src/lib/FileAnalyzer.js +15 -0
- package/packages/analyze/src/lib/FileAnalyzer.js.map +1 -1
- package/packages/analyze/src/lib/asts/nodes/index.js +1 -0
- package/packages/analyze/src/lib/asts/nodes/index.js.map +1 -1
- package/packages/analyze/src/lib/asts/nodes/isAsyncFunction.js +52 -0
- package/packages/analyze/src/lib/asts/nodes/isAsyncFunction.js.map +1 -0
- package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js +59 -50
- package/packages/analyze/src/lib/files/analyze/analyzeEntities/prepareDataStructures.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/analyzeEntities.js +6 -0
- package/packages/analyze/src/lib/files/analyze/analyzeEntities.js.map +1 -1
- package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js +2 -0
- package/packages/analyze/src/lib/files/analyze/findOrCreateEntity.js.map +1 -1
- package/packages/analyze/src/lib/files/analyzeChange.js +14 -4
- package/packages/analyze/src/lib/files/analyzeChange.js.map +1 -1
- package/packages/analyze/src/lib/files/analyzeEntity.js +7 -6
- package/packages/analyze/src/lib/files/analyzeEntity.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js +44 -10
- package/packages/analyze/src/lib/files/scenarios/enrichArrayTypesFromChildSignatures.js.map +1 -1
- 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 +314 -52
- package/packages/analyze/src/lib/files/scenarios/gatherDataForMocks.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.js +97 -2
- package/packages/analyze/src/lib/files/scenarios/generateChangesScenarios.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js +88 -52
- package/packages/analyze/src/lib/files/scenarios/generateDataStructure.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js +26 -98
- package/packages/analyze/src/lib/files/scenarios/generateScenarioData.js.map +1 -1
- package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js +141 -75
- package/packages/analyze/src/lib/files/scenarios/mergeInDependentDataStructure.js.map +1 -1
- package/packages/aws/src/lib/ecs/ecsDefineContainer.js +2 -2
- package/packages/aws/src/lib/ecs/ecsDefineContainer.js.map +1 -1
- package/packages/aws/src/lib/ecs/ecsTaskFactory.js +17 -61
- package/packages/aws/src/lib/ecs/ecsTaskFactory.js.map +1 -1
- package/packages/generate/index.js +3 -0
- package/packages/generate/index.js.map +1 -1
- package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js +16 -1
- package/packages/generate/src/lib/componentScenarioPage/componentScenarioPageNext.js.map +1 -1
- package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js +189 -0
- package/packages/generate/src/lib/componentScenarioPage/generateScenarioClientWrapper.js.map +1 -0
- package/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js +53 -0
- package/packages/generate/src/lib/componentScenarioPage/generateScenarioServerComponent.js.map +1 -0
- package/packages/generate/src/lib/scenarioComponentForServer.js +89 -0
- package/packages/generate/src/lib/scenarioComponentForServer.js.map +1 -0
- package/packages/github/src/lib/loadOrCreateCommit.js +10 -0
- package/packages/github/src/lib/loadOrCreateCommit.js.map +1 -1
- package/packages/github/src/lib/syncPrimaryBranch.js +3 -0
- package/packages/github/src/lib/syncPrimaryBranch.js.map +1 -1
- package/packages/process/index.js +3 -0
- package/packages/process/index.js.map +1 -0
- package/packages/process/src/GlobalProcessManager.js.map +1 -0
- package/{background/src/lib/process → packages/process/src}/ProcessManager.js +1 -1
- package/packages/process/src/ProcessManager.js.map +1 -0
- package/packages/process/src/index.js.map +1 -0
- package/packages/process/src/managedExecAsync.js.map +1 -0
- package/analyzer-template/process/INTEGRATION_COMPLETE.md +0 -333
- package/analyzer-template/process/INTEGRATION_EXAMPLE.md +0 -525
- package/analyzer-template/process/README.md +0 -507
- package/background/src/lib/process/GlobalProcessManager.js.map +0 -1
- package/background/src/lib/process/ProcessManager.js.map +0 -1
- package/background/src/lib/process/index.js.map +0 -1
- package/background/src/lib/process/managedExecAsync.js.map +0 -1
- package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js +0 -238
- package/codeyam-cli/scripts/fixtures/cal.com/universal-mocks/packages/prisma/index.js.map +0 -1
- package/codeyam-cli/scripts/fixtures/formbricks/universal-mocks/apps/web/lib/instance/service.js +0 -7
- package/codeyam-cli/scripts/fixtures/formbricks/universal-mocks/apps/web/lib/instance/service.js.map +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/ScenarioViewer-CUxUNEEC.js +0 -15
- package/codeyam-cli/src/webserver/build/client/assets/_index-DHImXdXq.js +0 -11
- package/codeyam-cli/src/webserver/build/client/assets/activity.(_tab)-2mG6mjVb.js +0 -32
- package/codeyam-cli/src/webserver/build/client/assets/chunk-JMJ3UQ3L-BambyYE_.js +0 -51
- package/codeyam-cli/src/webserver/build/client/assets/entity._sha.scenarios._scenarioId.fullscreen-DyB90fWk.js +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/globals-C6vQASxy.css +0 -1
- package/codeyam-cli/src/webserver/build/client/assets/root-BxJUvKau.js +0 -56
- package/codeyam-cli/src/webserver/build/client/assets/simulations-CoNWGt0K.js +0 -1
- package/codeyam-cli/src/webserver/build/server/assets/server-build-BDlyhfrv.js +0 -175
- /package/analyzer-template/{process → packages/process/src}/GlobalProcessManager.ts +0 -0
- /package/analyzer-template/{process → packages/process/src}/ProcessManager.ts +0 -0
- /package/analyzer-template/{process → packages/process/src}/index.ts +0 -0
- /package/analyzer-template/{process → packages/process/src}/managedExecAsync.ts +0 -0
- /package/{background/src/lib/process → packages/process/src}/GlobalProcessManager.js +0 -0
- /package/{background/src/lib/process → packages/process/src}/index.js +0 -0
- /package/{background/src/lib/process → packages/process/src}/managedExecAsync.js +0 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts null values to undefined (removes them) based on schema type constraints.
|
|
3
|
+
*
|
|
4
|
+
* When the LLM generates mock data, it uses `null` to represent "no value" because
|
|
5
|
+
* JSON doesn't support `undefined`. However, TypeScript types like `string | undefined`
|
|
6
|
+
* don't accept `null`.
|
|
7
|
+
*
|
|
8
|
+
* This function traverses data and schema together:
|
|
9
|
+
* - If schema type is "T | undefined" (but NOT "T | null"), convert null → undefined (delete key)
|
|
10
|
+
* - If schema type includes "null" (e.g., "T | null" or "T | null | undefined"), preserve null
|
|
11
|
+
* - If field not in schema, preserve as-is
|
|
12
|
+
*
|
|
13
|
+
* @param data The data object with potential null values
|
|
14
|
+
* @param schema The schema describing expected types
|
|
15
|
+
* @returns The data with null→undefined conversions applied (mutates original)
|
|
16
|
+
*/
|
|
17
|
+
export default function convertNullToUndefinedBySchema(data, schema) {
|
|
18
|
+
// Handle null/undefined data
|
|
19
|
+
if (data === null || data === undefined) {
|
|
20
|
+
return data;
|
|
21
|
+
}
|
|
22
|
+
// Only process objects
|
|
23
|
+
if (typeof data !== 'object') {
|
|
24
|
+
return data;
|
|
25
|
+
}
|
|
26
|
+
// Handle arrays
|
|
27
|
+
if (Array.isArray(data)) {
|
|
28
|
+
// For arrays, the schema should be an array with one element describing the item type
|
|
29
|
+
const itemSchema = Array.isArray(schema) ? schema[0] : undefined;
|
|
30
|
+
for (let i = 0; i < data.length; i++) {
|
|
31
|
+
data[i] = convertNullToUndefinedBySchema(data[i], itemSchema);
|
|
32
|
+
}
|
|
33
|
+
return data;
|
|
34
|
+
}
|
|
35
|
+
// Handle objects
|
|
36
|
+
const dataObj = data;
|
|
37
|
+
const schemaObj = schema;
|
|
38
|
+
for (const key of Object.keys(dataObj)) {
|
|
39
|
+
const value = dataObj[key];
|
|
40
|
+
const fieldSchema = schemaObj?.[key];
|
|
41
|
+
if (value === null) {
|
|
42
|
+
// Check if schema allows null
|
|
43
|
+
if (shouldConvertNullToUndefined(fieldSchema)) {
|
|
44
|
+
// Delete the key (converts null to undefined)
|
|
45
|
+
delete dataObj[key];
|
|
46
|
+
}
|
|
47
|
+
// If schema allows null, preserve it
|
|
48
|
+
}
|
|
49
|
+
else if (typeof value === 'object' && value !== null) {
|
|
50
|
+
// Recursively process nested objects/arrays
|
|
51
|
+
convertNullToUndefinedBySchema(value, fieldSchema);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return data;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Determines if a null value should be converted to undefined based on schema type.
|
|
58
|
+
*
|
|
59
|
+
* @param fieldSchema The schema type string or object for the field
|
|
60
|
+
* @returns true if null should be converted to undefined, false if null should be preserved
|
|
61
|
+
*/
|
|
62
|
+
function shouldConvertNullToUndefined(fieldSchema) {
|
|
63
|
+
// If no schema for this field, preserve null (be conservative)
|
|
64
|
+
if (fieldSchema === undefined || fieldSchema === null) {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
// If schema is a string type definition, check if it allows null
|
|
68
|
+
if (typeof fieldSchema === 'string') {
|
|
69
|
+
// Schema types that include "null" should preserve null values
|
|
70
|
+
// e.g., "string | null", "number | null | undefined", "null"
|
|
71
|
+
const allowsNull = fieldSchema.includes('null');
|
|
72
|
+
const allowsUndefined = fieldSchema.includes('undefined');
|
|
73
|
+
// If type allows undefined but NOT null, convert null to undefined
|
|
74
|
+
// e.g., "string | undefined" → convert null to undefined
|
|
75
|
+
// e.g., "string | null" → preserve null
|
|
76
|
+
// e.g., "string | null | undefined" → preserve null
|
|
77
|
+
if (allowsUndefined && !allowsNull) {
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
// If schema is an object or array, it's a nested structure
|
|
83
|
+
// Don't convert the container itself, just recurse into it
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=convertNullToUndefinedBySchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convertNullToUndefinedBySchema.js","sourceRoot":"","sources":["../../../../../../../../packages/ai/src/lib/dataStructure/helpers/convertNullToUndefinedBySchema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,OAAO,UAAU,8BAA8B,CACpD,IAAO,EACP,MAAe;IAEf,6BAA6B;IAC7B,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uBAAuB;IACvB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB;IAChB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,sFAAsF;QACtF,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC,CAAC,CAAC,GAAG,8BAA8B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB;IACjB,MAAM,OAAO,GAAG,IAA+B,CAAC;IAChD,MAAM,SAAS,GAAG,MAA6C,CAAC;IAEhE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,WAAW,GAAG,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;QAErC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,8BAA8B;YAC9B,IAAI,4BAA4B,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC9C,8CAA8C;gBAC9C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC;YACD,qCAAqC;QACvC,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACvD,4CAA4C;YAC5C,8BAA8B,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAS,4BAA4B,CAAC,WAAoB;IACxD,+DAA+D;IAC/D,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QACtD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,iEAAiE;IACjE,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACpC,+DAA+D;QAC/D,6DAA6D;QAC7D,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,eAAe,GAAG,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAE1D,mEAAmE;QACnE,yDAAyD;QACzD,wCAAwC;QACxC,oDAAoD;QACpD,IAAI,eAAe,IAAI,CAAC,UAAU,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,2DAA2D;IAC3D,2DAA2D;IAC3D,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export default function deepEqual(obj1, obj2) {
|
|
2
|
+
// Handle primitive types and null/undefined
|
|
3
|
+
if (obj1 === obj2)
|
|
4
|
+
return true;
|
|
5
|
+
if (obj1 == null || obj2 == null)
|
|
6
|
+
return false;
|
|
7
|
+
if (typeof obj1 !== 'object' || typeof obj2 !== 'object')
|
|
8
|
+
return false;
|
|
9
|
+
// Handle Date objects
|
|
10
|
+
if (obj1 instanceof Date && obj2 instanceof Date) {
|
|
11
|
+
return obj1.getTime() === obj2.getTime();
|
|
12
|
+
}
|
|
13
|
+
// Handle Array objects
|
|
14
|
+
if (Array.isArray(obj1) && Array.isArray(obj2)) {
|
|
15
|
+
if (obj1.length !== obj2.length)
|
|
16
|
+
return false;
|
|
17
|
+
return obj1.every((item, index) => deepEqual(item, obj2[index]));
|
|
18
|
+
}
|
|
19
|
+
// Handle regular objects
|
|
20
|
+
const keys1 = Object.keys(obj1);
|
|
21
|
+
const keys2 = Object.keys(obj2);
|
|
22
|
+
if (keys1.length !== keys2.length)
|
|
23
|
+
return false;
|
|
24
|
+
return keys1.every((key) => {
|
|
25
|
+
if (!Object.prototype.hasOwnProperty.call(obj2, key))
|
|
26
|
+
return false;
|
|
27
|
+
const obj1AsAny = obj1;
|
|
28
|
+
const obj2AsAny = obj2;
|
|
29
|
+
return deepEqual(obj1AsAny[key], obj2AsAny[key]);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=deepEqual.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deepEqual.js","sourceRoot":"","sources":["../../../../../../packages/ai/src/lib/deepEqual.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,IAAa,EAAE,IAAa;IAC5D,4CAA4C;IAC5C,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/B,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAEvE,sBAAsB;IACtB,IAAI,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;IAC3C,CAAC;IAED,uBAAuB;IACvB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,yBAAyB;IACzB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhC,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAEhD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACzB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QACnE,MAAM,SAAS,GAAG,IAAW,CAAC;QAC9B,MAAM,SAAS,GAAG,IAAW,CAAC;QAC9B,OAAO,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -53,24 +53,28 @@ export default function findMatchingAttribute(attributePath, attributesList, equ
|
|
|
53
53
|
}
|
|
54
54
|
else {
|
|
55
55
|
const normalizedPath = normalizeKey(attributePath);
|
|
56
|
-
|
|
57
|
-
//
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const normalizedPathCharacters = normalizedPath.split('');
|
|
61
|
-
for (const attr of options) {
|
|
62
|
-
const attrCharacters = normalizeKey(attr).split('');
|
|
63
|
-
const matchLength = normalizedPathCharacters.findIndex((char, index) => char !== attrCharacters[index]);
|
|
64
|
-
if (matchLength !== -1) {
|
|
65
|
-
const matchedPrefix = normalizedPathCharacters.slice(0, matchLength);
|
|
66
|
-
if (matchedPrefix.length > 0) {
|
|
67
|
-
return attr;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
56
|
+
// Filter out undefined values to prevent normalizeKey from crashing
|
|
57
|
+
// This can happen when key attributes have undefined internalPath
|
|
58
|
+
const validAttributes = attributesList.filter((attr) => attr !== undefined && attr !== null);
|
|
59
|
+
const matchingAttribute = validAttributes.find((attr) => normalizeKey(attr) === normalizedPath);
|
|
72
60
|
if (matchingAttribute)
|
|
73
61
|
return matchingAttribute;
|
|
62
|
+
// Fallback: LLM may return dataStructurePath format (e.g., "useLoaderData<typeof loader>().currentBranch")
|
|
63
|
+
// when we expect localVariable format (e.g., "currentBranch").
|
|
64
|
+
// Try matching suffix parts of the path against the attributes list.
|
|
65
|
+
const pathParts = splitOutsideParenthesesAndArrays(attributePath);
|
|
66
|
+
for (let i = 1; i < pathParts.length; i++) {
|
|
67
|
+
const suffixPath = joinParenthesesAndArrays(pathParts.slice(i));
|
|
68
|
+
if (validAttributes.includes(suffixPath)) {
|
|
69
|
+
return suffixPath;
|
|
70
|
+
}
|
|
71
|
+
// Also try normalized comparison for the suffix
|
|
72
|
+
const normalizedSuffix = normalizeKey(suffixPath);
|
|
73
|
+
const suffixMatch = validAttributes.find((attr) => normalizeKey(attr) === normalizedSuffix);
|
|
74
|
+
if (suffixMatch) {
|
|
75
|
+
return suffixMatch;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
74
78
|
return null;
|
|
75
79
|
}
|
|
76
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findMatchingAttribute.js","sourceRoot":"","sources":["../../../../../../packages/ai/src/lib/findMatchingAttribute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,wBAAwB,EACxB,gCAAgC,GACjC,MAAM,2BAA2B,CAAC;AAEnC,SAAS,cAAc,CAAC,IAAY,EAAE,WAAmC;IACvE,MAAM,SAAS,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;IACzD,KAAK,MAAM,aAAa,IAAI,WAAW,EAAE,CAAC;QACxC,MAAM,kBAAkB,GAAG,gCAAgC,CAAC,aAAa,CAAC,CAAC;QAC3E,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YACrE,SAAS;QACX,CAAC;QAED,MAAM,WAAW,GAAG,wBAAwB,CAC1C,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAC9C,CAAC;QACF,IAAI,aAAa,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,eAAe,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;YACnD,OAAO,wBAAwB,CAAC;gBAC9B,eAAe;gBACf,GAAG,SAAS,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC;aAC9C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAAY,EACZ,WAAmC;IAEnC,MAAM,SAAS,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC;IACzD,KAAK,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3E,MAAM,kBAAkB,GAAG,gCAAgC,CAAC,aAAa,CAAC,CAAC;QAE3E,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YACrE,SAAS;QACX,CAAC;QAED,MAAM,oBAAoB,GACxB,gCAAgC,CAAC,eAAe,CAAC,CAAC;QAEpD,MAAM,WAAW,GAAG,wBAAwB,CAC1C,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAChD,CAAC;QACF,IAAI,eAAe,KAAK,WAAW,EAAE,CAAC;YACpC,OAAO,wBAAwB,CAAC;gBAC9B,aAAa;gBACb,GAAG,SAAS,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC;aAChD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAC3C,aAAqB,EACrB,cAAwB,EACxB,WAAmC;IAEnC,mFAAmF;IACnF,mBAAmB;IACnB,oBAAoB;IACpB,iBAAiB;IACjB,gBAAgB;IAEhB,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC9D,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC5E,IAAI,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAC3C,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;SAAM,IAAI,UAAU,IAAI,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7D,OAAO,UAAU,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,MAAM,cAAc,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;QACnD,MAAM,
|
|
1
|
+
{"version":3,"file":"findMatchingAttribute.js","sourceRoot":"","sources":["../../../../../../packages/ai/src/lib/findMatchingAttribute.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { joinParenthesesAndArrays, splitOutsideParenthesesAndArrays, } from "./splitOutsideParentheses.js";
|
|
2
2
|
import { gatherAttributesMap } from "./promptGenerators/gatherAttributesMap.js";
|
|
3
|
-
export default function gatherRelevantDependentKeyAttributes(entity, mergedDataStructure, dependentAnalyses) {
|
|
3
|
+
export default function gatherRelevantDependentKeyAttributes(entity, mergedDataStructure, dependentAnalyses, debug = false) {
|
|
4
|
+
const log = (...args) => {
|
|
5
|
+
if (debug)
|
|
6
|
+
console.log('[gatherRelevantDependentKeyAttributes]', ...args);
|
|
7
|
+
};
|
|
4
8
|
// console.info(
|
|
5
9
|
// 'CODEYAM DEBUG: gatherRelevantDependentKeyAttributes inputs',
|
|
6
10
|
// entity.name,
|
|
@@ -54,50 +58,18 @@ export default function gatherRelevantDependentKeyAttributes(entity, mergedDataS
|
|
|
54
58
|
const dependentKeyAtttributes = dependentAnalysis?.metadata?.keyAttributes;
|
|
55
59
|
if (!dependentKeyAtttributes || dependentKeyAtttributes.length === 0)
|
|
56
60
|
return;
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
return;
|
|
61
|
+
log(`Processing dependent entity: ${entityName} from ${path}`);
|
|
62
|
+
log(` Key attributes count: ${dependentKeyAtttributes.length}`);
|
|
63
|
+
log(` Key attribute paths: ${dependentKeyAtttributes.map((ka) => ka.internalPath).join(', ')}`);
|
|
61
64
|
// Get sourceEquivalencies from the dependent analysis's mergedDataStructure,
|
|
62
65
|
// not from dependencySchemas (which doesn't store them)
|
|
63
66
|
const sourceEquivalencies = dependentAnalysis?.metadata?.mergedDataStructure?.sourceEquivalencies ??
|
|
64
67
|
{};
|
|
65
|
-
|
|
66
|
-
//
|
|
67
|
-
//
|
|
68
|
-
//
|
|
69
|
-
|
|
70
|
-
const signatureToParentPath = {};
|
|
71
|
-
for (const parentPath in usageEquivalencies) {
|
|
72
|
-
const usages = usageEquivalencies[parentPath];
|
|
73
|
-
for (const usage of usages) {
|
|
74
|
-
if (usage.scopeNodeName !== entityName)
|
|
75
|
-
continue;
|
|
76
|
-
// Extract signature path from schemaPath
|
|
77
|
-
// Format can be:
|
|
78
|
-
// 1. "functionName(args).signature[N]" or "functionName(args).signature[N].property" (real data)
|
|
79
|
-
// 2. "signature[N]" or "signature[N].property" (simplified/test format)
|
|
80
|
-
let signaturePath;
|
|
81
|
-
const signatureIndex = usage.schemaPath.indexOf('.signature[');
|
|
82
|
-
if (signatureIndex !== -1) {
|
|
83
|
-
// Full format: extract "signature[N]" or "signature[N].property" after the dot
|
|
84
|
-
signaturePath = usage.schemaPath.slice(signatureIndex + 1);
|
|
85
|
-
}
|
|
86
|
-
else if (usage.schemaPath.startsWith('signature[')) {
|
|
87
|
-
// Simplified format: already starts with signature[
|
|
88
|
-
signaturePath = usage.schemaPath;
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
continue;
|
|
92
|
-
}
|
|
93
|
-
// Map child's signature path to parent's path
|
|
94
|
-
// e.g., 'signature[0]' -> 'entity'
|
|
95
|
-
signatureToParentPath[signaturePath] = parentPath;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
// If sourceEquivalencies is empty but the child has mocked imports,
|
|
99
|
-
// only propagate key attributes that come from mocked data sources
|
|
100
|
-
// (not props that the parent passes to the child)
|
|
68
|
+
log(` sourceEquivalencies keys: ${Object.keys(sourceEquivalencies).join(', ')}`);
|
|
69
|
+
// FIRST: Check for mocked imports and process those key attributes.
|
|
70
|
+
// Mocked-source key attributes are ALWAYS controllable (we control the mock data)
|
|
71
|
+
// regardless of whether the parent passes data to the child via props.
|
|
72
|
+
// This must happen BEFORE the signatureSchema check.
|
|
101
73
|
if (Object.keys(sourceEquivalencies).length === 0) {
|
|
102
74
|
// Collect names of mocked imports
|
|
103
75
|
const importedExports = dependentAnalysis.entity?.metadata?.importedExports ?? [];
|
|
@@ -138,16 +110,72 @@ export default function gatherRelevantDependentKeyAttributes(entity, mergedDataS
|
|
|
138
110
|
// but signature[0].size is not (it's just a simple prop)
|
|
139
111
|
(externalPath.match(/\./g) || []).length >= 2;
|
|
140
112
|
if (comesFromMockedSource || comesFromArgument) {
|
|
113
|
+
// Compute internalPath if not already present
|
|
114
|
+
// For signature paths, strip the signature[N]. prefix
|
|
115
|
+
let internalPath = dependentKeyAttribute.internalPath;
|
|
116
|
+
if (!internalPath && externalPath.startsWith('signature[')) {
|
|
117
|
+
internalPath = externalPath.replace(/^signature\[\d+\]\./, '');
|
|
118
|
+
}
|
|
119
|
+
// If still no internalPath, use dataStructurePath or externalPath as fallback
|
|
120
|
+
if (!internalPath) {
|
|
121
|
+
internalPath = dataStructurePath || externalPath;
|
|
122
|
+
}
|
|
141
123
|
relevantDependentKeyAttributes.push({
|
|
142
124
|
...dependentKeyAttribute,
|
|
143
125
|
dependentEntityName: entityName,
|
|
144
126
|
originalEntityName: entityName,
|
|
145
127
|
filePath: path,
|
|
128
|
+
internalPath,
|
|
129
|
+
dataStructurePath: internalPath,
|
|
146
130
|
});
|
|
147
131
|
}
|
|
148
132
|
}
|
|
149
133
|
return;
|
|
150
134
|
}
|
|
135
|
+
}
|
|
136
|
+
// SECOND: For signature-based key attributes, require that the parent has
|
|
137
|
+
// the child in its dependencySchemas. This ensures we only include key attributes
|
|
138
|
+
// that are controllable via props the parent passes to the child.
|
|
139
|
+
const dependencySchema = dependencySchemas?.[path]?.[entityName];
|
|
140
|
+
const signatureSchema = dependencySchema?.signatureSchema;
|
|
141
|
+
if (!signatureSchema)
|
|
142
|
+
return;
|
|
143
|
+
// Build a fallback mapping from parent's usageEquivalencies
|
|
144
|
+
// This helps when the child's sourceEquivalencies don't have a mapping
|
|
145
|
+
// For example, if parent passes `entity` to child's `signature[0]`,
|
|
146
|
+
// usageEquivalencies might have: entity -> [{schemaPath: 'signature[0]', scopeNodeName: entityName}]
|
|
147
|
+
const usageEquivalencies = mergedDataStructure?.usageEquivalencies ?? {};
|
|
148
|
+
const signatureToParentPath = {};
|
|
149
|
+
for (const parentPath in usageEquivalencies) {
|
|
150
|
+
const usages = usageEquivalencies[parentPath];
|
|
151
|
+
for (const usage of usages) {
|
|
152
|
+
if (usage.scopeNodeName !== entityName)
|
|
153
|
+
continue;
|
|
154
|
+
// Extract signature path from schemaPath
|
|
155
|
+
// Format can be:
|
|
156
|
+
// 1. "functionName(args).signature[N]" or "functionName(args).signature[N].property" (real data)
|
|
157
|
+
// 2. "signature[N]" or "signature[N].property" (simplified/test format)
|
|
158
|
+
let signaturePath;
|
|
159
|
+
const signatureIndex = usage.schemaPath.indexOf('.signature[');
|
|
160
|
+
if (signatureIndex !== -1) {
|
|
161
|
+
// Full format: extract "signature[N]" or "signature[N].property" after the dot
|
|
162
|
+
signaturePath = usage.schemaPath.slice(signatureIndex + 1);
|
|
163
|
+
}
|
|
164
|
+
else if (usage.schemaPath.startsWith('signature[')) {
|
|
165
|
+
// Simplified format: already starts with signature[
|
|
166
|
+
signaturePath = usage.schemaPath;
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
continue;
|
|
170
|
+
}
|
|
171
|
+
// Map child's signature path to parent's path
|
|
172
|
+
// e.g., 'signature[0]' -> 'entity'
|
|
173
|
+
signatureToParentPath[signaturePath] = parentPath;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
// Handle sourceEquivalencies empty case with no mocked imports
|
|
177
|
+
// Try usageEquivalencies fallback for direct argument usage
|
|
178
|
+
if (Object.keys(sourceEquivalencies).length === 0) {
|
|
151
179
|
// No mocked imports, try usageEquivalencies fallback for direct argument usage
|
|
152
180
|
if (Object.keys(signatureToParentPath).length > 0) {
|
|
153
181
|
for (const dependentKeyAttribute of dependentKeyAtttributes) {
|
|
@@ -196,6 +224,9 @@ export default function gatherRelevantDependentKeyAttributes(entity, mergedDataS
|
|
|
196
224
|
}
|
|
197
225
|
for (const dependentKeyAttribute of dependentKeyAtttributes) {
|
|
198
226
|
const dependentKeyAttributeExternalPathParts = splitOutsideParenthesesAndArrays(dependentKeyAttribute.externalPath);
|
|
227
|
+
log(` Processing key attribute: ${dependentKeyAttribute.internalPath}`);
|
|
228
|
+
log(` externalPath: ${dependentKeyAttribute.externalPath}`);
|
|
229
|
+
log(` externalPathParts: ${JSON.stringify(dependentKeyAttributeExternalPathParts)}`);
|
|
199
230
|
let matchFound = false;
|
|
200
231
|
// First, try to match using child's sourceEquivalencies
|
|
201
232
|
for (let i = dependentKeyAttributeExternalPathParts.length; i > 0; i--) {
|
|
@@ -203,9 +234,89 @@ export default function gatherRelevantDependentKeyAttributes(entity, mergedDataS
|
|
|
203
234
|
// Use the sourceEquivalencies from the child's analysis
|
|
204
235
|
for (const sourceEquivalencyPath in sourceEquivalencies) {
|
|
205
236
|
const sourceEquivalencyPathParts = splitOutsideParenthesesAndArrays(sourceEquivalencyPath);
|
|
237
|
+
// Check if this sourceEquivalency is for a callback (first part starts with '(')
|
|
238
|
+
// Callback sourceEquivalencies have format: "(param) => ...).signature[0]"
|
|
239
|
+
// These map callback parameters, NOT direct component props.
|
|
240
|
+
// We should NOT match direct prop paths like "signature[0].queueJobs[]"
|
|
241
|
+
// against callback parameter paths.
|
|
242
|
+
const isCallbackSourceEquivalency = sourceEquivalencyPathParts[0]?.startsWith('(');
|
|
206
243
|
const relevantSourceEquivalencyPath = joinParenthesesAndArrays(sourceEquivalencyPathParts.slice(1));
|
|
207
244
|
if (relevantSourceEquivalencyPath !== subExternalPath)
|
|
208
245
|
continue;
|
|
246
|
+
// If this is a callback sourceEquivalency and we're matching against
|
|
247
|
+
// a simple signature path, skip it. The callback's "signature[0]" refers
|
|
248
|
+
// to the callback's parameter, not the component's props.
|
|
249
|
+
// We should only use callback sourceEquivalencies when the key attribute
|
|
250
|
+
// is actually about data that flows through that callback.
|
|
251
|
+
if (isCallbackSourceEquivalency &&
|
|
252
|
+
subExternalPath.startsWith('signature[')) {
|
|
253
|
+
// The callback's signature[0] maps to specific paths in the parent
|
|
254
|
+
// (e.g., currentlyExecuting.entities[]). Only match if the remaining
|
|
255
|
+
// path of the key attribute is a valid continuation of data that
|
|
256
|
+
// flows through the callback.
|
|
257
|
+
//
|
|
258
|
+
// For example, if callback maps to currentlyExecuting.entities[],
|
|
259
|
+
// then key attribute signature[0].entityType would be valid (entity.entityType)
|
|
260
|
+
// but signature[0].queueJobs[] would NOT be valid (queueJobs is not entity)
|
|
261
|
+
const mappedPaths = sourceEquivalencies[sourceEquivalencyPath];
|
|
262
|
+
const remainingPath = i < dependentKeyAttributeExternalPathParts.length
|
|
263
|
+
? dependentKeyAttributeExternalPathParts.slice(i)
|
|
264
|
+
: [];
|
|
265
|
+
// If there's remaining path after the match, check if it makes sense
|
|
266
|
+
// for the callback's data flow. The mapped paths tell us where the
|
|
267
|
+
// callback parameter comes FROM - we should only include key attributes
|
|
268
|
+
// that are about properties OF that parameter, not unrelated props.
|
|
269
|
+
if (remainingPath.length > 0) {
|
|
270
|
+
// The remaining path should be a property of the callback's parameter.
|
|
271
|
+
// The mapped paths show where the parameter COMES FROM, ending with
|
|
272
|
+
// the array element (e.g., entities[]). Valid remaining paths would be
|
|
273
|
+
// properties of that element.
|
|
274
|
+
//
|
|
275
|
+
// For example:
|
|
276
|
+
// - Mapped paths: currentlyExecuting.entities[], queueJobs[].entities[]
|
|
277
|
+
// - These all end with entities[], so callback receives entity objects
|
|
278
|
+
// - Valid remaining: entityType, sha (properties of entity)
|
|
279
|
+
// - Invalid remaining: queueJobs[] (sibling prop, not entity property)
|
|
280
|
+
//
|
|
281
|
+
// Key insight: if the remaining path appears as a CONTAINER in any
|
|
282
|
+
// mapped path (before the final []), it's a sibling prop, not a
|
|
283
|
+
// property of the callback parameter.
|
|
284
|
+
const firstRemainingPart = remainingPath[0];
|
|
285
|
+
const firstRemainingWithoutBrackets = firstRemainingPart.replace(/\[\]$/, '');
|
|
286
|
+
// Check if this remaining path appears as a container in mapped paths
|
|
287
|
+
// e.g., "queueJobs" appears in "signature[0].queueJobs[].entities[]"
|
|
288
|
+
// This means queueJobs is a container that HOLDS entities, not a
|
|
289
|
+
// property OF an entity
|
|
290
|
+
const isContainerInMappedPaths = mappedPaths.some((mp) => {
|
|
291
|
+
const mpPath = mp.schemaPath || '';
|
|
292
|
+
// Check if the path contains this as a container segment
|
|
293
|
+
// e.g., ".queueJobs[]." or ".queueJobs." in the middle of the path
|
|
294
|
+
return (mpPath.includes(`.${firstRemainingWithoutBrackets}[].`) ||
|
|
295
|
+
mpPath.includes(`.${firstRemainingWithoutBrackets}.`));
|
|
296
|
+
});
|
|
297
|
+
if (isContainerInMappedPaths) {
|
|
298
|
+
log(` SKIP callback match: ${subExternalPath} -> ${sourceEquivalencyPath} (${firstRemainingPart} is a container in mapped paths, not a property of callback param)`);
|
|
299
|
+
continue;
|
|
300
|
+
}
|
|
301
|
+
// Also check: if the remaining path doesn't appear ANYWHERE in the
|
|
302
|
+
// mapped paths, it's likely a sibling prop that has nothing to do
|
|
303
|
+
// with the callback. For example, if mapped paths are all like
|
|
304
|
+
// "currentlyExecuting.entities[]" and the remaining is "currentRun",
|
|
305
|
+
// currentRun doesn't appear in any mapped path, so it's a sibling.
|
|
306
|
+
const remainingAppearsInMappedPaths = mappedPaths.some((mp) => {
|
|
307
|
+
const mpPath = mp.schemaPath || '';
|
|
308
|
+
// Check if remaining path or its base appears anywhere in mapped path
|
|
309
|
+
return (mpPath.includes(`.${firstRemainingWithoutBrackets}`) ||
|
|
310
|
+
mpPath.includes(`${firstRemainingWithoutBrackets}.`) ||
|
|
311
|
+
mpPath.includes(`${firstRemainingWithoutBrackets}[`));
|
|
312
|
+
});
|
|
313
|
+
if (!remainingAppearsInMappedPaths) {
|
|
314
|
+
log(` SKIP callback match: ${subExternalPath} -> ${sourceEquivalencyPath} (${firstRemainingPart} not found in any mapped path, likely a sibling prop)`);
|
|
315
|
+
continue;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
log(` MATCH via sourceEquivalencies: ${subExternalPath} -> ${sourceEquivalencyPath}`);
|
|
209
320
|
const sourcePath = sourceEquivalencies[sourceEquivalencyPath][0]?.schemaPath;
|
|
210
321
|
if (!sourcePath)
|
|
211
322
|
continue;
|
|
@@ -225,6 +336,15 @@ export default function gatherRelevantDependentKeyAttributes(entity, mergedDataS
|
|
|
225
336
|
]);
|
|
226
337
|
}
|
|
227
338
|
}
|
|
339
|
+
// Fallback: compute internalPath if not found in associationMap
|
|
340
|
+
// For signature paths, strip the signature[N]. prefix
|
|
341
|
+
if (!internalPath && externalPath.startsWith('signature[')) {
|
|
342
|
+
internalPath = externalPath.replace(/^signature\[\d+\]\./, '');
|
|
343
|
+
}
|
|
344
|
+
// If still no internalPath, use externalPath as fallback
|
|
345
|
+
if (!internalPath) {
|
|
346
|
+
internalPath = externalPath;
|
|
347
|
+
}
|
|
228
348
|
const dependentEntityName = dependentKeyAttribute.dependentEntityName
|
|
229
349
|
? `${dependentKeyAttribute.dependentEntityName} (through ${entityName})`
|
|
230
350
|
: entityName;
|
|
@@ -238,6 +358,7 @@ export default function gatherRelevantDependentKeyAttributes(entity, mergedDataS
|
|
|
238
358
|
// Transform dataStructurePath to parent's path structure
|
|
239
359
|
dataStructurePath: internalPath,
|
|
240
360
|
});
|
|
361
|
+
log(` INCLUDED via sourceEquivalencies: ${dependentKeyAttribute.internalPath} -> ${internalPath}`);
|
|
241
362
|
matchFound = true;
|
|
242
363
|
break;
|
|
243
364
|
}
|
|
@@ -285,14 +406,20 @@ export default function gatherRelevantDependentKeyAttributes(entity, mergedDataS
|
|
|
285
406
|
externalPath,
|
|
286
407
|
dataStructurePath: internalPath,
|
|
287
408
|
});
|
|
409
|
+
log(` INCLUDED via usageEquivalencies: ${dependentKeyAttribute.internalPath} -> ${internalPath}`);
|
|
288
410
|
matchFound = true;
|
|
289
411
|
break;
|
|
290
412
|
}
|
|
291
413
|
}
|
|
292
414
|
}
|
|
415
|
+
if (!matchFound) {
|
|
416
|
+
log(` NOT INCLUDED: ${dependentKeyAttribute.internalPath} - no match found`);
|
|
417
|
+
}
|
|
293
418
|
}
|
|
294
419
|
});
|
|
295
420
|
});
|
|
421
|
+
log(`Result: ${relevantDependentKeyAttributes.length} key attributes gathered`);
|
|
422
|
+
log(` Paths: ${relevantDependentKeyAttributes.map((ka) => ka.internalPath).join(', ')}`);
|
|
296
423
|
return relevantDependentKeyAttributes;
|
|
297
424
|
}
|
|
298
425
|
//# sourceMappingURL=gatherRelevantDependentKeyAttributes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gatherRelevantDependentKeyAttributes.js","sourceRoot":"","sources":["../../../../../../packages/ai/src/lib/gatherRelevantDependentKeyAttributes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gatherRelevantDependentKeyAttributes.js","sourceRoot":"","sources":["../../../../../../packages/ai/src/lib/gatherRelevantDependentKeyAttributes.ts"],"names":[],"mappings":"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"}
|
|
@@ -100,8 +100,49 @@ export default async function generateChangesEntityKeyAttributes({ entity, exist
|
|
|
100
100
|
const sortedUniqueKeyAttributes = keyAttributes
|
|
101
101
|
.filter((keyAttribute, index, self) => self.findIndex((ka) => ka.internalPath === keyAttribute.internalPath) === index)
|
|
102
102
|
.filter((keyAttribute) => attributesMap[keyAttribute.internalPath]);
|
|
103
|
+
// Helper to extract source locations from conditional usages for a given path
|
|
104
|
+
const getSourceLocationsForPath = (path) => {
|
|
105
|
+
const usages = conditionalUsages[path] || [];
|
|
106
|
+
const locations = [];
|
|
107
|
+
for (const usage of usages.slice(0, 5)) {
|
|
108
|
+
// Limit to 5 locations
|
|
109
|
+
if (usage.sourceLocation) {
|
|
110
|
+
locations.push({
|
|
111
|
+
entityName: entity.name,
|
|
112
|
+
filePath: entity.filePath,
|
|
113
|
+
lineNumber: usage.sourceLocation.lineNumber,
|
|
114
|
+
column: usage.sourceLocation.column,
|
|
115
|
+
codeSnippet: usage.sourceLocation.codeSnippet,
|
|
116
|
+
usageType: 'conditional',
|
|
117
|
+
description: `Used in ${usage.location} statement (${usage.conditionType} check)`,
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
return locations;
|
|
122
|
+
};
|
|
123
|
+
// Update sourceLocations for all key attributes based on current conditionalUsages
|
|
124
|
+
// This ensures new usages are picked up even for existing key attributes
|
|
125
|
+
const keyAttributesWithUpdatedSourceLocations = sortedUniqueKeyAttributes.map((keyAttribute) => {
|
|
126
|
+
// Skip sourceLocations update for dependent key attributes
|
|
127
|
+
// They should keep their original sourceLocations from the dependent entity's analysis
|
|
128
|
+
// Otherwise they'd get overwritten with the parent entity's conditional usages,
|
|
129
|
+
// causing them to incorrectly show up in "Key Attributes with New Usages"
|
|
130
|
+
if (keyAttribute.dependentEntityName) {
|
|
131
|
+
return keyAttribute;
|
|
132
|
+
}
|
|
133
|
+
const sourceLocations = getSourceLocationsForPath(keyAttribute.internalPath);
|
|
134
|
+
// If we found source locations from conditional usages, use them
|
|
135
|
+
// Otherwise keep the existing sourceLocations (e.g., from dependent entities)
|
|
136
|
+
if (sourceLocations.length > 0) {
|
|
137
|
+
return {
|
|
138
|
+
...keyAttribute,
|
|
139
|
+
sourceLocations,
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
return keyAttribute;
|
|
143
|
+
});
|
|
103
144
|
return {
|
|
104
|
-
keyAttributes:
|
|
145
|
+
keyAttributes: keyAttributesWithUpdatedSourceLocations,
|
|
105
146
|
llmCall,
|
|
106
147
|
};
|
|
107
148
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateChangesEntityKeyAttributes.js","sourceRoot":"","sources":["../../../../../../packages/ai/src/lib/generateChangesEntityKeyAttributes.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"generateChangesEntityKeyAttributes.js","sourceRoot":"","sources":["../../../../../../packages/ai/src/lib/generateChangesEntityKeyAttributes.ts"],"names":[],"mappings":"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"}
|